From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70055.outbound.protection.outlook.com [40.107.7.55]) by sourceware.org (Postfix) with ESMTPS id A808F3858C2D for ; Wed, 3 Aug 2022 15:35:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A808F3858C2D 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=RHBYQY0LQy3c6tCT0uuPp9DisWgXyx0Ywp1RnlTYblgNDcuuUUQwfrYue+GfyydGSbYepcwy45PgRtsF0K9JSlB79GJX2z13ZOsGYBg/GPrKfpF3WwHb1DMB9VcTUFuG09q7f/6S1z0lW7X4LFpE5mHRImfctyJXMbXT2wGG0Wh+j46NBoIcUNiCEL00Xlj3snBgYmI6m+FgWSdEIld7Zi7pcJNGX1T2Onb2B/VBhE/CUiue8A/sPjua/gyWgUQaEVa9zuIt8IdP1Gq0rAt2S2ELChYxApztU9ngYcurD9xcv3kRXcSHznkpcEQOSxdq1hWWG0BhSF1aKvM8za0rtQ== 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=uUCKWOhXxO5IYBP77VgPyRcgJ0OaUG8JeogEgshzkUc=; b=fYPPRBapg2tfHjUOHzKYNgToWsEe6+dwMg6sz1NT/UsHdzMGz0EvcuihW9/wwLhhHqvzB2l3L1ISAhNTqg0sj9uebp/ZmXBzmvX4CROmr49tUWpYCOp0yx/V4hgAz+qBeHreZ8TDT89xy3xIrUUnFcRvODE5bh6XTGbw/tljjFcJcSws5Q6R94B6UHF0g7nivEjgaCVmP1y7Zu9wTlIcOPbtya0nQ3o+YQasIALMF0QRB8SyyT9LYlmq+ql8cTKhWfR13Fm9CiRXJ4HyVS/X8wxAFkdDwVF1Cr/N+3RZg2tAR/Qxa4FKBpZj5WRQFHTkMKBNtCMH0m8w1WWWn2M8BA== 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] 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=uUCKWOhXxO5IYBP77VgPyRcgJ0OaUG8JeogEgshzkUc=; b=N842nxK+V9+xNg7zIbmxvOA/Zw3QVlu1s43ncMi3L/S99QCYhsfsqpbmX1UHvHkUVhmA5pvwqzblxKBr6yUFloUnykBuyJphPbPSm9Skfha/6R88wivvVW3x21Rc1DatBIPxh/30tkSZl10MSo3BFU8vtBYHWGehN2NcMgPMqHk= Received: from DB6PR0202CA0012.eurprd02.prod.outlook.com (2603:10a6:4:29::22) by PA4PR08MB6126.eurprd08.prod.outlook.com (2603:10a6:102:ea::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 3 Aug 2022 15:35:44 +0000 Received: from DBAEUR03FT050.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:29:cafe::9f) by DB6PR0202CA0012.outlook.office365.com (2603:10a6:4:29::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend Transport; Wed, 3 Aug 2022 15:35:44 +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 DBAEUR03FT050.mail.protection.outlook.com (100.127.142.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12 via Frontend Transport; Wed, 3 Aug 2022 15:35:44 +0000 Received: ("Tessian outbound 73dd6a25223d:v123"); Wed, 03 Aug 2022 15:35:44 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: af47c1c0906901e7 X-CR-MTA-TID: 64aa7808 Received: from 98e54ef9098f.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 517AF6BE-31BD-4F79-942E-BB2CB044D9B9.1; Wed, 03 Aug 2022 15:35:37 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 98e54ef9098f.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 03 Aug 2022 15:35:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lN5m9yxeIOoG3TsxDTw2wRkq0fG61eEqCZYbzXeiYjOxUmnF6w7zVJMyZAt4mtkkG+7MogKG2waQRroVRR/qa6/9vx8T7UWK61+PwmaibUvDANVtYaA4uP7esH+R4RfVYABI2iTL69QppiWRY4A80FyrPNkpOYdUI9P52IcxDswCId5aiIJgwbhpWzbIhjdDvr9NSHraDQVrHZeiPc/bL+XOtYawsk24hjvGHfA3c4mtj8BdyoE7wyyvtrzgaenU5kICICsJGtTqGDcDGCP4rSjOnRnree+RCUKoKvJJXaA28m+Ga60+9BXJV/wxKd7kf5S7E1uLh+hENYzcuzZiTQ== 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=uUCKWOhXxO5IYBP77VgPyRcgJ0OaUG8JeogEgshzkUc=; b=P8dI+Yjai0qEbTOf3DTaGtqz9TFDPGtZawMC948dUJ4DDNgnWcRwMwMVeGUWtF0X+O2tafapNtDx5XKP0iW4WlUFUZdgLFDWJZ0x9UKQwtRIpiYDvcusozUXV9eQ08jRprAIin0BR6FLm36pYEgTR5aFsf5fB1JQnfFJKGOOFwTfl8OSBhj7bTwAtuwpVygBScPVOewZFumMIBGYsNFcpk78yYJjT+J8ZAD5iPugjrRszpw1Dqrbjv/Kt7OE7jDBwxEcFDSUGPsgU/ANDNa7ALlQTTw57pFyoliypfBIZNaiQTDxIUdEg8zhtXKoy44c1ize9MyahGuUudJvLpUi0w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=sourceware.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 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=uUCKWOhXxO5IYBP77VgPyRcgJ0OaUG8JeogEgshzkUc=; b=N842nxK+V9+xNg7zIbmxvOA/Zw3QVlu1s43ncMi3L/S99QCYhsfsqpbmX1UHvHkUVhmA5pvwqzblxKBr6yUFloUnykBuyJphPbPSm9Skfha/6R88wivvVW3x21Rc1DatBIPxh/30tkSZl10MSo3BFU8vtBYHWGehN2NcMgPMqHk= Received: from AS9PR0301CA0044.eurprd03.prod.outlook.com (2603:10a6:20b:469::16) by AM7PR08MB5334.eurprd08.prod.outlook.com (2603:10a6:20b:10b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12; Wed, 3 Aug 2022 15:35:35 +0000 Received: from AM5EUR03FT020.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:469:cafe::e4) by AS9PR0301CA0044.outlook.office365.com (2603:10a6:20b:469::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14 via Frontend Transport; Wed, 3 Aug 2022 15:35:35 +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 AM5EUR03FT020.mail.protection.outlook.com (10.152.16.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5482.12 via Frontend Transport; Wed, 3 Aug 2022 15:35:33 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.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.2507.9; Wed, 3 Aug 2022 15:35:32 +0000 Received: from e125768.cambridge.arm.com (10.2.78.50) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.9 via Frontend Transport; Wed, 3 Aug 2022 15:35:32 +0000 From: Victor Do Nascimento To: CC: , Victor Do Nascimento Subject: [PATCH v2 0/8] Implement assembly cortex-M PACBTI functionality Date: Wed, 3 Aug 2022 16:35:16 +0100 Message-ID: <20220803153524.20631-1-victor.donascimento@arm.com> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-Correlation-Id: 3c2ef41d-7a08-4ee1-e057-08da7565d459 X-MS-TrafficTypeDiagnostic: AM7PR08MB5334:EE_|DBAEUR03FT050:EE_|PA4PR08MB6126: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: 850W8QF5MUQiK2zAK3u6JwBu1HXUD5NA9x0yIdp8bIcrkisyFcHRE4neYf1C4ztUpnRa88FfvYIYzLI+tTGoNx+oqGB7mjlDIrgWp1SlBnpvVCMBG8as0ehSRVIPwSZhBAHk6h5rBO9/70BH4wIRfPdezDkojbqH6I2WwslSjq/HXi2JWr2stAweqNX+aDl1lhP0D80rxjaFQjfOgaPP678d8CYAEs3cm5qd833UyNTxIWcoAijs+4hQwBoUV9Xgye2hhIIjy7LurDmdFQvJnJtaw9pKOLiIzzBVrLr3nxC1+UMcpNdJF+OVcgK+YJNY4t7TOMtdItEPtk86hNu70i/nLPG1If0LmBFO4wAGVKhoe3qGmvFJhJQ4FI/dyvSdfaO3LYwPQ3E5Ow/J/W8Dq9Dm7suoLJaojpYv3xwHDlTE4c8HybwgnI2MDF0W95x0N+LhIwj1Mlm/zwJvqEipQSnABgsPotwDtwQoTo7hL1jRDlwTdvrR5eoY9ysJ4pNSI/cwlPwTFOlxtcQB+ucgcp9u7EE/07F17S3oJGLAkycv5duU/g0jKGjTTNKK2vyWtL5nCFIM75MaLvi+Iz0iC3+hlTPoVeBcjhzYE+DttCIkYzXKnaogBHU7MPL2V/3lvRZGIm4YoqIxoGgOBJCsPH0xRCzvQnSm94iEbdYdhIseLHGj6+GgxVUuCqcEhgGWi+udUN7LCDZ0+qh6rDxOyu5VO9KQqGioTO7SzIBsOxpjxPEAmbNOyfGm2xCR+1zaj9AD/uuRRQPX2vki3Sh6+RKDtro/vMlqFJAOPdhBjZpFlljiEzQhxn3LbdmrnFwUZWLM0Tx2h7fzjodlRbAzD5Kkjje4kvUuyjDU7sVxMNvVhVnEzZqKHkEqtcSAxT/m/1BBgg/znC9j1h1jNZ8Yu0/TKrooH1yhBe+ZYi0j8yM= 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:(13230016)(4636009)(136003)(396003)(39860400002)(346002)(376002)(36840700001)(46966006)(40470700004)(47076005)(426003)(336012)(186003)(1076003)(36756003)(26005)(36860700001)(2906002)(6666004)(82310400005)(2616005)(41300700001)(7696005)(478600001)(83380400001)(86362001)(19627235002)(5660300002)(316002)(82740400003)(40460700003)(54906003)(8676002)(81166007)(40480700001)(4326008)(356005)(70206006)(8936002)(70586007)(6916009)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5334 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT050.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: ba56d301-fe2f-404f-bb48-08da7565ce0e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vcGhzPWtHh2URd1XvzMUy5dOqaoMm+8K+3t21hTYb8tLRqel2+lHwf8nvZW8gdC9N/YQdCF90p6rIJmUuHzRvtdZ0S7dZQmFHk76mLIPEfBtJ/AUROphnguw4OI2Ne6T8kzr4INoV4VI8u2U7/LNVhDzzV7mVJw51Z9ATKs7cN3Gay6Iprmp9SZc/T7Zh5P5nTSRCYqvywYYsVWixq3R4sbEmIr6D06W/aWvMagI+t04c2Q1vwGCNFgQKUw/FEL0QOZJo5hxIXUQa791MxrqGEQhGUpY6mroV9GD+Fcl5cgxxHc07fadLXTnU4yonnTlTZE5w3L8LWCNCjuxzCoGe1mxVNJzKpiG8V86azIl8nsDtMZKcnUupk0XZsK0tFL2v4lmBCof56mVWlJFPemdT57nFG7s6XhaYB5Gr5hL7yPde2XnsdtBcaq0DQbBA4uFrFsQqUxcXg4vozC1MyCGj3VSF1ufkqCOZzr07BBVhFG6zwwSr/JtRoj39kGGsht8RdUuW9VO3pFBpBjc4jwdmBN5Q3Zz3SxiaPhD2UeLvqwHTTOglvlRTYuIvu/VR2p/R0+kRqTUyAzcB/ZyzNBijPoqALyYqdtSzqbXL2b8KY6Xcj8hC1bDS5aoVKMTi2XcKLqvZO5N1PKZz7/6qk+NiqebBaSO0QbB371B46KIpGkbJppNcz5MIRnXIr2qshtaVhCKWcNcJe0ocbXFgoIFdE1pOKTqCme/02nl+XUyuhV4mEctur8PR18tk5KfOS2RNaVqQS4pYLjVIHdtme1cT9U4YNb4nOJ/2cANG24Uu1Hqz555Vj4K4X2IA/4T6PuORquetidLlDY/d2CJ88nkK8anzOh6czhDaRBvNOh9+LhKgUjLr4QcS8eltBnt9pbd 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)(136003)(376002)(346002)(396003)(39860400002)(36840700001)(46966006)(40470700004)(40460700003)(41300700001)(7696005)(36756003)(6666004)(26005)(82310400005)(81166007)(316002)(82740400003)(5660300002)(19627235002)(6916009)(54906003)(478600001)(40480700001)(86362001)(2616005)(426003)(1076003)(336012)(186003)(47076005)(70206006)(70586007)(83380400001)(36860700001)(8936002)(4326008)(8676002)(2906002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 15:35:44.0528 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3c2ef41d-7a08-4ee1-e057-08da7565d459 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: DBAEUR03FT050.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6126 X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, KAM_DMARC_NONE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2022 15:35:49 -0000 This patch series modifies hand-written assembly files for Arm targets, conditionally enabling branch target identification as well as address return signature and verification based on Armv8.1-M Pointer Authentication [1] using ACLE feature test macros at compile-time [2]. The incorportaion of PACBTI functionality in function prologues/ epilogues is dictated by the arguments passed to the `-mbranch-protection' flag at the time of Newlib compilation. Regression tested on arm-none-eabi with and without MVE extension and for Newlib and Newlib-nano. [1] [2] Victor Do Nascimento (8): newlib: libc: define M-profile PACBTI-enablement macros newlib: libc: strcmp M-profile PACBTI-enablement newlib: libc: strlen M-profile PACBTI-enablement newlib: libc: memchr M-profile PACBTI-enablement newlib: libc: memcpy M-profile PACBTI-enablement newlib: libc: setjmp/longjmp M-profile PACBTI-enablement newlib: libc: aeabi_memmove M-profile PACBTI-enablement newlib: libc: aeabi_memset M-profile PACBTI-enablement .../libc/machine/arm/aeabi_memmove-thumb2.S | 54 ++++++++++++-- newlib/libc/machine/arm/aeabi_memset-thumb2.S | 47 +++++++++++- newlib/libc/machine/arm/memchr.S | 55 ++++++++++++-- newlib/libc/machine/arm/memcpy-armv7m.S | 74 +++++++++++++++++-- newlib/libc/machine/arm/pacbti.h | 64 ++++++++++++++++ newlib/libc/machine/arm/setjmp.S | 33 ++++++++- newlib/libc/machine/arm/strcmp-arm-tiny.S | 7 +- newlib/libc/machine/arm/strcmp-armv7.S | 45 ++++++++--- newlib/libc/machine/arm/strcmp-armv7m.S | 36 +++++++-- newlib/libc/machine/arm/strlen-armv7.S | 53 ++++++++++++- newlib/libc/machine/arm/strlen-thumb2-Os.S | 13 +++- 11 files changed, 435 insertions(+), 46 deletions(-) create mode 100644 newlib/libc/machine/arm/pacbti.h -- 2.36.1