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

25 lines
687 B
Diff

--- a/src/client/CrashHandler.cpp
+++ b/src/client/CrashHandler.cpp
@@ -23,6 +23,9 @@
#include "../breakpad/BreakPad.h"
+#if defined(__linux__) && defined(__powerpc__)
+#include <asm/ptrace.h>
+#endif
#ifdef NBREAKPAD
@@ -320,7 +322,11 @@ public:
pnt = (void*) uc->uc_mcontext.sc_iaoq[0] & ~0x3UL ;
# elif (defined (__ppc__)) || (defined (__powerpc__))
ucontext_t* uc = (ucontext_t*) secret;
+# if !defined(__GLIBC__) && !defined(__powerpc64__)
+ pnt = (void*) ((struct pt_regs *)uc->uc_regs)->nip ;
+# else
pnt = (void*) uc->uc_mcontext.regs->nip ;
+# endif
# elif defined(__sparc__)
struct sigcontext* sc = (struct sigcontext*) secret;
# if __WORDSIZE == 64