Two fixes for arm EABI.

Joseph S. Myers joseph at codesourcery.com
Mon May 11 22:02:05 UTC 2009


On Mon, 11 May 2009, Rob Landley wrote:

> On Monday 11 May 2009 15:33:51 Joseph S. Myers wrote:
> > On Mon, 11 May 2009, Rob Landley wrote:
> > > Both -stable and -svn need the attached patches in order for armv5l-eabi
> > > and armv6l-eabi to work for me.
> >
> > The first patch should not be needed since these functions should only be
> > needed to resolve unresolved references in shared libc, and the second
> > certainly seems wrong since any program actually unwinding should get the
> > real versions of these functions from libgcc_s / libgcc_eh, not the dummy
> > versions from shared libc; those need to be hidden so nothing else ever
> > links against them.
> 
> If you build gcc with --disable-shared there isn't a libgcc_s or libgcc_eh, 
> and libgcc.a hasn't got 'em.  What do you recommend in that case?

If this is a compiler for normal use rather than for bootstrapping only, 
it's broken if it doesn't have these functions in some form of libgcc.

> (If you don't build gcc with --disable-shared, you need a libc.so to link 
> libgcc_s.so against before you've built a compiler with which to build that 
> libc.so.  Chicken and egg problem.)

If it's a bootstrapping issue, use the --disable-shared compiler only to 
build crt*.o, install those and the uClibc headers, build a dummy libc.so 
with -nostdlib -nostartfiles, and that suffices for the second compiler to 
build libgcc_s.so that suffices to build uClibc.

-- 
Joseph S. Myers
joseph at codesourcery.com


More information about the uClibc mailing list