From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2073.outbound.protection.outlook.com [40.107.13.73]) by sourceware.org (Postfix) with ESMTPS id 61A3C3858D37 for ; Tue, 24 Oct 2023 12:34:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 61A3C3858D37 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 61A3C3858D37 Authentication-Results: server2.sourceware.org; arc=fail smtp.remote-ip=40.107.13.73 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698150844; cv=fail; b=iNS2s7DNeGgmavlavUZLc2oq7DUCWS9MF8XdapFPYdijwBUN1GLKjNILNRA9amdNDx5X08cchDZXgQbMlXPu726B3PuUtaLECN2/AQ1Y+zeSAxVWmA1xGTmgtXCVU900i/BBwcu5XUpmP+K2x3FSawKc76PguzQ+UidqH2oPC7E= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698150844; c=relaxed/simple; bh=1Zc+8G8loigH21IrrUmSONv1KJfmZGFsH1g8e+cK2E8=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=oDMWh0Hpp1NsckoBcxFF34/Pr5btyLUDF57BcIGKxgyUC4w9yFmBcUmSJN4egxh+qlWvNHY1vdjOqYfyUx6zfknIYyB9ZhWTBnI9nrM8TIw+Kc4/djiEpRkTwl+3iIyrj/jZBQP4bmoHcPDMdc3mofXDqxM4mlnQo5oVxJ8XiKA= ARC-Authentication-Results: i=2; server2.sourceware.org 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=MaNx5gzSgV8o5JcP7DPBwJ/c1wmDMEQ354mpgVZodq4=; b=fSQfYiSII+sRieVGsKnIVugGl7ucsHHmkyoywEyWyTd33lWUovt1MR+MOR0qNz3nV9WtNNDVHlohnas6PkKb0EY/kP4yG3abRVm0twtUJbGJ88Qn3VyG+KrFF0m2qrGCvTksNLSe/6RhTOTtnwTExCvTQX+VIQwBfLQrhGsoJB0= Received: from DB9PR06CA0014.eurprd06.prod.outlook.com (2603:10a6:10:1db::19) by PAVPR08MB9579.eurprd08.prod.outlook.com (2603:10a6:102:31a::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.25; Tue, 24 Oct 2023 12:33:57 +0000 Received: from DU6PEPF0000A7DF.eurprd02.prod.outlook.com (2603:10a6:10:1db:cafe::bc) by DB9PR06CA0014.outlook.office365.com (2603:10a6:10:1db::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33 via Frontend Transport; Tue, 24 Oct 2023 12:33:57 +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 DU6PEPF0000A7DF.mail.protection.outlook.com (10.167.8.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.15 via Frontend Transport; Tue, 24 Oct 2023 12:33:57 +0000 Received: ("Tessian outbound 36e2b13fe8d0:v215"); Tue, 24 Oct 2023 12:33:57 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: e7e77345224c2835 X-CR-MTA-TID: 64aa7808 Received: from 0dfc73981061.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 89C18E62-6EC8-45B2-AF8D-6CDEC38567E2.1; Tue, 24 Oct 2023 12:33:50 +0000 Received: from EUR03-DBA-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0dfc73981061.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 24 Oct 2023 12:33:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hV5LXvgXL3hGBHPTZypc4HbUat1lqET5H6+MNBwI3KO+XEOArFKtmcLsF7zvMn6bzwASCpUy8Aw02SwI4yQE602aSSs+/XWG40s2pEfvP7n74ysl0hFj406u2ilSoImKwKIZddkwjIUfLnxPrA+Aydq5Dy6A1Ym2UMQcoa29DnuKa4mNjY2hEI3BQii1yTwgwkg3dwtOJhcFvJDjtedHHz9wg5Jhz92x+YNsKEj2qPqhF8SPcpCtWW8hnxsYqEdtQ2QcpA6zxdC3a2tMI+ja8PkNVZYFn3Su0FFwmjxqTkac9tU7Hh4X6Qdlp4iodpN+bPX92pe8Jx+Drocg5aRcvw== 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=MaNx5gzSgV8o5JcP7DPBwJ/c1wmDMEQ354mpgVZodq4=; b=hZhK3UDrKMpGunNSHXiptgPTDaBrlo5xhHiOWu4S/T2GxrKploRhjkrBTJCuj0tB5Fll3evHY7t1YNxpHlc+F57vyGkb68zkSv5E5tscys4NGYRiNx9fhueNJnY1ohV8Bqn/qk5YRHFR5AvBDi3+zBsh3L8lw8zyW7VKVL5yKMlFDiDH35e11KvvfCcqLVJjLiIwmmZQfET6tfrYUssRiwKZmcEKPuUg0mEc0jUHSpMhP0nOZ/OeANaA9HRjRuN/cpaxCCHpjMxcQBUzXpomRPinmBQ857NvftZYwhe8qDSwe9orLHa3P3MOUO8LA0/5b4FiMPyAhY6LDNIvOeiA/Q== 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=MaNx5gzSgV8o5JcP7DPBwJ/c1wmDMEQ354mpgVZodq4=; b=fSQfYiSII+sRieVGsKnIVugGl7ucsHHmkyoywEyWyTd33lWUovt1MR+MOR0qNz3nV9WtNNDVHlohnas6PkKb0EY/kP4yG3abRVm0twtUJbGJ88Qn3VyG+KrFF0m2qrGCvTksNLSe/6RhTOTtnwTExCvTQX+VIQwBfLQrhGsoJB0= Received: from PAWPR08MB8982.eurprd08.prod.outlook.com (2603:10a6:102:33f::20) by DB9PR08MB7584.eurprd08.prod.outlook.com (2603:10a6:10:308::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.29; Tue, 24 Oct 2023 12:33:47 +0000 Received: from PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::2939:a00c:af3:2551]) by PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::2939:a00c:af3:2551%4]) with mapi id 15.20.6907.032; Tue, 24 Oct 2023 12:33:47 +0000 From: Wilco Dijkstra To: 'GNU C Library' CC: Szabolcs Nagy , Adhemerval Zanella Subject: [PATCH] AArch64: Cleanup ifuncs Thread-Topic: [PATCH] AArch64: Cleanup ifuncs Thread-Index: AQHaBnYUoY1ybgP+7k6JlyCOoYozOg== Date: Tue, 24 Oct 2023 12:33:47 +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_|DB9PR08MB7584:EE_|DU6PEPF0000A7DF:EE_|PAVPR08MB9579:EE_ X-MS-Office365-Filtering-Correlation-Id: ed0a4f60-0cf0-4137-9770-08dbd48d7e24 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: xt47CLbuHrsfu0+rfYFQ8KsruMJg1GificBdVu4PNTn5AcqjaeORClBvk+sZ2qef+qIRMuKij+XuyhsqFmTKenuWsCBhmCGWID1qL9Z5W5To6C8m0pWaCmTqaYoPLwuZgusFal4s/vdEYRmE3ncsvvenlSu//AO8k1GbtqeXM/w7II8PB7XlGvZvw0STvkGyxYlYiP/EcJW3J2rXHWmFalrNZTQFUugZK0NEg7FAsu8tikBqJBMhfZvb3PuVvYFEl5gS0TRU+DG8B2I5UWMz/B1HvLOBMo+kwbF/tP8Rq84ZDWIoyogV4SaBYyj/++EfRrhnxMIOAYkowy9tQhL0w5ZUNsQOYU31GBQH6boT4P6eakkhCdhecAx3/Q2Mim0H2jnqEYu9lUg3GLlGsMCUySU7vZdmO1iJQG8ljQEcY+DVbhWRWqLPRLm0cQ+UdxWXlUWdLKmYqW861baMq2LjC7EvWXIdgoM7wghCOhYUcvjH6/0nC5ZBgjhP2xUg5wY5m/LcMIXJxjU3ERaG9ycWXycwaTomQWr7MhzWKoYaa2ZpK852SS2uW7yTFuCKResJvyGywUdNyHsgiSJB0Xg7hStFfBAxonkvt086bjcqGblFuJcJKfFy6qPsf2l0o4Hl/1pAEaqU3i1huM3TfzlNdg== 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)(376002)(346002)(136003)(39860400002)(366004)(396003)(230922051799003)(1800799009)(451199024)(64100799003)(186009)(26005)(38070700009)(38100700002)(2906002)(55016003)(30864003)(41300700001)(52536014)(86362001)(5660300002)(4326008)(8936002)(33656002)(8676002)(7696005)(6506007)(64756008)(76116006)(478600001)(91956017)(71200400001)(122000001)(316002)(66476007)(66556008)(66946007)(6916009)(66446008)(54906003)(83380400001)(9686003)(2004002)(357404004);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: DB9PR08MB7584 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: DU6PEPF0000A7DF.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 5fac5129-ea6e-4225-3f7e-08dbd48d77ef X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JNiNzmn+pWpbflDYgXtjVhX8fIBf3KdgL5PdUo2rVDbElSNV9use1fJlGKLpZrZwfyDrjzl+lJWZam+azGyiwI2H4QAJE7uajx5Z1br6sakilsrETEiLQaRFtFRaqWZ8gabpgHH0Dz/bXRv+ISDFEwas27GQiL7enxcSptimDSonn+3XWgs9w4z3PaSh4OHG9CZASlhT5GtZRU69Nh7VEelfcqameFwL14cVJImo+M79NYkTHoAz0UVyPzcOLVcqnihrA7A+7v/MOW/rf6XSkvLkd6m0YYk9fYd+doIrBfNCbeLiaCpsyAh//wTYNe9qKlKMvTwsXnHR3lJrQCe96vJJijvfXQjdJAeDlAB+zCNesyP1rRt+WRtwvl0bKh8cX9nZD+ugU5OZDjnnH5O3xKBPWATUgJ3VRpxE/XUDR6u9UTYmUclOFay1TvAT/+84j7L3J0CrboMiVas3MxoZQo3J6CWRcbkgdMCh3vex8FCA7z9jU4CN4N/9mx5TGgOlut7I+7F78/zVVNwXpNUqPLX1MwovYuAYIEUWuaBCihVdW/ttyChjEyOyvDqMEUXlKz9U1oZu8CvJ6b3ViXGjDGLNsjLPqwOmCom5v0ot/bXHR62Y6vhL+0bwMuoV8owoaBvWLjOwsubYQG7werTOkbRLGdWq9qOymar/B7xUf0oDSkAa2iDBiHMhSqBl5YJrBvfSGmU/UJSjMaG8D4LlYBSOw26D0xofSprGiNtH6MqzRLeUqXRdxKAvtaRyPS71GQ2KO8UXXubpVlpmX+dxOA== 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)(136003)(39860400002)(346002)(396003)(376002)(230922051799003)(1800799009)(64100799003)(82310400011)(451199024)(186009)(36840700001)(40470700004)(46966006)(26005)(40460700003)(55016003)(52536014)(107886003)(47076005)(30864003)(7696005)(36860700001)(336012)(86362001)(6506007)(41300700001)(9686003)(83380400001)(81166007)(356005)(4326008)(82740400003)(5660300002)(70206006)(40480700001)(2906002)(316002)(6916009)(33656002)(8936002)(70586007)(478600001)(54906003)(8676002)(2004002)(357404004);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2023 12:33:57.4861 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ed0a4f60-0cf0-4137-9770-08dbd48d7e24 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: DU6PEPF0000A7DF.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9579 X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,KAM_LOTSOFHASH,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY,URIBL_BLACK 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: Cleanup ifuncs. Remove uses of libc_hidden_builtin_def, use ENTRY rather t= han=0A= ENTRY_ALIGN, remove unnecessary defines and conditional compilation. Renam= e=0A= strlen_mte to strlen_generic. Remove rtld-memset.=0A= =0A= Passes regress, OK for commit?=0A= =0A= ---=0A= =0A= diff --git a/sysdeps/aarch64/memset.S b/sysdeps/aarch64/memset.S=0A= index 50e5da3e7aec3a7b4ef23676c35c34896e8078e6..bf3cf85c8a95fd8c03ae13c4173= fe507040ee8cd 100644=0A= --- a/sysdeps/aarch64/memset.S=0A= +++ b/sysdeps/aarch64/memset.S=0A= @@ -29,7 +29,7 @@=0A= *=0A= */=0A= =0A= -ENTRY_ALIGN (MEMSET, 6)=0A= +ENTRY (MEMSET)=0A= =0A= PTR_ARG (0)=0A= SIZE_ARG (2)=0A= diff --git a/sysdeps/aarch64/multiarch/Makefile b/sysdeps/aarch64/multiarch= /Makefile=0A= index e6099548b96b80b656f3f22cd8d5598634647360..a1a4de3cd93c48db6e47eebc9c1= 11186efca53fb 100644=0A= --- a/sysdeps/aarch64/multiarch/Makefile=0A= +++ b/sysdeps/aarch64/multiarch/Makefile=0A= @@ -17,6 +17,6 @@ sysdep_routines +=3D \=0A= memset_kunpeng \=0A= memset_mops \=0A= strlen_asimd \=0A= - strlen_mte \=0A= + strlen_generic \=0A= # sysdep_routines=0A= endif=0A= diff --git a/sysdeps/aarch64/multiarch/ifunc-impl-list.c b/sysdeps/aarch64/= multiarch/ifunc-impl-list.c=0A= index da7f1153778efd41a15ef5aa900252f9e492b18d..836e8317a5d3b652134d199cf68= 5499983b1a3fc 100644=0A= --- a/sysdeps/aarch64/multiarch/ifunc-impl-list.c=0A= +++ b/sysdeps/aarch64/multiarch/ifunc-impl-list.c=0A= @@ -70,7 +70,7 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifu= nc_impl *array,=0A= =0A= IFUNC_IMPL (i, name, strlen,=0A= IFUNC_IMPL_ADD (array, i, strlen, !mte, __strlen_asimd)=0A= - IFUNC_IMPL_ADD (array, i, strlen, 1, __strlen_mte))=0A= + IFUNC_IMPL_ADD (array, i, strlen, 1, __strlen_generic))=0A= =0A= return 0;=0A= }=0A= diff --git a/sysdeps/aarch64/multiarch/memchr_nosimd.S b/sysdeps/aarch64/mu= ltiarch/memchr_nosimd.S=0A= index 57e48375e91edd74ee0a69e747e09d995ae8fd4f..780075189902919345c5eb15cba= 7ea0929043d6a 100644=0A= --- a/sysdeps/aarch64/multiarch/memchr_nosimd.S=0A= +++ b/sysdeps/aarch64/multiarch/memchr_nosimd.S=0A= @@ -26,10 +26,6 @@=0A= * Use base integer registers.=0A= */=0A= =0A= -#ifndef MEMCHR=0A= -# define MEMCHR __memchr_nosimd=0A= -#endif=0A= -=0A= /* Arguments and results. */=0A= #define srcin x0=0A= #define chrin x1=0A= @@ -62,7 +58,7 @@=0A= #define REP8_7f 0x7f7f7f7f7f7f7f7f=0A= =0A= =0A= -ENTRY_ALIGN (MEMCHR, 6)=0A= +ENTRY (__memchr_nosimd)=0A= =0A= PTR_ARG (0)=0A= SIZE_ARG (2)=0A= @@ -219,5 +215,4 @@ L(none_chr):=0A= mov result, 0=0A= ret=0A= =0A= -END (MEMCHR)=0A= -libc_hidden_builtin_def (MEMCHR)=0A= +END (__memchr_nosimd)=0A= diff --git a/sysdeps/aarch64/multiarch/memcpy_a64fx.S b/sysdeps/aarch64/mul= tiarch/memcpy_a64fx.S=0A= index f89b5b670a16ceb944eb816d318e02628a239df8..baff7e96d0045dac5a6a7a8d555= e997998c978dd 100644=0A= --- a/sysdeps/aarch64/multiarch/memcpy_a64fx.S=0A= +++ b/sysdeps/aarch64/multiarch/memcpy_a64fx.S=0A= @@ -39,9 +39,6 @@=0A= #define vlen8 x8=0A= =0A= #if HAVE_AARCH64_SVE_ASM=0A= -# if IS_IN (libc)=0A= -# define MEMCPY __memcpy_a64fx=0A= -# define MEMMOVE __memmove_a64fx=0A= =0A= .arch armv8.2-a+sve=0A= =0A= @@ -97,7 +94,7 @@=0A= #undef BTI_C=0A= #define BTI_C=0A= =0A= -ENTRY (MEMCPY)=0A= +ENTRY (__memcpy_a64fx)=0A= =0A= PTR_ARG (0)=0A= PTR_ARG (1)=0A= @@ -234,11 +231,10 @@ L(last_bytes):=0A= st1b z3.b, p0, [dstend, -1, mul vl]=0A= ret=0A= =0A= -END (MEMCPY)=0A= -libc_hidden_builtin_def (MEMCPY)=0A= +END (__memcpy_a64fx)=0A= =0A= =0A= -ENTRY_ALIGN (MEMMOVE, 4)=0A= +ENTRY_ALIGN (__memmove_a64fx, 4)=0A= =0A= PTR_ARG (0)=0A= PTR_ARG (1)=0A= @@ -307,7 +303,5 @@ L(full_overlap):=0A= mov dst, dstin=0A= b L(last_bytes)=0A= =0A= -END (MEMMOVE)=0A= -libc_hidden_builtin_def (MEMMOVE)=0A= -# endif /* IS_IN (libc) */=0A= +END (__memmove_a64fx)=0A= #endif /* HAVE_AARCH64_SVE_ASM */=0A= diff --git a/sysdeps/aarch64/multiarch/memcpy_falkor.S b/sysdeps/aarch64/mu= ltiarch/memcpy_falkor.S=0A= index ec0e4ade24bbad76979d2e34a36eff7703d30264..67c4ab34eba40c37c6aae08be6c= b5e11e2a82d17 100644=0A= --- a/sysdeps/aarch64/multiarch/memcpy_falkor.S=0A= +++ b/sysdeps/aarch64/multiarch/memcpy_falkor.S=0A= @@ -71,7 +71,7 @@=0A= The non-temporal stores help optimize cache utilization. */=0A= =0A= #if IS_IN (libc)=0A= -ENTRY_ALIGN (__memcpy_falkor, 6)=0A= +ENTRY (__memcpy_falkor)=0A= =0A= PTR_ARG (0)=0A= PTR_ARG (1)=0A= @@ -198,7 +198,6 @@ L(loop64):=0A= ret=0A= =0A= END (__memcpy_falkor)=0A= -libc_hidden_builtin_def (__memcpy_falkor)=0A= =0A= =0A= /* RATIONALE:=0A= @@ -216,7 +215,7 @@ libc_hidden_builtin_def (__memcpy_falkor)=0A= =0A= For small and medium cases memcpy is used. */=0A= =0A= -ENTRY_ALIGN (__memmove_falkor, 6)=0A= +ENTRY (__memmove_falkor)=0A= =0A= PTR_ARG (0)=0A= PTR_ARG (1)=0A= @@ -311,5 +310,4 @@ L(move_long):=0A= 3: ret=0A= =0A= END (__memmove_falkor)=0A= -libc_hidden_builtin_def (__memmove_falkor)=0A= #endif=0A= diff --git a/sysdeps/aarch64/multiarch/memcpy_sve.S b/sysdeps/aarch64/multi= arch/memcpy_sve.S=0A= index d11be6a44301af4bfd7fa4900555b769dc58d34d..2f14f9136698c5b3130482e2c15= c5d4ceb198bda 100644=0A= --- a/sysdeps/aarch64/multiarch/memcpy_sve.S=0A= +++ b/sysdeps/aarch64/multiarch/memcpy_sve.S=0A= @@ -141,7 +141,6 @@ L(copy64_from_end):=0A= ret=0A= =0A= END (__memcpy_sve)=0A= -libc_hidden_builtin_def (__memcpy_sve)=0A= =0A= =0A= ENTRY (__memmove_sve)=0A= @@ -208,5 +207,4 @@ L(return):=0A= ret=0A= =0A= END (__memmove_sve)=0A= -libc_hidden_builtin_def (__memmove_sve)=0A= #endif=0A= diff --git a/sysdeps/aarch64/multiarch/memcpy_thunderx.S b/sysdeps/aarch64/= multiarch/memcpy_thunderx.S=0A= index 366287587f4aec5c00c35320fd1f862e45400d08..14269b1a47137f178e289e31026= ab2874ccc3173 100644=0A= --- a/sysdeps/aarch64/multiarch/memcpy_thunderx.S=0A= +++ b/sysdeps/aarch64/multiarch/memcpy_thunderx.S=0A= @@ -65,21 +65,7 @@=0A= Overlapping large forward memmoves use a loop that copies backwards.=0A= */=0A= =0A= -#ifndef MEMMOVE=0A= -# define MEMMOVE memmove=0A= -#endif=0A= -#ifndef MEMCPY=0A= -# define MEMCPY memcpy=0A= -#endif=0A= -=0A= -#if IS_IN (libc)=0A= -=0A= -# undef MEMCPY=0A= -# define MEMCPY __memcpy_thunderx=0A= -# undef MEMMOVE=0A= -# define MEMMOVE __memmove_thunderx=0A= -=0A= -ENTRY_ALIGN (MEMMOVE, 6)=0A= +ENTRY (__memmove_thunderx)=0A= =0A= PTR_ARG (0)=0A= PTR_ARG (1)=0A= @@ -91,9 +77,9 @@ ENTRY_ALIGN (MEMMOVE, 6)=0A= b.lo L(move_long)=0A= =0A= /* Common case falls through into memcpy. */=0A= -END (MEMMOVE)=0A= -libc_hidden_builtin_def (MEMMOVE)=0A= -ENTRY (MEMCPY)=0A= +END (__memmove_thunderx)=0A= +=0A= +ENTRY (__memcpy_thunderx)=0A= =0A= PTR_ARG (0)=0A= PTR_ARG (1)=0A= @@ -316,7 +302,4 @@ L(move_long):=0A= stp C_l, C_h, [dstin]=0A= 3: ret=0A= =0A= -END (MEMCPY)=0A= -libc_hidden_builtin_def (MEMCPY)=0A= -=0A= -#endif=0A= +END (__memcpy_thunderx)=0A= diff --git a/sysdeps/aarch64/multiarch/memcpy_thunderx2.S b/sysdeps/aarch64= /multiarch/memcpy_thunderx2.S=0A= index d3d6f1debcc936b81aa62b170969b149faa9913d..93993b9e03b95075dbc9aef13f4= 4c2b9a2b7800f 100644=0A= --- a/sysdeps/aarch64/multiarch/memcpy_thunderx2.S=0A= +++ b/sysdeps/aarch64/multiarch/memcpy_thunderx2.S=0A= @@ -75,27 +75,12 @@=0A= #define I_v v16=0A= #define J_v v17=0A= =0A= -#ifndef MEMMOVE=0A= -# define MEMMOVE memmove=0A= -#endif=0A= -#ifndef MEMCPY=0A= -# define MEMCPY memcpy=0A= -#endif=0A= -=0A= -#if IS_IN (libc)=0A= -=0A= -#undef MEMCPY=0A= -#define MEMCPY __memcpy_thunderx2=0A= -#undef MEMMOVE=0A= -#define MEMMOVE __memmove_thunderx2=0A= -=0A= -=0A= /* Overlapping large forward memmoves use a loop that copies backwards.=0A= Otherwise memcpy is used. Small moves branch to memcopy16 directly.=0A= The longer memcpy cases fall through to the memcpy head.=0A= */=0A= =0A= -ENTRY_ALIGN (MEMMOVE, 6)=0A= +ENTRY (__memmove_thunderx2)=0A= =0A= PTR_ARG (0)=0A= PTR_ARG (1)=0A= @@ -109,8 +94,7 @@ ENTRY_ALIGN (MEMMOVE, 6)=0A= ccmp tmp1, count, 2, hi=0A= b.lo L(move_long)=0A= =0A= -END (MEMMOVE)=0A= -libc_hidden_builtin_def (MEMMOVE)=0A= +END (__memmove_thunderx2)=0A= =0A= =0A= /* Copies are split into 3 main cases: small copies of up to 16 bytes,=0A= @@ -124,8 +108,7 @@ libc_hidden_builtin_def (MEMMOVE)=0A= =0A= #define MEMCPY_PREFETCH_LDR 640=0A= =0A= - .p2align 4=0A= -ENTRY (MEMCPY)=0A= +ENTRY (__memcpy_thunderx2)=0A= =0A= PTR_ARG (0)=0A= PTR_ARG (1)=0A= @@ -449,7 +432,7 @@ L(move_long):=0A= 3: ret=0A= =0A= =0A= -END (MEMCPY)=0A= +END (__memcpy_thunderx2)=0A= .section .rodata=0A= .p2align 4=0A= =0A= @@ -472,6 +455,3 @@ L(ext_table):=0A= .word L(ext_size_13) -.=0A= .word L(ext_size_14) -.=0A= .word L(ext_size_15) -.=0A= -=0A= -libc_hidden_builtin_def (MEMCPY)=0A= -#endif=0A= diff --git a/sysdeps/aarch64/multiarch/memset_a64fx.S b/sysdeps/aarch64/mul= tiarch/memset_a64fx.S=0A= index d520355143ead2acdaf6a7e1652d2417df8087e8..7176f3d284ab12f7a354781db66= 8c0520f47702d 100644=0A= --- a/sysdeps/aarch64/multiarch/memset_a64fx.S=0A= +++ b/sysdeps/aarch64/multiarch/memset_a64fx.S=0A= @@ -33,8 +33,6 @@=0A= #define vector_length x9=0A= =0A= #if HAVE_AARCH64_SVE_ASM=0A= -# if IS_IN (libc)=0A= -# define MEMSET __memset_a64fx=0A= =0A= .arch armv8.2-a+sve=0A= =0A= @@ -49,7 +47,7 @@=0A= #undef BTI_C=0A= #define BTI_C=0A= =0A= -ENTRY (MEMSET)=0A= +ENTRY (__memset_a64fx)=0A= PTR_ARG (0)=0A= SIZE_ARG (2)=0A= =0A= @@ -166,8 +164,6 @@ L(L2):=0A= add count, count, CACHE_LINE_SIZE=0A= b L(last)=0A= =0A= -END (MEMSET)=0A= -libc_hidden_builtin_def (MEMSET)=0A= +END (__memset_a64fx)=0A= =0A= -#endif /* IS_IN (libc) */=0A= #endif /* HAVE_AARCH64_SVE_ASM */=0A= diff --git a/sysdeps/aarch64/multiarch/memset_base64.S b/sysdeps/aarch64/mu= ltiarch/memset_base64.S=0A= index 35296a6dec4944fa74af176bf280e17b11a027fd..0e8f709fa58478d6e9d62020c57= 6bb9be108866c 100644=0A= --- a/sysdeps/aarch64/multiarch/memset_base64.S=0A= +++ b/sysdeps/aarch64/multiarch/memset_base64.S=0A= @@ -34,7 +34,7 @@=0A= *=0A= */=0A= =0A= -ENTRY_ALIGN (MEMSET, 6)=0A= +ENTRY (MEMSET)=0A= =0A= PTR_ARG (0)=0A= SIZE_ARG (2)=0A= @@ -183,4 +183,3 @@ L(zva_64):=0A= #endif=0A= =0A= END (MEMSET)=0A= -libc_hidden_builtin_def (MEMSET)=0A= diff --git a/sysdeps/aarch64/multiarch/memset_emag.S b/sysdeps/aarch64/mult= iarch/memset_emag.S=0A= index 17d609cead96030fbd42f2997d081c6740396af3..6fecad4fae699f9967da94ddc88= 867afd5c59414 100644=0A= --- a/sysdeps/aarch64/multiarch/memset_emag.S=0A= +++ b/sysdeps/aarch64/multiarch/memset_emag.S=0A= @@ -19,8 +19,7 @@=0A= =0A= #include =0A= =0A= -#if IS_IN (libc)=0A= -# define MEMSET __memset_emag=0A= +#define MEMSET __memset_emag=0A= =0A= /*=0A= * Using DC ZVA to zero memory does not produce better performance if=0A= @@ -30,7 +29,6 @@=0A= * workloads.=0A= */=0A= =0A= -# define DC_ZVA_THRESHOLD 0=0A= +#define DC_ZVA_THRESHOLD 0=0A= =0A= -# include "./memset_base64.S"=0A= -#endif=0A= +#include "./memset_base64.S"=0A= diff --git a/sysdeps/aarch64/multiarch/memset_generic.S b/sysdeps/aarch64/m= ultiarch/memset_generic.S=0A= index 9c23e482bf90d8b466d3e3d1e2d2d4a053b434bb..6c1f0daac8615c3e83e067db9b6= 1e77c1c2c2fdd 100644=0A= --- a/sysdeps/aarch64/multiarch/memset_generic.S=0A= +++ b/sysdeps/aarch64/multiarch/memset_generic.S=0A= @@ -21,9 +21,15 @@=0A= =0A= #if IS_IN (libc)=0A= # define MEMSET __memset_generic=0A= +=0A= +/* Do not hide the generic version of memset, we use it internally. */=0A= +# undef libc_hidden_builtin_def=0A= +# define libc_hidden_builtin_def(name)=0A= +=0A= /* Add a hidden definition for use within libc.so. */=0A= # ifdef SHARED=0A= .globl __GI_memset; __GI_memset =3D __memset_generic=0A= # endif=0A= -# include =0A= #endif=0A= +=0A= +#include <../memset.S>=0A= diff --git a/sysdeps/aarch64/multiarch/memset_kunpeng.S b/sysdeps/aarch64/m= ultiarch/memset_kunpeng.S=0A= index 86c46434fdd30460d0655850d25f69d75b193b2e..4a54373398ff14151c49490c067= 49277de664cd9 100644=0A= --- a/sysdeps/aarch64/multiarch/memset_kunpeng.S=0A= +++ b/sysdeps/aarch64/multiarch/memset_kunpeng.S=0A= @@ -20,16 +20,13 @@=0A= #include =0A= #include =0A= =0A= -#if IS_IN (libc)=0A= -# define MEMSET __memset_kunpeng=0A= -=0A= /* Assumptions:=0A= *=0A= * ARMv8-a, AArch64, unaligned accesses=0A= *=0A= */=0A= =0A= -ENTRY_ALIGN (MEMSET, 6)=0A= +ENTRY (__memset_kunpeng)=0A= =0A= PTR_ARG (0)=0A= SIZE_ARG (2)=0A= @@ -108,6 +105,4 @@ L(set_long):=0A= stp q0, q0, [dstend, -32]=0A= ret=0A= =0A= -END (MEMSET)=0A= -libc_hidden_builtin_def (MEMSET)=0A= -#endif=0A= +END (__memset_kunpeng)=0A= diff --git a/sysdeps/aarch64/multiarch/rtld-memset.S b/sysdeps/aarch64/mult= iarch/rtld-memset.S=0A= deleted file mode 100644=0A= index 4b035ed8b2cfc80cc37babe6cb2f146804feb46f..000000000000000000000000000= 0000000000000=0A= --- a/sysdeps/aarch64/multiarch/rtld-memset.S=0A= +++ /dev/null=0A= @@ -1,25 +0,0 @@=0A= -/* Memset for aarch64, for the dynamic linker.=0A= - Copyright (C) 2017-2023 Free Software Foundation, Inc.=0A= -=0A= - This file is part of the GNU C Library.=0A= -=0A= - The GNU C Library is free software; you can redistribute it and/or=0A= - modify it under the terms of the GNU Lesser General Public=0A= - License as published by the Free Software Foundation; either=0A= - version 2.1 of the License, or (at your option) any later version.=0A= -=0A= - The GNU C Library is distributed in the hope that it will be useful,=0A= - but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU=0A= - Lesser General Public License for more details.=0A= -=0A= - You should have received a copy of the GNU Lesser General Public=0A= - License along with the GNU C Library. If not, see=0A= - . */=0A= -=0A= -#include =0A= -=0A= -#if IS_IN (rtld)=0A= -# define MEMSET memset=0A= -# include =0A= -#endif=0A= diff --git a/sysdeps/aarch64/multiarch/strlen.c b/sysdeps/aarch64/multiarch= /strlen.c=0A= index bbdd3de8c4a8dca2e86f6fcfbe810be2fb1867b1..728bd1936a218c77f931c7327d4= 02bcc873c50f9 100644=0A= --- a/sysdeps/aarch64/multiarch/strlen.c=0A= +++ b/sysdeps/aarch64/multiarch/strlen.c=0A= @@ -28,10 +28,10 @@=0A= =0A= extern __typeof (__redirect_strlen) __strlen;=0A= =0A= -extern __typeof (__redirect_strlen) __strlen_mte attribute_hidden;=0A= +extern __typeof (__redirect_strlen) __strlen_generic attribute_hidden;=0A= extern __typeof (__redirect_strlen) __strlen_asimd attribute_hidden;=0A= =0A= -libc_ifunc (__strlen, (mte ? __strlen_mte : __strlen_asimd));=0A= +libc_ifunc (__strlen, (mte ? __strlen_generic : __strlen_asimd));=0A= =0A= # undef strlen=0A= strong_alias (__strlen, strlen);=0A= diff --git a/sysdeps/aarch64/multiarch/strlen_asimd.S b/sysdeps/aarch64/mul= tiarch/strlen_asimd.S=0A= index 490439491d19c3f14b0228f42248bc8aa6e9e8bd..aee5ef9f78adb1f769dbc48ef9a= ae8966f120c24 100644=0A= --- a/sysdeps/aarch64/multiarch/strlen_asimd.S=0A= +++ b/sysdeps/aarch64/multiarch/strlen_asimd.S=0A= @@ -203,4 +203,3 @@ L(page_cross):=0A= ret=0A= =0A= END (__strlen_asimd)=0A= -libc_hidden_builtin_def (__strlen_asimd)=0A= diff --git a/sysdeps/aarch64/multiarch/strlen_mte.S b/sysdeps/aarch64/multi= arch/strlen_generic.S=0A= similarity index 85%=0A= rename from sysdeps/aarch64/multiarch/strlen_mte.S=0A= rename to sysdeps/aarch64/multiarch/strlen_generic.S=0A= index 1c1220b7675fcc83953aba9ceca79deedca9242b..2346296a188af76880435ff446b= 9fdd76a174072 100644=0A= --- a/sysdeps/aarch64/multiarch/strlen_mte.S=0A= +++ b/sysdeps/aarch64/multiarch/strlen_generic.S=0A= @@ -17,14 +17,14 @@=0A= . */=0A= =0A= /* The actual strlen code is in ../strlen.S. If we are building libc this= file=0A= - defines __strlen_mte. Otherwise the include of ../strlen.S will define= =0A= - the normal __strlen entry points. */=0A= + defines __strlen_generic. Otherwise the include of ../strlen.S will de= fine=0A= + the normal __strlen entry points. */=0A= =0A= #include =0A= =0A= #if IS_IN (libc)=0A= =0A= -# define STRLEN __strlen_mte=0A= +# define STRLEN __strlen_generic=0A= =0A= /* Do not hide the generic version of strlen, we use it internally. */=0A= # undef libc_hidden_builtin_def=0A= @@ -32,7 +32,7 @@=0A= =0A= # ifdef SHARED=0A= /* It doesn't make sense to send libc-internal strlen calls through a PLT.= */=0A= - .globl __GI_strlen; __GI_strlen =3D __strlen_mte=0A= + .globl __GI_strlen; __GI_strlen =3D __strlen_generic=0A= # endif=0A= #endif=0A= =0A=