[PATCH v4 11/12] configure: Remove for redirection of built-in functions

H.J. Lu hjl.tools@gmail.com
Mon Nov 10 21:53:54 GMT 2025


On Mon, Nov 10, 2025 at 9:32 PM Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
>
> The check was initially used to define HAVE_BUILTIN_REDIRECTION, which
> enables or not libc_hidden_builtin_proto support. I was later removed

           It was later removed
> with 3ce1f2959437e952b9db4eaeed2407424f11a4d1, making the feature
> mandatory. The configure check was kept as a transition knob.
>
> Current minimum gcc/linker always supports this, as well as clang with
> some extra care. Also, missing hidden_proto/hidden_def support is
> already flagged in the check-localplt test.
> ---
>  configure    | 33 ---------------------------------
>  configure.ac | 20 --------------------
>  2 files changed, 53 deletions(-)
>
> diff --git a/configure b/configure
> index cd825395791..e490bb95f54 100755
> --- a/configure
> +++ b/configure
> @@ -7674,39 +7674,6 @@ else
>
>   fi
>
> -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for redirection of built-in functions" >&5
> -printf %s "checking for redirection of built-in functions... " >&6; }
> -if test ${libc_cv_gcc_builtin_redirection+y}
> -then :
> -  printf %s "(cached) " >&6
> -else case e in #(
> -  e) cat > conftest.c <<\EOF
> -extern char *strstr (const char *, const char *) __asm ("my_strstr");
> -char *foo (const char *a, const char *b)
> -{
> -  return __builtin_strstr (a, b);
> -}
> -EOF
> -if { ac_try='${CC-cc} -O3 -S conftest.c -o - | grep -F "my_strstr" > /dev/null'
> -  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
> -  (eval $ac_try) 2>&5
> -  ac_status=$?
> -  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
> -  test $ac_status = 0; }; };
> -then
> -  libc_cv_gcc_builtin_redirection=yes
> -else
> -  libc_cv_gcc_builtin_redirection=no
> -fi
> -rm -f conftest*  ;;
> -esac
> -fi
> -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_builtin_redirection" >&5
> -printf "%s\n" "$libc_cv_gcc_builtin_redirection" >&6; }
> -if test "$libc_cv_gcc_builtin_redirection" = no; then
> -  as_fn_error $? "support for the symbol redirection needed" "$LINENO" 5
> -fi
> -
>  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for compiler option to disable generation of FMA instructions" >&5
>  printf %s "checking for compiler option to disable generation of FMA instructions... " >&6; }
>  if test ${libc_cv_cc_nofma+y}
> diff --git a/configure.ac b/configure.ac
> index 46b33fd9f49..c9939a6db2a 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1496,26 +1496,6 @@ else
>    AC_DEFINE(__HAVE_64B_ATOMICS, 0)
>   fi
>
> -AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
> -cat > conftest.c <<\EOF
> -extern char *strstr (const char *, const char *) __asm ("my_strstr");
> -char *foo (const char *a, const char *b)
> -{
> -  return __builtin_strstr (a, b);
> -}
> -EOF
> -dnl
> -if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | grep -F "my_strstr" > /dev/null]);
> -then
> -  libc_cv_gcc_builtin_redirection=yes
> -else
> -  libc_cv_gcc_builtin_redirection=no
> -fi
> -rm -f conftest* ])
> -if test "$libc_cv_gcc_builtin_redirection" = no; then
> -  AC_MSG_ERROR([support for the symbol redirection needed])
> -fi
> -
>  dnl Determine how to disable generation of FMA instructions.
>  AC_CACHE_CHECK([for compiler option to disable generation of FMA instructions],
>                libc_cv_cc_nofma, [dnl
> --
> 2.43.0
>

LGTM with the commit log change.

Reviewed-by: H.J. Lu <hjl.tools@gmail.com>

Thanks.

-- 
H.J.


More information about the Libc-alpha mailing list