This is the mail archive of the glibc-cvs@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]

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


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