Commit Graph

8 Commits

Author SHA1 Message Date
Matt Morehouse a82c23ee67 [MSan] Disable sanitization for __sanitizer_dtor_callback.
Summary:
Eliminate unnecessary instrumentation at __sanitizer_dtor_callback
call sites.  Fixes https://github.com/google/sanitizers/issues/861.

Reviewers: eugenis, kcc

Reviewed By: eugenis

Subscribers: vitalybuka, llvm-commits, cfe-commits, hiraditya

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@313831 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-20 22:53:08 +00:00
Naomi Musgrave 298140a2fc clarified test comment
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@245124 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-14 23:22:03 +00:00
Naomi Musgrave c17d2d250a Fix previous commit: poison only class members, simpler tests
Summary: Poisoning applied to only class members, and before dtors for base class invoked

Implement poisoning of only class members in dtor, as opposed to also
poisoning fields inherited from base classes. Members are poisoned
only once, by the last dtor for a class. Skip poisoning if class has
no fields.
Verify emitted code for derived class with virtual destructor sanitizes
its members only once.
Removed patch file containing extraneous changes.

Reviewers: eugenis, kcc

Differential Revision: http://reviews.llvm.org/D11951


Simplified test cases for use-after-dtor

Summary: Simplified test cases to focus on one feature at time.
Tests updated to align with new emission order for sanitizing
callback.

Reviewers: eugenis, kcc

Differential Revision: http://reviews.llvm.org/D12003

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244933 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-13 18:35:11 +00:00
Naomi Musgrave 7db62e8770 Revert "Implement poisoning of only class members in dtor, as opposed to also poisoning fields inherited from base classes."
This reverts commit 8dbbf3578a.
Rolled back due to buildbot failures on 'ninja check-clang'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244820 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-12 22:07:24 +00:00
Naomi Musgrave 8dbbf3578a Implement poisoning of only class members in dtor, as opposed to also poisoning fields inherited from base classes.
Verify emitted code for derived class with virtual destructor sanitizes its members only once.
Changed emission order for dtor callback, so only the last dtor for a class emits the sanitizing callback, while ensuring that class members are poisoned before base class destructors are invoked.
Skip poisoning of members, if class has no fields.
Removed patch file containing extraneous changes.

Summary: Poisoning applied to only class members, and before dtors for base class invoked

Reviewers: eugenis, kcc

Differential Revision: http://reviews.llvm.org/D11951

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244819 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-12 21:37:40 +00:00
Naomi Musgrave cdc607c239 updated tests for correct commit
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242364 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-16 00:25:45 +00:00
Naomi Musgrave 483d84650a adding tests for various dtor decl types
Reviewers: eugenis, kcc

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D11189

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242351 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-15 22:57:10 +00:00
Evgeniy Stepanov d497c49ca3 Basic code generation for MSan use-after-dtor.
Under the -fsanitize-memory-use-after-dtor (disabled by default) insert
an MSan runtime library call at the end of every destructor.

Patch by Naomi Musgrave.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242097 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-14 00:34:50 +00:00