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
>

Reply via email to