about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-06 12:19:34 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-06 12:19:34 +0100
commit47a5257a613e59f212af0b7ab2177fe90e13136f (patch)
tree9fe1986b7a5d4ac0350bd099f3c45470d0252a50 /src
parent5b50e43d056c58bc21a468871cdc47a8755fdf2c (diff)
downloadbox64-47a5257a613e59f212af0b7ab2177fe90e13136f.tar.gz
box64-47a5257a613e59f212af0b7ab2177fe90e13136f.zip
Added wctob and btowc wrapped functions
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/generated/functions_list.txt1
-rw-r--r--src/wrapped/generated/wrapper.c2
-rw-r--r--src/wrapped/generated/wrapper.h1
-rwxr-xr-xsrc/wrapped/wrappedlibc_private.h8
4 files changed, 8 insertions, 4 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 91d0ddce..14ca5005 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -47,6 +47,7 @@
 #() iFEpp
 #() iFEpV
 #() iFpiu
+#() iFpuL
 #() fFfff
 #() fFffp
 #() dFddd
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index d8e2f897..0f358f9e 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -118,6 +118,7 @@ typedef void (*vFdpp_t)(double, void*, void*);
 typedef int32_t (*iFEpp_t)(x64emu_t*, void*, void*);
 typedef int32_t (*iFEpV_t)(x64emu_t*, void*, void*);
 typedef int32_t (*iFpiu_t)(void*, int32_t, uint32_t);
+typedef int32_t (*iFpuL_t)(void*, uint32_t, uintptr_t);
 typedef float (*fFfff_t)(float, float, float);
 typedef float (*fFffp_t)(float, float, void*);
 typedef double (*dFddd_t)(double, double, double);
@@ -197,6 +198,7 @@ void vFdpp(x64emu_t *emu, uintptr_t fcn) { vFdpp_t fn = (vFdpp_t)fcn; fn(emu->xm
 void iFEpp(x64emu_t *emu, uintptr_t fcn) { iFEpp_t fn = (iFEpp_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI); }
 void iFEpV(x64emu_t *emu, uintptr_t fcn) { iFEpV_t fn = (iFEpV_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)(R_RSP + 8)); }
 void iFpiu(x64emu_t *emu, uintptr_t fcn) { iFpiu_t fn = (iFpiu_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX); }
+void iFpuL(x64emu_t *emu, uintptr_t fcn) { iFpuL_t fn = (iFpuL_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX); }
 void fFfff(x64emu_t *emu, uintptr_t fcn) { fFfff_t fn = (fFfff_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); }
 void fFffp(x64emu_t *emu, uintptr_t fcn) { fFffp_t fn = (fFffp_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], emu->xmm[1].f[0], (void*)R_RDI); }
 void dFddd(x64emu_t *emu, uintptr_t fcn) { dFddd_t fn = (dFddd_t)fcn; emu->xmm[0].d[0]=fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); }
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 5a3cb8a2..5dae3e59 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -79,6 +79,7 @@ void vFdpp(x64emu_t *emu, uintptr_t fnc);
 void iFEpp(x64emu_t *emu, uintptr_t fnc);
 void iFEpV(x64emu_t *emu, uintptr_t fnc);
 void iFpiu(x64emu_t *emu, uintptr_t fnc);
+void iFpuL(x64emu_t *emu, uintptr_t fnc);
 void fFfff(x64emu_t *emu, uintptr_t fnc);
 void fFffp(x64emu_t *emu, uintptr_t fnc);
 void dFddd(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h
index 4f9a7f1b..106ac091 100755
--- a/src/wrapped/wrappedlibc_private.h
+++ b/src/wrapped/wrappedlibc_private.h
@@ -83,7 +83,7 @@ GO(atoll, IFp)
 //GO(__bsd_getpgrp, 
 //GOW(bsd_signal, 
 //GO(bsearch, 
-//GOW(btowc, 
+GOW(btowc, iFi)
 //GO(__bzero, 
 //GOW(bzero, 
 //GO(c16rtomb, 
@@ -2125,9 +2125,9 @@ GO(usleep, iFu)
 //GO(wcsxfrm, 
 //GO(__wcsxfrm_l, 
 //GOW(wcsxfrm_l, 
-//GO(wctob, 
-//GO(wctomb, 
-//GO(__wctomb_chk, 
+GO(wctob, iFi)
+GO(wctomb, iFpi)
+GO(__wctomb_chk, iFpuL)
 //GOW(wctrans, 
 //GO(__wctrans_l, 
 //GOW(wctrans_l,