From 1f65c399befa37e6727bb1a1a40aca65c4b6bcc4 Mon Sep 17 00:00:00 2001
From: Cherry Mui <cherryyz@google.com>
Date: Thu, 3 Nov 2022 12:21:58 -0400
Subject: [PATCH] cmd/objdump: skip PIE test when cgo is disabled and PIE needs
 external linking

On some platforms, building PIE needs external linking, which
cannot run if cgo is not available.

Change-Id: I6d504aed0f0442cda0355d0beac606ad365e2046
Reviewed-on: https://go-review.googlesource.com/c/go/+/447616
Reviewed-by: Than McIntosh <thanm@google.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
---
 src/cmd/objdump/objdump_test.go | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/cmd/objdump/objdump_test.go b/src/cmd/objdump/objdump_test.go
index fa6a1b9a68c..b747d0d542e 100644
--- a/src/cmd/objdump/objdump_test.go
+++ b/src/cmd/objdump/objdump_test.go
@@ -290,6 +290,10 @@ func TestDisasmPIE(t *testing.T) {
 	if !platform.BuildModeSupported("gc", "pie", runtime.GOOS, runtime.GOARCH) {
 		t.Skipf("skipping on %s/%s, PIE buildmode not supported", runtime.GOOS, runtime.GOARCH)
 	}
+	if !platform.InternalLinkPIESupported(runtime.GOOS, runtime.GOARCH) {
+		// require cgo on platforms that PIE needs external linking
+		testenv.MustHaveCGO(t)
+	}
 	t.Parallel()
 	testDisasm(t, "fmthello.go", false, false, "-buildmode=pie")
 }
-- 
GitLab