Johan Engelen
c421e4ccaf
Implement -fsanitize-recover for ASan and MSan. ( #4783 )
...
Resolves #4770
2024-11-29 19:35:56 +01:00
Martin Kinkelin
e7091dd0c7
Drop support for LLVM < 14
...
LLVM 14 is the first version supporting both new pass manager and
opaque IR pointers.
2024-05-12 03:53:03 +02:00
Martin Kinkelin
9041c0bf67
Adapt to free functions in dmd
C++ namespace now
2024-03-03 19:14:00 +01:00
Martin Kinkelin
8fc096e4c6
Adapt to Loc::filename now being a function
2023-08-26 15:56:33 +02:00
Martin Kinkelin
9ce57807c0
Drop support for LLVM 9 and LLVM 10
2023-07-29 01:12:43 +02:00
Zachary Yedidia
4d254ae31c
Add coverage tracing for loads and stores ( #4344 )
2023-03-12 11:04:32 +08:00
Johan Engelen
981c58e498
Add -fsanitize-address-use-after-return ( #4334 )
2023-02-27 11:40:08 +01:00
Johan Engelen
3b9665bac6
Add LeakSanitizer support with -fsanitize=leak
( #4005 )
...
* Add LeakSanitizer support
* Windows and FreeBSD do not support LSan yet
* Test LLVM >= 10 only with LSan
2022-06-26 20:12:38 +00:00
Johan Engelen
6a56267699
Add @ldc.attributes.noSanitize UDA to selectively disable sanitizer instrumentation of functions. ( #3889 )
2022-01-01 14:27:36 +01:00
Martin Kinkelin
019e9c8e30
Add support for LLVM 13
2021-10-11 19:20:15 +02:00
Nicholas Wilson
1568d0cdca
Fix compilation with LLVM 14 ( #3822 )
2021-09-17 16:41:49 +02:00
Martin Kinkelin
834f666ce5
Raise min LLVM version to 6.0 ( #3493 )
2020-07-13 20:42:50 +02:00
Nicholas Lindsay Wilson
65bb21b76a
fix SpecialCaseList
2019-12-04 12:12:38 +08:00
Johan Engelen
17a23873f0
Fix fuzzing: inline-8bit-counters should also imply edge tracing
...
This fixes the fuzz breakage introduced in the previous commit.
2019-09-25 03:42:19 +02:00
Johan Engelen
29436882e8
Align with Clang what -fsanitize=fuzzer implies
...
See Clang rev 312346: https://llvm.org/viewvc/llvm-project?view=revision&revision=312346
TracePCGuard is no longer supported by LLVM >= 9.0.
2019-09-25 03:42:19 +02:00
Martin Kinkelin
c25614eb6b
Adapt lit-tests to LLVM 9
2019-09-25 03:42:19 +02:00
Martin Kinkelin
7776c4081b
Upgrade frontend & libs to v2.083.0-beta.1
2018-10-20 16:19:46 +02:00
Johan Engelen
856a5730f5
Sanitizers: add blacklisting of source files ( #2601 )
2018-03-01 20:14:13 +01:00
Martin
cfad799f48
Merge 2.078.0 front-end and stdlibs
2018-01-06 01:39:18 +01:00
Johan Engelen
cde1903ca5
Add coverage sanitizer options and include them all in the cache hash. ( #2473 )
...
Main change is writing the full SanitizerCoverageOptions struct to the hash outputstream, such that options added (or removed) in the future are automatically included in the hash.
2018-01-03 19:49:50 +01:00
Johan Engelen
8ad5212399
Fix LLVM 6.0 build. ( #2342 )
...
* LLVM 6: tool_output_file was renamed to ToolOutputFile.
http://llvm.org/viewvc/llvm-project?view=revision&revision=314050
* Update SPIRV-LLVM
* Fix new LLVM6 API for sanitizerBlacklist->inSection
2017-09-30 17:58:08 +02:00
Johan Engelen
ec9ffe29f1
Add the -fsanitize-blacklist option for the sanitizers. ( #2261 )
...
Blacklisting is necessary for some druntime functions, and LLVM/Clang already provides just the right functionality.
2017-08-09 23:21:33 +02:00
Johan Engelen
22b1accb59
Replace -sanitize
with -fsanitize
and add -fsanitize-coverage
. ( #2149 )
...
This reworks the sanitizer interface to be identical with Clang's.
What's left to do is pass the correct runtime libraries to the linker.
2017-06-15 17:19:21 +02:00