From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2069.outbound.protection.outlook.com [40.107.21.69]) by sourceware.org (Postfix) with ESMTPS id 947C93858CDA for ; Mon, 5 Sep 2022 16:21:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 947C93858CDA 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-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=knQUHeGF7Gm9V5ZTlg+23MUS9aFy+L7dk7ZM51LqOxfZYoMsEVEoKh5F2f8B0adalK2YCDEpBb6Jkn8NsknEQJ3KuT2C5GiPPLywjj1AKKXhyc3VSLbWZ0jO3e9xnwZsWT7jxTAOhi/muy4IahNiF5dYDfOPa18S89alCm4jS0ZC5PbCSrqr6xCAfHpn6lyH8MgWKTR6kNXuQvKm5uOAX2DxxXZovqJVLVBKdqDmwBQcOAvyasWUbm9CFb7E/l0G3EADuB1aKpqMvYAykMI5YZrVLGrGWzHLOUV9YhN0Yaev4S5N5T51zWwuQ9oiiRujGs0SVpejn7rosK7FBMf+lw== 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=9It+jFNiUELQ+PI2PCziv2uAT191qz2SP/ySlYawUB8=; b=V5yErXYTntfQv8PrJO4i6Lg5sNz5rihV6ZwSwpq0KOl7rte4lO+0GoK9HTZE2QFBt5dWp0x6HxCpar/tpqsZVTfSftv03t/HoEvQScuqApVPJq9H09osZpPEnpXs8/vrbEHjA3m6nCd31okxh7mqWxM9/NiOPoXgLUVeAu/UvDNSE+FAvKp5VYcOhFifGWnDqAQFAKkmZM8Xf1Sk2spa1qylSs8k4t9uwy8KbV7Dy7udS0vQYf6im+YSnYxXtq1UvrOoVf8NopK3raH1HRP+vyPpD2Jd7ZLFwpRq/4xGVswNtxmtvql37KyGa9bsOlMqO937iBVjnqB40FZXRHzf8A== 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=9It+jFNiUELQ+PI2PCziv2uAT191qz2SP/ySlYawUB8=; b=JcGVDP0K2ht+7QzWlhzw69XHhDUu+q7ZmlCEV4sYX2kkNVvGqz7bZue4ppavwhfPwFEIsDsTkyiVwqm/xgWwb4rToP94744iHqkMh5IUXgJt77jfv+YsFdqooJF8zKsVsSwfFHTSQlLUDCyiHbM/nUenVBykB74Q7RgrWAECrc8= Received: from DB8PR04CA0003.eurprd04.prod.outlook.com (2603:10a6:10:110::13) by DB9PR08MB8387.eurprd08.prod.outlook.com (2603:10a6:10:3d8::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.12; Mon, 5 Sep 2022 16:20:59 +0000 Received: from DBAEUR03FT038.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:110:cafe::d8) by DB8PR04CA0003.outlook.office365.com (2603:10a6:10:110::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.18 via Frontend Transport; Mon, 5 Sep 2022 16:20:59 +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 DBAEUR03FT038.mail.protection.outlook.com (100.127.143.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10 via Frontend Transport; Mon, 5 Sep 2022 16:20:59 +0000 Received: ("Tessian outbound 73dd6a25223d:v123"); Mon, 05 Sep 2022 16:20:59 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: c4d4c98f920a489e X-CR-MTA-TID: 64aa7808 Received: from 75a215560bbe.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E890D043-5932-418F-BFE3-0A7E07E5F06C.1; Mon, 05 Sep 2022 16:20:52 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 75a215560bbe.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 05 Sep 2022 16:20:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DywPoS7W+2VkMo/QJfnXgUy97VXFD65E8QuY8TlqNgU5hrUShwC9DpbUTw0vGAv0mTcGKwBYfH3CfwiN5mLDiZC6ctUrPJYCzGOsPeT+xCmZdLBKPcXimcpnUPKgQDX9BFy9i+e+DL04BFhIEJdKl0O0E9XMASo6F3pWCoILLlBgToTanDGCCU6qHBudqJcawgg4EjEs75AKvjHbJyHb2ghGWudJtcvWjjYTc2b/XVnIRxoWeY3eSE9FsLysGMNQcX/rnoqp5aE0gdjM5xAuaLFP5Q8jYS+LcyDq7bjV9Zo10csXbOP4y/DKkpPhblescKZo5USoDH0K81PuE6uRzw== 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=9It+jFNiUELQ+PI2PCziv2uAT191qz2SP/ySlYawUB8=; b=cQZ+J1U6L2Ao0vrMl2S4JQI7HaLWoS7Sd79mv9GUq2mEoKm+qM4YG+4GQzhBDmLMBHd54BkKbwBXEWUXPV3qSpS3PBYQ3N0cz/IazbixtVfrdN3dekIH5KPCGKmugIpSLixjyNlQogPNz9ZIH8U0wA5B7U4m81Ryo8Pjoo4vdV6n5jiyAFiFc4iKdxrQ1SRTjEkQkYeJjsTZ0TrWriQsjCzij+Fe1LtsByvCJGKdFeJfd4WyZjmazcacRgJH58/CiroMsLXs94oQRoxyCBzX9jpbLhTDV12CbDdc5dlXyAbCr5ADA392WD33b7NGCNbFGa3ZKkYLjQz+zlw9kmehkA== 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=9It+jFNiUELQ+PI2PCziv2uAT191qz2SP/ySlYawUB8=; b=JcGVDP0K2ht+7QzWlhzw69XHhDUu+q7ZmlCEV4sYX2kkNVvGqz7bZue4ppavwhfPwFEIsDsTkyiVwqm/xgWwb4rToP94744iHqkMh5IUXgJt77jfv+YsFdqooJF8zKsVsSwfFHTSQlLUDCyiHbM/nUenVBykB74Q7RgrWAECrc8= Received: from AS4PR08MB7901.eurprd08.prod.outlook.com (2603:10a6:20b:51c::16) by PAVPR08MB9652.eurprd08.prod.outlook.com (2603:10a6:102:31c::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.17; Mon, 5 Sep 2022 16:20:48 +0000 Received: from AS4PR08MB7901.eurprd08.prod.outlook.com ([fe80::b58b:c477:7fd2:77bf]) by AS4PR08MB7901.eurprd08.prod.outlook.com ([fe80::b58b:c477:7fd2:77bf%4]) with mapi id 15.20.5588.010; Mon, 5 Sep 2022 16:20:48 +0000 From: Wilco Dijkstra To: 'GNU C Library' CC: Adhemerval Zanella Subject: [PATCH] Use atomic_exchange_release/acquire Thread-Topic: [PATCH] Use atomic_exchange_release/acquire Thread-Index: AQHYwUMk+a3wTqR4aEWSfzxnJRCxyQ== Date: Mon, 5 Sep 2022 16:20:48 +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-Office365-Filtering-Correlation-Id: 3e84e6d7-5957-4e45-e97b-08da8f5a9e5e x-ms-traffictypediagnostic: PAVPR08MB9652:EE_|DBAEUR03FT038:EE_|DB9PR08MB8387:EE_ 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: kPsIl3RkLNcorewYRn717IVF5jCGNlx0OjnvfvN6gP6CKY2tdnOolNKG368gLNDLGfXakNvEsDP0yx47/D6eL11FkS5+NTVXMjS0PKjQ3FI7s1rrXQdOk0S5Kq6MapvWNLD+GdfSIYqgSNNFPJK01qrG7qrDmp0ji+cic66sLD4ElIs7XSH69MvDBcmGP9g5dHdE6OybjJwCg72FsR0KXLPSGH12yQ5GXqfQtpUh3CPW/Mh6T/sJbMqfr80y+tZLzPkVryIWRUFDgBXVAVX+iNTpK88s6V4iHaM7crq2QrJZWfmd+7m/KxQfdUf9VcIVtfUNEdheByr5tG5TYKt1fGpTIMiHzhDSEHfkkEuDVp2j+8gqS8tgCYllW3goIevsOqpvPfjNOxbRImyLp9tb1QDOVBWLG4jxvggDposbmJj7uhRH4LXaiZZTDILfixwlEW1W92r5sWKeNOasHUE8yidiRC/gsgFQq1S2A8FOso9oKyGaE/vI/evlMWg6q9W6yF7I3haUplPyGMAUtiVo3q/2LKpE3ztjZrM94vwh3QoGrC3ukakU1zlHbi5FXoyVHAsfjiT8k3Z4LNva190neSHzgQJUOXBW0Z+gdsSm8RdnRwJsqUTJdyP/M+m3t2qH25kvc08NBi9icsPZNjgBKraYterCDRp+HY5KDWLXrn471j6azfc5A2vpLbchwH0TQPUTj1kmtKNB5mHbqyeCMcqpIRrqOcz/ZcS/fCyy+w/kMH7E6md8p/l/ukTIhEqUIS/hd1tan6l0iNevlC3SNQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR08MB7901.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(346002)(396003)(39860400002)(136003)(376002)(7696005)(9686003)(26005)(186003)(5660300002)(52536014)(6506007)(30864003)(8936002)(33656002)(86362001)(71200400001)(478600001)(41300700001)(122000001)(38100700002)(83380400001)(64756008)(8676002)(76116006)(66446008)(66476007)(66946007)(2906002)(66556008)(38070700005)(6916009)(316002)(4326008)(91956017)(55016003)(579004)(559001);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9652 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: DBAEUR03FT038.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: be8baf33-c67a-4c08-f7da-08da8f5a97fe X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oad7zJeoUpdWlY6xtNocoQCf5yK7fUwP1ND9HgwIsj7YybnSZKTp2/STagEV0Bttben/7PdzxgkaR6Z79USX0EHR7IjvykCRd6HYdYS/CbMsjWrXcjbl2Onlw3S2qnEmB/FSRyWr8ppjPf/rwQwIwkkN2SEix6jYxt+2m9NogmasVoN7aC8qv2EPuDkVOCMTweB+A7V3ozKhq+nQf+D7qv59ojjiE64dIO9P/TScd97jNvnvxJoSSSKymOnJgkdrJdygcgHRLVvEL+4AEYBAw1f8Jsx4CbRmh2PCyr0pUkfL+VV27CRUR++WzmSZv9f5UMCowfBhxjey2RlNm+SPRHh7XU9EjJtoK96AKodLhoLArDcp6TxKAla5C4zPpXTSmP8UUjejgw27qK8T0YyqYfDIcrFe3VxmImEb4i0qF8Q+rXCv3sN1KKJ2C0bSxJv616oBxWr+F2yBlsTFeA2XWu9+13a1s7O0g/pLb9Mr0kBGUdqFiQiHLnr1OEym/2YqSQvLeUuKPbp53PvpwffhTJlU806NY4x1X3T/9Elaxh+gbsr6EsrnSXj4Ci4+ayGcY3pBywl7yAtwV5yNkXQt6758Nb7kuTCOTiKLSUlD7RmwzhtUhjeLBLFjzGE+TDUhntzwabiNNDVrv2mXakbc3iiZQKPuS5A87sniIhdrgSxiDTB/GjqnGpmXK9KR0YealvL+08Ab26wpDRtsXgr2HSjfjy16RXZNlAmBirl9tQ7TJeGbxS+SmuOzqFHBkPIvyZJlvv8u2BaVz8eLeFnnFg== 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:(13230016)(4636009)(396003)(136003)(39860400002)(346002)(376002)(36840700001)(40470700004)(46966006)(2906002)(4326008)(83380400001)(70206006)(70586007)(41300700001)(316002)(186003)(336012)(8676002)(478600001)(47076005)(6916009)(9686003)(26005)(107886003)(55016003)(7696005)(40480700001)(6506007)(33656002)(40460700003)(86362001)(356005)(82740400003)(82310400005)(36860700001)(8936002)(30864003)(5660300002)(52536014)(81166007);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Sep 2022 16:20:59.3195 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3e84e6d7-5957-4e45-e97b-08da8f5a9e5e 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: DBAEUR03FT038.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8387 X-Spam-Status: No, score=-11.0 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 List-Id: Rename atomic_exchange_rel/acq to use the standard atomic_exchange_release/= acquire builtins.=0A= =0A= Passes regress on AArch64.=0A= =0A= ---=0A= =0A= diff --git a/assert/assert.c b/assert/assert.c=0A= index 564ae28a2ba0d4b8508c1ecd072ebf3b0a157894..aa77e250b4c87a2bd1652ddae14= 0d5c4526aaca4 100644=0A= --- a/assert/assert.c=0A= +++ b/assert/assert.c=0A= @@ -74,7 +74,7 @@ __assert_fail_base (const char *fmt, const char *assertio= n, const char *file,=0A= =0A= /* We have to free the old buffer since the application might=0A= catch the SIGABRT signal. */=0A= - struct abort_msg_s *old =3D atomic_exchange_acq (&__abort_msg, buf);=0A= + struct abort_msg_s *old =3D atomic_exchange_acquire (&__abort_msg, buf)= ;=0A= =0A= if (old !=3D NULL)=0A= __munmap (old, old->size);=0A= diff --git a/hurd/hurdlock.c b/hurd/hurdlock.c=0A= index 4f3bd3e54c6b296cfdd64b549d3f2e4669decbe2..ca407bdb1e8dea8e3979a2e8eb8= 3acad30724ce2 100644=0A= --- a/hurd/hurdlock.c=0A= +++ b/hurd/hurdlock.c=0A= @@ -89,7 +89,7 @@ __lll_abstimed_lock (void *ptr,=0A= =0A= while (1)=0A= {=0A= - if (atomic_exchange_acq ((int *)ptr, 2) =3D=3D 0)=0A= + if (atomic_exchange_acquire ((int *)ptr, 2) =3D=3D 0)=0A= return 0;=0A= else if (! valid_nanoseconds (tsp->tv_nsec))=0A= return EINVAL;=0A= diff --git a/mach/lowlevellock.h b/mach/lowlevellock.h=0A= index a4f6af4c29d80268697477fb107d99590d3fe6d3..d0adbd42e0b4ed29984d5ce8694= 6d3d0f5fc3dc9 100644=0A= --- a/mach/lowlevellock.h=0A= +++ b/mach/lowlevellock.h=0A= @@ -78,7 +78,7 @@ extern kern_return_t __gsync_wait_intr=0A= || atomic_compare_and_exchange_bool_acq (__iptr, 1, 0) !=3D 0) = \=0A= while (1) \=0A= { \=0A= - if (atomic_exchange_acq (__iptr, 2) =3D=3D 0) \=0A= + if (atomic_exchange_acquire (__iptr, 2) =3D=3D 0) \=0A= break; \=0A= __lll_wait (__iptr, 2, __flags); \=0A= } \=0A= @@ -102,7 +102,7 @@ extern kern_return_t __gsync_wait_intr=0A= #define __lll_unlock(ptr, flags) \=0A= ({ \=0A= int *__iptr =3D (int *)(ptr); \=0A= - if (atomic_exchange_rel (__iptr, 0) =3D=3D 2) \=0A= + if (atomic_exchange_release (__iptr, 0) =3D=3D 2) \=0A= __lll_wake (__iptr, (flags)); \=0A= (void)0; \=0A= })=0A= diff --git a/malloc/malloc.c b/malloc/malloc.c=0A= index ecec901b14f602e3c93da1a847f043ffee41a1f4..6402cf94ea8ae724d86d2a04fc7= d42e3af174564 100644=0A= --- a/malloc/malloc.c=0A= +++ b/malloc/malloc.c=0A= @@ -4718,7 +4718,7 @@ static void malloc_consolidate(mstate av)=0A= maxfb =3D &fastbin (av, NFASTBINS - 1);=0A= fb =3D &fastbin (av, 0);=0A= do {=0A= - p =3D atomic_exchange_acq (fb, NULL);=0A= + p =3D atomic_exchange_acquire (fb, NULL);=0A= if (p !=3D 0) {=0A= do {=0A= {=0A= diff --git a/manual/llio.texi b/manual/llio.texi=0A= index e55b02d8bd839827a352c751f11ad18114c32ed3..92bfd93e067ce2a782369084ed7= dae099300f418 100644=0A= --- a/manual/llio.texi=0A= +++ b/manual/llio.texi=0A= @@ -2538,7 +2538,7 @@ aiocb64}, since the LFS transparently replaces the ol= d interface.=0A= @c munmap ok=0A= @c THREAD_COPY_STACK_GUARD ok=0A= @c THREAD_COPY_POINTER_GUARD ok=0A= -@c atomic_exchange_acq ok=0A= +@c atomic_exchange_acquire ok=0A= @c lll_futex_wake ok=0A= @c deallocate_stack @asulock @ascuheap @aculock @acsmem=0A= @c lll_lock (state_cache_lock) @asulock @aculock=0A= @@ -2570,7 +2570,7 @@ aiocb64}, since the LFS transparently replaces the ol= d interface.=0A= @c atomic_increment ok=0A= @c clone ok=0A= @c atomic_decrement ok=0A= -@c atomic_exchange_acq ok=0A= +@c atomic_exchange_acquire ok=0A= @c lll_futex_wake ok=0A= @c deallocate_stack dup=0A= @c sched_setaffinity ok=0A= @@ -2590,7 +2590,7 @@ aiocb64}, since the LFS transparently replaces the ol= d interface.=0A= @c start_thread ok=0A= @c HP_TIMING_NOW ok=0A= @c ctype_init @mtslocale=0A= -@c atomic_exchange_acq ok=0A= +@c atomic_exchange_acquire ok=0A= @c lll_futex_wake ok=0A= @c sigemptyset ok=0A= @c sigaddset ok=0A= diff --git a/manual/memory.texi b/manual/memory.texi=0A= index 23a039c57e60c81787252d935e3b309fd8290902..9d3398a326300f9ae693fe00ff3= fecaff5fce014 100644=0A= --- a/manual/memory.texi=0A= +++ b/manual/memory.texi=0A= @@ -451,7 +451,7 @@ this function is in @file{stdlib.h}.=0A= @c clear_fastchunks ok=0A= @c unsorted_chunks dup ok=0A= @c fastbin dup ok=0A= -@c atomic_exchange_acq ok=0A= +@c atomic_exchange_acquire ok=0A= @c check_inuse_chunk dup ok/disabled=0A= @c chunk_at_offset dup ok=0A= @c chunksize dup ok=0A= diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c=0A= index 308db65cd4c148f8a119ed9025af194946aa2c80..870a8fcb34eb43b58c2260fee6a= 4624f0fbbd469 100644=0A= --- a/nptl/pthread_create.c=0A= +++ b/nptl/pthread_create.c=0A= @@ -415,7 +415,7 @@ start_thread (void *arg)=0A= unwind_buf.priv.data.cleanup =3D NULL;=0A= =0A= /* Allow setxid from now onwards. */=0A= - if (__glibc_unlikely (atomic_exchange_acq (&pd->setxid_futex, 0) =3D=3D = -2))=0A= + if (__glibc_unlikely (atomic_exchange_acquire (&pd->setxid_futex, 0) =3D= =3D -2))=0A= futex_wake (&pd->setxid_futex, 1, FUTEX_PRIVATE);=0A= =0A= if (__glibc_likely (! not_first_call))=0A= diff --git a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c=0A= index db99175dbba1cbd5e6fbdd273a0995ed8ed7920b..27c5f539a636a1530155f843aad= c69ada73432f3 100644=0A= --- a/nptl/pthread_mutex_unlock.c=0A= +++ b/nptl/pthread_mutex_unlock.c=0A= @@ -171,7 +171,7 @@ __pthread_mutex_unlock_full (pthread_mutex_t *mutex, in= t decr)=0A= The unlock operation must be the last access to the mutex to not= =0A= violate the mutex destruction requirements (see __lll_unlock). *= /=0A= private =3D PTHREAD_ROBUST_MUTEX_PSHARED (mutex);=0A= - if (__glibc_unlikely ((atomic_exchange_rel (&mutex->__data.__lock, 0= )=0A= + if (__glibc_unlikely ((atomic_exchange_release (&mutex->__data.__loc= k, 0)=0A= & FUTEX_WAITERS) !=3D 0))=0A= futex_wake ((unsigned int *) &mutex->__data.__lock, 1, private);=0A= =0A= diff --git a/sysdeps/aarch64/nptl/tls.h b/sysdeps/aarch64/nptl/tls.h=0A= index 8d62b31e23d53ff2789bb32a828eac2254434679..08aa2eff891b7be32243e9955d9= 98892807c7b2e 100644=0A= --- a/sysdeps/aarch64/nptl/tls.h=0A= +++ b/sysdeps/aarch64/nptl/tls.h=0A= @@ -98,7 +98,7 @@ typedef struct=0A= # define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= diff --git a/sysdeps/alpha/nptl/tls.h b/sysdeps/alpha/nptl/tls.h=0A= index ddf7de0705b37be20dbd7c981ff79e36659e0439..8f5b69ad3b1b0c557fa1bae5527= 8547572a374cc 100644=0A= --- a/sysdeps/alpha/nptl/tls.h=0A= +++ b/sysdeps/alpha/nptl/tls.h=0A= @@ -95,7 +95,7 @@ typedef struct=0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= diff --git a/sysdeps/arc/nptl/tls.h b/sysdeps/arc/nptl/tls.h=0A= index 15adfc94918dda2364ab5321d3a6ce5693ba4ad4..7fc6602b236fa2455f8de4a0540= 442ae85d27c98 100644=0A= --- a/sysdeps/arc/nptl/tls.h=0A= +++ b/sysdeps/arc/nptl/tls.h=0A= @@ -103,7 +103,7 @@ typedef struct=0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= diff --git a/sysdeps/arm/nptl/tls.h b/sysdeps/arm/nptl/tls.h=0A= index 02d9be202d77b9ec871a52be5a4e49feffc300b1..7657ca3dccc2d929c71236d42fc= 060a4b4902e2b 100644=0A= --- a/sysdeps/arm/nptl/tls.h=0A= +++ b/sysdeps/arm/nptl/tls.h=0A= @@ -89,7 +89,7 @@ typedef struct=0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= diff --git a/sysdeps/csky/nptl/tls.h b/sysdeps/csky/nptl/tls.h=0A= index cd135d546444e2e8f8ce0d53d5a16e2b13709bb9..58d6ab0fb2ae90de50cffd5b4a9= 8426c6a793050 100644=0A= --- a/sysdeps/csky/nptl/tls.h=0A= +++ b/sysdeps/csky/nptl/tls.h=0A= @@ -118,7 +118,7 @@ typedef struct=0A= # define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \= =0A= diff --git a/sysdeps/hppa/nptl/pthread_spin_init.c b/sysdeps/hppa/nptl/pthr= ead_spin_init.c=0A= index aca5e01fced74695b38d94fa66026df15607be01..f2a2009daa17043541a13bb1f64= b5b255c83050c 100644=0A= --- a/sysdeps/hppa/nptl/pthread_spin_init.c=0A= +++ b/sysdeps/hppa/nptl/pthread_spin_init.c=0A= @@ -23,7 +23,7 @@ __pthread_spin_init (pthread_spinlock_t *lock, int pshare= d)=0A= {=0A= /* CONCURRENCTY NOTES:=0A= =0A= - The atomic_exchange_rel synchronizes-with the atomic_exhange_acq in= =0A= + The atomic_exchange_release synchronizes-with the atomic_exhange_acq = in=0A= pthread_spin_lock.=0A= =0A= On hppa we must not use a plain `stw` to reset the guard lock. This= =0A= @@ -40,7 +40,7 @@ __pthread_spin_init (pthread_spinlock_t *lock, int pshare= d)=0A= Therefore if a variable is used in an atomic macro it must always be= =0A= manipulated with atomic macros in order for memory ordering rules to= =0A= be preserved. */=0A= - atomic_exchange_rel (lock, 0);=0A= + atomic_exchange_release (lock, 0);=0A= return 0;=0A= }=0A= versioned_symbol (libc, __pthread_spin_init, pthread_spin_init,=0A= diff --git a/sysdeps/hppa/nptl/pthread_spin_unlock.c b/sysdeps/hppa/nptl/pt= hread_spin_unlock.c=0A= index 5639ec84ec3e058438f0407b3f5da4cb62de1b37..885ce2b2ba7b679a8ec06ef24d8= e4cdff22c2798 100644=0A= --- a/sysdeps/hppa/nptl/pthread_spin_unlock.c=0A= +++ b/sysdeps/hppa/nptl/pthread_spin_unlock.c=0A= @@ -23,7 +23,7 @@ __pthread_spin_unlock (pthread_spinlock_t *lock)=0A= {=0A= /* CONCURRENCTY NOTES:=0A= =0A= - The atomic_exchange_rel synchronizes-with the atomic_exhange_acq in= =0A= + The atomic_exchange_release synchronizes-with the atomic_exhange_acq = in=0A= pthread_spin_lock.=0A= =0A= On hppa we must not use a plain `stw` to reset the guard lock. This= =0A= @@ -40,7 +40,7 @@ __pthread_spin_unlock (pthread_spinlock_t *lock)=0A= Therefore if a variable is used in an atomic macro it must always be= =0A= manipulated with atomic macros in order for memory ordering rules to= =0A= be preserved. */=0A= - atomic_exchange_rel (lock, 0);=0A= + atomic_exchange_release (lock, 0);=0A= return 0;=0A= }=0A= versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_unlock,=0A= diff --git a/sysdeps/hppa/nptl/tls.h b/sysdeps/hppa/nptl/tls.h=0A= index 204960d524246af3e8be40ecad20ffb567f2dc6d..e6b0bd5c7182b497aaf0d2bb08f= 62551a223c403 100644=0A= --- a/sysdeps/hppa/nptl/tls.h=0A= +++ b/sysdeps/hppa/nptl/tls.h=0A= @@ -123,7 +123,7 @@ static inline void __set_cr27(struct pthread *cr27)=0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= diff --git a/sysdeps/ia64/nptl/tls.h b/sysdeps/ia64/nptl/tls.h=0A= index 8ccedb73e610095337b8a082ee0742866ac4e2f8..d2411b3c1ac29733c0bb3683d83= 388e2e0e8e277 100644=0A= --- a/sysdeps/ia64/nptl/tls.h=0A= +++ b/sysdeps/ia64/nptl/tls.h=0A= @@ -147,7 +147,7 @@ register struct pthread *__thread_self __asm__("r13");= =0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= diff --git a/sysdeps/loongarch/nptl/tls.h b/sysdeps/loongarch/nptl/tls.h=0A= index 3b271c4b60f220c0b916583324a629dae28a4727..24bffe3a0adb91cda193463e2d0= aa7d5a4d61b6f 100644=0A= --- a/sysdeps/loongarch/nptl/tls.h=0A= +++ b/sysdeps/loongarch/nptl/tls.h=0A= @@ -119,8 +119,8 @@ typedef struct=0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { \=0A= - int __res =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag,= \=0A= - THREAD_GSCOPE_FLAG_UNUSED); \=0A= + int __res =3D atomic_exchange_release (&THREAD_SELF->header.gscope_f= lag, \=0A= + THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= } \=0A= diff --git a/sysdeps/m68k/nptl/tls.h b/sysdeps/m68k/nptl/tls.h=0A= index 30d58e36e9552d1776fffe071653c78a8012408b..742e1b6767d99fa6011ac1d2072= 64c7b82e53787 100644=0A= --- a/sysdeps/m68k/nptl/tls.h=0A= +++ b/sysdeps/m68k/nptl/tls.h=0A= @@ -122,7 +122,7 @@ extern void * __m68k_read_tp (void);=0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= diff --git a/sysdeps/microblaze/nptl/tls.h b/sysdeps/microblaze/nptl/tls.h= =0A= index 40a6acd71e710c35f2b8ef2495fdeb34906f9517..588fd1c5d63ee4e6a1b284cc19e= 216b6730a2091 100644=0A= --- a/sysdeps/microblaze/nptl/tls.h=0A= +++ b/sysdeps/microblaze/nptl/tls.h=0A= @@ -100,7 +100,7 @@ typedef struct=0A= # define THREAD_GSCOPE_RESET_FLAG() = \=0A= do = \=0A= { int __res = \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, = \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, = \=0A= THREAD_GSCOPE_FLAG_UNUSED); = \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) = \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE);= \=0A= diff --git a/sysdeps/mips/nptl/tls.h b/sysdeps/mips/nptl/tls.h=0A= index 03a5b24abd5d1d6254418e79cb231b03cee72d99..2aa7cb4bb8d0b5a31889aa33d57= 51104ff1e4f45 100644=0A= --- a/sysdeps/mips/nptl/tls.h=0A= +++ b/sysdeps/mips/nptl/tls.h=0A= @@ -150,7 +150,7 @@ typedef struct=0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= diff --git a/sysdeps/nios2/nptl/tls.h b/sysdeps/nios2/nptl/tls.h=0A= index 18080275ef7458c80c7826fc0fa0f6a4fadac320..cb231e2a4bbfa52495c4c017a7d= 3e1c6dd7937ca 100644=0A= --- a/sysdeps/nios2/nptl/tls.h=0A= +++ b/sysdeps/nios2/nptl/tls.h=0A= @@ -130,7 +130,7 @@ register struct pthread *__thread_self __asm__("r23");= =0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= diff --git a/sysdeps/nptl/futex-internal.h b/sysdeps/nptl/futex-internal.h= =0A= index cf54c27ed9d5780cd9a9166878fdc5a204c0b64f..f64728b3988aeede7e5f29ef286= abaca0d705744 100644=0A= --- a/sysdeps/nptl/futex-internal.h=0A= +++ b/sysdeps/nptl/futex-internal.h=0A= @@ -319,7 +319,7 @@ __futex_clocklock64 (int *futex, clockid_t clockid,=0A= {=0A= if (__glibc_unlikely (atomic_compare_and_exchange_bool_acq (futex, 1, 0)= ))=0A= {=0A= - while (atomic_exchange_acq (futex, 2) !=3D 0)=0A= + while (atomic_exchange_acquire (futex, 2) !=3D 0)=0A= {=0A= int err =3D 0;=0A= err =3D __futex_abstimed_wait64 ((unsigned int *) futex, 2, cloc= kid,=0A= diff --git a/sysdeps/nptl/lowlevellock.h b/sysdeps/nptl/lowlevellock.h=0A= index b429d9aa780f3c5ca6e4ae0f8e4e31e6ef8950f2..29aa9adb89e5f6291b30b943520= 1d597b58cb595 100644=0A= --- a/sysdeps/nptl/lowlevellock.h=0A= +++ b/sysdeps/nptl/lowlevellock.h=0A= @@ -119,7 +119,7 @@ libc_hidden_proto (__lll_lock_wait)=0A= ((void) \= =0A= ({ \= =0A= int *__futex =3D (futex); = \=0A= - if (__glibc_unlikely (atomic_exchange_acq (__futex, 2) !=3D 0)) = \=0A= + if (__glibc_unlikely (atomic_exchange_acquire (__futex, 2) !=3D 0)) = \=0A= __lll_lock_wait (__futex, private); \= =0A= }))=0A= #define lll_cond_lock(futex, private) __lll_cond_lock (&(futex), private)= =0A= @@ -147,7 +147,7 @@ libc_hidden_proto (__lll_lock_wake)=0A= ({ \=0A= int *__futex =3D (futex); \=0A= int __private =3D (private); \=0A= - int __oldval =3D atomic_exchange_rel (__futex, 0); \=0A= + int __oldval =3D atomic_exchange_release (__futex, 0); \=0A= if (__glibc_unlikely (__oldval > 1)) \=0A= { \=0A= if (__builtin_constant_p (private) && (private) =3D=3D LLL_PRIVAT= E) \=0A= diff --git a/sysdeps/or1k/nptl/tls.h b/sysdeps/or1k/nptl/tls.h=0A= index c6ffe62c3f8c1ae330e6402640294cbc18714883..e82f444738de222c0e4866d5a2a= b8191ce99ddc9 100644=0A= --- a/sysdeps/or1k/nptl/tls.h=0A= +++ b/sysdeps/or1k/nptl/tls.h=0A= @@ -164,7 +164,7 @@ register tcbhead_t *__thread_self __asm__("r10");=0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { \=0A= - int __res =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag,= \=0A= + int __res =3D atomic_exchange_release (&THREAD_SELF->header.gscope_f= lag,\=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, \=0A= diff --git a/sysdeps/posix/libc_fatal.c b/sysdeps/posix/libc_fatal.c=0A= index 270238495d51d2fc86edc91a0cdc9d008e9db7c0..e8e582e0cf5ddd5532626a8625a= 8f200484b75f8 100644=0A= --- a/sysdeps/posix/libc_fatal.c=0A= +++ b/sysdeps/posix/libc_fatal.c=0A= @@ -137,8 +137,8 @@ __libc_message (const char *fmt, ...)=0A= =0A= /* We have to free the old buffer since the application might=0A= catch the SIGABRT signal. */=0A= - struct abort_msg_s *old =3D atomic_exchange_acq (&__abort_msg,=0A= - buf);=0A= + struct abort_msg_s *old =3D atomic_exchange_acquire (&__abort_msg,=0A= + buf);=0A= if (old !=3D NULL)=0A= __munmap (old, old->size);=0A= }=0A= diff --git a/sysdeps/powerpc/nptl/tls.h b/sysdeps/powerpc/nptl/tls.h=0A= index 22b00752350196ad7e6d0fbdcafdc271f0af5bed..e62a96238aa95c79ac1f749b4db= f03985b6e15d4 100644=0A= --- a/sysdeps/powerpc/nptl/tls.h=0A= +++ b/sysdeps/powerpc/nptl/tls.h=0A= @@ -214,7 +214,7 @@ typedef struct=0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= diff --git a/sysdeps/riscv/nptl/tls.h b/sysdeps/riscv/nptl/tls.h=0A= index 4e586f348adf6556151c850e983bbcaa42a91b0f..700c2f51899b0385d7ebaa4810c= 84de4fa6f2b45 100644=0A= --- a/sysdeps/riscv/nptl/tls.h=0A= +++ b/sysdeps/riscv/nptl/tls.h=0A= @@ -113,7 +113,7 @@ typedef struct=0A= # define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= diff --git a/sysdeps/s390/nptl/tls.h b/sysdeps/s390/nptl/tls.h=0A= index ff210ffeb25a140bb19dbf54ab299350dc261ac7..98d7870148ce6bc1d6397b1465d= fabe96f7280b2 100644=0A= --- a/sysdeps/s390/nptl/tls.h=0A= +++ b/sysdeps/s390/nptl/tls.h=0A= @@ -157,7 +157,7 @@ typedef struct=0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= diff --git a/sysdeps/sh/nptl/tls.h b/sysdeps/sh/nptl/tls.h=0A= index 76591ab6ef6c12b73dda0feb18ab5adfbf53c28e..1530489a6ce4286bc5146e6cd83= e3b463b965467 100644=0A= --- a/sysdeps/sh/nptl/tls.h=0A= +++ b/sysdeps/sh/nptl/tls.h=0A= @@ -129,7 +129,7 @@ typedef struct=0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= diff --git a/sysdeps/sparc/nptl/tls.h b/sysdeps/sparc/nptl/tls.h=0A= index d1e2bb4ad192cc7c825fd62b03bec45bc537aaf6..95a69cb8249dc79c3a063637a21= d976d2660c48f 100644=0A= --- a/sysdeps/sparc/nptl/tls.h=0A= +++ b/sysdeps/sparc/nptl/tls.h=0A= @@ -130,7 +130,7 @@ register struct pthread *__thread_self __asm__("%g7");= =0A= #define THREAD_GSCOPE_RESET_FLAG() \=0A= do \=0A= { int __res \=0A= - =3D atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \=0A= + =3D atomic_exchange_release (&THREAD_SELF->header.gscope_flag, \=0A= THREAD_GSCOPE_FLAG_UNUSED); \=0A= if (__res =3D=3D THREAD_GSCOPE_FLAG_WAIT) \=0A= lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \=0A= =0A=