From a1226c67e221a84c1562008739dcb322710e86e2 Mon Sep 17 00:00:00 2001 From: Michael Podtserkovskii Date: Wed, 14 Feb 2024 17:48:52 -0800 Subject: [PATCH] Support GODEBUG env-var Summary: Support setting [GODEBUG](https://go.dev/doc/godebug) on toolchain level Reviewed By: leoleovich Differential Revision: D53769175 fbshipit-source-id: 5a685f74ff9ad44a22f7fe2271a232697836132f --- prelude/go/toolchain.bzl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/prelude/go/toolchain.bzl b/prelude/go/toolchain.bzl index 35ae0a6e81d27..64aa4818b023b 100644 --- a/prelude/go/toolchain.bzl +++ b/prelude/go/toolchain.bzl @@ -26,6 +26,7 @@ GoToolchainInfo = provider( "env_go_os": provider_field(typing.Any, default = None), "env_go_arm": provider_field(typing.Any, default = None), "env_go_root": provider_field(typing.Any, default = None), + "env_go_debug": provider_field(dict[str, str], default = {}), "external_linker_flags": provider_field(typing.Any, default = None), "filter_srcs": provider_field(typing.Any, default = None), "go": provider_field(typing.Any, default = None), @@ -50,7 +51,9 @@ def get_toolchain_cmd_args(toolchain: GoToolchainInfo, go_root = True, force_dis cmd.add("GOARM={}".format(toolchain.env_go_arm)) if go_root and toolchain.env_go_root != None: cmd.add(cmd_args(toolchain.env_go_root, format = "GOROOT={}")) - + if toolchain.env_go_debug: + godebug = ",".join(["{}={}".format(k, v) for k, v in toolchain.env_go_debug.items()]) + cmd.add("GODEBUG={}".format(godebug)) if force_disable_cgo: cmd.add("CGO_ENABLED=0") else: