Skip to content
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

go/build: pre-assign gochar and goarches to all possible GOARCHes? #10165

Closed
minux opened this issue Mar 14, 2015 · 1 comment
Closed

go/build: pre-assign gochar and goarches to all possible GOARCHes? #10165

minux opened this issue Mar 14, 2015 · 1 comment

Comments

@minux
Copy link
Member

minux commented Mar 14, 2015

See #10164, whenever we introduce a new GOARCH, older Go releases won't
recognize them and this causes trouble for both our users and us (we need to
add unnecessary build tags)

As there aren't many architectures out there, I think we can pre-assign gochar
and goarches to them in Go 1.5 so that when we finally add that architecture
there won't be problems like this. This will also bring the go/build package closer
to the one in the gofrontend project.

The list I have in mind is (sorted alphabetically):

mips{,le}
mips64{,le}
ppc{,le}
s390
s390x
sparc
sparc64

Open questions:

  1. although sparc is bi-endian, is there any system that runs it in little-endian mode? We can be future-proof by adding both endians though.
  2. what about all those abi variants of mips? should we encode them into the goarch or we add another environment variable GOMIPS=o32/n32/o64/n64? Or we just support the new abi?
  3. what if there are new architectures invented in the future?
  4. some architectures are only used in embedded systems, should we also add them? (nios2, microblaze, lm32, epiphany, ...) Once we have mips32 port, the first three should be quite straightforward as they all base on mips32.

We should definitely add mips/s390/sparc though, because thare are ports for them in the works.

Pre-assigning gochars probably is less important though.

@minux minux added this to the Go1.5 milestone Mar 14, 2015
@rsc rsc removed the repo-main label Apr 14, 2015
@gopherbot
Copy link

CL https://golang.org/cl/9644 mentions this issue.

@minux minux closed this as completed in 1eebb91 May 5, 2015
@golang golang locked and limited conversation to collaborators Jun 25, 2016
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