From patchwork Fri Oct 1 03:27:12 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Modra X-Patchwork-Id: 66301 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 10E22B6F11 for ; Fri, 1 Oct 2010 13:27:28 +1000 (EST) Received: (qmail 26657 invoked by alias); 1 Oct 2010 03:27:26 -0000 Received: (qmail 26646 invoked by uid 22791); 1 Oct 2010 03:27:25 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org Received: from mail-pw0-f47.google.com (HELO mail-pw0-f47.google.com) (209.85.160.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 01 Oct 2010 03:27:20 +0000 Received: by pwj1 with SMTP id 1so517869pwj.20 for ; Thu, 30 Sep 2010 20:27:19 -0700 (PDT) Received: by 10.142.50.15 with SMTP id x15mr4115193wfx.295.1285903639198; Thu, 30 Sep 2010 20:27:19 -0700 (PDT) Received: from bubble.grove.modra.org ([115.187.252.19]) by mx.google.com with ESMTPS id 21sm671494wfm.1.2010.09.30.20.27.16 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 30 Sep 2010 20:27:18 -0700 (PDT) Received: by bubble.grove.modra.org (Postfix, from userid 1000) id 8DA42170C206; Fri, 1 Oct 2010 12:57:12 +0930 (CST) Date: Fri, 1 Oct 2010 12:57:12 +0930 From: Alan Modra To: gcc-patches@gcc.gnu.org, David Edelsohn Subject: Re: [RS6000] PR 45807 r2 eh_frame info error Message-ID: <20101001032712.GE16376@bubble.grove.modra.org> Mail-Followup-To: gcc-patches@gcc.gnu.org, David Edelsohn References: <20100927142714.GS16376@bubble.grove.modra.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20100927142714.GS16376@bubble.grove.modra.org> User-Agent: Mutt/1.5.20 (2009-06-14) X-IsSubscribed: yes 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 Fixes breakage when building on 64-bit hosts. Committed. PR target/45807 * config/rs6000/rs6000.c (rs6000_emit_prologue): Properly sign extend toc_restore_insn. Index: gcc/config/rs6000/rs6000.c =================================================================== --- gcc/config/rs6000/rs6000.c (revision 164818) +++ gcc/config/rs6000/rs6000.c (working copy) @@ -20234,8 +20242,8 @@ rs6000_emit_prologue (void) be updated if we arrived at this function via a plt call or toc adjusting stub. */ emit_move_insn (tmp_reg_si, gen_rtx_MEM (SImode, tmp_reg)); - toc_restore_insn = ((TARGET_32BIT ? 0x80410014 : 0xE8410028) - ^ 0x80000000) - 0x80000000; + toc_restore_insn = TARGET_32BIT ? 0x80410014 : 0xE8410028; + toc_restore_insn = (toc_restore_insn ^ 0x80000000) - 0x80000000; emit_insn (gen_xorsi3 (tmp_reg_si, tmp_reg_si, GEN_INT (toc_restore_insn & ~0xffff))); compare_result = gen_rtx_REG (CCUNSmode, CR0_REGNO);