This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: glibc2.3.2, linux 2.4.18, and TLS


First, please forgive the screwed-up format of my response... I'm using a 
Notes client and can't get it to format my reply correctly.

I just tried grabbing a copy of the 2.3.2 source from ftp.gnu.org and 
built it with the same configure command line I used before.  When I try 
to use the compiled library, for example by doing an ls,  I get the error 
: 

ls: relocation error: /usr/local/tls/lib/libc.so.6: symbol 
__libc_stack_end, version GLIBC_PRIVATE not defined in file link time 
reference.

In the version I built earlier using our local set of patches, the above 
error does not occur because one of the patches removes __libc_stack_end 
from the GLIBC_PRIVATE section of ld.  In addition, the libraries I just 
built contain no tls_ symbols.  Also, looking at the configure script, it 
appears to me that the --with-t,ls option is a no-op -- it sets a variable 
that is not referenced anywhere else in the script.  Could you tell me 
what configure command line you're using, plus any environment variable 
settings?  Also, can you confirm that the tls_ functions are actually 
present in the library you built?

Thanks,
Bryan




From:
"Justin P. Mattock" <justinmattock@gmail.com>
To:
Bryan Williams/Atlanta/IBM@IBMUS
Cc:
libc-help@sourceware.org
Date:
01/26/2010 03:16 PM
Subject:
Re: glibc2.3.2, linux 2.4.18, and TLS



On 01/26/10 08:45, Bryan Williams wrote:
> I'm trying to build a version of glibc 2.3.2 that supports linuxthreads
> and TLS (thread-local storage).  I want to use the resulting library 
with
> a 2.4.18 Linux kernel.
>
> The configure script has a --with-tls option, but it appears to be a 
no-op
> -- it sets a variable in the configure script that is never referenced,
> and the libraries that are built apparently contain no tls symbols (for
> example, __tls_get_addr is missing).  I've made some progress by adding
> CFLAGS
> to enable TLS functionality, but I keep running into errors.  On my most
> recent attempt, I had CFLAGS set to '-O2 -DUSE_TLS -DHAVE_TLS_SUPPORT
> -DFLOATING_STACKS', and invoked configure as follows (I'm building in a
> tls subdirectory of the top-level source directory)
>
> ../configure --prefix=/usr/local/tls --enable-add-ons=linuxthreads
> --with-tls AUTOCONF=/usr/bin/autoconf
>
> Can anyone tell me whether what I'm attempting should be possible?  The
> code I'm building has a number of patches applied, but it doesn't seem
> practical to list them all.  I'm hoping someone might be able to point 
me
> to a source RPM or tarball that contains source I should be able to 
build.
>
> Thanks,
> Bryan Williams
> Software Engineer
> IBM
> bdwillia@us.ibm.com
>


hmm.. did you grab just a random snapshot?
i.g. I'm thinking if you did so maybe by chance
tls was patched in only the option part, and then a few weeks
later in time the rest of tls was put in..

over here using the latest git tls went in fine, nss(crypt) failed
only because I need to build the nss stuff for libc.

hope this helps

Justin P. Mattock




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]