]> granicus.if.org Git - clang/commit
[Driver] Add Scudo as a possible -fsanitize= option
authorKostya Kortchinsky <kostyak@google.com>
Fri, 3 Nov 2017 17:04:13 +0000 (17:04 +0000)
committerKostya Kortchinsky <kostyak@google.com>
Fri, 3 Nov 2017 17:04:13 +0000 (17:04 +0000)
commitc7e8e8e2edf48ee98341a80e713e2947a4861a55
tree5a9c8421392acb6f39dda940c9b0f9994dacb1e5
parent5b442b4dde99fa84ac7cc022a379bb997725f298
[Driver] Add Scudo as a possible -fsanitize= option

Summary:
This change adds Scudo as a possible Sanitizer option via -fsanitize=.
This allows for easier static & shared linking of the Scudo library, it allows
us to enforce PIE (otherwise the security of the allocator is moot), and check
for incompatible Sanitizers combo.

In its current form, Scudo is not compatible with any other Sanitizer, but the
plan is to make it work in conjunction with UBsan (-fsanitize=scudo,undefined),
which will require additional work outside of the scope of this change.

Reviewers: eugenis, kcc, alekseyshl

Reviewed By: eugenis, alekseyshl

Subscribers: llvm-commits, srhines

Differential Revision: https://reviews.llvm.org/D39334

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@317337 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/Sanitizers.def
include/clang/Driver/SanitizerArgs.h
lib/Driver/SanitizerArgs.cpp
lib/Driver/ToolChains/CommonArgs.cpp
lib/Driver/ToolChains/Linux.cpp
lib/Lex/PPMacroExpansion.cpp
test/Driver/fsanitize.c
test/Driver/sanitizer-ld.c