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>
--- /dev/null
+// 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") }
// 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
// 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.