about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-04-13 15:19:59 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-04-13 15:19:59 +0200
commitfded1a071854adb262422eb184d4f4367ba40f28 (patch)
tree7e273b050a9cde8f3810fdb53265ffd6a4a472d6 /src
parentebbb2821d0cd186068e7c366eb48ccb3e647bf8a (diff)
downloadbox64-fded1a071854adb262422eb184d4f4367ba40f28.tar.gz
box64-fded1a071854adb262422eb184d4f4367ba40f28.zip
Added some more wrapped functions in libc
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/generated/functions_list.txt1
-rw-r--r--src/wrapped/generated/wrappedlibctypes.h2
-rw-r--r--src/wrapped/generated/wrapper.c3
-rw-r--r--src/wrapped/generated/wrapper.h1
-rwxr-xr-xsrc/wrapped/wrappedlibc_private.h10
5 files changed, 12 insertions, 5 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 64481086..dae7584d 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -244,6 +244,7 @@
 #() iFiip
 #() iFiiO
 #() iFiuu
+#() iFiLi
 #() iFiLN
 #() iFipu
 #() iFipL
diff --git a/src/wrapped/generated/wrappedlibctypes.h b/src/wrapped/generated/wrappedlibctypes.h
index d20ca9a3..d252e38a 100644
--- a/src/wrapped/generated/wrappedlibctypes.h
+++ b/src/wrapped/generated/wrappedlibctypes.h
@@ -134,6 +134,7 @@ typedef int64_t (*iFpippppp_t)(void*, int64_t, void*, void*, void*, void*, void*
 	GO(__syslog_chk, vFiipV_t) \
 	GO(qsort, vFpLLp_t) \
 	GO(__vasprintf_chk, iFpipp_t) \
+	GO(glob, iFpipp_t) \
 	GO(glob64, iFpipp_t) \
 	GO(__fprintf_chk, iFpipV_t) \
 	GO(__vsnprintf, iFpLpp_t) \
@@ -146,6 +147,7 @@ typedef int64_t (*iFpippppp_t)(void*, int64_t, void*, void*, void*, void*, void*
 	GO(makecontext, iFppiV_t) \
 	GO(__register_atfork, iFpppp_t) \
 	GO(__vsprintf_chk, iFpppp_t) \
+	GO(scandir, iFpppp_t) \
 	GO(scandir64, iFpppp_t) \
 	GO(vsprintf, iFpppp_t) \
 	GO(qsort_r, vFpLLpp_t) \
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 94bbbc70..caba5369 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -278,6 +278,7 @@ typedef int64_t (*iFiiu_t)(int64_t, int64_t, uint64_t);
 typedef int64_t (*iFiip_t)(int64_t, int64_t, void*);
 typedef int64_t (*iFiiO_t)(int64_t, int64_t, int32_t);
 typedef int64_t (*iFiuu_t)(int64_t, uint64_t, uint64_t);
+typedef int64_t (*iFiLi_t)(int64_t, uintptr_t, int64_t);
 typedef int64_t (*iFiLN_t)(int64_t, uintptr_t, ...);
 typedef int64_t (*iFipu_t)(int64_t, void*, uint64_t);
 typedef int64_t (*iFipL_t)(int64_t, void*, uintptr_t);
@@ -1476,6 +1477,7 @@ void iFiiu(x64emu_t *emu, uintptr_t fcn) { iFiiu_t fn = (iFiiu_t)fcn; R_RAX=(int
 void iFiip(x64emu_t *emu, uintptr_t fcn) { iFiip_t fn = (iFiip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX); }
 void iFiiO(x64emu_t *emu, uintptr_t fcn) { iFiiO_t fn = (iFiiO_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, of_convert((int32_t)R_RDX)); }
 void iFiuu(x64emu_t *emu, uintptr_t fcn) { iFiuu_t fn = (iFiuu_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX); }
+void iFiLi(x64emu_t *emu, uintptr_t fcn) { iFiLi_t fn = (iFiLi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX); }
 void iFiLN(x64emu_t *emu, uintptr_t fcn) { iFiLN_t fn = (iFiLN_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); }
 void iFipu(x64emu_t *emu, uintptr_t fcn) { iFipu_t fn = (iFipu_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX); }
 void iFipL(x64emu_t *emu, uintptr_t fcn) { iFipL_t fn = (iFipL_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
@@ -2646,6 +2648,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFiiu) return 1;
 	if (fun == &iFiip) return 1;
 	if (fun == &iFiuu) return 1;
+	if (fun == &iFiLi) return 1;
 	if (fun == &iFipu) return 1;
 	if (fun == &iFipL) return 1;
 	if (fun == &iFipp) return 1;
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index a0a0ba98..3ac1629c 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -274,6 +274,7 @@ void iFiiu(x64emu_t *emu, uintptr_t fnc);
 void iFiip(x64emu_t *emu, uintptr_t fnc);
 void iFiiO(x64emu_t *emu, uintptr_t fnc);
 void iFiuu(x64emu_t *emu, uintptr_t fnc);
+void iFiLi(x64emu_t *emu, uintptr_t fnc);
 void iFiLN(x64emu_t *emu, uintptr_t fnc);
 void iFipu(x64emu_t *emu, uintptr_t fnc);
 void iFipL(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h
index 6ee6c86f..1a508e66 100755
--- a/src/wrapped/wrappedlibc_private.h
+++ b/src/wrapped/wrappedlibc_private.h
@@ -1660,10 +1660,10 @@ GOW(setvbuf, iFppiL)
 //GOW(sgetsgent_r, 
 //GO(sgetspent, 
 //GOW(sgetspent_r, 
-//GO(shmat, 
-//GO(shmctl, 
-//GO(shmdt, 
-//GO(shmget, 
+GO(shmat, pFipi)
+GO(shmctl, iFiip)
+GO(shmdt, iFp)
+GO(shmget, iFiLi)
 GOW(shutdown, iFii)
 GOM(__sigaction, iFEipp)  // Weak
 GOM(sigaction, iFEipp)    // Weak
@@ -2122,7 +2122,7 @@ GOW(wcsnrtombs, LFppLLp)
 //GOI(wcsnlen, 
 //GO(wcspbrk, 
 GO(wcsrchr, pFpi)
-//GOW(wcsrtombs, 
+GOW(wcsrtombs, LFppLp)
 //GO(__wcsrtombs_chk, 
 //GO(wcsspn, 
 GO(wcsstr, pFpp)