From ae11f049fc55c63a79b95ce0de69a1aee0d53faf Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 17 Mar 2024 18:01:24 +0100 Subject: riscv64: sync with glibc, fix all TLS errors in uClibc-ng-test --- libpthread/nptl/sysdeps/riscv64/dl-tls.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libpthread/nptl/sysdeps/riscv64/dl-tls.h') diff --git a/libpthread/nptl/sysdeps/riscv64/dl-tls.h b/libpthread/nptl/sysdeps/riscv64/dl-tls.h index 01663edf3..31991be0d 100644 --- a/libpthread/nptl/sysdeps/riscv64/dl-tls.h +++ b/libpthread/nptl/sysdeps/riscv64/dl-tls.h @@ -21,4 +21,14 @@ typedef struct unsigned long int ti_offset; } tls_index; +/* The thread pointer points to the first static TLS block. */ +#define TLS_TP_OFFSET 0 + +/* Dynamic thread vector pointers point 0x800 past the start of each + TLS block. */ +#define TLS_DTV_OFFSET 0x800 + extern void *__tls_get_addr (tls_index *ti); + +#define GET_ADDR_OFFSET (ti->ti_offset + TLS_DTV_OFFSET) +#define __TLS_GET_ADDR(__ti) (__tls_get_addr (__ti) - TLS_DTV_OFFSET) -- cgit v1.2.3