From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 84EAB386F83F; Mon, 21 Dec 2020 18:36:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 84EAB386F83F 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: Mon, 21 Dec 2020 18:36:55 +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: Mon, 21 Dec 2020 18:36:55 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D87858 --- Comment #3 from Matthew Krupcale = --- I now observe this failure in the following two circumstances building mult= ilib bootstrap GCC: - GCC 4.8.3 using GCC 10.2.1-9 on Fedora 33[1] /builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/./gcc/xgcc -shared-libgcc -B/builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/./gcc -nostdinc++ -L/builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/x86_64-r= edhat-linux/32/libstdc++-v3/src -L/builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/x86_64-r= edhat-linux/32/libstdc++-v3/src/.libs -B/usr/x86_64-redhat-linux/bin/ -B/usr/x86_64-redhat-linux/lib/ -isystem /usr/x86_64-redhat-linux/include -isystem /usr/x86_64-redhat-linux/sys-incl= ude=20 -m32 -x c++-header -nostdinc++ -O2 -g -grecord-gcc-switches -Wformat -Wformat-security -Wp,-D_GLIBCXX_ASSERTIONS -mtune=3Dgeneric -fasynchronous-unwind-tables -D_GNU_SOURCE -m32 -I/builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/x86_64-r= edhat-linux/32/libstdc++-v3/include/x86_64-redhat-linux -I/builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/x86_64-r= edhat-linux/32/libstdc++-v3/include -I/builddir/build/BUILD/gcc-4.8.3-20140911/libstdc++-v3/libsupc++ -O2 -g /builddir/build/BUILD/gcc-4.8.3-20140911/libstdc++-v3/include/precompiled/s= tdc++.h -o x86_64-redhat-linux/bits/stdc++.h.gch/O2g.gch /builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/./gcc/cc1p= lus: /builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/x86_64-red= hat-linux/libstdc++-v3/src/.libs/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/./gcc/cc1p= lus) - GCC 8.2.1 using GCC 11.0.0-0.7 on Fedora 34[2] /builddir/build/BUILD/gcc-8.2.1-20181215/obj-x86_64-redhat-linux/./gcc/xgcc -shared-libgcc -B/builddir/build/BUILD/gcc-8.2.1-20181215/obj-x86_64-redhat-linux/./gcc -nostdinc++ -L/builddir/build/BUILD/gcc-8.2.1-20181215/obj-x86_64-redhat-linux/x86_64-r= edhat-linux/32/libstdc++-v3/src -L/builddir/build/BUILD/gcc-8.2.1-20181215/obj-x86_64-redhat-linux/x86_64-r= edhat-linux/32/libstdc++-v3/src/.libs -L/builddir/build/BUILD/gcc-8.2.1-20181215/obj-x86_64-redhat-linux/x86_64-r= edhat-linux/32/libstdc++-v3/libsupc++/.libs -B/usr/x86_64-redhat-linux/bin/ -B/usr/x86_64-redhat-linux/lib/ -isystem /usr/x86_64-redhat-linux/include -isystem /usr/x86_64-redhat-linux/sys-incl= ude=20 -m32 -x c++-header -nostdinc++ -O2 -g -grecord-gcc-switches -Wformat -Wformat-security -Wp,-D_GLIBCXX_ASSERTIONS -mtune=3Dgeneric -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=20 -D_GNU_SOURCE -m32=20 -I/builddir/build/BUILD/gcc-8.2.1-20181215/obj-x86_64-redhat-linux/x86_64-r= edhat-linux/32/libstdc++-v3/include/x86_64-redhat-linux -I/builddir/build/BUILD/gcc-8.2.1-20181215/obj-x86_64-redhat-linux/x86_64-r= edhat-linux/32/libstdc++-v3/include -I/builddir/build/BUILD/gcc-8.2.1-20181215/libstdc++-v3/libsupc++ -O2 -g /builddir/build/BUILD/gcc-8.2.1-20181215/libstdc++-v3/include/precompiled/s= tdc++.h -o x86_64-redhat-linux/bits/stdc++.h.gch/O2g.gch /builddir/build/BUILD/gcc-8.2.1-20181215/obj-x86_64-redhat-linux/./gcc/cc1p= lus: /builddir/build/BUILD/gcc-8.2.1-20181215/obj-x86_64-redhat-linux/x86_64-red= hat-linux/libstdc++-v3/src/.libs/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /builddir/build/BUILD/gcc-8.2.1-20181215/obj-x86_64-redhat-linux/./gcc/cc1p= lus) Furthermore, the build is successful when applying the aforementioned patch= es to their respective versions: - patched GCC 4.8.3 using GCC 10.2.1-9 on Fedora 33[3] - patched GCC 8.2.1 using GCC 11.0.0-0.7 on Fedora 34[4] Thus, I can validate my remarks in comment 0 and comment 2 that this does n= ot only apply to GCC 4.8.3 but also to other (future) versions of GCC. In particular, I have now successfully tested the GCC 8.2 patch of comment 1. = It took some time to demonstrate this because, for example, building unpatched= GCC 8.2.1 is successful on F33 with GCC 10.2.1-9[2] but fails in this way on F34 with GCC 11.0.0-0.7[2]. As far as I can tell, this issue still applies to the latest GCC. That is, stage1 host modules attempt to use the stage1 target libstdc++ when they sh= ould instead use the build libstdc++. [1] https://copr.fedorainfracloud.org/coprs/mkrupcale/gcc/build/1843629/ [2] https://copr.fedorainfracloud.org/coprs/mkrupcale/gcc-8/build/1843814/ [3] https://copr.fedorainfracloud.org/coprs/mkrupcale/gcc/build/1843525/ [4] https://copr.fedorainfracloud.org/coprs/mkrupcale/gcc-8/build/1843815/=