about summary refs log tree commit diff stats
path: root/src/wrapped
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2024-11-16 04:37:36 +0800
committerGitHub <noreply@github.com>2024-11-15 21:37:36 +0100
commit5ab8a6f6f4dd8cfce669963571f401e632f66769 (patch)
treec9ac0577f7d48398e854a29a5461b8ac768b2586 /src/wrapped
parent385a31ec1183eeed8ed357ab58bf5a6da582622c (diff)
downloadbox64-5ab8a6f6f4dd8cfce669963571f401e632f66769.tar.gz
box64-5ab8a6f6f4dd8cfce669963571f401e632f66769.zip
[WRAPPER] Fixed myStackAlignGVariantNew and refined the test too (#2038)
Diffstat (limited to 'src/wrapped')
-rw-r--r--src/wrapped/wrappedglib2.c37
1 files changed, 3 insertions, 34 deletions
diff --git a/src/wrapped/wrappedglib2.c b/src/wrapped/wrappedglib2.c
index 3a481eff..0c8bd95b 100644
--- a/src/wrapped/wrappedglib2.c
+++ b/src/wrapped/wrappedglib2.c
@@ -1080,44 +1080,13 @@ EXPORT void* my_g_variant_new_va(x64emu_t* emu, char* fmt, void* endptr, x64_va_
     #else
       #if defined(__loongarch64) || defined(__riscv)
         va_list sysv_varargs;
-        uint64_t scratch[N_SCRATCH];
-        myStackAlignGVariantNew(emu, fmt, scratch, b);
-        sysv_varargs = (va_list)scratch;
+        myStackAlignGVariantNew(emu, fmt, emu->scratch, b);
+        sysv_varargs = (va_list)emu->scratch;
       #else
         CREATE_VALIST_FROM_VALIST(*b, emu->scratch);
       #endif
     #endif
-    if (box64_log == LOG_DEBUG) {
-        printf_log(LOG_DEBUG, "fmt: %s\n", fmt);
-        const char* pfmt = fmt;
-        int i = 0;
-        while (*pfmt) {
-            switch (*pfmt) {
-            case 'b':
-            case 'y':
-            case 'n':
-            case 'q':
-            case 'i':
-            case 'h':
-            case 'u':
-                printf_log(LOG_DEBUG, "%2d: %d\n", i, va_arg(sysv_varargs, int));
-                break;
-            case 'x':
-            case 't':
-                printf_log(LOG_DEBUG, "%2d: %ld\n", i, va_arg(sysv_varargs, long));
-                break;
-            case 'd':
-                printf_log(LOG_DEBUG, "%2d: %f\n", i, va_arg(sysv_varargs, double));
-                break;
-            default:
-              break;
-            }
-            pfmt++;
-            i++;
-        }
-    }
-    va_list* aligned = &sysv_varargs;
-    return my->g_variant_new_va(fmt, endptr, &aligned);
+    return my->g_variant_new_va(fmt, endptr, &sysv_varargs);
 }
 
 EXPORT void* my_g_variant_new(x64emu_t* emu, char* fmt, uint64_t* V)