From 2399302a251ef54e4669f2065f656b61d2f5c323 Mon Sep 17 00:00:00 2001 From: Than McIntosh Date: Mon, 11 Sep 2023 12:15:48 -0400 Subject: [PATCH] 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 Reviewed-by: Alessandro Arzilli LUCI-TryBot-Result: Go LUCI --- src/cmd/compile/internal/base/flag.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/cmd/compile/internal/base/flag.go b/src/cmd/compile/internal/base/flag.go index 8ffb41b16d..0e44deae71 100644 --- a/src/cmd/compile/internal/base/flag.go +++ b/src/cmd/compile/internal/base/flag.go @@ -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 -- 2.50.0