Re: [PATCH 3/4] rs6000: Conditionally define __ROP_PROTECT__
On Thu, May 13, 2021 at 10:34:56PM -0500, Bill Schmidt via Gcc-patches wrote: > gcc/ > * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define > __ROP_PROTECT__ if -mrop-protect is selected. Okay for trunk and 11. Segher
[PATCH 3/4] rs6000: Conditionally define __ROP_PROTECT__
2021-05-13 Bill Schmidt gcc/ * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define __ROP_PROTECT__ if -mrop-protect is selected. --- gcc/config/rs6000/rs6000-c.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c index 0f8a629ff5a..afcb5bb6e39 100644 --- a/gcc/config/rs6000/rs6000-c.c +++ b/gcc/config/rs6000/rs6000-c.c @@ -602,6 +602,9 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT flags, /* Whether pc-relative code is being generated. */ if ((flags & OPTION_MASK_PCREL) != 0) rs6000_define_or_undefine_macro (define_p, "__PCREL__"); + /* Tell the user -mrop-protect is in play. */ + if (rs6000_rop_protect) +rs6000_define_or_undefine_macro (define_p, "__ROP_PROTECT__"); } void -- 2.27.0
Re: [PATCH 3/4] rs6000: Conditionally define __ROP_PROTECT__
On Sun, Apr 25, 2021 at 08:50:17PM -0500, Bill Schmidt wrote: > 2021-03-25 Bill Schmidt > > gcc/ > * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define > __ROP_PROTECT__ if -mrop-protect is selected. Okay for trunk and 11. Thanks! Segher
Re: [PATCH 3/4] rs6000: Conditionally define __ROP_PROTECT__
On Mon, Apr 26, 2021 at 11:03:22AM -0500, will schmidt wrote: > On Sun, 2021-04-25 at 20:50 -0500, Bill Schmidt via Gcc-patches wrote: > > @@ -602,6 +602,9 @@ rs6000_target_modify_macros (bool define_p, > > HOST_WIDE_INT flags, > >/* Whether pc-relative code is being generated. */ > >if ((flags & OPTION_MASK_PCREL) != 0) > > rs6000_define_or_undefine_macro (define_p, "__PCREL__"); > > + /* Tell the user -mrop-protect is in play. */ > > + if (rs6000_rop_protect) > > +rs6000_define_or_undefine_macro (define_p, "__ROP_PROTECT__"); > > > > I notice that almost all of the other defines are controled by an (if > (flags & OPTION) logic block.. but this seems OK. That is rs6000_isa_flags, which is only 64 bits. Not every option can be put in there, only the ones used all over the place in the compiler should be. Currently there are 53 of 64 bits used, there is some room, and that is good :-) Segher
Re: [PATCH 3/4] rs6000: Conditionally define __ROP_PROTECT__
On Sun, 2021-04-25 at 20:50 -0500, Bill Schmidt via Gcc-patches wrote: > 2021-03-25 Bill Schmidt > > gcc/ > * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define > __ROP_PROTECT__ if -mrop-protect is selected. ok > --- > gcc/config/rs6000/rs6000-c.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c > index 0f8a629ff5a..afcb5bb6e39 100644 > --- a/gcc/config/rs6000/rs6000-c.c > +++ b/gcc/config/rs6000/rs6000-c.c > @@ -602,6 +602,9 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT > flags, >/* Whether pc-relative code is being generated. */ >if ((flags & OPTION_MASK_PCREL) != 0) > rs6000_define_or_undefine_macro (define_p, "__PCREL__"); > + /* Tell the user -mrop-protect is in play. */ > + if (rs6000_rop_protect) > +rs6000_define_or_undefine_macro (define_p, "__ROP_PROTECT__"); > I notice that almost all of the other defines are controled by an (if (flags & OPTION) logic block.. but this seems OK. lgtm, thanks, -WIll > } > > void
[PATCH 3/4] rs6000: Conditionally define __ROP_PROTECT__
2021-03-25 Bill Schmidt gcc/ * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define __ROP_PROTECT__ if -mrop-protect is selected. --- gcc/config/rs6000/rs6000-c.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c index 0f8a629ff5a..afcb5bb6e39 100644 --- a/gcc/config/rs6000/rs6000-c.c +++ b/gcc/config/rs6000/rs6000-c.c @@ -602,6 +602,9 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT flags, /* Whether pc-relative code is being generated. */ if ((flags & OPTION_MASK_PCREL) != 0) rs6000_define_or_undefine_macro (define_p, "__PCREL__"); + /* Tell the user -mrop-protect is in play. */ + if (rs6000_rop_protect) +rs6000_define_or_undefine_macro (define_p, "__ROP_PROTECT__"); } void -- 2.27.0