[compiler-rt] 57a5079 - [msan] Increase kNumStackOriginDescrs constant (#92838)
via llvm-commits
llvm-commits at lists.llvm.org
Tue May 21 12:41:40 PDT 2024
Author: Thurston Dang
Date: 2024-05-21T12:41:36-07:00
New Revision: 57a507930b50c445140feb68bffe1c21af53319e
URL: https://github.com/llvm/llvm-project/commit/57a507930b50c445140feb68bffe1c21af53319e
DIFF: https://github.com/llvm/llvm-project/commit/57a507930b50c445140feb68bffe1c21af53319e.diff
LOG: [msan] Increase kNumStackOriginDescrs constant (#92838)
This increases the constant size of kNumStackOriginDescrs to 4M (64GB of
BSS across two arrays), which ought to be enough for anybody.
This is the easier alternative suggested by eugenis@ in
https://github.com/llvm/llvm-project/pull/92826.
Added:
Modified:
compiler-rt/lib/msan/msan.cpp
Removed:
################################################################################
diff --git a/compiler-rt/lib/msan/msan.cpp b/compiler-rt/lib/msan/msan.cpp
index a2fc27de1901b..7a152910193e0 100644
--- a/compiler-rt/lib/msan/msan.cpp
+++ b/compiler-rt/lib/msan/msan.cpp
@@ -100,7 +100,11 @@ int msan_report_count = 0;
// Array of stack origins.
// FIXME: make it resizable.
-static const uptr kNumStackOriginDescrs = 1024 * 1024;
+// Although BSS memory doesn't cost anything until used, it is limited to 2GB
+// in some configurations (e.g., "relocation R_X86_64_PC32 out of range:
+// ... is not in [-2147483648, 2147483647]; references section '.bss'").
+// We use kNumStackOriginDescrs * (sizeof(char*) + sizeof(uptr)) == 64MB.
+static const uptr kNumStackOriginDescrs = 4 * 1024 * 1024;
static const char *StackOriginDescr[kNumStackOriginDescrs];
static uptr StackOriginPC[kNumStackOriginDescrs];
static atomic_uint32_t NumStackOriginDescrs;
More information about the llvm-commits
mailing list