From 4d11adf1145471e4bbba7d66d45c324a2bcd4e24 Mon Sep 17 00:00:00 2001 From: James Le Cuirot Date: Wed, 19 Mar 2025 09:47:21 +0000 Subject: [PATCH] sys-firmware/edk2: Drop arm64 from 202502 for now It fails to build due to a DT_TEXTREL and linker warnings now being fatal. I will investigate soon. Signed-off-by: James Le Cuirot --- sys-firmware/edk2/edk2-202502.ebuild | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/sys-firmware/edk2/edk2-202502.ebuild b/sys-firmware/edk2/edk2-202502.ebuild index 39cab3d3af2cc..7365b7469816a 100644 --- a/sys-firmware/edk2/edk2-202502.ebuild +++ b/sys-firmware/edk2/edk2-202502.ebuild @@ -48,7 +48,7 @@ SRC_URI=" S="${WORKDIR}/${PN}-${PN}-stable${PV}" LICENSE="BSD-2 MIT" SLOT="0" -KEYWORDS="-* ~amd64 ~arm64 ~loong ~riscv" +KEYWORDS="-* ~amd64 ~loong ~riscv" BDEPEND=" ${PYTHON_DEPS} @@ -205,6 +205,14 @@ raw_to_qcow2() { done } +nx_strict_args() { + "${@}" \ + --pcd PcdDxeNxMemoryProtectionPolicy=0xC000000000007FD5 \ + --pcd PcdImageProtectionPolicy=0x03 \ + --pcd PcdNullPointerDetectionPropertyMask=0x03 \ + --pcd PcdSetNxForStack=TRUE +} + src_compile() { TOOLCHAIN="GCC5" BUILD_TARGET="RELEASE" @@ -228,9 +236,14 @@ src_compile() { case "${ARCH}" in amd64) + BUILD_ARGS+=( + # shim.efi has broken MemAttr code + --pcd PcdUninstallMemAttrProtocol=TRUE + ) + local SIZE for SIZE in _2M _4M; do - mybuild -a X64 -p OvmfPkg/OvmfPkgX64.dsc \ + nx_strict_args mybuild -a X64 -p OvmfPkg/OvmfPkgX64.dsc \ -D FD_SIZE${SIZE}B \ -D BUILD_SHELL=FALSE \ -D SECURE_BOOT_ENABLE \ @@ -239,7 +252,8 @@ src_compile() { mv -T Build/OvmfX64 Build/OvmfX64${SIZE}.secboot || die mybuild -a X64 -p OvmfPkg/OvmfPkgX64.dsc \ - -D FD_SIZE${SIZE}B + -D FD_SIZE${SIZE}B \ + --pcd PcdDxeNxMemoryProtectionPolicy=0 mv -T Build/OvmfX64 Build/OvmfX64${SIZE} || die @@ -251,19 +265,18 @@ src_compile() { ;; arm64) BUILD_ARGS+=( - # grub.efi uses EfiLoaderData for code - --pcd PcdDxeNxMemoryProtectionPolicy=0xC000000000007FD1 # shim.efi has broken MemAttr code --pcd PcdUninstallMemAttrProtocol=TRUE ) - mybuild -a AARCH64 -p ArmVirtPkg/ArmVirtQemu.dsc \ + nx_strict_args mybuild -a AARCH64 -p ArmVirtPkg/ArmVirtQemu.dsc \ -D BUILD_SHELL=FALSE \ -D SECURE_BOOT_ENABLE mv -T Build/ArmVirtQemu-AARCH64 Build/ArmVirtQemu-AARCH64.secboot_INSECURE || die - mybuild -a AARCH64 -p ArmVirtPkg/ArmVirtQemu.dsc + mybuild -a AARCH64 -p ArmVirtPkg/ArmVirtQemu.dsc \ + --pcd PcdDxeNxMemoryProtectionPolicy=0xC000000000007FD1 mk_fw_vars arm64 Build/ArmVirtQemu-AARCH64.secboot_INSECURE/"${BUILD_DIR}"/FV/QEMU_VARS.fd raw_to_qcow2 64m Build/ArmVirtQemu-AARCH64*/"${BUILD_DIR}"/FV/QEMU_{EFI,VARS}.fd