Author: samsonov Date: Fri Dec 4 17:13:14 2015 New Revision: 254798 URL: http://llvm.org/viewvc/llvm-project?rev=254798&view=rev Log: [Docs] One more cleanup of -fsanitize= section.
Describe -fsanitize-blacklist flags in separate paragraphs, move notes about importance of clang++ for vptr down to UBSan docs. Modified: cfe/trunk/docs/UndefinedBehaviorSanitizer.rst cfe/trunk/docs/UsersManual.rst Modified: cfe/trunk/docs/UndefinedBehaviorSanitizer.rst URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/UndefinedBehaviorSanitizer.rst?rev=254798&r1=254797&r2=254798&view=diff ============================================================================== --- cfe/trunk/docs/UndefinedBehaviorSanitizer.rst (original) +++ cfe/trunk/docs/UndefinedBehaviorSanitizer.rst Fri Dec 4 17:13:14 2015 @@ -119,7 +119,9 @@ Available checks are: does not evaluate to a positive value. - ``-fsanitize=vptr``: Use of an object whose vptr indicates that it is of the wrong dynamic type, or that its lifetime has not - begun or has ended. Incompatible with ``-fno-rtti``. + begun or has ended. Incompatible with ``-fno-rtti``. Link must + be performed by ``clang++``, not ``clang``, to make sure C++-specific + parts of the runtime library and C++ standard libraries are present. You can also use the following check groups: - ``-fsanitize=undefined``: All of the checks listed above other than Modified: cfe/trunk/docs/UsersManual.rst URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/UsersManual.rst?rev=254798&r1=254797&r2=254798&view=diff ============================================================================== --- cfe/trunk/docs/UsersManual.rst (original) +++ cfe/trunk/docs/UsersManual.rst Fri Dec 4 17:13:14 2015 @@ -977,21 +977,8 @@ are listed below. undefined behavior that can be detected and the :ref:`list <cfi-schemes>` of control flow integrity schemes. - You can turn off or modify checks for certain source files, functions - or even variables by providing a special file: - - - ``-fsanitize-blacklist=/path/to/blacklist/file``: disable or modify - sanitizer checks for objects listed in the file. See - :doc:`SanitizerSpecialCaseList` for file format description. - - ``-fno-sanitize-blacklist``: don't use blacklist file, if it was - specified earlier in the command line. - The ``-fsanitize=`` argument must also be provided when linking, in - order to link to the appropriate runtime library. When using - ``-fsanitize=vptr`` (or a group that includes it, such as - ``-fsanitize=undefined``) with a C++ program, the link must be - performed by ``clang++``, not ``clang``, in order to link against the - C++-specific parts of the runtime library. + order to link to the appropriate runtime library. It is not possible to combine more than one of the ``-fsanitize=address``, ``-fsanitize=thread``, and ``-fsanitize=memory`` checkers in the same @@ -1028,14 +1015,24 @@ are listed below. be used (for instance, when building libc or a kernel module), or where the binary size increase caused by the sanitizer runtime is a concern. - This flag is only compatible with ``local-bounds``, - ``unsigned-integer-overflow``, sanitizers in the ``cfi`` group and - sanitizers in the ``undefined`` group other than ``vptr``. If this flag + This flag is only compatible with :doc:`control flow integrity + <ControlFlowIntegrity>` schemes and :doc:`UndefinedBehaviorSanitizer` + checks other than ``vptr``. If this flag is supplied together with ``-fsanitize=undefined``, the ``vptr`` sanitizer will be implicitly disabled. This flag is enabled by default for sanitizers in the ``cfi`` group. +.. option:: -fsanitize-blacklist=/path/to/blacklist/file + + Disable or modify sanitizer checks for objects (source files, functions, + variables, types) listed in the file. See + :doc:`SanitizerSpecialCaseList` for file format description. + +.. option:: -fno-sanitize-blacklist + + Don't use blacklist file, if it was specified earlier in the command line. + **-f[no-]sanitize-coverage=[type,features,...]** Enable simple code coverage in addition to certain sanitizers. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits