Re: [arm-gnu] Thumb support in the gnu toolchain
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [arm-gnu] Thumb support in the gnu toolchain



> I just installed the arm-gnu tool chain you provide. I'm interested in
> generating thumb code. I see that the library code that is being
> linked is still the 32-bit arm code. I assume this is interworking
> code. Does the toolchain support pure 16-bit code (program+library)?

The bare-metal toolchains (-eabi) include both arm and thumb versions of the 
runtime libraries. The thumb libraries are used automatically when code is 
linked with -mthumb.

The linux toolchains (-linux-gnueabi) only include 32-bit arm runtime 
libraries.  It should be possible to rebuild the linux runtime libraries to 
use thumb code, but this is a nontrivial task, and has not been tested.
When using shared libraries there should only ever be once copy of the runtime 
library code in memory, so libc code size is less critical than application 
code.

All our toolchains generate interworking capable code, so you can safely mix 
arm and thumb code within the same program.

Paul