Merge pull request #131310 from siraben/m86k-cross

Initial implementation of m68k cross-compile

authored by

John Ericson and committed by
GitHub
c5a8d45d ee9d28cf

+12 -2
+3 -1
lib/systems/doubles.nix
··· 28 "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" 29 "armv7l-linux" "i686-linux" "mipsel-linux" "powerpc64-linux" 30 "powerpc64le-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" 31 32 # MMIXware 33 "mmix-mmixware" ··· 39 40 # none 41 "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none" "msp430-none" 42 - "or1k-none" "powerpc-none" "riscv32-none" "riscv64-none" "vc4-none" 43 "x86_64-none" 44 45 # OpenBSD ··· 74 riscv = filterDoubles predicates.isRiscV; 75 vc4 = filterDoubles predicates.isVc4; 76 or1k = filterDoubles predicates.isOr1k; 77 js = filterDoubles predicates.isJavaScript; 78 79 bigEndian = filterDoubles predicates.isBigEndian;
··· 28 "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" 29 "armv7l-linux" "i686-linux" "mipsel-linux" "powerpc64-linux" 30 "powerpc64le-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" 31 + "m68k-linux" 32 33 # MMIXware 34 "mmix-mmixware" ··· 40 41 # none 42 "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none" "msp430-none" 43 + "or1k-none" "powerpc-none" "riscv32-none" "riscv64-none" "vc4-none" "m68k-none" 44 "x86_64-none" 45 46 # OpenBSD ··· 75 riscv = filterDoubles predicates.isRiscV; 76 vc4 = filterDoubles predicates.isVc4; 77 or1k = filterDoubles predicates.isOr1k; 78 + m68k = filterDoubles predicates.isM68k; 79 js = filterDoubles predicates.isJavaScript; 80 81 bigEndian = filterDoubles predicates.isBigEndian;
+4
lib/systems/examples.nix
··· 144 libc = "newlib"; 145 }; 146 147 arm-embedded = { 148 config = "arm-none-eabi"; 149 libc = "newlib";
··· 144 libc = "newlib"; 145 }; 146 147 + m68k = { 148 + config = "m68k-unknown-linux-gnu"; 149 + }; 150 + 151 arm-embedded = { 152 config = "arm-none-eabi"; 153 libc = "newlib";
+1
lib/systems/inspect.nix
··· 26 isAvr = { cpu = { family = "avr"; }; }; 27 isAlpha = { cpu = { family = "alpha"; }; }; 28 isOr1k = { cpu = { family = "or1k"; }; }; 29 isJavaScript = { cpu = cpuTypes.js; }; 30 31 is32bit = { cpu = { bits = 32; }; };
··· 26 isAvr = { cpu = { family = "avr"; }; }; 27 isAlpha = { cpu = { family = "alpha"; }; }; 28 isOr1k = { cpu = { family = "or1k"; }; }; 29 + isM68k = { cpu = { family = "m68k"; }; }; 30 isJavaScript = { cpu = cpuTypes.js; }; 31 32 is32bit = { cpu = { bits = 32; }; };
+2
lib/systems/parse.nix
··· 95 96 mmix = { bits = 64; significantByte = bigEndian; family = "mmix"; }; 97 98 powerpc = { bits = 32; significantByte = bigEndian; family = "power"; }; 99 powerpc64 = { bits = 64; significantByte = bigEndian; family = "power"; }; 100 powerpc64le = { bits = 64; significantByte = littleEndian; family = "power"; };
··· 95 96 mmix = { bits = 64; significantByte = bigEndian; family = "mmix"; }; 97 98 + m68k = { bits = 32; significantByte = bigEndian; family = "m68k"; }; 99 + 100 powerpc = { bits = 32; significantByte = bigEndian; family = "power"; }; 101 powerpc64 = { bits = 64; significantByte = bigEndian; family = "power"; }; 102 powerpc64le = { bits = 64; significantByte = littleEndian; family = "power"; };
+1 -1
lib/tests/systems.nix
··· 28 testredox = mseteq redox [ "x86_64-redox" ]; 29 testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */); 30 testillumos = mseteq illumos [ "x86_64-solaris" ]; 31 - testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64-linux" "powerpc64le-linux" ]; 32 testnetbsd = mseteq netbsd [ "aarch64-netbsd" "armv6l-netbsd" "armv7a-netbsd" "armv7l-netbsd" "i686-netbsd" "mipsel-netbsd" "powerpc-netbsd" "riscv32-netbsd" "riscv64-netbsd" "x86_64-netbsd" ]; 33 testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ]; 34 testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ];
··· 28 testredox = mseteq redox [ "x86_64-redox" ]; 29 testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */); 30 testillumos = mseteq illumos [ "x86_64-solaris" ]; 31 + testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64-linux" "powerpc64le-linux" "m68k-linux" ]; 32 testnetbsd = mseteq netbsd [ "aarch64-netbsd" "armv6l-netbsd" "armv7a-netbsd" "armv7l-netbsd" "i686-netbsd" "mipsel-netbsd" "powerpc-netbsd" "riscv32-netbsd" "riscv64-netbsd" "x86_64-netbsd" ]; 33 testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ]; 34 testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ];
+1
pkgs/build-support/bintools-wrapper/default.nix
··· 208 else if targetPlatform.isAlpha then "alpha" 209 else if targetPlatform.isVc4 then "vc4" 210 else if targetPlatform.isOr1k then "or1k" 211 else if targetPlatform.isRiscV then "lriscv" 212 else throw "unknown emulation for platform: ${targetPlatform.config}"; 213 in if targetPlatform.useLLVM or false then ""
··· 208 else if targetPlatform.isAlpha then "alpha" 209 else if targetPlatform.isVc4 then "vc4" 210 else if targetPlatform.isOr1k then "or1k" 211 + else if targetPlatform.isM68k then "m68k" 212 else if targetPlatform.isRiscV then "lriscv" 213 else throw "unknown emulation for platform: ${targetPlatform.config}"; 214 in if targetPlatform.useLLVM or false then ""