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: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?  Does -fsanitize=thread -fno-sanitize=address enable tsan or
not?  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).

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