diff options
| author | Leslie Zhai <zhaixiang@loongson.cn> | 2025-05-30 13:57:01 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-30 07:57:01 +0200 |
| commit | 53bb00a769f3168a5663893981fccebecd7ff4d7 (patch) | |
| tree | 01ea6f42507315d78012b0f08313a050ed12b8ae /src/wrapped | |
| parent | 038e9511d1c35cfa3d6b25baae351ce78f58ef5d (diff) | |
| download | box64-53bb00a769f3168a5663893981fccebecd7ff4d7.tar.gz box64-53bb00a769f3168a5663893981fccebecd7ff4d7.zip | |
[WRAPPER] Implement myStackAlignGVariantNew for g_variant_new (#2687)
Diffstat (limited to 'src/wrapped')
| -rw-r--r-- | src/wrapped/wrappedglib2.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/wrapped/wrappedglib2.c b/src/wrapped/wrappedglib2.c index 7a24b5f4..d4f30fcf 100644 --- a/src/wrapped/wrappedglib2.c +++ b/src/wrapped/wrappedglib2.c @@ -1115,7 +1115,7 @@ 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; - myStackAlignGVariantNew(emu, fmt, emu->scratch, b); + myStackAlignGVariantNewVa(emu, fmt, emu->scratch, b); sysv_varargs = (va_list)emu->scratch; #else CREATE_VALIST_FROM_VALIST(*b, emu->scratch); @@ -1126,7 +1126,12 @@ EXPORT void* my_g_variant_new_va(x64emu_t* emu, char* fmt, void* endptr, x64_va_ EXPORT void* my_g_variant_new(x64emu_t* emu, char* fmt, uint64_t* V) { +#if defined(__loongarch64) || defined(__riscv) + myStackAlignGVariantNew(emu, fmt, V, emu->scratch, R_EAX); + PREPARE_VALIST; +#else CREATE_VALIST_FROM_VAARG(V, emu->scratch, 1); +#endif return my->g_variant_new_va(fmt, NULL, &VARARGS); } |