From 45d7f014517ef7c71b180f5d726d06517d6658c1 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Fri, 18 Mar 2016 22:08:08 +0100 Subject: [PATCH] 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 Reviewed-by: Arnout Vandecappelle (Essensium/Mind) Signed-off-by: Thomas Petazzoni --- package/uclibc/uclibc.mk | 6 ++++-- 1 file 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 -- 2.30.2