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 <[email protected]>
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"