This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
PATCH: Configure x86_64 in sysdeps/x86_64/preconfigure
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Wed, 21 Mar 2012 09:58:53 -0700
- Subject: PATCH: Configure x86_64 in sysdeps/x86_64/preconfigure
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
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