From patchwork Tue Aug 31 15:16:18 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uros Bizjak X-Patchwork-Id: 63276 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 F402DB70F8 for ; Wed, 1 Sep 2010 01:16:37 +1000 (EST) Received: (qmail 31601 invoked by alias); 31 Aug 2010 15:16:32 -0000 Received: (qmail 31569 invoked by uid 22791); 31 Aug 2010 15:16:30 -0000 X-SWARE-Spam-Status: No, hits=-0.3 required=5.0 tests=AWL, BAYES_50, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, TW_EQ, TW_FX, TW_GT, TW_QT, TW_VT, TW_XF X-Spam-Check-By: sourceware.org Received: from mail-yw0-f47.google.com (HELO mail-yw0-f47.google.com) (209.85.213.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 31 Aug 2010 15:16:23 +0000 Received: by ywa8 with SMTP id 8so3099176ywa.20 for ; Tue, 31 Aug 2010 08:16:21 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.1.203 with SMTP id 11mr4319036qcg.238.1283267781188; Tue, 31 Aug 2010 08:16:21 -0700 (PDT) Received: by 10.229.28.200 with HTTP; Tue, 31 Aug 2010 08:16:18 -0700 (PDT) In-Reply-To: References: Date: Tue, 31 Aug 2010 17:16:18 +0200 Message-ID: Subject: Re: [PATCH, freebsd]: Build quad soft-fp library. From: Uros Bizjak To: "Joseph S. Myers" Cc: Steve Kargl , Jakub Jelinek , Richard Henderson , Gerald Pfeifer , Fortran List , FX , gcc-patches@gcc.gnu.org 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 On Tue, Aug 31, 2010 at 4:16 PM, Joseph S. Myers wrote: > Why, given that you are using __x86_64__ conditionals, isn't there such a > conditional around __floattitf? Uh, that slipped through. Corrected and hopefully last version of patch attached. Thanks! Uros. Index: libgcc/config.host =================================================================== --- libgcc/config.host (revision 163670) +++ libgcc/config.host (working copy) @@ -279,8 +279,10 @@ 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-*-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 Index: libgcc/config/i386/libgcc-bsd.ver =================================================================== --- libgcc/config/i386/libgcc-bsd.ver (revision 0) +++ libgcc/config/i386/libgcc-bsd.ver (revision 0) @@ -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 +} Index: libgcc/config/i386/t-freebsd =================================================================== --- libgcc/config/i386/t-freebsd (revision 0) +++ libgcc/config/i386/t-freebsd (revision 0) @@ -0,0 +1,2 @@ +# Add support for the introduction of 128-bit long double. +SHLIB_MAPFILES += $(srcdir)/config/i386/libgcc-bsd.ver Index: gcc/config.gcc =================================================================== --- gcc/config.gcc (revision 163670) +++ gcc/config.gcc (working copy) @@ -3485,6 +3485,9 @@ 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" ;; Index: gcc/libgcc-std.ver =================================================================== --- gcc/libgcc-std.ver (revision 163670) +++ gcc/libgcc-std.ver (working copy) @@ -213,6 +213,7 @@ %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 @@ __unordxf2 __unordtf2 } + +%inherit GCC_4.6.0 GCC_4.5.0 +GCC_4.6.0 { +}