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/ldlang.h | |
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/ldlang.h')
-rw-r--r-- | ld/ldlang.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ld/ldlang.h b/ld/ldlang.h index 6eb75dc..e91153c 100644 --- a/ld/ldlang.h +++ b/ld/ldlang.h @@ -584,6 +584,8 @@ extern lang_input_statement_type *lang_add_input_file (const char *, lang_input_file_enum_type, const char *); extern void lang_add_keepsyms_file (const char *); +extern lang_output_section_statement_type *lang_output_section_get + (const asection *); extern lang_output_section_statement_type *lang_output_section_statement_lookup (const char *, int, bfd_boolean); extern lang_output_section_statement_type *next_matching_output_section_statement |