...
Run Format

Source file src/runtime/cgo/signal_darwin_armx.go

Documentation: runtime/cgo

  // 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.
  
  // +build darwin
  // +build arm arm64
  
  package cgo
  
  import "unsafe"
  
  //go:cgo_import_static x_cgo_panicmem
  //go:linkname x_cgo_panicmem x_cgo_panicmem
  var x_cgo_panicmem uintptr
  
  // use a pointer to avoid relocation of external symbol in __TEXT
  // make linker happy
  var _cgo_panicmem = &x_cgo_panicmem
  
  // TODO(crawshaw): move this into x_cgo_init, it will not run until
  // runtime has finished loading, which may be after its use.
  func init() {
  	*_cgo_panicmem = funcPC(panicmem)
  }
  
  func funcPC(f interface{}) uintptr {
  	var ptrSize = unsafe.Sizeof(uintptr(0))
  	return **(**uintptr)(add(unsafe.Pointer(&f), ptrSize))
  }
  
  func add(p unsafe.Pointer, x uintptr) unsafe.Pointer {
  	return unsafe.Pointer(uintptr(p) + x)
  }
  
  func panicmem()
  

View as plain text