mirror of
https://github.com/golang/go
synced 2024-11-16 22:04:50 -07:00
cmd/go: look for .go.buildinfo section when looking for ELF version
Based on original fix from Mark Glines in golang.org/cl/186737 Fixes #31861 Change-Id: Ibd583a3aa8f8b8eefade998aa2ac757b55140937 Reviewed-on: https://go-review.googlesource.com/c/go/+/188957 Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
09c9d3a58a
commit
6c74db4024
@ -103,6 +103,11 @@ func (x *elfExe) ReadData(addr, size uint64) ([]byte, error) {
|
||||
}
|
||||
|
||||
func (x *elfExe) DataStart() uint64 {
|
||||
for _, s := range x.f.Sections {
|
||||
if s.Name == ".go.buildinfo" {
|
||||
return s.Addr
|
||||
}
|
||||
}
|
||||
for _, p := range x.f.Progs {
|
||||
if p.Type == elf.PT_LOAD && p.Flags&(elf.PF_X|elf.PF_W) == elf.PF_W {
|
||||
return p.Vaddr
|
||||
|
7
src/cmd/go/testdata/script/version.txt
vendored
7
src/cmd/go/testdata/script/version.txt
vendored
@ -8,5 +8,12 @@ go version -m fortune.exe
|
||||
stdout '^\tpath\trsc.io/fortune'
|
||||
stdout '^\tmod\trsc.io/fortune\tv1.0.0'
|
||||
|
||||
go build -buildmode=pie -o external.exe rsc.io/fortune
|
||||
go version external.exe
|
||||
stdout '^external.exe: .+'
|
||||
go version -m external.exe
|
||||
stdout '^\tpath\trsc.io/fortune'
|
||||
stdout '^\tmod\trsc.io/fortune\tv1.0.0'
|
||||
|
||||
-- go.mod --
|
||||
module m
|
||||
|
Loading…
Reference in New Issue
Block a user