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

Andre McCurdy armccurdy at gmail.com
Tue Jun 26 19:52:19 UTC 2018


On Mon, Jun 4, 2018 at 2:33 PM, Andre McCurdy <armccurdy at gmail.com> wrote:
> 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.

Ping.

Richard, Ross, please let me know if anything else needs to be done
before merging this update.



More information about the Openembedded-core mailing list