[compiler-rt] [compiler-rt] Support Windows GNU sanitizer runtimes (PR #209902)

via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 22 02:00:29 PDT 2026


================
@@ -18,21 +18,23 @@
     defined(SANITIZER_DYNAMIC_RUNTIME_THUNK)
 #  include "sanitizer_common/sanitizer_win_defs.h"
 
-#  pragma section(".CRT$XIB", long, \
-                  read)  // C initializer (during C init before dyninit)
-#  pragma section(".CRT$XID", long, \
-                  read)  // First C initializer after CRT initializers
-#  pragma section(".CRT$XCAB", long, \
-                  read)  // First C++ initializer after startup initializers
+#  if !defined(__GNUC__) || defined(__clang__)
+#    pragma section(".CRT$XIB", long, \
+                    read)  // C initializer (during C init before dyninit)
+#    pragma section(".CRT$XID", long, \
+                    read)  // First C initializer after CRT initializers
+#    pragma section(".CRT$XCAB", long, \
+                    read)  // First C++ initializer after startup initializers
 
-#  pragma section(".CRT$XTW", long, read)  // First ASAN globals terminator
-#  pragma section(".CRT$XTY", long, read)  // Last ASAN globals terminator
+#    pragma section(".CRT$XTW", long, read)  // First ASAN globals terminator
+#    pragma section(".CRT$XTY", long, read)  // Last ASAN globals terminator
 
-#  pragma section(".CRT$XLAB", long, read)  // First TLS initializer
+#    pragma section(".CRT$XLAB", long, read)  // First TLS initializer
+#  endif
 
 #  ifdef SANITIZER_STATIC_RUNTIME_THUNK
 extern "C" void __asan_initialize_static_thunk();
 #  endif
 
 #endif  // defined(SANITIZER_STATIC_RUNTIME_THUNK) ||
-        // defined(SANITIZER_DYNAMIC_RUNTIME_THUNK)
+        // defined(SANITIZER_DYNAMIC_RUNTIME_THUNK)
----------------
oltolm wrote:

fixed

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


More information about the llvm-commits mailing list