This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/12997] support dwarf4 .debug_types
- From: "mjw at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Thu, 14 Jul 2011 11:21:29 +0000
- Subject: [Bug translator/12997] support dwarf4 .debug_types
- Auto-submitted: auto-generated
- References: <bug-12997-6586@http.sourceware.org/bugzilla/>
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.