From 8195e85e10c30b2284613200b4cb1dcba31c9386 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Tue, 26 Jul 2022 15:12:47 +0200 Subject: [PATCH] package/uclibc: define BR2_UCLIBC_TARGET_ARCH for ARM64 So far, BR2_UCLIBC_TARGET_ARCH had a value for all architectures... except for ARM64. Its value is passed as ARCH= when building uClibc... which is currently empty: /usr/bin/make -j33 -C .../build/uclibc-1.0.41 ARCH="" CROSS_COMPILE=".../host/bin/aarch64-buildroot-linux-uclibc-" And also in uclibc.mk, when we inject the architecture in uClibc's .config: $(call KCONFIG_ENABLE_OPT,TARGET_$(UCLIBC_TARGET_ARCH)) $(call KCONFIG_SET_OPT,TARGET_ARCH,"$(UCLIBC_TARGET_ARCH)") We enable TARGET_ (which doesn't exist) and set TARGET_ARCH to the empty string. Nobody noticed so far, and it happens to work because aarch64 is the first architecture in the choice of architectures in extra/Configs/Config.in in the uClibc code. So, when the architecture is not specified, aarch64 is used. As we are about to add some logic in uclibc.mk that will use BR2_UCLIBC_TARGET_ARCH, we noticed this missing definition. Signed-off-by: Thomas Petazzoni Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/uclibc/Config.in | 1 + 1 file changed, 1 insertion(+) diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in index 2eea4d30f3..ba8b5885ec 100644 --- a/package/uclibc/Config.in +++ b/package/uclibc/Config.in @@ -124,6 +124,7 @@ config BR2_UCLIBC_INSTALL_UTILS # uClibc architecture names. config BR2_UCLIBC_TARGET_ARCH string + default "aarch64" if BR2_aarch64 || BR2_aarch64_be default "arc" if BR2_arcle || BR2_arceb default "arm" if BR2_arm || BR2_armeb default "m68k" if BR2_m68k