Fix computation of REAL_GNU_TARGET_NAME
The current computation of REAL_GNU_TARGET_NAME is incorrect for non-ARM glibc platforms because it generates something such as mipsel-unknown-linux- as the REAL_GNU_TARGET_NAME. So we correct this by : * Adding "gnu" in the suffix when glibc is used, so that in the previous case we will have mipsel-unknown-linux-gnu * Improving the ARM_EABI code to correctly append "eabi" when glibc is selected, so that we have arm-unknown-linux-gnueabi, and to append "gnueabi" when uclibc is selected, so that we have arm-unknown-linux-uclibcgnueabi. The little trick here is that LIBC and ABI aren't completely orthogonal on ARM. This fixes problems such as : checking host system type... Invalid configuration `mipsel-unknown-linux-': machine `mipsel-unknown-linux' not recognized Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
d58a827fe5
commit
ece1f4225c
@ -93,11 +93,20 @@ LIBC=uclibc
|
||||
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y)
|
||||
LIBC=uclibc
|
||||
else
|
||||
LIBC=
|
||||
LIBC=gnu
|
||||
endif
|
||||
|
||||
# The ABI suffix is a bit special on ARM, as it needs to be
|
||||
# -uclibcgnueabi for uClibc EABI, -uclibc for uClibc OABI, -gnueabi
|
||||
# for glibc EABI and -gnu for glibc OABI. This means that the LIBC and
|
||||
# ABI aren't strictly orthogonal, which explains why we need the test
|
||||
# on LIBC below.
|
||||
ifeq ($(BR2_ARM_EABI),y)
|
||||
ifeq ($(LIBC),uclibc)
|
||||
ABI=gnueabi
|
||||
else
|
||||
ABI=eabi
|
||||
endif
|
||||
endif
|
||||
|
||||
REAL_GNU_TARGET_NAME=$(ARCH)-unknown-linux-$(LIBC)$(ABI)
|
||||
|
Loading…
Reference in New Issue
Block a user