This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] Process record: Fix arm-linux syscall arguments
- From: Yao Qi <qiyaoltc at gmail dot com>
- To: gdb-patches at sourceware dot org
- Date: Fri, 4 Mar 2016 16:26:12 +0000
- Subject: [PATCH] Process record: Fix arm-linux syscall arguments
- Authentication-results: sourceware.org; auth=none
Arguments are passed in r0-r6 on arm linux syscall (both EABI and OABI).
This patch is to set arm_linux_record_tdep.arg{1-7} to the right
register number.
This patch fixes the following test failures...
-FAIL: gdb.reverse/getresuid-reverse.exp: check ruid record
-FAIL: gdb.reverse/getresuid-reverse.exp: check rgid record
-FAIL: gdb.reverse/pipe-reverse.exp: check pipe record
-FAIL: gdb.reverse/readv-reverse.exp: check readv record
-FAIL: gdb.reverse/readv-reverse.exp: check readv record
-FAIL: gdb.reverse/readv-reverse.exp: check readv record
-FAIL: gdb.reverse/readv-reverse.exp: check readv record
-FAIL: gdb.reverse/waitpid-reverse.exp: check waitpid record
gdb:
2016-03-04 Yao Qi <yao.qi@linaro.org>
* arm-linux-tdep.c (arm_linux_init_abi): Fix
arm_linux_record_tdep.arg1, arm_linux_record_tdep.arg2 and
arm_linux_record_tdep.arg3. Set arm_linux_record_tdep.arg4,
arm_linux_record_tdep.arg5, arm_linux_record_tdep.arg6, and
arm_linux_record_tdep.arg7.
---
gdb/arm-linux-tdep.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c
index 8ef8edd..98a7a54 100644
--- a/gdb/arm-linux-tdep.c
+++ b/gdb/arm-linux-tdep.c
@@ -2001,10 +2001,13 @@ arm_linux_init_abi (struct gdbarch_info info,
arm_linux_record_tdep.fcntl_F_SETLK64 = 13;
arm_linux_record_tdep.fcntl_F_SETLKW64 = 14;
- arm_linux_record_tdep.arg1 = ARM_A1_REGNUM + 1;
- arm_linux_record_tdep.arg2 = ARM_A1_REGNUM + 2;
- arm_linux_record_tdep.arg3 = ARM_A1_REGNUM + 3;
+ arm_linux_record_tdep.arg1 = ARM_A1_REGNUM;
+ arm_linux_record_tdep.arg2 = ARM_A1_REGNUM + 1;
+ arm_linux_record_tdep.arg3 = ARM_A1_REGNUM + 2;
arm_linux_record_tdep.arg4 = ARM_A1_REGNUM + 3;
+ arm_linux_record_tdep.arg5 = ARM_A1_REGNUM + 4;
+ arm_linux_record_tdep.arg6 = ARM_A1_REGNUM + 5;
+ arm_linux_record_tdep.arg7 = ARM_A1_REGNUM + 6;
}
/* Provide a prototype to silence -Wmissing-prototypes. */
--
1.9.1