aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf.c
diff options
context:
space:
mode:
authorGary Benson <gbenson@redhat.com>2016-11-29 11:14:02 +0000
committerGary Benson <gbenson@redhat.com>2016-12-02 11:34:58 +0000
commit08698b7b46c9c932530dcbcd7e851d27a7d2c503 (patch)
tree077daf1cfc7007e823f358c3856aae8f6cbf172d /bfd/elf.c
parentd5451cd45325d12b2cc3d10ffe67f09b0e26b967 (diff)
downloadfsf-binutils-gdb-08698b7b46c9c932530dcbcd7e851d27a7d2c503.zip
fsf-binutils-gdb-08698b7b46c9c932530dcbcd7e851d27a7d2c503.tar.gz
fsf-binutils-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/elf.c')
-rw-r--r--bfd/elf.c2
1 files changed, 1 insertions, 1 deletions
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);
}