about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-07-19 08:15:21 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-07-19 08:15:21 +0200
commit74405a8b005c03ff1be679dcc0dcf38bae030b62 (patch)
tree10d9734c268436a122186d7e242f02443c12f48c /src
parent4b1ecc16ffacc9302dbbcee158a73e0dd5c0136c (diff)
downloadbox64-74405a8b005c03ff1be679dcc0dcf38bae030b62.tar.gz
box64-74405a8b005c03ff1be679dcc0dcf38bae030b62.zip
Added a couple of wrapped libc function (will help #65 among other)
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/generated/functions_list.txt2
-rw-r--r--src/wrapped/generated/wrapper.c6
-rw-r--r--src/wrapped/generated/wrapper.h2
-rwxr-xr-xsrc/wrapped/wrappedlibc_private.h6
4 files changed, 13 insertions, 3 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 6ac6899a..d3487023 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -534,6 +534,7 @@
 #() iFilli
 #() iFiLwp
 #() iFipii
+#() iFipip
 #() iFipui
 #() iFipup
 #() iFipLi
@@ -790,6 +791,7 @@
 #() iFiLLLL
 #() iFipiii
 #() iFipipi
+#() iFipipu
 #() iFipuip
 #() iFippLi
 #() iFippLp
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 77d6afd8..d470328a 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -568,6 +568,7 @@ typedef int64_t (*iFiupi_t)(int64_t, uint64_t, void*, int64_t);
 typedef int64_t (*iFilli_t)(int64_t, intptr_t, intptr_t, int64_t);
 typedef int64_t (*iFiLwp_t)(int64_t, uintptr_t, int16_t, void*);
 typedef int64_t (*iFipii_t)(int64_t, void*, int64_t, int64_t);
+typedef int64_t (*iFipip_t)(int64_t, void*, int64_t, void*);
 typedef int64_t (*iFipui_t)(int64_t, void*, uint64_t, int64_t);
 typedef int64_t (*iFipup_t)(int64_t, void*, uint64_t, void*);
 typedef int64_t (*iFipLi_t)(int64_t, void*, uintptr_t, int64_t);
@@ -824,6 +825,7 @@ typedef int64_t (*iFiiupp_t)(int64_t, int64_t, uint64_t, void*, void*);
 typedef int64_t (*iFiLLLL_t)(int64_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
 typedef int64_t (*iFipiii_t)(int64_t, void*, int64_t, int64_t, int64_t);
 typedef int64_t (*iFipipi_t)(int64_t, void*, int64_t, void*, int64_t);
+typedef int64_t (*iFipipu_t)(int64_t, void*, int64_t, void*, uint64_t);
 typedef int64_t (*iFipuip_t)(int64_t, void*, uint64_t, int64_t, void*);
 typedef int64_t (*iFippLi_t)(int64_t, void*, void*, uintptr_t, int64_t);
 typedef int64_t (*iFippLp_t)(int64_t, void*, void*, uintptr_t, void*);
@@ -1996,6 +1998,7 @@ void iFiupi(x64emu_t *emu, uintptr_t fcn) { iFiupi_t fn = (iFiupi_t)fcn; R_RAX=(
 void iFilli(x64emu_t *emu, uintptr_t fcn) { iFilli_t fn = (iFilli_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (int64_t)R_RCX); }
 void iFiLwp(x64emu_t *emu, uintptr_t fcn) { iFiLwp_t fn = (iFiLwp_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (uintptr_t)R_RSI, (int16_t)R_RDX, (void*)R_RCX); }
 void iFipii(x64emu_t *emu, uintptr_t fcn) { iFipii_t fn = (iFipii_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
+void iFipip(x64emu_t *emu, uintptr_t fcn) { iFipip_t fn = (iFipip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
 void iFipui(x64emu_t *emu, uintptr_t fcn) { iFipui_t fn = (iFipui_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX); }
 void iFipup(x64emu_t *emu, uintptr_t fcn) { iFipup_t fn = (iFipup_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); }
 void iFipLi(x64emu_t *emu, uintptr_t fcn) { iFipLi_t fn = (iFipLi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX); }
@@ -2252,6 +2255,7 @@ void iFiiupp(x64emu_t *emu, uintptr_t fcn) { iFiiupp_t fn = (iFiiupp_t)fcn; R_RA
 void iFiLLLL(x64emu_t *emu, uintptr_t fcn) { iFiLLLL_t fn = (iFiLLLL_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8); }
 void iFipiii(x64emu_t *emu, uintptr_t fcn) { iFipiii_t fn = (iFipiii_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
 void iFipipi(x64emu_t *emu, uintptr_t fcn) { iFipipi_t fn = (iFipipi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
+void iFipipu(x64emu_t *emu, uintptr_t fcn) { iFipipu_t fn = (iFipipu_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (uint64_t)R_R8); }
 void iFipuip(x64emu_t *emu, uintptr_t fcn) { iFipuip_t fn = (iFipuip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
 void iFippLi(x64emu_t *emu, uintptr_t fcn) { iFippLi_t fn = (iFippLi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (int64_t)R_R8); }
 void iFippLp(x64emu_t *emu, uintptr_t fcn) { iFippLp_t fn = (iFippLp_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
@@ -3356,6 +3360,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFilli) return 1;
 	if (fun == &iFiLwp) return 1;
 	if (fun == &iFipii) return 1;
+	if (fun == &iFipip) return 1;
 	if (fun == &iFipui) return 1;
 	if (fun == &iFipup) return 1;
 	if (fun == &iFipLi) return 1;
@@ -3577,6 +3582,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFiLLLL) return 1;
 	if (fun == &iFipiii) return 1;
 	if (fun == &iFipipi) return 1;
+	if (fun == &iFipipu) return 1;
 	if (fun == &iFipuip) return 1;
 	if (fun == &iFippLi) return 1;
 	if (fun == &iFippLp) return 1;
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index c7683597..67d652f5 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -564,6 +564,7 @@ void iFiupi(x64emu_t *emu, uintptr_t fnc);
 void iFilli(x64emu_t *emu, uintptr_t fnc);
 void iFiLwp(x64emu_t *emu, uintptr_t fnc);
 void iFipii(x64emu_t *emu, uintptr_t fnc);
+void iFipip(x64emu_t *emu, uintptr_t fnc);
 void iFipui(x64emu_t *emu, uintptr_t fnc);
 void iFipup(x64emu_t *emu, uintptr_t fnc);
 void iFipLi(x64emu_t *emu, uintptr_t fnc);
@@ -820,6 +821,7 @@ void iFiiupp(x64emu_t *emu, uintptr_t fnc);
 void iFiLLLL(x64emu_t *emu, uintptr_t fnc);
 void iFipiii(x64emu_t *emu, uintptr_t fnc);
 void iFipipi(x64emu_t *emu, uintptr_t fnc);
+void iFipipu(x64emu_t *emu, uintptr_t fnc);
 void iFipuip(x64emu_t *emu, uintptr_t fnc);
 void iFippLi(x64emu_t *emu, uintptr_t fnc);
 void iFippLp(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h
index 9bc38daa..cb8fb348 100755
--- a/src/wrapped/wrappedlibc_private.h
+++ b/src/wrapped/wrappedlibc_private.h
@@ -1289,7 +1289,7 @@ DATA(optarg, sizeof(void*))
 DATA(opterr, sizeof(int))
 DATA(optind, sizeof(int))
 DATA(optopt, sizeof(int))
-//GO(__overflow, 
+GO(__overflow, iFpi)
 //GO(parse_printf_format, 
 //GO(passwd2des, 
 GOW(pathconf, iFpi)
@@ -1511,8 +1511,8 @@ GO(remove, iFp)
 GO(removexattr, iFpp)
 //GO(remque, 
 GO(rename, iFpp)
-//GOW(renameat, 
-//GOW(renameat2, 
+GOW(renameat, iFipip)
+GOW(renameat2, iFipipu)
 //DATAB(_res, 
 //GOW(re_search, 
 //GOW(re_search_2,