systems: support cross-compiling for Renesas RX microcontrollers (#173858)

authored by yvt and committed by GitHub bf139d83 66782715

+11 -1
+2 -1
lib/systems/doubles.nix
··· 41 41 # none 42 42 "aarch64_be-none" "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none" 43 43 "msp430-none" "or1k-none" "m68k-none" "powerpc-none" "powerpcle-none" 44 - "riscv32-none" "riscv64-none" "s390-none" "s390x-none" "vc4-none" 44 + "riscv32-none" "riscv64-none" "rx-none" "s390-none" "s390x-none" "vc4-none" 45 45 "x86_64-none" 46 46 47 47 # OpenBSD ··· 76 76 riscv = filterDoubles predicates.isRiscV; 77 77 riscv32 = filterDoubles predicates.isRiscV32; 78 78 riscv64 = filterDoubles predicates.isRiscV64; 79 + rx = filterDoubles predicates.isRx; 79 80 vc4 = filterDoubles predicates.isVc4; 80 81 or1k = filterDoubles predicates.isOr1k; 81 82 m68k = filterDoubles predicates.isM68k;
+5
lib/systems/examples.nix
··· 145 145 libc = "newlib"; 146 146 }; 147 147 148 + rx-embedded = { 149 + config = "rx-none-elf"; 150 + libc = "newlib"; 151 + }; 152 + 148 153 msp430 = { 149 154 config = "msp430-elf"; 150 155 libc = "newlib";
+1
lib/systems/inspect.nix
··· 26 26 isRiscV = { cpu = { family = "riscv"; }; }; 27 27 isRiscV32 = { cpu = { family = "riscv"; bits = 32; }; }; 28 28 isRiscV64 = { cpu = { family = "riscv"; bits = 64; }; }; 29 + isRx = { cpu = { family = "rx"; }; }; 29 30 isSparc = { cpu = { family = "sparc"; }; }; 30 31 isWasm = { cpu = { family = "wasm"; }; }; 31 32 isMsp430 = { cpu = { family = "msp430"; }; };
+1
lib/systems/parse.nix
··· 116 116 117 117 alpha = { bits = 64; significantByte = littleEndian; family = "alpha"; }; 118 118 119 + rx = { bits = 32; significantByte = littleEndian; family = "rx"; }; 119 120 msp430 = { bits = 16; significantByte = littleEndian; family = "msp430"; }; 120 121 avr = { bits = 8; family = "avr"; }; 121 122
+1
pkgs/build-support/bintools-wrapper/default.nix
··· 213 213 else if targetPlatform.isM68k then "m68k" 214 214 else if targetPlatform.isS390 then "s390" 215 215 else if targetPlatform.isRiscV then "lriscv" 216 + else if targetPlatform.isRx then "rx" 216 217 else throw "unknown emulation for platform: ${targetPlatform.config}"; 217 218 in if targetPlatform.useLLVM or false then "" 218 219 else targetPlatform.bfdEmulation or (fmt + sep + arch);
+1
pkgs/top-level/release-cross.nix
··· 197 197 x86_64-embedded = mapTestOnCross lib.systems.examples.x86_64-embedded embedded; 198 198 riscv64-embedded = mapTestOnCross lib.systems.examples.riscv64-embedded embedded; 199 199 riscv32-embedded = mapTestOnCross lib.systems.examples.riscv32-embedded embedded; 200 + rx-embedded = mapTestOnCross lib.systems.examples.rx-embedded embedded; 200 201 201 202 x86_64-netbsd = mapTestOnCross lib.systems.examples.x86_64-netbsd common; 202 203