Process record: Fix arm-linux syscall arguments
authorYao Qi <yao.qi@linaro.org>
Wed, 16 Mar 2016 14:55:56 +0000 (14:55 +0000)
committerYao Qi <yao.qi@linaro.org>
Wed, 16 Mar 2016 14:55:56 +0000 (14:55 +0000)
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  <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/ChangeLog
gdb/arm-linux-tdep.c

index 63909dd..83457dc 100644 (file)
@@ -1,3 +1,11 @@
+2016-03-16  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.
+
 2016-03-15  Keith Seitz  <keiths@redhat.com>
 
        PR breakpoints/18303
index 79964bb..22f2aca 100644 (file)
@@ -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.  */