public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug sanitizer/104934] New: -fsanitize=undefined codegen err @ 2022-03-15 11:53 dimhen at gmail dot com 2022-03-15 13:32 ` [Bug sanitizer/104934] " jakub at gcc dot gnu.org ` (2 more replies) 0 siblings, 3 replies; 4+ messages in thread From: dimhen at gmail dot com @ 2022-03-15 11:53 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104934 Bug ID: 104934 Summary: -fsanitize=undefined codegen err Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: dimhen at gmail dot com CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- r12-7608 FAIL Probably FAIL long ago: gcc-8 FAIL gcc version 8.0.1 20180125 (experimental) [trunk revision 257061] (GCC) $ g++ -fsanitize=undefined -c -o x.o x.ii && nm -u --reverse-sort x.o U _ZTI1S $ g++ -c -o x.o x.ii && nm -u --reverse-sort x.o $ cat x.ii struct a {}; struct b { a c; }; struct S : a { virtual int d(); }; struct e : b { unsigned f(); }; unsigned e::f() { static_cast<S *>(&c); return 0; } $ ~/arch-gcc/gcc_current/bin/g++ -v Using built-in specs. COLLECT_GCC=/home/dimhen/arch-gcc/gcc_current/bin/g++ COLLECT_LTO_WRAPPER=/home/dimhen/arch-gcc/gcc_current/libexec/gcc/x86_64-pc-linux-gnu/12.0.1/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none Target: x86_64-pc-linux-gnu Configured with: /home/dimhen/src/gcc_current/configure --prefix=/home/dimhen/arch-gcc/gcc_current --enable-checking=yes,df,fold,rtl,extra --enable-languages=c,c++,lto --disable-multilib --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=native --enable-libstdcxx-debug Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 12.0.1 20220311 (experimental) [master r12-7608-g5e28be89665] (GCC) ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug sanitizer/104934] -fsanitize=undefined codegen err 2022-03-15 11:53 [Bug sanitizer/104934] New: -fsanitize=undefined codegen err dimhen at gmail dot com @ 2022-03-15 13:32 ` jakub at gcc dot gnu.org 2022-03-15 16:14 ` dimhen at gmail dot com 2022-03-15 16:18 ` jakub at gcc dot gnu.org 2 siblings, 0 replies; 4+ messages in thread From: jakub at gcc dot gnu.org @ 2022-03-15 13:32 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104934 --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- And the bug is? The S class doesn't have the key method defined, so some other TU needs to define it and thus provide the vtable and rtti for it. Without -fsanitize=vptr the typeinfo isn't needed on this particular testcase and the vtable isn't needed either, which is why you don't get an undefined symbol in that case and you get it with -fsanitize=vptr or -fsanitize=undefined that implies that. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug sanitizer/104934] -fsanitize=undefined codegen err 2022-03-15 11:53 [Bug sanitizer/104934] New: -fsanitize=undefined codegen err dimhen at gmail dot com 2022-03-15 13:32 ` [Bug sanitizer/104934] " jakub at gcc dot gnu.org @ 2022-03-15 16:14 ` dimhen at gmail dot com 2022-03-15 16:18 ` jakub at gcc dot gnu.org 2 siblings, 0 replies; 4+ messages in thread From: dimhen at gmail dot com @ 2022-03-15 16:14 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104934 --- Comment #2 from Dmitry G. Dyachenko <dimhen at gmail dot com> --- (In reply to Jakub Jelinek from comment #1) > And the bug is? > The S class doesn't have the key method defined, so some other TU needs to > define it and thus provide the vtable and rtti for it. > Without -fsanitize=vptr the typeinfo isn't needed on this particular > testcase and the vtable isn't needed either, which is why you don't get an > undefined symbol in that case and you get it with -fsanitize=vptr or > -fsanitize=undefined that implies that. Thank you, Jakub. So, close as 'INVALID'? ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug sanitizer/104934] -fsanitize=undefined codegen err 2022-03-15 11:53 [Bug sanitizer/104934] New: -fsanitize=undefined codegen err dimhen at gmail dot com 2022-03-15 13:32 ` [Bug sanitizer/104934] " jakub at gcc dot gnu.org 2022-03-15 16:14 ` dimhen at gmail dot com @ 2022-03-15 16:18 ` jakub at gcc dot gnu.org 2 siblings, 0 replies; 4+ messages in thread From: jakub at gcc dot gnu.org @ 2022-03-15 16:18 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104934 Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- . ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-03-15 16:18 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-03-15 11:53 [Bug sanitizer/104934] New: -fsanitize=undefined codegen err dimhen at gmail dot com 2022-03-15 13:32 ` [Bug sanitizer/104934] " jakub at gcc dot gnu.org 2022-03-15 16:14 ` dimhen at gmail dot com 2022-03-15 16:18 ` jakub at gcc dot gnu.org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).