systems: support cross-compiling for Renesas RX microcontrollers (#173858)
This commit is contained in:
@@ -41,7 +41,7 @@ let
|
|||||||
# none
|
# none
|
||||||
"aarch64_be-none" "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none"
|
"aarch64_be-none" "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none"
|
||||||
"msp430-none" "or1k-none" "m68k-none" "powerpc-none" "powerpcle-none"
|
"msp430-none" "or1k-none" "m68k-none" "powerpc-none" "powerpcle-none"
|
||||||
"riscv32-none" "riscv64-none" "s390-none" "s390x-none" "vc4-none"
|
"riscv32-none" "riscv64-none" "rx-none" "s390-none" "s390x-none" "vc4-none"
|
||||||
"x86_64-none"
|
"x86_64-none"
|
||||||
|
|
||||||
# OpenBSD
|
# OpenBSD
|
||||||
@@ -76,6 +76,7 @@ in {
|
|||||||
riscv = filterDoubles predicates.isRiscV;
|
riscv = filterDoubles predicates.isRiscV;
|
||||||
riscv32 = filterDoubles predicates.isRiscV32;
|
riscv32 = filterDoubles predicates.isRiscV32;
|
||||||
riscv64 = filterDoubles predicates.isRiscV64;
|
riscv64 = filterDoubles predicates.isRiscV64;
|
||||||
|
rx = filterDoubles predicates.isRx;
|
||||||
vc4 = filterDoubles predicates.isVc4;
|
vc4 = filterDoubles predicates.isVc4;
|
||||||
or1k = filterDoubles predicates.isOr1k;
|
or1k = filterDoubles predicates.isOr1k;
|
||||||
m68k = filterDoubles predicates.isM68k;
|
m68k = filterDoubles predicates.isM68k;
|
||||||
|
|||||||
@@ -145,6 +145,11 @@ rec {
|
|||||||
libc = "newlib";
|
libc = "newlib";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
rx-embedded = {
|
||||||
|
config = "rx-none-elf";
|
||||||
|
libc = "newlib";
|
||||||
|
};
|
||||||
|
|
||||||
msp430 = {
|
msp430 = {
|
||||||
config = "msp430-elf";
|
config = "msp430-elf";
|
||||||
libc = "newlib";
|
libc = "newlib";
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ rec {
|
|||||||
isRiscV = { cpu = { family = "riscv"; }; };
|
isRiscV = { cpu = { family = "riscv"; }; };
|
||||||
isRiscV32 = { cpu = { family = "riscv"; bits = 32; }; };
|
isRiscV32 = { cpu = { family = "riscv"; bits = 32; }; };
|
||||||
isRiscV64 = { cpu = { family = "riscv"; bits = 64; }; };
|
isRiscV64 = { cpu = { family = "riscv"; bits = 64; }; };
|
||||||
|
isRx = { cpu = { family = "rx"; }; };
|
||||||
isSparc = { cpu = { family = "sparc"; }; };
|
isSparc = { cpu = { family = "sparc"; }; };
|
||||||
isWasm = { cpu = { family = "wasm"; }; };
|
isWasm = { cpu = { family = "wasm"; }; };
|
||||||
isMsp430 = { cpu = { family = "msp430"; }; };
|
isMsp430 = { cpu = { family = "msp430"; }; };
|
||||||
|
|||||||
@@ -116,6 +116,7 @@ rec {
|
|||||||
|
|
||||||
alpha = { bits = 64; significantByte = littleEndian; family = "alpha"; };
|
alpha = { bits = 64; significantByte = littleEndian; family = "alpha"; };
|
||||||
|
|
||||||
|
rx = { bits = 32; significantByte = littleEndian; family = "rx"; };
|
||||||
msp430 = { bits = 16; significantByte = littleEndian; family = "msp430"; };
|
msp430 = { bits = 16; significantByte = littleEndian; family = "msp430"; };
|
||||||
avr = { bits = 8; family = "avr"; };
|
avr = { bits = 8; family = "avr"; };
|
||||||
|
|
||||||
|
|||||||
@@ -213,6 +213,7 @@ stdenv.mkDerivation {
|
|||||||
else if targetPlatform.isM68k then "m68k"
|
else if targetPlatform.isM68k then "m68k"
|
||||||
else if targetPlatform.isS390 then "s390"
|
else if targetPlatform.isS390 then "s390"
|
||||||
else if targetPlatform.isRiscV then "lriscv"
|
else if targetPlatform.isRiscV then "lriscv"
|
||||||
|
else if targetPlatform.isRx then "rx"
|
||||||
else throw "unknown emulation for platform: ${targetPlatform.config}";
|
else throw "unknown emulation for platform: ${targetPlatform.config}";
|
||||||
in if targetPlatform.useLLVM or false then ""
|
in if targetPlatform.useLLVM or false then ""
|
||||||
else targetPlatform.bfdEmulation or (fmt + sep + arch);
|
else targetPlatform.bfdEmulation or (fmt + sep + arch);
|
||||||
|
|||||||
@@ -197,6 +197,7 @@ in
|
|||||||
x86_64-embedded = mapTestOnCross lib.systems.examples.x86_64-embedded embedded;
|
x86_64-embedded = mapTestOnCross lib.systems.examples.x86_64-embedded embedded;
|
||||||
riscv64-embedded = mapTestOnCross lib.systems.examples.riscv64-embedded embedded;
|
riscv64-embedded = mapTestOnCross lib.systems.examples.riscv64-embedded embedded;
|
||||||
riscv32-embedded = mapTestOnCross lib.systems.examples.riscv32-embedded embedded;
|
riscv32-embedded = mapTestOnCross lib.systems.examples.riscv32-embedded embedded;
|
||||||
|
rx-embedded = mapTestOnCross lib.systems.examples.rx-embedded embedded;
|
||||||
|
|
||||||
x86_64-netbsd = mapTestOnCross lib.systems.examples.x86_64-netbsd common;
|
x86_64-netbsd = mapTestOnCross lib.systems.examples.x86_64-netbsd common;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user