blob: ef9ff03592c3d34720142baa40191fd8e339a255 [file] [log] [blame]
# Verify the linker will correctly resolve
# ppc64le objects compiled with gcc's -fno-plt
# option. This inlines PLT calls, and generates
# additional reloc types which the internal linker
# should handle.
#
# Verifies golang.org/issue/53345
#
# Note, older gcc/clang may accept this option, but
# ignore it if binutils does not support the relocs.
[!compiler:gc] skip
[!cgo] skip
[!GOARCH:ppc64le] skip
env CGO_CFLAGS='-fno-plt -O2 -g'
go build -ldflags='-linkmode=internal'
exec ./noplttest
stdout helloworld
-- go.mod --
module noplttest
-- noplttest.go --
package main
/*
#include <stdio.h>
void helloworld(void) {
printf("helloworld\n");
fflush(stdout);
}
*/
import "C"
func main() {
C.helloworld()
}