From e986cbf43dd863ffe4bde05d435aeaf4eaaa2a6a Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Sun, 4 Aug 2019 09:59:21 +0000 Subject: [PATCH] Darwin, testsuite, backport fix for PR83891 2019-08-04 Iain Sandoe Backport from mainline. 2019-05-21 Iain Sandoe PR target/63891 * gcc.dg/darwin-weakimport-3.c: Adjust options and explain the reasons. From-SVN: r274059 --- gcc/testsuite/ChangeLog | 9 +++++++++ gcc/testsuite/gcc.dg/darwin-weakimport-3.c | 17 ++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ca95c575eca4..4001043be8cc 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2019-08-04 Iain Sandoe + + Backport from mainline. + 2019-05-21 Iain Sandoe + + PR target/63891 + * gcc.dg/darwin-weakimport-3.c: Adjust options and explain + the reasons. + 2019-08-04 Iain Sandoe Backport from mainline. diff --git a/gcc/testsuite/gcc.dg/darwin-weakimport-3.c b/gcc/testsuite/gcc.dg/darwin-weakimport-3.c index 77ab980b12d1..a15b5b0e7cb9 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" } } */ -- 2.47.2