[PATCH v3 18/19] configure: Remove for redirection of built-in functions

Adhemerval Zanella adhemerval.zanella@linaro.org
Fri Oct 31 20:00:51 GMT 2025


The check was initially used to define HAVE_BUILTIN_REDIRECTION, which
enables or not libc_hidden_builtin_proto support. I 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 086791356a8..2e3b803aca6 100755
--- a/configure
+++ b/configure
@@ -7632,39 +7632,6 @@ if test "$libc_cv_gcc_builtin_memset" = yes ; then
 
 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 663eca3caa3..6e95f730e31 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1469,26 +1469,6 @@ if test "$libc_cv_gcc_builtin_memset" = yes ; then
   AC_DEFINE(HAVE_BUILTIN_MEMSET)
 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



More information about the Libc-alpha mailing list