Author: sthibault Date: 2014-04-16 22:01:00 +0000 (Wed, 16 Apr 2014) New Revision: 6018
Added: glibc-package/trunk/debian/patches/hurd-i386/cvs-tcbhead_t.diff Modified: glibc-package/trunk/debian/changelog glibc-package/trunk/debian/patches/hurd-i386/tg-tls-threadvar.diff glibc-package/trunk/debian/patches/series Log: hurd-i386/cvs-tcbhead_t.diff: New patch to complete TLS variables to fix gcc's -fsplit-stack support. Modified: glibc-package/trunk/debian/changelog =================================================================== --- glibc-package/trunk/debian/changelog 2014-04-16 21:21:57 UTC (rev 6017) +++ glibc-package/trunk/debian/changelog 2014-04-16 22:01:00 UTC (rev 6018) @@ -12,6 +12,8 @@ pthread_condattr_setclock, for glib2.0 build. * patches/hurd-i386/cvs-munmap-0.diff: New patch to fix gcc's -fsplit-stack initialization. + * patches/hurd-i386/cvs-tcbhead_t.diff: New patch to complete TLS variables, + to fix gcc's -fsplit-stack support. [ Petr Salinger ] * kfreebsd/local-sysdeps.diff: update to revision 5460 (from glibc-bsd). Added: glibc-package/trunk/debian/patches/hurd-i386/cvs-tcbhead_t.diff =================================================================== --- glibc-package/trunk/debian/patches/hurd-i386/cvs-tcbhead_t.diff (rev 0) +++ glibc-package/trunk/debian/patches/hurd-i386/cvs-tcbhead_t.diff 2014-04-16 22:01:00 UTC (rev 6018) @@ -0,0 +1,87 @@ +Move dtv, dtv_t, tcbhead_t declaration to per-arch file. +Add i386 fields to TLS structure + + * sysdeps/mach/hurd/tls.h (dtv, dtv_t, tcbhead_t): Move declarations + to... + * sysdeps/mach/hurd/i386/tls.h: ... here. + (tcbhead_t): Add multiple_threads, sysinfo, stack_guard, + pointer_guard, gscope_flag, private_futex, __private_tm, __private_ss + fields. + +diff --git a/sysdeps/mach/hurd/i386/tls.h b/sysdeps/mach/hurd/i386/tls.h +index 845d53d..03741cd 100644 +--- a/sysdeps/mach/hurd/i386/tls.h ++++ b/sysdeps/mach/hurd/i386/tls.h +@@ -23,6 +23,40 @@ + /* Some things really need not be machine-dependent. */ + #include <sysdeps/mach/hurd/tls.h> + ++ ++#ifndef __ASSEMBLER__ ++/* Type for the dtv. */ ++typedef union dtv ++{ ++ size_t counter; ++ struct ++ { ++ void *val; ++ bool is_static; ++ } pointer; ++} dtv_t; ++ ++ ++/* Type of the TCB. */ ++typedef struct ++{ ++ void *tcb; /* Points to this structure. */ ++ dtv_t *dtv; /* Vector of pointers to TLS data. */ ++ thread_t self; /* This thread's control port. */ ++ int multiple_threads; ++ uintptr_t sysinfo; ++ uintptr_t stack_guard; ++ uintptr_t pointer_guard; ++ int gscope_flag; ++ int private_futex; ++ /* Reservation of some values for the TM ABI. */ ++ void *__private_tm[4]; ++ /* GCC split stack support. */ ++ void *__private_ss; ++} tcbhead_t; ++#endif ++ ++ + /* The TCB can have any size and the memory following the address the + thread pointer points to is unspecified. Allocate the TCB there. */ + #define TLS_TCB_AT_TP 1 +diff --git a/sysdeps/mach/hurd/tls.h b/sysdeps/mach/hurd/tls.h +index dbe73f5..3b8b713 100644 +--- a/sysdeps/mach/hurd/tls.h ++++ b/sysdeps/mach/hurd/tls.h +@@ -27,27 +27,6 @@ + # include <mach.h> + + +-/* Type for the dtv. */ +-typedef union dtv +-{ +- size_t counter; +- struct +- { +- void *val; +- bool is_static; +- } pointer; +-} dtv_t; +- +- +-/* Type of the TCB. */ +-typedef struct +-{ +- void *tcb; /* Points to this structure. */ +- dtv_t *dtv; /* Vector of pointers to TLS data. */ +- thread_t self; /* This thread's control port. */ +-} tcbhead_t; +- +- + /* This is the size of the initial TCB. */ + # define TLS_INIT_TCB_SIZE sizeof (tcbhead_t) + Modified: glibc-package/trunk/debian/patches/hurd-i386/tg-tls-threadvar.diff =================================================================== --- glibc-package/trunk/debian/patches/hurd-i386/tg-tls-threadvar.diff 2014-04-16 21:21:57 UTC (rev 6017) +++ glibc-package/trunk/debian/patches/hurd-i386/tg-tls-threadvar.diff 2014-04-16 22:01:00 UTC (rev 6018) @@ -876,15 +876,15 @@ this. */ #define __mig_get_reply_port() profil_reply_port -diff --git a/sysdeps/mach/hurd/tls.h b/sysdeps/mach/hurd/tls.h +diff --git a/sysdeps/mach/hurd/i386/tls.h b/sysdeps/mach/hurd/i386/tls.h index 230f907..a5f65ff 100644 ---- a/sysdeps/mach/hurd/tls.h -+++ b/sysdeps/mach/hurd/tls.h +--- a/sysdeps/mach/hurd/i386/tls.h ++++ b/sysdeps/mach/hurd/i386/tls.h @@ -47,6 +47,7 @@ typedef struct - void *tcb; /* Points to this structure. */ - dtv_t *dtv; /* Vector of pointers to TLS data. */ - thread_t self; /* This thread's control port. */ + void *__private_tm[4]; + /* GCC split stack support. */ + void *__private_ss; + mach_port_t reply_port; /* This thread's reply port. */ } tcbhead_t; + #endif - Modified: glibc-package/trunk/debian/patches/series =================================================================== --- glibc-package/trunk/debian/patches/series 2014-04-16 21:21:57 UTC (rev 6017) +++ glibc-package/trunk/debian/patches/series 2014-04-16 22:01:00 UTC (rev 6018) @@ -75,6 +75,7 @@ hppa/local-EAGAIN.diff hppa/cvs-hppa-DL_CALL_DT_INIT_FINI.diff +hurd-i386/cvs-tcbhead_t.diff hurd-i386/local-enable-ldconfig.diff hurd-i386/tg-context_functions.diff hurd-i386/tg-tls.diff -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/e1waxt7-0004nc...@moszumanska.debian.org