Hello, Revision 241896 added -fsanitize-address-use-after-scope and enabled it whenever any sanitizer is enabled. This caused problems for kernel which does not have necessary callbacks for -fsanitize-address-use-after-scope. I've added the callbacks to kernel tip, but older kernel branches still don't have them.
So enable -fsanitize-address-use-after-scope iff -fsanitize=address is enabled. In the kernel we will check if -fsanitize-address-use-after-scope is present and enable it only on versions that have the callbacks. As a side effect this also doesn't enable -fsanitize-address-use-after-scope for e.g. -fsanitize=thread, which is I believe unnecessary. OK for trunk?
Index: gcc/ChangeLog =================================================================== --- gcc/ChangeLog (revision 243344) +++ gcc/ChangeLog (working copy) @@ -1,3 +1,10 @@ +2016-12-07 Dmitry Vyukov <dvyu...@google.com> + + * opts.c (finish_options): Enable + -fsanitize-address-use-after-scope only if + -fsanitize=address is enabled (not + -fsanitize=kernel-address). + 2016-12-07 Bin Cheng <bin.ch...@arm.com> PR tree-optimization/78691 Index: gcc/opts.c =================================================================== --- gcc/opts.c (revision 243344) +++ gcc/opts.c (working copy) @@ -990,7 +990,7 @@ /* Enable -fsanitize-address-use-after-scope if address sanitizer is enabled. */ - if (opts->x_flag_sanitize + if ((opts->x_flag_sanitize & SANITIZE_USER_ADDRESS) && !opts_set->x_flag_sanitize_address_use_after_scope) opts->x_flag_sanitize_address_use_after_scope = true;