darwin, x86, testsuite - Amend three PIE tests,
authorIain Sandoe <iain@sandoe.co.uk>
Sun, 26 May 2019 19:35:14 +0000 (19:35 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Sun, 26 May 2019 19:35:14 +0000 (19:35 +0000)
Darwin requires PIC code in order to support PIE, amend the test scan-asms
to match this.

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

* gcc.target/i386/pr39013-1.c: Adjust scan-asms for PIE to
account for PIC code on Darwin.
* gcc.target/i386/pr39013-2.c: Likewise.
* gcc.target/i386/pr64317.c: Likewise.

From-SVN: r271634

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr39013-1.c
gcc/testsuite/gcc.target/i386/pr39013-2.c
gcc/testsuite/gcc.target/i386/pr64317.c

index 1866afe21bcad2042e90d2a83b518639485e121b..fe3b4d9621719c0e8ba77664536a747df4cdbdd2 100644 (file)
@@ -1,3 +1,10 @@
+2019-05-26  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.target/i386/pr39013-1.c: Adjust scan-asms for PIE to
+       account for PIC code on Darwin.
+       * gcc.target/i386/pr39013-2.c: Likewise.
+       * gcc.target/i386/pr64317.c: Likewise.
+
 2019-05-25  Iain Sandoe  <iain@sandoe.co.uk>
 
        * gcc.target/i386/pr59874-3.c: Use the spelling of popcnt
index ac22746772b3b3d6daa57629bcca72d743932a5e..78b17028a1112b3b2951496ed516c67bfd58a8f9 100644 (file)
@@ -12,5 +12,9 @@ main (void)
   return foo () + bar ();
 }
 
-/* { dg-final { scan-assembler "foo@PLT" } } */
-/* { dg-final { scan-assembler "bar@PLT" } } */
+/* { dg-final { scan-assembler "foo@PLT" { target { ! *-*-darwin* } } } } */
+/* { dg-final { scan-assembler "bar@PLT" { target { ! *-*-darwin* } } } } */
+
+/* Darwin's dynamic linker does PIE without indirection.  */
+/* { dg-final { scan-assembler {call[ \t]_foo} { target *-*-darwin* } } } */
+/* { dg-final { scan-assembler {call[ \t]_bar} { target *-*-darwin* } } } */
index 3040d81a44d3f20b5aa63d89e8902ad1cb873ca4..f4412909bfe22c022f4635ad513d83e30f1eb6ba 100644 (file)
@@ -12,5 +12,9 @@ main (void)
   return foo () + bar ();
 }
 
-/* { dg-final { scan-assembler "foo@PLT" } } */
-/* { dg-final { scan-assembler "bar@PLT" } } */
+/* { dg-final { scan-assembler "foo@PLT" { target { ! *-*-darwin* } } } } */
+/* { dg-final { scan-assembler "bar@PLT" { target { ! *-*-darwin* } } } } */
+
+/* Darwin's dynamic linker does PIE without indirection.  */
+/* { dg-final { scan-assembler {call[ \t]_foo} { target *-*-darwin* } } } */
+/* { dg-final { scan-assembler {call[ \t]_bar} { target *-*-darwin* } } } */
index 9e13da6388585deaf6f892b941e0fe70b0b3a316..3fbdccd36f280ba632a92686c92eb5f4caa71f9a 100644 (file)
@@ -2,9 +2,14 @@
 /* { dg-require-effective-target ia32 } */
 /* { dg-require-effective-target pie } */
 /* { dg-options "-O2 -fpie" } */
-/* { dg-final { scan-assembler "addl\[ \\t\]+\[$\]_GLOBAL_OFFSET_TABLE_, %ebx" } } */
-/* { dg-final { scan-assembler "movl\[ \\t\]+c@GOTOFF\[(\]%ebx\[)\]" } } */
-/* { dg-final { scan-assembler-not "movl\[ \\t\]+\[0-9]+\[(\]%esp\[)\], %ebx" } } */
+/* { dg-final { scan-assembler "addl\[ \\t\]+\[$\]_GLOBAL_OFFSET_TABLE_, %ebx" { target { ! *-*-darwin* } } } } */
+/* { dg-final { scan-assembler "movl\[ \\t\]+c@GOTOFF\[(\]%ebx\[)\]" { target { ! *-*-darwin* } } } } */
+/* { dg-final { scan-assembler-not "movl\[ \\t\]+\[0-9]+\[(\]%esp\[)\], %ebx" { target { ! *-*-darwin* } } } } */
+
+/* Check PIC access to c and t1 on Darwin (PIC is default, needed for PIE).  */
+/* { dg-final { scan-assembler {_c-L1\$pb\(%} { target *-*-darwin* } } } */
+/* { dg-final { scan-assembler {_t1.[0-9]+-L1\$pb\(%} { target *-*-darwin* } } } */
+
 long c = 1;
 
 int bar();