From 5ab8a6f6f4dd8cfce669963571f401e632f66769 Mon Sep 17 00:00:00 2001 From: Yang Liu Date: Sat, 16 Nov 2024 04:37:36 +0800 Subject: [PATCH] [WRAPPER] Fixed myStackAlignGVariantNew and refined the test too (#2038) --- src/libtools/myalign.c | 80 ++++++++++++++----------------------- src/wrapped/wrappedglib2.c | 37 ++--------------- tests/misc/gvariant | Bin 0 -> 15704 bytes tests/misc/gvariant.c | 31 ++++++++++++++ tests/misc/gvariant.txt | 6 +++ tests/test2025 | Bin 12488 -> 0 bytes tests/test2025.c | 18 --------- 7 files changed, 71 insertions(+), 101 deletions(-) create mode 100755 tests/misc/gvariant create mode 100644 tests/misc/gvariant.c create mode 100644 tests/misc/gvariant.txt delete mode 100755 tests/test2025 delete mode 100644 tests/test2025.c diff --git a/src/libtools/myalign.c b/src/libtools/myalign.c index 796795c0..d34e0b8e 100644 --- a/src/libtools/myalign.c +++ b/src/libtools/myalign.c @@ -1141,59 +1141,41 @@ void myStackAlignScanfWValist(x64emu_t* emu, const char* fmt, uint64_t* mystack, void myStackAlignGVariantNew(x64emu_t* emu, const char* fmt, uint64_t* scratch, x64_va_list_t* b) { - uintptr_t* p = (uintptr_t*)(emu->scratch); - uintptr_t* p2 = (uintptr_t*)scratch; - int n = (X64_VA_MAX_REG - (*b)->gp_offset)/8; - int m = (X64_VA_MAX_XMM - (*b)->fp_offset)/8; - if(n) memcpy(&p[0], (*b)->reg_save_area+X64_VA_MAX_REG-n*8, n*8+m*16); - memcpy(&p[n+m], (*b)->overflow_arg_area, 20*8); - if (box64_log == LOG_DEBUG) { - printf_log(LOG_DEBUG, "%s\n", __FUNCTION__); - for (int i = 0; i < n+m+20; i++) { - printf_log(LOG_DEBUG, "p%d: 0x%lx\n", i, p[i]); - } - } + uint64_t* grp = (uint64_t*)((*b)->reg_save_area); + uint64_t* frp = (uint64_t*)((*b)->reg_save_area + X64_VA_MAX_REG); + int idx = 0; - int gr_offs = 0; // offset in the reg_save_area - int fr_offs = 0; - int oa_gr_offs = 0; // offset in the overflow_arg_area - int oa_fr_offs = 0; + int gr_offs = ((*b)->gp_offset) / 8; + int fr_offs = ((*b)->fp_offset - X64_VA_MAX_REG) / 8; + + int oa_offs = 0; const char* pfmt = fmt; while (*pfmt) { switch (*pfmt) { - case 'd': - // double - if (fr_offs > m-2) { - p2[idx] = p[n+m+oa_fr_offs]; - oa_gr_offs++; - oa_fr_offs++; - } else { - p2[idx] = p[n+fr_offs]; - fr_offs+=2; - } - idx++; - break; - case 'b': - case 'y': - case 'n': - case 'q': - case 'i': - case 'h': - case 'u': - case 'x': - case 't': - if (gr_offs > n-1) { - p2[idx] = p[n+m+oa_gr_offs]; - oa_gr_offs++; - oa_fr_offs++; - } else { - p2[idx] = p[gr_offs]; - gr_offs++; - } - idx++; - break; - default: - break; + case 'd': // double + if (fr_offs >= ((X64_VA_MAX_XMM - X64_VA_MAX_REG) / 8)) { + scratch[idx++] = ((uint64_t*)((*b)->overflow_arg_area))[oa_offs++]; + } else { + scratch[idx++] = frp[fr_offs]; + fr_offs += 2; + } + break; + case 'b': + case 'y': + case 'n': + case 'q': + case 'i': + case 'h': + case 'u': + case 'x': + case 't': + if (gr_offs >= (X64_VA_MAX_REG / 8)) + scratch[idx++] = ((uint64_t*)((*b)->overflow_arg_area))[oa_offs++]; + else + scratch[idx++] = grp[gr_offs++]; + break; + default: + break; } pfmt++; } 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) diff --git a/tests/misc/gvariant b/tests/misc/gvariant new file mode 100755 index 0000000000000000000000000000000000000000..17c33f3d08061529326e67ab85d54aefe2c7a45d GIT binary patch literal 15704 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 + +static void func(const gchar* format, ...) +{ + GVariant* variant = NULL; + va_list ap; + va_start(ap, format); + variant = g_variant_new_va(format, NULL, &ap); + va_end(ap); + + if (variant != NULL) { + gchar* str = g_variant_print(variant, TRUE); + g_print("%s\n", str); + g_free(str); + g_variant_unref(variant); + } else { + g_print("Failed to create GVariant\n"); + } +} + +int main(int argc, char* argv[]) +{ + func("(bynqiuxthiiiiiiiiiiiiii)", FALSE, 'A', 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23); + func("(bynqiuxthdiiiiiiiiidiii)", TRUE, 'A', 3, 4, 5, 6, 7, 8, 9, 10.1, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20.2, 21, 22, 23); + func("(bdididxdidididididididi)", TRUE, 2.2, 3, 4.4, 5, 6.6, 7, 8.8, 9, 10.1, 11, 12.12, 13, 14.14, 15, 16.16, 17, 18.18, 19, 20.2, 21, 22.22, 23); + func("(bdididxdididididiiiiiii)", TRUE, 2.2, 3, 4.4, 5, 6.6, 7, 8.8, 9, 10.1, 11, 12.12, 13, 14.14, 15, 16.16, 17, 18, 19, 20, 21, 22, 23); + func("(biidiixdiiidiiidiiidiii)", TRUE, 2, 3, 4.4, 5, 6, 7, 8.8, 9, 10, 11, 12.12, 13, 14, 15, 16.16, 17, 18, 19, 20.2, 21, 22, 23); + func("(ddddddddddddddddddddddd)", 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.1, 11.11, 12.12, 13.13, 14.14, 15.15, 16.16, 17.17, 18.18, 19.19, 20.2, 21.21, 22.22, 23.23); + return 0; +} diff --git a/tests/misc/gvariant.txt b/tests/misc/gvariant.txt new file mode 100644 index 00000000..6d26e8c5 --- /dev/null +++ b/tests/misc/gvariant.txt @@ -0,0 +1,6 @@ +(false, byte 0x41, int16 3, uint16 4, 5, uint32 6, int64 7, uint64 8, handle 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23) +(true, byte 0x41, int16 3, uint16 4, 5, uint32 6, int64 7, uint64 8, handle 9, 10.1, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20.199999999999999, 21, 22, 23) +(true, 2.2000000000000002, 3, 4.4000000000000004, 5, 6.5999999999999996, int64 7, 8.8000000000000007, 9, 10.1, 11, 12.119999999999999, 13, 14.140000000000001, 15, 16.16, 17, 18.18, 19, 20.199999999999999, 21, 22.219999999999999, 23) +(true, 2.2000000000000002, 3, 4.4000000000000004, 5, 6.5999999999999996, int64 7, 8.8000000000000007, 9, 10.1, 11, 12.119999999999999, 13, 14.140000000000001, 15, 16.16, 17, 18, 19, 20, 21, 22, 23) +(true, 2, 3, 4.4000000000000004, 5, 6, int64 7, 8.8000000000000007, 9, 10, 11, 12.119999999999999, 13, 14, 15, 16.16, 17, 18, 19, 20.199999999999999, 21, 22, 23) +(1.1000000000000001, 2.2000000000000002, 3.2999999999999998, 4.4000000000000004, 5.5, 6.5999999999999996, 7.7000000000000002, 8.8000000000000007, 9.9000000000000004, 10.1, 11.109999999999999, 12.119999999999999, 13.130000000000001, 14.140000000000001, 15.15, 16.16, 17.170000000000002, 18.18, 19.190000000000001, 20.199999999999999, 21.210000000000001, 22.219999999999999, 23.23) diff --git a/tests/test2025 b/tests/test2025 deleted file mode 100755 index 0cc74b18c1e30f664faa2376603fc0f389a7968a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12488 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 LC^#(&7Lxr3^+~@A diff --git a/tests/test2025.c b/tests/test2025.c deleted file mode 100644 index fdfca2e5..00000000 --- a/tests/test2025.c +++ /dev/null @@ -1,18 +0,0 @@ -#include - -static void func(const gchar* format, ...) { - va_list ap; - va_start(ap, format); - g_variant_new_va(format, NULL, &ap); - va_end(ap); -} - -int main(int argc, char* argv[]) { - func("(bynqiuxthiiiiiiiiiiiiii)", TRUE, 'A', 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23); - func("(bynqiuxthdiiiiiiiiidiii)", TRUE, 'A', 3, 4, 5, 6, 7, 8, 9, 10.1, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20.2, 21, 22, 23); - func("(bdididxdidididididididi)", TRUE, 2.2, 3, 4.4, 5, 6.6, 7, 8.8, 9, 10.1, 11, 12.12, 13, 14.14, 15, 16.16, 17, 18.18, 19, 20.2, 21, 22.22, 23); - func("(bdididxdididididiiiiiii)", TRUE, 2.2, 3, 4.4, 5, 6.6, 7, 8.8, 9, 10.1, 11, 12.12, 13, 14.14, 15, 16.16, 17, 18, 19, 20, 21, 22, 23); - func("(biidiixdiiidiiidiiidiii)", TRUE, 2, 3, 4.4, 5, 6, 7, 8.8, 9, 10, 11, 12.12, 13, 14, 15, 16.16, 17, 18, 19, 20.2, 21, 22, 23); - func("(ddddddddddddddddddddddd)", 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.1, 11.11, 12.12, 13.13, 14.14, 15.15, 16.16, 17.17, 18.18, 19.19, 20.2, 21.21, 22.22, 23.23); - return 0; -}