1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-05 19:35:52 +03:00

More fallout from supporting only ELF

This commit is contained in:
Ulrich Drepper
2012-01-08 00:45:01 -05:00
parent a784e50247
commit a0da5fe1e4
25 changed files with 725 additions and 1041 deletions

View File

@@ -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> 2012-01-07 Ulrich Drepper <drepper@gmail.com>
[BZ #13553] [BZ #13553]

View File

@@ -17,10 +17,6 @@
/* Defined if building with SELinux support & libcap libs are detected. */ /* Defined if building with SELinux support & libcap libs are detected. */
#undef HAVE_LIBCAP #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. */ /* Define if weak symbols are available via the `.weak' directive. */
#undef HAVE_ASM_WEAK_DIRECTIVE #undef HAVE_ASM_WEAK_DIRECTIVE

View File

@@ -92,7 +92,7 @@ build-static = @static@
build-shared = @shared@ build-shared = @shared@
build-pic-default= @libc_cv_pic_default@ build-pic-default= @libc_cv_pic_default@
build-profile = @profile@ build-profile = @profile@
build-bounded = @bounded@ build-bounded = no
build-static-nss = @static_nss@ build-static-nss = @static_nss@
add-ons = @add_ons@ add-ons = @add_ons@
add-on-subdirs = @add_on_subdirs@ add-on-subdirs = @add_on_subdirs@

398
configure vendored
View File

@@ -640,7 +640,6 @@ have_libaudit
LIBGD LIBGD
libc_cv_cc_submachine libc_cv_cc_submachine
exceptions exceptions
libc_cv_have_initfini
gnu89_inline gnu89_inline
libc_cv_ssp libc_cv_ssp
fno_unit_at_a_time fno_unit_at_a_time
@@ -765,7 +764,6 @@ with_gd_include
with_gd_lib with_gd_lib
with_fp with_fp
with_binutils with_binutils
with_elf
with_selinux with_selinux
with_headers with_headers
with_default_link with_default_link
@@ -773,7 +771,6 @@ enable_sanity_checks
enable_check_abi enable_check_abi
enable_shared enable_shared
enable_profile enable_profile
enable_bounded
enable_versioning enable_versioning
enable_oldest_abi enable_oldest_abi
enable_stackguard_randomization enable_stackguard_randomization
@@ -1420,9 +1417,8 @@ Optional Features:
in special situations) [default=yes] in special situations) [default=yes]
--enable-check-abi do "make check-abi" in "make check" (no/warn/yes) --enable-check-abi do "make check-abi" in "make check" (no/warn/yes)
[default=no] [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-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 --disable-versioning do not include versioning information in the library
objects [default=yes if supported] objects [default=yes if supported]
--enable-oldest-abi=ABI configure the oldest ABI supported [e.g. 2.2] --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-gd-lib=DIR find libgd library files in DIR
--with-fp if using floating-point hardware [default=yes] --with-fp if using floating-point hardware [default=yes]
--with-binutils=PATH specify location of binutils (as and ld) --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-selinux if building with SELinux support
--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]
@@ -3525,14 +3520,6 @@ else
fi 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. # Check whether --with-selinux was given.
if test "${with_selinux+set}" = set; then : if test "${with_selinux+set}" = set; then :
withval=$with_selinux; with_selinux=$withval withval=$with_selinux; with_selinux=$withval
@@ -3582,7 +3569,7 @@ static=yes
if test "${enable_shared+set}" = set; then : if test "${enable_shared+set}" = set; then :
enableval=$enable_shared; shared=$enableval enableval=$enable_shared; shared=$enableval
else else
shared=default shared=yes
fi fi
# Check whether --enable-profile was given. # Check whether --enable-profile was given.
@@ -3592,13 +3579,6 @@ else
profile=no profile=no
fi 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. # Check whether --enable-versioning was given.
if test "${enable_versioning+set}" = set; then : if test "${enable_versioning+set}" = set; then :
enableval=$enable_versioning; enable_versioning=$enableval enableval=$enable_versioning; enable_versioning=$enableval
@@ -4011,7 +3991,6 @@ fi
# base_machine, we don't change it. # base_machine, we don't change it.
test -n "$base_machine" || case "$machine" in test -n "$base_machine" || case "$machine" in
i[34567]86) base_machine=i386 machine=i386/$machine ;; i[34567]86) base_machine=i386 machine=i386/$machine ;;
ia64) base_machine=ia64 machine=ia64 ;;
powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;; powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;; powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
s390) base_machine=s390 machine=s390/s390-32 ;; s390) base_machine=s390 machine=s390/s390-32 ;;
@@ -4316,22 +4295,20 @@ fi
# We have now validated the configuration. # 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 # We prepend these rather than inserting them whereever the machine appears
# because things specified by the machine's ELF ABI should override # 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 # OS-specific things, and should always be the same for any OS on the
# machine (otherwise what's the point of an ABI?). # machine (otherwise what's the point of an ABI?).
if test "$elf" = yes; then elf_dirs=
elf_dirs= for d in $add_ons_pfx ''; do
for d in $add_ons_pfx ''; do
for m in $mach; do for m in $mach; do
if test -d $srcdir/${d}sysdeps$m/elf; then if test -d $srcdir/${d}sysdeps$m/elf; then
elf_dirs="$elf_dirs ${d}sysdeps$m/elf" elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
fi fi
done done
done done
sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames" sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
fi
# Expand the list of system names into a full list of directories # 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 done
# Add the default directories. # Add the default directories.
default_sysnames=sysdeps/generic default_sysnames="sysdeps/generic/elf sysdeps/generic"
if test "$elf" = yes; then
default_sysnames="sysdeps/generic/elf $default_sysnames"
fi
sysnames="$names $default_sysnames" sysnames="$names $default_sysnames"
# The other names were emitted during the scan. # The other names were emitted during the scan.
@@ -5887,15 +5861,14 @@ else
fi fi
if test $elf = yes && test $shared != no && test $VERSIONING = no; then if test $shared != no && test $VERSIONING = no; then
echo "\ echo "\
*** WARNING: You should not compile GNU libc without versioning. Not using *** WARNING: You should not compile GNU libc without versioning. Not using
*** versioning will introduce incompatibilities so that old binaries *** versioning will introduce incompatibilities so that old binaries
*** will not run anymore. *** will not run anymore.
*** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)." *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
fi 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; } $as_echo_n "checking for .previous assembler directive... " >&6; }
if ${libc_cv_asm_previous_directive+:} false; then : if ${libc_cv_asm_previous_directive+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -5904,24 +5877,24 @@ else
.section foo_section .section foo_section
.previous .previous
EOF 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 echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5 (eval $ac_try) 2>&5
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then test $ac_status = 0; }; }; then
libc_cv_asm_previous_directive=yes libc_cv_asm_previous_directive=yes
else else
libc_cv_asm_previous_directive=no libc_cv_asm_previous_directive=no
fi fi
rm -f conftest* rm -f conftest*
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5
$as_echo "$libc_cv_asm_previous_directive" >&6; } $as_echo "$libc_cv_asm_previous_directive" >&6; }
if test $libc_cv_asm_previous_directive = yes; then if test $libc_cv_asm_previous_directive = yes; then
$as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h
else else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5
$as_echo_n "checking for .popsection assembler directive... " >&6; } $as_echo_n "checking for .popsection assembler directive... " >&6; }
if ${libc_cv_asm_popsection_directive+:} false; then : if ${libc_cv_asm_popsection_directive+:} false; then :
@@ -5949,8 +5922,8 @@ $as_echo "$libc_cv_asm_popsection_directive" >&6; }
$as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h
fi fi
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .protected and .hidden assembler directive" >&5 { $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; } $as_echo_n "checking for .protected and .hidden assembler directive... " >&6; }
if ${libc_cv_asm_protected_directive+:} false; then : if ${libc_cv_asm_protected_directive+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -5961,22 +5934,22 @@ foo:
.hidden bar .hidden bar
bar: bar:
EOF 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 echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5 (eval $ac_try) 2>&5
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then test $ac_status = 0; }; }; then
libc_cv_asm_protected_directive=yes libc_cv_asm_protected_directive=yes
else else
as_fn_error $? "assembler support for symbol visibility is required" "$LINENO" 5 as_fn_error $? "assembler support for symbol visibility is required" "$LINENO" 5
fi fi
rm -f conftest* rm -f conftest*
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_protected_directive" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_protected_directive" >&5
$as_echo "$libc_cv_asm_protected_directive" >&6; } $as_echo "$libc_cv_asm_protected_directive" >&6; }
if test $libc_cv_asm_protected_directive = yes; then 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 "$as_me:${as_lineno-$LINENO}: checking whether __attribute__((visibility())) is supported" >&5
$as_echo_n "checking whether __attribute__((visibility())) is supported... " >&6; } $as_echo_n "checking whether __attribute__((visibility())) is supported... " >&6; }
if ${libc_cv_visibility_attribute+:} false; then : if ${libc_cv_visibility_attribute+:} false; then :
@@ -6007,9 +5980,9 @@ $as_echo "$libc_cv_visibility_attribute" >&6; }
if test $libc_cv_visibility_attribute != yes; then if test $libc_cv_visibility_attribute != yes; then
as_fn_error $? "compiler support for visibility attribute is required" "$LINENO" 5 as_fn_error $? "compiler support for visibility attribute is required" "$LINENO" 5
fi fi
fi fi
if test $libc_cv_visibility_attribute = yes; then if test $libc_cv_visibility_attribute = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((visibility()))" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((visibility()))" >&5
$as_echo_n "checking for broken __attribute__((visibility()))... " >&6; } $as_echo_n "checking for broken __attribute__((visibility()))... " >&6; }
if ${libc_cv_broken_visibility_attribute+:} false; then : if ${libc_cv_broken_visibility_attribute+:} false; then :
@@ -6039,9 +6012,9 @@ $as_echo "$libc_cv_broken_visibility_attribute" >&6; }
if test $libc_cv_broken_visibility_attribute = yes; then if test $libc_cv_broken_visibility_attribute = yes; then
as_fn_error $? "working compiler support for visibility attribute is required" "$LINENO" 5 as_fn_error $? "working compiler support for visibility attribute is required" "$LINENO" 5
fi fi
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; } $as_echo_n "checking for broken __attribute__((alias()))... " >&6; }
if ${libc_cv_broken_alias_attribute+:} false; then : if ${libc_cv_broken_alias_attribute+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6071,11 +6044,11 @@ EOF
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_broken_alias_attribute" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_broken_alias_attribute" >&5
$as_echo "$libc_cv_broken_alias_attribute" >&6; } $as_echo "$libc_cv_broken_alias_attribute" >&6; }
if test $libc_cv_broken_alias_attribute = yes; then if test $libc_cv_broken_alias_attribute = yes; then
as_fn_error $? "working alias attribute support required" "$LINENO" 5 as_fn_error $? "working alias attribute support required" "$LINENO" 5
fi fi
if test $libc_cv_visibility_attribute = yes; then 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 "$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; } $as_echo_n "checking whether to put _rtld_local into .sdata section... " >&6; }
if ${libc_cv_have_sdata_section+:} false; then : if ${libc_cv_have_sdata_section+:} false; then :
@@ -6096,9 +6069,9 @@ $as_echo "$libc_cv_have_sdata_section" >&6; }
$as_echo "#define HAVE_SDATA_SECTION 1" >>confdefs.h $as_echo "#define HAVE_SDATA_SECTION 1" >>confdefs.h
fi 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; } $as_echo_n "checking for .preinit_array/.init_array/.fini_array support... " >&6; }
if ${libc_cv_initfini_array+:} false; then : if ${libc_cv_initfini_array+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6109,31 +6082,31 @@ int __start (void) { return 0; }
int foo (void) { return 1; } int foo (void) { return 1; }
int (*fp) (void) __attribute__ ((section (".init_array"))) = foo; int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
EOF EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
-static -nostartfiles -nostdlib 1>&5' -static -nostartfiles -nostdlib 1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5 (eval $ac_try) 2>&5
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } test $ac_status = 0; }; }
then then
if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
libc_cv_initfini_array=yes libc_cv_initfini_array=yes
else else
libc_cv_initfini_array=no libc_cv_initfini_array=no
fi fi
else else
libc_cv_initfini_array=no libc_cv_initfini_array=no
fi fi
rm -f conftest* rm -f conftest*
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_initfini_array" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_initfini_array" >&5
$as_echo "$libc_cv_initfini_array" >&6; } $as_echo "$libc_cv_initfini_array" >&6; }
if test $libc_cv_initfini_array != yes; then if test $libc_cv_initfini_array != yes; then
as_fn_error $? "Need linker with .init_array/.fini_array support." "$LINENO" 5 as_fn_error $? "Need linker with .init_array/.fini_array support." "$LINENO" 5
fi 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; } $as_echo_n "checking whether to use .ctors/.dtors header and trailer... " >&6; }
if ${libc_cv_ctors_header+:} false; then : if ${libc_cv_ctors_header+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6181,12 +6154,12 @@ rm -f core conftest.err conftest.$ac_objext \
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ctors_header" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ctors_header" >&5
$as_echo "$libc_cv_ctors_header" >&6; } $as_echo "$libc_cv_ctors_header" >&6; }
if test $libc_cv_ctors_header = no; then if test $libc_cv_ctors_header = no; then
$as_echo "#define NO_CTORS_DTORS_SECTIONS 1" >>confdefs.h $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; } $as_echo_n "checking for libunwind-support in compiler... " >&6; }
if ${libc_cv_cc_with_libunwind+:} false; then : if ${libc_cv_cc_with_libunwind+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6206,12 +6179,12 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_with_libunwind" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_with_libunwind" >&5
$as_echo "$libc_cv_cc_with_libunwind" >&6; } $as_echo "$libc_cv_cc_with_libunwind" >&6; }
if test $libc_cv_cc_with_libunwind = yes; then if test $libc_cv_cc_with_libunwind = yes; then
$as_echo "#define HAVE_CC_WITH_LIBUNWIND 1" >>confdefs.h $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; } $as_echo_n "checking for -z nodelete option... " >&6; }
if ${libc_cv_z_nodelete+:} false; then : if ${libc_cv_z_nodelete+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6219,7 +6192,7 @@ else
cat > conftest.c <<EOF cat > conftest.c <<EOF
int _start (void) { return 42; } int _start (void) { return 42; }
EOF EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c -fPIC -shared -o conftest.so conftest.c
-nostartfiles -nostdlib -nostartfiles -nostdlib
-Wl,--enable-new-dtags,-z,nodelete 1>&5' -Wl,--enable-new-dtags,-z,nodelete 1>&5'
@@ -6228,17 +6201,17 @@ EOF
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } test $ac_status = 0; }; }
then then
libc_cv_z_nodelete=yes libc_cv_z_nodelete=yes
else else
as_fn_error $? "linker with -z nodelete support required" "$LINENO" 5 as_fn_error $? "linker with -z nodelete support required" "$LINENO" 5
fi fi
rm -f conftest* rm -f conftest*
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_nodelete" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_nodelete" >&5
$as_echo "$libc_cv_z_nodelete" >&6; } $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; } $as_echo_n "checking for -z nodlopen option... " >&6; }
if ${libc_cv_z_nodlopen+:} false; then : if ${libc_cv_z_nodlopen+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6246,7 +6219,7 @@ else
cat > conftest.c <<EOF cat > conftest.c <<EOF
int _start (void) { return 42; } int _start (void) { return 42; }
EOF EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c -fPIC -shared -o conftest.so conftest.c
-nostartfiles -nostdlib -nostartfiles -nostdlib
-Wl,--enable-new-dtags,-z,nodlopen 1>&5' -Wl,--enable-new-dtags,-z,nodlopen 1>&5'
@@ -6255,17 +6228,17 @@ EOF
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } test $ac_status = 0; }; }
then then
libc_cv_z_nodlopen=yes libc_cv_z_nodlopen=yes
else else
as_fn_error $? "linker with -z nodlopen support required" "$LINENO" 5 as_fn_error $? "linker with -z nodlopen support required" "$LINENO" 5
fi fi
rm -f conftest* rm -f conftest*
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_nodlopen" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_nodlopen" >&5
$as_echo "$libc_cv_z_nodlopen" >&6; } $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; } $as_echo_n "checking for -z initfirst option... " >&6; }
if ${libc_cv_z_initfirst+:} false; then : if ${libc_cv_z_initfirst+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6273,7 +6246,7 @@ else
cat > conftest.c <<EOF cat > conftest.c <<EOF
int _start (void) { return 42; } int _start (void) { return 42; }
EOF EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c -fPIC -shared -o conftest.so conftest.c
-nostartfiles -nostdlib -nostartfiles -nostdlib
-Wl,--enable-new-dtags,-z,initfirst 1>&5' -Wl,--enable-new-dtags,-z,initfirst 1>&5'
@@ -6282,20 +6255,20 @@ EOF
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } test $ac_status = 0; }; }
then then
libc_cv_z_initfirst=yes libc_cv_z_initfirst=yes
else else
as_fn_error $? "linker with -z initfirst support required" "$LINENO" 5 as_fn_error $? "linker with -z initfirst support required" "$LINENO" 5
fi fi
rm -f conftest* rm -f conftest*
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_initfirst" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_initfirst" >&5
$as_echo "$libc_cv_z_initfirst" >&6; } $as_echo "$libc_cv_z_initfirst" >&6; }
# Add-on fragments can set these for other machines. # Add-on fragments can set these for other machines.
libc_commonpagesize=${libc_commonpagesize:-no} libc_commonpagesize=${libc_commonpagesize:-no}
libc_relro_required=${libc_relro_required:-no} libc_relro_required=${libc_relro_required:-no}
case "$base_machine" in case "$base_machine" in
i[34567]86 | x86_64 | powerpc* | s390*) i[34567]86 | x86_64 | powerpc* | s390*)
libc_commonpagesize=0x1000 libc_commonpagesize=0x1000
libc_relro_required=yes libc_relro_required=yes
@@ -6311,9 +6284,9 @@ $as_echo "$libc_cv_z_initfirst" >&6; }
libc_commonpagesize=0x10000 libc_commonpagesize=0x10000
libc_relro_required=yes libc_relro_required=yes
;; ;;
esac esac
if test $libc_commonpagesize != no; then if test $libc_commonpagesize != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z relro option" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z relro option" >&5
$as_echo_n "checking for -z relro option... " >&6; } $as_echo_n "checking for -z relro option... " >&6; }
if ${libc_cv_z_relro+:} false; then : if ${libc_cv_z_relro+:} false; then :
@@ -6386,12 +6359,12 @@ $as_echo "$libc_cv_z_relro" >&6; }
then then
as_fn_error $? "linker with -z relro support required" "$LINENO" 5 as_fn_error $? "linker with -z relro support required" "$LINENO" 5
fi fi
else else
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: missing architecture parameter to check for working -z relro" >&5 { $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;} $as_echo "$as_me: WARNING: missing architecture parameter to check for working -z relro" >&2;}
fi 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; } $as_echo_n "checking for -Bgroup option... " >&6; }
if ${libc_cv_Bgroup+:} false; then : if ${libc_cv_Bgroup+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6399,7 +6372,7 @@ else
cat > conftest.c <<EOF cat > conftest.c <<EOF
int _start (void) { return 42; } int _start (void) { return 42; }
EOF EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c -fPIC -shared -o conftest.so conftest.c
-Wl,-Bgroup -nostdlib 1>&5' -Wl,-Bgroup -nostdlib 1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
@@ -6407,18 +6380,18 @@ EOF
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } test $ac_status = 0; }; }
then then
libc_cv_Bgroup=yes libc_cv_Bgroup=yes
else else
libc_cv_Bgroup=no libc_cv_Bgroup=no
fi fi
rm -f conftest* rm -f conftest*
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_Bgroup" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_Bgroup" >&5
$as_echo "$libc_cv_Bgroup" >&6; } $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; } $as_echo_n "checking for libgcc_s suffix... " >&6; }
if ${libc_cv_libgcc_s_suffix+:} false; then : if ${libc_cv_libgcc_s_suffix+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6426,17 +6399,17 @@ else
cat > conftest.c <<EOF cat > conftest.c <<EOF
int main (void) { return 0; } int main (void) { return 0; }
EOF 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 \ -fPIC -shared -shared-libgcc -o conftest.so \
conftest.c -v 2>&1 >/dev/null \ conftest.c -v 2>&1 >/dev/null \
| sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'` | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
rm -f conftest* rm -f conftest*
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_libgcc_s_suffix" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_libgcc_s_suffix" >&5
$as_echo "$libc_cv_libgcc_s_suffix" >&6; } $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; } $as_echo_n "checking for --as-needed option... " >&6; }
if ${libc_cv_as_needed+:} false; then : if ${libc_cv_as_needed+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6444,7 +6417,7 @@ else
cat > conftest.c <<EOF cat > conftest.c <<EOF
int main (void) { return 0; } int main (void) { return 0; }
EOF EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c -fPIC -shared -o conftest.so conftest.c
-lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
-nostdlib 1>&5' -nostdlib 1>&5'
@@ -6453,19 +6426,19 @@ EOF
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } test $ac_status = 0; }; }
then then
libc_cv_as_needed=yes libc_cv_as_needed=yes
else else
libc_cv_as_needed=no libc_cv_as_needed=no
fi fi
rm -f conftest* rm -f conftest*
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_as_needed" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_as_needed" >&5
$as_echo "$libc_cv_as_needed" >&6; } $as_echo "$libc_cv_as_needed" >&6; }
ASFLAGS_config= ASFLAGS_config=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether --noexecstack is desirable for .S files" >&5 { $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; } $as_echo_n "checking whether --noexecstack is desirable for .S files... " >&6; }
if ${libc_cv_as_noexecstack+:} false; then : if ${libc_cv_as_noexecstack+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6473,7 +6446,7 @@ else
cat > conftest.c <<EOF cat > conftest.c <<EOF
void foo (void) { } void foo (void) { }
EOF EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS
-S -o conftest.s conftest.c 1>&5' -S -o conftest.s conftest.c 1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5 (eval $ac_try) 2>&5
@@ -6488,21 +6461,21 @@ EOF
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } test $ac_status = 0; }; }
then then
libc_cv_as_noexecstack=yes libc_cv_as_noexecstack=yes
else else
libc_cv_as_noexecstack=no libc_cv_as_noexecstack=no
fi fi
rm -f conftest* rm -f conftest*
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_as_noexecstack" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_as_noexecstack" >&5
$as_echo "$libc_cv_as_noexecstack" >&6; } $as_echo "$libc_cv_as_noexecstack" >&6; }
if test $libc_cv_as_noexecstack = yes; then if test $libc_cv_as_noexecstack = yes; then
ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack" ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
fi 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; } $as_echo_n "checking for -z combreloc... " >&6; }
if ${libc_cv_z_combreloc+:} false; then : if ${libc_cv_z_combreloc+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6512,7 +6485,7 @@ extern int bar (int);
extern int mumble; extern int mumble;
int foo (void) { return bar (mumble); } int foo (void) { return bar (mumble); }
EOF EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c -fPIC -shared -o conftest.so conftest.c
-nostdlib -nostartfiles -nostdlib -nostartfiles
-Wl,-z,combreloc 1>&5' -Wl,-z,combreloc 1>&5'
@@ -6521,26 +6494,26 @@ EOF
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } test $ac_status = 0; }; }
then then
if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
libc_cv_z_combreloc=yes libc_cv_z_combreloc=yes
else else
libc_cv_z_combreloc=no libc_cv_z_combreloc=no
fi fi
else else
libc_cv_z_combreloc=no libc_cv_z_combreloc=no
fi fi
rm -f conftest* rm -f conftest*
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_combreloc" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_combreloc" >&5
$as_echo "$libc_cv_z_combreloc" >&6; } $as_echo "$libc_cv_z_combreloc" >&6; }
if test "$libc_cv_z_combreloc" = yes; then if test "$libc_cv_z_combreloc" = yes; then
$as_echo "#define HAVE_Z_COMBRELOC 1" >>confdefs.h $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; } $as_echo_n "checking for -z execstack... " >&6; }
if ${libc_cv_z_execstack+:} false; then : if ${libc_cv_z_execstack+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6548,7 +6521,7 @@ else
cat > conftest.c <<EOF cat > conftest.c <<EOF
int _start (void) { return 42; } int _start (void) { return 42; }
EOF EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c -fPIC -shared -o conftest.so conftest.c
-Wl,-z,execstack -nostdlib -Wl,-z,execstack -nostdlib
1>&5' 1>&5'
@@ -6557,18 +6530,18 @@ EOF
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } test $ac_status = 0; }; }
then then
libc_cv_z_execstack=yes libc_cv_z_execstack=yes
else else
libc_cv_z_execstack=no libc_cv_z_execstack=no
fi fi
rm -f conftest* rm -f conftest*
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_execstack" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_execstack" >&5
$as_echo "$libc_cv_z_execstack" >&6; } $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; } $as_echo_n "checking for -fpie... " >&6; }
if ${libc_cv_fpie+:} false; then : if ${libc_cv_fpie+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6577,26 +6550,26 @@ else
int foo; int foo;
main () { return 0;} main () { return 0;}
EOF EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
-o conftest conftest.c 1>&5' -o conftest conftest.c 1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5 (eval $ac_try) 2>&5
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } test $ac_status = 0; }; }
then then
libc_cv_fpie=yes libc_cv_fpie=yes
else else
libc_cv_fpie=no libc_cv_fpie=no
fi fi
rm -f conftest* rm -f conftest*
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_fpie" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_fpie" >&5
$as_echo "$libc_cv_fpie" >&6; } $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; } $as_echo_n "checking for --hash-style option... " >&6; }
if ${libc_cv_hashstyle+:} false; then : if ${libc_cv_hashstyle+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6604,7 +6577,7 @@ else
cat > conftest.c <<EOF cat > conftest.c <<EOF
int _start (void) { return 42; } int _start (void) { return 42; }
EOF EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c -fPIC -shared -o conftest.so conftest.c
-Wl,--hash-style=both -nostdlib 1>&5' -Wl,--hash-style=both -nostdlib 1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
@@ -6612,21 +6585,21 @@ EOF
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } test $ac_status = 0; }; }
then then
libc_cv_hashstyle=yes libc_cv_hashstyle=yes
else else
libc_cv_hashstyle=no libc_cv_hashstyle=no
fi fi
rm -f conftest* rm -f conftest*
fi 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 # The linker's default -shared behavior is good enough if it
# does these things that our custom linker scripts ensure that # does these things that our custom linker scripts ensure that
# all allocated NOTE sections come first. # all allocated NOTE sections come first.
if test "$use_default_link" = default; then if test "$use_default_link" = default; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sufficient default -shared layout" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sufficient default -shared layout" >&5
$as_echo_n "checking for sufficient default -shared layout... " >&6; } $as_echo_n "checking for sufficient default -shared layout... " >&6; }
if ${libc_cv_use_default_link+:} false; then : if ${libc_cv_use_default_link+:} false; then :
@@ -6684,7 +6657,6 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_use_default_link" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_use_default_link" >&5
$as_echo "$libc_cv_use_default_link" >&6; } $as_echo "$libc_cv_use_default_link" >&6; }
use_default_link=$libc_cv_use_default_link 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
@@ -6799,42 +6771,7 @@ else
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 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_n "checking whether cc puts quotes around section names... " >&6; } $as_echo_n "checking whether cc puts quotes around section names... " >&6; }
if ${libc_cv_have_section_quotes+:} false; then : if ${libc_cv_have_section_quotes+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
@@ -6857,87 +6794,9 @@ EOF
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_section_quotes" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_section_quotes" >&5
$as_echo "$libc_cv_have_section_quotes" >&6; } $as_echo "$libc_cv_have_section_quotes" >&6; }
if test $libc_cv_have_section_quotes = yes; then if test $libc_cv_have_section_quotes = yes; then
$as_echo "#define HAVE_SECTION_QUOTES 1" >>confdefs.h $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 $elf = yes; then
libc_cv_weak_symbols=yes
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler .weak directive" >&5 { $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 "$as_me:${as_lineno-$LINENO}: checking whether -fPIC is default" >&5
$as_echo_n "checking whether -fPIC is default... " >&6; } $as_echo_n "checking whether -fPIC is default... " >&6; }

View File

@@ -77,11 +77,6 @@ AC_ARG_WITH([binutils],
[specify location of binutils (as and ld)]), [specify location of binutils (as and ld)]),
[path_binutils=$withval], [path_binutils=$withval],
[path_binutils='']) [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_ARG_WITH([selinux],
AC_HELP_STRING([--with-selinux], AC_HELP_STRING([--with-selinux],
[if building with SELinux support]), [if building with SELinux support]),
@@ -129,19 +124,14 @@ dnl [static=yes])
static=yes static=yes
AC_ARG_ENABLE([shared], AC_ARG_ENABLE([shared],
AC_HELP_STRING([--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=$enableval],
[shared=default]) [shared=yes])
AC_ARG_ENABLE([profile], AC_ARG_ENABLE([profile],
AC_HELP_STRING([--enable-profile], AC_HELP_STRING([--enable-profile],
[build profiled library @<:@default=no@:>@]), [build profiled library @<:@default=no@:>@]),
[profile=$enableval], [profile=$enableval],
[profile=no]) [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_ARG_ENABLE([versioning],
AC_HELP_STRING([--disable-versioning], AC_HELP_STRING([--disable-versioning],
[do not include versioning information in the library objects @<:@default=yes if supported@:>@]), [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. # base_machine, we don't change it.
test -n "$base_machine" || case "$machine" in test -n "$base_machine" || case "$machine" in
i[34567]86) base_machine=i386 machine=i386/$machine ;; i[34567]86) base_machine=i386 machine=i386/$machine ;;
ia64) base_machine=ia64 machine=ia64 ;;
powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;; powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;; powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
s390) base_machine=s390 machine=s390/s390-32 ;; s390) base_machine=s390 machine=s390/s390-32 ;;
@@ -771,22 +760,20 @@ AC_SUBST(submachine)
# We have now validated the configuration. # 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 # We prepend these rather than inserting them whereever the machine appears
# because things specified by the machine's ELF ABI should override # 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 # OS-specific things, and should always be the same for any OS on the
# machine (otherwise what's the point of an ABI?). # machine (otherwise what's the point of an ABI?).
if test "$elf" = yes; then elf_dirs=
elf_dirs= for d in $add_ons_pfx ''; do
for d in $add_ons_pfx ''; do
for m in $mach; do for m in $mach; do
if test -d $srcdir/${d}sysdeps$m/elf; then if test -d $srcdir/${d}sysdeps$m/elf; then
elf_dirs="$elf_dirs ${d}sysdeps$m/elf" elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
fi fi
done done
done done
sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames" sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
fi
# Expand the list of system names into a full list of directories # Expand the list of system names into a full list of directories
@@ -870,10 +857,7 @@ changequote([,])dnl
done done
# Add the default directories. # Add the default directories.
default_sysnames=sysdeps/generic default_sysnames="sysdeps/generic/elf sysdeps/generic"
if test "$elf" = yes; then
default_sysnames="sysdeps/generic/elf $default_sysnames"
fi
sysnames="$names $default_sysnames" sysnames="$names $default_sysnames"
AC_SUBST(sysnames) AC_SUBST(sysnames)
# The other names were emitted during the scan. # The other names were emitted during the scan.
@@ -1267,29 +1251,28 @@ else
fi fi
AC_SUBST(VERSIONING) AC_SUBST(VERSIONING)
if test $elf = yes && test $shared != no && test $VERSIONING = no; then if test $shared != no && test $VERSIONING = no; then
echo "\ echo "\
*** WARNING: You should not compile GNU libc without versioning. Not using *** WARNING: You should not compile GNU libc without versioning. Not using
*** versioning will introduce incompatibilities so that old binaries *** versioning will introduce incompatibilities so that old binaries
*** will not run anymore. *** will not run anymore.
*** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)." *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
fi fi
if test $elf = yes; then AC_CACHE_CHECK(for .previous assembler directive,
AC_CACHE_CHECK(for .previous assembler directive,
libc_cv_asm_previous_directive, [dnl libc_cv_asm_previous_directive, [dnl
cat > conftest.s <<EOF cat > conftest.s <<EOF
.section foo_section .section foo_section
.previous .previous
EOF EOF
if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then 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_previous_directive=yes
else else
libc_cv_asm_previous_directive=no libc_cv_asm_previous_directive=no
fi fi
rm -f conftest*]) rm -f conftest*])
if test $libc_cv_asm_previous_directive = yes; then if test $libc_cv_asm_previous_directive = yes; then
AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
else else
AC_CACHE_CHECK(for .popsection assembler directive, AC_CACHE_CHECK(for .popsection assembler directive,
libc_cv_asm_popsection_directive, [dnl libc_cv_asm_popsection_directive, [dnl
cat > conftest.s <<EOF cat > conftest.s <<EOF
@@ -1305,23 +1288,23 @@ EOF
if test $libc_cv_asm_popsection_directive = yes; then if test $libc_cv_asm_popsection_directive = yes; then
AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
fi fi
fi fi
AC_CACHE_CHECK(for .protected and .hidden assembler directive, AC_CACHE_CHECK(for .protected and .hidden assembler directive,
libc_cv_asm_protected_directive, [dnl libc_cv_asm_protected_directive, [dnl
cat > conftest.s <<EOF cat > conftest.s <<EOF
.protected foo .protected foo
foo: foo:
.hidden bar .hidden bar
bar: bar:
EOF EOF
if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
libc_cv_asm_protected_directive=yes libc_cv_asm_protected_directive=yes
else else
AC_MSG_ERROR(assembler support for symbol visibility is required) AC_MSG_ERROR(assembler support for symbol visibility is required)
fi fi
rm -f conftest*]) rm -f conftest*])
if test $libc_cv_asm_protected_directive = yes; then if test $libc_cv_asm_protected_directive = yes; then
AC_CACHE_CHECK(whether __attribute__((visibility())) is supported, AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
libc_cv_visibility_attribute, libc_cv_visibility_attribute,
[cat > conftest.c <<EOF [cat > conftest.c <<EOF
@@ -1341,9 +1324,9 @@ EOF
if test $libc_cv_visibility_attribute != yes; then if test $libc_cv_visibility_attribute != yes; then
AC_MSG_ERROR(compiler support for visibility attribute is required) AC_MSG_ERROR(compiler support for visibility attribute is required)
fi fi
fi fi
if test $libc_cv_visibility_attribute = yes; then if test $libc_cv_visibility_attribute = yes; then
AC_CACHE_CHECK(for broken __attribute__((visibility())), AC_CACHE_CHECK(for broken __attribute__((visibility())),
libc_cv_broken_visibility_attribute, libc_cv_broken_visibility_attribute,
[cat > conftest.c <<EOF [cat > conftest.c <<EOF
@@ -1364,9 +1347,9 @@ changequote([,])dnl
if test $libc_cv_broken_visibility_attribute = yes; then if test $libc_cv_broken_visibility_attribute = yes; then
AC_MSG_ERROR(working compiler support for visibility attribute is required) AC_MSG_ERROR(working compiler support for visibility attribute is required)
fi fi
fi fi
AC_CACHE_CHECK(for broken __attribute__((alias())), AC_CACHE_CHECK(for broken __attribute__((alias())),
libc_cv_broken_alias_attribute, libc_cv_broken_alias_attribute,
[cat > conftest.c <<EOF [cat > conftest.c <<EOF
extern int foo (int x) __asm ("xyzzy"); extern int foo (int x) __asm ("xyzzy");
@@ -1385,11 +1368,11 @@ EOF
fi fi
rm -f conftest.c conftest.s rm -f conftest.c conftest.s
]) ])
if test $libc_cv_broken_alias_attribute = yes; then if test $libc_cv_broken_alias_attribute = yes; then
AC_MSG_ERROR(working alias attribute support required) AC_MSG_ERROR(working alias attribute support required)
fi fi
if test $libc_cv_visibility_attribute = yes; then if test $libc_cv_visibility_attribute = yes; then
AC_CACHE_CHECK(whether to put _rtld_local into .sdata section, AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
libc_cv_have_sdata_section, libc_cv_have_sdata_section,
[echo "int i;" > conftest.c [echo "int i;" > conftest.c
@@ -1403,33 +1386,33 @@ EOF
if test $libc_cv_have_sdata_section = yes; then if test $libc_cv_have_sdata_section = yes; then
AC_DEFINE(HAVE_SDATA_SECTION) AC_DEFINE(HAVE_SDATA_SECTION)
fi fi
fi fi
AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support, AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
libc_cv_initfini_array, [dnl libc_cv_initfini_array, [dnl
cat > conftest.c <<EOF cat > conftest.c <<EOF
int _start (void) { return 0; } int _start (void) { return 0; }
int __start (void) { return 0; } int __start (void) { return 0; }
int foo (void) { return 1; } int foo (void) { return 1; }
int (*fp) (void) __attribute__ ((section (".init_array"))) = foo; int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
EOF EOF
if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
-static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD]) -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
then then
if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
libc_cv_initfini_array=yes libc_cv_initfini_array=yes
else else
libc_cv_initfini_array=no libc_cv_initfini_array=no
fi fi
else else
libc_cv_initfini_array=no libc_cv_initfini_array=no
fi fi
rm -f conftest*]) rm -f conftest*])
if test $libc_cv_initfini_array != yes; then if test $libc_cv_initfini_array != yes; then
AC_MSG_ERROR([Need linker with .init_array/.fini_array support.]) AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
fi fi
AC_CACHE_CHECK(whether to use .ctors/.dtors header and trailer, AC_CACHE_CHECK(whether to use .ctors/.dtors header and trailer,
libc_cv_ctors_header, [dnl libc_cv_ctors_header, [dnl
libc_cv_ctors_header=yes libc_cv_ctors_header=yes
AC_TRY_LINK([], [ AC_TRY_LINK([], [
@@ -1454,12 +1437,12 @@ __attribute__ ((destructor)) void dtor (void) { puts("dtor"); }
], [dnl ], [dnl
AC_MSG_ERROR([missing __attribute__ ((constructor)) support??]) AC_MSG_ERROR([missing __attribute__ ((constructor)) support??])
]) ])
]) ])
if test $libc_cv_ctors_header = no; then if test $libc_cv_ctors_header = no; then
AC_DEFINE(NO_CTORS_DTORS_SECTIONS) AC_DEFINE(NO_CTORS_DTORS_SECTIONS)
fi fi
AC_CACHE_CHECK(for libunwind-support in compiler, AC_CACHE_CHECK(for libunwind-support in compiler,
libc_cv_cc_with_libunwind, [ libc_cv_cc_with_libunwind, [
cat > conftest.c <<EOF cat > conftest.c <<EOF
int main (void) { return 0; } int main (void) { return 0; }
@@ -1471,63 +1454,63 @@ EOF
libc_cv_cc_with_libunwind=no libc_cv_cc_with_libunwind=no
fi fi
rm -f conftest*]) rm -f conftest*])
AC_SUBST(libc_cv_cc_with_libunwind) AC_SUBST(libc_cv_cc_with_libunwind)
if test $libc_cv_cc_with_libunwind = yes; then if test $libc_cv_cc_with_libunwind = yes; then
AC_DEFINE(HAVE_CC_WITH_LIBUNWIND) AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
fi fi
AC_CACHE_CHECK(for -z nodelete option, AC_CACHE_CHECK(for -z nodelete option,
libc_cv_z_nodelete, [dnl libc_cv_z_nodelete, [dnl
cat > conftest.c <<EOF cat > conftest.c <<EOF
int _start (void) { return 42; } int _start (void) { return 42; }
EOF 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 -fPIC -shared -o conftest.so conftest.c
-nostartfiles -nostdlib -nostartfiles -nostdlib
-Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD]) -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
then then
libc_cv_z_nodelete=yes libc_cv_z_nodelete=yes
else else
AC_MSG_ERROR(linker with -z nodelete support required) AC_MSG_ERROR(linker with -z nodelete support required)
fi fi
rm -f conftest*]) rm -f conftest*])
AC_CACHE_CHECK(for -z nodlopen option, AC_CACHE_CHECK(for -z nodlopen option,
libc_cv_z_nodlopen, [dnl libc_cv_z_nodlopen, [dnl
cat > conftest.c <<EOF cat > conftest.c <<EOF
int _start (void) { return 42; } int _start (void) { return 42; }
EOF 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 -fPIC -shared -o conftest.so conftest.c
-nostartfiles -nostdlib -nostartfiles -nostdlib
-Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD]) -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
then then
libc_cv_z_nodlopen=yes libc_cv_z_nodlopen=yes
else else
AC_MSG_ERROR(linker with -z nodlopen support required) AC_MSG_ERROR(linker with -z nodlopen support required)
fi fi
rm -f conftest*]) rm -f conftest*])
AC_CACHE_CHECK(for -z initfirst option, AC_CACHE_CHECK(for -z initfirst option,
libc_cv_z_initfirst, [dnl libc_cv_z_initfirst, [dnl
cat > conftest.c <<EOF cat > conftest.c <<EOF
int _start (void) { return 42; } int _start (void) { return 42; }
EOF 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 -fPIC -shared -o conftest.so conftest.c
-nostartfiles -nostdlib -nostartfiles -nostdlib
-Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD]) -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
then then
libc_cv_z_initfirst=yes libc_cv_z_initfirst=yes
else else
AC_MSG_ERROR(linker with -z initfirst support required) AC_MSG_ERROR(linker with -z initfirst support required)
fi fi
rm -f conftest*]) rm -f conftest*])
# Add-on fragments can set these for other machines. # Add-on fragments can set these for other machines.
libc_commonpagesize=${libc_commonpagesize:-no} libc_commonpagesize=${libc_commonpagesize:-no}
libc_relro_required=${libc_relro_required:-no} libc_relro_required=${libc_relro_required:-no}
case "$base_machine" in case "$base_machine" in
i[[34567]]86 | x86_64 | powerpc* | s390*) i[[34567]]86 | x86_64 | powerpc* | s390*)
libc_commonpagesize=0x1000 libc_commonpagesize=0x1000
libc_relro_required=yes libc_relro_required=yes
@@ -1543,9 +1526,9 @@ EOF
libc_commonpagesize=0x10000 libc_commonpagesize=0x10000
libc_relro_required=yes libc_relro_required=yes
;; ;;
esac esac
if test $libc_commonpagesize != no; then if test $libc_commonpagesize != no; then
AC_CACHE_CHECK(for -z relro option, AC_CACHE_CHECK(for -z relro option,
libc_cv_z_relro, [dnl libc_cv_z_relro, [dnl
libc_cv_z_relro=no libc_cv_z_relro=no
@@ -1594,91 +1577,91 @@ EOF
then then
AC_MSG_ERROR(linker with -z relro support required) AC_MSG_ERROR(linker with -z relro support required)
fi fi
else else
AC_MSG_WARN([missing architecture parameter to check for working -z relro]) AC_MSG_WARN([missing architecture parameter to check for working -z relro])
fi fi
AC_CACHE_CHECK(for -Bgroup option, AC_CACHE_CHECK(for -Bgroup option,
libc_cv_Bgroup, [dnl libc_cv_Bgroup, [dnl
cat > conftest.c <<EOF cat > conftest.c <<EOF
int _start (void) { return 42; } int _start (void) { return 42; }
EOF 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 -fPIC -shared -o conftest.so conftest.c
-Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD]) -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
then then
libc_cv_Bgroup=yes libc_cv_Bgroup=yes
else else
libc_cv_Bgroup=no libc_cv_Bgroup=no
fi fi
rm -f conftest*]) rm -f conftest*])
AC_SUBST(libc_cv_Bgroup) AC_SUBST(libc_cv_Bgroup)
AC_CACHE_CHECK(for libgcc_s suffix, AC_CACHE_CHECK(for libgcc_s suffix,
libc_cv_libgcc_s_suffix, [dnl libc_cv_libgcc_s_suffix, [dnl
cat > conftest.c <<EOF cat > conftest.c <<EOF
int main (void) { return 0; } int main (void) { return 0; }
EOF EOF
changequote(,)dnl 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 \ -fPIC -shared -shared-libgcc -o conftest.so \
conftest.c -v 2>&1 >/dev/null \ conftest.c -v 2>&1 >/dev/null \
| sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'` | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
changequote([,])dnl changequote([,])dnl
rm -f conftest*]) rm -f conftest*])
AC_SUBST(libc_cv_libgcc_s_suffix) AC_SUBST(libc_cv_libgcc_s_suffix)
AC_CACHE_CHECK(for --as-needed option, AC_CACHE_CHECK(for --as-needed option,
libc_cv_as_needed, [dnl libc_cv_as_needed, [dnl
cat > conftest.c <<EOF cat > conftest.c <<EOF
int main (void) { return 0; } int main (void) { return 0; }
EOF 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 -fPIC -shared -o conftest.so conftest.c
-lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
-nostdlib 1>&AS_MESSAGE_LOG_FD]) -nostdlib 1>&AS_MESSAGE_LOG_FD])
then then
libc_cv_as_needed=yes libc_cv_as_needed=yes
else else
libc_cv_as_needed=no libc_cv_as_needed=no
fi fi
rm -f conftest*]) rm -f conftest*])
AC_SUBST(libc_cv_as_needed) AC_SUBST(libc_cv_as_needed)
ASFLAGS_config= ASFLAGS_config=
AC_CACHE_CHECK(whether --noexecstack is desirable for .S files, AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
libc_cv_as_noexecstack, [dnl libc_cv_as_noexecstack, [dnl
cat > conftest.c <<EOF cat > conftest.c <<EOF
void foo (void) { } void foo (void) { }
EOF EOF
if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
-S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \ -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
&& grep -q .note.GNU-stack conftest.s \ && grep -q .note.GNU-stack conftest.s \
&& AC_TRY_COMMAND([${CC-cc} $ASFLAGS -Wa,--noexecstack && AC_TRY_COMMAND([${CC-cc} $ASFLAGS -Wa,--noexecstack
-c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD]) -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
then then
libc_cv_as_noexecstack=yes libc_cv_as_noexecstack=yes
else else
libc_cv_as_noexecstack=no libc_cv_as_noexecstack=no
fi fi
rm -f conftest*]) rm -f conftest*])
if test $libc_cv_as_noexecstack = yes; then if test $libc_cv_as_noexecstack = yes; then
ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack" ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
fi fi
AC_SUBST(ASFLAGS_config) AC_SUBST(ASFLAGS_config)
AC_CACHE_CHECK(for -z combreloc, AC_CACHE_CHECK(for -z combreloc,
libc_cv_z_combreloc, [dnl libc_cv_z_combreloc, [dnl
cat > conftest.c <<EOF cat > conftest.c <<EOF
extern int bar (int); extern int bar (int);
extern int mumble; extern int mumble;
int foo (void) { return bar (mumble); } int foo (void) { return bar (mumble); }
EOF 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 -fPIC -shared -o conftest.so conftest.c
-nostdlib -nostartfiles -nostdlib -nostartfiles
-Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD]) -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 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 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 introducing new options this is not easily doable. Instead use a tool
@@ -1689,68 +1672,68 @@ dnl look for a section named .rel.dyn.
else else
libc_cv_z_combreloc=no libc_cv_z_combreloc=no
fi fi
else else
libc_cv_z_combreloc=no libc_cv_z_combreloc=no
fi fi
rm -f conftest*]) rm -f conftest*])
if test "$libc_cv_z_combreloc" = yes; then if test "$libc_cv_z_combreloc" = yes; then
AC_DEFINE(HAVE_Z_COMBRELOC) AC_DEFINE(HAVE_Z_COMBRELOC)
fi fi
AC_SUBST(libc_cv_z_combreloc) AC_SUBST(libc_cv_z_combreloc)
AC_CACHE_CHECK(for -z execstack, AC_CACHE_CHECK(for -z execstack,
libc_cv_z_execstack, [dnl libc_cv_z_execstack, [dnl
cat > conftest.c <<EOF cat > conftest.c <<EOF
int _start (void) { return 42; } int _start (void) { return 42; }
EOF 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 -fPIC -shared -o conftest.so conftest.c
-Wl,-z,execstack -nostdlib -Wl,-z,execstack -nostdlib
1>&AS_MESSAGE_LOG_FD]) 1>&AS_MESSAGE_LOG_FD])
then then
libc_cv_z_execstack=yes libc_cv_z_execstack=yes
else else
libc_cv_z_execstack=no libc_cv_z_execstack=no
fi fi
rm -f conftest*]) rm -f conftest*])
AC_SUBST(libc_cv_z_execstack) AC_SUBST(libc_cv_z_execstack)
AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
cat > conftest.c <<EOF cat > conftest.c <<EOF
int foo; int foo;
main () { return 0;} main () { return 0;}
EOF EOF
if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
-o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]) -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
then then
libc_cv_fpie=yes libc_cv_fpie=yes
else else
libc_cv_fpie=no libc_cv_fpie=no
fi fi
rm -f conftest*]) rm -f conftest*])
AC_SUBST(libc_cv_fpie) AC_SUBST(libc_cv_fpie)
AC_CACHE_CHECK(for --hash-style option, AC_CACHE_CHECK(for --hash-style option,
libc_cv_hashstyle, [dnl libc_cv_hashstyle, [dnl
cat > conftest.c <<EOF cat > conftest.c <<EOF
int _start (void) { return 42; } int _start (void) { return 42; }
EOF 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 -fPIC -shared -o conftest.so conftest.c
-Wl,--hash-style=both -nostdlib 1>&AS_MESSAGE_LOG_FD]) -Wl,--hash-style=both -nostdlib 1>&AS_MESSAGE_LOG_FD])
then then
libc_cv_hashstyle=yes libc_cv_hashstyle=yes
else else
libc_cv_hashstyle=no libc_cv_hashstyle=no
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 # The linker's default -shared behavior is good enough if it
# does these things that our custom linker scripts ensure that # does these things that our custom linker scripts ensure that
# all allocated NOTE sections come first. # all allocated NOTE sections come first.
if test "$use_default_link" = default; then if test "$use_default_link" = default; then
AC_CACHE_CHECK([for sufficient default -shared layout], AC_CACHE_CHECK([for sufficient default -shared layout],
libc_cv_use_default_link, [dnl libc_cv_use_default_link, [dnl
libc_cv_use_default_link=no libc_cv_use_default_link=no
@@ -1798,7 +1781,6 @@ $ac_try"
fi fi
rm -f conftest*]) rm -f conftest*])
use_default_link=$libc_cv_use_default_link 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
@@ -1870,21 +1852,7 @@ else
fi fi
AC_SUBST(gnu89_inline) AC_SUBST(gnu89_inline)
if test $elf != yes; then AC_CACHE_CHECK(whether cc puts quotes around section names,
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, libc_cv_have_section_quotes,
[cat > conftest.c <<EOF [cat > conftest.c <<EOF
static const int foo static const int foo
@@ -1901,57 +1869,8 @@ EOF
fi fi
rm -f conftest.{c,s} rm -f conftest.{c,s}
]) ])
if test $libc_cv_have_section_quotes = yes; then if test $libc_cv_have_section_quotes = yes; then
AC_DEFINE(HAVE_SECTION_QUOTES) 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
fi fi
AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive, 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(static)
AC_SUBST(shared) AC_SUBST(shared)
if test $shared = default; then
shared=$elf
fi
AC_CACHE_CHECK([whether -fPIC is default], libc_cv_pic_default, AC_CACHE_CHECK([whether -fPIC is default], libc_cv_pic_default,
[libc_cv_pic_default=yes [libc_cv_pic_default=yes

View File

@@ -8,6 +8,4 @@
/* The first piece of initialized data. */ /* The first piece of initialized data. */
int __data_start = 0; int __data_start = 0;
#ifdef HAVE_WEAK_SYMBOLS
weak_alias (__data_start, data_start) weak_alias (__data_start, data_start)
#endif

View File

@@ -55,24 +55,16 @@
/* The symbols in all the user (non-_) macros are C symbols. */ /* The symbols in all the user (non-_) macros are C symbols. */
#if defined HAVE_ASM_WEAK_DIRECTIVE || defined HAVE_ASM_WEAKEXT_DIRECTIVE #if !defined HAVE_ASM_WEAK_DIRECTIVE && !defined HAVE_ASM_WEAKEXT_DIRECTIVE
# define HAVE_WEAK_SYMBOLS # error "weak symbol support needed"
#endif #endif
#ifndef __SYMBOL_PREFIX #ifndef __SYMBOL_PREFIX
# ifdef NO_UNDERSCORES
# define __SYMBOL_PREFIX # define __SYMBOL_PREFIX
# else
# define __SYMBOL_PREFIX "_"
# endif
#endif #endif
#ifndef C_SYMBOL_NAME #ifndef C_SYMBOL_NAME
# ifdef NO_UNDERSCORES
# define C_SYMBOL_NAME(name) name # define C_SYMBOL_NAME(name) name
# else
# define C_SYMBOL_NAME(name) _##name
# endif
#endif #endif
#ifndef ASM_LINE_SEP #ifndef ASM_LINE_SEP
@@ -104,8 +96,6 @@
# define weak_function __attribute__ ((weak)) # define weak_function __attribute__ ((weak))
# define weak_const_function __attribute__ ((weak, __const__)) # define weak_const_function __attribute__ ((weak, __const__))
# ifdef HAVE_WEAK_SYMBOLS
/* Define ALIASNAME as a weak alias for NAME. /* Define ALIASNAME as a weak alias for NAME.
If weak aliases are not available, this defines a strong alias. */ 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) _weak_alias (name, aliasname)
@@ -123,13 +113,6 @@
# define weak_extern(symbol) _weak_extern (weak symbol) # define weak_extern(symbol) _weak_extern (weak symbol)
# define _weak_extern(expr) _Pragma (#expr) # 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__ */ #else /* __ASSEMBLER__ */
@@ -167,7 +150,6 @@
# endif # endif
# endif # endif
# ifdef HAVE_WEAK_SYMBOLS
# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE # ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
# ifdef HAVE_ASM_GLOBAL_DOT_NAME # ifdef HAVE_ASM_GLOBAL_DOT_NAME
# define weak_alias(original, alias) \ # define weak_alias(original, alias) \
@@ -199,12 +181,6 @@
# endif /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */ # 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 /* __ASSEMBLER__ */ #endif /* __ASSEMBLER__ */
/* On some platforms we can make internal function calls (i.e., calls of /* On some platforms we can make internal function calls (i.e., calls of

View File

@@ -1,5 +1,5 @@
/* Declarations for internal libc locale interfaces /* 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. Free Software Foundation, Inc.
This file is part of the GNU C Library. 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. unused. We can manage this playing some tricks with weak references.
But with thread-local locale settings, it becomes quite ungainly unless 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. */ 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> # include <tls.h>
# define NL_CURRENT_INDIRECT 1 # define NL_CURRENT_INDIRECT 1
#endif #endif

View File

@@ -1,5 +1,5 @@
/* Machine-dependent definitions for profiling support. Generic GCC 2 version. /* 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@@ -31,16 +31,10 @@
#endif #endif
#include <sysdep.h> #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, /* The canonical name for the function is `_mcount' in both C and asm,
but some old asm code might assume it's `mcount'. */ but some old asm code might assume it's `mcount'. */
void _mcount (void); void _mcount (void);
weak_alias (_mcount, mcount) weak_alias (_mcount, mcount)
#endif
static void mcount_internal (u_long frompc, u_long selfpc); static void mcount_internal (u_long frompc, u_long selfpc);

View File

@@ -1,5 +1,5 @@
/* Generic asm macros used on many machines. /* 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. Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
@@ -21,19 +21,11 @@
#ifndef C_LABEL #ifndef C_LABEL
/* Define a macro we can use to construct the asm name for a C symbol. */ /* Define a macro we can use to construct the asm name for a C symbol. */
# ifdef NO_UNDERSCORES
# ifdef __STDC__ # ifdef __STDC__
# define C_LABEL(name) name##: # define C_LABEL(name) name##:
# else # else
# define C_LABEL(name) name/**/: # define C_LABEL(name) name/**/:
# endif # endif
# else
# ifdef __STDC__
# define C_LABEL(name) _##name##:
# else
# define C_LABEL(name) _/**/name/**/:
# endif
# endif
#endif #endif

View File

@@ -30,10 +30,6 @@
#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg; #define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
#define ASM_SIZE_DIRECTIVE(name) .size name,.-name; #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 an entry point visible from C.
@@ -95,13 +91,11 @@
#define CALL_MCOUNT /* Do nothing. */ #define CALL_MCOUNT /* Do nothing. */
#endif #endif
#ifdef NO_UNDERSCORES
/* Since C identifiers are not normally prefixed with an underscore /* Since C identifiers are not normally prefixed with an underscore
on this system, the asm identifier `syscall_error' intrudes on the on this system, the asm identifier `syscall_error' intrudes on the
C name space. Make sure we use an innocuous name. */ C name space. Make sure we use an innocuous name. */
#define syscall_error __syscall_error #define syscall_error __syscall_error
#define mcount _mcount #define mcount _mcount
#endif
#define PSEUDO(name, syscall_name, args) \ #define PSEUDO(name, syscall_name, args) \
.globl syscall_error; \ .globl syscall_error; \

View File

@@ -20,7 +20,7 @@
long_double_symbol (libc, __GL_##name##_##aliasname, aliasname); long_double_symbol (libc, __GL_##name##_##aliasname, aliasname);
# define long_double_symbol_1(lib, local, symbol, version) \ # define long_double_symbol_1(lib, local, symbol, version) \
versioned_symbol (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_hidden_def(local, name) libc_hidden_def (name)
# define ldbl_strong_alias(name, aliasname) strong_alias (name, aliasname) # define ldbl_strong_alias(name, aliasname) strong_alias (name, aliasname)
# define ldbl_weak_alias(name, aliasname) weak_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) \ # define long_double_symbol_1(lib, local, symbol, version) \
weak_alias (local, symbol) weak_alias (local, symbol)
# endif # 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 #endif
#ifndef __ASSEMBLER__ #ifndef __ASSEMBLER__

View File

@@ -84,8 +84,4 @@
#endif #endif
/* Used by some assembly code. */ /* Used by some assembly code. */
#ifdef NO_UNDERSCORES
#define C_SYMBOL_NAME(name) name #define C_SYMBOL_NAME(name) name
#else
#define C_SYMBOL_NAME(name) _##name
#endif

View File

@@ -30,10 +30,6 @@
#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg; #define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
#define ASM_SIZE_DIRECTIVE(name) .size name,.-name; #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 an entry point visible from C. */
#define ENTRY(name) \ #define ENTRY(name) \
@@ -66,13 +62,11 @@
#define CALL_MCOUNT /* Do nothing. */ #define CALL_MCOUNT /* Do nothing. */
#endif #endif
#ifdef NO_UNDERSCORES
/* Since C identifiers are not normally prefixed with an underscore /* Since C identifiers are not normally prefixed with an underscore
on this system, the asm identifier `syscall_error' intrudes on the on this system, the asm identifier `syscall_error' intrudes on the
C name space. Make sure we use an innocuous name. */ C name space. Make sure we use an innocuous name. */
#define syscall_error __syscall_error #define syscall_error __syscall_error
#define mcount _mcount #define mcount _mcount
#endif
#define PSEUDO(name, syscall_name, args) \ #define PSEUDO(name, syscall_name, args) \
lose: SYSCALL_PIC_SETUP \ lose: SYSCALL_PIC_SETUP \

View File

@@ -30,10 +30,6 @@
#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg; #define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
#define ASM_SIZE_DIRECTIVE(name) .size name,.-name; #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 an entry point visible from C. */
#define ENTRY(name) \ #define ENTRY(name) \
@@ -64,13 +60,11 @@
#define CALL_MCOUNT /* Do nothing. */ #define CALL_MCOUNT /* Do nothing. */
#endif #endif
#ifdef NO_UNDERSCORES
/* Since C identifiers are not normally prefixed with an underscore /* Since C identifiers are not normally prefixed with an underscore
on this system, the asm identifier `syscall_error' intrudes on the on this system, the asm identifier `syscall_error' intrudes on the
C name space. Make sure we use an innocuous name. */ C name space. Make sure we use an innocuous name. */
#define syscall_error __syscall_error #define syscall_error __syscall_error
#define mcount _mcount #define mcount _mcount
#endif
#define PSEUDO(name, syscall_name, args) \ #define PSEUDO(name, syscall_name, args) \
lose: SYSCALL_PIC_SETUP \ lose: SYSCALL_PIC_SETUP \

View File

@@ -69,12 +69,10 @@
#define CALL_MCOUNT /* Do nothing. */ #define CALL_MCOUNT /* Do nothing. */
#endif #endif
#ifdef NO_UNDERSCORES
/* Since C identifiers are not normally prefixed with an underscore /* Since C identifiers are not normally prefixed with an underscore
on this system, the asm identifier `syscall_error' intrudes on the on this system, the asm identifier `syscall_error' intrudes on the
C name space. Make sure we use an innocuous name. */ C name space. Make sure we use an innocuous name. */
#define syscall_error __syscall_error #define syscall_error __syscall_error
#define mcount _mcount #define mcount _mcount
#endif
#endif /* __ASSEMBLER__ */ #endif /* __ASSEMBLER__ */

View File

@@ -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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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 arguments which it makes relocatable symbols but seem always to be
the constant 96; I have no idea what they are for. */ the constant 96; I have no idea what they are for. */
#ifndef NO_UNDERSCORES
#define __builtin_alloca ___builtin_alloca
#endif
ENTRY (__builtin_alloca) ENTRY (__builtin_alloca)
sub %sp, %o0, %sp /* Push some stack space. */ sub %sp, %o0, %sp /* Push some stack space. */
retl /* Return; the returned buffer leaves 96 */ retl /* Return; the returned buffer leaves 96 */

View File

@@ -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. Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
@@ -30,12 +30,7 @@
.globl C_SYMBOL_NAME(errno) .globl C_SYMBOL_NAME(errno)
.globl syscall_error .globl syscall_error
#undef syscall_error
#ifdef NO_UNDERSCORES
__syscall_error: __syscall_error:
#else
syscall_error:
#endif
#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN #if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
/* We translate the system's EWOULDBLOCK error into EAGAIN. /* We translate the system's EWOULDBLOCK error into EAGAIN.
The GNU C library always defines EWOULDBLOCK==EAGAIN. The GNU C library always defines EWOULDBLOCK==EAGAIN.

View File

@@ -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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@@ -52,9 +52,7 @@
/* The first piece of initialized data. */ /* The first piece of initialized data. */
int __data_start = 0; int __data_start = 0;
#ifdef HAVE_WEAK_SYMBOLS
weak_alias (__data_start, data_start) weak_alias (__data_start, data_start)
#endif
extern void __libc_init (int argc, char **argv, char **envp) __THROW; extern void __libc_init (int argc, char **argv, char **envp) __THROW;
extern int main (int argc, char **argv, char **envp) __THROW; extern int main (int argc, char **argv, char **envp) __THROW;

View File

@@ -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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@@ -25,12 +25,7 @@
.text .text
.align 2 .align 2
#undef syscall_error
#ifdef NO_UNDERSCORES
__syscall_error: __syscall_error:
#else
syscall_error:
#endif
#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN #if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
/* We translate the system's EWOULDBLOCK error into EAGAIN. /* We translate the system's EWOULDBLOCK error into EAGAIN.
The GNU C library always defines EWOULDBLOCK==EAGAIN. The GNU C library always defines EWOULDBLOCK==EAGAIN.

View File

@@ -22,12 +22,10 @@
#ifdef __ASSEMBLER__ #ifdef __ASSEMBLER__
#ifdef NO_UNDERSCORES
/* Since C identifiers are not normally prefixed with an underscore /* Since C identifiers are not normally prefixed with an underscore
on this system, the asm identifier `syscall_error' intrudes on the on this system, the asm identifier `syscall_error' intrudes on the
C name space. Make sure we use an innocuous name. */ C name space. Make sure we use an innocuous name. */
#define syscall_error C_SYMBOL_NAME(__syscall_error) #define syscall_error C_SYMBOL_NAME(__syscall_error)
#endif
#ifdef PIC #ifdef PIC
#define SETUP_PIC_REG(reg, tmp) \ #define SETUP_PIC_REG(reg, tmp) \

View File

@@ -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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@@ -40,9 +40,7 @@
/* The first piece of initialized data. */ /* The first piece of initialized data. */
int __data_start = 0; int __data_start = 0;
#ifdef HAVE_WEAK_SYMBOLS
weak_alias (__data_start, data_start) weak_alias (__data_start, data_start)
#endif
#ifdef DUMMIES #ifdef DUMMIES
#define ARG_DUMMIES DUMMIES, #define ARG_DUMMIES DUMMIES,
@@ -69,13 +67,6 @@ _start ()
start1 (); 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 #endif
/* ARGSUSED */ /* ARGSUSED */

View File

@@ -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>

View File

@@ -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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@@ -30,12 +30,7 @@
.globl C_SYMBOL_NAME(errno) .globl C_SYMBOL_NAME(errno)
.globl syscall_error .globl syscall_error
#undef syscall_error
#ifdef NO_UNDERSCORES
__syscall_error: __syscall_error:
#else
syscall_error:
#endif
#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN #if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
/* We translate the system's EWOULDBLOCK error into EAGAIN. /* We translate the system's EWOULDBLOCK error into EAGAIN.
The GNU C library always defines EWOULDBLOCK==EAGAIN. The GNU C library always defines EWOULDBLOCK==EAGAIN.

View File

@@ -29,10 +29,6 @@
#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg; #define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
#define ASM_SIZE_DIRECTIVE(name) .size name,.-name; #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 an entry point visible from C. */
#define ENTRY(name) \ #define ENTRY(name) \
@@ -67,13 +63,11 @@
#define CALL_MCOUNT /* Do nothing. */ #define CALL_MCOUNT /* Do nothing. */
#endif #endif
#ifdef NO_UNDERSCORES
/* Since C identifiers are not normally prefixed with an underscore /* Since C identifiers are not normally prefixed with an underscore
on this system, the asm identifier `syscall_error' intrudes on the on this system, the asm identifier `syscall_error' intrudes on the
C name space. Make sure we use an innocuous name. */ C name space. Make sure we use an innocuous name. */
#define syscall_error __syscall_error #define syscall_error __syscall_error
#define mcount _mcount #define mcount _mcount
#endif
#define PSEUDO(name, syscall_name, args) \ #define PSEUDO(name, syscall_name, args) \
lose: \ lose: \