On Sun, Mar 20, 2016 at 05:58:35PM +0100, Thomas Petazzoni wrote:
Currently, the Thumb support on ARM has three related Config.in options, which are not trivial for users to understand, and are in fact not needed:
- The USE_BX option is not needed: knowing whether BX is available or not is easy. If you have an ARM > v4 or ARMv4T, then BX is available, otherwise it's not. This is the logic used in glibc.
This sounds correct.
- The USE_LDREXSTREX option is not needed: whenever Thumb2 is available, ldrex/strex are available, so we can simply rely on __thumb2__ to determine whether ldrex/strex should be used, without requiring a Config.in option.
__thumb2__ is sufficient for ldrex/strex but not sufficient; v6 has them in the arm isa. Or does logic only apply when you've selected to use thumb?
Rich