From: Alberto Donizetti Date: Sat, 7 Sep 2019 14:31:36 +0000 (+0200) Subject: doc/gccgo: update gcc status, remove double spaces X-Git-Tag: go1.14beta1~1110 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=77aea691762f46daeb56c2e1fe764fd3898fff6b;p=gostls13.git doc/gccgo: update gcc status, remove double spaces This change updates the status of gccgo 8 and gccgo 9, which are now released. It also replaces every instance of two-spaces with one space in text paragraphs, which is the preferred style in Go documentation. Fixes #34167 Change-Id: I94a4d85c06281f2623d39a68db7b6c95b5867999 Reviewed-on: https://go-review.googlesource.com/c/go/+/193842 Reviewed-by: Ian Lance Taylor --- diff --git a/doc/gccgo_install.html b/doc/gccgo_install.html index a974bb3680..5b026ba57e 100644 --- a/doc/gccgo_install.html +++ b/doc/gccgo_install.html @@ -5,8 +5,8 @@

This document explains how to use gccgo, a compiler for -the Go language. The gccgo compiler is a new frontend -for GCC, the widely used GNU compiler. Although the +the Go language. The gccgo compiler is a new frontend +for GCC, the widely used GNU compiler. Although the frontend itself is under a BSD-style license, gccgo is normally used as part of GCC and is then covered by the GNU General Public @@ -24,10 +24,10 @@ compiler.

The simplest way to install gccgo is to install a GCC binary release -built to include Go support. GCC binary releases are available from +built to include Go support. GCC binary releases are available from various websites and are typically included as part of GNU/Linux -distributions. We expect that most people who build these binaries +distributions. We expect that most people who build these binaries will include Go support.

@@ -38,7 +38,7 @@ The GCC 4.7.1 release and all later 4.7 releases include a complete

Due to timing, the GCC 4.8.0 and 4.8.1 releases are close to but not -identical to Go 1.1. The GCC 4.8.2 release includes a complete Go +identical to Go 1.1. The GCC 4.8.2 release includes a complete Go 1.1.2 implementation.

@@ -48,28 +48,32 @@ The GCC 4.9 releases include a complete Go 1.2 implementation.

The GCC 5 releases include a complete implementation of the Go 1.4 -user libraries. The Go 1.4 runtime is not fully merged, but that +user libraries. The Go 1.4 runtime is not fully merged, but that should not be visible to Go programs.

The GCC 6 releases include a complete implementation of the Go 1.6.1 -user libraries. The Go 1.6 runtime is not fully merged, but that +user libraries. The Go 1.6 runtime is not fully merged, but that should not be visible to Go programs.

The GCC 7 releases include a complete implementation of the Go 1.8.1 -user libraries. As with earlier releases, the Go 1.8 runtime is not +user libraries. As with earlier releases, the Go 1.8 runtime is not fully merged, but that should not be visible to Go programs.

-The GCC 8 releases are expected to include a complete implementation -of the Go 1.10 release, depending on release timing. The Go 1.10 -runtime has now been fully merged into the GCC development sources, -and concurrent garbage collection is expected to be fully supported in -GCC 8. +The GCC 8 releases include a complete implementation of the Go 1.10.1 +release. The Go 1.10 runtime has now been fully merged into the GCC +development sources, and concurrent garbage collection is fully +supported. +

+ +

+The GCC 9 releases include a complete implementation of the Go 1.12.2 +release.

Source code

@@ -77,10 +81,10 @@ GCC 8.

If you cannot use a release, or prefer to build gccgo for yourself, -the gccgo source code is accessible via Subversion. The +the gccgo source code is accessible via Subversion. The GCC web site has instructions for getting the -GCC source code. The gccgo source code is included. As a +GCC source code. The gccgo source code is included. As a convenience, a stable version of the Go support is available in a branch of the main GCC code repository: svn://gcc.gnu.org/svn/gcc/branches/gccgo. @@ -90,7 +94,7 @@ This branch is periodically updated with stable Go compiler sources.

Note that although gcc.gnu.org is the most convenient way to get the source code for the Go frontend, it is not where the master -sources live. If you want to contribute changes to the Go frontend +sources live. If you want to contribute changes to the Go frontend compiler, see Contributing to gccgo.

@@ -100,16 +104,16 @@ gccgo.

Building gccgo is just like building GCC -with one or two additional options. See +with one or two additional options. See the instructions on the gcc web -site. When you run configure, add the +site. When you run configure, add the option --enable-languages=c,c++,go (along with other -languages you may want to build). If you are targeting a 32-bit x86, +languages you may want to build). If you are targeting a 32-bit x86, then you will want to build gccgo to default to supporting locked compare and exchange instructions; do this by also using the configure option --with-arch=i586 (or a newer architecture, depending on where you need your programs to -run). If you are targeting a 64-bit x86, but sometimes want to use +run). If you are targeting a 64-bit x86, but sometimes want to use the -m32 option, then use the configure option --with-arch-32=i586.

@@ -118,18 +122,18 @@ option --with-arch-32=i586.

On x86 GNU/Linux systems the gccgo compiler is able to -use a small discontiguous stack for goroutines. This permits programs +use a small discontiguous stack for goroutines. This permits programs to run many more goroutines, since each goroutine can use a relatively -small stack. Doing this requires using the gold linker version 2.22 -or later. You can either install GNU binutils 2.22 or later, or you +small stack. Doing this requires using the gold linker version 2.22 +or later. You can either install GNU binutils 2.22 or later, or you can build gold yourself.

To build gold yourself, build the GNU binutils, using --enable-gold=default when you run -the configure script. Before building, you must install -the flex and bison packages. A typical sequence would look like +the configure script. Before building, you must install +the flex and bison packages. A typical sequence would look like this (you can replace /opt/gold with any directory to which you have write access):

@@ -157,7 +161,7 @@ option --with-ld=GOLD_BINARY. A number of prerequisites are required to build GCC, as described on the gcc web -site. It is important to install all the prerequisites before +site. It is important to install all the prerequisites before running the gcc configure script. The prerequisite libraries can be conveniently downloaded using the script contrib/download_prerequisites in the GCC sources. @@ -183,7 +187,7 @@ make install

Using gccgo

-The gccgo compiler works like other gcc frontends. As of GCC 5 the gccgo +The gccgo compiler works like other gcc frontends. As of GCC 5 the gccgo installation also includes a version of the go command, which may be used to build Go programs as described at https://golang.org/cmd/go. @@ -208,7 +212,7 @@ gccgo -o file file.o

To run the resulting file, you will need to tell the program where to -find the compiled Go packages. There are a few ways to do this: +find the compiled Go packages. There are a few ways to do this: