diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-11-29 10:27:23 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-11-29 10:27:23 +0100 |
| commit | 12a82cf91f5ea89bcdc69c6aaa541f10ee948772 (patch) | |
| tree | 9caaa714e2c2fbc0e49ad1ad5b3311404c94a372 /src | |
| parent | 5af2fa49c334c373c296c56dda086471aa48b921 (diff) | |
| download | box64-12a82cf91f5ea89bcdc69c6aaa541f10ee948772.tar.gz box64-12a82cf91f5ea89bcdc69c6aaa541f10ee948772.zip | |
[WRAPPER] Added back faked ITM weak functions
Diffstat (limited to 'src')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 13 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibctypes.h | 13 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibc.c | 1 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibc_private.h | 9 |
4 files changed, 36 insertions, 0 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 6dfb16e0..f9c5ba1f 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -4398,6 +4398,7 @@ wrappedlibc: - exit - vFp: - _ITM_deregisterTMCloneTable + - _ZGTtdlPv - __cxa_finalize - iFv: - fork @@ -4414,6 +4415,12 @@ wrappedlibc: - setjmp - stime - uname +- CFp: + - _ITM_RU1 +- uFp: + - _ITM_RU4 +- UFp: + - _ITM_RU8 - lFv: - syscall - lFi: @@ -4421,6 +4428,9 @@ wrappedlibc: - sysconf - LFL: - getauxval +- pFL: + - _ZGTtnaX + - _ZGTtnam - pFp: - __deregister_frame_info - mallinfo @@ -4511,6 +4521,9 @@ wrappedlibc: - backtrace_symbols_fd - vFpup: - _ITM_addUserCommitAction +- vFppL: + - _ITM_memcpyRnWt + - _ITM_memcpyRtWn - iFiip: - __fxstat - __fxstat64 diff --git a/src/wrapped/generated/wrappedlibctypes.h b/src/wrapped/generated/wrappedlibctypes.h index 457a8327..07593e86 100644 --- a/src/wrapped/generated/wrappedlibctypes.h +++ b/src/wrapped/generated/wrappedlibctypes.h @@ -17,9 +17,13 @@ typedef void (*vFp_t)(void*); typedef int32_t (*iFv_t)(void); typedef int32_t (*iFi_t)(int32_t); typedef int32_t (*iFp_t)(void*); +typedef uint8_t (*CFp_t)(void*); +typedef uint32_t (*uFp_t)(void*); +typedef uint64_t (*UFp_t)(void*); typedef intptr_t (*lFv_t)(void); typedef intptr_t (*lFi_t)(int32_t); typedef uintptr_t (*LFL_t)(uintptr_t); +typedef void* (*pFL_t)(uintptr_t); typedef void* (*pFp_t)(void*); typedef void (*vFpi_t)(void*, int32_t); typedef void (*vFpu_t)(void*, uint32_t); @@ -42,6 +46,7 @@ typedef void (*vFipV_t)(int32_t, void*, ...); typedef void (*vFipA_t)(int32_t, void*, va_list); typedef void (*vFpii_t)(void*, int32_t, int32_t); typedef void (*vFpup_t)(void*, uint32_t, void*); +typedef void (*vFppL_t)(void*, void*, uintptr_t); typedef int32_t (*iFiip_t)(int32_t, int32_t, void*); typedef int32_t (*iFiiN_t)(int32_t, int32_t, ...); typedef int32_t (*iFipp_t)(int32_t, void*, void*); @@ -111,6 +116,7 @@ typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void* GO(__stack_chk_fail, vFv_t) \ GO(exit, vFi_t) \ GO(_ITM_deregisterTMCloneTable, vFp_t) \ + GO(_ZGTtdlPv, vFp_t) \ GO(__cxa_finalize, vFp_t) \ GO(fork, iFv_t) \ GO(vfork, iFv_t) \ @@ -124,10 +130,15 @@ typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void* GO(setjmp, iFp_t) \ GO(stime, iFp_t) \ GO(uname, iFp_t) \ + GO(_ITM_RU1, CFp_t) \ + GO(_ITM_RU4, uFp_t) \ + GO(_ITM_RU8, UFp_t) \ GO(syscall, lFv_t) \ GO(__sysconf, lFi_t) \ GO(sysconf, lFi_t) \ GO(getauxval, LFL_t) \ + GO(_ZGTtnaX, pFL_t) \ + GO(_ZGTtnam, pFL_t) \ GO(__deregister_frame_info, pFp_t) \ GO(mallinfo, pFp_t) \ GO(__longjmp_chk, vFpi_t) \ @@ -196,6 +207,8 @@ typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void* GO(vsyslog, vFipA_t) \ GO(backtrace_symbols_fd, vFpii_t) \ GO(_ITM_addUserCommitAction, vFpup_t) \ + GO(_ITM_memcpyRnWt, vFppL_t) \ + GO(_ITM_memcpyRtWn, vFppL_t) \ GO(__fxstat, iFiip_t) \ GO(__fxstat64, iFiip_t) \ GO(__fcntl, iFiiN_t) \ diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c index b30eea61..0847ff3c 100644 --- a/src/wrapped/wrappedlibc.c +++ b/src/wrapped/wrappedlibc.c @@ -662,6 +662,7 @@ int of_unconvert(int a) #undef SUPER EXPORT void* my__ZGTtnaX (size_t a) { (void)a; printf("warning _ZGTtnaX called\n"); return NULL; } +EXPORT void* my__ZGTtnam (size_t a) { (void)a; printf("warning _ZGTtnam called\n"); return NULL; } EXPORT void my__ZGTtdlPv (void* a) { (void)a; printf("warning _ZGTtdlPv called\n"); } EXPORT uint8_t my__ITM_RU1(const uint8_t * a) { (void)a; printf("warning _ITM_RU1 called\n"); return 0; } EXPORT uint32_t my__ITM_RU4(const uint32_t * a) { (void)a; printf("warning _ITM_RU4 called\n"); return 0; } diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h index 84325a5e..63097a05 100644 --- a/src/wrapped/wrappedlibc_private.h +++ b/src/wrapped/wrappedlibc_private.h @@ -2646,6 +2646,15 @@ GO(iconvctl, iFlip) #endif GO(dummy__ZnwmSt11align_val_tRKSt9nothrow_t, pFLLp) // for mallochook.c +GOWM(_ZGTtnaX, pFL) //%noE +GOWM(_ZGTtdlPv, vFp) //%noE +GOWM(_ZGTtnam, pFL) //%noE +GOWM(_ITM_RU1, CFp) //%noE +GOWM(_ITM_RU4, uFp) //%noE +GOWM(_ITM_RU8, UFp) //%noE +GOWM(_ITM_memcpyRtWn, vFppL) //%noE +GOWM(_ITM_memcpyRnWt, vFppL) //%noE + #ifdef ANDROID GOM(__libc_init, vFEpppp) GO(__errno, pFv) |