On Tue, Jan 9, 2024 at 6:02 PM liuhongt <hongtao....@intel.com> wrote: > > After r14-2692-g1c6231c05bdcca, the option is defined as EnumSet and > -fcf-protection=branch won't unset any others bits since they're in > different groups. So to override -fcf-protection, an explicit > -fcf-protection=none needs to be added and then with > -fcf-protection=XXX > > Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}. > Ok for trunk? > > gcc/ChangeLog:
We should mention: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113039 > * doc/invoke.texi (fcf-protection=): Update documents. > --- > gcc/doc/invoke.texi | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi > index 68d1f364ac0..d1e6fafb98c 100644 > --- a/gcc/doc/invoke.texi > +++ b/gcc/doc/invoke.texi > @@ -17734,6 +17734,9 @@ function. The value @code{full} is an alias for > specifying both > @code{branch} and @code{return}. The value @code{none} turns off > instrumentation. > > +To override @option{-fcf-protection}, @option{-fcf-protection=none} > +needs to be explicitly added and then with @option{-fcf-protection=xxx}. > + > The value @code{check} is used for the final link with link-time > optimization (LTO). An error is issued if LTO object files are > compiled with different @option{-fcf-protection} values. The > -- > 2.31.1 > -- H.J.