File tree Expand file tree Collapse file tree 3 files changed +10
-0
lines changed Expand file tree Collapse file tree 3 files changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -197,7 +197,11 @@ const uptr kAllocatorSpace = ~(uptr)0;
197
197
# endif // SANITIZER_APPLE
198
198
199
199
# if defined(__powerpc64__)
200
+ # if SANITIZER_AIX
201
+ const uptr kAllocatorSize = 1ULL << 38 ; // 256G.
202
+ # else
200
203
const uptr kAllocatorSize = 0x20000000000ULL ; // 2T.
204
+ # endif
201
205
typedef DefaultSizeClassMap SizeClassMap;
202
206
# elif defined(__aarch64__) && SANITIZER_ANDROID
203
207
// Android needs to support 39, 42 and 48 bit VMA.
Original file line number Diff line number Diff line change @@ -23,7 +23,12 @@ namespace __sanitizer {
23
23
typedef CompactSizeClassMap InternalSizeClassMap;
24
24
25
25
struct AP32 {
26
+ // For AIX 64-bit, the mmap begin is at address 0x0a00000000000000ULL.
27
+ #if SANITIZER_AIX && SANITIZER_WORDSIZE == 64
28
+ static const uptr kSpaceBeg = 0x0a00000000000000ULL ;
29
+ #else
26
30
static const uptr kSpaceBeg = 0 ;
31
+ #endif
27
32
static const u64 kSpaceSize = SANITIZER_MMAP_RANGE_SIZE;
28
33
static const uptr kMetadataSize = 0 ;
29
34
typedef InternalSizeClassMap SizeClassMap;
Original file line number Diff line number Diff line change @@ -288,6 +288,7 @@ class SizeClassAllocator32 {
288
288
uptr ComputeRegionId (uptr mem) const {
289
289
if (SANITIZER_SIGN_EXTENDED_ADDRESSES)
290
290
mem &= (kSpaceSize - 1 );
291
+ mem -= kSpaceBeg ;
291
292
const uptr res = mem >> kRegionSizeLog ;
292
293
CHECK_LT (res, kNumPossibleRegions );
293
294
return res;
You can’t perform that action at this time.
0 commit comments