From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70052.outbound.protection.outlook.com [40.107.7.52]) by sourceware.org (Postfix) with ESMTPS id F41D13890417 for ; Thu, 18 Jun 2020 17:02:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org F41D13890417 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Wilco.Dijkstra@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=8acR1rQ/uc3FDQOFQHJ6qYoOACUaaO2p8qJ1JhqMkxU=; b=AGXUjP2P1os8CFT7kzajEmo/J6F5iPCE3RbVnPT9MYEZLYFWjXM8hOIVXrwlAFsyP3fijlsviBORqFPIh2obEKQg807mL3EIGwuO6Behie/KBKc/VbBMMcYOXq2tzjdNGX0WARQ9rXWRBU4a8dVA4ArM3NB3iGkp56FEx/I+nk8= Received: from AM5PR0202CA0012.eurprd02.prod.outlook.com (2603:10a6:203:69::22) by DB6PR0802MB2469.eurprd08.prod.outlook.com (2603:10a6:4:9e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.23; Thu, 18 Jun 2020 17:02:45 +0000 Received: from AM5EUR03FT025.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:69:cafe::79) by AM5PR0202CA0012.outlook.office365.com (2603:10a6:203:69::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22 via Frontend Transport; Thu, 18 Jun 2020 17:02:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; sourceware.org; dmarc=bestguesspass 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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT025.mail.protection.outlook.com (10.152.16.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22 via Frontend Transport; Thu, 18 Jun 2020 17:02:45 +0000 Received: ("Tessian outbound 09efa10eaf29:v59"); Thu, 18 Jun 2020 17:02:45 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 45596e9697250fe2 X-CR-MTA-TID: 64aa7808 Received: from eba5b79b8e87.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id AE7C4F4F-D747-4ED5-9BD7-0D2E06CDC50C.1; Thu, 18 Jun 2020 17:02:40 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id eba5b79b8e87.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 18 Jun 2020 17:02:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eOltrwxdMTtIs4ZsD62iUQrkkGCtlgnuQgruqg3r/l68bvQUAtiPh7UcwPyOk16JnEY3XH0nuGtlKuY9VggqBI3/HtdIbSGCzq6jlltiiJOBCVTj2ydj6jn9jAD8uj0/bM9N13K9/hEcc94MfD8tV2nr4Vs3ELoIMITvjXrRzPplWn1P0QSOvpgHVFHzJq0nbqLwP+3xTNWYzx2OV4Ss9Wn5YE5ywxc5VHjac5PNJB8OHR8wvVUOeRvb7oyyS6wU1xmFAJjJ1IG7tKhQHpvaXapOdemHe0GqbVTapAl/64ku0b1dOmgt2EwtG0Qz3kEoazwsk3NSLCglYUrbT1w7ig== 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-SenderADCheck; bh=8acR1rQ/uc3FDQOFQHJ6qYoOACUaaO2p8qJ1JhqMkxU=; b=b/FtOX9zAkrEJKC5Vg11dQUFL40YWGQxaXt2fdaZpUSBfxe5PuggTw6cH+g7Mjpz42b0mLKR4VJ4X1az4blhdQKrqCl698F68qztS78jC/PCqAhkKTjQ1Mh+3Ng91zu0ff6XOdsspk9r2DXfmpVXorq6haSc0ZbObNjNNnFhs4dYA5jQ9egyRrG/7VgRMyptqpg9X1kEy18/rmeLNIE4E6ZKuGSM0odUO8rxipmtb6HlSHPjhTqhqRMoELufBEpKXehaLmMIlkB8WC5f9ao+Q0Unp2nb5odOfShV/OMG6Ckv9uq5KpdkxtDUX4SF2Xy3qynFq1iYHAn4+pxW1cP9Wg== 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=8acR1rQ/uc3FDQOFQHJ6qYoOACUaaO2p8qJ1JhqMkxU=; b=AGXUjP2P1os8CFT7kzajEmo/J6F5iPCE3RbVnPT9MYEZLYFWjXM8hOIVXrwlAFsyP3fijlsviBORqFPIh2obEKQg807mL3EIGwuO6Behie/KBKc/VbBMMcYOXq2tzjdNGX0WARQ9rXWRBU4a8dVA4ArM3NB3iGkp56FEx/I+nk8= Received: from DB8PR08MB5036.eurprd08.prod.outlook.com (2603:10a6:10:ed::20) by DB8PR08MB5274.eurprd08.prod.outlook.com (2603:10a6:10:e6::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.19; Thu, 18 Jun 2020 17:02:37 +0000 Received: from DB8PR08MB5036.eurprd08.prod.outlook.com ([fe80::40e3:3b43:9af2:d4ff]) by DB8PR08MB5036.eurprd08.prod.outlook.com ([fe80::40e3:3b43:9af2:d4ff%3]) with mapi id 15.20.3088.029; Thu, 18 Jun 2020 17:02:37 +0000 From: Wilco Dijkstra To: Adhemerval Zanella CC: 'GNU C Library' , Joseph Myers Subject: [PATCH 4/5] New exp10f version without SVID compat wrapper Thread-Topic: [PATCH 4/5] New exp10f version without SVID compat wrapper Thread-Index: AQHWRZHwdBUe5wyPaEq9XP+dczzZmw== Date: Thu, 18 Jun 2020 17:02:37 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com; x-originating-ip: [82.24.199.97] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 83ad5d34-0b5e-4656-8677-08d813a96c28 x-ms-traffictypediagnostic: DB8PR08MB5274:|DB6PR0802MB2469: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882; x-forefront-prvs: 0438F90F17 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: /DDp0J/eckKIiOmRdqqKzux9RC7VYiBJownVa34PyhXbo5ujPbDLQpUgOBPlotIu4YKK+C3sucaKV/wkApZzHjX4wWUBtV9GKsYizmXcockJ8eBUHBSTKXeTDF6A1UfN8he68NbgEaKcPfVlZ0/Crhqnn2FFmZuvVRq51AAHhAPwH+dm8qEfuc7hHfUnr7QsEJbdM/h2yzZDvdMRWmoZ/eN/LLjTE9X/IC8oDk86RCfF8ftJYhMaLRVD7NtgmrMBgN/KJCvtB2VK9jt+wVuRa5Vy58hiP9N4Pi4lXG4OSQ3CvDqPozDZYGgat5U9IlF+/HLKZ/eGLqIDEqX/Tidavw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB8PR08MB5036.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(376002)(136003)(39860400002)(396003)(346002)(30864003)(52536014)(71200400001)(5660300002)(6506007)(316002)(186003)(7696005)(54906003)(33656002)(53546011)(26005)(6916009)(8676002)(66946007)(66556008)(66476007)(66446008)(64756008)(2906002)(8936002)(9686003)(55016002)(4326008)(83380400001)(478600001)(76116006)(86362001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: IsVAnxV4lpg08AZVGWf4Ct/9YwMCUIsdui/rKEokWZ1AkjEBm38rgM5qztTYynPgn700TG//3JzX0T8WHrBreI9DRjgfrcr0HWsdSPwTei1WfDwByfWPje8sRJnS4g9CCkJUniTp1asl8M9VSBGWGUe1UO01IjLcpbpvKzxp6H4xjswfRbH6N+BG142bPDA1B6yh2hgt1d58i60t6K6tFNQiPgxFEUHHl439fDuxhM/Ls1DuhVdPQT2Xao+bFxcyMHYJoc57XBtXCd3/ipLPceypPV0gPdHSllrF7/KQAjP0CipnP48u44smkuIFA34dsWFFeWh0vJ5YsmVRS0PFPAH0PE1hERG7Ja/k69TbZHQvtqlKVpjU+BSDJUlPVxGbX+rv0F2uQVQLFM3u3tH09/iRJtExVSCjMx2HtP76Na/QrK1gi1Ihm6iV1zc+T1Uehr9lZ0e+7HWpFW73AXNHZmCvtwoCeLb+R97LJtsz0nE= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5274 Original-Authentication-Results: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT025.eop-EUR03.prod.protection.outlook.com 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; SFTY:; SFS:(4636009)(396003)(136003)(346002)(376002)(39860400002)(46966005)(33656002)(336012)(107886003)(52536014)(6862004)(55016002)(8676002)(9686003)(30864003)(5660300002)(8936002)(83380400001)(186003)(478600001)(82740400003)(47076004)(70586007)(54906003)(4326008)(36906005)(82310400002)(356005)(86362001)(316002)(81166007)(26005)(70206006)(7696005)(2906002)(6506007)(53546011); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 26c451e0-d53d-44f4-282b-08d813a96776 X-Forefront-PRVS: 0438F90F17 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jP9zIRU4PpDoYGV5CfuFEyS3nxbzTDt+BNX7xEKCF8hPQzjIvgjO/qK02G3WJBRl1wbg2MrQPXCX1PWUbVqs8R9HVY1WhtDR1VnCjj73uZ0D5Ws0hpAO/KCbDNYA+LkCRWEhjLmtwNDLaQZS2S2gpfu7MTnLIHlRO/UrGGLTz/GKMP4LmnuRXmaH+LLKLixScjeQIUaQ3B/klF4xdJu0/08MxOUmS3gEWE/c3AGT11LNBfltiyDLexXiYb5v3CtIqxVGagbkTr4Me5ewc6o+IGlW5SUOD6RoCi+g1hU3fDAAIhCz43bMyKadVWuZxXUGOAGkwAwGpRIvBxJaGMEeu2Ate7e5TfdPayzl0/40t7EUmrXbCcjPZkxxGE46/zz5FjFZV7nD64qnWLPav8Yl3A== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2020 17:02:45.7321 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 83ad5d34-0b5e-4656-8677-08d813a96c28 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-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2469 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 17:02:52 -0000 Hi,=0A= =0A= This looks good to me, but I'm no expert on symbol versioning - maybe=0A= someone else (Joseph?) wants to double check.=0A= =0A= Wilco=0A= =0A= On 09/04/2020 16:59, Adhemerval Zanella wrote:=0A= > This patch changes the exp10f error handling semantics to only set=0A= > errno according to POSIX rules. New symbol version is introduced at=0A= > GLIBC_2.32. The old wrappers are kept for compat symbols.=0A= > =0A= > There are some outliers that need special handling:=0A= > =0A= > - ia64 provides an optimized implementation of exp10f that uses ia64=0A= > specific routines to set SVID compatibility. The new symbol version= =0A= > is aliased to the exp10f one.=0A= > =0A= > - m68k also provides an optimized implementation, and the new version= =0A= > uses it instead of the sysdeps/ieee754/flt32 one.=0A= > =0A= > - riscv and csky uses the generic template implementation that=0A= > does not provide SVID support. For both cases a new exp10f=0A= > version is not added, but rather the symbols version of the=0A= > generic sysdeps/ieee754/flt32 is adjusted instead.=0A= > =0A= > Checked on aarch64-linux-gnu, x86_64-linux-gnu, i686-linux-gnu,=0A= > powerpc64le-linux-gnu.=0A= > ---=0A= > math/Versions | 3 +++=0A= > math/w_exp10f.c | 1 +=0A= > math/w_exp10f_compat.c | 8 ++++----=0A= > sysdeps/ia64/fpu/e_exp10f.S | 12 +++++++++---=0A= > sysdeps/ieee754/flt-32/e_exp10f.c | 16 +++++++++++++++-= =0A= > sysdeps/m68k/m680x0/fpu/e_exp10f.c | 5 +++++=0A= > sysdeps/mach/hurd/i386/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/aarch64/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/alpha/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/arm/be/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/arm/le/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/hppa/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/i386/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/ia64/libm.abilist | 1 +=0A= > .../unix/sysv/linux/m68k/coldfire/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist | 1 +=0A= > .../unix/sysv/linux/microblaze/be/libm.abilist | 1 +=0A= > .../unix/sysv/linux/microblaze/le/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/nios2/libm.abilist | 1 +=0A= > .../linux/powerpc/powerpc32/fpu/libm.abilist | 1 +=0A= > .../sysv/linux/powerpc/powerpc64/be/libm.abilist | 1 +=0A= > .../sysv/linux/powerpc/powerpc64/le/libm.abilist | 1 +=0A= > .../unix/sysv/linux/s390/s390-32/libm.abilist | 1 +=0A= > .../unix/sysv/linux/s390/s390-64/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/sh/be/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/sh/le/libm.abilist | 1 +=0A= > .../unix/sysv/linux/sparc/sparc32/libm.abilist | 1 +=0A= > .../unix/sysv/linux/sparc/sparc64/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 1 +=0A= > sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 1 +=0A= > 32 files changed, 63 insertions(+), 8 deletions(-)=0A= > create mode 100644 math/w_exp10f.c=0A= > =0A= > diff --git a/math/Versions b/math/Versions=0A= > index d892c5f911..5b3c321490 100644=0A= > --- a/math/Versions=0A= > +++ b/math/Versions=0A= > @@ -590,4 +590,7 @@ libm {=0A= > totalorderf128;=0A= > totalordermagf128;=0A= > }=0A= > + GLIBC_2.32 {=0A= > + exp10f;=0A= > + }=0A= > }=0A= > diff --git a/math/w_exp10f.c b/math/w_exp10f.c=0A= > new file mode 100644=0A= > index 0000000000..6e25b021ab=0A= > --- /dev/null=0A= > +++ b/math/w_exp10f.c=0A= > @@ -0,0 +1 @@=0A= > +/* Empty. */=0A= > diff --git a/math/w_exp10f_compat.c b/math/w_exp10f_compat.c=0A= > index 2ab0940601..ea8f947193 100644=0A= > --- a/math/w_exp10f_compat.c=0A= > +++ b/math/w_exp10f_compat.c=0A= > @@ -28,9 +28,9 @@=0A= > =0A= > #if LIBM_SVID_COMPAT=0A= > float=0A= > -__exp10f (float x)=0A= > +__exp10f_compat (float x)=0A= > {=0A= > - float z =3D __ieee754_exp10f (x);=0A= > + float z =3D __exp10f (x);=0A= > if (__builtin_expect (!isfinite (z) || z =3D=3D 0, 0)=0A= > && isfinite (x) && _LIB_VERSION !=3D _IEEE_)=0A= > /* exp10f overflow (146) if x > 0, underflow (147) if x < 0. */=0A= > @@ -38,9 +38,9 @@ __exp10f (float x)=0A= > =0A= > return z;=0A= > }=0A= > -libm_alias_float (__exp10, exp10)=0A= > +compat_symbol (libm, __exp10f_compat, exp10f, GLIBC_2_1);=0A= > # if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)=0A= > -strong_alias (__exp10f, __pow10f)=0A= > +strong_alias (__exp10f_compat, __pow10f)=0A= > compat_symbol (libm, __pow10f, pow10f, GLIBC_2_1);=0A= > # endif=0A= > #endif=0A= > diff --git a/sysdeps/ia64/fpu/e_exp10f.S b/sysdeps/ia64/fpu/e_exp10f.S=0A= > index 67218c737f..e82394b725 100644=0A= > --- a/sysdeps/ia64/fpu/e_exp10f.S=0A= > +++ b/sysdeps/ia64/fpu/e_exp10f.S=0A= > @@ -218,7 +218,7 @@ LOCAL_OBJECT_END(T_table)=0A= > =0A= > =0A= > .section .text=0A= > -GLOBAL_IEEE754_ENTRY(exp10f)=0A= > +GLOBAL_IEEE754_ENTRY(__exp10f)=0A= > =0A= > =0A= > {.mfi=0A= > @@ -487,11 +487,17 @@ OUT_RANGE_exp10:=0A= > }=0A= > ;;=0A= > =0A= > -GLOBAL_IEEE754_END(exp10f)=0A= > +GLOBAL_IEEE754_END(__exp10f)=0A= > libm_alias_float_other (__exp10, exp10)=0A= > #if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)=0A= > -compat_symbol (libm, exp10f, pow10f, GLIBC_2_2)=0A= > +strong_alias (__exp10f, __pow10f_compat)=0A= > +compat_symbol (libm, __pow10f_compat, pow10f, GLIBC_2_2)=0A= > #endif=0A= > +#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_32)=0A= > +strong_alias (__exp10f, __exp10f_compat)=0A= > +compat_symbol (libm, __exp10f_compat, exp10f, GLIBC_2_1)=0A= > +#endif=0A= > +versioned_symbol (libm, __exp10f, exp10f, GLIBC_2_32)=0A= > =0A= > =0A= > LOCAL_LIBM_ENTRY(__libm_error_region)=0A= > diff --git a/sysdeps/ieee754/flt-32/e_exp10f.c b/sysdeps/ieee754/flt-32/e= _exp10f.c=0A= > index 034a9e364a..f51c499b83 100644=0A= > --- a/sysdeps/ieee754/flt-32/e_exp10f.c=0A= > +++ b/sysdeps/ieee754/flt-32/e_exp10f.c=0A= > @@ -21,6 +21,8 @@=0A= > #include =0A= > #include =0A= > #include =0A= > +#include =0A= > +#include =0A= > #include "math_config.h"=0A= > =0A= > /*=0A= > @@ -139,7 +141,7 @@ top13 (float x)=0A= > }=0A= > =0A= > float=0A= > -__ieee754_exp10f (float x)=0A= > +__exp10f (float x)=0A= > {=0A= > uint32_t abstop;=0A= > uint64_t ki, t;=0A= > @@ -195,4 +197,16 @@ __ieee754_exp10f (float x)=0A= > y =3D y * s;=0A= > return (float) y;=0A= > }=0A= > +#ifndef __exp10f=0A= > +strong_alias (__exp10f, __ieee754_exp10f)=0A= > libm_alias_finite (__ieee754_exp10f, __exp10f)=0A= > +/* For architectures that already provided exp10f without SVID support, = there=0A= > + is no need to add a new version. */=0A= > +#if !LIBM_SVID_COMPAT=0A= > +# define EXP10F_VERSION GLIBC_2_26=0A= > +#else=0A= > +# define EXP10F_VERSION GLIBC_2_32=0A= > +#endif=0A= > +versioned_symbol (libm, __exp10f, exp10f, EXP10F_VERSION);=0A= > +libm_alias_float_other (__exp10, exp10)=0A= > +#endif=0A= > diff --git a/sysdeps/m68k/m680x0/fpu/e_exp10f.c b/sysdeps/m68k/m680x0/fpu= /e_exp10f.c=0A= > index f58fddd8a6..0d03f00e06 100644=0A= > --- a/sysdeps/m68k/m680x0/fpu/e_exp10f.c=0A= > +++ b/sysdeps/m68k/m680x0/fpu/e_exp10f.c=0A= > @@ -1,3 +1,8 @@=0A= > +#include =0A= > #define FUNC __ieee754_exp10f=0A= > #define FUNC_FINITE __exp10f=0A= > #include =0A= > +strong_alias (__ieee754_exp10f, __exp10f)=0A= > +libm_alias_finite (__ieee754_exp10f, __exp10f)=0A= > +versioned_symbol (libm, __exp10f, exp10f, GLIBC_2_32);=0A= > +libm_alias_float_other (__ieee754_exp10, exp10)=0A= > diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386= /libm.abilist=0A= > index 1a41ae589f..a19a69ce6a 100644=0A= > --- a/sysdeps/mach/hurd/i386/libm.abilist=0A= > +++ b/sysdeps/mach/hurd/i386/libm.abilist=0A= > @@ -1089,3 +1089,4 @@ GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagf64x F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/= sysv/linux/aarch64/libm.abilist=0A= > index 62e1fee467..5362c24e4c 100644=0A= > --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist=0A= > @@ -1053,3 +1053,4 @@ GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagf64x F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sy= sv/linux/alpha/libm.abilist=0A= > index 08ac3905a0..650d10ec8e 100644=0A= > --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist=0A= > @@ -1110,6 +1110,7 @@ GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagf64x F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > GLIBC_2.4 __clog10l F=0A= > GLIBC_2.4 __finitel F=0A= > GLIBC_2.4 __fpclassifyl F=0A= > diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/s= ysv/linux/arm/be/libm.abilist=0A= > index dd5931f288..6914b58d76 100644=0A= > --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist=0A= > @@ -470,6 +470,7 @@ GLIBC_2.31 totalordermagf32 F=0A= > GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > GLIBC_2.4 _LIB_VERSION D 0x4=0A= > GLIBC_2.4 __clog10 F=0A= > GLIBC_2.4 __clog10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/s= ysv/linux/arm/le/libm.abilist=0A= > index dd5931f288..6914b58d76 100644=0A= > --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist=0A= > @@ -470,6 +470,7 @@ GLIBC_2.31 totalordermagf32 F=0A= > GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > GLIBC_2.4 _LIB_VERSION D 0x4=0A= > GLIBC_2.4 __clog10 F=0A= > GLIBC_2.4 __clog10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sys= v/linux/hppa/libm.abilist=0A= > index e7686d71cf..6ac2295b05 100644=0A= > --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist=0A= > @@ -781,4 +781,5 @@ GLIBC_2.31 totalordermagf32 F=0A= > GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > GLIBC_2.4 exp2l F=0A= > diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sys= v/linux/i386/libm.abilist=0A= > index e67f9d7d27..0ab740dd97 100644=0A= > --- a/sysdeps/unix/sysv/linux/i386/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist=0A= > @@ -1096,3 +1096,4 @@ GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagf64x F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/ia64/libm.abilist b/sysdeps/unix/sys= v/linux/ia64/libm.abilist=0A= > index 0cf637f248..c8e8fd7142 100644=0A= > --- a/sysdeps/unix/sysv/linux/ia64/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/ia64/libm.abilist=0A= > @@ -1026,3 +1026,4 @@ GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagf64x F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps= /unix/sysv/linux/m68k/coldfire/libm.abilist=0A= > index dd5931f288..6914b58d76 100644=0A= > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist=0A= > @@ -470,6 +470,7 @@ GLIBC_2.31 totalordermagf32 F=0A= > GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > GLIBC_2.4 _LIB_VERSION D 0x4=0A= > GLIBC_2.4 __clog10 F=0A= > GLIBC_2.4 __clog10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/u= nix/sysv/linux/m68k/m680x0/libm.abilist=0A= > index f0b17ae485..c60fdc6298 100644=0A= > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist=0A= > @@ -821,3 +821,4 @@ GLIBC_2.31 totalordermagf32 F=0A= > GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps= /unix/sysv/linux/microblaze/be/libm.abilist=0A= > index 8dedc9a8a6..adea0fe4c0 100644=0A= > --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist=0A= > @@ -782,3 +782,4 @@ GLIBC_2.31 totalordermagf32 F=0A= > GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps= /unix/sysv/linux/microblaze/le/libm.abilist=0A= > index 8dedc9a8a6..adea0fe4c0 100644=0A= > --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist=0A= > @@ -782,3 +782,4 @@ GLIBC_2.31 totalordermagf32 F=0A= > GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/u= nix/sysv/linux/mips/mips32/libm.abilist=0A= > index a221d7be09..272969a26f 100644=0A= > --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist=0A= > @@ -781,4 +781,5 @@ GLIBC_2.31 totalordermagf32 F=0A= > GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > GLIBC_2.4 exp2l F=0A= > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/u= nix/sysv/linux/mips/mips64/libm.abilist=0A= > index 823f87277e..dd0dc6689c 100644=0A= > --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist=0A= > @@ -1053,3 +1053,4 @@ GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagf64x F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/nios2/libm.abilist b/sysdeps/unix/sy= sv/linux/nios2/libm.abilist=0A= > index 64ac932c6a..4941deefa6 100644=0A= > --- a/sysdeps/unix/sysv/linux/nios2/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist=0A= > @@ -782,3 +782,4 @@ GLIBC_2.31 totalordermagf32 F=0A= > GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b= /sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist=0A= > index 3fab31ff9c..fc2d142bd5 100644=0A= > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist=0A= > @@ -827,6 +827,7 @@ GLIBC_2.31 totalordermagf32 F=0A= > GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > GLIBC_2.4 __clog10l F=0A= > GLIBC_2.4 __finitel F=0A= > GLIBC_2.4 __fpclassifyl F=0A= > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/= sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist=0A= > index 1369ab510c..972c9bc597 100644=0A= > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist=0A= > @@ -820,6 +820,7 @@ GLIBC_2.31 totalordermagf32 F=0A= > GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > GLIBC_2.4 __clog10l F=0A= > GLIBC_2.4 __finitel F=0A= > GLIBC_2.4 __fpclassifyl F=0A= > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/= sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist=0A= > index d479a64fca..1ce52ea277 100644=0A= > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist=0A= > @@ -1097,3 +1097,4 @@ GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagf64x F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/= unix/sysv/linux/s390/s390-32/libm.abilist=0A= > index cd6be8e584..321810d5a4 100644=0A= > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist=0A= > @@ -1054,6 +1054,7 @@ GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagf64x F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > GLIBC_2.4 __clog10l F=0A= > GLIBC_2.4 __finitel F=0A= > GLIBC_2.4 __fpclassifyl F=0A= > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/= unix/sysv/linux/s390/s390-64/libm.abilist=0A= > index 5291424feb..451a860a83 100644=0A= > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist=0A= > @@ -1054,6 +1054,7 @@ GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagf64x F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > GLIBC_2.4 __clog10l F=0A= > GLIBC_2.4 __finitel F=0A= > GLIBC_2.4 __fpclassifyl F=0A= > diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sy= sv/linux/sh/be/libm.abilist=0A= > index de0f1c57c3..a5fb514eae 100644=0A= > --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist=0A= > @@ -781,4 +781,5 @@ GLIBC_2.31 totalordermagf32 F=0A= > GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > GLIBC_2.4 exp2l F=0A= > diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sy= sv/linux/sh/le/libm.abilist=0A= > index de0f1c57c3..a5fb514eae 100644=0A= > --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist=0A= > @@ -781,4 +781,5 @@ GLIBC_2.31 totalordermagf32 F=0A= > GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > GLIBC_2.4 exp2l F=0A= > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps= /unix/sysv/linux/sparc/sparc32/libm.abilist=0A= > index fc52ebf64e..d81e8a726b 100644=0A= > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist=0A= > @@ -1061,6 +1061,7 @@ GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagf64x F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > GLIBC_2.4 __clog10l F=0A= > GLIBC_2.4 __finitel F=0A= > GLIBC_2.4 __fpclassifyl F=0A= > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps= /unix/sysv/linux/sparc/sparc64/libm.abilist=0A= > index 5288a28533..3d12376d33 100644=0A= > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist=0A= > @@ -1053,3 +1053,4 @@ GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagf64x F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/uni= x/sysv/linux/x86_64/64/libm.abilist=0A= > index d620e465d2..89c4ac484d 100644=0A= > --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist=0A= > @@ -1087,3 +1087,4 @@ GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagf64x F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/un= ix/sysv/linux/x86_64/x32/libm.abilist=0A= > index 44b0eddc50..d3c9cec71a 100644=0A= > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist=0A= > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist=0A= > @@ -1087,3 +1087,4 @@ GLIBC_2.31 totalordermagf32x F=0A= > GLIBC_2.31 totalordermagf64 F=0A= > GLIBC_2.31 totalordermagf64x F=0A= > GLIBC_2.31 totalordermagl F=0A= > +GLIBC_2.32 exp10f F=0A= > =