Skip to content

Tests fail on armel (little-endian ARM) #3532

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
oerdnj opened this issue Apr 15, 2012 · 1 comment
Closed

Tests fail on armel (little-endian ARM) #3532

oerdnj opened this issue Apr 15, 2012 · 1 comment

Comments

@oerdnj
Copy link

oerdnj commented Apr 15, 2012

What steps will reproduce the problem?
If possible, include a link to a program on play.golang.org.
1. Build on armel and run test

What is the expected output?
ok sync/atomic

What do you see instead?
SIGILL: illegal instruction
PC=0xc233c

sync/atomic.armAddUint64(0x106001a8, 0x1, 0x0, 0x10600198, 0x54c34, ...)
    /build/buildd-golang_1-3-armel-OqW0w_/golang-1/src/pkg/sync/atomic/asm_arm.s:66 +0x8
sync/atomic_test._func_008(0x0, 0x0)
    /usr/lib/go/src/pkg/sync/atomic/atomic_test.go:37 +0x84
sync/atomic_test.init()
    /usr/lib/go/src/pkg/sync/atomic/atomic_test.go:39 +0x78
main.init()
    /tmp/go-build096360980/sync/atomic/_test/_testmain.go:102 +0x70

goroutine 2 [runnable]:
created by runtime.main
    /build/buildd-golang_1-3-armel-OqW0w_/golang-1/src/pkg/runtime/proc.c:221

trap    0x6
error   0x0
oldmask 0x0
r0      0x0
r1      0xa
r2      0x106001a8
r3      0x594ba8
r4      0x4da30
r5      0x40040f70
r6      0xa
r7      0x10622640
r8      0xefc0a940
r9      0x186c64
r10     0x10625000
fp      0xfffffff8
ip      0xcafebabe
sp      0x40040f6c
lr      0xc2384
pc      0xc233c
cpsr    0x60000010
fault   0x0
FAIL    sync/atomic 0.150s

Which compiler are you using (5g, 6g, 8g, gccgo)?
5g

Which operating system are you using?
armel (Little-endian ARM, e.g. GOARM=5)

Which version are you using?  (run 'go version')
go1

Please provide any additional information below.
The build variables are set using this logic:

ifeq ($(DEB_HOST_ARCH_CPU), i386)
    GOARCH := 386
    GOPREFIX := 8
else ifeq ($(DEB_HOST_ARCH_CPU), amd64)
    GOARCH := amd64
    GOPREFIX := 6
else ifeq ($(DEB_HOST_ARCH_CPU), arm)
    GOARCH := arm
    GOPREFIX := 5
ifeq ($(DEB_HOST_ARCH), armel)
    GOARM := 5
else ifeq ($(DEB_HOST_ARCH), armhf)
    GOARM := 6
else
    $(error unrecognized arm architecture $(DEB_HOST_ARCH)!)
endif
else
    $(error unrecognized instruction set $(DEB_HOST_ARCH_CPU)!)
endif

It looks like some GOARM=6 code has creeped into GOARM=5 branch, but I could be mistaken.

Full build log is here:
https://buildd.debian.org/status/fetch.php?pkg=golang&;arch=armel&ver=2%3A1-3&stamp=1334187589
@minux
Copy link
Member

minux commented Apr 15, 2012

Comment 1:

Thanks for reporting. I will tackle this issue soon.

Status changed to Duplicate.

Merged into issue #3331.

@golang golang locked and limited conversation to collaborators Jun 24, 2016
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants