diff --git a/ld/ChangeLog b/ld/ChangeLog index 886bd89e2a..55fd8e386d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2010-08-22 H.J. Lu + + PR ld/11937 + * emultempl/elf32.em (_after_open): Find one .eh_frame section + for --eh-frame-hdr. + 2010-08-22 H.J. Lu PR ld/11937 diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index bf4359dad1..aa9d787927 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -1132,11 +1132,16 @@ gld${EMULATION_NAME}_after_open (void) { if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) elfbfd = abfd; - s = bfd_get_section_by_name (abfd, ".eh_frame"); - if (s && s->size > 8 && !bfd_is_abs_section (s->output_section)) - warn_eh_frame = TRUE; - if (elfbfd && warn_eh_frame) - break; + 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)); + } + if (elfbfd && warn_eh_frame) + break; } if (elfbfd) {