summaryrefslogtreecommitdiff
path: root/defs.h
diff options
context:
space:
mode:
authorSteve McIntyre <steve.mcintyre@linaro.org>2012-10-24 17:58:16 +0100
committerDmitry V. Levin <ldv@altlinux.org>2012-10-26 23:32:15 +0000
commitd8d3bd3709eb52581c8ce86cec5a7a9c43c3c5b9 (patch)
tree9a739122740d7bc403457a43f434011921f12ea7 /defs.h
parentd6dbd998b723087f933f88a9e10843c6a7682fa2 (diff)
downloadstrace-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.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/defs.h b/defs.h
index d366b21..11e26bb 100644
--- a/defs.h
+++ b/defs.h
@@ -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.)
*/