[esan] Add support for log_exe_name

Summary:
Adds the call needed to cache the binary name to support the sanitizer
option log_exe_name for usable log file results when running multiple
applications.  Adds a test.

Reviewers: aizatsky

Subscribers: vitalybuka, zhaoqin, kcc, eugenis, llvm-commits, kubabrecka

Differential Revision: http://reviews.llvm.org/D20747

llvm-svn: 271586
This commit is contained in:
Derek Bruening 2016-06-02 20:50:30 +00:00
parent 0b7e3d1c42
commit 0b04950116
2 changed files with 3 additions and 2 deletions

View File

@ -181,6 +181,7 @@ void initializeLibrary(ToolType Tool) {
}
WhichTool = Tool;
SanitizerToolName = "EfficiencySanitizer";
CacheBinaryName();
initializeFlags();
// Intercepting libc _exit or exit via COMMON_INTERCEPTOR_ON_EXIT only

View File

@ -1,5 +1,5 @@
// RUN: %clang_esan_frag -O0 %s -o %t 2>&1
// RUN: %env_esan_opts=verbosity=1 %run %t 2>&1 | FileCheck %s
// RUN: %env_esan_opts="verbosity=1 log_exe_name=1" %run %t 2>&1 | FileCheck %s
int main(int argc, char **argv) {
// CHECK: in esan::initializeLibrary
@ -9,6 +9,6 @@ int main(int argc, char **argv) {
// CHECK-NEXT: Shadow #1: [124000000000-12c000000000) (512GB)
// CHECK-NEXT: Shadow #2: [148000000000-150000000000) (512GB)
// CHECK-NEXT: in esan::finalizeLibrary
// CHECK-NEXT: {{.*}}EfficiencySanitizer is not finished: nothing yet to report
// CHECK-NEXT: ==verbose-simple{{.*}}EfficiencySanitizer is not finished: nothing yet to report
return 0;
}