This patch to libgo renames the variable TestAddr6. The script libgo/testsuite/gotest picks up names that start with Test to find the test functions to run. On most systems it only looks for functions, but on PPC64, because of the function descriptors used for ELF ABI v1, it also looks for data symbols. That causes it to incorrectly think that TestAddr6, which is a variable, is a function. We should fix the script properly, but, for now, rename the variable. This fixes https://golang.org/issue/23623. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline.
Ian
Index: gcc/go/gofrontend/MERGE =================================================================== --- gcc/go/gofrontend/MERGE (revision 257217) +++ gcc/go/gofrontend/MERGE (working copy) @@ -1,4 +1,4 @@ -a347356d0f432cafb69f0cc5833d27663736a042 +973ae0a30c17e736f57377fa32371719b9ebccf6 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. Index: libgo/go/net/dnsclient_unix_test.go =================================================================== --- libgo/go/net/dnsclient_unix_test.go (revision 257217) +++ libgo/go/net/dnsclient_unix_test.go (working copy) @@ -27,7 +27,7 @@ var goResolver = Resolver{PreferGo: true const TestAddr uint32 = 0xc0000201 // Test address from 2001:db8::/32 block, reserved by RFC 3849 for documentation. -var TestAddr6 = [16]byte{0x20, 0x01, 0x0d, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1} +var VarTestAddr6 = [16]byte{0x20, 0x01, 0x0d, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1} var dnsTransportFallbackTests = []struct { server string @@ -506,7 +506,7 @@ func TestGoLookupIPWithResolverConfig(t Class: dnsClassINET, Rdlength: 16, }, - AAAA: TestAddr6, + AAAA: VarTestAddr6, }) } } @@ -1230,7 +1230,7 @@ func TestStrictErrorsLookupIP(t *testing Class: dnsClassINET, Rdlength: 16, }, - AAAA: TestAddr6, + AAAA: VarTestAddr6, }, } default: