From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21859 invoked by alias); 14 Jul 2011 11:22:22 -0000 Received: (qmail 21847 invoked by uid 22791); 14 Jul 2011 11:22:20 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,TW_MJ X-Spam-Check-By: sourceware.org Received: from localhost (HELO sourceware.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 14 Jul 2011 11:21:29 +0000 From: "mjw at redhat dot com" To: systemtap@sourceware.org Subject: [Bug translator/12997] support dwarf4 .debug_types X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: systemtap X-Bugzilla-Component: translator X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: mjw at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: systemtap at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: CC Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Thu, 14 Jul 2011 11:22:00 -0000 Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2011-q3/txt/msg00023.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=12997 Mark Wielaard changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mjw at redhat dot com --- Comment #1 from Mark Wielaard 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.