diff options
| author | Joseph Allen <joseph.allen.ilive@gmail.com> | 2021-11-18 17:48:52 -0600 |
|---|---|---|
| committer | Joseph Allen <joseph.allen.ilive@gmail.com> | 2021-11-18 17:48:52 -0600 |
| commit | b021beba6a67ff9f80bfb433db3ec8fdd7cec6e1 (patch) | |
| tree | 53cc1d372b13ec99e8c40b166f8cdaaa53804236 /src | |
| parent | 684d67d12ec2be6526088f36c2e83d2820392895 (diff) | |
| download | box64-b021beba6a67ff9f80bfb433db3ec8fdd7cec6e1.tar.gz box64-b021beba6a67ff9f80bfb433db3ec8fdd7cec6e1.zip | |
Minor changes to allow box64 to build and run on ppc64le.
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 |