aboutsummaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorCherry Mui <cherryyz@google.com>2023-04-26 17:29:33 -0400
committerCherry Mui <cherryyz@google.com>2023-04-28 16:02:17 +0000
commit6c8ea391cf7f84f6861e26f27eef3bd8938cfb98 (patch)
treec02bda3b894649eaeda1f7cde2485731d73e5286 /misc
parentff059add10d71fe13239cf893c0cca113de1fc21 (diff)
downloadgo-6c8ea391cf7f84f6861e26f27eef3bd8938cfb98.tar.gz
go-6c8ea391cf7f84f6861e26f27eef3bd8938cfb98.zip
cmd/link: write buildid to plugin
Currently, in plugin build mode we don't write the build ID. This is disabled in CL 29394 since plugin is supported on Darwin. Maybe it caused some problem with the Darwin dynamic linker. But it seems no problem currently. Enabled it. Fixes #59845. Change-Id: I60589ffc7937e4d30055960d391cac1e7cd0cd42 Reviewed-on: https://go-review.googlesource.com/c/go/+/489457 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com>
Diffstat (limited to 'misc')
-rw-r--r--misc/cgo/testplugin/plugin_test.go16
1 files changed, 14 insertions, 2 deletions
diff --git a/misc/cgo/testplugin/plugin_test.go b/misc/cgo/testplugin/plugin_test.go
index 285681018a..8960694351 100644
--- a/misc/cgo/testplugin/plugin_test.go
+++ b/misc/cgo/testplugin/plugin_test.go
@@ -116,11 +116,15 @@ func testMain(m *testing.M) int {
return m.Run()
}
-func goCmd(t *testing.T, op string, args ...string) {
+func goCmd(t *testing.T, op string, args ...string) string {
if t != nil {
t.Helper()
}
- run(t, filepath.Join(goroot, "bin", "go"), append([]string{op, "-gcflags", gcflags}, args...)...)
+ var flags []string
+ if op != "tool" {
+ flags = []string{"-gcflags", gcflags}
+ }
+ return run(t, filepath.Join(goroot, "bin", "go"), append(append([]string{op}, flags...), args...)...)
}
// escape converts a string to something suitable for a shell command line.
@@ -190,6 +194,14 @@ func TestDWARFSections(t *testing.T) {
goCmd(t, "run", "./checkdwarf/main.go", "./host.exe", "main.main")
}
+func TestBuildID(t *testing.T) {
+ // check that plugin has build ID.
+ b := goCmd(t, "tool", "buildid", "plugin1.so")
+ if len(b) == 0 {
+ t.Errorf("build id not found")
+ }
+}
+
func TestRunHost(t *testing.T) {
run(t, "./host.exe")
}