This is just a quick heads up to let folks know that I now have a NetBSD
kernel running on my integrator board (with ARM10e) that supports
applications compiled as Thumb code.
It's stable enough that I've been able to debug and complete a bootstrap
of gcc (trunk) compiling to Thumb code. The size savings are quite
impressive:
On my shark the size of the cc1 binary is
shark1:egcs [759] $ size gcc/cc1
text data bss dec hex filename
3677285 6432 330916 4014633 3d4229 gcc/cc1
Whereas on the integrator we see
integrator:gcc [611] $ size gcc/cc1
text data bss dec hex filename
2727208 6392 330496 3064096 2ec120 cc1
which represents a 30.2% saving in code size.
On v5t processors the Thumb binaries can make use of the same shared
libraries as ARM binaries (provided that the libraries are compiled for
v5t). The limited natural inteworking ability of v4t processors means
that I don't intend to back-port this work to the older cores.
I'll be starting to commit the changes shortly; most of them are pretty
straight-forward.
R.
PS v5t means ARM9e cores (eg arm926, but not arm920), arm10, xscale and
above.