diff options
| author | Cherry Zhang <cherryyz@google.com> | 2020-09-11 12:07:44 -0400 |
|---|---|---|
| committer | Cherry Zhang <cherryyz@google.com> | 2020-09-11 12:07:44 -0400 |
| commit | 3ab22052fbe784088cf8e4edf686707c54f51cf2 (patch) | |
| tree | 98ccab5799729e3f7978e2ee71eb0f81e5e6ac8c /src/cmd/internal/objfile | |
| parent | 5402d40d5b041399392b29e4543f5fc4506197bd (diff) | |
| parent | b459bc8152210c14b66e23351690ff774cd68d2c (diff) | |
| download | go-3ab22052fbe784088cf8e4edf686707c54f51cf2.tar.xz | |
[dev.link] all: merge branch 'master' into dev.link
Clean merge.
Change-Id: Ib773b0bc00fd99d494f9331c3613bcc8285e48e3
Diffstat (limited to 'src/cmd/internal/objfile')
| -rw-r--r-- | src/cmd/internal/objfile/macho.go | 2 | ||||
| -rw-r--r-- | src/cmd/internal/objfile/pe.go | 14 |
2 files changed, 7 insertions, 9 deletions
diff --git a/src/cmd/internal/objfile/macho.go b/src/cmd/internal/objfile/macho.go index fdb7e76dfc..1d6963f7c4 100644 --- a/src/cmd/internal/objfile/macho.go +++ b/src/cmd/internal/objfile/macho.go @@ -60,7 +60,7 @@ func (f *machoFile) symbols() ([]Sym, error) { } else if int(s.Sect) <= len(f.macho.Sections) { sect := f.macho.Sections[s.Sect-1] switch sect.Seg { - case "__TEXT": + case "__TEXT", "__DATA_CONST": sym.Code = 'R' case "__DATA": sym.Code = 'D' diff --git a/src/cmd/internal/objfile/pe.go b/src/cmd/internal/objfile/pe.go index 259b59a4f4..b20cda9a44 100644 --- a/src/cmd/internal/objfile/pe.go +++ b/src/cmd/internal/objfile/pe.go @@ -182,18 +182,16 @@ func loadPETable(f *pe.File, sname, ename string) ([]byte, error) { } func (f *peFile) goarch() string { - // Not sure how to get the info we want from PE header. - // Look in symbol table for telltale rt0 symbol. - if _, err := findPESymbol(f.pe, "_rt0_386_windows"); err == nil { + switch f.pe.Machine { + case pe.IMAGE_FILE_MACHINE_I386: return "386" - } - if _, err := findPESymbol(f.pe, "_rt0_amd64_windows"); err == nil { + case pe.IMAGE_FILE_MACHINE_AMD64: return "amd64" - } - if _, err := findPESymbol(f.pe, "_rt0_arm_windows"); err == nil { + case pe.IMAGE_FILE_MACHINE_ARMNT: return "arm" + default: + return "" } - return "" } func (f *peFile) loadAddress() (uint64, error) { |
