This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug translator/12997] support dwarf4 .debug_types


http://sourceware.org/bugzilla/show_bug.cgi?id=12997

Mark Wielaard <mjw at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mjw at redhat dot com

--- Comment #1 from Mark Wielaard <mjw at redhat dot com> 2011-07-14 11:21:25 UTC ---
In theory this is simple. elfutils 0.148+ libdw supports dwarf_next_unit(),
which is like dwarf_next_cu(), but returns either a CU or TU , and
dwarf_offdie_types(), which gives a Dwarf_Die inside a TU, like dwarf_offdie()
provides a Dwarf_Die inside a CU. A DIE can have a DW_AT_signature to indicate
that a type declaration has been placed in a type unit. This has
DW_FORM_ref_sig8 which can be resolved through dwarf_formref_die().

This should work fine for user space (ET_EXEC and ET_DYN). In the case of
ET_REL (like kernel modules) there is an issue that libdw will not handle the
comdat section groups (there will be multiple .debug_type sections in different
groups, while it expects only one). This will have to be fixed in elfutils (or
some pre/post-processing tool that gets run on the kernel modules to first
resolve the comdat groups and merge the .debug_type sections).

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]