> On Thu, Feb 24, 2022 at 2:49 PM Jose E. Marchesi > <jose.march...@oracle.com> wrote: >> >> >> > 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. >> >> Thanks. >> >> Is this OK for gcc 12 as well? If yes, what is the proper branch other >> than master? > > gcc 12 is still master.
Committed to master. Thanks! >> >> 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 >> >>