diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-25 14:41:11 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-25 14:41:11 +0100 |
| commit | fcdd8fc383cace94ce970bd8af2385ab77d24def (patch) | |
| tree | d2fbce8fa8d17a475049a72e831add107282bd6e /src | |
| parent | 0b56f5aebd1eb47a09d3fa11b88d407855b7fa3e (diff) | |
| download | box64-fcdd8fc383cace94ce970bd8af2385ab77d24def.tar.gz box64-fcdd8fc383cace94ce970bd8af2385ab77d24def.zip | |
Added some more libc wrapped functions
Diffstat (limited to 'src')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 2 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 4 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 2 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibc_private.h | 16 |
4 files changed, 16 insertions, 8 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index b1aa1b05..6f50f01b 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -139,6 +139,7 @@ #() dFpi #() dFpp #() lFpi +#() lFpp #() LFpi #() LFpL #() LFpp @@ -498,6 +499,7 @@ #() pFpuup #() pFpupi #() pFplpp +#() pFpLip #() pFppii #() pFppiL #() pFppip diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 2bdaddbb..333ba69a 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -172,6 +172,7 @@ typedef double (*dFdp_t)(double, void*); typedef double (*dFpi_t)(void*, int32_t); typedef double (*dFpp_t)(void*, void*); typedef intptr_t (*lFpi_t)(void*, int32_t); +typedef intptr_t (*lFpp_t)(void*, void*); typedef uintptr_t (*LFpi_t)(void*, int32_t); typedef uintptr_t (*LFpL_t)(void*, uintptr_t); typedef uintptr_t (*LFpp_t)(void*, void*); @@ -531,6 +532,7 @@ typedef void* (*pFpuuu_t)(void*, uint32_t, uint32_t, uint32_t); typedef void* (*pFpuup_t)(void*, uint32_t, uint32_t, void*); typedef void* (*pFpupi_t)(void*, uint32_t, void*, int32_t); typedef void* (*pFplpp_t)(void*, intptr_t, void*, void*); +typedef void* (*pFpLip_t)(void*, uintptr_t, int32_t, void*); typedef void* (*pFppii_t)(void*, void*, int32_t, int32_t); typedef void* (*pFppiL_t)(void*, void*, int32_t, uintptr_t); typedef void* (*pFppip_t)(void*, void*, int32_t, void*); @@ -1197,6 +1199,7 @@ void dFdp(x64emu_t *emu, uintptr_t fcn) { dFdp_t fn = (dFdp_t)fcn; emu->xmm[0].d void dFpi(x64emu_t *emu, uintptr_t fcn) { dFpi_t fn = (dFpi_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, (int32_t)R_RSI); } void dFpp(x64emu_t *emu, uintptr_t fcn) { dFpp_t fn = (dFpp_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, (void*)R_RSI); } void lFpi(x64emu_t *emu, uintptr_t fcn) { lFpi_t fn = (lFpi_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (int32_t)R_RSI); } +void lFpp(x64emu_t *emu, uintptr_t fcn) { lFpp_t fn = (lFpp_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (void*)R_RSI); } void LFpi(x64emu_t *emu, uintptr_t fcn) { LFpi_t fn = (LFpi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI); } void LFpL(x64emu_t *emu, uintptr_t fcn) { LFpL_t fn = (LFpL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI); } void LFpp(x64emu_t *emu, uintptr_t fcn) { LFpp_t fn = (LFpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI); } @@ -1556,6 +1559,7 @@ void pFpuuu(x64emu_t *emu, uintptr_t fcn) { pFpuuu_t fn = (pFpuuu_t)fcn; R_RAX=( void pFpuup(x64emu_t *emu, uintptr_t fcn) { pFpuup_t fn = (pFpuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); } void pFpupi(x64emu_t *emu, uintptr_t fcn) { pFpupi_t fn = (pFpupi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX); } void pFplpp(x64emu_t *emu, uintptr_t fcn) { pFplpp_t fn = (pFplpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } +void pFpLip(x64emu_t *emu, uintptr_t fcn) { pFpLip_t fn = (pFpLip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } void pFppii(x64emu_t *emu, uintptr_t fcn) { pFppii_t fn = (pFppii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } void pFppiL(x64emu_t *emu, uintptr_t fcn) { pFppiL_t fn = (pFppiL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX); } void pFppip(x64emu_t *emu, uintptr_t fcn) { pFppip_t fn = (pFppip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index d90dfa9e..3a788013 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -169,6 +169,7 @@ void dFdp(x64emu_t *emu, uintptr_t fnc); void dFpi(x64emu_t *emu, uintptr_t fnc); void dFpp(x64emu_t *emu, uintptr_t fnc); void lFpi(x64emu_t *emu, uintptr_t fnc); +void lFpp(x64emu_t *emu, uintptr_t fnc); void LFpi(x64emu_t *emu, uintptr_t fnc); void LFpL(x64emu_t *emu, uintptr_t fnc); void LFpp(x64emu_t *emu, uintptr_t fnc); @@ -528,6 +529,7 @@ void pFpuuu(x64emu_t *emu, uintptr_t fnc); void pFpuup(x64emu_t *emu, uintptr_t fnc); void pFpupi(x64emu_t *emu, uintptr_t fnc); void pFplpp(x64emu_t *emu, uintptr_t fnc); +void pFpLip(x64emu_t *emu, uintptr_t fnc); void pFppii(x64emu_t *emu, uintptr_t fnc); void pFppiL(x64emu_t *emu, uintptr_t fnc); void pFppip(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h index 082a1570..fe6389ec 100755 --- a/src/wrapped/wrappedlibc_private.h +++ b/src/wrapped/wrappedlibc_private.h @@ -331,12 +331,12 @@ GO(fflush_unlocked, iFp) //GOW(fgetc_unlocked, //GO(fgetgrent, //GOW(fgetgrent_r, -//GO(fgetpos, -//GO(fgetpos64, +GO(fgetpos, lFpp) +GO(fgetpos64, lFpp) //GO(fgetpwent, //GOW(fgetpwent_r, -//GOW(fgets, -//GO(__fgets_chk, +GOW(fgets, pFpip) +GO(__fgets_chk, pFpLip) //GO(fgetsgent, //GOW(fgetsgent_r, //GO(fgetspent, @@ -482,7 +482,7 @@ GO(getdate, pFp) //DATAB(getdate_err, //GOW(getdate_r, GOW(__getdelim, iFppip) -//GOW(getdelim, +GOW(getdelim, iFppip) //GOW(getdirentries, //GO(getdirentries64, //GO(getdomainname, @@ -2002,9 +2002,9 @@ GOW(tzset, vFv) //GO(__uflow, //GOW(ulckpwdf, //GOW(ulimit, -//GOW(umask, -//GOW(umount, -//GOW(umount2, +GOW(umask, uFu) +GOW(umount, iFp) +GOW(umount2, iFpi) GOM(uname, iFp) //Weak GO(__underflow, iFp) GOW(ungetc, iFip) |