aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2016-06-24 11:17:14 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2016-06-24 04:17:14 -0700
commitdfee28703668e4aa85de36e4f4bd0cac7a04146d (patch)
treeed69a45380a1693bc0182cc743bb7637b7a94596
parent00085092c5e78d076c4259e1f955ce1b98090624 (diff)
downloadgcc-dfee28703668e4aa85de36e4f4bd0cac7a04146d.zip
gcc-dfee28703668e4aa85de36e4f4bd0cac7a04146d.tar.gz
gcc-dfee28703668e4aa85de36e4f4bd0cac7a04146d.tar.bz2
Enable non-PIC noplt tests on 32-bit x86 target
Since non-PIC noplt works on 32-bit x86 target now with assembler/linker support, enable non-PIC noplt tests on 32-bit x86 target. main in noplt-2.c and noplt-4.c are renamed to bar to avoid stack re-alignment in main for 32-bit target, which disables tailcall optimization. * gcc.target/i386/noplt-1.c: Don't disable for ia32. Scan for ia32 if R_386_GOT32X relocation is supported. * gcc.target/i386/noplt-3.c: Likewise. * gcc.target/i386/noplt-2.c: Likewise. (main): Renamed to ... (bar): This. * gcc.target/i386/noplt-4.c: Likewise. (main): Renamed to ... (bar): This. * gcc.target/i386/pr67400-3.c: Don't disable for ia32. * gcc.target/i386/pr67400-5.c: Likewise. From-SVN: r237756
-rw-r--r--gcc/testsuite/ChangeLog14
-rw-r--r--gcc/testsuite/gcc.target/i386/noplt-1.c5
-rw-r--r--gcc/testsuite/gcc.target/i386/noplt-2.c7
-rw-r--r--gcc/testsuite/gcc.target/i386/noplt-3.c5
-rw-r--r--gcc/testsuite/gcc.target/i386/noplt-4.c7
-rw-r--r--gcc/testsuite/gcc.target/i386/pr67400-3.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr67400-5.c2
7 files changed, 30 insertions, 12 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 589657b..e13be24 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,17 @@
+2016-06-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/noplt-1.c: Don't disable for ia32. Scan for
+ ia32 if R_386_GOT32X relocation is supported.
+ * gcc.target/i386/noplt-3.c: Likewise.
+ * gcc.target/i386/noplt-2.c: Likewise.
+ (main): Renamed to ...
+ (bar): This.
+ * gcc.target/i386/noplt-4.c: Likewise.
+ (main): Renamed to ...
+ (bar): This.
+ * gcc.target/i386/pr67400-3.c: Don't disable for ia32.
+ * gcc.target/i386/pr67400-5.c: Likewise.
+
2016-06-24 Jakub Jelinek <jakub@redhat.com>
* c-c++-common/torture/builtin-arith-overflow-p-19.c: Run for C++ too.
diff --git a/gcc/testsuite/gcc.target/i386/noplt-1.c b/gcc/testsuite/gcc.target/i386/noplt-1.c
index cc04bf5..f099a38 100644
--- a/gcc/testsuite/gcc.target/i386/noplt-1.c
+++ b/gcc/testsuite/gcc.target/i386/noplt-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-do compile { target *-*-linux* } } */
/* { dg-options "-fno-pic" } */
__attribute__ ((noplt))
@@ -10,4 +10,5 @@ int main()
return 0;
}
-/* { dg-final { scan-assembler "call\[ \t\]\\*.*foo.*@GOTPCREL\\(%rip\\)" } } */
+/* { dg-final { scan-assembler "call\[ \t\]*.foo@GOTPCREL" { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler "call\[ \t\]*.foo@GOT" { target { ia32 && got32x_reloc } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/noplt-2.c b/gcc/testsuite/gcc.target/i386/noplt-2.c
index 54e33f4..9548b81 100644
--- a/gcc/testsuite/gcc.target/i386/noplt-2.c
+++ b/gcc/testsuite/gcc.target/i386/noplt-2.c
@@ -1,13 +1,14 @@
-/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-do compile { target *-*-linux* } } */
/* { dg-options "-O2 -fno-pic" } */
__attribute__ ((noplt))
int foo();
-int main()
+int bar()
{
return foo();
}
-/* { dg-final { scan-assembler "jmp\[ \t\]\\*.*foo.*@GOTPCREL\\(%rip\\)" } } */
+/* { dg-final { scan-assembler "jmp\[ \t\]*.foo@GOTPCREL" { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler "jmp\[ \t\]*.foo@GOT" { target { ia32 && got32x_reloc } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/noplt-3.c b/gcc/testsuite/gcc.target/i386/noplt-3.c
index 14e6b6b..436c0d1 100644
--- a/gcc/testsuite/gcc.target/i386/noplt-3.c
+++ b/gcc/testsuite/gcc.target/i386/noplt-3.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-do compile { target *-*-linux* } } */
/* { dg-options "-fno-pic -fno-plt" } */
void foo();
@@ -9,4 +9,5 @@ int main()
return 0;
}
-/* { dg-final { scan-assembler "call\[ \t\]\\*.*foo.*@GOTPCREL\\(%rip\\)" } } */
+/* { dg-final { scan-assembler "call\[ \t\]*.foo@GOTPCREL" { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler "call\[ \t\]*.foo@GOT" { target { ia32 && got32x_reloc } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/noplt-4.c b/gcc/testsuite/gcc.target/i386/noplt-4.c
index 9907347..b89fcf0 100644
--- a/gcc/testsuite/gcc.target/i386/noplt-4.c
+++ b/gcc/testsuite/gcc.target/i386/noplt-4.c
@@ -1,11 +1,12 @@
-/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-do compile { target *-*-linux* } } */
/* { dg-options "-O2 -fno-pic -fno-plt" } */
int foo();
-int main()
+int bar()
{
return foo();
}
-/* { dg-final { scan-assembler "jmp\[ \t\]\\*.*foo.*@GOTPCREL\\(%rip\\)" } } */
+/* { dg-final { scan-assembler "jmp\[ \t\]*.foo@GOTPCREL" { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler "jmp\[ \t\]*.foo@GOT" { target { ia32 && got32x_reloc } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr67400-3.c b/gcc/testsuite/gcc.target/i386/pr67400-3.c
index 649c980..fd2f209 100644
--- a/gcc/testsuite/gcc.target/i386/pr67400-3.c
+++ b/gcc/testsuite/gcc.target/i386/pr67400-3.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-do compile { target *-*-linux* } } */
/* { dg-options "-O2 -fno-pic -fno-plt" } */
static void
diff --git a/gcc/testsuite/gcc.target/i386/pr67400-5.c b/gcc/testsuite/gcc.target/i386/pr67400-5.c
index 2d26a68..9bb98dc 100644
--- a/gcc/testsuite/gcc.target/i386/pr67400-5.c
+++ b/gcc/testsuite/gcc.target/i386/pr67400-5.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-do compile { target *-*-linux* } } */
/* { dg-options "-O2 -fno-pic -fno-plt" } */
extern void foo (void);