aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2020-12-08 14:35:41 -0800
committerKeith Randall <khr@golang.org>2020-12-09 01:34:53 +0000
commitae9b442df2436b3d65ef765572681bf9aacdfbbb (patch)
tree0331f203fe73aa691cb1ea197ba52c19ac4fd56e /doc
parent31496cfde50a490639ce0723f75de0f16a8291dd (diff)
downloadgo-ae9b442df2436b3d65ef765572681bf9aacdfbbb.tar.gz
go-ae9b442df2436b3d65ef765572681bf9aacdfbbb.zip
doc: add description of new framepointer vet check
Update #43014 Change-Id: I5fbfaa16e6acb8859fd0b1188f532f5a225f6349 Reviewed-on: https://go-review.googlesource.com/c/go/+/276373 Trust: Keith Randall <khr@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Diffstat (limited to 'doc')
-rw-r--r--doc/go1.16.html12
1 files changed, 12 insertions, 0 deletions
diff --git a/doc/go1.16.html b/doc/go1.16.html
index 012be1656f..504165f3ea 100644
--- a/doc/go1.16.html
+++ b/doc/go1.16.html
@@ -293,6 +293,18 @@ Do not send CLs removing the interior tags from such phrases.
<!-- CL 235677: https://golang.org/cl/235677: cmd/vet: bring in pass to catch invalid uses of testing.T in goroutines -->
</p>
+<p><!-- CL 248686, CL 276372 -->
+ The vet tool now warns about amd64 assembly that clobbers the BP
+ register (the frame pointer) without saving and restoring it,
+ contrary to the calling convention. Code that doesn't preserve the
+ BP register must be modified to either not use BP at all or preserve
+ BP by saving and restoring it. An easy way to preserve BP is to set
+ the frame size to a nonzero value, which causes the generated
+ prologue and epilogue to preserve the BP register for you.
+ See <a href="https://golang.org/cl/248260">CL 248260</a> for example
+ fixes.
+</p>
+
<h2 id="runtime">Runtime</h2>
<p>