bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/15095] New: Offset of DT_STRTAB is incorrect on executables


From: jpakkane at gmail dot com
Subject: [Bug ld/15095] New: Offset of DT_STRTAB is incorrect on executables
Date: Mon, 04 Feb 2013 14:51:47 +0000

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: address@hidden
        ReportedBy: address@hidden
    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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]