diff options
| -rw-r--r-- | src/wrapped32/generated/converter32.c | 20 | ||||
| -rw-r--r-- | src/wrapped32/generated/converter32.h | 10 | ||||
| -rw-r--r-- | src/wrapped32/generated/functions_list.txt | 29 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibctypes32.h | 12 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.c | 43 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.h | 17 | ||||
| -rwxr-xr-x | src/wrapped32/wrappedlibc.c | 16 | ||||
| -rwxr-xr-x | src/wrapped32/wrappedlibc_private.h | 64 |
8 files changed, 164 insertions, 47 deletions
diff --git a/src/wrapped32/generated/converter32.c b/src/wrapped32/generated/converter32.c index 6748be0b..bf4496fa 100644 --- a/src/wrapped32/generated/converter32.c +++ b/src/wrapped32/generated/converter32.c @@ -214,6 +214,26 @@ void to_struct_H(ptr_t d, const struct_H_t *src) { *(ulong_t*)dest = to_hash_d(src->H0); dest += 4; } +void from_struct_ppppii(struct_ppppii_t *dest, ptr_t s) { + uint8_t* src = (uint8_t*)from_ptrv(s); + dest->p0 = from_ptrv(*(ptr_t*)src); src += 4; + dest->p1 = from_ptrv(*(ptr_t*)src); src += 4; + dest->p2 = from_ptrv(*(ptr_t*)src); src += 4; + dest->p3 = from_ptrv(*(ptr_t*)src); src += 4; + dest->i4 = *(int*)src; src += 4; + dest->i5 = *(int*)src; src += 4; +} +void to_struct_ppppii(ptr_t d, const struct_ppppii_t *src) { + if (!src) return; + uint8_t* dest = (uint8_t*)from_ptrv(d); + *(ptr_t*)dest = to_ptrv(src->p0); dest += 4; + *(ptr_t*)dest = to_ptrv(src->p1); dest += 4; + *(ptr_t*)dest = to_ptrv(src->p2); dest += 4; + *(ptr_t*)dest = to_ptrv(src->p3); dest += 4; + *(int*)dest = src->i4; dest += 4; + *(int*)dest = src->i5; dest += 4; +} + void from_struct_ppppp(struct_ppppp_t *dest, ptr_t s) { uint8_t* src = (uint8_t*)from_ptrv(s); dest->p0 = from_ptrv(*(ptr_t*)src); src += 4; diff --git a/src/wrapped32/generated/converter32.h b/src/wrapped32/generated/converter32.h index 6c8edb6b..5b8c4efd 100644 --- a/src/wrapped32/generated/converter32.h +++ b/src/wrapped32/generated/converter32.h @@ -106,6 +106,16 @@ typedef struct struct_H_s { } struct_H_t; void from_struct_H(struct_H_t *dest, ptr_t src); void to_struct_H(ptr_t dest, const struct_H_t *src); +typedef struct struct_ppppii_s { + void* p0; + void* p1; + void* p2; + void* p3; + int i4; + int i5; +} struct_ppppii_t; +void from_struct_ppppii(struct_ppppii_t *dest, ptr_t src); +void to_struct_ppppii(ptr_t dest, const struct_ppppii_t *src); typedef struct struct_ppppp_s { void* p0; void* p1; diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index 413b519c..bf7b8a41 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -99,8 +99,8 @@ #() pFv -> pFv #() pEi -> pEi #() pFi -> pFi -#() pEu -> pEu #() pFu -> pFu +#() pEu -> pEu #() pEl -> pEl #() pFl -> pFl #() pEL -> pEL @@ -257,18 +257,19 @@ #() UEUU -> UEUU #() UEss -> UEss #() fEif -> fEif -#() fEfi -> fEfi #() fFfi -> fFfi +#() fEfi -> fEfi #() fEff -> fEff #() fFff -> fFff #() fEfD -> fEfD #() fEfp -> fEfp #() dEid -> dEid -#() dEdi -> dEdi #() dFdi -> dFdi +#() dEdi -> dEdi #() dEdd -> dEdd #() dFdd -> dFdd #() dEdD -> dEdD +#() dFdp -> dFdp #() dEdp -> dEdp #() dEll -> dEll #() dFpp -> dFpp @@ -302,6 +303,7 @@ #() pFii -> pFii #() pFiu -> pFiu #() pFip -> pFip +#() pEia -> pEia #() pFuu -> pFuu #() pFup -> pFup #() pELL -> pELL @@ -358,6 +360,7 @@ #() iFXbiip_ -> iFXB #() iErLL_BLL_ -> iEBB #() LFXrLiiuL_ -> LFXB +#() pErppppii_p -> pEBp #() vFbll_rllll_ -> vFBB #() iFXbiiuuLip_ -> iFXB #() iFpruuipWCCp_ -> iFpB @@ -559,6 +562,7 @@ #() uEpup -> uEpup #() uFpup -> uFpup #() uFppu -> uFppu +#() uEppL -> uEppL #() uFppp -> uFppp #() uFXuu -> uFXuu #() fFuii -> fFuii @@ -694,6 +698,7 @@ #() vEEipp -> vEEipp #() vFEipp -> vFEipp #() vEEipV -> vEEipV +#() vEEpuu -> vEEpuu #() vEEpup -> vEEpup #() vFEpup -> vFEpup #() vFEpll -> vFEpll @@ -967,6 +972,7 @@ #() iEpurLL_p -> iEpuBp #() iFppbL_bL_ -> iFppBB #() iFrpuu_Lui -> iFBLui +#() iEbp_bL_iS -> iEBBiS #() iFbp_bp_pi -> iFBBpi #() iFXbL_ibp_ -> iFXBiB #() vFbp_ppbup_ -> vFBppB @@ -976,6 +982,7 @@ #() iEuirLL_BLL_ -> iEuiBB #() iFXLpbLWWWcc_ -> iFXLpB #() iFXLbLWWWcc_i -> iFXLBi +#() pESBppppii_pi -> pESBpi #() iFXLuriiiiiLi_ -> iFXLuB #() vFXLbLLLLLLLLLL_L -> vFXLBL #() iFXLbLLLLLLLLLL_L -> iFXLBL @@ -1605,11 +1612,15 @@ #() vFXpuiiiiipuiiiiiiii -> vFXpuiiiiipuiiiiiiii #() uFippuuuuiiiiuuiiiiiiiipp -> uFippuuuuiiiiuuiiiiiiiipp #defined(HAVE_LD80BITS) DED -> DED +#defined(HAVE_LD80BITS) DFDi -> DFDi #defined(HAVE_LD80BITS) DEDD -> DEDD +#defined(HAVE_LD80BITS) DFDp -> DFDp #defined(HAVE_LD80BITS) DEDp -> DEDp #defined(HAVE_LD80BITS) DEpBp_a -> DEpBa #!defined(HAVE_LD80BITS) KEK -> KEK +#!defined(HAVE_LD80BITS) KFKi -> KFKi #!defined(HAVE_LD80BITS) KEKK -> KEKK +#!defined(HAVE_LD80BITS) KFKp -> KFKp #!defined(HAVE_LD80BITS) KEKp -> KEKp #!defined(HAVE_LD80BITS) KEpBp_a -> KEpBa #() iEEvpp -> iEEpp @@ -1714,6 +1725,8 @@ wrappedlibc: - vEp: - freeaddrinfo - regfree +- vFp: + - _ZGTtdlPv - iEv: - iEi: - __close_nocancel @@ -1746,7 +1759,12 @@ wrappedlibc: - __h_errno_location - pEu: - getpwuid +- pFu: + - _ZGTtnaj - pEL: +- pFL: + - _ZGTtnaX + - _ZGTtnam - pFp: - gethostbyname - pEp: @@ -1788,6 +1806,10 @@ wrappedlibc: - execlp - IEII: - UEUU: +- KFKi: + - ldexpl +- KFKp: + - frexpl - pEip: - signal - pELL: @@ -1804,6 +1826,7 @@ wrappedlibc: - vEipp: - vsyslog - vEipV: +- vEpuu: - vEpup: - _ITM_addUserCommitAction - vEppu: diff --git a/src/wrapped32/generated/wrappedlibctypes32.h b/src/wrapped32/generated/wrappedlibctypes32.h index 31212429..92d8e15f 100644 --- a/src/wrapped32/generated/wrappedlibctypes32.h +++ b/src/wrapped32/generated/wrappedlibctypes32.h @@ -13,6 +13,7 @@ typedef void (*vEv_t)(void); typedef void (*vEp_t)(void*); +typedef void (*vFp_t)(void*); typedef int32_t (*iEv_t)(void); typedef int32_t (*iEi_t)(int32_t); typedef int32_t (*iEL_t)(uintptr_t); @@ -29,7 +30,9 @@ typedef uintptr_t (*LEL_t)(uintptr_t); typedef void* (*pEv_t)(void); typedef void* (*pFv_t)(void); typedef void* (*pEu_t)(uint32_t); +typedef void* (*pFu_t)(uint32_t); typedef void* (*pEL_t)(uintptr_t); +typedef void* (*pFL_t)(uintptr_t); typedef void* (*pFp_t)(void*); typedef void* (*pEp_t)(void*); typedef void* (*pES_t)(void*); @@ -48,6 +51,8 @@ typedef int32_t (*iEpp_t)(void*, void*); typedef int32_t (*iEpV_t)(void*, ...); typedef int64_t (*IEII_t)(int64_t, int64_t); typedef uint64_t (*UEUU_t)(uint64_t, uint64_t); +typedef double (*KFKi_t)(double, int32_t); +typedef double (*KFKp_t)(double, void*); typedef void* (*pEip_t)(int32_t, void*); typedef void* (*pELL_t)(uintptr_t, uintptr_t); typedef void* (*pEpi_t)(void*, int32_t); @@ -56,6 +61,7 @@ typedef void* (*SEpp_t)(void*, void*); typedef int32_t (*iErLL_BLL__t)(struct_LL_t*, struct_LL_t*); typedef void (*vEipp_t)(int32_t, void*, void*); typedef void (*vEipV_t)(int32_t, void*, ...); +typedef void (*vEpuu_t)(void*, uint32_t, uint32_t); typedef void (*vEpup_t)(void*, uint32_t, void*); typedef void (*vEppu_t)(void*, void*, uint32_t); typedef int32_t (*iEvpp_t)(void, void*, void*); @@ -123,6 +129,7 @@ typedef int32_t (*iEpLiLppp_t)(void*, uintptr_t, int32_t, uintptr_t, void*, void #define SUPER() ADDED_FUNCTIONS() \ GO(freeaddrinfo, vEp_t) \ GO(regfree, vEp_t) \ + GO(_ZGTtdlPv, vFp_t) \ GO(__close_nocancel, iEi_t) \ GO(posix_spawn_file_actions_destroy, iEp_t) \ GO(posix_spawn_file_actions_init, iEp_t) \ @@ -139,6 +146,9 @@ typedef int32_t (*iEpLiLppp_t)(void*, uintptr_t, int32_t, uintptr_t, void*, void GO(localeconv, pEv_t) \ GO(__h_errno_location, pFv_t) \ GO(getpwuid, pEu_t) \ + GO(_ZGTtnaj, pFu_t) \ + GO(_ZGTtnaX, pFL_t) \ + GO(_ZGTtnam, pFL_t) \ GO(gethostbyname, pFp_t) \ GO(getprotobyname, pEp_t) \ GO(getpwnam, pEp_t) \ @@ -162,6 +172,8 @@ typedef int32_t (*iEpLiLppp_t)(void*, uintptr_t, int32_t, uintptr_t, void*, void GO(utimes, iEpp_t) \ GO(execl, iEpV_t) \ GO(execlp, iEpV_t) \ + GO(ldexpl, KFKi_t) \ + GO(frexpl, KFKp_t) \ GO(signal, pEip_t) \ GO(aligned_alloc, pELL_t) \ GO(backtrace_symbols, pEpi_t) \ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index 4b650d5c..1d69df01 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -190,8 +190,8 @@ typedef void* (*pEv_t)(void); typedef void* (*pFv_t)(void); typedef void* (*pEi_t)(int32_t); typedef void* (*pFi_t)(int32_t); -typedef void* (*pEu_t)(uint32_t); typedef void* (*pFu_t)(uint32_t); +typedef void* (*pEu_t)(uint32_t); typedef void* (*pEl_t)(intptr_t); typedef void* (*pFl_t)(intptr_t); typedef void* (*pEL_t)(uintptr_t); @@ -348,18 +348,19 @@ typedef uint64_t (*UFuu_t)(uint32_t, uint32_t); typedef uint64_t (*UEUU_t)(uint64_t, uint64_t); typedef uint64_t (*UEss_t)(void*, void*); typedef float (*fEif_t)(int32_t, float); -typedef float (*fEfi_t)(float, int32_t); typedef float (*fFfi_t)(float, int32_t); +typedef float (*fEfi_t)(float, int32_t); typedef float (*fEff_t)(float, float); typedef float (*fFff_t)(float, float); typedef float (*fEfD_t)(float, long double); typedef float (*fEfp_t)(float, void*); typedef double (*dEid_t)(int32_t, double); -typedef double (*dEdi_t)(double, int32_t); typedef double (*dFdi_t)(double, int32_t); +typedef double (*dEdi_t)(double, int32_t); typedef double (*dEdd_t)(double, double); typedef double (*dFdd_t)(double, double); typedef double (*dEdD_t)(double, long double); +typedef double (*dFdp_t)(double, void*); typedef double (*dEdp_t)(double, void*); typedef double (*dEll_t)(intptr_t, intptr_t); typedef double (*dFpp_t)(void*, void*); @@ -393,6 +394,7 @@ typedef void* (*pFEX_t)(x64emu_t*, void*); typedef void* (*pFii_t)(int32_t, int32_t); typedef void* (*pFiu_t)(int32_t, uint32_t); typedef void* (*pFip_t)(int32_t, void*); +typedef void* (*pEia_t)(int32_t, void*); typedef void* (*pFuu_t)(uint32_t, uint32_t); typedef void* (*pFup_t)(uint32_t, void*); typedef void* (*pELL_t)(uintptr_t, uintptr_t); @@ -449,6 +451,7 @@ typedef int32_t (*iFbppi_i_t)(struct_ppi_t*, int32_t); typedef int32_t (*iFXbiip__t)(void*, struct_iip_t*); typedef int32_t (*iErLL_BLL__t)(struct_LL_t*, struct_LL_t*); typedef uintptr_t (*LFXrLiiuL__t)(void*, struct_LiiuL_t*); +typedef void* (*pErppppii_p_t)(struct_ppppii_t*, void*); typedef void (*vFbll_rllll__t)(struct_ll_t*, struct_llll_t*); typedef int32_t (*iFXbiiuuLip__t)(void*, struct_iiuuLip_t*); typedef int32_t (*iFpruuipWCCp__t)(void*, struct_uuipWCCp_t*); @@ -650,6 +653,7 @@ typedef uint32_t (*uFpuU_t)(void*, uint32_t, uint64_t); typedef uint32_t (*uEpup_t)(void*, uint32_t, void*); typedef uint32_t (*uFpup_t)(void*, uint32_t, void*); typedef uint32_t (*uFppu_t)(void*, void*, uint32_t); +typedef uint32_t (*uEppL_t)(void*, void*, uintptr_t); typedef uint32_t (*uFppp_t)(void*, void*, void*); typedef uint32_t (*uFXuu_t)(void*, uint32_t, uint32_t); typedef float (*fFuii_t)(uint32_t, int32_t, int32_t); @@ -785,6 +789,7 @@ typedef void* (*pEppriiiiiiiiilt__t)(void*, void*, struct_iiiiiiiiilt_t*); typedef void (*vEEipp_t)(x64emu_t*, int32_t, void*, void*); typedef void (*vFEipp_t)(x64emu_t*, int32_t, void*, void*); typedef void (*vEEipV_t)(x64emu_t*, int32_t, void*, void*); +typedef void (*vEEpuu_t)(x64emu_t*, void*, uint32_t, uint32_t); typedef void (*vEEpup_t)(x64emu_t*, void*, uint32_t, void*); typedef void (*vFEpup_t)(x64emu_t*, void*, uint32_t, void*); typedef void (*vFEpll_t)(x64emu_t*, void*, intptr_t, intptr_t); @@ -1058,6 +1063,7 @@ typedef int32_t (*iEEpprLL__t)(x64emu_t*, void*, void*, struct_LL_t*); typedef int32_t (*iEpurLL_p_t)(void*, uint32_t, struct_LL_t*, void*); typedef int32_t (*iFppbL_bL__t)(void*, void*, struct_L_t*, struct_L_t*); typedef int32_t (*iFrpuu_Lui_t)(struct_puu_t*, uintptr_t, uint32_t, int32_t); +typedef int32_t (*iEbp_bL_iS_t)(struct_p_t*, struct_L_t*, int32_t, void*); typedef int32_t (*iFbp_bp_pi_t)(struct_p_t*, struct_p_t*, void*, int32_t); typedef int32_t (*iFXbL_ibp__t)(void*, struct_L_t*, int32_t, struct_p_t*); typedef void (*vFbp_ppbup__t)(struct_p_t*, void*, void*, struct_up_t*); @@ -1067,6 +1073,7 @@ typedef int32_t (*iEiirLL_BLL__t)(int32_t, int32_t, struct_LL_t*, struct_LL_t*); typedef int32_t (*iEuirLL_BLL__t)(uint32_t, int32_t, struct_LL_t*, struct_LL_t*); typedef int32_t (*iFXLpbLWWWcc__t)(void*, uintptr_t, void*, struct_LWWWcc_t*); typedef int32_t (*iFXLbLWWWcc_i_t)(void*, uintptr_t, struct_LWWWcc_t*, int32_t); +typedef void* (*pESBppppii_pi_t)(void*, struct_ppppii_t*, void*, int32_t); typedef int32_t (*iFXLuriiiiiLi__t)(void*, uintptr_t, uint32_t, struct_iiiiiLi_t*); typedef void (*vFXLbLLLLLLLLLL_L_t)(void*, uintptr_t, struct_LLLLLLLLLL_t*, uintptr_t); typedef int32_t (*iFXLbLLLLLLLLLL_L_t)(void*, uintptr_t, struct_LLLLLLLLLL_t*, uintptr_t); @@ -1698,14 +1705,18 @@ typedef uint32_t (*uFippuuuuiiiiuuiiiiiiiipp_t)(int32_t, void*, void*, uint32_t, #if defined(HAVE_LD80BITS) typedef long double (*DED_t)(long double); +typedef long double (*DFDi_t)(long double, int32_t); typedef long double (*DEDD_t)(long double, long double); +typedef long double (*DFDp_t)(long double, void*); typedef long double (*DEDp_t)(long double, void*); typedef long double (*DEpBp_a_t)(void*, struct_p_t*, void*); #endif #if !defined(HAVE_LD80BITS) typedef double (*KEK_t)(double); +typedef double (*KFKi_t)(double, int32_t); typedef double (*KEKK_t)(double, double); +typedef double (*KFKp_t)(double, void*); typedef double (*KEKp_t)(double, void*); typedef double (*KEpBp_a_t)(void*, struct_p_t*, void*); #endif @@ -1811,8 +1822,8 @@ void pEv_32(x64emu_t *emu, uintptr_t fcn) { pEv_t fn = (pEv_t)fcn; errno = emu-> void pFv_32(x64emu_t *emu, uintptr_t fcn) { pFv_t fn = (pFv_t)fcn; R_EAX = to_ptrv(fn()); } void pEi_32(x64emu_t *emu, uintptr_t fcn) { pEi_t fn = (pEi_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4))); emu->libc_err = errno; } void pFi_32(x64emu_t *emu, uintptr_t fcn) { pFi_t fn = (pFi_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4))); } -void pEu_32(x64emu_t *emu, uintptr_t fcn) { pEu_t fn = (pEu_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4))); emu->libc_err = errno; } void pFu_32(x64emu_t *emu, uintptr_t fcn) { pFu_t fn = (pFu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4))); } +void pEu_32(x64emu_t *emu, uintptr_t fcn) { pEu_t fn = (pEu_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4))); emu->libc_err = errno; } void pEl_32(x64emu_t *emu, uintptr_t fcn) { pEl_t fn = (pEl_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(from_long(from_ptri(long_t, R_ESP + 4)))); emu->libc_err = errno; } void pFl_32(x64emu_t *emu, uintptr_t fcn) { pFl_t fn = (pFl_t)fcn; R_EAX = to_ptrv(fn(from_long(from_ptri(long_t, R_ESP + 4)))); } void pEL_32(x64emu_t *emu, uintptr_t fcn) { pEL_t fn = (pEL_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(from_ulong(from_ptri(ulong_t, R_ESP + 4)))); emu->libc_err = errno; } @@ -1969,18 +1980,19 @@ void UFuu_32(x64emu_t *emu, uintptr_t fcn) { UFuu_t fn = (UFuu_t)fcn; ui64_t r; void UEUU_32(x64emu_t *emu, uintptr_t fcn) { UEUU_t fn = (UEUU_t)fcn; errno = emu->libc_err; ui64_t r; r.u = (uint64_t)fn(from_ptri(uint64_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 12)); R_EAX = r.d[0]; R_EDX = r.d[1]; emu->libc_err = errno; } void UEss_32(x64emu_t *emu, uintptr_t fcn) { UEss_t fn = (UEss_t)fcn; errno = emu->libc_err; ui64_t r; r.u = (uint64_t)fn(from_ptrv(R_ESP + 4), from_ptrv(R_ESP + 4)); R_EAX = r.d[0]; R_EDX = r.d[1]; emu->libc_err = errno; } void fEif_32(x64emu_t *emu, uintptr_t fcn) { fEif_t fn = (fEif_t)fcn; errno = emu->libc_err; float fl = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(float, R_ESP + 8)); fpu_do_push(emu); ST0val = fl; emu->libc_err = errno; } -void fEfi_32(x64emu_t *emu, uintptr_t fcn) { fEfi_t fn = (fEfi_t)fcn; errno = emu->libc_err; float fl = fn(from_ptri(float, R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); fpu_do_push(emu); ST0val = fl; emu->libc_err = errno; } void fFfi_32(x64emu_t *emu, uintptr_t fcn) { fFfi_t fn = (fFfi_t)fcn; float fl = fn(from_ptri(float, R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); fpu_do_push(emu); ST0val = fl; } +void fEfi_32(x64emu_t *emu, uintptr_t fcn) { fEfi_t fn = (fEfi_t)fcn; errno = emu->libc_err; float fl = fn(from_ptri(float, R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); fpu_do_push(emu); ST0val = fl; emu->libc_err = errno; } void fEff_32(x64emu_t *emu, uintptr_t fcn) { fEff_t fn = (fEff_t)fcn; errno = emu->libc_err; float fl = fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8)); fpu_do_push(emu); ST0val = fl; emu->libc_err = errno; } void fFff_32(x64emu_t *emu, uintptr_t fcn) { fFff_t fn = (fFff_t)fcn; float fl = fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8)); fpu_do_push(emu); ST0val = fl; } void fEfD_32(x64emu_t *emu, uintptr_t fcn) { fEfD_t fn = (fEfD_t)fcn; errno = emu->libc_err; float fl = fn(from_ptri(float, R_ESP + 4), LD2localLD(from_ptrv(R_ESP + 8))); fpu_do_push(emu); ST0val = fl; emu->libc_err = errno; } void fEfp_32(x64emu_t *emu, uintptr_t fcn) { fEfp_t fn = (fEfp_t)fcn; errno = emu->libc_err; float fl = fn(from_ptri(float, R_ESP + 4), from_ptriv(R_ESP + 8)); fpu_do_push(emu); ST0val = fl; emu->libc_err = errno; } void dEid_32(x64emu_t *emu, uintptr_t fcn) { dEid_t fn = (dEid_t)fcn; errno = emu->libc_err; double db = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(double, R_ESP + 8)); fpu_do_push(emu); ST0val = db; emu->libc_err = errno; } -void dEdi_32(x64emu_t *emu, uintptr_t fcn) { dEdi_t fn = (dEdi_t)fcn; errno = emu->libc_err; double db = fn(from_ptri(double, R_ESP + 4), from_ptri(int32_t, R_ESP + 12)); fpu_do_push(emu); ST0val = db; emu->libc_err = errno; } void dFdi_32(x64emu_t *emu, uintptr_t fcn) { dFdi_t fn = (dFdi_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptri(int32_t, R_ESP + 12)); fpu_do_push(emu); ST0val = db; } +void dEdi_32(x64emu_t *emu, uintptr_t fcn) { dEdi_t fn = (dEdi_t)fcn; errno = emu->libc_err; double db = fn(from_ptri(double, R_ESP + 4), from_ptri(int32_t, R_ESP + 12)); fpu_do_push(emu); ST0val = db; emu->libc_err = errno; } void dEdd_32(x64emu_t *emu, uintptr_t fcn) { dEdd_t fn = (dEdd_t)fcn; errno = emu->libc_err; double db = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12)); fpu_do_push(emu); ST0val = db; emu->libc_err = errno; } void dFdd_32(x64emu_t *emu, uintptr_t fcn) { dFdd_t fn = (dFdd_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12)); fpu_do_push(emu); ST0val = db; } void dEdD_32(x64emu_t *emu, uintptr_t fcn) { dEdD_t fn = (dEdD_t)fcn; errno = emu->libc_err; double db = fn(from_ptri(double, R_ESP + 4), LD2localLD(from_ptrv(R_ESP + 12))); fpu_do_push(emu); ST0val = db; emu->libc_err = errno; } +void dFdp_32(x64emu_t *emu, uintptr_t fcn) { dFdp_t fn = (dFdp_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptriv(R_ESP + 12)); fpu_do_push(emu); ST0val = db; } void dEdp_32(x64emu_t *emu, uintptr_t fcn) { dEdp_t fn = (dEdp_t)fcn; errno = emu->libc_err; double db = fn(from_ptri(double, R_ESP + 4), from_ptriv(R_ESP + 12)); fpu_do_push(emu); ST0val = db; emu->libc_err = errno; } void dEll_32(x64emu_t *emu, uintptr_t fcn) { dEll_t fn = (dEll_t)fcn; errno = emu->libc_err; double db = fn(from_long(from_ptri(long_t, R_ESP + 4)), from_long(from_ptri(long_t, R_ESP + 8))); fpu_do_push(emu); ST0val = db; emu->libc_err = errno; } void dFpp_32(x64emu_t *emu, uintptr_t fcn) { dFpp_t fn = (dFpp_t)fcn; double db = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)); fpu_do_push(emu); ST0val = db; } @@ -2014,6 +2026,7 @@ void pFEX_32(x64emu_t *emu, uintptr_t fcn) { pFEX_t fn = (pFEX_t)fcn; R_EAX = to void pFii_32(x64emu_t *emu, uintptr_t fcn) { pFii_t fn = (pFii_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8))); } void pFiu_32(x64emu_t *emu, uintptr_t fcn) { pFiu_t fn = (pFiu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8))); } void pFip_32(x64emu_t *emu, uintptr_t fcn) { pFip_t fn = (pFip_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8))); } +void pEia_32(x64emu_t *emu, uintptr_t fcn) { pEia_t fn = (pEia_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_locale(from_ptri(ptr_t, R_ESP + 8)))); emu->libc_err = errno; } void pFuu_32(x64emu_t *emu, uintptr_t fcn) { pFuu_t fn = (pFuu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8))); } void pFup_32(x64emu_t *emu, uintptr_t fcn) { pFup_t fn = (pFup_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8))); } void pELL_32(x64emu_t *emu, uintptr_t fcn) { pELL_t fn = (pELL_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(from_ulong(from_ptri(ulong_t, R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)))); emu->libc_err = errno; } @@ -2070,6 +2083,7 @@ void iFbppi_i_32(x64emu_t *emu, uintptr_t fcn) { iFbppi_i_t fn = (iFbppi_i_t)fcn void iFXbiip__32(x64emu_t *emu, uintptr_t fcn) { iFXbiip__t fn = (iFXbiip__t)fcn; struct_iip_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_iip(&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); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_iip(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iErLL_BLL__32(x64emu_t *emu, uintptr_t fcn) { iErLL_BLL__t fn = (iErLL_BLL__t)fcn; errno = emu->libc_err; struct_LL_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_LL(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); struct_LL_t arg_8={0}; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_LL(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); emu->libc_err = errno; } void LFXrLiiuL__32(x64emu_t *emu, uintptr_t fcn) { LFXrLiiuL__t fn = (LFXrLiiuL__t)fcn; struct_LiiuL_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_LiiuL(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL)); } +void pErppppii_p_32(x64emu_t *emu, uintptr_t fcn) { pErppppii_p_t fn = (pErppppii_p_t)fcn; errno = emu->libc_err; struct_ppppii_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_ppppii(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ptrv(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8))); emu->libc_err = errno; } void vFbll_rllll__32(x64emu_t *emu, uintptr_t fcn) { vFbll_rllll__t fn = (vFbll_rllll__t)fcn; struct_ll_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_ll(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); struct_llll_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_llll(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_ll(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void iFXbiiuuLip__32(x64emu_t *emu, uintptr_t fcn) { iFXbiiuuLip__t fn = (iFXbiiuuLip__t)fcn; struct_iiuuLip_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_iiuuLip(&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); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_iiuuLip(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFpruuipWCCp__32(x64emu_t *emu, uintptr_t fcn) { iFpruuipWCCp__t fn = (iFpruuipWCCp__t)fcn; struct_uuipWCCp_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_uuipWCCp(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); } @@ -2271,6 +2285,7 @@ void uFpuU_32(x64emu_t *emu, uintptr_t fcn) { uFpuU_t fn = (uFpuU_t)fcn; R_EAX = void uEpup_32(x64emu_t *emu, uintptr_t fcn) { uEpup_t fn = (uEpup_t)fcn; errno = emu->libc_err; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); emu->libc_err = errno; } void uFpup_32(x64emu_t *emu, uintptr_t fcn) { uFpup_t fn = (uFpup_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } void uFppu_32(x64emu_t *emu, uintptr_t fcn) { uFppu_t fn = (uFppu_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } +void uEppL_32(x64emu_t *emu, uintptr_t fcn) { uEppL_t fn = (uEppL_t)fcn; errno = emu->libc_err; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12))); emu->libc_err = errno; } void uFppp_32(x64emu_t *emu, uintptr_t fcn) { uFppp_t fn = (uFppp_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } void uFXuu_32(x64emu_t *emu, uintptr_t fcn) { uFXuu_t fn = (uFXuu_t)fcn; R_EAX = (uint32_t)fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } void fFuii_32(x64emu_t *emu, uintptr_t fcn) { fFuii_t fn = (fFuii_t)fcn; float fl = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); fpu_do_push(emu); ST0val = fl; } @@ -2406,6 +2421,7 @@ void pEppriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fcn) { pEppriiiiiiiiilt__t fn void vEEipp_32(x64emu_t *emu, uintptr_t fcn) { vEEipp_t fn = (vEEipp_t)fcn; errno = emu->libc_err; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); emu->libc_err = errno; } void vFEipp_32(x64emu_t *emu, uintptr_t fcn) { vFEipp_t fn = (vFEipp_t)fcn; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } void vEEipV_32(x64emu_t *emu, uintptr_t fcn) { vEEipV_t fn = (vEEipV_t)fcn; errno = emu->libc_err; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptrv(R_ESP + 12)); emu->libc_err = errno; } +void vEEpuu_32(x64emu_t *emu, uintptr_t fcn) { vEEpuu_t fn = (vEEpuu_t)fcn; errno = emu->libc_err; fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); emu->libc_err = errno; } void vEEpup_32(x64emu_t *emu, uintptr_t fcn) { vEEpup_t fn = (vEEpup_t)fcn; errno = emu->libc_err; fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); emu->libc_err = errno; } void vFEpup_32(x64emu_t *emu, uintptr_t fcn) { vFEpup_t fn = (vFEpup_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } void vFEpll_32(x64emu_t *emu, uintptr_t fcn) { vFEpll_t fn = (vFEpll_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12))); } @@ -2679,6 +2695,7 @@ void iEEpprLL__32(x64emu_t *emu, uintptr_t fcn) { iEEpprLL__t fn = (iEEpprLL__t) void iEpurLL_p_32(x64emu_t *emu, uintptr_t fcn) { iEpurLL_p_t fn = (iEpurLL_p_t)fcn; errno = emu->libc_err; struct_LL_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_LL(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptriv(R_ESP + 16)); emu->libc_err = errno; } void iFppbL_bL__32(x64emu_t *emu, uintptr_t fcn) { iFppbL_bL__t fn = (iFppbL_bL__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)))); struct_L_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_L(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void iFrpuu_Lui_32(x64emu_t *emu, uintptr_t fcn) { iFrpuu_Lui_t fn = (iFrpuu_Lui_t)fcn; struct_puu_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_puu(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void iEbp_bL_iS_32(x64emu_t *emu, uintptr_t fcn) { iEbp_bL_iS_t fn = (iEbp_bL_iS_t)fcn; errno = emu->libc_err; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); struct_L_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_L(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12), io_convert32(from_ptriv(R_ESP + 16))); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); emu->libc_err = errno; } void iFbp_bp_pi_32(x64emu_t *emu, uintptr_t fcn) { iFbp_bp_pi_t fn = (iFbp_bp_pi_t)fcn; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); struct_p_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_p(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFXbL_ibp__32(x64emu_t *emu, uintptr_t fcn) { iFXbL_ibp__t fn = (iFXbL_ibp__t)fcn; struct_L_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_L(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); struct_p_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_p(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); 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), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void vFbp_ppbup__32(x64emu_t *emu, uintptr_t fcn) { vFbp_ppbup__t fn = (vFbp_ppbup__t)fcn; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); struct_up_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_up(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_up(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } @@ -2688,6 +2705,7 @@ void iEiirLL_BLL__32(x64emu_t *emu, uintptr_t fcn) { iEiirLL_BLL__t fn = (iEiirL void iEuirLL_BLL__32(x64emu_t *emu, uintptr_t fcn) { iEuirLL_BLL__t fn = (iEuirLL_BLL__t)fcn; errno = emu->libc_err; struct_LL_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_LL(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); struct_LL_t arg_16={0}; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_LL(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); emu->libc_err = errno; } void iFXLpbLWWWcc__32(x64emu_t *emu, uintptr_t fcn) { iFXLpbLWWWcc__t fn = (iFXLpbLWWWcc__t)fcn; struct_LWWWcc_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_LWWWcc(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void iFXLbLWWWcc_i_32(x64emu_t *emu, uintptr_t fcn) { iFXLbLWWWcc_i_t fn = (iFXLbLWWWcc_i_t)fcn; struct_LWWWcc_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_LWWWcc(&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, from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } +void pESBppppii_pi_32(x64emu_t *emu, uintptr_t fcn) { pESBppppii_pi_t fn = (pESBppppii_pi_t)fcn; errno = emu->libc_err; struct_ppppii_t arg_8={0}; R_EAX = to_ptrv(fn(io_convert32(from_ptriv(R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_ppppii(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); emu->libc_err = errno; } void iFXLuriiiiiLi__32(x64emu_t *emu, uintptr_t fcn) { iFXLuriiiiiLi__t fn = (iFXLuriiiiiLi__t)fcn; struct_iiiiiLi_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_iiiiiLi(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); } void vFXLbLLLLLLLLLL_L_32(x64emu_t *emu, uintptr_t fcn) { vFXLbLLLLLLLLLL_L_t fn = (vFXLbLLLLLLLLLL_L_t)fcn; struct_LLLLLLLLLL_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_LLLLLLLLLL(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); 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, from_ulong(from_ptri(ulong_t, R_ESP + 16))); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_LLLLLLLLLL(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFXLbLLLLLLLLLL_L_32(x64emu_t *emu, uintptr_t fcn) { iFXLbLLLLLLLLLL_L_t fn = (iFXLbLLLLLLLLLL_L_t)fcn; struct_LLLLLLLLLL_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_LLLLLLLLLL(&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, from_ulong(from_ptri(ulong_t, R_ESP + 16))); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_LLLLLLLLLL(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } @@ -3319,14 +3337,18 @@ void uFippuuuuiiiiuuiiiiiiiipp_32(x64emu_t *emu, uintptr_t fcn) { uFippuuuuiiiiu #if defined(HAVE_LD80BITS) void DED_32(x64emu_t *emu, uintptr_t fcn) { DED_t fn = (DED_t)fcn; errno = emu->libc_err; long double ld = fn(LD2localLD(from_ptrv(R_ESP + 4))); fpu_do_push(emu); ST0val = ld; emu->libc_err = errno; } +void DFDi_32(x64emu_t *emu, uintptr_t fcn) { DFDi_t fn = (DFDi_t)fcn; long double ld = fn(LD2localLD(from_ptrv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 16)); fpu_do_push(emu); ST0val = ld; } void DEDD_32(x64emu_t *emu, uintptr_t fcn) { DEDD_t fn = (DEDD_t)fcn; errno = emu->libc_err; long double ld = fn(LD2localLD(from_ptrv(R_ESP + 4)), LD2localLD(from_ptrv(R_ESP + 16))); fpu_do_push(emu); ST0val = ld; emu->libc_err = errno; } +void DFDp_32(x64emu_t *emu, uintptr_t fcn) { DFDp_t fn = (DFDp_t)fcn; long double ld = fn(LD2localLD(from_ptrv(R_ESP + 4)), from_ptriv(R_ESP + 16)); fpu_do_push(emu); ST0val = ld; } void DEDp_32(x64emu_t *emu, uintptr_t fcn) { DEDp_t fn = (DEDp_t)fcn; errno = emu->libc_err; long double ld = fn(LD2localLD(from_ptrv(R_ESP + 4)), from_ptriv(R_ESP + 16)); fpu_do_push(emu); ST0val = ld; emu->libc_err = errno; } void DEpBp_a_32(x64emu_t *emu, uintptr_t fcn) { DEpBp_a_t fn = (DEpBp_a_t)fcn; errno = emu->libc_err; struct_p_t arg_8={0}; long double ld = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_locale(from_ptri(ptr_t, R_ESP + 12))); fpu_do_push(emu); ST0val = ld; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); emu->libc_err = errno; } #endif #if !defined(HAVE_LD80BITS) void KEK_32(x64emu_t *emu, uintptr_t fcn) { KEK_t fn = (KEK_t)fcn; errno = emu->libc_err; double db = fn(FromLD(from_ptrv(R_ESP + 4))); fpu_do_push(emu); ST0val = db; emu->libc_err = errno; } +void KFKi_32(x64emu_t *emu, uintptr_t fcn) { KFKi_t fn = (KFKi_t)fcn; double db = fn(FromLD(from_ptrv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 16)); fpu_do_push(emu); ST0val = db; } void KEKK_32(x64emu_t *emu, uintptr_t fcn) { KEKK_t fn = (KEKK_t)fcn; errno = emu->libc_err; double db = fn(FromLD(from_ptrv(R_ESP + 4)), FromLD(from_ptrv(R_ESP + 16))); fpu_do_push(emu); ST0val = db; emu->libc_err = errno; } +void KFKp_32(x64emu_t *emu, uintptr_t fcn) { KFKp_t fn = (KFKp_t)fcn; double db = fn(FromLD(from_ptrv(R_ESP + 4)), from_ptriv(R_ESP + 16)); fpu_do_push(emu); ST0val = db; } void KEKp_32(x64emu_t *emu, uintptr_t fcn) { KEKp_t fn = (KEKp_t)fcn; errno = emu->libc_err; double db = fn(FromLD(from_ptrv(R_ESP + 4)), from_ptriv(R_ESP + 16)); fpu_do_push(emu); ST0val = db; emu->libc_err = errno; } void KEpBp_a_32(x64emu_t *emu, uintptr_t fcn) { KEpBp_a_t fn = (KEpBp_a_t)fcn; errno = emu->libc_err; struct_p_t arg_8={0}; double db = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_locale(from_ptri(ptr_t, R_ESP + 12))); fpu_do_push(emu); ST0val = db; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); emu->libc_err = errno; } #endif @@ -3353,18 +3375,19 @@ int isRetX87Wrapper32(wrapper_t fun) { if (fun == &dEp_32) return 1; if (fun == &dFp_32) return 1; if (fun == &fEif_32) return 1; - if (fun == &fEfi_32) return 1; if (fun == &fFfi_32) return 1; + if (fun == &fEfi_32) return 1; if (fun == &fEff_32) return 1; if (fun == &fFff_32) return 1; if (fun == &fEfD_32) return 1; if (fun == &fEfp_32) return 1; if (fun == &dEid_32) return 1; - if (fun == &dEdi_32) return 1; if (fun == &dFdi_32) return 1; + if (fun == &dEdi_32) return 1; if (fun == &dEdd_32) return 1; if (fun == &dFdd_32) return 1; if (fun == &dEdD_32) return 1; + if (fun == &dFdp_32) return 1; if (fun == &dEdp_32) return 1; if (fun == &dEll_32) return 1; if (fun == &dFpp_32) return 1; @@ -3381,13 +3404,17 @@ int isRetX87Wrapper32(wrapper_t fun) { if (fun == &dEpBp_a_32) return 1; #if defined(HAVE_LD80BITS) if (fun == &DED_32) return 1; + if (fun == &DFDi_32) return 1; if (fun == &DEDD_32) return 1; + if (fun == &DFDp_32) return 1; if (fun == &DEDp_32) return 1; if (fun == &DEpBp_a_32) return 1; #endif #if !defined(HAVE_LD80BITS) if (fun == &KEK_32) return 1; + if (fun == &KFKi_32) return 1; if (fun == &KEKK_32) return 1; + if (fun == &KFKp_32) return 1; if (fun == &KEKp_32) return 1; if (fun == &KEpBp_a_32) return 1; #endif diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index 73657a1f..31e1521e 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -140,8 +140,8 @@ void pEv_32(x64emu_t *emu, uintptr_t fnc); void pFv_32(x64emu_t *emu, uintptr_t fnc); void pEi_32(x64emu_t *emu, uintptr_t fnc); void pFi_32(x64emu_t *emu, uintptr_t fnc); -void pEu_32(x64emu_t *emu, uintptr_t fnc); void pFu_32(x64emu_t *emu, uintptr_t fnc); +void pEu_32(x64emu_t *emu, uintptr_t fnc); void pEl_32(x64emu_t *emu, uintptr_t fnc); void pFl_32(x64emu_t *emu, uintptr_t fnc); void pEL_32(x64emu_t *emu, uintptr_t fnc); @@ -298,18 +298,19 @@ void UFuu_32(x64emu_t *emu, uintptr_t fnc); void UEUU_32(x64emu_t *emu, uintptr_t fnc); void UEss_32(x64emu_t *emu, uintptr_t fnc); void fEif_32(x64emu_t *emu, uintptr_t fnc); -void fEfi_32(x64emu_t *emu, uintptr_t fnc); void fFfi_32(x64emu_t *emu, uintptr_t fnc); +void fEfi_32(x64emu_t *emu, uintptr_t fnc); void fEff_32(x64emu_t *emu, uintptr_t fnc); void fFff_32(x64emu_t *emu, uintptr_t fnc); void fEfD_32(x64emu_t *emu, uintptr_t fnc); void fEfp_32(x64emu_t *emu, uintptr_t fnc); void dEid_32(x64emu_t *emu, uintptr_t fnc); -void dEdi_32(x64emu_t *emu, uintptr_t fnc); void dFdi_32(x64emu_t *emu, uintptr_t fnc); +void dEdi_32(x64emu_t *emu, uintptr_t fnc); void dEdd_32(x64emu_t *emu, uintptr_t fnc); void dFdd_32(x64emu_t *emu, uintptr_t fnc); void dEdD_32(x64emu_t *emu, uintptr_t fnc); +void dFdp_32(x64emu_t *emu, uintptr_t fnc); void dEdp_32(x64emu_t *emu, uintptr_t fnc); void dEll_32(x64emu_t *emu, uintptr_t fnc); void dFpp_32(x64emu_t *emu, uintptr_t fnc); @@ -343,6 +344,7 @@ void pFEX_32(x64emu_t *emu, uintptr_t fnc); void pFii_32(x64emu_t *emu, uintptr_t fnc); void pFiu_32(x64emu_t *emu, uintptr_t fnc); void pFip_32(x64emu_t *emu, uintptr_t fnc); +void pEia_32(x64emu_t *emu, uintptr_t fnc); void pFuu_32(x64emu_t *emu, uintptr_t fnc); void pFup_32(x64emu_t *emu, uintptr_t fnc); void pELL_32(x64emu_t *emu, uintptr_t fnc); @@ -399,6 +401,7 @@ void iFbppi_i_32(x64emu_t *emu, uintptr_t fnc); void iFXbiip__32(x64emu_t *emu, uintptr_t fnc); void iErLL_BLL__32(x64emu_t *emu, uintptr_t fnc); void LFXrLiiuL__32(x64emu_t *emu, uintptr_t fnc); +void pErppppii_p_32(x64emu_t *emu, uintptr_t fnc); void vFbll_rllll__32(x64emu_t *emu, uintptr_t fnc); void iFXbiiuuLip__32(x64emu_t *emu, uintptr_t fnc); void iFpruuipWCCp__32(x64emu_t *emu, uintptr_t fnc); @@ -600,6 +603,7 @@ void uFpuU_32(x64emu_t *emu, uintptr_t fnc); void uEpup_32(x64emu_t *emu, uintptr_t fnc); void uFpup_32(x64emu_t *emu, uintptr_t fnc); void uFppu_32(x64emu_t *emu, uintptr_t fnc); +void uEppL_32(x64emu_t *emu, uintptr_t fnc); void uFppp_32(x64emu_t *emu, uintptr_t fnc); void uFXuu_32(x64emu_t *emu, uintptr_t fnc); void fFuii_32(x64emu_t *emu, uintptr_t fnc); @@ -735,6 +739,7 @@ void pEppriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fnc); void vEEipp_32(x64emu_t *emu, uintptr_t fnc); void vFEipp_32(x64emu_t *emu, uintptr_t fnc); void vEEipV_32(x64emu_t *emu, uintptr_t fnc); +void vEEpuu_32(x64emu_t *emu, uintptr_t fnc); void vEEpup_32(x64emu_t *emu, uintptr_t fnc); void vFEpup_32(x64emu_t *emu, uintptr_t fnc); void vFEpll_32(x64emu_t *emu, uintptr_t fnc); @@ -1008,6 +1013,7 @@ void iEEpprLL__32(x64emu_t *emu, uintptr_t fnc); void iEpurLL_p_32(x64emu_t *emu, uintptr_t fnc); void iFppbL_bL__32(x64emu_t *emu, uintptr_t fnc); void iFrpuu_Lui_32(x64emu_t *emu, uintptr_t fnc); +void iEbp_bL_iS_32(x64emu_t *emu, uintptr_t fnc); void iFbp_bp_pi_32(x64emu_t *emu, uintptr_t fnc); void iFXbL_ibp__32(x64emu_t *emu, uintptr_t fnc); void vFbp_ppbup__32(x64emu_t *emu, uintptr_t fnc); @@ -1017,6 +1023,7 @@ void iEiirLL_BLL__32(x64emu_t *emu, uintptr_t fnc); void iEuirLL_BLL__32(x64emu_t *emu, uintptr_t fnc); void iFXLpbLWWWcc__32(x64emu_t *emu, uintptr_t fnc); void iFXLbLWWWcc_i_32(x64emu_t *emu, uintptr_t fnc); +void pESBppppii_pi_32(x64emu_t *emu, uintptr_t fnc); void iFXLuriiiiiLi__32(x64emu_t *emu, uintptr_t fnc); void vFXLbLLLLLLLLLL_L_32(x64emu_t *emu, uintptr_t fnc); void iFXLbLLLLLLLLLL_L_32(x64emu_t *emu, uintptr_t fnc); @@ -1648,14 +1655,18 @@ void uFippuuuuiiiiuuiiiiiiiipp_32(x64emu_t *emu, uintptr_t fnc); #if defined(HAVE_LD80BITS) void DED_32(x64emu_t *emu, uintptr_t fnc); +void DFDi_32(x64emu_t *emu, uintptr_t fnc); void DEDD_32(x64emu_t *emu, uintptr_t fnc); +void DFDp_32(x64emu_t *emu, uintptr_t fnc); void DEDp_32(x64emu_t *emu, uintptr_t fnc); void DEpBp_a_32(x64emu_t *emu, uintptr_t fnc); #endif #if !defined(HAVE_LD80BITS) void KEK_32(x64emu_t *emu, uintptr_t fnc); +void KFKi_32(x64emu_t *emu, uintptr_t fnc); void KEKK_32(x64emu_t *emu, uintptr_t fnc); +void KFKp_32(x64emu_t *emu, uintptr_t fnc); void KEKp_32(x64emu_t *emu, uintptr_t fnc); void KEpBp_a_32(x64emu_t *emu, uintptr_t fnc); #endif diff --git a/src/wrapped32/wrappedlibc.c b/src/wrapped32/wrappedlibc.c index 4e815cb2..7c3691f9 100755 --- a/src/wrapped32/wrappedlibc.c +++ b/src/wrapped32/wrappedlibc.c @@ -673,13 +673,15 @@ int of_unconvert32(int a) } #undef SUPER -EXPORT void* my32__ZGTtnaX (size_t a) { printf("warning _ZGTtnaX called\n"); return NULL; } -EXPORT void my32__ZGTtdlPv (void* a) { printf("warning _ZGTtdlPv called\n"); } -EXPORT uint8_t my32__ITM_RU1(const uint8_t * a) { printf("warning _ITM_RU1 called\n"); return 0; } -EXPORT uint32_t my32__ITM_RU4(const uint32_t * a) { printf("warning _ITM_RU4 called\n"); return 0; } -EXPORT uint64_t my32__ITM_RU8(const uint64_t * a) { printf("warning _ITM_RU8 called\n"); return 0; } -EXPORT void my32__ITM_memcpyRtWn(void * a, const void * b, size_t c) {printf("warning _ITM_memcpyRtWn called\n"); } -EXPORT void my32__ITM_memcpyRnWt(void * a, const void * b, size_t c) {printf("warning _ITM_memcpyRtWn called\n"); } +EXPORT void* my32__ZGTtnaX (size_t a) { printf("warning 32bits _ZGTtnaX called\n"); return NULL; } +EXPORT void* my32__ZGTtnam (size_t a) { (void)a; printf("warning 32bits _ZGTtnam called\n"); return NULL; } +EXPORT void* my32__ZGTtnaj (uint32_t a) { printf("warning 32bits _ZGTtnaj called\n"); return NULL; } +EXPORT void my32__ZGTtdlPv (void* a) { printf("warning 32bits _ZGTtdlPv called\n"); } +EXPORT uint8_t my32__ITM_RU1(const uint8_t * a) { printf("warning 32bits _ITM_RU1 called\n"); return 0; } +EXPORT uint32_t my32__ITM_RU4(const uint32_t * a) { printf("warning 32bits _ITM_RU4 called\n"); return 0; } +EXPORT uint64_t my32__ITM_RU8(const uint64_t * a) { printf("warning 32bits _ITM_RU8 called\n"); return 0; } +EXPORT void my32__ITM_memcpyRtWn(void * a, const void * b, size_t c) {printf("warning 32bits _ITM_memcpyRtWn called\n"); } +EXPORT void my32__ITM_memcpyRnWt(void * a, const void * b, size_t c) {printf("warning 32bits _ITM_memcpyRtWn called\n"); } EXPORT void my32_longjmp(x64emu_t* emu, /*struct __jmp_buf_tag __env[1]*/void *p, int32_t __val); EXPORT void my32__longjmp(x64emu_t* emu, /*struct __jmp_buf_tag __env[1]*/void *p, int32_t __val) __attribute__((alias("my32_longjmp"))); diff --git a/src/wrapped32/wrappedlibc_private.h b/src/wrapped32/wrappedlibc_private.h index d5b8c0e7..f14a2e44 100755 --- a/src/wrapped32/wrappedlibc_private.h +++ b/src/wrapped32/wrappedlibc_private.h @@ -298,7 +298,7 @@ GOWM(execvpe, iEEppp) GO(exit, vEi) GO(_exit, vEi) GOW(_Exit, vEi) -//GOM(__explicit_bzero_chk, vEEpuu) //%% not always defined +GOM(__explicit_bzero_chk, vEEpuu) //%% not always defined GO(faccessat, iEipii) // fattach //GO(__fbufsize, uEp) @@ -402,9 +402,13 @@ GO(__freelocale, vEA) GO(fremovexattr, iEip) GO(freopen, SEppS) GO(freopen64, SEppS) -// frexp // Weak +GOW(frexp, dFdp) // frexpf // Weak -// frexpl // Weak +#ifdef HAVE_LD80BITS +GOW(frexpl, DFDp) +#else +GOW2(frexpl, KFKp, frexp) +#endif GOM(fscanf, iEESpV) GO(fseek, iESli) GO(fseeko, iESli) @@ -472,8 +476,8 @@ GOW(getcwd, tEpL) //GO(getdate, pEp) // getdate_err // type B // getdate_r // Weak -//GOW(getdelim, iEppip) -//GOW(__getdelim, iEppip) +//GOW(getdelim, iEbp_bL_iS) +GOW(__getdelim, iEbp_bL_iS) // getdirentries // getdirentries64 //GO(getdomainname, iEpu) @@ -517,7 +521,7 @@ GO(getlogin_r, iEpL) // __getlogin_r_chk GOM(getmntent, pEES) // __getmntent_r -//GOW(getmntent_r, pEpppi) +GOW(getmntent_r, pESBppppii_pi) // getmsg // get_myaddress GO(getnameinfo, iEpupupui) @@ -639,7 +643,7 @@ GO(grantpt, iEi) // group_member // Weak // gsignal // Weak // gtty -//GOW(hasmntopt, pEpp) +GOW(hasmntopt, pErppppii_p) // hcreate // hcreate_r // hdestroy // Weak @@ -982,9 +986,13 @@ GOW(lchown, iEpuu) // lckpwdf // Weak // lcong48 // lcong48_r // Weak -// ldexp // Weak -// ldexpf // Weak -// ldexpl // Weak +GOW(ldexp, dFdi) +GOW(ldexpf, fFfi) +#ifdef HAVE_LD80BITS +GOW(ldexpl, DFDi) +#else +GOW2(ldexpl, KFKi, ldexp) +#endif //GOS(ldiv, pEEpii) //%% return a struct, so address of stuct is on the stack, as a shadow 1st element //GOM(lfind, pEEpppLp) //%% //GO(lgetxattr, iEpppu) @@ -1073,7 +1081,7 @@ GOW(mallopt, iEii) // Weak //GO(__mbrlen, LEpLp) GOW(mbrtowc, LEppLp) GO(__mbrtowc, LEppLp) -//GOW(mbsinit, iEp) +GOW(mbsinit, iEp) GOW(mbsnrtowcs, LEpbp_LLp) // __mbsnrtowcs_chk GOW(mbsrtowcs, LEpbp_Lp) @@ -1112,7 +1120,7 @@ GO(mkdirat, iEipu) GO(mkdtemp, pEp) GO(mkfifo, iEpu) //GO(mkfifoat, iEipu) -//GO(mkostemp, iEpi) +GO(mkostemp, iEpi) GO(mkostemp64, iEpi) GO(mkstemp, iEp) GO(mkstemp64, iEp) @@ -1616,7 +1624,7 @@ GO(stpcpy, pEpp) // __stpcpy GO(__stpcpy_chk, pEppL) // __stpcpy_small -//GOW(stpncpy, pEppL) +GOW(stpncpy, pEppL) //GO(__stpncpy, pEppL) //GO(__stpncpy_chk, pEppLL) GOW(strcasecmp, iEpp) @@ -1643,7 +1651,7 @@ GO(strcspn, LEpp) GOW(strdup, pEp) GO(__strdup, pEp) GO(strerror, tEi) -//GO(strerror_l, pEip) +GO(strerror_l, pEia) GO(__strerror_r, pEipL) GOW(strerror_r, pEipL) //GO(strfmon, lEpLpppppppppp) //vaarg, probably needs align, there are just double... @@ -1725,9 +1733,9 @@ GO(__strtoull_internal, UEpBp_ii) //GOW(strtoull_l, UEppip) //GO(strtoumax, UEppi) //GOW(strtouq, UEppi) // ok? -//GOW(strverscmp, iEpp) +GOW(strverscmp, iEpp) // __strverscmp -//GO(strxfrm, uEppu) +GO(strxfrm, uEppL) GO(__strxfrm_l, LEppLa) //GO(strxfrm_l, uEppup) // stty @@ -1851,7 +1859,7 @@ GO(truncate64, iESU) //DATA(__tzname, 4) GOWM(tzset, vEv) //%%,noE // ualarm -//GO(__uflow, iEp) +GO(__uflow, iES) // ulckpwdf // Weak // ulimit // Weak GOW(umask, uEu) @@ -2022,7 +2030,7 @@ GO(wctob, iEu) //GOW(wctype, uEp) GO(__wctype_l, hEpa) GOW(wctype_l, hEpa) -//GO(wcwidth, iEu) +GO(wcwidth, iEu) GOW(wmemchr, pEpiL) GO(wmemcmp, iEppL) GOW(wmemcpy, pEppL) @@ -2147,14 +2155,18 @@ GO2(__close_nocancel, iEi, close) // not found (libitm???), but it seems OK to declare dummies: -GOM(_ITM_RU1, uEp) //%%,noE -GOM(_ITM_RU4, uEp) //%%,noE -GOM(_ITM_RU8, UEp) //%%,noE -GOM(_ITM_memcpyRtWn, vEppu) //%%,noE register(2) -GOM(_ITM_memcpyRnWt, vEppu) //%%,noE register(2) -GOM(_ITM_addUserCommitAction, vEEpup) -GOM(_ITM_registerTMCloneTable, vEEpu) //%% -GOM(_ITM_deregisterTMCloneTable, vEEp) //%% +GOWM(_ZGTtdlPv, vFp) //%noE +GOWM(_ZGTtnaX, pFL) //%noE +GOWM(_ZGTtnam, pFL) //%noE +GOWM(_ZGTtnaj, pFu) //%noE +GOWM(_ITM_RU1, uEp) //%%,noE +GOWM(_ITM_RU4, uEp) //%%,noE +GOWM(_ITM_RU8, UEp) //%%,noE +GOWM(_ITM_memcpyRtWn, vEppu) //%%,noE register(2) +GOWM(_ITM_memcpyRnWt, vEppu) //%%,noE register(2) +GOWM(_ITM_addUserCommitAction, vEEpup) +GOWM(_ITM_registerTMCloneTable, vEEpu) //%% +GOWM(_ITM_deregisterTMCloneTable, vEEp) //%% GOM(__umoddi3, UEUU) //%%,noE GOM(__udivdi3, UEUU) //%%,noE |