[PATCH] Fix PR43751/target

Jack Howarth howarth@bromo.med.uc.edu
Sun Dec 5 21:42:00 GMT 2010


   Currently gcc trunk doesn't execute dsymutil for the fortran source types
so that the .dSYM directory for debugging on darwin isn't created. The
attached patch expands the source types in the definition of DSYMUTIL_SPEC.
Since dsymutil prior to Xcode 3.2.3 suffers from radar://7851516, regsub
statements are required in libstdc++-v3/testsuite/lib/prune.exp and
gcc/testsuite/lib/prune.exp to prune the additional warnings of the form...

warning: DWARFDebugInfoEntry::AppendDependants() -- check on this item TAG_subrange_type: attr =  AT_upper_bound  form = FORM_ref4.
warning: DWARFDebugInfoEntry::AppendDependants() -- check on this item TAG_subrange_type: attr =  AT_lower_bound  form = FORM_ref4.
warning: {0x0000026d} TAG_variable:  AT_location( 0x00000000 ) didn't have valid function low pc, the location list will be incorrect.

which occurs in the gfortran and libstdc++-v3 testsuite under darwin9.
Bootstrap and regression tested on x86_64-apple-darwin9.

http://gcc.gnu.org/ml/gcc-testresults/2010-12/msg00380.html

Okay for gcc trunk?
         Jack

2010-12-05  Jack Howarth  <howarth@bromo.med.uc.edu>
	    Iain Sandoe  <iains@gcc.gnu.org>

libstdc++-v3/testsuite/

	PR 43751/target
	lib/prune.exp: Prune dymutil warnings.

gcc/testsuite/

	PR 43751/target
	lib/prune.exp: Prune dymutil warnings.

gcc/
	PR 43751/target
	config/darwin9.h (DSYMUTIL_SPEC): Add fortran source types.
	
Index: libstdc++-v3/testsuite/lib/prune.exp
===================================================================
--- libstdc++-v3/testsuite/lib/prune.exp	(revision 167457)
+++ libstdc++-v3/testsuite/lib/prune.exp	(working copy)
@@ -49,6 +49,8 @@
     # Ignore errata warning from IA64 assembler.
     regsub -all "(^|\n)\[^\n\]*: Additional NOP may be necessary to workaround Itanium processor A/B step errata" $text "" text
     regsub -all "(^|\n)\[^\n*\]*: Assembler messages:\[^\n\]*" $text "" text
+    # Ignore harmless warnings from Xcode earlier than 3.2.3.
+    regsub -all "(^|\n)\[^\n\]*warning: DWARFDebugInfoEntry::AppendDependants\[^\n\]*AT_\[^\n\]*_bound\[^\n\]*FORM_ref4\[^\n\]*" $text "" text
 
     foreach p $additional_prunes {
 	if { [string length $p] > 0 } {
Index: gcc/testsuite/lib/prune.exp
===================================================================
--- gcc/testsuite/lib/prune.exp	(revision 167457)
+++ gcc/testsuite/lib/prune.exp	(working copy)
@@ -54,6 +54,9 @@
 
     # Ignore harmless warnings from Xcode 3.2.x.
     regsub -all "(^|\n)\[^\n\]*ld: warning: can't add line info to anonymous symbol\[^\n\]*" $text "" text
+    # Ignore harmless warnings from Xcode earlier than 3.2.3.
+    regsub -all "(^|\n)\[^\n\]*warning: DWARFDebugInfoEntry::AppendDependants\[^\n\]*AT_\[^\n\]*_bound\[^\n\]*FORM_ref4\[^\n\]*" $text "" text
+    regsub -all "(^|\n)\[^\n\]*warning:\[^\n\]*TAG_variable:  AT_location\[^\n\]*didn't have valid function low pc\[^\n\]*" $text "" text
 
     #send_user "After:$text\n"
 
Index: gcc/config/darwin9.h
===================================================================
--- gcc/config/darwin9.h	(revision 167457)
+++ gcc/config/darwin9.h	(working copy)
@@ -27,7 +27,7 @@
 #undef DSYMUTIL_SPEC
 #define DSYMUTIL_SPEC \
    "%{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
-    %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm|.s: \
+    %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm|.s|.f|.f90|.f95|.f03|.f77|.for|.F|.F90|.F95|.F03: \
     %{g*:%{!gstabs*:%{!g0: " DSYMUTIL " %{o*:%*}%{!o:a.out}}}}}}}}}}}}"
 
 /* libSystem contains unwind information for signal frames.  */



More information about the Gcc-patches mailing list