summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-01-30 00:52:48 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-01-30 00:52:48 +0100
commitef4cf463e59b763f289b80084e70911962da6d6c (patch)
treec834d4e1acfb1f2008ab303a0899732b36bde7ed /sysdeps
parentac56adbb0cbe3ff8995662fed0a644d1aa7acb7b (diff)
hurd: Add tlsdesc.sym
* sysdeps/mach/hurd/i386/tlsdesc.sym: New file.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/mach/hurd/i386/tlsdesc.sym19
1 files changed, 19 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/i386/tlsdesc.sym b/sysdeps/mach/hurd/i386/tlsdesc.sym
new file mode 100644
index 0000000000..a358f7e325
--- /dev/null
+++ b/sysdeps/mach/hurd/i386/tlsdesc.sym
@@ -0,0 +1,19 @@
+#include <stddef.h>
+#include <sysdep.h>
+#include <tls.h>
+#include <link.h>
+#include <dl-tlsdesc.h>
+
+--
+
+-- We have to override sysdeps/i386/tlsdesc.sym to adapt to our libpthread.
+
+-- Abuse tls.h macros to derive offsets relative to the thread register.
+
+DTV_OFFSET offsetof(tcbhead_t, dtv)
+
+TLSDESC_ARG offsetof(struct tlsdesc, arg)
+
+TLSDESC_GEN_COUNT offsetof(struct tlsdesc_dynamic_arg, gen_count)
+TLSDESC_MODID offsetof(struct tlsdesc_dynamic_arg, tlsinfo.ti_module)
+TLSDESC_MODOFF offsetof(struct tlsdesc_dynamic_arg, tlsinfo.ti_offset)