Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/gpl3/gcc/dist/libsanitizer Reduce sizes for non _LP...
details: https://anonhg.NetBSD.org/src/rev/8d76ccd13308
branches: trunk
changeset: 833489:8d76ccd13308
user: christos <christos%NetBSD.org@localhost>
date: Wed Jun 27 15:57:20 2018 +0000
description:
Reduce sizes for non _LP64 and compiler checks so that the code compiles
(but it will not work, since there is not enough address space to implement
the shadow space required).
diffstat:
external/gpl3/gcc/dist/libsanitizer/lsan/lsan_allocator.cc | 10 ++++++++++
external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_allocator.h | 2 ++
2 files changed, 12 insertions(+), 0 deletions(-)
diffs (46 lines):
diff -r 4ab512812462 -r 8d76ccd13308 external/gpl3/gcc/dist/libsanitizer/lsan/lsan_allocator.cc
--- a/external/gpl3/gcc/dist/libsanitizer/lsan/lsan_allocator.cc Wed Jun 27 15:56:30 2018 +0000
+++ b/external/gpl3/gcc/dist/libsanitizer/lsan/lsan_allocator.cc Wed Jun 27 15:57:20 2018 +0000
@@ -26,7 +26,11 @@
struct ChunkMetadata {
u8 allocated : 8; // Must be first.
ChunkTag tag : 2;
+#ifdef _LP64
uptr requested_size : 54;
+#else
+ uptr requested_size : 30;
+#endif
u32 stack_trace_id;
};
@@ -40,9 +44,15 @@
sizeof(ChunkMetadata), SizeClassMap, kRegionSizeLog, ByteMap>
PrimaryAllocator;
#else
+#if _LP64
static const uptr kMaxAllowedMallocSize = 8UL << 30;
static const uptr kAllocatorSpace = 0x600000000000ULL;
static const uptr kAllocatorSize = 0x40000000000ULL; // 4T.
+#else
+static const uptr kMaxAllowedMallocSize = 8UL << 20;
+static const uptr kAllocatorSpace = 0x60000000UL;
+static const uptr kAllocatorSize = 0x40000000ULL; // 2G.
+#endif
typedef SizeClassAllocator64<kAllocatorSpace, kAllocatorSize,
sizeof(ChunkMetadata), DefaultSizeClassMap> PrimaryAllocator;
#endif
diff -r 4ab512812462 -r 8d76ccd13308 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_allocator.h
--- a/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_allocator.h Wed Jun 27 15:56:30 2018 +0000
+++ b/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_allocator.h Wed Jun 27 15:57:20 2018 +0000
@@ -475,9 +475,11 @@
private:
static const uptr kRegionSize = kSpaceSize / kNumClassesRounded;
static const uptr kSpaceEnd = kSpaceBeg + kSpaceSize;
+#if _LP64
COMPILER_CHECK(kSpaceBeg % kSpaceSize == 0);
// kRegionSize must be >= 2^32.
COMPILER_CHECK((kRegionSize) >= (1ULL << (SANITIZER_WORDSIZE / 2)));
+#endif
// Populate the free list with at most this number of bytes at once
// or with one element if its size is greater.
static const uptr kPopulateSize = 1 << 14;
Home |
Main Index |
Thread Index |
Old Index