[gdb/tdep] Handle sycall statx for arm-linux

When running test-case gdb.reverse/fstatat-reverse.exp on arm-linux, I run
into:
...
(gdb) continue^M
Continuing.^M
Process record and replay target doesn't support syscall number 397^M
Process record does not support instruction 0xdf00 at address 0xf7ebf774.^M
Process record: failed to record execution log.^M
^M
Program stopped.^M
0xf7ebf774 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6^M
(gdb) FAIL: gdb.reverse/fstatat-reverse.exp: continue to breakpoint: marker2
...

Syscall number 397 stands for statx on arm-linux.

Fix this by handling 397 in arm_canonicalize_syscall.

Tested on arm-linux.

Reviewed-By: Guinevere Larsen <guinevere@redhat.com>
Approved-By: Luis Machado <luis.machado@arm.com>
This commit is contained in:
Tom de Vries
2024-11-13 19:37:04 +01:00
parent 5d9887ffa2
commit 76b9b6eb9c

View File

@@ -1645,6 +1645,7 @@ arm_canonicalize_syscall (int syscall)
case 379: return gdb_sys_finit_module;
*/
case 384: return gdb_sys_getrandom;
case 397: return gdb_sys_statx;
case 983041: /* ARM_breakpoint */ return gdb_sys_no_syscall;
case 983042: /* ARM_cacheflush */ return gdb_sys_no_syscall;
case 983043: /* ARM_usr26 */ return gdb_sys_no_syscall;