deduplicate TP_ADJ logic out of each arch, replace with TP_OFFSET

the only part of TP_ADJ that was not uniquely determined by
TLS_ABOVE_TP was the 0x7000 adjustment used mainly on mips and powerpc
variants.
This commit is contained in:
Rich Felker
2020-08-24 22:04:52 -04:00
parent 19f8642494
commit ea71a9004e
17 changed files with 16 additions and 21 deletions
+10
View File
@@ -105,10 +105,20 @@ struct __timer {
#define CANARY canary
#endif
#ifndef TP_OFFSET
#define TP_OFFSET 0
#endif
#ifndef DTP_OFFSET
#define DTP_OFFSET 0
#endif
#ifdef TLS_ABOVE_TP
#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) + TP_OFFSET)
#else
#define TP_ADJ(p) (p)
#endif
#ifndef tls_mod_off_t
#define tls_mod_off_t size_t
#endif