This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


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: Problem with glibc mainline and linuxthreads on x86-64


Andreas Jaeger <aj@suse.de> writes:

|> Compiling glibc mainline for x86-64 I get this error:
|> 
|> /usr/src/aj/build-glibc-mainline/linuxthreads/libpthread_pic.a(attr.os): In function `pthread_attr_init@GLIBC_2.2.5':
|> itimerspec/attr.c:48: multiple definition of `pthread_attr_init@GLIBC_2.2.5'
|> /usr/lib64/gcc-lib/x86_64-suse-linux/3.2/../../../../x86_64-suse-linux/bin/ld: Warning: size of symbol `pthread_attr_init@GLIBC_2.2.5' changed from 83 to 40 in /usr/src/aj/build-glibc-mainline/linuxthreads/libpthread_pic.a(attr.os)
|> /usr/src/aj/build-glibc-mainline/linuxthreads/libpthread_pic.a(pthread.os): In function `pthread_create@GLIBC_2.2.5':
|> Elf32_Ehdr/pthread.c:796: multiple definition of `pthread_create@GLIBC_2.2.5'
|> /usr/lib64/gcc-lib/x86_64-suse-linux/3.2/../../../../x86_64-suse-linux/bin/ld: Warning: size of symbol `pthread_create@GLIBC_2.2.5' changed from 198 to 153 in /usr/src/aj/build-glibc-mainline/linuxthreads/libpthread_pic.a(pthread.os)
|> /usr/src/aj/build-glibc-mainline/linuxthreads/libpthread_pic.a(oldsemaphore.os):
|> 
|> 
|> $ nm linuxthreads/attr.os |grep pthread_attr_init
|> 0000000000000054 T __pthread_attr_init_2_0
|> 0000000000000000 T __pthread_attr_init_2_1
|> 0000000000000000 T pthread_attr_init@@GLIBC_2.2.5
|> 0000000000000054 T pthread_attr_init@GLIBC_2.2.5
|> 
|> One think puzzles me: Why do I get the _2_0 symbol at all?  There's no
|> compatibility for x86-64 for glibc 2.0 and therefore the stuff should
|> not get compiled in.
|> 
|> linuxthreads/shlib-versions contains:
|> x86_64-.*-linux.*	libpthread=0		GLIBC_2.2.5
|> 
|> Can anybody hint me in the right direction?

The problem ist that abi-versions.h does not define
ABI_libpthread_GLIBC_2_2_5, but all previous version are defined in terms
of this.  Thus ABI_libpthread_GLIBC_2_0 == 0 and the compat function is
compiled in.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


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