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

Reply via email to