From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 06/17] uclibc: gcc >= 4.9 can build a thumb/thread uclibc
Date: Fri, 18 Mar 2016 22:08:08 +0100 [thread overview]
Message-ID: <1458335299-27409-7-git-send-email-thomas.petazzoni@free-electrons.com> (raw)
In-Reply-To: <1458335299-27409-1-git-send-email-thomas.petazzoni@free-electrons.com>
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>
---
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 c981d80..ad94494 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.6.4
next prev parent reply other threads:[~2016-03-18 21:08 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-18 21:08 [Buildroot] [PATCH v2 00/17] ARM Cortex-M support and STM32 defconfigs Thomas Petazzoni
2016-03-18 21:08 ` [Buildroot] [PATCH v2 01/17] arch/arm: introduce and use BR2_ARM_CPU_ARMV7M Thomas Petazzoni
2016-03-18 22:30 ` Yann E. MORIN
2016-03-19 13:33 ` Thomas Petazzoni
2016-03-19 13:59 ` Yann E. MORIN
2016-03-19 14:08 ` Thomas Petazzoni
2016-03-18 21:08 ` [Buildroot] [PATCH v2 02/17] arch/arm: Cortex-M3 provides only Thumb-2 Thomas Petazzoni
2016-03-18 22:34 ` Yann E. MORIN
2016-03-19 15:33 ` Arnout Vandecappelle
2016-03-18 21:08 ` [Buildroot] [PATCH v2 03/17] arch/arm: add Cortex-M4 entry Thomas Petazzoni
2016-03-18 22:41 ` Yann E. MORIN
2016-03-18 21:08 ` [Buildroot] [PATCH v2 04/17] uclibc: add patches to simplify Thumb handling Thomas Petazzoni
2016-03-19 15:46 ` Arnout Vandecappelle
2016-03-29 22:14 ` Thomas Petazzoni
2016-03-18 21:08 ` [Buildroot] [PATCH v2 05/17] uclibc: remove USE_BX handling Thomas Petazzoni
2016-03-19 15:47 ` Arnout Vandecappelle
2016-03-18 21:08 ` Thomas Petazzoni [this message]
2016-03-19 15:53 ` [Buildroot] [PATCH v2 06/17] uclibc: gcc >= 4.9 can build a thumb/thread uclibc Arnout Vandecappelle
2016-03-29 22:18 ` Thomas Petazzoni
2016-03-29 22:49 ` Arnout Vandecappelle
2016-03-18 21:08 ` [Buildroot] [PATCH v2 07/17] uclibc: disable DOPIC on ARM FLAT Thomas Petazzoni
2016-03-19 16:11 ` Arnout Vandecappelle
2016-03-29 22:20 ` Thomas Petazzoni
2016-03-19 19:27 ` Ezequiel Garcia
2016-03-19 20:50 ` Thomas Petazzoni
2016-03-20 1:59 ` Ezequiel Garcia
2016-03-18 21:08 ` [Buildroot] [PATCH v2 08/17] uclibc: context functions are not Thumb-compatible Thomas Petazzoni
2016-03-19 16:20 ` Arnout Vandecappelle
2016-03-19 18:07 ` Thomas Petazzoni
2016-03-20 19:39 ` Arnout Vandecappelle
2016-03-18 21:08 ` [Buildroot] [PATCH v2 09/17] uclibc: NPTL thread implementation only available on MMU platforms Thomas Petazzoni
2016-03-18 21:08 ` [Buildroot] [PATCH v2 10/17] musl: build broken on Thumb, use ARM mode Thomas Petazzoni
2016-03-18 21:08 ` [Buildroot] [PATCH v2 11/17] toolchain-buildroot: update glibc comment for noMMU Thomas Petazzoni
2016-03-18 21:08 ` [Buildroot] [PATCH v2 12/17] toolchain-buildroot: don't show musl on noMMU platforms Thomas Petazzoni
2016-03-18 21:08 ` [Buildroot] [PATCH v2 13/17] package/Makefile.in: adjust LDFLAGS for elf2flt Thomas Petazzoni
2016-03-18 21:08 ` [Buildroot] [PATCH v2 14/17] elf2flt: use new upstream site and add ARM patch Thomas Petazzoni
2016-03-18 21:34 ` Ezequiel Garcia
2016-03-19 13:32 ` Thomas Petazzoni
2016-03-18 21:08 ` [Buildroot] [PATCH v2 15/17] afboot-stm32: use the Buildroot toolchain Thomas Petazzoni
2016-03-18 21:08 ` [Buildroot] [PATCH v2 16/17] configs/stm32f429_disco: new configuration for STM32F429 Discovery board Thomas Petazzoni
2016-03-21 9:48 ` Lee Jones
2016-03-21 10:39 ` Thomas Petazzoni
2016-03-18 21:08 ` [Buildroot] [PATCH v2 17/17] configs/stm32f469_disco: new configuration for STM32F469 " Thomas Petazzoni
2016-03-21 9:46 ` Lee Jones
2016-03-18 21:17 ` [Buildroot] [PATCH v2 00/17] ARM Cortex-M support and STM32 defconfigs Thomas Petazzoni
2016-03-18 22:49 ` Ezequiel Garcia
2016-03-19 13:32 ` Thomas Petazzoni
2016-03-19 16:12 ` Arnout Vandecappelle
2016-03-20 14:39 ` Thomas Petazzoni
2016-03-21 9:49 ` Lee Jones
2016-03-29 22:28 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1458335299-27409-7-git-send-email-thomas.petazzoni@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).