From 914ded4e816178372eca1a8ca5b5abe01c399aba Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Thu, 30 May 2019 07:56:10 +0000 Subject: [PATCH] Darwin, backport fix for PR82920 part2 (mx32 is not supported) gcc/ 2019-05-30 Iain Sandoe Backport from mainline. 2019-05-12 Iain Sandoe PR target/82920 * config/i386/darwin.h (CC1_SPEC): Report -mx32 as an error for Darwin. gcc/testsuite/ 2019-05-30 Iain Sandoe Backport from mainline. 2019-05-14 Iain Sandoe PR target/82920 * gcc.target/i386/cet-sjlj-6b.c: Require effective target x32. * gcc.target/i386/pr52146.c: Likewise. * gcc.target/i386/pr52698.c: Likewise. * gcc.target/i386/pr52857-1.c: Likewise. * gcc.target/i386/pr52857-2.c: Likewise. * gcc.target/i386/pr52876.c: Likewise. * gcc.target/i386/pr53698.c: Likewise. * gcc.target/i386/pr54157.c: Likewise. * gcc.target/i386/pr55049-1.c: Likewise. * gcc.target/i386/pr55093.c: Likewise. * gcc.target/i386/pr55116-1.c: Likewise. * gcc.target/i386/pr55116-2.c: Likewise. * gcc.target/i386/pr55597.c: Likewise. * gcc.target/i386/pr59929.c: Likewise. * gcc.target/i386/pr66470.c: Likewise. From-SVN: r271765 --- gcc/ChangeLog | 9 +++++++++ gcc/config/i386/darwin.h | 3 ++- gcc/testsuite/ChangeLog | 22 +++++++++++++++++++++ gcc/testsuite/gcc.target/i386/cet-sjlj-6b.c | 1 + gcc/testsuite/gcc.target/i386/pr52146.c | 1 + gcc/testsuite/gcc.target/i386/pr52698.c | 1 + gcc/testsuite/gcc.target/i386/pr52857-1.c | 1 + gcc/testsuite/gcc.target/i386/pr52857-2.c | 1 + gcc/testsuite/gcc.target/i386/pr52876.c | 1 + gcc/testsuite/gcc.target/i386/pr53698.c | 1 + gcc/testsuite/gcc.target/i386/pr54157.c | 1 + gcc/testsuite/gcc.target/i386/pr55049-1.c | 1 + gcc/testsuite/gcc.target/i386/pr55093.c | 1 + gcc/testsuite/gcc.target/i386/pr55116-1.c | 1 + gcc/testsuite/gcc.target/i386/pr55116-2.c | 1 + gcc/testsuite/gcc.target/i386/pr55597.c | 1 + gcc/testsuite/gcc.target/i386/pr59929.c | 1 + gcc/testsuite/gcc.target/i386/pr66470.c | 1 + 18 files changed, 48 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fe0209918e43..40932172545f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2019-05-30 Iain Sandoe + + Backport from mainline. + 2019-05-12 Iain Sandoe + + PR target/82920 + * config/i386/darwin.h (CC1_SPEC): Report -mx32 as an error for + Darwin. + 2019-05-30 Iain Sandoe Backport from mainline. diff --git a/gcc/config/i386/darwin.h b/gcc/config/i386/darwin.h index d8e72ec69a57..fe11ec9efac3 100644 --- a/gcc/config/i386/darwin.h +++ b/gcc/config/i386/darwin.h @@ -131,7 +131,8 @@ extern int darwin_emit_branch_islands; #undef CC1_SPEC #define CC1_SPEC "%(cc1_cpu) \ %{!mkernel:%{!static:%{!mdynamic-no-pic:-fPIC}}} \ - %{g: %{!fno-eliminate-unused-debug-symbols: -feliminate-unused-debug-symbols }} " \ + %{g: %{!fno-eliminate-unused-debug-symbols: -feliminate-unused-debug-symbols }} \ + %{mx32:%eDarwin is not an mx32 platform}" \ DARWIN_CC1_SPEC #undef ASM_SPEC diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c54453075888..eea91b1ef989 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,25 @@ +2019-05-30 Iain Sandoe + + Backport from mainline. + 2019-05-14 Iain Sandoe + + PR target/82920 + * gcc.target/i386/cet-sjlj-6b.c: Require effective target x32. + * gcc.target/i386/pr52146.c: Likewise. + * gcc.target/i386/pr52698.c: Likewise. + * gcc.target/i386/pr52857-1.c: Likewise. + * gcc.target/i386/pr52857-2.c: Likewise. + * gcc.target/i386/pr52876.c: Likewise. + * gcc.target/i386/pr53698.c: Likewise. + * gcc.target/i386/pr54157.c: Likewise. + * gcc.target/i386/pr55049-1.c: Likewise. + * gcc.target/i386/pr55093.c: Likewise. + * gcc.target/i386/pr55116-1.c: Likewise. + * gcc.target/i386/pr55116-2.c: Likewise. + * gcc.target/i386/pr55597.c: Likewise. + * gcc.target/i386/pr59929.c: Likewise. + * gcc.target/i386/pr66470.c: Likewise. + 2019-05-30 Iain Sandoe Backport from mainline. diff --git a/gcc/testsuite/gcc.target/i386/cet-sjlj-6b.c b/gcc/testsuite/gcc.target/i386/cet-sjlj-6b.c index 6ec4b834bfbd..b2376e710df6 100644 --- a/gcc/testsuite/gcc.target/i386/cet-sjlj-6b.c +++ b/gcc/testsuite/gcc.target/i386/cet-sjlj-6b.c @@ -1,4 +1,5 @@ /* { dg-do compile { target { ! ia32 } } } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O -maddress-mode=long -fcf-protection -mx32" } */ /* { dg-final { scan-assembler-times "endbr64" 2 } } */ /* { dg-final { scan-assembler-times "movq\t.*buf\\+16" 1 } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr52146.c b/gcc/testsuite/gcc.target/i386/pr52146.c index dcc28d007fe6..9bd81368bcdf 100644 --- a/gcc/testsuite/gcc.target/i386/pr52146.c +++ b/gcc/testsuite/gcc.target/i386/pr52146.c @@ -1,4 +1,5 @@ /* { dg-do compile { target { ! ia32 } } } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O2 -mx32" } */ void diff --git a/gcc/testsuite/gcc.target/i386/pr52698.c b/gcc/testsuite/gcc.target/i386/pr52698.c index d5cfa7411127..8d8988fccc34 100644 --- a/gcc/testsuite/gcc.target/i386/pr52698.c +++ b/gcc/testsuite/gcc.target/i386/pr52698.c @@ -1,4 +1,5 @@ /* { dg-do compile { target { ! ia32 } } } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O2 -mx32 -maddress-mode=long" } */ extern void abort (void); diff --git a/gcc/testsuite/gcc.target/i386/pr52857-1.c b/gcc/testsuite/gcc.target/i386/pr52857-1.c index 5c23339b66a8..2e8a4afdc105 100644 --- a/gcc/testsuite/gcc.target/i386/pr52857-1.c +++ b/gcc/testsuite/gcc.target/i386/pr52857-1.c @@ -1,4 +1,5 @@ /* { dg-do compile { target { ! ia32 } } } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-g -O -mx32 -maddress-mode=long" } */ extern void get_BID128 (int *); diff --git a/gcc/testsuite/gcc.target/i386/pr52857-2.c b/gcc/testsuite/gcc.target/i386/pr52857-2.c index 99acf84347d6..62ac5df5eb11 100644 --- a/gcc/testsuite/gcc.target/i386/pr52857-2.c +++ b/gcc/testsuite/gcc.target/i386/pr52857-2.c @@ -1,4 +1,5 @@ /* { dg-do compile { target { ! ia32 } } } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-g -O -mx32 -maddress-mode=long" } */ void uw_init_context_1 (void *); diff --git a/gcc/testsuite/gcc.target/i386/pr52876.c b/gcc/testsuite/gcc.target/i386/pr52876.c index 249206c33461..6255b286a786 100644 --- a/gcc/testsuite/gcc.target/i386/pr52876.c +++ b/gcc/testsuite/gcc.target/i386/pr52876.c @@ -1,4 +1,5 @@ /* { dg-do run { target x32 } } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O2 -mx32 -maddress-mode=long" } */ extern void abort (void); diff --git a/gcc/testsuite/gcc.target/i386/pr53698.c b/gcc/testsuite/gcc.target/i386/pr53698.c index e36200af8520..9f36707ecf9f 100644 --- a/gcc/testsuite/gcc.target/i386/pr53698.c +++ b/gcc/testsuite/gcc.target/i386/pr53698.c @@ -1,4 +1,5 @@ /* { dg-do compile { target { ! ia32 } } } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O -mx32 -maddress-mode=long -fno-tree-dominator-opts" } */ extern char foo[]; diff --git a/gcc/testsuite/gcc.target/i386/pr54157.c b/gcc/testsuite/gcc.target/i386/pr54157.c index 26318677d590..01b02c58a90e 100644 --- a/gcc/testsuite/gcc.target/i386/pr54157.c +++ b/gcc/testsuite/gcc.target/i386/pr54157.c @@ -1,4 +1,5 @@ /* { dg-do compile { target { ! ia32 } } } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O2 -mx32 -maddress-mode=long -ftree-vectorize" } */ struct s2{ diff --git a/gcc/testsuite/gcc.target/i386/pr55049-1.c b/gcc/testsuite/gcc.target/i386/pr55049-1.c index 387bbeb81fb4..6486ce99a276 100644 --- a/gcc/testsuite/gcc.target/i386/pr55049-1.c +++ b/gcc/testsuite/gcc.target/i386/pr55049-1.c @@ -1,5 +1,6 @@ /* { dg-do compile { target { ! ia32 } } } */ /* { dg-require-effective-target fpic } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O2 -fPIC -mx32" } */ extern void __morestack_fail (const char *msg); diff --git a/gcc/testsuite/gcc.target/i386/pr55093.c b/gcc/testsuite/gcc.target/i386/pr55093.c index bfe2c503d83e..190a9423f331 100644 --- a/gcc/testsuite/gcc.target/i386/pr55093.c +++ b/gcc/testsuite/gcc.target/i386/pr55093.c @@ -1,4 +1,5 @@ /* { dg-do compile { target { ! ia32 } } } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O2 -mx32 -maddress-mode=long" } */ /* { dg-skip-if "different ABI" { x86_64-*-mingw* } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr55116-1.c b/gcc/testsuite/gcc.target/i386/pr55116-1.c index a2e2acd858a7..a7d17ed014e3 100644 --- a/gcc/testsuite/gcc.target/i386/pr55116-1.c +++ b/gcc/testsuite/gcc.target/i386/pr55116-1.c @@ -1,4 +1,5 @@ /* { dg-do compile { target { ! ia32 } } } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O2 -mx32 -maddress-mode=long" } */ int glob_int_arr[100]; diff --git a/gcc/testsuite/gcc.target/i386/pr55116-2.c b/gcc/testsuite/gcc.target/i386/pr55116-2.c index 59bdebe690da..62ac0a1d0019 100644 --- a/gcc/testsuite/gcc.target/i386/pr55116-2.c +++ b/gcc/testsuite/gcc.target/i386/pr55116-2.c @@ -1,4 +1,5 @@ /* { dg-do compile { target { ! ia32 } } } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O2 -mx32 -maddress-mode=long" } */ typedef struct rtx_def *rtx; diff --git a/gcc/testsuite/gcc.target/i386/pr55597.c b/gcc/testsuite/gcc.target/i386/pr55597.c index 617c3e5c5eda..b942324892c1 100644 --- a/gcc/testsuite/gcc.target/i386/pr55597.c +++ b/gcc/testsuite/gcc.target/i386/pr55597.c @@ -1,5 +1,6 @@ /* { dg-do compile { target { ! ia32 } } } */ /* { dg-require-effective-target fpic } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O2 -fPIC -mx32 -maddress-mode=long" } */ struct initial_sp diff --git a/gcc/testsuite/gcc.target/i386/pr59929.c b/gcc/testsuite/gcc.target/i386/pr59929.c index 53e0b237c270..f770d4b7d1dc 100644 --- a/gcc/testsuite/gcc.target/i386/pr59929.c +++ b/gcc/testsuite/gcc.target/i386/pr59929.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O0 -mno-accumulate-outgoing-args" } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-additional-options "-mx32 -maddress-mode=short" { target x32 } } */ void diff --git a/gcc/testsuite/gcc.target/i386/pr66470.c b/gcc/testsuite/gcc.target/i386/pr66470.c index 5c068f3d71b5..3515b6d28929 100644 --- a/gcc/testsuite/gcc.target/i386/pr66470.c +++ b/gcc/testsuite/gcc.target/i386/pr66470.c @@ -1,5 +1,6 @@ /* PR target/66470 */ /* { dg-do compile { target { ! ia32 } } } */ +/* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O2 -mx32 -maddress-mode=long" } */ /* { dg-require-effective-target tls } */ -- 2.47.2