[Bug sanitizer/84340] [8 regression] g++.dg/asan/use-after-scope-types-1.C (and others) fails after r257585

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Feb 13 11:23:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84340

--- Comment #8 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #6)
> (In reply to Richard Biener from comment #5)
> > Doens't have anything todo with EAF_DIRECT (which is correct) but POISON has
> > to be marked with reading from the argument as otherwise stores are not kept
> > live.
> 
> Ah, no, in this case it is the EAF_DIRECT.  But I'm not sure how ASAN works
> here....

ASAN_CHECK(In reply to Richard Biener from comment #6)
> (In reply to Richard Biener from comment #5)
> > Doens't have anything todo with EAF_DIRECT (which is correct) but POISON has
> > to be marked with reading from the argument as otherwise stores are not kept
> > live.
> 
> Ah, no, in this case it is the EAF_DIRECT.  But I'm not sure how ASAN works
> here....

E.g. ASAN_MARK (UNPOISON, &ptr, 8); is later expanded to:

  _1 = &ptr;
  _13 = (unsigned long) _1;
  _14 = _13 >> 3;
  _15 = _14 + 2147450880;
  _16 = (signed char *) _15;
  *_16 = 0;

Thus EAF_DIRECT shoud NOT be set. Or do I miss something?


More information about the Gcc-bugs mailing list