Gentoo Archives: gentoo-commits

From: Mike Frysinger <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/sandbox:master commit in: libsandbox/trace/linux/
Date: Sun, 20 Dec 2015 09:49:21
Message-Id: 1450604927.3ae4d849ae4aaaf469bc9a58b01d8a2b2931c14a.vapier@gentoo
1 commit: 3ae4d849ae4aaaf469bc9a58b01d8a2b2931c14a
2 Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
3 AuthorDate: Sun Dec 20 09:48:47 2015 +0000
4 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
5 CommitDate: Sun Dec 20 09:48:47 2015 +0000
6 URL: https://gitweb.gentoo.org/proj/sandbox.git/commit/?id=3ae4d849
7
8 libsandbox: new arm ptrace port
9
10 Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org>
11
12 libsandbox/trace/linux/arch.c | 2 ++
13 libsandbox/trace/linux/arm.c | 22 ++++++++++++++++++++++
14 2 files changed, 24 insertions(+)
15
16 diff --git a/libsandbox/trace/linux/arch.c b/libsandbox/trace/linux/arch.c
17 index 53461d6..83b6977 100644
18 --- a/libsandbox/trace/linux/arch.c
19 +++ b/libsandbox/trace/linux/arch.c
20 @@ -7,6 +7,8 @@
21 #if !defined(HAVE_PTRACE) || !defined(HAVE_SYS_PTRACE_H) || \
22 !defined(HAVE_SYS_USER_H) || !defined(PTRACE_SETOPTIONS)
23 # define SB_NO_TRACE_ARCH
24 +#elif defined(__arm__)
25 +# include "arm.c"
26 #elif defined(__bfin__)
27 # include "bfin.c"
28 #elif defined(__hppa__)
29
30 diff --git a/libsandbox/trace/linux/arm.c b/libsandbox/trace/linux/arm.c
31 new file mode 100644
32 index 0000000..fbbf7cb
33 --- /dev/null
34 +++ b/libsandbox/trace/linux/arm.c
35 @@ -0,0 +1,22 @@
36 +#define trace_reg_ret ARM_r0
37 +
38 +static int trace_get_sysnum(void *vregs)
39 +{
40 + trace_regs *regs = vregs;
41 + return regs->ARM_r7;
42 +}
43 +static void trace_set_sysnum(void *vregs, long nr)
44 +{
45 + trace_regs *regs = vregs;
46 + regs->ARM_r0 = nr;
47 + trace_set_regs(regs);
48 +}
49 +
50 +static unsigned long trace_arg(void *vregs, int num)
51 +{
52 + trace_regs *regs = vregs;
53 + if (num < 7)
54 + return regs->uregs[num - 1];
55 + else
56 + return -1;
57 +}