From patchwork Sun Nov 21 08:47:22 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [alpha] : Fix PR 46533. bootstrap failure Date: Sat, 20 Nov 2010 22:47:22 -0000 From: Uros Bizjak X-Patchwork-Id: 72434 Message-Id: To: gcc-patches@gcc.gnu.org Cc: Richard Henderson On Sun, Nov 21, 2010 at 1:21 AM, Richard Henderson wrote: > On 11/20/2010 03:49 AM, Uros Bizjak wrote: >>       PR target/46533 >>       * config/alpha/predicates.md (direct_call_operand): Return false >>       for !TARGET_SMALL_TEXT targets. > > It would have been nice to be able to determine that the section that > will be used is the same, and continue the short branch.  But that > seems a bit tricky. > > Patch is ok. Thanks! Please note that even for the calls in the same section, offset of +/- 1M is IMO a bit too small to handle all the cases. Linker has all the data, so it will relax all appropriate calls, leaving only an extra unop after relaxation. I also committed a small testsuite patch, calls are always emitted as "far" in the assembly. 2010-11-21 Uros Bizjak PR target/46533 * gcc.dg/inline-2.c: Do not scan for "jsr" on alpha*-*-* targets. Tested on alphaec68-pc-linux-gnu, committed to mainline SVN. Uros. Index: gcc.dg/inline-2.c =================================================================== --- gcc.dg/inline-2.c (revision 166974) +++ gcc.dg/inline-2.c (working copy) @@ -14,6 +14,5 @@ return foo() + foo() + 1; } -/* { dg-final { scan-assembler-not "jsr" { target alpha*-*-* } } } */ /* { dg-final { scan-assembler-not "PLT" { target i?86-*-* x86_64-*-* } } } */ /* { dg-final { scan-assembler-not "plt" { target powerpc*-*-* } } } */