[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)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177063 91177308-0d34-0410-b5e6-96231b3b80d8

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

index b1db325d8384bc0c17c11bef74f6ba13cfc81bb9..4aae200dd0835f38ee4e95ea55e5bd3f490c031b 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 6877475b1d574b318b7b2188096d920d5e1f8f16..2d212d0ddc72222cbfa59c1bbd3991d03c36d30a 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 584db3762baed059088fa5a7b96a3fa59e0fa0c4..1d00cfacafe4ac914efbb54018f7285d7be1e31d 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.