summaryrefslogtreecommitdiff
path: root/lib/dfsan/dfsan.h
AgeCommit message (Collapse)Author
2016-09-15[compiler-rt] Do not introduce __sanitizer namespace globallyAnna Zaks
The definitions in sanitizer_common may conflict with definitions from system headers because: The runtime includes the system headers after the project headers (as per LLVM coding guidelines). lib/sanitizer_common/sanitizer_internal_defs.h pollutes the namespace of everything defined after it, which is all/most of the sanitizer .h and .cc files and the included system headers with: using namespace __sanitizer; // NOLINT This patch solves the problem by introducing the namespace only within the sanitizer namespaces as proposed by Dmitry. Differential Revision: https://reviews.llvm.org/D21947 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@281657 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-27[compiler-rt] [dfsan] Unify aarch64 mappingAdhemerval Zanella
This patch reorganize the platform specific mapping information to export the application mask on a external variable. This exported variable will be used by intrumentation phase to create code to be used on architecture with multiple VMA range. The patch creates a new header, dfsan_platform.h, and move all the mapping information and also create function accessors to the mapping value. Also for aarch64 it initialize application exported mask to the value based on runtime VMA detection. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@254197 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-24[dfsan] Enable DFSan for AArch64/42-bit VMAAdhemerval Zanella
This patch adds support for dfsan on aarch64-linux with 42-bit VMA (current default config for 64K pagesize kernels). The support is enabled by defining the SANITIZER_AARCH64_VMA to 42 at build time for both clang/llvm and compiler-rt. The default VMA is 39 bits. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@245841 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-30[dfsan] Enable dfsan for aarch64Adhemerval Zanella
This patch enable DFSan for AArch64 (39-bit VMA). All tests are passing but: * test/dfsan/custom.cc Due an invalid access in dl_iterate_phdr instrumentation (commenting out this function make the testcase to pass). The test is XFAIL for aarch64 for now. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@243688 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-09Revert r234477, "Differential Revision: http://reviews.llvm.org/D7249"Peter Collingbourne
Should unbreak fuzzer buildbot. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@234542 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-09Differential Revision: http://reviews.llvm.org/D7249Lorenzo Martignoni
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@234477 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-15[sanitizer] Flag parser rewrite.Evgeniy Stepanov
The new parser is a lot stricter about syntax, reports unrecognized flags, and will make it easier to implemented some of the planned features. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@226169 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-07[Sanitizer] Change the runtime flag representation.Alexey Samsonov
This mirrors r225239 to all the rest sanitizers: ASan, DFSan, LSan, MSan, TSan, UBSan. Now the runtime flag type, name, default value and description is located in the single place in the .inc file. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@225327 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-05[DFSAN][MIPS] adding support of DFSAN for MIPS64Peter Collingbourne
Minor changes to enable DFSAN on MIPS64 Patch by Kumar Sukhani! Differential Revision: http://reviews.llvm.org/D6437 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223517 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-20[DFSan] Add flag to dump the labels when the program terminates.Lorenzo Martignoni
Differential Revision: http://reviews.llvm.org/D6306 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@222425 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-04[dfsan] Fix the declaration of dfsan_add_label.Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@210202 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-04[DFSan] Change the way labels are propagated when comparing memory through ↵Lorenzo Martignoni
libc functions. Differential Revision: http://llvm-reviews.chandlerc.com/D2252 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@196388 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-17[DFSan] Don't include public headers in dfsan runtime codeAlexey Samsonov
Summary: Definitions we use in public sanitizer headers may slightly conflict with the ones we use in private sanitizer runtimes. Moreover, we generally forbid to include any system headers (like <stdint.h>) in sanitizer runtime headers. This leads to inevitable duplication of selected interface function declarations, but we decided to live with it. Reviewers: pcc Reviewed By: pcc CC: kcc, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2179 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@194955 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-10[dfsan] Initial set of DFSAN_OPTIONS flags.Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@190379 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-15[dfsan] Initial set of custom functions and interceptors for libc.Peter Collingbourne
Differential Revision: http://llvm-reviews.chandlerc.com/D1397 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@188490 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-12[dfsan] Begin a private header and move shadow_for there.Peter Collingbourne
Differential Revision: http://llvm-reviews.chandlerc.com/D1348 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@188231 91177308-0d34-0410-b5e6-96231b3b80d8