From patchwork Mon Jul 12 19:09:39 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Sandiford X-Patchwork-Id: 58658 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 543C7B6F16 for ; Tue, 13 Jul 2010 05:09:57 +1000 (EST) Received: (qmail 28659 invoked by alias); 12 Jul 2010 19:09:56 -0000 Received: (qmail 28650 invoked by uid 22791); 12 Jul 2010 19:09:56 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-ww0-f51.google.com (HELO mail-ww0-f51.google.com) (74.125.82.51) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 12 Jul 2010 19:09:48 +0000 Received: by wwj40 with SMTP id 40so410738wwj.8 for ; Mon, 12 Jul 2010 12:09:45 -0700 (PDT) Received: by 10.227.129.85 with SMTP id n21mr13044674wbs.81.1278961785859; Mon, 12 Jul 2010 12:09:45 -0700 (PDT) Received: from localhost (rsandifo.gotadsl.co.uk [82.133.89.107]) by mx.google.com with ESMTPS id p29sm33059521wbc.7.2010.07.12.12.09.44 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 12 Jul 2010 12:09:44 -0700 (PDT) From: Richard Sandiford To: gcc-patches@gcc.gnu.org Mail-Followup-To: gcc-patches@gcc.gnu.org, rdsandiford@googlemail.com Subject: [committed] Make -mflip-mips16 imply -minterlink-mips16 Date: Mon, 12 Jul 2010 20:09:39 +0100 Message-ID: <87zkxwa558.fsf@firetop.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org As per the subject. I came across this as a failure in the c-torture builtins tests while testing the target_reinit stuff. The bug caused non-MIPS16 code compiled with -mflip-mips16 to make a direct jump to a MIPS16 routine. Tested on mipsisa64-elfoabi applied. Richard gcc/ * config/mips/mips.c (mips_override_options): Make -mflip-mips16 imply -minterlink-mips16. Index: gcc/config/mips/mips.c =================================================================== --- gcc/config/mips/mips.c 2010-07-08 19:27:24.000000000 +0100 +++ gcc/config/mips/mips.c 2010-07-08 19:27:25.000000000 +0100 @@ -15446,6 +15446,9 @@ mips_override_options (void) target_flags_explicit |= MASK_SOFT_FLOAT_ABI; } + if (TARGET_FLIP_MIPS16) + TARGET_INTERLINK_MIPS16 = 1; + /* Set the small data limit. */ mips_small_data_threshold = (g_switch_set ? g_switch_value