On Thu, Feb 21, 2019 at 5:34 AM Jan Hubicka <hubi...@ucw.cz> wrote:
>
> > On Tue, Sep 25, 2018 at 6:50 AM H.J. Lu <hjl.to...@gmail.com> wrote:
> > >
> > > Issue an error when -mindirect-branch or -mfunction-return are used
> > > with incompatible -fcf-protection.
> > >
> > > gcc/
> > >
> > >         PR target/87412
> > >         * config/i386/i386.c (ix86_set_indirect_branch_type): Issue an
> > >         error for -mindirect-branch/-mfunction-return with incompatible
> > >         -fcf-protection.
> > >
> > > gcc/testsuite/
> > >
> > >         PR target/87412
> > >         * gcc.target/i386/pr87412-1.c: New file.
> > >         * gcc.target/i386/pr87412-2.c: Likewise.
> > >         * gcc.target/i386/pr87412-3.c: Likewise.
> > >         * gcc.target/i386/pr87412-4.c: Likewise.
>
> OK,
> thanks!
> Honza

I am checking in this patch to replace -fcf-protection with
-fcf-protection=branch
in a couple -mindirect-branch tests.

-- 
H.J.
From fc3c8f2dfc3e544233ea92fb05e6bbe9eb496103 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.to...@gmail.com>
Date: Thu, 21 Feb 2019 08:12:12 -0800
Subject: [PATCH] i386: Replace -fcf-protection with -fcf-protection=branch

Since -mindirect-branch is incompatible with -fcf-protection=return and
-fcf-protection, replace -fcf-protection with -fcf-protection=branch.

	PR target/87412
	* gcc.target/i386/indirect-thunk-attr-14.c: Replace
	-fcf-protection with -fcf-protection=branch.
	* gcc.target/i386/indirect-thunk-attr-15.c: Likewise.
	* gcc.target/i386/indirect-thunk-attr-16.c: Likewise.
	* gcc.target/i386/indirect-thunk-extern-8.c: Likewise.
	* gcc.target/i386/indirect-thunk-extern-9.c: Likewise.
	* gcc.target/i386/indirect-thunk-extern-10.c: Likewise.
---
 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-14.c   | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-15.c   | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-16.c   | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-10.c | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-8.c  | 2 +-
 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-9.c  | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-14.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-14.c
index eb25139da6d..8516be5c8a6 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-14.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-14.c
@@ -1,5 +1,5 @@
 /* { dg-do compile { target *-*-linux* } } */
-/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic -fplt -mindirect-branch=keep -fcf-protection" } */
+/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic -fplt -mindirect-branch=keep -fcf-protection=branch" } */
 
 extern void (*bar) (void);
 
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-15.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-15.c
index 1ad459e3b19..28eafbafe39 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-15.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-15.c
@@ -1,5 +1,5 @@
 /* { dg-do compile { target *-*-linux* } } */
-/* { dg-options "-O2 -mindirect-branch-register -mfunction-return=keep -fno-pic -fplt -mindirect-branch=keep -fcf-protection" } */
+/* { dg-options "-O2 -mindirect-branch-register -mfunction-return=keep -fno-pic -fplt -mindirect-branch=keep -fcf-protection=branch" } */
 
 extern void (*bar) (void);
 
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-16.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-16.c
index 86fe035bc9a..737d85d48e8 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-16.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-16.c
@@ -1,5 +1,5 @@
 /* { dg-do compile { target *-*-linux* } } */
-/* { dg-options "-O2 -mindirect-branch-register -mfunction-return=keep -fno-pic -fplt -mindirect-branch=keep -fcf-protection" } */
+/* { dg-options "-O2 -mindirect-branch-register -mfunction-return=keep -fno-pic -fplt -mindirect-branch=keep -fcf-protection=branch" } */
 
 extern void (*bar) (void) __attribute__((nocf_check));
 
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-10.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-10.c
index 95731d6f365..539781c492a 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-10.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-10.c
@@ -1,5 +1,5 @@
 /* { dg-do compile { target *-*-linux* } } */
-/* { dg-options "-O2 -mindirect-branch-register -mfunction-return=keep -fno-pic -fplt -mindirect-branch=thunk-extern -fcf-protection" } */
+/* { dg-options "-O2 -mindirect-branch-register -mfunction-return=keep -fno-pic -fplt -mindirect-branch=thunk-extern -fcf-protection=branch" } */
 
 extern void (*bar) (void) __attribute__((nocf_check));
 
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-8.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-8.c
index 0c61516732a..2cef59de5ab 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-8.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-8.c
@@ -1,5 +1,5 @@
 /* { dg-do compile { target *-*-linux* } } */
-/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic -fplt -mindirect-branch=thunk-extern -fcf-protection" } */
+/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic -fplt -mindirect-branch=thunk-extern -fcf-protection=branch" } */
 
 extern void (*bar) (void);
 
diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-9.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-9.c
index 731d4c4e6e9..a579cdde6ba 100644
--- a/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-9.c
+++ b/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-9.c
@@ -1,5 +1,5 @@
 /* { dg-do compile { target *-*-linux* } } */
-/* { dg-options "-O2 -mindirect-branch-register -mfunction-return=keep -fno-pic -fplt -mindirect-branch=thunk-extern -fcf-protection" } */
+/* { dg-options "-O2 -mindirect-branch-register -mfunction-return=keep -fno-pic -fplt -mindirect-branch=thunk-extern -fcf-protection=branch" } */
 
 extern void (*bar) (void);
 
-- 
2.20.1

Reply via email to