about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/wrapped32/generated/converter32.c20
-rw-r--r--src/wrapped32/generated/converter32.h10
-rw-r--r--src/wrapped32/generated/functions_list.txt29
-rw-r--r--src/wrapped32/generated/wrappedlibctypes32.h12
-rw-r--r--src/wrapped32/generated/wrapper32.c43
-rw-r--r--src/wrapped32/generated/wrapper32.h17
-rwxr-xr-xsrc/wrapped32/wrappedlibc.c16
-rwxr-xr-xsrc/wrapped32/wrappedlibc_private.h64
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