On Mon, Nov 19, 2012 at 10:57 AM, Jakub Jelinek <ja...@redhat.com> wrote: > On Mon, Nov 19, 2012 at 10:26:26PM +0400, Konstantin Serebryany wrote: >> FYI >> Clang also supports the no- form (-fno-sanitize=address). >> We probably want it here too, but preferably as a separate patch. >> (or is it automatically implemented via some internal magic?) > > So, how does it work in clang? > Does -fsanitize=address -fsanitize=thread enable both asan and tsan, > or just tsan?
I have not looked at the spec, but I think it should enable both, same as ' -faddress-sanitizer -fthread-sanitizer'. > Does -fsanitize=thread -fno-sanitize=address enable tsan or > not? Yes, I think. Kostya can clarify. >If -fsanitize=thread doesn't disable ASAN, then you can't > use the same flag variable for both, you need flag_asan and flag_tsan > as before on the compiler side, and just fsanitize=address and > fsanitize=thread in common.opt, without RejectNegative, and with appropriate > Var(flag_asan) resp. Var(flag_tsan). that will work. thanks, David > >> On Mon, Nov 19, 2012 at 10:14 PM, Wei Mi <w...@google.com> wrote: >> > Hi, >> > >> > This patch is to change -faddress-sanitizer to -fsanitize=address. Ok for >> > trunk? >> > >> > 2012-11-19 Wei Mi <w...@google.com> >> > >> > * cfgexpand.c (partition_stack_vars): Change flag_asan to >> > flag_sanitize. >> > (expand_stack_vars): Likewise. >> > (defer_stack_allocation): Likewise. >> > (expand_used_vars): Likewise. >> > * varasm.c (assemble_noswitch_variable): Likewise. >> > (assemble_variable): Likewise. >> > (place_block_symbol): Likewise. >> > * asan.c (gate_asan): Likewise. >> > (gate_asan_O0): Likewise. >> > * toplev.c (compile_file): Likewise. >> > (process_options): Likewise. >> > * common.opt: Change faddress-sanitizer to fsanitize=address. >> > * gcc.c (LINK_COMMAND_SPEC): Likewise. >> > * testsuite/lib/asan-dg.exp >> > (check_effective_target_faddress_sanitizer): Likewise. >> > (asan_init): Likewise. >> > * flag-types.h (sanitize_type): New enum type. >> > * doc/invoke.texi (-fsanitize=[address|thread]): Document. >> > >> > Thanks, >> > Wei. > > Jakub