aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/darwin-weakimport-3.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/darwin-weakimport-3.c')
-rw-r--r--gcc/testsuite/gcc.dg/darwin-weakimport-3.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.dg/darwin-weakimport-3.c b/gcc/testsuite/gcc.dg/darwin-weakimport-3.c
index 77ab980b12d..a15b5b0e7cb 100644
--- a/gcc/testsuite/gcc.dg/darwin-weakimport-3.c
+++ b/gcc/testsuite/gcc.dg/darwin-weakimport-3.c
@@ -1,5 +1,20 @@
/* { dg-do compile { target *-*-darwin* } } */
-/* { dg-options "-fno-asynchronous-unwind-tables" } */
+
+/* Here we want to test if "foo" gets placed into a coalesced
+ section (it should not).
+
+ However, for i386, and PIC code we have a "get_pc thunk" that
+ is (correctly) placed in a coalesced section when using an older
+ linker - also unwind tables are emitted into coalesced.
+
+ With modern linkers this is moot, since even weak symbols
+ are emitted into the regular sections.
+
+ To avoid the unwind tables -fno-asynchronous-unwind-tables.
+ To ensure that we emit code for an older linker -mtarget-linker
+ To avoid the get_pc thunk optimise at least O1. */
+
+/* { dg-options "-fno-asynchronous-unwind-tables -O1 -mtarget-linker 85.2" } */
/* { dg-require-weak "" } */
/* { dg-final { scan-assembler-not "coalesced" } } */