From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 6CCEF384A87E for ; Wed, 2 Sep 2020 08:03:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6CCEF384A87E Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-159-xN_k8esTO5Gv2-js01vnfQ-1; Wed, 02 Sep 2020 04:03:48 -0400 X-MC-Unique: xN_k8esTO5Gv2-js01vnfQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id AD2A180572E for ; Wed, 2 Sep 2020 08:03:47 +0000 (UTC) Received: from calimero.vinschen.de (ovpn-112-34.ams2.redhat.com [10.36.112.34]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7BB9C7E306 for ; Wed, 2 Sep 2020 08:03:47 +0000 (UTC) Received: by calimero.vinschen.de (Postfix, from userid 500) id 05660A81009; Wed, 2 Sep 2020 10:03:46 +0200 (CEST) Date: Wed, 2 Sep 2020 10:03:45 +0200 From: Corinna Vinschen To: newlib@sourceware.org Subject: Re: [PATCH 2/3] libm: Remove __ieee754_gamma_r variants Message-ID: <20200902080345.GF4127@calimero.vinschen.de> Reply-To: newlib@sourceware.org Mail-Followup-To: newlib@sourceware.org References: <20200826170357.2551683-1-keithp@keithp.com> <20200826170357.2551683-3-keithp@keithp.com> <20200826182046.GR3272@calimero.vinschen.de> <87v9h5dy00.fsf@keithp.com> <20200827072411.GT3272@calimero.vinschen.de> <87pn7cdnns.fsf@keithp.com> <20200828081951.GD3272@calimero.vinschen.de> <20200828083447.GE3272@calimero.vinschen.de> <3f611061-d504-dc26-29cc-dccffbe008a3@gtd-gmbh.de> <871rjlcsy0.fsf@keithp.com> MIME-Version: 1.0 In-Reply-To: <871rjlcsy0.fsf@keithp.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0.001 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2020 08:03:51 -0000 On Sep 1 10:23, Keith Packard via Newlib wrote: > Fabian Schriever writes: > > > Hi Keith, > > > > We welcome your efforts to clean up - and correct the error return > > values of - the gamma/lgamma/tgamma families. > > Thanks! I'm doing continuous integration testing as a part of embedded > toolchain support for RISC-V as part of my SiFive dayjob; fixing bugs > like this is part of that process. > > > We would favor the removal of all non C/POSIX(+XSI)-standard functions > > from the interface. > > Oh, that's probably the best idea of all. Applications should not be > using 'gamma' at all given the different definitions over time and > space. > > Any thoughts about the newlib __ieee754 interfaces? Those are > essentially the same as the C/POSIX interfaces but do not use errno or > other global variables, reporting exceptions only through the fenv API. > > > If something was changed in 2002, that is working incorrectly and no one > > found out until now, that is also not part of any standard, it suggests > > that no one is actually using it and should be able to be safely > > removed. Does Newlib have a policy to remove elements? > > I don't think it's 'newlib' which would need any policy; newlib is used > downstream in a wide variety of projects, including cygwin and picolibc, > which may have separate policies. Cygwin has binary interface > definitions, changing those could affect applications there. Removing interfaces is not an option for Cygwin. If you remove functions from newlib exported as symbols in Cygwin, you must provide replacement interfaces for Cygwin alone, otherwise Cygwin won't build anymore. And one step further, removing interfaces from the list of exported symbols of the Cygwin DLL will break user space and that's simply a no-no. Corinna