aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog11
-rw-r--r--ld/emultempl/xtensaelf.em10
-rw-r--r--ld/ldlang.c12
-rw-r--r--ld/ldlang.h2
4 files changed, 23 insertions, 12 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 705a2b2..3f62dad 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,16 @@
2019-09-20 Alan Modra <amodra@gmail.com>
+ * emultempl/xtensaelf.em (xtensa_get_section_deps): Comment.
+ Use bfd_section_userdata.
+ (xtensa_set_section_deps): Use bfd_set_section_userdata.
+ * ldlang.c (lang_output_section_get): Use bfd_section_userdata.
+ (sort_def_symbol): Likewise, and bfd_set_section_userdata.
+ (init_os): Use bfd_set_section_userdata.
+ (print_all_symbols): Use bfd_section_userdata.
+ * ldlang.h (get_userdata): Delete.
+
+2019-09-20 Alan Modra <amodra@gmail.com>
+
* ldelf.c (ldelf_after_open, ldelf_place_orphan
* ldlang.c (walk_wild_file, lang_process): Use bfd_usrdata.
(load_symbols, ldlang_add_file): Use bfd_set_usrdata.
diff --git a/ld/emultempl/xtensaelf.em b/ld/emultempl/xtensaelf.em
index 569df61..0b11fdc 100644
--- a/ld/emultempl/xtensaelf.em
+++ b/ld/emultempl/xtensaelf.em
@@ -596,8 +596,12 @@ xtensa_get_section_deps (const reloc_deps_graph *deps ATTRIBUTE_UNUSED,
/* We have a separate function for this so that
we could in the future keep a completely independent
structure that maps a section to its dependence edges.
- For now, we place these in the sec->userdata field. */
- reloc_deps_section *sec_deps = sec->userdata;
+ For now, we place these in the sec->userdata field.
+ This doesn't clash with ldlang.c use of userdata for output
+ sections, and during map output for input sections, since the
+ xtensa use is only for input sections and only extant in
+ before_allocation. */
+ reloc_deps_section *sec_deps = bfd_section_userdata (sec);
return sec_deps;
}
@@ -606,7 +610,7 @@ xtensa_set_section_deps (const reloc_deps_graph *deps ATTRIBUTE_UNUSED,
asection *sec,
reloc_deps_section *deps_section)
{
- sec->userdata = deps_section;
+ bfd_set_section_userdata (sec, deps_section);
}
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 0ffcf34..1a49f69 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -1414,7 +1414,7 @@ lang_memory_default (asection *section)
lang_output_section_statement_type *
lang_output_section_get (const asection *output_section)
{
- return get_userdata (output_section);
+ return bfd_section_userdata (output_section);
}
/* Find or create an output_section_statement with the given NAME.
@@ -2316,12 +2316,11 @@ sort_def_symbol (struct bfd_link_hash_entry *hash_entry,
input_section_userdata_type *ud;
struct map_symbol_def *def;
- ud = ((input_section_userdata_type *)
- get_userdata (hash_entry->u.def.section));
+ ud = bfd_section_userdata (hash_entry->u.def.section);
if (!ud)
{
ud = stat_alloc (sizeof (*ud));
- get_userdata (hash_entry->u.def.section) = ud;
+ bfd_set_section_userdata (hash_entry->u.def.section, ud);
ud->map_symbol_def_tail = &ud->map_symbol_def_head;
ud->map_symbol_def_count = 0;
}
@@ -2361,7 +2360,7 @@ init_os (lang_output_section_statement_type *s, flagword flags)
/* Set the userdata of the output section to the output section
statement to avoid lookup. */
- get_userdata (s->bfd_section) = s;
+ bfd_set_section_userdata (s->bfd_section, s);
/* If there is a base address, make sure that any sections it might
mention are initialized. */
@@ -4390,8 +4389,7 @@ hash_entry_addr_cmp (const void *a, const void *b)
static void
print_all_symbols (asection *sec)
{
- input_section_userdata_type *ud
- = (input_section_userdata_type *) get_userdata (sec);
+ input_section_userdata_type *ud = bfd_section_userdata (sec);
struct map_symbol_def *def;
struct bfd_link_hash_entry **entries;
unsigned int i;
diff --git a/ld/ldlang.h b/ld/ldlang.h
index 9fb10f8..5ab62e3 100644
--- a/ld/ldlang.h
+++ b/ld/ldlang.h
@@ -329,8 +329,6 @@ typedef struct input_section_userdata_struct
unsigned long map_symbol_def_count;
} input_section_userdata_type;
-#define get_userdata(x) ((x)->userdata)
-
static inline bfd_boolean
bfd_input_just_syms (const bfd *abfd)
{