]> granicus.if.org Git - clang/commitdiff
Updating docs for MSan to describe poison-in-dtor.
authorNaomi Musgrave <nmusgrave@google.com>
Thu, 17 Sep 2015 00:10:59 +0000 (00:10 +0000)
committerNaomi Musgrave <nmusgrave@google.com>
Thu, 17 Sep 2015 00:10:59 +0000 (00:10 +0000)
Summary:
Describe the compile and runtime flags to enable MemorySanitizer
detection of use-after-destroy.

Reviewers: eugenis

Subscribers: llvm-commits

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

Revise doc description of use-after-dtor.

Change wording to specify memory no longer readable.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247871 91177308-0d34-0410-b5e6-96231b3b80d8

docs/UsersManual.rst

index 66597b8a13e53460893fbfcf1f1c5175c23e68eb..ab6089ce0e6357e8b33b325df532ed5c822b6caf 100644 (file)
@@ -1065,6 +1065,16 @@ are listed below.
       order of memory stores the uninitialized value went
       through. This mode may use extra memory in programs that copy
       uninitialized memory a lot.
+   -  ``-fsanitize-memory-use-after-dtor``: Enables use-after-destruction
+      detection in MemorySanitizer. After invocation of the destructor,
+      the object is considered no longer readable. Facilitates the
+      detection of use-after-destroy bugs.
+
+      Setting the MSAN_OPTIONS=poison_in_dtor=1 enables the poisoning of
+      memory at runtime. Any subsequent access to the destroyed object
+      fails at runtime. This feature is still experimental, but this
+      environment variable must be set to 1 in order for the above flag
+      to have any effect.
 
    The ``-fsanitize=`` argument must also be provided when linking, in
    order to link to the appropriate runtime library. When using