Patchwork [committed[ Fix darwin bootstrap

login
register
mail settings
Submitter Jakub Jelinek
Date Sept. 10, 2010, 10:56 a.m.
Message ID <20100910105608.GU1269@tyan-ft48-01.lab.bos.redhat.com>
Download mbox | patch
Permalink /patch/64376/
State New
Headers show

Comments

Jakub Jelinek - Sept. 10, 2010, 10:56 a.m.
Hi!

I've wrongly thought that die_offset is HWI, when it is dw_offset
aka long int.  On both arches I've been bootstrapping this (x86_64
and i686) HWI is long int and thus there were no warnings.

The other change is to disable DW_OP_GNU_implicit_pointer generation
for targets with old tools that can't grok newer extensions.
If DW_OP_implicit_pointer is accepted for DWARF5, then dwarf_version < 5 &&
would be added to the condition.

Committed to trunk as obvious.

2010-09-10  Jakub Jelinek  <jakub@redhat.com>

	PR bootstrap/45630
	* dwarf2out.c (get_ref_die_offset_label): Use %ld instead of
	HOST_WIDE_INT_PRINT_DEC to print ref->die_offset.
	(implicit_ptr_descriptor): Return NULL if dwarf_strict.


	Jakub

Patch

--- gcc/dwarf2out.c.jj	2010-09-09 08:42:55.000000000 +0200
+++ gcc/dwarf2out.c	2010-09-10 12:20:49.816646667 +0200
@@ -6545,8 +6545,7 @@  is_tagged_type (const_tree type)
 static void
 get_ref_die_offset_label (char *label, dw_die_ref ref)
 {
-  sprintf (label, "%s+" HOST_WIDE_INT_PRINT_DEC,
-	   debug_info_section_label, ref->die_offset);
+  sprintf (label, "%s+%ld", debug_info_section_label, ref->die_offset);
 }
 
 /* Convert a DIE tag into its string name.  */
@@ -14285,6 +14284,8 @@  implicit_ptr_descriptor (rtx rtl, HOST_W
   dw_loc_descr_ref ret;
   dw_die_ref ref;
 
+  if (dwarf_strict)
+    return NULL;
   gcc_assert (TREE_CODE (DEBUG_IMPLICIT_PTR_DECL (rtl)) == VAR_DECL
 	      || TREE_CODE (DEBUG_IMPLICIT_PTR_DECL (rtl)) == PARM_DECL
 	      || TREE_CODE (DEBUG_IMPLICIT_PTR_DECL (rtl)) == RESULT_DECL);