Hello list While the Go 1.4.1 package works fine on OpenBSD 5.7 amd64 (Lenovo X230 laptop), it fails with i386 (PCengines ALIX with Geode processor), see output below.
I have put my user into the staff login class, and increased ulimits, as hinted in https://github.com/golang/go/wiki/OpenBSD and http://homing-on-code.blogspot.ch/2015/03/go-development-on-openbsd.html Googling reveals some PRs regarding run-time error at Go load-time due to missing instructions on some i386 processors: https://code.google.com/p/go/issues/detail?id=4798 https://github.com/golang/go/issues/4798 Fixes #4798, 14 Feb 2013 cmd/8c: disable use of prefetch with GO386=387 https://github.com/golang/go/commit/594360cb1b31a99a349ba03294f5459aff0bc33d Can anyone confirm that this package should indeed work on i386 as well, or if there is some more knobs to turn (dis-/enable options in the BIOS or kernel, etc) that I have missed? Thanks, Rolf $ dmesg OpenBSD 5.7 (GENERIC) #738: Sun Mar 8 10:59:31 MDT 2015 dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC RTC BIOS diagnostic error 80<clock_battery> cpu0: Geode(TM) Integrated Processor by AMD PCS ("AuthenticAMD" 586-class) 499 MHz cpu0: FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CFLUSH,MMX,MMXX,3DNOW2,3DNOW real mem = 267931648 (255MB) avail mem = 251179008 (239MB) ... $ pkg_info | grep go go-1.4.1 Go programming language $ go version SIGILL: illegal instruction PC=0x80a58bf goroutine 1 [running, locked to thread]: runtime.mapassign1(0x82f5f80, 0x18738020, 0x1872ff60, 0x1872ff5c) /usr/local/go/src/runtime/hashmap.go:455 +0x23f fp=0x1872ff4c sp=0x1872fef0 unicode.init() /usr/local/go/src/unicode/tables.go:52 +0xaf fp=0x1872ff6c sp=0x1872ff4c go/parser.init() /usr/local/go/src/go/parser/parser.go:2462 +0x3f fp=0x1872ff78 sp=0x1872ff6c main.init() /usr/local/go/src/cmd/go/zdefaultcc.go:6 +0x3f fp=0x1872ffcc sp=0x1872ff78 runtime.main() /usr/local/go/src/runtime/proc.go:58 +0xb7 fp=0x1872fff0 sp=0x1872ffcc runtime.goexit() /usr/local/go/src/runtime/asm_386.s:2287 +0x1 fp=0x1872fff4 sp=0x1872fff0 goroutine 2 [runnable]: runtime.forcegchelper() /usr/local/go/src/runtime/proc.go:90 runtime.goexit() /usr/local/go/src/runtime/asm_386.s:2287 +0x1 goroutine 3 [runnable]: runtime.bgsweep() /usr/local/go/src/runtime/mgc0.go:82 runtime.goexit() /usr/local/go/src/runtime/asm_386.s:2287 +0x1 eax 0x0 ebx 0x0 ecx 0x1870c070 edx 0x18738020 edi 0x1b esi 0x1870c077 ebp 0x0 esp 0x1872fef0 eip 0x80a58bf eflags 0x10246 cs 0x2b fs 0x5b gs 0x63