summaryrefslogtreecommitdiffstats
path: root/clang/docs
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2017-04-14 01:59:44 +0000
committerVedant Kumar <vsk@apple.com>2017-04-14 01:59:44 +0000
commit4bb4e2c912e29c973fb3c07169f0da0b3cf820c9 (patch)
tree50e08da9da3da607267b0119f5ea662602b6ea3d /clang/docs
parent0faa53aaaba9e47e28594969e26865e98cc4d0f0 (diff)
downloadbcm5719-llvm-4bb4e2c912e29c973fb3c07169f0da0b3cf820c9.tar.gz
bcm5719-llvm-4bb4e2c912e29c973fb3c07169f0da0b3cf820c9.zip
[docs] UBSan: Mention that print_stacktrace=1 is unsupported on Darwin
Printing out stack traces along with UBSan diagnostics is unsupported on Darwin. That's because it isn't possible to use the fast unwinder or the slow unwinder. Apparently, it's inappropriate to use the fast unwinder for UBSan issues. I'm not exactly sure why (see the comment in ubsan_diag.cc). Forcing use of the fast unwinder produces decent results, AFAICT. Darwin also does not appear to have a slow unwinder suitable for use with the sanitizers. Apparently that's because of PR20800 [1][2]. But that bug has been fixed. I'm not sure if there is anything preventing use of the slow unwinder now. Currently, passing UBSAN_OPTIONS=print_stacktrace=1 does nothing on Darwin. This isn't good, but it might be a while before we can fix the situation, so we should at least document it. [1] https://github.com/google/sanitizers/issues/137 "We can't use the slow unwinder on OSX now, because Clang produces incorrect unwind info for the ASan runtime functions on OSX (http://llvm.org/PR20800)." [2] https://bugs.llvm.org/show_bug.cgi?id=20800 Bug 20800 - Invalid compact unwind info generated for a function without frame pointers on OSX llvm-svn: 300295
Diffstat (limited to 'clang/docs')
-rw-r--r--clang/docs/UndefinedBehaviorSanitizer.rst2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/docs/UndefinedBehaviorSanitizer.rst b/clang/docs/UndefinedBehaviorSanitizer.rst
index d6fdad2a0c0..9bec5506359 100644
--- a/clang/docs/UndefinedBehaviorSanitizer.rst
+++ b/clang/docs/UndefinedBehaviorSanitizer.rst
@@ -157,6 +157,8 @@ will need to:
``UBSAN_OPTIONS=print_stacktrace=1``.
#. Make sure ``llvm-symbolizer`` binary is in ``PATH``.
+Stacktrace printing for UBSan issues is currently not supported on Darwin.
+
Issue Suppression
=================
OpenPOWER on IntegriCloud