about summary refs log tree commit diff stats
path: root/src/libtools/myalign.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libtools/myalign.c')
-rw-r--r--src/libtools/myalign.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libtools/myalign.c b/src/libtools/myalign.c
index 123aa651..d60070bd 100644
--- a/src/libtools/myalign.c
+++ b/src/libtools/myalign.c
@@ -624,6 +624,14 @@ uintptr_t getVArgs(x64emu_t* emu, int pos, uintptr_t* b, int N)
     return emu->regs[regs_abi[pos+N]].q[0];
 }
 
+void setVArgs(x64emu_t* emu, int pos, uintptr_t* b, int N, uintptr_t a)
+{
+    if((pos+N)>5)
+        b[pos+N-6] = a;
+    else
+        emu->regs[regs_abi[pos+N]].q[0] = a;
+}
+
 #ifndef CONVERT_VALIST
 void myStackAlignValist(x64emu_t* emu, const char* fmt, uint64_t* mystack, x64_va_list_t va)
 {