No thumb only support in uclibc?

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Wed Jan 22 20:24:38 UTC 2014


On 11 January 2014 22:57, Andrei Gherzan <andrei at gherzan.ro> wrote:
>
> On Sat, Jan 11, 2014 at 11:45 PM, Bernhard Reutner-Fischer
> <rep.dot.nop at gmail.com> wrote:
>>
>> On 11 January 2014 21:42:00 Andrei Gherzan <andrei at gherzan.ro> wrote:
>>
>>> Hello all,
>>>
>>> I am trying to compile uclibc in thumb mode - which used to work in the
>>> past. Here is a log:
>>> http://pastebin.com/Y1hLKTvL
>>
>>
>> Thumb only is supposed to work, yes.
>>
>>>
>>> One of the errors seem to be related to
>>> commit 0eaaf662b70806181b7fe2a1b165769f4e48d0f0
>>> Author: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
>>> Date:   Fri Jun 15 13:44:35 2012 +0200
>>>     ldso: use .arm mode for resolver unconditionally
>>>     as per comment in the file.
>>>     Fixes runtime with __THUMB_INTERWORK__ enabled.
>>>     Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
>>>
>>> Isn't this breaking thumb? I'm talking about processors which support
>>> only
>>> thumb - no ARM instructions support.
>>
>>
>> Abovementioned commit was made under the assumption as per commit comment,
>> but I am pretty sure that I used a thumb1 with interworking enabled so this
>> could be wrong indeed. What CPU are you compiling for, which tune and insn
>> encoding?
>
>
> In the above pastebin you can see the gcc flags used and CPU which is a
> Cortex M3 (-mthumb -mno-thumb-interwork -mfloat-abi=softfp -mtune=cortex-m3
> -march=armv7-m)

I think i have touched this single spot now in master to be encoding agnostic
(Paul added thumb2 in efce79f09ae6daa77cd322df0d532beec3f445f5 ) but
It seems to me it was/is not complete:
>From the looks there are a couple of spots setting the thumb bits on addresses
that are written in arm mode, so you (resp. your thumb2 only v7 cortex-m3) will
trip.

Patches to fix thumb2-only are very welcome, of course.


More information about the uClibc mailing list