This is the mail archive of the libc-alpha@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: PowerPC's math_ldbl.h


On 02/22/2013 06:21 PM, Joseph S. Myers wrote:
> On Fri, 22 Feb 2013, Adhemerval Zanella wrote:
>
>> 	* sysdeps/unix/sysv/linux/powerpc/Implies: Remove file.
>> 	* sysdeps/powerpc/Implies: Add ieee754/ldbl-opt after ieee754/ldbl-128ibm.
> Do you have details of exactly how this changed the sysdeps directory 
> ordering - what directories were removed, added or moved to what other 
> locations by this change?
>
> Because of the obscurity of the present sysdeps logic, it's a good idea 
> for any such change to include the consequent diffs to the list of sysdeps 
> directories - and to check in such a case for any files for which the 
> patch might unexpectedly change what version of the file is found.  
> Preferably, building with just the Implies change and no other change 
> should not result in any changes at all to installed headers or stripped 
> installed libraries.
>
Current sysd-rules-sysdirs on a PPC64 for POWER7 build is:

sysdeps/unix/sysv/linux/powerpc/powerpc64/power7 sysdeps/powerpc/powerpc64/power7/fpu
sysdeps/powerpc/powerpc64/power7 sysdeps/powerpc/powerpc64/power6/fpu 
sysdeps/powerpc/powerpc64/power6 sysdeps/powerpc/powerpc64/power5+/fpu
sysdeps/powerpc/powerpc64/power5+ sysdeps/powerpc/powerpc64/power5/fpu
sysdeps/powerpc/powerpc64/power5 sysdeps/powerpc/powerpc64/power4/fpu
sysdeps/powerpc/powerpc64/power4 sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu
sysdeps/powerpc/powerpc64/fpu nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64
sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl sysdeps/unix/sysv/linux/powerpc/powerpc64
sysdeps/unix/sysv/linux/wordsize-64 nptl/sysdeps/unix/sysv/linux/powerpc
sysdeps/unix/sysv/linux/powerpc sysdeps/ieee754/ldbl-128ibm sysdeps/ieee754/ldbl-opt
nptl/sysdeps/unix/sysv/linux nptl/sysdeps/pthread sysdeps/pthread sysdeps/unix/sysv/linux
sysdeps/gnu sysdeps/unix/inet nptl/sysdeps/unix/sysv sysdeps/unix/sysv sysdeps/unix/powerpc
nptl/sysdeps/unix sysdeps/unix sysdeps/posix sysdeps/powerpc/powerpc64 sysdeps/wordsize-64
sysdeps/powerpc/fpu nptl/sysdeps/powerpc sysdeps/powerpc sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32
sysdeps/ieee754 sysdeps/generic

While with the patch it turns to:

sysdeps/unix/sysv/linux/powerpc/powerpc64/power7 sysdeps/powerpc/powerpc64/power7/fpu
sysdeps/powerpc/powerpc64/power7 sysdeps/powerpc/powerpc64/power6/fpu sysdeps/powerpc/powerpc64/power6
sysdeps/powerpc/powerpc64/power5+/fpu sysdeps/powerpc/powerpc64/power5+
sysdeps/powerpc/powerpc64/power5/fpu sysdeps/powerpc/powerpc64/power5
sysdeps/powerpc/powerpc64/power4/fpu sysdeps/powerpc/powerpc64/power4
sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu sysdeps/powerpc/powerpc64/fpu
nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64 sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl
sysdeps/unix/sysv/linux/powerpc/powerpc64 sysdeps/unix/sysv/linux/wordsize-64
nptl/sysdeps/unix/sysv/linux/powerpc sysdeps/unix/sysv/linux/powerpc
nptl/sysdeps/unix/sysv/linux nptl/sysdeps/pthread sysdeps/pthread sysdeps/unix/sysv/linux
sysdeps/gnu sysdeps/unix/inet nptl/sysdeps/unix/sysv sysdeps/unix/sysv sysdeps/unix/powerpc
nptl/sysdeps/unix sysdeps/unix sysdeps/posix sysdeps/powerpc/powerpc64 sysdeps/wordsize-64
sysdeps/powerpc/fpu nptl/sysdeps/powerpc sysdeps/powerpc sysdeps/ieee754/ldbl-128ibm 
sysdeps/ieee754/ldbl-opt sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/ieee754
sysdeps/generic


By putting each dir in a line, the difference is basically the sysdeps/ieee754/ldlb-128ibm
and sysdeps/ieee754/ldbl-opt are both move down near others sysdeps/ieee754
(which makes more sense):

--- include_dir_nopatch	2013-02-23 00:12:06.170034543 -0300
+++ include_dir_patch	2013-02-23 00:01:48.106025694 -0300
@@ -17,8 +17,6 @@
 sysdeps/unix/sysv/linux/wordsize-64
 nptl/sysdeps/unix/sysv/linux/powerpc
 sysdeps/unix/sysv/linux/powerpc
-sysdeps/ieee754/ldbl-128ibm
-sysdeps/ieee754/ldbl-opt
 nptl/sysdeps/unix/sysv/linux
 nptl/sysdeps/pthread
 sysdeps/pthread
@@ -36,6 +34,8 @@
 sysdeps/powerpc/fpu
 nptl/sysdeps/powerpc
 sysdeps/powerpc
+sysdeps/ieee754/ldbl-128ibm
+sysdeps/ieee754/ldbl-opt
 sysdeps/ieee754/dbl-64
 sysdeps/ieee754/flt-32
 sysdeps/ieee754


X86_64 also follow the same logic by cluster the sysdeps/ieee754 near each other:

[...]
sysdeps/x86_64
sysdeps/x86
sysdeps/ieee754/ldbl-96
sysdeps/ieee754/dbl-64/wordsize-64
sysdeps/ieee754/dbl-64
sysdeps/ieee754/flt-32
sysdeps/wordsize-64
sysdeps/ieee754
sysdeps/generic

Also, the big change for fpu related code selection is sysdeps/powerpc/fpu now up
to sysdeps/ieee754/ldlb-128ibm and sysdeps/ieee754/ldlb-opt (which also made sense).
This currently does not change anything, because sysdeps/powerpc/fpu does not have
any specific implementation for long double.


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