Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2223957/?format=api
{ "id": 2223957, "url": "http://patchwork.ozlabs.org/api/patches/2223957/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/df6a69d5-df83-4007-8b6b-37aa7781417a@baylibre.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": "<df6a69d5-df83-4007-8b6b-37aa7781417a@baylibre.com>", "list_archive_url": null, "date": "2026-04-16T12:22:33", "name": "gcn: Add --with-multilib-list=default-llvm<version> [PR124897]", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "979b8c574942add2d1b728ab59353883c8e4b1e6", "submitter": { "id": 87873, "url": "http://patchwork.ozlabs.org/api/people/87873/?format=api", "name": "Tobias Burnus", "email": "tburnus@baylibre.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/df6a69d5-df83-4007-8b6b-37aa7781417a@baylibre.com/mbox/", "series": [ { "id": 500150, "url": "http://patchwork.ozlabs.org/api/series/500150/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=500150", "date": "2026-04-16T12:22:33", "name": "gcn: Add --with-multilib-list=default-llvm<version> [PR124897]", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/500150/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2223957/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2223957/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=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=gET0Et0o;\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=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=gET0Et0o", "sourceware.org;\n dmarc=none (p=none dis=none) header.from=baylibre.com", "sourceware.org; spf=pass smtp.mailfrom=baylibre.com", "server2.sourceware.org;\n arc=none smtp.remote-ip=209.85.128.51" ], "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 4fxHGk6WDgz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 22:23:09 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 74E664BA23EB\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 12:23:06 +0000 (GMT)", "from mail-wm1-f51.google.com (mail-wm1-f51.google.com\n [209.85.128.51])\n by sourceware.org (Postfix) with ESMTPS id E8CC14BA23D8\n for <gcc-patches@gcc.gnu.org>; Thu, 16 Apr 2026 12:22:35 +0000 (GMT)", "by mail-wm1-f51.google.com with SMTP id\n 5b1f17b1804b1-488b8bc6bc9so56715555e9.3\n for <gcc-patches@gcc.gnu.org>; Thu, 16 Apr 2026 05:22:35 -0700 (PDT)", "from ?IPV6:2001:16b8:3df4:5200:4f9d:fe54:a905:1e3f?\n ([2001:16b8:3df4:5200:4f9d:fe54:a905:1e3f])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43ead33d670sm14660963f8f.2.2026.04.16.05.22.33\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Thu, 16 Apr 2026 05:22:34 -0700 (PDT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 74E664BA23EB", "OpenDKIM Filter v2.11.0 sourceware.org E8CC14BA23D8" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org E8CC14BA23D8", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org E8CC14BA23D8", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776342156; cv=none;\n b=LIFHasEGBwvQKQXxeLIBDUyB28beBXVTJnWXmasPt6s5bFpXzRZYD922LxEBLkbSQJ0x570Ea4aVBWhok0YAE2GWPJeor3ytSYCawPegj+XPZeHrMmMGxlc53roC9hoG9CMNmLnxF+prUV9oKbu3UKm4HzL5FmHrU/mF3R8jPTM=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776342156; c=relaxed/simple;\n bh=TIwqmuI2uZCadyIGBRrvGelEkyB9q0c8R7qYg0ZKRtE=;\n h=DKIM-Signature:Message-ID:Date:MIME-Version:To:From:Subject;\n b=xzX1yenQCKH3mmjNh3vrfDCsVR0g/o1BfDbx/Bb2xd17y1MCD5UFHPBuivul04+0YJfjdklDBAivrn/WArQJCr89ekkBQpAaXa8ZY6uTD+gc4M89P9dS0SzY1/DSrOOvka2HnSUhiQbapkNOE30W+e8h0gAlamBtVXYywDyvbug=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1776342155;\n x=1776946955;\n darn=gcc.gnu.org;\n h=subject:from:to:content-language:user-agent:mime-version:date\n :message-id:from:to:cc:subject:date:message-id:reply-to;\n bh=viwi+VnJLJfhNzds/ZWahv4gPs/Q9VRBhaEi8f6AxUs=;\n b=gET0Et0oCz659lV9yuxlkc9bBf2VsG9knDZebXM7ieia5X3NleepRaY41TCE1+fQU0\n PbijCXhgui1yVOgFBUuAArXdCisE7DKmxg59kaS3DyJ3e0yBIxTousvbkU4u0XvYPkax\n efI8LTgx9bltrtyfH2cDV9Y7zMnEMo6yEDYCaygIzH2pEfxh3mSVqjn6Tj+T9ucAh7Kw\n lIL+xRPip3/j7dJvz4RCsKWVaAo8A2PIHPoRv9MjcahIDIHrhq/3VYP4JNmE2oSxKtB2\n kXsxELNrXKBQgzrSFWGnL+64nxX6kvVomdpBdOB/ERK39E3MrpO6Y2AdefiPu1rFjQ3F\n AQ8Q==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776342155; x=1776946955;\n h=subject:from:to:content-language:user-agent:mime-version:date\n :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=viwi+VnJLJfhNzds/ZWahv4gPs/Q9VRBhaEi8f6AxUs=;\n b=pdJElCb4uw6mvJWQS8iTefJ/ZpFx4IX4eLXAwRppsusZ1YK+hlq3Tejy0uzIXqmFXd\n v+1jt/lGLHwDDrB29myDmDwE7XVu3zbD6jZjoIBIpowqMhLM1jnSb+7oexXvqJpb+v6l\n sTvsQ3Gd7fLsDIXpNaJtGc9xFUvtqkAoePB+NocK7fYJlf88k8hfY57jH2uEWFfL8o7E\n xFhK/re8C59y50JRCIMjpusNFSC32yJC79CyIdKRGxhjGznSVXREn+YJ0ykgH8VPTzsK\n CwsbPrLbXX1XIDaZLAb2HmMqgWnvgtrr7npVanb4C2HJIQbjOD0+MzzxRDm9O1tOtDFn\n DdMw==", "X-Gm-Message-State": "AOJu0YyiUIWi3IDiS77fwYhipYNrdClq7qHaOq/1MTPAL0gKMevKredV\n Ytl8MvDF4SE0j19QA3echUDKU4cJ43mkaKqXdag+ImLGN0QP4FElka7olzvpsk16QpAeLi4mxgd\n SxKEAWWUcmA==", "X-Gm-Gg": "AeBDievPOiKmX/0RfzcOiTdc6CuvAblKcHbk+b3+XQQvqkQAmajx+cDR8yuS4GKdKc/\n 8S6fTzC0MVehBk/HXaynOhLlrG63iXwSReEGnI/1cgcXaI/bL9qiapt/WwoYavqB9QAAx5MkNT+\n yGYbV9jAlzZER2dYdN5UUIKyyGyKIO4qj15d9LuzazWZxb2mY5CaQ+N6mCKD2PtimzXiq1OYOQW\n iGuPIaY7PTJiDVn173vaoMEjmCxTfsQy7sURilkCYK71qW/ZQb/5tbfU2buTqJsQ9SFoNyob+xf\n BLicSofOn994VK2km7GzMuioRO/Dd2ScVSPtJu3Kdv3iJjZOtUWqntcB5CFe2itm6gDHEPapJCF\n ZEa47hFNqlY44Mv7WEuljlY2kCwnE3nYJzHU4Meq9DTVb3Sp+YOMvRrdRWU0zBeaNGjW3Y3i4XZ\n M8w/wNDgr/5LeacmBWY9DnwuY2o/rfBf3cfEytrFh4fuF8yn7KsscCkgam6+G5lD7EDx648TFV3\n JoOnRNSy2pJWg6gKWk2Ew4=", "X-Received": "by 2002:a05:600c:308a:b0:488:f360:da55 with SMTP id\n 5b1f17b1804b1-488f360da5fmr46404245e9.12.1776342154815;\n Thu, 16 Apr 2026 05:22:34 -0700 (PDT)", "Content-Type": "multipart/mixed; boundary=\"------------A1eYkFsL1Ged00s1aUj5Zni0\"", "Message-ID": "<df6a69d5-df83-4007-8b6b-37aa7781417a@baylibre.com>", "Date": "Thu, 16 Apr 2026 14:22:33 +0200", "MIME-Version": "1.0", "User-Agent": "Mozilla Thunderbird", "Content-Language": "en-US", "To": "gcc-patches <gcc-patches@gcc.gnu.org>, Andrew Stubbs <ams@baylibre.com>,\n Sandra Loosemore <sloosemore@baylibre.com>", "From": "Tobias Burnus <tburnus@baylibre.com>", "Subject": "[Patch] gcn: Add --with-multilib-list=default-llvm<version>\n [PR124897]", "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": "Especially for distribution builds, it is much easier to request\nthe compiler to build a (reasonable) set of multilibs as supported\nby the used-for-build LLVM. Currently, either the default set works\nor some manual tweaking is required.\n\n(GCC uses LLVM's linker and assembler, which is needed during\nGCC-build time to create GCN version of libgfortran, libc etc.)\n\nAs suggested in the PR, this patch adds the configure flag\n --with-multilib-list=default-llvm<version>\n\nDefaulting to the GCC 15 multilib choice before LLVM 19 and\nto as much multilib as possible since LLVM 19, matching\nGCC 16's 'default' (which requires LLVM >= 20).\n\nComments, remarks?\nOK for mainline? If so, which one?\n\nTobias\n\nPS: Tested with a couple of values and then checking that\ngcc/Makefile's TM_MULTILIB_CONFIG=... looks reasonable or\nthat the expected error is printed. Note: 'test' returns\nzero or not zero (= one) for true and false; for invalid\nnumbers like in '8a -gt 13', it also returns non-zero\n(for test as a whole, not as in evaluating that subexpression).\nWith Bash: stderr will have 'test: 8a: integer expected'\nand the exit status code is 2.", "diff": "gcn: Add --with-multilib-list=default-llvm<version> [PR124897]\n\nGCC's GCN (AMD GPU) support uses LLVM's assembler (llvm-mc) and linker (lld)\nsuch that the supported architectures depend on the LLVM version.\n\nFor convenince, this patch adds a new multilib pseudo-target\n'default-llvm<version>', which uses:\n* for LLVM 13 to 18 the archs of GCC 15's 'default' multilib, except\n - for LLVM 13 and 14 without unsupported gfx11 archs\n - for LLVM 18 additionally gfx942.\n* for LLVM 19 and newer GCC 16's 'default' multilib with generic\n archs, except\n - for LLVM 19, gfx942 instead of the unsupported gfx9-4-generic\n\ngcc/ChangeLog:\n\n\tPR target/124897\n\t* config.gcc: For gcn, support default-llvm<version>\n\tin --with-multilib-list.\n\t* doc/install.texi (with-multilib-list, amdgcn-amdhsa):\n\tDocument it.\n\n gcc/config.gcc | 27 +++++++++++++++++++++++++++\n gcc/doc/install.texi | 14 +++++++++++++-\n 2 files changed, 40 insertions(+), 1 deletion(-)\n\ndiff --git a/gcc/config.gcc b/gcc/config.gcc\nindex f7b1bebe6f1..2a7d38f39ba 100644\n--- a/gcc/config.gcc\n+++ b/gcc/config.gcc\n@@ -4722,6 +4722,33 @@ case \"${target}\" in\n \t\txdefault | xyes)\n \t\t\tTM_MULTILIB_CONFIG=`echo \"gfx908,gfx90a,gfx9-generic,gfx9-4-generic,gfx10-3-generic,gfx11-generic\" | sed \"s/${with_arch},\\?//;s/,$//\"`\n \t\t\t;;\n+\t\txdefault-llvm*)\n+\t\t\tamdgcn_llvm_version=`echo \"${with_multilib_list}\" | sed -e 's/default-llvm//'`\n+\t\t\tif test \"x${amdgcn_llvm_version}\" = x || ! test \"${amdgcn_llvm_version}\" -gt 13 2> /dev/null;\n+\t\t\tthen\n+\t\t\t\techo \"Unsupported LLVM version for --with-multilib-list=${with_multilib_list}\" 1>&2\n+\t\t\t\texit 1\n+\t\t\tfi\n+\t\t\tcase \"${amdgcn_llvm_version}\" in\n+\t\t\t13 | 14)\n+\t\t\t\tTM_MULTILIB_CONFIG=\"gfx900,gfx906,gfx908,gfx90a,gfx90c,gfx1030,gfx1036\"\n+\t\t\t\t;;\n+\t\t\t15 | 16 | 17)\n+\t\t\t\t# GCC 15 default\n+\t\t\t\tTM_MULTILIB_CONFIG=\"gfx900,gfx906,gfx908,gfx90a,gfx90c,gfx1030,gfx1036,gfx1100,gfx1103\"\n+\t\t\t\t;;\n+\t\t\t18)\n+\t\t\t\tTM_MULTILIB_CONFIG=\"gfx900,gfx906,gfx908,gfx90a,gfx90c,gfx1030,gfx1036,gfx1100,gfx1103,gfx942\"\n+\t\t\t\t;;\n+\t\t\t19)\n+\t\t\t\tTM_MULTILIB_CONFIG=\"gfx908,gfx90a,gfx9-generic,gfx942,gfx10-3-generic,gfx11-generic\"\n+\t\t\t\t;;\n+\t\t\t*)\n+\t\t\t\tTM_MULTILIB_CONFIG=\"gfx908,gfx90a,gfx9-generic,gfx9-4-generic,gfx10-3-generic,gfx11-generic\"\n+\t\t\t\t;;\n+\t\t\tesac\n+\t\t\tTM_MULTILIB_CONFIG=`echo \"${TM_MULTILIB_CONFIG}\" | sed \"s/${with_arch},\\?//;s/,$//\"`\n+\t\t\t;;\n \t\t*)\n \t\t\tTM_MULTILIB_CONFIG=\"${with_multilib_list}\"\n \t\t\t;;\ndiff --git a/gcc/doc/install.texi b/gcc/doc/install.texi\nindex 001d16fe67a..e11785e93fb 100644\n--- a/gcc/doc/install.texi\n+++ b/gcc/doc/install.texi\n@@ -1358,7 +1358,10 @@ default set of libraries is selected based on the value of\n ISA, specified via @option{--with-arch}. If @var{list} is empty, then there\n will be no multilibs and only the default run-time library will be built. If\n @var{list} is @code{default} or @option{--with-multilib-list=} is not\n-specified, then the default set of libraries is selected.\n+specified, then the default set of libraries is selected. The special value\n+value @code{default-llvm@var{version}} with @var{version} set to the major\n+version of LLVM enables a subset that is compatible with the LLVM assembler\n+and linker.\n \n @item arm*-*-*\n @var{list} is a comma separated list of @code{aprofile} and\n@@ -4174,6 +4177,15 @@ LLVM 18 for @code{gfx942}, LLVM 19 for the generic @code{gfx9-generic},\n while LLVM 20 is required for @code{gfx950}, @code{gfx1153}, and\n @code{gfx9-4-generic}.\n \n+The special multilib value @code{default-llvm13} and @code{default-llvm14}\n+include @code{gfx900}, @code{gfx906}, @code{gfx908}, @code{gfx90a},\n+@code{gfx90c}, @code{gfx1030}, and @code{gfx1036}; @code{default-llvm15},\n+@code{default-llvm16}, and @code{default-llvm17} additionally @code{gfx1100}\n+and @code{gfx1103} (the GCC 15 default). @code{default-llvm19} matches the\n+default multilib except that @code{gfx9-4-generic} is replaced by\n+@code{gfx9-4-generic}. For @code{default-llvm20} and later, the default\n+multilib is used.\n+\n The supported ISA architectures are listed in the GCC manual. The generic\n ISA targets @code{gfx9-generic}, @code{gfx10-3-generic}, and\n @code{gfx11-generic} reduce the number of required multilibs but note\n", "prefixes": [] }