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

Reply via email to