On Mon, Sep 29, 2014 at 4:17 PM, Jakub Jelinek <ja...@redhat.com> wrote: > On Mon, Sep 29, 2014 at 03:36:20PM -0700, Alexey Samsonov wrote: >> -fasan-recover doesn't look like a good idea - for instance, in Clang, we >> never use "?san" >> in flag names, preferring -fsanitize-whatever. What's the rationale behind >> splitting >> -fsanitize-recover in two flags (ASan- and UBSan- specific)? >> Is there no way to keep a single -f(no-)sanitize-recover for that purpose? >> Now it works >> only for UBSan checks, but we may extend it to another sanitizers as well. > > The problem is that if we start using it for ASan, it needs to have a > different default, because ASan wants to abort by default, while UBSan > recover by default. -fsanitize=kernel-address w (KASan) wants to recover > by default. So, the option is either to never support recover for > -fsanitize=address, for ubsan keep -fsanitize-recover (by default) as is > and for kasan use that same switch, or have separate flags. > > Jakub
I don't think we ever going to support recovery for regular ASan (Kostya, correct me if I'm wrong). I see no problem in enabling -fsanitize-recover by default for -fsanitize=undefined and -fsanitize=kernel-address. We can, potentially, extend -fsanitize-recover flag to take the same values as -fsanitize= one, so that one can specify which sanitizers are recoverable, and which are not, but I'd try to make this a last resort - this is too complex. -- Alexey Samsonov, Mountain View, CA