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

[Bug default/21023] New: The abidw tool does not appear to read dwarf from .dwp files associated with executables



https://sourceware.org/bugzilla/show_bug.cgi?id=21023

            Bug ID: 21023
           Summary: The abidw tool does not appear to read dwarf from .dwp
                    files associated with executables
           Product: libabigail
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: default
          Assignee: dodji at redhat dot com
          Reporter: andrew.c.morrow at gmail dot com
                CC: libabigail at sourceware dot org
  Target Milestone: ---

$ abidw --version
1.0.rc7
I'm not actually sure if this is a bug in libabigail, or one of the supporting
libraries like libelf or libdw, but I'm starting here, since the end state I
want is that abidw works binaries built using DebugFission.

I would expect that abidw would search for DWARF info in the associated .dwp
file, however, it does not appear to do so.

On my Ubuntu 16.04 machine:

$ g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

$ dwp --version
GNU dwp (GNU Binutils for Ubuntu) 2.26.1

$ cat hello_world.cpp
#include <cstdlib>
#include <iostream>

int main(int argc, char* argv[]) {
    std::cout << "Hello, World!\n" << argc;
    return EXIT_SUCCESS;
}

$ g++ -g ./hello_world.cpp -o hello_world
$ abidw ./hello_world | cksum
1150852500 53174

$ g++ -gsplit-dwarf -g ./hello_world.cpp -o hello_world
$ dwp -e ./hello_world
$ abidw ./hello_world | cksum
2156308181 1319

As you can see from the sizes, running abidw against the DebugFission version
results in severely truncated output. Running under strace appears to confirm
that the dwp file was never stat'ed or read:

$ strace -f -o trace abidw ./hello_world | cksum
2156308181 1319
$ grep -c dwp trace
0

-- 
You are receiving this mail because:
You are on the CC list for the bug.