diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-10-06 15:19:20 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-10-06 15:19:20 +0200 |
| commit | e783e3c794ac60aa662985c079b3148ae8c41a2b (patch) | |
| tree | f7287bba26a620957d52e5de14368fec6e6716ab /src | |
| parent | 8965d9bd7041492ebeece6c8884d0fa37ed4cd8d (diff) | |
| download | box64-e783e3c794ac60aa662985c079b3148ae8c41a2b.tar.gz box64-e783e3c794ac60aa662985c079b3148ae8c41a2b.zip | |
[BOX32] Added a few more 32bits libc symbols
Diffstat (limited to 'src')
| -rw-r--r-- | src/wrapped32/generated/functions_list.txt | 1 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.c | 2 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.h | 1 | ||||
| -rwxr-xr-x | src/wrapped32/wrappedlibc_private.h | 6 |
4 files changed, 7 insertions, 3 deletions
diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index da1ae2a5..137da121 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -528,6 +528,7 @@ #() lFpBp_i -> lFpBi #() LFpBp_i -> LFpBi #() pFppbp_ -> pFppB +#() pFppBp_ -> pFppB #() pFXLbL_ -> pFXLB #() iFXLbpp_ -> iFXLB #() iFXbLC_i -> iFXBi diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index 0483172f..59746725 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -618,6 +618,7 @@ typedef double (*dFpBp_a_t)(void*, struct_p_t*, void*); typedef intptr_t (*lFpBp_i_t)(void*, struct_p_t*, int32_t); typedef uintptr_t (*LFpBp_i_t)(void*, struct_p_t*, int32_t); typedef void* (*pFppbp__t)(void*, void*, struct_p_t*); +typedef void* (*pFppBp__t)(void*, void*, struct_p_t*); typedef void* (*pFXLbL__t)(void*, uintptr_t, struct_L_t*); typedef int32_t (*iFXLbpp__t)(void*, uintptr_t, struct_pp_t*); typedef int32_t (*iFXbLC_i_t)(void*, struct_LC_t*, int32_t); @@ -1991,6 +1992,7 @@ void dFpBp_a_32(x64emu_t *emu, uintptr_t fcn) { dFpBp_a_t fn = (dFpBp_a_t)fcn; s void lFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { lFpBp_i_t fn = (lFpBp_i_t)fcn; struct_p_t arg_8={0}; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void LFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { LFpBp_i_t fn = (LFpBp_i_t)fcn; struct_p_t arg_8={0}; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void pFppbp__32(x64emu_t *emu, uintptr_t fcn) { pFppbp__t fn = (pFppbp__t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } +void pFppBp__32(x64emu_t *emu, uintptr_t fcn) { pFppBp__t fn = (pFppBp__t)fcn; struct_p_t arg_12={0}; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void pFXLbL__32(x64emu_t *emu, uintptr_t fcn) { pFXLbL__t fn = (pFXLbL__t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFXLbpp__32(x64emu_t *emu, uintptr_t fcn) { iFXLbpp__t fn = (iFXLbpp__t)fcn; struct_pp_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_pp(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_pp(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFXbLC_i_32(x64emu_t *emu, uintptr_t fcn) { iFXbLC_i_t fn = (iFXbLC_i_t)fcn; struct_LC_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_LC(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_LC(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index a95e2d6b..782c8ace 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -569,6 +569,7 @@ void dFpBp_a_32(x64emu_t *emu, uintptr_t fnc); void lFpBp_i_32(x64emu_t *emu, uintptr_t fnc); void LFpBp_i_32(x64emu_t *emu, uintptr_t fnc); void pFppbp__32(x64emu_t *emu, uintptr_t fnc); +void pFppBp__32(x64emu_t *emu, uintptr_t fnc); void pFXLbL__32(x64emu_t *emu, uintptr_t fnc); void iFXLbpp__32(x64emu_t *emu, uintptr_t fnc); void iFXbLC_i_32(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped32/wrappedlibc_private.h b/src/wrapped32/wrappedlibc_private.h index e4bd1e58..d9ebbde0 100755 --- a/src/wrapped32/wrappedlibc_private.h +++ b/src/wrapped32/wrappedlibc_private.h @@ -101,7 +101,7 @@ GOWM(backtrace, iFEpi) GOWM(backtrace_symbols, pFEpi) //GO(__backtrace_symbols_fd, vFpii) //GOW(backtrace_symbols_fd, vFpii) -//GO(basename, pFp) +GO(basename, pFp) //GOW(bcmp, iFppL) //GO(bcopy, vFppL) // bdflush @@ -1079,7 +1079,7 @@ GOW(mbsrtowcs, LFpbp_Lp) // __mbsrtowcs_chk GO(mbstowcs, LFppL) // __mbstowcs_chk -//GO(mbtowc, iFppL) +GO(mbtowc, iFppL) // mcheck // mcheck_check_all // mcheck_pedantic @@ -1978,7 +1978,7 @@ GO(wcstof, fFpBp_) // __wcstof_l // wcstof_l // Weak // wcstoimax -//GO(wcstok, pFppp) +GO(wcstok, pFppBp_) GOM(wcstol, lFpBp_i) //%noE //GO(wcstold, DFpp) // __wcstold_internal |