commit: 4d11adf1145471e4bbba7d66d45c324a2bcd4e24
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 19 09:47:21 2025 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Wed Mar 19 09:47:21 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d11adf1
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 <chewi <AT> gentoo.org>
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 39cab3d3af2c..7365b7469816 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