From: Nick Clifton Date: Thu, 2 Mar 2017 17:10:20 +0000 (+0000) Subject: Support merging build notes in sections without the SHF_GNU_BUILD_NOTE flag set. X-Git-Tag: gdb-8.0-release~494 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=05ed43104ef2c3f75779438111e2913dbd4555a6;p=thirdparty%2Fbinutils-gdb.git Support merging build notes in sections without the SHF_GNU_BUILD_NOTE flag set. * objcopy.c (is_merged_note_section): Support build note sections without the SHF_GNU_BUILD_NOTE section flag set. --- diff --git a/binutils/ChangeLog b/binutils/ChangeLog index dc93395aa4d..4ed3bb0804f 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -2,6 +2,8 @@ * readelf.c (print_gnu_build_attribute_description): Use global symbols for OPEN attributes if at all possible. + * objcopy.c (is_merged_note_section): Support build note sections + without the SHF_GNU_BUILD_NOTE section flag set. 2017-03-02 Jan Kratochvil diff --git a/binutils/objcopy.c b/binutils/objcopy.c index baf69907c5f..868f122e174 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -1217,7 +1217,11 @@ is_merged_note_section (bfd * abfd, asection * sec) && elf_section_data (sec)->this_hdr.sh_type == SHT_NOTE /* FIXME: We currently only support merging GNU_BUILD_NOTEs. We should add support for more note types. */ - && elf_section_data (sec)->this_hdr.sh_flags & SHF_GNU_BUILD_NOTE) + && ((elf_section_data (sec)->this_hdr.sh_flags & SHF_GNU_BUILD_NOTE) != 0 + /* Old versions of GAS (prior to 2.27) could not set the section + flags to OS-specific values, so we also accept sections with the + expected name. */ + || (strcmp (sec->name, GNU_BUILD_ATTRS_SECTION_NAME) == 0))) return TRUE; return FALSE;