diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-25 09:44:36 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-25 09:44:36 +0100 |
| commit | 45873cc2b191b9a615b29b128749bb137f99c7f7 (patch) | |
| tree | 392715c2d94d90d3c1a69c406c41bc53d2ca0164 /src | |
| parent | a32955ffec182074ab0b0e35f3980926b4132a88 (diff) | |
| download | box64-45873cc2b191b9a615b29b128749bb137f99c7f7.tar.gz box64-45873cc2b191b9a615b29b128749bb137f99c7f7.zip | |
Added a bunch of libc wrapped functions
Diffstat (limited to 'src')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 14 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 28 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 14 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibc.c | 6 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibc_private.h | 194 |
5 files changed, 156 insertions, 100 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index f31bdeaa..70fcf17d 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -195,6 +195,7 @@ #() vFpup #() vFppi #() vFppu +#() vFppL #() vFppp #() iFEiw #() iFEip @@ -217,6 +218,7 @@ #() iFuuu #() iFuup #() iFuff +#() iFuLL #() iFfff #() iFLip #() iFLpp @@ -234,6 +236,7 @@ #() iFpff #() iFpli #() iFplp +#() iFpLi #() iFpLp #() iFppi #() iFppI @@ -266,6 +269,7 @@ #() fFuii #() fFfff #() fFffp +#() fFppL #() dFddd #() dFddp #() dFppi @@ -280,7 +284,10 @@ #() LFLpu #() LFLpL #() LFpii +#() LFpup +#() LFpLp #() LFppi +#() LFppL #() LFSpL #() pFEip #() pFEpi @@ -381,6 +388,7 @@ #() iFEpOu #() iFiiii #() iFiiiu +#() iFiipp #() iFiuii #() iFipii #() iFippi @@ -429,6 +437,7 @@ #() uFpuuu #() uFpppi #() UFpipp +#() dFppiL #() lFipiI #() lFipLI #() lFipLl @@ -436,6 +445,7 @@ #() LFpLLp #() LFpLpp #() LFppii +#() LFppLL #() LFppLp #() pFEipp #() pFEupp @@ -587,6 +597,8 @@ #() LFLpppp #() LFpLLLp #() LFpLppL +#() LFpLppp +#() LFppLLp #() LFppppp #() pFEpiii #() pFEpipL @@ -704,6 +716,8 @@ #() pFEpuipp #() pFEpuupp #() pFEpuppp +#() pFEppLLp +#() pFEpppLp #() pFEppppp #() pFiCiiCi #() pFpiiiiu diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 50a42f28..2331678f 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -228,6 +228,7 @@ typedef void (*vFpuu_t)(void*, uint32_t, uint32_t); typedef void (*vFpup_t)(void*, uint32_t, void*); typedef void (*vFppi_t)(void*, void*, int32_t); typedef void (*vFppu_t)(void*, void*, uint32_t); +typedef void (*vFppL_t)(void*, void*, uintptr_t); typedef void (*vFppp_t)(void*, void*, void*); typedef int32_t (*iFEiw_t)(x64emu_t*, int32_t, int16_t); typedef int32_t (*iFEip_t)(x64emu_t*, int32_t, void*); @@ -250,6 +251,7 @@ typedef int32_t (*iFipp_t)(int32_t, void*, void*); typedef int32_t (*iFuuu_t)(uint32_t, uint32_t, uint32_t); typedef int32_t (*iFuup_t)(uint32_t, uint32_t, void*); typedef int32_t (*iFuff_t)(uint32_t, float, float); +typedef int32_t (*iFuLL_t)(uint32_t, uintptr_t, uintptr_t); typedef int32_t (*iFfff_t)(float, float, float); typedef int32_t (*iFLip_t)(uintptr_t, int32_t, void*); typedef int32_t (*iFLpp_t)(uintptr_t, void*, void*); @@ -267,6 +269,7 @@ typedef int32_t (*iFpfu_t)(void*, float, uint32_t); typedef int32_t (*iFpff_t)(void*, float, float); typedef int32_t (*iFpli_t)(void*, intptr_t, int32_t); typedef int32_t (*iFplp_t)(void*, intptr_t, void*); +typedef int32_t (*iFpLi_t)(void*, uintptr_t, int32_t); typedef int32_t (*iFpLp_t)(void*, uintptr_t, void*); typedef int32_t (*iFppi_t)(void*, void*, int32_t); typedef int32_t (*iFppI_t)(void*, void*, int64_t); @@ -299,6 +302,7 @@ typedef uint64_t (*UFppi_t)(void*, void*, int32_t); typedef float (*fFuii_t)(uint32_t, int32_t, int32_t); typedef float (*fFfff_t)(float, float, float); typedef float (*fFffp_t)(float, float, void*); +typedef float (*fFppL_t)(void*, void*, uintptr_t); typedef double (*dFddd_t)(double, double, double); typedef double (*dFddp_t)(double, double, void*); typedef double (*dFppi_t)(void*, void*, int32_t); @@ -313,7 +317,10 @@ typedef uintptr_t (*LFLLI_t)(uintptr_t, uintptr_t, int64_t); typedef uintptr_t (*LFLpu_t)(uintptr_t, void*, uint32_t); typedef uintptr_t (*LFLpL_t)(uintptr_t, void*, uintptr_t); typedef uintptr_t (*LFpii_t)(void*, int32_t, int32_t); +typedef uintptr_t (*LFpup_t)(void*, uint32_t, void*); +typedef uintptr_t (*LFpLp_t)(void*, uintptr_t, void*); typedef uintptr_t (*LFppi_t)(void*, void*, int32_t); +typedef uintptr_t (*LFppL_t)(void*, void*, uintptr_t); typedef uintptr_t (*LFSpL_t)(void*, void*, uintptr_t); typedef void* (*pFEip_t)(x64emu_t*, int32_t, void*); typedef void* (*pFEpi_t)(x64emu_t*, void*, int32_t); @@ -414,6 +421,7 @@ typedef int32_t (*iFEppV_t)(x64emu_t*, void*, void*, void*); typedef int32_t (*iFEpOu_t)(x64emu_t*, void*, int32_t, uint32_t); typedef int32_t (*iFiiii_t)(int32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFiiiu_t)(int32_t, int32_t, int32_t, uint32_t); +typedef int32_t (*iFiipp_t)(int32_t, int32_t, void*, void*); typedef int32_t (*iFiuii_t)(int32_t, uint32_t, int32_t, int32_t); typedef int32_t (*iFipii_t)(int32_t, void*, int32_t, int32_t); typedef int32_t (*iFippi_t)(int32_t, void*, void*, int32_t); @@ -462,6 +470,7 @@ typedef uint32_t (*uFpuip_t)(void*, uint32_t, int32_t, void*); typedef uint32_t (*uFpuuu_t)(void*, uint32_t, uint32_t, uint32_t); typedef uint32_t (*uFpppi_t)(void*, void*, void*, int32_t); typedef uint64_t (*UFpipp_t)(void*, int32_t, void*, void*); +typedef double (*dFppiL_t)(void*, void*, int32_t, uintptr_t); typedef intptr_t (*lFipiI_t)(int32_t, void*, int32_t, int64_t); typedef intptr_t (*lFipLI_t)(int32_t, void*, uintptr_t, int64_t); typedef intptr_t (*lFipLl_t)(int32_t, void*, uintptr_t, intptr_t); @@ -469,6 +478,7 @@ typedef uintptr_t (*LFpuuu_t)(void*, uint32_t, uint32_t, uint32_t); typedef uintptr_t (*LFpLLp_t)(void*, uintptr_t, uintptr_t, void*); typedef uintptr_t (*LFpLpp_t)(void*, uintptr_t, void*, void*); typedef uintptr_t (*LFppii_t)(void*, void*, int32_t, int32_t); +typedef uintptr_t (*LFppLL_t)(void*, void*, uintptr_t, uintptr_t); typedef uintptr_t (*LFppLp_t)(void*, void*, uintptr_t, void*); typedef void* (*pFEipp_t)(x64emu_t*, int32_t, void*, void*); typedef void* (*pFEupp_t)(x64emu_t*, uint32_t, void*, void*); @@ -620,6 +630,8 @@ typedef uint32_t (*uFppppp_t)(void*, void*, void*, void*, void*); typedef uintptr_t (*LFLpppp_t)(uintptr_t, void*, void*, void*, void*); typedef uintptr_t (*LFpLLLp_t)(void*, uintptr_t, uintptr_t, uintptr_t, void*); typedef uintptr_t (*LFpLppL_t)(void*, uintptr_t, void*, void*, uintptr_t); +typedef uintptr_t (*LFpLppp_t)(void*, uintptr_t, void*, void*, void*); +typedef uintptr_t (*LFppLLp_t)(void*, void*, 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); @@ -737,6 +749,8 @@ typedef void* (*pFEpippp_t)(x64emu_t*, void*, int32_t, void*, void*, void*); typedef void* (*pFEpuipp_t)(x64emu_t*, void*, uint32_t, int32_t, void*, void*); typedef void* (*pFEpuupp_t)(x64emu_t*, void*, uint32_t, uint32_t, void*, void*); typedef void* (*pFEpuppp_t)(x64emu_t*, void*, uint32_t, void*, void*, void*); +typedef void* (*pFEppLLp_t)(x64emu_t*, void*, void*, uintptr_t, uintptr_t, void*); +typedef void* (*pFEpppLp_t)(x64emu_t*, void*, void*, void*, uintptr_t, void*); typedef void* (*pFEppppp_t)(x64emu_t*, void*, void*, void*, void*, void*); typedef void* (*pFiCiiCi_t)(int32_t, uint8_t, int32_t, int32_t, uint8_t, int32_t); typedef void* (*pFpiiiiu_t)(void*, int32_t, int32_t, int32_t, int32_t, uint32_t); @@ -1178,6 +1192,7 @@ void vFpuu(x64emu_t *emu, uintptr_t fcn) { vFpuu_t fn = (vFpuu_t)fcn; fn((void*) void vFpup(x64emu_t *emu, uintptr_t fcn) { vFpup_t fn = (vFpup_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); } void vFppi(x64emu_t *emu, uintptr_t fcn) { vFppi_t fn = (vFppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); } void vFppu(x64emu_t *emu, uintptr_t fcn) { vFppu_t fn = (vFppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); } +void vFppL(x64emu_t *emu, uintptr_t fcn) { vFppL_t fn = (vFppL_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); } void vFppp(x64emu_t *emu, uintptr_t fcn) { vFppp_t fn = (vFppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); } void iFEiw(x64emu_t *emu, uintptr_t fcn) { iFEiw_t fn = (iFEiw_t)fcn; R_RAX=fn(emu, (int32_t)R_RDI, (int16_t)R_RSI); } void iFEip(x64emu_t *emu, uintptr_t fcn) { iFEip_t fn = (iFEip_t)fcn; R_RAX=fn(emu, (int32_t)R_RDI, (void*)R_RSI); } @@ -1200,6 +1215,7 @@ void iFipp(x64emu_t *emu, uintptr_t fcn) { iFipp_t fn = (iFipp_t)fcn; R_RAX=fn(( void iFuuu(x64emu_t *emu, uintptr_t fcn) { iFuuu_t fn = (iFuuu_t)fcn; R_RAX=fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX); } void iFuup(x64emu_t *emu, uintptr_t fcn) { iFuup_t fn = (iFuup_t)fcn; R_RAX=fn((uint32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); } void iFuff(x64emu_t *emu, uintptr_t fcn) { iFuff_t fn = (iFuff_t)fcn; R_RAX=fn((uint32_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0]); } +void iFuLL(x64emu_t *emu, uintptr_t fcn) { iFuLL_t fn = (iFuLL_t)fcn; R_RAX=fn((uint32_t)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX); } void iFfff(x64emu_t *emu, uintptr_t fcn) { iFfff_t fn = (iFfff_t)fcn; R_RAX=fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); } void iFLip(x64emu_t *emu, uintptr_t fcn) { iFLip_t fn = (iFLip_t)fcn; R_RAX=fn((uintptr_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX); } void iFLpp(x64emu_t *emu, uintptr_t fcn) { iFLpp_t fn = (iFLpp_t)fcn; R_RAX=fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX); } @@ -1217,6 +1233,7 @@ void iFpfu(x64emu_t *emu, uintptr_t fcn) { iFpfu_t fn = (iFpfu_t)fcn; R_RAX=fn(( void iFpff(x64emu_t *emu, uintptr_t fcn) { iFpff_t fn = (iFpff_t)fcn; R_RAX=fn((void*)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0]); } void iFpli(x64emu_t *emu, uintptr_t fcn) { iFpli_t fn = (iFpli_t)fcn; R_RAX=fn((void*)R_RDI, (intptr_t)R_RSI, (int32_t)R_RDX); } void iFplp(x64emu_t *emu, uintptr_t fcn) { iFplp_t fn = (iFplp_t)fcn; R_RAX=fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX); } +void iFpLi(x64emu_t *emu, uintptr_t fcn) { iFpLi_t fn = (iFpLi_t)fcn; R_RAX=fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX); } void iFpLp(x64emu_t *emu, uintptr_t fcn) { iFpLp_t fn = (iFpLp_t)fcn; R_RAX=fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); } void iFppi(x64emu_t *emu, uintptr_t fcn) { iFppi_t fn = (iFppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); } void iFppI(x64emu_t *emu, uintptr_t fcn) { iFppI_t fn = (iFppI_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX); } @@ -1249,6 +1266,7 @@ void UFppi(x64emu_t *emu, uintptr_t fcn) { UFppi_t fn = (UFppi_t)fcn; R_RAX=fn(( void fFuii(x64emu_t *emu, uintptr_t fcn) { fFuii_t fn = (fFuii_t)fcn; emu->xmm[0].f[0]=fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX); } void fFfff(x64emu_t *emu, uintptr_t fcn) { fFfff_t fn = (fFfff_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); } void fFffp(x64emu_t *emu, uintptr_t fcn) { fFffp_t fn = (fFffp_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], emu->xmm[1].f[0], (void*)R_RDI); } +void fFppL(x64emu_t *emu, uintptr_t fcn) { fFppL_t fn = (fFppL_t)fcn; emu->xmm[0].f[0]=fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); } void dFddd(x64emu_t *emu, uintptr_t fcn) { dFddd_t fn = (dFddd_t)fcn; emu->xmm[0].d[0]=fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); } void dFddp(x64emu_t *emu, uintptr_t fcn) { dFddp_t fn = (dFddp_t)fcn; emu->xmm[0].d[0]=fn(emu->xmm[0].d[0], emu->xmm[1].d[0], (void*)R_RDI); } void dFppi(x64emu_t *emu, uintptr_t fcn) { dFppi_t fn = (dFppi_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); } @@ -1263,7 +1281,10 @@ void LFLLI(x64emu_t *emu, uintptr_t fcn) { LFLLI_t fn = (LFLLI_t)fcn; R_RAX=(uin void LFLpu(x64emu_t *emu, uintptr_t fcn) { LFLpu_t fn = (LFLpu_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); } void LFLpL(x64emu_t *emu, uintptr_t fcn) { LFLpL_t fn = (LFLpL_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); } void LFpii(x64emu_t *emu, uintptr_t fcn) { LFpii_t fn = (LFpii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX); } +void LFpup(x64emu_t *emu, uintptr_t fcn) { LFpup_t fn = (LFpup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); } +void LFpLp(x64emu_t *emu, uintptr_t fcn) { LFpLp_t fn = (LFpLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); } void LFppi(x64emu_t *emu, uintptr_t fcn) { LFppi_t fn = (LFppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); } +void LFppL(x64emu_t *emu, uintptr_t fcn) { LFppL_t fn = (LFppL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); } void LFSpL(x64emu_t *emu, uintptr_t fcn) { LFSpL_t fn = (LFSpL_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (void*)R_RSI, (uintptr_t)R_RDX); } void pFEip(x64emu_t *emu, uintptr_t fcn) { pFEip_t fn = (pFEip_t)fcn; R_RAX=(uintptr_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI); } void pFEpi(x64emu_t *emu, uintptr_t fcn) { pFEpi_t fn = (pFEpi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI); } @@ -1364,6 +1385,7 @@ void iFEppV(x64emu_t *emu, uintptr_t fcn) { iFEppV_t fn = (iFEppV_t)fcn; R_RAX=f void iFEpOu(x64emu_t *emu, uintptr_t fcn) { iFEpOu_t fn = (iFEpOu_t)fcn; R_RAX=fn(emu, (void*)R_RDI, of_convert((int32_t)R_RSI), (uint32_t)R_RDX); } void iFiiii(x64emu_t *emu, uintptr_t fcn) { iFiiii_t fn = (iFiiii_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } void iFiiiu(x64emu_t *emu, uintptr_t fcn) { iFiiiu_t fn = (iFiiiu_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); } +void iFiipp(x64emu_t *emu, uintptr_t fcn) { iFiipp_t fn = (iFiipp_t)fcn; R_RAX=fn((int32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } void iFiuii(x64emu_t *emu, uintptr_t fcn) { iFiuii_t fn = (iFiuii_t)fcn; R_RAX=fn((int32_t)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } void iFipii(x64emu_t *emu, uintptr_t fcn) { iFipii_t fn = (iFipii_t)fcn; R_RAX=fn((int32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } void iFippi(x64emu_t *emu, uintptr_t fcn) { iFippi_t fn = (iFippi_t)fcn; R_RAX=fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); } @@ -1412,6 +1434,7 @@ void uFpuip(x64emu_t *emu, uintptr_t fcn) { uFpuip_t fn = (uFpuip_t)fcn; R_RAX=( void uFpuuu(x64emu_t *emu, uintptr_t fcn) { uFpuuu_t fn = (uFpuuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); } void uFpppi(x64emu_t *emu, uintptr_t fcn) { uFpppi_t fn = (uFpppi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); } void UFpipp(x64emu_t *emu, uintptr_t fcn) { UFpipp_t fn = (UFpipp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } +void dFppiL(x64emu_t *emu, uintptr_t fcn) { dFppiL_t fn = (dFppiL_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX); } void lFipiI(x64emu_t *emu, uintptr_t fcn) { lFipiI_t fn = (lFipiI_t)fcn; R_RAX=(intptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int64_t)R_RCX); } void lFipLI(x64emu_t *emu, uintptr_t fcn) { lFipLI_t fn = (lFipLI_t)fcn; R_RAX=(intptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX); } void lFipLl(x64emu_t *emu, uintptr_t fcn) { lFipLl_t fn = (lFipLl_t)fcn; R_RAX=(intptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (intptr_t)R_RCX); } @@ -1419,6 +1442,7 @@ void LFpuuu(x64emu_t *emu, uintptr_t fcn) { LFpuuu_t fn = (LFpuuu_t)fcn; R_RAX=( void LFpLLp(x64emu_t *emu, uintptr_t fcn) { LFpLLp_t fn = (LFpLLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); } void LFpLpp(x64emu_t *emu, uintptr_t fcn) { LFpLpp_t fn = (LFpLpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } void LFppii(x64emu_t *emu, uintptr_t fcn) { LFppii_t fn = (LFppii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } +void LFppLL(x64emu_t *emu, uintptr_t fcn) { LFppLL_t fn = (LFppLL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); } void LFppLp(x64emu_t *emu, uintptr_t fcn) { LFppLp_t fn = (LFppLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); } void pFEipp(x64emu_t *emu, uintptr_t fcn) { pFEipp_t fn = (pFEipp_t)fcn; R_RAX=(uintptr_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); } void pFEupp(x64emu_t *emu, uintptr_t fcn) { pFEupp_t fn = (pFEupp_t)fcn; R_RAX=(uintptr_t)fn(emu, (uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); } @@ -1570,6 +1594,8 @@ void uFppppp(x64emu_t *emu, uintptr_t fcn) { uFppppp_t fn = (uFppppp_t)fcn; R_RA void LFLpppp(x64emu_t *emu, uintptr_t fcn) { LFLpppp_t fn = (LFLpppp_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)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 LFpLppL(x64emu_t *emu, uintptr_t fcn) { LFpLppL_t fn = (LFpLppL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); } +void LFpLppp(x64emu_t *emu, uintptr_t fcn) { LFpLppp_t fn = (LFpLppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } +void LFppLLp(x64emu_t *emu, uintptr_t fcn) { LFppLLp_t fn = (LFppLLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)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); } @@ -1687,6 +1713,8 @@ void pFEpippp(x64emu_t *emu, uintptr_t fcn) { pFEpippp_t fn = (pFEpippp_t)fcn; R void pFEpuipp(x64emu_t *emu, uintptr_t fcn) { pFEpuipp_t fn = (pFEpuipp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void pFEpuupp(x64emu_t *emu, uintptr_t fcn) { pFEpuupp_t fn = (pFEpuupp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void pFEpuppp(x64emu_t *emu, uintptr_t fcn) { pFEpuppp_t fn = (pFEpuppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } +void pFEppLLp(x64emu_t *emu, uintptr_t fcn) { pFEppLLp_t fn = (pFEppLLp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); } +void pFEpppLp(x64emu_t *emu, uintptr_t fcn) { pFEpppLp_t fn = (pFEpppLp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); } void pFEppppp(x64emu_t *emu, uintptr_t fcn) { pFEppppp_t fn = (pFEppppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void pFiCiiCi(x64emu_t *emu, uintptr_t fcn) { pFiCiiCi_t fn = (pFiCiiCi_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (uint8_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint8_t)R_R8, (int32_t)R_R9); } void pFpiiiiu(x64emu_t *emu, uintptr_t fcn) { pFpiiiiu_t fn = (pFpiiiiu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9); } diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index f5bd89fc..002bdee5 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -225,6 +225,7 @@ void vFpuu(x64emu_t *emu, uintptr_t fnc); void vFpup(x64emu_t *emu, uintptr_t fnc); void vFppi(x64emu_t *emu, uintptr_t fnc); void vFppu(x64emu_t *emu, uintptr_t fnc); +void vFppL(x64emu_t *emu, uintptr_t fnc); void vFppp(x64emu_t *emu, uintptr_t fnc); void iFEiw(x64emu_t *emu, uintptr_t fnc); void iFEip(x64emu_t *emu, uintptr_t fnc); @@ -247,6 +248,7 @@ void iFipp(x64emu_t *emu, uintptr_t fnc); void iFuuu(x64emu_t *emu, uintptr_t fnc); void iFuup(x64emu_t *emu, uintptr_t fnc); void iFuff(x64emu_t *emu, uintptr_t fnc); +void iFuLL(x64emu_t *emu, uintptr_t fnc); void iFfff(x64emu_t *emu, uintptr_t fnc); void iFLip(x64emu_t *emu, uintptr_t fnc); void iFLpp(x64emu_t *emu, uintptr_t fnc); @@ -264,6 +266,7 @@ void iFpfu(x64emu_t *emu, uintptr_t fnc); void iFpff(x64emu_t *emu, uintptr_t fnc); void iFpli(x64emu_t *emu, uintptr_t fnc); void iFplp(x64emu_t *emu, uintptr_t fnc); +void iFpLi(x64emu_t *emu, uintptr_t fnc); void iFpLp(x64emu_t *emu, uintptr_t fnc); void iFppi(x64emu_t *emu, uintptr_t fnc); void iFppI(x64emu_t *emu, uintptr_t fnc); @@ -296,6 +299,7 @@ void UFppi(x64emu_t *emu, uintptr_t fnc); void fFuii(x64emu_t *emu, uintptr_t fnc); void fFfff(x64emu_t *emu, uintptr_t fnc); void fFffp(x64emu_t *emu, uintptr_t fnc); +void fFppL(x64emu_t *emu, uintptr_t fnc); void dFddd(x64emu_t *emu, uintptr_t fnc); void dFddp(x64emu_t *emu, uintptr_t fnc); void dFppi(x64emu_t *emu, uintptr_t fnc); @@ -310,7 +314,10 @@ void LFLLI(x64emu_t *emu, uintptr_t fnc); void LFLpu(x64emu_t *emu, uintptr_t fnc); void LFLpL(x64emu_t *emu, uintptr_t fnc); void LFpii(x64emu_t *emu, uintptr_t fnc); +void LFpup(x64emu_t *emu, uintptr_t fnc); +void LFpLp(x64emu_t *emu, uintptr_t fnc); void LFppi(x64emu_t *emu, uintptr_t fnc); +void LFppL(x64emu_t *emu, uintptr_t fnc); void LFSpL(x64emu_t *emu, uintptr_t fnc); void pFEip(x64emu_t *emu, uintptr_t fnc); void pFEpi(x64emu_t *emu, uintptr_t fnc); @@ -411,6 +418,7 @@ void iFEppV(x64emu_t *emu, uintptr_t fnc); void iFEpOu(x64emu_t *emu, uintptr_t fnc); void iFiiii(x64emu_t *emu, uintptr_t fnc); void iFiiiu(x64emu_t *emu, uintptr_t fnc); +void iFiipp(x64emu_t *emu, uintptr_t fnc); void iFiuii(x64emu_t *emu, uintptr_t fnc); void iFipii(x64emu_t *emu, uintptr_t fnc); void iFippi(x64emu_t *emu, uintptr_t fnc); @@ -459,6 +467,7 @@ void uFpuip(x64emu_t *emu, uintptr_t fnc); void uFpuuu(x64emu_t *emu, uintptr_t fnc); void uFpppi(x64emu_t *emu, uintptr_t fnc); void UFpipp(x64emu_t *emu, uintptr_t fnc); +void dFppiL(x64emu_t *emu, uintptr_t fnc); void lFipiI(x64emu_t *emu, uintptr_t fnc); void lFipLI(x64emu_t *emu, uintptr_t fnc); void lFipLl(x64emu_t *emu, uintptr_t fnc); @@ -466,6 +475,7 @@ void LFpuuu(x64emu_t *emu, uintptr_t fnc); void LFpLLp(x64emu_t *emu, uintptr_t fnc); void LFpLpp(x64emu_t *emu, uintptr_t fnc); void LFppii(x64emu_t *emu, uintptr_t fnc); +void LFppLL(x64emu_t *emu, uintptr_t fnc); void LFppLp(x64emu_t *emu, uintptr_t fnc); void pFEipp(x64emu_t *emu, uintptr_t fnc); void pFEupp(x64emu_t *emu, uintptr_t fnc); @@ -617,6 +627,8 @@ void uFppppp(x64emu_t *emu, uintptr_t fnc); void LFLpppp(x64emu_t *emu, uintptr_t fnc); void LFpLLLp(x64emu_t *emu, uintptr_t fnc); void LFpLppL(x64emu_t *emu, uintptr_t fnc); +void LFpLppp(x64emu_t *emu, uintptr_t fnc); +void LFppLLp(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); @@ -734,6 +746,8 @@ void pFEpippp(x64emu_t *emu, uintptr_t fnc); void pFEpuipp(x64emu_t *emu, uintptr_t fnc); void pFEpuupp(x64emu_t *emu, uintptr_t fnc); void pFEpuppp(x64emu_t *emu, uintptr_t fnc); +void pFEppLLp(x64emu_t *emu, uintptr_t fnc); +void pFEpppLp(x64emu_t *emu, uintptr_t fnc); void pFEppppp(x64emu_t *emu, uintptr_t fnc); void pFiCiiCi(x64emu_t *emu, uintptr_t fnc); void pFpiiiiu(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c index 21291cd5..516a671f 100755 --- a/src/wrapped/wrappedlibc.c +++ b/src/wrapped/wrappedlibc.c @@ -117,7 +117,6 @@ void* getVargN(x64emu_t *emu, int n) return ((void**)R_RSP)[1+n-6]; } -#if 0 // utility functions #define SUPER() \ GO(0) \ @@ -160,6 +159,7 @@ static void* findcompareFct(void* fct) printf_log(LOG_NONE, "Warning, no more slot for libc compare callback\n"); return NULL; } +#if 0 // ftw #define GO(A) \ @@ -374,10 +374,10 @@ static void* findcompare64Fct(void* fct) printf_log(LOG_NONE, "Warning, no more slot for libc compare64 callback\n"); return NULL; } +#endif #undef SUPER -#endif // some my_XXX declare and defines int32_t my___libc_start_main(x64emu_t* emu, int *(main) (int, char * *, char * *), int argc, char * * ubp_av, void (*init) (void), void (*fini) (void), @@ -1012,7 +1012,6 @@ EXPORT void my_qsort_r(x64emu_t* emu, void* base, size_t nmemb, size_t size, voi args.emu = emu; args.f = (uintptr_t)fnc; args.r = 1; args.data = data; qsort_r(base, nmemb, size, (__compar_d_fn_t)my_compare_r_cb, &args); } -#if 0 EXPORT void* my_bsearch(x64emu_t* emu, void* key, void* base, size_t nmemb, size_t size, void* fnc) { return bsearch(key, base, nmemb, size, findcompareFct(fnc)); @@ -1026,6 +1025,7 @@ EXPORT void* my_lfind(x64emu_t* emu, void* key, void* base, size_t* nmemb, size_ { return lfind(key, base, nmemb, size, findcompareFct(fnc)); } +#if 0 struct i386_dirent { diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h index d1f1e31a..feeb3607 100755 --- a/src/wrapped/wrappedlibc_private.h +++ b/src/wrapped/wrappedlibc_private.h @@ -53,8 +53,8 @@ GOW(access, iFpi) //GOW(asprintf, //GO(__asprintf_chk, //GO(__assert, -//GO(__assert_fail, -//GO(__assert_perror_fail, +GO(__assert_fail, vFppup) +GO(__assert_perror_fail, vFipup) GO(atof, dFp) GO(atoi, iFp) GO(atol, lFp) @@ -78,15 +78,15 @@ GO(atoll, IFp) //GO(bdflush, //GOW(bind, //GO(bindresvport, -//GOW(bindtextdomain, -//GOW(bind_textdomain_codeset, -//GOW(brk, +GOW(bindtextdomain, pFpp) +GOW(bind_textdomain_codeset, pFpp) +GOW(brk, iFp) //GO(__bsd_getpgrp, //GOW(bsd_signal, -//GO(bsearch, +GOM(bsearch, pFEppLLp) GOW(btowc, iFi) -//GO(__bzero, -//GOW(bzero, +GO(__bzero, vFpL) +GOW(bzero, vFpL) //GO(c16rtomb, //GOW(c32rtomb, GOW(calloc, pFLL) @@ -95,17 +95,17 @@ GOW(calloc, pFLL) //GOW(canonicalize_file_name, //GO(capget, //GO(capset, -//GO(catclose, -//GO(catgets, -//GO(catopen, +GO(catclose, iFp) +GO(catgets, pFpiip) +GO(catopen, pFpi) //GO(cbc_crypt, -//GO(cfgetispeed, -//GO(cfgetospeed, -//GO(cfmakeraw, -//GO(cfree, -//GO(cfsetispeed, -//GO(cfsetospeed, -//GO(cfsetspeed, +GO(cfgetispeed, uFp) +GO(cfgetospeed, uFp) +GO(cfmakeraw, vFp) +GO(cfree, vFp) +GO(cfsetispeed, iFpu) +GO(cfsetospeed, iFpu) +GO(cfsetspeed, iFpi) GOW(chdir, iFp) DATA(__check_rhosts_file, sizeof(void*)) //GO(chflags, @@ -169,7 +169,7 @@ GO(closelog, vFv) //DATA(__ctype32_toupper, //DATA(__ctype_b, GO(__ctype_b_loc, pFv) -//GOW(__ctype_get_mb_cur_max, +GOW(__ctype_get_mb_cur_max, LFv) //GO(__ctype_init, DATAM(__ctype_tolower, sizeof(void*)) GO(__ctype_tolower_loc, pFv) @@ -310,7 +310,7 @@ GOM(fcntl64, iFEiiN) //Weak //GO(fcvt, //GOW(fcvt_r, //GO(fdatasync, -//GO(__fdelt_chk, +GO(__fdelt_chk, LFL) //GO(__fdelt_warn, //GO(fdetach, GO(fdopen, pFip) @@ -343,7 +343,7 @@ GO(fflush_unlocked, iFp) //GOW(fgetspent_r, //GOW(fgets_unlocked, //GO(__fgets_unlocked_chk, -//GOW(fgetwc, +GOW(fgetwc, uFp) //GOW(fgetwc_unlocked, //GO(fgetws, //GO(__fgetws_chk, @@ -540,9 +540,9 @@ GOW(geteuid, pFv) //GO(getnetgrent, //GOW(getnetgrent_r, //GO(getnetname, -//GOW(get_nprocs, -//GOW(get_nprocs_conf, -//GO(getopt, +GOW(get_nprocs, iFv) +GOW(get_nprocs_conf, iFv) +GO(getopt, iFipp) //GO(getopt_long, //GO(getopt_long_only, GO(__getpagesize, iFv) @@ -609,9 +609,9 @@ GOW(getrlimit64, iFip) //GO(getspnam, //GO(getspnam_r, //GO(getsubopt, -//GOW(gettext, -//GOI(__gettimeofday, -//GOI(gettimeofday, +GOW(gettext, pFp) +GO(__gettimeofday, iFpp) +GO(gettimeofday, iFpp) //GOW(getttyent, //GOW(getttynam, //GOW(getuid, @@ -628,7 +628,7 @@ GOW(getrlimit64, iFip) //GO(getutxid, //GO(getutxline, //GO(getw, -//GOW(getwc, +GOW(getwc, uFp) //GO(getwchar, //GO(getwchar_unlocked, //GOW(getwc_unlocked, @@ -941,7 +941,7 @@ GOW(iswcntrl, iFi) GOW(iswcntrl_l, iFip) //GO(__iswctype, //GOW(iswctype, -//GO(__iswctype_l, +GO(__iswctype_l, iFuLL) //GOW(iswctype_l, GOW(iswdigit, iFi) //GO(__iswdigit_l, @@ -999,7 +999,7 @@ GO(killpg, iFii) //GOW(ldexpf, //GOW(ldexpl, //GO(ldiv, -//GO(lfind, +GOM(lfind, pFEpppLp) //GO(lgetxattr, //GO(__libc_alloca_cutoff, //GO(__libc_allocate_once_slow, @@ -1074,13 +1074,13 @@ GOW(localtime_r, pFpp) //GO(lockf, //GOW(lockf64, //DATAB(locs, -//GOW(_longjmp, -//GOW(longjmp, +//GOW(_longjmp, vFEpi) +GOW(longjmp, vFEpi) //GO(__longjmp_chk, //GO(lrand48, //GO(lrand48_r, //GO(lremovexattr, -//GO(lsearch, +GOM(lsearch, pFEpppLp) GO(__lseek, IFiIi) GOW(lseek, IFiIi) GOW(lseek64, IFiIi) @@ -1101,27 +1101,27 @@ GO(malloc, pFL) // need to wrap to clear allocated memory? //GOW(malloc_usable_size, //GOW(mallopt, //DATAB(mallwatch, -//GO(mblen, -//GO(__mbrlen, -//GOW(mbrlen, +GO(mblen, iFpL) +GO(__mbrlen, LFpLp) +GOW(mbrlen, LFpLp) //GO(mbrtoc16, //GOW(mbrtoc32, -//GO(__mbrtowc, -//GOW(mbrtowc, -//GOW(mbsinit, -//GOW(mbsnrtowcs, +GO(__mbrtowc, LFppLp) +GOW(mbrtowc, LFppLp) +GOW(mbsinit, iFp) +GOW(mbsnrtowcs, LFppLLp) //GO(__mbsnrtowcs_chk, GOW(mbsrtowcs, LFppLp) //GO(__mbsrtowcs_chk, -//GO(mbstowcs, +GO(mbstowcs, LFppL) //GO(__mbstowcs_chk, -//GO(mbtowc, +GO(mbtowc, iFppL) //GO(mcheck, //GO(mcheck_check_all, //GO(mcheck_pedantic, //GO(_mcleanup, -//GO(_mcount, -//GOW(mcount, +GO(_mcount, vFpp) +GOW(mcount, vFpp) //GOW(memalign, GOW(memccpy, pFppiL) GO(memchr, pFpiL) @@ -1279,11 +1279,11 @@ GO(openlog, vFpii) //GO(__overflow, //GO(parse_printf_format, //GO(passwd2des, -//GOW(pathconf, -//GOW(pause, +GOW(pathconf, iFpi) +GOW(pause, iFv) //GO(__pause_nocancel, -//GO(pclose, -//GO(perror, +GO(pclose, iFp) +GO(perror, vFp) //GOW(personality, GO(__pipe, iFp) GOW(pipe, iFp) @@ -1299,8 +1299,8 @@ GOW(pipe2, iFpO) //GO(pmap_rmtcall, //GO(pmap_set, //GO(pmap_unset, -//GO(__poll, -//GOW(poll, +GO(__poll, iFpLi) +GOW(poll, iFpLi) //GO(__poll_chk, //GO(popen, //GO(posix_fadvise, @@ -1522,8 +1522,8 @@ GO(rename, iFpp) //GO(__res_state, //DATAB(re_syntax_options, //GOW(revoke, -//GO(rewind, -//GOW(rewinddir, +GO(rewind, vFp) +GOW(rewinddir, vFp) //GO(rexec, //GO(rexec_af, //DATAB(rexecoptions, @@ -1594,8 +1594,8 @@ GOW(select, iFipppp) //GOW(sendmsg, //GOW(sendto, //GO(setaliasent, -//GO(setbuf, -//GOW(setbuffer, +GO(setbuf, vFpp) +GOW(setbuffer, vFppL) //GOW(setcontext, //GO(setdomainname, //GO(setegid, @@ -1651,7 +1651,7 @@ GOW(setpriority, iFiii) //GO(setusershell, //GOW(setutent, //GO(setutxent, -//GOW(setvbuf, +GOW(setvbuf, iFppiL) //GO(setxattr, //GO(sgetsgent, //GOW(sgetsgent_r, @@ -1834,23 +1834,23 @@ GO(strtof, fFpp) //GOW(strtof64x, //GOW(strtof64x_l, //GO(__strtof_internal, -//GO(__strtof_l, -//GOW(strtof_l, +GO(__strtof_l, fFppL) +GOW(strtof_l, fFppL) //GO(__strtof_nan, -//GO(strtoimax, -//GO(strtok, -//GO(__strtok_r, -//GOW(strtok_r, +GO(strtoimax, IFppi) +GO(strtok, pFpp) +GO(__strtok_r, pFppp) +GOW(strtok_r, pFppp) //GO(__strtok_r_1c, GOW(strtol, lFppi) //GO(strtold, //GO(__strtold_internal, -//GO(__strtold_l, -//GOW(strtold_l, +GO(__strtold_l, dFppiL) +GOW(strtold_l, dFppiL) //GO(__strtold_nan, //GO(__strtol_internal, -//GO(__strtol_l, -//GOW(strtol_l, +GO(__strtol_l, lFppi) +GOW(strtol_l, lFppi) GOW(strtoll, lFppi) //GO(__strtoll_internal, //GOW(__strtoll_l, @@ -1868,9 +1868,9 @@ GOW(strtoull, LFppi) //GOW(strtouq, //GO(__strverscmp, GOW(strverscmp, iFpp) -//GO(strxfrm, -//GO(__strxfrm_l, -//GOW(strxfrm_l, +GO(strxfrm, LFppL) +GO(__strxfrm_l, LFppLL) +GOW(strxfrm_l, LFppLL) //GO(stty, //DATAB(svcauthdes_stats, //GO(svcerr_auth, @@ -1931,22 +1931,22 @@ DATA(sys_errlist, sizeof(void*)) GOW(system, iFp) GOM(__sysv_signal, pFEip) GOM(sysv_signal, pFEip) // Weak -//GOW(tcdrain, -//GO(tcflow, -//GO(tcflush, -//GOW(tcgetattr, -//GO(tcgetpgrp, +GOW(tcdrain, iFi) +GO(tcflow, iFii) +GO(tcflush, iFii) +GOW(tcgetattr, iFip) +GO(tcgetpgrp, iFi) //GO(tcgetsid, -//GO(tcsendbreak, -//GO(tcsetattr, -//GO(tcsetpgrp, +GO(tcsendbreak, iFii) +GO(tcsetattr, iFiip) +GO(tcsetpgrp, iFii) //GO(__tdelete, //GOW(tdelete, //GOW(tdestroy, //GO(tee, -//GO(telldir, -//GO(tempnam, -//GOW(textdomain, +GO(telldir, iFp) +GO(tempnam, pFpp) +GOW(textdomain, pFp) //GO(__tfind, //GOW(tfind, //GO(thrd_current, @@ -1956,9 +1956,9 @@ GOM(sysv_signal, pFEip) // Weak GO(time, LFp) GO(timegm, LFp) //GOW(timelocal, -//GO(timerfd_create, -//GO(timerfd_gettime, -//GO(timerfd_settime, +GO(timerfd_create, iFii) +GO(timerfd_gettime, iFip) +GO(timerfd_settime, iFiipp) //GOW(times, //GO(timespec_get, DATAB(__timezone, sizeof(void*)) @@ -2083,7 +2083,7 @@ GOW(waitpid, lFlpi) //GO(__wcpcpy_chk, //GOW(wcpncpy, //GO(__wcpncpy_chk, -//GOW(wcrtomb, +GOW(wcrtomb, LFpup) //GO(__wcrtomb_chk, //GOW(wcscasecmp, //GO(__wcscasecmp_l, @@ -2100,9 +2100,9 @@ GO(wcscpy, pFpp) GO(__wcscpy_chk, pFppL) //GO(wcscspn, GO(wcsdup, pFp) -//GO(wcsftime, -//GO(__wcsftime_l, -//GOW(wcsftime_l, +GO(wcsftime, LFpLpp) +GO(__wcsftime_l, LFpLppp) +GOW(wcsftime_l, LFpLppp) GO(wcslen, LFp) //GOW(wcsncasecmp, //GO(__wcsncasecmp_l, @@ -2112,7 +2112,7 @@ GO(wcslen, LFp) //GOI(wcsncmp, //GOW(wcsncpy, //GO(__wcsncpy_chk, -//GOW(wcsnrtombs, +GOW(wcsnrtombs, LFppLLp) //GO(__wcsnrtombs_chk, //GOI(wcsnlen, //GO(wcspbrk, @@ -2169,9 +2169,9 @@ GO(wcslen, LFp) //GOW(wcstouq, //GOW(wcswcs, //GO(wcswidth, -//GO(wcsxfrm, -//GO(__wcsxfrm_l, -//GOW(wcsxfrm_l, +GO(wcsxfrm, LFppL) +GO(__wcsxfrm_l, LFppLL) +GOW(wcsxfrm_l, LFppLL) GO(wctob, iFi) GO(wctomb, iFpi) GO(__wctomb_chk, iFpuL) @@ -2181,16 +2181,16 @@ GO(__wctomb_chk, iFpuL) GOW(wctype, LFp) GOW(wctype_l, LFpp) GO(__wctype_l, LFpp) -//GO(wcwidth, -//GOI(wmemchr, -//GOI(wmemcmp, -//GOW(wmemcpy, -//GO(__wmemcpy_chk, -//GOW(wmemmove, +GO(wcwidth, iFu) +GO(wmemchr, pFpuL) +GO(wmemcmp, iFppL) +GOW(wmemcpy, pFppL) +GO(__wmemcpy_chk, pFppLL) +GOW(wmemmove, pFppL) //GO(__wmemmove_chk, //GOW(wmempcpy, //GO(__wmempcpy_chk, -//GOI(wmemset, +GO(wmemset, pFpuL) //GOI(__wmemset_chk, //GO(wordexp, //GO(wordfree, |