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  <andre...@fgznet.ch>

        * config.host (cpu_type): Add FreeBSD PowerPC specific parts.
        Adjust copyright year.

gcc:
2011-03-12  Andreas Tobler  <andre...@fgznet.ch>

        * 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
+# <http://www.gnu.org/licenses/>.
+
+# 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 <obr...@freebsd.org> 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)

Reply via email to