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