1 /* { dg-do compile { target *-*-darwin* } } */
2
3 /* Here we want to test if "foo" gets placed into a coalesced
4 section (it should not).
5
6 However, for i386, and PIC code we have a "get_pc thunk" that
7 is (correctly) placed in a coalesced section when using an older
8 linker - also unwind tables are emitted into coalesced.
9
10 With modern linkers this is moot, since even weak symbols
11 are emitted into the regular sections.
12
13 To avoid the unwind tables -fno-asynchronous-unwind-tables.
14 To ensure that we emit code for an older linker -mtarget-linker
15 To avoid the get_pc thunk optimise at least O1. */
16
17 /* { dg-options "-fno-asynchronous-unwind-tables -O1 -mtarget-linker 85.2" } */
18 /* { dg-require-weak "" } */
19
20 /* { dg-final { scan-assembler-not "coalesced" } } */
21
22 extern void foo(void) __attribute__((weak_import));
23
foo(void)24 void foo(void)
25 {
26 }
27