[PATCH] D42303: [lsan] Respect log_path option in standalone LSan
Phabricator via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 22 01:34:47 PST 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rL323083: [lsan] Respect log_path option in standalone LSan (authored by chefmax, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D42303?vs=130629&id=130843#toc
Repository:
rL LLVM
https://reviews.llvm.org/D42303
Files:
compiler-rt/trunk/lib/lsan/lsan.cc
compiler-rt/trunk/test/lsan/TestCases/Linux/log-path_test.cc
Index: compiler-rt/trunk/lib/lsan/lsan.cc
===================================================================
--- compiler-rt/trunk/lib/lsan/lsan.cc
+++ compiler-rt/trunk/lib/lsan/lsan.cc
@@ -66,6 +66,8 @@
if (Verbosity()) ReportUnrecognizedFlags();
if (common_flags()->help) parser.PrintFlagDescriptions();
+
+ __sanitizer_set_report_path(common_flags()->log_path);
}
static void OnStackUnwind(const SignalContext &sig, const void *,
Index: compiler-rt/trunk/test/lsan/TestCases/Linux/log-path_test.cc
===================================================================
--- compiler-rt/trunk/test/lsan/TestCases/Linux/log-path_test.cc
+++ compiler-rt/trunk/test/lsan/TestCases/Linux/log-path_test.cc
@@ -0,0 +1,26 @@
+// RUN: %clangxx_lsan %s -o %t
+// The globs below do not work in the lit shell.
+
+// Regular run.
+// RUN: %env_lsan_opts="use_stacks=0" not %run %t > %t.out 2>&1
+// RUN: FileCheck %s --check-prefix=CHECK-ERROR < %t.out
+
+// Good log_path.
+// RUN: rm -f %t.log.*
+// RUN: %env_lsan_opts="use_stacks=0:log_path='"%t.log"'" not %run %t > %t.out 2>&1
+// RUN: FileCheck %s --check-prefix=CHECK-ERROR < %t.log.*
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "sanitizer_common/print_address.h"
+
+int main() {
+ void *stack_var = malloc(1337);
+ print_address("Test alloc: ", 1, stack_var);
+ // Do not return from main to prevent the pointer from going out of scope.
+ exit(0);
+}
+
+// CHECK-ERROR: LeakSanitizer: detected memory leaks
+// CHECK-ERROR: Direct leak of 1337 byte(s) in 1 object(s) allocated from
+// CHECK-ERROR: SUMMARY: {{(Leak|Address)}}Sanitizer:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42303.130843.patch
Type: text/x-patch
Size: 1611 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180122/b9f07cf4/attachment-0001.bin>
More information about the llvm-commits
mailing list