Allow for lack of VM_MEMORY_OS_ALLOC_ONCE on Mac OS X (PR sanitizer/82824)

PR sanitizer/82824
	* lsan/lsan_common_mac.cc: Cherry-pick upstream r322437.

From-SVN: r256650
This commit is contained in:
Rainer Orth 2018-01-13 21:01:27 +00:00 committed by Rainer Orth
parent f208c5ccc7
commit 1f7273e5db
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2018-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR sanitizer/82824
* lsan/lsan_common_mac.cc: Cherry-pick upstream r322437.
2017-12-05 Martin Liska <mliska@suse.cz>
Jakub Jelinek <jakub@redhat.com>

View File

@ -22,6 +22,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 {
@ -155,7 +162,7 @@ void ProcessPlatformSpecificAllocations(Frontier *frontier) {
// 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);