uclibc/arm: doesn't build in thumb(1) mode with threads
It runs out of registers, it fails even in official form (COMPILE_IN_THUMB_MODE=y) so just build it in ARM mode since EABI mandates interworking. Tested in an arm920t board. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
103045534a
commit
d244782caa
@ -185,7 +185,7 @@ config BR2_UCLIBC_ARM_TYPE
|
||||
config BR2_UCLIBC_ARM_BX
|
||||
bool
|
||||
depends on BR2_UCLIBC_TARGET_ARCH = "arm"
|
||||
default y if !BR2_fa265 && !BR2_strongarm
|
||||
default y if (BR2_ARM_CPU_HAS_THUMB || BR2_ARM_CPU_HAS_THUMB2)
|
||||
|
||||
config BR2_UCLIBC_MIPS_ABI
|
||||
string
|
||||
|
@ -74,6 +74,11 @@ define UCLIBC_ARM_ABI_CONFIG
|
||||
$(call UCLIBC_OPT_SET,CONFIG_ARM_EABI,y,$(@D))
|
||||
endef
|
||||
|
||||
# Thumb build is broken with threads, build in ARM mode
|
||||
ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB)$(BR2_TOOLCHAIN_HAS_THREADS),yy)
|
||||
UCLIBC_EXTRA_CFLAGS += -marm
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_UCLIBC_ARM_BX),y)
|
||||
define UCLIBC_ARM_BX_CONFIG
|
||||
$(call UCLIBC_OPT_SET,USE_BX,y,$(@D))
|
||||
@ -348,7 +353,7 @@ endif
|
||||
UCLIBC_MAKE_FLAGS = \
|
||||
ARCH="$(UCLIBC_TARGET_ARCH)" \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \
|
||||
UCLIBC_EXTRA_CFLAGS="$(UCLIBC_EXTRA_CFLAGS) $(TARGET_ABI)" \
|
||||
HOSTCC="$(HOSTCC)"
|
||||
|
||||
define UCLIBC_SETUP_DOT_CONFIG
|
||||
|
Loading…
Reference in New Issue
Block a user