Source File
signal_darwin_arm64.go
Belonging Package
runtime
// Copyright 2015 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package runtimeimporttype sigctxt struct {info *siginfoctxt unsafe.Pointer}//go:nosplit//go:nowritebarrierrecfunc ( *sigctxt) () *regs64 { return &(*ucontext)(.ctxt).uc_mcontext.ss }func ( *sigctxt) () uint64 { return .regs().x[0] }func ( *sigctxt) () uint64 { return .regs().x[1] }func ( *sigctxt) () uint64 { return .regs().x[2] }func ( *sigctxt) () uint64 { return .regs().x[3] }func ( *sigctxt) () uint64 { return .regs().x[4] }func ( *sigctxt) () uint64 { return .regs().x[5] }func ( *sigctxt) () uint64 { return .regs().x[6] }func ( *sigctxt) () uint64 { return .regs().x[7] }func ( *sigctxt) () uint64 { return .regs().x[8] }func ( *sigctxt) () uint64 { return .regs().x[9] }func ( *sigctxt) () uint64 { return .regs().x[10] }func ( *sigctxt) () uint64 { return .regs().x[11] }func ( *sigctxt) () uint64 { return .regs().x[12] }func ( *sigctxt) () uint64 { return .regs().x[13] }func ( *sigctxt) () uint64 { return .regs().x[14] }func ( *sigctxt) () uint64 { return .regs().x[15] }func ( *sigctxt) () uint64 { return .regs().x[16] }func ( *sigctxt) () uint64 { return .regs().x[17] }func ( *sigctxt) () uint64 { return .regs().x[18] }func ( *sigctxt) () uint64 { return .regs().x[19] }func ( *sigctxt) () uint64 { return .regs().x[20] }func ( *sigctxt) () uint64 { return .regs().x[21] }func ( *sigctxt) () uint64 { return .regs().x[22] }func ( *sigctxt) () uint64 { return .regs().x[23] }func ( *sigctxt) () uint64 { return .regs().x[24] }func ( *sigctxt) () uint64 { return .regs().x[25] }func ( *sigctxt) () uint64 { return .regs().x[26] }func ( *sigctxt) () uint64 { return .regs().x[27] }func ( *sigctxt) () uint64 { return .regs().x[28] }func ( *sigctxt) () uint64 { return .regs().fp }func ( *sigctxt) () uint64 { return .regs().lr }func ( *sigctxt) () uint64 { return .regs().sp }//go:nosplit//go:nowritebarrierrecfunc ( *sigctxt) () uint64 { return .regs().pc }func ( *sigctxt) () uintptr { return uintptr(unsafe.Pointer(.info.si_addr)) }func ( *sigctxt) () uint64 { return uint64(.info.si_code) }func ( *sigctxt) () uint64 { return uint64(uintptr(unsafe.Pointer(.info.si_addr))) }func ( *sigctxt) ( uint64) { .regs().pc = }func ( *sigctxt) ( uint64) { .regs().sp = }func ( *sigctxt) ( uint64) { .regs().lr = }func ( *sigctxt) ( uint64) { .regs().x[28] = }func ( *sigctxt) ( uint64) { .info.si_code = int32() }func ( *sigctxt) ( uint64) {.info.si_addr = (*byte)(unsafe.Pointer(uintptr()))}//go:nosplitfunc ( *sigctxt) ( uint32) {switch {case _SIGTRAP:// OS X sets c.sigcode() == TRAP_BRKPT unconditionally for all SIGTRAPs,// leaving no way to distinguish a breakpoint-induced SIGTRAP// from an asynchronous signal SIGTRAP.// They all look breakpoint-induced by default.// Try looking at the code to see if it's a breakpoint.// The assumption is that we're very unlikely to get an// asynchronous SIGTRAP at just the moment that the// PC started to point at unmapped memory.:= uintptr(.pc())// OS X will leave the pc just after the instruction.:= (*uint32)(unsafe.Pointer( - 4))if * != 0xd4200000 {// SIGTRAP on something other than breakpoint..set_sigcode(_SI_USER)}}}
The pages are generated with Golds v0.2.8-preview. (GOOS=darwin GOARCH=arm64)