[asan] Handle noreturn calls with __asan_handle_no_return ()

Jakub Jelinek jakub@redhat.com
Wed Dec 5 17:47:00 GMT 2012


On Wed, Dec 05, 2012 at 09:42:08PM +0400, Konstantin Serebryany wrote:
> On Wed, Dec 5, 2012 at 7:43 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> > So, this one fails because we don't instrument string literals, in GCC
> > they aren't anything close to global variables (like they are in LLVM?)
> 
> In LLVM, string literals are just regular constant global arrays of chars.
> And global overflows in such literals are remarkably frequent, so it's
> a good idea to implement this.

Yeah, I'm almost done with it.

> > This one fails to match because the filename in that case isn't
> > asan_test.cc, but asan_test.C.  Can it use say
> > ASAN_TEST_NAME macro,
> > #ifndef ASAN_TEST_NAME
> > # define ASAN_TEST_NAME "asan_test.cc"
> > #endif
> >
> > and replace "zoo.*asan_test.cc" with "zoo.*" ASAN_TEST_NAME (and similarly
> > in one of the disabled tests)?  Then asan_test.C could just
> > #define ASAN_TEST_NAME "asan_test.C"
> > before #include "asan_test.cc"
> 
> I'd rather replace it with a regexp asan_test.{cc,C} or even simpler,
> drop the extension. Ok?

That would be asan_test.(cc|C) (or does gtest have some weirdo regexp
extensions (I'm just aware that it is a subset).
But yeah, dropping the extension altogether is fine with me.

	Jakub



More information about the Gcc-patches mailing list