[PATCH v4 00/21] Remove the SVID wrapper from most of float functions.

Adhemerval Zanella adhemerval.zanella@linaro.org
Wed Oct 8 13:55:00 GMT 2025


This patchset relocates SVID error handling support to compatibility
symbols for applicable ABIs.  SVID handling remains for deprecated
symbols gammaf and dremf.

Changes from v3:
* Fixed lgamma that still used the SVID wrapper
* Remove wrong hurd abi additions
* Remove SVID handling from most float implementations

Changes from v2:
* Update symbol versions to 2.43.

Changes from v1:
* Update symbol versions to 2.42.

Adhemerval Zanella (21):
  i386: Remove the SVID error handling from fmod
  i386: Remove the SVID error handling from fmodf
  m68k: Remove the SVID error handling from fmodf
  m68k: Avoid include e_fmod.c on fmod/remainder implementation
  m68k: Remove SVID error handling on fmod
  math: Remove the SVID error handling from remainderf
  math: Remove the SVID error handling from remainder
  math: Remove the SVID error handling from log10f
  math: Remove the SVID error handling from lgammaf/lgammaf_r
  math: Remove the SVID error handling from acosf
  math: Remove the SVID error handling from asinf
  math: Remove the SVID error handling from acoshf
  math: Remove the SVID error handling from atan2f
  math: Remove the SVID error handling from atanhf
  math: Remove the SVID error handling from coshf
  math: Remove the SVID error handling from sinhf
  math: Remove the SVID error handling from tgammaf
  math: Remove the SVID error handling wrapper from sqrt
  math: Remove the SVID error handling wrapper from y0/j0
  math: Remove the SVID error handling wrapper from y1/j1
  math: Remove the SVID error handling wrapper from yn/jn

 include/math.h                                |  2 +-
 math/Versions                                 |  5 ++
 math/lgamma-compat.h                          | 15 +++-
 math/w_acosf_compat.c                         | 10 ++-
 math/w_acoshf_compat.c                        |  6 +-
 math/w_asinf.c                                |  8 ++
 math/w_asinf_compat.c                         | 10 ++-
 math/w_atan2f_compat.c                        | 11 ++-
 math/w_atanhf_compat.c                        | 11 ++-
 math/w_coshf_compat.c                         | 12 ++-
 math/w_j0f_compat.c                           | 11 +--
 math/w_j1f_compat.c                           | 10 +--
 math/w_jnf_compat.c                           | 10 +--
 math/w_lgammaf_compat2.c                      |  2 +-
 math/w_lgammaf_main.c                         |  7 +-
 math/w_lgammaf_r_compat.c                     |  5 +-
 math/w_log10f_compat.c                        | 10 ++-
 math/w_remainder_compat.c                     | 21 +++--
 math/w_remainderf_compat.c                    |  9 +-
 math/w_sinhf_compat.c                         | 11 ++-
 math/w_sqrtf_compat.c                         |  8 +-
 math/w_tgammaf_compat.c                       |  9 +-
 sysdeps/alpha/fpu/e_sqrtf.c                   |  2 +-
 sysdeps/generic/math_private_calls.h          |  2 +
 sysdeps/i386/fpu/Versions                     |  4 +
 sysdeps/i386/fpu/e_fmod.S                     | 18 ----
 sysdeps/i386/fpu/e_fmod.c                     | 41 +++++++++
 sysdeps/i386/fpu/e_fmodf.S                    | 18 ----
 sysdeps/i386/fpu/e_fmodf.c                    | 41 +++++++++
 sysdeps/i386/fpu/e_fmodf_ver.h                |  2 +
 sysdeps/i386/fpu/e_remainder.S                | 18 ----
 sysdeps/i386/fpu/e_remainder.c                | 41 +++++++++
 sysdeps/i386/fpu/e_remainderf.S               | 18 ----
 sysdeps/i386/fpu/e_remainderf.c               | 41 +++++++++
 sysdeps/i386/fpu/e_sqrtf.S                    | 13 ---
 sysdeps/i386/fpu/math-use-builtins-sqrt.h     |  4 +
 sysdeps/i386/fpu/w_fmod_compat.c              | 15 ----
 sysdeps/i386/fpu/w_fmodf_compat.c             | 15 ----
 sysdeps/ieee754/dbl-64/e_remainder.c          | 27 ++++--
 sysdeps/ieee754/dbl-64/w_remainder.c          |  1 +
 sysdeps/ieee754/flt-32/e_acosf.c              | 11 ++-
 sysdeps/ieee754/flt-32/e_acoshf.c             | 11 ++-
 sysdeps/ieee754/flt-32/e_asinf.c              | 11 ++-
 sysdeps/ieee754/flt-32/e_atan2f.c             | 19 +++-
 sysdeps/ieee754/flt-32/e_atanhf.c             | 11 ++-
 sysdeps/ieee754/flt-32/e_coshf.c              | 11 ++-
 sysdeps/ieee754/flt-32/e_gammaf_r.c           | 43 +++++----
 sysdeps/ieee754/flt-32/e_j0f.c                | 34 +++++--
 sysdeps/ieee754/flt-32/e_j1f.c                | 34 +++++--
 sysdeps/ieee754/flt-32/e_jnf.c                | 34 +++++--
 sysdeps/ieee754/flt-32/e_lgammaf_r.c          | 25 +++++-
 sysdeps/ieee754/flt-32/e_log10f.c             | 11 ++-
 sysdeps/ieee754/flt-32/e_remainderf.c         | 19 +++-
 sysdeps/ieee754/flt-32/e_sinhf.c              | 13 ++-
 sysdeps/ieee754/flt-32/e_sqrtf.c              | 86 +++++-------------
 sysdeps/ieee754/flt-32/e_sqrtf_impl.h         | 90 +++++++++++++++++++
 sysdeps/ieee754/flt-32/math_config.h          |  1 +
 sysdeps/ieee754/flt-32/math_errf.c            |  6 ++
 sysdeps/ieee754/flt-32/w_acosf.c              |  1 +
 sysdeps/ieee754/flt-32/w_acoshf.c             |  1 +
 sysdeps/ieee754/flt-32/w_asinf.c              |  1 +
 sysdeps/ieee754/flt-32/w_atan2f.c             |  1 +
 sysdeps/ieee754/flt-32/w_atanhf.c             |  1 +
 sysdeps/ieee754/flt-32/w_coshf.c              |  1 +
 sysdeps/ieee754/flt-32/w_j0f.c                |  1 +
 sysdeps/ieee754/flt-32/w_j1f.c                |  1 +
 sysdeps/ieee754/flt-32/w_jnf.c                |  1 +
 sysdeps/ieee754/flt-32/w_lgammaf.c            | 17 ++++
 sysdeps/ieee754/flt-32/w_lgammaf_r.c          |  1 +
 sysdeps/ieee754/flt-32/w_log10f.c             |  1 +
 sysdeps/ieee754/flt-32/w_remainderf.c         |  1 +
 sysdeps/ieee754/flt-32/w_sinhf.c              |  1 +
 sysdeps/ieee754/flt-32/w_sqrtf.c              |  1 +
 sysdeps/ieee754/flt-32/w_tgammaf.c            |  1 +
 sysdeps/ieee754/ldbl-opt/w_remainder_compat.c |  2 +-
 sysdeps/m68k/fpu/math-use-builtins-sqrt.h     |  4 +
 sysdeps/m68k/m680x0/fpu/Versions              |  6 ++
 sysdeps/m68k/m680x0/fpu/e_fmod.c              | 37 ++++----
 sysdeps/m68k/m680x0/fpu/e_fmodf.c             | 48 ++++++++--
 sysdeps/m68k/m680x0/fpu/e_fmodl.c             | 34 +++++--
 sysdeps/m68k/m680x0/fpu/e_remainder.c         | 45 +++++++++-
 sysdeps/m68k/m680x0/fpu/e_remainderf.c        | 46 +++++++++-
 sysdeps/m68k/m680x0/fpu/e_remainderl.c        | 32 ++++++-
 sysdeps/m68k/m680x0/fpu/e_sqrtf.c             |  3 -
 sysdeps/m68k/m680x0/fpu/w_acosf_compat.c      |  8 ++
 sysdeps/m68k/m680x0/fpu/w_asinf_compat.c      |  8 ++
 sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c     |  8 ++
 sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c     |  8 ++
 sysdeps/m68k/m680x0/fpu/w_coshf_compat.c      |  8 ++
 sysdeps/m68k/m680x0/fpu/w_fmodf_compat.c      | 15 ----
 sysdeps/m68k/m680x0/fpu/w_log10f_compat.c     |  8 ++
 sysdeps/m68k/m680x0/fpu/w_sinhf_compat.c      |  8 ++
 sysdeps/mach/hurd/i386/libm.abilist           | 22 +++++
 .../powerpc/fpu/{e_sqrtf.c => e_sqrtf_impl.h} | 22 ++---
 sysdeps/unix/sysv/linux/aarch64/libm.abilist  | 20 +++++
 sysdeps/unix/sysv/linux/alpha/libm.abilist    | 20 +++++
 sysdeps/unix/sysv/linux/arm/be/libm.abilist   | 20 +++++
 sysdeps/unix/sysv/linux/arm/le/libm.abilist   | 20 +++++
 sysdeps/unix/sysv/linux/hppa/libm.abilist     | 20 +++++
 sysdeps/unix/sysv/linux/i386/libm.abilist     | 22 +++++
 .../sysv/linux/m68k/coldfire/libm.abilist     | 20 +++++
 .../unix/sysv/linux/m68k/m680x0/libm.abilist  | 15 ++++
 .../sysv/linux/microblaze/be/libm.abilist     | 20 +++++
 .../sysv/linux/microblaze/le/libm.abilist     | 20 +++++
 .../unix/sysv/linux/mips/mips32/libm.abilist  | 20 +++++
 .../unix/sysv/linux/mips/mips64/libm.abilist  | 20 +++++
 .../linux/powerpc/powerpc32/fpu/libm.abilist  | 20 +++++
 .../powerpc/powerpc32/nofpu/libm.abilist      | 20 +++++
 .../linux/powerpc/powerpc64/be/libm.abilist   | 20 +++++
 .../linux/powerpc/powerpc64/le/libm.abilist   | 20 +++++
 .../unix/sysv/linux/s390/s390-32/libm.abilist | 20 +++++
 .../unix/sysv/linux/s390/s390-64/libm.abilist | 20 +++++
 sysdeps/unix/sysv/linux/sh/be/libm.abilist    | 20 +++++
 sysdeps/unix/sysv/linux/sh/le/libm.abilist    | 20 +++++
 .../sysv/linux/sparc/sparc32/libm.abilist     | 20 +++++
 .../sysv/linux/sparc/sparc64/libm.abilist     | 20 +++++
 .../unix/sysv/linux/x86_64/64/libm.abilist    | 20 +++++
 .../unix/sysv/linux/x86_64/x32/libm.abilist   | 20 +++++
 118 files changed, 1494 insertions(+), 381 deletions(-)
 create mode 100644 math/w_asinf.c
 delete mode 100644 sysdeps/i386/fpu/e_fmod.S
 create mode 100644 sysdeps/i386/fpu/e_fmod.c
 delete mode 100644 sysdeps/i386/fpu/e_fmodf.S
 create mode 100644 sysdeps/i386/fpu/e_fmodf.c
 create mode 100644 sysdeps/i386/fpu/e_fmodf_ver.h
 delete mode 100644 sysdeps/i386/fpu/e_remainder.S
 create mode 100644 sysdeps/i386/fpu/e_remainder.c
 delete mode 100644 sysdeps/i386/fpu/e_remainderf.S
 create mode 100644 sysdeps/i386/fpu/e_remainderf.c
 delete mode 100644 sysdeps/i386/fpu/e_sqrtf.S
 create mode 100644 sysdeps/i386/fpu/math-use-builtins-sqrt.h
 delete mode 100644 sysdeps/i386/fpu/w_fmod_compat.c
 delete mode 100644 sysdeps/i386/fpu/w_fmodf_compat.c
 create mode 100644 sysdeps/ieee754/dbl-64/w_remainder.c
 create mode 100644 sysdeps/ieee754/flt-32/e_sqrtf_impl.h
 create mode 100644 sysdeps/ieee754/flt-32/w_acosf.c
 create mode 100644 sysdeps/ieee754/flt-32/w_acoshf.c
 create mode 100644 sysdeps/ieee754/flt-32/w_asinf.c
 create mode 100644 sysdeps/ieee754/flt-32/w_atan2f.c
 create mode 100644 sysdeps/ieee754/flt-32/w_atanhf.c
 create mode 100644 sysdeps/ieee754/flt-32/w_coshf.c
 create mode 100644 sysdeps/ieee754/flt-32/w_j0f.c
 create mode 100644 sysdeps/ieee754/flt-32/w_j1f.c
 create mode 100644 sysdeps/ieee754/flt-32/w_jnf.c
 create mode 100644 sysdeps/ieee754/flt-32/w_lgammaf.c
 create mode 100644 sysdeps/ieee754/flt-32/w_lgammaf_r.c
 create mode 100644 sysdeps/ieee754/flt-32/w_log10f.c
 create mode 100644 sysdeps/ieee754/flt-32/w_remainderf.c
 create mode 100644 sysdeps/ieee754/flt-32/w_sinhf.c
 create mode 100644 sysdeps/ieee754/flt-32/w_sqrtf.c
 create mode 100644 sysdeps/ieee754/flt-32/w_tgammaf.c
 create mode 100644 sysdeps/m68k/fpu/math-use-builtins-sqrt.h
 create mode 100644 sysdeps/m68k/m680x0/fpu/Versions
 delete mode 100644 sysdeps/m68k/m680x0/fpu/e_sqrtf.c
 create mode 100644 sysdeps/m68k/m680x0/fpu/w_acosf_compat.c
 create mode 100644 sysdeps/m68k/m680x0/fpu/w_asinf_compat.c
 create mode 100644 sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c
 create mode 100644 sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c
 create mode 100644 sysdeps/m68k/m680x0/fpu/w_coshf_compat.c
 delete mode 100644 sysdeps/m68k/m680x0/fpu/w_fmodf_compat.c
 create mode 100644 sysdeps/m68k/m680x0/fpu/w_log10f_compat.c
 create mode 100644 sysdeps/m68k/m680x0/fpu/w_sinhf_compat.c
 rename sysdeps/powerpc/fpu/{e_sqrtf.c => e_sqrtf_impl.h} (90%)

-- 
2.43.0



More information about the Libc-alpha mailing list