From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com [68.232.141.98]) by sourceware.org (Postfix) with ESMTPS id 59623384F9A2; Mon, 27 Nov 2023 15:46:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 59623384F9A2 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 59623384F9A2 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=68.232.141.98 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701099979; cv=none; b=x0b6Opheour5vr1Tv5Vv2QFLGy5py7/e9zdoYXI5bG7tKpx08dTQcK5Wxbi4x1WFtrdl5XFpqgpOKANvgMzFu2vKag5jAthPkFxq/ZWGHIIS88KuG6GpjbTzAtNHlBeQSQGfUUGJK6IZF2p6TxPZIfB6NN+g5scQ16MVaaKPa9Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701099979; c=relaxed/simple; bh=7qZrq76p2SY1x883cMQ0Fy/glaqjXWkbCDWgjoLgNLc=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=rRbWK32rjYF7TUVN5w9fpjTDsrjU6auiEEwb/MSw8z1My0cLshZ5hQPA9Z58u+Jl/HRkEYI3h2FJpniBME5qKwbCIlUeSZzKpx9SvAJxBQ5ezXmVQlupGHT6lvHir6HQMVRAxN7EBzRl+PJZsSeDqhWI7kr8Tw6X9bQkuG6bukQ= ARC-Authentication-Results: i=1; server2.sourceware.org X-CSE-ConnectionGUID: uRVPjvIfSayP68dhS5rL4w== X-CSE-MsgGUID: qAsnC6dDT92/tOhFHSa3Qw== X-IronPort-AV: E=Sophos;i="6.04,231,1695715200"; d="scan'208";a="26645176" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa2.mentor.iphmx.com with ESMTP; 27 Nov 2023 07:46:16 -0800 IronPort-SDR: 7oCQ9dQFh5zgShqUBKqq9tzT3Aq+j4ahSWdnA6IOo0qbWIFtyvBBLqC6t83O5EiZsCSELoz+wO lSZmBBZ2zEiaoaUC1Lrw0EsFH6ppzo8B3Zsf9QKXEjej2RkXQdI/jdObJfNZta9vQi4p8FLSOt ehNsF87HUZcCHCn5RwRfXA5R00P2ZhVDOeVTRxbatjY7oMe2BwfpEoGK8ykJLU6eGsi/cTiyK2 P6/B0CQ5KYNcs8IFq2n14CS8dGs+t0kcBklKXTI5CnZSTzNc0lHKLFXqFCnzd2wbK9bpImRUWq 1JQ= From: Thomas Schwinge To: Arthur Cohen , Pierre-Emmanuel Patry CC: , Subject: Re: GCC/Rust libgrust-v2/to-submit branch In-Reply-To: References: <20230920120311.14892-1-arthur.cohen@embecosm.com> <20230920120311.14892-3-arthur.cohen@embecosm.com> <871qek608j.fsf@euler.schwinge.homeip.net> <87wmv7ztkf.fsf@euler.schwinge.homeip.net> <871qcktqxd.fsf@euler.schwinge.homeip.net> User-Agent: Notmuch/0.29.3+94~g74c3f1b (https://notmuchmail.org) Emacs/28.2 (x86_64-pc-linux-gnu) Date: Mon, 27 Nov 2023 16:46:08 +0100 Message-ID: <87zfyz5hdr.fsf@euler.schwinge.homeip.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) X-Spam-Status: No, score=-5.8 required=5.0 tests=BAYES_00,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi! On 2023-11-21T16:20:22+0100, Arthur Cohen wrote= : > A newer version of the library has been force-pushed to the branch > `libgrust-v2/to-submit`. > On 11/20/23 15:55, Thomas Schwinge wrote: >> Arthur and Pierre-Emmanuel have prepared a GCC/Rust libgrust-v2/to-submi= t >> branch: . >> In that one, most of the issues raised have been addressed, and which >> I've now successfully "tested" in my different GCC configurations, >> requiring just one additional change (see end of this email). I'm using >> "tested" in quotes here, as libgrust currently is still missing its >> eventual content, and still is without actual users, so we may still be >> up for surprises later on. ;-) >> On 2023-10-27T22:41:52+0200, I wrote: >>> On 2023-09-27T00:25:16+0200, I wrote: >>>> don't we also directly need to >>>> incorporate here a few GCC/Rust master branch follow-on commits, like: >>>> >>>> - commit 171ea4e2b3e202067c50f9c206974fbe1da691c0 "fixup: Fix boots= trap build" >>>> - commit 61cbe201029658c32e5c360823b9a1a17d21b03c "fixup: Fix missi= ng build dependency" >>> >>> I've not yet run into the need for these two. Let's please leave these >>> out of the upstream submission for now, until we understand what exactl= y >>> these are necessary for. >> >> (Still the same.) > > Do you mean that we should remove the content of these commits from the > submission? If so, I believe it's now done. That's correct. My theory is that "fixup: Fix bootstrap build" can be dropped altogether (that is, reverted on GCC/Rust master branch; I'll look into that, later), and "fixup: Fix missing build dependency" will be necessary once the GCC/Rust front end links against libgrust (that is, will then move into that commit). >>> However: >>> >>>> - commit 6a8b207b9ef7f9038e0cae7766117428783825d8 "libgrust: Add de= pendency to libstdc++" >>> >>> ... this one definitely is necessary right now; see discussion in >>> >>> "Disable target libgrust if we're not building target libstdc++". >> >> This one still isn't in the GCC/Rust libgrust-v2/to-submit branch -- but >> having now tested that branch, I'm now no longer seeing the respective >> build failure. Isn't that change "libgrust: Add dependency to libstdc++= " >> still necessary, conceptually? (Maybe we're just lucky, currently?) >> I'll be sure to re-test in my different GCC configurations once libgrust >> gains actual content and use. (..., which might then re-expose the >> original problem?) So I guess I really just was lucky in my testing, because: later I actually again did run into the need for that commit, so: > This commit was integrated into another one: > > fb31093105e build: Add libgrust as compilation modules > > (on libgrust-v2/to-submit as of 2 minutes ago) ACK. >>>>> --- a/gcc/rust/config-lang.in >>>>> +++ b/gcc/rust/config-lang.in >>>> >>>>> +target_libs=3D"target-libffi target-libbacktrace target-libgrust" >>>> >>>> Please don't add back 'target-libffi' and 'target-libbacktrace' here; >>>> just 'target-libgrust'. (As is present in GCC/Rust master branch, and >>>> per commit 7411eca498beb13729cc2acec77e68250940aa81 >>>> "Rust: Don't depend on unused 'target-libffi', 'target-libbacktrace'".= ) >>> >>> ... that change is necessary, too. >> >> That's still unchanged in the GCC/Rust libgrust-v2/to-submit branch; >> please apply to 'gcc/rust/config-lang.in': >> >> -target_libs=3D"target-libffi target-libbacktrace target-libgrust" >> +target_libs=3Dtarget-libgrust (That's now been addressed, too.) >> Then, still should re-order the commits so that (re)generation of >> auto-generated files comes before use of libgrust (so that later >> bisection doesn't break), and move the 'contrib/gcc_update' update into >> the commit that adds the auto-generated files. > > Do you mean that the regeneration should happen before the commit adding > the proc_macro library? Or that when we keep going and adding more > commits on top of this, we need to make sure the regeneration commit > happens before any code starts using/depending on libgrust/? My point is: once the 'gcc/rust/config-lang.in' changes appear (when a 'git bisect' tests commit "build: Add libgrust as compilation modules", by chance), the GCC build system will then try to build libgrust. But given that, at that time in the commit history, the libgrust build system ('libgrust/configure' etc.) is not yet present, the GCC build will fail. So I suggest: - "libgrust: Add entry for maintainers and stub changelog file" - "libgrust: Add libproc_macro and build system" ... plus 'autoreconf' in 'libgrust/' folded in. ... plus 'contrib/gcc_update' update moved here. - "build: Add libgrust as compilation modules" ... plus "Disable target libgrust if missing libstdc++" folded in. ... plus 'autoreconf' and 'autogen'in '/' folded in. - "Regenerate build files" then evaporates. > And alright, we'll move the changes to contrib/gcc_update into the > regeneration commit. > All the best, and thanks again for testing :) :-) So I hope I've not missed any major issues... Gr=C3=BC=C3=9Fe Thomas ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955