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, master, updated. glibc-2.15-847-g9fb1a21


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, master has been updated
       via  9fb1a21f4d33c4c82719d6130e149eb2c5a51ae8 (commit)
       via  d3c6600440bfa95db3bb1ddd6c75dc43cffb79e7 (commit)
       via  4822a2a5207d0aa43160a7a95cb1ac244a350511 (commit)
      from  60d45b36a5cf5befde06d44424c720edf1f88244 (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=9fb1a21f4d33c4c82719d6130e149eb2c5a51ae8

commit 9fb1a21f4d33c4c82719d6130e149eb2c5a51ae8
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri May 11 16:31:34 2012 -0700

    Add x32 support to STACK_CHK_GUARD

diff --git a/ChangeLog b/ChangeLog
index 9d8a713..0c4a814 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2012-05-11  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* elf/stackguard-macros.h (STACK_CHK_GUARD) [__x86_64__]: Use
+	"%c1" with "i" (offsetof (tcbhead_t, stack_guard)).
+
+2012-05-11  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* elf/tls-macros.h (TLS_LE): Use mov instead of movq to load
 	thread pointer.
 	(TLS_IE): Use mov/add instead of movq/addq to load thread
diff --git a/elf/stackguard-macros.h b/elf/stackguard-macros.h
index a9889cf..0cad315 100644
--- a/elf/stackguard-macros.h
+++ b/elf/stackguard-macros.h
@@ -5,7 +5,9 @@
   ({ uintptr_t x; asm ("movl %%gs:0x14, %0" : "=r" (x)); x; })
 #elif defined __x86_64__
 # define STACK_CHK_GUARD \
-  ({ uintptr_t x; asm ("movq %%fs:0x28, %0" : "=r" (x)); x; })
+  ({ uintptr_t x;						\
+     asm ("mov %%fs:%c1, %0" : "=r" (x)				\
+	  : "i" (offsetof (tcbhead_t, stack_guard))); x; })
 #elif defined __powerpc64__
 # define STACK_CHK_GUARD \
   ({ uintptr_t x; asm ("ld %0,-28688(13)" : "=r" (x)); x; })

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d3c6600440bfa95db3bb1ddd6c75dc43cffb79e7

commit d3c6600440bfa95db3bb1ddd6c75dc43cffb79e7
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri May 11 14:58:18 2012 -0700

    Update comments for CALL_THREAD_FCT

diff --git a/nptl/sysdeps/x86_64/x32/tls.h b/nptl/sysdeps/x86_64/x32/tls.h
index 6cc0ea7..7be337f 100644
--- a/nptl/sysdeps/x86_64/x32/tls.h
+++ b/nptl/sysdeps/x86_64/x32/tls.h
@@ -23,11 +23,11 @@
 
 #ifndef __ASSEMBLER__
 
-/* X32 doesn't support 32-bit indirect call via memory.  Instead, we
-   load 32-bit address from memory into the lower 32bits of return
-   register, which will automatically zero-extend the uppper 32-bits
-   of return register.  We then do the indirect call via 64-bit return
-   register.  */
+/* X32 doesn't support 32-bit indirect calls via memory.  Instead, we
+   load the 32-bit address from memory into the lower 32 bits of the
+   return-value register, which will automatically zero-extend the upper
+   32 bits of the return-value register.  We then do the indirect call
+   via the 64-bit return-value register.  */
 # undef CALL_THREAD_FCT
 # define CALL_THREAD_FCT(descr) \
   ({ void *__res;							      \

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=4822a2a5207d0aa43160a7a95cb1ac244a350511

commit 4822a2a5207d0aa43160a7a95cb1ac244a350511
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri May 11 14:35:56 2012 -0700

    Add x32 support to TLS_LE/TLS_IE/TLS_GD

diff --git a/ChangeLog b/ChangeLog
index d3a2a8e..9d8a713 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2012-05-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf/tls-macros.h (TLS_LE): Use mov instead of movq to load
+	thread pointer.
+	(TLS_IE): Use mov/add instead of movq/addq to load thread
+	pointer.
+	(TLS_GD_PREFIX): New.
+	(TLS_GD): Use it.
+
 2012-05-11  David S. Miller  <davem@davemloft.net>
 
 	* sysdeps/sparc/fpu/bits/fenv.h (__fenv_stfsr): Add __volatile__.
diff --git a/elf/tls-macros.h b/elf/tls-macros.h
index ea6f14f..e753d5c 100644
--- a/elf/tls-macros.h
+++ b/elf/tls-macros.h
@@ -101,15 +101,15 @@
 
 # define TLS_LE(x) \
   ({ int *__l;								      \
-     asm ("movq %%fs:0,%0\n\t"						      \
-	  "leaq " #x "@tpoff(%0), %0"					      \
+     asm ("mov %%fs:0,%0\n\t"						      \
+	  "lea " #x "@tpoff(%0), %0"					      \
 	  : "=r" (__l));						      \
      __l; })
 
 # define TLS_IE(x) \
   ({ int *__l;								      \
-     asm ("movq %%fs:0,%0\n\t"						      \
-	  "addq " #x "@gottpoff(%%rip),%0"				      \
+     asm ("mov %%fs:0,%0\n\t"						      \
+	  "add " #x "@gottpoff(%%rip),%0"				      \
 	  : "=r" (__l));						      \
      __l; })
 
@@ -122,9 +122,15 @@
 	  : : "rdi", "rsi", "r8", "r9", "r10", "r11"); 			      \
      __l; })
 
+# ifdef __ILP32__
+#  define TLS_GD_PREFIX
+# else
+#  define TLS_GD_PREFIX	".byte 0x66\n\t"
+# endif
+
 # define TLS_GD(x) \
   ({ int *__l, __c, __d;						      \
-     asm (".byte 0x66\n\t"						      \
+     asm (TLS_GD_PREFIX							      \
 	  "leaq " #x "@tlsgd(%%rip),%%rdi\n\t"				      \
 	  ".word 0x6666\n\t"						      \
 	  "rex64\n\t"							      \

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                     |   14 ++++++++++++++
 elf/stackguard-macros.h       |    4 +++-
 elf/tls-macros.h              |   16 +++++++++++-----
 nptl/sysdeps/x86_64/x32/tls.h |   10 +++++-----
 4 files changed, 33 insertions(+), 11 deletions(-)


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]