From 308d2c992714520844b2dd96a4d79d688afcd28a Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 18 Aug 2024 00:02:04 +0200 Subject: [PATCH] package/gnu-efi: disable on ARM and AArch64 big-endian Since the bump of gnu-efi to version 3.0.17 in Buildroot commit fa9893ad8fb94278d7e8b80cd3e795469223faf0, the build of gnu-efi fails on ARM big endian and AArch64 big endian. Indeed, since that bump, gnu-efi builds some "apps", using a special linker file part of gnu-efi that explicitly sets the architecture: OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64") Due to this, big endian builds are now failing: armeb-buildroot-linux-gnueabi-ld: ../gnuefi/crt0-efi-arm.o: compiled for a big endian system and target is little endian armeb-buildroot-linux-gnueabi-ld: failed to merge target specific data of file ../gnuefi/crt0-efi-arm.o Since we are not really interested in supporting gnu-efi on ARM big endian and AArch64 big endian and it is not supported upstream, let's disabled on those architectures. Fixes: http://autobuild.buildroot.org/results/4d385d6759346e19664d0bded1e419f004f82b47/ (ARM big endian) http://autobuild.buildroot.net/results/b6df43408ca4cd469962c96d49d9ac7935b6dbe9/ (AArch64 big endian) Signed-off-by: Thomas Petazzoni Signed-off-by: Yann E. MORIN --- package/gnu-efi/Config.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package/gnu-efi/Config.in b/package/gnu-efi/Config.in index 4f44cf9f64..012324712c 100644 --- a/package/gnu-efi/Config.in +++ b/package/gnu-efi/Config.in @@ -1,9 +1,8 @@ config BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS bool - default y if BR2_ARM_CPU_HAS_ARM + default y if BR2_arm && BR2_ARM_CPU_HAS_ARM default y if BR2_RISCV_64 default y if BR2_aarch64 - default y if BR2_aarch64_be default y if BR2_i386 default y if BR2_x86_64