summaryrefslogtreecommitdiff
path: root/libc/configure
diff options
context:
space:
mode:
authorjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2009-12-30 17:36:00 +0000
committerjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2009-12-30 17:36:00 +0000
commit42bc5058cebfefa9329005e1b3bc0525f7f7b67b (patch)
treec56b80fae2dc79fa72b20eb88e2316d131cf1e82 /libc/configure
parentf6620a07226c13e55ad71bc04a937539aa1b7dd4 (diff)
downloadeglibc2-42bc5058cebfefa9329005e1b3bc0525f7f7b67b.tar.gz
Merge changes between r9495 and r9569 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@9570 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'libc/configure')
-rwxr-xr-xlibc/configure49
1 files changed, 41 insertions, 8 deletions
diff --git a/libc/configure b/libc/configure
index 469de2106..b620db88b 100755
--- a/libc/configure
+++ b/libc/configure
@@ -725,12 +725,12 @@ INSTALL_PROGRAM
sysdeps_add_ons
sysnames
submachine
+multi_arch
base_machine
add_on_subdirs
add_ons
libc_cv_nss_crypt
experimental_malloc
-multi_arch
REPORT_BUGS_TEXI
REPORT_BUGS_TO
PKGVERSION
@@ -3869,18 +3869,13 @@ _ACEOF
if test "${enable_multi_arch+set}" = set; then
enableval=$enable_multi_arch; multi_arch=$enableval
else
- multi_arch=no
+ multi_arch=default
fi
-if test x"$multi_arch" = xyes; then
- cat >>confdefs.h <<\_ACEOF
-#define USE_MULTIARCH 1
-_ACEOF
-
+if test x"$multi_arch" != xno; then
multi_arch_d=/multiarch
fi
-
# Check whether --enable-experimental-malloc was given.
if test "${enable_experimental_malloc+set}" = set; then
enableval=$enable_experimental_malloc; experimental_malloc=$enableval
@@ -4427,6 +4422,44 @@ for b in $base ''; do
done
done
+# If the assembler supports gnu_indirect_function symbol type and the
+# architecture supports multi-arch, we enable multi-arch by default.
+if test "$multi_arch" = default; then
+{ $as_echo "$as_me:$LINENO: checking for assembler gnu_indirect_function symbol type support" >&5
+$as_echo_n "checking for assembler gnu_indirect_function symbol type support... " >&6; }
+if test "${libc_cv_asm_gnu_indirect_function+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.s <<EOF
+.type foo,%gnu_indirect_function
+EOF
+if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5;
+then
+ libc_cv_asm_gnu_indirect_function=yes
+else
+ libc_cv_asm_gnu_indirect_function=no
+fi
+rm -f conftest*
+fi
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_gnu_indirect_function" >&5
+$as_echo "$libc_cv_asm_gnu_indirect_function" >&6; }
+ multi_arch=no
+ if test "$libc_cv_asm_gnu_indirect_function" = yes; then
+ case $sysnames_add_ons$sysnames in
+ *"$multi_arch_d"*)
+ multi_arch=yes
+ ;;
+ esac
+ fi
+fi
+if test x"$multi_arch" = xyes; then
+ cat >>confdefs.h <<\_ACEOF
+#define USE_MULTIARCH 1
+_ACEOF
+
+fi
+
+
if test -z "$os_used" && test "$os" != none; then
{ { $as_echo "$as_me:$LINENO: error: Operating system $os is not supported." >&5
$as_echo "$as_me: error: Operating system $os is not supported." >&2;}