Open GoogleCodeExporter opened 9 years ago
Tsan would need to intercept control flow associated with exceptions. Namely,
when an exception is thrown and to what frame is transfers control.
Original comment by dvyu...@google.com
on 30 Sep 2014 at 3:31
We'll need a kind of RAII for tsan entry/exit hooks.
When we are adding tsan instrumentation, we need to create a fake class object
with a ctor and dtor. dtor will be called whenever we leave the function, even
if there was an exception.
It is already too late to do that during the current tsan phase, we'll need a
special pass in the frontend (clang).
I'd love this to happen but this is nowhere near our top priorities for now.
Help is always welcome :)
Original comment by konstant...@gmail.com
on 30 Sep 2014 at 4:09
> We'll need a kind of RAII for tsan entry/exit hooks.
If that would be simpler to implement, tsan can simply "rewind" state to a
given frame. So at the throw site we just need to know destination frame; or,
alternatively, intercept catch and rewind state to the current frame. I use
this machinery in longjmp support, no compiler changes were needed.
Original comment by dvyu...@google.com
on 1 Oct 2014 at 4:55
FTR, there is patch for exceptions support in gcc in flight:
https://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg99353.html
Original comment by dvyu...@google.com
on 16 Dec 2014 at 9:27
Just checking in on this feature request as it has been about 6 months. I still
think that this would be a very valuable addition to TSAN. Many C++ projects
make use of exceptions, and they currently cannot use TSAN.
Original comment by andrew.c.morrow@gmail.com
on 23 Jun 2015 at 9:52
Hi Andrew,
No progress so far.
I've pinged the gcc patch thread (it does not seem to be landed).
I am also trying to sketch exception support in llvm, but it is not completely
trivial:
http://reviews.llvm.org/D10740
Original comment by dvyu...@google.com
on 27 Jun 2015 at 2:54
Adding Project:ThreadSanitizer as part of GitHub migration.
Original comment by gli...@google.com
on 30 Jul 2015 at 9:21
Original issue reported on code.google.com by
andrew.c.morrow@gmail.com
on 30 Sep 2014 at 3:26