[compiler-rt] r189010 - [lsan] Build standalone LSan with -fno-rtti.

Sergey Matveev earthdok at google.com
Thu Aug 22 07:18:05 PDT 2013


Building in C mode doesn't guarantee that we're not linking libstdc++

E.g.:

clang -fsanitize=leak --driver-mode=g++ -x c source.c

On Thu, Aug 22, 2013 at 5:55 PM, Kostya Serebryany <kcc at google.com> wrote:

> this is easy to solve: put #ifdef __cplusplus #error into the code
>
>
> On Thu, Aug 22, 2013 at 5:50 PM, Sergey Matveev <earthdok at google.com>wrote:
>
>> That would require the clang_lsan substitution to expand to clang and not
>> clang++. It's possible, but someone could unknowingly change the
>> substitution back to clang++ in the config and turn the test into a no-op.
>>
>>
>> On Thu, Aug 22, 2013 at 5:46 PM, Alexey Samsonov <samsonov at google.com>wrote:
>>
>>> Can you add a C sanity check lit-test (that would verify that C program
>>> compiles and links fine with LSan and LSan + ASan)? See
>>> sanity_check_pure_c.c in ASan test suite.
>>>
>>>
>>> On Thu, Aug 22, 2013 at 5:23 PM, Sergey Matveev <earthdok at google.com>wrote:
>>>
>>>> Author: smatveev
>>>> Date: Thu Aug 22 08:23:22 2013
>>>> New Revision: 189010
>>>>
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=189010&view=rev
>>>> Log:
>>>> [lsan] Build standalone LSan with -fno-rtti.
>>>>
>>>> Fix issue where C code could not be built with -fsanitize=leak.
>>>>
>>>> Modified:
>>>>     compiler-rt/trunk/lib/lsan/CMakeLists.txt
>>>>     compiler-rt/trunk/lib/lsan/tests/CMakeLists.txt
>>>>
>>>> Modified: compiler-rt/trunk/lib/lsan/CMakeLists.txt
>>>> URL:
>>>> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/CMakeLists.txt?rev=189010&r1=189009&r2=189010&view=diff
>>>>
>>>> ==============================================================================
>>>> --- compiler-rt/trunk/lib/lsan/CMakeLists.txt (original)
>>>> +++ compiler-rt/trunk/lib/lsan/CMakeLists.txt Thu Aug 22 08:23:22 2013
>>>> @@ -1,7 +1,8 @@
>>>>  include_directories(..)
>>>>
>>>>  set(LSAN_CFLAGS
>>>> -  ${SANITIZER_COMMON_CFLAGS})
>>>> +  ${SANITIZER_COMMON_CFLAGS}
>>>> +  -fno-rtti)
>>>>
>>>>  set(LSAN_COMMON_SOURCES
>>>>    lsan_common.cc
>>>>
>>>> Modified: compiler-rt/trunk/lib/lsan/tests/CMakeLists.txt
>>>> URL:
>>>> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/tests/CMakeLists.txt?rev=189010&r1=189009&r2=189010&view=diff
>>>>
>>>> ==============================================================================
>>>> --- compiler-rt/trunk/lib/lsan/tests/CMakeLists.txt (original)
>>>> +++ compiler-rt/trunk/lib/lsan/tests/CMakeLists.txt Thu Aug 22 08:23:22
>>>> 2013
>>>> @@ -9,7 +9,7 @@ set(LSAN_TESTS_SRC
>>>>    lsan_dummy_unittest.cc)
>>>>
>>>>  set(LSAN_TESTS_CFLAGS
>>>> -  ${LSAN_CFLAGS}
>>>> +  ${SANITIZER_COMMON_CFLAGS}
>>>>    ${COMPILER_RT_GTEST_INCLUDE_CFLAGS}
>>>>    -I${COMPILER_RT_SOURCE_DIR}/lib
>>>>    -I${LSAN_SRC_DIR})
>>>>
>>>>
>>>> _______________________________________________
>>>> llvm-commits mailing list
>>>> llvm-commits at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>>
>>>
>>>
>>>
>>> --
>>> Alexey Samsonov, MSK
>>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130822/58470fe8/attachment.html>


More information about the llvm-commits mailing list