diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-06 12:19:34 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-06 12:19:34 +0100 |
| commit | 47a5257a613e59f212af0b7ab2177fe90e13136f (patch) | |
| tree | 9fe1986b7a5d4ac0350bd099f3c45470d0252a50 /src | |
| parent | 5b50e43d056c58bc21a468871cdc47a8755fdf2c (diff) | |
| download | box64-47a5257a613e59f212af0b7ab2177fe90e13136f.tar.gz box64-47a5257a613e59f212af0b7ab2177fe90e13136f.zip | |
Added wctob and btowc wrapped functions
Diffstat (limited to 'src')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 1 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 2 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 1 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibc_private.h | 8 |
4 files changed, 8 insertions, 4 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 91d0ddce..14ca5005 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -47,6 +47,7 @@ #() iFEpp #() iFEpV #() iFpiu +#() iFpuL #() fFfff #() fFffp #() dFddd diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index d8e2f897..0f358f9e 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -118,6 +118,7 @@ typedef void (*vFdpp_t)(double, void*, void*); typedef int32_t (*iFEpp_t)(x64emu_t*, void*, void*); typedef int32_t (*iFEpV_t)(x64emu_t*, void*, void*); typedef int32_t (*iFpiu_t)(void*, int32_t, uint32_t); +typedef int32_t (*iFpuL_t)(void*, uint32_t, uintptr_t); typedef float (*fFfff_t)(float, float, float); typedef float (*fFffp_t)(float, float, void*); typedef double (*dFddd_t)(double, double, double); @@ -197,6 +198,7 @@ void vFdpp(x64emu_t *emu, uintptr_t fcn) { vFdpp_t fn = (vFdpp_t)fcn; fn(emu->xm void iFEpp(x64emu_t *emu, uintptr_t fcn) { iFEpp_t fn = (iFEpp_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI); } void iFEpV(x64emu_t *emu, uintptr_t fcn) { iFEpV_t fn = (iFEpV_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)(R_RSP + 8)); } void iFpiu(x64emu_t *emu, uintptr_t fcn) { iFpiu_t fn = (iFpiu_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX); } +void iFpuL(x64emu_t *emu, uintptr_t fcn) { iFpuL_t fn = (iFpuL_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX); } void fFfff(x64emu_t *emu, uintptr_t fcn) { fFfff_t fn = (fFfff_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); } void fFffp(x64emu_t *emu, uintptr_t fcn) { fFffp_t fn = (fFffp_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], emu->xmm[1].f[0], (void*)R_RDI); } void dFddd(x64emu_t *emu, uintptr_t fcn) { dFddd_t fn = (dFddd_t)fcn; emu->xmm[0].d[0]=fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); } diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index 5a3cb8a2..5dae3e59 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -79,6 +79,7 @@ void vFdpp(x64emu_t *emu, uintptr_t fnc); void iFEpp(x64emu_t *emu, uintptr_t fnc); void iFEpV(x64emu_t *emu, uintptr_t fnc); void iFpiu(x64emu_t *emu, uintptr_t fnc); +void iFpuL(x64emu_t *emu, uintptr_t fnc); void fFfff(x64emu_t *emu, uintptr_t fnc); void fFffp(x64emu_t *emu, uintptr_t fnc); void dFddd(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h index 4f9a7f1b..106ac091 100755 --- a/src/wrapped/wrappedlibc_private.h +++ b/src/wrapped/wrappedlibc_private.h @@ -83,7 +83,7 @@ GO(atoll, IFp) //GO(__bsd_getpgrp, //GOW(bsd_signal, //GO(bsearch, -//GOW(btowc, +GOW(btowc, iFi) //GO(__bzero, //GOW(bzero, //GO(c16rtomb, @@ -2125,9 +2125,9 @@ GO(usleep, iFu) //GO(wcsxfrm, //GO(__wcsxfrm_l, //GOW(wcsxfrm_l, -//GO(wctob, -//GO(wctomb, -//GO(__wctomb_chk, +GO(wctob, iFi) +GO(wctomb, iFpi) +GO(__wctomb_chk, iFpuL) //GOW(wctrans, //GO(__wctrans_l, //GOW(wctrans_l, |