On Wed, Aug 7, 2013 at 5:23 PM, Joseph S. Myers <jos...@codesourcery.com> wrote: > On Wed, 7 Aug 2013, Xinliang David Li wrote: > >> Index: config/i386/stringop.def >> =================================================================== >> --- config/i386/stringop.def (revision 0) >> +++ config/i386/stringop.def (revision 0) >> @@ -0,0 +1,42 @@ >> +/* Definitions for option handling for IA-32. >> + Copyright (C) 2013 Free Software Foundation, Inc. >> + >> +This file is part of GCC. >> + >> +GCC is free software; you can redistribute it and/or modify >> +it under the terms of the GNU General Public License as published by >> +the Free Software Foundation; either version 3, or (at your option) >> +any later version. >> + >> +GCC is distributed in the hope that it will be useful, >> +but WITHOUT ANY WARRANTY; without even the implied warranty of >> +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> +GNU General Public License for more details. >> + >> +Under Section 7 of GPL version 3, you are granted additional >> +permissions described in the GCC Runtime Library Exception, version >> +3.1, as published by the Free Software Foundation. > > Why the exception? This should only be used on the host, not the target.
Sorry, I copied the boiler-plate header from i386.h -- is it wrong there too? > >> + do >> + { >> + int mins, maxs; >> + stringop_alg alg; >> + char alg_name[128]; >> + char align[16]; >> + >> + next_range_str = strchr (curr_range_str, ','); >> + if (next_range_str) >> + *next_range_str++ = '\0'; >> + >> + if (3 != sscanf (curr_range_str, "%[^:]:%d:%s", alg_name, &maxs, >> align)) > > This appears to introduce buffer overruns, which is never OK - whatever > the length of strings in the command-line arguments, you must not overflow > fixed-width buffers, so you must specify maximum field widths for the %[] > and %s. > Ok will fix. >> + { >> + warning (0, "Wrong arg %s to option %s", curr_range_str, >> + is_memset ? "-mmemset_strategy=" : "-mmemcpy_strategy="); >> + return; > > Invalid option arguments should be errors, not warnings, and diagnostics > should not start with a capital letter. Same applies to other diagnostics > here. > Ok will fix. >> Index: config/i386/stringop.opt >> =================================================================== >> --- config/i386/stringop.opt (revision 0) >> +++ config/i386/stringop.opt (revision 0) >> @@ -0,0 +1,36 @@ >> +/* Definitions for option handling for IA-32. >> + Copyright (C) 2013 Free Software Foundation, Inc. >> + >> +This file is part of GCC. >> + >> +GCC is free software; you can redistribute it and/or modify >> +it under the terms of the GNU General Public License as published by >> +the Free Software Foundation; either version 3, or (at your option) >> +any later version. >> + >> +GCC is distributed in the hope that it will be useful, >> +but WITHOUT ANY WARRANTY; without even the implied warranty of >> +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> +GNU General Public License for more details. >> + >> +Under Section 7 of GPL version 3, you are granted additional >> +permissions described in the GCC Runtime Library Exception, version >> +3.1, as published by the Free Software Foundation. > > Again, why the exception? Wrong template used. thanks, David > > -- > Joseph S. Myers > jos...@codesourcery.com