uClibc ARM thumb support

John Bowler jbowler at acm.org
Sun Jan 22 19:30:51 UTC 2006

From: Paul Brook [mailto:paul at codesourcery.com]
>Mainline binutils and gcc should both work fine in thumb mode.

binutils 2.16 has serious bugs in the thumb handling, it doesn't
work at all.  OE has the patches but I haven't got round to pushing
them upstream yet.  I hope that someone has fixed at least some of
the problems in 2.16.1

>Recent toolchains don't use these symbols anyway.

Well, indeed, implementing an extern symbol containing just one
instruction (ldr pc, [rx]) is, well, false economy ;-)  Particularly
as there are 15 of them and most of them aren't used in any
compilation unit and, anyway, when gcc 3.4.4 used _call_via_ip it
could trash ip if the same function used it in an asm()

In parallel with the observation about binutils, gcc 3.4.4 libgcc
doesn't work in Linux because the standard Linux build doesn't
include essential thumb support.

So my inclination is to hope it is all fixed in EABI tools, and
therefore to skip the dl-hash.c fixup, because, apart from the
issue of weak symbol definitions in DLLs, it is specific to
issues in the tool chain, not uClib.

John Bowler <jbowler at acm.org>

More information about the uClibc mailing list