[OE-core] [PATCH] arch-armv7a.inc: default to Thumb2 instruction set for armv7a and above

Andre McCurdy armccurdy at gmail.com
Sat May 19 07:31:51 UTC 2018

On Sat, May 19, 2018 at 12:11 AM, Martin Jansa <martin.jansa at gmail.com> wrote:
> On Fri, May 18, 2018 at 11:48:45PM -0700, Andre McCurdy wrote:
>> On Fri, May 18, 2018 at 10:42 PM, Martin Jansa <martin.jansa at gmail.com> wrote:
>> > This variable was always meant to be used from DISTRO config
>> I'm not sure if that's true. Do you have a reference?
> http://git.openembedded.org/openembedded-core/commit/?id=951200673af27538beaef647a33308b4f15d1fb0
> "in case we have MACHINE without "thumb" in TUNE_FEATURES and distro setting ARM_INSTRUCTION_SET to "thumb""
> https://github.com/Angstrom-distribution/meta-angstrom/blob/master/conf/distro/include/angstrom.inc#L39
> https://github.com/shr-distribution/meta-smartphone/blob/fido/meta-shr-distro/conf/distro/shr.conf#L150

Certainly there are distros which force ARM_INSTRUCTION_SET. I'm not
sure if that's evidence that machines shouldn't set a default though?

>> >, why not add it
>> > to:
>> > oe-core/meta/conf/distro/include/default-distrovars.inc
>> > or
>> > oe-core/meta/conf/distro/include/tcmode-default.inc
>> >
>> > ?
>> Because then it would either apply to all ARM machines, including
>> those which only support Thumb1, which isn't ideal. Keeping it as part
>> of the machine config makes it easy to apply selectively to armv7a and
>> above where we know it's safe and desirable. Distros can of course
>> still over-ride (ie the machine only sets a weak default).
> You can still enable it with weak assignment only for some architectures
> like Angstrom does. But I don't see any reason why not enable it for all
> architectures? Yes Thumb1 isn't as good as Thumb2 but still many people
> are using it

I'm not sure if there are "many people" still trying to persevere with
Thumb1. Maybe there are a few masochists left, but I guess they
probably have their own distros and don't rely on the oe-core

My approach is to try to make small, safe, incremental improvements
and doing anything which might change the default instruction set to
Thumb for CPUs which can only support Thumb1 doesn't fit that

>, why shouldn't oe-core be tested with thumb enabled (with
> armv5te qemuarm?), see:
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=9213
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=1709
>> Is there a specific problem you see with the current patch?
> DISTROs doing multi machine builds already need to select the right
> DEFAULTTUNEs to find good compromise with common denominator of the
> MACHINEs they want to support (or groups of MACHINEs they want to
> support). Supporting or not supporting thumb at all is part of that
> question so DISTRO should decide that, tune files already have the thumb
> knob in TUNE_FEATURES to say which MACHINE is capable of supporting it.

Setting a weak default for armv7a and above from the machine config
doesn't change any of that. Distros still have full control.

More information about the Openembedded-core mailing list