diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/darwin-weakimport-3.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/darwin-weakimport-3.c | 17 |
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" } } */ |