diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2017-09-13 17:19:51 +0100 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2017-10-02 14:38:03 +0100 |
commit | 72d3d281080be9f674982067d72874fd6cdb4b64 (patch) | |
tree | ed4407d5935108ab58b08b979a596486b23aa9df /sysdeps/unix | |
parent | 59ba2d2b542142e575d185f07e1eb96800d9862c (diff) | |
download | glibc-72d3d281080be9f674982067d72874fd6cdb4b64.zip glibc-72d3d281080be9f674982067d72874fd6cdb4b64.tar.gz glibc-72d3d281080be9f674982067d72874fd6cdb4b64.tar.bz2 |
New symbol version for logf, log2f and powf without SVID compat
This patch changes the logf, log2f and powf error handling semantics
to only set errno accoring to POSIX rules. New symbol version is
introduced at GLIBC_2.27.
The old wrappers are kept for compat symbols.
ia64 needed assembly change to have the new and compat versioned
symbol map to the same function.
All linux libm abilists are updated.
* math/Versions (logf): New libm symbol at GLIBC_2.27.
(log2f): Likewise.
(powf): Likewise.
* math/w_log2f.c: New file.
* math/w_logf.c: New file.
* math/w_powf.c: New file.
* math/w_log2f_compat.c (__log2f_compat): For compat symbol only.
* math/w_logf_compat.c (__logf_compat): Likewise.
* math/w_powf_compat.c (__powf_compat): Likewise.
* sysdeps/ia64/fpu/e_log2f.S: Add versioned symbols.
* sysdeps/ia64/fpu/e_logf.S: Likewise.
* sysdeps/ia64/fpu/e_powf.S: Likewise.
* sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update.
* sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist:
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist:
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist:
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist:
Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist:
Likewise.
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist:
Likewise.
* sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
Diffstat (limited to 'sysdeps/unix')
26 files changed, 78 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index 10102ee..3f0190a 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -463,3 +463,6 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index e09a115..78edc5e 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -473,6 +473,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.3.4 GLIBC_2.3.4 A GLIBC_2.3.4 __c1_cabsf F GLIBC_2.3.4 __c1_cacosf F diff --git a/sysdeps/unix/sysv/linux/arm/libm.abilist b/sysdeps/unix/sysv/linux/arm/libm.abilist index 8095876..b3fd4a2 100644 --- a/sysdeps/unix/sysv/linux/arm/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/libm.abilist @@ -120,6 +120,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 _LIB_VERSION D 0x4 GLIBC_2.4 __clog10 F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 19d40ef..ffa61bf 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -432,5 +432,8 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index 791fba2..1a7e6bf 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -614,4 +614,7 @@ GLIBC_2.26 ynf128 F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A diff --git a/sysdeps/unix/sysv/linux/ia64/libm.abilist b/sysdeps/unix/sysv/linux/ia64/libm.abilist index 65a0fbe..7e15735 100644 --- a/sysdeps/unix/sysv/linux/ia64/libm.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libm.abilist @@ -543,4 +543,7 @@ GLIBC_2.26 ynf128 F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index 8095876..b3fd4a2 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -120,6 +120,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 _LIB_VERSION D 0x4 GLIBC_2.4 __clog10 F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist index 5e692dd..aae6116 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist @@ -474,4 +474,7 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A diff --git a/sysdeps/unix/sysv/linux/microblaze/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/libm.abilist index 65f1d5b..0d3b4b1 100644 --- a/sysdeps/unix/sysv/linux/microblaze/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/libm.abilist @@ -431,3 +431,6 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index c32ea5b..d32d58d 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -433,6 +433,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 exp2l F _gp_disp _gp_disp A diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index 18b2aa2..f33ba05 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -465,4 +465,7 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A diff --git a/sysdeps/unix/sysv/linux/nios2/libm.abilist b/sysdeps/unix/sysv/linux/nios2/libm.abilist index e492a68..0fe34e9 100644 --- a/sysdeps/unix/sysv/linux/nios2/libm.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist @@ -431,3 +431,6 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index ad8f037..ed013de 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -476,6 +476,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index 9c26b5b..6f2873d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -475,6 +475,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist index 8e36699..723be46 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist @@ -608,3 +608,6 @@ GLIBC_2.26 ynf128 F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist index 9ca0c3c..f3aeac2 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist @@ -151,6 +151,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.3 GLIBC_2.3 A GLIBC_2.3 _LIB_VERSION D 0x4 GLIBC_2.3 __clog10 F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 8a79f01..2b758e8 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -463,6 +463,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index df81853..62c9bb5 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -461,6 +461,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F diff --git a/sysdeps/unix/sysv/linux/sh/libm.abilist b/sysdeps/unix/sysv/linux/sh/libm.abilist index 6b6a42d..a57fbc0 100644 --- a/sysdeps/unix/sysv/linux/sh/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/libm.abilist @@ -432,5 +432,8 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index 24d67d2..f8f10e5 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -467,6 +467,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 2fdccc0..b5412c9 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -464,4 +464,7 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist index 98bc348..b711e87 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist @@ -432,3 +432,6 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist index 98bc348..b711e87 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist @@ -432,3 +432,6 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist index 98bc348..b711e87 100644 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist @@ -432,3 +432,6 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index e6fd3fe..201c2ab 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -603,4 +603,7 @@ GLIBC_2.26 ynf128 F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F GLIBC_2.4 GLIBC_2.4 A diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index afa7b98..10e389a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -602,3 +602,6 @@ GLIBC_2.26 ynf128 F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F |