On Fri, Jun 30, 2023 at 7:28 AM Eugene Rozenfeld via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > When we collect just user events for autofdo with lbr we get some events > where branch > sources are kernel addresses and branch targets are user addresses. Without > kernel MMAP > events create_gcov can't make sense of kernel addresses. Currently > create_gcov fails if > it can't map at least 95% of events. We sometimes get below this threshold > with just > user events. The change is to collect both user events and kernel events.
Does this require elevated privileges? Can we instead "fix" create_gcov here? > Tested on x86_64-pc-linux-gnu. > > ChangeLog: > > * Makefile.in: Collect both kernel and user events for autofdo > * Makefile.tpl: Collect both kernel and user events for autofdo > > gcc/testsuite/ChangeLog: > > * lib/target-supports.exp: Collect both kernel and user events for > autofdo > --- > Makefile.in | 2 +- > Makefile.tpl | 2 +- > gcc/testsuite/lib/target-supports.exp | 2 +- > 3 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/Makefile.in b/Makefile.in > index f19a9db621e..04307ca561b 100644 > --- a/Makefile.in > +++ b/Makefile.in > @@ -404,7 +404,7 @@ MAKEINFO = @MAKEINFO@ > EXPECT = @EXPECT@ > RUNTEST = @RUNTEST@ > > -AUTO_PROFILE = gcc-auto-profile -c 10000000 > +AUTO_PROFILE = gcc-auto-profile --all -c 10000000 > > # This just becomes part of the MAKEINFO definition passed down to > # sub-makes. It lets flags be given on the command line while still > diff --git a/Makefile.tpl b/Makefile.tpl > index 3a5b7ed3c92..d0fe7e2fb77 100644 > --- a/Makefile.tpl > +++ b/Makefile.tpl > @@ -407,7 +407,7 @@ MAKEINFO = @MAKEINFO@ > EXPECT = @EXPECT@ > RUNTEST = @RUNTEST@ > > -AUTO_PROFILE = gcc-auto-profile -c 10000000 > +AUTO_PROFILE = gcc-auto-profile --all -c 10000000 > > # This just becomes part of the MAKEINFO definition passed down to > # sub-makes. It lets flags be given on the command line while still > diff --git a/gcc/testsuite/lib/target-supports.exp > b/gcc/testsuite/lib/target-supports.exp > index 4d04df2a709..b16853d76df 100644 > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -704,7 +704,7 @@ proc check_effective_target_keeps_null_pointer_checks { } > { > # this allows parallelism of 16 and higher of parallel gcc-auto-profile > proc profopt-perf-wrapper { } { > global srcdir > - return "$srcdir/../config/i386/gcc-auto-profile -m8 " > + return "$srcdir/../config/i386/gcc-auto-profile --all -m8 " > } > > # Return true if profiling is supported on the target. > -- > 2.25.1 >