[ASan] emit instrumentation for initialization order checking by default
authorAlexey Samsonov <samsonov@google.com>
Thu, 14 Mar 2013 12:38:58 +0000 (12:38 +0000)
committerAlexey Samsonov <samsonov@google.com>
Thu, 14 Mar 2013 12:38:58 +0000 (12:38 +0000)
llvm-svn: 177063

llvm/include/llvm/Transforms/Instrumentation.h
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
llvm/test/Instrumentation/AddressSanitizer/instrument_initializer_metadata.ll

index b1db325..4aae200 100644 (file)
@@ -60,11 +60,11 @@ ModulePass *createGCOVProfilerPass(const GCOVOptions &Options =
 
 // Insert AddressSanitizer (address sanity checking) instrumentation
 FunctionPass *createAddressSanitizerFunctionPass(
-    bool CheckInitOrder = false, bool CheckUseAfterReturn = false,
+    bool CheckInitOrder = true, bool CheckUseAfterReturn = false,
     bool CheckLifetime = false, StringRef BlacklistFile = StringRef(),
     bool ZeroBaseShadow = false);
 ModulePass *createAddressSanitizerModulePass(
-    bool CheckInitOrder = false, StringRef BlacklistFile = StringRef(),
+    bool CheckInitOrder = true, StringRef BlacklistFile = StringRef(),
     bool ZeroBaseShadow = false);
 
 // Insert MemorySanitizer instrumentation (detection of uninitialized reads)
index 6877475..2d212d0 100644 (file)
@@ -244,7 +244,7 @@ static size_t RedzoneSizeForScale(int MappingScale) {
 
 /// AddressSanitizer: instrument the code in module to find memory bugs.
 struct AddressSanitizer : public FunctionPass {
-  AddressSanitizer(bool CheckInitOrder = false,
+  AddressSanitizer(bool CheckInitOrder = true,
                    bool CheckUseAfterReturn = false,
                    bool CheckLifetime = false,
                    StringRef BlacklistFile = StringRef(),
@@ -315,7 +315,7 @@ struct AddressSanitizer : public FunctionPass {
 
 class AddressSanitizerModule : public ModulePass {
  public:
-  AddressSanitizerModule(bool CheckInitOrder = false,
+  AddressSanitizerModule(bool CheckInitOrder = true,
                          StringRef BlacklistFile = StringRef(),
                          bool ZeroBaseShadow = false)
       : ModulePass(ID),
index 584db37..1d00cfa 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: opt < %s -asan -asan-module -asan-initialization-order -S | FileCheck %s
+; RUN: opt < %s -asan -asan-module -S | FileCheck %s
 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
 target triple = "x86_64-unknown-linux-gnu"
 @xxx = internal global i32 0, align 4  ; With dynamic initializer.