diff options
author | Guy Martin <gmsoft@tuxicoman.be> | 2014-01-20 14:16:16 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2014-01-20 14:21:36 +1030 |
commit | 24ef1aa73ed312282bd1a755b3ac94681c9f1544 (patch) | |
tree | d16b770019d07c69d750fe0f8252cf00db9c3157 /ld/emultempl/armelf.em | |
parent | d7c85de1c3d15d7abf68212e4b18cd140dd3f397 (diff) | |
download | gdb-24ef1aa73ed312282bd1a755b3ac94681c9f1544.zip gdb-24ef1aa73ed312282bd1a755b3ac94681c9f1544.tar.gz gdb-24ef1aa73ed312282bd1a755b3ac94681c9f1544.tar.bz2 |
Fix duplicate output section statement lookup
Tie output section statements to their associated output section via
output section userdata. This allows us to avoid hash lookups which
are slower and fail when multiple output sections have the same name.
* ldlang.h (lang_output_section_get): Define.
* ldlang.c (lang_output_section_get): Likewise.
(init_os): Set the output_section userdata to the output
section statement.
* emultempl/hppaelf.em: Use lang_output_section_get instead of
lang_output_section_find where applicable.
* emultempl/aarch64elf.em: Likewise.
* emultempl/aix.em: Likewise.
* emultempl/armelf.em: Likewise.
* emultempl/m68hc1xelf.em: Likewise.
* emultempl/metagelf.em: Likewise.
* emultempl/mipself.em: Likewise.
* emultempl/ppc64elf.em: Likewise.
* emultempl/spuelf.em: Likewise.
Diffstat (limited to 'ld/emultempl/armelf.em')
-rw-r--r-- | ld/emultempl/armelf.em | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em index eee6af1..85e924f 100644 --- a/ld/emultempl/armelf.em +++ b/ld/emultempl/armelf.em @@ -189,7 +189,6 @@ elf32_arm_add_stub_section (const char * stub_sec_name, asection *stub_sec; flagword flags; asection *output_section; - const char *secname; lang_output_section_statement_type *os; struct hook_stub_info info; @@ -203,8 +202,7 @@ elf32_arm_add_stub_section (const char * stub_sec_name, bfd_set_section_alignment (stub_file->the_bfd, stub_sec, alignment_power); output_section = input_section->output_section; - secname = bfd_get_section_name (output_section->owner, output_section); - os = lang_output_section_find (secname); + os = lang_output_section_get (output_section); info.input_section = input_section; lang_list_init (&info.add); |