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

Andre McCurdy armccurdy at gmail.com
Mon Jun 4 21:33:27 UTC 2018


On Tue, May 22, 2018 at 3:33 AM, Khem Raj <raj.khem at gmail.com> wrote:
> On Tue, May 22, 2018 at 5:58 AM,  <Jef.Driesen at niko.eu> wrote:
>> Andre McCurdy wrote:
>>> Although there may still be specific cases which can benefit from the
>>> ARM instruction set, the Thumb2 instruction set is generally a better
>>> default for armv7a class CPUs. Distros such as Debian and Fedora have
>>> been targeting Thumb2 by default for some time.
>>>
>>> Note that setting ARM_INSTRUCTION_SET has no effect unless
>>> TUNE_FEATURES contains "thumb" (which is controlled by the "t" suffix
>>> in DEFAULTTUNE, e.g. armv7vehf-neon -vs- armv7vethf-neon, etc) so out
>>> of tree machine configs may need to update their DEFAULTTUNE to take
>>> advantage of this change.
>>
>> I recently ran into some major problems due to thumb vs arm. It turns out glibc doesn't support systems with thumb disabled anymore. See this bug report for details:
>>
>> https://sourceware.org/bugzilla/show_bug.cgi?id=23031
>>
>> This might be useful input for this discussion also.
>>

Thanks to everyone for the feedback!

I've reviewed Martin's examples of distros which control
ARM_INSTRUCTION_SET and don't see anything which would conflict with
this patch.

I've also reviewed the glibc bug (Thumb2 instructions used in glibc
even when glibc is compiled for ARM) and it's a positive in this
discussion. It means that anyone running without Thumb support enabled
in their kernel will already have run into issues simply by using
glibc in rocko. The glibc bug has therefore "cleaned the pipes" for a
more formal switch to using Thumb2 instructions in user space.

So, unless there's any further feedback, I think this patch is ready to merge.



More information about the Openembedded-core mailing list