This is just a copy from llvm repo, right? Looks good to me.
On Fri, Jan 16, 2015 at 10:17 AM, Bernd Edlinger <bernd.edlin...@hotmail.de> wrote: > Hi, > > > I think I should ping for this patch now: > https://gcc.gnu.org/ml/gcc-patches/2015-01/msg00599.html > > note that by mistake the change log referenced sanitizer.c instead of > sanitizer.def, consider that fixed on my local copy. > > > Thanks > Bernd. > > >> Date: Sun, 11 Jan 2015 14:15:54 +0100 >> >> Hi, >> >> >> >> On Sun, 4 Jan 2015 14:54:56, Bernd Edlinger wrote: >>> >>> Hi Jakub, >>> >>> >>> I think I have found a reasonable test case, see the attached patch file. >>> The use case is: a class that destroys an owned thread in the destructor. >>> The destructor sets the vptr again to thread::vptr but this should >>> _not_ trigger a diagnostic message, when the vptr does not really change. >>> >>> Jakub, this is another test case where the TREE_READONLY prevents >>> the tsan instrumentation. So I had first to install your patch: >>> >>> https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01432.html >>> >>> ... to see the test case fail without my patch. >>> >> >> that has been installed in the meantime. >> >>> The patch installs cleanly on 4.9 and 4.8, however the 4.8 branch >>> has no tsan tests, so I would leave the test case away for 4.8. >>> >> >> I found, 4.8 does not have BT_FN_VOID_PTR_PTR, and no tsan tests >> at all, so it is probably not worth the effort. >> >>> Boot-strapped and regression-tested on x86_64-linux-gnu >>> OK for trunk and 4.9 + 4.8 branches? >>> >>> >>> Thanks >>> Bernd. >>> >>> >> >> I found some test cases in the clang tree, about the __tsan_vptr_update. >> So I thought I should use these instead of inventing new ones. >> >> Attached you'll find an updated patch with one positive and one negative >> test for vptr races. >> >> Tested with x86_64-linux-gnu. >> OK for trunk and 4.9 after a while? >> >> >> Thanks >> Bernd. >> >