Update prebuilts to go 1.5.1
Change-Id: Ic39c72590cb0561132faefbca121c3782372b9bf
diff --git a/doc/install-source.html b/doc/install-source.html
index 7daf360..e71fff7 100644
--- a/doc/install-source.html
+++ b/doc/install-source.html
@@ -26,21 +26,21 @@
<p>
There are two official Go compiler tool chains.
This document focuses on the <code>gc</code> Go
-compiler and tools (<code>6g</code>, <code>8g</code> etc.).
+compiler and tools.
For information on how to work on <code>gccgo</code>, a more traditional
compiler using the GCC back end, see
<a href="/doc/install/gccgo">Setting up and using gccgo</a>.
</p>
<p>
-The Go compilers support three instruction sets.
+The Go compilers support five instruction sets.
There are important differences in the quality of the compilers for the different
architectures.
</p>
<dl>
<dt>
- <code>amd64</code> (a.k.a. <code>x86-64</code>); <code>6g,6l,6c,6a</code>
+ <code>amd64</code> (also known as <code>x86-64</code>)
</dt>
<dd>
A mature implementation. The compiler has an effective
@@ -48,16 +48,28 @@
<code>gccgo</code> can do noticeably better sometimes).
</dd>
<dt>
- <code>386</code> (a.k.a. <code>x86</code> or <code>x86-32</code>); <code>8g,8l,8c,8a</code>
+ <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> (a.k.a. <code>ARM</code>); <code>5g,5l,5c,5a</code>
+ <code>arm</code> (<code>ARM</code>)
</dt>
<dd>
- Supports Linux, FreeBSD and NetBSD binaries. Less widely used than the other ports.
+ Supports Linux, FreeBSD, NetBSD and Darwin binaries. Less widely used than the other ports.
+</dd>
+<dt>
+ <code>arm64</code> (<code>AArch64</code>)
+</dt>
+<dd>
+ Supports Linux and Darwin binaries. New in 1.5 and not as well excercised as other ports.
+</dd>
+<dt>
+ <code>ppc64, ppc64le</code> (64-bit PowerPC big- and little-endian)
+</dt>
+<dd>
+ Supports Linux binaries. New in 1.5 and not as well excercised as other ports.
</dd>
</dl>
@@ -77,14 +89,60 @@
</div>
-<h2 id="ctools">Install C tools, if needed</h2>
+<h2 id="go14">Install Go compiler binaries</h2>
<p>
-The Go tool chain is written in C. To build it, you need a C compiler installed.
-Please refer to the <a href="//golang.org/wiki/InstallFromSource#install-c-tools">InstallFromSource</a>
-page on the Go community Wiki for operating system specific instructions.
+The Go tool chain 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 an existing Go tool
+chain in <code>$HOME/go1.4</code>.
+(This path may be overridden by setting the <code>GOROOT_BOOTSTRAP</code>
+environment variable.)
</p>
+<p>
+Build the tools with Go version 1.4 or a point release (1.4.1, 1.4.2 etc.).
+Go 1.4 binaries can be found at <a href="/dl/">the downloads page</a>.
+</p>
+
+<p>
+Download the zip or tarball of Go 1.4 for your platform and extract it to
+<code>$HOME/go1.4</code> (or your nominated <code>GOROOT_BOOTSTRAP</code>
+location).
+</p>
+
+<p>
+If you want to install Go 1.5 on a system that is not supported by Go 1.4 (such
+as <code>linux/ppc64</code>) you can either use
+<a href="/src/bootstrap.bash">bootstrap.bash</a> on a system that can bootstrap Go
+1.5 normally, or bootstrap with gccgo 5.
+</p>
+
+<p>
+When run as (for example)
+</p>
+
+<pre>
+$ GOOS=linux GOARCH=ppc64 ./bootstrap.bash
+</pre>
+
+<p>
+<code>bootstrap.bash</code> cross-compiles a toolchain for that <code>GOOS/GOARCH</code>
+combination, leaving the resulting tree in <code>../../go-${GOOS}-${GOARCH}-bootstrap</code>.
+That tree can be copied to a machine of the given target type
+and used as <code>GOROOT_BOOTSTRAP</code> to bootstrap a local build.
+</p>
+
+<p>
+To use gccgo, you need to arrange for <code>$GOROOT_BOOSTRAP/bin/go</code> to be
+the go tool that comes as part of gccgo 5. For example on Ubuntu Vivid:
+</p>
+
+<pre>
+$ sudo apt-get install gccgo-5
+$ sudo update-alternatives --set go /usr/bin/go-5
+$ GOROOT_BOOTSTRAP=/usr ./make.bash
+</pre>
+
<h2 id="git">Install Git, if needed</h2>
<p>
@@ -109,7 +167,7 @@
<pre>
$ git clone https://go.googlesource.com/go
$ cd go
-$ git checkout go1.4.1
+$ git checkout go1.5
</pre>
<h2 id="head">(Optional) Switch to the master branch</h2>
@@ -131,7 +189,7 @@
</p>
<pre>
-$ cd go/src
+$ cd src
$ ./all.bash
</pre>
@@ -288,7 +346,7 @@
<a href="//groups.google.com/group/golang-announce">golang-announce</a>
mailing list.
Each announcement mentions the latest release tag, for instance,
-<code>go1.4</code>.
+<code>go1.5</code>.
</p>
<p>
@@ -341,12 +399,13 @@
<p>
Choices for <code>$GOOS</code> are
-<code>darwin</code> (Mac OS X 10.6 and above), <code>dragonfly</code>, <code>freebsd</code>,
-<code>linux</code>, <code>netbsd</code>, <code>openbsd</code>,
+<code>darwin</code> (Mac OS X 10.7 and above and iOS), <code>dragonfly</code>, <code>freebsd</code>,
+<code>linux</code>, <code>netbsd</code>, <code>openbsd</code>,
<code>plan9</code>, <code>solaris</code> and <code>windows</code>.
Choices for <code>$GOARCH</code> are
<code>amd64</code> (64-bit x86, the most mature port),
-<code>386</code> (32-bit x86), and <code>arm</code> (32-bit ARM).
+<code>386</code> (32-bit x86), <code>arm</code> (32-bit ARM), <code>arm64</code> (64-bit ARM),
+<code>ppc64le</code> (PowerPC 64-bit, little-endian), and <code>ppc64</code> (PowerPC 64-bit, big-endian).
The valid combinations of <code>$GOOS</code> and <code>$GOARCH</code> are:
<table cellpadding="0">
<tr>
@@ -359,7 +418,10 @@
<td></td><td><code>darwin</code></td> <td><code>amd64</code></td>
</tr>
<tr>
-<td></td><td><code>dragonfly</code></td> <td><code>386</code></td>
+<td></td><td><code>darwin</code></td> <td><code>arm</code></td>
+</tr>
+<tr>
+<td></td><td><code>darwin</code></td> <td><code>arm64</code></td>
</tr>
<tr>
<td></td><td><code>dragonfly</code></td> <td><code>amd64</code></td>
@@ -383,6 +445,15 @@
<td></td><td><code>linux</code></td> <td><code>arm</code></td>
</tr>
<tr>
+<td></td><td><code>linux</code></td> <td><code>arm64</code></td>
+</tr>
+<tr>
+<td></td><td><code>linux</code></td> <td><code>ppc64</code></td>
+</tr>
+<tr>
+<td></td><td><code>linux</code></td> <td><code>ppc64le</code></td>
+</tr>
+<tr>
<td></td><td><code>netbsd</code></td> <td><code>386</code></td>
</tr>
<tr>
@@ -398,6 +469,9 @@
<td></td><td><code>openbsd</code></td> <td><code>amd64</code></td>
</tr>
<tr>
+<td></td><td><code>openbsd</code></td> <td><code>arm</code></td>
+</tr>
+<tr>
<td></td><td><code>plan9</code></td> <td><code>386</code></td>
</tr>
<tr>
@@ -413,6 +487,7 @@
<td></td><td><code>windows</code></td> <td><code>amd64</code></td>
</tr>
</table>
+<br>
<li><code>$GOHOSTOS</code> and <code>$GOHOSTARCH</code>
<p>
@@ -442,7 +517,7 @@
<li><code>$GO386</code> (for <code>386</code> only, default is auto-detected
if built on either <code>386</code> or <code>amd64</code>, <code>387</code> otherwise)
<p>
-This controls the code generated by 8g to use either the 387 floating-point unit
+This controls the code generated by gc to use either the 387 floating-point unit
(set to <code>387</code>) or SSE2 instructions (set to <code>sse2</code>) for
floating point computations.
</p>