From 9f0c354752add19ae043a9f4960bde1142adb23d Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Tue, 21 May 2019 16:24:25 +0000 Subject: [PATCH] darwin, testsuite - fix PR 63891. This is a testcase failing because one part of the codegen is (correctly) generating the scan-asm-not signature. Fixed by altering the build options. gcc/testsuite/ 2019-05-18 Iain Sandoe PR target/63891 * gcc.dg/darwin-weakimport-3.c: Adjust options and explain the reasons. From-SVN: r271474 --- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/gcc.dg/darwin-weakimport-3.c | 17 ++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6206ef52c4a..d14dc1b5731 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2019-05-18 Iain Sandoe + + PR target/63891 + * gcc.dg/darwin-weakimport-3.c: Adjust options and explain + the reasons. + 2019-05-21 Uroš Bizjak * gcc.target/i386/vect-signbitf.c: New test. 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" } } */ -- 2.30.2