get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.1/patches/2220857/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2220857,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2220857/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260408091202.13538-3-muhammad.kamran@arm.com/",
    "project": {
        "id": 17,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/17/?format=api",
        "name": "GNU Compiler Collection",
        "link_name": "gcc",
        "list_id": "gcc-patches.gcc.gnu.org",
        "list_email": "gcc-patches@gcc.gnu.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null
    },
    "msgid": "<20260408091202.13538-3-muhammad.kamran@arm.com>",
    "date": "2026-04-08T09:12:02",
    "name": "[2/2] aarch64/testsuite: add LTO coverage for branch-protection notes and attributes",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "8a3200cd72e76a8da15fdad0c105786f562aab6b",
    "submitter": {
        "id": 92852,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/92852/?format=api",
        "name": "Muhammad Kamran",
        "email": "muhammad.kamran@arm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260408091202.13538-3-muhammad.kamran@arm.com/mbox/",
    "series": [
        {
            "id": 499105,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/499105/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=499105",
            "date": "2026-04-08T09:12:00",
            "name": "aarch64/testsuite: improve object-readelf and add LTO branch-protection tests",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/499105/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2220857/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2220857/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "gcc-patches@gcc.gnu.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@legolas.ozlabs.org",
            "gcc-patches@gcc.gnu.org"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256\n header.s=selector1 header.b=jGoOe6Tr;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=jGoOe6Tr;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)",
            "sourceware.org;\n\tdkim=pass (1024-bit key,\n unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256\n header.s=selector1 header.b=jGoOe6Tr;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=jGoOe6Tr",
            "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=arm.com",
            "sourceware.org; spf=pass smtp.mailfrom=arm.com",
            "server2.sourceware.org;\n arc=pass smtp.remote-ip=52.101.69.8"
        ],
        "Received": [
            "from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4frHST1sqQz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 08 Apr 2026 19:14:17 +1000 (AEST)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 41CA54BA2E28\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  8 Apr 2026 09:14:15 +0000 (GMT)",
            "from AM0PR83CU005.outbound.protection.outlook.com\n (mail-westeuropeazon11010008.outbound.protection.outlook.com [52.101.69.8])\n by sourceware.org (Postfix) with ESMTPS id D979B4BA2E31\n for <gcc-patches@gcc.gnu.org>; Wed,  8 Apr 2026 09:13:42 +0000 (GMT)",
            "from DUZPR01CA0146.eurprd01.prod.exchangelabs.com\n (2603:10a6:10:4bd::9) by DU0PR08MB8729.eurprd08.prod.outlook.com\n (2603:10a6:10:403::17) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17; Wed, 8 Apr\n 2026 09:13:33 +0000",
            "from DU2PEPF00028D10.eurprd03.prod.outlook.com\n (2603:10a6:10:4bd:cafe::10) by DUZPR01CA0146.outlook.office365.com\n (2603:10a6:10:4bd::9) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.35 via Frontend Transport; Wed,\n 8 Apr 2026 09:13:33 +0000",
            "from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by\n DU2PEPF00028D10.mail.protection.outlook.com (10.167.242.24) with Microsoft\n SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9745.21\n via Frontend Transport; Wed, 8 Apr 2026 09:13:32 +0000",
            "from DUZPR01CA0139.eurprd01.prod.exchangelabs.com\n (2603:10a6:10:4bd::14) by DU0PR08MB8932.eurprd08.prod.outlook.com\n (2603:10a6:10:467::21) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17; Wed, 8 Apr\n 2026 09:12:27 +0000",
            "from DU2PEPF00028D10.eurprd03.prod.outlook.com\n (2603:10a6:10:4bd:cafe::98) by DUZPR01CA0139.outlook.office365.com\n (2603:10a6:10:4bd::14) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.35 via Frontend Transport; Wed,\n 8 Apr 2026 09:12:27 +0000",
            "from nebula.arm.com (172.205.89.229) by\n DU2PEPF00028D10.mail.protection.outlook.com (10.167.242.24) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9745.21 via Frontend Transport; Wed, 8 Apr 2026 09:12:26 +0000",
            "from AZ-NEU-EX03.Arm.com (10.240.25.137) by AZ-NEU-EX03.Arm.com\n (10.240.25.137) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Wed, 8 Apr\n 2026 09:12:15 +0000",
            "from ip-10-249-57-232.eu-west-1.compute.internal (10.249.57.232) by\n mail.arm.com (10.240.25.137) with Microsoft SMTP Server\n (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29 via Frontend\n Transport; Wed, 8 Apr 2026 09:12:15 +0000"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 41CA54BA2E28",
            "OpenDKIM Filter v2.11.0 sourceware.org D979B4BA2E31"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org D979B4BA2E31",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org D979B4BA2E31",
        "ARC-Seal": [
            "i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1775639623; cv=pass;\n b=hDqk7rPb/cSUc3H5CIZoHBAe1ehbMVTFKJx69dlYUZh5RH6Uz5dIPqTpUJkF3Ewb1N0W2hPsNqXXDL829nmSwUDB0pHMfeEK/+rhmlVJzUTBQpsWSuZQbgC99Ajvy3Mg8YjWurmwLPi2wrVqdUqpdAOOCZBH70fXD3SHr9rADhw=",
            "i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;\n b=isPn3jAiSpo6iwocqVctDfi6ZhuQy2JuCbd6JHahLrqcJximsxMgsv5hgHLHjpMojSOeTMWutZk8VA3FIYKZy2O6LvXuXENbDxEtI7cyAF0yEROu/4toVWVqh5PNZ7FLgk4f4R+5bIhDAhNX0kgGTlbVWXCKrkQ+dtr8qYkGc5wl5VCEHOnhQJm5B6bm/NkN6CHmSv9JPLFw0KqeBcgyjxnXPTEmKAztnLOPLuPiM09iY2H2tR6zai6X9y0pMYmyd1O3v3ZDKf2IIK0HbhW+m7ckoR0rZko+AnhU/VA9IpRXM9Gavl6y9oKelP5OTiyxe+vF6xoxDF3iEpj5M7yWBA==",
            "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=NCxPN5PuPbee4qMCMFMr8tNw/NQqEb6X5nybroT9CS2XG6Ze+hxnWQsNhKnvHWtJw2VXBzyZEWXZ7slfrJ8UViRqc/sysawY/lq+TKc6UuL5sQScAExs5WMuLWjEXrPB26DKeXwWfpMN2uzHuplkJzlaUqzbKXJKIw3M4CEJTUPBm5wN6zj4kimubH9RvAVXuo7rmknPgaAdQAc2QKdtGNsQSi5YYxsvGv86SFINUs4hcP6qHPXEkXk0Ey0b5IAMfNkd5AA7JKExmBDGurAnyJOPgJnpwPGcYLwA9dWUFxFOYqIbTtUUcS/5FQmzwsS6kH4Fo8Vd7Sd6XZre6p4x2g=="
        ],
        "ARC-Message-Signature": [
            "i=3; a=rsa-sha256; d=sourceware.org; s=key;\n t=1775639623; c=relaxed/simple;\n bh=O8MEBB+hPQWa+OHUTzYK1l/MWXCZvNlwOMbcESFYDRw=;\n h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:\n MIME-Version;\n b=liyVA/lHSSviueLpUjhLTrcXQvG4jLqGeAjo/b5c26zKutADqgvEDCOrbiWqfkizMsohqgIK80RMRTL+mx+pl+GTvdo9hAsLyGQktz2cycsOYNEI6D/BB9u2w6DaZ+kx21vHz+uJDCMl5gj9MSbtktISAsJvt7WhEuu1OKAtgxg=",
            "i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=br8qW9KOVPGOI8orn6T1chzfoqxiiW2EK4G5MC45sM4=;\n b=fZ0haGB+ljfe7LtHttf+Frur/j5EyVv1UaovnynGjlAVSemgSiuIzqZf3DzAC8tTSR5kGSMYofQyApgiGGLmUTaDCIAQhSmnxLZwLVIdLJAOIFjdIPLDUb14669wf70GgAG4w9iw9Mi3BP9vCoFpqonxSOlB54RJKbENml+axn6RYHjtFtoN70+enFXyURk8NWmd/s2xLOHVvgwCPHiPpGBlK0TMiMa46vfE+AWIQipUuQo+MNOLBpU84kOrrhGRIDXgL5Lz6ub/sp8dbaDKgvAQ94z9Y91lvU27OdjkXFkNykLhwMYPpGaa4uqhQe1p9Ax/f0Ai0G9ZbGZ8U21xcg==",
            "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=br8qW9KOVPGOI8orn6T1chzfoqxiiW2EK4G5MC45sM4=;\n b=Atiraj3MOx+7eSv0KGNblFNC9LJWE+2HTHVqMQt14gYLS+66T30lT62v/bWkqKYAreHB4hHMpJ7MzQim4WoDMenfIO+JIeWLFiHgsatwCnBu5RZm6Q09wN9+WgLm+2kiadxECeOkTPD7UxCUlbUih5DTPB1xqAY4EWRDYsDMqx1h+xbVP4DuJSBJ+XJ2ORV1nwCuNfOf18JyWoVoOmF9xjTO+bKtCcr+N9CH6muWdW+tSLRkuYU48np1RSQXiksw0X8MD/3gNGto1wbUaUN49RxqTsDgq+VtbLxmTL/6AjZKXYArpFPJb/j177ATj0QZ2O6CzeYbN6VMDN2o5rdYGg=="
        ],
        "ARC-Authentication-Results": [
            "i=3; server2.sourceware.org",
            "i=2; mx.microsoft.com 1; spf=pass (sender ip is\n 4.158.2.129) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass\n (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass\n (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1\n spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com])",
            "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 172.205.89.229) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com;\n dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;\n dkim=none (message not signed); arc=none (0)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=br8qW9KOVPGOI8orn6T1chzfoqxiiW2EK4G5MC45sM4=;\n b=jGoOe6TrnSthivo543CWLK12hMNtE4ogjCKJALCXmJCni8x7k6P88+By7GeBpDUhuaiYekVf7rJcaZxclHUlI3PqfbCmpJb0e6o3fHicZ90ADBoY/fr+Go6I0ESDwFxA/mmgiY40m8cxpPvnZ2sLwmxYcY1Q2/og69fdXsioYfM=",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=br8qW9KOVPGOI8orn6T1chzfoqxiiW2EK4G5MC45sM4=;\n b=jGoOe6TrnSthivo543CWLK12hMNtE4ogjCKJALCXmJCni8x7k6P88+By7GeBpDUhuaiYekVf7rJcaZxclHUlI3PqfbCmpJb0e6o3fHicZ90ADBoY/fr+Go6I0ESDwFxA/mmgiY40m8cxpPvnZ2sLwmxYcY1Q2/og69fdXsioYfM="
        ],
        "X-MS-Exchange-Authentication-Results": [
            "spf=pass (sender IP is 4.158.2.129)\n smtp.mailfrom=arm.com; dkim=pass (signature was verified)\n header.d=arm.com;dmarc=pass action=none header.from=arm.com;",
            "spf=pass (sender IP is 172.205.89.229)\n smtp.mailfrom=arm.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=arm.com;"
        ],
        "Received-SPF": [
            "Pass (protection.outlook.com: domain of arm.com designates\n 4.158.2.129 as permitted sender) receiver=protection.outlook.com;\n client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C",
            "Pass (protection.outlook.com: domain of arm.com designates\n 172.205.89.229 as permitted sender) receiver=protection.outlook.com;\n client-ip=172.205.89.229; helo=nebula.arm.com; pr=C"
        ],
        "From": "Muhammad Kamran <muhammad.kamran@arm.com>",
        "To": "<gcc-patches@gcc.gnu.org>",
        "CC": "Richard Earnshaw <richard.earnshaw@arm.com>, Tamar Christina\n <tamar.christina@arm.com>, Kyrylo Tkachov <ktkachov@nvidia.com>, \"Alice\n Carlotti\" <alice.carlotti@arm.com>, Alex Coplan <alex.coplan@arm.com>,\n \"Andrew Pinski\" <andrew.pinski@oss.qualcomm.com>, Wilco Dijkstra\n <wilco.dijkstra@arm.com>, Jakub Jelinek <jakub@redhat.com>, Rainer Orth\n <ro@CeBiTec.Uni-Bielefeld.DE>, Mike Stump <mikestump@comcast.net>, \"Muhammad\n Kamran\" <muhammad.kamran@arm.com>",
        "Subject": "[PATCH 2/2] aarch64/testsuite: add LTO coverage for branch-protection\n notes and attributes",
        "Date": "Wed, 8 Apr 2026 09:12:02 +0000",
        "Message-ID": "<20260408091202.13538-3-muhammad.kamran@arm.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20260408091202.13538-1-muhammad.kamran@arm.com>",
        "References": "<20260408091202.13538-1-muhammad.kamran@arm.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"UTF-8\"",
        "Content-Transfer-Encoding": "8bit",
        "X-EOPAttributedMessage": "1",
        "X-MS-TrafficTypeDiagnostic": "\n DU2PEPF00028D10:EE_|DU0PR08MB8932:EE_|DU2PEPF00028D10:EE_|DU0PR08MB8729:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "09165c06-6cdc-4190-10ed-08de954f1b93",
        "x-checkrecipientrouted": "true",
        "NoDisclaimer": "true",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam-Untrusted": "BCL:0;\n ARA:13230040|82310400026|36860700016|1800799024|376014|13003099007|56012099003|18002099003|22082099003;",
        "X-Microsoft-Antispam-Message-Info-Original": "\n iIRhJD+/M9kwb4M27e5TTdp0ugTXZ8G5pcdyZuns1Y5WgCpR/xowghhZA3MYoV+tQqm+07HS+UjIrXPYdIwaZkZ3cjEn/TWcDoTbUWsrj0VhZZRP4tlOBYmo671Qa9Gz0BraNtvIIQYR/HGhVz6hk+gZwun8SWRXZlVLiVZ+FNIMYGxI9BRZ+q/1o+BmWAqPgPYDBasNyS6e1tvq958wEAbq4xmxM+5NyR0xcrxVo5TbqvnNtcnt4A7cAPPUyTqitOSZ/NSqknQeaQzY/bO3DEGZN/TwkwGVXPChKWOyR20Zd0R0/ieKgK+OgKETDSD53fektPMsh3aRrZ94jRqOvgmqjtxzZYCN3SkT+Ht/SNQivh8cNmK5AWlQUxDJ+k69ePaESyTA+kWV83Uq1RYKyfiNJhaEv6G59titPywdEaaKdOxtj/p7vzW44p8tjip71xcQ1soELG06MMvKUa70IneleS8EJMV/1uTZZTKDCo/05OlQ6xpRvVW2GN0zzfLjvwivqtADcNvRh0pqnZX3qU+TQ0VHnmrzPh5OsRq/iee5T5U8rOy5e7127u7jc+MCtKoWBvBDvzx1S5iVdavSzTPIIYaIEFxA2rLNnKftwqxqDqJtdJTRYXeWEWB2pjOPTdK21nny8lAI/UFn46ekG0WR/0XnuX9m5Vvfu2TiqQQri7QGS7qupHukGkz2L+l34817oRvXxtJLgKRTnoGIgCse6H3GQGZsvqebgsgvpUI=",
        "X-Forefront-Antispam-Report-Untrusted": "CIP:172.205.89.229; CTRY:IE; LANG:en;\n SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent;\n CAT:NONE;\n SFS:(13230040)(82310400026)(36860700016)(1800799024)(376014)(13003099007)(56012099003)(18002099003)(22082099003);\n DIR:OUT; SFP:1101;",
        "X-Exchange-RoutingPolicyChecked": "\n H8AyWl7dc4ZEMqZGFVbpB4J3cIytP3eUWxik3m4V/nYc0XHWIImvSqUJprw8LIN8knBWjnxkHq1C0WpFSbtHtxOjuIZGchW98/wiwrgis0cgM+cLj1Lm6R7GbbZCi51Gm5PZzB81yEt6oFmD3j8+ZBQfr0LrYRpIwfMDyvgE7K+qUO/IKLVtCE0IksidZ+OahEEOSechMkUtt93yqbdFNY3u0mSPQt1owCP3TD/9HhfuTe+w8sltMgnKAYsidvz7uU18KplreE92wXoY4USIWQay7pZ+C2DXqIKTWOqqgpZOy+4CO26J4+Yhm5UNyaZYcyzglXJZRZRtNkwpOrnNAA==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": [
            "DU0PR08MB8932",
            "DU0PR08MB8729"
        ],
        "X-MS-Exchange-Transport-CrossTenantHeadersStripped": "\n DU2PEPF00028D10.eurprd03.prod.outlook.com",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id-Prvs": "\n 6a2be441-1d3a-4dc0-d9fb-08de954ef3f8",
        "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|82310400026|14060799003|36860700016|1800799024|376014|35042699022|22082099003|13003099007|18002099003|56012099003;",
        "X-Microsoft-Antispam-Message-Info": "\n bMJIXjWby/9omAFnBlHXywVmfHqilouqMxdq8AcjiKAwS0pdkBhZlsjS6NZDXh84xWt5fzoSIiiSyn/MgrxMS1rG+TuYF6tIiQ82McX8htz+dBYnWDVc/LnhF56wiW9aRJeXzPbqTd6xRMtAFIbYfFEGZbESuo2weRHJZpjz0LH6QocnNfU4/w82Nxw65dEhs+/VpA7q2hiCJ3ASSKeujpXNZsTNYuYQf6jlpl7BbRZsCZ7xrrkA5NtbB3kbPXK+tVCmMFXdVRlAWBoBzq6zisZioSy9WAyszwJ7L/XXP8ngNLwEZeY16qJt+NpKWqjhToMvYXAYn8e9UmarIR8clVE+BJaXQmqKx+VsnBlhJxM7RLJSraosD3oCO4ByD3A220KJtA1vqOJWp1pB3yrSr/y/lBU8fU62ZGsuYIskYR6XhN4RWYEOZEjb57gOOwsMp5GSxxCjY6pdL2jjZTFWuKIyv4eI5k2mcI+1u4hTIpVrPLvyLXKnPffFZ1xCqmbcicS8gjMK6Sen8T7cWQpnM3TuY7/efJWPnzDkgC0i3LbUzRIHkx+nDfC2BkFpFb4grprMnszdlbvEL+lYXh7PQvtOAYHRmSpzXBNadI82D896CHvIXB8iIMnB4RYj75oxA4vv2+jyQo5egaU3XpyiTwl96y24v3FlArwqV4AHHn6s9L5R5QJN0D1cczxkKfbSq7j1hlq9mEDeSp6wTp+bH6gXN1iO8QIDi5eOJ6Jkk2Y=",
        "X-Forefront-Antispam-Report": "CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com;\n PTR:InfoDomainNonexistent; CAT:NONE;\n SFS:(13230040)(82310400026)(14060799003)(36860700016)(1800799024)(376014)(35042699022)(22082099003)(13003099007)(18002099003)(56012099003);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n mFTbTPjLVdVz5vhj0za4LH1DXwKPTXTvDlOQuUceEvFWaWzn//6eRAxoDXZKd6W55szkj1zbI+kJK3fr6C6WKk+mtEvtwIqVBNOvbUEa95Y93RyRT1XoKExnrBMLodUF4XKdXr5T8HZ3WT2PBssonPhmmEwgNT91NihqRodvT6GZ8uuZc9q/7fw0Vo/B+XQwcYSGb7NLmO6Qr9lKCPBxH0cal4AMP69xasCRCCwv7zgrhb0OjXOWGsZtINs26U88pk+WmL+Nku2ag/X5WkjvkTUjSZ4F6Si3cbPecDpmGKIxZSRTKCh6MVtvf0gKcfkbIsUwWpB1HDWsw9oP7UXOHhoyapQbG7G6ApfUyDiu45XXRri05Nx/GjqeQ6c7RxdOGTQh9nLpB2a8XTeFWdv0dXZQRkhWgfrp5Bf91UKuRZ4Ww0TAULV7reqOUjBLj8M1",
        "X-OriginatorOrg": "arm.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "08 Apr 2026 09:13:32.9688 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 09165c06-6cdc-4190-10ed-08de954f1b93",
        "X-MS-Exchange-CrossTenant-Id": "f34e5979-57d9-4aaa-ad4d-b122a662184d",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129];\n Helo=[outbound-uk1.az.dlp.m.darktrace.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n DU2PEPF00028D10.eurprd03.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "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>,\n <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>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>",
        "Errors-To": "gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"
    },
    "content": "Recent binutils (e.g. 2.46) switched AArch64 branch-protection emission\nfrom .note.gnu.property to build attributes\n(Tag_Feature_BTI, Tag_Feature_PAC, Tag_Feature_GCS) when GCC is\nconfigured with such toolchains.\n\nPR target/124365 exposed an issue where -flto with\n-mbranch-protection=standard caused loss of branch-protection metadata in build\nattributes. This was due to an LTO bug, now fixed upstream\n(8b39ec70741b7fb9d059b6944f30a6743dea996a).\n\nAdd tests to verify both forms in LTO builds, covering:\n\t• older binutils behaviour (.note.gnu.property), and\n\t• newer binutils behaviour (build attributes).\n\nThis ensures branch-protection metadata is preserved across LTO for both\ntoolchain configurations.\n\n\tPR target/124365\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/aarch64/lto/lto.exp: New DejaGnu test driver for LTO tests\n\tfor aarch64. Copied from gcc/testsuite/gcc.target/arm/lto/lto.exp with\n\tminor changes.\n\t* gcc.target/aarch64/lto/pr124365-build-attributes-1_0.c: New test\n\tfor build attributes with branch protection.\n\t* gcc.target/aarch64/lto/pr124365-build-attributes-1_1.c: Companion\n\tsource file for the LTO test.\n\t* gcc.target/aarch64/lto/pr124365-build-attributes-2_0.c: New test\n\tfor build attributes without branch protection.\n\t* gcc.target/aarch64/lto/pr124365-build-attributes-2_1.c: Companion\n\tsource file for the LTO test with branch protection enabled.\n\t* gcc.target/aarch64/lto/pr124365-gnu-property-1_0.c: New test for\n\t`.note.gnu.property` with branch protection.\n\t* gcc.target/aarch64/lto/pr124365-gnu-property-1_1.c: Companion\n\tsource file for the LTO test.\n\t* gcc.target/aarch64/lto/pr124365-gnu-property-2_0.c: New test for\n\t`.note.gnu.property` without branch protection.\n\t* gcc.target/aarch64/lto/pr124365-gnu-property-2_1.c: Companion\n\tsource file for the LTO test with branch protection enabled.\n---\n gcc/testsuite/gcc.target/aarch64/lto/lto.exp  | 61 +++++++++++++++++++\n .../lto/pr124365-build-attributes-1_0.c       | 18 ++++++\n .../lto/pr124365-build-attributes-1_1.c       |  5 ++\n .../lto/pr124365-build-attributes-2_0.c       | 18 ++++++\n .../lto/pr124365-build-attributes-2_1.c       |  6 ++\n .../aarch64/lto/pr124365-gnu-property-1_0.c   | 16 +++++\n .../aarch64/lto/pr124365-gnu-property-1_1.c   |  5 ++\n .../aarch64/lto/pr124365-gnu-property-2_0.c   | 16 +++++\n .../aarch64/lto/pr124365-gnu-property-2_1.c   |  6 ++\n 9 files changed, 151 insertions(+)\n create mode 100644 gcc/testsuite/gcc.target/aarch64/lto/lto.exp\n create mode 100644 gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-1_0.c\n create mode 100644 gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-1_1.c\n create mode 100644 gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-2_0.c\n create mode 100644 gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-2_1.c\n create mode 100644 gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-1_0.c\n create mode 100644 gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-1_1.c\n create mode 100644 gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-2_0.c\n create mode 100644 gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-2_1.c",
    "diff": "diff --git a/gcc/testsuite/gcc.target/aarch64/lto/lto.exp b/gcc/testsuite/gcc.target/aarch64/lto/lto.exp\nnew file mode 100644\nindex 00000000000..0c72d343174\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/aarch64/lto/lto.exp\n@@ -0,0 +1,61 @@\n+# Copyright (C) 2009-2026 Free Software Foundation, Inc.\n+\n+# This program is free software; you can redistribute it and/or modify\n+# it under the terms of the GNU General Public License as published by\n+# the Free Software Foundation; either version 3 of the License, or\n+# (at your option) any later version.\n+#\n+# This program is distributed in the hope that it will be useful,\n+# but WITHOUT ANY WARRANTY; without even the implied warranty of\n+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+# GNU General Public License for more details.\n+#\n+# You should have received a copy of the GNU General Public License\n+# along with GCC; see the file COPYING3.  If not see\n+# <http://www.gnu.org/licenses/>.\n+\n+# Exit immediately if this isn't an AArch64 target.\n+if ![istarget aarch64*-*-*] then {\n+  return\n+}\n+\n+# Test link-time optimization across multiple files.\n+#\n+# Programs are broken into multiple files.  Each one is compiled\n+# separately with LTO information.  The final executable is generated\n+# by collecting all the generated object files using regular LTO or WHOPR.\n+\n+if $tracelevel then {\n+    strace $tracelevel\n+}\n+\n+# Load procedures from common libraries.\n+load_lib standard.exp\n+load_lib gcc.exp\n+\n+# Load the language-independent compatibility support procedures.\n+load_lib lto.exp\n+\n+# If LTO has not been enabled, bail.\n+if { ![check_effective_target_lto] } {\n+    return\n+}\n+\n+gcc_init\n+lto_init no-mathlib\n+\n+# Define an identifier for use with this suite to avoid name conflicts\n+# with other lto tests running at the same time.\n+set sid \"c_lto\"\n+\n+# Main loop.\n+foreach src [lsort [find $srcdir/$subdir *_0.c]] {\n+    # If we're only testing specific files and this isn't one of them, skip it.\n+    if ![runtest_file_p $runtests $src] then {\n+\tcontinue\n+    }\n+\n+    lto-execute $src $sid\n+}\n+\n+lto_finish\ndiff --git a/gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-1_0.c b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-1_0.c\nnew file mode 100644\nindex 00000000000..c2819532f3f\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-1_0.c\n@@ -0,0 +1,18 @@\n+/* PR target/124365 */\n+/* { dg-lto-do link } */\n+/* { dg-skip-if \"\" { ! aarch64*-*-linux* } } */\n+/* { dg-require-effective-target aarch64_gas_has_build_attributes } */\n+/* { dg-require-effective-target mbranch_protection_ok } */\n+/* { dg-lto-options { { -flto -O2 -mbranch-protection=standard } } } */\n+/* { dg-extra-ld-options \"-nostdlib -nostartfiles -Wl,-e,main\" } */\n+\n+int foo ();\n+int\n+main (void)\n+{\n+  return foo ();\n+}\n+\n+/* { dg-final { object-readelf-attributes {Tag_Feature_BTI:\\s+1\\s+\\(0x1\\)} } } */\n+/* { dg-final { object-readelf-attributes {Tag_Feature_PAC:\\s+1\\s+\\(0x1\\)} } } */\n+/* { dg-final { object-readelf-attributes {Tag_Feature_GCS:\\s+1\\s+\\(0x1\\)} } } */\ndiff --git a/gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-1_1.c b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-1_1.c\nnew file mode 100644\nindex 00000000000..8f8b1830bac\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-1_1.c\n@@ -0,0 +1,5 @@\n+int\n+foo ()\n+{\n+  return 0;\n+}\ndiff --git a/gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-2_0.c b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-2_0.c\nnew file mode 100644\nindex 00000000000..091ecc83637\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-2_0.c\n@@ -0,0 +1,18 @@\n+/* PR target/124365 */\n+/* { dg-lto-do link } */\n+/* { dg-skip-if \"\" { ! aarch64*-*-linux* } } */\n+/* { dg-require-effective-target aarch64_gas_has_build_attributes } */\n+/* { dg-require-effective-target mbranch_protection_ok } */\n+/* { dg-lto-options { { -flto -O2 -mbranch-protection=none } } } */\n+/* { dg-extra-ld-options \"-nostdlib -nostartfiles -Wl,-e,main\" } */\n+\n+int foo ();\n+int\n+main (void)\n+{\n+  return foo ();\n+}\n+\n+/* { dg-final { object-readelf-attributes {Tag_Feature_BTI:\\s+0\\s+\\(0x0\\)} } } */\n+/* { dg-final { object-readelf-attributes {Tag_Feature_PAC:\\s+0\\s+\\(0x0\\)} } } */\n+/* { dg-final { object-readelf-attributes {Tag_Feature_GCS:\\s+0\\s+\\(0x0\\)} } } */\ndiff --git a/gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-2_1.c b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-2_1.c\nnew file mode 100644\nindex 00000000000..15f7c94dccb\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-build-attributes-2_1.c\n@@ -0,0 +1,6 @@\n+/* { dg-options \"-O2 -flto -mbranch-protection=standard\" }  */\n+int\n+foo ()\n+{\n+  return 0;\n+}\ndiff --git a/gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-1_0.c b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-1_0.c\nnew file mode 100644\nindex 00000000000..fca83daa0c8\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-1_0.c\n@@ -0,0 +1,16 @@\n+/* PR target/124365 */\n+/* { dg-lto-do link } */\n+/* { dg-skip-if \"\" { ! aarch64*-*-linux* } } */\n+/* { dg-skip-if \"\" { aarch64_gas_has_build_attributes } } */\n+/* { dg-require-effective-target mbranch_protection_ok } */\n+/* { dg-lto-options { { -flto -O2 -mbranch-protection=standard } } } */\n+/* { dg-extra-ld-options \"-nostdlib -nostartfiles -Wl,-e,main\" } */\n+\n+int foo ();\n+int\n+main (void)\n+{\n+  return 0;\n+}\n+\n+/* { dg-final { object-readelf-notes {AArch64 feature:\\s+BTI,\\s+PAC,\\s+(GCS|<unknown:\\s+[0-9]+>)} } } */\ndiff --git a/gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-1_1.c b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-1_1.c\nnew file mode 100644\nindex 00000000000..8f8b1830bac\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-1_1.c\n@@ -0,0 +1,5 @@\n+int\n+foo ()\n+{\n+  return 0;\n+}\ndiff --git a/gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-2_0.c b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-2_0.c\nnew file mode 100644\nindex 00000000000..728ad8e1ea1\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-2_0.c\n@@ -0,0 +1,16 @@\n+/* PR target/124365 */\n+/* { dg-lto-do link } */\n+/* { dg-skip-if \"\" { ! aarch64*-*-linux* } } */\n+/* { dg-skip-if \"\" { aarch64_gas_has_build_attributes } } */\n+/* { dg-require-effective-target mbranch_protection_ok } */\n+/* { dg-lto-options { { -flto -O2 -mbranch-protection=none } } } */\n+/* { dg-extra-ld-options \"-nostdlib -nostartfiles -Wl,-e,main\" } */\n+\n+int foo ();\n+int\n+main (void)\n+{\n+  return 0;\n+}\n+\n+/* { dg-final { object-readelf-notes-not {AArch64 feature:\\s+BTI\\s+PAC\\s+(GCS|<unknown:\\s+[0-9]+>)} } } */\ndiff --git a/gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-2_1.c b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-2_1.c\nnew file mode 100644\nindex 00000000000..15f7c94dccb\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/aarch64/lto/pr124365-gnu-property-2_1.c\n@@ -0,0 +1,6 @@\n+/* { dg-options \"-O2 -flto -mbranch-protection=standard\" }  */\n+int\n+foo ()\n+{\n+  return 0;\n+}\n",
    "prefixes": [
        "2/2"
    ]
}