Reworked the patch as per your suggestion, pls accept. Regards, Nitin
On Tue, Feb 1, 2011 at 3:53 AM, Carmelo AMOROSO <carmelo.amor...@st.com> wrote: > -----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 >> + >> +/* On ARM, linker optimizations are not required, so __tls_get_addr >> + can be called even in statically linked binaries. In this case module >> + must be always 1 and PT_TLS segment exist in the binary, otherwise it >> + would not link. */ >> + >> +void * >> +__tls_get_addr (tls_index *ti) >> +{ >> + dtv_t *dtv = THREAD_DTV (); >> + return (char *) dtv[1].pointer.val + ti->ti_offset; >> +} >> + >> +#endif >> diff -Naurp uClibc/libpthread/nptl/sysdeps/arm/Makefile.arch >> uClibc.new/libpthread/nptl/sysdeps/arm/Makefile.arch >> --- uClibc/libpthread/nptl/sysdeps/arm/Makefile.arch 2010-11-18 >> 12:34:13.000000000 -0600 >> +++ uClibc.new/libpthread/nptl/sysdeps/arm/Makefile.arch >> 2010-11-21 16:30:48.000000000 -0600 >> @@ -15,3 +15,4 @@ ASFLAGS-pthread_spin_lock.S = -DNOT_IN_l >> ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc -DIS_IN_libpthread >> ASFLAGS-aeabi_read_tp.S = -DNOT_IN_libc=1 >> >> +libc_arch_a_CSRC = libc-tls.c >> _______________________________________________ >> uClibc mailing list >> uClibc@uclibc.org >> http://lists.busybox.net/mailman/listinfo/uclibc >> > > Cheers, > Carmelo > > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (MingW32) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iEYEARECAAYFAk1H2AUACgkQoRq/3BrK1s+zRQCgpCOKOCSgvr7nuDRljk/gwWX4 > t9sAoJh/Y5K+BeKLAru80ZcT+HjX9Yav > =0Lvp > -----END PGP SIGNATURE----- > _______________________________________________ > uClibc mailing list > uClibc@uclibc.org > http://lists.busybox.net/mailman/listinfo/uclibc >
0001-ARM-static-link-fix-undefined__tls_get_addr.patch
Description: Binary data
_______________________________________________ uClibc mailing list uClibc@uclibc.org http://lists.busybox.net/mailman/listinfo/uclibc