1
0
mirror of https://github.com/golang/go synced 2024-11-14 09:10:27 -07:00
go/misc/cgo/testso/testdata/cgoso_unix.go
Clément Chigot 53c9c06811 misc/cgo: enable testso and testsovar on aix/ppc64
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>
2019-03-27 17:21:28 +00:00

21 lines
412 B
Go

// Copyright 2014 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 aix dragonfly freebsd linux netbsd solaris
package cgosotest
/*
extern int __thread tlsvar;
int *getTLS() { return &tlsvar; }
*/
import "C"
func init() {
if v := *C.getTLS(); v != 12345 {
println("got", v)
panic("BAD TLS value")
}
}