nixos-riscv/no-compressed.nix

36 lines
1016 B
Nix
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ config, lib, pkgs, modulesPath, ... }:
{
nixpkgs.crossSystem = {
system = "riscv64-linux";
gcc.arch = "rv64g";
gcc.tune = "rv64g";
};
# FIXME: Broken as rustc injects compressed instructions.
# For now we disable it.
services.nscd.enableNsncd = false;
boot.kernelPatches = [ {
name = "disable-compressed";
patch = null;
extraConfig = ''
RISCV_ISA_C n
NONPORTABLE y
EFI n
'';
} ];
nixpkgs.overlays = [
(final: prev: {
# Fix GCC 13 format-overflow warning/error:
# ../src/shared/install.c:444:64: error: %s directive argument is null [-Werror=format-overflow=]
# 444 | err = log_error_errno(changes[i].type, "Failed to %s unit, unit %s does not exist.",
# | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
systemd = prev.systemd.overrideAttrs (old: {
CFLAGS = "-Wno-error=format-overflow";
});
})
];
}