* [PATCH] Fix s_finitel.c on ppc/ppc64
@ 2006-02-01 12:21 Jakub Jelinek
2006-02-01 17:33 ` Steven Munroe
0 siblings, 1 reply; 3+ messages in thread
From: Jakub Jelinek @ 2006-02-01 12:21 UTC (permalink / raw)
To: Roland McGrath; +Cc: Glibc hackers
Hi!
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:
2006-02-01 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ieee754/ldbl-128ibm/s_finitel.c: Use long_double_symbol
even for libm.
--- libc/sysdeps/ieee754/ldbl-128ibm/s_finitel.c.jj 2006-01-28 01:07:25.000000000 +0100
+++ libc/sysdeps/ieee754/ldbl-128ibm/s_finitel.c 2006-02-01 13:15:44.000000000 +0100
@@ -35,8 +35,11 @@ ___finitel (long double x)
-0x7ff0000000000000LL)>>63);
}
hidden_ver (___finitel, __finitel)
-#ifndef IS_IN_libm
weak_alias (___finitel, ____finitel)
-long_double_symbol (libc, ___finitel, finitel);
-long_double_symbol (libc, ____finitel, __finitel);
+#ifdef IS_IN_libm
+long_double_symbol (libm, ____finitel, finitel);
+long_double_symbol (libm, ___finitel, __finitel);
+#else
+long_double_symbol (libc, ____finitel, finitel);
+long_double_symbol (libc, ___finitel, __finitel);
#endif
Jakub
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Fix s_finitel.c on ppc/ppc64
2006-02-01 12:21 [PATCH] Fix s_finitel.c on ppc/ppc64 Jakub Jelinek
@ 2006-02-01 17:33 ` Steven Munroe
2006-02-01 17:45 ` Jakub Jelinek
0 siblings, 1 reply; 3+ messages in thread
From: Steven Munroe @ 2006-02-01 17:33 UTC (permalink / raw)
To: Jakub Jelinek; +Cc: Roland McGrath, Glibc hackers
Jakub Jelinek wrote:
>Hi!
>
>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?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Fix s_finitel.c on ppc/ppc64
2006-02-01 17:33 ` Steven Munroe
@ 2006-02-01 17:45 ` Jakub Jelinek
0 siblings, 0 replies; 3+ messages in thread
From: Jakub Jelinek @ 2006-02-01 17:45 UTC (permalink / raw)
To: Steven Munroe; +Cc: Roland McGrath, Glibc hackers
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-02-01 17:45 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-02-01 12:21 [PATCH] Fix s_finitel.c on ppc/ppc64 Jakub Jelinek
2006-02-01 17:33 ` Steven Munroe
2006-02-01 17:45 ` Jakub Jelinek
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).