From a413908dd064de6e3ea5b8d95d707a532bd3f4c8 Mon Sep 17 00:00:00 2001 From: Cherry Zhang Date: Wed, 16 Sep 2020 16:59:58 -0400 Subject: all: add GOOS=ios Introduce GOOS=ios for iOS systems. GOOS=ios matches "darwin" build tag, like GOOS=android matches "linux" and GOOS=illumos matches "solaris". Only ios/arm64 is supported (ios/amd64 is not). GOOS=ios and GOOS=darwin remain essentially the same at this point. They will diverge at later time, to differentiate macOS and iOS. Uses of GOOS=="darwin" are changed to (GOOS=="darwin" || GOOS=="ios"), except if it clearly means macOS (e.g. GOOS=="darwin" && GOARCH=="amd64"), it remains GOOS=="darwin". Updates #38485. Change-Id: I4faacdc1008f42434599efb3c3ad90763a83b67c Reviewed-on: https://go-review.googlesource.com/c/go/+/254740 Trust: Cherry Zhang Run-TryBot: Cherry Zhang TryBot-Result: Go Bot Reviewed-by: Austin Clements --- doc/install-source.html | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'doc/install-source.html') diff --git a/doc/install-source.html b/doc/install-source.html index cbf4eac70b..86a4644c0c 100644 --- a/doc/install-source.html +++ b/doc/install-source.html @@ -507,8 +507,8 @@ These default to the values of $GOHOSTOS and

Choices for $GOOS are -android, darwin (macOS/iOS), -dragonfly, freebsd, illumos, js, +android, darwin, dragonfly, +freebsd, illumos, ios, js, linux, netbsd, openbsd, plan9, solaris and windows.

@@ -567,6 +567,9 @@ The valid combinations of $GOOS and $GOARCH are: illumos amd64 +ios arm64 + + js wasm -- cgit v1.3 From 2be7788f8383c2330cd96db53273e2995d4468f8 Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Thu, 8 Oct 2020 08:42:11 -0700 Subject: doc: update install docs for 387->softfloat transition Fixes #41861 Change-Id: I7aa9370c7762986ee07ba6ff7f6ebda067559f06 Reviewed-on: https://go-review.googlesource.com/c/go/+/260757 Trust: Keith Randall Reviewed-by: Ian Lance Taylor --- doc/install-source.html | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'doc/install-source.html') diff --git a/doc/install-source.html b/doc/install-source.html index 86a4644c0c..c6dc3aed43 100644 --- a/doc/install-source.html +++ b/doc/install-source.html @@ -666,16 +666,13 @@ For example, you should not set $GOHOSTARCH to arm on an x86 system.

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

    -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. +This variable controls how gc implements 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.
    • +
    • GO386=softfloat: use software floating point operations; should support all x86 chips (Pentium MMX or later).
    • +
    • GO386=sse2: use SSE2 for floating point operations; has better performance but only available on Pentium 4/Opteron/Athlon 64 or later.
  • -- cgit v1.3 From 41d8e61a6b9d8f9db912626eb2bbc535e929fefc Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Fri, 11 Dec 2020 13:32:14 -0500 Subject: doc: make clear that Go 1.4 is not required for bootstrap Go 1.4 does not work on some systems, including the most recent versions of macOS. Make it clearer that that's not the only way to bootstrap Go. Change-Id: I7c03d6808e43bf26283a53eab2bb0b2dc4af73af Reviewed-on: https://go-review.googlesource.com/c/go/+/277216 Trust: Russ Cox Run-TryBot: Russ Cox TryBot-Result: Go Bot Reviewed-by: Ian Lance Taylor --- doc/install-source.html | 67 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 44 insertions(+), 23 deletions(-) (limited to 'doc/install-source.html') diff --git a/doc/install-source.html b/doc/install-source.html index c6dc3aed43..f0a909263c 100644 --- a/doc/install-source.html +++ b/doc/install-source.html @@ -119,41 +119,32 @@ The Go toolchain is written in Go. To build it, you need a Go compiler installed The scripts that do the initial build of the tools look for a "go" command in $PATH, so as long as you have Go installed in your system and configured in your $PATH, you are ready to build Go -from source. +from source. Or if you prefer you can set $GOROOT_BOOTSTRAP to the root of a Go installation to use to build the new Go toolchain; $GOROOT_BOOTSTRAP/bin/go should be the go command to use.

    -

    Bootstrap toolchain from binary release

    -

    -To use a binary release as a bootstrap toolchain, see -the downloads page or use any other -packaged Go distribution. +There are four possible ways to obtain a bootstrap toolchain:

    -

    Bootstrap toolchain from source

    +
      +
    • Download a recent binary release of Go. +
    • Cross-compile a toolchain using a system with a working Go installation. +
    • Use gccgo. +
    • Compile a toolchain from Go 1.4, the last Go release with a compiler written in C. +

    -To build a bootstrap toolchain from source, use -either the git branch release-branch.go1.4 or -go1.4-bootstrap-20171003.tar.gz, -which contains the Go 1.4 source code plus accumulated fixes -to keep the tools running on newer operating systems. -(Go 1.4 was the last distribution in which the toolchain was written in C.) -After unpacking the Go 1.4 source, cd to -the src subdirectory, set CGO_ENABLED=0 in -the environment, and run make.bash (or, -on Windows, make.bat). +These approaches are detailed below.

    +

    Bootstrap toolchain from binary release

    +

    -Once the Go 1.4 source has been unpacked into your GOROOT_BOOTSTRAP directory, -you must keep this git clone instance checked out to branch -release-branch.go1.4. Specifically, do not attempt to reuse -this git clone in the later step named "Fetch the repository." The go1.4 -bootstrap toolchain must be able to properly traverse the go1.4 sources -that it assumes are present under this repository root. +To use a binary release as a bootstrap toolchain, see +the downloads page or use any other +packaged Go distribution.

    Bootstrap toolchain from cross-compiled source

    @@ -194,6 +185,36 @@ $ sudo update-alternatives --set go /usr/bin/go-5 $ GOROOT_BOOTSTRAP=/usr ./make.bash +

    Bootstrap toolchain from C source code

    + +

    +To build a bootstrap toolchain from C source code, use +either the git branch release-branch.go1.4 or +go1.4-bootstrap-20171003.tar.gz, +which contains the Go 1.4 source code plus accumulated fixes +to keep the tools running on newer operating systems. +(Go 1.4 was the last distribution in which the toolchain was written in C.) +After unpacking the Go 1.4 source, cd to +the src subdirectory, set CGO_ENABLED=0 in +the environment, and run make.bash (or, +on Windows, make.bat). +

    + +

    +Once the Go 1.4 source has been unpacked into your GOROOT_BOOTSTRAP directory, +you must keep this git clone instance checked out to branch +release-branch.go1.4. Specifically, do not attempt to reuse +this git clone in the later step named "Fetch the repository." The go1.4 +bootstrap toolchain must be able to properly traverse the go1.4 sources +that it assumes are present under this repository root. +

    + +

    +Note that Go 1.4 does not run on all systems that later versions of Go do. +In particular, Go 1.4 does not support current versions of macOS. +On such systems, the bootstrap toolchain must be obtained using one of the other methods. +

    +

    Install Git, if needed

    -- cgit v1.3