mirror of
https://github.com/golang/go
synced 2024-11-14 09:00:21 -07:00
53c9c06811
On AIX, shared objects must be wrapped under an archive file. For testso, creating libcgosotest with an extern symbol isn't AIX-friendly. By default, ld will block such behavior. Rather than forcing ld to work as on Linux and using the run-time linking, goCallback became a function pointer which is set by setCallback(). Updates #30565 Change-Id: I455ab32faddd41f1b0c84cc9e503788044ad49b2 Reviewed-on: https://go-review.googlesource.com/c/go/+/169020 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
33 lines
763 B
Go
33 lines
763 B
Go
// Copyright 2011 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 cgosotest
|
|
|
|
/*
|
|
// intentionally write the same LDFLAGS differently
|
|
// to test correct handling of LDFLAGS.
|
|
#cgo linux LDFLAGS: -L. -lcgosotest
|
|
#cgo dragonfly LDFLAGS: -L. -l cgosotest
|
|
#cgo freebsd LDFLAGS: -L. -l cgosotest
|
|
#cgo openbsd LDFLAGS: -L. -l cgosotest
|
|
#cgo solaris LDFLAGS: -L. -lcgosotest
|
|
#cgo netbsd LDFLAGS: -L. libcgosotest.so
|
|
#cgo darwin LDFLAGS: -L. libcgosotest.dylib
|
|
#cgo windows LDFLAGS: -L. libcgosotest.dll
|
|
#cgo aix LDFLAGS: -L. -l cgosotest
|
|
|
|
void init(void);
|
|
void sofunc(void);
|
|
*/
|
|
import "C"
|
|
|
|
func Test() {
|
|
C.init()
|
|
C.sofunc()
|
|
}
|
|
|
|
//export goCallback
|
|
func goCallback() {
|
|
}
|