mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-01 09:41:08 +00:00
[lsan] ppc64: dynamically pick address range for allocator
For ppc64 PIE, it seems that [0xa00000000000,0xc00000000000) may be occupied which will lead to a segfault in certain kernel configurations (clang-ppc64le-rhel). Use the `!kUsingConstantSpaceBeg` code path like Fuchsia. Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D121257
This commit is contained in:
parent
689c3a2552
commit
a53ea51dec
@ -66,12 +66,9 @@ template <typename AddressSpaceView>
|
||||
using PrimaryAllocatorASVT = SizeClassAllocator32<AP32<AddressSpaceView>>;
|
||||
using PrimaryAllocator = PrimaryAllocatorASVT<LocalAddressSpaceView>;
|
||||
#elif defined(__x86_64__) || defined(__powerpc64__) || defined(__s390x__)
|
||||
# if SANITIZER_FUCHSIA
|
||||
# if SANITIZER_FUCHSIA || defined(__powerpc64__)
|
||||
const uptr kAllocatorSpace = ~(uptr)0;
|
||||
const uptr kAllocatorSize = 0x40000000000ULL; // 4T.
|
||||
# elif defined(__powerpc64__)
|
||||
const uptr kAllocatorSpace = 0xa0000000000ULL;
|
||||
const uptr kAllocatorSize = 0x20000000000ULL; // 2T.
|
||||
#elif defined(__s390x__)
|
||||
const uptr kAllocatorSpace = 0x40000000000ULL;
|
||||
const uptr kAllocatorSize = 0x40000000000ULL; // 4T.
|
||||
|
Loading…
Reference in New Issue
Block a user