OVMFFull: fix build on aarch64-darwin (#513104)
This commit is contained in:
@@ -274,6 +274,5 @@ edk2.mkDerivation projectDscPath (finalAttrs: {
|
||||
mjoerg
|
||||
sigmasquadron
|
||||
];
|
||||
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -39,6 +39,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"-O3"
|
||||
];
|
||||
|
||||
# ACPICA emits packed structs that produce unaligned pointers. Apple's
|
||||
# arm64 linker rejects these under chained fixups; opt back into the
|
||||
# legacy fixup format so the link succeeds.
|
||||
NIX_LDFLAGS = lib.optionalString (
|
||||
stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64
|
||||
) "-no_fixup_chains";
|
||||
|
||||
# i686 builds fail with hardening enabled (due to -Wformat-overflow). Disable
|
||||
# -Werror altogether to make this derivation less fragile to toolchain
|
||||
# updates.
|
||||
@@ -46,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
# We can handle stripping ourselves.
|
||||
# Unless we are on Darwin. Upstream makefiles degrade coreutils install to cp if _APPLE is detected.
|
||||
INSTALLFLAGS = lib.optionals (!stdenv.hostPlatform.isDarwin) "-m 555";
|
||||
INSTALLFLAGS = lib.optionalString (!stdenv.hostPlatform.isDarwin) "-m 555";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
Reference in New Issue
Block a user