From patchwork Sat Mar 12 20:36:07 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Tobler X-Patchwork-Id: 86556 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 E4721B6F7F for ; Sun, 13 Mar 2011 07:37:04 +1100 (EST) Received: (qmail 19054 invoked by alias); 12 Mar 2011 20:37:02 -0000 Received: (qmail 19042 invoked by uid 22791); 12 Mar 2011 20:37:01 -0000 X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=AWL, BAYES_20, RCVD_IN_DNSWL_NONE, TW_FP, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.fgznet.ch (HELO smtp.fgznet.ch) (81.92.96.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 12 Mar 2011 20:36:21 +0000 Received: from deuterium.andreas.nets (dhclient-91-190-8-131.flashcable.ch [91.190.8.131]) by smtp.fgznet.ch (8.13.8/8.13.8/Submit_SMTPAUTH) with ESMTP id p2CKa7Ut091194 for ; Sat, 12 Mar 2011 21:36:09 +0100 (CET) (envelope-from andreast-list@fgznet.ch) Message-ID: <4D7BD937.5010701@fgznet.ch> Date: Sat, 12 Mar 2011 21:36:07 +0100 From: Andreas Tobler User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.13) Gecko/20101207 Lightning/1.0b2 Thunderbird/3.1.7 MIME-Version: 1.0 To: GCC Patches Subject: [patch] ping1 unbreak bootstrap on FreeBSD ppc 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 All, I'd like to commit the below patch to gcc trunk and gcc-4.5. I have an ok from DJE, but I still await a comment from Loren. This is now pending for more than a month. And I'd like to push this out. Am I allowed to commit this to 4.6, or do I have to wait for 4.7 and then backport to 4.6? Test results are available on the list and I'll send updated results soon. Also, what is the commit stage for 4.5? I'd like to apply it there as well. I'd appreciate any help on this since I get asked offlist about this patch. And if possible I'd like to point people at the latest gcc snapshot/release instead of unapproved patches. Thanks, Andreas libgcc: 2011-03-12 Andreas Tobler * config.host (cpu_type): Add FreeBSD PowerPC specific parts. Adjust copyright year. gcc: 2011-03-12 Andreas Tobler * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in terms of target_flags_explicit. Adjust copyright year. * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits. * config/rs6000/t-freebsd: New file. Add override for LIB2FUNCS_EXTRA. Index: libgcc/config.host =================================================================== --- libgcc/config.host (revision 170906) +++ libgcc/config.host (working copy) @@ -463,7 +463,8 @@ ;; powerpc64-*-darwin*) ;; -powerpc*-*-freebsd*) +powerpc-*-freebsd*) + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-freebsd t-softfp" ;; powerpc-*-netbsd*) ;; Index: gcc/config.gcc =================================================================== --- gcc/config.gcc (revision 170906) +++ gcc/config.gcc (working copy) @@ -2071,9 +2071,10 @@ tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h" extra_headers=altivec.h ;; -powerpc*-*-freebsd*) +powerpc-*-freebsd*) tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h" - tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" + tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm rs6000/t-freebsd" + tmake_file="${tmake_file} t-slibgcc-libgcc rs6000/t-fprules-softfp soft-fp/t-softfp" extra_options="${extra_options} rs6000/sysv4.opt" ;; powerpc-*-netbsd*) Index: gcc/config/rs6000/t-freebsd =================================================================== --- gcc/config/rs6000/t-freebsd (revision 0) +++ gcc/config/rs6000/t-freebsd (revision 0) @@ -0,0 +1,25 @@ +# Overrides for FreeBSD PowerPC +# +# Copyright (C) 2011 Free Software Foundation, Inc. +# +# This file is part of GCC. +# +# GCC is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GCC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# . + +# We do not want to build darwin-ldouble.c, so set the LIB2FUNCS_EXTRA again. +# Invoke this file after rs6000/t-ppccomm. + +LIB2FUNCS_EXTRA = tramp.S + Index: gcc/config/rs6000/freebsd.h =================================================================== --- gcc/config/rs6000/freebsd.h (revision 170906) +++ gcc/config/rs6000/freebsd.h (working copy) @@ -1,5 +1,6 @@ /* Definitions for PowerPC running FreeBSD using the ELF format - Copyright (C) 2001, 2003, 2007, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2001, 2003, 2007, 2009, 2010, 2011 + Free Software Foundation, Inc. Contributed by David E. O'Brien and BSDi. This file is part of GCC. @@ -70,4 +71,10 @@ #undef ASM_APP_OFF #define ASM_APP_OFF "#NO_APP\n" +/* We don't need to generate entries in .fixup, except when + -mrelocatable or -mrelocatable-lib is given. */ +#undef RELOCATABLE_NEEDS_FIXUP +#define RELOCATABLE_NEEDS_FIXUP \ + (target_flags & target_flags_explicit & MASK_RELOCATABLE) + #define DBX_REGISTER_NUMBER(REGNO) rs6000_dbx_register_number (REGNO)