45 lines
2 KiB
Diff
45 lines
2 KiB
Diff
From d8dea926a56c841cba31d13d51f692817157eeb4 Mon Sep 17 00:00:00 2001
|
|
From: Derek Parker <deparker@redhat.com>
|
|
Date: Wed, 20 Feb 2019 13:26:18 -0800
|
|
Subject: [PATCH] pkg/proc: Disable default compression on DWZ test
|
|
|
|
When compression is applied by default running the DWZ tool on the
|
|
resulting binary will crash.
|
|
|
|
The actual default compression code will look and see if compression
|
|
makes any difference and if so replace the normal `.debug_*` section
|
|
with `.zdebug_*`. This is why it may not have been hit before. On one of
|
|
my workstations I build with 1.12rc1 and no compression happens, but on
|
|
a Fedora VM I build and the binary results in compressed DWARF sections.
|
|
|
|
Adding this flag will make this test more consistent overall.
|
|
---
|
|
pkg/proc/test/support.go | 8 +++++++-
|
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/pkg/proc/test/support.go b/pkg/proc/test/support.go
|
|
index 9e09da86..107fc695 100644
|
|
--- a/pkg/proc/test/support.go
|
|
+++ b/pkg/proc/test/support.go
|
|
@@ -103,7 +103,8 @@ func BuildFixture(name string, flags BuildFlags) Fixture {
|
|
tmpfile := filepath.Join(os.TempDir(), fmt.Sprintf("%s.%s", name, hex.EncodeToString(r)))
|
|
|
|
buildFlags := []string{"build"}
|
|
- if ver, _ := goversion.Parse(runtime.Version()); runtime.GOOS == "windows" && ver.Major > 0 && !ver.AfterOrEqual(goversion.GoVersion{1, 9, -1, 0, 0, ""}) {
|
|
+ var ver goversion.GoVersion
|
|
+ if ver, _ = goversion.Parse(runtime.Version()); runtime.GOOS == "windows" && ver.Major > 0 && !ver.AfterOrEqual(goversion.GoVersion{1, 9, -1, 0, 0, ""}) {
|
|
// Work-around for https://github.com/golang/go/issues/13154
|
|
buildFlags = append(buildFlags, "-ldflags=-linkmode internal")
|
|
}
|
|
@@ -125,6 +126,11 @@ func BuildFixture(name string, flags BuildFlags) Fixture {
|
|
if flags&BuildModePIE != 0 {
|
|
buildFlags = append(buildFlags, "-buildmode=pie")
|
|
}
|
|
+ if ver.AfterOrEqual(goversion.GoVersion{1, 11, -1, 0, 0, ""}) {
|
|
+ if flags&EnableDWZCompression != 0 {
|
|
+ buildFlags = append(buildFlags, "-ldflags=-compressdwarf=false")
|
|
+ }
|
|
+ }
|
|
if path != "" {
|
|
buildFlags = append(buildFlags, name+".go")
|
|
}
|