From 278afeb5162b74e6c1f62687c48b0c437fa7eb83 Mon Sep 17 00:00:00 2001 From: uros Date: Wed, 1 Sep 2010 06:42:53 +0000 Subject: [PATCH] gcc/ChangeLog: * config.gcc (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file. * libgcc-std.ver (GCC_4.6.0): Define version. libgcc/ChangeLog: * config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add i386/t-freebsd to tmake_file. * config/i386/t-freebsd: New file. * config/i386/libgcc-bsd.ver: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163718 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 11 +++- gcc/config.gcc | 3 ++ gcc/libgcc-std.ver | 5 ++ libgcc/ChangeLog | 41 +++++++++------ libgcc/config.host | 5 +- libgcc/config/i386/libgcc-bsd.ver | 108 ++++++++++++++++++++++++++++++++++++++ libgcc/config/i386/t-freebsd | 2 + 7 files changed, 155 insertions(+), 20 deletions(-) create mode 100644 libgcc/config/i386/libgcc-bsd.ver create mode 100644 libgcc/config/i386/t-freebsd diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3d10080611a..0c260f1ce67 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2010-09-01 Uros Bizjak + + * config.gcc (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add + i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file. + + * libgcc-std.ver (GCC_4.6.0): Define version. + 2010-08-31 Eric Botcazou * tree-nested.c (convert_all_function_calls): Iterate until after the @@ -32,7 +39,7 @@ (arm_function_arg_advance): Likewise. (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. -2010-08-31 Andi Kleen +2010-08-31 Andi Kleen * common.opt (fwhopr=): Update for -fwhopr=jobserver * doc/invoke.texi (fwhopr): Document -fwhopr=jobserver. @@ -203,7 +210,7 @@ * config/xtensa/xtensa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. (FUNCTION_INCOMING_ARG): Delete. * config/xtensa/xtensa.c (function_arg_advance): Rename to... - (xtensa_function_arg_advance): ...this. Make static. Take a const_tree + (xtensa_function_arg_advance): ...this. Make static. Take a const_tree and a bool. (function_arg): Rename to... (xtensa_function_arg_1): ...this. Make static. Take a const_tree and diff --git a/gcc/config.gcc b/gcc/config.gcc index 148c99b8151..5919ac5c800 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -3485,6 +3485,9 @@ case ${target} in i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*) tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp" ;; + i[34567]86-*-freebsd* | x86_64-*-freebsd*) + tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp" + ;; ia64*-*-linux*) tmake_file="${tmake_file} ia64/t-fprules-softfp soft-fp/t-softfp" ;; diff --git a/gcc/libgcc-std.ver b/gcc/libgcc-std.ver index 5aaff5e8894..1f24f1771e8 100644 --- a/gcc/libgcc-std.ver +++ b/gcc/libgcc-std.ver @@ -213,6 +213,7 @@ GCC_3.3.1 { %inherit GCC_3.3.2 GCC_3.3.1 GCC_3.3.2 { } + %inherit GCC_3.3.4 GCC_3.3.2 GCC_3.3.4 { __unorddf2 @@ -1910,3 +1911,7 @@ GCC_4.5.0 { __unordxf2 __unordtf2 } + +%inherit GCC_4.6.0 GCC_4.5.0 +GCC_4.6.0 { +} diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index c907fe14137..d3bad75239a 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,10 @@ +2010-09-01 Uros Bizjak + + * config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add + i386/t-freebsd to tmake_file. + * config/i386/t-freebsd: New file. + * config/i386/libgcc-bsd.ver: New file. + 2010-07-23 Nathan Froyd * config.host (powerpc*-eabispe*): Set tmake_file. @@ -100,23 +107,23 @@ 2009-11-11 Jon Beniston - * config.host: Add lm32 targets. - * config/lm32: New directory. - * config/lm32/libgcc_lm32.h: New file. - * config/lm32/_mulsi3.c: New file. - * config/lm32/_udivmodsi4.c: New file. - * config/lm32/_divsi3.c: New file. - * config/lm32/_modsi3.c: New file. - * config/lm32/_udivsi3.c: New file. - * config/lm32/_umodsi3.c: New file. - * config/lm32/_lshrsi3.S: New file. - * config/lm32/_ashrsi3.S: New file. - * config/lm32/_ashlsi3.S: New file. - * config/lm32/crti.S: New file. - * config/lm32/crtn.S: New file. - * config/lm32/t-lm32: New file. - * config/lm32/t-elf: New file. - * config/lm32/t-uclinux: New file. + * config.host: Add lm32 targets. + * config/lm32: New directory. + * config/lm32/libgcc_lm32.h: New file. + * config/lm32/_mulsi3.c: New file. + * config/lm32/_udivmodsi4.c: New file. + * config/lm32/_divsi3.c: New file. + * config/lm32/_modsi3.c: New file. + * config/lm32/_udivsi3.c: New file. + * config/lm32/_umodsi3.c: New file. + * config/lm32/_lshrsi3.S: New file. + * config/lm32/_ashrsi3.S: New file. + * config/lm32/_ashlsi3.S: New file. + * config/lm32/crti.S: New file. + * config/lm32/crtn.S: New file. + * config/lm32/t-lm32: New file. + * config/lm32/t-elf: New file. + * config/lm32/t-uclinux: New file. 2009-10-26 Nick Clifton diff --git a/libgcc/config.host b/libgcc/config.host index 35dd2509938..9d9ae3a08de 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -279,8 +279,10 @@ i[34567]86-*-elf*) x86_64-*-elf*) ;; i[34567]86-*-freebsd*) + tmake_file="${tmake_file} i386/t-freebsd" ;; x86_64-*-freebsd*) + tmake_file="${tmake_file} i386/t-freebsd" ;; i[34567]86-*-netbsdelf*) ;; @@ -608,7 +610,8 @@ i[34567]86-*-darwin* | x86_64-*-darwin* | \ i[34567]86-*-linux* | x86_64-*-linux* | \ i[34567]86-*-gnu* | \ i[34567]86-*-solaris2* | \ - i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*) + i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw* | \ + i[34567]86-*-freebsd* | x86_64-*-freebsd*) if test "${host_address}" = 32; then tmake_file="${tmake_file} t-softfp i386/${host_address}/t-fprules-softfp" fi diff --git a/libgcc/config/i386/libgcc-bsd.ver b/libgcc/config/i386/libgcc-bsd.ver new file mode 100644 index 00000000000..d9d74f95186 --- /dev/null +++ b/libgcc/config/i386/libgcc-bsd.ver @@ -0,0 +1,108 @@ +# Copyright (C) 2010 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 +# . + +# 128 bit long double support was introduced with GCC 4.6.0 for FreeBSD. +# These lines make the symbols to get a @@GCC_4.6.0. + +%exclude { + __addtf3 + __copysigntf3 + __divtc3 + __divtf3 + __eqtf2 + __extenddftf2 + __extendsftf2 + __extendxftf2 + __fabstf2 + __fixtfdi + __fixtfsi + __fixtfti + __fixunstfdi + __fixunstfsi + __fixunstfti + __floatditf + __floatsitf + __floattitf + __floatunditf + __floatunsitf + __floatuntitf + __getf2 + __gttf2 + __letf2 + __lttf2 + __multc3 + __multf3 + __negtf2 + __netf2 + __powitf2 + __subtf3 + __trunctfdf2 + __trunctfsf2 + __trunctfxf2 + __unordtf2 +} + +GCC_4.6.0 { + __addtf3 +%ifndef __x86_64__ + __copysigntf3 +%endif + __divtc3 + __divtf3 + __eqtf2 + __extenddftf2 + __extendsftf2 + __extendxftf2 +%ifndef __x86_64__ + __fabstf2 +%endif + __fixtfdi + __fixtfsi +%ifdef __x86_64__ + __fixtfti +%endif + __fixunstfdi + __fixunstfsi +%ifdef __x86_64__ + __fixunstfti +%endif + __floatditf + __floatsitf +%ifdef __x86_64__ + __floattitf +%endif + __floatunditf + __floatunsitf +%ifdef __x86_64__ + __floatuntitf +%endif + __getf2 + __gttf2 + __letf2 + __lttf2 + __multc3 + __multf3 + __negtf2 + __netf2 + __powitf2 + __subtf3 + __trunctfdf2 + __trunctfsf2 + __trunctfxf2 + __unordtf2 +} diff --git a/libgcc/config/i386/t-freebsd b/libgcc/config/i386/t-freebsd new file mode 100644 index 00000000000..4f2bd204afd --- /dev/null +++ b/libgcc/config/i386/t-freebsd @@ -0,0 +1,2 @@ +# Add support for the introduction of 128-bit long double. +SHLIB_MAPFILES += $(srcdir)/config/i386/libgcc-bsd.ver -- 2.11.4.GIT