From f81e44a0d96c88e052e51982f9fdd6fe0a212b46 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 14 Jun 2018 14:26:30 -0400 Subject: add m68k port three ABIs are supported: the default with 68881 80-bit fpu format and results returned in floating point registers, softfloat-only with the same format, and coldfire fpu with IEEE single/double only. only the first is tested at all, and only under qemu which has fpu emulation bugs. basic functionality smoke tests have been performed for the most common arch-specific breakage via libc-test and qemu user-level emulation. some sysvipc failures remain, but are shared with other big endian archs and will be fixed separately. --- arch/m68k/pthread_arch.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 arch/m68k/pthread_arch.h (limited to 'arch/m68k/pthread_arch.h') diff --git a/arch/m68k/pthread_arch.h b/arch/m68k/pthread_arch.h new file mode 100644 index 00000000..02d5b8a0 --- /dev/null +++ b/arch/m68k/pthread_arch.h @@ -0,0 +1,13 @@ +static inline struct pthread *__pthread_self() +{ + uintptr_t tp = __syscall(SYS_get_thread_area); + return (pthread_t)(tp - 0x7000 - sizeof(struct pthread)); +} + +#define TLS_ABOVE_TP +#define GAP_ABOVE_TP 0 +#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) + 0x7000) + +#define DTP_OFFSET 0x8000 + +#define MC_PC gregs[R_PC] -- cgit 1.4.1