[PATCH v2 0/6] Math static build fixes
Adhemerval Zanella
adhemerval.zanella@linaro.org
Thu Mar 21 16:43:19 GMT 2024
Some recent math optimizations remove some symbols from the static build
and due to the limited static build check, along with a --disable-shared
being broken for some time [1]; this issue has slipped some releases.
Although the fix is straightforward, I added an extra framework to
enable static build for select math libraries using the generic type
framework (which autogenerated the tests for all supported types using
the C template files). This should help with future static build tests.
Although the second and fifth patches should be back portable, I also
added some patches to removed the i686 assembly optimizations.
[1] https://sourceware.org/bugzilla/show_bug.cgi?id=20845
Adhemerval Zanella (6):
math: Add support for auto static math tests
math: Fix i386 and m68k fmod/fmodf on static build (BZ 31488)
i386: Use generic fmod
i386: Use generic fmodf
math: Fix i386 and m68k exp10 on static build
i386: Use generic exp10
math/Makefile | 108 +++++++++++++++++++++-
math/test-double-static.h | 1 +
math/test-float-static.h | 1 +
math/test-float128-static.h | 1 +
math/test-float32-static.h | 1 +
math/test-float32x-static.h | 1 +
math/test-float64-static.h | 1 +
math/test-float64x-static.h | 1 +
math/test-ibm128-static.h | 1 +
math/test-ldouble-static.h | 1 +
sysdeps/i386/fpu/Versions | 5 +
sysdeps/i386/fpu/e_exp10.S | 51 ----------
sysdeps/i386/fpu/e_exp10.c | 2 +
sysdeps/i386/fpu/e_exp_data.c | 1 -
sysdeps/i386/fpu/e_fmod.S | 18 ----
sysdeps/i386/fpu/e_fmod.c | 2 +
sysdeps/i386/fpu/e_fmodf.S | 18 ----
sysdeps/i386/fpu/e_fmodf.c | 2 +
sysdeps/i386/fpu/math_err.c | 1 -
sysdeps/i386/fpu/w_exp10_compat.c | 3 -
sysdeps/i386/fpu/w_fmod_compat.c | 14 ---
sysdeps/i386/fpu/w_fmodf_compat.c | 14 ---
sysdeps/ieee754/dbl-64/e_exp10.c | 7 +-
sysdeps/ieee754/dbl-64/e_fmod.c | 5 +-
sysdeps/ieee754/flt-32/e_fmodf.c | 5 +-
sysdeps/ieee754/ldbl-opt/s_ldexpl.c | 4 +-
sysdeps/m68k/m680x0/fpu/w_exp10_compat.c | 9 +-
sysdeps/m68k/m680x0/fpu/w_fmod_compat.c | 5 +-
sysdeps/m68k/m680x0/fpu/w_fmodf_compat.c | 7 +-
sysdeps/mach/hurd/i386/libm.abilist | 3 +
sysdeps/unix/sysv/linux/i386/libm.abilist | 3 +
31 files changed, 161 insertions(+), 135 deletions(-)
create mode 100644 math/test-double-static.h
create mode 100644 math/test-float-static.h
create mode 100644 math/test-float128-static.h
create mode 100644 math/test-float32-static.h
create mode 100644 math/test-float32x-static.h
create mode 100644 math/test-float64-static.h
create mode 100644 math/test-float64x-static.h
create mode 100644 math/test-ibm128-static.h
create mode 100644 math/test-ldouble-static.h
delete mode 100644 sysdeps/i386/fpu/e_exp10.S
create mode 100644 sysdeps/i386/fpu/e_exp10.c
delete mode 100644 sysdeps/i386/fpu/e_exp_data.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
delete mode 100644 sysdeps/i386/fpu/math_err.c
delete mode 100644 sysdeps/i386/fpu/w_exp10_compat.c
delete mode 100644 sysdeps/i386/fpu/w_fmod_compat.c
delete mode 100644 sysdeps/i386/fpu/w_fmodf_compat.c
--
2.34.1
More information about the Libc-alpha
mailing list