/* * Offsets into target signal frames for sh4 vdso. * * From linux-user/sh4/signal.c: * * struct target_sigcontext { * target_ulong oldmask; // 0 * target_ulong sc_gregs[16]; // 4 * target_ulong sc_pc; // 68 * target_ulong sc_pr; // 72 * target_ulong sc_sr; // 76 * target_ulong sc_gbr; // 80 * target_ulong sc_mach; // 84 * target_ulong sc_macl; // 88 * target_ulong sc_fpregs[16]; // 92 * target_ulong sc_xfpregs[16]; // 156 * unsigned int sc_fpscr; // 220 * unsigned int sc_fpul; // 224 * unsigned int sc_ownedfp; // 228 * }; // sizeof = 232 * * struct sigframe { sigcontext sc; ... } * struct rt_sigframe { siginfo info[128]; ucontext uc; } * ucontext = { flags[4], link[4], stack[12], sigcontext mcontext; ... } * => mcontext at rt_sigframe + 128 + 20 = rt_sigframe + 148 */ /* Offset of sigcontext within sigframe (CFA base for sigreturn). */ #define SIGFRAME_SC_OFFSET 0 /* Offset of tuc_mcontext within rt_sigframe (CFA base for rt_sigreturn). */ #define RT_SIGFRAME_SC_OFFSET 148 /* Offsets within struct sigcontext. */ #define SC_GREGS 4 #define SC_PC 68 #define SC_PR 72 #define SC_SR 76 #define SC_GBR 80 #define SC_MACH 84 #define SC_MACL 88 #define SC_FPREGS 92 #define SC_XFPREGS 156 #define SC_FPSCR 220 #define SC_FPUL 224