Lines 10-16
Link Here
|
10 |
#include "sb_nr.h" |
10 |
#include "sb_nr.h" |
11 |
|
11 |
|
12 |
static long do_peekdata(long offset); |
12 |
static long do_peekdata(long offset); |
13 |
static long _do_ptrace(enum __ptrace_request request, const char *srequest, void *addr, void *data); |
13 |
/* Note on _do_ptrace argument types: |
|
|
14 |
glibc defines ptrace as: |
15 |
long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data); |
16 |
musl defines ptrace as: |
17 |
long ptrace(int, ...); |
18 |
|
19 |
Let's clobber to 'int' lowest common denominator. |
20 |
*/ |
21 |
typedef int sb_ptrace_req_t; |
22 |
static long _do_ptrace(sb_ptrace_req_t request, const char *srequest, void *addr, void *data); |
14 |
#define do_ptrace(request, addr, data) _do_ptrace(request, #request, addr, data) |
23 |
#define do_ptrace(request, addr, data) _do_ptrace(request, #request, addr, data) |
15 |
#define _trace_possible(data) true |
24 |
#define _trace_possible(data) true |
16 |
|
25 |
|
Lines 44-50
static void trace_exit(int status)
Link Here
|
44 |
_exit(status); |
53 |
_exit(status); |
45 |
} |
54 |
} |
46 |
|
55 |
|
47 |
static long _do_ptrace(enum __ptrace_request request, const char *srequest, void *addr, void *data) |
56 |
static long _do_ptrace(sb_ptrace_req_t request, const char *srequest, void *addr, void *data) |
48 |
{ |
57 |
{ |
49 |
long ret; |
58 |
long ret; |
50 |
try_again: |
59 |
try_again: |
51 |
- |
|
|