]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
math: Remove the SVID error handling wrapper from y1/j1
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 8 Oct 2025 13:55:20 +0000 (10:55 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 30 Oct 2025 18:41:33 +0000 (15:41 -0300)
Tested on x86_64-linux-gnu and i686-linux-gnu.

Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
29 files changed:
math/Versions
math/w_j1f_compat.c
sysdeps/ieee754/flt-32/e_j1f.c
sysdeps/ieee754/flt-32/w_j1f.c [new file with mode: 0644]
sysdeps/mach/hurd/i386/libm.abilist
sysdeps/unix/sysv/linux/aarch64/libm.abilist
sysdeps/unix/sysv/linux/alpha/libm.abilist
sysdeps/unix/sysv/linux/arm/be/libm.abilist
sysdeps/unix/sysv/linux/arm/le/libm.abilist
sysdeps/unix/sysv/linux/hppa/libm.abilist
sysdeps/unix/sysv/linux/i386/libm.abilist
sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
sysdeps/unix/sysv/linux/sh/be/libm.abilist
sysdeps/unix/sysv/linux/sh/le/libm.abilist
sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist

index c2139bcedd9b60679296206f69913e70c292b622..fdd0c56328075e23c155b2df441ecd317b35c66f 100644 (file)
@@ -694,7 +694,9 @@ libm {
     atanhf;
     coshf;
     j0f;
+    j1f;
     log10f;
     y0f;
+    y1f;
   }
 }
index a226d2fcf0028d26028f9bded7d443956858f820..496b466294f902446548b1a1d0ed5842bd390a39 100644 (file)
 #include <libm-alias-float.h>
 
 
-#if LIBM_SVID_COMPAT
+#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_43)
 /* wrapper j1f */
 float
-__j1f (float x)
+__j1f_svid (float x)
 {
   if (__builtin_expect (isgreater (fabsf (x),
                                   AS_FLOAT_CONSTANT (X_TLOSS)), 0)
@@ -35,12 +35,12 @@ __j1f (float x)
 
   return __ieee754_j1f (x);
 }
-libm_alias_float (__j1, j1)
+compat_symbol (libm, __j1f_svid, j1f, GLIBC_2_0);
 
 
 /* wrapper y1f */
 float
-__y1f (float x)
+__y1f_svid (float x)
 {
   if (__builtin_expect (islessequal (x, 0.0f)
                        || isgreater (x, AS_FLOAT_CONSTANT (X_TLOSS)), 0)
@@ -65,5 +65,5 @@ __y1f (float x)
 
   return __ieee754_y1f (x);
 }
-libm_alias_float (__y1, y1)
+compat_symbol (libm, __y1f_svid, y1f, GLIBC_2_0);
 #endif
index 52d52814959e42033f577da5863a8250e8e44232..191f7a171539c7ba24e9e613eaaab1f239814df2 100644 (file)
 #include <fenv_private.h>
 #include <math-underflow.h>
 #include <libm-alias-finite.h>
+#include <libm-alias-float.h>
+#include <math-svid-compat.h>
 #include <reduce_aux.h>
+#include "math_config.h"
 
 static float ponef(float), qonef(float);
 
@@ -260,7 +263,7 @@ j1f_near_root (float x, float z)
 }
 
 float
-__ieee754_j1f(float x)
+__j1f(float x)
 {
        float z, s,c,ss,cc,r,u,v,y;
        int32_t hx,ix;
@@ -317,6 +320,13 @@ __ieee754_j1f(float x)
        r *= x;
        return(x*(float)0.5+r/s);
 }
+strong_alias (__j1f, __ieee754_j1f)
+#if LIBM_SVID_COMPAT
+versioned_symbol (libm, __j1f, j1f, GLIBC_2_43);
+libm_alias_float_other (__j1, j1)
+#else
+libm_alias_float (__j1, j1)
+#endif
 libm_alias_finite (__ieee754_j1f, __j1f)
 
 static const float U0[5] = {
@@ -549,7 +559,7 @@ y1f_near_root (float x, float z)
 }
 
 float
-__ieee754_y1f(float x)
+__y1f(float x)
 {
        float z, s,c,ss,cc,u,v;
        int32_t hx,ix;
@@ -557,10 +567,15 @@ __ieee754_y1f(float x)
        GET_FLOAT_WORD(hx,x);
        ix = 0x7fffffff&hx;
     /* if Y1(NaN) is NaN, Y1(-inf) is NaN, Y1(inf) is 0 */
-       if(__builtin_expect(ix>=0x7f800000, 0)) return  one/(x+x*x);
-       if(__builtin_expect(ix==0, 0))
-               return -1/zero; /* -inf and divide by zero exception.  */
-       if(__builtin_expect(hx<0, 0)) return zero/(zero*x);
+       if(ix>=0x7f800000)
+         {
+           if (hx==0xFF800000)
+             return __math_invalidf (1);
+           else
+             return one/(x+x*x);
+         }
+       if(ix==0) return __math_divzerof (1); /* -inf and divide by zero exception.  */
+       if(hx<0) return __math_invalidf (x);
         if (ix >= 0x3fe0dfbc) { /* |x| >= 0x1.c1bf78p+0 */
                SET_RESTORE_ROUNDF (FE_TONEAREST);
                __sincosf (x, &s, &c);
@@ -611,6 +626,13 @@ __ieee754_y1f(float x)
        v = one+z*(V0[0]+z*(V0[1]+z*(V0[2]+z*(V0[3]+z*V0[4]))));
        return(x*(u/v) + tpi*(__ieee754_j1f(x)*__ieee754_logf(x)-one/x));
 }
+strong_alias (__y1f, __ieee754_y1f)
+#if LIBM_SVID_COMPAT
+versioned_symbol (libm, __y1f, y1f, GLIBC_2_43);
+libm_alias_float_other (__y1, y1)
+#else
+libm_alias_float (__y1, y1)
+#endif
 libm_alias_finite (__ieee754_y1f, __y1f)
 
 /* For x >= 8, the asymptotic expansion of pone is
diff --git a/sysdeps/ieee754/flt-32/w_j1f.c b/sysdeps/ieee754/flt-32/w_j1f.c
new file mode 100644 (file)
index 0000000..db3355f
--- /dev/null
@@ -0,0 +1 @@
+/* Not needed */
index 0cfc73ddbba8db7ef2368ecfd6f1ce1fb2958f0e..683023b6292d644f6784aa9cd37f81161dfe81aa 100644 (file)
@@ -1325,5 +1325,7 @@ GLIBC_2.43 coshf F
 GLIBC_2.43 fmod F
 GLIBC_2.43 fmodf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 20f36bdba56f0157a92a4e2de0c2f3bb73d5c859..add348eb5d053e87b499cb2b70dc69398586e2b6 100644 (file)
@@ -1291,5 +1291,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index f06fcbcd3190e3690c2b42a63b739737f0190917..b4277838420fb3de291718166fa6dffd1a7d7715 100644 (file)
@@ -1450,5 +1450,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 4a73703e1fe7052b50630ae3436d7d55a27b379c..537baa378dece47f56e1bfb9208306999cc756a4 100644 (file)
@@ -956,5 +956,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 4a73703e1fe7052b50630ae3436d7d55a27b379c..537baa378dece47f56e1bfb9208306999cc756a4 100644 (file)
@@ -956,5 +956,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index f5012e94d720a51802a8878035b8f8c402b075ce..4b9471b051355d19caaae4aee44179c7c1a21a64 100644 (file)
@@ -956,5 +956,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index addf0213528ac9946f8c80dea67ad8be80743f52..ad7656d58849713fe727bfeda6dfb41a0addc15f 100644 (file)
@@ -1332,5 +1332,7 @@ GLIBC_2.43 coshf F
 GLIBC_2.43 fmod F
 GLIBC_2.43 fmodf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 4a73703e1fe7052b50630ae3436d7d55a27b379c..537baa378dece47f56e1bfb9208306999cc756a4 100644 (file)
@@ -956,5 +956,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index dd11014dc70b8451a7f292e6793ce0d60d5610a7..1b518011641e97c7b76160d338470b81d2f72769 100644 (file)
@@ -990,4 +990,6 @@ GLIBC_2.43 acoshf F
 GLIBC_2.43 fmod F
 GLIBC_2.43 fmodf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index e58c9b0e3184ead6838862a4dbe161c6edbbdcde..7b720cb6e35775bcd4b9094a874b5836d373e95b 100644 (file)
@@ -956,5 +956,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index e58c9b0e3184ead6838862a4dbe161c6edbbdcde..7b720cb6e35775bcd4b9094a874b5836d373e95b 100644 (file)
@@ -956,5 +956,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 5a66542e76695a3e83a31c7a9f7c704506d2f113..658e4c93aeec1c72faffd7dd82fd1be57faeab4d 100644 (file)
@@ -956,5 +956,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 476b7b54ad41b793b71196ab8f8e877cb5bc37b8..20af08a6c249240ad154113167ca14d03a755f53 100644 (file)
@@ -1291,5 +1291,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 0a2d29f2ead0b364fcf938ddf143ed1ff17d3457..403731b2fa04d2397f99b342179b0f5cc1977a0b 100644 (file)
@@ -1103,5 +1103,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 743040fdb691c6eaef2f9d8c0bf8d91d4e8735dc..3b41629a2076e097b305f7ff6c234a4517bc6c55 100644 (file)
@@ -1102,5 +1102,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 9f05b8ba75769427d4b42ab2f1ca2d52cc3fe4f5..ab669c7e758b5795319c7f5ead2ad2f076705b14 100644 (file)
@@ -1096,5 +1096,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 2b293d118ce4af2c1b354cd4789af4e9f7cdac57..3ec3fc08fe2c92432e93f72a7723ed0d207f6260 100644 (file)
@@ -1480,5 +1480,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index ca1ebaa99b0c54064e261ca78023c6ab50a2aa58..e5e3a5b27c45b5e6cf00ccc66edeba823f499af3 100644 (file)
@@ -1394,5 +1394,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index b8dced75810ece5cfb51a7a29df5f9400f95d6dc..af677b3ff51ff0b109ce163804e8c13552ec4375 100644 (file)
@@ -1394,5 +1394,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 61f4e53e040c980d4419ba66baa87e242c4a746e..90e1b206a829c8a0aeafbc85bcc585ec2a8fd7fe 100644 (file)
@@ -956,5 +956,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 61f4e53e040c980d4419ba66baa87e242c4a746e..90e1b206a829c8a0aeafbc85bcc585ec2a8fd7fe 100644 (file)
@@ -956,5 +956,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 9b2b5f7499c87032052315b3d5070a493c40fb09..e3648c5ddaba4f699b2c5eeb6a2817f323052150 100644 (file)
@@ -1401,5 +1401,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index 02e2679394e0311171989aa012e6f35e8de0ddfe..11272f2ad8d740899f131bf8cc8a81d06eda76ca 100644 (file)
@@ -1291,5 +1291,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index cfb52777aa1f1d7bedc73a40c08dffcdafe2c19e..980412a573dfe7ba5ea33afbd98bc86c221ec71e 100644 (file)
@@ -1324,5 +1324,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F
index a0872e4bcdc68d14df44f1bc21b2d5db4e377fda..58b935d7fd4aeda8e07496efdc0c287589f411dc 100644 (file)
@@ -1324,5 +1324,7 @@ GLIBC_2.43 asinf F
 GLIBC_2.43 atanhf F
 GLIBC_2.43 coshf F
 GLIBC_2.43 j0f F
+GLIBC_2.43 j1f F
 GLIBC_2.43 log10f F
 GLIBC_2.43 y0f F
+GLIBC_2.43 y1f F