blob: 3985ab670aed15fc876de4d67075e2d6f0ef3965 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#if !defined(__OpenBSD__)
# define HAVE_SYS_UCONTEXT_H
#else
# define HAVE_SIGNAL_H
#endif
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
#ifdef __i386__
#define PC_FROM_UCONTEXT uc_mcontext.mc_eip
#else
#define PC_FROM_UCONTEXT uc_mcontext.mc_rip
#endif
#elif defined(__OpenBSD__)
#define PC_FROM_UCONTEXT sc_rip
#elif defined( __APPLE__)
#if ((ULONG_MAX) == (UINT_MAX))
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__eip
#else
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__rip
#endif
#elif defined(__arm__)
#define PC_FROM_UCONTEXT uc_mcontext.arm_ip
#elif defined(__linux) && defined(__i386) && defined(__GNUC__)
#define PC_FROM_UCONTEXT uc_mcontext.gregs[REG_EIP]
#elif defined(__s390x__)
#define PC_FROM_UCONTEXT uc_mcontext.psw.addr
#else
/* linux, gnuc */
#define PC_FROM_UCONTEXT uc_mcontext.gregs[REG_RIP]
#endif
|