[clang] [compiler-rt] [rtsan] Enable RealtimeSanitizer for FreeBSD (PR #125389)

David CARLIER via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 5 13:07:52 PST 2025


================
@@ -43,6 +44,21 @@ static __rtsan::Context &GetContextForThisThreadImpl() {
 
   return *current_thread_context;
 }
+#else
+
+// On FreeBSD, pthread api cannot be used as calloc is called under the hood
+// at library initialization time.
+static __thread Context *ctx = nullptr;
+
+static __rtsan::Context &GetContextForThisThreadImpl() {
+  if (ctx == nullptr) {
+    ctx = static_cast<Context *>(MmapOrDie(sizeof(Context), "RtsanContext"));
+    new (ctx) Context();
----------------
devnexen wrote:

Yes I tried that originally but it freezes I ll try again or trying to make pthread api works.

https://github.com/llvm/llvm-project/pull/125389


More information about the cfe-commits mailing list