xtensa: move xtensa_make_property_section from bfd to gas
Alan Modra
amodra@gmail.com
Sat Feb 24 04:26:45 GMT 2024
More information about the Binutils mailing list
Sat Feb 24 04:26:45 GMT 2024
- Previous message (by thread): [PATCH v2 8/9] gas: User readable warnings if SFrame FDE is not generated
- Next message (by thread): PR25333, GAS is slow processing -fdebug-types-sections
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
This function is only used by gas, so move it there. Necessary for
gas to keep track of group sections as they are created.
PR 25333
bfd/
* elf32-xtensa.c (xtensa_make_property_section): Delete.
(xtensa_property_section_name): Make public.
include/
* elf/xtensa.h (xtensa_make_property_section): Delete.
(xtensa_property_section_name): Declare
gas/
* config/tc-xtensa.c (xtensa_make_property_section): New,
moved from elf32-xtensa.c.
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index 4061341d38f..e73f96a7dcc 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -11253,7 +11253,7 @@ xtensa_add_names (const char *base, const char *suffix)
static int linkonce_len = sizeof (".gnu.linkonce.") - 1;
-static char *
+char *
xtensa_property_section_name (asection *sec, const char *base_name,
bool separate_sections)
{
@@ -11335,38 +11335,6 @@ xtensa_get_property_section (asection *sec, const char *base_name)
}
-asection *
-xtensa_make_property_section (asection *sec, const char *base_name)
-{
- char *prop_sec_name;
- asection *prop_sec;
-
- /* Check if the section already exists. */
- prop_sec_name = xtensa_property_section_name (sec, base_name,
- elf32xtensa_separate_props);
- prop_sec = bfd_get_section_by_name_if (sec->owner, prop_sec_name,
- match_section_group,
- (void *) elf_group_name (sec));
- /* If not, create it. */
- if (! prop_sec)
- {
- flagword flags = (SEC_RELOC | SEC_HAS_CONTENTS | SEC_READONLY);
- flags |= (bfd_section_flags (sec)
- & (SEC_LINK_ONCE | SEC_LINK_DUPLICATES));
-
- prop_sec = bfd_make_section_anyway_with_flags
- (sec->owner, strdup (prop_sec_name), flags);
- if (! prop_sec)
- return 0;
-
- elf_group_name (prop_sec) = elf_group_name (sec);
- }
-
- free (prop_sec_name);
- return prop_sec;
-}
-
-
flagword
xtensa_get_property_predef_flags (asection *sec)
{
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index c6e6881ae68..188715d9619 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -11789,6 +11789,36 @@ get_frag_is_literal (const fragS *fragP)
return fragP->tc_frag_data.is_literal;
}
+static asection *
+xtensa_make_property_section (asection *sec, const char *base_name)
+{
+ char *prop_sec_name;
+ asection *prop_sec;
+
+ /* Check if the section already exists. */
+ prop_sec_name = xtensa_property_section_name (sec, base_name,
+ elf32xtensa_separate_props);
+ prop_sec = bfd_get_section_by_name_if (sec->owner, prop_sec_name,
+ match_section_group,
+ (void *) elf_group_name (sec));
+ /* If not, create it. */
+ if (! prop_sec)
+ {
+ flagword flags = (SEC_RELOC | SEC_HAS_CONTENTS | SEC_READONLY);
+ flags |= (bfd_section_flags (sec)
+ & (SEC_LINK_ONCE | SEC_LINK_DUPLICATES));
+
+ prop_sec = bfd_make_section_anyway_with_flags
+ (sec->owner, strdup (prop_sec_name), flags);
+ if (! prop_sec)
+ return 0;
+
+ elf_group_name (prop_sec) = elf_group_name (sec);
+ }
+
+ free (prop_sec_name);
+ return prop_sec;
+}
static void
xtensa_create_property_segments (frag_predicate property_function,
diff --git a/include/elf/xtensa.h b/include/elf/xtensa.h
index 402d9ad5465..523855e7e81 100644
--- a/include/elf/xtensa.h
+++ b/include/elf/xtensa.h
@@ -215,7 +215,7 @@ typedef struct property_table_entry_t
#define XTENSA_PROP_INSN_ABSLIT 0x00020000
-extern asection *xtensa_make_property_section (asection *, const char *);
+extern char *xtensa_property_section_name (asection *, const char *, bool);
extern int
xtensa_read_table_entries (bfd *abfd,
asection *section,
--
Alan Modra
Australia Development Lab, IBM
- Previous message (by thread): [PATCH v2 8/9] gas: User readable warnings if SFrame FDE is not generated
- Next message (by thread): PR25333, GAS is slow processing -fdebug-types-sections
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list