configure: Don't check LD -v --help for LIBC_LINKER_FEATURE

When LIBC_LINKER_FEATURE is used to check a linker option with the equal
sign, it will likely fail because the LD -v --help output may look like
`-z lam-report=[none|warning|error]` while the needle is something like
`-z lam-report=warning`.

The LD -v --help filter doesn't save much time, so just remove it.
This commit is contained in:
Fangrui Song 2021-10-25 13:17:44 -07:00
parent f9b152c83f
commit 8438135d34
3 changed files with 48 additions and 66 deletions

19
aclocal.m4 vendored
View File

@ -224,20 +224,17 @@ AC_DEFUN([LIBC_LINKER_FEATURE],
[AC_MSG_CHECKING([for linker that supports $1])
libc_linker_feature=no
if test x"$gnu_ld" = x"yes"; then
libc_linker_check=`$LD -v --help 2>/dev/null | grep "\$1"`
if test -n "$libc_linker_check"; then
cat > conftest.c <<EOF
cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
$2 -nostdlib -nostartfiles
-fPIC -shared -o conftest.so conftest.c
1>&AS_MESSAGE_LOG_FD])
then
libc_linker_feature=yes
fi
rm -f conftest*
if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
$2 -nostdlib -nostartfiles
-fPIC -shared -o conftest.so conftest.c
1>&AS_MESSAGE_LOG_FD])
then
libc_linker_feature=yes
fi
rm -f conftest*
fi
if test $libc_linker_feature = yes; then
$3

76
configure vendored
View File

@ -5979,25 +5979,22 @@ fi
$as_echo_n "checking for linker that supports -z execstack... " >&6; }
libc_linker_feature=no
if test x"$gnu_ld" = x"yes"; then
libc_linker_check=`$LD -v --help 2>/dev/null | grep "\-z execstack"`
if test -n "$libc_linker_check"; then
cat > conftest.c <<EOF
cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
-Wl,-z,execstack -nostdlib -nostartfiles
-fPIC -shared -o conftest.so conftest.c
1>&5'
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
-Wl,-z,execstack -nostdlib -nostartfiles
-fPIC -shared -o conftest.so conftest.c
1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
then
libc_linker_feature=yes
fi
rm -f conftest*
then
libc_linker_feature=yes
fi
rm -f conftest*
fi
if test $libc_linker_feature = yes; then
libc_cv_z_execstack=yes
@ -6012,25 +6009,22 @@ $as_echo "$libc_linker_feature" >&6; }
$as_echo_n "checking for linker that supports -z start-stop-gc... " >&6; }
libc_linker_feature=no
if test x"$gnu_ld" = x"yes"; then
libc_linker_check=`$LD -v --help 2>/dev/null | grep "\-z start-stop-gc"`
if test -n "$libc_linker_check"; then
cat > conftest.c <<EOF
cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
-Wl,-z,start-stop-gc -nostdlib -nostartfiles
-fPIC -shared -o conftest.so conftest.c
1>&5'
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
-Wl,-z,start-stop-gc -nostdlib -nostartfiles
-fPIC -shared -o conftest.so conftest.c
1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
then
libc_linker_feature=yes
fi
rm -f conftest*
then
libc_linker_feature=yes
fi
rm -f conftest*
fi
if test $libc_linker_feature = yes; then
libc_cv_z_start_stop_gc=yes
@ -6046,25 +6040,22 @@ have-z-start-stop-gc = $libc_cv_z_start_stop_gc"
$as_echo_n "checking for linker that supports --depaudit... " >&6; }
libc_linker_feature=no
if test x"$gnu_ld" = x"yes"; then
libc_linker_check=`$LD -v --help 2>/dev/null | grep "\--depaudit"`
if test -n "$libc_linker_check"; then
cat > conftest.c <<EOF
cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
-Wl,--depaudit,x -nostdlib -nostartfiles
-fPIC -shared -o conftest.so conftest.c
1>&5'
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
-Wl,--depaudit,x -nostdlib -nostartfiles
-fPIC -shared -o conftest.so conftest.c
1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
then
libc_linker_feature=yes
fi
rm -f conftest*
then
libc_linker_feature=yes
fi
rm -f conftest*
fi
if test $libc_linker_feature = yes; then
libc_cv_depaudit=yes
@ -6080,25 +6071,22 @@ have-depaudit = $libc_cv_depaudit"
$as_echo_n "checking for linker that supports --no-dynamic-linker... " >&6; }
libc_linker_feature=no
if test x"$gnu_ld" = x"yes"; then
libc_linker_check=`$LD -v --help 2>/dev/null | grep "\--no-dynamic-linker"`
if test -n "$libc_linker_check"; then
cat > conftest.c <<EOF
cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
-Wl,--no-dynamic-linker -nostdlib -nostartfiles
-fPIC -shared -o conftest.so conftest.c
1>&5'
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
-Wl,--no-dynamic-linker -nostdlib -nostartfiles
-fPIC -shared -o conftest.so conftest.c
1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
then
libc_linker_feature=yes
fi
rm -f conftest*
then
libc_linker_feature=yes
fi
rm -f conftest*
fi
if test $libc_linker_feature = yes; then
libc_cv_no_dynamic_linker=yes

View File

@ -80,25 +80,22 @@ fi
$as_echo_n "checking for linker that supports --no-tls-get-addr-optimize... " >&6; }
libc_linker_feature=no
if test x"$gnu_ld" = x"yes"; then
libc_linker_check=`$LD -v --help 2>/dev/null | grep "\--no-tls-get-addr-optimize"`
if test -n "$libc_linker_check"; then
cat > conftest.c <<EOF
cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
-Wl,--no-tls-get-addr-optimize -nostdlib -nostartfiles
-fPIC -shared -o conftest.so conftest.c
1>&5'
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
-Wl,--no-tls-get-addr-optimize -nostdlib -nostartfiles
-fPIC -shared -o conftest.so conftest.c
1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
then
libc_linker_feature=yes
fi
rm -f conftest*
then
libc_linker_feature=yes
fi
rm -f conftest*
fi
if test $libc_linker_feature = yes; then
libc_cv_tls_get_addr_optimize=yes