]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Darwin, x86 - backport fix for mfentry test fails.
authorIain Sandoe <iain@sandoe.co.uk>
Thu, 30 May 2019 08:06:38 +0000 (08:06 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Thu, 30 May 2019 08:06:38 +0000 (08:06 +0000)
This will fix the cases by UNSUPPORTING for any target that cannot
support mfentry (including Linux -fpic -m32).

gcc/

2019-05-30  Iain Sandoe  <iain@sandoe.co.uk>

Backport from mainline.
2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>

* config/i386/darwin.h: Reject -mfentry*.
* doc/sourcebuild.texi: Document mfentry target support.

gcc/testsuite/

2019-05-30  Iain Sandoe  <iain@sandoe.co.uk>

Backport from mainline.
2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>

       * lib/target-supports.exp (check_effective_target_mfentry): New.
       * gcc.target/i386/fentry-override.c: Require effective target mfentry.
       * gcc.target/i386/fentry.c: Likewise
       * gcc.target/i386/fentryname1.c: Likewise
       * gcc.target/i386/fentryname2.c: Likewise
       * gcc.target/i386/fentryname3.c: Likewise
       * gcc.target/i386/nop-mcount.c: Likewise
       * gcc.target/i386/pr82699-2.c: Likewise
       * gcc.target/i386/pr82699-4.c: Likewise
       * gcc.target/i386/pr82699-5.c: Likewise
       * gcc.target/i386/pr82699-6.c: Likewise
       * gcc.target/i386/returninst1.c: Likewise
       * gcc.target/i386/returninst2.c: Likewise
       * gcc.target/i386/returninst3.c : Likewise

From-SVN: r271767

17 files changed:
gcc/ChangeLog
gcc/config/i386/darwin.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/fentry-override.c
gcc/testsuite/gcc.target/i386/fentry.c
gcc/testsuite/gcc.target/i386/fentryname1.c
gcc/testsuite/gcc.target/i386/fentryname2.c
gcc/testsuite/gcc.target/i386/fentryname3.c
gcc/testsuite/gcc.target/i386/nop-mcount.c
gcc/testsuite/gcc.target/i386/pr82699-2.c
gcc/testsuite/gcc.target/i386/pr82699-4.c
gcc/testsuite/gcc.target/i386/pr82699-5.c
gcc/testsuite/gcc.target/i386/pr82699-6.c
gcc/testsuite/gcc.target/i386/returninst1.c
gcc/testsuite/gcc.target/i386/returninst2.c
gcc/testsuite/gcc.target/i386/returninst3.c
gcc/testsuite/lib/target-supports.exp

index 40932172545f4f6c796d550da356ecdbcdbe35a4..e4261664778313cfb7124cb54777528cf20166b9 100644 (file)
@@ -1,3 +1,11 @@
+2019-05-30  Iain Sandoe  <iain@sandoe.co.uk>
+
+       Backport from mainline.
+       2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/i386/darwin.h: Reject -mfentry*.
+       * doc/sourcebuild.texi: Document mfentry target support.
+
 2019-05-30  Iain Sandoe  <iain@sandoe.co.uk>
 
        Backport from mainline.
index fe11ec9efac33c7a40450b585c9c4146fb02e302..11284283304e108ab17fb8e7bae617e710923892 100644 (file)
@@ -132,7 +132,8 @@ extern int darwin_emit_branch_islands;
 #define CC1_SPEC "%(cc1_cpu) \
   %{!mkernel:%{!static:%{!mdynamic-no-pic:-fPIC}}} \
   %{g: %{!fno-eliminate-unused-debug-symbols: -feliminate-unused-debug-symbols }} \
-  %{mx32:%eDarwin is not an mx32 platform}" \
+  %{mx32:%eDarwin is not an mx32 platform} \
+  %{mfentry*:%eDarwin does not support -mfentry or associated options}" \
   DARWIN_CC1_SPEC
 
 #undef ASM_SPEC
index 39a8fdf19782d79620d0b143b982389c6aba9436..3f6a8aecab4e639acb3512576ded049ac1918a1b 100644 (file)
@@ -1,3 +1,23 @@
+2019-05-30  Iain Sandoe  <iain@sandoe.co.uk>
+
+       Backport from mainline.
+       2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * lib/target-supports.exp (check_effective_target_mfentry): New.
+       * gcc.target/i386/fentry-override.c: Require effective target mfentry.
+       * gcc.target/i386/fentry.c: Likewise
+       * gcc.target/i386/fentryname1.c: Likewise
+       * gcc.target/i386/fentryname2.c: Likewise
+       * gcc.target/i386/fentryname3.c: Likewise
+       * gcc.target/i386/nop-mcount.c: Likewise
+       * gcc.target/i386/pr82699-2.c: Likewise
+       * gcc.target/i386/pr82699-4.c: Likewise
+       * gcc.target/i386/pr82699-5.c: Likewise
+       * gcc.target/i386/pr82699-6.c: Likewise
+       * gcc.target/i386/returninst1.c: Likewise
+       * gcc.target/i386/returninst2.c: Likewise
+       * gcc.target/i386/returninst3.c : Likewise
+
 2019-05-30  Iain Sandoe  <iain@sandoe.co.uk>
 
        Backport from mainline.
index 7bc5fc451505555ebc221dc7a10f3023ad1700d6..efba1bf2cff8843f2987c114c6df17d40bc08ad4 100644 (file)
@@ -1,5 +1,6 @@
 /* Test -mfentry override */
 /* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-require-effective-target mfentry } */
 /* { dg-options "-mfentry" } */
 /* { dg-final { scan-assembler-not "__fentry__" } } */
 /* Origin: Andi Kleen */
index 2449e75fb5d74590081777b059c6289264efecaa..28edd104f18b5e62b2a149d78d31765baf71f4c8 100644 (file)
@@ -1,5 +1,6 @@
 /* Test -mfentry */
 /* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-require-effective-target mfentry } */
 /* { dg-options "-fprofile -mfentry" } */
 /* { dg-final { scan-assembler "__fentry__" } } */
 /* Origin: Andi Kleen */
index 6d2e76d223a6f8ff61ad1f66145ac32ffcc3fc44..1265342b954ff6261a50ca167c8454d0412d3a8f 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target mfentry } */
 /* { dg-options "-pg -mfentry -mfentry-name=foo" } */
 /* { dg-final { scan-assembler "call.*foo" } } */
 /* { dg-final { scan-assembler "call.*bar" } } */
index 7d102bfccbcd5183d8d982d8d77e1dc90fd7317a..c51c5d1ff7166a70073d841bbb93b2ad24083818 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target mfentry } */
 /* { dg-options "-pg -mfentry -mrecord-mcount -mfentry-section=foo" } */
 /* { dg-final { scan-assembler "section.*foo" } } */
 /* { dg-final { scan-assembler "section.*bar" } } */
index 777f4e4b0ffbfd43736dacff38af079cfc308295..56881090a9c7c2df5d3cc9542fc9dfe92be5570a 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target mfentry } */
 /* { dg-options "-pg -mfentry"  } */
 /* { dg-final { scan-assembler "section.*__entry_loc" } } */
 /* { dg-final { scan-assembler "0x0f, 0x1f, 0x44, 0x00, 0x00" } } */
index a8e14bce55146ae40ddf711046d09f3b3c83fa65..a5f8d27fda4357b0ad8bb6c55c57b318fca19817 100644 (file)
@@ -1,5 +1,6 @@
 /* Test -mnop-mcount */
 /* { dg-do compile { target { *-*-linux* && nonpic } } } */
+/* { dg-require-effective-target mfentry } */
 /* { dg-options "-pg -mfentry -mrecord-mcount -mnop-mcount" } */
 /* { dg-final { scan-assembler-not "__fentry__" } } */
 /* Origin: Andi Kleen */
index 07a4ccbdbf48746e1954037d911b08371bab71f1..c43cf441e067b5134b0644c84bf2c06d823ae446 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target *-*-linux* } } */
+/* { dg-require-effective-target mfentry } */
 /* { dg-options "-O2 -fno-pic -fcf-protection -pg -mfentry -fasynchronous-unwind-tables" } */
 /* { dg-final { scan-assembler-times {\t\.cfi_startproc\n\tendbr} 1 } } */
 
index 3cc03dbf13e7d798e223a9f8dbe0c1b55c442716..719566b358b4f7899306b95a99df8f14f8e879fd 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-require-effective-target mfentry } */
 /* { dg-options "-O2 -fpic -fcf-protection -pg -mfentry -fasynchronous-unwind-tables" } */
 /* { dg-final { scan-assembler-times {\t\.cfi_startproc\n\tendbr} 1 } } */
 
index 0c547e25f03a4ace3e39288b74b56bc49dfb0bd9..ac3c1ae760aa918318371ddd343a232d514dd3c2 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target *-*-linux* } } */
+/* { dg-require-effective-target mfentry } */
 /* { dg-options "-O2 -fcf-protection -mfentry -fasynchronous-unwind-tables" } */
 /* { dg-additional-options "-fno-pic" { target ia32 } } */
 /* { dg-final { scan-assembler-times {\t\.cfi_startproc\n\tendbr} 1 } } */
index ff6bae7d1ea35cbfbb1891a1afea413e8241f346..0b595f4a1c9586af7c0722d42e450ef49c988909 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target *-*-linux* } } */
+/* { dg-require-effective-target mfentry } */
 /* { dg-options "-fno-pic -O2 -fcf-protection -pg -mfentry -mrecord-mcount -mnop-mcount -fasynchronous-unwind-tables" } */
 /* { dg-final { scan-assembler-times {\t\.cfi_startproc\n\tendbr} 1 } } */
 
index d7ecc41bc650973e7ee70a87fe947195c4f912bc..133fdeef5aa11215c69fe09b729f626549819b17 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target { ! ia32 } } } */
+/* { dg-require-effective-target mfentry } */
 /* { dg-options "-pg -mfentry -minstrument-return=call -mrecord-return" } */
 /* { dg-final { scan-assembler "call.*__return__" } } */
 /* { dg-final { scan-assembler "section.*return_loc" } } */
index 4724b40b258056d746b84d9a8d80bc3c47738aaa..3629310a59a706fa2519b51130c2c07125f75de1 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target { ! ia32 } } } */
+/* { dg-require-effective-target mfentry } */
 /* { dg-options "-pg -mfentry -minstrument-return=nop5 -mrecord-return" } */
 /* { dg-final { scan-assembler-times "0x0f, 0x1f, 0x44, 0x00, 0x00" 3 } } */
 /* { dg-final { scan-assembler "section.*return_loc" } } */
index 14b4445b1c69af296edcce49a567e1faef200fa7..b84cc77e12bc96270d06842d6ca8897302c126cb 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target { ! ia32 } } } */
+/* { dg-require-effective-target mfentry } */
 /* { dg-options "-pg -mfentry -minstrument-return=call" } */
 /* { dg-final { scan-assembler-not "call.*__return__" } } */
 
index 4bb7da283f13641153a2708b2e8c3d7f3751186a..737ca6d57ad3ef616fc6887a1942ab519efd0fc1 100644 (file)
@@ -9345,3 +9345,14 @@ proc check_effective_target_llvm_binutils { } {
              expr { [istarget amdgcn*-*-*]
                     || [check_effective_target_offload_gcn] }}]
 }
+
+# Return 1 if the compiler supports '-mfentry'.
+
+proc check_effective_target_mfentry { } {
+    if { !([istarget i?86-*-*] || [istarget x86_64-*-*]) } {
+        return 0
+    }
+    return [check_no_compiler_messages mfentry object {
+               void foo (void) { }
+    } "-mfentry"]
+}