From b6f14ecf6c4b89f0fa9dc07eb1f759cc73be0907 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Feb 08 2021 14:46:30 +0000 Subject: import glibc-2.17-323.el7_9 --- diff --git a/SOURCES/glibc-armhfp-ELF_MACHINE_NO_REL-undefined.patch b/SOURCES/glibc-armhfp-ELF_MACHINE_NO_REL-undefined.patch deleted file mode 100644 index 78d7c4b..0000000 --- a/SOURCES/glibc-armhfp-ELF_MACHINE_NO_REL-undefined.patch +++ /dev/null @@ -1,36 +0,0 @@ -From patchwork Thu Jul 3 13:26:40 2014 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: ARM: Define ELF_MACHINE_NO_REL -X-Patchwork-Submitter: Will Newton -X-Patchwork-Id: 366862 -Message-Id: <1404394000-13429-1-git-send-email-will.newton@linaro.org> -To: libc-alpha@sourceware.org -Date: Thu, 3 Jul 2014 14:26:40 +0100 -From: Will Newton -List-Id: - -Fix a -Wundef warning on ARM. - -ChangeLog: - -2014-07-03 Will Newton - - * sysdeps/arm/dl-machine.h (ELF_MACHINE_NO_REL): Define. ---- - sysdeps/arm/dl-machine.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h -index c5ffc93..d6b0c52 100644 ---- a/sysdeps/arm/dl-machine.h -+++ b/sysdeps/arm/dl-machine.h -@@ -296,6 +296,7 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rel *reloc, - /* ARM never uses Elf32_Rela relocations for the dynamic linker. - Prelinked libraries may use Elf32_Rela though. */ - #define ELF_MACHINE_NO_RELA defined RTLD_BOOTSTRAP -+#define ELF_MACHINE_NO_REL 0 - - /* Names of the architecture-specific auditing callback functions. */ - #define ARCH_LA_PLTENTER arm_gnu_pltenter diff --git a/SOURCES/glibc-rh1256317-armhfp-build-issue.patch b/SOURCES/glibc-rh1256317-armhfp-build-issue.patch deleted file mode 100644 index aa6e7fe..0000000 --- a/SOURCES/glibc-rh1256317-armhfp-build-issue.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/sysdeps/unix/arm/sysdep.S 2016-11-05 11:44:45.561945344 +0100 -+++ b/sysdeps/unix/arm/sysdep.S 2016-11-05 11:44:19.542069815 +0100 -@@ -37,7 +37,7 @@ - moveq r0, $EAGAIN /* Yes; translate it to EAGAIN. */ - #endif - --#ifndef IS_IN_rtld -+#if !IS_IN (rtld) - mov ip, lr - cfi_register (lr, ip) - mov r1, r0 diff --git a/SOURCES/glibc-rh1925204-1.patch b/SOURCES/glibc-rh1925204-1.patch new file mode 100644 index 0000000..74f0bbe --- /dev/null +++ b/SOURCES/glibc-rh1925204-1.patch @@ -0,0 +1,74 @@ +Fixes regression introduced by glibc-rh1869380.patch. This fix +backports the upstream fixed implementation of __isnanl to use only in +printf_fp.c so that the fix remains localized and does not affect +other callers of __isnanl. + +diff --git a/include/math.h b/include/math.h +index 0925d604ea3552a7..4eddc81be0dccad9 100644 +--- a/include/math.h ++++ b/include/math.h +@@ -6,6 +6,11 @@ + /* Now define the internal interfaces. */ + extern int __matherr (struct exception *__exc); + ++# if IS_IN (libc) ++extern int __isnanl_pseudo (long double); ++hidden_proto (__isnanl_pseudo) ++#endif ++ + # if IS_IN (libc) || IS_IN (libm) + hidden_proto (__finite) + hidden_proto (__isinf) +diff --git a/stdio-common/printf_fp.c b/stdio-common/printf_fp.c +index 60b143571065a082..af842156eaa3eace 100644 +--- a/stdio-common/printf_fp.c ++++ b/stdio-common/printf_fp.c +@@ -155,19 +155,7 @@ static __always_inline int + isnanl_or_pseudo (long double in) + { + #if defined __x86_64__ || defined __i386__ +- union +- { +- long double f; +- struct +- { +- uint64_t low; +- uint64_t high; +- } u; +- } ldouble; +- +- ldouble.f = in; +- +- return __isnanl (in) || (ldouble.u.low & 0x8000000000000000) == 0; ++ return __isnanl_pseudo (in); + #else + return __isnanl (in); + #endif +diff --git a/sysdeps/i386/fpu/s_isnanl.c b/sysdeps/i386/fpu/s_isnanl.c +index 816396d8fbc79dde..dc83d7a85fb3318b 100644 +--- a/sysdeps/i386/fpu/s_isnanl.c ++++ b/sysdeps/i386/fpu/s_isnanl.c +@@ -41,3 +41,23 @@ int __isnanl(long double x) + } + hidden_def (__isnanl) + weak_alias (__isnanl, isnanl) ++ ++#if IS_IN (libc) ++/* Exact backport from glibc-2.33, used only in printf_fp.c. */ ++int __isnanl_pseudo (long double x) ++{ ++ int32_t se,hx,lx,pn; ++ GET_LDOUBLE_WORDS(se,hx,lx,x); ++ se = (se & 0x7fff) << 1; ++ /* Detect pseudo-normal numbers, i.e. exponent is non-zero and the top ++ bit of the significand is not set. */ ++ pn = (uint32_t)((~hx & 0x80000000) & (se|(-se)))>>31; ++ /* Clear the significand bit when computing mantissa. */ ++ lx |= hx & 0x7fffffff; ++ se |= (uint32_t)(lx|(-lx))>>31; ++ se = 0xfffe - se; ++ ++ return (int)(((uint32_t)(se)) >> 16) | pn; ++} ++hidden_def (__isnanl_pseudo) ++#endif diff --git a/SOURCES/glibc-rh1925204-2.patch b/SOURCES/glibc-rh1925204-2.patch new file mode 100644 index 0000000..1026e0b --- /dev/null +++ b/SOURCES/glibc-rh1925204-2.patch @@ -0,0 +1,252 @@ +commit 921e6f419867ae0ec15b6b5182f194a8229e7941 +Author: Siddhesh Poyarekar +Date: Fri Feb 5 09:52:52 2021 +0530 + + printf: Add smoke tests for long double + + The printf tests have no coverage for long double. Duplicate the + double tests so that we have some basic coverage. + + Reviewed-by: Carlos O'Donell + +diff --git a/stdio-common/tst-printf.c b/stdio-common/tst-printf.c +index dbc8019ca52712d5..c1faf325398f83a7 100644 +--- a/stdio-common/tst-printf.c ++++ b/stdio-common/tst-printf.c +@@ -176,21 +176,39 @@ I am ready for my first lesson today."; + printf("e-style < .1:\t\"%e\"\n", 0.001234); + printf("e-style big:\t\"%.60e\"\n", 1e20); + printf ("e-style == .1:\t\"%e\"\n", 0.1); ++ printf("f-style == 0:\t\"%f\"\n", 0.0); + printf("f-style >= 1:\t\"%f\"\n", 12.34); + printf("f-style >= .1:\t\"%f\"\n", 0.1234); + printf("f-style < .1:\t\"%f\"\n", 0.001234); ++ printf("g-style == 0:\t\"%g\"\n", 0.0); + printf("g-style >= 1:\t\"%g\"\n", 12.34); + printf("g-style >= .1:\t\"%g\"\n", 0.1234); + printf("g-style < .1:\t\"%g\"\n", 0.001234); + printf("g-style big:\t\"%.60g\"\n", 1e20); + ++ printf("Lf-style == 0:\t\"%Lf\"\n", (long double) 0.0); ++ printf("Lf-style >= 1:\t\"%Lf\"\n", (long double) 12.34); ++ printf("Lf-style >= .1:\t\"%Lf\"\n", (long double) 0.1234); ++ printf("Lf-style < .1:\t\"%Lf\"\n", (long double) 0.001234); ++ printf("Lg-style == 0:\t\"%Lg\"\n", (long double) 0.0); ++ printf("Lg-style >= 1:\t\"%Lg\"\n", (long double) 12.34); ++ printf("Lg-style >= .1:\t\"%Lg\"\n", (long double) 0.1234); ++ printf("Lg-style < .1:\t\"%Lg\"\n", (long double) 0.001234); ++ printf("Lg-style big:\t\"%.60Lg\"\n", (long double) 1e20); ++ + printf (" %6.5f\n", .099999999860301614); + printf (" %6.5f\n", .1); + printf ("x%5.4fx\n", .5); + ++ printf (" %6.5Lf\n", (long double) .099999999860301614); ++ printf (" %6.5Lf\n", (long double) .1); ++ printf ("x%5.4Lfx\n", (long double) .5); ++ + printf ("%#03x\n", 1); + + printf ("something really insane: %.10000f\n", 1.0); ++ printf ("something really insane (long double): %.10000Lf\n", ++ (long double) 1.0); + + { + double d = FLT_MIN; +@@ -203,16 +221,25 @@ I am ready for my first lesson today."; + + printf ("%15.5e\n", 4.9406564584124654e-324); + +-#define FORMAT "|%12.4f|%12.4e|%12.4g|\n" +- printf (FORMAT, 0.0, 0.0, 0.0); +- printf (FORMAT, 1.0, 1.0, 1.0); +- printf (FORMAT, -1.0, -1.0, -1.0); +- printf (FORMAT, 100.0, 100.0, 100.0); +- printf (FORMAT, 1000.0, 1000.0, 1000.0); +- printf (FORMAT, 10000.0, 10000.0, 10000.0); +- printf (FORMAT, 12345.0, 12345.0, 12345.0); +- printf (FORMAT, 100000.0, 100000.0, 100000.0); +- printf (FORMAT, 123456.0, 123456.0, 123456.0); ++#define FORMAT "|%12.4f|%12.4e|%12.4g|%12.4Lf|%12.4Lg|\n" ++ printf (FORMAT, 0.0, 0.0, 0.0, ++ (long double) 0.0, (long double) 0.0); ++ printf (FORMAT, 1.0, 1.0, 1.0, ++ (long double) 1.0, (long double) 1.0); ++ printf (FORMAT, -1.0, -1.0, -1.0, ++ (long double) -1.0, (long double) -1.0); ++ printf (FORMAT, 100.0, 100.0, 100.0, ++ (long double) 100.0, (long double) 100.0); ++ printf (FORMAT, 1000.0, 1000.0, 1000.0, ++ (long double) 1000.0, (long double) 1000.0); ++ printf (FORMAT, 10000.0, 10000.0, 10000.0, ++ (long double) 10000.0, (long double) 10000.0); ++ printf (FORMAT, 12345.0, 12345.0, 12345.0, ++ (long double) 12345.0, (long double) 12345.0); ++ printf (FORMAT, 100000.0, 100000.0, 100000.0, ++ (long double) 100000.0, (long double) 100000.0); ++ printf (FORMAT, 123456.0, 123456.0, 123456.0, ++ (long double) 123456.0, (long double) 123456.0); + #undef FORMAT + + { +@@ -318,6 +345,9 @@ rfg1 (void) + if (strcmp (buf, " ") != 0) + printf ("got: '%s', expected: '%s'\n", buf, " "); + sprintf (buf, "%5.f", 33.3); ++ if (strcmp (buf, " 33") != 0) ++ printf ("got: '%s', expected: '%s'\n", buf, " 33"); ++ sprintf (buf, "%5.Lf", (long double) 33.3); + if (strcmp (buf, " 33") != 0) + printf ("got: '%s', expected: '%s'\n", buf, " 33"); + sprintf (buf, "%8.e", 33.3e7); +@@ -327,6 +357,9 @@ rfg1 (void) + if (strcmp (buf, " 3E+08") != 0) + printf ("got: '%s', expected: '%s'\n", buf, " 3E+08"); + sprintf (buf, "%.g", 33.3); ++ if (strcmp (buf, "3e+01") != 0) ++ printf ("got: '%s', expected: '%s'\n", buf, "3e+01"); ++ sprintf (buf, "%.Lg", (long double) 33.3); + if (strcmp (buf, "3e+01") != 0) + printf ("got: '%s', expected: '%s'\n", buf, "3e+01"); + sprintf (buf, "%.G", 33.3); +@@ -350,6 +383,18 @@ rfg2 (void) + printf ("got: '%s', expected: '%s'\n", buf, "3"); + prec = 0; + sprintf (buf, "%7.*G", prec, 3.33); ++ if (strcmp (buf, " 3") != 0) ++ printf ("got: '%s', expected: '%s'\n", buf, " 3"); ++ prec = 0; ++ sprintf (buf, "%.*Lg", prec, (long double) 3.3); ++ if (strcmp (buf, "3") != 0) ++ printf ("got: '%s', expected: '%s'\n", buf, "3"); ++ prec = 0; ++ sprintf (buf, "%.*LG", prec, (long double) 3.3); ++ if (strcmp (buf, "3") != 0) ++ printf ("got: '%s', expected: '%s'\n", buf, "3"); ++ prec = 0; ++ sprintf (buf, "%7.*LG", prec, (long double) 3.33); + if (strcmp (buf, " 3") != 0) + printf ("got: '%s', expected: '%s'\n", buf, " 3"); + prec = 3; +diff --git a/stdio-common/tst-printf.sh b/stdio-common/tst-printf.sh +index d39b55179b59ddd3..57aec6c48c76b705 100644 +--- a/stdio-common/tst-printf.sh ++++ b/stdio-common/tst-printf.sh +@@ -63,18 +63,33 @@ e-style >= .1: "1.234000e-01" + e-style < .1: "1.234000e-03" + e-style big: "1.000000000000000000000000000000000000000000000000000000000000e+20" + e-style == .1: "1.000000e-01" ++f-style == 0: "0.000000" + f-style >= 1: "12.340000" + f-style >= .1: "0.123400" + f-style < .1: "0.001234" ++g-style == 0: "0" + g-style >= 1: "12.34" + g-style >= .1: "0.1234" + g-style < .1: "0.001234" + g-style big: "100000000000000000000" ++Lf-style == 0: "0.000000" ++Lf-style >= 1: "12.340000" ++Lf-style >= .1: "0.123400" ++Lf-style < .1: "0.001234" ++Lg-style == 0: "0" ++Lg-style >= 1: "12.34" ++Lg-style >= .1: "0.1234" ++Lg-style < .1: "0.001234" ++Lg-style big: "100000000000000000000" ++ 0.10000 ++ 0.10000 ++x0.5000x + 0.10000 + 0.10000 + x0.5000x + 0x1 + something really insane: 1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ++something really insane (long double): 1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + 5.87747175411143754e-39 + 5.87747175411143754e-39 + 5.87747175411143754e-39 +@@ -93,15 +108,15 @@ something really insane: 1.00000000000000000000000000000000000000000000000000000 + 5.87747175411143754e-39 + 5.87747175411143754e-39 + 4.94066e-324 +-| 0.0000| 0.0000e+00| 0| +-| 1.0000| 1.0000e+00| 1| +-| -1.0000| -1.0000e+00| -1| +-| 100.0000| 1.0000e+02| 100| +-| 1000.0000| 1.0000e+03| 1000| +-| 10000.0000| 1.0000e+04| 1e+04| +-| 12345.0000| 1.2345e+04| 1.234e+04| +-| 100000.0000| 1.0000e+05| 1e+05| +-| 123456.0000| 1.2346e+05| 1.235e+05| ++| 0.0000| 0.0000e+00| 0| 0.0000| 0| ++| 1.0000| 1.0000e+00| 1| 1.0000| 1| ++| -1.0000| -1.0000e+00| -1| -1.0000| -1| ++| 100.0000| 1.0000e+02| 100| 100.0000| 100| ++| 1000.0000| 1.0000e+03| 1000| 1000.0000| 1000| ++| 10000.0000| 1.0000e+04| 1e+04| 10000.0000| 1e+04| ++| 12345.0000| 1.2345e+04| 1.234e+04| 12345.0000| 1.234e+04| ++| 100000.0000| 1.0000e+05| 1e+05| 100000.0000| 1e+05| ++| 123456.0000| 1.2346e+05| 1.235e+05| 123456.0000| 1.235e+05| + snprintf ("%30s", "foo") == 30, " " + snprintf ("%.999999u", 10) == 999999 + +@@ -179,18 +194,33 @@ e-style >= .1: "1.234000e-01" + e-style < .1: "1.234000e-03" + e-style big: "1.000000000000000000000000000000000000000000000000000000000000e+20" + e-style == .1: "1.000000e-01" ++f-style == 0: "0.000000" + f-style >= 1: "12.340000" + f-style >= .1: "0.123400" + f-style < .1: "0.001234" ++g-style == 0: "0" + g-style >= 1: "12.34" + g-style >= .1: "0.1234" + g-style < .1: "0.001234" + g-style big: "100000000000000000000" ++Lf-style == 0: "0.000000" ++Lf-style >= 1: "12.340000" ++Lf-style >= .1: "0.123400" ++Lf-style < .1: "0.001234" ++Lg-style == 0: "0" ++Lg-style >= 1: "12.34" ++Lg-style >= .1: "0.1234" ++Lg-style < .1: "0.001234" ++Lg-style big: "100000000000000000000" ++ 0.10000 ++ 0.10000 ++x0.5000x + 0.10000 + 0.10000 + x0.5000x + 0x1 + something really insane: 1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ++something really insane (long double): 1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + 5.87747175411143754e-39 + 5.87747175411143754e-39 + 5.87747175411143754e-39 +@@ -209,15 +239,15 @@ something really insane: 1.00000000000000000000000000000000000000000000000000000 + 5.87747175411143754e-39 + 5.87747175411143754e-39 + 4.94066e-324 +-| 0.0000| 0.0000e+00| 0| +-| 1.0000| 1.0000e+00| 1| +-| -1.0000| -1.0000e+00| -1| +-| 100.0000| 1.0000e+02| 100| +-| 1000.0000| 1.0000e+03| 1000| +-| 10000.0000| 1.0000e+04| 1e+04| +-| 12345.0000| 1.2345e+04| 1.234e+04| +-| 100000.0000| 1.0000e+05| 1e+05| +-| 123456.0000| 1.2346e+05| 1.235e+05| ++| 0.0000| 0.0000e+00| 0| 0.0000| 0| ++| 1.0000| 1.0000e+00| 1| 1.0000| 1| ++| -1.0000| -1.0000e+00| -1| -1.0000| -1| ++| 100.0000| 1.0000e+02| 100| 100.0000| 100| ++| 1000.0000| 1.0000e+03| 1000| 1000.0000| 1000| ++| 10000.0000| 1.0000e+04| 1e+04| 10000.0000| 1e+04| ++| 12345.0000| 1.2345e+04| 1.234e+04| 12345.0000| 1.234e+04| ++| 100000.0000| 1.0000e+05| 1e+05| 100000.0000| 1e+05| ++| 123456.0000| 1.2346e+05| 1.235e+05| 123456.0000| 1.235e+05| + snprintf ("%30s", "foo") == 30, " " + snprintf ("%.999999u", 10) == 999999 + diff --git a/SPECS/glibc.spec b/SPECS/glibc.spec index 64120eb..cf2883d 100644 --- a/SPECS/glibc.spec +++ b/SPECS/glibc.spec @@ -1,6 +1,6 @@ %define glibcsrcdir glibc-2.17-c758a686 %define glibcversion 2.17 -%define glibcrelease 322%{?dist} +%define glibcrelease 323%{?dist} ############################################################################## # We support the following options: # --with/--without, @@ -249,11 +249,6 @@ Patch0068: glibc-rh1349982.patch # These changes were brought forward from RHEL 6 for compatibility Patch0069: glibc-rh1448107.patch -# Armhfp build issue -Patch9997: centos-arm32-NO_LONG_DOUBLE_MATH.patch -Patch9998: glibc-armhfp-ELF_MACHINE_NO_REL-undefined.patch -Patch9999: glibc-rh1256317-armhfp-build-issue.patch - Patch1000: glibc-rh905877.patch Patch1001: glibc-rh958652.patch Patch1002: glibc-rh977870.patch @@ -1643,6 +1638,8 @@ Patch2855: glibc-rh1869380.patch Patch2856: glibc-rh1812119-1.patch Patch2857: glibc-rh1812119-2.patch Patch2858: glibc-rh1883162.patch +Patch2859: glibc-rh1925204-1.patch +Patch2860: glibc-rh1925204-2.patch ############################################################################## # End of glibc patches. @@ -3011,12 +3008,8 @@ package or when debugging this package. %patch2856 -p1 %patch2857 -p1 %patch2858 -p1 - -%ifarch %{arm} -%patch9998 -p1 -%patch9999 -p1 -%patch9997 -p1 -%endif +%patch2859 -p1 +%patch2860 -p1 ############################################################################## # %%prep - Additional prep required... @@ -4204,6 +4197,9 @@ rm -f *.filelist* %endif %changelog +* Fri Feb 05 2021 Siddhesh Poyarekar - 2.17-323 +- Fix isnanl check in printf. (#1925204) + * Wed Jan 06 2021 Carlos O'Donell - 2.17-322 - Enable file-based IFUNC selection on NVMe devices (#1883162)