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] prune warn_compact_unwind warnings on darwin


  Xcode 4.0's linker now defaults on...

     -warn_compact_unwind
                 When producing a final linked image, the linker processes the __eh_frame section and produces an
                 __unwind_info section. Most FDE entries in the __eh_frame can be represented by a 32-bit value in
                 the __unwind_info section.  The option issues a warning for any function whose FDE cannot be
                 expressed in the compact unwind format.

regardless of whether -no_compact_unwind is passed to the linker. This results in many bogus excess error failures
in the testsuite due to these bogus warnings of the form...

ld: warning: could not create compact unwind for I<int>::operator+(int =const&) const: dwarf uses DW_CFA_GNU_args_size

The attached patch adds a regsub statement to prune.exp to suppress this testsuite noise on darwin when linking
with Xcode 4.0. Tested on x86_64-apple-darwin10.
               Jack

2011-03-12  Jack Howarth  <howarth@bromo.med.uc.edu>

libstdc++-v3/
	* testsuite/lib/prune.exp: Prune "could not create compact unwind for" warnings.

gcc/
	* testsuite/lib/prune.exp: Ditto.

Index: libstdc++-v3/testsuite/lib/prune.exp
===================================================================
--- libstdc++-v3/testsuite/lib/prune.exp	(revision 170906)
+++ libstdc++-v3/testsuite/lib/prune.exp	(working copy)
@@ -55,6 +55,9 @@ proc libstdc++-dg-prune { system text } 
     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
 
+    # Ignore harmless warnings from Xcode 4.0.
+    regsub -all "(^|\n)\[^\n\]*ld: warning: could not create compact unwind for\[^\n\]*" $text "" text
+
     foreach p $additional_prunes {
 	if { [string length $p] > 0 } {
 	    # Following regexp matches a complete line containing $p.
Index: gcc/testsuite/lib/prune.exp
===================================================================
--- gcc/testsuite/lib/prune.exp	(revision 170906)
+++ gcc/testsuite/lib/prune.exp	(working copy)
@@ -56,6 +56,9 @@ proc prune_gcc_output { text } {
     regsub -all "(^|\n)\[^\n\]*ld: warning: can't add line info to anonymous symbol\[^\n\]*" $text "" text
     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
+
+    # Ignore harmless warnings from Xcode 4.0.
+    regsub -all "(^|\n)\[^\n\]*ld: warning: could not create compact unwind for\[^\n\]*" $text "" text
     
     #send_user "After:$text\n"
 


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