about summary refs log tree commit diff
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
parentac56adbb0cbe3ff8995662fed0a644d1aa7acb7b (diff)
downloadglibc-ef4cf463e59b763f289b80084e70911962da6d6c.tar.gz
glibc-ef4cf463e59b763f289b80084e70911962da6d6c.tar.xz
glibc-ef4cf463e59b763f289b80084e70911962da6d6c.zip
hurd: Add tlsdesc.sym
	* sysdeps/mach/hurd/i386/tlsdesc.sym: New file.
-rw-r--r--ChangeLog1
-rw-r--r--sysdeps/mach/hurd/i386/tlsdesc.sym19
2 files changed, 20 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index a49103451c..80ad4c6b10 100644
--- 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
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)