From: Gary Benson Date: Tue, 29 Nov 2016 11:14:02 +0000 (+0000) Subject: Always pass a valid section header offset to elf_parse_notes X-Git-Tag: users/ARM/embedded-binutils-master-2016q4~28 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=08698b7b46c9c932530dcbcd7e851d27a7d2c503;p=external%2Fbinutils.git Always pass a valid section header offset to elf_parse_notes _bfd_elf_make_section_from_shdr calls elf_parse_notes with an offset of -1. This argument is used to calculate Elf_Internal_Note.descpos, which ends up set to a positive but meaningless value. This commit updates _bfd_elf_make_section_from_shdr to pass the correct offset to elf_parse_notes, making Elf_Internal_Note.descpos correct in all cases. bfd/ChangeLog: * elf.c (_bfd_elf_make_section_from_shdr): Pass offset to elf_parse_notes. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index cef1c4b..d061e66 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2016-12-02 Gary Benson + + * elf.c (_bfd_elf_make_section_from_shdr): Pass offset to + elf_parse_notes. + 2016-12-02 Josh Conner * configure.tgt: Add support for fuchsia (OS). diff --git a/bfd/elf.c b/bfd/elf.c index 3d1a28a..98be1db 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -1062,7 +1062,7 @@ _bfd_elf_make_section_from_shdr (bfd *abfd, if (!bfd_malloc_and_get_section (abfd, newsect, &contents)) return FALSE; - elf_parse_notes (abfd, (char *) contents, hdr->sh_size, -1); + elf_parse_notes (abfd, (char *) contents, hdr->sh_size, hdr->sh_offset); free (contents); }