Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/808286/?format=api
{ "id": 808286, "url": "http://patchwork.ozlabs.org/api/1.2/patches/808286/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/patch/alpine.DEB.2.20.1708311551080.24662@digraph.polyomino.org.uk/", "project": { "id": 41, "url": "http://patchwork.ozlabs.org/api/1.2/projects/41/?format=api", "name": "GNU C Library", "link_name": "glibc", "list_id": "libc-alpha.sourceware.org", "list_email": "libc-alpha@sourceware.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<alpine.DEB.2.20.1708311551080.24662@digraph.polyomino.org.uk>", "list_archive_url": null, "date": "2017-08-31T15:51:27", "name": "Simplify HUGE_VAL definitions [committed]", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "78c0d1f009d87916fea758532ee4a1d41336bc34", "submitter": { "id": 4349, "url": "http://patchwork.ozlabs.org/api/1.2/people/4349/?format=api", "name": "Joseph Myers", "email": "joseph@codesourcery.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/glibc/patch/alpine.DEB.2.20.1708311551080.24662@digraph.polyomino.org.uk/mbox/", "series": [ { "id": 859, "url": "http://patchwork.ozlabs.org/api/1.2/series/859/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/list/?series=859", "date": "2017-08-31T15:51:27", "name": "Simplify HUGE_VAL definitions [committed]", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/859/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/808286/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/808286/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<libc-alpha-return-83937-incoming=patchwork.ozlabs.org@sourceware.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": [ "patchwork-incoming@bilbo.ozlabs.org", "mailing list libc-alpha@sourceware.org" ], "Authentication-Results": [ "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-83937-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"Ug+kYM1i\"; dkim-atps=neutral", "sourceware.org; auth=none" ], "Received": [ "from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xjn1P353Lz9s65\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 1 Sep 2017 01:51:53 +1000 (AEST)", "(qmail 71137 invoked by alias); 31 Aug 2017 15:51:47 -0000", "(qmail 71128 invoked by uid 89); 31 Aug 2017 15:51:46 -0000" ], "DomainKey-Signature": "a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:subject:message-id:mime-version\n\t:content-type; q=dns; s=default; b=niv+atSgW+2gKw9whZEtQRrQr3Vn+\n\t0asEMuOLi5m9J9kIVV8WGZsz4FTyzhIQx/+BKKUInIlT14qUIgCB4UrBuSCHF1Og\n\t4jS5tzNItYhkuzDN+dAhHni6Kbw5Skw+2ndKS3UNAFyFjarCiVNkqjVd6iPRoxPC\n\tLJ6zU6MYM/dZD4=", "DKIM-Signature": "v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:subject:message-id:mime-version\n\t:content-type; s=default; bh=U8tsmB9s9qfEV1mXfWUtVp1ocUU=; b=Ug+\n\tkYM1iOI9LH2lvF7zSKGGh7ZXZvji61Yqb+QyTlBkEEExB4Em+MxkhhHl05OagNXq\n\tdlxWPI6wc+2ulDHFF9XmzGnT59jrEpXjqVrrZJmAIiyrgZShlbasz/aPHvfIOgn1\n\t7butULiUo9bnuCMDrevSB7LlXKe4wvmtKUU+rSQc=", "Mailing-List": "contact libc-alpha-help@sourceware.org; run by ezmlm", "Precedence": "bulk", "List-Id": "<libc-alpha.sourceware.org>", "List-Unsubscribe": "<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>", "List-Subscribe": "<mailto:libc-alpha-subscribe@sourceware.org>", "List-Archive": "<http://sourceware.org/ml/libc-alpha/>", "List-Post": "<mailto:libc-alpha@sourceware.org>", "List-Help": "<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>", "Sender": "libc-alpha-owner@sourceware.org", "X-Virus-Found": "No", "X-Spam-SWARE-Status": "No, score=-24.5 required=5.0 tests=AWL, BAYES_00,\n\tGIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3,\n\tRCVD_IN_DNSWL_NONE, SPF_PASS,\n\tURIBL_RED autolearn=ham version=3.3.2 spammy=violated", "X-HELO": "relay1.mentorg.com", "Date": "Thu, 31 Aug 2017 15:51:27 +0000", "From": "Joseph Myers <joseph@codesourcery.com>", "To": "<libc-alpha@sourceware.org>", "Subject": "Simplify HUGE_VAL definitions [committed]", "Message-ID": "<alpine.DEB.2.20.1708311551080.24662@digraph.polyomino.org.uk>", "User-Agent": "Alpine 2.20 (DEB 67 2015-01-07)", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"US-ASCII\"", "X-ClientProxiedBy": "svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To\n\tsvr-ies-mbx-01.mgc.mentorg.com (139.181.222.1)" }, "content": "There are various bits/huge_val*.h headers to define HUGE_VAL and\nrelated macros. All of them use __builtin_huge_val etc. for GCC 3.3\nand later. Then there are various fallbacks, such as using a large\nhex float constant for GCC 2.96 and later, or using unions (with or\nwithout compound literals) to construct the bytes of an infinity, with\nthis last being the reason for having architecture-specific files.\nSupporting TS 18661-3 _FloatN / _FloatNx types that have the same\nformat as other supported types will mean adding more such macros;\nneeding to add more headers for them doesn't seem very desirable.\n\nThe fallbacks based on bytes of the representation of an infinity do\nnot meet the standard requirements for a constant expression. At\nleast one of them is also wrong: sysdeps/sh/bits/huge_val.h is\nproducing a mixed-endian representation which does not match what GCC\ndoes.\n\nThis patch eliminates all those headers, defining the macros directly\nin math.h. For GCC 3.3 and later, the built-in functions are used as\nnow. For other compilers, a large constant 1e10000 (with appropriate\nsuffix) is used. This is like the fallback for GCC 2.96 and later,\nbut without using hex floats (which have no apparent advantage here).\nIt is unambiguously valid standard C for all floating-point formats\nwith infinities, which covers all formats supported by glibc or likely\nto be supported by glibc in future (C90 DR#025 said that if a\nfloating-point format represents infinities, all real values lie\nwithin the range of representable values, so the constraints for\nconstant expressions are not violated), but may generate compiler\nwarnings and wouldn't handle the TS 18661-1 FENV_ROUND pragma\ncorrectly. If someone is actually using a compiler with glibc that\ndoes not claim to be GCC 3.3 or later, but which has a better way to\ndefine the HUGE_VAL macros, we can always add compiler conditionals in\nwith alternative definitions.\n\nI intend to make similar changes for INF and NAN. The SNAN macros\nalready just use __builtin_nans etc. with no fallback for compilers\nnot claiming to be GCC 3.3 or later.\n\nTested for x86_64.\n\n2017-08-31 Joseph Myers <joseph@codesourcery.com>\n\n\t* math/math.h: Do not include bits/huge_val.h, bits/huge_valf.h,\n\tbits/huge_vall.h or bits/huge_val_flt128.h.\n\t(HUGE_VAL): Define directly here.\n\t[__USE_ISOC99] (HUGE_VALF): Likewise.\n\t[__USE_ISOC99] (HUGE_VALL): Likewise.\n\t[__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]\n\t(HUGE_VAL_F128): Likewise.\n\t* math/Makefile (headers): Remove bits/huge_val.h,\n\tbits/huge_valf.h, bits/huge_vall.h and bits/huge_val_flt128.h.\n\t* bits/huge_val.h: Remove.\n\t* bits/huge_val_flt128.h: Likewise.\n\t* bits/huge_valf.h: Likewise.\n\t* bits/huge_vall.h: Likewise.\n\t* sysdeps/ia64/bits/huge_vall.h: Likewise.\n\t* sysdeps/ieee754/bits/huge_val.h: Likewise.\n\t* sysdeps/ieee754/bits/huge_valf.h: Likewise.\n\t* sysdeps/m68k/m680x0/bits/huge_vall.h: Likewise.\n\t* sysdeps/sh/bits/huge_val.h: Likewise.\n\t* sysdeps/sparc/bits/huge_vall.h: Likewise.\n\t* sysdeps/x86/bits/huge_vall.h: Likewise.", "diff": "diff --git a/bits/huge_val.h b/bits/huge_val.h\ndeleted file mode 100644\nindex e29a793..0000000\n--- a/bits/huge_val.h\n+++ /dev/null\n@@ -1,28 +0,0 @@\n-/* Stub `HUGE_VAL' constant.\n- Used by <stdlib.h> and <math.h> functions for overflow.\n- Copyright (C) 1992-2017 Free Software Foundation, Inc.\n- This file is part of the GNU C Library.\n-\n- The GNU C Library is free software; you can redistribute it and/or\n- modify it under the terms of the GNU Lesser General Public\n- License as published by the Free Software Foundation; either\n- version 2.1 of the License, or (at your option) any later version.\n-\n- The GNU C Library is distributed in the hope that it will be useful,\n- but WITHOUT ANY WARRANTY; without even the implied warranty of\n- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n- Lesser General Public License for more details.\n-\n- You should have received a copy of the GNU Lesser General Public\n- License along with the GNU C Library; if not, see\n- <http://www.gnu.org/licenses/>. */\n-\n-#ifndef _MATH_H\n-# error \"Never use <bits/huge_val.h> directly; include <math.h> instead.\"\n-#endif\n-\n-#if __GNUC_PREREQ(3,3)\n-# define HUGE_VAL\t(__builtin_huge_val())\n-#else\n-# define HUGE_VAL\t1e37\n-#endif\ndiff --git a/bits/huge_val_flt128.h b/bits/huge_val_flt128.h\ndeleted file mode 100644\nindex 63c258e..0000000\n--- a/bits/huge_val_flt128.h\n+++ /dev/null\n@@ -1,23 +0,0 @@\n-/* Default `HUGE_VAL_F128' constant.\n- Copyright (C) 2017 Free Software Foundation, Inc.\n- This file is part of the GNU C Library.\n-\n- The GNU C Library is free software; you can redistribute it and/or\n- modify it under the terms of the GNU Lesser General Public\n- License as published by the Free Software Foundation; either\n- version 2.1 of the License, or (at your option) any later version.\n-\n- The GNU C Library is distributed in the hope that it will be useful,\n- but WITHOUT ANY WARRANTY; without even the implied warranty of\n- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n- Lesser General Public License for more details.\n-\n- You should have received a copy of the GNU Lesser General Public\n- License along with the GNU C Library; if not, see\n- <http://www.gnu.org/licenses/>. */\n-\n-#ifndef _MATH_H\n-# error \"Never use <bits/huge_val_flt128.h> directly; include <math.h> instead.\"\n-#endif\n-\n-#define HUGE_VAL_F128 (__builtin_huge_valf128 ())\ndiff --git a/bits/huge_valf.h b/bits/huge_valf.h\ndeleted file mode 100644\nindex 4c48dab..0000000\n--- a/bits/huge_valf.h\n+++ /dev/null\n@@ -1,28 +0,0 @@\n-/* Stub `HUGE_VALF' constant.\n- Used by <stdlib.h> and <math.h> functions for overflow.\n- Copyright (C) 1992-2017 Free Software Foundation, Inc.\n- This file is part of the GNU C Library.\n-\n- The GNU C Library is free software; you can redistribute it and/or\n- modify it under the terms of the GNU Lesser General Public\n- License as published by the Free Software Foundation; either\n- version 2.1 of the License, or (at your option) any later version.\n-\n- The GNU C Library is distributed in the hope that it will be useful,\n- but WITHOUT ANY WARRANTY; without even the implied warranty of\n- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n- Lesser General Public License for more details.\n-\n- You should have received a copy of the GNU Lesser General Public\n- License along with the GNU C Library; if not, see\n- <http://www.gnu.org/licenses/>. */\n-\n-#ifndef _MATH_H\n-# error \"Never use <bits/huge_valf.h> directly; include <math.h> instead.\"\n-#endif\n-\n-#if __GNUC_PREREQ(3,3)\n-# define HUGE_VALF\t(__builtin_huge_valf())\n-#else\n-# define HUGE_VALF\t1e37f\n-#endif\ndiff --git a/bits/huge_vall.h b/bits/huge_vall.h\ndeleted file mode 100644\nindex df404e4..0000000\n--- a/bits/huge_vall.h\n+++ /dev/null\n@@ -1,28 +0,0 @@\n-/* Default `HUGE_VALL' constant.\n- Used by <stdlib.h> and <math.h> functions for overflow.\n- Copyright (C) 1992-2017 Free Software Foundation, Inc.\n- This file is part of the GNU C Library.\n-\n- The GNU C Library is free software; you can redistribute it and/or\n- modify it under the terms of the GNU Lesser General Public\n- License as published by the Free Software Foundation; either\n- version 2.1 of the License, or (at your option) any later version.\n-\n- The GNU C Library is distributed in the hope that it will be useful,\n- but WITHOUT ANY WARRANTY; without even the implied warranty of\n- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n- Lesser General Public License for more details.\n-\n- You should have received a copy of the GNU Lesser General Public\n- License along with the GNU C Library; if not, see\n- <http://www.gnu.org/licenses/>. */\n-\n-#ifndef _MATH_H\n-# error \"Never use <bits/huge_vall.h> directly; include <math.h> instead.\"\n-#endif\n-\n-#if __GNUC_PREREQ(3,3)\n-# define HUGE_VALL\t(__builtin_huge_vall())\n-#else\n-# define HUGE_VALL\t((long double) HUGE_VAL)\n-#endif\ndiff --git a/math/Makefile b/math/Makefile\nindex c47a3a4..01345fb 100644\n--- a/math/Makefile\n+++ b/math/Makefile\n@@ -22,15 +22,15 @@ subdir\t\t:= math\n include ../Makeconfig\n \n # Installed header files.\n-headers\t\t:= math.h bits/mathcalls.h bits/mathinline.h bits/huge_val.h \\\n-\t\t bits/huge_valf.h bits/huge_vall.h bits/inf.h bits/nan.h \\\n+headers\t\t:= math.h bits/mathcalls.h bits/mathinline.h \\\n+\t\t bits/inf.h bits/nan.h \\\n \t\t fpu_control.h complex.h bits/cmathcalls.h fenv.h \\\n \t\t bits/fenv.h bits/fenvinline.h bits/mathdef.h tgmath.h \\\n \t\t bits/math-finite.h bits/math-vector.h \\\n \t\t bits/libm-simd-decl-stubs.h bits/iscanonical.h \\\n \t\t bits/flt-eval-method.h bits/fp-fast.h bits/fp-logb.h \\\n \t\t bits/long-double.h bits/mathcalls-helper-functions.h \\\n-\t\t bits/floatn.h bits/huge_val_flt128.h\n+\t\t bits/floatn.h\n \n # FPU support code.\n aux\t\t:= setfpucw fpu_control\ndiff --git a/math/math.h b/math/math.h\nindex 7e41b0d..dcccf8e 100644\n--- a/math/math.h\n+++ b/math/math.h\n@@ -37,18 +37,27 @@ __BEGIN_DECLS\n /* Gather machine dependent type support. */\n #include <bits/floatn.h>\n \n-/* Get machine-dependent HUGE_VAL value (returned on overflow).\n- On all IEEE754 machines, this is +Infinity. */\n-#include <bits/huge_val.h>\n-\n+/* Value returned on overflow. On all IEEE754 machines, this is\n+ +Infinity. */\n+#if __GNUC_PREREQ (3, 3)\n+# define HUGE_VAL (__builtin_huge_val ())\n+#else\n+# define HUGE_VAL 1e10000\n+#endif\n+#ifdef __USE_ISOC99\n+# if __GNUC_PREREQ (3, 3)\n+# define HUGE_VALF (__builtin_huge_valf ())\n+# define HUGE_VALL (__builtin_huge_vall ())\n+# else\n+# define HUGE_VALF 1e10000f\n+# define HUGE_VALL 1e10000L\n+# endif\n+#endif\n #if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)\n-# include <bits/huge_val_flt128.h>\n+# define HUGE_VAL_F128 (__builtin_huge_valf128 ())\n #endif\n \n #ifdef __USE_ISOC99\n-# include <bits/huge_valf.h>\n-# include <bits/huge_vall.h>\n-\n /* Get machine-dependent INFINITY value. */\n # include <bits/inf.h>\n \ndiff --git a/sysdeps/ia64/bits/huge_vall.h b/sysdeps/ia64/bits/huge_vall.h\ndeleted file mode 100644\nindex 3e2b4ec..0000000\n--- a/sysdeps/ia64/bits/huge_vall.h\n+++ /dev/null\n@@ -1,41 +0,0 @@\n-/* `HUGE_VALL' constant for ia64 (where it is infinity).\n- Used by <stdlib.h> and <math.h> functions for overflow.\n- Copyright (C) 2000-2017 Free Software Foundation, Inc.\n- This file is part of the GNU C Library.\n-\n- The GNU C Library is free software; you can redistribute it and/or\n- modify it under the terms of the GNU Lesser General Public\n- License as published by the Free Software Foundation; either\n- version 2.1 of the License, or (at your option) any later version.\n-\n- The GNU C Library is distributed in the hope that it will be useful,\n- but WITHOUT ANY WARRANTY; without even the implied warranty of\n- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n- Lesser General Public License for more details.\n-\n- You should have received a copy of the GNU Lesser General Public\n- License along with the GNU C Library; if not, see\n- <http://www.gnu.org/licenses/>. */\n-\n-#ifndef _MATH_H\n-# error \"Never use <bits/huge_vall.h> directly; include <math.h> instead.\"\n-#endif\n-\n-#if __GNUC_PREREQ(3,3)\n-# define HUGE_VALL\t(__builtin_huge_vall())\n-#elif __GNUC_PREREQ(2,96)\n-# define HUGE_VALL\t(__extension__ 0x1.0p32767L)\n-#else\n-\n-# define __HUGE_VALL_bytes\t{ 0,0,0,0,0,0,0, 0x80, 0xff, 0x7f, 0,0,0,0,0,0}\n-\n-# define __huge_vall_t\tunion { unsigned char __c[16]; long double __ld; }\n-# ifdef __GNUC__\n-# define HUGE_VALL\t(__extension__ \\\n-\t\t\t ((__huge_vall_t) { __c: __HUGE_VALL_bytes }).__ld)\n-# else\t/* Not GCC. */\n-static __huge_vall_t __huge_vall = { __HUGE_VALL_bytes };\n-# define HUGE_VALL\t(__huge_vall.__ld)\n-# endif /* GCC. */\n-\n-#endif /* GCC 2.95 */\ndiff --git a/sysdeps/ieee754/bits/huge_val.h b/sysdeps/ieee754/bits/huge_val.h\ndeleted file mode 100644\nindex fb3ba69..0000000\n--- a/sysdeps/ieee754/bits/huge_val.h\n+++ /dev/null\n@@ -1,53 +0,0 @@\n-/* `HUGE_VAL' constant for IEEE 754 machines (where it is infinity).\n- Used by <stdlib.h> and <math.h> functions for overflow.\n- Copyright (C) 1992-2017 Free Software Foundation, Inc.\n- This file is part of the GNU C Library.\n-\n- The GNU C Library is free software; you can redistribute it and/or\n- modify it under the terms of the GNU Lesser General Public\n- License as published by the Free Software Foundation; either\n- version 2.1 of the License, or (at your option) any later version.\n-\n- The GNU C Library is distributed in the hope that it will be useful,\n- but WITHOUT ANY WARRANTY; without even the implied warranty of\n- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n- Lesser General Public License for more details.\n-\n- You should have received a copy of the GNU Lesser General Public\n- License along with the GNU C Library; if not, see\n- <http://www.gnu.org/licenses/>. */\n-\n-#ifndef _MATH_H\n-# error \"Never use <bits/huge_val.h> directly; include <math.h> instead.\"\n-#endif\n-\n-/* IEEE positive infinity (-HUGE_VAL is negative infinity). */\n-\n-#if __GNUC_PREREQ(3,3)\n-# define HUGE_VAL\t(__builtin_huge_val())\n-#elif __GNUC_PREREQ(2,96)\n-# define HUGE_VAL\t(__extension__ 0x1.0p2047)\n-#elif defined __GNUC__\n-\n-# define HUGE_VAL \\\n- (__extension__\t\t\t\t\t\t\t \\\n- ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \\\n- { __l: 0x7ff0000000000000ULL }).__d)\n-\n-#else /* not GCC */\n-\n-# include <endian.h>\n-\n-typedef union { unsigned char __c[8]; double __d; } __huge_val_t;\n-\n-# if __BYTE_ORDER == __BIG_ENDIAN\n-# define __HUGE_VAL_bytes\t{ 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 }\n-# endif\n-# if __BYTE_ORDER == __LITTLE_ENDIAN\n-# define __HUGE_VAL_bytes\t{ 0, 0, 0, 0, 0, 0, 0xf0, 0x7f }\n-# endif\n-\n-static __huge_val_t __huge_val = { __HUGE_VAL_bytes };\n-# define HUGE_VAL\t(__huge_val.__d)\n-\n-#endif\t/* GCC. */\ndiff --git a/sysdeps/ieee754/bits/huge_valf.h b/sysdeps/ieee754/bits/huge_valf.h\ndeleted file mode 100644\nindex f24bcf4..0000000\n--- a/sysdeps/ieee754/bits/huge_valf.h\n+++ /dev/null\n@@ -1,51 +0,0 @@\n-/* `HUGE_VALF' constant for IEEE 754 machines (where it is infinity).\n- Used by <stdlib.h> and <math.h> functions for overflow.\n- Copyright (C) 1992-2017 Free Software Foundation, Inc.\n- This file is part of the GNU C Library.\n-\n- The GNU C Library is free software; you can redistribute it and/or\n- modify it under the terms of the GNU Lesser General Public\n- License as published by the Free Software Foundation; either\n- version 2.1 of the License, or (at your option) any later version.\n-\n- The GNU C Library is distributed in the hope that it will be useful,\n- but WITHOUT ANY WARRANTY; without even the implied warranty of\n- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n- Lesser General Public License for more details.\n-\n- You should have received a copy of the GNU Lesser General Public\n- License along with the GNU C Library; if not, see\n- <http://www.gnu.org/licenses/>. */\n-\n-#ifndef _MATH_H\n-# error \"Never use <bits/huge_valf.h> directly; include <math.h> instead.\"\n-#endif\n-\n-/* IEEE positive infinity (-HUGE_VAL is negative infinity). */\n-\n-#if __GNUC_PREREQ(3,3)\n-# define HUGE_VALF\t(__builtin_huge_valf())\n-#elif __GNUC_PREREQ(2,96)\n-# define HUGE_VALF\t(__extension__ 0x1.0p255f)\n-#elif defined __GNUC__\n-\n-# define HUGE_VALF \\\n- (__extension__\t\t\t\t\t\t\t \\\n- ((union { unsigned __l __attribute__((__mode__(__SI__))); float __d; }) \\\n- { __l: 0x7f800000UL }).__d)\n-\n-#else /* not GCC */\n-\n-typedef union { unsigned char __c[4]; float __f; } __huge_valf_t;\n-\n-# if __BYTE_ORDER == __BIG_ENDIAN\n-# define __HUGE_VALF_bytes\t{ 0x7f, 0x80, 0, 0 }\n-# endif\n-# if __BYTE_ORDER == __LITTLE_ENDIAN\n-# define __HUGE_VALF_bytes\t{ 0, 0, 0x80, 0x7f }\n-# endif\n-\n-static __huge_valf_t __huge_valf = { __HUGE_VALF_bytes };\n-# define HUGE_VALF\t(__huge_valf.__f)\n-\n-#endif\t/* GCC. */\ndiff --git a/sysdeps/m68k/m680x0/bits/huge_vall.h b/sysdeps/m68k/m680x0/bits/huge_vall.h\ndeleted file mode 100644\nindex 14a4483..0000000\n--- a/sysdeps/m68k/m680x0/bits/huge_vall.h\n+++ /dev/null\n@@ -1,41 +0,0 @@\n-/* `HUGE_VALL' constant for m68k (where it is infinity).\n- Used by <stdlib.h> and <math.h> functions for overflow.\n- Copyright (C) 1992-2017 Free Software Foundation, Inc.\n- This file is part of the GNU C Library.\n-\n- The GNU C Library is free software; you can redistribute it and/or\n- modify it under the terms of the GNU Lesser General Public\n- License as published by the Free Software Foundation; either\n- version 2.1 of the License, or (at your option) any later version.\n-\n- The GNU C Library is distributed in the hope that it will be useful,\n- but WITHOUT ANY WARRANTY; without even the implied warranty of\n- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n- Lesser General Public License for more details.\n-\n- You should have received a copy of the GNU Lesser General Public\n- License along with the GNU C Library. If not, see\n- <http://www.gnu.org/licenses/>. */\n-\n-#ifndef _MATH_H\n-# error \"Never use <bits/huge_val.h> directly; include <math.h> instead.\"\n-#endif\n-\n-#if __GNUC_PREREQ(3,3)\n-# define HUGE_VALL\t(__builtin_huge_vall ())\n-#elif __GNUC_PREREQ(2,96)\n-# define HUGE_VALL\t(__extension__ 0x1.0p32767L)\n-#elif defined __GNUC__\n-\n-# define HUGE_VALL\t\t\t\t\t\\\n- (__extension__\t\t\t\t\t\\\n- ((union { unsigned long __l[3]; long double __ld; })\t\\\n- { __l: { 0x7fff0000UL, 0x80000000UL, 0UL } }).__ld)\n-\n-#else /* not GCC */\n-\n-static union { unsigned char __c[12]; long double __ld; } __huge_vall =\n- { { 0x7f, 0xff, 0, 0, 0x80, 0, 0, 0, 0, 0, 0, 0 } };\n-# define HUGE_VALL\t(__huge_vall.__ld)\n-\n-#endif /* GCC 2.95. */\ndiff --git a/sysdeps/sh/bits/huge_val.h b/sysdeps/sh/bits/huge_val.h\ndeleted file mode 100644\nindex aab7a23..0000000\n--- a/sysdeps/sh/bits/huge_val.h\n+++ /dev/null\n@@ -1,54 +0,0 @@\n-/* `HUGE_VAL' constants for IEEE 754 machines (where it is infinity).\n- Used by <stdlib.h> and <math.h> functions for overflow.\n- SH version.\n- Copyright (C) 1992-2017 Free Software Foundation, Inc.\n- This file is part of the GNU C Library.\n-\n- The GNU C Library is free software; you can redistribute it and/or\n- modify it under the terms of the GNU Lesser General Public\n- License as published by the Free Software Foundation; either\n- version 2.1 of the License, or (at your option) any later version.\n-\n- The GNU C Library is distributed in the hope that it will be useful,\n- but WITHOUT ANY WARRANTY; without even the implied warranty of\n- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n- Lesser General Public License for more details.\n-\n- You should have received a copy of the GNU Lesser General Public\n- License along with the GNU C Library; if not, see\n- <http://www.gnu.org/licenses/>. */\n-\n-#ifndef _MATH_H\n-# error \"Never use <bits/huge_val.h> directly; include <math.h> instead.\"\n-#endif\n-\n-/* IEEE positive infinity (-HUGE_VAL is negative infinity). */\n-\n-#if __GNUC_PREREQ(3,3)\n-# define HUGE_VAL\t(__builtin_huge_val())\n-#elif __GNUC_PREREQ(2,96)\n-# define HUGE_VAL\t(__extension__ 0x1.0p2047)\n-#elif defined __GNUC__\n-\n-# define HUGE_VAL \\\n- (__extension__\t\t\t\t\t\t\t \\\n- ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \\\n- { __l: 0x000000007ff00000ULL }).__d)\n-\n-#else /* not GCC */\n-\n-# include <endian.h>\n-\n-typedef union { unsigned char __c[8]; double __d; } __huge_val_t;\n-\n-# if __BYTE_ORDER == __BIG_ENDIAN\n-# define __HUGE_VAL_bytes\t{ 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 }\n-# endif\n-# if __BYTE_ORDER == __LITTLE_ENDIAN\n-# define __HUGE_VAL_bytes\t{ 0, 0, 0xf0, 0x7f, 0, 0, 0, 0 }\n-# endif\n-\n-static __huge_val_t __huge_val = { __HUGE_VAL_bytes };\n-# define HUGE_VAL\t(__huge_val.__d)\n-\n-#endif\t/* GCC. */\ndiff --git a/sysdeps/sparc/bits/huge_vall.h b/sysdeps/sparc/bits/huge_vall.h\ndeleted file mode 100644\nindex 6704bc0..0000000\n--- a/sysdeps/sparc/bits/huge_vall.h\n+++ /dev/null\n@@ -1,47 +0,0 @@\n-/* `HUGE_VALL' constant for IEEE 754 machines (where it is infinity).\n- Used by <stdlib.h> and <math.h> functions for overflow.\n- Copyright (C) 1992-2017 Free Software Foundation, Inc.\n- This file is part of the GNU C Library.\n-\n- The GNU C Library is free software; you can redistribute it and/or\n- modify it under the terms of the GNU Lesser General Public\n- License as published by the Free Software Foundation; either\n- version 2.1 of the License, or (at your option) any later version.\n-\n- The GNU C Library is distributed in the hope that it will be useful,\n- but WITHOUT ANY WARRANTY; without even the implied warranty of\n- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n- Lesser General Public License for more details.\n-\n- You should have received a copy of the GNU Lesser General Public\n- License along with the GNU C Library; if not, see\n- <http://www.gnu.org/licenses/>. */\n-\n-#ifndef _MATH_H\n-# error \"Never use <bits/huge_vall.h> directly; include <math.h> instead.\"\n-#endif\n-\n-#if __GNUC_PREREQ(3,3)\n-# define HUGE_VALL\t(__builtin_huge_vall())\n-#else\n-# include <bits/wordsize.h>\n-# if __WORDSIZE == 32\n-# define HUGE_VALL\t((long double) HUGE_VAL)\n-# elif __GNUC_PREREQ(2,96)\n-# define HUGE_VALL\t(__extension__ 0x1.0p32767L)\n-# elif defined __GNUC__\n-\n-# define HUGE_VALL \\\n- (__extension__\t\t\t\t\t\t\t \\\n- ((union { struct { unsigned long __h, __l; } __i; long double __d; }) \\\n- { __i: { __h: 0x7fff000000000000UL, __l: 0 } }).__d)\n-\n-# else /* not GCC */\n-\n-typedef union { unsigned char __c[16]; long double __d; } __huge_vall_t;\n-# define __HUGE_VALL_bytes\t{ 0x7f, 0xff, 0,0,0,0,0,0,0,0,0,0,0,0,0,0 }\n-static __huge_vall_t __huge_vall = { __HUGE_VALL_bytes };\n-# define HUGE_VALL\t(__huge_vall.__d)\n-\n-# endif /* GCC. */\n-#endif /* GCC 3.3. */\ndiff --git a/sysdeps/x86/bits/huge_vall.h b/sysdeps/x86/bits/huge_vall.h\ndeleted file mode 100644\nindex 9749bac..0000000\n--- a/sysdeps/x86/bits/huge_vall.h\n+++ /dev/null\n@@ -1,41 +0,0 @@\n-/* `HUGE_VALL' constant for ix86 (where it is infinity).\n- Used by <stdlib.h> and <math.h> functions for overflow.\n- Copyright (C) 1992-2017 Free Software Foundation, Inc.\n- This file is part of the GNU C Library.\n-\n- The GNU C Library is free software; you can redistribute it and/or\n- modify it under the terms of the GNU Lesser General Public\n- License as published by the Free Software Foundation; either\n- version 2.1 of the License, or (at your option) any later version.\n-\n- The GNU C Library is distributed in the hope that it will be useful,\n- but WITHOUT ANY WARRANTY; without even the implied warranty of\n- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n- Lesser General Public License for more details.\n-\n- You should have received a copy of the GNU Lesser General Public\n- License along with the GNU C Library; if not, see\n- <http://www.gnu.org/licenses/>. */\n-\n-#ifndef _MATH_H\n-# error \"Never use <bits/huge_vall.h> directly; include <math.h> instead.\"\n-#endif\n-\n-#if __GNUC_PREREQ(3,3)\n-# define HUGE_VALL\t(__builtin_huge_vall())\n-#elif __GNUC_PREREQ(2,96)\n-# define HUGE_VALL\t(__extension__ 0x1.0p32767L)\n-#else\n-\n-# define __HUGE_VALL_bytes\t{ 0, 0, 0, 0, 0, 0, 0, 0x80, 0xff, 0x7f, 0, 0 }\n-\n-# define __huge_vall_t\tunion { unsigned char __c[12]; long double __ld; }\n-# ifdef __GNUC__\n-# define HUGE_VALL\t(__extension__ \\\n-\t\t\t ((__huge_vall_t) { __c: __HUGE_VALL_bytes }).__ld)\n-# else\t/* Not GCC. */\n-static __huge_vall_t __huge_vall = { __HUGE_VALL_bytes };\n-# define HUGE_VALL\t(__huge_vall.__ld)\n-# endif /* GCC. */\n-\n-#endif /* GCC 2.95 */\n", "prefixes": [] }