about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Weigand <Ulrich.Weigand@de.ibm.com>2013-12-04 06:45:56 -0600
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>2013-12-04 07:41:38 -0600
commitb525166bb93b060e1146f0263b76a9c1e7455b06 (patch)
tree11b27e8c03bf033a91edac3aa4fa42d0ffc5f24a
parent7ec07d9a7b501f1b7d740fda02ba5f39d6d684e5 (diff)
downloadglibc-b525166bb93b060e1146f0263b76a9c1e7455b06.tar.gz
glibc-b525166bb93b060e1146f0263b76a9c1e7455b06.tar.xz
glibc-b525166bb93b060e1146f0263b76a9c1e7455b06.zip
PowerPC64: Add __private_ss field to TCB header
The TCB header on Intel contains a field __private_ss that is used
to efficiently implement the -fsplit-stack GCC feature.

In order to prepare for a possible future implementation of that
feature on powerpc64, we'd like to reserve a similar field in
the TCB header as well.  (It would be good if this went in with
or before the ELFv2 patches to ensure that this field will be
available always in the ELFv2 environment.)

The field needs to be added at the front of tcbhead_t structure
to avoid changing the ABI; see the recent discussion when adding
the EBB fields.
-rw-r--r--ChangeLog4
-rw-r--r--nptl/sysdeps/powerpc/tls.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 4ac339664a..f56f9f6920 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-12-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+	* sysdeps/powerpc/tls.h (tcbhead_t): Add __private_ss field.
+
 2013-12-04  Alan Modra  <amodra@gmail.com>
 
 	* elf/elf.h (R_PPC64_TLSGD, R_PPC64_TLSLD, R_PPC64_TOCSAVE): Define.
diff --git a/nptl/sysdeps/powerpc/tls.h b/nptl/sysdeps/powerpc/tls.h
index 8e0ada6bfa..c21c0271ef 100644
--- a/nptl/sysdeps/powerpc/tls.h
+++ b/nptl/sysdeps/powerpc/tls.h
@@ -61,6 +61,8 @@ typedef union dtv
    are private.  */
 typedef struct
 {
+  /* GCC split stack support.  */
+  void *__private_ss;
   /* Reservation for the Event-Based Branching ABI.  */
   uintptr_t ebb_handler;
   uintptr_t ebb_ctx_pointer;