get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2223095,
    "url": "http://patchwork.ozlabs.org/api/patches/2223095/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260414124105.178141-3-claudiu.zissulescu-ianculescu@oracle.com/",
    "project": {
        "id": 17,
        "url": "http://patchwork.ozlabs.org/api/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,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260414124105.178141-3-claudiu.zissulescu-ianculescu@oracle.com>",
    "list_archive_url": null,
    "date": "2026-04-14T12:41:05",
    "name": "[2/2] aarch64/mte: Implement MD_CLEAN_MEMTAG_RANGE hook",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "113067c241e9b445a1cccb10d9aabe4fe634690d",
    "submitter": {
        "id": 90509,
        "url": "http://patchwork.ozlabs.org/api/people/90509/?format=api",
        "name": "Claudiu Zissulescu",
        "email": "claudiu.zissulescu-ianculescu@oracle.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260414124105.178141-3-claudiu.zissulescu-ianculescu@oracle.com/mbox/",
    "series": [
        {
            "id": 499832,
            "url": "http://patchwork.ozlabs.org/api/series/499832/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=499832",
            "date": "2026-04-14T12:41:04",
            "name": "Add bits for handling memory tags when using MTE instructions",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/499832/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2223095/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2223095/checks/",
    "tags": {},
    "related": [],
    "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 (2048-bit key;\n unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256\n header.s=corp-2025-04-25 header.b=aB5vq5Nx;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com\n header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com\n header.b=aP0GFYyy;\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 (2048-bit key,\n unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256\n header.s=corp-2025-04-25 header.b=aB5vq5Nx;\n\tdkim=pass (1024-bit key,\n unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com\n header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com\n header.b=aP0GFYyy",
            "sourceware.org;\n dmarc=pass (p=reject dis=none) header.from=oracle.com",
            "sourceware.org; spf=pass smtp.mailfrom=oracle.com",
            "server2.sourceware.org;\n arc=pass smtp.remote-ip=205.220.177.32"
        ],
        "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 4fw3nk4fZBz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 22:42:18 +1000 (AEST)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id CB8524BA23D2\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 12:42:16 +0000 (GMT)",
            "from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com\n [205.220.177.32])\n by sourceware.org (Postfix) with ESMTPS id 30F544BA23CE\n for <gcc-patches@gcc.gnu.org>; Tue, 14 Apr 2026 12:41:26 +0000 (GMT)",
            "from pps.filterd (m0246632.ppops.net [127.0.0.1])\n by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63E9fMdx1404684; Tue, 14 Apr 2026 12:41:24 GMT",
            "from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com\n (iadpaimrmta01.appoci.oracle.com [130.35.100.223])\n by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4dh8682dbu-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n Tue, 14 Apr 2026 12:41:23 +0000 (GMT)",
            "from pps.filterd\n (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])\n by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.7/8.18.1.7)\n with ESMTP id 63ECdTsx005858; Tue, 14 Apr 2026 12:41:23 GMT",
            "from cy7pr03cu001.outbound.protection.outlook.com\n (mail-westcentralusazon11010037.outbound.protection.outlook.com\n [40.93.198.37])\n by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id\n 4dh7nmd3uw-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n Tue, 14 Apr 2026 12:41:22 +0000 (GMT)",
            "from CY5PR10MB6011.namprd10.prod.outlook.com (2603:10b6:930:28::16)\n by DS0PR10MB6173.namprd10.prod.outlook.com (2603:10b6:8:c3::12) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.48; Tue, 14 Apr\n 2026 12:41:18 +0000",
            "from CY5PR10MB6011.namprd10.prod.outlook.com\n ([fe80::c792:6d38:1377:61cc]) by CY5PR10MB6011.namprd10.prod.outlook.com\n ([fe80::c792:6d38:1377:61cc%4]) with mapi id 15.20.9769.046; Tue, 14 Apr 2026\n 12:41:18 +0000"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org CB8524BA23D2",
            "OpenDKIM Filter v2.11.0 sourceware.org 30F544BA23CE"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 30F544BA23CE",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 30F544BA23CE",
        "ARC-Seal": [
            "i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1776170486; cv=pass;\n b=owEx4cw80lnuVaiJc2i/rBiRuas03iAtogcRUJTI6oYed4kslAupf7ZCSjjnKQTmotPAHZTA8C68dAiO9usdzKc8dCQJFyT6xaLrP6kx+8s3WLi6P7E14IhBNp86rB3wpqfnRs7iVeq4EICIPBrhW7BNaFtDVzhZYrSjBZutnEU=",
            "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=gC9H2O/N76Rh0Q+PKaJhcKPn55+wuyb8cWF0mcXlYd/T+igm5vidvURMZRPWed/2plzSzUpwc7aBIFnYDq1Dwhgq2aSDnhzq0IPSYEfC08GsbK6C6hgk8l7YonSB/h3E/gP88rxtwVb1k+4evEzIN4xf67hp5J9qegWvap4ru0eMbDDxdN/B4JMumE+RZBvtXkxsiNYZlxmg1LpE2qVH8iGUUJU0G8J7XPeSp5ACVgGqjcOAf1GJpI2QiRe6AiLasXLsADit/6bfiapdHMwTCplG1JftrrcfrR7A9PsMLh/h3S1SyMWbbSi79VJ8WfGt8gaKstcZ0semyV6xumkC0A=="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776170486; c=relaxed/simple;\n bh=GVdbsgeCQfMGMqh3UdZeR6v/miKjktJuC+wEadAgzmM=;\n h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:\n MIME-Version;\n b=Sv0r1Wi7CiHGWShhX91kZnxchOY5+akZizTAXveu4rE6mPLTX8KOGzrZ+dz/tndelpHGoGoZX+sx9nVHVn1Eqb2mYVubLCjxiXZoaM09D+M464mdsvPMOfQJw/tl3q4Gcx9youNZ4knZ2tPgOaEePwfhFWQM2Wro5UFJRWxb118=",
            "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=z60ZPsgy3U1AvDDxeFUsEkCfQ1TGy/b+hFdxvz4mKko=;\n b=khKrDAFVWhOuI/9/6fwpjHg+qwJAkLDKpzXjQiqgG33HHCF0GyYEzm1yQRmw6NyNH2bpZg3yHNU9tQitLCGW+3dYRSuCpfdlqNT6rEcxz3ZJQ5JNkTZzQcPK+9BhEb/fGOGZeAA2xs7Ca9T1/Rm89TY2xD37kYb0qNnQHNo7ep9Vx14VIhWiL45XPApTb7rrY9Sma3IxYri8rfx/uc6lhsVtkWgWzBRGE1GXS6YicsfaZudbeKNfNWmRcF2wCNBWsoXfdLmfJU+CdTuWJi40hi/SzXRBlgJ1aL5mMBr/mB05kXRjlKkT0VsWFsHdqiL6vQTUI4Of+vfWV2KPsMeZng=="
        ],
        "ARC-Authentication-Results": [
            "i=2; server2.sourceware.org",
            "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;\n dkim=pass header.d=oracle.com; arc=none"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc\n :content-transfer-encoding:content-type:date:from:in-reply-to\n :message-id:mime-version:references:subject:to; s=\n corp-2025-04-25; bh=z60ZPsgy3U1AvDDxeFUsEkCfQ1TGy/b+hFdxvz4mKko=; b=\n aB5vq5NxWfKd7BQDAPS+MXa0yAPMVSXwT7HWypw9bjIRyXQ1RiBgr8lIdnnFSsrm\n utHM3hrHXMZSeSlCN/jWdxTVEcNHuikvbe5DRIMFWPZPnyfx7QzHY775DMRrlPgB\n ePB3v8tBE1QgU7e7BE8LQ3piVr49zgHOETQHyJxs2ztQQ+cnayPCcjb90N2zEe92\n Go58mtiOvU5gNdQEHtZjF0QRb1LDztC+ZzMFKmUzcQx1YZ6IGUuW7bMoj3LsVz4S\n 2nAnfEWQWIscpfr5Mu2963i9OPqJ2reiypx4vxlFih9uq6y/vn0URrdHeCVTrIEJ\n J2IlMQbp/YNaAfHoPsIwsg==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=z60ZPsgy3U1AvDDxeFUsEkCfQ1TGy/b+hFdxvz4mKko=;\n b=aP0GFYyyAE0C4AfDE5ZbTmCwe4dYyAZtj5n+QdTDx7Kb0+aqbKbRhf/8lJid/q53z4htY88yndClIqhXhDDISSWQBItxbe4lxps4osj6/eaLDNJuYXfyFmnXWUGV2K2cQsLJwYl3otR/e6UqKcLTBlSpgy/xEexWERaWUCnM3hY="
        ],
        "From": "claudiu.zissulescu-ianculescu@oracle.com",
        "To": "gcc-patches@gcc.gnu.org",
        "Cc": "claziss@gmail.com, jose.marchesi@oracle.com, elena.zannoni@oracle.com,\n tamar.christina@arm.com, Andre.SimoesDiasVieira@arm.com",
        "Subject": "[PATCH 2/2] aarch64/mte: Implement MD_CLEAN_MEMTAG_RANGE hook",
        "Date": "Tue, 14 Apr 2026 15:41:05 +0300",
        "Message-ID": "<20260414124105.178141-3-claudiu.zissulescu-ianculescu@oracle.com>",
        "X-Mailer": "git-send-email 2.53.0",
        "In-Reply-To": "\n <20260414124105.178141-1-claudiu.zissulescu-ianculescu@oracle.com>",
        "References": "<20260414124105.178141-1-claudiu.zissulescu-ianculescu@oracle.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "VI1PR09CA0163.eurprd09.prod.outlook.com\n (2603:10a6:800:120::17) To CY5PR10MB6011.namprd10.prod.outlook.com\n (2603:10b6:930:28::16)",
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "CY5PR10MB6011:EE_|DS0PR10MB6173:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "91cf5803-5160-42e8-1dfe-08de9a231ff2",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|376014|366016|1800799024|18002099003|22082099003|56012099003;",
        "X-Microsoft-Antispam-Message-Info": "\n nrhH8BvYfhWMWePHLKXwZ4ZgokQBmmvd1I1MnhSf2MwGJu4noEs6amb2LSmn0iLUhPxkMxSqqp+I0qv5crG5KWBWIeb4QDhZFIkMBBfepXouw1pAYPxgmw/d3r2CqWlrY54IfXhivfjmy8bxc9MBo5Nzw0ChYh/H/wnVqkPnjEKTyCBthPlpBiI3WSw9xoJFTcrcdiDllM7rIiYEvUbOiKEN6OKMlNfu2CXY7PpzYUfHC8IRt9CIg8iGj8bMaQXRLpsPsDMItaZ6JeIcwx2MSxIlte/8JLP/hC++wVh6axbiSBeIiXwd3ExC08jshWrOQrFde9l+CGqtcCcSuTuQIBhqgwliDaNMFixAQayhU3WuvP7ty9aqrk/4VgJOJRqMLfX7DdQERRDrWYzNo6FCG75RFsGDDfJ+cBsBSJJpbE/f549nnfqYKkGekk6UIAczTQ3h0r8JEiQjB/YoLyMrg2mEun3w4QOP4Kz2UvLuVn3hKEL7+22NwNup6nyEsE8YPouQc0HCLaSrHAGw7nN1JSAKZv8m3pnhg6l8ltuSR9DQDAUyojc4I0YJU+WWOpdbx9Wse4u2oTlsT4aZM1ldaTKYsUbUrglL2nv4VLHxLVLSoexVwPk4PCJhw6sMuF2iWpUTlflNe1WWqZKCNTyOXraMuTxrXgRbmjpD//SVUSaVWiI74HJda/Ef6wwR4HBGtigljVyP61hzR38RdXtkBulh6IVRDm+vNoV/BdOJIAM=",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:CY5PR10MB6011.namprd10.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(376014)(366016)(1800799024)(18002099003)(22082099003)(56012099003);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n sFLvici3vd1+jIcPvQdxNHndB2PQvPoFTmAiiKFqozxblrqSzHiulOBUfus0tRlSalc2xUPfIJVn5GBkyLBOYGJoQ/Oap79eFBgvOWeykSPf3XzmgbEFfASsd3+dAvCVLNq7OaTAlj1g0Hi8g6xF5GcD9yqpxetQGOHW9T9lDeFDy1GP4WCRtKu84V6yxeorhLKV4aTRJ16YMiMi9WAJmUcKXCR8AFgUL1+tiRMF4LUIIPmUUIWeHjLffow0Nrigvq1EEcjg77Xev77IGuU/XKhnZGE2mOoQ0ehhPRytz9K22yiuBbG/8etjwV9ntIllk0kfxiPpqn5vXcNwvQMe7owd76yBDb3HhgnkKiOiQbjLVOVIR51bE73c3ownp35SvHnOXG2t3flpLMMwuYci7t2ThRgIQGsJ+mxKlPsObOyvIZiAVIu0OokS5qkqpYmG/fdcO9eTqRynXd/EXqANAAJEOeNv+ekrWxHheDJ4m7u6g+z7zJEG344uqVmTKdnEZ6D7QLrTelCVtX7gRwEcu7dReZoTq84AVGDPV8mVAMyNsqO4s3+NGtdLWyq8AczKczoMu9O9sxyElZ/0XQgKg+Nmg68JvsMENVYJkFeo1v7W1qylR8eyArDdTs9h5e1KM2Z4cq2enYpTCyGT0c8rgI/fShB6Fz3i+eZWT4lR9j/8TYwkuwuuzfK2f9lF3ba/QOlb6Kr2ks90PSHaJb5sHH/HNEDW1nsLtcIRPxe92cO6ueYILMhF/rsgOngYq4IkBSBw+JzTfGuRUmQyZ+Yu2X2W6N+1mm2nOixX1g0bey4g/38PTQ2cjyY8AtEuncdzVZjcX7vzNzoSgylAk5FejRyh4hCqP25sZxJAF9ltLo0ev8B8YaHnZ2fdtpGEALAv9mqQz2qDsQenaioZhE/5AGSUkva6W86fa7urohdgxP+I1Ru696gWWWIjfwyOXAIH1i4OR31C80q81SkTiIGgI5ce7/rpqNO7jxVm77KfG6K8cSIAaTeSDC5dlUT3Z0yuiJ6a/qEt49gCYGxQh7a9jRpr37c1s+JodWLQTw99thynWvlVnX69siTxJK7bKEmz6pW7iUk+xW+GsHQ7ItqTs+HwI2qMdwZ2aBYG/9Ww4828qePU1x4MxAKhryYgrrFYQIJG6S3xEILLTCL+vxb0QsIvAvdiaNbnr+L79gPj2Ar/1vCB7kx8zIEg8tBhAxgT8jtd3KzmPJXW/9B1N1lOoK9ASDVA2ZhprBP+QuKu2cmRuVDv8SXq8O5sQK+velN3+stDSS04FvuGlpCwqcqSjwLDIDLEDwVNgNi9Iw2r4DadABqnainkxR5wKQuwtYcb3eNwXt+B+IeM8Lnm9WKDHY0fz/gWiAzap8PEZNaXpN8VFLpsa7BOlfbbVyUitUC2jP3qAswfDy8SOcBx/VXuJCrYCJcoR9wH6r5zSi3erd5AZZcb2tGpvL0m6ozoX+2VaSKre3q6dMbtqC43IY2Q1rHIMiPHginxCJpEyfC0d4rBpgq3ht1ip8u6kCybTpTxlGaR9918vvCnyztUPkKsySOjU+E7YtLOD6Na/Uw6KdO6vWWdImGum1Ulyo6tcr32gERWNqDMTwqfho+wVYvg028i+zeSpq+i7nRrre1htKZ9V18UCitm3vDQRYvFx6ySZSzU4diJC6KojJwZIeVx5xVe7aM837cBIAG8DXHYP/llny7LA7ldvO4ozmxPzTrrMFu328sfKQHrSkUCRRCHsIabwNBdgDQ8sjBUMqkiN80vVRkJ7GKLMVSonpDBOA6U",
        "X-Exchange-RoutingPolicyChecked": "\n Ye/rvSNkll2t5k2rT+BbwpUWUM/UFJzADwaQKICohGm7pEv8qwjTt0lLMhNcPyg1vG1mTphhDgLwtBGRKEcIJdFuTt9uyz66w8w2gKv1JPI2NufuQ7uUvcr4eLwr+f3U1SBipFz5wN457gg32NR6d8cF3XeLBN97Y3gxBTWtyucRirYD/+05Z8EEh3OwXvIzWOaUNNerruwuGMWbw5bgXh3Gal5bmACj1CjbpzzmsrNdCMil1flWSuyszPnBpk2/+8yvI0Vfeymb+rHgDjPnMF+ds7nVRvB5/Jo3zE5s2KHnlcJu3Y91cBSz+uuhVDzHVqE875OSHZppcrdzCG1U8A==",
        "X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0": "\n SBvNnI7aa/YPYMoyo7po8dHOrIOllvEFKoQqLxwAlF2irkO5cuh7oQcSbfDJiQPBVmDGlxfcqj0//3jHuPFXwlbmaU/P+NEj6ReRPKOIv8qaT3ELYtv4kcYTv7rtcFbN53OwsmpZdlFRO8xDzyd5eBsGjqZ1cHNIxewQtwM2fLTgHEx5wG9jQlpi66sxBVqmZcDucHXT4rRP/5dQ+veUhKx/e+xNf+B3CtYC+BclGwaDXJXjD4pdd9aRIsZ2ePb1gO6QGgk25ypPal+8BRZSzO4LDOWy2fU+23WZQ0EpFQ7gZerxB37nTcliiTxFKEjwQd77ToXFntKmfxHKoPthG2yAmYMfZFqDS94tnSOgHrc7RONBG+hPjTBUP//loBiXMYbqPXBOw8yV7bFzczWhqc4zoBT7yN3IOOFskcgOCt9UBgt8kJ1xfSjDEmQlB6Icfhj1bhA8XrDWvrCQJ29pOw8LuHeePDSyEGe8MdBp1BhkhOvdFY7ilK+KijG8ldWZN9kVi8T2C+zizbHjS/Kqq+na/+D/Yru2tfvobYMLuQBQ6omqtlCErmHtMpSAiYxjiIZsnN+0T/FZpjNV9t3ea8KO+5wDv7Cb10ig8KA2MBU=",
        "X-OriginatorOrg": "oracle.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 91cf5803-5160-42e8-1dfe-08de9a231ff2",
        "X-MS-Exchange-CrossTenant-AuthSource": "CY5PR10MB6011.namprd10.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "14 Apr 2026 12:41:18.5290 (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "4e2c6054-71cb-48f1-bd6c-3a9705aca71b",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n 5ekH9nIH5rL1W9Evs0v5a1Psf6ABcGeXegYoU7ySqVFzp74S/Kspv54+kWCZL7BRMNUYTuW4sJ5XT2vovbLjeOqzFqalSHpkcFvZWmJTaIsgkv34A3PnFM+rkTCMoMaZvWqnc3+x+vNX6LDWw+IdAA==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DS0PR10MB6173",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-14_03,2026-04-13_04,2025-10-01_01",
        "X-Proofpoint-Spam-Details": "rule=notspam policy=default score=0 malwarescore=0\n phishscore=0 lowpriorityscore=0 suspectscore=0\n mlxlogscore=999 bulkscore=0\n mlxscore=0 adultscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx\n scancount=1 engine=8.19.0-2604070000 definitions=main-2604140119",
        "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNDE0MDExOSBTYWx0ZWRfX94jZOpm0+SvD\n zKbf5y3xaqHiBhPeP2IviSHyiOuyJLDX3YIpc4JcAeASSwlcwvEk/slB0CeVhMovMyy0l6jfbay\n nP1E/7TKxjZHbb1KvRBO3IXkQZatHEys4a12pmZPh1M8a7+Ev4Msnw2JTaC02i2hQBN9HUkSxwT\n b02TvKgXtTEcTcMEmaWwF29QdonFpCFhng5RnqklNwH4rM9CZ9VuvAT0M6bPo+W8+wKOWFOQLnx\n /7gqI4zyhzbuqz/7g1CtEJ6dP3oVWrV6PnpVDozL8SQY4bC80v3Ns2ai2xMJpvn/0MFRSaK36nI\n LbjsixazyRnE8L7cx7jzQiJyIQgLub5r5oLbfvIXt8+SMhFammE6SndKXpFmGistFqjyragf70q\n mkpVrsU85WW4DFEm+Qx1OLug3+F/IJTZpM73gzMC6OzCsk9X6xI86pxhs9NpHL0+x9QMIzl85HS\n mzDk8/Qylst5OhSi4x6n04nJZTpIKEcdVidCxdGk=",
        "X-Proofpoint-GUID": "56VjVV0yZfGoitJnB8ZnZfuaze5ODBbQ",
        "X-Proofpoint-ORIG-GUID": "56VjVV0yZfGoitJnB8ZnZfuaze5ODBbQ",
        "X-Authority-Analysis": "v=2.4 cv=JY6Ma0KV c=1 sm=1 tr=0 ts=69de35f3 b=1 cx=c_pps\n a=zPCbziy225d3KhSqZt3L1A==:117\n a=zPCbziy225d3KhSqZt3L1A==:17\n a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19\n a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=A5OVakUREuEA:10\n a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22\n a=3I1J8UUJPc9JN9BFgKH3:22 a=yPCof4ZbAAAA:8 a=urj103uPPKj4aODTR_0A:9 cc=ntf\n awl=host:12291",
        "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": "From: Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com>\n\nImplement MD_CLEAN_MEMTAG_RANGE hook to clean up any residual memtags\nafter an exception is taken.\n\nThe patch contains the necessary bits to check if the system has MTE\nsupport, if yes, the MD_CLEAN_MEMTAG_RANGE hook is removing the tags\nbetween the two addresses provided. A test is also provided.\n\nSigned-off-by: Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com>\n---\n gcc/testsuite/g++.target/aarch64/try-catch.C | 71 ++++++++++++++++++++\n libgcc/config/aarch64/linux-unwind.h         | 68 +++++++++++++++++++\n 2 files changed, 139 insertions(+)\n create mode 100644 gcc/testsuite/g++.target/aarch64/try-catch.C",
    "diff": "diff --git a/gcc/testsuite/g++.target/aarch64/try-catch.C b/gcc/testsuite/g++.target/aarch64/try-catch.C\nnew file mode 100644\nindex 00000000000..75559c8a2c4\n--- /dev/null\n+++ b/gcc/testsuite/g++.target/aarch64/try-catch.C\n@@ -0,0 +1,71 @@\n+/* { dg-do run } */\n+/* { dg-require-effective-target memtag_exec } */\n+/* { dg-additional-options \"-fsanitize=memtag-stack -march=armv8.5-a+memtag -O2\" } */\n+\n+#include <stdlib.h>\n+#include <signal.h>\n+#include <string.h>\n+\n+extern \"C\"\n+{\n+  static void\n+  optimization_barrier (void *arg)\n+  {\n+    asm volatile(\"\" : : \"r\"(arg) : \"memory\");\n+  }\n+\n+  void handler (int nSig)\n+  {\n+    /* We hit the exception.  Return error.  */\n+    exit (1);\n+  }\n+\n+  static void setHandler (void)\n+  {\n+    signal (SIGSEGV, handler);\n+  }\n+\n+  void __attribute__((noinline))\n+  foo (void)\n+  {\n+    char x[15];\n+    optimization_barrier(x);\n+    throw 15;\n+  }\n+\n+  void __attribute__((noinline))\n+  hwasan_read (char *p, int size)\n+  {\n+    volatile char sink;\n+    for (int i = 0; i < size; ++i)\n+      sink = p[i];\n+  }\n+\n+  void __attribute__((noinline, no_sanitize(\"memtag-stack\")))\n+  after_catch ()\n+  {\n+    char x[10000];\n+    hwasan_read(&x[0], sizeof(x));\n+  }\n+\n+  void __attribute__((noinline))\n+  test_tag (void)\n+  {\n+    try {\n+      foo ();\n+    } catch (...) {\n+      after_catch ();\n+      // If no tag mismatch then we can see this.\n+      return;\n+    }\n+    __builtin_abort ();\n+  }\n+}\n+\n+int\n+main (void)\n+{\n+  setHandler ();\n+  test_tag ();\n+  return 0;\n+}\ndiff --git a/libgcc/config/aarch64/linux-unwind.h b/libgcc/config/aarch64/linux-unwind.h\nindex 8fb782ab996..f34bf29dc3c 100644\n--- a/libgcc/config/aarch64/linux-unwind.h\n+++ b/libgcc/config/aarch64/linux-unwind.h\n@@ -29,6 +29,49 @@\n #include <sys/ucontext.h>\n #include <stdint.h>\n \n+#ifdef __ARM_FEATURE_MEMORY_TAGGING\n+/* Avoid runtime MTE detection if libgcc is built with MTE.  */\n+# define HAVE_MTE_CONST const\n+# define HAVE_MTE_VALUE 1\n+#elif __gnu_linux__\n+/* MTE access detection on Linux.  */\n+# define HAVE_MTE_CONST\n+# define HAVE_MTE_VALUE 0\n+\n+# define AT_HWCAP2\t26\n+# define HWCAP2_MTE\t(1 << 18)\n+# define HAVE_MTE_CTOR  mte_accessible ()\n+unsigned long int __getauxval (unsigned long int);\n+\n+static _Bool\n+mte_accessible (void)\n+{\n+  unsigned long hwcap2 = __getauxval (AT_HWCAP2);\n+  return (hwcap2 & HWCAP2_MTE) != 0;\n+}\n+#else /* !__gnu_linux__  */\n+# define HAVE_MTE_CONST const\n+# define HAVE_MTE_VALUE 0\n+#endif /* __ARM_FEATURE_MEMORY_TAGGING  */\n+\n+static HAVE_MTE_CONST _Bool __aarch64_have_mte = HAVE_MTE_VALUE;\n+\n+#ifdef HAVE_MTE_CTOR\n+/* Use a higher priority to ensure it runs before user constructors\n+   with priority 100. */\n+static void __attribute__((constructor (90)))\n+init_have_mte (void)\n+{\n+  __aarch64_have_mte = HAVE_MTE_CTOR;\n+}\n+#endif\n+\n+#define MEMTAG_GRANULE_SIZE 16\n+#define MEMTAG_GRANULE_BITSIZE 4\n+\n+#pragma GCC aarch64 \"arm_acle.h\"\n+#define MD_CLEAN_MEMTAG_RANGE aarch64_clean_memtag_range\n+\n /* Since insns are always stored LE, on a BE system the opcodes will\n    be loaded byte-reversed.  Therefore, define two sets of opcodes,\n    one for LE and one for BE.  */\n@@ -266,4 +309,29 @@ aarch64_fallback_frame_state (struct _Unwind_Context *context,\n   return _URC_NO_REASON;\n }\n \n+static void __attribute__((target(\"arch=armv8.5-a+memtag\")))\n+aarch64_clean_memtag_range (void *old_cfa,\n+\t\t\t    void *new_cfa)\n+{\n+  volatile unsigned char *sp = (unsigned char *) old_cfa;\n+  size_t size = new_cfa - old_cfa;\n+\n+  /* If the system doesn't have memory tag machinery or it is missing, just\n+     skip this function.  */\n+  if (!__aarch64_have_mte)\n+    return;\n+\n+  /* Sanity check.  */\n+  if (old_cfa > new_cfa)\n+    return;\n+\n+  /* Adjust the size accordingly to the MTE granule and clean all the tags.  */\n+  size >>= MEMTAG_GRANULE_BITSIZE;\n+  for (size_t i = 0; i < size; i++)\n+    {\n+      __arm_mte_set_tag ((volatile void *) sp);\n+      sp += MEMTAG_GRANULE_SIZE;\n+    }\n+}\n+\n #endif\n",
    "prefixes": [
        "2/2"
    ]
}