This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Change -faddress-sanitizer to -fsanitize=address
On Mon, Nov 19, 2012 at 10:57 AM, Jakub Jelinek <jakub@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 <wmi@google.com> wrote:
>> > Hi,
>> >
>> > This patch is to change -faddress-sanitizer to -fsanitize=address. Ok for trunk?
>> >
>> > 2012-11-19 Wei Mi <wmi@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