Re: [PATCH 3/4] rs6000: Conditionally define __ROP_PROTECT__

2021-05-14 Thread Segher Boessenkool
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 Thread Bill Schmidt via Gcc-patches
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__

2021-05-12 Thread Segher Boessenkool
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__

2021-05-12 Thread Segher Boessenkool
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__

2021-04-26 Thread will schmidt via Gcc-patches
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-04-25 Thread Bill Schmidt via Gcc-patches
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