public inbox for libc-hacker@sourceware.org
 help / color / mirror / Atom feed
From: Jakub Jelinek <jakub@redhat.com>
To: Steven Munroe <munroesj@us.ibm.com>
Cc: Roland McGrath <roland@redhat.com>,
	Glibc hackers <libc-hacker@sources.redhat.com>
Subject: Re: [PATCH] Fix s_finitel.c on ppc/ppc64
Date: Wed, 01 Feb 2006 17:45:00 -0000	[thread overview]
Message-ID: <20060201174525.GC4625@sunsite.mff.cuni.cz> (raw)
In-Reply-To: <43E0F2AE.3050702@us.ibm.com>

On Wed, Feb 01, 2006 at 11:41:02AM -0600, Steven Munroe wrote:
> >While comparing ppc{,64} and s390{,64} abilist differences between
> >older DFmode only long double capable glibc with current CVS glibc,
> >I noticed we are now only exporting {__,}finitel@GLIBC_2.{1,0}
> >and not also {__,}finitel@@GLIBC_2.4.  Fixed thusly:
> >  
> 
> Thanks for finding this and the libio-ldbl.h problem. I have hit this
> trying a full biarch toolchain build. But it looks there are simular
> problems with sprintf and __strtold_internal. I am hitting this in the
> powerpc glibc install for -msecure-plt bootstrap.
> 
> /opt/biarch/gcc41-ld/bin/powerpc-secure-gcc   -o
> /home/sjmunroe/toolchain/build/glibc32/malloc/memusagestat
> /home/sjmunroe/toolchain/build/glibc32/malloc/memusagestat.o  -lgd -lpng
> -lz -lm
> /opt/biarch/gcc41-ld/lib/gcc/powerpc-linux/4.1.0/../../../../lib/libm.so:
> undefined reference to `finitel@GLIBC_2.4'
> /opt/biarch/gcc41-ld/lib/gcc/powerpc-linux/4.1.0/../../../../lib/libm.so:
> undefined reference to `sprintf@GLIBC_2.4'
> /opt/biarch/gcc41-ld/lib/gcc/powerpc-linux/4.1.0/../../../../lib/libm.so:
> undefined reference to `__strtold_internal@GLIBC_2.4'
> collect2: ld returned 1 exit status
> 
> Will the fix be simular to finitel?

There are no problems with sprintf nor __strtold_internal in the
.dynsyms I have:
find . -type f | xargs grep '^\(__nldbl\|\)\(sprintf\|__strtold_internal\)'
./i386/lib.libc-2.3.90.so.abi:__strtold_internal@@GLIBC_2.0 FUNC GLOBAL DEFAULT
./i386/lib.libc-2.3.90.so.abi:sprintf@@GLIBC_2.0 FUNC GLOBAL DEFAULT
./i686/lib.i686.nosegneg.libc-2.3.90.so.abi:__strtold_internal@@GLIBC_2.0 FUNC GLOBAL DEFAULT
./i686/lib.i686.nosegneg.libc-2.3.90.so.abi:sprintf@@GLIBC_2.0 FUNC GLOBAL DEFAULT
./i686/lib.libc-2.3.90.so.abi:__strtold_internal@@GLIBC_2.0 FUNC GLOBAL DEFAULT
./i686/lib.libc-2.3.90.so.abi:sprintf@@GLIBC_2.0 FUNC GLOBAL DEFAULT
./ia64/lib.libc-2.3.90.so.abi:__strtold_internal@@GLIBC_2.2 FUNC GLOBAL DEFAULT
./ia64/lib.libc-2.3.90.so.abi:sprintf@@GLIBC_2.2 FUNC GLOBAL DEFAULT
./ppc/lib.libc-2.3.90.so.abi:__strtold_internal@@GLIBC_2.4 FUNC GLOBAL DEFAULT
./ppc/lib.libc-2.3.90.so.abi:__strtold_internal@GLIBC_2.0 FUNC GLOBAL DEFAULT
./ppc/lib.libc-2.3.90.so.abi:sprintf@@GLIBC_2.4 FUNC GLOBAL DEFAULT
./ppc/lib.libc-2.3.90.so.abi:sprintf@GLIBC_2.0 FUNC GLOBAL DEFAULT
./ppc64/lib64.libc-2.3.90.so.abi:__strtold_internal@@GLIBC_2.4 FUNC GLOBAL DEFAULT
./ppc64/lib64.libc-2.3.90.so.abi:__strtold_internal@GLIBC_2.3 FUNC GLOBAL DEFAULT
./ppc64/lib64.libc-2.3.90.so.abi:sprintf@@GLIBC_2.4 FUNC GLOBAL DEFAULT
./ppc64/lib64.libc-2.3.90.so.abi:sprintf@GLIBC_2.3 FUNC GLOBAL DEFAULT
./s390/lib.libc-2.3.90.so.abi:__strtold_internal@@GLIBC_2.4 FUNC GLOBAL DEFAULT
./s390/lib.libc-2.3.90.so.abi:__strtold_internal@GLIBC_2.0 FUNC GLOBAL DEFAULT
./s390/lib.libc-2.3.90.so.abi:sprintf@@GLIBC_2.4 FUNC GLOBAL DEFAULT
./s390/lib.libc-2.3.90.so.abi:sprintf@GLIBC_2.0 FUNC GLOBAL DEFAULT
./s390x/lib64.libc-2.3.90.so.abi:__strtold_internal@@GLIBC_2.4 FUNC GLOBAL DEFAULT
./s390x/lib64.libc-2.3.90.so.abi:__strtold_internal@GLIBC_2.2 FUNC GLOBAL DEFAULT
./s390x/lib64.libc-2.3.90.so.abi:sprintf@@GLIBC_2.4 FUNC GLOBAL DEFAULT
./s390x/lib64.libc-2.3.90.so.abi:sprintf@GLIBC_2.2 FUNC GLOBAL DEFAULT
./x86_64/lib64.libc-2.3.90.so.abi:__strtold_internal@@GLIBC_2.2.5 FUNC GLOBAL DEFAULT
./x86_64/lib64.libc-2.3.90.so.abi:sprintf@@GLIBC_2.2.5 FUNC GLOBAL DEFAULT

Furthermore, even the missing {,__}finitel@@GLIBC_2.4 in libm.so
is something that could result in such problems - {,__}finitel@@GLIBC_2.4
is still exported from libc.so and therefore it would just bind to the libc
symbol rather than libm.
The above errors sound like you are mixing a newly built libm.so
with old libc.so or something like that.

	Jakub

      reply	other threads:[~2006-02-01 17:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-01 12:21 Jakub Jelinek
2006-02-01 17:33 ` Steven Munroe
2006-02-01 17:45   ` Jakub Jelinek [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060201174525.GC4625@sunsite.mff.cuni.cz \
    --to=jakub@redhat.com \
    --cc=libc-hacker@sources.redhat.com \
    --cc=munroesj@us.ibm.com \
    --cc=roland@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).