1
0
mirror of https://github.com/golang/go synced 2024-11-19 00:34:40 -07:00
go/misc/cgo/testso/testdata/cgoso.c
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

15 lines
325 B
C

// Copyright 2013 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.
#include "_cgo_export.h"
#if defined(WIN32) || defined(_AIX)
extern void setCallback(void *);
void init() {
setCallback(goCallback);
}
#else
void init() {}
#endif