Testsuite: GCN is always PIE.
authorAndrew Stubbs <ams@codesourcery.com>
Thu, 17 Jan 2019 12:36:10 +0000 (12:36 +0000)
committerAndrew Stubbs <ams@gcc.gnu.org>
Thu, 17 Jan 2019 12:36:10 +0000 (12:36 +0000)
The GCN/HSA loader ignores the load address and uses a random location, so we
build all GCN binaries as PIE, by default.

This patch makes the necessary testsuite adjustments to make this work
correctly.

2019-01-17  Andrew Stubbs  <ams@codesourcery.com>

gcc/testsuite/
* gcc.dg/graphite/scop-19.c: Check pie_enabled.
* gcc.dg/pic-1.c: Disable on amdgcn.
* gcc.dg/pic-2.c: Disable on amdgcn.
* gcc.dg/pic-3.c: Disable on amdgcn.
* gcc.dg/pic-4.c: Disable on amdgcn.
* gcc.dg/pie-3.c: Disable on amdgcn.
* gcc.dg/pie-4.c: Disable on amdgcn.
* gcc.dg/uninit-19.c: Check pie_enabled.
* lib/target-supports.exp (check_effective_target_pie): Add amdgcn.

From-SVN: r268026

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/graphite/scop-19.c
gcc/testsuite/gcc.dg/pic-1.c
gcc/testsuite/gcc.dg/pic-2.c
gcc/testsuite/gcc.dg/pic-3.c
gcc/testsuite/gcc.dg/pic-4.c
gcc/testsuite/gcc.dg/pie-3.c
gcc/testsuite/gcc.dg/pie-4.c
gcc/testsuite/lib/target-supports.exp

index c4e1dd5db7036c7de7616da347c992ac698bbd81..e57b7ee5cea753dc4c9653969a77737c921e2d28 100644 (file)
@@ -1,3 +1,15 @@
+2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
+
+       * gcc.dg/graphite/scop-19.c: Check pie_enabled.
+       * gcc.dg/pic-1.c: Disable on amdgcn.
+       * gcc.dg/pic-2.c: Disable on amdgcn.
+       * gcc.dg/pic-3.c: Disable on amdgcn.
+       * gcc.dg/pic-4.c: Disable on amdgcn.
+       * gcc.dg/pie-3.c: Disable on amdgcn.
+       * gcc.dg/pie-4.c: Disable on amdgcn.
+       * gcc.dg/uninit-19.c: Check pie_enabled.
+       * lib/target-supports.exp (check_effective_target_pie): Add amdgcn.
+
 2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
            Kwok Cheung Yeung  <kcy@codesourcery.com>
            Julian Brown  <julian@codesourcery.com>
index c89717bf46502e2f26521bd4b869b5c48f20668d..602813283564ba475e8b95d8fea3f74e2e89b3b5 100644 (file)
@@ -31,6 +31,6 @@ d_growable_string_append_buffer (struct d_growable_string *dgs,
   if (need > dgs->alc)
     d_growable_string_resize (dgs, need);
 }
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 0" 2 "graphite" { target nonpic } } } */
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 0" 1 "graphite" { target { ! nonpic } } } } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 0" 2 "graphite" { target { nonpic || pie_enabled } } } } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 0" 1 "graphite" { target { ! { nonpic || pie_enabled } } } } } */
 
index 82ba43da83e707108024ed78b7a9124a29c9b1c9..4bb332ec01e8eed7e75472064e8ba88c6bc02259 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { *-*-darwin* hppa*-*-* } } } } */
+/* { dg-do compile { target { ! { *-*-darwin* hppa*-*-* amdgcn*-*-* } } } } */
 /* { dg-require-effective-target fpic } */
 /* { dg-options "-fpic" } */
 
index bccec13934a0f429e447b6df5bcb4b8e3a636e4c..3846ec4ff4716aabc7489e20e84a8679168d9caf 100644 (file)
@@ -2,6 +2,7 @@
 /* { dg-require-effective-target fpic } */
 /* { dg-options "-fPIC" } */
 /* { dg-skip-if "__PIC__ is always 1 for MIPS" { mips*-*-* } } */
+/* { dg-skip-if "__PIE__ is always defined for GCN" { amdgcn*-*-* } } */
 
 #if __PIC__ != 2
 # error __PIC__ is not 2!
index c56f06fe27a61edcd55745635c3f886f93f88047..1397977e7f83aab12914109e38110663db7433a6 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { *-*-darwin* hppa*64*-*-* mips*-*-linux-* } } } } */
+/* { dg-do compile { target { ! { *-*-darwin* hppa*64*-*-* mips*-*-linux-* amdgcn*-*-* } } } } */
 /* { dg-options "-fno-pic" } */
 
 #ifdef __PIC__
index 2afdd99b14f94e03dc05a74f136bbcaa075a885a..d6d9dc90046017b18a870d8b9eae6d7307dbaadb 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { *-*-darwin* hppa*64*-*-* mips*-*-linux-* } } } } */
+/* { dg-do compile { target { ! { *-*-darwin* hppa*64*-*-* mips*-*-linux-* amdgcn*-*-* } } } } */
 /* { dg-options "-fno-PIC" } */
 
 #ifdef __PIC__
index 55774377e5bee3e83823a6abe6d21c58a5dff475..fd4a48da45f5f27a453c98b3497f3314887e6b15 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { *-*-darwin* hppa*64*-*-* mips*-*-linux-* } } } } */
+/* { dg-do compile { target { ! { *-*-darwin* hppa*64*-*-* mips*-*-linux-* amdgcn*-*-* } } } } */
 /* { dg-options "-fno-pie" } */
 
 #ifdef __PIC__
index 41346767e2b43723d9e659fb5b6abf0a4ac5cafc..5523602abe0583f8a9a3d4d0361e0c57e067b1e8 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { *-*-darwin* hppa*64*-*-* mips*-*-linux-* } } } } */
+/* { dg-do compile { target { ! { *-*-darwin* hppa*64*-*-* mips*-*-linux-* amdgcn*-*-* } } } } */
 /* { dg-options "-fno-PIE" } */
 
 #ifdef __PIC__
index cc6e2bb4c3777fd3cd04246d71f8f5676c180f39..03b5cd5e6b6d9bb83e8b3bb800309781acfe6e99 100644 (file)
@@ -1176,7 +1176,8 @@ proc check_effective_target_pie { } {
         || [istarget *-*-dragonfly*]
         || [istarget *-*-freebsd*]
         || [istarget *-*-linux*]
-        || [istarget *-*-gnu*] } {
+        || [istarget *-*-gnu*]
+        || [istarget *-*-amdhsa]} {
        return 1;
     }
     if { [istarget *-*-solaris2.1\[1-9\]*] } {