Message ID | 20240806140744.1082602-5-matthieu.longo@arm.com |
---|---|
State | New |
Headers |
Return-Path: <gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EE2A73857011 for <patchwork@sourceware.org>; Tue, 6 Aug 2024 14:10:35 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2060e.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::60e]) by sourceware.org (Postfix) with ESMTPS id 31D4C385C6CE for <gcc-patches@gcc.gnu.org>; Tue, 6 Aug 2024 14:09:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 31D4C385C6CE 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 31D4C385C6CE Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f400:7e1a::60e ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1722953349; cv=pass; b=xvPSUYdB5u+bK/EG4AzXHNhyd7FC1IZAwrbo/+3ALAniPwrG8CaFI7nvz26GcXT5HE7kZrKziSWuMsl/J+Z9QWMjX4itIZ7iZfY80EpAP38lSseciZ2xY180IDnQr4la8qCNsenhc91kKZHx2PwzwVqna93atQP+8i3dztRQrBg= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1722953349; c=relaxed/simple; bh=uMG55Iprwnd1AUNXkD2yFLgHSr00TtsLQfDu4DLFXYA=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=IJO+qE/eXzxsOSiUuJEmTafrbvuzZXl4HIi8gplC+akm3oQsf+dtocGbSMHTAXPxCusNJBe+8Dbx1nCP1fRCxOtNlFvPQRx8nzaihVmQ9EcSDKqhh5zssz++hzTFgyg8j39NctX7V8U+B7ZJAJlDz3OGZuwGo6zwmdWqzaiKz2c= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=Tcu2IyG/XcVXBQWOMLW0vuD4r808JxOin8HmVxmxPwSJLmFnoV6cTvMHlrliqutJzzHCHWYRZ45rleUPUekk97uq3e8Ptyerfq9ZWzmJF/1uYtvi827U+zbB3C/qigjg6fzNqIAk+f/A45O695MO8/dL1eCaR0u2CP80I+icuXSJlWNf1GeKB7ns8cxfjTZUHN9VSWJqnEVJMwyPpZPS6w8VQXcVhdfxW1B6nDT1kEGwJxr7SGUVb8cD5vsWJ5XbFEklBUCfWAb21tQQ2hdH8IunXagtF4MLSzLPkQCFaz2s4z5JVnPlmNaxuN52uDFqp+5TzpRMW3IHCzYsAsSylg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=+r72ARNGmavgM00lXcJ0RdSljq3LoYTQDE+/bBXi56s=; b=gWh5JVxvnsPhDyWSaidero1IVvUuSZnXpZqaCJUKhnVnNi5hvleIPULR26B5OtauQzWirX+4JlsQX4QYom4dgt8QoGj8G34WNhJA/MeXxFB6K776ifrlbXV2R6/i0LfnSAuEQqboZZFf/YwK4UDcGCC07DhKfoe/u2Jk2P04cEty+e+Uo9kbK6+BOzg3UuMROb8Plks2auYOrjwHfpANOGPSVsvtfriJZI4wIsqRwJEhQw70tpI3NZxbznvLZ7M3hHUN7VDMjFzLCIfx5hqeT+rwakeBP6DC4lITvwwTfg+YmTf5MKxpkgUbiPOE2WLYPPqS8l3dAAsUxrplY5MalA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.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=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+r72ARNGmavgM00lXcJ0RdSljq3LoYTQDE+/bBXi56s=; b=eF9yddMbWeHpdoM0GRHpeUAM83WBk7whaocnXAOg2Xc7Vdkq0YF1YmNGB/J2lwBMmqGDXIlxpDZgpF0KjNY7sD8vsCfEWA/eTuCiuW/eKCdXKViaNU+Z1DalSYgRl1Sznd2OBtpd408AKTok25PV9whS+G494yolxWbtCUd+cGo= Received: from DUZP191CA0013.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4f9::10) by PAWPR08MB10058.eurprd08.prod.outlook.com (2603:10a6:102:35f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.25; Tue, 6 Aug 2024 14:09:04 +0000 Received: from DB1PEPF0003922D.eurprd03.prod.outlook.com (2603:10a6:10:4f9:cafe::a8) by DUZP191CA0013.outlook.office365.com (2603:10a6:10:4f9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.27 via Frontend Transport; Tue, 6 Aug 2024 14:09:04 +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=arm.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 DB1PEPF0003922D.mail.protection.outlook.com (10.167.8.100) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7849.8 via Frontend Transport; Tue, 6 Aug 2024 14:09:04 +0000 Received: ("Tessian outbound f62a19c28806:v365"); Tue, 06 Aug 2024 14:09:04 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 1463412bc24e69c7 X-CR-MTA-TID: 64aa7808 Received: from L426b9e60dfbc.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 4FC34F27-ED02-4D3F-9C16-C32917C76F9D.1; Tue, 06 Aug 2024 14:08:53 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id L426b9e60dfbc.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 06 Aug 2024 14:08:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HJL46AFk2zj4XXWluO1nIYOk0SynTnijvdNZM3BM71d7bzcYicE1jRsROP3WblleO3iK5SXL93TfCBMrdOviDhfh0QIq3oU5DaQsXA888ivW3Hc3v9FpQAHim4P0sMH+rr3ssNQ5GIF6YP/MYNaJxs9+WdSM59J6O3szwT2qLcCi+xr5b9/pkTv2yyDmvxYj0a/BEt9yqZfoaHAp2M+/SgkMBLmMAavGDsjt8mEEC/v+D/YaF0rEDVzJFwSaXDo5kDcLcQ+U3nO91vcJTnLSJETwnclIFcv7wFN5hQDzeulryMChJOhuJiQK7okxVqijoZFUSOgnXwiM96Nv5nIkLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=+r72ARNGmavgM00lXcJ0RdSljq3LoYTQDE+/bBXi56s=; b=QWt18h59AoBLCYgFRs1FS3JdX06TGc7+VD66gufGqL1IsvE3MkheTihAJ2uMHUMZOEd2j9CYq4mx4D6WpU5I0oIPcNymGBP0kHH454ry7FSxxkmhclqhTraRz/Ijsvt5vAtXRG9nnAHiQqKPCUyBBKKpsbJ/cwlJuNVk2f6KUPIz3U2VpGClaML/Ltp0wHDugEEeQwG7fVbWPyS4qb3AhpCQBI5HyOSQ4Z4n99KJUyrlMGnx4Chuw50szUYe2NJiiOIbb9NARz/TRR1PX+LsW19hFlM/tguDyKQzypqMq4wBPECV7USHbjL5PI3vzdgH2CBS0vCNk2TMPwP8TE/06g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+r72ARNGmavgM00lXcJ0RdSljq3LoYTQDE+/bBXi56s=; b=eF9yddMbWeHpdoM0GRHpeUAM83WBk7whaocnXAOg2Xc7Vdkq0YF1YmNGB/J2lwBMmqGDXIlxpDZgpF0KjNY7sD8vsCfEWA/eTuCiuW/eKCdXKViaNU+Z1DalSYgRl1Sznd2OBtpd408AKTok25PV9whS+G494yolxWbtCUd+cGo= Received: from AM8P251CA0007.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:21b::12) by AS2PR08MB9476.eurprd08.prod.outlook.com (2603:10a6:20b:60f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.27; Tue, 6 Aug 2024 14:08:51 +0000 Received: from AM3PEPF0000A792.eurprd04.prod.outlook.com (2603:10a6:20b:21b:cafe::1d) by AM8P251CA0007.outlook.office365.com (2603:10a6:20b:21b::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.27 via Frontend Transport; Tue, 6 Aug 2024 14:08:51 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AM3PEPF0000A792.mail.protection.outlook.com (10.167.16.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7849.8 via Frontend Transport; Tue, 6 Aug 2024 14:08:50 +0000 Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 6 Aug 2024 14:08:45 +0000 Received: from PW070M4K.cambridge.arm.com (10.57.67.155) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Tue, 6 Aug 2024 14:08:45 +0000 From: Matthieu Longo <matthieu.longo@arm.com> To: <gcc-patches@gcc.gnu.org> CC: Richard Earnshaw <richard.earnshaw@arm.com>, Richard Sandiford <richard.sandiford@arm.com>, "David S . Miller" <davem@redhat.com>, "Eric Botcazou" <ebotcazou@libertysurf.fr>, Jason Merrill <jason@redhat.com>, "Cary Coutant" <ccoutant@gmail.com>, Matthieu Longo <matthieu.longo@arm.com> Subject: [PATCH v1 4/4] dwarf2: store the RA state in CFI row Date: Tue, 6 Aug 2024 15:07:44 +0100 Message-ID: <20240806140744.1082602-5-matthieu.longo@arm.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240806140744.1082602-1-matthieu.longo@arm.com> References: <20240806140744.1082602-1-matthieu.longo@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM3PEPF0000A792:EE_|AS2PR08MB9476:EE_|DB1PEPF0003922D:EE_|PAWPR08MB10058:EE_ X-MS-Office365-Filtering-Correlation-Id: 11e23518-708e-43c1-95e2-08dcb6215477 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|82310400026|36860700013|1800799024|41080700001; X-Microsoft-Antispam-Message-Info-Original: tOztsgte+a/eYvH/aPYvrHGTm08lCLz/5daka0/Q4vwyJdhxdrP0asXKF8j82VoB2Vok2kfM6jfddjlePbtkZAGQStb3hUm5BUduVAa4TsW2xaI9OD0RZd3ePcNysmNPBVO83cbqRYDyMb68TnK7DlWg5DzdEoEKoqVBv95qZtp8r/roZwUJbb5nFDtW1+LAGRN1nsd2i/jgpGuL4tBT2MXTqNqLScTKPdO82bv9r0ZU8LPZfsS8EACGwuxvlJPNryhAuWd3exi1uAV/BLmvESQXHZhPnhniQ1czAZ62vzQlJJwbD+0bSOkPe078lgkK+XW6QsfSPp4f1ET4fHSg22lduRBsziekzzyikzAoln4+YYlRfxnA8phTGtORZSOlmfUnF2SgYUCBVJJXoUpc1v3TvfdJUlrYR1HxavJB2BrQEV2FpMLP7WCktacal87SaIE8bSq61+1mYWRG+CTjALjpOHLad9jOGIX+ObBQmX3VSt/j1cplAOIVL1TtNJJ6nBy2Oa/oCuplvKaR1YSd9a/5sW+fFOkZn3F9m0rSpKjiEcsmZOJO6T/DB8xKOTwBxZy262sc+DS8Buk/Ds8MeqAVTSt1u2x2sGsPwu2W05kDpPjSA+0vzEPfHI35T0gHwOKuf178w0lcgXOfYQ/2ez0Qkv8jlbE2SLS2XxmQcHeYDOOePPKdA6M6fUavh1IAqa3bGVGjwmczXno4AnNBu2rn92PkYL1UIt2tJdjLbqEeIVGFR7jeLXkwVqcU/1IlplSycLWkO5ep13G5V/YFYs6chOYOsNBplyRRVxHpCiDn4vbd2VgzuWzRu7wjtKIvAZRi3ZKLYBOdyZx5KkmkltC6g9mm8X9y9jq9rt46cE/uikkIbo1zTMxYEgtp6dOLozf5kjUsOw+NrJMEGQhyjwKDE/IDVKllG+rom+PTvcttgAQGxgsLE/tXXq0tHs564sWzCfFMW6Qkh7WtwuACpN9VqsTr7JSi8XiOXlPsGUQZ403rJZpAPCHQ81OcLHqAoI4/fCvVqokuPlalchE95Qh927bhAjKLNzJHXP5Skq7SZ09PDFFvcPNR435/FF741N5ciKeWW4eMsNH/Pka05ujaojpkyF/htWSO9Z5o6u69i/d9ECZTY/XoNDDQzS920nSD6kYchCYTszsokVJNEDvFZLnvCr2kJyIMyOKDj1U1seK1M+RQgm77DeZiWI3T4Blt0E2P2iVKybbWA1S4oxV68x19c3F/uXn6hk7dgupX5BMuH+NVFhQiBinfBrCzVAQGsGxWuorkmSOySORDO3TPbON9YCUk4gYFbDGFZ/gTzZniXZd6rCIvfVtxOcXf8aIcpJ+cisXGk3biKnICaGyMarvszBQ5COvGWniWil8ejNAwuIZB1yDP5Iv5bwraRUiYNKyRYwsFwqMx0IaqBpayLYStiH3AdbOcjDo2Mc4V3QZjxuZ0+oGLmzu6AmOeo6YbH9A3jEpZVrc5Rv6bpw== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024)(41080700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9476 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:20b:21b::12]; domain=AM8P251CA0007.EURP251.PROD.OUTLOOK.COM X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF0003922D.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 5dbb727d-25d8-42d7-c0bf-08dcb6214c4f X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|82310400026|35042699022|36860700013; X-Microsoft-Antispam-Message-Info: C8FQ/jBX2/SMMoCHjmAtwlB1SZJX95F7eKDXGRgl8yI1TIEjHfM2dVxmj0coyMpjB+G1lDi4qHI7BcuqfrWER3Lauen+Bq9MIqB7xgm1RMBOD+P5/4w/STMmN/1mgrJxt9sJBd3NejejHbgV/awrilbUjORX3xYpm7TNxTxTbX/o6wdJk9328RDcmOuar0lWUSDUGv+ZxFyl41fW4Iy7bhGkVvHahPERMII+QdYkVn5kMuXKNM7kvaC2vauceoX+GAEXPm7+Pa80d2WuaC1Nx5g8vwXB3p3i5ThVFoGud57vLgmmaV3Wbq6DpRio3ACIVunlFvaFp/Tf1RRJCu1N69DrnTFjei414Z3yZqbP2IWEdBX5ch8K3ZEpXlYerOBsePpWX3glg0Cfkr3zItkkbJvcxYPVA+TT07tN7s4wkeBwnQ6p3IcU4iEH8lwVelMReEnEM3Wlfqv19oYimQ3V+r0VUn8APfgn1OBLjOIAewNcYbFqkxLL/ku8b6lkOT5j+8WKEXDzEb38gedQ7qQ5jzj1VNW+cbCy9NNgSmLsi6a80VH00G7TERk0GICySWUswUPK9HW6W/1NmNvCWjEFcJsMm1/JANW/R86uK7MFa+92itvowX8auSLD62Js/kflEPw8zkF0KYhFwIM/Xf7lwvops4FzyLolF5pVOI0S/QdhHLjTEL70OUs8WjrCpfhsQwnV9ncE0rXkzgqB6jjd1UhOU94TQj1ZUXF/ogZYYuYGBfBZp6AtswnzbreYbMYwjywMDyEVSs+A36urZxmcCo546YQWHW2WNlEHTPPH6vrAoXgnRlx8dWeaEUPCq0qc9cCRvLmuWs6pW2ESgvFc+wTZmXFwmgSN4cnV9XdVUJGxHozQh11p7Pf5Z88ORdDL4vmBXGwL3axdioXBjA2W0Y3/F7Zd9iZ3pZNCk2o0MKHzL4g2hRNE+wmGiyP4b4hwX9f+OYio0dRpB9TtOJFQkf52t9AmAun9qd0R5bsHpNQgPMUa873E2UzXkigaNeHaQhWuUayH9OU6WjFsJEzbz0ne8mXoDJfMGscfnOO/YT/M4fXvC+iWbpL56xVA4zffMgAxFv07hXpf3r9ek8HAWRlwZlhF0rw2ulYHzuPdCUmj5B3726odvcfF1dlcpBK4yLZjPUWhaZdbFDhvCmKS3slMtYAeiuWojBry5yfKlf2o2yq8lpG7KUOLyZuGJWM1Ja9h6534Z7OCABIgdCeoUDxbyTl47x5iXYLauBe4qTMrEX7iUx40FCJ1gzAmtnMBzuitgvlwoshFF5ybZUe1gRe/gzubfLRXL4y1VyV6ZDWczxbRtRWG/pDkJgWEG5F5M9JIi/EWaCC8E+/lSt1NfKXFq2G3sHwqTNkIoAJwOlhUGWY7xLTluJ+AZ0PF37yRXzvTkUmTAP/+4WlfUl1eeZeKouo20Cuj/QBwrRzu8aB6uC31sNOdy7USAf0+khTw 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:(13230040)(376014)(1800799024)(82310400026)(35042699022)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Aug 2024 14:09:04.7067 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 11e23518-708e-43c1-95e2-08dcb6215477 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: DB1PEPF0003922D.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10058 X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org |
Series | dwarf2: add hooks for architecture-specific CFIs | |
Checks
Context | Check | Description |
---|---|---|
linaro-tcwg-bot/tcwg_gcc_build--master-arm | fail | Build failed |
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 | success | Build passed |
linaro-tcwg-bot/tcwg_gcc_check--master-aarch64 | success | Test passed |
Commit Message
Matthieu Longo
Aug. 6, 2024, 2:07 p.m. UTC
On AArch64, the RA state informs the unwinder whether the return address is mangled and how, or not. This information is encoded in a boolean in the CFI row. This binary approach prevents from expressing more complex configuration, as it is the case with PAuth_LR introduced in Armv9.5-A. This patch addresses this limitation by replacing the boolean by an enum. gcc/ChangeLog: * dwarf2cfi.cc (struct dw_cfi_row): Declare a new enum type to replace ra_mangled. (cfi_row_equal_p): Use ra_state instead of ra_mangled. (dwarf2out_frame_debug_cfa_negate_ra_state): Same. (change_cfi_row): Same. --- gcc/dwarf2cfi.cc | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-)
Comments
On Tue, Aug 06, 2024 at 03:07:44PM +0100, Matthieu Longo wrote: > On AArch64, the RA state informs the unwinder whether the return address > is mangled and how, or not. This information is encoded in a boolean in > the CFI row. This binary approach prevents from expressing more complex > configuration, as it is the case with PAuth_LR introduced in Armv9.5-A. > > This patch addresses this limitation by replacing the boolean by an enum. Formatting nits. > > gcc/ChangeLog: > > * dwarf2cfi.cc > (struct dw_cfi_row): Declare a new enum type to replace ra_mangled. > (cfi_row_equal_p): Use ra_state instead of ra_mangled. > (dwarf2out_frame_debug_cfa_negate_ra_state): Same. > (change_cfi_row): Same. > --- > gcc/dwarf2cfi.cc | 24 ++++++++++++++++++------ > 1 file changed, 18 insertions(+), 6 deletions(-) > > diff --git a/gcc/dwarf2cfi.cc b/gcc/dwarf2cfi.cc > index 6c80e0b17bd..023f61fb712 100644 > --- a/gcc/dwarf2cfi.cc > +++ b/gcc/dwarf2cfi.cc > @@ -57,6 +57,15 @@ along with GCC; see the file COPYING3. If not see > #define DEFAULT_INCOMING_FRAME_SP_OFFSET INCOMING_FRAME_SP_OFFSET > #endif > > + > +/* Signing method used for return address authentication. > + (AArch64 extension)*/ Dot and two spaces missing before */ > +typedef enum > +{ > + RA_no_signing = 0x0, > + RA_signing_SP = 0x1, > +} RA_signing_method_t; I think it should be ra_* and *_sp > @@ -1556,8 +1565,11 @@ dwarf2out_frame_debug_cfa_negate_ra_state (void) > { > dw_cfi_ref cfi = new_cfi (); > cfi->dw_cfi_opc = DW_CFA_AARCH64_negate_ra_state; > + cur_row->ra_state = > + (cur_row->ra_state == RA_no_signing) > + ? RA_signing_SP > + : RA_no_signing; This is wrongly formatted. = shouldn't be at the end of line. Better cur_row->ra_state = (cur_row->ra_state == ra_no_signing ? ra_signing_sp : ra_no_signing); Jakub
Matthieu Longo <matthieu.longo@arm.com> writes: > On AArch64, the RA state informs the unwinder whether the return address > is mangled and how, or not. This information is encoded in a boolean in > the CFI row. This binary approach prevents from expressing more complex > configuration, as it is the case with PAuth_LR introduced in Armv9.5-A. > > This patch addresses this limitation by replacing the boolean by an enum. > > gcc/ChangeLog: > > * dwarf2cfi.cc > (struct dw_cfi_row): Declare a new enum type to replace ra_mangled. > (cfi_row_equal_p): Use ra_state instead of ra_mangled. > (dwarf2out_frame_debug_cfa_negate_ra_state): Same. > (change_cfi_row): Same. OK with the changes that Jakub pointed out. Thanks, Richard > --- > gcc/dwarf2cfi.cc | 24 ++++++++++++++++++------ > 1 file changed, 18 insertions(+), 6 deletions(-) > > diff --git a/gcc/dwarf2cfi.cc b/gcc/dwarf2cfi.cc > index 6c80e0b17bd..023f61fb712 100644 > --- a/gcc/dwarf2cfi.cc > +++ b/gcc/dwarf2cfi.cc > @@ -57,6 +57,15 @@ along with GCC; see the file COPYING3. If not see > #define DEFAULT_INCOMING_FRAME_SP_OFFSET INCOMING_FRAME_SP_OFFSET > #endif > > + > +/* Signing method used for return address authentication. > + (AArch64 extension)*/ > +typedef enum > +{ > + RA_no_signing = 0x0, > + RA_signing_SP = 0x1, > +} RA_signing_method_t; > + > /* A collected description of an entire row of the abstract CFI table. */ > struct GTY(()) dw_cfi_row > { > @@ -74,8 +83,8 @@ struct GTY(()) dw_cfi_row > bool window_save; > > /* Aarch64 extension for DW_CFA_AARCH64_negate_ra_state. > - True if the return address is in a mangled state. */ > - bool ra_mangled; > + Enum which stores the return address state. */ > + RA_signing_method_t ra_state; > }; > > /* The caller's ORIG_REG is saved in SAVED_IN_REG. */ > @@ -859,7 +868,7 @@ cfi_row_equal_p (dw_cfi_row *a, dw_cfi_row *b) > if (a->window_save != b->window_save) > return false; > > - if (a->ra_mangled != b->ra_mangled) > + if (a->ra_state != b->ra_state) > return false; > > return true; > @@ -1556,8 +1565,11 @@ dwarf2out_frame_debug_cfa_negate_ra_state (void) > { > dw_cfi_ref cfi = new_cfi (); > cfi->dw_cfi_opc = DW_CFA_AARCH64_negate_ra_state; > + cur_row->ra_state = > + (cur_row->ra_state == RA_no_signing) > + ? RA_signing_SP > + : RA_no_signing; > add_cfi (cfi); > - cur_row->ra_mangled = !cur_row->ra_mangled; > } > > /* Record call frame debugging information for an expression EXPR, > @@ -2414,12 +2426,12 @@ change_cfi_row (dw_cfi_row *old_row, dw_cfi_row *new_row) > { > dw_cfi_ref cfi = new_cfi (); > > - gcc_assert (!old_row->ra_mangled && !new_row->ra_mangled); > + gcc_assert (!old_row->ra_state && !new_row->ra_state); > cfi->dw_cfi_opc = DW_CFA_GNU_window_save; > add_cfi (cfi); > } > > - if (old_row->ra_mangled != new_row->ra_mangled) > + if (old_row->ra_state != new_row->ra_state) > { > dw_cfi_ref cfi = new_cfi ();
On 2024-08-06 15:28, Jakub Jelinek wrote: > On Tue, Aug 06, 2024 at 03:07:44PM +0100, Matthieu Longo wrote: >> On AArch64, the RA state informs the unwinder whether the return address >> is mangled and how, or not. This information is encoded in a boolean in >> the CFI row. This binary approach prevents from expressing more complex >> configuration, as it is the case with PAuth_LR introduced in Armv9.5-A. >> >> This patch addresses this limitation by replacing the boolean by an enum. > > Formatting nits. >> >> gcc/ChangeLog: >> >> * dwarf2cfi.cc >> (struct dw_cfi_row): Declare a new enum type to replace ra_mangled. >> (cfi_row_equal_p): Use ra_state instead of ra_mangled. >> (dwarf2out_frame_debug_cfa_negate_ra_state): Same. >> (change_cfi_row): Same. >> --- >> gcc/dwarf2cfi.cc | 24 ++++++++++++++++++------ >> 1 file changed, 18 insertions(+), 6 deletions(-) >> >> diff --git a/gcc/dwarf2cfi.cc b/gcc/dwarf2cfi.cc >> index 6c80e0b17bd..023f61fb712 100644 >> --- a/gcc/dwarf2cfi.cc >> +++ b/gcc/dwarf2cfi.cc >> @@ -57,6 +57,15 @@ along with GCC; see the file COPYING3. If not see >> #define DEFAULT_INCOMING_FRAME_SP_OFFSET INCOMING_FRAME_SP_OFFSET >> #endif >> >> + >> +/* Signing method used for return address authentication. >> + (AArch64 extension)*/ > > Dot and two spaces missing before */ > >> +typedef enum >> +{ >> + RA_no_signing = 0x0, >> + RA_signing_SP = 0x1, >> +} RA_signing_method_t; > > I think it should be ra_* and *_sp >> @@ -1556,8 +1565,11 @@ dwarf2out_frame_debug_cfa_negate_ra_state (void) >> { >> dw_cfi_ref cfi = new_cfi (); >> cfi->dw_cfi_opc = DW_CFA_AARCH64_negate_ra_state; >> + cur_row->ra_state = >> + (cur_row->ra_state == RA_no_signing) >> + ? RA_signing_SP >> + : RA_no_signing; > > This is wrongly formatted. = shouldn't be at the end of line. > Better > cur_row->ra_state > = (cur_row->ra_state == ra_no_signing > ? ra_signing_sp : ra_no_signing); > > Jakub > The comments are addressed in the next revision. Thanks, Matthieu.
diff --git a/gcc/dwarf2cfi.cc b/gcc/dwarf2cfi.cc index 6c80e0b17bd..023f61fb712 100644 --- a/gcc/dwarf2cfi.cc +++ b/gcc/dwarf2cfi.cc @@ -57,6 +57,15 @@ along with GCC; see the file COPYING3. If not see #define DEFAULT_INCOMING_FRAME_SP_OFFSET INCOMING_FRAME_SP_OFFSET #endif + +/* Signing method used for return address authentication. + (AArch64 extension)*/ +typedef enum +{ + RA_no_signing = 0x0, + RA_signing_SP = 0x1, +} RA_signing_method_t; + /* A collected description of an entire row of the abstract CFI table. */ struct GTY(()) dw_cfi_row { @@ -74,8 +83,8 @@ struct GTY(()) dw_cfi_row bool window_save; /* Aarch64 extension for DW_CFA_AARCH64_negate_ra_state. - True if the return address is in a mangled state. */ - bool ra_mangled; + Enum which stores the return address state. */ + RA_signing_method_t ra_state; }; /* The caller's ORIG_REG is saved in SAVED_IN_REG. */ @@ -859,7 +868,7 @@ cfi_row_equal_p (dw_cfi_row *a, dw_cfi_row *b) if (a->window_save != b->window_save) return false; - if (a->ra_mangled != b->ra_mangled) + if (a->ra_state != b->ra_state) return false; return true; @@ -1556,8 +1565,11 @@ dwarf2out_frame_debug_cfa_negate_ra_state (void) { dw_cfi_ref cfi = new_cfi (); cfi->dw_cfi_opc = DW_CFA_AARCH64_negate_ra_state; + cur_row->ra_state = + (cur_row->ra_state == RA_no_signing) + ? RA_signing_SP + : RA_no_signing; add_cfi (cfi); - cur_row->ra_mangled = !cur_row->ra_mangled; } /* Record call frame debugging information for an expression EXPR, @@ -2414,12 +2426,12 @@ change_cfi_row (dw_cfi_row *old_row, dw_cfi_row *new_row) { dw_cfi_ref cfi = new_cfi (); - gcc_assert (!old_row->ra_mangled && !new_row->ra_mangled); + gcc_assert (!old_row->ra_state && !new_row->ra_state); cfi->dw_cfi_opc = DW_CFA_GNU_window_save; add_cfi (cfi); } - if (old_row->ra_mangled != new_row->ra_mangled) + if (old_row->ra_state != new_row->ra_state) { dw_cfi_ref cfi = new_cfi ();