Hi,

qemu build failed in the current macppc bulk with:

> tcg-target.inc.c:2290:3: error: "Unhandled abi"
> # error "Unhandled abi"

It appears that the impacted code uses the _CALL_SYSV define that
clang does not provide. The below diff fixes that.

The runtime is broken, it segfaults when starting every qemu-system-*
command. I'm attaching a backtrace built with -02 because qemu works
with -O0.

Charlène.


Index: patches/patch-tcg_ppc_tcg-target_inc_c
===================================================================
RCS file: patches/patch-tcg_ppc_tcg-target_inc_c
diff -N patches/patch-tcg_ppc_tcg-target_inc_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-tcg_ppc_tcg-target_inc_c      19 Apr 2020 14:57:22 -0000
@@ -0,0 +1,19 @@
+$OpenBSD$
+
+Workaround the lack of _CALL_SYSV with clang on powerpc
+
+Index: tcg/ppc/tcg-target.inc.c
+--- tcg/ppc/tcg-target.inc.c.orig
++++ tcg/ppc/tcg-target.inc.c
+@@ -25,6 +25,11 @@
+ #include "elf.h"
+ #include "tcg-pool.inc.c"
+ 
++/* clang on OpenBSD does not define _CALL_* */
++#if defined __clang__ && defined __OpenBSD__
++#define _CALL_SYSV 1
++#endif
++
+ #if defined _CALL_DARWIN || defined __APPLE__
+ #define TCG_TARGET_CALL_DARWIN
+ #endif

Attachment: gdb.qemu.txt
Description: Binary data

Reply via email to