The following change 2011-05-26 Rainer Orth <r...@cebitec.uni-bielefeld.de> PR gcov-profile/48845
causes testsuite failures on C6X. Specifically, @@ -495,11 +495,16 @@ proc check_profiling_available { test_wh # These conditions depend on the argument so examine them before # looking at the cache variable. + # Tree profiling requires TLS runtime support. + if { $test_what == "-fprofile-generate" } { + return [check_effective_target_tls_runtime] + } + skips all the further tests in that function if check_effective_target_tls_runtime returns true. (I'm not sure why it does that on C6X - it seems to link in emutls stuff?) We then fail with unresolved __gcov symbols. Fixed with the following patch. I've removed the new avr special case, assuming it was intended to fix the same issue. Ok? Bernd
* testsuite/lib/target-supports.exp (check_profiling_available): Don't rely solely on TLS tests for -fprofile-generate, fall through to the other code. Index: gcc/testsuite/lib/target-supports.exp =================================================================== --- gcc/testsuite/lib/target-supports.exp (revision 178293) +++ gcc/testsuite/lib/target-supports.exp (working copy) @@ -459,12 +459,9 @@ proc check_profiling_available { test_wh # Tree profiling requires TLS runtime support. if { $test_what == "-fprofile-generate" } { - # AVR does not support profile generation because - # it does not implement needed support functions. - if { [istarget avr-*-*] } { + if { ![check_effective_target_tls_runtime] } { return 0 } - return [check_effective_target_tls_runtime] } # Support for -p on solaris2 relies on mcrt1.o which comes with the