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.
This commit is contained in:
parent
d5451cd453
commit
08698b7b46
@ -1,3 +1,8 @@
|
||||
2016-12-02 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* elf.c (_bfd_elf_make_section_from_shdr): Pass offset to
|
||||
elf_parse_notes.
|
||||
|
||||
2016-12-02 Josh Conner <joshconner@google.com>
|
||||
|
||||
* configure.tgt: Add support for fuchsia (OS).
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user