summaryrefslogtreecommitdiff
path: root/libc/misc/pthread/tsd.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/misc/pthread/tsd.c')
-rw-r--r--libc/misc/pthread/tsd.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libc/misc/pthread/tsd.c b/libc/misc/pthread/tsd.c
new file mode 100644
index 000000000..835ee22ce
--- /dev/null
+++ b/libc/misc/pthread/tsd.c
@@ -0,0 +1,10 @@
+/* libpthread sets _dl_error_catch_tsd to point to this function.
+ We define it here instead of in libpthread so t here instead of in libpthread so that it doesn't
+ need to have a TLS segment of its own just for this one pointer. */
+
+void ** __attribute__ ((const))
+__libc_dl_error_tsd (void)
+{
+ static __thread void *data __attribute__ ((tls_model ("initial-exec")));
+ return &data;
+}