From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 2FABF386F000; Mon, 21 Dec 2020 15:22:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2FABF386F000 From: "marxin at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/98414] New: [11 Regression] UBSAN bootstrap is broken: ubsan/ubsan_type_hash_itanium.cpp:162: undefined reference to `__dynamic_cast' Date: Mon, 21 Dec 2020 15:22:54 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: marxin at gcc dot gnu.org 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: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter cc target_milestone Message-ID: 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 15:22:54 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D98414 Bug ID: 98414 Summary: [11 Regression] UBSAN bootstrap is broken: ubsan/ubsan_type_hash_itanium.cpp:162: undefined reference to `__dynamic_cast' Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: jakub at gcc dot gnu.org Target Milestone: --- The following fails: /home/mliska/Programming/gcc/objdir/./prev-gcc/xg++ -B/home/mliska/Programming/gcc/objdir/./prev-gcc/ -B/usr/local/x86_64-pc-linux-gnu/bin/ -nostdinc++ -B/home/mliska/Programming/gcc/objdir/prev-x86_64-pc-linux-gnu/libstdc++-v3= /src/.libs -B/home/mliska/Programming/gcc/objdir/prev-x86_64-pc-linux-gnu/libstdc++-v3= /libsupc++/.libs -I/home/mliska/Programming/gcc/objdir/prev-x86_64-pc-linux-gnu/libstdc++-v3= /include/x86_64-pc-linux-gnu -I/home/mliska/Programming/gcc/objdir/prev-x86_64-pc-linux-gnu/libstdc++-v3= /include -I/home/mliska/Programming/gcc/libstdc++-v3/libsupc++ -L/home/mliska/Programming/gcc/objdir/prev-x86_64-pc-linux-gnu/libstdc++-v3= /src/.libs -L/home/mliska/Programming/gcc/objdir/prev-x86_64-pc-linux-gnu/libstdc++-v3= /libsupc++/.libs -no-pie -g -O2 -fchecking=3D1 -fsanitize=3Dundefined -DUBSAN_BOOTSTRAP -= DIN_GCC=20 -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=3Dformat-diag -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -fsanitize=3Dundefined -static-libubsan -DUBSAN_BOOTSTRAP -B/home/mliska/Programming/gcc/objdir/prev-x86_64-pc-linux-gnu/libsanitizer/ -B/home/mliska/Programming/gcc/objdir/prev-x86_64-pc-linux-gnu/libsanitizer= /ubsan/ -B/home/mliska/Programming/gcc/objdir/prev-x86_64-pc-linux-gnu/libsanitizer= /ubsan/.libs -o cc1plus \ cp/cp-lang.o c-family/stub-objc.o cp/call.o cp/class.o cp/constexpr.o cp/constraint.o cp/coroutines.o cp/cp-gimplify.o cp/cp-objcp-common.o cp/cp-ubsan.o cp/cvt.o cp/cxx-pretty-print.o cp/decl.o cp/decl2.o cp/dump.o cp/error.o cp/except.o cp/expr.o cp/friend.o cp/init.o cp/lambda.o cp/lex.o cp/logic.o cp/mangle.o cp/mapper-client.o cp/mapper-resolver.o cp/method.o cp/module.o cp/name-lookup.o cp/optimize.o cp/parser.o cp/pt.o cp/ptree.o cp/rtti.o cp/search.o cp/semantics.o cp/tree.o cp/typeck.o cp/typeck2.o cp/vtable-class-hierarchy.o attribs.o incpath.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-indentation.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o c-family/c-ubsan.o c-family/known-headers.o c-family/c-attribs.o c-family/c-warn.o c-family/c-spellcheck.o i386-c.o glibc-c.o cc1plus-checksum.o libbackend.a main.o libcommon-target.a libcomm= on.a ../libcpp/libcpp.a ../libcody/libcody.a ../libdecnumber/libdecnumber.a libcommon.a ../libcpp/libcpp.a ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lmpc -lmpfr -lgmp -rdynamic -L./../zlib -lz=20 /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /home/mliska/Programming/gcc/objdir/prev-x86_64-pc-linux-gnu/libsanitizer/u= bsan/.libs/libubsan.a(ubsan_type_hash_itanium.o): in function `findBaseAtOffset(__cxxabiv1::__class_type_info const*, long)': /home/mliska/Programming/gcc/objdir/x86_64-pc-linux-gnu/libsanitizer/ubsan/= ../../../../libsanitizer/ubsan/ubsan_type_hash_itanium.cpp:162: undefined reference to `__dynamic_cast' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /home/mliska/Programming/gcc/objdir/x86_64-pc-linux-gnu/libsanitizer/ubsan/= ../../../../libsanitizer/ubsan/ubsan_type_hash_itanium.cpp:166: undefined reference to `typeinfo for __cxxabiv1::__vmi_class_type_info' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /home/mliska/Programming/gcc/objdir/x86_64-pc-linux-gnu/libsanitizer/ubsan/= ../../../../libsanitizer/ubsan/ubsan_type_hash_itanium.cpp:166: undefined reference to `__dynamic_cast' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /home/mliska/Programming/gcc/objdir/prev-x86_64-pc-linux-gnu/libsanitizer/u= bsan/.libs/libubsan.a(ubsan_type_hash_itanium.o): in function `isDerivedFromAtOffset(__cxxabiv1::__class_type_info const*, __cxxabiv1::__class_type_info const*, long)': /home/mliska/Programming/gcc/objdir/x86_64-pc-linux-gnu/libsanitizer/ubsan/= ../../../../libsanitizer/ubsan/ubsan_type_hash_itanium.cpp:125: undefined reference to `__dynamic_cast' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /home/mliska/Programming/gcc/objdir/x86_64-pc-linux-gnu/libsanitizer/ubsan/= ../../../../libsanitizer/ubsan/ubsan_type_hash_itanium.cpp:129: undefined reference to `typeinfo for __cxxabiv1::__vmi_class_type_info' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /home/mliska/Programming/gcc/objdir/x86_64-pc-linux-gnu/libsanitizer/ubsan/= ../../../../libsanitizer/ubsan/ubsan_type_hash_itanium.cpp:129: undefined reference to `__dynamic_cast' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /home/mliska/Programming/gcc/objdir/prev-x86_64-pc-linux-gnu/libsanitizer/u= bsan/.libs/libubsan.a(ubsan_type_hash_itanium.o): in function `__ubsan::checkDynamicType(void*, void*, unsigned long)': /home/mliska/Programming/gcc/objdir/x86_64-pc-linux-gnu/libsanitizer/ubsan/= ../../../../libsanitizer/ubsan/ubsan_type_hash_itanium.cpp:233: undefined reference to `__dynamic_cast' collect2: error: ld returned 1 exit status make: *** [../../gcc/cp/Make-lang.in:136: cc1plus] Error 1 adding -lstdc++ to the linking command line fixes that. Is it a known issue?=