summaryrefslogtreecommitdiff
path: root/libpthread
diff options
context:
space:
mode:
Diffstat (limited to 'libpthread')
-rw-r--r--libpthread/nptl/pthread_key_create.c1
-rw-r--r--libpthread/nptl/sysdeps/nds32/dl-tls.h2
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch2
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/gettid.c13
4 files changed, 16 insertions, 2 deletions
diff --git a/libpthread/nptl/pthread_key_create.c b/libpthread/nptl/pthread_key_create.c
index 6e11bbeae..87999764e 100644
--- a/libpthread/nptl/pthread_key_create.c
+++ b/libpthread/nptl/pthread_key_create.c
@@ -22,7 +22,6 @@
int
-attribute_protected
__pthread_key_create (
pthread_key_t *key,
void (*destr) (void *))
diff --git a/libpthread/nptl/sysdeps/nds32/dl-tls.h b/libpthread/nptl/sysdeps/nds32/dl-tls.h
index f0107cacb..11101fdd2 100644
--- a/libpthread/nptl/sysdeps/nds32/dl-tls.h
+++ b/libpthread/nptl/sysdeps/nds32/dl-tls.h
@@ -56,4 +56,6 @@ extern void *_dl_make_tlsdesc_dynamic (struct link_map *map, size_t ti_offset);
extern ptrdiff_t attribute_hidden
_dl_tlsdesc_dynamic(struct tlsdesc *);
+#define TLS_DTV_UNALLOCATED ((void *) -1l)
+
#endif //_NDS32_DL_TLS_H
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch
index a438e9739..52b662327 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch
@@ -68,7 +68,7 @@ libpthread_linux_CSRC += pthread_attr_getaffinity.c pthread_attr_setaffinity.c \
libpthread_linux_SSRC := #ptw-close.S ptw-open.S ptw-waitid.S ptw-waidpid.S ptw-write.S
libc_linux_CSRC += libc_pthread_init.c libc_multiple_threads.c \
- register-atfork.c unregister-atfork.c getpid.c \
+ register-atfork.c unregister-atfork.c getpid.c gettid.c \
raise.c jmp-unwind.c
librt_linux_CSRC += mq_notify.c timer_create.c timer_delete.c \
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/gettid.c b/libpthread/nptl/sysdeps/unix/sysv/linux/gettid.c
new file mode 100644
index 000000000..80c2ed80f
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/gettid.c
@@ -0,0 +1,13 @@
+/* Copyright (C) 2025 Waldemar Brodkorb <wbx@uclibc-ng.org> */
+
+#include <unistd.h>
+#include <tls.h>
+#include <sysdep.h>
+
+pid_t
+gettid (void)
+{
+ INTERNAL_SYSCALL_DECL (err);
+ pid_t result = INTERNAL_SYSCALL (gettid, err, 0);
+ return result;
+}