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

Clarify 32-bit x86 target #30804

Closed
mcandre opened this issue Mar 13, 2019 · 3 comments
Closed

Clarify 32-bit x86 target #30804

mcandre opened this issue Mar 13, 2019 · 3 comments
Labels
FrozenDueToAge NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made.

Comments

@mcandre
Copy link

mcandre commented Mar 13, 2019

Technically, Go binaries for the 32-bit x86 architecture depend on 686 (like Rust). Could the “386” architecture known to GOARCH and go build be renamed to reflect this dependence?

To be sure, some other tech stacks, including Debian, label their 686 ports as “386”. However, this is misleading, and in fact most modern 686 software will fail to run on pre-Pentium hardware.

@ALTree
Copy link
Member

ALTree commented Mar 13, 2019

This is documented here: https://golang.org/doc/install/source#environment

At the $GO386 item:

$GO386 (for 386 only, default is auto-detected if built on either 386 or amd64, 387 otherwise)

This controls the code generated by gc to use either the 387 floating-point unit (set to 387) or SSE2 instructions (set to sse2) for floating point computations.

  • GO386=387: use x87 for floating point operations; should support all x86 chips (Pentium MMX or later).
  • GO386=sse2: use SSE2 for floating point operations; has better performance than 387, but only available on Pentium 4/Opteron/Athlon 64 or later.

Information also duplicated here:
https://github.com/golang/go/wiki/MinimumRequirements#386

@ALTree
Copy link
Member

ALTree commented Mar 13, 2019

In general, I think that renaming the ARCH is probably not worth it at this point. The documentation is clear enough and changing the GOARCH name wouldn't add much.

@ALTree ALTree added the NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made. label Mar 13, 2019
@randall77
Copy link
Contributor

I agree with @ALTree. Renaming the architecture at this point would cause a lot more pain than benefit. And we can't encode the exact set of compatible processors in 5 characters anyway. For instance, Go does run on some 586 chips.

@golang golang locked and limited conversation to collaborators Mar 12, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made.
Projects
None yet
Development

No branches or pull requests

4 participants