00db10
# commit b525166bb93b060e1146f0263b76a9c1e7455b06
00db10
# Author: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
00db10
# Date:   Wed Dec 4 06:45:56 2013 -0600
00db10
# 
00db10
#     PowerPC64: Add __private_ss field to TCB header
00db10
#     
00db10
#     The TCB header on Intel contains a field __private_ss that is used
00db10
#     to efficiently implement the -fsplit-stack GCC feature.
00db10
#     
00db10
#     In order to prepare for a possible future implementation of that
00db10
#     feature on powerpc64, we'd like to reserve a similar field in
00db10
#     the TCB header as well.  (It would be good if this went in with
00db10
#     or before the ELFv2 patches to ensure that this field will be
00db10
#     available always in the ELFv2 environment.)
00db10
#     
00db10
#     The field needs to be added at the front of tcbhead_t structure
00db10
#     to avoid changing the ABI; see the recent discussion when adding
00db10
#     the EBB fields.
00db10
# 
00db10
diff -urN glibc-2.17-c758a686/nptl/sysdeps/powerpc/tls.h glibc-2.17-c758a686/nptl/sysdeps/powerpc/tls.h
00db10
--- glibc-2.17-c758a686/nptl/sysdeps/powerpc/tls.h	2014-05-29 13:19:25.000000000 -0500
00db10
+++ glibc-2.17-c758a686/nptl/sysdeps/powerpc/tls.h	2014-05-29 13:19:25.000000000 -0500
00db10
@@ -61,6 +61,8 @@
00db10
    are private.  */
00db10
 typedef struct
00db10
 {
00db10
+  /* GCC split stack support.  */
00db10
+  void *__private_ss;
00db10
   /* Reservation for the Event-Based Branching ABI.  */
00db10
   uintptr_t ebb_handler;
00db10
   uintptr_t ebb_ctx_pointer;