1
0
mirror of https://github.com/golang/go synced 2024-11-18 13:54:59 -07:00

cmd/compile/internal/base: keep Ctxt.Flag_optimize in sync with Flag.N

This patch fixes an inconsistency in compiler flag handling introduced
accidentally in CL 521699. In the compiler we have both base.Flag.N
(which records whether the user has supplied the "-N" flag to disable
optimization) and base.Ctxt.Flag_optimize (which tracks whether
optimization is turned on). In this case Flag.N was updated without a
corresponding change to Ctxt.Flag_optimize, which led to problems with
DWARF generation for the runtime.

This CL doesn't include a regression test; a test will be added later
in the x/debug repo in a subsequent CL.

Updates #62523.

Change-Id: I0c383bb43ec0a0e7c12e7e2852c0590731416d6f
Reviewed-on: https://go-review.googlesource.com/c/go/+/527319
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Alessandro Arzilli <alessandro.arzilli@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
Than McIntosh 2023-09-11 12:15:48 -04:00
parent 94200bf85c
commit 2399302a25

View File

@ -334,6 +334,7 @@ func ParseFlags() {
// It is not possible to build the runtime with no optimizations,
// because the compiler cannot eliminate enough write barriers.
Flag.N = 0
Ctxt.Flag_optimize = true
// Runtime can't use -d=checkptr, at least not yet.
Debug.Checkptr = 0