about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-08-03 09:06:20 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-08-03 09:06:20 +0200
commit69484d7f3cbaca7e445df6136f3fa0f646a0d74d (patch)
tree6029f5d19e2c938c8f5386b3c66beb1c17bd6ea8 /src
parent43f5438d933cab08db8bcc70406734900ada9cc4 (diff)
downloadbox64-69484d7f3cbaca7e445df6136f3fa0f646a0d74d.tar.gz
box64-69484d7f3cbaca7e445df6136f3fa0f646a0d74d.zip
Added _IO_init wrapped function
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.h2
4 files changed, 5 insertions, 1 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index bbb90753..123c0386 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -118,6 +118,7 @@
 #() iFil
 #() iFiL
 #() iFip
+#() iFiS
 #() iFIi
 #() iFui
 #() iFuu
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index d54d9db6..3954ae25 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -152,6 +152,7 @@ typedef int64_t (*iFiu_t)(int64_t, uint64_t);
 typedef int64_t (*iFil_t)(int64_t, intptr_t);
 typedef int64_t (*iFiL_t)(int64_t, uintptr_t);
 typedef int64_t (*iFip_t)(int64_t, void*);
+typedef int64_t (*iFiS_t)(int64_t, void*);
 typedef int64_t (*iFIi_t)(int64_t, int64_t);
 typedef int64_t (*iFui_t)(uint64_t, int64_t);
 typedef int64_t (*iFuu_t)(uint64_t, uint64_t);
@@ -1673,6 +1674,7 @@ void iFiu(x64emu_t *emu, uintptr_t fcn) { iFiu_t fn = (iFiu_t)fcn; R_RAX=(int64_
 void iFil(x64emu_t *emu, uintptr_t fcn) { iFil_t fn = (iFil_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (intptr_t)R_RSI); }
 void iFiL(x64emu_t *emu, uintptr_t fcn) { iFiL_t fn = (iFiL_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (uintptr_t)R_RSI); }
 void iFip(x64emu_t *emu, uintptr_t fcn) { iFip_t fn = (iFip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI); }
+void iFiS(x64emu_t *emu, uintptr_t fcn) { iFiS_t fn = (iFiS_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, io_convert((void*)R_RSI)); }
 void iFIi(x64emu_t *emu, uintptr_t fcn) { iFIi_t fn = (iFIi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI); }
 void iFui(x64emu_t *emu, uintptr_t fcn) { iFui_t fn = (iFui_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (int64_t)R_RSI); }
 void iFuu(x64emu_t *emu, uintptr_t fcn) { iFuu_t fn = (iFuu_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI); }
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 982a3008..e3d5f0b2 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -151,6 +151,7 @@ void iFiu(x64emu_t *emu, uintptr_t fnc);
 void iFil(x64emu_t *emu, uintptr_t fnc);
 void iFiL(x64emu_t *emu, uintptr_t fnc);
 void iFip(x64emu_t *emu, uintptr_t fnc);
+void iFiS(x64emu_t *emu, uintptr_t fnc);
 void iFIi(x64emu_t *emu, uintptr_t fnc);
 void iFui(x64emu_t *emu, uintptr_t fnc);
 void iFuu(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h
index e18c3f87..9ed67b27 100755
--- a/src/wrapped/wrappedlibc_private.h
+++ b/src/wrapped/wrappedlibc_private.h
@@ -826,7 +826,7 @@ GO(iopl, iFi)
 //GO(_IO_printf, 
 //GO(_IO_proc_close, 
 //GO(_IO_proc_open, 
-//GO(_IO_putc, 
+GO(_IO_putc, iFiS)
 //GO(_IO_puts, 
 //GO(_IO_remove_marker, 
 //GO(_IO_seekmark,