Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2233231/?format=api
{ "id": 2233231, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2233231/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260505203114.1903026-1-stefansf@linux.ibm.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": "<20260505203114.1903026-1-stefansf@linux.ibm.com>", "date": "2026-05-05T20:31:14", "name": "Dealing with multiarch only", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "e5790c1f0e1437ee1c5d7abe043b0922ae9c1c32", "submitter": { "id": 78338, "url": "http://patchwork.ozlabs.org/api/1.1/people/78338/?format=api", "name": "Stefan Schulze Frielinghaus", "email": "stefansf@linux.ibm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260505203114.1903026-1-stefansf@linux.ibm.com/mbox/", "series": [ { "id": 502898, "url": "http://patchwork.ozlabs.org/api/1.1/series/502898/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=502898", "date": "2026-05-05T20:31:14", "name": "Dealing with multiarch only", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/502898/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2233231/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2233231/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 (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=JzXCna+s;\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=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=JzXCna+s", "sourceware.org;\n dmarc=none (p=none dis=none) header.from=linux.ibm.com", "sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com", "server2.sourceware.org;\n arc=none smtp.remote-ip=148.163.158.5" ], "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 4g99F85YB4z1yJ0\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 06:33:00 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id C31494BA799B\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 5 May 2026 20:32:58 +0000 (GMT)", "from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com\n [148.163.158.5])\n by sourceware.org (Postfix) with ESMTPS id 65A304BA7990\n for <gcc-patches@gcc.gnu.org>; Tue, 5 May 2026 20:31:29 +0000 (GMT)", "from pps.filterd (m0356516.ppops.net [127.0.0.1])\n by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 645HrJmQ3011871; Tue, 5 May 2026 20:31:28 GMT", "from ppma21.wdc07v.mail.ibm.com\n (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91])\n by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dw9w6d812-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Tue, 05 May 2026 20:31:28 +0000 (GMT)", "from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1])\n by ppma21.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id\n 645KOeYe020106;\n Tue, 5 May 2026 20:31:27 GMT", "from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226])\n by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4dwvkjubj2-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Tue, 05 May 2026 20:31:27 +0000 (GMT)", "from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com\n [10.20.54.102])\n by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 645KVOWD42467640\n (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n Tue, 5 May 2026 20:31:24 GMT", "from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id 02BC52004B;\n Tue, 5 May 2026 20:31:24 +0000 (GMT)", "from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id DF97F20043;\n Tue, 5 May 2026 20:31:23 +0000 (GMT)", "from b3545007.lnxne.boe (unknown [9.87.84.240])\n by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTPS;\n Tue, 5 May 2026 20:31:23 +0000 (GMT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org C31494BA799B", "OpenDKIM Filter v2.11.0 sourceware.org 65A304BA7990" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 65A304BA7990", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 65A304BA7990", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778013089; cv=none;\n b=LD9soenl3ShM5lEMridYnIeIFq5QNzcZQJ3a+MBm2H+fhtm1jwzKTCWrLlXEsEMh0JCm2043xiP3205vgSzSCN9p5QFC0TubpEFNsZOPPT/O62cMxyhs04nG3ZttouRZKRsl8xCpCjRKN2MejvWW+VKpUJcIFd/YhE1rrdmd9c8=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1778013089; c=relaxed/simple;\n bh=Q8sh0A606nWyzxDUOa8qpQhaOxHWlrhD7vGeYnbwtVU=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=oalrL96Izasr1rY7NlJ+RKKDcfG030Vd3Jnemv9Y5pWjzzkMRwEfOcCmkfdCQuhhgU4W+NvUOzADhi4ztustKyYb8bgjICZXSb9mGStgpSwY5Y7BrpO4aLcStOhbSEpmTLYOlzaYIkvQGJvvWCT9y8A8XpCbjJ0g7DqvtxqhyZM=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n :content-transfer-encoding:date:from:message-id:mime-version\n :subject:to; s=pp1; bh=J+jZNJkkWiN+YRUV6ri45cKrNcJfznI1VvG/K5zLm\n Zo=; b=JzXCna+sJZp1/eFJiLWyWuDfV5l5OMO3yEzu9ITYFpzL1Hs2K9hdAJOIN\n 5DiCnLD7BbJCeBEt91P2v+mqV1XO7WhWDKrlvazk5to/4EWfkMJntrQzmcstawPq\n 7eiUcNUM64VpUFfVmX5Vu3NZ9cwcIlJx5WMiO06zFNgRqK7fLaB81f06zPXuNIBH\n BhPO0eiIWxJHXTF+a9asJkEgvq45Xn/bC+MC/4J4oHYkYeE8sN2BgOXQPJiulo/z\n 63eXzmAqzxL3rxtY6OPv/gLCeDvgVgFqCzGSri7m5BmVwMSG/7Dq1Eb5tBruPLcW\n T+MnRm96M4Ubnf+wyiQOosOxFNk4A==", "From": "Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>", "To": "gcc-patches@gcc.gnu.org", "Cc": "Matthias Klose <doko@ubuntu.com>,\n Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>", "Subject": "[PATCH] Dealing with multiarch only", "Date": "Tue, 5 May 2026 22:31:14 +0200", "Message-ID": "<20260505203114.1903026-1-stefansf@linux.ibm.com>", "X-Mailer": "git-send-email 2.53.0", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-TM-AS-GCONF": "00", "X-Authority-Analysis": "v=2.4 cv=XPQAjwhE c=1 sm=1 tr=0 ts=69fa53a0 cx=c_pps\n a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17\n a=NGcC8JguVDcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=Y2IxJ9c9Rs8Kov3niI8_:22 a=mDV3o1hIAAAA:8 a=b6DKepVLRKjznqpb0f8A:9", "X-Proofpoint-ORIG-GUID": "4F1YkZv44fCAkrtk8fmqpzbSNINTwRFG", "X-Proofpoint-GUID": "4F1YkZv44fCAkrtk8fmqpzbSNINTwRFG", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNTA1MDE5NSBTYWx0ZWRfX/4J4yl0wW56R\n dTiDZORwnqrSqHMDSBnQG/WQv2K/3Ge7+bdEWRTpro+o5QeMaOMb8oDjwAXrvQEp5NGL6ToEOmP\n K7+nuU+WTuH6igzwTgtZp6xJld7rLsj0Ug3DPwotmTfKk2Kw9tVrBrOWkRQB2r+qRWhx4EX19qf\n HigKmRN0Lp8DPXBqZ3e2JvrvjGhyDX7qYxgiba+G9ToTJR/PEkr0gOkz/qfGSwXF1GDBT97byrp\n OBDxci/4begz5fVzqTkTpaZtmEhjDXqkBD3ulTtce+8Dm0oO+qsbokfFk6iaFqGy4M5qMKZqWb2\n 68IN7cnl5xYTFtORM2QuiMUrmvxO7XKCzJOKDe4lz1B7MvONgyOUjQOBEa/kTdXwnntQ9EvzIoz\n KA44jQgmMmbHLm/qdEUPEL4PbbBs2zQbhCUVIBPs18VaH/hLe+wc1ot3w8/admcj0WquAeV1lAW\n fqq5MWi51rvs2Dfx6pg==", "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-05-05_02,2026-04-30_02,2025-10-01_01", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n bulkscore=0 lowpriorityscore=0 suspectscore=0 adultscore=0 spamscore=0\n priorityscore=1501 impostorscore=0 phishscore=0 malwarescore=0 clxscore=1011\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050195", "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: Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>\n\nWhile removing multilib support on s390, we still want to maintain a\ndirectory structure where 64-bit libraries end-up in directories named\n\"lib64\" instead of \"lib\". In order to do so only make use of\n\nMULTIARCH_DIRNAME = ../lib64$(call if_multiarch,:s390x-linux-gnu)\n\nand remove MULTILIB_{OPTIONS,DIRNAMES,OSDIRNAMES}. This in turn means\nmultilib.h is generated by running\n\ngenmultilib \"\" \"\" \"\" \"\" \"\" \"\" \"\" \"\" \"../lib64:s390x-linux-gnu\" \"\" \"false\" \"yes\"\n\nNote, the last argument \"yes\" is due to configure defaulting to enabling\nmultilib, if it is not explicitly disabled. Independent on whether\nmultilib is explicitly disabled or not we end up with\n\nstatic const char *const multilib_raw[] = {\n\".::../lib64:s390x-linux-gnu ;\",\nNULL\n};\n\nin the generated file multilib.h. On Debian/Ubuntu, the two consecutive\ncolons lead to parsing the wrong multiarch_dir\n\"../lib64:s390x-linux-gnu\" instead of \"s390x-linux-gnu\" in\nset_multilib_dir() from driver gcc.cc. This is fixed by removing the\nsuperfluous colon\n\nif [ -n \"${multiarch}\" ]; then\n defaultosdirname=::${multiarch}\nfi\n\nfrom generator genmultilib. This restores bootstrap. However, the\ndriver passes \"-imultilib .\" to cc1, now, which wasn't the case\npreviously. If multilib is not supported, all multilib directories are\nencoded by a dot which is why \"-imultilib .\" looks rather erroneous to\nme. If I'm not mistaken, then add_standard_paths() from incpath.cc\nsimply appends the argument from -imultilib to a path separated by a\ndirectory separator. Therefore, in this case it just takes \"$some_path\"\nand returns \"$somepath/.\" which could be filtered out:\n\n case 'I':\n {\n struct spec_path info;\n\n if (multilib_dir && strcmp (multilib_dir, \".\") != 0)\n {\n do_spec_1 (\"-imultilib\", 1, NULL);\n /* Make this a separate argument. */\n do_spec_1 (\" \", 0, NULL);\n do_spec_1 (multilib_dir, 1, NULL);\n do_spec_1 (\" \", 0, NULL);\n }\n\nin do_spec_1() from gcc.cc. For non-Unix-like OSs' this might not be\nonly superfluous but mandatory because a dot might mean something\ndifferent and doesn't resolve to the same directory. Any thoughts about\nthis?\n\nCurrently I'm running bootstrap+regtest for the following\nconfigurations:\n\n{--enable-multilib,--disable-multilib} x {Ubuntu,Fedora} x {s390x-with-m31-removed,s390x-without-m31-removed,x86_64}-linux-gnu\n\nwhich will take some time to complete.\n\n---\n gcc/gcc.cc | 2 +-\n gcc/genmultilib | 2 +-\n 2 files changed, 2 insertions(+), 2 deletions(-)", "diff": "diff --git a/gcc/gcc.cc b/gcc/gcc.cc\nindex f3e0004cdb8..acf1bb9a136 100644\n--- a/gcc/gcc.cc\n+++ b/gcc/gcc.cc\n@@ -6588,7 +6588,7 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)\n \t {\n \t struct spec_path info;\n \n-\t if (multilib_dir)\n+\t if (multilib_dir && strcmp (multilib_dir, \".\") != 0)\n \t\t{\n \t\t do_spec_1 (\"-imultilib\", 1, NULL);\n \t\t /* Make this a separate argument. */\ndiff --git a/gcc/genmultilib b/gcc/genmultilib\nindex a00d6d88683..43065c6ba85 100644\n--- a/gcc/genmultilib\n+++ b/gcc/genmultilib\n@@ -277,7 +277,7 @@ toosdirnames=\n defaultosdirname=\n defaultosdirname2=\n if [ -n \"${multiarch}\" ]; then\n- defaultosdirname=::${multiarch}\n+ defaultosdirname=:${multiarch}\n fi\n if [ -n \"${osdirnames}\" ]; then\n set x ${osdirnames}\n", "prefixes": [] }