diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-09 16:22:25 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-09 16:22:25 +0100 |
| commit | 09428c185eae97b64c3a68a2751bad09481c7f6f (patch) | |
| tree | 3df827dab0932bb8f158429fa2efbdb9380291e1 /src | |
| parent | ad1bfc57b4b0ad35ff02a5811fb520c100808cce (diff) | |
| download | box64-09428c185eae97b64c3a68a2751bad09481c7f6f.tar.gz box64-09428c185eae97b64c3a68a2751bad09481c7f6f.zip | |
More libc 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 | 22 |
4 files changed, 15 insertions, 11 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 78dc9748..5a046bc0 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -526,6 +526,7 @@ #() uFpuuuu #() uFppiip #() uFppppp +#() LFpLLLp #() LFppppp #() pFEpiii #() pFEpipL diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 15668f43..67778c9b 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -559,6 +559,7 @@ typedef uint32_t (*uFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t); typedef uint32_t (*uFpuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t); typedef uint32_t (*uFppiip_t)(void*, void*, int32_t, int32_t, void*); typedef uint32_t (*uFppppp_t)(void*, void*, void*, void*, void*); +typedef uintptr_t (*LFpLLLp_t)(void*, uintptr_t, uintptr_t, uintptr_t, void*); typedef uintptr_t (*LFppppp_t)(void*, void*, void*, void*, void*); typedef void* (*pFEpiii_t)(x64emu_t*, void*, int32_t, int32_t, int32_t); typedef void* (*pFEpipL_t)(x64emu_t*, void*, int32_t, void*, uintptr_t); @@ -1425,6 +1426,7 @@ void uFpCCCC(x64emu_t *emu, uintptr_t fcn) { uFpCCCC_t fn = (uFpCCCC_t)fcn; R_RA void uFpuuuu(x64emu_t *emu, uintptr_t fcn) { uFpuuuu_t fn = (uFpuuuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); } void uFppiip(x64emu_t *emu, uintptr_t fcn) { uFppiip_t fn = (uFppiip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); } void uFppppp(x64emu_t *emu, uintptr_t fcn) { uFppppp_t fn = (uFppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } +void LFpLLLp(x64emu_t *emu, uintptr_t fcn) { LFpLLLp_t fn = (LFpLLLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); } void LFppppp(x64emu_t *emu, uintptr_t fcn) { LFppppp_t fn = (LFppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void pFEpiii(x64emu_t *emu, uintptr_t fcn) { pFEpiii_t fn = (pFEpiii_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } void pFEpipL(x64emu_t *emu, uintptr_t fcn) { pFEpipL_t fn = (pFEpipL_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); } diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index 13f0525c..88a7982e 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -556,6 +556,7 @@ void uFpCCCC(x64emu_t *emu, uintptr_t fnc); void uFpuuuu(x64emu_t *emu, uintptr_t fnc); void uFppiip(x64emu_t *emu, uintptr_t fnc); void uFppppp(x64emu_t *emu, uintptr_t fnc); +void LFpLLLp(x64emu_t *emu, uintptr_t fnc); void LFppppp(x64emu_t *emu, uintptr_t fnc); void pFEpiii(x64emu_t *emu, uintptr_t fnc); void pFEpipL(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h index a6a20ba1..9b05237e 100755 --- a/src/wrapped/wrappedlibc_private.h +++ b/src/wrapped/wrappedlibc_private.h @@ -379,20 +379,20 @@ GOM(fprintf, iFEppV) GOM(__fprintf_chk, iFEpvpV) //DATA(__fpu_control, //GO(__fpurge, -//GO(fputc, -//GO(fputc_unlocked, -//GOW(fputs, -//GOW(fputs_unlocked, -//GO(fputwc, -//GO(fputwc_unlocked, -//GO(fputws, -//GO(fputws_unlocked, -//GOW(fread, +GO(fputc, iFip) +GO(fputc_unlocked, iFip) +GOW(fputs, iFpp) +GOW(fputs_unlocked, iFpp) +GO(fputwc, iFip) +GO(fputwc_unlocked, iFip) +GO(fputws, iFpp) +GO(fputws_unlocked, iFpp) +GOW(fread, LFpLLp) //GO(__freadable, //GO(__fread_chk, //GO(__freading, -//GOW(fread_unlocked, -//GO(__fread_unlocked_chk, +GOW(fread_unlocked, LFpLLp) +GO(__fread_unlocked_chk, LFpLLLp) GO(free, vFp) //GO(freeaddrinfo, //GOW(freeifaddrs, |