This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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]

[PATCH] Add DWZ DWARF multifile extensions to dwarf2.{def,h}


Hi!

This patch adds dwz -m DWARF extensions.
See http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open
for more details and
http://sourceware.org/git/?p=dwz.git;a=shortlog;h=refs/heads/multifile
for the tool that creates it.  Compared to the DWARF5 proposal, this
is so far implemented as a GNU extension, using different form values.
In the GNU implementation, there is a .gnu_debugaltlink section, which
contains a zero terminated filename (should be either absolute filename,
or filename relative to the directory in which the file with
.gnu_debugaltlink section resides) followed by build-id (SHA1 checksum
of the debugging sections).
Tom Tromey wrote gdb support for these extensions at
http://sources.redhat.com/git/?p=archer.git;a=shortlog;h=refs/heads/archer-tromey-dwz-multifile

Ok for trunk?

2012-06-08  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.def (DW_FORM_GNU_ref_alt, DW_FORM_GNU_strp_alt): New
	forms.
	* dwarf2.h (enum dwarf_macro_record_type): Add
	DW_MACRO_GNU_define_indirect_alt, DW_MACRO_GNU_undef_indirect_alt
	and DW_MACRO_GNU_transparent_include_alt.

--- include/dwarf2.def.jj	2012-05-02 20:33:43.000000000 +0200
+++ include/dwarf2.def	2012-05-10 08:23:55.912919813 +0200
@@ -205,6 +205,10 @@ DW_FORM (DW_FORM_ref_sig8, 0x20)
 /* Extensions for Fission.  See http://gcc.gnu.org/wiki/DebugFission.  */
 DW_FORM (DW_FORM_GNU_addr_index, 0x1f01)
 DW_FORM (DW_FORM_GNU_str_index, 0x1f02)
+/* Extensions for DWZ multifile.
+   See http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open .  */
+DW_FORM (DW_FORM_GNU_ref_alt, 0x1f20)
+DW_FORM (DW_FORM_GNU_strp_alt, 0x1f21)
 DW_END_FORM
 
 DW_FIRST_AT (DW_AT_sibling, 0x01)
--- include/dwarf2.h.jj	2012-05-09 20:15:32.000000000 +0200
+++ include/dwarf2.h	2012-05-14 12:16:37.414204203 +0200
@@ -333,6 +333,9 @@ enum dwarf_macro_record_type
     DW_MACRO_GNU_define_indirect = 5,
     DW_MACRO_GNU_undef_indirect = 6,
     DW_MACRO_GNU_transparent_include = 7,
+    DW_MACRO_GNU_define_indirect_alt = 8,
+    DW_MACRO_GNU_undef_indirect_alt = 9,
+    DW_MACRO_GNU_transparent_include_alt = 10,
     DW_MACRO_GNU_lo_user = 0xe0,
     DW_MACRO_GNU_hi_user = 0xff
   };

	Jakub


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