]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/cgo/internal/test: disable issue8694 and issue9510 on ppc64x with internal linking
authorPaul E. Murphy <murp@ibm.com>
Wed, 14 Feb 2024 22:42:27 +0000 (16:42 -0600)
committerPaul Murphy <murp@ibm.com>
Tue, 20 Feb 2024 15:35:35 +0000 (15:35 +0000)
These link in libgcc functions which require more advanced handling
of small toc relocations. The internal linker is not capable of
placing these functions to ensure they are always resolvable.

Change-Id: Idd4a0264bfbbd7016472120dc4bee84814e8c2eb
Reviewed-on: https://go-review.googlesource.com/c/go/+/564235
Run-TryBot: Paul Murphy <murp@ibm.com>
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>

src/cmd/cgo/internal/test/cgo_stubs_ppc64x_internal_linking_test.go [new file with mode: 0644]
src/cmd/cgo/internal/test/issue8694.go
src/cmd/cgo/internal/test/issue9510.go

diff --git a/src/cmd/cgo/internal/test/cgo_stubs_ppc64x_internal_linking_test.go b/src/cmd/cgo/internal/test/cgo_stubs_ppc64x_internal_linking_test.go
new file mode 100644 (file)
index 0000000..015a62c
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2024 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.
+
+//go:build (ppc64 || ppc64le) && internal
+
+package cgotest
+
+import "testing"
+
+// If gcc is used, and linking internally, __mulsc3 and __muldc3
+// will be linked in from libgcc which make several R_PPC64_TOC16_DS
+// relocations which may not be resolvable with the internal linker.
+func test8694(t *testing.T) { t.Skip("not supported on ppc64/ppc64le with internal linking") }
+func test9510(t *testing.T) { t.Skip("not supported on ppc64/ppc64le with internal linking") }
index 3b8f065d278d8edf067af2dfdc7fe0a8d0d2c064..117547cfa4c270da2651dde675de21675b250f6c 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-//go:build !android
+//go:build !android && !((ppc64 || ppc64le) && internal)
 
 package cgotest
 
index 7f0aff4fe4c8f34621eff02e14807c807683c40d..c000a047f6d6459a99ea7403edbcfed2676dabe7 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-//go:build cgo
+//go:build cgo && !((ppc64 || ppc64le) && internal)
 
 // Test that we can link together two different cgo packages that both
 // use the same libgcc function.