From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 9EBAC385800A; Sat, 24 Jul 2021 23:18:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9EBAC385800A From: "mkrupcale at matthewkrupcale dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/87858] Building old multilib bootstrap GCC: stage1 32-bit libstdc++ fails to build after building 64-bit libstdc++ Date: Sat, 24 Jul 2021 23:18:38 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Version: unknown X-Bugzilla-Keywords: build X-Bugzilla-Severity: normal X-Bugzilla-Who: mkrupcale at matthewkrupcale dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Jul 2021 23:18:38 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D87858 --- Comment #8 from Matthew Krupcale = --- (In reply to Andrew Pinski from comment #7) > You misunderstood. Building a cross compiler and a canadian cross is so = the > new 4.8 compiler is NOT exposing to the bootstrap issue you mentioned. Fair enough, that seems likely to work as well. But you still need to build that initial compiler with the newer compiler. > 4.8 and 8.x are no longer maintained so fixing those are out of the quest= ion. I'm not suggesting to patch 4.8 or 8.x series. I'm suggesting that the issue still likely exists on the latest GCC. Of course you won't be able to verify that unless you intentionally create some new ABI in libstdc++ which is also used by the host programs and then try to build the old ABI libstdc++ with = the the new one on the build host. That's why it took so long to verify that GC= C 8 had the issue (as well as all versions between 4.8 and 8) and is likely sti= ll in the latest version. > stage1 of gcc does not require the LD_LIBRARY_PATH to be set at all I may be using the wrong name--perhaps it's not LD_LIBRARY_PATH specificall= y, but the effect is similar. My patch actually modifies the RPATH_ENVVAR to n= ot include the target libstdc++ path during stage1 of the bootstrap since the stage1 host binaries depend on the build host libstdc++. Then in stages 2 a= nd 3 the RPATH_ENVVAR can include the target libstdc++ path and build successful= ly.=