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

[Bug default/19204] libabigail aborts on DWARF referencing non-existing DIE



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

--- Comment #4 from dodji at redhat dot com ---
Created attachment 8913
  --> https://sourceware.org/bugzilla/attachment.cgi?id=8913&action=edit
Text representation of the DWARF debug info of libtcmalloc.so.4.2.6 attached
earlier

I believe the root cause of why libabigail's DWARF reader is choking on this
libtcmalloc.so.4.2.6 binary (built using the XLC 12.1.0.11 version for Blue
Gene) is that the debug info is not correct.

So I am attaching that debug info here so that people can see what I am talking
about.

This DWARF debug info has been obtained by doing:

  eu-readelf --debug-dump=info libtcmalloc.so.4.2.6 >
libtcmalloc.so.4.2.6.dwarf

It looks like this debug info was generated by the XLC compiler, version
12.1.0.11, as we can see by reading it:

  producer             (string) "IBM XL C/C++ for Blue Gene, Version 12.1.0.11"

I believe the debug info has at least a flaw that should be reported to the
relevant XLC team:

Look at the DIE below:


 [ 8a26a]        member
                 name                 (string) "call_stack"
                 accessibility        (data1) public (1)
                 data_member_location (block1) 
                  [   0] plus_uconst 24
                 type                 (ref8) [ 84e09]

Note how the "type" attribute refers to a DIE of offset '84e09'.

The problem is that there is no DIE with offset 84e09 in the debug info file!

So, the DIE above refers to a non-existing DIE.  And I believe that's a bug
that ought be fixed.

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