diff options
| author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2017-04-26 00:51:06 +0000 |
|---|---|---|
| committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2017-04-26 00:51:06 +0000 |
| commit | c7b90947bd0179d914fea56b52be545c8f60f20a (patch) | |
| tree | fcfb7f9450a769051820e826d19e19c8995028e9 /clang/lib/CodeGen | |
| parent | 9547aabb26148f4eb5cfa1c5ccba0fe4ab7bf4fa (diff) | |
| download | bcm5719-llvm-c7b90947bd0179d914fea56b52be545c8f60f20a.tar.gz bcm5719-llvm-c7b90947bd0179d914fea56b52be545c8f60f20a.zip | |
[asan] Unconditionally enable GC of globals on COFF.
This change restores pre-r301225 behavior, where linker GC compatible global
instrumentation was used on COFF targets disregarding -f(no-)data-sections and/or
/Gw flags.
This instrumentation puts each global in a COMDAT with an ASan descriptor for that global.
It effectively enables -fdata-sections, but limits it to ASan-instrumented globals.
llvm-svn: 301374
Diffstat (limited to 'clang/lib/CodeGen')
| -rw-r--r-- | clang/lib/CodeGen/BackendUtil.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp index 2f35423dd5d..85788b42720 100644 --- a/clang/lib/CodeGen/BackendUtil.cpp +++ b/clang/lib/CodeGen/BackendUtil.cpp @@ -196,9 +196,8 @@ static void addSanitizerCoveragePass(const PassManagerBuilder &Builder, static bool asanUseGlobalsGC(const Triple &T, const CodeGenOptions &CGOpts) { switch (T.getObjectFormat()) { case Triple::MachO: - return true; case Triple::COFF: - return CGOpts.DataSections; + return true; case Triple::ELF: return CGOpts.DataSections && !CGOpts.DisableIntegratedAS; default: |

