void-packages/srcpkgs/a2jmidid/patches/musl-ppc.patch

18 lines
723 B
Diff

This fixes build on ppc32/musl but also fixes incorrect usage of uc_regs
on glibc (uc_regs is an mcontext_t pointer, you can't index it directly)
--- sigsegv.c
+++ sigsegv.c
@@ -97,7 +97,11 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) {
for(i = 0; i < NGREG; i++)
a2j_error("reg[%02d] = 0x" REGFORMAT, i,
#if defined(__powerpc__) && !defined(__powerpc64__)
- ucontext->uc_mcontext.uc_regs[i]
+#if defined(__GLIBC__)
+ ucontext->uc_mcontext.uc_regs->gregs[i]
+#else
+ ucontext->uc_mcontext.gregs[i]
+#endif
#elif defined(__powerpc64__)
ucontext->uc_mcontext.gp_regs[i]
#elif defined(__sparc__) && defined(__arch64__)