[PATCH] prune warn_compact_unwind warnings on darwin
Jack Howarth
howarth@bromo.med.uc.edu
Sat Mar 12 21:01:00 GMT 2011
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"
More information about the Gcc-patches
mailing list