[PATCH v5 0/7] Remove the SVID wrapper from most of float functions

Adhemerval Zanella adhemerval.zanella@linaro.org
Fri Oct 31 16:08:49 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 v4:
* Added Wilco's suggestions.

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 (7):
  math: Remove the SVID error handling from remainderf
  math: Remove the SVID error handling from remainder
  math: Remove the SVID error handling from lgammaf/lgammaf_r
  math: Remove the SVID error handling from atan2f
  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

 include/math.h                                |   2 +-
 math/Versions                                 |   8 +
 math/lgamma-compat.h                          |  15 +-
 math/w_atan2f_compat.c                        |  11 +-
 math/w_lgammaf_compat2.c                      |   2 +-
 math/w_lgammaf_main.c                         |   7 +-
 math/w_lgammaf_r_compat.c                     |   5 +-
 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/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/ieee754/dbl-64/e_remainder.c          |  31 ++--
 sysdeps/ieee754/dbl-64/w_remainder.c          |   1 +
 sysdeps/ieee754/flt-32/e_atan2f.c             |  25 ++-
 sysdeps/ieee754/flt-32/e_gammaf_r.c           |  58 +++----
 sysdeps/ieee754/flt-32/e_lgammaf_r.c          |  20 ++-
 sysdeps/ieee754/flt-32/e_remainderf.c         |  25 +--
 sysdeps/ieee754/flt-32/e_sinhf.c              |  16 +-
 sysdeps/ieee754/flt-32/e_sqrtf.c              | 142 ++++++++++--------
 sysdeps/ieee754/flt-32/math_config.h          |   1 +
 sysdeps/ieee754/flt-32/math_errf.c            |   6 +
 sysdeps/ieee754/flt-32/w_atan2f.c             |   1 +
 sysdeps/ieee754/flt-32/w_lgammaf.c            |  17 +++
 sysdeps/ieee754/flt-32/w_lgammaf_r.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/e_remainder.c         |  16 +-
 sysdeps/m68k/m680x0/fpu/e_remainderf.c        |  16 +-
 sysdeps/m68k/m680x0/fpu/e_sqrtf.c             |   3 -
 sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c     |   8 +
 sysdeps/m68k/m680x0/fpu/w_sinhf_compat.c      |   8 +
 sysdeps/mach/hurd/i386/libm.abilist           |   8 +
 sysdeps/powerpc/fpu/e_sqrtf.c                 | 128 ----------------
 sysdeps/unix/sysv/linux/aarch64/libm.abilist  |   8 +
 sysdeps/unix/sysv/linux/alpha/libm.abilist    |   8 +
 sysdeps/unix/sysv/linux/arm/be/libm.abilist   |   8 +
 sysdeps/unix/sysv/linux/arm/le/libm.abilist   |   8 +
 sysdeps/unix/sysv/linux/hppa/libm.abilist     |   8 +
 sysdeps/unix/sysv/linux/i386/libm.abilist     |   8 +
 .../sysv/linux/m68k/coldfire/libm.abilist     |   8 +
 .../unix/sysv/linux/m68k/m680x0/libm.abilist  |   6 +
 .../sysv/linux/microblaze/be/libm.abilist     |   8 +
 .../sysv/linux/microblaze/le/libm.abilist     |   8 +
 .../unix/sysv/linux/mips/mips32/libm.abilist  |   8 +
 .../unix/sysv/linux/mips/mips64/libm.abilist  |   8 +
 .../linux/powerpc/powerpc32/fpu/libm.abilist  |   8 +
 .../powerpc/powerpc32/nofpu/libm.abilist      |   7 +
 .../linux/powerpc/powerpc64/be/libm.abilist   |   8 +
 .../linux/powerpc/powerpc64/le/libm.abilist   |   8 +
 .../unix/sysv/linux/s390/s390-32/libm.abilist |   8 +
 .../unix/sysv/linux/s390/s390-64/libm.abilist |   8 +
 sysdeps/unix/sysv/linux/sh/be/libm.abilist    |   8 +
 sysdeps/unix/sysv/linux/sh/le/libm.abilist    |   8 +
 .../sysv/linux/sparc/sparc32/libm.abilist     |   8 +
 .../sysv/linux/sparc/sparc64/libm.abilist     |   8 +
 .../unix/sysv/linux/x86_64/64/libm.abilist    |   8 +
 .../unix/sysv/linux/x86_64/x32/libm.abilist   |   8 +
 70 files changed, 635 insertions(+), 342 deletions(-)
 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
 create mode 100644 sysdeps/ieee754/dbl-64/w_remainder.c
 create mode 100644 sysdeps/ieee754/flt-32/w_atan2f.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_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
 delete mode 100644 sysdeps/m68k/m680x0/fpu/e_sqrtf.c
 create mode 100644 sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c
 create mode 100644 sysdeps/m68k/m680x0/fpu/w_sinhf_compat.c
 delete mode 100644 sysdeps/powerpc/fpu/e_sqrtf.c

-- 
2.43.0



More information about the Libc-alpha mailing list