From f37120d801f49775df1ba315f6bf9fd69907227b Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 23 May 2012 04:38:08 +0000 Subject: * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Handle BFDs with multiple .eh_frame sections. --- bfd/elf-eh-frame.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'bfd/elf-eh-frame.c') 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; } -- cgit v1.2.1