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] 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


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