diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 11 | ||||
-rw-r--r-- | ld/emultempl/xtensaelf.em | 10 | ||||
-rw-r--r-- | ld/ldlang.c | 12 | ||||
-rw-r--r-- | ld/ldlang.h | 2 |
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) { |