diff options
author | Dmitry Vyukov <dvyukov@google.com> | 2014-10-24 17:07:29 +0000 |
---|---|---|
committer | Dmitry Vyukov <dvyukov@google.com> | 2014-10-24 17:07:29 +0000 |
commit | 008ba55fdd99a8a368a652a48c7bade36faafb25 (patch) | |
tree | 476a5d2ed27f31fceffd0f74f2dbd31ac9aa0d85 /lib/sanitizer_common/sanitizer_allocator.h | |
parent | 61cf10c9ded5f3b6ef0a247e214baef84c27dc7b (diff) | |
download | compiler-rt-008ba55fdd99a8a368a652a48c7bade36faafb25.tar.gz |
tsan: support mmap(MAP_32BIT)
Allow user memory in the first TB of address space.
This also enabled non-pie binaries and freebsd.
Fixes issue:
https://code.google.com/p/thread-sanitizer/issues/detail?id=5
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@220571 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/sanitizer_allocator.h')
-rw-r--r-- | lib/sanitizer_common/sanitizer_allocator.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/sanitizer_common/sanitizer_allocator.h b/lib/sanitizer_common/sanitizer_allocator.h index fe2b41ca4..23218016b 100644 --- a/lib/sanitizer_common/sanitizer_allocator.h +++ b/lib/sanitizer_common/sanitizer_allocator.h @@ -461,6 +461,11 @@ class SizeClassAllocator64 { } } + static uptr AdditionalSize() { + return RoundUpTo(sizeof(RegionInfo) * kNumClassesRounded, + GetPageSizeCached()); + } + typedef SizeClassMap SizeClassMapT; static const uptr kNumClasses = SizeClassMap::kNumClasses; static const uptr kNumClassesRounded = SizeClassMap::kNumClassesRounded; @@ -490,11 +495,6 @@ class SizeClassAllocator64 { }; COMPILER_CHECK(sizeof(RegionInfo) >= kCacheLineSize); - static uptr AdditionalSize() { - return RoundUpTo(sizeof(RegionInfo) * kNumClassesRounded, - GetPageSizeCached()); - } - RegionInfo *GetRegionInfo(uptr class_id) { CHECK_LT(class_id, kNumClasses); RegionInfo *regions = reinterpret_cast<RegionInfo*>(kSpaceBeg + kSpaceSize); |