From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 122189 invoked by alias); 30 May 2015 12:56:08 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 121965 invoked by uid 48); 30 May 2015 12:56:03 -0000 From: "andrey.vihrov at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug sanitizer/66343] New: "Error: .Lubsan_type3 already defined" with UBSan and precompiled headers Date: Sat, 30 May 2015 12:56:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: sanitizer X-Bugzilla-Version: 5.1.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: andrey.vihrov at gmail 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: 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: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-05/txt/msg02452.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66343 Bug ID: 66343 Summary: "Error: .Lubsan_type3 already defined" with UBSan and precompiled headers Product: gcc Version: 5.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: andrey.vihrov 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 Target Milestone: --- Using this source as test.cpp: #include int arr[2]; int main() { int d, i = 0; std::cin >> d; int x = arr[i] - arr[i+1]; int res = (d - 1) / d; } and compiling with g++ -o stdc++.h.gch -x c++-header /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/32/bits/stdc++.h -m32 -fsanitize=undefined && g++ -o test test.cpp -I. -include stdc++.h -m32 -fsanitize=undefined -Winvalid-pch (this command precompiles as stdc++.h.gch, then uses it with the above program), the result is /tmp/ccw5nd8W.s: Assembler messages: /tmp/ccw5nd8W.s:86: Error: symbol `.Lubsan_type3' is already defined I'm not attaching a preprocessed source because this problem appears only with precompiled headers. gcc -v: Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /build/gcc-multilib/src/gcc-5-20150519/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --with-default-libstdcxx-abi=c++98 Thread model: posix gcc version 5.1.0 (GCC)