From: Dhruv Chawla <[email protected]> This works around a bug I was seeing while testing autoprofiledbootstrap where it appeared that perf record was only recording the make invocation and not any of the child processes. I did not find any configuration that would make it do so, so forcing the flag in gcc-auto-profile will make sure that it doesn't happen regardless of perf's settings.
Bootstrapped and regtested on aarch64-linux-gnu. Signed-off-by: Dhruv Chawla <[email protected]> gcc/ChangeLog: PR gcov-profile/123923 * config/aarch64/gcc-auto-profile: Add --inherit to perf record flags. * 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 4d5c2e34855..fdf06dfeed0 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 -j any,$FLAGS "$@" + perf record --inherit -j any,$FLAGS "$@" set +x else echo >&2 "Warning: branch profiling may not be functional without BRBE" set -x - perf record "$@" + perf record --inherit "$@" set +x fi diff --git a/gcc/config/i386/gcc-auto-profile b/gcc/config/i386/gcc-auto-profile index 0e9e5fec2fe..5cd4077826b 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 -e $E -b "$@" ; then +if ! perf record --inherit -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 -e $E -b "$@" + exec perf record --inherit -e $E -b "$@" set +x fi -- 2.43.0
