diff options
Diffstat (limited to 'src/libtools/myalign.c')
| -rw-r--r-- | src/libtools/myalign.c | 8 |
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) { |