summaryrefslogtreecommitdiff
path: root/libpthread/nptl/sysdeps/riscv32/dl-tls.h
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2024-03-20 09:44:40 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2024-03-20 11:07:24 +0100
commit6bb2d37af6772cada51b0871d3184f7783779364 (patch)
treebcfd87bbe6713bb77d7fb7784f293c9fac235c38 /libpthread/nptl/sysdeps/riscv32/dl-tls.h
parentcd5b45d5f755b07d7205ed471ed55422e450ba75 (diff)
riscv32: sync with riscv64
Diffstat (limited to 'libpthread/nptl/sysdeps/riscv32/dl-tls.h')
-rw-r--r--libpthread/nptl/sysdeps/riscv32/dl-tls.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/libpthread/nptl/sysdeps/riscv32/dl-tls.h b/libpthread/nptl/sysdeps/riscv32/dl-tls.h
index 01663edf3..31991be0d 100644
--- a/libpthread/nptl/sysdeps/riscv32/dl-tls.h
+++ b/libpthread/nptl/sysdeps/riscv32/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)