github.com/notti/nocgo@v0.0.0-20190619201224-fc443047424c/internal/fakecgo/symbols_freebsd.go (about) 1 package fakecgo 2 3 import _ "unsafe" // for go:linkname 4 5 // on BSDs we need the following (this is from runtime/cgo/freebsd.go)... which is not allowed outside cgo/stdlib :( - no way around that 6 // Right now we can fix that with -gcflags=github.com/notti/nocgo/fakecgo=-std during build - but that doesn't seem to work with go test 7 8 //go:linkname _environ environ 9 //go:linkname _progname __progname 10 11 //go:cgo_export_dynamic environ 12 //go:cgo_export_dynamic __progname 13 14 var _environ uintptr 15 var _progname uintptr 16 17 // we have to use the 3 argument format here :( - 2 argument format is only allowed from inside cgo 18 19 //go:cgo_import_dynamic libc_pthread_attr_init_x pthread_attr_init "libpthread.so" 20 //go:cgo_import_dynamic libc_pthread_attr_getstacksize_x pthread_attr_getstacksize "libpthread.so" 21 //go:cgo_import_dynamic libc_pthread_attr_destroy_x pthread_attr_destroy "libpthread.so" 22 //go:cgo_import_dynamic libc_pthread_sigmask_x pthread_sigmask "libpthread.so" 23 //go:cgo_import_dynamic libc_pthread_create_x pthread_create "libpthread.so" 24 //go:cgo_import_dynamic libc_pthread_detach_x pthread_detach "libpthread.so" 25 //go:cgo_import_dynamic libc_setenv_x setenv "libc.so.7" 26 //go:cgo_import_dynamic libc_unsetenv_x unsetenv "libc.so.7" 27 //go:cgo_import_dynamic libc_malloc_x malloc "libc.so.7" 28 //go:cgo_import_dynamic libc_free_x free "libc.so.7" 29 //go:cgo_import_dynamic libc_nanosleep_x nanosleep "libc.so.7" 30 //go:cgo_import_dynamic libc_sigfillset_x sigfillset "libc.so.7" 31 //go:cgo_import_dynamic libc_abort_x abort "libc.so.7" 32 //go:cgo_import_dynamic libc_dprintf_x dprintf "libc.so.7" 33 //go:cgo_import_dynamic libc_strerror_x strerror "libc.so.7" 34 //go:cgo_import_dynamic _ _ "libpthread.so" 35 //go:cgo_import_dynamic _ _ "libc.so.7"