-
Bob Van Landuyt authored
By default go binaries only include a Go build-id. Which is deterministic and unique. They don't include a Gnu build-id that should have the same properties. The Gnu build-id is used by several observably tools including perf. Having a Gnu build-id allow these tools to uniquely identify a binary and avoid conflicts when resolving debug symbols for those binaries. We're generating a Gnu build-id from the Go build-id, that way we're sure to also have a deterministic and unique build-id. We do this by compiling the binary once, getting the Go build-id from that, and then re-building including a Gnu build-id.
783ec4e5