github.com/varialus/godfly@v0.0.0-20130904042352-1934f9f095ab/src/pkg/runtime/signal_openbsd_386.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*)(ctxt))
     6  
     7  #define SIG_EAX(info, ctxt) (SIG_REGS(ctxt).sc_eax)
     8  #define SIG_EBX(info, ctxt) (SIG_REGS(ctxt).sc_ebx)
     9  #define SIG_ECX(info, ctxt) (SIG_REGS(ctxt).sc_ecx)
    10  #define SIG_EDX(info, ctxt) (SIG_REGS(ctxt).sc_edx)
    11  #define SIG_EDI(info, ctxt) (SIG_REGS(ctxt).sc_edi)
    12  #define SIG_ESI(info, ctxt) (SIG_REGS(ctxt).sc_esi)
    13  #define SIG_EBP(info, ctxt) (SIG_REGS(ctxt).sc_ebp)
    14  #define SIG_ESP(info, ctxt) (SIG_REGS(ctxt).sc_esp)
    15  #define SIG_EIP(info, ctxt) (SIG_REGS(ctxt).sc_eip)
    16  #define SIG_EFLAGS(info, ctxt) (SIG_REGS(ctxt).sc_eflags)
    17  
    18  #define SIG_CS(info, ctxt) (SIG_REGS(ctxt).sc_cs)
    19  #define SIG_FS(info, ctxt) (SIG_REGS(ctxt).sc_fs)
    20  #define SIG_GS(info, ctxt) (SIG_REGS(ctxt).sc_gs)
    21  
    22  #define SIG_CODE0(info, ctxt) ((info)->si_code)
    23  #define SIG_CODE1(info, ctxt) (*(uintptr*)((byte*)info + 12))