This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Configure x86_64 in sysdeps/x86_64/preconfigure


Hi,

This patch sets arch_minimum_kernel, libc_cv_slibdir and
libc_cv_localedir for both 32bit and 64bit x86_64 in
sysdeps/x86_64/preconfigure.  It sets x32 minimum kernel to 2.6.39
although kernel 3.4 is the first upsteam kernel with x32 support. I
backported x32 support to kernel 3.0, 3.1 and 3.2 as well as 2.6.4x
kernels on Fedora 15.  I can change it to 3.4.0 if needed.

Tested on Linux/x86-64.  OK to install?

Thanks.

H.J.
---
2012-03-21  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/configure.in: Don't set
	arch_minimum_kernel, libc_cv_slibdir nor libc_cv_localedir for
	x86_64.
	* sysdeps/unix/sysv/linux/configure: Regenerated.

	* sysdeps/x86_64/preconfigure: New file.

diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index 33821c0..cbdf35b 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -313,9 +313,6 @@ case "$machine" in
     libc_cv_gcc_unwind_find_fde=yes
     arch_minimum_kernel=2.0.10
     ;;
-  x86_64*)
-    arch_minimum_kernel=2.4.0
-    ;;
   *)
     arch_minimum_kernel=2.0.10
     ;;
@@ -393,7 +390,7 @@ case "$prefix" in
   # and libc_cv_localedir.
   test -n "$libc_cv_slibdir" || \
   case $machine in
-  sparc/sparc64 | x86_64 | powerpc/powerpc64 | s390/s390-64)
+  sparc/sparc64 | powerpc/powerpc64 | s390/s390-64)
     libc_cv_slibdir="/lib64"
     if test "$libdir" = '${exec_prefix}/lib'; then
       libdir='${exec_prefix}/lib64';
diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in
index 59a1311..3197c9e 100644
--- a/sysdeps/unix/sysv/linux/configure.in
+++ b/sysdeps/unix/sysv/linux/configure.in
@@ -70,9 +70,6 @@ case "$machine" in
     libc_cv_gcc_unwind_find_fde=yes
     arch_minimum_kernel=2.0.10
     ;;
-  x86_64*)
-    arch_minimum_kernel=2.4.0
-    ;;
   *)
     arch_minimum_kernel=2.0.10
     ;;
@@ -132,7 +129,7 @@ case "$prefix" in
   # and libc_cv_localedir.
   test -n "$libc_cv_slibdir" || \
   case $machine in
-  sparc/sparc64 | x86_64 | powerpc/powerpc64 | s390/s390-64)
+  sparc/sparc64 | powerpc/powerpc64 | s390/s390-64)
     libc_cv_slibdir="/lib64"
     if test "$libdir" = '${exec_prefix}/lib'; then
       libdir='${exec_prefix}/lib64';
diff --git a/sysdeps/x86_64/preconfigure b/sysdeps/x86_64/preconfigure
new file mode 100644
index 0000000..5286f6f
--- /dev/null
+++ b/sysdeps/x86_64/preconfigure
@@ -0,0 +1,25 @@
+test -n "$base_machine" || case "$machine" in
+x86_64)
+  base_machine=x86_64
+  if echo __LP64__ | ${CC-cc} $CFLAGS $CPPFLAGS -E - | grep __LP64__ > /dev/null; then
+    machine=x86_64/x32
+    arch_minimum_kernel=2.6.39
+    x86_64_slibdir="/libx32"
+  else
+    machine=x86_64/64
+    arch_minimum_kernel=2.4.0
+    x86_64_slibdir="/lib64"
+  fi
+  case "$prefix" in
+  /usr | /usr/)
+    if test -z "$libc_cv_slibdir"; then
+      libc_cv_slibdir=$x86_64_slibdir
+      if test "$libdir" = '${exec_prefix}/lib'; then
+	libdir='${exec_prefix}'${libc_cv_slibdir};
+	# Locale data can be shared.
+	libc_cv_localedir='${exec_prefix}/lib/locale'
+      fi
+    fi
+    ;;
+  esac
+esac


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]