aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--updater/syscall_windows.go36
-rw-r--r--updater/versions_arm.go9
2 files changed, 5 insertions, 40 deletions
diff --git a/updater/syscall_windows.go b/updater/syscall_windows.go
index 0410e708..074ec164 100644
--- a/updater/syscall_windows.go
+++ b/updater/syscall_windows.go
@@ -7,42 +7,6 @@ package updater
import "golang.org/x/sys/windows"
-const (
- // TODO: Push those constants upstream. golang.zx2c4.com/wireguard/tun/wintun/memmod is declaring them too. It will share the benefit.
- IMAGE_FILE_MACHINE_UNKNOWN = 0
- IMAGE_FILE_MACHINE_TARGET_HOST = 0x0001 // Useful for indicating we want to interact with the host and not a WoW guest.
- IMAGE_FILE_MACHINE_I386 = 0x014c // Intel 386.
- IMAGE_FILE_MACHINE_R3000 = 0x0162 // MIPS little-endian, 0x160 big-endian
- IMAGE_FILE_MACHINE_R4000 = 0x0166 // MIPS little-endian
- IMAGE_FILE_MACHINE_R10000 = 0x0168 // MIPS little-endian
- IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x0169 // MIPS little-endian WCE v2
- IMAGE_FILE_MACHINE_ALPHA = 0x0184 // Alpha_AXP
- IMAGE_FILE_MACHINE_SH3 = 0x01a2 // SH3 little-endian
- IMAGE_FILE_MACHINE_SH3DSP = 0x01a3
- IMAGE_FILE_MACHINE_SH3E = 0x01a4 // SH3E little-endian
- IMAGE_FILE_MACHINE_SH4 = 0x01a6 // SH4 little-endian
- IMAGE_FILE_MACHINE_SH5 = 0x01a8 // SH5
- IMAGE_FILE_MACHINE_ARM = 0x01c0 // ARM Little-Endian
- IMAGE_FILE_MACHINE_THUMB = 0x01c2 // ARM Thumb/Thumb-2 Little-Endian
- IMAGE_FILE_MACHINE_ARMNT = 0x01c4 // ARM Thumb-2 Little-Endian
- IMAGE_FILE_MACHINE_AM33 = 0x01d3
- IMAGE_FILE_MACHINE_POWERPC = 0x01F0 // IBM PowerPC Little-Endian
- IMAGE_FILE_MACHINE_POWERPCFP = 0x01f1
- IMAGE_FILE_MACHINE_IA64 = 0x0200 // Intel 64
- IMAGE_FILE_MACHINE_MIPS16 = 0x0266 // MIPS
- IMAGE_FILE_MACHINE_ALPHA64 = 0x0284 // ALPHA64
- IMAGE_FILE_MACHINE_MIPSFPU = 0x0366 // MIPS
- IMAGE_FILE_MACHINE_MIPSFPU16 = 0x0466 // MIPS
- IMAGE_FILE_MACHINE_AXP64 = IMAGE_FILE_MACHINE_ALPHA64
- IMAGE_FILE_MACHINE_TRICORE = 0x0520 // Infineon
- IMAGE_FILE_MACHINE_CEF = 0x0CEF
- IMAGE_FILE_MACHINE_EBC = 0x0EBC // EFI Byte Code
- IMAGE_FILE_MACHINE_AMD64 = 0x8664 // AMD64 (K8)
- IMAGE_FILE_MACHINE_M32R = 0x9041 // M32R little-endian
- IMAGE_FILE_MACHINE_ARM64 = 0xAA64 // ARM64 Little-Endian
- IMAGE_FILE_MACHINE_CEE = 0xC0EE
-)
-
//sys isWow64Process2Internal(process windows.Handle, processMachine *uint16, nativeMachine *uint16) (err error) = kernel32.IsWow64Process2
func isWow64Process2(process windows.Handle) (processMachine, nativeMachine uint16, err error) {
diff --git a/updater/versions_arm.go b/updater/versions_arm.go
index 2ffb4b74..f3e43ec3 100644
--- a/updater/versions_arm.go
+++ b/updater/versions_arm.go
@@ -6,6 +6,7 @@
package updater
import (
+ "debug/pe"
"errors"
"golang.org/x/sys/windows"
@@ -17,15 +18,15 @@ func findArch() (arch string, err error) {
if err2 != nil {
var isWow64 bool
if windows.IsWow64Process(process, &isWow64) != nil || !isWow64 {
- nativeMachine = IMAGE_FILE_MACHINE_ARMNT
+ nativeMachine = pe.IMAGE_FILE_MACHINE_ARMNT
} else {
- nativeMachine = IMAGE_FILE_MACHINE_ARM64
+ nativeMachine = pe.IMAGE_FILE_MACHINE_ARM64
}
}
switch nativeMachine {
- case IMAGE_FILE_MACHINE_ARM64:
+ case pe.IMAGE_FILE_MACHINE_ARM64:
arch = "arm64"
- case IMAGE_FILE_MACHINE_ARMNT:
+ case pe.IMAGE_FILE_MACHINE_ARMNT:
arch = "arm"
default:
err = errors.New("Invalid GOARCH")