about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2013-01-11 11:39:38 -0800
committerRoland McGrath <roland@hack.frob.com>2013-01-11 16:00:49 -0800
commit6270516e154c389ac495153270918d06e41ed67d (patch)
tree63470c8a88aaba22fba413197bfe5791c45ff9d6
parent6a57d93130924487bd58b3d80dabd421d4fbbe4f (diff)
downloadglibc-6270516e154c389ac495153270918d06e41ed67d.tar.gz
glibc-6270516e154c389ac495153270918d06e41ed67d.tar.xz
glibc-6270516e154c389ac495153270918d06e41ed67d.zip
Fix multiarch handling in sysdeps generation.
-rw-r--r--ChangeLog6
-rwxr-xr-xconfigure14
-rw-r--r--configure.in14
3 files changed, 26 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 3ffd8fd43d..d5e0dffef7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-01-11  Roland McGrath  <roland@hack.frob.com>
+
+	* configure.in (sysnames): Use $multi_arch_d in setting up $mach list,
+	not in the main loop.
+	* configure: Regenerated.
+
 2013-01-11  Joseph Myers  <joseph@codesourcery.com>
 
 	* include/features.h (__GLIBC_HAVE_LONG_LONG): Remove.
diff --git a/configure b/configure
index 89dfc9858e..c2fdc151e9 100755
--- a/configure
+++ b/configure
@@ -4295,6 +4295,7 @@ if test x"$libc_cv_ld_gnu_indirect_function" != xyes; then
     multi_arch=no
   fi
 fi
+multi_arch_d=
 if test x"$multi_arch" != xno; then
   multi_arch_d=/multiarch
 fi
@@ -4347,11 +4348,16 @@ while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
   set $m
   # Prepend the machine's FPU directory unless --without-fp.
   if test "$with_fp" = yes; then
-    mach="$mach /$1/fpu"
+    maybe_fpu=/fpu
   else
-    mach="$mach /$1/nofpu"
+    maybe_fpu=/nofpu
   fi
-  mach="$mach /$1"
+  # For each machine term, try it with and then without /multiarch.
+  for try_fpu in $maybe_fpu ''; do
+    for try_multi in $multi_arch_d ''; do
+      mach="$mach /$1$try_fpu$try_multi"
+    done
+  done
   tail="$2"
 done
 
@@ -4365,7 +4371,7 @@ for b in $base ''; do
       test "$v" = / && continue
       for o in /$ostry ''; do
 	test "$o" = / && continue
-	for m in $multi_arch_d $mach ''; do
+	for m in $mach ''; do
 	  for d in $add_ons_pfx ''; do
 	    for a in $add_ons_sfx ''; do
 	      try_suffix="$m0$b$v$o$m"
diff --git a/configure.in b/configure.in
index 4e584c6a45..4cfa36db00 100644
--- a/configure.in
+++ b/configure.in
@@ -633,6 +633,7 @@ if test x"$libc_cv_ld_gnu_indirect_function" != xyes; then
     multi_arch=no
   fi
 fi
+multi_arch_d=
 if test x"$multi_arch" != xno; then
   multi_arch_d=/multiarch
 fi
@@ -686,11 +687,16 @@ while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
   set $m
   # Prepend the machine's FPU directory unless --without-fp.
   if test "$with_fp" = yes; then
-    mach="$mach /$1/fpu"
+    maybe_fpu=/fpu
   else
-    mach="$mach /$1/nofpu"
+    maybe_fpu=/nofpu
   fi
-  mach="$mach /$1"
+  # For each machine term, try it with and then without /multiarch.
+  for try_fpu in $maybe_fpu ''; do
+    for try_multi in $multi_arch_d ''; do
+      mach="$mach /$1$try_fpu$try_multi"
+    done
+  done
   tail="$2"
 done
 
@@ -706,7 +712,7 @@ for b in $base ''; do
       test "$v" = / && continue
       for o in /$ostry ''; do
 	test "$o" = / && continue
-	for m in $multi_arch_d $mach ''; do
+	for m in $mach ''; do
 	  for d in $add_ons_pfx ''; do
 	    for a in $add_ons_sfx ''; do
 	      try_suffix="$m0$b$v$o$m"