On Thu, Jun 23, 2016 at 3:37 PM, Andi Kleen <a...@firstfloor.org> wrote: > From: ak <ak@138bc75d-0d04-0410-961f-82ee72b054a4> > > Extend the existing bprob and tree-prof tests to also run with autofdo. > The test runtimes are really a bit too short for autofdo, but it's > a reasonable sanity check. > > This only works natively for now. > > dejagnu doesn't seem to support a wrapper for unix tests, so I had > to open code running these tests. That should be ok due to the > native run restrictions. > > gcc/testsuite/: > > 2016-06-23 Andi Kleen <a...@linux.intel.com> > > * g++.dg/bprob/bprob.exp: Support autofdo. > * g++.dg/tree-prof/tree-prof.exp: dito. > * gcc.dg/tree-prof/tree-prof.exp: dito. > * gcc.misc-tests/bprob.exp: dito. > * gfortran.dg/prof/prof.exp: dito. > * lib/profopt.exp: dito. > * lib/target-supports.exp: Check for autofdo. > > git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237732 > 138bc75d-0d04-0410-961f-82ee72b054a4 > --- > gcc/testsuite/ChangeLog | 10 ++++ > gcc/testsuite/g++.dg/bprob/bprob.exp | 8 +++ > gcc/testsuite/g++.dg/tree-prof/tree-prof.exp | 8 +++ > gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp | 8 +++ > gcc/testsuite/gcc.misc-tests/bprob.exp | 7 +++ > gcc/testsuite/gfortran.dg/prof/prof.exp | 7 +++ > gcc/testsuite/lib/profopt.exp | 82 > +++++++++++++++++++++++++++- > gcc/testsuite/lib/target-supports.exp | 37 +++++++++++++ > 8 files changed, 164 insertions(+), 3 deletions(-) > > diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog > index 287baf6..55f8dbf 100644 > --- a/gcc/testsuite/ChangeLog > +++ b/gcc/testsuite/ChangeLog > @@ -1,3 +1,13 @@ > +2016-06-23 Andi Kleen <a...@linux.intel.com> > + > + * g++.dg/bprob/bprob.exp: Support autofdo. > + * g++.dg/tree-prof/tree-prof.exp: dito. > + * gcc.dg/tree-prof/tree-prof.exp: dito. > + * gcc.misc-tests/bprob.exp: dito. > + * gfortran.dg/prof/prof.exp: dito. > + * lib/profopt.exp: dito. > + * lib/target-supports.exp: Check for autofdo. > + > 2016-06-23 Martin Liska <mli...@suse.cz> > > * gcc.dg/pr71619.c: New test. > diff --git a/gcc/testsuite/g++.dg/bprob/bprob.exp > b/gcc/testsuite/g++.dg/bprob/bprob.exp > index d555507..4818298 100644 > --- a/gcc/testsuite/g++.dg/bprob/bprob.exp > +++ b/gcc/testsuite/g++.dg/bprob/bprob.exp > @@ -53,6 +53,7 @@ if $tracelevel then { > > set profile_options "-fprofile-arcs" > set feedback_options "-fbranch-probabilities" > +set profile_wrapper "" > > # Main loop. > foreach profile_option $profile_options feedback_option $feedback_options { > @@ -65,4 +66,11 @@ foreach profile_option $profile_options feedback_option > $feedback_options { > } > } > > +foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.C]] { > + if ![runtest_file_p $runtests $src] then { > + continue > + } > + auto-profopt-execute $src > +} > + > set PROFOPT_OPTIONS $bprob_save_profopt_options > diff --git a/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp > b/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp > index 7a4b5cb..26ee0b3 100644 > --- a/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp > +++ b/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp > @@ -44,6 +44,7 @@ set PROFOPT_OPTIONS [list {}] > # profile data. > set profile_option "-fprofile-generate -D_PROFILE_GENERATE" > set feedback_option "-fprofile-use -D_PROFILE_USE" > +set profile_wrapper "" > > foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.C]] { > # If we're only testing specific files and this isn't one of them, skip > it. > @@ -53,4 +54,11 @@ foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.C]] > { > profopt-execute $src > } > > +foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.C]] { > + if ![runtest_file_p $runtests $src] then { > + continue > + } > + auto-profopt-execute $src > +} > + > set PROFOPT_OPTIONS $treeprof_save_profopt_options > diff --git a/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp > b/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp > index 650ad8d..aaccf19 100644 > --- a/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp > +++ b/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp > @@ -44,6 +44,7 @@ set PROFOPT_OPTIONS [list {}] > # profile data. > set profile_option "-fprofile-generate -D_PROFILE_GENERATE" > set feedback_option "-fprofile-use -D_PROFILE_USE" > +set profile_wrapper "" > > foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] { > # If we're only testing specific files and this isn't one of them, skip > it. > @@ -53,4 +54,11 @@ foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] > { > profopt-execute $src > } > > +foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] { > + if ![runtest_file_p $runtests $src] then { > + continue > + } > + auto-profopt-execute $src > +} > + > set PROFOPT_OPTIONS $treeprof_save_profopt_options > diff --git a/gcc/testsuite/gcc.misc-tests/bprob.exp > b/gcc/testsuite/gcc.misc-tests/bprob.exp > index 52dcb1f..132bfe3 100644 > --- a/gcc/testsuite/gcc.misc-tests/bprob.exp > +++ b/gcc/testsuite/gcc.misc-tests/bprob.exp > @@ -41,6 +41,7 @@ load_lib profopt.exp > set bprob_save_profopt_options $PROFOPT_OPTIONS > set PROFOPT_OPTIONS [list { -O2 } { -O3 }] > > +set profile_wrapper "" > set profile_options "-fprofile-arcs" > set feedback_options "-fbranch-probabilities" > > @@ -54,4 +55,10 @@ foreach profile_option $profile_options feedback_option > $feedback_options { > } > } > > +foreach src [lsort [glob -nocomplain $srcdir/$subdir/bprob-*.c]] { > + if ![runtest_file_p $runtests $src] then { > + continue > + } > + auto-profopt-execute $src > +} > set PROFOPT_OPTIONS $bprob_save_profopt_options > diff --git a/gcc/testsuite/gfortran.dg/prof/prof.exp > b/gcc/testsuite/gfortran.dg/prof/prof.exp > index 0bad01d..acc8ed0 100644 > --- a/gcc/testsuite/gfortran.dg/prof/prof.exp > +++ b/gcc/testsuite/gfortran.dg/prof/prof.exp > @@ -53,4 +53,11 @@ foreach src [lsort [glob -nocomplain > $srcdir/$subdir/*.f*]] { > profopt-execute $src > } > > +foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.f*]] { > + if ![runtest_file_p $runtests $src] then { > + continue > + } > + auto-profopt-execute $src > +} > + > set PROFOPT_OPTIONS $treeprof_save_profopt_options > diff --git a/gcc/testsuite/lib/profopt.exp b/gcc/testsuite/lib/profopt.exp > index 0aea6c4..b3e2b2e 100644 > --- a/gcc/testsuite/lib/profopt.exp > +++ b/gcc/testsuite/lib/profopt.exp > @@ -36,7 +36,7 @@ load_lib gcc-dg.exp > global PROFOPT_OPTIONS perf_delta > > # The including .exp file must define these. > -global tool profile_option feedback_option prof_ext > +global tool profile_option feedback_option prof_ext profile_wrapper > if ![info exists tool] { > error "Tools is not specified." > } > @@ -229,6 +229,31 @@ proc profopt-get-options { src } { > return ${dg-extra-tool-flags} > } > > +# auto-profopt-execute -- Compile for auto profiling and then feedback, > +# then normal. SRC is the full path name of the testcase. > +proc auto-profopt-execute { src } { > + global profile_wrapper > + global profile_option > + global feedback_option > + global run_autofdo > + global srcdir > + > + if { ! [check_profiling_available "-fauto-profile"] } { > + regsub "(?q)$srcdir/" $src "" testcase > + unsupported "$testcase" > + return > + } > + set profile_wrapper [profopt-perf-wrapper] > + set profile_option "-g" > + set feedback_option "-fauto-profile" > + set run_autofdo 1 > + profopt-execute $src > + unset profile_wrapper > + unset profile_option > + unset feedback_option > + unset run_autofdo > +} > + > # > # c-prof-execute -- compile for profiling and then feedback, then normal > # > @@ -238,6 +263,7 @@ proc profopt-execute { src } { > global srcdir tmpdir > global PROFOPT_OPTIONS > global tool profile_option feedback_option prof_ext perf_ext perf_delta > + global profile_wrapper run_autofdo ld_library_path > global generate_final_code use_final_code > global verbose > global testname_with_flags > @@ -248,6 +274,12 @@ proc profopt-execute { src } { > if ![info exists feedback_option] { > error "No feedback option specified for second compile." > } > + if ![info exists profile_wrapper] { > + set profile_wrapper "" > + } > + if ![info exists run_autofdo] { > + set run_autofdo "" > + } > > # Use the default option list or one defined for a set of tests. > if ![info exists PROFOPT_OPTIONS] { > @@ -313,6 +345,7 @@ proc profopt-execute { src } { > # valid, by running it after dg-additional-files-options. > foreach ext $prof_ext { > profopt-target-cleanup $tmpdir $base $ext > + profopt-target-cleanup $tmpdir perf data > } > > # Tree profiling requires TLS runtime support, which may need > @@ -335,12 +368,50 @@ proc profopt-execute { src } { > } > > # Run the profiled test. > + if { $run_autofdo == 1 } { > + if { ![info exists ld_library_path]} { > + set ld_library_path "" > + } > + set orig_ld_library_path "[getenv LD_LIBRARY_PATH]" > + setenv LD_LIBRARY_PATH "$ld_library_path:$orig_ld_library_path" > + verbose "Running $profile_wrapper $execname1" > + set id [remote_spawn "" "$profile_wrapper $execname1" "readonly"] > + setenv LD_LIBRARY_PATH $orig_ld_library_path > + if { $id < 0 } { > + warning "Failed to run profiler" > + set status "fail" > + } else { > + set result [remote_wait "" 300] > + set status [lindex $result 0] > + verbose "perf result $result" > + if { $status == 0 } { > + set status "pass" > + } else { > + set status "fail" > + } > + } > + } else { > + set result [${tool}_load $execname1 "" ""] > + set status [lindex $result 0] > + } > > - set result [${tool}_load $execname1 "" ""] > - set status [lindex $result 0] > set missing_file 0 > # Make sure the profile data was generated, and fail if not. > if { $status == "pass" } { > + # convert profile > + if { $run_autofdo == 1 } { > + set cmd "create_gcov --binary $execname1 --profile=perf.data > -gcov_version=1 --gcov=$tmpdir/$base.$ext" > + verbose "Running $cmd" > + set id [remote_spawn "" $cmd] > + if { $id < 0 } { > + unsupported "$testcase: Cannot run $cmd" > + set status "fail" > + return > + } > + set status [remote_wait "" 300] > + set status "pass" > + } > + > foreach ext $prof_ext { > remote_upload target $tmpdir/$base.$ext > set files [glob -nocomplain $base.$ext] > @@ -375,6 +446,10 @@ proc profopt-execute { src } { > set options "$extra_options" > lappend options "additional_flags=$option $extra_flags > $feedback_option" > set optstr "$option $feedback_option" > + if { [string first "-fauto-profile" $options] >= 0} { > + set options [regsub -- "-fauto-profile" $options > "-fauto-profile=$tmpdir/$base.$ext"] > + } > + > set comp_output [${tool}_target_compile "$src" "$execname2" > "executable" $options] > > # Prune warnings we know are unwanted. > @@ -399,6 +474,7 @@ proc profopt-execute { src } { > # Remove the profiling data files. > foreach ext $prof_ext { > profopt-target-cleanup $tmpdir $base $ext > + profopt-target-cleanup $tmpdir perf data > } > > if { $status != "pass" } { > diff --git a/gcc/testsuite/lib/target-supports.exp > b/gcc/testsuite/lib/target-supports.exp > index 1b1d03a..62267cf 100644 > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -508,6 +508,13 @@ proc check_effective_target_keeps_null_pointer_checks { > } { > return 0 > } > > +# Return the autofdo profile wrapper > + > +proc profopt-perf-wrapper { } { > + global srcdir > + return "$srcdir/../config/i386/gcc-auto-profile -o perf.data " > +} > + > # Return true if profiling is supported on the target. > > proc check_profiling_available { test_what } { > @@ -525,6 +532,36 @@ proc check_profiling_available { test_what } { > } > } > > + if { $test_what == "-fauto-profile" } { > + if { ! ([istarget x86_64-*-linux*] || [istarget i?86-*-linux*]) } { > + verbose "autofdo only supported on linux" > + return 0 > + } > + # not cross compiling? > + if { ![isnative] } { > + verbose "autofdo not supported for non native builds" > + return 0 > + } > + set event [profopt-perf-wrapper] > + if {$event == "" } { > + verbose "autofdo not supported" > + return 0 > + } > + global srcdir > + set status [remote_exec host > "$srcdir/../config/i386/gcc-auto-profile" "true -v >/dev/null"] > + if { [lindex $status 0] != 0 } { > + verbose "autofdo not supported because perf does not work" > + return 0 > + } > + > + # no good way to check this in advance -- check later instead. > + #set status [remote_exec host "create_gcov" "2>/dev/null"] > + #if { [lindex $status 0] != 255 } { > + # verbose "autofdo not supported due to missing create_gcov" > + # return 0 > + #} > + } > + > # Support for -p on solaris2 relies on mcrt1.o which comes with the > # vendor compiler. We cannot reliably predict the directory where the > # vendor compiler (and thus mcrt1.o) is installed so we can't > -- > 2.8.3 > Hi, After this patch, I got below test results with command line: make check-gcc RUNTESTFLAGS="tree-prof.exp" -k
PASS: gcc.dg/tree-prof/20041218-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/20041218-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/20041218-1.gcda PASS: gcc.dg/tree-prof/20050826-2.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/20050826-2.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/20050826-2.gcda PASS: gcc.dg/tree-prof/bb-reorg.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/bb-reorg.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/bb-reorg.gcda PASS: gcc.dg/tree-prof/cmpsf-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/cmpsf-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/cmpsf-1.gcda PASS: gcc.dg/tree-prof/cold_partition_label.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/cold_partition_label.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/cold_partition_label.gcda PASS: gcc.dg/tree-prof/comp-goto-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/comp-goto-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/comp-goto-1.gcda PASS: gcc.dg/tree-prof/crossmodule-indircall-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/crossmodule-indircall-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/crossmodule-indircall-1.gcda PASS: gcc.dg/tree-prof/crossmodule-indircall-1a.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/crossmodule-indircall-1a.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/crossmodule-indircall-1a.gcda PASS: gcc.dg/tree-prof/ic-misattribution-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/ic-misattribution-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/ic-misattribution-1.gcda PASS: gcc.dg/tree-prof/ic-misattribution-1a.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/ic-misattribution-1a.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/ic-misattribution-1a.gcda PASS: gcc.dg/tree-prof/indir-call-prof.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/indir-call-prof.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/indir-call-prof.gcda PASS: gcc.dg/tree-prof/inliner-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/inliner-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/inliner-1.gcda PASS: gcc.dg/tree-prof/merge_block.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/merge_block.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/merge_block.gcda PASS: gcc.dg/tree-prof/peel-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/peel-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/peel-1.gcda PASS: gcc.dg/tree-prof/pr34999.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/pr34999.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/pr34999.gcda PASS: gcc.dg/tree-prof/pr44777.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/pr44777.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/pr44777.gcda PASS: gcc.dg/tree-prof/pr45354.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/pr45354.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/pr45354.gcda PASS: gcc.dg/tree-prof/pr47187.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/pr47187.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/pr47187.gcda PASS: gcc.dg/tree-prof/pr49299-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/pr49299-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/pr49299-1.gcda PASS: gcc.dg/tree-prof/pr49299-2.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/pr49299-2.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/pr49299-2.gcda PASS: gcc.dg/tree-prof/pr50907.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/pr50907.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/pr50907.gcda PASS: gcc.dg/tree-prof/pr52027.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/pr52027.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/pr52027.gcda PASS: gcc.dg/tree-prof/pr52150.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/pr52150.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/pr52150.gcda PASS: gcc.dg/tree-prof/pr59003.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/pr59003.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/pr59003.gcda PASS: gcc.dg/tree-prof/prof-robust-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/prof-robust-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/prof-robust-1.gcda PASS: gcc.dg/tree-prof/stringop-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/stringop-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/stringop-1.gcda PASS: gcc.dg/tree-prof/stringop-2.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/stringop-2.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/stringop-2.gcda PASS: gcc.dg/tree-prof/switch-case-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/switch-case-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/switch-case-1.gcda PASS: gcc.dg/tree-prof/switch-case-2.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/switch-case-2.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/switch-case-2.gcda PASS: gcc.dg/tree-prof/time-profiler-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/time-profiler-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/time-profiler-1.gcda PASS: gcc.dg/tree-prof/time-profiler-2.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/time-profiler-2.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/time-profiler-2.gcda PASS: gcc.dg/tree-prof/tracer-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/tracer-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/tracer-1.gcda PASS: gcc.dg/tree-prof/unroll-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/unroll-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/unroll-1.gcda PASS: gcc.dg/tree-prof/update-cunroll-2.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/update-cunroll-2.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/update-cunroll-2.gcda PASS: gcc.dg/tree-prof/update-loopch.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/update-loopch.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/update-loopch.gcda PASS: gcc.dg/tree-prof/update-tailcall.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/update-tailcall.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/update-tailcall.gcda PASS: gcc.dg/tree-prof/va-arg-pack-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/va-arg-pack-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/va-arg-pack-1.gcda PASS: gcc.dg/tree-prof/val-prof-1.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/val-prof-1.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/val-prof-1.gcda PASS: gcc.dg/tree-prof/val-prof-2.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/val-prof-2.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/val-prof-2.gcda PASS: gcc.dg/tree-prof/val-prof-3.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/val-prof-3.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/val-prof-3.gcda PASS: gcc.dg/tree-prof/val-prof-4.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/val-prof-4.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/val-prof-4.gcda PASS: gcc.dg/tree-prof/val-prof-5.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/val-prof-5.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/val-prof-5.gcda PASS: gcc.dg/tree-prof/val-prof-6.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/val-prof-6.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/val-prof-6.gcda PASS: gcc.dg/tree-prof/val-prof-7.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/val-prof-7.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/val-prof-7.gcda PASS: gcc.dg/tree-prof/wcoverage-mismatch.c compilation, -g UNSUPPORTED: gcc.dg/tree-prof/wcoverage-mismatch.c: Cannot run create_gcov --binary /data/work/trunk/build/gcc/testsuite/gcc/wcoverage-mismatch.gcda Before this patch, gcc test doesn't build/test these with "-g" option. Also I got unstable test result in tree-prof.exp if I run aforementioned command line with -jnum (parallelly). Does the patch has problem in parallel testing? Thanks, bin