golang frontend 'go' dies with SIGILL: illegal instruction
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Raspbian |
New
|
Undecided
|
Unassigned |
Bug Description
root@raspberrypi /tmp # go
SIGILL: illegal instruction
PC=0x7d394
math.init·1()
math.init()
strconv.init()
go/parser.init()
main.init()
goroutine 2 [runnable]:
created by runtime.main
trap 0x6
error 0x0
oldmask 0x0
r0 0x86c5b0
r1 0x0
r2 0x0
r3 0x0
r4 0x0
r5 0x0
r6 0x0
r7 0x0
r8 0x0
r9 0x45e29c
r10 0x10953000
fp 0x86c172
ip 0xcafebabe
sp 0xb6f5de4c
lr 0x7d928
pc 0x7d394
cpsr 0x20000010
fault 0x0
root@raspberrypi /tmp # cat -n /usr/lib/
33 func init() {
34 pow10tab[0] = 1.0e0
35 pow10tab[1] = 1.0e1
root@raspberrypi /tmp # cat /proc/cpuinfo
Processor : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 697.95
Features : swp half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7
Hardware : BCM2708
Revision : 0002
Serial : 00000000d6440fb2
Same issue here.
fungus@pinky ~ $ go
SIGILL: illegal instruction
PC=0x7d394
math.init·1() go/src/ pkg/math/ pow10.go: 34 +0x28 go/src/ pkg/math/ unsafe. go:21 +0x70 go/src/ pkg/strconv/ quote.go: 441 +0x70 go/src/ pkg/go/ parser/ parser. go:2349 +0x78 go/src/ cmd/go/ vet.go: 37 +0x78
/usr/lib/
math.init()
/usr/lib/
strconv.init()
/usr/lib/
go/parser.init()
/usr/lib/
main.init()
/usr/lib/
goroutine 2 [runnable]: golang- FunV5r/ golang- 1.0.2/src/ pkg/runtime/ proc.c: 221
created by runtime.main
/build/
trap 0x6 go/src/ pkg/math/ pow10.go | grep -C1 34
error 0x0
oldmask 0x0
r0 0x86c5b0
r1 0x0
r2 0x0
r3 0x0
r4 0x0
r5 0x0
r6 0x0
r7 0x0
r8 0x0
r9 0x45e29c
r10 0x10953000
fp 0x86c172
ip 0xcafebabe
sp 0xb6ee3e4c
lr 0x7d928
pc 0x7d394
cpsr 0x20000010
fault 0x0
fungus@pinky ~ $ cat -n /usr/lib/
33 func init() {
34 pow10tab[0] = 1.0e0
35 pow10tab[1] = 1.0e1
fungus@pinky ~ $ cat /proc/cpuinfo
Processor : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 697.95
Features : swp half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7
Hardware : BCM2708
Revision : 000f
Serial : 000000006b4ea99a
###########
However, the same source code works when built with GOARM=5
fungus@pinky ~/tmp $ apt-get source golang 1.0.2.orig. tar.gz
fungus@pinky ~/tmp $ tar -zxf golang_
fungus@pinky ~/tmp/go/src $ GOARM=5 ./make.bash
fungus@pinky ~/tmp/go/src $ ../bin/go version
go version go1.0.2