1
0
mirror of https://github.com/golang/go synced 2024-11-26 23:21:22 -07:00

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/+/202197
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Alberto Donizetti 2019-10-19 12:31:59 +02:00 committed by Brad Fitzpatrick
parent 35cfe059a1
commit afe50c1196

View File

@ -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> </dt>
<dd> <dd>
A mature implementation. The <code>x86</code> instruction set, 64- and 32-bit.
</dd> </dd>
<dt> <dt>
<code>386</code> (<code>x86</code> or <code>x86-32</code>) <code>arm64</code>, <code>arm</code>
</dt> </dt>
<dd> <dd>
Comparable to the <code>amd64</code> port. The <code>ARM</code> instruction set, 64-bit (<code>AArch64</code>) and 32-bit.
</dd> </dd>
<dt> <dt>
<code>arm</code> (<code>ARM</code>) <code>ppc64</code>, <code>ppc64le</code>
</dt> </dt>
<dd> <dd>
Supports Linux, FreeBSD, NetBSD, OpenBSD and Darwin binaries. Less widely used than the other ports. The 64-bit PowerPC instruction set, big- and little-endian.
</dd> </dd>
<dt> <dt>
<code>arm64</code> (<code>AArch64</code>) <code>s390x</code>
</dt> </dt>
<dd> <dd>
Supports Linux and Darwin binaries. New in 1.5 and not as well exercised as other ports. The IBM z/Architecture.
</dd> </dd>
<dt> <dt>
<code>ppc64, ppc64le</code> (64-bit PowerPC 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.5 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>mips, mipsle</code> (32-bit MIPS big- and little-endian) <code>wasm</code>
</dt> </dt>
<dd> <dd>
Supports Linux binaries. New in 1.8 and not as well exercised as other ports. <a href="https://webassembly.org">WebAssembly</a>.
</dd>
<dt>
<code>mips64, mips64le</code> (64-bit MIPS big- and little-endian)
</dt>
<dd>
Supports Linux binaries. New in 1.6 and not as well exercised as other ports.
</dd>
<dt>
<code>s390x</code> (IBM System z)
</dt>
<dd>
Supports Linux binaries. New in 1.7 and not as well exercised as other ports.
</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>
Except for things like low-level operating system interface code, the run-time
support is the same in all ports and includes a mark-and-sweep garbage
collector, efficient array and string slicing, and support for efficient
goroutines, such as stacks that grow and shrink on demand.
</p> </p>
<p> <p>
The compilers can target the DragonFly BSD, FreeBSD, Linux, NetBSD, OpenBSD, The compilers can target the AIX, Android, DragonFly BSD, FreeBSD,
macOS (Darwin), Plan 9, Solaris and Windows operating systems. Illumos, Linux, macOS/iOS (Darwin), NetBSD, OpenBSD, Plan 9, Solaris,
The full set of supported combinations is listed in the discussion of and Windows operating systems (although not all operating systems
<a href="#environment">environment variables</a> below. support all architectures).
</p>
<p>
A list of ports which are considered "first class" is available at the
<a href="/wiki/PortingPolicy#first-class-ports">first class ports</a>
wiki page.
</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>