Skip to content

Build fails on Alpine Linux ppc64le with go 1.9 #15160

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
rgdoliveira opened this issue Sep 18, 2017 · 7 comments
Closed

Build fails on Alpine Linux ppc64le with go 1.9 #15160

rgdoliveira opened this issue Sep 18, 2017 · 7 comments

Comments

@rgdoliveira
Copy link

rgdoliveira commented Sep 18, 2017

System information

Geth version: 1.7.0
Go version: 1.9
OS & Version: Alpine Linux 3.6
Architecture: ppc64le

Actual behaviour

Package build fails on Alpine Linux (musl) with error:

github.com/ethereum/go-ethereum/node
github.com/ethereum/go-ethereum/whisper/whisperv5
github.com/ethereum/go-ethereum/core
github.com/ethereum/go-ethereum/eth/downloader
compile: invalid offset for DS form load/store 00056 (/home/rdutra/repos/aports/community/geth/src/go-ethereum-1.7.0/build/_workspace/src/github.com/ethereum/go-ethereum/eth/downloader/statesync.go:452) MOVD R0, "".~r2+33(FP)
github.com/ethereum/go-ethereum/eth/filters
github.com/ethereum/go-ethereum/light
util.go:44: exit status 2
exit status 1

With go 1.8.3 I am able to build the package fine.

Steps to reproduce the behaviour

  • Clone go-ethereum repository in an Alpine ppc64le
  • run make (with go 1.9 installed)
@rgdoliveira rgdoliveira changed the title Build fails on Alpine Linux ppc64le Build fails on Alpine Linux ppc64le with go 1.9 Sep 18, 2017
algitbot pushed a commit to alpinelinux/aports that referenced this issue Sep 19, 2017
@laboger
Copy link

laboger commented Sep 19, 2017

I can see the PPC64.rules for Zero are not checking alignment in the cases when they should be. I can create a fix.

@laboger
Copy link

laboger commented Sep 19, 2017

Please note this is not specific to Alpine, that is just the first place where it was found.

@laboger
Copy link

laboger commented Sep 19, 2017

Can you open a golang issue for this?

@rgdoliveira
Copy link
Author

@laboger Sure, I just opened it at: golang/go#21947

@fjl fjl closed this as completed Sep 20, 2017
@fjl
Copy link
Contributor

fjl commented Sep 20, 2017

We can't do anything about this.

@krishvoor
Copy link

@laboger @rgdoliveira I believe this is addressed in go1.9.2-ppc64le was any testing done to confirm go-ethereum works on ppc64le ?

@laboger
Copy link

laboger commented Nov 27, 2017

The fix for this went into go 1.9.2. This was a regression in golang 1.9, not specific to Alpine. The bug did not exist in go 1.8.

commit 0ab99b396df9fc45c5cf1ac412da4f1848c3462c
Author: Lynn Boger [email protected]
Date: Tue Sep 19 17:36:57 2017 -0400

[release-branch.go1.9] cmd/compile: fix regression in PPC64.rules move zero

When a MOVDstorezero (8 bytes) is used the offset field
in the instruction must be a multiple of 4. This situation
had been corrected in the rules for other types of stores
but not for the zero case.

This also removes some of the special MOVDstorezero cases since
they can be handled by the general LowerZero case.

Updates made to the ssa test for lowering zero moves to
include cases where the target is not aligned to at least 4.

Fixes #21947

Change-Id: I7cceceb1be4898c77cd3b5e78b58dce0a7e28edd
Reviewed-on: https://go-review.googlesource.com/64970
Run-TryBot: Lynn Boger <[email protected]>
TryBot-Result: Gobot Gobot <[email protected]>
Reviewed-by: Carlos Eduardo Seo <[email protected]>
Reviewed-by: Cherry Zhang <[email protected]>
Reviewed-on: https://go-review.googlesource.com/70978
Run-TryBot: Russ Cox <[email protected]>

@rgdoliveira will have to respond about what testing was done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants