http://sourceware.org/bugzilla/show_bug.cgi?id=15095
Bug #: 15095
Summary: Offset of DT_STRTAB is incorrect on executables
Product: binutils
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: ld
AssignedTo: [email protected]
ReportedBy: [email protected]
Classification: Unclassified
The ELF specification for dynamic sections says the following about DT_STRTAB:
This element holds the address of the string table, described in Part 1. Symbol
names, library names, and other strings reside in this table.
However the offset of this value is incorrect for executables. This is easy to
verify with this command:
readelf -d /usr/bin/lsusb | grep STRTAB
which produces this output:
0x0000000000000005 (STRTAB) 0x400970
The offset given points past the end of the binary.
The returned offset is valid if the file is a shared library:
readelf -d /usr/lib/libblas.so.3 | grep STRTAB
0x0000000000000005 (STRTAB) 0x2c18
The value of .dynstr in the header is correct in both cases.
Tested on 64 bit Linux.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils