From patchwork Wed Jan 10 16:03:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wilco Dijkstra X-Patchwork-Id: 83764 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1D36F385E00F for ; Wed, 10 Jan 2024 16:04:14 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2075.outbound.protection.outlook.com [40.107.20.75]) by sourceware.org (Postfix) with ESMTPS id 28B573858407 for ; Wed, 10 Jan 2024 16:03:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 28B573858407 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 28B573858407 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.20.75 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1704902631; cv=pass; b=lZPog53yptPIokwHU4yFMhwFEYtabFV/xrrJyLhqrgzsNmsDWNSt6RXe6HaH19gA10aI5Nilq+P/23L3M2idzvSNcdbTLE3BAWiKGbi3IQewpL3fzAw51I24Zx+/8gR7xkmAr6TfGYfjiUy4hIIMNA61IzbsZBR0wK0/GplNxXE= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1704902631; c=relaxed/simple; bh=UjRe8TxoqoClC/+g77K2MsxLHfxGTm3FCF5UHLFz0qo=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=OcifErIoAy9TTYQ/LmCJbZjKgEhBdYbefdTY6eNv8BGXx85TK7UeRVLpJaHA1nc8Lc9pGI0Jt0bS81iwFfh6kAArwx58+ebAgMfeUzzuGM4J8kPffMKzGkdcUX5TS3mafLQBPrSf6EKFCE0FyFty0SoEBkP1nTlOkr8G5wdfIIQ= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=OZsNekLhR6mhxdpF5oenB9q6RN6qN4n91CRi0TE+IPvmiqQzxOKYRzief7FV75VhkaqXigIqCwHrHpLYJgB8YQRv+ynSX6bfjAxVZEaio8G9QD3hwUOqAk7i7ugeY2ggsbDQQavL16zQ4JEjCoZUNiR4UH5jOn/owvOUK07Fr9Ssy27eMlF+Cnb6iCJEU/wGXiIP+ENxksCncmxdOJyMsLGoUdEvhrf1O8c/VoEtM2JxT3soFuFUj+5m1JeHihcxoTxszQshqYj0C2AZ8YKYvx9Z6Kml05OXl884xDHiFqxzJoNkmslsiCLDNab7rdTf+Cnn9GjjLUiKSQm0mmA7vQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=e/nLzOXZc6XaC+cehUIzhlESeIbD8QmGm3T4uro4JPI=; b=ZivsXKBb1qzO5I1l9pyYPz+o+9Amhv3Ta59G2gYrxwU1C/r1Cw5MnFTRKaihIfaC0nmvX4ovGB1danlQ0gQnVGzLLkKUfFDAu5HcJU+3kCQisQ95dyxzx5YALvYq2NCOFowMa7buku9stMTiQQggok4k8ve5WqT2blOkKOlhR8la09CeKTuYsYcM+YHm9FAModi8u6rzkE03CTQ6LHJnqvmAVQXAp6JznWf7SmFwIphaQRSgouSPuG4TPc3S0MuOBxLuV/CNBzdC2R/kKWHIrY/7GCKKP6UlPavYpSzyUOKhbcwM82YJC0WHl5Ry0ydAn9Rj/6vCJl986rcbHnyynQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e/nLzOXZc6XaC+cehUIzhlESeIbD8QmGm3T4uro4JPI=; b=Up3yXs56+HmXt4539Sbw+9cia32u56WF56l+3aUGTY8iODaF9GZF9V8R85DESFCAmjljP7Pus0O8gx4aZCCj6Kv22setK1tvNmjQgDtkP7hcUkWiFWRpgz1wu2GbcUxOBcIyd0KXOQ4bsCWPjNg9D+7/rXFPSbQ8MZqZ2gvxKdY= Received: from DB7PR03CA0083.eurprd03.prod.outlook.com (2603:10a6:10:72::24) by PAWPR08MB9637.eurprd08.prod.outlook.com (2603:10a6:102:2e5::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.17; Wed, 10 Jan 2024 16:03:44 +0000 Received: from DB5PEPF00014B90.eurprd02.prod.outlook.com (2603:10a6:10:72:cafe::4f) by DB7PR03CA0083.outlook.office365.com (2603:10a6:10:72::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.17 via Frontend Transport; Wed, 10 Jan 2024 16:03:44 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5PEPF00014B90.mail.protection.outlook.com (10.167.8.228) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.14 via Frontend Transport; Wed, 10 Jan 2024 16:03:44 +0000 Received: ("Tessian outbound 67699c3f02bc:v228"); Wed, 10 Jan 2024 16:03:44 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 44df67f084199ece X-CR-MTA-TID: 64aa7808 Received: from cf4beb2b023b.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id D524BA04-3833-4D07-B022-E3DE22F38971.1; Wed, 10 Jan 2024 16:03:37 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cf4beb2b023b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Jan 2024 16:03:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bDHNtU+NvLO62EY40RsheNOb80QlYn7RbFgxIoDcBM+DHeF60hk/ZQ4rGIgV7rWYfx2FCNlE3ckS/NLg5lTcPpxbmR991AOH6Fv8+T4uX0866JhdABNkiR/BnPmBOmXM7ofvzxvEpx6582qujjHf8tVI8yg1A1UV3kwgBrmgw1sIbJv7JtdwHuylmcGgDsfBt1O3+0kckSUZduUd2DFo2751wLJMnLAeFecUnnIBp4XDoUqKJ3vNkWVfVvJ5ttQQXjktJyRs7ag2Uyu92UOkPA897YjJfYKr7FHK+S3BBKG0Ju68/EOXM3kPp8p/ookssv/y3gf5Ik6FsonZ+097bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=e/nLzOXZc6XaC+cehUIzhlESeIbD8QmGm3T4uro4JPI=; b=GerVJ8/gq6mlbbKnt8J2li4Bo641pMKeN0Gr+7dpqAMPntwNVlczIVtONyaF6L1+qasDXkt0pp1dtERIgXTscZaNuPEDl2QBhlA7Uyaw3GPUi0IWWEHAG2YqhwUO0SHP5usrC5Z5E30kts/Do4masTiCqWbN8Cn2ykgZmtDMt3t0W3OCLeemzlJLGNkt7JvSSSwVPZRdgx7S9ao0MXTUAPqsIeGW1tBCnF+9/Bs7lBBv0jilwdDi56A1g6zHyc7xuSVtquCVUfxLQSS+1evw31O4ItFAZL8NK4NkbY7KeNF6kNTxCTCLyKna4FjGIPwtwjtuwDqa181VPG2k7iH6mA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e/nLzOXZc6XaC+cehUIzhlESeIbD8QmGm3T4uro4JPI=; b=Up3yXs56+HmXt4539Sbw+9cia32u56WF56l+3aUGTY8iODaF9GZF9V8R85DESFCAmjljP7Pus0O8gx4aZCCj6Kv22setK1tvNmjQgDtkP7hcUkWiFWRpgz1wu2GbcUxOBcIyd0KXOQ4bsCWPjNg9D+7/rXFPSbQ8MZqZ2gvxKdY= Received: from PAWPR08MB8982.eurprd08.prod.outlook.com (2603:10a6:102:33f::20) by DU0PR08MB8835.eurprd08.prod.outlook.com (2603:10a6:10:47c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.17; Wed, 10 Jan 2024 16:03:34 +0000 Received: from PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::2ed5:dc23:2624:df0a]) by PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::2ed5:dc23:2624:df0a%7]) with mapi id 15.20.7159.020; Wed, 10 Jan 2024 16:03:34 +0000 From: Wilco Dijkstra To: 'GNU C Library' CC: Adhemerval Zanella Subject: [PATCH] math: remove exp10 wrappers Thread-Topic: [PATCH] math: remove exp10 wrappers Thread-Index: AQHaQ91rzsDQ7m7NrUGN0CQhX/JIvA== Date: Wed, 10 Jan 2024 16:03:34 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: PAWPR08MB8982:EE_|DU0PR08MB8835:EE_|DB5PEPF00014B90:EE_|PAWPR08MB9637:EE_ X-MS-Office365-Filtering-Correlation-Id: b125c8eb-8993-40e7-323f-08dc11f5b8c7 x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: M89QcbdnndVx6Zwx/7bXkcrS5J3fVyegN3NlhOsHv2dvtJ0mKFtigjieslmnIm+6+/DrQYfxcjm+EqtZeYXFOIdFVBAtMgWEM5golzzCLV21hNPtNNV8n5zLcYRofPbxPFoL6Th+6it4E9vBnuPh+Ul2PmtUcIe+5crcBzTnsFZFUl3syssFAs4BwT8tKp3I0q4GpZ23MmpBbwCCqBwsxmlvuV89YZ5T0W7YpWY0DRkLDvK5/0c1G+ovM7tjS21uhdQb7dkG+6z/njInqnZtJuV3OgOyGXiXJAaW43ph90SlLNrA4RU/xyq5Y9kg/2dh1oT1D6/Qxw/4qYg3UZBag9u4U29J/OTpUzcG3mVr2C9g1xBAiCVqg0Nx7E/2TXgV7ilKzvAHnaMRhrOai99de/+nFcOXxSq2Yu+aSWVVkB0uzAFxoOQzYFlUcK5PUOdHXRUfQD/Sg5w+1PmnCzSWmq3IASkoapvIC9WyMili6Y5KadlHnqCTZBNVZtRfEUsrGk4/XPzMUwWzTM7+iNQsLEXtZVrQYWB2243DrQlpCvhOwfq47gbvLRXdOcpfF6BYATW2O/4s17Zr8yeBGEOTygpv36aFQKzZqCXmr/yvoTZ/Pk1K2u52XEetxAdmcjBy X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAWPR08MB8982.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(136003)(396003)(346002)(376002)(39860400002)(366004)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(26005)(9686003)(38100700002)(122000001)(30864003)(4326008)(8676002)(52536014)(5660300002)(7696005)(2906002)(66476007)(66946007)(71200400001)(478600001)(8936002)(66446008)(6506007)(64756008)(316002)(66556008)(6916009)(91956017)(76116006)(41300700001)(33656002)(86362001)(38070700009)(55016003); DIR:OUT; SFP:1101; MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8835 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B90.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 67646e19-6e95-4b15-ce0a-08dc11f5b2b4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: m7siiMozhCM/uom0IL7ig/Ugfb+6ckTYIyupkzAaCM0fjhmn9tfiX5rjmzWcq6blYwq+ibgxiJouHQvNLx7P7jEJiAMrxQFj96QDRGiHf68LwUxsRqj1JJ25Yp8pE6HsI2B3uij3ccMuHt6UpaupjB62QuDc2LHnmopi6KxXUDQyCRgiX314HpdiXRZrLK1CiV+5DVG4C4ajFHdhIe6jsb0zmV8szf+616ZPHtF8fWy4ubtHhcayMz/frAmEw5piRAGPwI3GA1nenz+dk7/hhaQhs3MZIMeV7i6jkpULhnI2bXd+CE9m98GjPbQSSPTXXqAdGve9dM7qHRN120/1NYhuEiAWVFM6leeBnZRcskKMrOg2+UMuLWRl5Vzmk7nAS10YBNZCQx+5gaFXHo5wP+HgxcIXpItRPBUQBypdFaK2xw3rxMfGeUtmIcdJogAGb3okC84g1f6NOXlMGN0koS1coTG8x2NoXlpBJ7+s8CpMcqePPxdDvxS//7QeGoPbP9cvvP1LjoyWS6knoW60EY23sUpD1GnGek3DCbtxf5vugw9olqc2iFPvF3RL6yd+z0m5zE+ACmAwq+EahUjA9Ai1wlK0WOp17cpMzwtp7ktwf7Ntmsr9qVPKg3QxnTPwoCVka11e9x6xIW0w48Pl4PBT/GF0tQMoDv099CO0PlzffYx5SaN07h29lTRUIATYi/HlblzHMJ9rY2uThIy89xECPABQEe9F6i+5Qh6nI5/nSQw9dwUxtKj6X8KhOVsh X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230031)(4636009)(346002)(376002)(39860400002)(396003)(136003)(230922051799003)(186009)(1800799012)(82310400011)(64100799003)(451199024)(36840700001)(46966006)(40470700004)(356005)(82740400003)(81166007)(40460700003)(55016003)(40480700001)(86362001)(336012)(9686003)(26005)(107886003)(36860700001)(316002)(6916009)(4326008)(7696005)(6506007)(478600001)(70586007)(70206006)(52536014)(8676002)(8936002)(47076005)(33656002)(41300700001)(5660300002)(30864003)(2906002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2024 16:03:44.4489 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b125c8eb-8993-40e7-323f-08dc11f5b8c7 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B90.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9637 X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Remove the error handling wrapper from exp10. This is very similar to the changes done to exp and exp2, except that we also need to handle pow10 and pow10l. Passes build-many-glibcs.py and regress on AArch64. OK for commit? Reviewed-by: Adhemerval Zanella diff --git a/math/Versions b/math/Versions index 759b5fac7f43739de9bf63fcb5d41fae071ee86b..26e15cedea26c1d6ed63da6f5fe60716089d135f 100644 --- a/math/Versions +++ b/math/Versions @@ -635,4 +635,8 @@ libm { # No SVID compatible error handling. fmod; fmodf; } + GLIBC_2.39 { + # No SVID compatible error handling. + exp10; + } } diff --git a/math/w_exp10_compat.c b/math/w_exp10_compat.c index b13592d29c934c58f4a55b9b03408e0a6a911cb5..3f717813fdbdcf2112bdd45f1e8d6000b495e904 100644 --- a/math/w_exp10_compat.c +++ b/math/w_exp10_compat.c @@ -25,9 +25,15 @@ #include #include -#if LIBM_SVID_COMPAT +#ifndef NO_COMPAT_NEEDED +# define NO_COMPAT_NEEDED 0 +#endif + +#if LIBM_SVID_COMPAT && (SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_39) \ + || defined NO_LONG_DOUBLE \ + || defined LONG_DOUBLE_COMPAT) double -__exp10 (double x) +__exp10_compat (double x) { double z = __ieee754_exp10 (x); if (__builtin_expect (!isfinite (z) || z == 0, 0) @@ -37,14 +43,30 @@ __exp10 (double x) return z; } -libm_alias_double (__exp10, exp10) +# if NO_COMPAT_NEEDED +# ifdef SHARED +libm_alias_double (__exp10_compat, exp10) +# endif +#else +# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_39) +compat_symbol (libm, __exp10_compat, exp10, GLIBC_2_1); +# endif +# ifdef NO_LONG_DOUBLE +weak_alias (__exp10_compat, exp10l) +# endif +# ifdef LONG_DOUBLE_COMPAT +LONG_DOUBLE_COMPAT_CHOOSE_libm_exp10l ( + compat_symbol (libm, __exp10_compat, exp10l, FIRST_VERSION_libm_exp10l), ); +# endif +# endif + # if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27) -strong_alias (__exp10, __pow10) +strong_alias (__exp10_compat, __pow10) compat_symbol (libm, __pow10, pow10, GLIBC_2_1); # endif # ifdef NO_LONG_DOUBLE # if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27) -strong_alias (__exp10l, __pow10l) +strong_alias (exp10l, __pow10l) compat_symbol (libm, __pow10l, pow10l, GLIBC_2_1); # endif # endif diff --git a/sysdeps/i386/fpu/w_exp10_compat.c b/sysdeps/i386/fpu/w_exp10_compat.c new file mode 100644 index 0000000000000000000000000000000000000000..402356ae9977b54e39b4a068541122e46b05633b --- /dev/null +++ b/sysdeps/i386/fpu/w_exp10_compat.c @@ -0,0 +1,3 @@ +/* i386 provides an optimized __ieee752_exp10. */ +#define NO_COMPAT_NEEDED 1 +#include diff --git a/sysdeps/ieee754/dbl-64/e_exp10.c b/sysdeps/ieee754/dbl-64/e_exp10.c index 08069140c076d0b1c9c49454aaf6fe3740c80205..0fa9b11aae9355c115699df0b1e337b1d455c5e4 100644 --- a/sysdeps/ieee754/dbl-64/e_exp10.c +++ b/sysdeps/ieee754/dbl-64/e_exp10.c @@ -18,9 +18,9 @@ #include #include #include -#include -#include +#include #include +#include #include "math_config.h" #define N (1 << EXP_TABLE_BITS) @@ -75,7 +75,7 @@ special_case (uint64_t sbits, double_t tmp, uint64_t ki) /* Double-precision 10^x approximation. Largest observed error is ~0.513 ULP. */ double -__ieee754_exp10 (double x) +__exp10 (double x) { uint64_t ix = asuint64 (x); uint32_t abstop = (ix >> 52) & 0x7ff; @@ -144,4 +144,11 @@ __ieee754_exp10 (double x) return s * y + s; } +strong_alias (__exp10, __ieee754_exp10) libm_alias_finite (__ieee754_exp10, __exp10) +#if LIBM_SVID_COMPAT +versioned_symbol (libm, __exp10, exp10, GLIBC_2_39); +libm_alias_double_other (__exp10, exp10) +#else +libm_alias_double (__exp10, exp10) +#endif diff --git a/sysdeps/ieee754/dbl-64/w_exp10.c b/sysdeps/ieee754/dbl-64/w_exp10.c new file mode 100644 index 0000000000000000000000000000000000000000..1cc8931700702e65d29a6e2af287175d23c6b182 --- /dev/null +++ b/sysdeps/ieee754/dbl-64/w_exp10.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/w_exp10_compat.c b/sysdeps/m68k/m680x0/fpu/w_exp10_compat.c new file mode 100644 index 0000000000000000000000000000000000000000..07287923d74fb50698dec1ff7a51431b827aa004 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_exp10_compat.c @@ -0,0 +1,3 @@ +/* m68k provides an optimized __ieee752_exp10. */ +#define NO_COMPAT_NEEDED 1 +#include diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index e3924c3499d290fc96e4e6919bc8a26da8f7777c..f0da228fbba6e6fdb8f1fd24285478bdda333a16 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1148,3 +1148,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 066dd1a6b371d060eea4196f83fd86d8dacdf614..f5d8023d624e9cb0ae24a088b6dd0e00c2a9d560 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1205,6 +1205,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist index 4adfed072b0239d5508559c2442cf30cb064d7b7..f020a8a9043d4d211e2404b7dbb3095eeb792fd3 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist @@ -535,6 +535,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 _LIB_VERSION D 0x4 GLIBC_2.4 __clog10 F GLIBC_2.4 __clog10f F diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist index 4adfed072b0239d5508559c2442cf30cb064d7b7..f020a8a9043d4d211e2404b7dbb3095eeb792fd3 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist @@ -535,6 +535,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 _LIB_VERSION D 0x4 GLIBC_2.4 __clog10 F GLIBC_2.4 __clog10f F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 5c3f47caefe8d89a95d0fbd3663c623eaefa5778..450ac03223c0258af2c5d23a031d54b24461cc24 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -846,4 +846,5 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index 4adfed072b0239d5508559c2442cf30cb064d7b7..f020a8a9043d4d211e2404b7dbb3095eeb792fd3 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -535,6 +535,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 _LIB_VERSION D 0x4 GLIBC_2.4 __clog10 F GLIBC_2.4 __clog10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist index ea0dbd4b727a618bc9598a27ea2dd4a2bd1b8a30..1f7f63f60cd7b9fbe1e1ef240afda3b3c3bd20c0 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist @@ -847,3 +847,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist index ea0dbd4b727a618bc9598a27ea2dd4a2bd1b8a30..1f7f63f60cd7b9fbe1e1ef240afda3b3c3bd20c0 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist @@ -847,3 +847,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 7c94a8db706e39147886da035e4a07fa12032bb7..797071aee8c56f9f8538bf5a50d44b164c5e26c4 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -846,4 +846,5 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index 0d08245adf0e1e652aa0a6eb4707509208bc582b..14758703cfb72749902907dec5cfa288116a76cf 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1148,3 +1148,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/nios2/libm.abilist b/sysdeps/unix/sysv/linux/nios2/libm.abilist index a3b776fece3a4f5b50fb4c88500384027eea9e37..c0ebe119dc05aea86cbc48c3eff6c9b090069607 100644 --- a/sysdeps/unix/sysv/linux/nios2/libm.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist @@ -847,3 +847,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index c696215739f408f4b16008a76d1007fa80d52f5a..4f88e0af9ca9d30c9e9fe5172803464d400a25d0 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -892,6 +892,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index a5ce9b1997939909e3239fe5b694246a410aeb56..edc26140dca7b309f9412d870cf6cca1771aeb98 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -891,6 +891,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist index 8e41056d0d4a588b4f8346e4b8bab3742036cdd0..0a8a1433d765358734ea688c71b23d097a70b92c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist @@ -885,6 +885,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist index 939f29a0f28023d1307bb7e84c62be8161bfdd71..5174d20032330b26d4f66ce8525a4ede9c1bd2dc 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -1320,3 +1320,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 4baefb1217b27d42023c0f39cb5425fd5ac35ee6..5ff11fb54f26696433f9c0d577ae429aafc42878 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1149,6 +1149,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index debb767575907b5ff5e1a335aaf06b0ee8b41d18..0e246c2c54f537ede4bdd1d8f23ce3f98da682f2 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1149,6 +1149,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist index fb94386fffdc81329031c0f26545ea22ddb4cc8e..7b43a866e20c4f51f06fcf4bcd10ec1534bc1a8d 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist @@ -846,4 +846,5 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist index fb94386fffdc81329031c0f26545ea22ddb4cc8e..7b43a866e20c4f51f06fcf4bcd10ec1534bc1a8d 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist @@ -846,4 +846,5 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index 2fdb5ff14508606311e2a24595c5f46552bda578..e3dcf3d4e7ecf3f07ca67ebec75c5497e018c127 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1156,6 +1156,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 02d4c3a754862f8205267f6baf69a020df9dfa99..20fef20c8b5e04c756b2a3b7797830745632beab 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1148,3 +1148,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index cc8be5b510d832d77d11b6e89e424492bc42dba1..c1c5c76e26189bee20892d6ea15a3d22ab22d834 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1181,3 +1181,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index fda4df265316c534102192201474b8b26c4e9a47..fac219d45ab2f03e16574d0d119bfce2c62795d8 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1181,3 +1181,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F