[PATCH] D39888: [Sanitizers, LSan, Darwin] Allow for lack of VM_MEMORY_OS_ALLOC_ONCE

Rainer Orth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 12 08:54:52 PST 2018


ro updated this revision to Diff 129638.
ro added a comment.

Reworked according to review comments.

Tested (inside the gcc tree) on x86_64-apple-darwin11.4.2.


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D39888

Files:
  lib/lsan/lsan_common_mac.cc


Index: lib/lsan/lsan_common_mac.cc
===================================================================
--- lib/lsan/lsan_common_mac.cc
+++ lib/lsan/lsan_common_mac.cc
@@ -24,6 +24,13 @@
 
 #include <mach/mach.h>
 
+// Only introduced in Mac OS X 10.9.
+#ifdef VM_MEMORY_OS_ALLOC_ONCE
+static const int kSanitizerVmMemoryOsAllocOnce = VM_MEMORY_OS_ALLOC_ONCE;
+#else
+static const int kSanitizerVmMemoryOsAllocOnce = 73;
+#endif
+
 namespace __lsan {
 
 typedef struct {
@@ -157,7 +164,7 @@
 
     // libxpc stashes some pointers in the Kernel Alloc Once page,
     // make sure not to report those as leaks.
-    if (info.user_tag == VM_MEMORY_OS_ALLOC_ONCE) {
+    if (info.user_tag == kSanitizerVmMemoryOsAllocOnce) {
       ScanRangeForPointers(address, end_address, frontier, "GLOBAL",
                            kReachable);
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39888.129638.patch
Type: text/x-patch
Size: 833 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180112/9d5ef162/attachment.bin>


More information about the llvm-commits mailing list