From dfa95e19918005eb27278c00575ed5f157908f7b Mon Sep 17 00:00:00 2001 From: Andreas Tobler Date: Mon, 14 Mar 2011 07:05:29 +0100 Subject: [PATCH] freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in terms of target_flags_explicit. 2011-03-14 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. From-SVN: r170930 --- gcc/ChangeLog | 9 +++++++ gcc/config.gcc | 5 ++-- gcc/config/rs6000/freebsd.h | 9 ++++++- gcc/config/rs6000/t-freebsd | 50 +++++++++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 gcc/config/rs6000/t-freebsd diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0f3cac56a82..785ff831d0e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2011-03-14 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. + 2011-03-13 Chris Demetriou * doc/invoke.texi (-fdiagnostics-show-option): Replace with... diff --git a/gcc/config.gcc b/gcc/config.gcc index 24289d7c578..58f67878d24 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -2071,9 +2071,10 @@ powerpc64-*-darwin*) 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*) diff --git a/gcc/config/rs6000/freebsd.h b/gcc/config/rs6000/freebsd.h index bd3045ea181..567263b2aef 100644 --- a/gcc/config/rs6000/freebsd.h +++ b/gcc/config/rs6000/freebsd.h @@ -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) diff --git a/gcc/config/rs6000/t-freebsd b/gcc/config/rs6000/t-freebsd new file mode 100644 index 00000000000..8c5c2565615 --- /dev/null +++ b/gcc/config/rs6000/t-freebsd @@ -0,0 +1,50 @@ +# 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 + +# 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 + -- 2.30.2