From: H.J. Lu Date: Sun, 22 Aug 2010 20:21:21 +0000 (+0000) Subject: Find one .eh_frame section for --eh-frame-hdr. X-Git-Tag: sid-snapshot-20100901~111 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4440bb778588d144441f18d8053c0dfa42440f5d;p=platform%2Fupstream%2Fbinutils.git Find one .eh_frame section for --eh-frame-hdr. 2010-08-22 H.J. Lu PR ld/11937 * emultempl/elf32.em (_after_open): Find one .eh_frame section for --eh-frame-hdr. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 886bd89..55fd8e3 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,6 +1,12 @@ 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 * emultempl/elf32.em (_after_open): Find an ELF input for --build-id and --eh-frame-hdr. diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index bf4359d..aa9d787 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) {