From 2072d1bb5ce05161ae4a52401cbcd09a23e7e9db Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Fri, 7 Oct 2022 23:21:11 +0200 Subject: [PATCH] main: print ldflags including ThinLTO flags with -x The -x flag prints commands as they are executed. Unfortunately, for the link command, they were printed too early: before the ThinLTO flags were added. This is somewhat confusing while debugging. --- builder/build.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/builder/build.go b/builder/build.go index 2008c897..478d8a73 100644 --- a/builder/build.go +++ b/builder/build.go @@ -738,9 +738,6 @@ func Build(pkgName, outpath string, config *compileopts.Config, action func(Buil } ldflags = append(ldflags, dependency.result) } - if config.Options.PrintCommands != nil { - config.Options.PrintCommands(config.Target.Linker, ldflags...) - } if config.UseThinLTO() { ldflags = append(ldflags, "-mllvm", "-mcpu="+config.CPU()) if config.GOOS() == "windows" { @@ -772,6 +769,9 @@ func Build(pkgName, outpath string, config *compileopts.Config, action func(Buil "-mllvm", "--rotation-max-header-size=0") } } + if config.Options.PrintCommands != nil { + config.Options.PrintCommands(config.Target.Linker, ldflags...) + } err = link(config.Target.Linker, ldflags...) if err != nil { return &commandError{"failed to link", executable, err}