From patchwork Tue Sep 19 13:04:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 22948 Received: (qmail 70169 invoked by alias); 19 Sep 2017 13:05:05 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 70139 invoked by uid 89); 19 Sep 2017 13:05:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.7 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR01-VE1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Message-ID: <59C115F9.8010800@arm.com> Date: Tue, 19 Sep 2017 14:04:57 +0100 From: Szabolcs Nagy User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: GNU C Library CC: nd@arm.com Subject: [PATCH 8/9] Do not wrap logf, log2f and powf References: <59C1123F.9080003@arm.com> In-Reply-To: <59C1123F.9080003@arm.com> X-ClientProxiedBy: AM5PR06CA0001.eurprd06.prod.outlook.com (2603:10a6:206:2::14) To AM5PR0802MB2481.eurprd08.prod.outlook.com (2603:10a6:203:97::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dd822979-9611-4e93-5ca8-08d4ff5f084f X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(48565401081)(300000503095)(300135400095)(49563074)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:AM5PR0802MB2481; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2481; 3:ieeUt3fDsdL8xkf/EYCYLYffEbOJKVybXOThEw51ithGm68jYXtRyQWkJ2iNL2YENwyxBSS3jwE4U07xHzfuE+IqCc7RWmuFhLdoPeBvi0XnkKGgO++2tbYQyoRj4uPrQDDsNNjM2DWJnR3e/1qfl5xoeO6rWlltIsRsAquB252QTaCx3899YPA27yWC+batUGXCaYm/CAkB+xFWT8zBX/weqPXdRTQjFbkWEzzGfv57tt4OGn5cgUYt6nBV9lhT; 25:DUeD+0iM0oxZzkPfCO+UvHzWKYfQdfCul5lDm36TO3TczKBkMuB20rAduMzflkKE2eVSUtu7o8TcUV229m0M1jXontkN/cxhpjRZolbqbgCw/pSszHwXpqehhCpMhTBpKOF/X83rKpfO4Snrav4pPi0BrpvRHjvFalbVZwk+j+A4uvtn7+H7YyOFIlF1yz5HYAEHm+SI5TzFCOc2KDBDcyQjD48UiHoZdrSzWvx3eIRXp9r9PrB1c/SyCroIKJ97cgBLPNRoFh+aYuQn8zO8RgYqKUkCvB5c5/3heGkH6C2ii6C5b0ZVCYNBrObBzqehn7tpEu4DfVouF5q/xQQigg==; 31:oepuq40ltmfpfSPhoLgX89cq1zg0VU13sMRXTlm1T+m5LkTiGny3gkWfsGXR3iUywITlTUX2WQjEyZucMlPk2KMCj6h+aVwYMi8fAhRyakgZHgLXVQNyUnl+ieUtpyPadg7b1F0RtGY4fSLmcQ2H60WxlKJxe3WE0Ta6U4FqEP/Q2IGUh3SSN4i2DpnRIeAJ6wLRT+S4HFysK/1hD8tTVfLbjj3ScNGpX8smZlJdEk4= X-MS-TrafficTypeDiagnostic: AM5PR0802MB2481: NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2481; 20:PoIfepQmh9o9ZR8ORF85X7YQsoyNXg3GUjYc0ntdQKZYIAkBCHtF8XEnoIxBwGaOiFNJX/04Cxkm/ngns+26jcvHKmV1OIIFVAsV1jhywtYJneGFInTTOfo58/gR9pJoG5iDp/yQHb7eukpoifvnKCfOKQVezT8jXocw1+0zbdo=; 4:Es7J0vQEYcV2pZ7wbkUxAw0bkMJHOZHv/uFgSqOS82Dc41Vo4QruiHehPtEokVeNrTsuXaE1gOgTu2rHAA38bVO7hXH5OlEW/HyeKhFDYmLBuJ0JuyDbkad6Jy/6vIs0wPsPBdbfH8Fw8cAdSC6sS8c8v47G4500l8ZI1bKgkon0L+GMk9pjSnHc1/kHE/imUgRcIA/BXr5vkWi11UDQ7n0t01noNKZc3b3Tb4VQXEoJq8TS99Ji5jE/KTmgYEoqk92GFDBNuHRbvFYgIUG5lDRM9BK7Rw/T2pkImrsETKI= X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(102415395)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123560025)(20161123555025)(20161123558100)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0802MB2481; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0802MB2481; X-Forefront-PRVS: 04359FAD81 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6049001)(6009001)(346002)(39860400002)(376002)(377424004)(199003)(189002)(65956001)(65806001)(66066001)(53936002)(4326008)(25786009)(80316001)(105586002)(106356001)(5890100001)(68736007)(33656002)(305945005)(7736002)(81156014)(8676002)(81166006)(72206003)(478600001)(77096006)(6486002)(2476003)(6116002)(3846002)(5660300001)(6916009)(270700001)(4610100001)(568964002)(2950100002)(21490400003)(5000100001)(36756003)(59896002)(189998001)(2906002)(58126008)(101416001)(16576012)(16526017)(50986999)(83506001)(16586007)(76176999)(84326002)(64126003)(86362001)(87266999)(54356999)(7350300001)(316002)(65816999)(97736004); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0802MB2481; H:[10.2.206.69]; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0802MB2481; 23:OF1qhrKxkMQjjcFGClkb3r/UEHPOjD938fEn34O?= =?us-ascii?Q?C1K5vDwHmABn7bvkwMU5EdSXlmHbur4+ksVv6gqOGHqBSSIIphsWy+e1Nrm/?= =?us-ascii?Q?EPTCEnihuSO/W/q9wkmvV9dXv7S5h/UcIILKqQzbNqR+zjiqn33/MAAJxATx?= =?us-ascii?Q?6ZMnKEZfeCP86gLR46CPDqEhENWadTt8d5W8SpOxhYN4wtMISJL6+yqB2Y+8?= =?us-ascii?Q?trqW1DspvyunqJd2pS8KjtUXMu0gGDu75usHZVztHpfCsun3tFhgwU/2Hw1C?= =?us-ascii?Q?G6fgru1QL/ImKh0dVjv8pJv1mRxqsb3TCGdLupDKNUB/mtI0/JTJMGTzs6vn?= =?us-ascii?Q?xYc8nk37RG7T/ofVe5tARa25au+KEIg/fg0tE0z4m1I/CzHUm/iIzOdjwtjv?= =?us-ascii?Q?R32yeE1DZcEko2XL9TzsJzuWkvL0BPPpIIr5AmwF9LL/Eeh99iTaIdYRQ/mr?= =?us-ascii?Q?RnY25YqZ5cNfk6j7PRTTr9N0zqLGSxkEAGSJmoNKXoZCSsoSogUSBpPyVpo/?= =?us-ascii?Q?E6e5zpUQ53zjxP6nSOGEcukVaadjDPsPCuuhJKxGNmHAWEDPTp7IhpLweWqH?= =?us-ascii?Q?NhzWHAUIk5copmlaD2xaVas4sBcHE1vYmyH3qta+ubpCawihdu6NPmJoWjlg?= =?us-ascii?Q?rZz0r97Q2E027zckNHfJKotIa5YA9hC1G+zV233V6kHNw+aeHre3Ezd8NsSd?= =?us-ascii?Q?1Ur3RQSmY/7D0TNYvoFJrSR4ImLDIEVig0yfbC9sWH3tZApoRFR8BCqh/Dm9?= =?us-ascii?Q?ZgUz5QpPyB662bfy2njsep2HIFg6dapxR0Rn6ikegOq9UHQHhnQr7N9RFpcd?= =?us-ascii?Q?2RCGUoE+VzgIlE35Bsm3xzLfDFFHwbhlpiwaoD9FnB2YV21jQYpydtVRoWz/?= =?us-ascii?Q?p0CVGvX4z8rEitNOeFcYXc3ewqkv8us+z+kF8ITbLLavtet4t/ZJJFcp+X0z?= =?us-ascii?Q?8/oA23NgPgLEONv2ObcSrKS3B50axoZxj1sAoSVh0XS5s1uLaBbhTCtGW4wl?= =?us-ascii?Q?jzkLPrD457BvmmjTvErbdLzNMHGDrF95DmXgZ5DycDjx3AwesiBOg8OCMHzW?= =?us-ascii?Q?1fQJkGBeTBA7brGdXsJ+NRxQfCHY2Ui2d3F+dBtSoUc2gIfRN8jVuSa8Yy1n?= =?us-ascii?Q?OJFl2ixSQ3P/1+wdg+gvH3FtNNCzkTb4QMxX6LH4LScb90ozJRn1p2UVyaSa?= =?us-ascii?Q?BACZ+VBiwNRddPdNjvstOGpiyNFGMFDMQiPqg9MKM6ZMyQhZE6wITtKiJMLh?= =?us-ascii?Q?+AmyC3xIE1BaJuUnCB1RrumtUiVC5qrMsBGag2s2M3jM5CbiY6WtyO0OqY3e?= =?us-ascii?Q?/xOiQf7Y+T8EE5Bpw+A6B8Z5/PNO9VX5Ve3ip7V9QvlBvbzv6ThVzUmNHXSR?= =?us-ascii?Q?m24EXjGngo2WHSneHFHYIJDJj7VVJnqDcH4fh/Km5/rGqwlAW+89VvtIGJcA?= =?us-ascii?Q?4LxAw4kd+itRzMhGLRBBP63Ww+NhZWmiA6GoKLR3glna3bHFoZxe2j0jZeir?= =?us-ascii?Q?Cv8+HEm+mCygVIA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2481; 6:uTqpdjrpyHZk6dlG0cijcG1ZrigZUSnyg0/tmF3mXQowBb5dvzrGrh5NKM29xztzTwAMuJAECY4qFtjbZWZl4ShMe/gWTWJM14HCkABWzfCxtJZaYL5Swmay08OTLgmjUS8FvvYcYDm9e7lqXRlgQ7amMzP515tRIMtMcdpryhUi5C9evz/CUVzfWzndzZyxBW8Tl4XoY0J5lZDgF7nYpdcol91K2vADX9/d1rpuWTLDv+cTcmGE9bTQqLED6iJAWAiauwxv7kbEmqyJGskr4yufGZ2Uh+NOHUJB2lzBlqZsbqvNsLfLG/Dl7nQhC3eFokcjOZOiRitjmwqJyKjqxw==; 5:4l/Hqwor/EdUUBcIn+N7wZJx8epyCgS1Th/hvl2DIFZD7jC82fGTGQ2F4uoYYqnz/JJqESSsHJ/XXaTSCs3PukLFRqiTnil2biaHN4XpaJI5ENuKSFbECTKv0MIbhB2pSRgS1uxECbZzHbVNymmuhw==; 24:Qu3QhmYFuyZ8fPKJnrg+LQpj5hquxvjO7n+C4yddAjwVnUuwVjS+HSHhVOvdBTv+nKJObNXjqqaglx/pTczxL7zGgSW2TZcwt9h+GMAxuic=; 7:mv0JqWBEVV1tn77NT7T05WOWTbPhjVoOtavT5yIPj6PadOG6vvBeDsUYGgnyBuyIytsL9VOgU0Orj78kIisCqFltEfW4VG0/4yepEkzHT012SqeR7BYufc/6yomuux4C8o5iVwNRcYVjm4dITcpp/MKUsZNZYtpBMwWu7IyGLmOQCZf7p9yQQM+AQyrSD6w77O2vIDprgH+dPZQHU9zd/1+3KN1LyjqyMRTyY4IFCyk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2017 13:04:58.9664 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2481 The new generic logf, log2f and powf code don't need wrappers any more, they set errno inline, so only use the wrappers on targets that need it. 2017-09-19 Szabolcs Nagy * sysdeps/ieee754/flt-32/e_log2f.c (__log2f): Define without wrapper. * sysdeps/ieee754/flt-32/e_logf.c (__logf): Likewise * sysdeps/ieee754/flt-32/e_powf.c (__powf): Likewise * sysdeps/ieee754/flt-32/w_log2f.c: New file. * sysdeps/ieee754/flt-32/w_logf.c: New file. * sysdeps/ieee754/flt-32/w_powf.c: New file. * sysdeps/i386/fpu/w_log2f.c: New file. * sysdeps/i386/fpu/w_logf.c: New file. * sysdeps/i386/fpu/w_powf.c: New file. * sysdeps/m68k/m680x0/fpu/w_log2f.c: New file. * sysdeps/m68k/m680x0/fpu/w_logf.c: New file. * sysdeps/m68k/m680x0/fpu/w_powf.c: New file. diff --git a/sysdeps/i386/fpu/w_log2f.c b/sysdeps/i386/fpu/w_log2f.c new file mode 100644 index 0000000000..3f5c71cec2 --- /dev/null +++ b/sysdeps/i386/fpu/w_log2f.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/i386/fpu/w_logf.c b/sysdeps/i386/fpu/w_logf.c new file mode 100644 index 0000000000..ea48d1356e --- /dev/null +++ b/sysdeps/i386/fpu/w_logf.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/i386/fpu/w_powf.c b/sysdeps/i386/fpu/w_powf.c new file mode 100644 index 0000000000..d133216f5b --- /dev/null +++ b/sysdeps/i386/fpu/w_powf.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/ieee754/flt-32/e_log2f.c b/sysdeps/ieee754/flt-32/e_log2f.c index 6c42f27843..a3506dcfd1 100644 --- a/sysdeps/ieee754/flt-32/e_log2f.c +++ b/sysdeps/ieee754/flt-32/e_log2f.c @@ -18,6 +18,7 @@ #include #include +#include #include "math_config.h" /* @@ -34,7 +35,7 @@ Relative error: 1.9 * 2^-26 (before rounding.) #define OFF 0x3f330000 float -__ieee754_log2f (float x) +__log2f (float x) { /* double_t for better performance on targets with FLT_EVAL_METHOD==2. */ double_t z, r, r2, p, y, y0, invc, logc; @@ -85,4 +86,6 @@ __ieee754_log2f (float x) y = y * r2 + p; return (float) y; } -strong_alias (__ieee754_log2f, __log2f_finite) +strong_alias (__log2f, __ieee754_log2f) +strong_alias (__log2f, __log2f_finite) +versioned_symbol (libm, __log2f, log2f, GLIBC_2_27); diff --git a/sysdeps/ieee754/flt-32/e_logf.c b/sysdeps/ieee754/flt-32/e_logf.c index b8d262441f..ba537d5236 100644 --- a/sysdeps/ieee754/flt-32/e_logf.c +++ b/sysdeps/ieee754/flt-32/e_logf.c @@ -18,6 +18,7 @@ #include #include +#include #include "math_config.h" /* @@ -35,7 +36,7 @@ Relative error: 1.957 * 2^-26 (before rounding.) #define OFF 0x3f330000 float -__ieee754_logf (float x) +__logf (float x) { /* double_t for better performance on targets with FLT_EVAL_METHOD==2. */ double_t z, r, r2, y, y0, invc, logc; @@ -84,4 +85,6 @@ __ieee754_logf (float x) y = y * r2 + (y0 + r); return (float) y; } -strong_alias (__ieee754_logf, __logf_finite) +strong_alias (__logf, __ieee754_logf) +strong_alias (__logf, __logf_finite) +versioned_symbol (libm, __logf, logf, GLIBC_2_27); diff --git a/sysdeps/ieee754/flt-32/e_powf.c b/sysdeps/ieee754/flt-32/e_powf.c index 644a18d05e..4368f49be2 100644 --- a/sysdeps/ieee754/flt-32/e_powf.c +++ b/sysdeps/ieee754/flt-32/e_powf.c @@ -18,6 +18,7 @@ #include #include +#include #include "math_config.h" /* @@ -139,7 +140,7 @@ zeroinfnan (uint32_t ix) } float -__ieee754_powf (float x, float y) +__powf (float x, float y) { unsigned long sign_bias = 0; uint32_t ix, iy; @@ -214,4 +215,6 @@ __ieee754_powf (float x, float y) } return (float) exp2_inline (ylogx, sign_bias); } -strong_alias (__ieee754_powf, __powf_finite) +strong_alias (__powf, __ieee754_powf) +strong_alias (__powf, __powf_finite) +versioned_symbol (libm, __powf, powf, GLIBC_2_27); diff --git a/sysdeps/ieee754/flt-32/w_log2f.c b/sysdeps/ieee754/flt-32/w_log2f.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_log2f.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ieee754/flt-32/w_logf.c b/sysdeps/ieee754/flt-32/w_logf.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_logf.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ieee754/flt-32/w_powf.c b/sysdeps/ieee754/flt-32/w_powf.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_powf.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/w_log2f.c b/sysdeps/m68k/m680x0/fpu/w_log2f.c new file mode 100644 index 0000000000..3f5c71cec2 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_log2f.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/m68k/m680x0/fpu/w_logf.c b/sysdeps/m68k/m680x0/fpu/w_logf.c new file mode 100644 index 0000000000..ea48d1356e --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_logf.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/m68k/m680x0/fpu/w_powf.c b/sysdeps/m68k/m680x0/fpu/w_powf.c new file mode 100644 index 0000000000..d133216f5b --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_powf.c @@ -0,0 +1 @@ +#include