Commit afe50c11 authored by Alberto Donizetti's avatar Alberto Donizetti Committed by Brad Fitzpatrick

doc: update ports list description to reflect current status

This change updates the GOARCH/GOOS discussion at the top of the
"Installing Go from source" document to better reflect the current
status. In particular:

- The GOARCH list now focuses on simply listing the supported
architectures, with no notes about their supposed "maturity", since
the same GOARCH can be mature on a GOOS and not so mature on another.

- Outdated notes about some archs being new and "not well-exercised"
have been removed in favour of a following list of which ports are
first class.

- The list of supported OS has been updated (added: AIX, Illumos),
and sorted in alphabetical order.

- A note about the runtime support being the same for all ARCHS,
"including garbage collection and efficient array slicing and" etc etc
has been removed, since it doesn't seem particularly relevant in a
"install from source" instruction page, and it's likely a leftover
from the time this doc page was the landing place for new people and
it felt the need to "sell" Go.

Updates #27689
Fixes #35009

Change-Id: Ic4eca91dca3135adc7bed4fe00b4f157768f0e81
Reviewed-on: https://go-review.googlesource.com/c/go/+/202197Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
parent 35cfe059
...@@ -33,80 +33,64 @@ compiler using the GCC back end, see ...@@ -33,80 +33,64 @@ compiler using the GCC back end, see
</p> </p>
<p> <p>
The Go compilers support nine instruction sets. The Go compilers support twelve instruction sets:
There are important differences in the quality of the compilers for the different
architectures.
</p>
<dl> <dl>
<dt> <dt>
<code>amd64</code> (also known as <code>x86-64</code>) <code>amd64</code>, <code>386</code>
</dt>
<dd>
A mature implementation.
</dd>
<dt>
<code>386</code> (<code>x86</code> or <code>x86-32</code>)
</dt>
<dd>
Comparable to the <code>amd64</code> port.
</dd>
<dt>
<code>arm</code> (<code>ARM</code>)
</dt> </dt>
<dd> <dd>
Supports Linux, FreeBSD, NetBSD, OpenBSD and Darwin binaries. Less widely used than the other ports. The <code>x86</code> instruction set, 64- and 32-bit.
</dd> </dd>
<dt> <dt>
<code>arm64</code> (<code>AArch64</code>) <code>arm64</code>, <code>arm</code>
</dt> </dt>
<dd> <dd>
Supports Linux and Darwin binaries. New in 1.5 and not as well exercised as other ports. The <code>ARM</code> instruction set, 64-bit (<code>AArch64</code>) and 32-bit.
</dd> </dd>
<dt> <dt>
<code>ppc64, ppc64le</code> (64-bit PowerPC big- and little-endian) <code>ppc64</code>, <code>ppc64le</code>
</dt> </dt>
<dd> <dd>
Supports Linux binaries. New in 1.5 and not as well exercised as other ports. The 64-bit PowerPC instruction set, big- and little-endian.
</dd> </dd>
<dt> <dt>
<code>mips, mipsle</code> (32-bit MIPS big- and little-endian) <code>s390x</code>
</dt> </dt>
<dd> <dd>
Supports Linux binaries. New in 1.8 and not as well exercised as other ports. The IBM z/Architecture.
</dd> </dd>
<dt> <dt>
<code>mips64, mips64le</code> (64-bit MIPS big- and little-endian) <code>mips64</code>, <code>mips64le</code>, <code>mips</code>, <code>mipsle</code>
</dt> </dt>
<dd> <dd>
Supports Linux binaries. New in 1.6 and not as well exercised as other ports. The <code>MIPS</code> instruction set, big- and little-endian, 64- and 32-bit.
</dd> </dd>
<dt> <dt>
<code>s390x</code> (IBM System z) <code>wasm</code>
</dt> </dt>
<dd> <dd>
Supports Linux binaries. New in 1.7 and not as well exercised as other ports. <a href="https://webassembly.org">WebAssembly</a>.
</dd>
<dt>
<code>wasm</code> (WebAssembly)
</dt>
<dd>
Targets the WebAssembly platform. New in 1.11 and not as well exercised as other ports.
</dd> </dd>
</dl> </dl>
</p>
<p> <p>
Except for things like low-level operating system interface code, the run-time The compilers can target the AIX, Android, DragonFly BSD, FreeBSD,
support is the same in all ports and includes a mark-and-sweep garbage Illumos, Linux, macOS/iOS (Darwin), NetBSD, OpenBSD, Plan 9, Solaris,
collector, efficient array and string slicing, and support for efficient and Windows operating systems (although not all operating systems
goroutines, such as stacks that grow and shrink on demand. support all architectures).
</p> </p>
<p> <p>
The compilers can target the DragonFly BSD, FreeBSD, Linux, NetBSD, OpenBSD, A list of ports which are considered "first class" is available at the
macOS (Darwin), Plan 9, Solaris and Windows operating systems. <a href="/wiki/PortingPolicy#first-class-ports">first class ports</a>
The full set of supported combinations is listed in the discussion of wiki page.
<a href="#environment">environment variables</a> below. </p>
<p>
The full set of supported combinations is listed in the
discussion of <a href="#environment">environment variables</a> below.
</p> </p>
<p> <p>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment