Subject: Heads up: Thumb code working on NetBSD
To: None <port-arm@netbsd.org, port-hpcarm@netbsd.org>
From: Richard Earnshaw <rearnsha@netbsd.org>
List: port-arm
Date: 08/20/2004 10:06:53
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.