From 6b94a855beef3a301509dfac6bf5446d1953524b Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Wed, 16 Mar 2016 14:55:56 +0000 Subject: [PATCH] Process record: Fix arm-linux syscall arguments 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-16 Yao Qi * 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/ChangeLog | 8 ++++++++ gdb/arm-linux-tdep.c | 9 ++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 63909dd81d3..83457dc2faa 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2016-03-16 Yao Qi + + * 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. + 2016-03-15 Keith Seitz PR breakpoints/18303 diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c index 79964bbf525..22f2acaeaf6 100644 --- a/gdb/arm-linux-tdep.c +++ b/gdb/arm-linux-tdep.c @@ -1646,10 +1646,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. */