public inbox for libc-hacker@sourceware.org
 help / color / mirror / Atom feed
* [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).