hurd: Add tlsdesc.sym
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Mon, 29 Jan 2018 23:52:48 +0000 (00:52 +0100)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Mon, 29 Jan 2018 23:52:48 +0000 (00:52 +0100)
* sysdeps/mach/hurd/i386/tlsdesc.sym: New file.

ChangeLog
sysdeps/mach/hurd/i386/tlsdesc.sym [new file with mode: 0644]

index a491034..80ad4c6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -29,6 +29,7 @@
        * bits/fcntl.h: Fix comment for FREAD and FWRITE.
        * sysdeps/mach/hurd/bits/fcntl.h: Likewise.
        * sysdeps/mach/hurd/hp-timing.h: New file.
+       * sysdeps/mach/hurd/i386/tlsdesc.sym: New file.
 
 2018-01-29  Darius Rad  <darius@bluespec.com>
 
diff --git a/sysdeps/mach/hurd/i386/tlsdesc.sym b/sysdeps/mach/hurd/i386/tlsdesc.sym
new file mode 100644 (file)
index 0000000..a358f7e
--- /dev/null
@@ -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)