diff options
author | Bobby Bingham <koorogi@koorogi.info> | 2016-04-30 19:18:17 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2016-05-08 22:57:40 -0400 |
commit | c0ede9e4046a0882d83ae4b45c7dfac86fb7c15d (patch) | |
tree | 02956e3cc93a50bcc9c946fbc2bbffb883e72f2f /arch/powerpc64/pthread_arch.h | |
parent | 6bc7d9c411c3a32cfa9d239b73fffb2ba66dd9ff (diff) | |
download | musl-c0ede9e4046a0882d83ae4b45c7dfac86fb7c15d.tar.gz musl-c0ede9e4046a0882d83ae4b45c7dfac86fb7c15d.tar.xz musl-c0ede9e4046a0882d83ae4b45c7dfac86fb7c15d.zip |
add powerpc64 port
Diffstat (limited to 'arch/powerpc64/pthread_arch.h')
-rw-r--r-- | arch/powerpc64/pthread_arch.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/powerpc64/pthread_arch.h b/arch/powerpc64/pthread_arch.h new file mode 100644 index 00000000..2f976fe2 --- /dev/null +++ b/arch/powerpc64/pthread_arch.h @@ -0,0 +1,17 @@ +static inline struct pthread *__pthread_self() +{ + register char *tp __asm__("r13"); + __asm__ __volatile__ ("" : "=r" (tp) ); + return (pthread_t)(tp - 0x7000 - sizeof(struct pthread)); +} + +#define TLS_ABOVE_TP +#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) + 0x7000) + +#define DTP_OFFSET 0x8000 + +// the kernel calls the ip "nip", it's the first saved value after the 32 +// GPRs. +#define MC_PC gp_regs[32] + +#define CANARY canary_at_end |