[Buildroot] [PATCH 04/16] uclibc: Enable compile in thumb mode when selected

Peter Korsgaard peter at korsgaard.com
Thu Mar 17 22:18:52 UTC 2016


>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni at free-electrons.com> writes:

Hi,

 >> Ahh, ok - Good to know. So this is only really needed for thumb2-only
 >> CPUs (cortex-M).

 > Mandatory for Thumb2-only CPUs, but perfectly usable for ARMv7-A as
 > well.

True.

 >> Completely unrelated, but notice that my browser wouldn't let
 >> me visit https://lists.uclibc.org because of the HSTS header on
 >> uclibc.org and the lists.uclibc.org vhost using a certificate for
 >> *.osuosl.org.

 > Same here, I have to use Firefox to be able to bypass the "security
 > checks". Chromium doesn't allow to bypass such security checks (at
 > least by default).

Yes, quite a mess :/

>> With ARMv7 I guess you mean thumb2-only CPUs (cortex-m)?
 >> 
 >> But COMPILE_IN_THUMB_MODE selects USE_BX / USE_LDREXTREX, so we cannot
 >> really do that.
 >> 
 >> I guess we should leave COMPILE_IN_THUMB_MODE alone (it just passes
 >> -mthumb in CFLAGS which we don't need), and just enable USE_BX/LDREXTREX
 >> when needed.

 > USE_LDREXSTREX depends on COMPILE_IN_THUMB_MODE, so you can't have
 > USE_LDREXSTREX without having COMPILE_IN_THUMB_MODE.

Ahh yes, but USE_BX is independent at least, so COMPILE_IN_THUMB_MODE
(which implies USE_LDREXSTREX) for thumb2, and NOT for classic
ARM/thumb1 mode.

 > So, instead what I've done is cook a set of patches for uClibc that
 > simply remove USE_BX, USE_LDREXSTREX and COMPILE_IN_THUMB. None of
 > those options are needed, everything can be guessed by looking at the
 > selected ARM variant, and for COMPILE_IN_THUMB, by passing -mthumb.

 > See
 > https://github.com/tpetazzoni/uclibc-ng/commits/arm-simplifications.

Thanks, it imho looks sensible.

> Build testing in progress. I'm testing:

 >  * Cortex-M4, so a Thumb2-only core
 >  * Cortex-A in Thumb2 mode
 >  * ARM920T in Thumb mode
 >  * FA526, which is an ARMv4 (and therefore doesn't support Thumb)

 > Any other config you think is relevant?

No, I think this pretty much covers it. There's afaik an arm11 variant
supporting thumb2, but I've never seen any SoCs using it and we don't
support it Buildroot.

-- 
Venlig hilsen,
Peter Korsgaard 



More information about the buildroot mailing list