mirror of
https://sourceware.org/git/glibc.git
synced 2025-05-19 05:53:43 +03:00
Default to --with-default-link=yes if configure check finds good -shared layout.
This commit is contained in:
parent
5c55070081
commit
fd5e21c75d
@ -1,5 +1,9 @@
|
|||||||
2011-07-02 Roland McGrath <roland@hack.frob.com>
|
2011-07-02 Roland McGrath <roland@hack.frob.com>
|
||||||
|
|
||||||
|
* configure.in (use-default-link): Default to yes if a test -shared
|
||||||
|
link meets our qualifications.
|
||||||
|
* configure: Regenerated.
|
||||||
|
|
||||||
* config.make.in (output-format): New variable.
|
* config.make.in (output-format): New variable.
|
||||||
* configure.in: Check for ld --print-output-format support.
|
* configure.in: Check for ld --print-output-format support.
|
||||||
* configure: Regenerated.
|
* configure: Regenerated.
|
||||||
|
67
configure
vendored
67
configure
vendored
@ -1469,7 +1469,7 @@ Optional Packages:
|
|||||||
--without-cvs if CVS should not be used
|
--without-cvs if CVS should not be used
|
||||||
--with-headers=PATH location of system headers to use (for example
|
--with-headers=PATH location of system headers to use (for example
|
||||||
/usr/src/linux/include) [default=compiler default]
|
/usr/src/linux/include) [default=compiler default]
|
||||||
--with-default-link do not use explicit linker scripts [default=no]
|
--with-default-link do not use explicit linker scripts
|
||||||
--with-tls enable support for TLS
|
--with-tls enable support for TLS
|
||||||
--without-__thread do not use TLS features even when supporting them
|
--without-__thread do not use TLS features even when supporting them
|
||||||
--with-cpu=CPU select code for CPU variant
|
--with-cpu=CPU select code for CPU variant
|
||||||
@ -3593,7 +3593,7 @@ fi
|
|||||||
if test "${with_default_link+set}" = set; then :
|
if test "${with_default_link+set}" = set; then :
|
||||||
withval=$with_default_link; use_default_link=$withval
|
withval=$with_default_link; use_default_link=$withval
|
||||||
else
|
else
|
||||||
use_default_link=no
|
use_default_link=default
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@ -6702,6 +6702,69 @@ fi
|
|||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_hashstyle" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_hashstyle" >&5
|
||||||
$as_echo "$libc_cv_hashstyle" >&6; }
|
$as_echo "$libc_cv_hashstyle" >&6; }
|
||||||
|
|
||||||
|
|
||||||
|
# The linker's default -shared behavior is good enough if it
|
||||||
|
# does these things that our custom linker scripts ensure that
|
||||||
|
# all allocated NOTE sections come first.
|
||||||
|
if test "$use_default_link" = default; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sufficient default -shared layout" >&5
|
||||||
|
$as_echo_n "checking for sufficient default -shared layout... " >&6; }
|
||||||
|
if ${libc_cv_use_default_link+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
libc_cv_use_default_link=no
|
||||||
|
cat > conftest.s <<\EOF
|
||||||
|
.section .note.a,"a",%note
|
||||||
|
.balign 4
|
||||||
|
.long 4,4,9
|
||||||
|
.string "GNU"
|
||||||
|
.string "foo"
|
||||||
|
.section .note.b,"a",%note
|
||||||
|
.balign 4
|
||||||
|
.long 4,4,9
|
||||||
|
.string "GNU"
|
||||||
|
.string "bar"
|
||||||
|
EOF
|
||||||
|
if { ac_try=' ${CC-cc} $ASFLAGS -shared -o conftest.so conftest.s 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; }; } &&
|
||||||
|
ac_try=`$READELF -S conftest.so | sed -n \
|
||||||
|
'${x;p;}
|
||||||
|
s/^ *\[ *[1-9][0-9]*\] *\([^ ][^ ]*\) *\([^ ][^ ]*\) .*$/\2 \1/
|
||||||
|
t a
|
||||||
|
b
|
||||||
|
: a
|
||||||
|
H'`
|
||||||
|
then
|
||||||
|
libc_seen_a=no libc_seen_b=no
|
||||||
|
set -- $ac_try
|
||||||
|
while test $# -ge 2 -a "$1" = NOTE; do
|
||||||
|
case "$2" in
|
||||||
|
.note.a) libc_seen_a=yes ;;
|
||||||
|
.note.b) libc_seen_b=yes ;;
|
||||||
|
esac
|
||||||
|
shift 2
|
||||||
|
done
|
||||||
|
case "$libc_seen_a$libc_seen_b" in
|
||||||
|
yesyes)
|
||||||
|
libc_cv_use_default_link=yes
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo >&5 "\
|
||||||
|
$libc_seen_a$libc_seen_b from:
|
||||||
|
$ac_try"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_use_default_link" >&5
|
||||||
|
$as_echo "$libc_cv_use_default_link" >&6; }
|
||||||
|
use_default_link=$libc_cv_use_default_link
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker output format" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker output format" >&5
|
||||||
|
58
configure.in
58
configure.in
@ -117,10 +117,9 @@ AC_ARG_WITH([headers],
|
|||||||
AC_SUBST(use_default_link)
|
AC_SUBST(use_default_link)
|
||||||
AC_ARG_WITH([default-link],
|
AC_ARG_WITH([default-link],
|
||||||
AC_HELP_STRING([--with-default-link],
|
AC_HELP_STRING([--with-default-link],
|
||||||
[do not use explicit linker scripts
|
[do not use explicit linker scripts]),
|
||||||
@<:@default=no@:>@]),
|
|
||||||
[use_default_link=$withval],
|
[use_default_link=$withval],
|
||||||
[use_default_link=no])
|
[use_default_link=default])
|
||||||
|
|
||||||
AC_ARG_ENABLE([sanity-checks],
|
AC_ARG_ENABLE([sanity-checks],
|
||||||
AC_HELP_STRING([--disable-sanity-checks],
|
AC_HELP_STRING([--disable-sanity-checks],
|
||||||
@ -1801,6 +1800,59 @@ EOF
|
|||||||
fi
|
fi
|
||||||
rm -f conftest*])
|
rm -f conftest*])
|
||||||
AC_SUBST(libc_cv_hashstyle)
|
AC_SUBST(libc_cv_hashstyle)
|
||||||
|
|
||||||
|
# The linker's default -shared behavior is good enough if it
|
||||||
|
# does these things that our custom linker scripts ensure that
|
||||||
|
# all allocated NOTE sections come first.
|
||||||
|
if test "$use_default_link" = default; then
|
||||||
|
AC_CACHE_CHECK([for sufficient default -shared layout],
|
||||||
|
libc_cv_use_default_link, [dnl
|
||||||
|
libc_cv_use_default_link=no
|
||||||
|
cat > conftest.s <<\EOF
|
||||||
|
.section .note.a,"a",%note
|
||||||
|
.balign 4
|
||||||
|
.long 4,4,9
|
||||||
|
.string "GNU"
|
||||||
|
.string "foo"
|
||||||
|
.section .note.b,"a",%note
|
||||||
|
.balign 4
|
||||||
|
.long 4,4,9
|
||||||
|
.string "GNU"
|
||||||
|
.string "bar"
|
||||||
|
EOF
|
||||||
|
if AC_TRY_COMMAND([dnl
|
||||||
|
${CC-cc} $ASFLAGS -shared -o conftest.so conftest.s 1>&AS_MESSAGE_LOG_FD]) &&
|
||||||
|
ac_try=`$READELF -S conftest.so | sed -n \
|
||||||
|
['${x;p;}
|
||||||
|
s/^ *\[ *[1-9][0-9]*\] *\([^ ][^ ]*\) *\([^ ][^ ]*\) .*$/\2 \1/
|
||||||
|
t a
|
||||||
|
b
|
||||||
|
: a
|
||||||
|
H']`
|
||||||
|
then
|
||||||
|
libc_seen_a=no libc_seen_b=no
|
||||||
|
set -- $ac_try
|
||||||
|
while test $# -ge 2 -a "$1" = NOTE; do
|
||||||
|
case "$2" in
|
||||||
|
.note.a) libc_seen_a=yes ;;
|
||||||
|
.note.b) libc_seen_b=yes ;;
|
||||||
|
esac
|
||||||
|
shift 2
|
||||||
|
done
|
||||||
|
case "$libc_seen_a$libc_seen_b" in
|
||||||
|
yesyes)
|
||||||
|
libc_cv_use_default_link=yes
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo >&AS_MESSAGE_LOG_FD "\
|
||||||
|
$libc_seen_a$libc_seen_b from:
|
||||||
|
$ac_try"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
rm -f conftest*])
|
||||||
|
use_default_link=$libc_cv_use_default_link
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_CACHE_CHECK(linker output format, libc_cv_output_format, [dnl
|
AC_CACHE_CHECK(linker output format, libc_cv_output_format, [dnl
|
||||||
|
Loading…
x
Reference in New Issue
Block a user