https://bugs.kde.org/show_bug.cgi?id=371060

            Bug ID: 371060
           Summary: memcheck/tests/leak_cpp_interior has undefined
                    references with clang
           Product: valgrind
           Version: unspecified
          Platform: Compiled Sources
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: jsew...@acm.org
          Reporter: austinengl...@gmail.com

clang -Winline -Wall -Wshadow -Wno-long-long -g -fno-stack-protector
-Wno-unused-private-field     -m64    -o leak_cpp_interior leak_cpp_interior.o  
leak_cpp_interior.o: In function `doit()':
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:105: undefined
reference to `std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >::operator=(char const*)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:106: undefined
reference to `std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >::operator=(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:107: undefined
reference to `operator new[](unsigned long)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:115: undefined
reference to `operator new[](unsigned long)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:118: undefined
reference to `operator new(unsigned long)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:119: undefined
reference to `operator new(unsigned long)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:120: undefined
reference to `operator new(unsigned long)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:121: undefined
reference to `operator new(unsigned long)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:124: undefined
reference to `std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >::operator+=(char const*)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:120: undefined
reference to `operator delete(void*)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:121: undefined
reference to `operator delete(void*)'
leak_cpp_interior.o: In function `main':
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:157: undefined
reference to `operator delete[](void*)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:158: undefined
reference to `operator delete[](void*)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:157: undefined
reference to `operator delete[](void*)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:158: undefined
reference to `operator delete[](void*)'
leak_cpp_interior.o: In function `__cxx_global_var_init':
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:91: undefined
reference to `std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string()'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:91: undefined
reference to `std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >::~basic_string()'
leak_cpp_interior.o: In function `__cxx_global_var_init.1':
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:92: undefined
reference to `std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string()'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:92: undefined
reference to `std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >::~basic_string()'
leak_cpp_interior.o: In function `__clang_call_terminate':
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:(.text.__clang_call_terminate[__clang_call_terminate]+0x2):
undefined reference to `__cxa_begin_catch'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:(.text.__clang_call_terminate[__clang_call_terminate]+0xb):
undefined reference to `std::terminate()'
leak_cpp_interior.o: In function `~Ce':
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:39: undefined
reference to `operator delete(void*)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:39: undefined
reference to `operator delete(void*)'
leak_cpp_interior.o: In function `~Ae':
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:27: undefined
reference to `operator delete(void*)'
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:27: undefined
reference to `operator delete(void*)'
leak_cpp_interior.o: In function `~Be':
/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:33: undefined
reference to `operator delete(void*)'
leak_cpp_interior.o:/home/austin/src/valgrind/memcheck/tests/leak_cpp_interior.cpp:33:
more undefined references to `operator delete(void*)' follow
leak_cpp_interior.o:(.rodata._ZTI2Ae[_ZTI2Ae]+0x0): undefined reference to
`vtable for __cxxabiv1::__class_type_info'
leak_cpp_interior.o:(.rodata._ZTI2Be[_ZTI2Be]+0x0): undefined reference to
`vtable for __cxxabiv1::__class_type_info'
leak_cpp_interior.o:(.rodata._ZTI2Ce[_ZTI2Ce]+0x0): undefined reference to
`vtable for __cxxabiv1::__vmi_class_type_info'
leak_cpp_interior.o:(.rodata._ZTI1A[_ZTI1A]+0x0): undefined reference to
`vtable for __cxxabiv1::__class_type_info'
leak_cpp_interior.o:(.rodata._ZTI1B[_ZTI1B]+0x0): undefined reference to
`vtable for __cxxabiv1::__class_type_info'
leak_cpp_interior.o:(.rodata._ZTI1C[_ZTI1C]+0x0): undefined reference to
`vtable for __cxxabiv1::__vmi_class_type_info'
leak_cpp_interior.o:(.eh_frame+0x9b): undefined reference to
`__gxx_personality_v0'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Makefile:2045: recipe for target 'leak_cpp_interior' failed
make[5]: *** [leak_cpp_interior] Error 1
make[5]: Leaving directory '/tmp/valgrind-clang/memcheck/tests'

works with:
austin@debian-laptop:/tmp/valgrind-clang$ gcc --version
gcc (Debian 6.2.0-6) 6.2.0 20161010
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

fails with:
austin@debian-laptop:/tmp/valgrind-clang$ clang --version
clang version 3.8.1-12 (tags/RELEASE_381/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

r16070, debian sid.

Reproducible: Always

Steps to Reproduce:
1. ./configure CC=clang CXX=clang
2. make -j8
3. make check

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to