From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20055.outbound.protection.outlook.com [40.107.2.55]) by sourceware.org (Postfix) with ESMTPS id 9C27E3858400 for ; Wed, 10 Nov 2021 13:55:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9C27E3858400 Received: from AS9PR06CA0132.eurprd06.prod.outlook.com (2603:10a6:20b:467::15) by AM0PR08MB4337.eurprd08.prod.outlook.com (2603:10a6:208:13d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.16; Wed, 10 Nov 2021 13:55:22 +0000 Received: from AM5EUR03FT059.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:467:cafe::b2) by AS9PR06CA0132.outlook.office365.com (2603:10a6:20b:467::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.15 via Frontend Transport; Wed, 10 Nov 2021 13:55:22 +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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT059.mail.protection.outlook.com (10.152.17.193) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14 via Frontend Transport; Wed, 10 Nov 2021 13:55:21 +0000 Received: ("Tessian outbound 6ebd41198c5d:v108"); Wed, 10 Nov 2021 13:55:21 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 1e951588330a6255 X-CR-MTA-TID: 64aa7808 Received: from 50f3dcdb414c.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id BFDF56DA-DCED-428E-9682-B92E548622C2.1; Wed, 10 Nov 2021 13:55:13 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 50f3dcdb414c.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Nov 2021 13:55:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gPZWerFSHi8UHWKUCMSrfX/hhFnTImbLvR/5izKjF/0xyOgcSe1GA6lQ1CEXYhauXAGIPV7B4QgAxyYX9utg/Ehdddk2fbM20iXacDO/vu+SD5dQBNqyhPmkvZtgz3Mc3tjNFW2BPbXU4qQrUMpECP5sTK0K5xlsYeTPI2PE4x4PSjIFfw5y6/GFFVdOWYqxOYp6U8mruzzgn4ZfuAYyRps0vSrxuPZ8VzJsWvy0MjjWAlRp6+N9LSxNHC9aU2rWNv9zXfXD98XzZQqXDR7s13kjNXb9294kWSC/AGMhmPKIR9/I8F1iWppzRCZK1+NIVPtx1HzzA7vuRpmCRbukxQ== 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=+T5OdzpOjuqd5/8IZI59wZpS1+Ctuwaajn7mdnxy1pg=; b=TkooE6R8KEIwfOUkL+1NKNnPX5EhMhscuD2mUDpwe2zIYSc7HDRVwhTH0yUIkEL1FpHJ64MBfT1s14P7xnETVm7vGulMBcUM5cp2AlBcdA036A89VyyisQZhb2pPgZmP3+ekbTjL3llM+hUL93EGKY3C7m8bvjL9Y+3rAVCtaZxVIr8DGaUGWVN6bPpDfQrHdzx2Q3F4agQFNTJheVSN9KRDQIZmVdOw1CkhgRsegXuterTVb5D3t2dsPo2VJuGZH/1m+6WjxGEbdDji2T3BSKmK0tYSp+ie1zl7k1g5ryxm+IDokaYlFyV900Cg9TfVdYlL7b/LdMERbimcw1CmoA== 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 Received: from DB7PR05CA0047.eurprd05.prod.outlook.com (2603:10a6:10:2e::24) by PR2PR08MB4715.eurprd08.prod.outlook.com (2603:10a6:101:1d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.16; Wed, 10 Nov 2021 13:55:11 +0000 Received: from DB5EUR03FT035.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:2e:cafe::b4) by DB7PR05CA0047.outlook.office365.com (2603:10a6:10:2e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.16 via Frontend Transport; Wed, 10 Nov 2021 13:55:11 +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; Received: from nebula.arm.com (40.67.248.234) by DB5EUR03FT035.mail.protection.outlook.com (10.152.20.65) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4690.19 via Frontend Transport; Wed, 10 Nov 2021 13:55:11 +0000 Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Wed, 10 Nov 2021 13:55:03 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 10 Nov 2021 13:55:02 +0000 Received: from e124257 (10.34.101.64) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14 via Frontend Transport; Wed, 10 Nov 2021 13:55:02 +0000 From: Andrea Corallo To: Tejas Belagod via Gcc-patches CC: Richard Earnshaw , Tejas Belagod Subject: Re: [Patch 1/8, Arm, AArch64, GCC] Refactor mbranch-protection option parsing and make it common to AArch32 and AArch64 backends. [Was RE: [Patch 2/7, Arm, GCC] Add option -mbranch-protection.] References: Date: Wed, 10 Nov 2021 14:55:02 +0100 In-Reply-To: (Tejas Belagod via Gcc-patches's message of "Thu, 28 Oct 2021 11:41:21 +0000") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cb75a6db-031f-4688-81c8-08d9a451bcf3 X-MS-TrafficTypeDiagnostic: PR2PR08MB4715:|AM0PR08MB4337: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: M9dzJ0SldJfWgexmtNl2qjpMrcrqjK8v7aRiU/SB0oDplsPvVfwifMTykwou5EpUaUM9aJ+qwpbrV93qZioDI0w7j/DoexKlLYx91nCZ7/F5HlWobQebGKpoEOkMeYWBV2qJ9AflNZdvSgf25X+bhDlBr02zVAjvG27Ea2QepIlxDeCYns0YD0kuHloyEGXCg3NjRAPEUMtazVTMJkbTSJKtLNYsuT/AN1FftyOBKUEn7S+eBqvB2irabpijPGGTTOoq3NSi0N6Tdp9X6oR848J60LYMCJ0Oim6d8o4lArHLaQhioHYXgWPAvpEwy3NTww2JHItfFnvjgXWvamKBT5o4GI0vZyZR27o0qteg0t+j8HDhi0r4pOfTX2qpqb4uniSQ6ijcqa56F2Smc/ZiGY0Lrb/hMRiuN7QQvujdFJNEPrq6JCfPVgPfOwQmmtKsZIdOMVkcqFBVYxbEaHV93oPzoeOdFEzjj/U0NH1WlE5AiivYESNBTchOLtJdgaPklGYa0vIcWKLjuOP2q2FPPAnFEf3bbJ3il6HkprVgk6IZhZildpG1qCUZCAzss/bFGSeNQNTIEmzDoQJmPVXdSf+Z+cBSrTx4C0i+Yveu07Ljw8ioabuPGl4ra29AvPqvevQYa4HKr+amSpGd8rJm/Hd3OeTIHwg+BhetEY1R2rmrkCrJCkiQyF1SIy2VXHMerOkj6fKWU8FST/RIf2C3fJ74DXZbsxjUyARikK8sEkg= 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:(4636009)(36840700001)(46966006)(5660300002)(26005)(186003)(356005)(336012)(70586007)(47076005)(8676002)(70206006)(8936002)(54906003)(36756003)(426003)(4326008)(508600001)(81166007)(83380400001)(6916009)(44832011)(2616005)(82310400003)(4001150100001)(2906002)(316002)(86362001)(36860700001)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4715 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 5b835c41-1920-4d78-c689-08d9a451b6e4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gxQCfbxM+KL0vO5rGcLLI8cVDgLWHgicC90wvTmEkOA8QJNYI6NPO+C0yI/bobsB325sEQyhd9ZWP5bIjytu+qm6CuKOiHXH4uNpCeaWWqdKy2efRZYI6daAEveA7S8E6Ou0pLCebPEcZOBBTBm+nMw8cB2GJH1YcaJgYEQWV3M+EqksSLhW8TKbRf6FOKD6eXKQh19xTdVw/fE05noJwwFXvqs9hLuqDfym/s7ZwC3JzszsPzoQp35zXiI8LDuKs8IL27cvD51aF4uXtURSh60rrWaJbhqoLGkRr/ny2d2d1KChY+fbUSD20DkgfsBlZIt6gHYY/UpUrQXi3Mzt8gQ/7445EMCrP/dXK0iu3q43nY0VAuT3ayn2C3OvB4Ye4/eYLeoQGdu6ad3a7W3qjczD9oKbs6pTiMm7jH3KmryXsvICosZdY+++OaOMO6vu/nddw2g5Esy0EMriuEKbovaP69PnNtY1IE20TNHaAL0+5O3inZjYLa1hGsmag7tNQCBcHOsccyq7rSZgBVp0kqh6nUFIh+qgIAM/mH1NCGT2Fe33i5kKjo6x35QZZawHygXgALs7TQBHCHdzf9rRwse3IFbB7ysoVxhaBRn1+XBBhlX09S8fe9bbnY6rwQTWnHjGqRyqVSEFcNe2XZXyIycM1x8kTnZWcDA469SiJBfSTx6dpW1RbxGJBsb/7jUmLqRgzEAN+SDRe6bHROS4cw== 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)(36840700001)(46966006)(86362001)(82310400003)(83380400001)(336012)(8676002)(186003)(26005)(44832011)(6916009)(4001150100001)(36756003)(4326008)(81166007)(2616005)(426003)(5660300002)(8936002)(2906002)(70206006)(508600001)(70586007)(36860700001)(54906003)(47076005)(316002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2021 13:55:21.8497 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cb75a6db-031f-4688-81c8-08d9a451bcf3 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: AM5EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4337 X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Nov 2021 13:55:27 -0000 Tejas Belagod via Gcc-patches writes: [...] > This change refactors all the mbranch-protection option parsing code and types > to make it common to both AArch32 and AArch64 backends. This change also pulls > in some supporting types from AArch64 to make it common > (aarch_parse_opt_result). The significant changes in this patch are the > movement of all branch protection parsing routines from aarch64.c to > aarch-common.c and supporting data types and static data structures. This > patch also pre-declares variables and types required in the aarch32 back for > moved variables for function sign scope and key to prepare for the impending > series of patches that support parsing the feature mbranch-protection in the > aarch32 back end. > > 2021-10-25 Tejas Belagod > > gcc/ChangeLog: > > * common/config/aarch64/aarch64-common.c: Include aarch-common.h. > (all_architectures): Fix comment. > (aarch64_parse_extension): Rename return type, enum value names. > * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Rename > factored out aarch_ra_sign_scope and aarch_ra_sign_key variables. > Also rename corresponding enum values. > * config/aarch64/aarch64-opts.h (aarch64_function_type): Factor out > aarch64_function_type and move it to common code as aarch_function_type > in aarch-common.h. > * config/aarch64/aarch64-protos.h: Include common types header, move out > types aarch64_parse_opt_result and aarch64_key_type to aarch-common.h > * config/aarch64/aarch64.c: Move mbranch-protection parsing types and > functions out into aarch-common.h and aarch-common.c. Fix up all the name > changes resulting from the move. > * config/aarch64/aarch64.md: Fix up aarch64_ra_sign_key type name change > and enum value. > * config/aarch64/aarch64.opt: Include aarch-common.h to import type move. > Fix up name changes from factoring out common code and data. > * config/arm/aarch-common-protos.h: Export factored out routines to both > backends. > * config/arm/aarch-common.c: Include newly factored out types. Move all > mbranch-protection code and data structures from aarch64.c. > * config/arm/aarch-common.h: New header that declares types shared between > aarch32 and aarch64 backends. > * config/arm/arm-protos.h: Declare types and variables that are made common > to aarch64 and aarch32 backends - aarch_ra_sign_key, aarch_ra_sign_scope and > aarch_enable_bti. > > > Tested the following configurations. OK for trunk? > > -mthumb/-march=armv8.1-m.main+pacbti/-mfloat-abi=soft > -marm/-march=armv7-a/-mfpu=vfpv3-d16/-mfloat-abi=softfp > mcmodel=small and tiny > aarch64-none-linux-gnu native test and bootstrap > > Thanks, > Tejas. Hi Tejas, going through the code I've spotted a couple of indentation nits that I guess are coming from the original source that was moved. > diff --git a/gcc/config/arm/aarch-common.c b/gcc/config/arm/aarch-common.c [...] > + /* Copy the last processed token into the argument to pass it back. > + Used by option and attribute validation to print the offending token. */ > + if (last_str) > + { > + if (str) strcpy (*last_str, str); > + else *last_str = NULL; I think we should have new lines after both if and else here. > + } > + if (res == AARCH_PARSE_OK) > + { > + /* If needed, alloc the accepted string then copy in const_str. > + Used by override_option_after_change_1. */ > + if (!accepted_branch_protection_string) > + accepted_branch_protection_string = (char *) xmalloc ( > + BRANCH_PROTECT_STR_MAX > + + 1); ^^ Indentation > + strncpy (accepted_branch_protection_string, const_str, > + BRANCH_PROTECT_STR_MAX + 1); ^^ Same > + /* Forcibly null-terminate. */ > + accepted_branch_protection_string[BRANCH_PROTECT_STR_MAX] = '\0'; > + } > + return res; > +} Thanks Andrea