Busybox static complation issue with GCC 4.5 for ARMv7 - __tls_get_addr undefined

Joakim Tjernlund joakim.tjernlund at transmode.se
Tue Feb 1 10:04:57 UTC 2011


>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 2/1/2011 7:37 AM, Nitin Garg wrote:
> > We tried compiling busybox statically for ARMv7 and __tls_get_addr was
> > undefined. As handled in other architectures, we added the
> > __tls_get_addr definition for ARM to resolve the issue.
> >
> > Kindly review this and include in next release. Thanks,
> >
> > Regards,
> > Nitin Garg
> >
>
> Hi,
> Looks good. Similar fix was done for SH indeed.
> Just few comments in-lined.
>
> > diff -Naurp uClibc/libpthread/nptl/sysdeps/arm/libc-tls.c
> > uClibc.new/libpthread/nptl/sysdeps/arm/libc-tls.c
> > --- uClibc/libpthread/nptl/sysdeps/arm/libc-tls.c 1969-12-31
> > 18:00:00.000000000 -0600
> > +++ uClibc.new/libpthread/nptl/sysdeps/arm/libc-tls.c 2010-11-21
> > 17:38:43.000000000 -0600
> > @@ -0,0 +1,37 @@
> > +/* Thread-local storage handling in the ELF dynamic linker. ARM version.
> > + Copyright (C) 2005 Free Software Foundation, Inc.
> > + This file is part of the GNU C Library.
> > +
> > + The GNU C Library is free software; you can redistribute it and/or
> > + modify it under the terms of the GNU Lesser General Public
> > + License as published by the Free Software Foundation; either
> > + version 2.1 of the License, or (at your option) any later version.
> > +
> > + The GNU C Library is distributed in the hope that it will be useful,
> > + but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> > + Lesser General Public License for more details.
> > +
> > + You should have received a copy of the GNU Lesser General Public
> > + License along with the GNU C Library; if not, write to the Free
> > + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
> > + 02111-1307 USA. */
> > +
>
> I have some doubts on how we have to manage code extracted from glibc,
> especially for the copyright assignment.
>
> Could someone elaborate ?
>
> > +#include <sysdeps/generic/libc-tls.c>
> > +#include <dl-tls.h>
> > +
> > +#if USE_TLS
>
> #if defined (USE_TLS) && (USE_TLS)
>
> should be better, to avoid warning when TLS is not enabled

You should consider adding -Wundef (or så I think it is called)



More information about the uClibc mailing list