This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Support -fsanitize=leak


On Fri, Nov 22, 2013 at 09:47:13PM +0100, Dodji Seketeli wrote:
> > This patch adds support for -fsanitize=leak and -static-liblsan options.
> > If combined with -fsanitize=address, it does nothing,
> 
> >From this hunk:
> 
>     @@ -8123,7 +8133,10 @@ sanitize_spec_function (int argc, const
> 	 return (flag_sanitize & SANITIZE_THREAD) ? "" : NULL;
>        if (strcmp (argv[0], "undefined") == 0)
> 	 return (flag_sanitize & SANITIZE_UNDEFINED) ? "" : NULL;
>     -
>     +  if (strcmp (argv[0], "leak") == 0)
>     +    return ((flag_sanitize
>     +	     & (SANITIZE_ADDRESS | SANITIZE_LEAK | SANITIZE_THREAD))
>     +	    == SANITIZE_LEAK) ? "" : NULL;
>        return NULL;
>      }
> 
> I'd say if combined with -fsanitize={address,thread} it does nothing,
> right?

Yes.  The libasan library can do the leak detection too, though unlike
liblsan doesn't do it by default right now, needs to be enabled through
environment.  Dunno about tsan, but all the 3 libraries certainly are
incompatible with each other.

Perhaps __asan_init_v3 could be changed to __asan_init_v4 and pass
some flags to the library, where one of the bits would be whether
to enable leak detector by default or not?  Just a thought...

> I'd say this needs some tests as well, but I guess they are coming a
> bit later in the cycle?

Yeah.

> > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
> 
> Yes, this is OK with the incremental patch for the documentation.

Thanks.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]