Properly dump NT_GNU_PROPERTY_TYPE_0
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 8 Mar 2017 15:44:04 +0000 (07:44 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 8 Mar 2017 15:44:17 +0000 (07:44 -0800)
commit1fc87489b40b3100badf184a7c266387bae47def
tree0b929911ff8427f908a0dbd180e473f589bcdc98
parent2e86a2830cfef688a27e17353b84f59f8147ab23
Properly dump NT_GNU_PROPERTY_TYPE_0

Property type and datasz are always 4 bytes for both 32-bit and 64-bit
objects.  Property values for GNU_PROPERTY_X86_ISA_1_USED and
GNU_PROPERTY_X86_ISA_1_NEEDED are 4 bytes for both i386 and x86-64
objects.  We should also check GNU_PROPERTY_LOPROC and
GNU_PROPERTY_LOUSER.

binutils/

PR binutils/21231
* readelf.c (decode_x86_isa): Change argument to unsigned int.
(print_gnu_property_note): Retrieve property type and datasz as
4-byte integer.  Consolidate property datasz check.  Check
GNU_PROPERTY_LOPROC and GNU_PROPERTY_LOUSER.
* testsuite/binutils-all/i386/pr21231a.d: New file.
* testsuite/binutils-all/i386/pr21231a.s: Likewise.
* testsuite/binutils-all/i386/pr21231b.d: Likewise.
* testsuite/binutils-all/i386/pr21231b.s: Likewise.
* testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
* testsuite/binutils-all/x86-64/pr21231a.s: Likewise.
* testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
* testsuite/binutils-all/x86-64/pr21231b.s: Likewise.

include/

PR binutils/21231
* elf/common.h (GNU_PROPERTY_LOPROC): New.
(GNU_PROPERTY_HIPROC): Likewise.
(GNU_PROPERTY_LOUSER): Likewise.
(GNU_PROPERTY_HIUSER): Likewise.
12 files changed:
binutils/ChangeLog
binutils/readelf.c
binutils/testsuite/binutils-all/i386/pr21231a.d [new file with mode: 0644]
binutils/testsuite/binutils-all/i386/pr21231a.s [new file with mode: 0644]
binutils/testsuite/binutils-all/i386/pr21231b.d [new file with mode: 0644]
binutils/testsuite/binutils-all/i386/pr21231b.s [new file with mode: 0644]
binutils/testsuite/binutils-all/x86-64/pr21231a.d [new file with mode: 0644]
binutils/testsuite/binutils-all/x86-64/pr21231a.s [new file with mode: 0644]
binutils/testsuite/binutils-all/x86-64/pr21231b.d [new file with mode: 0644]
binutils/testsuite/binutils-all/x86-64/pr21231b.s [new file with mode: 0644]
include/ChangeLog
include/elf/common.h