From patchwork Mon Jan 6 13:10:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Georg-Johann Lay X-Patchwork-Id: 1218147 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-516674-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gcc.gnu.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="U4eI2rhm"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gjlay.de header.i=@gjlay.de header.b="Ybku6/48"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 47rwnd3bKcz9sQp for ; Tue, 7 Jan 2020 00:09:08 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; q=dns; s=default; b=n/+ZPn5zBfs5W75CY plnjVG8E/XOQqadlyvNE+W/DH2G7DB6UTtbSMnoKwdcO0vBbhn8r92y9eiTmTxHI KOnCrJ23tkkfxBj4ruslhx2n0nwo89ogMDTv9S3U6I1Q9QxJQlHiKPkk18Dm6gwU ZeYXbNDdTv6B873da5wK7RWtD0= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; s=default; bh=U3E5oDLEAgbjn9KDmqsWNgS WpMU=; b=U4eI2rhmvZPi1aboj9UgVPpwprH6IUrwNYlbaS7mqCFQO9hbmYyLeMx sNFlNyQbDmi3lpfvF4Pfh6rs1a9/bh2q1FetZvSytfpfVhy0xYNPtTEkWAeCpjUa HFwmqB2RHEIVhGKhWlwbqzXPj84QrnnGf9cFfEYHt/jSgY/kauwA= Received: (qmail 9148 invoked by alias); 6 Jan 2020 13:08:51 -0000 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 Received: (qmail 9061 invoked by uid 89); 6 Jan 2020 13:08:51 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-6.4 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3, KAM_ASCII_DIVIDERS, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NEUTRAL autolearn=ham version=3.3.1 spammy=folder, makefile-snips, additions, makefilesnips X-HELO: mo4-p05-ob.smtp.rzone.de Received: from mo4-p05-ob.smtp.rzone.de (HELO mo4-p05-ob.smtp.rzone.de) (85.215.255.132) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 06 Jan 2020 13:08:49 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1578316127; s=strato-dkim-0002; d=gjlay.de; h=In-Reply-To:References:Subject:CC:To:From:Date:Message-ID: X-RZG-CLASS-ID:X-RZG-AUTH:From:Subject:Sender; bh=NM9NFDnQxn9CQ7VqxSI09Gdtfsm6JB6/kIYuKYP7rcg=; b=Ybku6/483y1sXDquCmGY7NOG4QuLjbYNs+PCGsAYiJGtYgFNnobX+MHYqGi+dFohZg ddOjcb2/YJ3A/yt8cNe8ziR9cKii2XG1ebah+GGTe02RgL+K3HFkaPwMZlk7WBW1xnjp RirqpJOK9263G12v99OwfXrOFQKVqnUD6fx8vNL2xfoNkxKZYtZExxobFZ/lXIIATy/k jjTArsQ6P+R83ylwhvH8/5UTUuv5J3xsg0x7HscUYTgFYARVoLJcTS3FknwQgnLoQWQ3 z/hutqLfeLjveUsJJSSimnUNmh1t6Ajrm+TSKIuEInI2buV89SAxOValUnIdL5R9fEjb OSSA== Received: from [192.168.2.100] by smtp.strato.de (RZmta 46.1.3 DYNA|AUTH) with ESMTPSA id J0a754w06D8kHOg (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (curve X9_62_prime256v1 with 256 ECDH bits, eq. 3072 bits RSA)) (Client did not present a certificate); Mon, 6 Jan 2020 14:08:46 +0100 (CET) Message-ID: <5E1331B7.10409@gcc.gnu.org> Date: Mon, 06 Jan 2020 14:10:15 +0100 From: Georg-Johann Lay User-Agent: Thunderbird 2.0.0.24 (Windows/20100228) MIME-Version: 1.0 To: GCC Patches CC: Denis Chertykov Subject: [Ping^2][patch, avr, 2/3] Support 64-bit (long) double: The libgcc changes. References: <268c2e7e-aca7-58fa-602c-6b9dafc133e7@gjlay.de> In-Reply-To: Ping #2 Georg-Johann Lay schrieb: > Am 16.12.19 um 17:40 schrieb Georg-Johann Lay: > > Patch 2/3 is the libgcc additions: > > --with-libf7 selects which makefile-snips from libf7 to use. > > libgcc/ > * config.host (tmake_file) [target=avr]: Add t-libf7, > t-libf7-math, t-libf7-math-symbols as specified by --with-libf7=. > * config/avr/t-avrlibc: Don't copy libgcc.a if there are modules > depending on sizeof (double) or sizeof (long double). > * config/avr/libf7: New folder. > Index: libgcc/config.host =================================================================== --- libgcc/config.host (revision 278552) +++ libgcc/config.host (working copy) @@ -514,6 +514,29 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm* avr-*-*) # Make HImode functions for AVR tmake_file="${cpu_type}/t-avr t-fpbit" + # Make some DFmode functions from libf7, part of avr-libgcc. + # This must be prior to adding t-avrlibc. + case "y${with_libf7}" in + yno) + # No libf7 support. + ;; + ylibgcc) + tmake_file="$tmake_file ${cpu_type}/libf7/t-libf7" + ;; + ymath) + tmake_file="$tmake_file ${cpu_type}/libf7/t-libf7-math" + tmake_file="$tmake_file ${cpu_type}/libf7/t-libf7" + ;; + ymath-symbols | yyes | y) + tmake_file="$tmake_file ${cpu_type}/libf7/t-libf7-math-symbols" + tmake_file="$tmake_file ${cpu_type}/libf7/t-libf7-math" + tmake_file="$tmake_file ${cpu_type}/libf7/t-libf7" + ;; + *) + echo "Error: --with-libf7=${with_libf7} but can only be used with: 'libgcc', 'math', 'math-symbols', 'yes', 'no'" 1>&2 + exit 1 + ;; + esac if test x${with_avrlibc} != xno; then tmake_file="$tmake_file ${cpu_type}/t-avrlibc" fi Index: libgcc/config/avr/t-avrlibc =================================================================== --- libgcc/config/avr/t-avrlibc (revision 278992) +++ libgcc/config/avr/t-avrlibc (working copy) @@ -65,6 +65,12 @@ LIB2FUNCS_EXCLUDE += \ _fixunssfdi \ _floatdisf _floatundisf +ifeq (,$(WITH_LIBF7_MATH_SYMBOLS)) + +# No modules depend on __SIZEOF_LONG_DOUBLE__ or __SIZEOF_DOUBLE__ +# which means we might have an opportunity to copy libgcc.a. +# WITH_LIBF7_MATH_SYMBOLS is set by libf7/t-libf7-math-symbols. + ifneq (,$(findstring avr,$(MULTISUBDIR))) # We are not in the avr2 (default) subdir, hence copying will work. @@ -95,3 +101,4 @@ Makefile: t-copy-libgcc.dep endif endif +endif