summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog28
-rw-r--r--config.h.in4
-rw-r--r--config.make.in2
-rwxr-xr-xconfigure756
-rw-r--r--configure.in762
-rw-r--r--csu/start.c2
-rw-r--r--include/libc-symbols.h74
-rw-r--r--locale/localeinfo.h4
-rw-r--r--sysdeps/generic/machine-gmon.h8
-rw-r--r--sysdeps/generic/sysdep.h16
-rw-r--r--sysdeps/i386/sysdep.h6
-rw-r--r--sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h8
-rw-r--r--sysdeps/mach/sysdep.h4
-rw-r--r--sysdeps/s390/s390-32/sysdep.h6
-rw-r--r--sysdeps/s390/s390-64/sysdep.h6
-rw-r--r--sysdeps/sh/sysdep.h2
-rw-r--r--sysdeps/sparc/sparc32/alloca.S6
-rw-r--r--sysdeps/unix/i386/sysdep.S7
-rw-r--r--sysdeps/unix/sparc/start.c4
-rw-r--r--sysdeps/unix/sparc/sysdep.S7
-rw-r--r--sysdeps/unix/sparc/sysdep.h2
-rw-r--r--sysdeps/unix/start.c11
-rw-r--r--sysdeps/unix/sysv/i386/sysdep.h4
-rw-r--r--sysdeps/unix/x86_64/sysdep.S7
-rw-r--r--sysdeps/x86_64/sysdep.h6
25 files changed, 713 insertions, 1029 deletions
diff --git a/ChangeLog b/ChangeLog
index 1d04fca2bd..d33e6554ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,31 @@
+2012-01-08 Ulrich Drepper <drepper@gmail.com>
+
+ * configure.in: Remove --with-elf and --enable-bounded options.
+ Dont set base_machine for ia64. More non-ELF conditions removed.
+ Remove testing and setting of leading underscore information.
+ * config.make.in (build-bounded): Set to no.
+ * config.h.in: Remove NO_UNDERSCORES entry.
+ * include/libc-symbols.h: Don't define HAVE_WEAK_SYMBOLS. ELF has
+ them.
+ * csu/start.c: Remove !NO_UNDERSCORE code.
+ * locale/localeinfo.h: Likewise.
+ * sysdeps/generic/machine-gmon.h: Likewise.
+ * sysdeps/generic/sysdep.h: Likewise.
+ * sysdeps/i386/sysdep.h: Likewise.
+ * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: Likewise.
+ * sysdeps/mach/sysdep.h: Likewise.
+ * sysdeps/s390/s390-32/sysdep.h: Likewise.
+ * sysdeps/s390/s390-64/sysdep.h: Likewise.
+ * sysdeps/sh/sysdep.h: Likewise.
+ * sysdeps/sparc/sparc32/alloca.S: Likewise.
+ * sysdeps/unix/i386/sysdep.S: Likewise.
+ * sysdeps/unix/sparc/start.c: Likewise.
+ * sysdeps/unix/sparc/sysdep.S: Likewise.
+ * sysdeps/unix/sparc/sysdep.h: Likewise.
+ * sysdeps/unix/start.c: Likewise.
+ * sysdeps/unix/x86_64/sysdep.S: Likewise.
+ * sysdeps/x86_64/sysdep.h: Likewise.
+
2012-01-07 Ulrich Drepper <drepper@gmail.com>
[BZ #13553]
diff --git a/config.h.in b/config.h.in
index 6534b6e5f7..50d53d4735 100644
--- a/config.h.in
+++ b/config.h.in
@@ -17,10 +17,6 @@
/* Defined if building with SELinux support & libcap libs are detected. */
#undef HAVE_LIBCAP
-/* Define if C symbols are asm symbols. Don't define if C symbols
- have a `_' prepended to make the asm symbol. */
-#undef NO_UNDERSCORES
-
/* Define if weak symbols are available via the `.weak' directive. */
#undef HAVE_ASM_WEAK_DIRECTIVE
diff --git a/config.make.in b/config.make.in
index a583ebdddd..8c0a4dca63 100644
--- a/config.make.in
+++ b/config.make.in
@@ -92,7 +92,7 @@ build-static = @static@
build-shared = @shared@
build-pic-default= @libc_cv_pic_default@
build-profile = @profile@
-build-bounded = @bounded@
+build-bounded = no
build-static-nss = @static_nss@
add-ons = @add_ons@
add-on-subdirs = @add_on_subdirs@
diff --git a/configure b/configure
index f5a21e879a..c4802840c9 100755
--- a/configure
+++ b/configure
@@ -640,7 +640,6 @@ have_libaudit
LIBGD
libc_cv_cc_submachine
exceptions
-libc_cv_have_initfini
gnu89_inline
libc_cv_ssp
fno_unit_at_a_time
@@ -765,7 +764,6 @@ with_gd_include
with_gd_lib
with_fp
with_binutils
-with_elf
with_selinux
with_headers
with_default_link
@@ -773,7 +771,6 @@ enable_sanity_checks
enable_check_abi
enable_shared
enable_profile
-enable_bounded
enable_versioning
enable_oldest_abi
enable_stackguard_randomization
@@ -1420,9 +1417,8 @@ Optional Features:
in special situations) [default=yes]
--enable-check-abi do "make check-abi" in "make check" (no/warn/yes)
[default=no]
- --enable-shared build shared library [default=yes if GNU ld & ELF]
+ --enable-shared build shared library [default=yes if GNU ld]
--enable-profile build profiled library [default=no]
- --enable-bounded build with runtime bounds checking [default=no]
--disable-versioning do not include versioning information in the library
objects [default=yes if supported]
--enable-oldest-abi=ABI configure the oldest ABI supported [e.g. 2.2]
@@ -1453,7 +1449,6 @@ Optional Packages:
--with-gd-lib=DIR find libgd library files in DIR
--with-fp if using floating-point hardware [default=yes]
--with-binutils=PATH specify location of binutils (as and ld)
- --with-elf if using the ELF object format
--with-selinux if building with SELinux support
--with-headers=PATH location of system headers to use (for example
/usr/src/linux/include) [default=compiler default]
@@ -3525,14 +3520,6 @@ else
fi
-# Check whether --with-elf was given.
-if test "${with_elf+set}" = set; then :
- withval=$with_elf; elf=$withval
-else
- elf=no
-fi
-
-
# Check whether --with-selinux was given.
if test "${with_selinux+set}" = set; then :
withval=$with_selinux; with_selinux=$withval
@@ -3582,7 +3569,7 @@ static=yes
if test "${enable_shared+set}" = set; then :
enableval=$enable_shared; shared=$enableval
else
- shared=default
+ shared=yes
fi
# Check whether --enable-profile was given.
@@ -3592,13 +3579,6 @@ else
profile=no
fi
-# Check whether --enable-bounded was given.
-if test "${enable_bounded+set}" = set; then :
- enableval=$enable_bounded; bounded=$enableval
-else
- bounded=no
-fi
-
# Check whether --enable-versioning was given.
if test "${enable_versioning+set}" = set; then :
enableval=$enable_versioning; enable_versioning=$enableval
@@ -4011,7 +3991,6 @@ fi
# base_machine, we don't change it.
test -n "$base_machine" || case "$machine" in
i[34567]86) base_machine=i386 machine=i386/$machine ;;
-ia64) base_machine=ia64 machine=ia64 ;;
powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
s390) base_machine=s390 machine=s390/s390-32 ;;
@@ -4316,22 +4295,20 @@ fi
# We have now validated the configuration.
-# If using ELF, look for an `elf' subdirectory of each machine directory.
+# Look for an `elf' subdirectory of each machine directory.
# We prepend these rather than inserting them whereever the machine appears
# because things specified by the machine's ELF ABI should override
# OS-specific things, and should always be the same for any OS on the
# machine (otherwise what's the point of an ABI?).
-if test "$elf" = yes; then
- elf_dirs=
- for d in $add_ons_pfx ''; do
- for m in $mach; do
- if test -d $srcdir/${d}sysdeps$m/elf; then
- elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
- fi
- done
+elf_dirs=
+for d in $add_ons_pfx ''; do
+ for m in $mach; do
+ if test -d $srcdir/${d}sysdeps$m/elf; then
+ elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
+ fi
done
- sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
-fi
+done
+sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
# Expand the list of system names into a full list of directories
@@ -4414,10 +4391,7 @@ $as_echo "$as_me: WARNING: $name/Implies specifies nonexistent $x" >&2;}
done
# Add the default directories.
-default_sysnames=sysdeps/generic
-if test "$elf" = yes; then
- default_sysnames="sysdeps/generic/elf $default_sysnames"
-fi
+default_sysnames="sysdeps/generic/elf sysdeps/generic"
sysnames="$names $default_sysnames"
# The other names were emitted during the scan.
@@ -5887,97 +5861,96 @@ else
fi
-if test $elf = yes && test $shared != no && test $VERSIONING = no; then
+if test $shared != no && test $VERSIONING = no; then
echo "\
*** WARNING: You should not compile GNU libc without versioning. Not using
*** versioning will introduce incompatibilities so that old binaries
*** will not run anymore.
*** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
fi
-if test $elf = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5
$as_echo_n "checking for .previous assembler directive... " >&6; }
if ${libc_cv_asm_previous_directive+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.s <<EOF
+ cat > conftest.s <<EOF
.section foo_section
.previous
EOF
- if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5'
+if { ac_try='${CC-cc} -c $ASFLAGS 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; }; }; then
- libc_cv_asm_previous_directive=yes
- else
- libc_cv_asm_previous_directive=no
- fi
- rm -f conftest*
+ libc_cv_asm_previous_directive=yes
+else
+ libc_cv_asm_previous_directive=no
+fi
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5
$as_echo "$libc_cv_asm_previous_directive" >&6; }
- if test $libc_cv_asm_previous_directive = yes; then
- $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h
+if test $libc_cv_asm_previous_directive = yes; then
+ $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5
$as_echo_n "checking for .popsection assembler directive... " >&6; }
if ${libc_cv_asm_popsection_directive+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.s <<EOF
+ cat > conftest.s <<EOF
.pushsection foo_section
.popsection
EOF
- if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5'
+ if { ac_try='${CC-cc} -c $ASFLAGS 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; }; }; then
- libc_cv_asm_popsection_directive=yes
- else
- libc_cv_asm_popsection_directive=no
- fi
- rm -f conftest*
+ libc_cv_asm_popsection_directive=yes
+ else
+ libc_cv_asm_popsection_directive=no
+ fi
+ rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5
$as_echo "$libc_cv_asm_popsection_directive" >&6; }
- if test $libc_cv_asm_popsection_directive = yes; then
- $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h
+ if test $libc_cv_asm_popsection_directive = yes; then
+ $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h
- fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .protected and .hidden assembler directive" >&5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .protected and .hidden assembler directive" >&5
$as_echo_n "checking for .protected and .hidden assembler directive... " >&6; }
if ${libc_cv_asm_protected_directive+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.s <<EOF
+ cat > conftest.s <<EOF
.protected foo
foo:
.hidden bar
bar:
EOF
- if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5'
+if { ac_try='${CC-cc} -c $ASFLAGS 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; }; }; then
- libc_cv_asm_protected_directive=yes
- else
- as_fn_error $? "assembler support for symbol visibility is required" "$LINENO" 5
- fi
- rm -f conftest*
+ libc_cv_asm_protected_directive=yes
+else
+ as_fn_error $? "assembler support for symbol visibility is required" "$LINENO" 5
+fi
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_protected_directive" >&5
$as_echo "$libc_cv_asm_protected_directive" >&6; }
- if test $libc_cv_asm_protected_directive = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __attribute__((visibility())) is supported" >&5
+if test $libc_cv_asm_protected_directive = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __attribute__((visibility())) is supported" >&5
$as_echo_n "checking whether __attribute__((visibility())) is supported... " >&6; }
if ${libc_cv_visibility_attribute+:} false; then :
$as_echo_n "(cached) " >&6
@@ -6004,13 +5977,13 @@ EOF
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_visibility_attribute" >&5
$as_echo "$libc_cv_visibility_attribute" >&6; }
- if test $libc_cv_visibility_attribute != yes; then
- as_fn_error $? "compiler support for visibility attribute is required" "$LINENO" 5
- fi
+ if test $libc_cv_visibility_attribute != yes; then
+ as_fn_error $? "compiler support for visibility attribute is required" "$LINENO" 5
fi
+fi
- if test $libc_cv_visibility_attribute = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((visibility()))" >&5
+if test $libc_cv_visibility_attribute = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((visibility()))" >&5
$as_echo_n "checking for broken __attribute__((visibility()))... " >&6; }
if ${libc_cv_broken_visibility_attribute+:} false; then :
$as_echo_n "(cached) " >&6
@@ -6036,47 +6009,47 @@ EOF
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_broken_visibility_attribute" >&5
$as_echo "$libc_cv_broken_visibility_attribute" >&6; }
- if test $libc_cv_broken_visibility_attribute = yes; then
- as_fn_error $? "working compiler support for visibility attribute is required" "$LINENO" 5
- fi
+ if test $libc_cv_broken_visibility_attribute = yes; then
+ as_fn_error $? "working compiler support for visibility attribute is required" "$LINENO" 5
fi
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((alias()))" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((alias()))" >&5
$as_echo_n "checking for broken __attribute__((alias()))... " >&6; }
if ${libc_cv_broken_alias_attribute+:} false; then :
$as_echo_n "(cached) " >&6
else
cat > conftest.c <<EOF
- extern int foo (int x) __asm ("xyzzy");
- int bar (int x) { return x; }
- extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
- extern int dfoo;
- extern __typeof (dfoo) dfoo __asm ("abccb");
- int dfoo = 1;
+ extern int foo (int x) __asm ("xyzzy");
+ int bar (int x) { return x; }
+ extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
+ extern int dfoo;
+ extern __typeof (dfoo) dfoo __asm ("abccb");
+ int dfoo = 1;
EOF
- libc_cv_broken_alias_attribute=yes
- if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
+ libc_cv_broken_alias_attribute=yes
+ if { ac_try='${CC-cc} -Werror -S conftest.c -o 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; }; }; then
- if grep 'xyzzy' conftest.s >/dev/null &&
- grep 'abccb' conftest.s >/dev/null; then
- libc_cv_broken_alias_attribute=no
- fi
- fi
- rm -f conftest.c conftest.s
+ if grep 'xyzzy' conftest.s >/dev/null &&
+ grep 'abccb' conftest.s >/dev/null; then
+ libc_cv_broken_alias_attribute=no
+ fi
+ fi
+ rm -f conftest.c conftest.s
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_broken_alias_attribute" >&5
$as_echo "$libc_cv_broken_alias_attribute" >&6; }
- if test $libc_cv_broken_alias_attribute = yes; then
- as_fn_error $? "working alias attribute support required" "$LINENO" 5
- fi
+if test $libc_cv_broken_alias_attribute = yes; then
+ as_fn_error $? "working alias attribute support required" "$LINENO" 5
+fi
- if test $libc_cv_visibility_attribute = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to put _rtld_local into .sdata section" >&5
+if test $libc_cv_visibility_attribute = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to put _rtld_local into .sdata section" >&5
$as_echo_n "checking whether to put _rtld_local into .sdata section... " >&6; }
if ${libc_cv_have_sdata_section+:} false; then :
$as_echo_n "(cached) " >&6
@@ -6092,54 +6065,54 @@ else
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_sdata_section" >&5
$as_echo "$libc_cv_have_sdata_section" >&6; }
- if test $libc_cv_have_sdata_section = yes; then
- $as_echo "#define HAVE_SDATA_SECTION 1" >>confdefs.h
+ if test $libc_cv_have_sdata_section = yes; then
+ $as_echo "#define HAVE_SDATA_SECTION 1" >>confdefs.h
- fi
fi
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .preinit_array/.init_array/.fini_array support" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .preinit_array/.init_array/.fini_array support" >&5
$as_echo_n "checking for .preinit_array/.init_array/.fini_array support... " >&6; }
if ${libc_cv_initfini_array+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.c <<EOF
+ cat > conftest.c <<EOF
int _start (void) { return 0; }
int __start (void) { return 0; }
int foo (void) { return 1; }
int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
EOF
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
- -static -nostartfiles -nostdlib 1>&5'
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
+ -static -nostartfiles -nostdlib 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
- if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
- libc_cv_initfini_array=yes
- else
- libc_cv_initfini_array=no
- fi
+then
+ if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
+ libc_cv_initfini_array=yes
else
libc_cv_initfini_array=no
fi
- rm -f conftest*
+else
+ libc_cv_initfini_array=no
+fi
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_initfini_array" >&5
$as_echo "$libc_cv_initfini_array" >&6; }
- if test $libc_cv_initfini_array != yes; then
- as_fn_error $? "Need linker with .init_array/.fini_array support." "$LINENO" 5
- fi
+if test $libc_cv_initfini_array != yes; then
+ as_fn_error $? "Need linker with .init_array/.fini_array support." "$LINENO" 5
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use .ctors/.dtors header and trailer" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use .ctors/.dtors header and trailer" >&5
$as_echo_n "checking whether to use .ctors/.dtors header and trailer... " >&6; }
if ${libc_cv_ctors_header+:} false; then :
$as_echo_n "(cached) " >&6
else
- libc_cv_ctors_header=yes
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ libc_cv_ctors_header=yes
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
@@ -6181,72 +6154,72 @@ rm -f core conftest.err conftest.$ac_objext \
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ctors_header" >&5
$as_echo "$libc_cv_ctors_header" >&6; }
- if test $libc_cv_ctors_header = no; then
- $as_echo "#define NO_CTORS_DTORS_SECTIONS 1" >>confdefs.h
+if test $libc_cv_ctors_header = no; then
+ $as_echo "#define NO_CTORS_DTORS_SECTIONS 1" >>confdefs.h
- fi
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libunwind-support in compiler" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libunwind-support in compiler" >&5
$as_echo_n "checking for libunwind-support in compiler... " >&6; }
if ${libc_cv_cc_with_libunwind+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.c <<EOF
+ cat > conftest.c <<EOF
int main (void) { return 0; }
EOF
- if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
- conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then
- libc_cv_cc_with_libunwind=yes
- else
- libc_cv_cc_with_libunwind=no
- fi
- rm -f conftest*
+ if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
+ conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then
+ libc_cv_cc_with_libunwind=yes
+ else
+ libc_cv_cc_with_libunwind=no
+ fi
+ rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_with_libunwind" >&5
$as_echo "$libc_cv_cc_with_libunwind" >&6; }
- if test $libc_cv_cc_with_libunwind = yes; then
- $as_echo "#define HAVE_CC_WITH_LIBUNWIND 1" >>confdefs.h
+if test $libc_cv_cc_with_libunwind = yes; then
+ $as_echo "#define HAVE_CC_WITH_LIBUNWIND 1" >>confdefs.h
- fi
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z nodelete option" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z nodelete option" >&5
$as_echo_n "checking for -z nodelete option... " >&6; }
if ${libc_cv_z_nodelete+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.c <<EOF
+ cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
- -fPIC -shared -o conftest.so conftest.c
- -nostartfiles -nostdlib
- -Wl,--enable-new-dtags,-z,nodelete 1>&5'
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ -fPIC -shared -o conftest.so conftest.c
+ -nostartfiles -nostdlib
+ -Wl,--enable-new-dtags,-z,nodelete 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_cv_z_nodelete=yes
- else
- as_fn_error $? "linker with -z nodelete support required" "$LINENO" 5
- fi
- rm -f conftest*
+then
+ libc_cv_z_nodelete=yes
+else
+ as_fn_error $? "linker with -z nodelete support required" "$LINENO" 5
+fi
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_nodelete" >&5
$as_echo "$libc_cv_z_nodelete" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z nodlopen option" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z nodlopen option" >&5
$as_echo_n "checking for -z nodlopen option... " >&6; }
if ${libc_cv_z_nodlopen+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.c <<EOF
+ cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c
-nostartfiles -nostdlib
-Wl,--enable-new-dtags,-z,nodlopen 1>&5'
@@ -6255,25 +6228,25 @@ EOF
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
- then
- libc_cv_z_nodlopen=yes
- else
- as_fn_error $? "linker with -z nodlopen support required" "$LINENO" 5
- fi
- rm -f conftest*
+then
+ libc_cv_z_nodlopen=yes
+else
+ as_fn_error $? "linker with -z nodlopen support required" "$LINENO" 5
+fi
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_nodlopen" >&5
$as_echo "$libc_cv_z_nodlopen" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z initfirst option" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z initfirst option" >&5
$as_echo_n "checking for -z initfirst option... " >&6; }
if ${libc_cv_z_initfirst+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.c <<EOF
+ cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c
-nostartfiles -nostdlib
-Wl,--enable-new-dtags,-z,initfirst 1>&5'
@@ -6282,45 +6255,45 @@ EOF
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
- then
- libc_cv_z_initfirst=yes
- else
- as_fn_error $? "linker with -z initfirst support required" "$LINENO" 5
- fi
- rm -f conftest*
+then
+ libc_cv_z_initfirst=yes
+else
+ as_fn_error $? "linker with -z initfirst support required" "$LINENO" 5
+fi
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_initfirst" >&5
$as_echo "$libc_cv_z_initfirst" >&6; }
- # Add-on fragments can set these for other machines.
- libc_commonpagesize=${libc_commonpagesize:-no}
- libc_relro_required=${libc_relro_required:-no}
- case "$base_machine" in
- i[34567]86 | x86_64 | powerpc* | s390*)
- libc_commonpagesize=0x1000
- libc_relro_required=yes
- ;;
- sparc*)
- libc_commonpagesize=0x2000
- libc_relro_required=yes
- ;;
- ia64*)
- libc_commonpagesize=0x4000
- ;;
- alpha*)
- libc_commonpagesize=0x10000
- libc_relro_required=yes
- ;;
- esac
+# Add-on fragments can set these for other machines.
+libc_commonpagesize=${libc_commonpagesize:-no}
+libc_relro_required=${libc_relro_required:-no}
+case "$base_machine" in
+ i[34567]86 | x86_64 | powerpc* | s390*)
+ libc_commonpagesize=0x1000
+ libc_relro_required=yes
+ ;;
+ sparc*)
+ libc_commonpagesize=0x2000
+ libc_relro_required=yes
+ ;;
+ ia64*)
+ libc_commonpagesize=0x4000
+ ;;
+ alpha*)
+ libc_commonpagesize=0x10000
+ libc_relro_required=yes
+ ;;
+esac
- if test $libc_commonpagesize != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z relro option" >&5
+if test $libc_commonpagesize != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z relro option" >&5
$as_echo_n "checking for -z relro option... " >&6; }
if ${libc_cv_z_relro+:} false; then :
$as_echo_n "(cached) " >&6
else
- libc_cv_z_relro=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ libc_cv_z_relro=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int _start (void) { return 42; }
@@ -6335,7 +6308,7 @@ const void *const relro[] = { &_start, &_exit, 0 };
int data[0x10000] = { 1, };
_ACEOF
- cat > conftest.awk <<\EOF
+ cat > conftest.awk <<\EOF
BEGIN {
result = "no"
commonpagesize = strtonum(commonpagesize)
@@ -6351,7 +6324,7 @@ $1 == "GNU_RELRO" {
}
END { print result }
EOF
- { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c
-nostartfiles -nostdlib
-Wl,-z,relro 1>&5'
@@ -6360,13 +6333,13 @@ EOF
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } &&
- { ac_try='$READELF -Wl conftest.so > conftest.ph'
+ { ac_try='$READELF -Wl conftest.so > conftest.ph'
{ { 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='
+ { ac_try='
$AWK -v commonpagesize=$libc_commonpagesize -f conftest.awk
conftest.ph > conftest.cps
'
@@ -6375,76 +6348,76 @@ EOF
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } &&
- libc_cv_z_relro=`cat conftest.cps 2>&5`
- rm -f conftest*
+ libc_cv_z_relro=`cat conftest.cps 2>&5`
+ rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_relro" >&5
$as_echo "$libc_cv_z_relro" >&6; }
- if { test "x$libc_relro_required" = xyes &&
- test "x$libc_cv_z_relro" != xyes
- }
- then
- as_fn_error $? "linker with -z relro support required" "$LINENO" 5
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: missing architecture parameter to check for working -z relro" >&5
-$as_echo "$as_me: WARNING: missing architecture parameter to check for working -z relro" >&2;}
+ if { test "x$libc_relro_required" = xyes &&
+ test "x$libc_cv_z_relro" != xyes
+ }
+ then
+ as_fn_error $? "linker with -z relro support required" "$LINENO" 5
fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: missing architecture parameter to check for working -z relro" >&5
+$as_echo "$as_me: WARNING: missing architecture parameter to check for working -z relro" >&2;}
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Bgroup option" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Bgroup option" >&5
$as_echo_n "checking for -Bgroup option... " >&6; }
if ${libc_cv_Bgroup+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.c <<EOF
+ cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
- -fPIC -shared -o conftest.so conftest.c
- -Wl,-Bgroup -nostdlib 1>&5'
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ -fPIC -shared -o conftest.so conftest.c
+ -Wl,-Bgroup -nostdlib 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_cv_Bgroup=yes
- else
- libc_cv_Bgroup=no
- fi
- rm -f conftest*
+then
+ libc_cv_Bgroup=yes
+else
+ libc_cv_Bgroup=no
+fi
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_Bgroup" >&5
$as_echo "$libc_cv_Bgroup" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libgcc_s suffix" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libgcc_s suffix" >&5
$as_echo_n "checking for libgcc_s suffix... " >&6; }
if ${libc_cv_libgcc_s_suffix+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.c <<EOF
+ cat > conftest.c <<EOF
int main (void) { return 0; }
EOF
- libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
+libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
-fPIC -shared -shared-libgcc -o conftest.so \
conftest.c -v 2>&1 >/dev/null \
| sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
- rm -f conftest*
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_libgcc_s_suffix" >&5
$as_echo "$libc_cv_libgcc_s_suffix" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --as-needed option" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --as-needed option" >&5
$as_echo_n "checking for --as-needed option... " >&6; }
if ${libc_cv_as_needed+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.c <<EOF
+ cat > conftest.c <<EOF
int main (void) { return 0; }
EOF
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c
-lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
-nostdlib 1>&5'
@@ -6453,66 +6426,66 @@ EOF
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
- then
- libc_cv_as_needed=yes
- else
- libc_cv_as_needed=no
- fi
- rm -f conftest*
+then
+ libc_cv_as_needed=yes
+else
+ libc_cv_as_needed=no
+fi
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_as_needed" >&5
$as_echo "$libc_cv_as_needed" >&6; }
- ASFLAGS_config=
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether --noexecstack is desirable for .S files" >&5
+ASFLAGS_config=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether --noexecstack is desirable for .S files" >&5
$as_echo_n "checking whether --noexecstack is desirable for .S files... " >&6; }
if ${libc_cv_as_noexecstack+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.c <<EOF
+ cat > conftest.c <<EOF
void foo (void) { }
EOF
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS
- -S -o conftest.s conftest.c 1>&5'
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS
+ -S -o conftest.s 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; }; } \
- && grep -q .note.GNU-stack conftest.s \
- && { ac_try='${CC-cc} $ASFLAGS -Wa,--noexecstack
- -c -o conftest.o conftest.s 1>&5'
+ && grep -q .note.GNU-stack conftest.s \
+ && { ac_try='${CC-cc} $ASFLAGS -Wa,--noexecstack
+ -c -o conftest.o 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; }; }
- then
- libc_cv_as_noexecstack=yes
- else
- libc_cv_as_noexecstack=no
- fi
- rm -f conftest*
+then
+ libc_cv_as_noexecstack=yes
+else
+ libc_cv_as_noexecstack=no
+fi
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_as_noexecstack" >&5
$as_echo "$libc_cv_as_noexecstack" >&6; }
- if test $libc_cv_as_noexecstack = yes; then
- ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
- fi
+if test $libc_cv_as_noexecstack = yes; then
+ ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z combreloc" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z combreloc" >&5
$as_echo_n "checking for -z combreloc... " >&6; }
if ${libc_cv_z_combreloc+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.c <<EOF
+ cat > conftest.c <<EOF
extern int bar (int);
extern int mumble;
int foo (void) { return bar (mumble); }
EOF
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c
-nostdlib -nostartfiles
-Wl,-z,combreloc 1>&5'
@@ -6521,119 +6494,119 @@ EOF
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
- then
- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
- libc_cv_z_combreloc=yes
- else
- libc_cv_z_combreloc=no
- fi
+then
+ if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
+ libc_cv_z_combreloc=yes
else
libc_cv_z_combreloc=no
fi
- rm -f conftest*
+else
+ libc_cv_z_combreloc=no
+fi
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_combreloc" >&5
$as_echo "$libc_cv_z_combreloc" >&6; }
- if test "$libc_cv_z_combreloc" = yes; then
- $as_echo "#define HAVE_Z_COMBRELOC 1" >>confdefs.h
+if test "$libc_cv_z_combreloc" = yes; then
+ $as_echo "#define HAVE_Z_COMBRELOC 1" >>confdefs.h
- fi
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z execstack" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z execstack" >&5
$as_echo_n "checking for -z execstack... " >&6; }
if ${libc_cv_z_execstack+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.c <<EOF
+ cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
- -fPIC -shared -o conftest.so conftest.c
- -Wl,-z,execstack -nostdlib
- 1>&5'
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ -fPIC -shared -o conftest.so conftest.c
+ -Wl,-z,execstack -nostdlib
+ 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_cv_z_execstack=yes
- else
- libc_cv_z_execstack=no
- fi
- rm -f conftest*
+then
+ libc_cv_z_execstack=yes
+else
+ libc_cv_z_execstack=no
+fi
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_execstack" >&5
$as_echo "$libc_cv_z_execstack" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fpie" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fpie" >&5
$as_echo_n "checking for -fpie... " >&6; }
if ${libc_cv_fpie+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.c <<EOF
+ cat > conftest.c <<EOF
int foo;
main () { return 0;}
EOF
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
- -o conftest conftest.c 1>&5'
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
+ -o conftest 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_cv_fpie=yes
- else
- libc_cv_fpie=no
- fi
- rm -f conftest*
+then
+ libc_cv_fpie=yes
+else
+ libc_cv_fpie=no
+fi
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_fpie" >&5
$as_echo "$libc_cv_fpie" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --hash-style option" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --hash-style option" >&5
$as_echo_n "checking for --hash-style option... " >&6; }
if ${libc_cv_hashstyle+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.c <<EOF
+ cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
- -fPIC -shared -o conftest.so conftest.c
- -Wl,--hash-style=both -nostdlib 1>&5'
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ -fPIC -shared -o conftest.so conftest.c
+ -Wl,--hash-style=both -nostdlib 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_cv_hashstyle=yes
- else
- libc_cv_hashstyle=no
- fi
- rm -f conftest*
+then
+ libc_cv_hashstyle=yes
+else
+ libc_cv_hashstyle=no
+fi
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_hashstyle" >&5
$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
+# 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
+ libc_cv_use_default_link=no
+ cat > conftest.s <<\EOF
.section .note.a,"a",%note
.balign 4
.long 4,4,9
@@ -6645,7 +6618,7 @@ else
.string "GNU"
.string "bar"
EOF
- if { ac_try=' ${CC-cc} $ASFLAGS -shared -o conftest.so conftest.s 1>&5'
+ 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=$?
@@ -6658,33 +6631,32 @@ EOF
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 "\
+ 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*
+ ;;
+ 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
+ use_default_link=$libc_cv_use_default_link
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker output format" >&5
@@ -6799,145 +6771,32 @@ else
fi
-if test $elf != yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .init and .fini sections" >&5
-$as_echo_n "checking for .init and .fini sections... " >&6; }
-if ${libc_cv_have_initfini+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-asm (".section .init");
- asm (".section .fini");
- asm ("${libc_cv_dot_text}");
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libc_cv_have_initfini=yes
-else
- libc_cv_have_initfini=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_initfini" >&5
-$as_echo "$libc_cv_have_initfini" >&6; }
- if test $libc_cv_have_initfini = yes; then
- $as_echo "#define HAVE_INITFINI 1" >>confdefs.h
-
- fi
-fi
-
-if test $elf = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc puts quotes around section names" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc puts quotes around section names" >&5
$as_echo_n "checking whether cc puts quotes around section names... " >&6; }
if ${libc_cv_have_section_quotes+:} false; then :
$as_echo_n "(cached) " >&6
else
cat > conftest.c <<EOF
- static const int foo
- __attribute__ ((section ("bar"))) = 1;
+ static const int foo
+ __attribute__ ((section ("bar"))) = 1;
EOF
- if ${CC-cc} -S conftest.c -o conftest.s; then
- if grep '\.section.*"bar"' conftest.s >/dev/null; then
- libc_cv_have_section_quotes=yes
- else
- libc_cv_have_section_quotes=no
- fi
+ if ${CC-cc} -S conftest.c -o conftest.s; then
+ if grep '\.section.*"bar"' conftest.s >/dev/null; then
+ libc_cv_have_section_quotes=yes
else
- libc_cv_have_section_quotes=unknown
+ libc_cv_have_section_quotes=no
fi
- rm -f conftest.{c,s}
+ else
+ libc_cv_have_section_quotes=unknown
+ fi
+ rm -f conftest.{c,s}
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_section_quotes" >&5
$as_echo "$libc_cv_have_section_quotes" >&6; }
- if test $libc_cv_have_section_quotes = yes; then
- $as_echo "#define HAVE_SECTION_QUOTES 1" >>confdefs.h
-
- fi
-fi
-
-
-
-if test $elf = yes; then
- libc_cv_asm_underscores=no
-else
- if test $ac_cv_prog_cc_works = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix on C symbol names" >&5
-$as_echo_n "checking for _ prefix on C symbol names... " >&6; }
-if ${libc_cv_asm_underscores+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm ("_glibc_foobar:");
-int
-main ()
-{
-glibc_foobar ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- libc_cv_asm_underscores=yes
-else
- libc_cv_asm_underscores=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_underscores" >&5
-$as_echo "$libc_cv_asm_underscores" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix on C symbol names" >&5
-$as_echo_n "checking for _ prefix on C symbol names... " >&6; }
-if ${libc_cv_asm_underscores+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat > conftest.$ac_ext <<EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-void underscore_test(void) {
-return; }
-EOF
-if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if grep _underscore_test conftest* >/dev/null; then
- rm -f conftest*
- libc_cv_asm_underscores=yes
- else
- rm -f conftest*
- libc_cv_asm_underscores=no
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -f conftest*
- libc_cv_asm_underscores=no
-fi
-rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_underscores" >&5
-$as_echo "$libc_cv_asm_underscores" >&6; }
- fi
-fi
-if test $libc_cv_asm_underscores = no; then
- $as_echo "#define NO_UNDERSCORES 1" >>confdefs.h
-
-fi
+if test $libc_cv_have_section_quotes = yes; then
+ $as_echo "#define HAVE_SECTION_QUOTES 1" >>confdefs.h
-if test $elf = yes; then
- libc_cv_weak_symbols=yes
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler .weak directive" >&5
@@ -7902,9 +7761,6 @@ fi
-if test $shared = default; then
- shared=$elf
-fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -fPIC is default" >&5
$as_echo_n "checking whether -fPIC is default... " >&6; }
diff --git a/configure.in b/configure.in
index 540b83d37f..24d34971d4 100644
--- a/configure.in
+++ b/configure.in
@@ -77,11 +77,6 @@ AC_ARG_WITH([binutils],
[specify location of binutils (as and ld)]),
[path_binutils=$withval],
[path_binutils=''])
-AC_ARG_WITH([elf],
- AC_HELP_STRING([--with-elf],
- [if using the ELF object format]),
- [elf=$withval],
- [elf=no])
AC_ARG_WITH([selinux],
AC_HELP_STRING([--with-selinux],
[if building with SELinux support]),
@@ -129,19 +124,14 @@ dnl [static=yes])
static=yes
AC_ARG_ENABLE([shared],
AC_HELP_STRING([--enable-shared],
- [build shared library @<:@default=yes if GNU ld & ELF@:>@]),
+ [build shared library @<:@default=yes if GNU ld@:>@]),
[shared=$enableval],
- [shared=default])
+ [shared=yes])
AC_ARG_ENABLE([profile],
AC_HELP_STRING([--enable-profile],
[build profiled library @<:@default=no@:>@]),
[profile=$enableval],
[profile=no])
-AC_ARG_ENABLE([bounded],
- AC_HELP_STRING([--enable-bounded],
- [build with runtime bounds checking @<:@default=no@:>@]),
- [bounded=$enableval],
- [bounded=no])
AC_ARG_ENABLE([versioning],
AC_HELP_STRING([--disable-versioning],
[do not include versioning information in the library objects @<:@default=yes if supported@:>@]),
@@ -510,7 +500,6 @@ changequote(,)dnl
# base_machine, we don't change it.
test -n "$base_machine" || case "$machine" in
i[34567]86) base_machine=i386 machine=i386/$machine ;;
-ia64) base_machine=ia64 machine=ia64 ;;
powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
s390) base_machine=s390 machine=s390/s390-32 ;;
@@ -771,22 +760,20 @@ AC_SUBST(submachine)
# We have now validated the configuration.
-# If using ELF, look for an `elf' subdirectory of each machine directory.
+# Look for an `elf' subdirectory of each machine directory.
# We prepend these rather than inserting them whereever the machine appears
# because things specified by the machine's ELF ABI should override
# OS-specific things, and should always be the same for any OS on the
# machine (otherwise what's the point of an ABI?).
-if test "$elf" = yes; then
- elf_dirs=
- for d in $add_ons_pfx ''; do
- for m in $mach; do
- if test -d $srcdir/${d}sysdeps$m/elf; then
- elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
- fi
- done
+elf_dirs=
+for d in $add_ons_pfx ''; do
+ for m in $mach; do
+ if test -d $srcdir/${d}sysdeps$m/elf; then
+ elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
+ fi
done
- sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
-fi
+done
+sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
# Expand the list of system names into a full list of directories
@@ -870,10 +857,7 @@ changequote([,])dnl
done
# Add the default directories.
-default_sysnames=sysdeps/generic
-if test "$elf" = yes; then
- default_sysnames="sysdeps/generic/elf $default_sysnames"
-fi
+default_sysnames="sysdeps/generic/elf sysdeps/generic"
sysnames="$names $default_sysnames"
AC_SUBST(sysnames)
# The other names were emitted during the scan.
@@ -1267,62 +1251,61 @@ else
fi
AC_SUBST(VERSIONING)
-if test $elf = yes && test $shared != no && test $VERSIONING = no; then
+if test $shared != no && test $VERSIONING = no; then
echo "\
*** WARNING: You should not compile GNU libc without versioning. Not using
*** versioning will introduce incompatibilities so that old binaries
*** will not run anymore.
*** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
fi
-if test $elf = yes; then
- AC_CACHE_CHECK(for .previous assembler directive,
- libc_cv_asm_previous_directive, [dnl
- cat > conftest.s <<EOF
+AC_CACHE_CHECK(for .previous assembler directive,
+ libc_cv_asm_previous_directive, [dnl
+cat > conftest.s <<EOF
.section foo_section
.previous
EOF
+if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
+ libc_cv_asm_previous_directive=yes
+else
+ libc_cv_asm_previous_directive=no
+fi
+rm -f conftest*])
+if test $libc_cv_asm_previous_directive = yes; then
+ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
+else
+ AC_CACHE_CHECK(for .popsection assembler directive,
+ libc_cv_asm_popsection_directive, [dnl
+ cat > conftest.s <<EOF
+.pushsection foo_section
+.popsection
+EOF
if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
- libc_cv_asm_previous_directive=yes
+ libc_cv_asm_popsection_directive=yes
else
- libc_cv_asm_previous_directive=no
+ libc_cv_asm_popsection_directive=no
fi
rm -f conftest*])
- if test $libc_cv_asm_previous_directive = yes; then
- AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
- else
- AC_CACHE_CHECK(for .popsection assembler directive,
- libc_cv_asm_popsection_directive, [dnl
- cat > conftest.s <<EOF
-.pushsection foo_section
-.popsection
-EOF
- if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
- libc_cv_asm_popsection_directive=yes
- else
- libc_cv_asm_popsection_directive=no
- fi
- rm -f conftest*])
- if test $libc_cv_asm_popsection_directive = yes; then
- AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
- fi
+ if test $libc_cv_asm_popsection_directive = yes; then
+ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
fi
- AC_CACHE_CHECK(for .protected and .hidden assembler directive,
- libc_cv_asm_protected_directive, [dnl
- cat > conftest.s <<EOF
+fi
+AC_CACHE_CHECK(for .protected and .hidden assembler directive,
+ libc_cv_asm_protected_directive, [dnl
+cat > conftest.s <<EOF
.protected foo
foo:
.hidden bar
bar:
EOF
- if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
- libc_cv_asm_protected_directive=yes
- else
- AC_MSG_ERROR(assembler support for symbol visibility is required)
- fi
- rm -f conftest*])
+if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
+ libc_cv_asm_protected_directive=yes
+else
+ AC_MSG_ERROR(assembler support for symbol visibility is required)
+fi
+rm -f conftest*])
- if test $libc_cv_asm_protected_directive = yes; then
- AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
+if test $libc_cv_asm_protected_directive = yes; then
+ AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
libc_cv_visibility_attribute,
[cat > conftest.c <<EOF
int foo __attribute__ ((visibility ("hidden"))) = 1;
@@ -1338,13 +1321,13 @@ EOF
fi
rm -f conftest.{c,s}
])
- if test $libc_cv_visibility_attribute != yes; then
- AC_MSG_ERROR(compiler support for visibility attribute is required)
- fi
+ if test $libc_cv_visibility_attribute != yes; then
+ AC_MSG_ERROR(compiler support for visibility attribute is required)
fi
+fi
- if test $libc_cv_visibility_attribute = yes; then
- AC_CACHE_CHECK(for broken __attribute__((visibility())),
+if test $libc_cv_visibility_attribute = yes; then
+ AC_CACHE_CHECK(for broken __attribute__((visibility())),
libc_cv_broken_visibility_attribute,
[cat > conftest.c <<EOF
int foo (int x);
@@ -1361,36 +1344,36 @@ changequote([,])dnl
fi
rm -f conftest.c conftest.s
])
- if test $libc_cv_broken_visibility_attribute = yes; then
- AC_MSG_ERROR(working compiler support for visibility attribute is required)
- fi
+ if test $libc_cv_broken_visibility_attribute = yes; then
+ AC_MSG_ERROR(working compiler support for visibility attribute is required)
fi
+fi
- AC_CACHE_CHECK(for broken __attribute__((alias())),
- libc_cv_broken_alias_attribute,
- [cat > conftest.c <<EOF
- extern int foo (int x) __asm ("xyzzy");
- int bar (int x) { return x; }
- extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
- extern int dfoo;
- extern __typeof (dfoo) dfoo __asm ("abccb");
- int dfoo = 1;
+AC_CACHE_CHECK(for broken __attribute__((alias())),
+ libc_cv_broken_alias_attribute,
+ [cat > conftest.c <<EOF
+ extern int foo (int x) __asm ("xyzzy");
+ int bar (int x) { return x; }
+ extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
+ extern int dfoo;
+ extern __typeof (dfoo) dfoo __asm ("abccb");
+ int dfoo = 1;
EOF
- libc_cv_broken_alias_attribute=yes
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep 'xyzzy' conftest.s >/dev/null &&
- grep 'abccb' conftest.s >/dev/null; then
- libc_cv_broken_alias_attribute=no
- fi
- fi
- rm -f conftest.c conftest.s
- ])
- if test $libc_cv_broken_alias_attribute = yes; then
- AC_MSG_ERROR(working alias attribute support required)
- fi
-
- if test $libc_cv_visibility_attribute = yes; then
- AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
+ libc_cv_broken_alias_attribute=yes
+ if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
+ if grep 'xyzzy' conftest.s >/dev/null &&
+ grep 'abccb' conftest.s >/dev/null; then
+ libc_cv_broken_alias_attribute=no
+ fi
+ fi
+ rm -f conftest.c conftest.s
+ ])
+if test $libc_cv_broken_alias_attribute = yes; then
+ AC_MSG_ERROR(working alias attribute support required)
+fi
+
+if test $libc_cv_visibility_attribute = yes; then
+ AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
libc_cv_have_sdata_section,
[echo "int i;" > conftest.c
libc_cv_have_sdata_section=no
@@ -1400,43 +1383,43 @@ EOF
fi
rm -f conftest.c conftest.so
])
- if test $libc_cv_have_sdata_section = yes; then
- AC_DEFINE(HAVE_SDATA_SECTION)
- fi
+ if test $libc_cv_have_sdata_section = yes; then
+ AC_DEFINE(HAVE_SDATA_SECTION)
fi
+fi
- AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
- libc_cv_initfini_array, [dnl
- cat > conftest.c <<EOF
+AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
+ libc_cv_initfini_array, [dnl
+cat > conftest.c <<EOF
int _start (void) { return 0; }
int __start (void) { return 0; }
int foo (void) { return 1; }
int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
- -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
- then
- if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
- libc_cv_initfini_array=yes
- else
- libc_cv_initfini_array=no
- fi
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
+ -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
+then
+ if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
+ libc_cv_initfini_array=yes
else
libc_cv_initfini_array=no
fi
- rm -f conftest*])
- if test $libc_cv_initfini_array != yes; then
- AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
- fi
+else
+ libc_cv_initfini_array=no
+fi
+rm -f conftest*])
+if test $libc_cv_initfini_array != yes; then
+ AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
+fi
- AC_CACHE_CHECK(whether to use .ctors/.dtors header and trailer,
- libc_cv_ctors_header, [dnl
- libc_cv_ctors_header=yes
- AC_TRY_LINK([], [
+AC_CACHE_CHECK(whether to use .ctors/.dtors header and trailer,
+ libc_cv_ctors_header, [dnl
+ libc_cv_ctors_header=yes
+ AC_TRY_LINK([], [
__attribute__ ((constructor)) void ctor (void) { puts("ctor"); }
__attribute__ ((destructor)) void dtor (void) { puts("dtor"); }
],
- [dnl
+ [dnl
AS_IF([$READELF -WS conftest$ac_exeext | $AWK '
{ gsub(/\@<:@ */, "@<:@") }
$2 == ".ctors" || $2 == ".dtors" {
@@ -1454,102 +1437,102 @@ __attribute__ ((destructor)) void dtor (void) { puts("dtor"); }
], [dnl
AC_MSG_ERROR([missing __attribute__ ((constructor)) support??])
])
- ])
- if test $libc_cv_ctors_header = no; then
- AC_DEFINE(NO_CTORS_DTORS_SECTIONS)
- fi
+])
+if test $libc_cv_ctors_header = no; then
+ AC_DEFINE(NO_CTORS_DTORS_SECTIONS)
+fi
- AC_CACHE_CHECK(for libunwind-support in compiler,
- libc_cv_cc_with_libunwind, [
- cat > conftest.c <<EOF
+AC_CACHE_CHECK(for libunwind-support in compiler,
+ libc_cv_cc_with_libunwind, [
+ cat > conftest.c <<EOF
int main (void) { return 0; }
EOF
- if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
- conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then
- libc_cv_cc_with_libunwind=yes
- else
- libc_cv_cc_with_libunwind=no
- fi
- rm -f conftest*])
- AC_SUBST(libc_cv_cc_with_libunwind)
- if test $libc_cv_cc_with_libunwind = yes; then
- AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
+ if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
+ conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then
+ libc_cv_cc_with_libunwind=yes
+ else
+ libc_cv_cc_with_libunwind=no
fi
+ rm -f conftest*])
+AC_SUBST(libc_cv_cc_with_libunwind)
+if test $libc_cv_cc_with_libunwind = yes; then
+ AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
+fi
- AC_CACHE_CHECK(for -z nodelete option,
- libc_cv_z_nodelete, [dnl
- cat > conftest.c <<EOF
+AC_CACHE_CHECK(for -z nodelete option,
+ libc_cv_z_nodelete, [dnl
+cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
- -fPIC -shared -o conftest.so conftest.c
- -nostartfiles -nostdlib
- -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
- then
- libc_cv_z_nodelete=yes
- else
- AC_MSG_ERROR(linker with -z nodelete support required)
- fi
- rm -f conftest*])
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ -fPIC -shared -o conftest.so conftest.c
+ -nostartfiles -nostdlib
+ -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
+then
+ libc_cv_z_nodelete=yes
+else
+ AC_MSG_ERROR(linker with -z nodelete support required)
+fi
+rm -f conftest*])
- AC_CACHE_CHECK(for -z nodlopen option,
- libc_cv_z_nodlopen, [dnl
- cat > conftest.c <<EOF
+AC_CACHE_CHECK(for -z nodlopen option,
+ libc_cv_z_nodlopen, [dnl
+cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c
-nostartfiles -nostdlib
-Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
- then
- libc_cv_z_nodlopen=yes
- else
- AC_MSG_ERROR(linker with -z nodlopen support required)
- fi
- rm -f conftest*])
+then
+ libc_cv_z_nodlopen=yes
+else
+ AC_MSG_ERROR(linker with -z nodlopen support required)
+fi
+rm -f conftest*])
- AC_CACHE_CHECK(for -z initfirst option,
- libc_cv_z_initfirst, [dnl
- cat > conftest.c <<EOF
+AC_CACHE_CHECK(for -z initfirst option,
+ libc_cv_z_initfirst, [dnl
+cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c
-nostartfiles -nostdlib
-Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
- then
- libc_cv_z_initfirst=yes
- else
- AC_MSG_ERROR(linker with -z initfirst support required)
- fi
- rm -f conftest*])
+then
+ libc_cv_z_initfirst=yes
+else
+ AC_MSG_ERROR(linker with -z initfirst support required)
+fi
+rm -f conftest*])
- # Add-on fragments can set these for other machines.
- libc_commonpagesize=${libc_commonpagesize:-no}
- libc_relro_required=${libc_relro_required:-no}
- case "$base_machine" in
- i[[34567]]86 | x86_64 | powerpc* | s390*)
- libc_commonpagesize=0x1000
- libc_relro_required=yes
- ;;
- sparc*)
- libc_commonpagesize=0x2000
- libc_relro_required=yes
- ;;
- ia64*)
- libc_commonpagesize=0x4000
- ;;
- alpha*)
- libc_commonpagesize=0x10000
- libc_relro_required=yes
- ;;
- esac
+# Add-on fragments can set these for other machines.
+libc_commonpagesize=${libc_commonpagesize:-no}
+libc_relro_required=${libc_relro_required:-no}
+case "$base_machine" in
+ i[[34567]]86 | x86_64 | powerpc* | s390*)
+ libc_commonpagesize=0x1000
+ libc_relro_required=yes
+ ;;
+ sparc*)
+ libc_commonpagesize=0x2000
+ libc_relro_required=yes
+ ;;
+ ia64*)
+ libc_commonpagesize=0x4000
+ ;;
+ alpha*)
+ libc_commonpagesize=0x10000
+ libc_relro_required=yes
+ ;;
+esac
- if test $libc_commonpagesize != no; then
- AC_CACHE_CHECK(for -z relro option,
- libc_cv_z_relro, [dnl
- libc_cv_z_relro=no
- AC_LANG_CONFTEST([AC_LANG_SOURCE([[
+if test $libc_commonpagesize != no; then
+ AC_CACHE_CHECK(for -z relro option,
+ libc_cv_z_relro, [dnl
+ libc_cv_z_relro=no
+ AC_LANG_CONFTEST([AC_LANG_SOURCE([[
int _start (void) { return 42; }
extern void _exit (int);
/* Since these pointers are const, they should go in rodata.
@@ -1561,7 +1544,7 @@ const void *const relro[] = { &_start, &_exit, 0 };
follows it, or only very small writable data. */
int data[0x10000] = { 1, };
]])])
- cat > conftest.awk <<\EOF
+ cat > conftest.awk <<\EOF
BEGIN {
result = "no"
commonpagesize = strtonum(commonpagesize)
@@ -1577,184 +1560,184 @@ $1 == "GNU_RELRO" {
}
END { print result }
EOF
- AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c
-nostartfiles -nostdlib
-Wl,-z,relro 1>&AS_MESSAGE_LOG_FD]) &&
- AC_TRY_COMMAND([$READELF -Wl conftest.so > conftest.ph]) &&
- AC_TRY_COMMAND([
+ AC_TRY_COMMAND([$READELF -Wl conftest.so > conftest.ph]) &&
+ AC_TRY_COMMAND([
$AWK -v commonpagesize=$libc_commonpagesize -f conftest.awk
conftest.ph > conftest.cps
]) &&
- libc_cv_z_relro=`cat conftest.cps 2>&AS_MESSAGE_LOG_FD`
- rm -f conftest*])
- if { test "x$libc_relro_required" = xyes &&
- test "x$libc_cv_z_relro" != xyes
- }
- then
- AC_MSG_ERROR(linker with -z relro support required)
- fi
- else
- AC_MSG_WARN([missing architecture parameter to check for working -z relro])
+ libc_cv_z_relro=`cat conftest.cps 2>&AS_MESSAGE_LOG_FD`
+ rm -f conftest*])
+ if { test "x$libc_relro_required" = xyes &&
+ test "x$libc_cv_z_relro" != xyes
+ }
+ then
+ AC_MSG_ERROR(linker with -z relro support required)
fi
+else
+ AC_MSG_WARN([missing architecture parameter to check for working -z relro])
+fi
- AC_CACHE_CHECK(for -Bgroup option,
- libc_cv_Bgroup, [dnl
- cat > conftest.c <<EOF
+AC_CACHE_CHECK(for -Bgroup option,
+ libc_cv_Bgroup, [dnl
+cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
- -fPIC -shared -o conftest.so conftest.c
- -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
- then
- libc_cv_Bgroup=yes
- else
- libc_cv_Bgroup=no
- fi
- rm -f conftest*])
- AC_SUBST(libc_cv_Bgroup)
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ -fPIC -shared -o conftest.so conftest.c
+ -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
+then
+ libc_cv_Bgroup=yes
+else
+ libc_cv_Bgroup=no
+fi
+rm -f conftest*])
+AC_SUBST(libc_cv_Bgroup)
- AC_CACHE_CHECK(for libgcc_s suffix,
- libc_cv_libgcc_s_suffix, [dnl
- cat > conftest.c <<EOF
+AC_CACHE_CHECK(for libgcc_s suffix,
+ libc_cv_libgcc_s_suffix, [dnl
+cat > conftest.c <<EOF
int main (void) { return 0; }
EOF
changequote(,)dnl
- libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
+libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
-fPIC -shared -shared-libgcc -o conftest.so \
conftest.c -v 2>&1 >/dev/null \
| sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
changequote([,])dnl
- rm -f conftest*])
- AC_SUBST(libc_cv_libgcc_s_suffix)
+rm -f conftest*])
+AC_SUBST(libc_cv_libgcc_s_suffix)
- AC_CACHE_CHECK(for --as-needed option,
- libc_cv_as_needed, [dnl
- cat > conftest.c <<EOF
+AC_CACHE_CHECK(for --as-needed option,
+ libc_cv_as_needed, [dnl
+cat > conftest.c <<EOF
int main (void) { return 0; }
EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c
-lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
-nostdlib 1>&AS_MESSAGE_LOG_FD])
- then
- libc_cv_as_needed=yes
- else
- libc_cv_as_needed=no
- fi
- rm -f conftest*])
- AC_SUBST(libc_cv_as_needed)
+then
+ libc_cv_as_needed=yes
+else
+ libc_cv_as_needed=no
+fi
+rm -f conftest*])
+AC_SUBST(libc_cv_as_needed)
- ASFLAGS_config=
- AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
- libc_cv_as_noexecstack, [dnl
- cat > conftest.c <<EOF
+ASFLAGS_config=
+AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
+ libc_cv_as_noexecstack, [dnl
+cat > conftest.c <<EOF
void foo (void) { }
EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
- -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
- && grep -q .note.GNU-stack conftest.s \
- && AC_TRY_COMMAND([${CC-cc} $ASFLAGS -Wa,--noexecstack
- -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
- then
- libc_cv_as_noexecstack=yes
- else
- libc_cv_as_noexecstack=no
- fi
- rm -f conftest*])
- if test $libc_cv_as_noexecstack = yes; then
- ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
- fi
- AC_SUBST(ASFLAGS_config)
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
+ -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
+ && grep -q .note.GNU-stack conftest.s \
+ && AC_TRY_COMMAND([${CC-cc} $ASFLAGS -Wa,--noexecstack
+ -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
+then
+ libc_cv_as_noexecstack=yes
+else
+ libc_cv_as_noexecstack=no
+fi
+rm -f conftest*])
+if test $libc_cv_as_noexecstack = yes; then
+ ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
+fi
+AC_SUBST(ASFLAGS_config)
- AC_CACHE_CHECK(for -z combreloc,
- libc_cv_z_combreloc, [dnl
- cat > conftest.c <<EOF
+AC_CACHE_CHECK(for -z combreloc,
+ libc_cv_z_combreloc, [dnl
+cat > conftest.c <<EOF
extern int bar (int);
extern int mumble;
int foo (void) { return bar (mumble); }
EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c
-nostdlib -nostartfiles
-Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
- then
+then
dnl The following test is a bit weak. We must use a tool which can test
dnl cross-platform since the gcc used can be a cross compiler. Without
dnl introducing new options this is not easily doable. Instead use a tool
dnl which always is cross-platform: readelf. To detect whether -z combreloc
dnl look for a section named .rel.dyn.
- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
- libc_cv_z_combreloc=yes
- else
- libc_cv_z_combreloc=no
- fi
+ if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
+ libc_cv_z_combreloc=yes
else
libc_cv_z_combreloc=no
fi
- rm -f conftest*])
- if test "$libc_cv_z_combreloc" = yes; then
- AC_DEFINE(HAVE_Z_COMBRELOC)
- fi
- AC_SUBST(libc_cv_z_combreloc)
+else
+ libc_cv_z_combreloc=no
+fi
+rm -f conftest*])
+if test "$libc_cv_z_combreloc" = yes; then
+ AC_DEFINE(HAVE_Z_COMBRELOC)
+fi
+AC_SUBST(libc_cv_z_combreloc)
- AC_CACHE_CHECK(for -z execstack,
- libc_cv_z_execstack, [dnl
- cat > conftest.c <<EOF
+AC_CACHE_CHECK(for -z execstack,
+ libc_cv_z_execstack, [dnl
+cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
- -fPIC -shared -o conftest.so conftest.c
- -Wl,-z,execstack -nostdlib
- 1>&AS_MESSAGE_LOG_FD])
- then
- libc_cv_z_execstack=yes
- else
- libc_cv_z_execstack=no
- fi
- rm -f conftest*])
- AC_SUBST(libc_cv_z_execstack)
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ -fPIC -shared -o conftest.so conftest.c
+ -Wl,-z,execstack -nostdlib
+ 1>&AS_MESSAGE_LOG_FD])
+then
+ libc_cv_z_execstack=yes
+else
+ libc_cv_z_execstack=no
+fi
+rm -f conftest*])
+AC_SUBST(libc_cv_z_execstack)
- AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
- cat > conftest.c <<EOF
+AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
+cat > conftest.c <<EOF
int foo;
main () { return 0;}
EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
- -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
- then
- libc_cv_fpie=yes
- else
- libc_cv_fpie=no
- fi
- rm -f conftest*])
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
+ -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
+then
+ libc_cv_fpie=yes
+else
+ libc_cv_fpie=no
+fi
+rm -f conftest*])
- AC_SUBST(libc_cv_fpie)
+AC_SUBST(libc_cv_fpie)
- AC_CACHE_CHECK(for --hash-style option,
- libc_cv_hashstyle, [dnl
- cat > conftest.c <<EOF
+AC_CACHE_CHECK(for --hash-style option,
+ libc_cv_hashstyle, [dnl
+cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
- -fPIC -shared -o conftest.so conftest.c
- -Wl,--hash-style=both -nostdlib 1>&AS_MESSAGE_LOG_FD])
- then
- libc_cv_hashstyle=yes
- else
- libc_cv_hashstyle=no
- fi
- rm -f conftest*])
- 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
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ -fPIC -shared -o conftest.so conftest.c
+ -Wl,--hash-style=both -nostdlib 1>&AS_MESSAGE_LOG_FD])
+then
+ libc_cv_hashstyle=yes
+else
+ libc_cv_hashstyle=no
+fi
+rm -f conftest*])
+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
@@ -1766,7 +1749,7 @@ EOF
.string "GNU"
.string "bar"
EOF
- if AC_TRY_COMMAND([dnl
+ 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;}
@@ -1775,30 +1758,29 @@ EOF
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 "\
+ 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
+ ;;
+ esac
fi
+ rm -f conftest*])
+ use_default_link=$libc_cv_use_default_link
fi
AC_CACHE_CHECK(linker output format, libc_cv_output_format, [dnl
@@ -1870,88 +1852,25 @@ else
fi
AC_SUBST(gnu89_inline)
-if test $elf != yes; then
- AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
- [AC_TRY_COMPILE(, [asm (".section .init");
- asm (".section .fini");
- asm ("${libc_cv_dot_text}");],
- libc_cv_have_initfini=yes,
- libc_cv_have_initfini=no)])
- AC_SUBST(libc_cv_have_initfini)dnl
- if test $libc_cv_have_initfini = yes; then
- AC_DEFINE(HAVE_INITFINI)
- fi
-fi
-
-if test $elf = yes; then
- AC_CACHE_CHECK(whether cc puts quotes around section names,
- libc_cv_have_section_quotes,
- [cat > conftest.c <<EOF
- static const int foo
- __attribute__ ((section ("bar"))) = 1;
+AC_CACHE_CHECK(whether cc puts quotes around section names,
+ libc_cv_have_section_quotes,
+ [cat > conftest.c <<EOF
+ static const int foo
+ __attribute__ ((section ("bar"))) = 1;
EOF
- if ${CC-cc} -S conftest.c -o conftest.s; then
- if grep '\.section.*"bar"' conftest.s >/dev/null; then
- libc_cv_have_section_quotes=yes
- else
- libc_cv_have_section_quotes=no
- fi
+ if ${CC-cc} -S conftest.c -o conftest.s; then
+ if grep '\.section.*"bar"' conftest.s >/dev/null; then
+ libc_cv_have_section_quotes=yes
else
- libc_cv_have_section_quotes=unknown
+ libc_cv_have_section_quotes=no
fi
- rm -f conftest.{c,s}
- ])
- if test $libc_cv_have_section_quotes = yes; then
- AC_DEFINE(HAVE_SECTION_QUOTES)
- fi
-fi
-
-dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
-AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
-[cat > conftest.$ac_ext <<EOF
-dnl This sometimes fails to find confdefs.h, for some reason.
-dnl [#]line $LINENO "[$]0"
-[#]line $LINENO "configure"
-#include "confdefs.h"
-void underscore_test(void) {
-return; }
-EOF
-if AC_TRY_EVAL(ac_compile); then
- if grep _underscore_test conftest* >/dev/null; then
- ifelse([$1], , :, [rm -f conftest*
- $1])
- else
- ifelse([$2], , , [rm -f conftest*
- $2])
- fi
-else
- echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
- cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
- ifelse([$2], , , [rm -f conftest*
- $2])
-fi
-rm -f conftest*])
-
-if test $elf = yes; then
- libc_cv_asm_underscores=no
-else
- if test $ac_cv_prog_cc_works = yes; then
- AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
- [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
- libc_cv_asm_underscores=yes,
- libc_cv_asm_underscores=no)])
- else
- AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
- [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
- libc_cv_asm_underscores=no)])
- fi
-fi
-if test $libc_cv_asm_underscores = no; then
- AC_DEFINE(NO_UNDERSCORES)
-fi
-
-if test $elf = yes; then
- libc_cv_weak_symbols=yes
+ else
+ libc_cv_have_section_quotes=unknown
+ fi
+ rm -f conftest.{c,s}
+ ])
+if test $libc_cv_have_section_quotes = yes; then
+ AC_DEFINE(HAVE_SECTION_QUOTES)
fi
AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
@@ -2314,9 +2233,6 @@ AC_SUBST(ldd_rewrite_script)
AC_SUBST(static)
AC_SUBST(shared)
-if test $shared = default; then
- shared=$elf
-fi
AC_CACHE_CHECK([whether -fPIC is default], libc_cv_pic_default,
[libc_cv_pic_default=yes
diff --git a/csu/start.c b/csu/start.c
index 08f985c482..d7d7a8510d 100644
--- a/csu/start.c
+++ b/csu/start.c
@@ -8,6 +8,4 @@
/* The first piece of initialized data. */
int __data_start = 0;
-#ifdef HAVE_WEAK_SYMBOLS
weak_alias (__data_start, data_start)
-#endif
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index e253722c44..c5402de052 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -55,24 +55,16 @@
/* The symbols in all the user (non-_) macros are C symbols. */
-#if defined HAVE_ASM_WEAK_DIRECTIVE || defined HAVE_ASM_WEAKEXT_DIRECTIVE
-# define HAVE_WEAK_SYMBOLS
+#if !defined HAVE_ASM_WEAK_DIRECTIVE && !defined HAVE_ASM_WEAKEXT_DIRECTIVE
+# error "weak symbol support needed"
#endif
#ifndef __SYMBOL_PREFIX
-# ifdef NO_UNDERSCORES
-# define __SYMBOL_PREFIX
-# else
-# define __SYMBOL_PREFIX "_"
-# endif
+# define __SYMBOL_PREFIX
#endif
#ifndef C_SYMBOL_NAME
-# ifdef NO_UNDERSCORES
-# define C_SYMBOL_NAME(name) name
-# else
-# define C_SYMBOL_NAME(name) _##name
-# endif
+# define C_SYMBOL_NAME(name) name
#endif
#ifndef ASM_LINE_SEP
@@ -104,32 +96,23 @@
# define weak_function __attribute__ ((weak))
# define weak_const_function __attribute__ ((weak, __const__))
-# ifdef HAVE_WEAK_SYMBOLS
-
/* Define ALIASNAME as a weak alias for NAME.
If weak aliases are not available, this defines a strong alias. */
-# define weak_alias(name, aliasname) _weak_alias (name, aliasname)
-# define _weak_alias(name, aliasname) \
+# define weak_alias(name, aliasname) _weak_alias (name, aliasname)
+# define _weak_alias(name, aliasname) \
extern __typeof (name) aliasname __attribute__ ((weak, alias (#name)));
/* Same as WEAK_ALIAS, but mark symbol as hidden. */
-# define weak_hidden_alias(name, aliasname) \
+# define weak_hidden_alias(name, aliasname) \
_weak_hidden_alias (name, aliasname)
-# define _weak_hidden_alias(name, aliasname) \
+# define _weak_hidden_alias(name, aliasname) \
extern __typeof (name) aliasname \
__attribute__ ((weak, alias (#name), __visibility__ ("hidden")));
/* Declare SYMBOL as weak undefined symbol (resolved to 0 if not defined). */
-# define weak_extern(symbol) _weak_extern (weak symbol)
-# define _weak_extern(expr) _Pragma (#expr)
+# define weak_extern(symbol) _weak_extern (weak symbol)
+# define _weak_extern(expr) _Pragma (#expr)
-# else
-
-# define weak_alias(name, aliasname) strong_alias(name, aliasname)
-# define weak_hidden_alias(name, aliasname) strong_alias(name, aliasname)
-# define weak_extern(symbol) /* Nothing. */
-
-# endif
#else /* __ASSEMBLER__ */
@@ -167,43 +150,36 @@
# endif
# endif
-# ifdef HAVE_WEAK_SYMBOLS
-# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define weak_alias(original, alias) \
+# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
+# ifdef HAVE_ASM_GLOBAL_DOT_NAME
+# define weak_alias(original, alias) \
.weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original) ASM_LINE_SEP \
.weakext C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
-# else
-# define weak_alias(original, alias) \
+# else
+# define weak_alias(original, alias) \
.weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
-# endif
-# define weak_extern(symbol) \
+# endif
+# define weak_extern(symbol) \
.weakext C_SYMBOL_NAME (symbol)
-# else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
+# else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define weak_alias(original, alias) \
+# ifdef HAVE_ASM_GLOBAL_DOT_NAME
+# define weak_alias(original, alias) \
.weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \
C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) ASM_LINE_SEP \
.weak C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
-# else
-# define weak_alias(original, alias) \
+# else
+# define weak_alias(original, alias) \
.weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \
C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
-# endif
+# endif
-# define weak_extern(symbol) \
+# define weak_extern(symbol) \
.weak C_SYMBOL_NAME (symbol)
-# endif /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
-
-# else /* ! HAVE_WEAK_SYMBOLS */
-
-# define weak_alias(original, alias) strong_alias(original, alias)
-# define weak_extern(symbol) /* Nothing */
-# endif /* ! HAVE_WEAK_SYMBOLS */
+# endif /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
#endif /* __ASSEMBLER__ */
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
index 6cf05b2154..3c989ea4f9 100644
--- a/locale/localeinfo.h
+++ b/locale/localeinfo.h
@@ -1,5 +1,5 @@
/* Declarations for internal libc locale interfaces
- Copyright (C) 1995-2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 1995-2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -216,7 +216,7 @@ __libc_tsd_define (extern, __locale_t, LOCALE)
unused. We can manage this playing some tricks with weak references.
But with thread-local locale settings, it becomes quite ungainly unless
we can use __thread variables. So only in that case do we attempt this. */
-#if !defined SHARED && defined HAVE_WEAK_SYMBOLS
+#ifndef SHARED
# include <tls.h>
# define NL_CURRENT_INDIRECT 1
#endif
diff --git a/sysdeps/generic/machine-gmon.h b/sysdeps/generic/machine-gmon.h
index eb046b068d..7c13fa992e 100644
--- a/sysdeps/generic/machine-gmon.h
+++ b/sysdeps/generic/machine-gmon.h
@@ -1,5 +1,5 @@
/* Machine-dependent definitions for profiling support. Generic GCC 2 version.
- Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 2000, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -31,16 +31,10 @@
#endif
#include <sysdep.h>
-#ifndef NO_UNDERSCORES
-/* The asm symbols for C functions are `_function'.
- The canonical name for the counter function is `mcount', no _. */
-void _mcount (void) asm ("mcount");
-#else
/* The canonical name for the function is `_mcount' in both C and asm,
but some old asm code might assume it's `mcount'. */
void _mcount (void);
weak_alias (_mcount, mcount)
-#endif
static void mcount_internal (u_long frompc, u_long selfpc);
diff --git a/sysdeps/generic/sysdep.h b/sysdeps/generic/sysdep.h
index eecbd731f6..d1fec5456e 100644
--- a/sysdeps/generic/sysdep.h
+++ b/sysdeps/generic/sysdep.h
@@ -1,5 +1,5 @@
/* Generic asm macros used on many machines.
- Copyright (C) 1991-1993,96,98,2002,2003,2009,2011
+ Copyright (C) 1991-1993,96,98,2002,2003,2009,2011,2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -21,18 +21,10 @@
#ifndef C_LABEL
/* Define a macro we can use to construct the asm name for a C symbol. */
-# ifdef NO_UNDERSCORES
-# ifdef __STDC__
-# define C_LABEL(name) name##:
-# else
-# define C_LABEL(name) name/**/:
-# endif
+# ifdef __STDC__
+# define C_LABEL(name) name##:
# else
-# ifdef __STDC__
-# define C_LABEL(name) _##name##:
-# else
-# define C_LABEL(name) _/**/name/**/:
-# endif
+# define C_LABEL(name) name/**/:
# endif
#endif
diff --git a/sysdeps/i386/sysdep.h b/sysdeps/i386/sysdep.h
index 5a1f6938b0..ffa38edd42 100644
--- a/sysdeps/i386/sysdep.h
+++ b/sysdeps/i386/sysdep.h
@@ -30,10 +30,6 @@
#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
#define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
-/* In ELF C symbols are asm symbols. */
-#undef NO_UNDERSCORES
-#define NO_UNDERSCORES
-
/* Define an entry point visible from C.
@@ -95,13 +91,11 @@
#define CALL_MCOUNT /* Do nothing. */
#endif
-#ifdef NO_UNDERSCORES
/* Since C identifiers are not normally prefixed with an underscore
on this system, the asm identifier `syscall_error' intrudes on the
C name space. Make sure we use an innocuous name. */
#define syscall_error __syscall_error
#define mcount _mcount
-#endif
#define PSEUDO(name, syscall_name, args) \
.globl syscall_error; \
diff --git a/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h b/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h
index 722dcae745..77ab26370d 100644
--- a/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h
+++ b/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h
@@ -20,7 +20,7 @@
long_double_symbol (libc, __GL_##name##_##aliasname, aliasname);
# define long_double_symbol_1(lib, local, symbol, version) \
versioned_symbol (lib, local, symbol, version)
-#elif defined HAVE_WEAK_SYMBOLS
+#else
# define ldbl_hidden_def(local, name) libc_hidden_def (name)
# define ldbl_strong_alias(name, aliasname) strong_alias (name, aliasname)
# define ldbl_weak_alias(name, aliasname) weak_alias (name, aliasname)
@@ -33,12 +33,6 @@
# define long_double_symbol_1(lib, local, symbol, version) \
weak_alias (local, symbol)
# endif
-#else
-# define ldbl_hidden_def(local, name) libc_hidden_def (name)
-# define ldbl_strong_alias(name, aliasname) strong_alias (name, aliasname)
-# define ldbl_weak_alias(name, aliasname) strong_alias (name, aliasname)
-# define long_double_symbol_1(lib, local, symbol, version) \
- strong_alias (local, symbol)
#endif
#ifndef __ASSEMBLER__
diff --git a/sysdeps/mach/sysdep.h b/sysdeps/mach/sysdep.h
index bb287a32f4..305bb347ee 100644
--- a/sysdeps/mach/sysdep.h
+++ b/sysdeps/mach/sysdep.h
@@ -84,8 +84,4 @@
#endif
/* Used by some assembly code. */
-#ifdef NO_UNDERSCORES
#define C_SYMBOL_NAME(name) name
-#else
-#define C_SYMBOL_NAME(name) _##name
-#endif
diff --git a/sysdeps/s390/s390-32/sysdep.h b/sysdeps/s390/s390-32/sysdep.h
index 8cb8005a58..6c52caff4f 100644
--- a/sysdeps/s390/s390-32/sysdep.h
+++ b/sysdeps/s390/s390-32/sysdep.h
@@ -30,10 +30,6 @@
#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
#define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
-/* In ELF C symbols are asm symbols. */
-#undef NO_UNDERSCORES
-#define NO_UNDERSCORES
-
/* Define an entry point visible from C. */
#define ENTRY(name) \
@@ -66,13 +62,11 @@
#define CALL_MCOUNT /* Do nothing. */
#endif
-#ifdef NO_UNDERSCORES
/* Since C identifiers are not normally prefixed with an underscore
on this system, the asm identifier `syscall_error' intrudes on the
C name space. Make sure we use an innocuous name. */
#define syscall_error __syscall_error
#define mcount _mcount
-#endif
#define PSEUDO(name, syscall_name, args) \
lose: SYSCALL_PIC_SETUP \
diff --git a/sysdeps/s390/s390-64/sysdep.h b/sysdeps/s390/s390-64/sysdep.h
index 68903df64e..b1c9961f15 100644
--- a/sysdeps/s390/s390-64/sysdep.h
+++ b/sysdeps/s390/s390-64/sysdep.h
@@ -30,10 +30,6 @@
#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
#define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
-/* In ELF C symbols are asm symbols. */
-#undef NO_UNDERSCORES
-#define NO_UNDERSCORES
-
/* Define an entry point visible from C. */
#define ENTRY(name) \
@@ -64,13 +60,11 @@
#define CALL_MCOUNT /* Do nothing. */
#endif
-#ifdef NO_UNDERSCORES
/* Since C identifiers are not normally prefixed with an underscore
on this system, the asm identifier `syscall_error' intrudes on the
C name space. Make sure we use an innocuous name. */
#define syscall_error __syscall_error
#define mcount _mcount
-#endif
#define PSEUDO(name, syscall_name, args) \
lose: SYSCALL_PIC_SETUP \
diff --git a/sysdeps/sh/sysdep.h b/sysdeps/sh/sysdep.h
index 9f37dc9bac..3ecfa96f0e 100644
--- a/sysdeps/sh/sysdep.h
+++ b/sysdeps/sh/sysdep.h
@@ -69,12 +69,10 @@
#define CALL_MCOUNT /* Do nothing. */
#endif
-#ifdef NO_UNDERSCORES
/* Since C identifiers are not normally prefixed with an underscore
on this system, the asm identifier `syscall_error' intrudes on the
C name space. Make sure we use an innocuous name. */
#define syscall_error __syscall_error
#define mcount _mcount
-#endif
#endif /* __ASSEMBLER__ */
diff --git a/sysdeps/sparc/sparc32/alloca.S b/sysdeps/sparc/sparc32/alloca.S
index 42a2c61b46..c1057c13dd 100644
--- a/sysdeps/sparc/sparc32/alloca.S
+++ b/sysdeps/sparc/sparc32/alloca.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1997, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -22,10 +22,6 @@
arguments which it makes relocatable symbols but seem always to be
the constant 96; I have no idea what they are for. */
-#ifndef NO_UNDERSCORES
-#define __builtin_alloca ___builtin_alloca
-#endif
-
ENTRY (__builtin_alloca)
sub %sp, %o0, %sp /* Push some stack space. */
retl /* Return; the returned buffer leaves 96 */
diff --git a/sysdeps/unix/i386/sysdep.S b/sysdeps/unix/i386/sysdep.S
index 9f279e15b1..fc5cd67ec0 100644
--- a/sysdeps/unix/i386/sysdep.S
+++ b/sysdeps/unix/i386/sysdep.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1997,2000,2002,2004,2005,2011
+/* Copyright (C) 1991-1997,2000,2002,2004,2005,2011,2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -30,12 +30,7 @@
.globl C_SYMBOL_NAME(errno)
.globl syscall_error
-#undef syscall_error
-#ifdef NO_UNDERSCORES
__syscall_error:
-#else
-syscall_error:
-#endif
#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
/* We translate the system's EWOULDBLOCK error into EAGAIN.
The GNU C library always defines EWOULDBLOCK==EAGAIN.
diff --git a/sysdeps/unix/sparc/start.c b/sysdeps/unix/sparc/start.c
index a664189bb4..6efe69662b 100644
--- a/sysdeps/unix/sparc/start.c
+++ b/sysdeps/unix/sparc/start.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,93,94,95,96,97,2004 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1997,2004,2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -52,9 +52,7 @@
/* The first piece of initialized data. */
int __data_start = 0;
-#ifdef HAVE_WEAK_SYMBOLS
weak_alias (__data_start, data_start)
-#endif
extern void __libc_init (int argc, char **argv, char **envp) __THROW;
extern int main (int argc, char **argv, char **envp) __THROW;
diff --git a/sysdeps/unix/sparc/sysdep.S b/sysdeps/unix/sparc/sysdep.S
index 7e2e4d4e81..5a29275ccc 100644
--- a/sysdeps/unix/sparc/sysdep.S
+++ b/sysdeps/unix/sparc/sysdep.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1997, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -25,12 +25,7 @@
.text
.align 2
-#undef syscall_error
-#ifdef NO_UNDERSCORES
__syscall_error:
-#else
-syscall_error:
-#endif
#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
/* We translate the system's EWOULDBLOCK error into EAGAIN.
The GNU C library always defines EWOULDBLOCK==EAGAIN.
diff --git a/sysdeps/unix/sparc/sysdep.h b/sysdeps/unix/sparc/sysdep.h
index fbfb74c8d9..f83b1c78f8 100644
--- a/sysdeps/unix/sparc/sysdep.h
+++ b/sysdeps/unix/sparc/sysdep.h
@@ -22,12 +22,10 @@
#ifdef __ASSEMBLER__
-#ifdef NO_UNDERSCORES
/* Since C identifiers are not normally prefixed with an underscore
on this system, the asm identifier `syscall_error' intrudes on the
C name space. Make sure we use an innocuous name. */
#define syscall_error C_SYMBOL_NAME(__syscall_error)
-#endif
#ifdef PIC
#define SETUP_PIC_REG(reg, tmp) \
diff --git a/sysdeps/unix/start.c b/sysdeps/unix/start.c
index 2474fc2e7f..e5c5e91335 100644
--- a/sysdeps/unix/start.c
+++ b/sysdeps/unix/start.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 93, 1995-1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 93, 1995-1998, 2000, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -40,9 +40,7 @@
/* The first piece of initialized data. */
int __data_start = 0;
-#ifdef HAVE_WEAK_SYMBOLS
weak_alias (__data_start, data_start)
-#endif
#ifdef DUMMIES
#define ARG_DUMMIES DUMMIES,
@@ -69,13 +67,6 @@ _start ()
start1 ();
}
-#ifndef NO_UNDERSCORES
-/* Make an alias called `start' (no leading underscore, so it can't
- conflict with C symbols) for `_start'. This is the name vendor crt0.o's
- tend to use, and thus the name most linkers expect. */
-asm (".set start, __start");
-#endif
-
#endif
/* ARGSUSED */
diff --git a/sysdeps/unix/sysv/i386/sysdep.h b/sysdeps/unix/sysv/i386/sysdep.h
deleted file mode 100644
index fedd5ea825..0000000000
--- a/sysdeps/unix/sysv/i386/sysdep.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* System V does not precede the asm names of C symbols with a `_'. */
-#define NO_UNDERSCORES
-
-#include <sysdeps/unix/i386/sysdep.h>
diff --git a/sysdeps/unix/x86_64/sysdep.S b/sysdeps/unix/x86_64/sysdep.S
index 908da3c3d5..5239ab1d40 100644
--- a/sysdeps/unix/x86_64/sysdep.S
+++ b/sysdeps/unix/x86_64/sysdep.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002, 2004, 2005, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001,2002,2004,2005,2011,2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -30,12 +30,7 @@
.globl C_SYMBOL_NAME(errno)
.globl syscall_error
-#undef syscall_error
-#ifdef NO_UNDERSCORES
__syscall_error:
-#else
-syscall_error:
-#endif
#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
/* We translate the system's EWOULDBLOCK error into EAGAIN.
The GNU C library always defines EWOULDBLOCK==EAGAIN.
diff --git a/sysdeps/x86_64/sysdep.h b/sysdeps/x86_64/sysdep.h
index cb8dced8e6..60c02ed576 100644
--- a/sysdeps/x86_64/sysdep.h
+++ b/sysdeps/x86_64/sysdep.h
@@ -29,10 +29,6 @@
#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
#define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
-/* In ELF C symbols are asm symbols. */
-#undef NO_UNDERSCORES
-#define NO_UNDERSCORES
-
/* Define an entry point visible from C. */
#define ENTRY(name) \
@@ -67,13 +63,11 @@
#define CALL_MCOUNT /* Do nothing. */
#endif
-#ifdef NO_UNDERSCORES
/* Since C identifiers are not normally prefixed with an underscore
on this system, the asm identifier `syscall_error' intrudes on the
C name space. Make sure we use an innocuous name. */
#define syscall_error __syscall_error
#define mcount _mcount
-#endif
#define PSEUDO(name, syscall_name, args) \
lose: \