balena-supervisor/gosuper/go-1.8.3-patches/0001-dont-fail-when-no-mmx.patch
Pablo Carranza Velez 848184e9a6 Update gosuper to go 1.8.3
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-06-30 23:46:17 -07:00

79 lines
2.2 KiB
Diff

commit 6a0e489a556d753161ce75d85a3114654c031853
Author: Pablo Carranza Velez <pablo@resin.io>
Date: Fri Jun 9 14:57:23 2017 -0700
Do not fail when there's no MMX support
Adapted from https://github.com/resin-io/resin-supervisor/blob/c7a7ba93fb46775006f0739ced41fc0a2059b426/gosuper/go-1.6.3-patches/0001-Revert-runtime-check-and-fail-early-with-a-message-i.patch
Original author: Petros Angelatos <petrosagg@gmail.com>
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
diff --git a/src/runtime/asm_386.s b/src/runtime/asm_386.s
index 3d0b74c..f4e51ce 100644
--- a/src/runtime/asm_386.s
+++ b/src/runtime/asm_386.s
@@ -26,32 +26,6 @@ TEXT runtime·rt0_go(SB),NOSPLIT,$0
MOVL SP, (g_stack+stack_hi)(BP)
// find out information about the processor we're on
-#ifdef GOOS_nacl // NaCl doesn't like PUSHFL/POPFL
- JMP has_cpuid
-#else
- // first see if CPUID instruction is supported.
- PUSHFL
- PUSHFL
- XORL $(1<<21), 0(SP) // flip ID bit
- POPFL
- PUSHFL
- POPL AX
- XORL 0(SP), AX
- POPFL // restore EFLAGS
- TESTL $(1<<21), AX
- JNE has_cpuid
-#endif
-
-bad_proc: // show that the program requires MMX.
- MOVL $2, 0(SP)
- MOVL $bad_proc_msg<>(SB), 4(SP)
- MOVL $0x3d, 8(SP)
- CALL runtime·write(SB)
- MOVL $1, 0(SP)
- CALL runtime·exit(SB)
- INT $3
-
-has_cpuid:
MOVL $0, AX
CPUID
MOVL AX, SI
@@ -76,11 +50,6 @@ notintel:
MOVL CX, AX // Move to global variable clobbers CX when generating PIC
MOVL AX, runtime·cpuid_ecx(SB)
MOVL DX, runtime·cpuid_edx(SB)
-
- // Check for MMX support
- TESTL $(1<<23), DX // MMX
- JZ bad_proc
-
// Load EAX=7/ECX=0 cpuid flags
CMPL SI, $7
JLT nocpuinfo
@@ -170,17 +139,6 @@ ok:
INT $3
RET
-DATA bad_proc_msg<>+0x00(SB)/8, $"This pro"
-DATA bad_proc_msg<>+0x08(SB)/8, $"gram can"
-DATA bad_proc_msg<>+0x10(SB)/8, $" only be"
-DATA bad_proc_msg<>+0x18(SB)/8, $" run on "
-DATA bad_proc_msg<>+0x20(SB)/8, $"processo"
-DATA bad_proc_msg<>+0x28(SB)/8, $"rs with "
-DATA bad_proc_msg<>+0x30(SB)/8, $"MMX supp"
-DATA bad_proc_msg<>+0x38(SB)/4, $"ort."
-DATA bad_proc_msg<>+0x3c(SB)/1, $0xa
-GLOBL bad_proc_msg<>(SB), RODATA, $0x3d
-
DATA runtime·mainPC+0(SB)/4,$runtime·main(SB)
GLOBL runtime·mainPC(SB),RODATA,$4