about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-05-17 10:09:13 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-05-17 10:09:13 +0200
commitbd5d29a825af62ceb849569d6fa4e8a646c18322 (patch)
tree50fdd4cf200d25f5c94a8215de35d26b4a1cc0e2
parent5255935a3115bed37ac7a1ee407059acc3e1308b (diff)
downloadbox64-bd5d29a825af62ceb849569d6fa4e8a646c18322.tar.gz
box64-bd5d29a825af62ceb849569d6fa4e8a646c18322.zip
Fixed epoll_wait alignment
-rw-r--r--src/wrapped/generated/functions_list.txt1
-rw-r--r--src/wrapped/generated/wrappedlibctypes.h2
-rw-r--r--src/wrapped/generated/wrapper.c2
-rw-r--r--src/wrapped/generated/wrapper.h1
-rwxr-xr-xsrc/wrapped/wrappedlibc_private.h6
5 files changed, 10 insertions, 2 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 58c38d0f..f4b372aa 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -1211,6 +1211,7 @@
 #!defined(NOALIGN) iFEpLp
 #!defined(NOALIGN) iFEppu
 #!defined(NOALIGN) iFEiiip
+#!defined(NOALIGN) iFEipii
 #defined(HAVE_LD80BITS) DFD
 #defined(HAVE_LD80BITS) DFDD
 #defined(HAVE_LD80BITS) DFDp
diff --git a/src/wrapped/generated/wrappedlibctypes.h b/src/wrapped/generated/wrappedlibctypes.h
index 6655c626..4921641d 100644
--- a/src/wrapped/generated/wrappedlibctypes.h
+++ b/src/wrapped/generated/wrappedlibctypes.h
@@ -43,6 +43,7 @@ typedef void* (*pFpip_t)(void*, int64_t, void*);
 typedef void (*vFiipV_t)(int64_t, int64_t, void*, void*);
 typedef void (*vFpLLp_t)(void*, uintptr_t, uintptr_t, void*);
 typedef int64_t (*iFiiip_t)(int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFipii_t)(int64_t, void*, int64_t, int64_t);
 typedef int64_t (*iFpipp_t)(void*, int64_t, void*, void*);
 typedef int64_t (*iFpipV_t)(void*, int64_t, void*, void*);
 typedef int64_t (*iFpLpp_t)(void*, uintptr_t, void*, void*);
@@ -135,6 +136,7 @@ typedef int64_t (*iFpippppp_t)(void*, int64_t, void*, void*, void*, void*, void*
 	GO(__syslog_chk, vFiipV_t) \
 	GO(qsort, vFpLLp_t) \
 	GO(epoll_ctl, iFiiip_t) \
+	GO(epoll_wait, iFipii_t) \
 	GO(__vasprintf_chk, iFpipp_t) \
 	GO(glob, iFpipp_t) \
 	GO(glob64, iFpipp_t) \
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 83ea6e9e..ab9a9b64 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -1247,6 +1247,7 @@ typedef void* (*pFipppppppppppppppppppppp_t)(int64_t, void*, void*, void*, void*
 typedef int64_t (*iFEpLp_t)(x64emu_t*, void*, uintptr_t, void*);
 typedef int64_t (*iFEppu_t)(x64emu_t*, void*, void*, uint64_t);
 typedef int64_t (*iFEiiip_t)(x64emu_t*, int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFEipii_t)(x64emu_t*, int64_t, void*, int64_t, int64_t);
 #endif
 
 #if defined(HAVE_LD80BITS)
@@ -2476,6 +2477,7 @@ void pFipppppppppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFipppppppppppppp
 void iFEpLp(x64emu_t *emu, uintptr_t fcn) { iFEpLp_t fn = (iFEpLp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); }
 void iFEppu(x64emu_t *emu, uintptr_t fcn) { iFEppu_t fn = (iFEppu_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX); }
 void iFEiiip(x64emu_t *emu, uintptr_t fcn) { iFEiiip_t fn = (iFEiiip_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
+void iFEipii(x64emu_t *emu, uintptr_t fcn) { iFEipii_t fn = (iFEipii_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
 #endif
 
 #if defined(HAVE_LD80BITS)
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 5a234181..cdf0aa05 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -1243,6 +1243,7 @@ void pFipppppppppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void iFEpLp(x64emu_t *emu, uintptr_t fnc);
 void iFEppu(x64emu_t *emu, uintptr_t fnc);
 void iFEiiip(x64emu_t *emu, uintptr_t fnc);
+void iFEipii(x64emu_t *emu, uintptr_t fnc);
 #endif
 
 #if defined(HAVE_LD80BITS)
diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h
index 4ea93622..cd7d548b 100755
--- a/src/wrapped/wrappedlibc_private.h
+++ b/src/wrapped/wrappedlibc_private.h
@@ -260,11 +260,13 @@ GO(epoll_create, iFi)
 GO(epoll_create1, iFO)
 #ifdef NOALIGN
 GO(epoll_ctl, iFiiip)
+//GO(epoll_pwait, 
+GO(epoll_wait, iFipii)
 #else
 GOM(epoll_ctl, iFEiiip)   // struct epoll_event is 12byte on x86_64 and 16bytes (8bytes aligned) on arm64
-#endif
 //GO(epoll_pwait, 
-GO(epoll_wait, iFipii)
+GOM(epoll_wait, iFEipii)
+#endif
 GO(erand48, dFp)
 //GOW(erand48_r, 
 //GO(err,