Message ID | CACT4Y+Zbr0pV4FZD=28rgMWDPS_w1fn4E5fatgHaHustGihH6A@mail.gmail.com |
---|---|
State | New |
Headers | show |
On Wed, Dec 07, 2016 at 07:44:39PM +0100, Dmitry Vyukov wrote: > OK for trunk? > Index: gcc/ChangeLog > =================================================================== > --- gcc/ChangeLog (revision 243344) > +++ gcc/ChangeLog (working copy) > @@ -1,3 +1,10 @@ > +2016-12-07 Dmitry Vyukov <dvyukov@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.cheng@arm.com> > > PR tree-optimization/78691 Ok, thanks. > 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; > Jakub
On 12/07/2016 11:44 AM, Dmitry Vyukov wrote: > 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 <dvyukov@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.cheng@arm.com> > > PR tree-optimization/78691 You need to fix doc/invoke.texi as well to reflect this change. -Sandra
On 12/07/2016 12:30 PM, Dmitry Vyukov wrote: > On Wed, Dec 7, 2016 at 8:23 PM, Sandra Loosemore > <sandra@codesourcery.com> wrote: >> >> You need to fix doc/invoke.texi as well to reflect this change. > > Done. > > Attached updated patch. The documentation change is OK. -Sandra
Index: gcc/ChangeLog =================================================================== --- gcc/ChangeLog (revision 243344) +++ gcc/ChangeLog (working copy) @@ -1,3 +1,10 @@ +2016-12-07 Dmitry Vyukov <dvyukov@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.cheng@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;