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. 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 > >>