a2jmidid: fix build on musl/ppc (and also a correction on glibc)

[ci skip]
This commit is contained in:
q66 2019-10-28 20:00:45 +01:00 committed by Helmut Pozimski
parent cc2e8f1584
commit 2561ef7f25

View file

@ -0,0 +1,18 @@
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__)