[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 rCRT323083: [lsan] Respect log_path option in standalone LSan (authored by chefmax, committed by ).
Herald added a subscriber: Sanitizers.

Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D42303

Files:
  lib/lsan/lsan.cc
  test/lsan/TestCases/Linux/log-path_test.cc


Index: lib/lsan/lsan.cc
===================================================================
--- lib/lsan/lsan.cc
+++ 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: test/lsan/TestCases/Linux/log-path_test.cc
===================================================================
--- test/lsan/TestCases/Linux/log-path_test.cc
+++ 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.130844.patch
Type: text/x-patch
Size: 1503 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180122/7899ee3c/attachment-0001.bin>


More information about the llvm-commits mailing list