aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal/objfile
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/internal/objfile')
-rw-r--r--src/cmd/internal/objfile/pe.go14
1 files changed, 6 insertions, 8 deletions
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) {