From: Adhemerval Zanella Date: Thu, 7 Nov 2024 10:51:27 +0000 (-0300) Subject: math: Fix log10f on some ABIs X-Git-Tag: glibc-2.41~510 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=12b8dd77182420917a8efdaca03a5e3d77a127f5;p=thirdparty%2Fglibc.git math: Fix log10f on some ABIs The commit 9247f53219 triggered some regressions on loongarch and riscv: math/test-float-log10 math/test-float32-log10 And it is due a wrong sync with CORE-MATH for special 0.0/-0.0 inputs. Checked on aarch64-linux-gnu and loongarch64-linux-gnu-lp64d. --- diff --git a/sysdeps/ieee754/flt-32/e_log10f.c b/sysdeps/ieee754/flt-32/e_log10f.c index 058ce31f09..03d9e281f3 100644 --- a/sysdeps/ieee754/flt-32/e_log10f.c +++ b/sysdeps/ieee754/flt-32/e_log10f.c @@ -37,9 +37,8 @@ as_special (float x) return x; /* +inf */ uint32_t ax = ux << 1; if (ax == 0u) - { /* -0.0 */ - __math_divzerof (1); - } + /* -0.0 */ + return __math_divzerof (1); if (ax > 0xff000000u) return x + x; /* nan */ return __math_invalidf (x);