mirror of
https://github.com/golang/go
synced 2024-11-12 03:00:22 -07:00
cmd/compile: allow duplicate DWARF producer symbols
When building test binaries, we build one archive with all of the test sources and a second archive with the generated test package main and link them together. If the test sources are themselves in package main and the test was compiled with non-default compiler flags, then both archives will contain a go.cuinfo.producer.main symbol, leading to a duplicate symbol failure. This has been causing test build failures on darwin-arm-a1428ios, darwin-arm64-a1549ios, linux-amd64-noopt, android-arm-wiko-fever, and android-arm64-wiko-fever since CL 71430 added this symbol. This CL should fix the build. Change-Id: I69051c846e7c0d97395a865a361cae07f411f9ad Reviewed-on: https://go-review.googlesource.com/71771 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Than McIntosh <thanm@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
8ce8143f10
commit
717d37591d
@ -1250,6 +1250,9 @@ func recordFlags(flags ...string) {
|
||||
}
|
||||
s := Ctxt.Lookup(dwarf.CUInfoPrefix + "producer." + myimportpath)
|
||||
s.Type = objabi.SDWARFINFO
|
||||
// Sometimes (for example when building tests) we can link
|
||||
// together two package main archives. So allow dups.
|
||||
s.Set(obj.AttrDuplicateOK, true)
|
||||
Ctxt.Data = append(Ctxt.Data, s)
|
||||
s.P = cmd.Bytes()[1:]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user