On Tue, Dec 06, 2016 at 03:55:54PM -0600, Segher Boessenkool wrote: > On Tue, Dec 06, 2016 at 03:23:06PM -0600, Bill Seurer wrote: > > 2016-12-06 Bill Seurer <seu...@linux.vnet.ibm.com> > > > > PR sanitizer/65479 > > * gcc/config/rs6000/rs6000.c: Add -fasynchronous-unwind-tables option > > when > > -fsanitize=address is specified. > > You should mention the function name here.
And not use the gcc/ prefix in the filename. > > --- gcc/config/rs6000/rs6000.c (revision 243308) > > +++ gcc/config/rs6000/rs6000.c (working copy) > > @@ -5204,6 +5204,11 @@ rs6000_option_override (void) > > { > > (void) rs6000_option_override_internal (true); > > > > + /* -fsanitize=address needs to turn on -fasynchronous-unwind-tables for > > + ppc64 in order for tracebacks to be complete. */ > > + if (global_options.x_flag_sanitize & SANITIZE_USER_ADDRESS) > > + global_options.x_flag_asynchronous_unwind_tables = 1; > > Do you need to check if the user specified -fno-asynchronous-unwind-tables > here, and then not do this? I.e. similar to the rs6000_isa_flags_explicit > handling (in the _internal function). Why are you changing it here and not in the *_internal function? Why do you use global_options.x_* instead of just *? And Segher has a point, it should be likely: if ((flag_sanitize & SANITIZE_USER_ADDRESS) && !global_options_set.x_flag_asynchronous_unwind_tables) flag_asynchronous_unwind_tables = 1; Jakub