summaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd/i386/tls.h
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2014-04-16 23:43:28 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2014-04-16 23:43:28 +0200
commit9f2a4fbc3c3265227f1493469ad67a81a786c3b1 (patch)
treef3b0d3cacd5f2b486fe0f1b4d719b3b0620dd9d4 /sysdeps/mach/hurd/i386/tls.h
parentfd15a59b20220a2d89d628ecebfcaad1ddefe871 (diff)
downloadglibc-9f2a4fbc3c3265227f1493469ad67a81a786c3b1.tar.gz
hurd: Move dtv, dtv_t, tcbhead_t declaration to per-arch file.
Diffstat (limited to 'sysdeps/mach/hurd/i386/tls.h')
-rw-r--r--sysdeps/mach/hurd/i386/tls.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/i386/tls.h b/sysdeps/mach/hurd/i386/tls.h
index 845d53dbaf..e456b75921 100644
--- a/sysdeps/mach/hurd/i386/tls.h
+++ b/sysdeps/mach/hurd/i386/tls.h
@@ -23,6 +23,30 @@
/* 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. */
+} 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