[asan] Remove -fsanitize-address-zero-base-shadow command line

flag from clang, and disable zero-base shadow support on all platforms
where it is not the default behavior.

- It is completely unused, as far as we know.
- It is ABI-incompatible with non-zero-base shadow, which means all
objects in a process must be built with the same setting. Failing to
do so results in a segmentation fault at runtime.
- It introduces a backward dependency of compiler-rt on user code,
which is uncommon and complicates testing.

This is the Clang part of a larger change.

llvm-svn: 199372
This commit is contained in:
Evgeniy Stepanov
2014-01-16 10:19:31 +00:00
parent 13665367a0
commit d04b861e69
5 changed files with 4 additions and 51 deletions

View File

@@ -180,12 +180,10 @@ static void addAddressSanitizerPasses(const PassManagerBuilder &Builder,
LangOpts.Sanitize.InitOrder,
LangOpts.Sanitize.UseAfterReturn,
LangOpts.Sanitize.UseAfterScope,
CGOpts.SanitizerBlacklistFile,
CGOpts.SanitizeAddressZeroBaseShadow));
CGOpts.SanitizerBlacklistFile));
PM.add(createAddressSanitizerModulePass(
LangOpts.Sanitize.InitOrder,
CGOpts.SanitizerBlacklistFile,
CGOpts.SanitizeAddressZeroBaseShadow));
CGOpts.SanitizerBlacklistFile));
}
static void addMemorySanitizerPass(const PassManagerBuilder &Builder,