Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2197116/?format=api
{ "id": 2197116, "url": "http://patchwork.ozlabs.org/api/patches/2197116/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260217060149.67627-1-dhruvc@nvidia.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": "<20260217060149.67627-1-dhruvc@nvidia.com>", "list_archive_url": null, "date": "2026-02-17T06:01:49", "name": "AutoFDO: Add --print-autofdo-gcov-version", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "606ec1f176667d33382f111e51403399b968a038", "submitter": { "id": 89212, "url": "http://patchwork.ozlabs.org/api/people/89212/?format=api", "name": "Dhruv Chawla", "email": "dhruvc@nvidia.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260217060149.67627-1-dhruvc@nvidia.com/mbox/", "series": [ { "id": 492376, "url": "http://patchwork.ozlabs.org/api/series/492376/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=492376", "date": "2026-02-17T06:01:49", "name": "AutoFDO: Add --print-autofdo-gcov-version", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/492376/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2197116/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2197116/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=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=kMIr2Nsk;\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=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=kMIr2Nsk", "sourceware.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com", "sourceware.org; spf=fail smtp.mailfrom=nvidia.com", "server2.sourceware.org;\n arc=pass smtp.remote-ip=52.101.43.61" ], "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 4fFTb955xyz1xwC\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 17:03:17 +1100 (AEDT)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 0CA564BAE7C8\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 06:03:15 +0000 (GMT)", "from SJ2PR03CU001.outbound.protection.outlook.com\n (mail-westusazon11012061.outbound.protection.outlook.com [52.101.43.61])\n by sourceware.org (Postfix) with ESMTPS id 9DBD04BAE7E4\n for <gcc-patches@gcc.gnu.org>; Tue, 17 Feb 2026 06:02:32 +0000 (GMT)", "from BYAPR11CA0098.namprd11.prod.outlook.com (2603:10b6:a03:f4::39)\n by MN0PR12MB5979.namprd12.prod.outlook.com (2603:10b6:208:37e::15)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.16; Tue, 17 Feb\n 2026 06:02:26 +0000", "from SJ1PEPF00002319.namprd03.prod.outlook.com\n (2603:10b6:a03:f4:cafe::b3) by BYAPR11CA0098.outlook.office365.com\n (2603:10b6:a03:f4::39) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9611.16 via Frontend Transport; Tue,\n 17 Feb 2026 06:02:26 +0000", "from mail.nvidia.com (216.228.117.161) by\n SJ1PEPF00002319.mail.protection.outlook.com (10.167.242.229) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9632.12 via Frontend Transport; Tue, 17 Feb 2026 06:02:26 +0000", "from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com\n (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Mon, 16 Feb\n 2026 22:02:15 -0800", "from MVD4TP25H0.nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com\n (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Mon, 16 Feb\n 2026 22:02:13 -0800" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 0CA564BAE7C8", "OpenDKIM Filter v2.11.0 sourceware.org 9DBD04BAE7E4" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 9DBD04BAE7E4", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 9DBD04BAE7E4", "ARC-Seal": [ "i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1771308152; cv=pass;\n b=tHKMwKmP8OGBhPOCcw//OA7wapdnrPLX0ob8aKv4nCcju8PeA+gjS7xsShcY9GshLjpfGy5ghgeOabSFX4YR0DGgR0OzjlbFUULOXVZi10q4pb0JR35trGTjVZin/ox1vBCELquEABtbz8CtDhFymvGTNhhr75sR2iErL2Inx0I=", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=rCt+lVAX1iziKPdodXVFn6gqLlVhYJSY/J+hQeAyZDrPBumy7X9tDDY0rJhPYeD6nnyY4zU70aZ2Io3y+rJWN9bv2GxHrGXD7+VIVGBQvfIsodBLnsPADL6nr4h9hUNI2+IdDtpwYoU66KQ1LgTGfdpVUVxRY7XufjLXWqujk03/bIXEFdp/GgvVZOGcdUWdBdwOc0btvmv4Yc338pMLuOt0a/ufgSJoDqrZqN3YhpVNSzkPjJVV43Jh6x3vlxJ9sE15TaGPMIpSaK8biIdlfVBBaSoVuNMWBmgFRaJQK0QXi64UBYYao+s3uOXGRBvAx+nS195VXds1JtXn5bsBQQ==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1771308152; c=relaxed/simple;\n bh=6zkyB5JuO6TVpU6hAJ/WnsPd5nbfmhYKbyh0lsHErQ0=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=TGjY3BvpXu5JbxFn+2BI1HgGwdJ4enESLESmfq4dIbPf8Uz3VseTsNBBb/NqDmqpOfaZMpwxXF3jjHGPBHqqGG/KH/wSVmSZWMaxTuxfsrI4BpEVy11d4VFYHbMEXXbRM152VuBkCQvbB/oYy5rKIDsStjcVvmU30XO4xQ+v03k=", "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=LJXpHITVOzEAmETYb0M4aftwdGU8qCcMlVoUoc50HUc=;\n b=jWnhySxFyd16LQ/8l8o4vvgfQFmAiws2r+Gnoa9CXsaXeDEKzZB4JCjO9QCsRiOewMgzGZ9y6eCvWxXJ/OUOrcGbfZj7waMAsUirex7LGKDsNfRUFWzWqg+/JN3jhLEy38df7C43JQHyg6WqjpU626QUv/P8ATEclhcmRD0le/1YSLbT6iq8Wp/ON6emZltBEWa51rtWgXjqySEZyaenjP4CMPQWvrVPEzXP20jXTlIgMnqyVh5no7BpqzoEXoTj2LV4bqvP8ex86S3gFVvfqskW87PMI2nc8VBw5H6/cUQ/OlSWK6jnMjD89yD7P6P5fCGc4v7Jjec8SCzpc1BVDw==" ], "ARC-Authentication-Results": [ "i=2; server2.sourceware.org", "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.161) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none (0)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=LJXpHITVOzEAmETYb0M4aftwdGU8qCcMlVoUoc50HUc=;\n b=kMIr2Nskat/oFSAM4RwEYfU73qb/ghcBZNMcr+/Nm98XBarHuWBlEzpcdFMO27sNUdaaDt+XTcogu1AHoXjsr4twvXTp6IIdG8KzNP99FVOzE/NaIG9IQjaLMjKjQBY6hh6sNf61kYPjROLYixIt69k3N68TSa4iblfsN1Mfv5z/OYL0qJ3jtHyCfdUZ3Ov2gLO4eklI0f1z39x8HRfobryxlg8ByTzgiJidD3XPJyqn6h/wDCGUpD0Nx35zTJY05vMGMBIr2PXAvvzs4eVXvQEOAsN34jDahItkqAhsuN2+hNouMmW9GXEjurMA49X7RZBV1rIGnPQSoz7UIRzFDw==", "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.117.161)\n smtp.mailfrom=nvidia.com;\n dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;", "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.117.161 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C", "From": "<dhruvc@nvidia.com>", "To": "<gcc-patches@gcc.gnu.org>", "CC": "<hubicka@ucw.cz>, <kvivekananda@nvidia.com>, <ktkachov@nvidia.com>", "Subject": "[PATCH] AutoFDO: Add --print-autofdo-gcov-version", "Date": "Tue, 17 Feb 2026 11:31:49 +0530", "Message-ID": "<20260217060149.67627-1-dhruvc@nvidia.com>", "X-Mailer": "git-send-email 2.50.1", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-Originating-IP": "[10.126.231.35]", "X-ClientProxiedBy": "rnnvmail202.nvidia.com (10.129.68.7) To\n rnnvmail201.nvidia.com (10.129.68.8)", "X-EOPAttributedMessage": "0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "SJ1PEPF00002319:EE_|MN0PR12MB5979:EE_", "X-MS-Office365-Filtering-Correlation-Id": "665a51d2-2e4c-432b-fece-08de6dea2033", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|1800799024|82310400026|36860700013|376014;", "X-Microsoft-Antispam-Message-Info": "\n g2R3AHFJMp0C7qhWBeBii5A+ebf5JAuJ2LRthG45mBP3gt+W94iinN1rqpIZ1DkU9cR48QdqnyDUg1735HMi/rBe0BARBsBk0kgWwkl9+MtdgGfxfiJ29wIjGrvZ1+6eAt7LzOqEbuR+9w9PGcIBV6/Yd5YNreqzc4sHarokNvwQc6uAM9edPIwKzmM5Df4/LAPgmnPjzbUGg2ysZulQe9GQSNCfzYi8VAilLeX8GMzMZRcax2Do/v7nujdKLnbBOG/ZirCy/UZ3FrLxkwaCzlJZWSzntjJ4eIIROjqwHd57las/av2/b3bgjHsyCbc0qgwOoalaFUTfBM6vbCk9jz5VGPqSsgZm4bXIW5SqhGQ4x0IedQKK+4DkUP7ae0OoGE9v1H6Bj0Kfdds/7iyR5qVr2W6sCJcJnjrLbUgpyKzDPaQoeJzZRMeWtNiQwzmON0xvIJmo06ZAVEpFobOrgeneRwRcyy2oLgTmLFhddxRHPdyeUB/irkKGE4EUKWszZJI5LAaEtfrR5vAzODOC9JMyDTZucnimetd+Xh5MdRuuLxWzPh89sqpyMjhyziBJAFys4M+wI6PU2Xj/KmxNdwbTfbplkGyRVb6QQboD+Y4CDlf1YXzWg5F0R2URdtZ9KI4VI35E+vMM/FkvMBFc99cZmUvU9RC5Wn/HxCFsxUpFPGKikf5SRqbtvdvMy62ifq7HW1tsM3kHxH6nTO8+y17q4n4qoWce0kHXeRF3vmnM5ABKugQogRuvkOgT4+gsFI+0D6PlNjLyubtNsjps9UEDakyz3VLWHCRDwiOHQnofAuq7wY4ptaOzf/mzBer41huwyVLlMSTUc0xV38HvRGBCC1f6I+IW9Ymsh4sPJwtsBiJHnx/KezuC/xVWcR9jJ3+xZu9WiAxm9/wzUKvZAzGH8G99Ygm7KrSZw3lgK7g/Y9fbKOrEGHn110X/kMCU1AMZ61u6oml/xt36JEHv7F843AwvsVZD7UQBJpo1tGFIIPBUyRGDNAxB8srC3yHiFtHM9r13+KN0gbWk+8VVUGJddpBxY4v3BExxzKAoTjVnNRvPUhsJXqQDb9q7G5E1gnj8iuOLYCw1Ns4JGDDQXB/jfk1MEBy5CmA1P9rVxk+sE9fRAEvXV3dofa8p5+wgcK6AI0ojUwEmCBihq0xUGXDWbEO+GNtitUCTu67IlP4iZeJiv2LTZxYWfeHUZBUSxoIPPjq3z9Lwejw02lTf7GEzizfj5k1VJXdy98a3i4VbvZruf46clAS8O5bgtrWWUOZyU8shBmLKvyP4pgXYR97kCcgc/2spy+y33VzLRFMH295gA+v60Yl0m4Wg2hKOgb+az+Ec5DMD7RRvXw45OL3d/IS4HmkWfboDH5bOMFA8dFI16zGBRHx1qfsE8EnAvOQ9riHCmZeu/X3szvMetoAplQ+1wSUG0hsLmtahUNSlgrbuGpwGZRR3QtDMljBDevgIeM8mpgpvItGlwQ47eSA2xlblnA62tmdybWNKmOtqavuOwwaGAPa3yX4MggQkrH92uFhYdHovxpmNCf6/+qbaCybuGzxVLQFRe25XXhAB5KKm95vfjiDPoY+SjAejhEx3jMf3TRZOgdMkcmf+a2qVh9Xxt/FrIm8NaOJhkprh39aM95Tn22H9L92nwPDfnkduVBjPVCiFbT8aWE90RQ==", "X-Forefront-Antispam-Report": "CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE;\n SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014); DIR:OUT;\n SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n OOeMlcqJcPS7Dk+kcCff3vdqw+1uSZJPK/IbLrJxXjnOmhFD3kBLsKffuc8gQUxCJQzI+301QR9M0XzIPEzF0pgpVLW4Q23Ri0J00MRjBnOPSEZjEAKTkZH/McFXsQl32aP9AHZjFjuAFXzBsv4FD2s771Gc8VogHa45N0NJbN09XBO0DQptRMywm8VawskGpQMElGentNyX6j+Z/O3WNM8DsRGf9ftE1jvw3aGC96P5zYEIkPlq80buUVbiBjBK+JNTLHvYb+gvoBqiqxUCv7j6ffBfL9s35tmDETIPcE9Fn5tsJpdlMbR5uPH3aXftTG/UBQ+YLmK+4cEqXTF/qM+aHU069sCmH6AsQ6eHta255LCRwW1Lk8DsiO/bRJ3A+/iv0jOQ3NePcnrjnYlMZsAf2booUUxP/L53bLbTQB7kslo3vp1DJULTZLDYEGJO", "X-OriginatorOrg": "Nvidia.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "17 Feb 2026 06:02:26.2814 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 665a51d2-2e4c-432b-fece-08de6dea2033", "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161];\n Helo=[mail.nvidia.com]", "X-MS-Exchange-CrossTenant-AuthSource": "\n SJ1PEPF00002319.namprd03.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "MN0PR12MB5979", "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: Dhruv Chawla <dhruvc@nvidia.com>\n\nThis option prints the current version of GCOV that is being used by the\nAutoFDO infrastructure. This avoids the need to bump the number across\nmutiple files in the build system for future increments to it.\n\nBootstrapped and regtested on aarch64-linux-gnu.\n\nSigned-off-by: Dhruv Chawla <dhruvc@nvidia.com>\n\ngcc/ChangeLog:\n\n\t* Makefile.in (all.fda): Add `--print-autofdo-gcov-version` to\n\tprofile_merger invocation.\n\t* auto-profile.cc (AUTO_PROFILE_VERSION): Move from here ...\n\t* auto-profile.h (AUTO_PROFILE_VERSION): ... to here.\n\t* common.opt: Add -print-autofdo-gcov-version and\n\t--print-autofdo-gcov-version.\n\t* doc/invoke.texi: Document the options.\n\t* gcc.cc: Add include for auto-profile.h.\n\t(driver_handle_option): Add OPT_print_autofdo_gcov_version.\n\t(driver::maybe_print_and_exit): Handle the option.\n\ngcc/c/ChangeLog:\n\n\t* Make-lang.in: Add `--print-autofdo-gcov-version` to\n\tprofile_merger and create_gcov invocations.\n\ngcc/cp/ChangeLog:\n\n\t* Make-lang.in: Likewise.\n\ngcc/lto/ChangeLog:\n\n\t* Make-lang.in: Likewise.\n\ngcc/testsuite/ChangeLog:\n\n\t* lib/profopt.exp: Invoke $GCC_UNDER_TEST with\n\t`--print-autofdo-gcov-version` before running create_gcov to get\n\tthe GCOV version.\n---\n gcc/Makefile.in | 2 +-\n gcc/auto-profile.cc | 1 -\n gcc/auto-profile.h | 2 ++\n gcc/c/Make-lang.in | 6 +++---\n gcc/common.opt | 6 ++++++\n gcc/cp/Make-lang.in | 6 +++---\n gcc/doc/invoke.texi | 7 +++++++\n gcc/gcc.cc | 8 ++++++++\n gcc/lto/Make-lang.in | 6 +++---\n gcc/testsuite/lib/profopt.exp | 5 ++++-\n 10 files changed, 37 insertions(+), 12 deletions(-)", "diff": "diff --git a/gcc/Makefile.in b/gcc/Makefile.in\nindex 9e8da255186..6da805fbb62 100644\n--- a/gcc/Makefile.in\n+++ b/gcc/Makefile.in\n@@ -4818,7 +4818,7 @@ paranoia: paranoia.o real.o $(LIBIBERTY)\n \tg++ -o $@ paranoia.o real.o $(LIBIBERTY)\n \n all.fda: $(ALL_FDAS)\n-\t$(PROFILE_MERGER) $(ALL_FDAS) --output_file all.fda -gcov_version 3\n+\t$(PROFILE_MERGER) $(ALL_FDAS) --output_file all.fda -gcov_version `../stage1-gcc/xgcc$(exeext) --print-autofdo-gcov-version`\n \n # These exist for maintenance purposes.\n \ndiff --git a/gcc/auto-profile.cc b/gcc/auto-profile.cc\nindex b448565376d..34f863a7731 100644\n--- a/gcc/auto-profile.cc\n+++ b/gcc/auto-profile.cc\n@@ -122,7 +122,6 @@ along with GCC; see the file COPYING3. If not see\n */\n \n #define DEFAULT_AUTO_PROFILE_FILE \"fbdata.afdo\"\n-#define AUTO_PROFILE_VERSION 3\n \n /* profile counts determined by AFDO smaller than afdo_hot_bb_threshold are\n considered cols. */\ndiff --git a/gcc/auto-profile.h b/gcc/auto-profile.h\nindex d971401238e..2685a1453c5 100644\n--- a/gcc/auto-profile.h\n+++ b/gcc/auto-profile.h\n@@ -21,6 +21,8 @@ along with GCC; see the file COPYING3. If not see\n #ifndef AUTO_PROFILE_H\n #define AUTO_PROFILE_H\n \n+#define AUTO_PROFILE_VERSION 3\n+\n /* Read, process, finalize AutoFDO data structures. */\n extern void read_autofdo_file (void);\n extern void end_auto_profile (void);\ndiff --git a/gcc/c/Make-lang.in b/gcc/c/Make-lang.in\nindex fd127caba91..313bba88835 100644\n--- a/gcc/c/Make-lang.in\n+++ b/gcc/c/Make-lang.in\n@@ -93,7 +93,7 @@ components_in_prev = \"bfd opcodes binutils fixincludes gas gcc gmp mpfr mpc isl\n components_in_prev_target = \"libstdc++-v3 libsanitizer libvtv libgcc libbacktrace libphobos zlib libgomp libatomic\"\n \n cc1.fda: create_fdas_for_cc1\n-\t$(PROFILE_MERGER) $(shell ls -ha cc1_*.fda) --output_file cc1.fda -gcov_version 3\n+\t$(PROFILE_MERGER) $(shell ls -ha cc1_*.fda) --output_file cc1.fda -gcov_version `../stage1-gcc/xgcc$(exeext) --print-autofdo-gcov-version`\n \n create_fdas_for_cc1: ../stage1-gcc/cc1$(exeext) ../prev-gcc/$(PERF_DATA)\n \tfor component_in_prev in \"$(components_in_prev)\"; do \\\n@@ -102,7 +102,7 @@ create_fdas_for_cc1: ../stage1-gcc/cc1$(exeext) ../prev-gcc/$(PERF_DATA)\n \t echo $$perf_path; \\\n \t if [ -f $$perf_path ]; then \\\n \t profile_name=cc1_$$component_in_prev.fda; \\\n-\t $(CREATE_GCOV) -binary ../stage1-gcc/cc1$(exeext) -gcov $$profile_name -profile $$perf_path -gcov_version 3 || exit 1; \\\n+\t $(CREATE_GCOV) -binary ../stage1-gcc/cc1$(exeext) -gcov $$profile_name -profile $$perf_path -gcov_version `../stage1-gcc/xgcc$(exeext) --print-autofdo-gcov-version` || exit 1; \\\n \t fi; \\\n \tdone;\n \n@@ -112,7 +112,7 @@ create_fdas_for_cc1: ../stage1-gcc/cc1$(exeext) ../prev-gcc/$(PERF_DATA)\n \t echo $$perf_path; \\\n \t if [ -f $$perf_path ]; then \\\n \t profile_name=cc1_$$component_in_prev_target.fda; \\\n-\t $(CREATE_GCOV) -binary ../prev-gcc/cc1$(exeext) -gcov $$profile_name -profile $$perf_path -gcov_version 3 || exit 1; \\\n+\t $(CREATE_GCOV) -binary ../prev-gcc/cc1$(exeext) -gcov $$profile_name -profile $$perf_path -gcov_version `../prev-gcc/xgcc$(exeext) --print-autofdo-gcov-version` || exit 1; \\\n \t fi; \\\n \tdone;\n \ndiff --git a/gcc/common.opt b/gcc/common.opt\nindex 88b79bbf8f5..e46f249e380 100644\n--- a/gcc/common.opt\n+++ b/gcc/common.opt\n@@ -349,6 +349,9 @@ Driver JoinedOrMissing Alias(B)\n -preprocess\n Driver Alias(E)\n \n+-print-autofdo-gcov-version\n+Driver Alias(print-autofdo-gcov-version)\n+\n -print-file-name\n Driver Separate Alias(print-file-name=)\n \n@@ -3902,6 +3905,9 @@ Driver\n pipe\n Driver Var(use_pipes)\n \n+print-autofdo-gcov-version\n+Driver Var(print_autofdo_gcov_version)\n+\n print-file-name=\n Driver JoinedOrMissing Var(print_file_name)\n \ndiff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in\nindex 55be730f502..621c53632fc 100644\n--- a/gcc/cp/Make-lang.in\n+++ b/gcc/cp/Make-lang.in\n@@ -210,7 +210,7 @@ components_in_prev = \"bfd opcodes binutils fixincludes gas gcc gmp mpfr mpc isl\n components_in_prev_target = \"libstdc++-v3 libsanitizer libvtv libgcc libbacktrace libphobos zlib libgomp libatomic\"\n \n cc1plus.fda: create_fdas_for_cc1plus\n-\t$(PROFILE_MERGER) $(shell ls -ha cc1plus_*.fda) --output_file cc1plus.fda -gcov_version 3\n+\t$(PROFILE_MERGER) $(shell ls -ha cc1plus_*.fda) --output_file cc1plus.fda -gcov_version `../stage1-gcc/xgcc$(exeext) --print-autofdo-gcov-version`\n \n create_fdas_for_cc1plus: ../stage1-gcc/cc1plus$(exeext) ../prev-gcc/$(PERF_DATA)\n \tfor component_in_prev in \"$(components_in_prev)\"; do \\\n@@ -219,7 +219,7 @@ create_fdas_for_cc1plus: ../stage1-gcc/cc1plus$(exeext) ../prev-gcc/$(PERF_DATA)\n \t echo $$perf_path; \\\n \t if [ -f $$perf_path ]; then \\\n \t profile_name=cc1plus_$$component_in_prev.fda; \\\n-\t $(CREATE_GCOV) -binary ../stage1-gcc/cc1plus$(exeext) -gcov $$profile_name -profile $$perf_path -gcov_version 3 || exit 1; \\\n+\t $(CREATE_GCOV) -binary ../stage1-gcc/cc1plus$(exeext) -gcov $$profile_name -profile $$perf_path -gcov_version `../stage1-gcc/xgcc$(exeext) --print-autofdo-gcov-version` || exit 1; \\\n \t fi; \\\n \tdone;\n \n@@ -229,7 +229,7 @@ create_fdas_for_cc1plus: ../stage1-gcc/cc1plus$(exeext) ../prev-gcc/$(PERF_DATA)\n \t echo $$perf_path; \\\n \t if [ -f $$perf_path ]; then \\\n \t profile_name=cc1plus_$$component_in_prev_target.fda; \\\n-\t $(CREATE_GCOV) -binary ../prev-gcc/cc1plus$(exeext) -gcov $$profile_name -profile $$perf_path -gcov_version 3 || exit 1; \\\n+\t $(CREATE_GCOV) -binary ../prev-gcc/cc1plus$(exeext) -gcov $$profile_name -profile $$perf_path -gcov_version `../prev-gcc/xgcc$(exeext) --print-autofdo-gcov-version` || exit 1; \\\n \t fi; \\\n \tdone;\n \ndiff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi\nindex 60d0b570710..ee5487824aa 100644\n--- a/gcc/doc/invoke.texi\n+++ b/gcc/doc/invoke.texi\n@@ -865,6 +865,7 @@ Objective-C and Objective-C++ Dialects}.\n -fsel-sched-verbose -fsel-sched-dump-cfg -fsel-sched-pipelining-verbose\n -fstats -fstack-usage -ftime-report -ftime-report-details\n -fvar-tracking-assignments-toggle -gtoggle\n+-print-autofdo-gcov-version\n -print-file-name=@var{library} -print-libgcc-file-name\n -print-multi-directory -print-multi-lib -print-multi-os-directory\n -print-multiarch\n@@ -872,6 +873,7 @@ Objective-C and Objective-C++ Dialects}.\n -print-sysroot -print-sysroot-headers-suffix\n -save-temps -save-temps=cwd -save-temps=obj -time@r{[}=@var{file}@r{]}\n --dump=@var{letters}\n+--print-autofdo-gcov-version\n --print-file-name=@var{library} --print-libgcc-file-file-name\n --print-multi-directory --print-multi-lib --print-multi-os-directory\n --print-multiarch --print-prog-name=@var{program}\n@@ -21027,6 +21029,11 @@ For example, with @option{-fdbg-cnt=dce:2-4:10-11,tail_call:10},\n eleventh invocation.\n For @code{dbg_cnt(tail_call)} true is returned for first 10 invocations.\n \n+@opindex print-autofdo-gcov-version\n+@item -print-autofdo-gcov-version\n+@itemx --print-autofdo-gcov-version\n+Print the current version of GCOV being used by the AutoFDO infrastructure.\n+\n @opindex print-file-name\n @item -print-file-name=@var{library}\n @itemx --print-file-name=@var{library}\ndiff --git a/gcc/gcc.cc b/gcc/gcc.cc\nindex 065f69c9d8b..aa8e5553982 100644\n--- a/gcc/gcc.cc\n+++ b/gcc/gcc.cc\n@@ -54,6 +54,7 @@ compilation is specified by a string called a \"spec\". */\n #include \"common/common-target.h\"\n #include \"gcc-urlifier.h\"\n #include \"opts-diagnostic.h\"\n+#include \"auto-profile.h\" /* for AUTO_PROFILE_VERSION. */\n \n #ifndef MATH_LIBRARY\n #define MATH_LIBRARY \"m\"\n@@ -4297,6 +4298,7 @@ driver_handle_option (struct gcc_options *opts,\n case OPT__no_sysroot_suffix:\n case OPT_pass_exit_codes:\n case OPT_print_search_dirs:\n+ case OPT_print_autofdo_gcov_version:\n case OPT_print_file_name_:\n case OPT_print_prog_name_:\n case OPT_print_multi_lib:\n@@ -8830,6 +8832,12 @@ driver::maybe_print_and_exit () const\n return (0);\n }\n \n+ if (print_autofdo_gcov_version)\n+ {\n+ printf (\"%d\\n\", AUTO_PROFILE_VERSION);\n+ return (0);\n+ }\n+\n if (print_file_name)\n {\n printf (\"%s\\n\", find_file (print_file_name));\ndiff --git a/gcc/lto/Make-lang.in b/gcc/lto/Make-lang.in\nindex eacfe53ca14..3d8c1f55376 100644\n--- a/gcc/lto/Make-lang.in\n+++ b/gcc/lto/Make-lang.in\n@@ -106,7 +106,7 @@ components_in_prev = \"bfd opcodes binutils fixincludes gas gcc gmp mpfr mpc isl\n components_in_prev_target = \"libstdc++-v3 libsanitizer libvtv libgcc libbacktrace libphobos zlib libgomp libatomic\"\n \n lto1.fda: create_fdas_for_lto1\n-\t$(PROFILE_MERGER) $(shell ls -ha lto1_*.fda) --output_file lto1.fda -gcov_version 3\n+\t$(PROFILE_MERGER) $(shell ls -ha lto1_*.fda) --output_file lto1.fda -gcov_version `../stage1-gcc/xgcc$(exeext) --print-autofdo-gcov-version`\n \n create_fdas_for_lto1: ../stage1-gcc/lto1$(exeext) ../prev-gcc/$(PERF_DATA)\n \tfor component_in_prev in \"$(components_in_prev)\"; do \\\n@@ -115,7 +115,7 @@ create_fdas_for_lto1: ../stage1-gcc/lto1$(exeext) ../prev-gcc/$(PERF_DATA)\n \t echo $$perf_path; \\\n \t if [ -f $$perf_path ]; then \\\n \t profile_name=lto1_$$component_in_prev.fda; \\\n-\t $(CREATE_GCOV) -binary ../stage1-gcc/lto1$(exeext) -gcov $$profile_name -profile $$perf_path -gcov_version 3 || exit 1; \\\n+\t $(CREATE_GCOV) -binary ../stage1-gcc/lto1$(exeext) -gcov $$profile_name -profile $$perf_path -gcov_version `../stage1-gcc/xgcc$(exeext) --print-autofdo-gcov-version` || exit 1; \\\n \t fi; \\\n \tdone;\n \n@@ -125,7 +125,7 @@ create_fdas_for_lto1: ../stage1-gcc/lto1$(exeext) ../prev-gcc/$(PERF_DATA)\n \t echo $$perf_path; \\\n \t if [ -f $$perf_path ]; then \\\n \t profile_name=lto1_$$component_in_prev_target.fda; \\\n-\t $(CREATE_GCOV) -binary ../prev-gcc/lto1$(exeext) -gcov $$profile_name -profile $$perf_path -gcov_version 3 || exit 1; \\\n+\t $(CREATE_GCOV) -binary ../prev-gcc/lto1$(exeext) -gcov $$profile_name -profile $$perf_path -gcov_version `../prev-gcc/xgcc$(exeext) --print-autofdo-gcov-version` || exit 1; \\\n \t fi; \\\n \tdone;\n \ndiff --git a/gcc/testsuite/lib/profopt.exp b/gcc/testsuite/lib/profopt.exp\nindex c9f5ae53d49..d1266539003 100644\n--- a/gcc/testsuite/lib/profopt.exp\n+++ b/gcc/testsuite/lib/profopt.exp\n@@ -313,6 +313,7 @@ proc profopt-execute { src } {\n global verbose\n global testname_with_flags\n global additional_sources_used\n+ global GCC_UNDER_TEST\n \n if ![info exists profile_option] {\n error \"No profile option specified for first compile.\"\n@@ -453,7 +454,9 @@ proc profopt-execute { src } {\n \t # convert profile\n \t if { $run_autofdo == 1 } {\n set bprefix \"afdo.\"\n-\t\tset cmd \"create_gcov --binary $execname1 --profile=$tmpdir/$base.perf.data --gcov_version=3 --gcov=$tmpdir/$bprefix$base.$ext\"\n+\t\tset compiler [lindex $GCC_UNDER_TEST 0]\n+\t\tset autofdo_version [string trim [lindex [remote_exec target \"$compiler --print-autofdo-gcov-version\"] 1] ]\n+\t\tset cmd \"create_gcov --binary $execname1 --profile=$tmpdir/$base.perf.data --gcov_version=$autofdo_version --gcov=$tmpdir/$bprefix$base.$ext\"\n \t\tverbose \"Running $cmd\"\n \t\tset id [remote_spawn \"\" $cmd]\n \t\tif { $id < 0 } {\n", "prefixes": [] }