github.com/hongwozai/go-src-1.4.3@v0.0.0-20191127132709-dc3fce3dbccb/src/runtime/signal_linux_arm.h (about)

     1  // Copyright 2013 The Go Authors.  All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  #define SIG_REGS(ctxt) (*((Sigcontext*)&((Ucontext*)(ctxt))->uc_mcontext))
     6  
     7  #define SIG_R0(info, ctxt) (SIG_REGS(ctxt).arm_r0)
     8  #define SIG_R1(info, ctxt) (SIG_REGS(ctxt).arm_r1)
     9  #define SIG_R2(info, ctxt) (SIG_REGS(ctxt).arm_r2)
    10  #define SIG_R3(info, ctxt) (SIG_REGS(ctxt).arm_r3)
    11  #define SIG_R4(info, ctxt) (SIG_REGS(ctxt).arm_r4)
    12  #define SIG_R5(info, ctxt) (SIG_REGS(ctxt).arm_r5)
    13  #define SIG_R6(info, ctxt) (SIG_REGS(ctxt).arm_r6)
    14  #define SIG_R7(info, ctxt) (SIG_REGS(ctxt).arm_r7)
    15  #define SIG_R8(info, ctxt) (SIG_REGS(ctxt).arm_r8)
    16  #define SIG_R9(info, ctxt) (SIG_REGS(ctxt).arm_r9)
    17  #define SIG_R10(info, ctxt) (SIG_REGS(ctxt).arm_r10)
    18  #define SIG_FP(info, ctxt) (SIG_REGS(ctxt).arm_fp)
    19  #define SIG_IP(info, ctxt) (SIG_REGS(ctxt).arm_ip)
    20  #define SIG_SP(info, ctxt) (SIG_REGS(ctxt).arm_sp)
    21  #define SIG_LR(info, ctxt) (SIG_REGS(ctxt).arm_lr)
    22  #define SIG_PC(info, ctxt) (SIG_REGS(ctxt).arm_pc)
    23  #define SIG_CPSR(info, ctxt) (SIG_REGS(ctxt).arm_cpsr)
    24  #define SIG_FAULT(info, ctxt) (SIG_REGS(ctxt).fault_address)
    25  #define SIG_TRAP(info, ctxt) (SIG_REGS(ctxt).trap_no)
    26  #define SIG_ERROR(info, ctxt) (SIG_REGS(ctxt).error_code)
    27  #define SIG_OLDMASK(info, ctxt) (SIG_REGS(ctxt).oldmask)
    28  #define SIG_CODE0(info, ctxt) ((uintptr)(info)->si_code)