Skip to content

Commit

Permalink
doc/go1.15: document toolchain changes
Browse files Browse the repository at this point in the history
Updates golang#37419.

Change-Id: I403cb12083d37359187b45c392046f307054a5b8
Reviewed-on: https://go-review.googlesource.com/c/go/+/236618
Reviewed-by: Alex Brainman <[email protected]>
Reviewed-by: Dmitri Shuralyov <[email protected]>
Reviewed-by: David Chase <[email protected]>
  • Loading branch information
aclements committed Jun 7, 2020
1 parent fca286b commit acdd111
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions doc/go1.15.html
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,13 @@ <h3 id="windows">Windows</h3>
on Windows.
</p>

<p><!-- CL 227003 -->
The <code>-race</code> and <code>-msan</code> flags now always
enable <code>-d=checkptr</code>, which checks uses
of <code>unsafe.Pointer</code>. This was previously the case on all
OSes except Windows.
</p>

<p><!-- CL 211139 -->
Go-built DLLs no longer cause the process to exit when it receives a
signal (such as Ctrl-C at a terminal).
Expand Down Expand Up @@ -245,6 +252,15 @@ <h2 id="compiler">Compiler</h2>
aggressively eliminating unused type metadata.
</p>

<p><!-- CL 219357, CL 231600 -->
The toolchain now mitigates
<a href="https://www.intel.com/content/www/us/en/support/articles/000055650/processors.html">Intel
CPU erratum SKX102</a> on <code>GOARCH=amd64</code> by aligning
functions to 32 byte boundaries and padding jump instructions. While
this padding increases binary sizes, this is more than made up for
by the binary size improvements mentioned above.
</p>

<p><!-- CL 222661 -->
Go 1.15 adds a <code>-spectre</code> flag to both the
compiler and the assembler, to allow enabling Spectre mitigations.
Expand All @@ -253,6 +269,19 @@ <h2 id="compiler">Compiler</h2>
See the <a href="https://github.com/golang/go/wiki/Spectre">Spectre wiki page</a> for details.
</p>

<p><!-- CL 228578 -->
The compiler now rejects <code>//go:</code> compiler directives that
have no meaning for the declaration they are applied to with a
"misplaced compiler directive" error. Such misapplied directives
were broken before, but were silently ignored by the compiler.
</p>

<p><!-- CL 206658, CL 205066 -->
The compiler's <code>-json</code> optimization logging now reports
large (>= 128 byte) copies and includes explanations of escape
analysis decisions.
</p>

<h2 id="linker">Linker</h2>

<p>
Expand Down Expand Up @@ -283,6 +312,14 @@ <h2 id="linker">Linker</h2>
improvements expected in future releases.
</p>

<h2 id="objdump">Objdump</h2>

<p><!-- CL 225459 -->
The <a href="/cmd/objdump/">objdump</a> tool now supports
disassembling in GNU assembler syntax with the <code>-gnu</code>
flag.
</p>

<h2 id="library">Core library</h2>

<h3 id="time/tzdata">New embedded tzdata package</h3>
Expand Down

0 comments on commit acdd111

Please sign in to comment.