From patchwork Tue Jun 22 00:00:38 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John David Anglin X-Patchwork-Id: 56377 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 1D64AB6EEE for ; Tue, 22 Jun 2010 10:00:49 +1000 (EST) Received: (qmail 15569 invoked by alias); 22 Jun 2010 00:00:46 -0000 Received: (qmail 15561 invoked by uid 22791); 22 Jun 2010 00:00:46 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL, BAYES_00, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from hiauly1.hia.nrc.ca (HELO hiauly1.hia.nrc.ca) (132.246.100.193) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 22 Jun 2010 00:00:41 +0000 Received: by hiauly1.hia.nrc.ca (Postfix, from userid 1000) id 15E23513F; Mon, 21 Jun 2010 20:00:39 -0400 (EDT) Subject: [committed] Disable -freorder-blocks-and-partition on hppa To: gcc-patches@gcc.gnu.org Date: Mon, 21 Jun 2010 20:00:38 -0400 (EDT) From: "John David Anglin" MIME-Version: 1.0 Message-Id: <20100622000039.15E23513F@hiauly1.hia.nrc.ca> 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 It's not possible to support hot and cold partitioning on hppa without a total rewrite of the branch code. Further, the HP linker doesn't allow certain relocations for branches between sections. So, I decided to just disable the -freorder-blocks-and-partition option. Tested on hppa2.0w-hp-hpux11.11, hppa64-hp-hpux11.11 and hppa-unknown-linux-gnu. Dave Index: config/pa/pa.c =================================================================== --- config/pa/pa.c (revision 160946) +++ config/pa/pa.c (working copy) @@ -519,6 +519,17 @@ if (flag_pic == 1 || TARGET_64BIT) flag_pic = 2; + /* Disable -freorder-blocks-and-partition as we don't support hot and + cold partitioning. */ + if (flag_reorder_blocks_and_partition) + { + inform (input_location, + "-freorder-blocks-and-partition does not work " + "on this architecture"); + flag_reorder_blocks_and_partition = 0; + flag_reorder_blocks = 1; + } + /* We can't guarantee that .dword is available for 32-bit targets. */ if (UNITS_PER_WORD == 4) targetm.asm_out.aligned_op.di = NULL;