[llvm-commits] [compiler-rt] r147932 - /compiler-rt/trunk/lib/asan/asan_rtl.cc

Evgeniy Stepanov eugeni.stepanov at gmail.com
Wed Jan 11 00:17:19 PST 2012


Author: eugenis
Date: Wed Jan 11 02:17:19 2012
New Revision: 147932

URL: http://llvm.org/viewvc/llvm-project?rev=147932&view=rev
Log:
Call asan_init from .preinit_array.

Protected by an #ifdef, disabled by default.

Modified:
    compiler-rt/trunk/lib/asan/asan_rtl.cc

Modified: compiler-rt/trunk/lib/asan/asan_rtl.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_rtl.cc?rev=147932&r1=147931&r2=147932&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/asan_rtl.cc (original)
+++ compiler-rt/trunk/lib/asan/asan_rtl.cc Wed Jan 11 02:17:19 2012
@@ -494,3 +494,11 @@
     Report("AddressSanitizer Init done\n");
   }
 }
+
+#if defined(ASAN_USE_PREINIT_ARRAY)
+// On Linux, we force __asan_init to be called before anyone else
+// by placing it into .preinit_array section.
+// FIXME: do we have anything like this on Mac?
+__attribute__((section(".preinit_array")))
+  typeof(__asan_init) *__asan_preinit =__asan_init;
+#endif





More information about the llvm-commits mailing list