diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/include/myalign.h | 12 | ||||
| -rwxr-xr-x | src/libtools/signals.c | 2 |
2 files changed, 2 insertions, 12 deletions
diff --git a/src/include/myalign.h b/src/include/myalign.h index d085e3d3..47072bc9 100755 --- a/src/include/myalign.h +++ b/src/include/myalign.h @@ -90,17 +90,7 @@ typedef struct va_list { memcpy(&p[6], emu->xmm, 8*16); \ } -#elif defined(__powerpc64__) -// TODO, is this correct? -#define CREATE_SYSV_VALIST(A) \ - va_list sysv_varargs; \ - sysv_varargs->gpr=8; \ - sysv_varargs->fpr=8; \ - sysv_varargs->overflow_arg_area=A; - -#define CONVERT_VALIST(A) \ - #error TODO! -#elif defined(__loongarch64) +#elif defined(__loongarch64) || defined(__powerpc64__) #define CREATE_SYSV_VALIST(A) \ va_list sysv_varargs = (va_list)A // not creating CONVERT_VALIST(A) on purpose diff --git a/src/libtools/signals.c b/src/libtools/signals.c index 5ac76342..1086f36c 100755 --- a/src/libtools/signals.c +++ b/src/libtools/signals.c @@ -733,7 +733,7 @@ void my_box64signalhandler(int32_t sig, siginfo_t* info, void * ucntx) #elif defined __x86_64__ void * pc = (void*)p->uc_mcontext.gregs[X64_RIP]; #elif defined __powerpc64__ - void * pc = (void*)p->uc_mcontext.uc_regs->gregs[PT_NIP]; + void * pc = (void*)p->uc_mcontext.gp_regs[PT_NIP]; #else void * pc = NULL; // unknow arch... #warning Unhandled architecture |