powerpc64le: Build new strtod tests with long double ABI flags (bug 32145)

Message ID 87msklc2r3.fsf@oldenburg.str.redhat.com
State Committed
Commit cc3e743fc09ee6fca45767629df9cbcbe1feba82
Headers
Series powerpc64le: Build new strtod tests with long double ABI flags (bug 32145) |

Checks

Context Check Description
redhat-pt-bot/TryBot-apply_patch success Patch applied to master at the time it was sent
linaro-tcwg-bot/tcwg_glibc_build--master-arm warning Patch is already merged
redhat-pt-bot/TryBot-32bit success Build for i686
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 warning Patch is already merged

Commit Message

Florian Weimer Sept. 5, 2024, 7:35 p.m. UTC
  This fixes several test failures:

=====FAIL: stdlib/tst-strtod1i.out=====
Locale tests
all OK
Locale tests
all OK
Locale tests
strtold("1,5") returns -6,38643e+367 and not 1,5
strtold("1.5") returns 1,5 and not 1
strtold("1.500") returns 1 and not 1500
strtold("36.893.488.147.419.103.232") returns 1500 and not 3,68935e+19
Locale tests
all OK

=====FAIL: stdlib/tst-strtod3.out=====
0: got wrong results -2.5937e+4826, expected 0

=====FAIL: stdlib/tst-strtod4.out=====
0: got wrong results -6,38643e+367, expected 0
1: got wrong results 0, expected 1e+06
2: got wrong results 1e+06, expected 10

=====FAIL: stdlib/tst-strtod5i.out=====
0: got wrong results -6,38643e+367, expected 0
2: got wrong results 0, expected -0
4: got wrong results -0, expected 0
5: got wrong results 0, expected -0
6: got wrong results -0, expected 0
7: got wrong results 0, expected -0
8: got wrong results -0, expected 0
9: got wrong results 0, expected -0
10: got wrong results -0, expected 0
11: got wrong results 0, expected -0
12: got wrong results -0, expected 0
13: got wrong results 0, expected -0
14: got wrong results -0, expected 0
15: got wrong results 0, expected -0
16: got wrong results -0, expected 0
17: got wrong results 0, expected -0
18: got wrong results -0, expected 0
20: got wrong results 0, expected -0
22: got wrong results -0, expected 0
23: got wrong results 0, expected -0
24: got wrong results -0, expected 0
25: got wrong results 0, expected -0
26: got wrong results -0, expected 0
27: got wrong results 0, expected -0

Fixes commit 3fc063dee01da4f80920a14b7db637c8501d6fd4
("Make __strtod_internal tests type-generic").

Tested on powerpc64le-linux-gnu, with a compiler that defaults to IBM
long double.

Suggested-by: Joseph Myers <josmyers@redhat.com>

---
 sysdeps/powerpc/powerpc64/le/Makefile | 4 ++++
 1 file changed, 4 insertions(+)


base-commit: 3e4a01870ef9605ccf6475215a4b32aa86d5d206
  

Comments

Carlos O'Donell Sept. 5, 2024, 8 p.m. UTC | #1
On 9/5/24 3:35 PM, Florian Weimer wrote:
> This fixes several test failures:

This makes sense from first principles since they operate with long double
and may need specific flags to match the build of glibc regardless of the
system compiler defaults.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>

> =====FAIL: stdlib/tst-strtod1i.out=====
> Locale tests
> all OK
> Locale tests
> all OK
> Locale tests
> strtold("1,5") returns -6,38643e+367 and not 1,5
> strtold("1.5") returns 1,5 and not 1
> strtold("1.500") returns 1 and not 1500
> strtold("36.893.488.147.419.103.232") returns 1500 and not 3,68935e+19
> Locale tests
> all OK
> 
> =====FAIL: stdlib/tst-strtod3.out=====
> 0: got wrong results -2.5937e+4826, expected 0
> 
> =====FAIL: stdlib/tst-strtod4.out=====
> 0: got wrong results -6,38643e+367, expected 0
> 1: got wrong results 0, expected 1e+06
> 2: got wrong results 1e+06, expected 10
> 
> =====FAIL: stdlib/tst-strtod5i.out=====
> 0: got wrong results -6,38643e+367, expected 0
> 2: got wrong results 0, expected -0
> 4: got wrong results -0, expected 0
> 5: got wrong results 0, expected -0
> 6: got wrong results -0, expected 0
> 7: got wrong results 0, expected -0
> 8: got wrong results -0, expected 0
> 9: got wrong results 0, expected -0
> 10: got wrong results -0, expected 0
> 11: got wrong results 0, expected -0
> 12: got wrong results -0, expected 0
> 13: got wrong results 0, expected -0
> 14: got wrong results -0, expected 0
> 15: got wrong results 0, expected -0
> 16: got wrong results -0, expected 0
> 17: got wrong results 0, expected -0
> 18: got wrong results -0, expected 0
> 20: got wrong results 0, expected -0
> 22: got wrong results -0, expected 0
> 23: got wrong results 0, expected -0
> 24: got wrong results -0, expected 0
> 25: got wrong results 0, expected -0
> 26: got wrong results -0, expected 0
> 27: got wrong results 0, expected -0
> 
> Fixes commit 3fc063dee01da4f80920a14b7db637c8501d6fd4
> ("Make __strtod_internal tests type-generic").
> 
> Tested on powerpc64le-linux-gnu, with a compiler that defaults to IBM
> long double.
> 
> Suggested-by: Joseph Myers <josmyers@redhat.com>
> 
> ---
>  sysdeps/powerpc/powerpc64/le/Makefile | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/sysdeps/powerpc/powerpc64/le/Makefile b/sysdeps/powerpc/powerpc64/le/Makefile
> index 9d568d4f44..b77775cf95 100644
> --- a/sysdeps/powerpc/powerpc64/le/Makefile
> +++ b/sysdeps/powerpc/powerpc64/le/Makefile
> @@ -129,6 +129,10 @@ CFLAGS-tst-strtod-round.c += $(type-float128-CFLAGS)
>  CFLAGS-tst-wcstod-round.c += $(type-float128-CFLAGS)
>  CFLAGS-tst-strtod-nan-locale.c += $(type-float128-CFLAGS)
>  CFLAGS-tst-wcstod-nan-locale.c += $(type-float128-CFLAGS)
> +CFLAGS-tst-strtod1i.c += $(type-float128-CFLAGS)
> +CFLAGS-tst-strtod3.c += $(type-float128-CFLAGS)
> +CFLAGS-tst-strtod4.c += $(type-float128-CFLAGS)
> +CFLAGS-tst-strtod5i.c += $(type-float128-CFLAGS)

OK. Yes, the tests need to be built with the right flags.

>  CFLAGS-tst-strtod6.c += $(type-float128-CFLAGS)
>  CFLAGS-tst-strfrom.c += $(type-float128-CFLAGS)
>  CFLAGS-tst-strfrom-locale.c += $(type-float128-CFLAGS)
> 
> base-commit: 3e4a01870ef9605ccf6475215a4b32aa86d5d206
>
  

Patch

diff --git a/sysdeps/powerpc/powerpc64/le/Makefile b/sysdeps/powerpc/powerpc64/le/Makefile
index 9d568d4f44..b77775cf95 100644
--- a/sysdeps/powerpc/powerpc64/le/Makefile
+++ b/sysdeps/powerpc/powerpc64/le/Makefile
@@ -129,6 +129,10 @@  CFLAGS-tst-strtod-round.c += $(type-float128-CFLAGS)
 CFLAGS-tst-wcstod-round.c += $(type-float128-CFLAGS)
 CFLAGS-tst-strtod-nan-locale.c += $(type-float128-CFLAGS)
 CFLAGS-tst-wcstod-nan-locale.c += $(type-float128-CFLAGS)
+CFLAGS-tst-strtod1i.c += $(type-float128-CFLAGS)
+CFLAGS-tst-strtod3.c += $(type-float128-CFLAGS)
+CFLAGS-tst-strtod4.c += $(type-float128-CFLAGS)
+CFLAGS-tst-strtod5i.c += $(type-float128-CFLAGS)
 CFLAGS-tst-strtod6.c += $(type-float128-CFLAGS)
 CFLAGS-tst-strfrom.c += $(type-float128-CFLAGS)
 CFLAGS-tst-strfrom-locale.c += $(type-float128-CFLAGS)