diff options
author | Steve McIntyre <steve.mcintyre@linaro.org> | 2012-10-24 17:58:16 +0100 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2012-10-26 23:32:15 +0000 |
commit | d8d3bd3709eb52581c8ce86cec5a7a9c43c3c5b9 (patch) | |
tree | 9a739122740d7bc403457a43f434011921f12ea7 /defs.h | |
parent | d6dbd998b723087f933f88a9e10843c6a7682fa2 (diff) | |
download | strace-d8d3bd3709eb52581c8ce86cec5a7a9c43c3c5b9.tar.gz strace-d8d3bd3709eb52581c8ce86cec5a7a9c43c3c5b9.tar.bz2 strace-d8d3bd3709eb52581c8ce86cec5a7a9c43c3c5b9.tar.xz |
Add AArch64 support to strace
AArch64 has been included in linux from 3.7 onwards.
Add support for AArch64 in strace, tested on linux in a simulator.
* configure.ac: Support AArch64.
* defs.h [AARCH64]: Include <sys/ptrace.h>, define TCB_WAITEXECVE.
* ipc.c (indirect_ipccall): Support AArch64.
* process.c (struct_user_offsets): Likewise.
* syscall.c [AARCH64]: Include <asm/ptrace.h>, <sys/uio.h>, and
<elf.h>. Define struct user_pt_regs regs.
(get_scno, get_syscall_result): Support AArch64 using PTRACE_GETREGSET.
(get_syscall_args, get_error): Support AArch64.
* linux/aarch64/ioctlent.h.in: New file.
* linux/aarch64/syscallent.h: New file, based on linux 3.7 version of
asm-generic/unistd.h.
Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org>
Diffstat (limited to 'defs.h')
-rw-r--r-- | defs.h | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -134,7 +134,7 @@ extern char *stpcpy(char *dst, const char *src); # define LINUX_MIPS64 #endif -#if (defined(LINUXSPARC) || defined(X86_64) || defined(ARM) || defined(AVR32)) && defined(__GLIBC__) +#if (defined(LINUXSPARC) || defined(X86_64) || defined(ARM) || defined(AARCH64) || defined(AVR32)) && defined(__GLIBC__) # include <sys/ptrace.h> #else /* Work around awkward prototype in ptrace.h. */ @@ -389,7 +389,8 @@ struct tcb { #if defined(ALPHA) || defined(AVR32) || defined(SPARC) || defined(SPARC64) \ || defined(POWERPC) || defined(IA64) || defined(HPPA) \ || defined(SH) || defined(SH64) || defined(S390) || defined(S390X) \ - || defined(ARM) || defined(MIPS) || defined(BFIN) || defined(TILE) + || defined(ARM) || defined(AARCH64) || defined(MIPS) || defined(BFIN) \ + || defined(TILE) /* This tracee has entered into execve syscall. Expect post-execve SIGTRAP * to happen. (When it is detected, tracee is continued and this bit is cleared.) */ |