You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
2.0 KiB
48 lines
2.0 KiB
10 years ago
|
# this file simulates a program that has been built with thread sanitizer
|
||
|
# options
|
||
|
|
||
|
message("ASAN_OPTIONS = [$ENV{ASAN_OPTIONS}]")
|
||
|
string(REGEX REPLACE ".*log_path=\"([^\"]*)\".*" "\\1" LOG_FILE "$ENV{ASAN_OPTIONS}")
|
||
|
message("LOG_FILE=[${LOG_FILE}]")
|
||
|
# if we are not asked to simulate leak sanitizer don't do it
|
||
|
if(NOT "$ENV{ASAN_OPTIONS}]" MATCHES "simulate_sanitizer.1")
|
||
|
return()
|
||
|
endif()
|
||
|
|
||
|
# clear the log file
|
||
|
file(REMOVE "${LOG_FILE}.2343")
|
||
|
file(REMOVE "${LOG_FILE}.2344")
|
||
|
|
||
|
# create an error of each type of thread santizer
|
||
|
# these names come from tsan_report.cc in llvm
|
||
|
|
||
|
file(APPEND "${LOG_FILE}.2343"
|
||
|
"=================================================================
|
||
|
==25308==ERROR: LeakSanitizer: detected memory leaks
|
||
|
|
||
|
Direct leak of 4360 byte(s) in 1 object(s) allocated from:
|
||
|
#0 0x46c669 in operator new[](unsigned long) (/home/kitware/msan/a.out+0x46c669)
|
||
|
#1 0x4823b4 in main /home/kitware/msan/memcheck.cxx:12
|
||
|
#2 0x7fa72bee476c in __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226
|
||
|
|
||
|
SUMMARY: AddressSanitizer: 4436 byte(s) leaked in 2 allocation(s).
|
||
|
")
|
||
|
file(APPEND "${LOG_FILE}.2342"
|
||
|
"=================================================================
|
||
|
==25308==ERROR: LeakSanitizer: detected memory leaks
|
||
|
|
||
|
Direct leak of 76 byte(s) in 1 object(s) allocated from:
|
||
|
#0 0x46c669 in operator new[](unsigned long) (/home/kitware/msan/a.out+0x46c669)
|
||
|
#1 0x4821b8 in foo() /home/kitware/msan/memcheck.cxx:4
|
||
|
#2 0x4823f2 in main /home/kitware/msan/memcheck.cxx:14
|
||
|
#3 0x7fa72bee476c in __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226
|
||
|
|
||
|
Indirect leak of 76 byte(s) in 1 object(s) allocated from:
|
||
|
#0 0x46c669 in operator new[](unsigned long) (/home/kitware/msan/a.out+0x46c669)
|
||
|
#1 0x4821b8 in foo() /home/kitware/msan/memcheck.cxx:4
|
||
|
#2 0x4823f2 in main /home/kitware/msan/memcheck.cxx:14
|
||
|
#3 0x7fa72bee476c in __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226
|
||
|
|
||
|
SUMMARY: AddressSanitizer: 4436 byte(s) leaked in 2 allocation(s).
|
||
|
")
|