From fab626a3df8ec75ceadb731a330d331b04afa1c9 Mon Sep 17 00:00:00 2001 From: Ben Wiederhake Date: Mon, 3 Jun 2019 02:37:36 +0200 Subject: [PATCH] build: Preserve debug symbols in debug and profile build Signed-off-by: Ben Wiederhake --- build.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/build.go b/build.go index af4bec783..eeda5a41e 100644 --- a/build.go +++ b/build.go @@ -395,8 +395,12 @@ func main() { verbosePrintf("detected Go version %v\n", goVersion) + preserveSymbols := false for i := range buildTags { buildTags[i] = strings.TrimSpace(buildTags[i]) + if buildTags[i] == "debug" || buildTags[i] == "profile" { + preserveSymbols = true + } } verbosePrintf("build tags: %s\n", buildTags) @@ -423,7 +427,11 @@ func main() { if version != "" { constants["main.version"] = version } - ldflags := "-s -w " + constants.LDFlags() + ldflags := constants.LDFlags() + if !preserveSymbols { + // Strip debug symbols. + ldflags = "-s -w " + ldflags + } verbosePrintf("ldflags: %s\n", ldflags) var (