diff options
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.c | 7 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibc_private.h | 16 |
5 files changed, 15 insertions, 12 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index b0821289..9992fec5 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -607,6 +607,7 @@ #() iFiiipu #() iFiiipp #() iFiiupp +#() iFiLLLL #() iFipiii #() iFipuip #() iFipppi diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 9a7c4059..92d4d435 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -640,6 +640,7 @@ typedef int32_t (*iFEpppV_t)(x64emu_t*, void*, void*, void*, void*); typedef int32_t (*iFiiipu_t)(int32_t, int32_t, int32_t, void*, uint32_t); typedef int32_t (*iFiiipp_t)(int32_t, int32_t, int32_t, void*, void*); typedef int32_t (*iFiiupp_t)(int32_t, int32_t, uint32_t, void*, void*); +typedef int32_t (*iFiLLLL_t)(int32_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); typedef int32_t (*iFipiii_t)(int32_t, void*, int32_t, int32_t, int32_t); typedef int32_t (*iFipuip_t)(int32_t, void*, uint32_t, int32_t, void*); typedef int32_t (*iFipppi_t)(int32_t, void*, void*, void*, int32_t); @@ -1699,6 +1700,7 @@ void iFEpppV(x64emu_t *emu, uintptr_t fcn) { iFEpppV_t fn = (iFEpppV_t)fcn; R_RA void iFiiipu(x64emu_t *emu, uintptr_t fcn) { iFiiipu_t fn = (iFiiipu_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8); } void iFiiipp(x64emu_t *emu, uintptr_t fcn) { iFiiipp_t fn = (iFiiipp_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void iFiiupp(x64emu_t *emu, uintptr_t fcn) { iFiiupp_t fn = (iFiiupp_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } +void iFiLLLL(x64emu_t *emu, uintptr_t fcn) { iFiLLLL_t fn = (iFiLLLL_t)fcn; R_RAX=fn((int32_t)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8); } void iFipiii(x64emu_t *emu, uintptr_t fcn) { iFipiii_t fn = (iFipiii_t)fcn; R_RAX=fn((int32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); } void iFipuip(x64emu_t *emu, uintptr_t fcn) { iFipuip_t fn = (iFipuip_t)fcn; R_RAX=fn((int32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); } void iFipppi(x64emu_t *emu, uintptr_t fcn) { iFipppi_t fn = (iFipppi_t)fcn; R_RAX=fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8); } diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index 318baee4..766f98a0 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -637,6 +637,7 @@ void iFEpppV(x64emu_t *emu, uintptr_t fnc); void iFiiipu(x64emu_t *emu, uintptr_t fnc); void iFiiipp(x64emu_t *emu, uintptr_t fnc); void iFiiupp(x64emu_t *emu, uintptr_t fnc); +void iFiLLLL(x64emu_t *emu, uintptr_t fnc); void iFipiii(x64emu_t *emu, uintptr_t fnc); void iFipuip(x64emu_t *emu, uintptr_t fnc); void iFipppi(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c index 3806a369..3ba746c1 100755 --- a/src/wrapped/wrappedlibc.c +++ b/src/wrapped/wrappedlibc.c @@ -327,7 +327,7 @@ static void* findcompare_dirFct(void* fct) printf_log(LOG_NONE, "Warning, no more slot for libc compare_dir callback\n"); return NULL; } - +#endif // filter64 #define GO(A) \ static uintptr_t my_filter64_fct_##A = 0; \ @@ -374,7 +374,6 @@ static void* findcompare64Fct(void* fct) printf_log(LOG_NONE, "Warning, no more slot for libc compare64 callback\n"); return NULL; } -#endif #undef SUPER @@ -1490,12 +1489,12 @@ EXPORT int32_t my_glob64(x64emu_t *emu, void* pat, int32_t flags, void* errfnc, { return glob64(pat, flags, findgloberrFct(errfnc), pglob); } - +#endif EXPORT int my_scandir64(x64emu_t *emu, void* dir, void* namelist, void* sel, void* comp) { return scandir64(dir, namelist, findfilter64Fct(sel), findcompare64Fct(comp)); } - +#if 0 EXPORT int my_scandir(x64emu_t *emu, void* dir, void* namelist, void* sel, void* comp) { static iFpppp_t f = NULL; diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h index 5733c7c8..d63696a0 100755 --- a/src/wrapped/wrappedlibc_private.h +++ b/src/wrapped/wrappedlibc_private.h @@ -73,8 +73,8 @@ GO(atoll, IFp) //GO(__backtrace_symbols_fd, //GOW(backtrace_symbols_fd, //GOW(basename, -//GOI(bcmp, -//GO(bcopy, +GO(bcmp, iFppL) +GO(bcopy, vFppL) //GO(bdflush, //GOW(bind, //GO(bindresvport, @@ -367,7 +367,7 @@ GOW(finitef, iFf) //GO(fmemopen, //GO(fmemopen, //GO(fmtmsg, -//GO(fnmatch, +GO(fnmatch, iFppi) GOM(fopen, pFEpp) GOM(fopen64, pFEpp) // Weak //GO(fopencookie, @@ -1101,7 +1101,7 @@ GO(malloc, pFL) // need to wrap to clear allocated memory? //GO(malloc_set_state, //GOW(malloc_stats, //GOW(malloc_trim, -//GOW(malloc_usable_size, +GOW(malloc_usable_size, LFp) //GOW(mallopt, //DATAB(mallwatch, GO(mblen, iFpL) @@ -1339,7 +1339,7 @@ GOW(posix_memalign, iFpLL) //GO(posix_spawnp, //GO(ppoll, //GO(__ppoll_chk, -//GOW(prctl, +GOW(prctl, iFiLLLL) GOW(pread, lFipLl) GOW(__pread64, lFipLI) GOW(pread64, lFipLI) @@ -1550,7 +1550,7 @@ GOW(rmdir, iFp) //GOW(scalbnf, //GOW(scalbnl, //GOW(scandir, -//GOW(scandir64, +GOM(scandir64, iFEpppp) //weak //GOW(scandirat, //GO(scandirat64, //GO(scanf, @@ -1691,8 +1691,8 @@ GOM(signal, pFEip) //Weak //GO(sigorset, //GO(__sigpause, //GOW(sigpause, -//GO(sigpending, -//GOW(sigprocmask, +GO(sigpending, iFp) +GOW(sigprocmask, iFipp) //GOW(sigqueue, //GO(sigrelse, //GOW(sigreturn, |