diff options
author | Alan Modra <amodra@gmail.com> | 2012-05-25 01:13:59 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2012-05-25 01:13:59 +0000 |
commit | 9cf8b46e48eea4263ed31ddb8f5dd185ee3b08e4 (patch) | |
tree | b08d0c65aff7b47f6ec3862cac22ce38e46e738c /ld/emultempl | |
parent | 9a2a56cc5a38cdf74d9a34557274ad055f8a8a62 (diff) | |
download | gdb-9cf8b46e48eea4263ed31ddb8f5dd185ee3b08e4.zip gdb-9cf8b46e48eea4263ed31ddb8f5dd185ee3b08e4.tar.gz gdb-9cf8b46e48eea4263ed31ddb8f5dd185ee3b08e4.tar.bz2 |
PR ld/13909
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Handle
multiple .eh_frame sections attached to bfd.
Diffstat (limited to 'ld/emultempl')
-rw-r--r-- | ld/emultempl/elf32.em | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index aab1c6d..2b7a352 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -1142,10 +1142,11 @@ gld${EMULATION_NAME}_after_open (void) if (!warn_eh_frame) { s = bfd_get_section_by_name (abfd, ".eh_frame"); - warn_eh_frame - = (s - && s->size > 8 - && !bfd_is_abs_section (s->output_section)); + while (s != NULL + && (s->size <= 8 + || bfd_is_abs_section (s->output_section))) + s = bfd_get_next_section_by_name (s); + warn_eh_frame = s != NULL; } if (elfbfd && warn_eh_frame) break; |