Commit e4ee77fe authored by Rodrigo Arias Mallo's avatar Rodrigo Arias Mallo
Browse files

pkgsStatic: Pass hostPlatform.gcc attribute

To build the security wrappers[1] the pkgsStatic stdenv is used, so the
binaries are static. However, the hostPlatform may have gcc attributes
that are *required* to build binaries so they can run on the host
platform. In particular, this is the case when using gcc.arch, which
ends up injecting -march=... in the gcc wrapper. Those attributes are
not contained in hostPlatform.parsed.

This change sets the same gcc attributes found in the hostPlatform for
the pkgsStatic cross system, so it can build binaries with the same gcc
flags.

[1]: nixos/modules/security/wrappers/default.nix
parent c3e128f3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -272,8 +272,8 @@ let
          if stdenv.isLinux
          then makeMuslParsedPlatform stdenv.hostPlatform.parsed
          else stdenv.hostPlatform.parsed;
      } // lib.optionalAttrs (stdenv.hostPlatform.system == "powerpc64-linux") {
        gcc.abi = "elfv2";
        gcc = lib.optionalAttrs (stdenv.hostPlatform.system == "powerpc64-linux") { abi = "elfv2"; } //
          stdenv.hostPlatform.gcc or {};
      };
    });
  };