diff options
author | Gary Benson <gbenson@redhat.com> | 2016-11-29 11:14:02 +0000 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2016-12-02 11:34:58 +0000 |
commit | 08698b7b46c9c932530dcbcd7e851d27a7d2c503 (patch) | |
tree | 077daf1cfc7007e823f358c3856aae8f6cbf172d /bfd | |
parent | d5451cd45325d12b2cc3d10ffe67f09b0e26b967 (diff) | |
download | gdb-08698b7b46c9c932530dcbcd7e851d27a7d2c503.zip gdb-08698b7b46c9c932530dcbcd7e851d27a7d2c503.tar.gz gdb-08698b7b46c9c932530dcbcd7e851d27a7d2c503.tar.bz2 |
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.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf.c | 2 |
2 files changed, 6 insertions, 1 deletions
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 <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); } |