================
@@ -187,6 +198,24 @@ Limitations
   ``fsanitize=thread`` flag will cause Clang to act as though the ``-fPIE``
   flag had been supplied if compiling without ``-fPIC``, and as though the
   ``-pie`` flag had been supplied if linking an executable.
+* ThreadSanitizer does not support C++ exceptions. Programs relying heavily on
----------------
ramosian-glider wrote:

What do you think of:

```
ThreadSanitizer has limited support for C++ exceptions. While the compiler
  pass inserts cleanup landing pads to call exit hooks during stack unwinding,
  exceptions propagating through any uninstrumented code (such as precompiled
  system libraries or standard libraries not rebuilt with ThreadSanitizer)
  will bypass these hooks. This causes shadow stack desynchronization, leading
  to corrupted stack traces in reports, false positives, or other unreliable
  behaviors.
```

Although Kuba added exceptions support in 2016 
(b0dd454a1aab173c1d951b1b614b07d851d894cd), I think it might be too daring to 
claim full support of all corner cases.

https://github.com/llvm/llvm-project/pull/205761
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to