From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80058.outbound.protection.outlook.com [40.107.8.58]) by sourceware.org (Postfix) with ESMTPS id 93356385782A for ; Thu, 13 Jan 2022 16:24:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 93356385782A Received: from AS9PR0301CA0060.eurprd03.prod.outlook.com (2603:10a6:20b:469::18) by AM0PR08MB5505.eurprd08.prod.outlook.com (2603:10a6:208:18e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Thu, 13 Jan 2022 16:24:25 +0000 Received: from AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:469:cafe::c) by AS9PR0301CA0060.outlook.office365.com (2603:10a6:20b:469::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11 via Frontend Transport; Thu, 13 Jan 2022 16:24:25 +0000 X-MS-Exchange-Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=temperror action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT015.mail.protection.outlook.com (10.152.16.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9 via Frontend Transport; Thu, 13 Jan 2022 16:24:23 +0000 Received: ("Tessian outbound 9a8c656e7c94:v110"); Thu, 13 Jan 2022 16:24:23 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 3d914f8333d1ff81 X-CR-MTA-TID: 64aa7808 Received: from 6ecdcbef23b9.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 6922F84C-342A-4E40-9351-1B4C459F8FC3.1; Thu, 13 Jan 2022 16:24:14 +0000 Received: from EUR03-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6ecdcbef23b9.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 13 Jan 2022 16:24:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e/AUwc8cyR0ZnKAn+B0fSu8K1sEaeoVMSxsvJak0nMmWVA9ITqyKGnADccvAmD3LIFm1znHsEyHzD18daNUnyK2Ey82K1shdSb7vQxYe+3zCVxwuiDf88C6vZEPHvrJr4LQE8M5hr5rYl7lOwLGPKeKBRgFPdeDa14M9t7nUu2SgV2saeWQONpj/5pUOjY8wfK/E2zu1I5RJjaIDRJQKLAiPxvtgbp0bTG/aNYaNR+CUMQvBQ5+8pShzlC5rTx5Z5PfZe2aUVcj+g5aBVefU5eesqHuZfergeqodH2qUmsJErIaKUCCt9WN7FiBysoGdvBGVX2QokxG2m97V9JxmrQ== 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=nHz0/fdWL4gqY4vuEX/RNy3RaXfbN7keDzlvn0ImFjE=; b=StVURWqV9xIoaSkCyM0cqfPPlx9vecDEdfk/x3kfHvSCFsCYF8d4FYUw325FnfcSvPSK05hKNHkTjc39OW4AXJgPiULyQpY6GCEDmY4Uz7ZmaKaoiK4IWMBaNaOVajsa1z8gpmcMIwHzL506l++/wqWVcACCkXvuLFQlENK1WMBKdMLe4MnHTV10QesN3SEUuSh2zgtKPucWmYyAIjHTNSGmQrp4tO2alKxEDg+s2ie74GUAYat+AVgM0b2EfVEXh+0s/TVVdl7n9tanthLps+dgYWkPSVOhghQPidgAMqD6HetZRSOPn18ZqlUG9kpfJceu7JDJ//dXWHB6BJ2sMA== 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 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) by AM9PR08MB6723.eurprd08.prod.outlook.com (2603:10a6:20b:2ff::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Thu, 13 Jan 2022 16:24:12 +0000 Received: from DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::25f9:a7e6:422a:da43]) by DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::25f9:a7e6:422a:da43%5]) with mapi id 15.20.4888.009; Thu, 13 Jan 2022 16:24:12 +0000 Date: Thu, 13 Jan 2022 16:24:10 +0000 From: Szabolcs Nagy To: Adhemerval Zanella Cc: libc-alpha@sourceware.org, jma14 , John Mellor-Crummey Subject: Re: [PATCH v9 4/4] elf: Fix runtime linker auditing on aarch64 (BZ #26643) Message-ID: <20220113162410.GA3294453@arm.com> References: <20220103132530.1149542-1-adhemerval.zanella@linaro.org> <20220103132530.1149542-5-adhemerval.zanella@linaro.org> <20220111111645.GX3294453@arm.com> <5de33ad5-d86a-3370-4a24-fbb3d6a4ac42@linaro.org> <20220111170944.GZ3294453@arm.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LNXP265CA0032.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:5c::20) To DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 44514a67-be6e-4921-1754-08d9d6b1294d X-MS-TrafficTypeDiagnostic: AM9PR08MB6723:EE_|AM5EUR03FT015:EE_|AM0PR08MB5505:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:8273;OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: evzeii6z3a3qSwOUMrnnPrKkFII3tnqzM67yu9oJR9BitvA3GgLt5AeuwyFaFk8E9HgEYitDW8B7lY2yqTDxJo84iLkTCBCeH2K38v1m4n+ZoZjhTGMm/T2LNN/Adajbmg5eGsbNYz7EHMahqBIg2inV8GaNIrpt39DvPIUoup91oMyhx0WsTc6LXIlsVh8wMuYeCkk+7phcn1eRlp+NcaAOHyXbmdb8QMqJrdTMCW9tu9oJR3TpeFMsh46pLlM9i96bYGW+3yvZe7/m6/kVd+ZZ+ZdhPUw/iM99FfmM9u7FnmgdeYoYzDMXfoVfvGTqxjXk4u1gbsEz26YByDuqxuTKCvAcEVoll6+6lWSLMFv3fckUuCkRf1YR3Rl7hakBjC+StB+bgmU7Mja61R1M3+tClFbx3KH0S2mun+2aIkFVad8WlZW1MVmdKXyhbJkOQFLrHsgoymgACseBibTP5HS3TKuWXtj4zEzeSYmBY9WV03WgUFLxXKcnEQG12WJrwJaJbxFJHwg/953LUe6eXkn65lAWzqDWOGG++uyniKBg2UEtm6YzncIJ4HK2Jto0/uycZaGcwKNpSOmj4LIeEaQDNBJbwXvgpAEheUA9YWXrbWjkUG/ln3iXpH9LbixJvW3iXIz1w8krn0xG/CDnHFoea7xyq29a3QR46avOV7RkYbXFxBeES8oGnmp/atCOGh9FTX8TqxrS5dVvUQ5H9g== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB7179.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(2616005)(4326008)(6506007)(5660300002)(6486002)(52116002)(44832011)(508600001)(53546011)(8676002)(8936002)(1076003)(83380400001)(6916009)(38350700002)(54906003)(6512007)(33656002)(86362001)(66476007)(186003)(36756003)(26005)(38100700002)(2906002)(316002)(66556008)(66946007); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6723 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: AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 598b569f-ee91-4664-a6d1-08d9d6b1222d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IIaA3k6Vi5MLlns9yjOnILByL+j0xaQlFFupcftZuCqBHX21nEyWdm1YYOCQzwuZmtddSaLPS0PPMfw0xeCKCwScJXq0UPCJp3V0u06iDCnQJSw7x6WOW4y+KFmSpouKlT7afPrrlpuJ8jfv5PIVMMiJV0ez5uAfX4XZX0o+G/ZnJJpH2xGNHkpaYdXrguzv7YWd5c0VHHbftxu8vswOMg+ag9N08H7iAvH/vqI6fcRcIAH8BAyK2LfZaPrTlrv0BeD89al/tHV3UnYWv174dZUBcJdROUaxAWT+flg9/Lh6oP/Vvl+btD6moFSkmdJ2J4sMipf/80jShHzRXvvX0qtsUNoAzmi4p0H8LzpXqv4Sp3VgRfi44WqUWoPp4PtBLKZPVhxmD9qhddPquzUY9fagA76Qc0DzNFtawyOz4+ZEUd0FQoaqWqV4k/TXF0hi6ORQtWCMisn74sm8kVMxiaeQ47Zbkiwe/pHCdPGF6NfirRTG9lnOr4JOCcXNV9vwgdMsDJPEK5gHmX/oUlzbDv00v0kz7fkbEu/eOtByPxCY+7uUGJi0f6IJ2dap58eGUXMFvzLbICg4G5eVMaUdO4yFdJsZwTTfAr9lfWh4pCGCZnAYUXk7Gl5G9CAZRHM2q+sEirCWR8VEubD8t7aePUMQPiV/B2U7QBcH+CUoEURijzIQcOw5gJjShq3256LRxFsF76UPTmoqw8ENLemWtRlVH6DrUqYYRtVBypHB9tF3hA88YsuPmkNsVih1qMg2tgTbg6id2l9lfnQ8HlRBQA== 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:(4636009)(46966006)(40470700002)(36840700001)(8936002)(508600001)(36756003)(6862004)(107886003)(53546011)(6506007)(2906002)(2616005)(83380400001)(5660300002)(336012)(316002)(63370400001)(63350400001)(81166007)(356005)(26005)(4326008)(40460700001)(33656002)(54906003)(70586007)(186003)(82310400004)(6512007)(1076003)(47076005)(44832011)(6486002)(36860700001)(70206006)(86362001)(8676002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 16:24:23.9484 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 44514a67-be6e-4921-1754-08d9d6b1294d 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: AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5505 X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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, 13 Jan 2022 16:24:29 -0000 The 01/11/2022 15:12, Adhemerval Zanella wrote: > > > On 11/01/2022 14:09, Szabolcs Nagy wrote: > > The 01/11/2022 13:49, Adhemerval Zanella wrote: > >> On 11/01/2022 08:16, Szabolcs Nagy wrote: > >>> The 01/03/2022 10:25, Adhemerval Zanella via Libc-alpha wrote: > >>>> @@ -142,13 +143,17 @@ _dl_runtime_profile: > >>>> Stack frame layout: > >>>> [sp, #...] lr > >>>> [sp, #...] &PLTGOT[n] > >>>> - [sp, #96] La_aarch64_regs > >>>> - [sp, #48] La_aarch64_retval > >>>> - [sp, #40] frame size return from pltenter > >>>> - [sp, #32] dl_profile_call saved x1 > >>>> - [sp, #24] dl_profile_call saved x0 > >>>> - [sp, #16] t1 > >>>> - [sp, #0] x29, lr <- x29 > >>>> + ----------------------- > >>>> + [sp, #384] La_aarch64_regs::lr_xreg (x0-x8) > >>>> + [sp, #256] La_aarch64_regs::lr_vreg (q0-q7) > >>>> + [sp, #240] La_aarch64_regs::sp and La_aarch64_regs::lr > >>>> + [sp, #176] La_aarch64_retval::lrv_xreg (x0-x7) > >>>> + [sp, # 48] La_aarch64_retval::lrv_vreg (q0-q7) > >>>> + [sp, # 40] frame size return from pltenter > >>>> + [sp, # 32] dl_profile_call saved x1 > >>>> + [sp, # 24] dl_profile_call saved x0 > >>>> + [sp, # 16] t1 > >>>> + [sp, # 0] x29, lr <- x29 > >>>> */ > >>> > >>> the layout in the comment looks backwards. > >> > >> It follows the convention of the about layout: > >> > >> /* AArch64 we get called with: > >> ip0 &PLTGOT[2] > >> ip1 temp(dl resolver entry point) > >> [sp, #8] lr > >> [sp, #0] &PLTGOT[n] > >> [...] > >> > > > > i mean the order of the fields is wrong. > > > > lr_xreg has larger address than lr_vreg > > but in the struct it is the opposite. > > > > i think you need to reorder the fields. > > (but we don't have to document the exact offsets > > here, so a simplified comment is fine too) > > Indeed, it should be: > > [sp, #384] La_aarch64_regs::lr_xreg (q0-q7) > [sp, #256] La_aarch64_regs::lr_vreg (x0-x8) xreg vs vreg is still wrong. > [sp, #240] La_aarch64_regs::sp and La_aarch64_regs::lr > [sp, #176] La_aarch64_retval::lrv_xreg (q0-q7) > [sp, #48] La_aarch64_retval::lrv_vreg (x0-x7) > [sp, #40] frame size return from pltenter > [sp, #32] dl_profile_call saved x1 > [sp, #24] dl_profile_call saved x0 > [sp, #16] t1 > [sp, #0] x29, lr <- x29 > > I have fixed it. given > + uint64_t lr_xreg[9]; > + La_aarch64_vector lr_vreg[8]; > + uint64_t lr_sp; > + uint64_t lr_lr; > + void *lr_vpcs; i'd expect an order lr_vpcs lr_lr lr_sp lr_vreg[] lr_xreg[] x29, lr on the stack.