Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 02/17] arch/arm: Cortex-M3 provides only Thumb-2
Date: Sat, 19 Mar 2016 16:33:03 +0100	[thread overview]
Message-ID: <56ED712F.9000000@mind.be> (raw)
In-Reply-To: <20160318223456.GC32171@free.fr>

On 03/18/16 23:34, Yann E. MORIN wrote:
> Thomas, All,
>
> On 2016-03-18 22:08 +0100, Thomas Petazzoni spake thusly:
>> The Cortex-M cores only support Thumb-2, not Thumb. In fact, Thumb-2
>> is a superset of Thumb, and we could have a single option for both in
>> Buildroot, since -mthumb on ARMv4/v5 means original Thumb, while
>> -mthumb on ARMv7 means Thumb 2. However, for clarity, it makes sense
>> to have two separate options. But in this case, Cortex-M3 should not
>> advertise that it supports Thumb, as in fact selecting Thumb would
>> generate Thumb-2 code.
>
> So, if a package has some assembly code written in Thumb not Thimb2, it
> should do sometinh like:
>
>      ifeq ($(BR2_ARM_CPU_HAS_THUMB)$(BR2_ARM_CPU_HAS_THUMB2),y)
>      FOO_OPTS += --enable-thumb
>      endif
>
> whereas now it would only need to do:
>
>      ifeq ($(BR2_ARM_CPU_HAS_THUMB)$(BR2_ARM_CPU_HAS_THUMB2),y)

  I guess you meant to say

	ifeq ($(BR2_ARM_CPU_HAS_THUMB),y)

>      FOO_OPTS += --enable-thumb
>      endif
>
> Right?

  Indeed. This was discussed in v1 of the series, and Thomas updated the commit 
message to clarify that a bit. It turns out that we have no case you need a 
condition like that, but we do have a few cases where we need 
thumb-but-not-thumb2 (e.g. the uClibc threads stuff).

>
>> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
>
> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

  Regards,
  Arnout

>
> Regards,
> Yann E. MORIN.
>
>> ---
>>   arch/Config.in.arm | 1 -
>>   1 file changed, 1 deletion(-)
>>
>> diff --git a/arch/Config.in.arm b/arch/Config.in.arm
>> index 33f763a..cd1ec33 100644
>> --- a/arch/Config.in.arm
>> +++ b/arch/Config.in.arm
>> @@ -172,7 +172,6 @@ config BR2_cortex_a17
>>   	select BR2_ARCH_HAS_MMU_OPTIONAL
>>   config BR2_cortex_m3
>>   	bool "cortex-M3"
>> -	select BR2_ARM_CPU_HAS_THUMB
>>   	select BR2_ARM_CPU_HAS_THUMB2
>>   	select BR2_ARM_CPU_ARMV7M
>>   config BR2_fa526
>> --
>> 2.6.4
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

  reply	other threads:[~2016-03-19 15:33 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 [this message]
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 ` [Buildroot] [PATCH v2 06/17] uclibc: gcc >= 4.9 can build a thumb/thread uclibc Thomas Petazzoni
2016-03-19 15:53   ` 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=56ED712F.9000000@mind.be \
    --to=arnout@mind.be \
    --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