Commit Graph

60 Commits

Author SHA1 Message Date
dfa7faf459 Исправление сравнения 2020-03-10 06:39:22 +03:00
26eced86d8 Добавлены модули SafeStack и Control Flow Integrity 2019-08-10 10:48:21 +03:00
69437cd645 Форматирование кода 2019-08-10 10:33:41 +03:00
9b4aec096e Define ASan_SHARED_LIB that may be used without ASan_WRAPPER 2019-07-02 09:51:45 +03:00
07be757faf Add module for leak sanitizer 2019-07-02 09:47:11 +03:00
82086416a0 Allow checking whether sanitizers are available 2019-07-02 09:33:34 +03:00
Matt Arsenault
99e159ec9b
Merge pull request #23 from gunrot/noheaderext
handle header without extension
2018-10-16 10:30:53 -07:00
Matt Arsenault
e63f5614f7
Merge pull request #24 from gunrot/objectlibfix
handle objeclib only input for target
2018-10-16 10:29:51 -07:00
Gunnar Roth
798d9a29a2 handle objeclib only input for target
if compiler num is 0 this is not always an error,
as that  can also happen, when having only a objectlib
as input and no other source files.
2018-10-10 17:36:42 +02:00
Gunnar Roth
52475588ae handle header without extension 2018-10-10 16:47:49 +02:00
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