This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, hjl/x32/master, updated. glibc-2.15-598-gce5bafb
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 23 Mar 2012 18:56:48 -0000
- Subject: GNU C Library master sources branch, hjl/x32/master, updated. glibc-2.15-598-gce5bafb
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, hjl/x32/master has been updated
via ce5bafbd3e75af6a29518c1c920273f4b68b41f3 (commit)
via 0605127d45c9b1a468e926fbc1a702c030a05382 (commit)
via 1532c7ac9aedd769f81aef9bf1653dab041b272b (commit)
via 3ff4252677ff55a0dd4ded5b5cbccda25812ba12 (commit)
via 7c69cd143bacc3dbb7daeac4abf08a321aeeb185 (commit)
via 1c763944fc7e9399cd1563f5bcbc9db35f677874 (commit)
via 19c75fca8067fab3d29bdd7496fc97186c150faa (commit)
via 64fe9740fc11d41f76ce3a7546c905c51f0e8904 (commit)
via 81b035fe638d677f90200598294d15811dcccf68 (commit)
via 953647bb34e963893a77d26d15a77390e52f449d (commit)
via 1da7940c77153881471f01d0510abb392aa164c5 (commit)
via cb73d2ba391b03bc2fa51d90b80650b995846f41 (commit)
via 60c13dfb99436d2daabd66503c50363aa97a5425 (commit)
via 27740da9ce355631c6abc69f468e1e417cb03c94 (commit)
via b749dbb9b73abaff7df9d25b9103cc22cafb0449 (commit)
via 2ff87f3f18788876bcabd439a0158272c7db0c0d (commit)
via 48e44791e4d4d755bf7a7dd083d87584dc4779e4 (commit)
via c0df8e693f34b535bd6ee1b691bc4ca6bc3b4579 (commit)
via e4d91429aefd7f3ad97457f8935cf675aacfde2a (commit)
via 2699747c0b87da65be19abaeed5b2e2b8ee894b6 (commit)
via c8e43ba739d696b3ff9a7b71786de8fab92950bc (commit)
via dcb33988382dd79655cc9efbafe2981de0be5d12 (commit)
via 233fc5634319e39c4a56e448af277cdad5a15fd9 (commit)
via 7998fa7899a29803ad4512002636332dfee48451 (commit)
via 3d4333132425eed03aa8c046dbbe71993e0f7701 (commit)
via 8e95c99a7a0b0ca8cf9bfbeddf1e43fb3efc1bee (commit)
via 6f4db457f8300d9d58fe5f931cdf9f54c0fde2a2 (commit)
via cc4916441a4d685c1662aae7c109ea5c5730cbe9 (commit)
via 38f7d6435bd61a7fdf21616e34ad30b08d5ab197 (commit)
via 7785fe5a0b10dad81155f9db67634e84f51f5113 (commit)
via 4535cd55e2fc005afe0cf549a767ae60d55b17dd (commit)
via 1722813295a323c5e79106a094380f5e94206b47 (commit)
via 8149f976066c922eeafc10d72572c8ae59d54d31 (commit)
via be22ce65d7643ffcd2dcb55b73eae4d7da6f0d71 (commit)
via 40b601fbb774cd2be2f6cbe7155570340fc475a2 (commit)
via 1a4ac776ebc9bb07287f59f63e473db531318dff (commit)
via a458e7fe3835b8a3bcac5a54733af45cc06fc0da (commit)
via 0cb7efc517a293417880f02e2991483b7ce1e3f9 (commit)
via 2460d3aa21f04cdf28497683bd3e29183189f779 (commit)
from 5724aa9cfd1efc2c8dc459b7aeeb22d2540eaf42 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=ce5bafbd3e75af6a29518c1c920273f4b68b41f3
commit ce5bafbd3e75af6a29518c1c920273f4b68b41f3
Merge: 0605127 1532c7a
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Mar 23 11:10:18 2012 -0700
Merge remote-tracking branch 'origin/master' into hjl/x32/master
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=0605127d45c9b1a468e926fbc1a702c030a05382
commit 0605127d45c9b1a468e926fbc1a702c030a05382
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Mar 23 11:08:58 2012 -0700
Use anonymous union and uint64_t in dl-tlsdesc.h
2012-03-23 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/dl-tlsdesc.h (tlsdesc): Use anonymous union
to pad to uint64_t for each field.
(dl_tls_index): Replace unsigned long long with uint64_t.
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index 7ea989a..a744bc1 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,3 +1,9 @@
+2012-03-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/x86_64/dl-tlsdesc.h (tlsdesc): Use anonymous union
+ to pad to uint64_t for each field.
+ (dl_tls_index): Replace unsigned long long with uint64_t.
+
2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/dl-machine.h: Replace ELF32_R_TYPE with
diff --git a/sysdeps/x86_64/dl-tlsdesc.h b/sysdeps/x86_64/dl-tlsdesc.h
index 6c498df..06ede02 100644
--- a/sysdeps/x86_64/dl-tlsdesc.h
+++ b/sysdeps/x86_64/dl-tlsdesc.h
@@ -29,20 +29,24 @@
/* Type used to represent a TLS descriptor in the GOT. */
struct tlsdesc
{
- ptrdiff_t (*entry)(struct tlsdesc *on_rax);
-#ifndef __LP64__
- int pad1;
-#endif
- void *arg;
-#ifndef __LP64__
- int pad2;
-#endif
+ /* Anonymous union is used here to ensure that GOT entry slot is always
+ 8 bytes for both x32 and x86-64. */
+ union
+ {
+ ptrdiff_t (*entry) (struct tlsdesc *on_rax);
+ uint64_t entry_slot;
+ };
+ union
+ {
+ void *arg;
+ uint64_t arg_slot;
+ };
};
typedef struct dl_tls_index
{
- unsigned long long int ti_module;
- unsigned long long int ti_offset;
+ uint64_t ti_module;
+ uint64_t ti_offset;
} tls_index;
/* Type used as the argument in a TLS descriptor for a symbol that
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=1c763944fc7e9399cd1563f5bcbc9db35f677874
commit 1c763944fc7e9399cd1563f5bcbc9db35f677874
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Mar 22 10:25:28 2012 -0700
Replace ELF32_R_TYPE with ELFW(R_TYPE)
2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/dl-machine.h: Replace ELF32_R_TYPE with
ELFW(R_TYPE).
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index 53c8f60..7ea989a 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,5 +1,10 @@
2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/x86_64/dl-machine.h: Replace ELF32_R_TYPE with
+ ELFW(R_TYPE).
+
+2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/x86_64/64/bits/wordsize.h: Moved to ...
* sysdeps/x86_64/common/bits/wordsize.h: Here.
diff --git a/sysdeps/x86_64/dl-machine.h b/sysdeps/x86_64/dl-machine.h
index 28465c4..1fd9f27 100644
--- a/sysdeps/x86_64/dl-machine.h
+++ b/sysdeps/x86_64/dl-machine.h
@@ -262,7 +262,7 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
void *const reloc_addr_arg, int skip_ifunc)
{
ElfW(Addr) *const reloc_addr = reloc_addr_arg;
- const unsigned long int r_type = ELF32_R_TYPE (reloc->r_info);
+ const unsigned long int r_type = ELFW(R_TYPE) (reloc->r_info);
# if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
if (__builtin_expect (r_type == R_X86_64_RELATIVE, 0))
@@ -481,7 +481,7 @@ elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
void *const reloc_addr_arg)
{
ElfW(Addr) *const reloc_addr = reloc_addr_arg;
- assert (ELF32_R_TYPE (reloc->r_info) == R_X86_64_RELATIVE);
+ assert (ELFW(R_TYPE) (reloc->r_info) == R_X86_64_RELATIVE);
*reloc_addr = l_addr + reloc->r_addend;
}
@@ -492,7 +492,7 @@ elf_machine_lazy_rel (struct link_map *map,
int skip_ifunc)
{
ElfW(Addr) *const reloc_addr = (void *) (l_addr + reloc->r_offset);
- const unsigned long int r_type = ELF32_R_TYPE (reloc->r_info);
+ const unsigned long int r_type = ELFW(R_TYPE) (reloc->r_info);
/* Check for unexpected PLT reloc type. */
if (__builtin_expect (r_type == R_X86_64_JUMP_SLOT, 1))
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=19c75fca8067fab3d29bdd7496fc97186c150faa
commit 19c75fca8067fab3d29bdd7496fc97186c150faa
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Mar 22 10:23:14 2012 -0700
Move x86_64 wordsize.h to sysdeps/x86_64/common/bits
2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/64/bits/wordsize.h: Moved to ...
* sysdeps/x86_64/common/bits/wordsize.h: Here.
* sysdeps/x86_64/64/Implies: Add x86_64/common.
* sysdeps/x86_64/x32/Implies: Likewise.
* sysdeps/x86_64/x32/bits/wordsize.h: Removed.
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index 832e7a4..53c8f60 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,5 +1,15 @@
2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/x86_64/64/bits/wordsize.h: Moved to ...
+ * sysdeps/x86_64/common/bits/wordsize.h: Here.
+
+ * sysdeps/x86_64/64/Implies: Add x86_64/common.
+ * sysdeps/x86_64/x32/Implies: Likewise.
+
+ * sysdeps/x86_64/x32/bits/wordsize.h: Removed.
+
+2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
+
* include/link.h (ELFW): New macro.
* sysdeps/x86_64/dl-irel.h (elf_irela): Replace ELF64_R_TYPE
with ELFW(R_TYPE).
diff --git a/sysdeps/x86_64/64/Implies b/sysdeps/x86_64/64/Implies
index 8ec4217..32b79f2 100644
--- a/sysdeps/x86_64/64/Implies
+++ b/sysdeps/x86_64/64/Implies
@@ -1,3 +1,4 @@
+x86_64/common
x86_64/fpu
wordsize-64
ieee754/ldbl-96
diff --git a/sysdeps/x86_64/64/bits/wordsize.h b/sysdeps/x86_64/common/bits/wordsize.h
similarity index 100%
rename from sysdeps/x86_64/64/bits/wordsize.h
rename to sysdeps/x86_64/common/bits/wordsize.h
diff --git a/sysdeps/x86_64/x32/Implies b/sysdeps/x86_64/x32/Implies
index 6d48462..74d79c5 100644
--- a/sysdeps/x86_64/x32/Implies
+++ b/sysdeps/x86_64/x32/Implies
@@ -1,3 +1,4 @@
+x86_64/common
x86_64/fpu
wordsize-32
ieee754/ldbl-96
diff --git a/sysdeps/x86_64/x32/bits/wordsize.h b/sysdeps/x86_64/x32/bits/wordsize.h
deleted file mode 100644
index 3841a2b..0000000
--- a/sysdeps/x86_64/x32/bits/wordsize.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Determine the wordsize from the preprocessor defines. __LP64__ is
- defined for 64bit since GCC 3.3. For GCC older than GCC 4.0, if
- __x86_64__ is defined, it must be 64bit. */
-
-#if defined __x86_64__ \
- && (defined __LP64__ || !defined __GNUC__ || __GNUC__ < 4)
-# define __WORDSIZE 64
-# define __WORDSIZE_COMPAT32 1
-#else
-# define __WORDSIZE 32
-#endif
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=64fe9740fc11d41f76ce3a7546c905c51f0e8904
commit 64fe9740fc11d41f76ce3a7546c905c51f0e8904
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Mar 22 10:19:11 2012 -0700
Replace ELF64_R_TYPE with ELFW(R_TYPE)
2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
* include/link.h (ELFW): New macro.
* sysdeps/x86_64/dl-irel.h (elf_irela): Replace ELF64_R_TYPE
with ELFW(R_TYPE).
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index b62ccc1..832e7a4 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,5 +1,11 @@
2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
+ * include/link.h (ELFW): New macro.
+ * sysdeps/x86_64/dl-irel.h (elf_irela): Replace ELF64_R_TYPE
+ with ELFW(R_TYPE).
+
+2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/x86_64/dl-tls.h (dl_tls_index): Replace unsigned long
long with uint64_t.
diff --git a/include/link.h b/include/link.h
index c5265ee..2eb3179 100644
--- a/include/link.h
+++ b/include/link.h
@@ -330,4 +330,9 @@ extern int __dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info,
size_t size, void *data),
void *data);
+/* We use this macro to refer to ELF macros independent of the native
+ wordsize. `ELFW(R_TYPE)' is used in place of `ELF32_R_TYPE' or
+ `ELF64_R_TYPE'. */
+#define ELFW(type) _ElfW (ELF, __ELF_NATIVE_CLASS, type)
+
#endif /* include/link.h */
diff --git a/sysdeps/x86_64/dl-irel.h b/sysdeps/x86_64/dl-irel.h
index 24bfa18..830f5db 100644
--- a/sysdeps/x86_64/dl-irel.h
+++ b/sysdeps/x86_64/dl-irel.h
@@ -37,7 +37,7 @@ __attribute ((always_inline))
elf_irela (const ElfW(Rela) *reloc)
{
ElfW(Addr) *const reloc_addr = (void *) reloc->r_offset;
- const unsigned long int r_type = ELF32_R_TYPE (reloc->r_info);
+ const unsigned long int r_type = ELFW(R_TYPE) (reloc->r_info);
if (__builtin_expect (r_type == R_X86_64_IRELATIVE, 1))
{
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=953647bb34e963893a77d26d15a77390e52f449d
commit 953647bb34e963893a77d26d15a77390e52f449d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Mar 22 10:13:32 2012 -0700
Replace unsigned long long with uint64_t
2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/dl-tls.h (dl_tls_index): Replace unsigned long
long with uint64_t.
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index 65ae7de..b62ccc1 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,5 +1,10 @@
2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/x86_64/dl-tls.h (dl_tls_index): Replace unsigned long
+ long with uint64_t.
+
+2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/x86_64/preconfigure.in: New file.
* sysdeps/unix/sysv/linux/x86_64/x32/configure.in: Likewise.
diff --git a/sysdeps/x86_64/dl-tls.h b/sysdeps/x86_64/dl-tls.h
index e87c9a3..56162ee 100644
--- a/sysdeps/x86_64/dl-tls.h
+++ b/sysdeps/x86_64/dl-tls.h
@@ -20,8 +20,8 @@
/* Type used for the representation of TLS information in the GOT. */
typedef struct dl_tls_index
{
- unsigned long long int ti_module;
- unsigned long long int ti_offset;
+ uint64_t ti_module;
+ uint64_t ti_offset;
} tls_index;
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=cb73d2ba391b03bc2fa51d90b80650b995846f41
commit cb73d2ba391b03bc2fa51d90b80650b995846f41
Merge: 60c13df b749dbb
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Mar 22 09:35:59 2012 -0700
Merge remote-tracking branch 'origin/master' into hjl/x32/master
Conflicts:
sysdeps/x86_64/preconfigure
sysdeps/x86_64/preconfigure.in
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=60c13dfb99436d2daabd66503c50363aa97a5425
commit 60c13dfb99436d2daabd66503c50363aa97a5425
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Mar 22 09:33:28 2012 -0700
Add sysdeps/unix/sysv/linux/x86_64/x32/configure.in
2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/preconfigure.in: New file.
* sysdeps/unix/sysv/linux/x86_64/x32/configure.in: Likewise.
* sysdeps/x86_64/preconfigure: New generated file.
* sysdeps/unix/sysv/linux/x86_64/x32/configure: Likewise.
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index 9b114d5..65ae7de 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,5 +1,13 @@
2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/x86_64/preconfigure.in: New file.
+ * sysdeps/unix/sysv/linux/x86_64/x32/configure.in: Likewise.
+
+ * sysdeps/x86_64/preconfigure: New generated file.
+ * sysdeps/unix/sysv/linux/x86_64/x32/configure: Likewise.
+
+2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/generic/ldsodefs.h (struct La_x32_regs): New forward
declaration.
(struct La_x32_retval): Likewise.
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/configure b/sysdeps/unix/sysv/linux/x86_64/x32/configure
new file mode 100644
index 0000000..6850d00
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/configure
@@ -0,0 +1,19 @@
+# This file is generated from configure.in by Autoconf. DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/86_64/x32.
+
+case "$machine" in
+x86_64/x32)
+ test -n "$arch_minimum_kernel" || arch_minimum_kernel=2.6.39
+ test -n "$libc_cv_slibdir" ||
+ case "$prefix" in
+ /usr | /usr/)
+ libc_cv_slibdir="/libx32"
+ if test "$libdir" = '${exec_prefix}/lib'; then
+ libdir='${exec_prefix}/libx32';
+ # Locale data can be shared.
+ libc_cv_localedir='${exec_prefix}/lib/locale'
+ fi
+ ;;
+ esac
+ ;;
+esac
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/configure.in b/sysdeps/unix/sysv/linux/x86_64/x32/configure.in
new file mode 100644
index 0000000..9e57e59
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/configure.in
@@ -0,0 +1,19 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/86_64/x32.
+
+case "$machine" in
+x86_64/x32)
+ test -n "$arch_minimum_kernel" || arch_minimum_kernel=2.6.39
+ test -n "$libc_cv_slibdir" ||
+ case "$prefix" in
+ /usr | /usr/)
+ libc_cv_slibdir="/libx32"
+ if test "$libdir" = '${exec_prefix}/lib'; then
+ libdir='${exec_prefix}/libx32';
+ # Locale data can be shared.
+ libc_cv_localedir='${exec_prefix}/lib/locale'
+ fi
+ ;;
+ esac
+ ;;
+esac
diff --git a/sysdeps/x86_64/preconfigure b/sysdeps/x86_64/preconfigure
index 26e6ab0..cdba20a 100644
--- a/sysdeps/x86_64/preconfigure
+++ b/sysdeps/x86_64/preconfigure
@@ -1,16 +1,163 @@
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+# This file is generated from configure.in by Autoconf. DO NOT EDIT!
+ # Local preconfigure fragment for sysdeps/x86_64
+
test -n "$base_machine" || case "$machine" in
x86_64)
base_machine=x86_64
lib_names_awk=sysdeps/x86_64/lib-names.awk
- if echo __LP64__ | ${CC-cc} $CFLAGS $CPPFLAGS -E - | grep __LP64__ > /dev/null; then
+ # Check if we are building for x32.
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC compiles in -mx32 mode by default" >&5
+$as_echo_n "checking whether $CC compiles in -mx32 mode by default... " >&6; }
+if ${libc_cv_x32+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __LP64__
+# error not x32
+#endif
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ libc_cv_x32=yes
+else
+ libc_cv_x32=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_x32" >&5
+$as_echo "$libc_cv_x32" >&6; }
+ if test $libc_cv_x32 = yes; then
machine=x86_64/x32
- libc_cv_slibdir="/libx32"
- if test "$libdir" = '${exec_prefix}/lib'; then
- libdir='${exec_prefix}/libx32';
- # Locale data can be shared.
- libc_cv_localedir='${exec_prefix}/lib/locale'
- fi
else
machine=x86_64/64
fi
+ ;;
esac
diff --git a/sysdeps/x86_64/preconfigure.in b/sysdeps/x86_64/preconfigure.in
new file mode 100644
index 0000000..6cf758c
--- /dev/null
+++ b/sysdeps/x86_64/preconfigure.in
@@ -0,0 +1,21 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local preconfigure fragment for sysdeps/x86_64
+
+test -n "$base_machine" || case "$machine" in
+x86_64)
+ base_machine=x86_64
+ lib_names_awk=sysdeps/x86_64/lib-names.awk
+ # Check if we are building for x32.
+ AC_CACHE_CHECK(whether $CC compiles in -mx32 mode by default,
+ libc_cv_x32, [dnl
+ AC_TRY_COMPILE(dnl
+[#ifdef __LP64__
+# error not x32
+#endif], [], libc_cv_x32=yes, libc_cv_x32=no)])
+ if test $libc_cv_x32 = yes; then
+ machine=x86_64/x32
+ else
+ machine=x86_64/64
+ fi
+ ;;
+esac
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=27740da9ce355631c6abc69f468e1e417cb03c94
commit 27740da9ce355631c6abc69f468e1e417cb03c94
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Mar 22 09:29:33 2012 -0700
Forward declare La_x32_regs and La_x32_retval
2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/generic/ldsodefs.h (struct La_x32_regs): New forward
declaration.
(struct La_x32_retval): Likewise.
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index c13f140..9b114d5 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,3 +1,9 @@
+2012-03-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/generic/ldsodefs.h (struct La_x32_regs): New forward
+ declaration.
+ (struct La_x32_retval): Likewise.
+
2012-03-21 H.J. Lu <hongjiu.lu@intel.com>
* elf/tst-auditmod1.c: Use La_x32_regs and La_x32_retval.
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index d4cbaba..9955430 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -187,6 +187,8 @@ struct La_i86_regs;
struct La_i86_retval;
struct La_x86_64_regs;
struct La_x86_64_retval;
+struct La_x32_regs;
+struct La_x32_retval;
struct La_ppc32_regs;
struct La_ppc32_retval;
struct La_ppc64_regs;
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=2699747c0b87da65be19abaeed5b2e2b8ee894b6
commit 2699747c0b87da65be19abaeed5b2e2b8ee894b6
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Mar 21 17:17:49 2012 -0700
Add La_x32_regs and La_x32_retval
2012-03-21 H.J. Lu <hongjiu.lu@intel.com>
* elf/tst-auditmod1.c: Use La_x32_regs and La_x32_retval.
* elf/tst-auditmod3b.c: Likewise.
* elf/tst-auditmod4b.c: Likewise.
* elf/tst-auditmod5b.c: Likewise.
* elf/tst-auditmod6b.c: Likewise.
* elf/tst-auditmod6c.c: Likewise.
* elf/tst-auditmod7b.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/x86_64/bits/link.h (La_x32_regs): New macro.
(La_x32_retval): Likewise.
(la_x32_gnu_pltenter): Use La_x32_regs.
(la_x32_gnu_pltexit): Use La_x32_regs and La_x32_retval.
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index d102e14..c13f140 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,5 +1,21 @@
2012-03-21 H.J. Lu <hongjiu.lu@intel.com>
+ * elf/tst-auditmod1.c: Use La_x32_regs and La_x32_retval.
+ * elf/tst-auditmod3b.c: Likewise.
+ * elf/tst-auditmod4b.c: Likewise.
+ * elf/tst-auditmod5b.c: Likewise.
+ * elf/tst-auditmod6b.c: Likewise.
+ * elf/tst-auditmod6c.c: Likewise.
+ * elf/tst-auditmod7b.c: Likewise.
+ * sysdeps/generic/ldsodefs.h: Likewise.
+
+ * sysdeps/x86_64/bits/link.h (La_x32_regs): New macro.
+ (La_x32_retval): Likewise.
+ (la_x32_gnu_pltenter): Use La_x32_regs.
+ (la_x32_gnu_pltexit): Use La_x32_regs and La_x32_retval.
+
+2012-03-21 H.J. Lu <hongjiu.lu@intel.com>
+
* stdio-common/_itowa.c: Check _ITOA_NEEDED instead of
_ITOWA_NEEDED.
diff --git a/elf/tst-auditmod1.c b/elf/tst-auditmod1.c
index f762027..67fc758 100644
--- a/elf/tst-auditmod1.c
+++ b/elf/tst-auditmod1.c
@@ -112,12 +112,14 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
# ifdef __LP64__
# define pltenter la_x86_64_gnu_pltenter
# define pltexit la_x86_64_gnu_pltexit
+# define La_regs La_x86_64_regs
+# define La_retval La_x86_64_retval
# else
# define pltenter la_x32_gnu_pltenter
# define pltexit la_x32_gnu_pltexit
+# define La_regs La_x32_regs
+# define La_retval La_x32_retval
# endif
-# define La_regs La_x86_64_regs
-# define La_retval La_x86_64_retval
# define int_retval lrv_rax
#elif defined __powerpc__ && __WORDSIZE == 32
# define pltenter la_ppc32_gnu_pltenter
diff --git a/elf/tst-auditmod3b.c b/elf/tst-auditmod3b.c
index d1bb9b0..921eaca 100644
--- a/elf/tst-auditmod3b.c
+++ b/elf/tst-auditmod3b.c
@@ -108,12 +108,14 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
#ifdef __LP64__
# define pltenter la_x86_64_gnu_pltenter
# define pltexit la_x86_64_gnu_pltexit
+# define La_regs La_x86_64_regs
+# define La_retval La_x86_64_retval
#else
# define pltenter la_x32_gnu_pltenter
# define pltexit la_x32_gnu_pltexit
+# define La_regs La_x32_regs
+# define La_retval La_x32_retval
#endif
-#define La_regs La_x86_64_regs
-#define La_retval La_x86_64_retval
#define int_retval lrv_rax
#include <tst-audit.h>
diff --git a/elf/tst-auditmod4b.c b/elf/tst-auditmod4b.c
index 222f3b7..75e8558 100644
--- a/elf/tst-auditmod4b.c
+++ b/elf/tst-auditmod4b.c
@@ -97,12 +97,14 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
#ifdef __LP64__
# define pltenter la_x86_64_gnu_pltenter
# define pltexit la_x86_64_gnu_pltexit
+# define La_regs La_x86_64_regs
+# define La_retval La_x86_64_retval
#else
# define pltenter la_x32_gnu_pltenter
# define pltexit la_x32_gnu_pltexit
+# define La_regs La_x32_regs
+# define La_retval La_x32_retval
#endif
-#define La_regs La_x86_64_regs
-#define La_retval La_x86_64_retval
#define int_retval lrv_rax
#include <tst-audit.h>
diff --git a/elf/tst-auditmod5b.c b/elf/tst-auditmod5b.c
index 78fe838..d2443c8 100644
--- a/elf/tst-auditmod5b.c
+++ b/elf/tst-auditmod5b.c
@@ -98,12 +98,14 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
#ifdef __LP64__
# define pltenter la_x86_64_gnu_pltenter
# define pltexit la_x86_64_gnu_pltexit
+# define La_regs La_x86_64_regs
+# define La_retval La_x86_64_retval
#else
# define pltenter la_x32_gnu_pltenter
# define pltexit la_x32_gnu_pltexit
+# define La_regs La_x32_regs
+# define La_retval La_x32_retval
#endif
-#define La_regs La_x86_64_regs
-#define La_retval La_x86_64_retval
#define int_retval lrv_rax
#include <tst-audit.h>
diff --git a/elf/tst-auditmod6b.c b/elf/tst-auditmod6b.c
index 016b07b..b00dcd7 100644
--- a/elf/tst-auditmod6b.c
+++ b/elf/tst-auditmod6b.c
@@ -97,12 +97,14 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
#ifdef __LP64__
# define pltenter la_x86_64_gnu_pltenter
# define pltexit la_x86_64_gnu_pltexit
+# define La_regs La_x86_64_regs
+# define La_retval La_x86_64_retval
#else
# define pltenter la_x32_gnu_pltenter
# define pltexit la_x32_gnu_pltexit
+# define La_regs La_x32_regs
+# define La_retval La_x32_retval
#endif
-#define La_regs La_x86_64_regs
-#define La_retval La_x86_64_retval
#define int_retval lrv_rax
#include <tst-audit.h>
diff --git a/elf/tst-auditmod6c.c b/elf/tst-auditmod6c.c
index 015be08..a78c913 100644
--- a/elf/tst-auditmod6c.c
+++ b/elf/tst-auditmod6c.c
@@ -97,12 +97,14 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
#ifdef __LP64__
# define pltenter la_x86_64_gnu_pltenter
# define pltexit la_x86_64_gnu_pltexit
+# define La_regs La_x86_64_regs
+# define La_retval La_x86_64_retval
#else
# define pltenter la_x32_gnu_pltenter
# define pltexit la_x32_gnu_pltexit
+# define La_regs La_x32_regs
+# define La_retval La_x32_retval
#endif
-#define La_regs La_x86_64_regs
-#define La_retval La_x86_64_retval
#define int_retval lrv_rax
#include <tst-audit.h>
diff --git a/elf/tst-auditmod7b.c b/elf/tst-auditmod7b.c
index 48b6626..d761149 100644
--- a/elf/tst-auditmod7b.c
+++ b/elf/tst-auditmod7b.c
@@ -97,12 +97,14 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
#ifdef __LP64__
# define pltenter la_x86_64_gnu_pltenter
# define pltexit la_x86_64_gnu_pltexit
+# define La_regs La_x86_64_regs
+# define La_retval La_x86_64_retval
#else
# define pltenter la_x32_gnu_pltenter
# define pltexit la_x32_gnu_pltexit
+# define La_regs La_x32_regs
+# define La_retval La_x32_retval
#endif
-#define La_regs La_x86_64_regs
-#define La_retval La_x86_64_retval
#define int_retval lrv_rax
#include <tst-audit.h>
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index e5ed2be..d4cbaba 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -226,7 +226,7 @@ struct audit_ifaces
unsigned int *, const char *name,
long int *framesizep);
Elf32_Addr (*x32_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
- uintptr_t *, struct La_x86_64_regs *,
+ uintptr_t *, struct La_x32_regs *,
unsigned int *, const char *name,
long int *framesizep);
Elf32_Addr (*ppc32_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
@@ -275,7 +275,7 @@ struct audit_ifaces
const char *);
unsigned int (*x32_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *,
uintptr_t *,
- const struct La_x86_64_regs *,
+ const struct La_x32_regs *,
struct La_x86_64_retval *,
const char *);
unsigned int (*ppc32_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *,
diff --git a/sysdeps/x86_64/bits/link.h b/sysdeps/x86_64/bits/link.h
index 4dc255a..fa20910 100644
--- a/sysdeps/x86_64/bits/link.h
+++ b/sysdeps/x86_64/bits/link.h
@@ -105,6 +105,8 @@ typedef struct La_x86_64_retval
La_x86_64_vector lrv_vector1;
} La_x86_64_retval;
+#define La_x32_regs La_x86_64_regs
+#define La_x32_retval La_x86_64_retval
__BEGIN_DECLS
@@ -128,7 +130,7 @@ extern Elf32_Addr la_x32_gnu_pltenter (Elf32_Sym *__sym,
unsigned int __ndx,
uintptr_t *__refcook,
uintptr_t *__defcook,
- La_x86_64_regs *__regs,
+ La_x32_regs *__regs,
unsigned int *__flags,
const char *__symname,
long int *__framesizep);
@@ -136,8 +138,8 @@ extern unsigned int la_x32_gnu_pltexit (Elf32_Sym *__sym,
unsigned int __ndx,
uintptr_t *__refcook,
uintptr_t *__defcook,
- const La_x86_64_regs *__inregs,
- La_x86_64_retval *__outregs,
+ const La_x32_regs *__inregs,
+ La_x32_retval *__outregs,
const char *__symname);
__END_DECLS
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=3d4333132425eed03aa8c046dbbe71993e0f7701
commit 3d4333132425eed03aa8c046dbbe71993e0f7701
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Mar 21 14:44:14 2012 -0700
Remove _ITOWA_NEEDED and _ITOWA_WORD_TYPE
2012-03-21 H.J. Lu <hongjiu.lu@intel.com>
* stdio-common/_itowa.c: Check _ITOA_NEEDED instead of
_ITOWA_NEEDED.
* stdio-common/_itowa.h: Include <_itoa.h> instead of <limits.h>.
(_ITOWA_NEEDED): Removed.
(_ITOWA_WORD_TYPE): Likewise.
(_itowa_word): Replace _ITOWA_WORD_TYPE with _ITOA_WORD_TYPE.
(_itowa): Check _ITOA_NEEDED instead of _ITOWA_NEEDED.
* sysdeps/generic/_itoa.h: Update comments.
* sysdeps/x86_64/x32/_itowa.h: Removed.
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index 66dcec8..d102e14 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,5 +1,20 @@
2012-03-21 H.J. Lu <hongjiu.lu@intel.com>
+ * stdio-common/_itowa.c: Check _ITOA_NEEDED instead of
+ _ITOWA_NEEDED.
+
+ * stdio-common/_itowa.h: Include <_itoa.h> instead of <limits.h>.
+ (_ITOWA_NEEDED): Removed.
+ (_ITOWA_WORD_TYPE): Likewise.
+ (_itowa_word): Replace _ITOWA_WORD_TYPE with _ITOA_WORD_TYPE.
+ (_itowa): Check _ITOA_NEEDED instead of _ITOWA_NEEDED.
+
+ * sysdeps/generic/_itoa.h: Update comments.
+
+ * sysdeps/x86_64/x32/_itowa.h: Removed.
+
+2012-03-21 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/unix/sysv/linux/configure.in: Don't set
arch_minimum_kernel for x32. Check x86_64* instead of x86_64/64
for libc_cv_slibdir and libc_cv_localedir.
diff --git a/stdio-common/_itowa.c b/stdio-common/_itowa.c
index 99ac3a3..9381d33 100644
--- a/stdio-common/_itowa.c
+++ b/stdio-common/_itowa.c
@@ -85,7 +85,7 @@ extern const wchar_t _itowa_lower_digits[] attribute_hidden;
extern const wchar_t _itowa_upper_digits[] attribute_hidden;
-#if _ITOWA_NEEDED
+#if _ITOA_NEEDED
wchar_t *
_itowa (value, buflim, base, upper_case)
unsigned long long int value;
diff --git a/stdio-common/_itowa.h b/stdio-common/_itowa.h
index 611c4ae..aa34957 100644
--- a/stdio-common/_itowa.h
+++ b/stdio-common/_itowa.h
@@ -20,22 +20,7 @@
#define _ITOWA_H 1
#include <features.h>
#include <wchar.h>
-#include <limits.h>
-
-/* When long long is different from long, by default, _itowa_word is
- provided to convert long to ASCII and _itowa is provided to convert
- long long. A target can define _ITOWA_NEEDED to 0 and define
- _ITOWA_WORD_TYPE to unsigned long long int to override it so that
- _itowa_word is changed to convert long long to ASCII and _itowa is
- mapped to _itowa_word. */
-
-#ifndef _ITOWA_NEEDED
-# define _ITOWA_NEEDED (LONG_MAX != LLONG_MAX)
-#endif
-#ifndef _ITOWA_WORD_TYPE
-# define _ITOWA_WORD_TYPE unsigned long int
-#endif
-
+#include <_itoa.h>
/* Convert VALUE into ASCII in base BASE (2..36).
Write backwards starting the character just before BUFLIM.
@@ -47,7 +32,7 @@ extern wchar_t *_itowa (unsigned long long int value, wchar_t *buflim,
static inline wchar_t *
__attribute__ ((unused, always_inline))
-_itowa_word (_ITOWA_WORD_TYPE value, wchar_t *buflim,
+_itowa_word (_ITOA_WORD_TYPE value, wchar_t *buflim,
unsigned int base, int upper_case)
{
extern const wchar_t _itowa_upper_digits[] attribute_hidden;
@@ -77,7 +62,7 @@ _itowa_word (_ITOWA_WORD_TYPE value, wchar_t *buflim,
}
#undef SPECIAL
-#if !_ITOWA_NEEDED
+#if !_ITOA_NEEDED
/* No need for special long long versions. */
# define _itowa(value, buf, base, upper_case) \
_itowa_word (value, buf, base, upper_case)
diff --git a/sysdeps/generic/_itoa.h b/sysdeps/generic/_itoa.h
index b341577..0a67043 100644
--- a/sysdeps/generic/_itoa.h
+++ b/sysdeps/generic/_itoa.h
@@ -23,7 +23,7 @@
/* When long long is different from long, by default, _itoa_word is
provided to convert long to ASCII and _itoa is provided to convert
- long long. A target can define _ITOA_NEEDED to 0 and define
+ long long. A sysdeps _itoa.h can define _ITOA_NEEDED to 0 and define
_ITOA_WORD_TYPE to unsigned long long int to override it so that
_itoa_word is changed to convert long long to ASCII and _itoa is
mapped to _itoa_word. */
diff --git a/sysdeps/x86_64/x32/_itowa.h b/sysdeps/x86_64/x32/_itowa.h
deleted file mode 100644
index b28fdcb..0000000
--- a/sysdeps/x86_64/x32/_itowa.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#define _ITOWA_NEEDED 0
-#define _ITOWA_WORD_TYPE unsigned long long int
-#include_next <_itowa.h>
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=cc4916441a4d685c1662aae7c109ea5c5730cbe9
commit cc4916441a4d685c1662aae7c109ea5c5730cbe9
Merge: 38f7d64 7785fe5
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Mar 21 13:17:19 2012 -0700
Merge remote-tracking branch 'origin/master' into hjl/x32/master
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=38f7d6435bd61a7fdf21616e34ad30b08d5ab197
commit 38f7d6435bd61a7fdf21616e34ad30b08d5ab197
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Mar 21 13:16:58 2012 -0700
Check x86_64* instead of x86_64/64
2012-03-21 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/unix/sysv/linux/configure.in: Don't set
arch_minimum_kernel for x32. Check x86_64* instead of x86_64/64
for libc_cv_slibdir and libc_cv_localedir.
* sysdeps/unix/sysv/linux/configure: Regenerated.
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index 5312715..66dcec8 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,3 +1,10 @@
+2012-03-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/unix/sysv/linux/configure.in: Don't set
+ arch_minimum_kernel for x32. Check x86_64* instead of x86_64/64
+ for libc_cv_slibdir and libc_cv_localedir.
+ * sysdeps/unix/sysv/linux/configure: Regenerated.
+
2012-03-20 H.J. Lu <hongjiu.lu@intel.com>
* stdio-common/_itowa.h: Update comments.
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index 9818315..3103161 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/x32*)
- arch_minimum_kernel=2.6.35
- ;;
x86_64*)
arch_minimum_kernel=2.4.0
;;
@@ -396,7 +393,7 @@ case "$prefix" in
# and libc_cv_localedir.
test -n "$libc_cv_slibdir" || \
case $machine in
- sparc/sparc64 | x86_64/64 | powerpc/powerpc64 | s390/s390-64)
+ sparc/sparc64 | x86_64* | 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 cff7c29..556ca84 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/x32*)
- arch_minimum_kernel=2.6.35
- ;;
x86_64*)
arch_minimum_kernel=2.4.0
;;
@@ -135,7 +132,7 @@ case "$prefix" in
# and libc_cv_localedir.
test -n "$libc_cv_slibdir" || \
case $machine in
- sparc/sparc64 | x86_64/64 | powerpc/powerpc64 | s390/s390-64)
+ sparc/sparc64 | x86_64* | powerpc/powerpc64 | s390/s390-64)
libc_cv_slibdir="/lib64"
if test "$libdir" = '${exec_prefix}/lib'; then
libdir='${exec_prefix}/lib64';
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 233 ++++++++++++++++++++
ChangeLog.x32 | 84 +++++++
Makefile | 6 +-
NEWS | 13 +-
NOTES | 223 -------------------
README | 4 -
aclocal.m4 | 6 +
config.make.in | 1 +
configure | 39 +++-
configure.in | 30 ++--
conform/conformtest.pl | 11 +-
conform/run-conformtest.sh | 5 +-
elf/tst-auditmod1.c | 6 +-
elf/tst-auditmod3b.c | 6 +-
elf/tst-auditmod4b.c | 6 +-
elf/tst-auditmod5b.c | 6 +-
elf/tst-auditmod6b.c | 6 +-
elf/tst-auditmod6c.c | 6 +-
elf/tst-auditmod7b.c | 6 +-
grp/Makefile | 6 -
include/link.h | 5 +
inet/Makefile | 5 -
login/Makefile | 5 -
manual/creature.texi | 1 -
manual/intro.texi | 1 -
manual/lang.texi | 66 ------
math/e_exp2l.c | 44 ++++-
math/libm-test.inc | 269 ++++++++++++++++++++++-
math/s_cexp.c | 31 ++-
math/s_cexpf.c | 31 ++-
math/s_cexpl.c | 31 ++-
math/w_exp2.c | 14 +-
math/w_exp2f.c | 14 +-
math/w_exp2l.c | 15 +-
nscd/Makefile | 5 -
nss/Makefile | 16 +-
posix/Makefile | 8 -
pwd/Makefile | 5 -
resolv/Makefile | 4 +-
rt/Makefile | 5 -
stdio-common/_itowa.c | 2 +-
stdio-common/_itowa.h | 21 +--
sunrpc/Makefile | 5 -
sysdeps/generic/_itoa.h | 2 +-
sysdeps/generic/ldsodefs.h | 6 +-
sysdeps/i386/configure | 18 +-
sysdeps/i386/configure.in | 48 ++---
sysdeps/i386/fpu/e_pow.S | 47 +++--
sysdeps/i386/fpu/e_powf.S | 47 +++--
sysdeps/i386/fpu/e_powl.S | 41 ++++
sysdeps/i386/fpu/libm-test-ulps | 123 +++++++++--
sysdeps/i386/fpu/s_cexp.S | 253 ---------------------
sysdeps/i386/fpu/s_cexpf.S | 257 ----------------------
sysdeps/i386/fpu/s_cexpl.S | 256 ---------------------
sysdeps/ieee754/dbl-64/Makefile | 4 +
sysdeps/ieee754/dbl-64/e_pow.c | 2 +-
sysdeps/ieee754/ldbl-128/k_cosl.c | 6 +-
sysdeps/ieee754/ldbl-128/k_sincosl.c | 6 +-
sysdeps/ieee754/ldbl-128/k_sinl.c | 2 +-
sysdeps/ieee754/ldbl-128ibm/e_powl.c | 4 +-
sysdeps/ieee754/ldbl-128ibm/k_cosl.c | 6 +-
sysdeps/ieee754/ldbl-128ibm/k_sincosl.c | 6 +-
sysdeps/ieee754/ldbl-128ibm/k_sinl.c | 2 +-
sysdeps/ieee754/ldbl-opt/configure | 161 +++++++++++---
sysdeps/powerpc/configure | 103 ++++++++-
sysdeps/powerpc/fpu/libm-test-ulps | 84 +++++++-
sysdeps/powerpc/powerpc32/configure | 114 ++++++++--
sysdeps/powerpc/powerpc64/configure | 114 ++++++++--
sysdeps/sparc/fpu/libm-test-ulps | 26 +++
sysdeps/unix/sysv/linux/configure | 5 +-
sysdeps/unix/sysv/linux/configure.in | 5 +-
sysdeps/unix/sysv/linux/powerpc/configure | 198 +++++++++++------
sysdeps/unix/sysv/linux/x86_64/x32/configure | 19 ++
sysdeps/unix/sysv/linux/x86_64/x32/configure.in | 19 ++
sysdeps/x86_64/64/Implies | 1 +
sysdeps/x86_64/bits/link.h | 8 +-
sysdeps/x86_64/{64 => common}/bits/wordsize.h | 0
sysdeps/x86_64/dl-irel.h | 2 +-
sysdeps/x86_64/dl-machine.h | 6 +-
sysdeps/x86_64/dl-tls.h | 4 +-
sysdeps/x86_64/dl-tlsdesc.h | 24 ++-
sysdeps/x86_64/fpu/e_powl.S | 41 ++++
sysdeps/x86_64/fpu/libm-test-ulps | 56 +++++-
sysdeps/x86_64/fpu/multiarch/Makefile | 3 +-
sysdeps/x86_64/fpu/multiarch/brandred-fma4.c | 4 -
sysdeps/x86_64/fpu/multiarch/s_sin-fma4.c | 1 -
sysdeps/x86_64/fpu/multiarch/s_tan-fma4.c | 1 -
sysdeps/x86_64/preconfigure | 161 +++++++++++++-
sysdeps/x86_64/preconfigure.in | 21 ++
sysdeps/x86_64/x32/Implies | 1 +
sysdeps/x86_64/x32/_itowa.h | 3 -
sysdeps/x86_64/x32/bits/wordsize.h | 11 -
timezone/Makefile | 5 -
93 files changed, 2077 insertions(+), 1566 deletions(-)
delete mode 100644 NOTES
delete mode 100644 sysdeps/i386/fpu/s_cexp.S
delete mode 100644 sysdeps/i386/fpu/s_cexpf.S
delete mode 100644 sysdeps/i386/fpu/s_cexpl.S
create mode 100644 sysdeps/ieee754/dbl-64/Makefile
create mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/configure
create mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/configure.in
rename sysdeps/x86_64/{64 => common}/bits/wordsize.h (100%)
delete mode 100644 sysdeps/x86_64/fpu/multiarch/brandred-fma4.c
create mode 100644 sysdeps/x86_64/preconfigure.in
delete mode 100644 sysdeps/x86_64/x32/_itowa.h
delete mode 100644 sysdeps/x86_64/x32/bits/wordsize.h
hooks/post-receive
--
GNU C Library master sources