about summary refs log tree commit diff stats
path: root/src/wrapped/wrappedudev0.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-09-26 12:06:01 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-09-26 12:06:01 +0200
commit783e9a4b7442506765fe9687d006e0cd17c3c2f1 (patch)
tree8f29384177f4fa05f02bdb8c52bbc84d561bc5b3 /src/wrapped/wrappedudev0.c
parent202a067a6177e4a9d6b31e1089cd81368ae9d4b3 (diff)
downloadbox64-783e9a4b7442506765fe9687d006e0cd17c3c2f1.tar.gz
box64-783e9a4b7442506765fe9687d006e0cd17c3c2f1.zip
More untested support for loongarch64 va_list
Diffstat (limited to 'src/wrapped/wrappedudev0.c')
-rwxr-xr-xsrc/wrapped/wrappedudev0.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/wrapped/wrappedudev0.c b/src/wrapped/wrappedudev0.c
index c6ca5857..e9147a58 100755
--- a/src/wrapped/wrappedudev0.c
+++ b/src/wrapped/wrappedudev0.c
@@ -58,6 +58,7 @@ GO(3)   \
 GO(4)
 
 // log_fn ...
+#ifdef CONVERT_VALIST
 #define GO(A)   \
 static uintptr_t my_log_fn_fct_##A = 0;                                                                 \
 static void my_log_fn_##A(void* udev, int p, void *f, int l, void* fn, void* fmt, x64_va_list_t args)   \
@@ -65,6 +66,15 @@ static void my_log_fn_##A(void* udev, int p, void *f, int l, void* fn, void* fmt
     CONVERT_VALIST(args)                                                                                \
     RunFunction(my_context, my_log_fn_fct_##A, 7, udev, p, f, l, fn, fmt, VARARGS);                     \
 }
+#else
+#define GO(A)   \
+static uintptr_t my_log_fn_fct_##A = 0;                                                                 \
+static void my_log_fn_##A(void* udev, int p, void *f, int l, void* fn, void* fmt, x64_va_list_t args)   \
+{                                                                                                       \
+    CREATE_VALIST_FROM_VALIST(b, emu->scratch);                                                         \
+    RunFunction(my_context, my_log_fn_fct_##A, 7, udev, p, f, l, fn, fmt, VARARGS);                     \
+}
+#endif
 SUPER()
 #undef GO
 static void* find_log_fn_Fct(void* fct)