Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/814417/?format=api
{ "id": 814417, "url": "http://patchwork.ozlabs.org/api/1.2/patches/814417/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/patch/alpine.DEB.2.20.1709152310230.16009@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.1709152310230.16009@digraph.polyomino.org.uk>", "list_archive_url": null, "date": "2017-09-15T23:10:46", "name": "Use libm_alias_double in math/ [committed]", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "b18e4abe4eef1eb99eaddc4747d65ec79a7b2d30", "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.1709152310230.16009@digraph.polyomino.org.uk/mbox/", "series": [ { "id": 3397, "url": "http://patchwork.ozlabs.org/api/1.2/series/3397/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/list/?series=3397", "date": "2017-09-15T23:10:46", "name": "Use libm_alias_double in math/ [committed]", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/3397/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/814417/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/814417/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<libc-alpha-return-84661-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-84661-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=\"QKG/gX9I\"; 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 3xvB3K44QKz9sBZ\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 16 Sep 2017 09:11:09 +1000 (AEST)", "(qmail 81157 invoked by alias); 15 Sep 2017 23:11:01 -0000", "(qmail 81132 invoked by uid 89); 15 Sep 2017 23:11:00 -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=D2ox8XCBxaRQZ6MOn55ldpa1Etgi6\n\thuBv5fEIJpV4tOnOndFeifk2HW9Tj2sJVbmZwvjwaseWv/eVu7bXOsYwADCV4+jD\n\tX1FIt7alKl3aavF9xlhEioGsBj1rydSn7dkax/7jvWfKXMzHxDue5EC5M8OOMtYS\n\tt8RLNVyyNKgFHc=", "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=YGaT33By9Fn2KXByqLybJhwl3bc=; b=QKG\n\t/gX9IHKH9vJgqKK517Hz7ldVb0N/j8ykIBVZyOgwUbNzwDKsAjIeGHDUhjcSwBtv\n\tT+qwHhDH70pzQx/RP5HRWzODPv/54/BBMd0YV3jZvWiukGxH3qlkAU0INvmwPUBt\n\tzKo1OMX8w3DTI10moiCQsCnt34KbCi3rpVXJvq/4=", "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=", "X-HELO": "relay1.mentorg.com", "Date": "Fri, 15 Sep 2017 23:10:46 +0000", "From": "Joseph Myers <joseph@codesourcery.com>", "To": "<libc-alpha@sourceware.org>", "Subject": "Use libm_alias_double in math/ [committed]", "Message-ID": "<alpine.DEB.2.20.1709152310230.16009@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": "This patch converts libm function implementations in math/ from using\nweak_alias to using libm_alias_double to define public function names,\nin cases where it would be appropriate to define _Float64 / _Float32x\naliases for those functions as well. This eliminates many\nNO_LONG_DOUBLE conditionals and ldbl-opt wrappers round these function\nimplementations.\n\nTested for x86_64. Also tested with build-many-glibcs.py. Binary\ndifferences seen are that the different order in which remainder and\ndrem symbols get defined as a result of this patch (the same source\nfile defines the same aliases, but in a different order of definition)\nchanges the order of symbols in the final libm.so when long double =\ndouble, and for ldbl-opt configurations, the compat symbols for Bessel\nfunctions were previously defined by e.g. \"compat_symbol (libm, j0,\nj0l, GLIBC_2_0)\", which declares j0l as a compat symbol based on j0\nand so makes j0l weak because j0 is weak, and are now defined\n(indirectly via the relevant macros) based on e.g. __j0, so are no\nlonger weak because __j0 isn't weak. Committed.\n\n2017-09-15 Joseph Myers <joseph@codesourcery.com>\n\n\t* math/s_fma.c: Include <libm-alias-double.h>.\n\t(fma): Define using libm_alias_double.\n\t* math/s_nextafter.c: Include <libm-alias-double.h>.\n\t(nextafter): Define using libm_alias_double.\n\t* math/w_acos_compat.c: Include <libm-alias-double.h>.\n\t(acos): Define using libm_alias_double.\n\t* math/w_acosh_compat.c: Include <libm-alias-double.h>.\n\t(aocsh): Define using libm_alias_double.\n\t* math/w_asin_compat.c: Include <libm-alias-double.h>.\n\t(asin): Define using libm_alias_double.\n\t* math/w_atan2_compat.c: Include <libm-alias-double.h>.\n\t(atan2): Define using libm_alias_double.\n\t* math/w_atanh_compat.c: Include <libm-alias-double.h>.\n\t(atanh): Define using libm_alias_double.\n\t* math/w_cosh_compat.c: Include <libm-alias-double.h>.\n\t(cosh): Define using libm_alias_double.\n\t* math/w_exp10_compat.c: Include <libm-alias-double.h>.\n\t(exp10): Define using libm_alias_double.\n\t* math/w_exp2_compat.c: Include <libm-alias-double.h>.\n\t(exp2): Define using libm_alias_double.\n\t* math/w_exp_compat.c: Include <libm-alias-double.h>.\n\t(exp): Define using libm_alias_double.\n\t* math/w_fmod_compat.c: Include <libm-alias-double.h>.\n\t(fmod): Define using libm_alias_double.\n\t* math/w_hypot_compat.c: Include <libm-alias-double.h>.\n\t(hypot): Define using libm_alias_double.\n\t* math/w_j0_compat.c: Include <libm-alias-double.h>.\n\t(j0): Define using libm_alias_double.\n\t(y0): Likewise.\n\t* math/w_j1_compat.c: Include <libm-alias-double.h>.\n\t(j1): Define using libm_alias_double.\n\t(y1): Likewise.\n\t* math/w_jn_compat.c: Include <libm-alias-double.h>.\n\t(jn): Define using libm_alias_double.\n\t(yn): Likewise.\n\t* math/w_log10_compat.c: Include <libm-alias-double.h>.\n\t(log10): Define using libm_alias_double.\n\t* math/w_log2_compat.c: Include <libm-alias-double.h>.\n\t(log2): Define using libm_alias_double.\n\t* math/w_log_compat.c: Include <libm-alias-double.h>.\n\t(log): Define using libm_alias_double.\n\t* math/w_pow_compat.c: Include <libm-alias-double.h>.\n\t(pow): Define using libm_alias_double.\n\t* math/w_remainder_compat.c: Include <libm-alias-double.h>.\n\t(remainder): Define using libm_alias_double.\n\t* math/w_sinh_compat.c: Include <libm-alias-double.h>.\n\t(sinh): Define using libm_alias_double.\n\t* math/w_sqrt_compat.c: Include <libm-alias-double.h>.\n\t(sqrt): Define using libm_alias_double.\n\t* math/w_tgamma_compat.c: Include <libm-alias-double.h>.\n\t(tgamma): Define using libm_alias_double.\n\t* sysdeps/ieee754/ldbl-opt/s_nextafter.c [LONG_DOUBLE_COMPAT(libm,\n\tGLIBC_2_0)] (nextafterl): Do not define compat symbol here.\n\t* sysdeps/ieee754/ldbl-opt/w_exp10_compat.c\n\t[LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)] (exp10l): Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_remainder_compat.c\n\t[LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)] (remainderl): Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_acos_compat.c: Remove.\n\t* sysdeps/ieee754/ldbl-opt/w_acosh_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_asin_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_atan2_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_atanh_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_cosh_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_exp_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_fmod_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_hypot_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_j0_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_j1_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_jn_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_log10_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_log2_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_log_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_pow_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_sinh_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_sqrt_compat.c: Likewise.\n\t* sysdeps/ieee754/ldbl-opt/w_tgamma_compat.c: Likewise.", "diff": "diff --git a/math/s_fma.c b/math/s_fma.c\nindex dc1cc65..929ca58 100644\n--- a/math/s_fma.c\n+++ b/math/s_fma.c\n@@ -18,6 +18,7 @@\n <http://www.gnu.org/licenses/>. */\n \n #include <math.h>\n+#include <libm-alias-double.h>\n \n double\n __fma (double x, double y, double z)\n@@ -25,10 +26,5 @@ __fma (double x, double y, double z)\n return (x * y) + z;\n }\n #ifndef __fma\n-weak_alias (__fma, fma)\n-#endif\n-\n-#ifdef NO_LONG_DOUBLE\n-strong_alias (__fma, __fmal)\n-weak_alias (__fmal, fmal)\n+libm_alias_double (__fma, fma)\n #endif\ndiff --git a/math/s_nextafter.c b/math/s_nextafter.c\nindex 72419cb..fbf440e 100644\n--- a/math/s_nextafter.c\n+++ b/math/s_nextafter.c\n@@ -29,6 +29,7 @@ static char rcsid[] = \"$NetBSD: s_nextafter.c,v 1.8 1995/05/10 20:47:58 jtc Exp\n #include <math.h>\n #include <math_private.h>\n #include <float.h>\n+#include <libm-alias-double.h>\n \n double __nextafter(double x, double y)\n {\n@@ -83,10 +84,8 @@ double __nextafter(double x, double y)\n \tINSERT_WORDS(x,hx,lx);\n \treturn x;\n }\n-weak_alias (__nextafter, nextafter)\n+libm_alias_double (__nextafter, nextafter)\n #ifdef NO_LONG_DOUBLE\n-strong_alias (__nextafter, __nextafterl)\n-weak_alias (__nextafter, nextafterl)\n strong_alias (__nextafter, __nexttowardl)\n weak_alias (__nexttowardl, nexttowardl)\n #undef __nexttoward\ndiff --git a/math/w_acos_compat.c b/math/w_acos_compat.c\nindex 1930105..113e1d7 100644\n--- a/math/w_acos_compat.c\n+++ b/math/w_acos_compat.c\n@@ -20,6 +20,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -37,9 +38,5 @@ __acos (double x)\n \n return __ieee754_acos (x);\n }\n-weak_alias (__acos, acos)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__acos, __acosl)\n-weak_alias (__acos, acosl)\n-# endif\n+libm_alias_double (__acos, acos)\n #endif\ndiff --git a/math/w_acosh_compat.c b/math/w_acosh_compat.c\nindex f6d298e..882537a 100644\n--- a/math/w_acosh_compat.c\n+++ b/math/w_acosh_compat.c\n@@ -19,6 +19,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -32,9 +33,5 @@ __acosh (double x)\n \n return __ieee754_acosh (x);\n }\n-weak_alias (__acosh, acosh)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__acosh, __acoshl)\n-weak_alias (__acosh, acoshl)\n-# endif\n+libm_alias_double (__acosh, acosh)\n #endif\ndiff --git a/math/w_asin_compat.c b/math/w_asin_compat.c\nindex 7780f85..0c19564 100644\n--- a/math/w_asin_compat.c\n+++ b/math/w_asin_compat.c\n@@ -20,6 +20,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -37,9 +38,5 @@ __asin (double x)\n \n return __ieee754_asin (x);\n }\n-weak_alias (__asin, asin)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__asin, __asinl)\n-weak_alias (__asin, asinl)\n-# endif\n+libm_alias_double (__asin, asin)\n #endif\ndiff --git a/math/w_atan2_compat.c b/math/w_atan2_compat.c\nindex 1ca3349..8162e7b 100644\n--- a/math/w_atan2_compat.c\n+++ b/math/w_atan2_compat.c\n@@ -24,6 +24,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -40,9 +41,5 @@ __atan2 (double y, double x)\n __set_errno (ERANGE);\n return z;\n }\n-weak_alias (__atan2, atan2)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__atan2, __atan2l)\n-weak_alias (__atan2, atan2l)\n-# endif\n+libm_alias_double (__atan2, atan2)\n #endif\ndiff --git a/math/w_atanh_compat.c b/math/w_atanh_compat.c\nindex c2cbb2e..4b29a66 100644\n--- a/math/w_atanh_compat.c\n+++ b/math/w_atanh_compat.c\n@@ -19,6 +19,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -35,9 +36,5 @@ __atanh (double x)\n \n return __ieee754_atanh (x);\n }\n-weak_alias (__atanh, atanh)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__atanh, __atanhl)\n-weak_alias (__atanh, atanhl)\n-# endif\n+libm_alias_double (__atanh, atanh)\n #endif\ndiff --git a/math/w_cosh_compat.c b/math/w_cosh_compat.c\nindex d0cb6b1..6941807 100644\n--- a/math/w_cosh_compat.c\n+++ b/math/w_cosh_compat.c\n@@ -17,6 +17,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n #if LIBM_SVID_COMPAT\n double\n@@ -29,9 +30,5 @@ __cosh (double x)\n \n \treturn z;\n }\n-weak_alias (__cosh, cosh)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__cosh, __coshl)\n-weak_alias (__cosh, coshl)\n-# endif\n+libm_alias_double (__cosh, cosh)\n #endif\ndiff --git a/math/w_exp10_compat.c b/math/w_exp10_compat.c\nindex 42dc312..a91b98f 100644\n--- a/math/w_exp10_compat.c\n+++ b/math/w_exp10_compat.c\n@@ -24,6 +24,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n #if LIBM_SVID_COMPAT\n double\n@@ -37,14 +38,12 @@ __exp10 (double x)\n \n return z;\n }\n-weak_alias (__exp10, exp10)\n+libm_alias_double (__exp10, exp10)\n # if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)\n strong_alias (__exp10, __pow10)\n compat_symbol (libm, __pow10, pow10, GLIBC_2_1);\n # endif\n # ifdef NO_LONG_DOUBLE\n-strong_alias (__exp10, __exp10l)\n-weak_alias (__exp10, exp10l)\n # if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)\n strong_alias (__exp10l, __pow10l)\n compat_symbol (libm, __pow10l, pow10l, GLIBC_2_1);\ndiff --git a/math/w_exp2_compat.c b/math/w_exp2_compat.c\nindex 5739547..7ab6182 100644\n--- a/math/w_exp2_compat.c\n+++ b/math/w_exp2_compat.c\n@@ -5,6 +5,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n #if LIBM_SVID_COMPAT\n double\n@@ -18,9 +19,5 @@ __exp2 (double x)\n \n return z;\n }\n-weak_alias (__exp2, exp2)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__exp2, __exp2l)\n-weak_alias (__exp2, exp2l)\n-# endif\n+libm_alias_double (__exp2, exp2)\n #endif\ndiff --git a/math/w_exp_compat.c b/math/w_exp_compat.c\nindex 98aa5b7..d5666b7 100644\n--- a/math/w_exp_compat.c\n+++ b/math/w_exp_compat.c\n@@ -19,6 +19,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n #if LIBM_SVID_COMPAT\n /* wrapper exp */\n@@ -33,9 +34,5 @@ __exp (double x)\n return z;\n }\n hidden_def (__exp)\n-weak_alias (__exp, exp)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__exp, __expl)\n-weak_alias (__exp, expl)\n-# endif\n+libm_alias_double (__exp, exp)\n #endif\ndiff --git a/math/w_fmod_compat.c b/math/w_fmod_compat.c\nindex f75b861..a4d2ebe 100644\n--- a/math/w_fmod_compat.c\n+++ b/math/w_fmod_compat.c\n@@ -19,6 +19,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n #if LIBM_SVID_COMPAT\n /* wrapper fmod */\n@@ -32,9 +33,5 @@ __fmod (double x, double y)\n \n return __ieee754_fmod (x, y);\n }\n-weak_alias (__fmod, fmod)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__fmod, __fmodl)\n-weak_alias (__fmod, fmodl)\n-# endif\n+libm_alias_double (__fmod, fmod)\n #endif\ndiff --git a/math/w_hypot_compat.c b/math/w_hypot_compat.c\nindex 21c7e65..f07039c 100644\n--- a/math/w_hypot_compat.c\n+++ b/math/w_hypot_compat.c\n@@ -17,6 +17,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -30,9 +31,5 @@ __hypot (double x, double y)\n \n \treturn z;\n }\n-weak_alias (__hypot, hypot)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__hypot, __hypotl)\n-weak_alias (__hypot, hypotl)\n-# endif\n+libm_alias_double (__hypot, hypot)\n #endif\ndiff --git a/math/w_j0_compat.c b/math/w_j0_compat.c\nindex b08688e..03f0d8e 100644\n--- a/math/w_j0_compat.c\n+++ b/math/w_j0_compat.c\n@@ -20,6 +20,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -34,11 +35,7 @@ __j0 (double x)\n \n return __ieee754_j0 (x);\n }\n-weak_alias (__j0, j0)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__j0, __j0l)\n-weak_alias (__j0, j0l)\n-# endif\n+libm_alias_double (__j0, j0)\n \n \n /* wrapper y0 */\n@@ -67,9 +64,5 @@ __y0 (double x)\n \n return __ieee754_y0 (x);\n }\n-weak_alias (__y0, y0)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__y0, __y0l)\n-weak_alias (__y0, y0l)\n-# endif\n+libm_alias_double (__y0, y0)\n #endif\ndiff --git a/math/w_j1_compat.c b/math/w_j1_compat.c\nindex bf0922d..4f99ad1 100644\n--- a/math/w_j1_compat.c\n+++ b/math/w_j1_compat.c\n@@ -20,6 +20,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -34,11 +35,7 @@ __j1 (double x)\n \n return __ieee754_j1 (x);\n }\n-weak_alias (__j1, j1)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__j1, __j1l)\n-weak_alias (__j1, j1l)\n-# endif\n+libm_alias_double (__j1, j1)\n \n \n /* wrapper y1 */\n@@ -67,9 +64,5 @@ __y1 (double x)\n \n return __ieee754_y1 (x);\n }\n-weak_alias (__y1, y1)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__y1, __y1l)\n-weak_alias (__y1, y1l)\n-# endif\n+libm_alias_double (__y1, y1)\n #endif\ndiff --git a/math/w_jn_compat.c b/math/w_jn_compat.c\nindex 955996a..767d904 100644\n--- a/math/w_jn_compat.c\n+++ b/math/w_jn_compat.c\n@@ -20,6 +20,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -34,11 +35,7 @@ __jn (int n, double x)\n \n return __ieee754_jn (n, x);\n }\n-weak_alias (__jn, jn)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__jn, __jnl)\n-weak_alias (__jn, jnl)\n-# endif\n+libm_alias_double (__jn, jn)\n \n \n /* wrapper yn */\n@@ -67,9 +64,5 @@ __yn (int n, double x)\n \n return __ieee754_yn (n, x);\n }\n-weak_alias (__yn, yn)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__yn, __ynl)\n-weak_alias (__yn, ynl)\n-# endif\n+libm_alias_double (__yn, yn)\n #endif\ndiff --git a/math/w_log10_compat.c b/math/w_log10_compat.c\nindex b8247aa..edfbe8b 100644\n--- a/math/w_log10_compat.c\n+++ b/math/w_log10_compat.c\n@@ -20,6 +20,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -43,9 +44,5 @@ __log10 (double x)\n \n return __ieee754_log10 (x);\n }\n-weak_alias (__log10, log10)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__log10, __log10l)\n-weak_alias (__log10, log10l)\n-# endif\n+libm_alias_double (__log10, log10)\n #endif\ndiff --git a/math/w_log2_compat.c b/math/w_log2_compat.c\nindex 6d1f9f2..ed70768 100644\n--- a/math/w_log2_compat.c\n+++ b/math/w_log2_compat.c\n@@ -20,6 +20,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -43,9 +44,5 @@ __log2 (double x)\n \n return __ieee754_log2 (x);\n }\n-weak_alias (__log2, log2)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__log2, __log2l)\n-weak_alias (__log2, log2l)\n-# endif\n+libm_alias_double (__log2, log2)\n #endif\ndiff --git a/math/w_log_compat.c b/math/w_log_compat.c\nindex 80750b4..66cce2d 100644\n--- a/math/w_log_compat.c\n+++ b/math/w_log_compat.c\n@@ -20,6 +20,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -43,9 +44,5 @@ __log (double x)\n \n return __ieee754_log (x);\n }\n-weak_alias (__log, log)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__log, __logl)\n-weak_alias (__log, logl)\n-# endif\n+libm_alias_double (__log, log)\n #endif\ndiff --git a/math/w_pow_compat.c b/math/w_pow_compat.c\nindex 4865f4d..929de92 100644\n--- a/math/w_pow_compat.c\n+++ b/math/w_pow_compat.c\n@@ -19,6 +19,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -59,9 +60,5 @@ __pow (double x, double y)\n \n return z;\n }\n-weak_alias (__pow, pow)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__pow, __powl)\n-weak_alias (__pow, powl)\n-# endif\n+libm_alias_double (__pow, pow)\n #endif\ndiff --git a/math/w_remainder_compat.c b/math/w_remainder_compat.c\nindex 68e322e..2b7f862 100644\n--- a/math/w_remainder_compat.c\n+++ b/math/w_remainder_compat.c\n@@ -19,6 +19,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -33,11 +34,9 @@ __remainder (double x, double y)\n \n return __ieee754_remainder (x, y);\n }\n-weak_alias (__remainder, remainder)\n+libm_alias_double (__remainder, remainder)\n weak_alias (__remainder, drem)\n # ifdef NO_LONG_DOUBLE\n-strong_alias (__remainder, __remainderl)\n-weak_alias (__remainder, remainderl)\n weak_alias (__remainder, dreml)\n # endif\n #endif\ndiff --git a/math/w_sinh_compat.c b/math/w_sinh_compat.c\nindex e5c3724..e964614 100644\n--- a/math/w_sinh_compat.c\n+++ b/math/w_sinh_compat.c\n@@ -17,6 +17,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n #if LIBM_SVID_COMPAT\n double\n@@ -29,9 +30,5 @@ __sinh (double x)\n \n \treturn z;\n }\n-weak_alias (__sinh, sinh)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__sinh, __sinhl)\n-weak_alias (__sinh, sinhl)\n-# endif\n+libm_alias_double (__sinh, sinh)\n #endif\ndiff --git a/math/w_sqrt_compat.c b/math/w_sqrt_compat.c\nindex aeead2e..3280d2f 100644\n--- a/math/w_sqrt_compat.c\n+++ b/math/w_sqrt_compat.c\n@@ -19,6 +19,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n \n #if LIBM_SVID_COMPAT\n@@ -31,9 +32,5 @@ __sqrt (double x)\n \n return __ieee754_sqrt (x);\n }\n-weak_alias (__sqrt, sqrt)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__sqrt, __sqrtl)\n-weak_alias (__sqrt, sqrtl)\n-# endif\n+libm_alias_double (__sqrt, sqrt)\n #endif\ndiff --git a/math/w_tgamma_compat.c b/math/w_tgamma_compat.c\nindex f843475..219aa10 100644\n--- a/math/w_tgamma_compat.c\n+++ b/math/w_tgamma_compat.c\n@@ -19,6 +19,7 @@\n #include <math.h>\n #include <math_private.h>\n #include <math-svid-compat.h>\n+#include <libm-alias-double.h>\n \n #if LIBM_SVID_COMPAT\n double\n@@ -41,9 +42,5 @@ __tgamma(double x)\n \t}\n \treturn local_signgam < 0 ? -y : y;\n }\n-weak_alias (__tgamma, tgamma)\n-# ifdef NO_LONG_DOUBLE\n-strong_alias (__tgamma, __tgammal)\n-weak_alias (__tgamma, tgammal)\n-# endif\n+libm_alias_double (__tgamma, tgamma)\n #endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/s_nextafter.c b/sysdeps/ieee754/ldbl-opt/s_nextafter.c\nindex 78e2c0f..e36ade8 100644\n--- a/sysdeps/ieee754/ldbl-opt/s_nextafter.c\n+++ b/sysdeps/ieee754/ldbl-opt/s_nextafter.c\n@@ -1,8 +1,5 @@\n #include <math_ldbl_opt.h>\n #include <math/s_nextafter.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __nextafter, nextafterl, GLIBC_2_0);\n-#endif\n #if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)\n strong_alias (__nextafter, __nexttowardd)\n strong_alias (__nextafter, __nexttowardld)\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_acos_compat.c b/sysdeps/ieee754/ldbl-opt/w_acos_compat.c\ndeleted file mode 100644\nindex 1e6d1b3..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_acos_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_acos_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __acos, acosl, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_acosh_compat.c b/sysdeps/ieee754/ldbl-opt/w_acosh_compat.c\ndeleted file mode 100644\nindex 40da339..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_acosh_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_acosh_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __acosh, acoshl, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_asin_compat.c b/sysdeps/ieee754/ldbl-opt/w_asin_compat.c\ndeleted file mode 100644\nindex 1c52cc2..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_asin_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_asin_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __asin, asinl, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_atan2_compat.c b/sysdeps/ieee754/ldbl-opt/w_atan2_compat.c\ndeleted file mode 100644\nindex d3f7964..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_atan2_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_atan2_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __atan2, atan2l, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_atanh_compat.c b/sysdeps/ieee754/ldbl-opt/w_atanh_compat.c\ndeleted file mode 100644\nindex e15ef1f..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_atanh_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_atanh_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __atanh, atanhl, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_cosh_compat.c b/sysdeps/ieee754/ldbl-opt/w_cosh_compat.c\ndeleted file mode 100644\nindex af29735..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_cosh_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_cosh_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __cosh, coshl, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_exp10_compat.c b/sysdeps/ieee754/ldbl-opt/w_exp10_compat.c\nindex eb132cf..895411d 100644\n--- a/sysdeps/ieee754/ldbl-opt/w_exp10_compat.c\n+++ b/sysdeps/ieee754/ldbl-opt/w_exp10_compat.c\n@@ -1,7 +1,6 @@\n #include <math_ldbl_opt.h>\n #include <math/w_exp10_compat.c>\n #if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)\n-compat_symbol (libm, __exp10, exp10l, GLIBC_2_1);\n # if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)\n strong_alias (__pow10, __pow10_pow10l)\n compat_symbol (libm, __pow10_pow10l, pow10l, GLIBC_2_1);\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_exp_compat.c b/sysdeps/ieee754/ldbl-opt/w_exp_compat.c\ndeleted file mode 100644\nindex d01fe65..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_exp_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_exp_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __exp, expl, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_fmod_compat.c b/sysdeps/ieee754/ldbl-opt/w_fmod_compat.c\ndeleted file mode 100644\nindex 9280d39..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_fmod_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_fmod_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __fmod, fmodl, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_hypot_compat.c b/sysdeps/ieee754/ldbl-opt/w_hypot_compat.c\ndeleted file mode 100644\nindex b3979ff..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_hypot_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_hypot_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __hypot, hypotl, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_j0_compat.c b/sysdeps/ieee754/ldbl-opt/w_j0_compat.c\ndeleted file mode 100644\nindex 45b4d14..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_j0_compat.c\n+++ /dev/null\n@@ -1,6 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_j0_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, j0, j0l, GLIBC_2_0);\n-compat_symbol (libm, y0, y0l, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_j1_compat.c b/sysdeps/ieee754/ldbl-opt/w_j1_compat.c\ndeleted file mode 100644\nindex 1071c8f..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_j1_compat.c\n+++ /dev/null\n@@ -1,6 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_j1_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, j1, j1l, GLIBC_2_0);\n-compat_symbol (libm, y1, y1l, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_jn_compat.c b/sysdeps/ieee754/ldbl-opt/w_jn_compat.c\ndeleted file mode 100644\nindex be29a36..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_jn_compat.c\n+++ /dev/null\n@@ -1,6 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_jn_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, jn, jnl, GLIBC_2_0);\n-compat_symbol (libm, yn, ynl, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_log10_compat.c b/sysdeps/ieee754/ldbl-opt/w_log10_compat.c\ndeleted file mode 100644\nindex 5ec6a2b..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_log10_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_log10_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __log10, log10l, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_log2_compat.c b/sysdeps/ieee754/ldbl-opt/w_log2_compat.c\ndeleted file mode 100644\nindex dffd2c1..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_log2_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_log2_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)\n-compat_symbol (libm, __log2, log2l, GLIBC_2_1);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_log_compat.c b/sysdeps/ieee754/ldbl-opt/w_log_compat.c\ndeleted file mode 100644\nindex d2a2bca..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_log_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_log_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __log, logl, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_pow_compat.c b/sysdeps/ieee754/ldbl-opt/w_pow_compat.c\ndeleted file mode 100644\nindex c2a7942..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_pow_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_pow_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __pow, powl, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_remainder_compat.c b/sysdeps/ieee754/ldbl-opt/w_remainder_compat.c\nindex c823dcb..8bdea32 100644\n--- a/sysdeps/ieee754/ldbl-opt/w_remainder_compat.c\n+++ b/sysdeps/ieee754/ldbl-opt/w_remainder_compat.c\n@@ -1,7 +1,6 @@\n #include <math_ldbl_opt.h>\n #include <math/w_remainder_compat.c>\n #if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __remainder, remainderl, GLIBC_2_0);\n strong_alias (__remainder, __drem)\n compat_symbol (libm, __drem, dreml, GLIBC_2_0);\n #endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_sinh_compat.c b/sysdeps/ieee754/ldbl-opt/w_sinh_compat.c\ndeleted file mode 100644\nindex b47182c..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_sinh_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_sinh_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __sinh, sinhl, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_sqrt_compat.c b/sysdeps/ieee754/ldbl-opt/w_sqrt_compat.c\ndeleted file mode 100644\nindex 355d1c2..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_sqrt_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_sqrt_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)\n-compat_symbol (libm, __sqrt, sqrtl, GLIBC_2_0);\n-#endif\ndiff --git a/sysdeps/ieee754/ldbl-opt/w_tgamma_compat.c b/sysdeps/ieee754/ldbl-opt/w_tgamma_compat.c\ndeleted file mode 100644\nindex 082ce8a..0000000\n--- a/sysdeps/ieee754/ldbl-opt/w_tgamma_compat.c\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-#include <math_ldbl_opt.h>\n-#include <math/w_tgamma_compat.c>\n-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)\n-compat_symbol (libm, __tgamma, tgammal, GLIBC_2_1);\n-#endif\n", "prefixes": [] }