summaryrefslogtreecommitdiff
path: root/include/leb128.h
diff options
context:
space:
mode:
authorAlan Hayward <alan.hayward@arm.com>2019-02-11 16:38:29 +0000
committerAlan Hayward <alan.hayward@arm.com>2019-02-11 16:49:24 +0000
commitea638c43121624bb4b09bb89b88314f99c85a48d (patch)
tree99b1fc939467411d9e1824c354d21b9d0c64c0cc /include/leb128.h
parent7115ab9c4b727a0c8fc1cdfe814b6e6032bb391d (diff)
downloadbinutils-gdb-ea638c43121624bb4b09bb89b88314f99c85a48d.tar.gz
AArch64: Detect exit from execve syscall
Checking the syscall number when stopped on entry/exit relies on checking the value in register X8. However, on exit from an execve syscall, the registers will all be cleared. Given this is only checked on syscall entry/exit, then a cleared register state either means execve exit or syscall 0 (io_setup) entry with invalid parameters and an invalid FR and LR, which in reality should never happen. Use this to detect execve exit. Move function to allow use of aarch64_sys_execve enum, and use newer regcache functions. Fixes gdb.base/catch-syscall.exp on Aarch64. gdb/ChangeLog: * aarch64-linux-tdep.c (aarch64_linux_get_syscall_number): Check for execve.
Diffstat (limited to 'include/leb128.h')
0 files changed, 0 insertions, 0 deletions