summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sim/syscall_desc.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/sim/syscall_desc.cc b/src/sim/syscall_desc.cc
index 34fb43dae..9251b1c14 100644
--- a/src/sim/syscall_desc.cc
+++ b/src/sim/syscall_desc.cc
@@ -49,10 +49,11 @@ SyscallDesc::doSyscall(int callnum, LiveProcess *process, ThreadContext *tc)
/**
* Step through the first six parameters for the system call and
* retrieve their values. Note that index is incremented as a
- * side-effect of the calling method.
+ * side-effect of the getSyscallArg method which is why the LHS
+ * needs the "-1".
*/
for (int index = 0; index < 6; )
- arg[index] = process->getSyscallArg(tc, index);
+ arg[index - 1] = process->getSyscallArg(tc, index);
/**
* Linux supports up to six system call arguments through registers