49af970481ec7c8a5e54213a1c11e47913d7604f
[platform/upstream/libunwind.git] / src / mips / offsets.h
1 /* Linux-specific definitions: */
2
3 /* Define various structure offsets to simplify cross-compilation.  */
4
5 /* FIXME: Currently these are only used in getcontext.S, which is only used
6    for a local unwinder, so we can use the compile-time ABI.  At a later date
7    we will want all three here, to use for signal handlers.  Also, because
8    of the three ABIs, gen-offsets.c can not quite generate this file.  */
9
10 /* Offsets for MIPS Linux "ucontext_t":  */
11
12 #if _MIPS_SIM == _ABIO32
13
14 # define LINUX_UC_FLAGS_OFF     0x0
15 # define LINUX_UC_LINK_OFF      0x4
16 # define LINUX_UC_STACK_OFF     0x8
17 # define LINUX_UC_MCONTEXT_OFF  0x18
18 # define LINUX_UC_SIGMASK_OFF   0x268
19 # define LINUX_UC_MCONTEXT_PC   0x20
20 # define LINUX_UC_MCONTEXT_GREGS        0x28
21
22 #elif _MIPS_SIM == _ABIN32
23
24 # define LINUX_UC_FLAGS_OFF     0x0
25 # define LINUX_UC_LINK_OFF      0x4
26 # define LINUX_UC_STACK_OFF     0x8
27 # define LINUX_UC_MCONTEXT_OFF  0x18
28 # define LINUX_UC_SIGMASK_OFF   0x270
29 # define LINUX_UC_MCONTEXT_PC   0x258
30 # define LINUX_UC_MCONTEXT_GREGS        0x18
31
32 #elif _MIPS_SIM == _ABI64
33
34 # define LINUX_UC_FLAGS_OFF     0x0
35 # define LINUX_UC_LINK_OFF      0x8
36 # define LINUX_UC_STACK_OFF     0x10
37 # define LINUX_UC_MCONTEXT_OFF  0x28
38 # define LINUX_UC_SIGMASK_OFF   0x280
39 # define LINUX_UC_MCONTEXT_PC   0x268
40 # define LINUX_UC_MCONTEXT_GREGS        0x28
41
42 #endif