A little further digging shows that VZEROUPPER is part of the AVX instruction set, not supported on any Apple computers prior to 2011 from what I can tell.
Given the rc1 code worked fine, that could be an alternative for Darwin where the CPU does not support AVX. While not ideal, I'd argue it's better than cutting off support for these machines which can run High Sierra. Once support for High Sierra is dropped then it should not matter as it takes a 2013 or later model to run anything after High Sierra. - James On Wednesday, February 26, 2020 at 10:29:33 AM UTC-8, James Pettyjohn wrote: > > I am trying to run go1.14 on macOS 10.13.2 with on a late 2009 iMac with > an i7 but always get the same crash: > > > SIGILL: illegal instruction > PC=0x1066040 m=0 sigcode=1 > > > goroutine 1 [running, locked to thread]: > runtime.asyncPreempt() > /usr/local/go/src/runtime/preempt_amd64.s:8 fp=0xc000058ef0 sp= > 0xc000058ee8 pc=0x1066040 > fmt.init() > /usr/local/go/src/fmt/scan.go:465 fp=0xc000058ef8 sp=0xc000058ef0 > pc=0x10e6540 > runtime.doInit(0x1a80520) > /usr/local/go/src/runtime/proc.go:5414 +0x8a fp=0xc000058f28 sp= > 0xc000058ef8 pc=0x1043aca > runtime.doInit(0x1a80ec0) > /usr/local/go/src/runtime/proc.go:5409 +0x57 fp=0xc000058f58 sp= > 0xc000058f28 pc=0x1043a97 > runtime.doInit(0x1a850c0) > /usr/local/go/src/runtime/proc.go:5409 +0x57 fp=0xc000058f88 sp= > 0xc000058f58 pc=0x1043a97 > runtime.main() > /usr/local/go/src/runtime/proc.go:190 +0x1ce fp=0xc000058fe0 sp= > 0xc000058f88 pc=0x103702e > runtime.goexit() > /usr/local/go/src/runtime/asm_amd64.s:1373 +0x1 fp=0xc000058fe8 sp > =0xc000058fe0 pc=0x10647d1 > > > rax 0x1a80520 > rbx 0xb > rcx 0x0 > rdx 0x1a80578 > rdi 0xc0000b2020 > rsi 0x10e6540 > rbp 0xc000058f18 > rsp 0xc000058ee8 > r8 0x3277901 > r9 0x203000 > r10 0x8 > r11 0x55 > r12 0x1 > r13 0x55555555555555 > r14 0x171acac > r15 0x38 > rip 0x1066040 > rflags 0x10202 > cs 0x2b > fs 0x0 > gs 0x0 > > > Which appears to be a call to VZEROUPPER in preempt_amd64.s > <https://github.com/golang/go/blob/go1.14/src/runtime/preempt_amd64.s#L8>. > > This was not the case in rc1, which runs just fine. I get the same results > from installing it with brew, .pkg and .tgz installs - have done the > install from source yet. > > Any tips would be appreciated. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/3ca625a5-c45e-4f05-92f9-36e3e61ff739%40googlegroups.com.