summaryrefslogtreecommitdiff
path: root/arch/aarch64
diff options
context:
space:
mode:
Diffstat (limited to 'arch/aarch64')
-rw-r--r--arch/aarch64/pthread_arch.h5
-rw-r--r--arch/aarch64/reloc.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/arch/aarch64/pthread_arch.h b/arch/aarch64/pthread_arch.h
index b2e2d8f1..e8499d8e 100644
--- a/arch/aarch64/pthread_arch.h
+++ b/arch/aarch64/pthread_arch.h
@@ -2,10 +2,11 @@ static inline struct pthread *__pthread_self()
{
char *self;
__asm__ __volatile__ ("mrs %0,tpidr_el0" : "=r"(self));
- return (void*)(self + 16 - sizeof(struct pthread));
+ return (void*)(self - sizeof(struct pthread));
}
#define TLS_ABOVE_TP
-#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) - 16)
+#define GAP_ABOVE_TP 16
+#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread))
#define MC_PC pc
diff --git a/arch/aarch64/reloc.h b/arch/aarch64/reloc.h
index 51b66e23..40cf0b28 100644
--- a/arch/aarch64/reloc.h
+++ b/arch/aarch64/reloc.h
@@ -10,7 +10,7 @@
#define NO_LEGACY_INITFINI
-#define TPOFF_K 16
+#define TPOFF_K 0
#define REL_SYMBOLIC R_AARCH64_ABS64
#define REL_GOT R_AARCH64_GLOB_DAT