summaryrefslogtreecommitdiff
path: root/defs.h
diff options
context:
space:
mode:
authorJames Hogan <james.hogan@imgtec.com>2013-02-22 14:44:10 +0000
committerDenys Vlasenko <vda.linux@googlemail.com>2013-03-05 12:57:06 +0100
commit5f999a869b681ff69cbb801225677fc125b6aefd (patch)
tree8b1f7995248bbb93d56564b1727fccb69d5f5b6a /defs.h
parent1694092d7d92953dbee0639ead0ae379f145c4dd (diff)
downloadstrace-5f999a869b681ff69cbb801225677fc125b6aefd.tar.gz
strace-5f999a869b681ff69cbb801225677fc125b6aefd.tar.bz2
strace-5f999a869b681ff69cbb801225677fc125b6aefd.tar.xz
Add support for Imagination Technologies Meta
Add support for Imagination Technologies Meta architecture (the architecture/ABI is usually referred to as metag in code). The Meta Linux kernel port is in the process of being upstreamed for v3.9 so it uses generic system call numbers. sys_lookup_dcookie writes a filename to buffer argument, so I've set TF flag. nfsservctl appears to be set to sys_ni_syscall in asm-generic/unistd.h so I've left it blank. truncate64/ftruncate64/pread64/pwrite64/readahead have unaligned 64bit args which are packed tightly on metag, so less arguments on metag. fchdir/llseek takes a file descriptor so s/TF/TD/ sync_file_range has 2 64bit args so uses 6 args, so s/4/6/ timerfd_create/msgget/msgctl/msgrcv/semget/segtimedop/semop/shmget/ shmctl/shmat/shmdt/recvmsg/migrate_pages have different number of args. oldgetrlimit is just getrlimit for metag. add TM flag to various memory syscalls. metag doesn't directly use sys_mmap_pgoff for mmap2. prlimit64/process_vm_readv/process_vm_writev take a pid so add TP flag. fanotify_init doesn't appear to take a file descriptor so remove TD. Add kcmp syscall. Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Christian Svensson <blue@cmd.nu> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'defs.h')
-rw-r--r--defs.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/defs.h b/defs.h
index e85154e..6bfa916 100644
--- a/defs.h
+++ b/defs.h
@@ -135,6 +135,7 @@ extern char *stpcpy(char *dst, const char *src);
|| defined(ARM) || defined(AARCH64) \
|| defined(AVR32) \
|| defined(OR1K) \
+ || defined(METAG) \
) && defined(__GLIBC__)
# include <sys/ptrace.h>
#else
@@ -571,7 +572,8 @@ extern void call_summary(FILE *);
|| defined(ARM) \
|| defined(SPARC) || defined(SPARC64) \
|| defined(TILE) \
- || defined(OR1K)
+ || defined(OR1K) \
+ || defined(METAG)
extern long get_regs_error;
# define clear_regs() (get_regs_error = -1)
extern void get_regs(pid_t pid);