From 57223198e24c2947257d30c014bb161746478254 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Wed, 10 Sep 2025 16:44:15 +0200 Subject: [PATCH 1/2] cc-wrapper: Add passthrus that make gccgo compatible with buildGoModules/Go assumptions --- pkgs/build-support/cc-wrapper/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 2a88e3369a99..62adb84a62d9 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -105,7 +105,7 @@ let versionAtLeast ; - inherit (stdenvNoCC) hostPlatform targetPlatform; + inherit (stdenvNoCC) buildPlatform hostPlatform targetPlatform; includeFortifyHeaders' = if includeFortifyHeaders != null then @@ -428,6 +428,13 @@ stdenvNoCC.mkDerivation { inherit nixSupport; inherit defaultHardeningFlags; + } + // optionalAttrs cc.langGo or false { + # So gccgo looks more like go for buildGoModule + + inherit (targetPlatform.go) GOOS GOARCH GOARM; + + CGO_ENABLED = 1; }; dontBuild = true; From 335a0cc6465a2249de517913fb70464f22a3415e Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 1 Aug 2025 16:35:16 +0200 Subject: [PATCH 2/2] cc-wrapper: Disable format hardening for Go go1: warning: command-line option '-Wformat=1' is valid for C/C++/ObjC/ObjC++ but not for Go go1: warning: command-line option '-Wformat-security' is valid for C/C++/ObjC/ObjC++ but not for Go go1: warning: '-Werror=' argument '-Werror=format-security' is not valid for Go --- pkgs/build-support/cc-wrapper/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 62adb84a62d9..da4f568d247c 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -870,6 +870,9 @@ stdenvNoCC.mkDerivation { + optionalString cc.langFortran or false '' hardening_unsupported_flags+=" format" '' + + optionalString cc.langGo or false '' + hardening_unsupported_flags+=" format" + '' + optionalString targetPlatform.isWasm '' hardening_unsupported_flags+=" stackprotector fortify pie pic" ''