On Mon, Apr 26, 2021 at 11:02:53AM -0500, will schmidt wrote:
> On Sun, 2021-04-25 at 20:50 -0500, Bill Schmidt via Gcc-patches wrote:
> > + /* If we are inserting ROP-protect instructions, disable shrink wrap. */
> > + if (rs6000_rop_protect)
> > + {
> > + flag_shrink_wrap = 0;
> > + flag_shrink_wrap_separate = 0;
> > + }
>
> Does this (shrink-wrap is disabled if/when ROP-protect is enabled) need
> additional commentary somewhere?
This should be documented in the manual somewhere, probably where
-mrop-protect is described.
It would be nice if we could do both ROP protection and shrink-wrapping
at once, but we aren't there yet (if we ever can do that).
> > +mrop-protect
> > +Target Var(rs6000_rop_protect) Init(0)
> > +
> > +mprivileged
> > +Target Var(rs6000_privileged) Init(0)
>
> Most but not all of the entries in rs6000.opt have an additional
> description line. I'd wonder about updating this to be stl
Yeah, that is used for the help text etc.
> > +mrop-protect
> > +Target Var(rs6000_rop_protect) Init(0)
>
> Enable ROP protection
This is a bit brief. Also, these lines are sentences, need to end in a
full stop.
> > +mprivileged
> > +Target Var(rs6000_privileged) Init(0)
>
> Enable privileged instructions for ROP protection.
-mprivileged is not only for ROP protection: it simply indicates we are
compiling code that will run in a privileged mode (i.e., not in problem
state).
> > +@item -mrop-protect
> > +@itemx -mno-rop-protect
> > +@opindex mrop-protect
> > +@opindex mno-rop-protect
> > +Generate (do not generate) ROP protection instructions when the option
> > +@option{-mcpu=power10} is used.
>
> Is the option on by default?
Nope.
> if so, may want another testcase to
> verify ROP instructions are generated with just -mcpu=power10.
> if not,
> perhaps the "-mcpu=power10" reference here instead be "-mrop-protect".
This is the help text for -mrop-protect :-)
Probably the help text could be more future-proof though?
Segher