// 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 // 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() { x_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()