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-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4440bb778588d144441f18d8053c0dfa42440f5d;p=binutils-gdb.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 886bd89e2a5..55fd8e386da 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 bf4359dad14..aa9d787927e 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) {