about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2013-05-15 20:20:54 +0200
committerAndreas Jaeger <aj@suse.de>2013-05-15 20:20:54 +0200
commitecbf434213c0333d81706074e4d107ac45011635 (patch)
tree3f714c4c400768847f49c89d56cf116214715657 /nptl
parent12fba011bde4332687819ada867992192e5105f7 (diff)
downloadglibc-ecbf434213c0333d81706074e4d107ac45011635.tar.gz
glibc-ecbf434213c0333d81706074e4d107ac45011635.tar.xz
glibc-ecbf434213c0333d81706074e4d107ac45011635.zip
Reserve new TLS field for x86 and x86_64
	[BZ #10686]
	* sysdeps/x86_64/tls.h (struct tcbhead_t): Add __private_ss
	field.
	* sysdeps/i386/tls.h (struct tcbhead_t): Likewise.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog6
-rw-r--r--nptl/sysdeps/i386/tls.h4
-rw-r--r--nptl/sysdeps/x86_64/tls.h4
3 files changed, 12 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 54ecd14ced..597b3bdee3 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,9 @@
+2013-05-14  Andreas Jaeger  <aj@suse.de>
+
+	[BZ #10686]
+	* sysdeps/x86_64/tls.h (struct tcbhead_t): Add __private_ss field.
+	* sysdeps/i386/tls.h (struct tcbhead_t): Likewise.
+
 2013-05-09  Andi Kleen  <ak@linux.intel.com>
 
 	* tst-mutex8.c (do_test): Check for ENABLE_PI.
diff --git a/nptl/sysdeps/i386/tls.h b/nptl/sysdeps/i386/tls.h
index 1405f60391..3d18b1de73 100644
--- a/nptl/sysdeps/i386/tls.h
+++ b/nptl/sysdeps/i386/tls.h
@@ -59,7 +59,9 @@ typedef struct
   int __unused1;
 #endif
   /* Reservation of some values for the TM ABI.  */
-  void *__private_tm[5];
+  void *__private_tm[4];
+  /* GCC split stack support.  */
+  void *__private_ss;
 } tcbhead_t;
 
 # define TLS_MULTIPLE_THREADS_IN_TCB 1
diff --git a/nptl/sysdeps/x86_64/tls.h b/nptl/sysdeps/x86_64/tls.h
index 3d67dbc75a..61df1af2b0 100644
--- a/nptl/sysdeps/x86_64/tls.h
+++ b/nptl/sysdeps/x86_64/tls.h
@@ -69,7 +69,9 @@ typedef struct
 # endif
   int rtld_must_xmm_save;
   /* Reservation of some values for the TM ABI.  */
-  void *__private_tm[5];
+  void *__private_tm[4];
+  /* GCC split stack support.  */
+  void *__private_ss;
   long int __unused2;
   /* Have space for the post-AVX register size.  */
   __128bits rtld_savespace_sse[8][4] __attribute__ ((aligned (32)));