aboutsummaryrefslogtreecommitdiffstats
path: root/arch-x86-64.h
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2020-06-02 04:20:21 +0200
committerMattias Andrée <maandree@kth.se>2020-06-02 04:20:21 +0200
commitf84d2aebd4d295f08c50b88ed4452f6c9b6605e6 (patch)
treea6a731ac9a99f67021364091426cd58a6c7b0886 /arch-x86-64.h
parentFix exit status regression ... now I can go back to sleep again (diff)
downloadsctrace-f84d2aebd4d295f08c50b88ed4452f6c9b6605e6.tar.gz
sctrace-f84d2aebd4d295f08c50b88ed4452f6c9b6605e6.tar.bz2
sctrace-f84d2aebd4d295f08c50b88ed4452f6c9b6605e6.tar.xz
Reject i386 and x32 applications (not yet supported)
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
-rw-r--r--arch-x86-64.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/arch-x86-64.h b/arch-x86-64.h
new file mode 100644
index 0000000..044b73f
--- /dev/null
+++ b/arch-x86-64.h
@@ -0,0 +1,29 @@
+struct i386_user_regs_struct
+{
+ uint32_t ebx;
+ uint32_t ecx;
+ uint32_t edx;
+ uint32_t esi;
+ uint32_t edi;
+ uint32_t ebp;
+ uint32_t eax;
+ uint32_t xds;
+ uint32_t xes;
+ uint32_t xfs;
+ uint32_t xgs;
+ uint32_t orig_eax;
+ uint32_t eip;
+ uint32_t xcs;
+ uint32_t eflags;
+ uint32_t esp;
+ uint32_t xss;
+};
+
+#define SYSCALL_NUM_REG orig_rax
+#define SYSCALL_ARG1_REG rdi
+#define SYSCALL_ARG2_REG rsi
+#define SYSCALL_ARG3_REG rdx
+#define SYSCALL_ARG4_REG r10
+#define SYSCALL_ARG5_REG r8
+#define SYSCALL_ARG6_REG r9
+#define SYSCALL_RET_REG rax