diff options
author | Alan Modra <amodra@bigpond.net.au> | 2012-05-23 04:38:08 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2012-05-23 04:38:08 +0000 |
commit | f37120d801f49775df1ba315f6bf9fd69907227b (patch) | |
tree | 3ea5e836e5f0d67c93d1b2ae06d6829c8f0783d1 /bfd/elf-eh-frame.c | |
parent | 958edabbff101921d6805432200587de8365f1ed (diff) | |
download | binutils-redhat-f37120d801f49775df1ba315f6bf9fd69907227b.tar.gz |
* elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Handle
BFDs with multiple .eh_frame sections.
Diffstat (limited to 'bfd/elf-eh-frame.c')
-rw-r--r-- | bfd/elf-eh-frame.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c index 8ec34ab0ca..685540c910 100644 --- a/bfd/elf-eh-frame.c +++ b/bfd/elf-eh-frame.c @@ -1278,7 +1278,11 @@ _bfd_elf_maybe_strip_eh_frame_hdr (struct bfd_link_info *info) /* Count only sections which have at least a single CIE or FDE. There cannot be any CIE or FDE <= 8 bytes. */ o = bfd_get_section_by_name (abfd, ".eh_frame"); - if (o && o->size > 8 && !bfd_is_abs_section (o->output_section)) + while (o != NULL + && (o->size <= 8 + || bfd_is_abs_section (o->output_section))) + o = bfd_get_next_section_by_name (o); + if (o != NULL) break; } |