19 lines
727 B
Diff
19 lines
727 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)
|
|
|
|
--- a/sigsegv.c
|
|
+++ b/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__)
|