On Wed, Feb 23, 2022 at 8:56 PM Jose E. Marchesi <jose.march...@oracle.com> wrote: > > This patch changes the build machinery in order to disable the build > of GCOV (both compiler and libgcc) in bpf-*-* targets. The reason for > this change is that BPF is (currently) too restricted in order to > support the coverage instrumentalization. > > Tested in bpf-unknown-none and x86_64-linux-gnu targets.
LGTM. Richard. > 2022-02-23 Jose E. Marchesi <jose.march...@oracle.com> > > gcc/ChangeLog > > PR target/104656 > * configure.ac: --disable-gcov if targetting bpf-*. > * configure: Regenerate. > > libgcc/ChangeLog > > PR target/104656 > * configure.ac: --disable-gcov if targetting bpf-*. > * configure: Regenerate. > --- > gcc/configure | 14 +++++++++++--- > gcc/configure.ac | 10 +++++++++- > libgcc/configure | 31 +++++++++++++++++++------------ > libgcc/configure.ac | 17 ++++++++++++----- > 4 files changed, 51 insertions(+), 21 deletions(-) > > diff --git a/gcc/configure b/gcc/configure > index 258b17a226e..22eb3451e3d 100755 > --- a/gcc/configure > +++ b/gcc/configure > @@ -8085,12 +8085,20 @@ fi > if test "${enable_gcov+set}" = set; then : > enableval=$enable_gcov; > else > - enable_gcov=yes > + case $target in > + bpf-*-*) > + enable_gcov=no > + ;; > + *) > + enable_gcov=yes > + ;; > + esac > fi > > > > > + > # Check whether --with-specs was given. > if test "${with_specs+set}" = set; then : > withval=$with_specs; CONFIGURE_SPECS=$withval > @@ -19659,7 +19667,7 @@ else > lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 > lt_status=$lt_dlunknown > cat > conftest.$ac_ext <<_LT_EOF > -#line 19662 "configure" > +#line 19670 "configure" > #include "confdefs.h" > > #if HAVE_DLFCN_H > @@ -19765,7 +19773,7 @@ else > lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 > lt_status=$lt_dlunknown > cat > conftest.$ac_ext <<_LT_EOF > -#line 19768 "configure" > +#line 19776 "configure" > #include "confdefs.h" > > #if HAVE_DLFCN_H > diff --git a/gcc/configure.ac b/gcc/configure.ac > index 06750cee977..20da90901f8 100644 > --- a/gcc/configure.ac > +++ b/gcc/configure.ac > @@ -1041,7 +1041,15 @@ AC_SUBST(enable_shared) > > AC_ARG_ENABLE(gcov, > [ --disable-gcov don't provide libgcov and related host tools], > -[], [enable_gcov=yes]) > +[], [case $target in > + bpf-*-*) > + enable_gcov=no > + ;; > + *) > + enable_gcov=yes > + ;; > + esac]) > + > AC_SUBST(enable_gcov) > > AC_ARG_WITH(specs, > diff --git a/libgcc/configure b/libgcc/configure > index 4919a56f518..52bf25d4e94 100755 > --- a/libgcc/configure > +++ b/libgcc/configure > @@ -630,6 +630,7 @@ LIPO > AR > toolexeclibdir > toolexecdir > +enable_gcov > target_subdir > host_subdir > build_subdir > @@ -653,7 +654,6 @@ build_cpu > build > with_aix_soname > enable_vtable_verify > -enable_gcov > enable_shared > libgcc_topdir > target_alias > @@ -701,7 +701,6 @@ with_target_subdir > with_cross_host > with_ld > enable_shared > -enable_gcov > enable_vtable_verify > with_aix_soname > enable_version_specific_runtime_libs > @@ -709,6 +708,7 @@ with_toolexeclibdir > with_slibdir > enable_maintainer_mode > with_build_libsubdir > +enable_gcov > enable_largefile > enable_decimal_float > with_system_libunwind > @@ -1342,12 +1342,12 @@ Optional Features: > --disable-FEATURE do not include FEATURE (same as > --enable-FEATURE=no) > --enable-FEATURE[=ARG] include FEATURE [ARG=yes] > --disable-shared don't provide a shared libgcc > - --disable-gcov don't provide libgcov and related host tools > --enable-vtable-verify Enable vtable verification feature > --enable-version-specific-runtime-libs Specify that runtime libraries > should be installed in a compiler-specific directory > --enable-maintainer-mode > enable make rules and dependencies not useful (and > sometimes confusing) to the casual installer > + --disable-gcov don't provide libgcov and related host tools > --disable-largefile omit support for large files > --enable-decimal-float={no,yes,bid,dpd} > enable decimal float extension to C. Selecting 'bid' > @@ -2252,15 +2252,6 @@ fi > > > > -# Check whether --enable-gcov was given. > -if test "${enable_gcov+set}" = set; then : > - enableval=$enable_gcov; > -else > - enable_gcov=yes > -fi > - > - > - > # Check whether --enable-vtable-verify was given. > if test "${enable_vtable_verify+set}" = set; then : > enableval=$enable_vtable_verify; case "$enableval" in > @@ -2713,6 +2704,22 @@ fi > target_subdir=${target_noncanonical} > > > +# Check whether --enable-gcov was given. > +if test "${enable_gcov+set}" = set; then : > + enableval=$enable_gcov; > +else > + case $target in > + bpf-*-*) > + enable_gcov=no > + ;; > + *) > + enable_gcov=yes > + ;; > + esac > +fi > + > + > + > # Calculate toolexeclibdir > # Also toolexecdir, though it's only used in toolexeclibdir > case ${version_specific_libs} in > diff --git a/libgcc/configure.ac b/libgcc/configure.ac > index 13a80b2551b..6f0b67c2adc 100644 > --- a/libgcc/configure.ac > +++ b/libgcc/configure.ac > @@ -68,11 +68,6 @@ AC_ARG_ENABLE(shared, > ], [enable_shared=yes]) > AC_SUBST(enable_shared) > > -AC_ARG_ENABLE(gcov, > -[ --disable-gcov don't provide libgcov and related host tools], > -[], [enable_gcov=yes]) > -AC_SUBST(enable_gcov) > - > AC_ARG_ENABLE(vtable-verify, > [ --enable-vtable-verify Enable vtable verification feature ], > [case "$enableval" in > @@ -163,6 +158,18 @@ ACX_NONCANONICAL_HOST > ACX_NONCANONICAL_TARGET > GCC_TOPLEV_SUBDIRS > > +AC_ARG_ENABLE(gcov, > +[ --disable-gcov don't provide libgcov and related host tools], > +[], [case $target in > + bpf-*-*) > + enable_gcov=no > + ;; > + *) > + enable_gcov=yes > + ;; > + esac]) > +AC_SUBST(enable_gcov) > + > # Calculate toolexeclibdir > # Also toolexecdir, though it's only used in toolexeclibdir > case ${version_specific_libs} in > -- > 2.11.0 >