summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-03-18 22:08:08 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-03-30 00:15:14 +0200
commit45d7f014517ef7c71b180f5d726d06517d6658c1 (patch)
tree95ba992b8680e90da6887f0add4b56f745d67755
parent0bbe85e6ea9ccf9f22bead7c45eaa3a4684200e8 (diff)
downloadbuildroot-45d7f014517ef7c71b180f5d726d06517d6658c1.tar.gz
buildroot-45d7f014517ef7c71b180f5d726d06517d6658c1.zip
uclibc: gcc >= 4.9 can build a thumb/thread uclibc
Older gcc were not capable of building a uClibc library, with threads enabled, in Thumb1. However, the issues have been fixed since gcc 4.9, so this commit narrows down the condition to just gcc 4.7 and 4.8. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r--package/uclibc/uclibc.mk6
1 files changed, 4 insertions, 2 deletions
diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk
index c981d80118..ad94494bcc 100644
--- a/package/uclibc/uclibc.mk
+++ b/package/uclibc/uclibc.mk
@@ -75,8 +75,10 @@ define UCLIBC_ARM_ABI_CONFIG
$(call KCONFIG_ENABLE_OPT,CONFIG_ARM_EABI,$(@D)/.config)
endef
-# Thumb build is broken with threads, build in ARM mode
-ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB)$(BR2_TOOLCHAIN_HAS_THREADS),yy)
+# Thumb1 build is broken with threads with old gcc versions (4.7 and
+# 4.8). Since all cores supporting Thumb1 also support ARM, we use ARM
+# code in this case.
+ifeq ($(BR2_GCC_VERSION_4_7_X)$(BR2_GCC_VERSION_4_8_X):$(BR2_ARM_INSTRUCTIONS_THUMB)$(BR2_TOOLCHAIN_HAS_THREADS),y:yy)
UCLIBC_EXTRA_CFLAGS += -marm
endif
OpenPOWER on IntegriCloud