Source file src/runtime/cgo/cgo.go
1 // Copyright 2010 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 /* 6 Package cgo contains runtime support for code generated 7 by the cgo tool. See the documentation for the cgo command 8 for details on using cgo. 9 */ 10 package cgo 11 12 /* 13 14 #cgo darwin,!arm64 LDFLAGS: -lpthread 15 #cgo darwin,arm64 LDFLAGS: -framework CoreFoundation 16 #cgo dragonfly LDFLAGS: -lpthread 17 #cgo freebsd LDFLAGS: -lpthread 18 #cgo android LDFLAGS: -llog 19 #cgo !android,linux LDFLAGS: -lpthread 20 #cgo netbsd LDFLAGS: -lpthread 21 #cgo openbsd LDFLAGS: -lpthread 22 #cgo aix LDFLAGS: -Wl,-berok 23 #cgo solaris LDFLAGS: -lxnet 24 #cgo solaris LDFLAGS: -lsocket 25 26 // Use -fno-stack-protector to avoid problems locating the 27 // proper support functions. See issues #52919, #54313, #58385. 28 #cgo CFLAGS: -Wall -Werror -fno-stack-protector 29 30 #cgo solaris CPPFLAGS: -D_POSIX_PTHREAD_SEMANTICS 31 32 */ 33 import "C" 34 35 import "runtime/internal/sys" 36 37 // Incomplete is used specifically for the semantics of incomplete C types. 38 type Incomplete struct { 39 _ sys.NotInHeap 40 } 41