Status of Thumb?

John Bowler jbowler at acm.org
Fri Sep 23 20:54:32 UTC 2005


It's fully working with the patches I have.

The uClibc initial versions of these are in the bug report I submitted (on
the uclibc bug list).

The fully versions are in the OpenEmbedded monotone repository for the
'ucslugc' distro.  They require:

binutils 2.16 + patches
gcc 3.4.4 + patches
uclibc + patches

And all of these patches are checked in.  With these you can build a full
working arm thumb OE OS with all the current ucslugc packages except perl in
thumb - everything is -mthumb -mthumb-interwork, armv5 and above only.  The
kernel is still 32 bit, but everything else (libgcc up) is thumb.  gdb is
fscked - thumb support seems to be missing in 6.3 - but that (and
libperl.so, which uses a custom ld command line) are the only problems I
know.

I also have a Linux kernel patch to add support for a thumb breakpoint swi,
but since that isn't sufficient on it's own to get gdb working I didn't list
it above.

Note that you *do* need patched binutils - __foo_from_arm (the stub to call
a thumb foo from arm) is broken-by-design because the original stub is not
PIC... oops.

You *do* need patched gcc 3.4.4 because the _call_from_rX is
broken-by-design - it ends up being called via the PLT in a standard gcc
build, oops.  (This is the source of the perl problem too.)

I will be updating the current bug report with the uclibc patches in the
next few days (but since you need binutils/gcc it's probably better to look
in the OE source!)

John Bowler <jbowler at acm.org>




More information about the uClibc mailing list