aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/qemu/files/musl-patches/0001-linux-user-fix-build-with-musl-on-ppc64le.patch')
-rw-r--r--app-emulation/qemu/files/musl-patches/0001-linux-user-fix-build-with-musl-on-ppc64le.patch67
1 files changed, 0 insertions, 67 deletions
diff --git a/app-emulation/qemu/files/musl-patches/0001-linux-user-fix-build-with-musl-on-ppc64le.patch b/app-emulation/qemu/files/musl-patches/0001-linux-user-fix-build-with-musl-on-ppc64le.patch
deleted file mode 100644
index c3a91877..00000000
--- a/app-emulation/qemu/files/musl-patches/0001-linux-user-fix-build-with-musl-on-ppc64le.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- a/linux-user/host/ppc64/hostdep.h
-+++ b/linux-user/host/ppc64/hostdep.h
-@@ -25,7 +25,11 @@
- static inline void rewind_if_in_safe_syscall(void *puc)
- {
- ucontext_t *uc = puc;
-+#if defined(__GLIBC__) || defined(__UCLIBC__)
- unsigned long *pcreg = &uc->uc_mcontext.gp_regs[PT_NIP];
-+#else // Musl
-+ unsigned long *pcreg = &uc->uc_mcontext.gp_regs[32];
-+#endif
-
- if (*pcreg > (uintptr_t)safe_syscall_start
- && *pcreg < (uintptr_t)safe_syscall_end) {
---- a/accel/tcg/user-exec.c
-+++ a/accel/tcg/user-exec.c
-@@ -228,6 +228,7 @@
- */
- #ifdef linux
- /* All Registers access - only for local access */
-+#if defined(__GLIBC__) || defined(__UCLIBC__)
- #define REG_sig(reg_name, context) \
- ((context)->uc_mcontext.regs->reg_name)
- /* Gpr Registers access */
-@@ -245,15 +246,42 @@
- /* Condition register */
- #define CR_sig(context) REG_sig(ccr, context)
-
-+#else // Musl
-+#define REG_sig(reg_num, context) \
-+ ((context)->uc_mcontext.gp_regs[reg_num])
-+/* Gpr Registers access */
-+#define GPR_sig(reg_num, context) REG_sig(gpr[reg_num], context)
-+/* Program counter */
-+#define IAR_sig(context) REG_sig(32, context)
-+/* Machine State Register (Supervisor) */
-+#define MSR_sig(context) REG_sig(33, context)
-+/* Count register */
-+#define CTR_sig(context) REG_sig(35, context)
-+/* User's integer exception register */
-+#define XER_sig(context) REG_sig(37, context)
-+/* Link register */
-+#define LR_sig(context) REG_sig(36, context)
-+/* Condition register */
-+#define CR_sig(context) REG_sig(38, context)
-+#endif
-+
-+
- /* Float Registers access */
- #define FLOAT_sig(reg_num, context) \
- (((double *)((char *)((context)->uc_mcontext.regs + 48 * 4)))[reg_num])
- #define FPSCR_sig(context) \
- (*(int *)((char *)((context)->uc_mcontext.regs + (48 + 32 * 2) * 4)))
- /* Exception Registers access */
-+#if defined(__GLIBC__) || defined(__UCLIBC__)
- #define DAR_sig(context) REG_sig(dar, context)
- #define DSISR_sig(context) REG_sig(dsisr, context)
- #define TRAP_sig(context) REG_sig(trap, context)
-+#else // Musl
-+#define DAR_sig(context) REG_sig(41, context)
-+#define DSISR_sig(context) REG_sig(42, context)
-+#define TRAP_sig(context) REG_sig(40, context)
-+#endif
-+
- #endif /* linux */
-
- #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)