From: Dhruv Chawla <[email protected]> This is a partial fix for PR124075 which forces perf record to write the profile out to perf.data. This is required because I noticed on both aarch64 and x86 that it was writing out the profile to stdout at times, which would cause profile information to be dropped. This did not fail in the various create_fdas_for_* targets because they would only try and access the perf profiles if they existed at their paths.
Further work for this patch is to plumb the PERF_DATA make variable into the perf record invocation, but that is a stage 1 thing. Autoprofilebootstrapped and regtested on aarch64-linux-gnu. Signed-off-by: Dhruv Chawla <[email protected]> gcc/ChangeLog: PR gcov-profile/124075 * config/aarch64/gcc-auto-profile: Add "-o perf.data" to perf record invocation. * config/i386/gcc-auto-profile: Likewise. --- gcc/config/aarch64/gcc-auto-profile | 4 ++-- gcc/config/i386/gcc-auto-profile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gcc/config/aarch64/gcc-auto-profile b/gcc/config/aarch64/gcc-auto-profile index fdf06dfeed0..b235e966048 100755 --- a/gcc/config/aarch64/gcc-auto-profile +++ b/gcc/config/aarch64/gcc-auto-profile @@ -43,11 +43,11 @@ if [ "$use_brbe" = true ] ; then echo >&2 "Warning: branch profiling may not be functional in VMs" fi set -x - perf record --inherit -j any,$FLAGS "$@" + perf record --inherit -o perf.data -j any,$FLAGS "$@" set +x else echo >&2 "Warning: branch profiling may not be functional without BRBE" set -x - perf record --inherit "$@" + perf record --inherit -o perf.data "$@" set +x fi diff --git a/gcc/config/i386/gcc-auto-profile b/gcc/config/i386/gcc-auto-profile index 5cd4077826b..c7772a2800f 100755 --- a/gcc/config/i386/gcc-auto-profile +++ b/gcc/config/i386/gcc-auto-profile @@ -117,13 +117,13 @@ echo >&2 "AMD CPU without support for ex_ret_brn_tkn event" fi ;; esac set -x -if ! perf record --inherit -e $E -b "$@" ; then +if ! perf record --inherit -o perf.data -e $E -b "$@" ; then # PEBS may not actually be working even if the processor supports it # (e.g., in a virtual machine). Trying to run without /p. set +x echo >&2 "Retrying without /p." E="$(echo "${E}" | sed -e \'s/\/p/\//\ -e s/:p//)" set -x - exec perf record --inherit -e $E -b "$@" + exec perf record --inherit -o perf.data -e $E -b "$@" set +x fi -- 2.43.0
