diff options
-rw-r--r-- | ld/ChangeLog | 6 | ||||
-rw-r--r-- | ld/emultempl/elf32.em | 9 |
2 files changed, 11 insertions, 4 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 38dfb24..d9cf590 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2012-05-25 Alan Modra <amodra@gmail.com> + + PR ld/13909 + * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Handle + multiple .eh_frame sections attached to bfd. + 2012-05-23 Cary Coutant <ccoutant@google.com> * scripttempl/armbpabi.sc: Match .data.rel.ro.* sections more 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; |