[RFC] ppc64le enablement (#45340)

* ppc64le enablement

* gcc, glibc: properly handle __float128

* lib/systems, stdenv: syntax cleanup

* gcc7: remove ugly hack

* gcc: add/update __float128 flags

* stdenv: add another pair of quotes for consistency

* gcc: move __float128 flag for ppc64le-glibc into common/platform-flags.nix
This commit is contained in:
CrystalGamma
2018-08-21 21:31:34 +02:00
committed by John Ericson
parent cb44c3ff4c
commit 72d161f548
16 changed files with 87 additions and 23 deletions

View File

@@ -9,6 +9,9 @@ echo Patching the bootstrap tools...
if test -f $out/lib/ld.so.?; then
# MIPS case
LD_BINARY=$out/lib/ld.so.?
elif test -f $out/lib/ld64.so.?; then
# ppc64(le)
LD_BINARY=$out/lib/ld64.so.?
else
# i686, x86_64 and armv5tel
LD_BINARY=$out/lib/ld-*so.?

View File

@@ -16,11 +16,13 @@
"armv7l-linux" = import ./bootstrap-files/armv7l.nix;
"aarch64-linux" = import ./bootstrap-files/aarch64.nix;
"mipsel-linux" = import ./bootstrap-files/loongson2f.nix;
"powerpc64le-linux" = import ./bootstrap-files/ppc64le.nix;
};
"musl" = {
"aarch64-linux" = import ./bootstrap-files/aarch64-musl.nix;
"armv6l-linux" = import ./bootstrap-files/armv6l-musl.nix;
"x86_64-linux" = import ./bootstrap-files/x86_64-musl.nix;
"powerpc64le-linux" = import ./bootstrap-files/ppc64le-musl.nix;
};
};
archLookupTable = table.${localSystem.libc}

View File

@@ -5,16 +5,18 @@ let
localSystem = { inherit system; };
inherit crossSystem;
};
in with (import ../../../lib).systems.examples; {
armv5tel = make sheevaplug;
scaleway = make scaleway-c1;
pogoplug4 = make pogoplug4;
armv6l = make raspberryPi;
armv7l = make armv7l-hf-multiplatform;
aarch64 = make aarch64-multiplatform;
x86_64-musl = make musl64;
armv6l-musl = make muslpi;
aarch64-musl = make aarch64-multiplatform-musl;
riscv64 = make riscv64;
}
lib = import ../../../lib;
in lib.mapAttrs (n: make) (with lib.systems.examples; {
armv5tel = sheevaplug;
scaleway = scaleway-c1;
pogoplug4 = pogoplug4;
armv6l = raspberryPi;
armv7l = armv7l-hf-multiplatform;
aarch64 = aarch64-multiplatform;
x86_64-musl = musl64;
armv6l-musl = muslpi;
aarch64-musl = aarch64-multiplatform-musl;
riscv64 = riscv64;
powerpc64le = powernv;
powerpc64le-musl = musl-power;
})