Matt Arsenault
aab6948fa8
Merge pull request #21 from 9fcc/master
...
Fix unclear error while accidentally sanitizing interface library
2018-08-29 10:26:51 +03:00
Andrey Dotsenko
d093052a52
Fix unclear error while accidentally sanitizing interface library
...
Interface libraries added since CMake 3.0 version have INTERFACE_SOURCES property instead of SOURCES so it leads to error which is unclear and prevents project from compiling. Warning would be enough it this case.
2018-08-28 22:28:31 +03:00
Matt Arsenault
002fdca749
Merge pull request #20 from 9fcc/shortest-ext
...
Fix language detection with file names containing more than one dot
2018-08-27 20:50:06 +03:00
Andrey Dotsenko
0590614f30
Fix language detection for files with dot in their names
2018-08-24 20:49:57 +03:00
Andrey Dotsenko
6f451ad0cf
Force ASAN with tests and make them passed when failed
2018-08-24 17:56:13 +03:00
Matt Arsenault
6947cff3a9
Merge pull request #15 from TheErk/fix-README-add_sanitizer_blacklist
...
Fix reference to sanitizer_add_blacklist_file in README.md
2017-11-17 11:15:41 -08:00
Eric Noulard
0bdbdbf517
Fix reference to sanitizer_add_blacklist_file in README.md
2017-11-15 14:30:05 +01:00
Matt Arsenault
6b9a849ff4
Merge pull request #14 from amin-jabri/tsan_osx
...
Reenable TSan on macOS as newer Xcode toolchains support it.
2017-10-12 22:16:32 -07:00
Matt Arsenault
c5055c49ea
Merge pull request #12 from TheErk/fix-spellingTypos
...
Fix a couple of spelling typos
2017-10-12 22:08:00 -07:00
Mohamed Amin JABRI
b719221996
Reenable TSan on macOS as newer Xcode toolchains support it.
2017-09-25 21:22:52 +09:00
Eric Noulard
3c2c439ef8
Fix a couple of spelling typos
2017-07-05 15:01:05 +02:00
Matt Arsenault
f09151bc87
Merge pull request #11 from Placinta/master
...
Fix option type in add_sanitizers check
2017-03-06 09:29:14 -08:00
Alexandru Croitor
89c899140f
Fix option type in add_sanitizers check
2017-02-23 15:34:51 +01:00
Matt Arsenault
295c360967
Merge pull request #10 from RWTH-ELP/feature/fewer_messages
...
Show fewer warnings for targets.
2017-02-21 16:39:22 -08:00
Alexander Haase
a1bee9b178
Show fewer warnings for targets.
...
Instead of printing the same message over and over again, if a target can't use
a specific sanitizer, the message will be printed only once for the first
affected target now.
2017-02-21 16:21:48 +01:00
Matt Arsenault
37d5ac8067
Merge pull request #6 from RWTH-ELP/master
...
Fixed links.
2016-06-13 17:18:09 -07:00
Alexander Haase
b29fe1129c
Fixed links.
...
Fixed links in README.md after merge to upstream.
2016-06-14 02:15:29 +02:00
Matt Arsenault
998db11834
Merge pull request #5 from RWTH-ELP/restructuring
...
Restructuring and new features
2016-06-13 16:51:19 -07:00
Alexander Haase
4f5410511a
Updated README file.
2016-06-14 01:39:30 +02:00
Alexander Haase
5bfe8a8e51
Support multiple targets in add_sanitizers.
2016-06-14 01:12:11 +02:00
Alexander Haase
8fe13da3a5
Added asan-wrapper.
...
In some special cases static linking the sanitizers won't work, and you have to
preload libasan. To find the right libasan depending on the application to be
executed, a wrapper script was added. The location of the wrapper script can be
accessed via ASan_WRAPPER variable.
2016-05-13 14:59:30 +02:00
Alexander Haase
8d8c0f7a4e
Bugfixes.
2016-05-13 14:59:11 +02:00
Alexander Haase
179e77d612
Added option for static linking gcc sanitizers.
...
If you like to preload a sanitized library in front of an application, it will
fail, because it is not the first in the library list anymore. This behaviour
is gcc specific - clang will static link the sanitizers instead. To get the
same for gcc, the new SANITIZE_LINK_STATIC flag will link the sanitizers
static in gcc environments.
Note: The preloaded executable must be sanitized, too! Otherwise ASan will
print an error message!
2016-05-12 19:59:28 +02:00
Alexander Haase
a6b6ae43db
Merge branch 'remove_optimization' into one_module
2016-04-19 18:40:57 +02:00
Alexander Haase
6d56fe50e7
Removed optimization flags.
...
Due optimizing the code is optional for using the sanitizers, the user should
set an optimisation level by his choice on his own.
2016-04-19 18:37:43 +02:00
Alexander Haase
1a68d6aefe
Little bugfixes.
2016-04-15 14:31:51 +02:00
Alexander Haase
1cefaef507
Added function to set sanitizer blacklist.
2016-04-15 14:25:58 +02:00
Alexander Haase
f566e2b9ec
Added checks to avoid bad sanitizer combinations.
...
Some sanitizers are not compatible with other sanitizers. Added some checks to
avoid these combinations at configuration time.
2016-04-12 21:04:21 +02:00
Alexander Haase
6975d64d6b
Flags will be searched only once per compiler.
...
If a compiler does not support sanitizing, it will not be checked a second time.
2016-04-06 19:39:47 +02:00
Alexander Haase
de1a134183
Check if MemorySanitizer is used on x86_64 Linux.
...
According to the MemorySanitizer documentation, it is only compatible with 64bit
Linux at the moment.
2016-04-06 19:32:45 +02:00
Alexander Haase
4d96db375f
Check if ThreadSanitizer is used on x86_64 Linux.
...
According to the ThreadSanitizer documentation, it is only compatible with 64bit
Linux at the moment.
2016-04-06 19:29:46 +02:00
Alexander Haase
03db9d9383
Restructured all sanitizer modules.
2016-04-06 19:15:25 +02:00
Alexander Haase
b492553f61
New central module FindSanitizers.cmake.
...
* Added a new module FindSanitizers with new function add_sanitizers to combine
all sanitizers in one function instead of adding each one by one.
* Code of FindASan.cmake was outdourced into helper functions, so that the code
may be used by other sanitizer modules, too.
* AddressSanitizer will be used with -O1 now to get a better performance.
2016-04-06 18:48:16 +02:00
Alexander Haase
8f2015a4d3
Changed copyright notice.
2016-04-06 01:17:20 +02:00
Alexander Haase
925961bb5e
Bugfix in CMake cache docs.
2016-03-08 04:42:43 +01:00
Alexander Haase
88e75c6b03
Enabled debug symbols for ASan.
2016-03-08 04:18:39 +01:00
Alexander Haase
584f137e70
Reworked FindASan.cmake.
...
* removed build type ASAN. Targets should define ASan usage by sanitize_address
function
* compiler flags will be searched by compiler instead of per language
* FindASan warns, if a target can't be sanitized because of incompatible
compilers
* added some helper functions
2016-03-08 03:52:36 +01:00
Alexander Haase
c96a15b46c
Bugfix in FindASan.cmake
2016-02-15 05:13:36 +01:00
Alexander Haase
d81be39678
Bugfix in FindASan.cmake.
2016-01-28 19:17:07 +01:00
Alexander Haase
f62b5858ac
Compile flags will now be set per-source file.
...
Thus C can be mixed with Fortran and the objects can be build with different
compilers, not both may support AddressSanitizer.
2016-01-28 17:41:24 +01:00
Alexander Haase
c29aa33f11
Check ASan support for all enabled compilers.
...
Instead of fix checking for C and CXX compilers, all enabled languages will be
tested now.
2016-01-28 17:31:31 +01:00
Alexander Haase
e39082050c
Removed continue statement in FindASan.cmake
...
Older CMake versions are not capable of continue in foreach functions.
2015-11-19 16:38:53 +01:00
Alexander Haase
41e635c9ca
Restructured code of FindASan.cmake
2015-11-19 14:14:13 +01:00
Alexander Haase
4fd453301a
Moved CMake files and added a simple testcase
2015-07-07 00:31:35 +02:00
Matt Arsenault
b61ffc8ceb
Merge pull request #4 from smspillaz/issues/2
...
Set the HAVE_MEMORY_SANITIZER and HAVE_ADDRESS_SANITIZER cache entries.
2014-10-21 18:51:28 -07:00
Matt Arsenault
666bcc560d
Merge pull request #3 from smspillaz/issues/1
...
Don't emit an error for deleting an object with a nonvirtual dtor.
2014-10-21 18:43:20 -07:00
Sam Spilsbury
9b343f8e7e
Set the HAVE_MEMORY_SANITIZER and HAVE_ADDRESS_SANITIZER cache entries.
...
These were (inconsistently) not being set as opposed to
HAVE_THREAD_SANITIZER and HAVE_UNDEFINED_BEHAVIOUR_SANITIZER
2014-10-21 16:15:29 +08:00
Sam Spilsbury
1ec58d4183
Don't emit an error for deleting an object with a nonvirtual dtor.
...
We want that behaviour at runtime to make sure ubsan works
2014-10-21 16:13:59 +08:00
Matt Arsenault
42eac1f7af
Add modules for asan, msan, tsan and ubsan
2013-10-05 22:16:39 -04:00
Matt Arsenault
1121b004db
Initial commit
2013-10-05 22:14:59 -07:00