From owner-svn-src-all@FreeBSD.ORG Thu Dec 2 04:57:30 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 742021065670; Thu, 2 Dec 2010 04:57:30 +0000 (UTC) (envelope-from das@freebsd.org) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id 198AD8FC14; Thu, 2 Dec 2010 04:57:29 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.4/8.14.2) with ESMTP id oB24vT24023435; Wed, 1 Dec 2010 23:57:29 -0500 (EST) (envelope-from das@freebsd.org) Received: (from das@localhost) by zim.MIT.EDU (8.14.4/8.14.2/Submit) id oB24vSgk023434; Wed, 1 Dec 2010 23:57:28 -0500 (EST) (envelope-from das@freebsd.org) Date: Wed, 1 Dec 2010 23:57:28 -0500 From: David Schultz To: Kostik Belousov , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <20101202045728.GA19295@zim.MIT.EDU> Mail-Followup-To: Kostik Belousov , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201006121732.o5CHW5Cs065722@svn.freebsd.org> <20100615084939.GL13238@deviant.kiev.zoral.com.ua> <20100615131443.GA93094@zim.MIT.EDU> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100615131443.GA93094@zim.MIT.EDU> Cc: Subject: Re: svn commit: r209110 - in head/lib/msun: . src X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Dec 2010 04:57:30 -0000 On Tue, Jun 15, 2010, David Schultz wrote: > On Tue, Jun 15, 2010, Kostik Belousov wrote: > > On Sat, Jun 12, 2010 at 05:32:05PM +0000, David Schultz wrote: > > > Author: das > > > Date: Sat Jun 12 17:32:05 2010 > > > New Revision: 209110 > > > URL: http://svn.freebsd.org/changeset/base/209110 > > > > > > Log: > > > Introduce __isnanf() as an alias for isnanf(), and make the isnan() > > > macro expand to __isnanf() instead of isnanf() for float arguments. > > > This change is needed because isnanf() isn't declared in strict POSIX > > > or C99 mode. > > > > > > Compatibility note: Apps using isnan(float) that are compiled after > > > this change won't link against an older libm. > > > > > > Reported by: Florian Forster > > > > May be, it makes sense to remove the default version for the isnan symbol ? > > Wouldn't this mean apps that use isnanf() directly will no longer > compile? isnanf() is a historical BSD interface, and although > it's been deprecated for many years, it's still declared (if > __BSD_VISIBLE). > > Oops, to complicate matters further, I just noticed that we > already have isnanf and __isnanf symbols in libc, so maybe the new > symbol isn't needed. (isnan() and isnanf() are in libc because > that's where they were historically.) The second version in > libm looks like a mistake (wrong scope of the #if 0 in s_isnan.c.) > Perhaps we could just remove the duplicate symbols from libm. Any thoughts on removing the isnanf and __isnanf symbols from libm? Both symbols are already in libc for historical reasons, so the duplication isn't needed. Although we've had the duplicate isnanf symbol in libm for several releases, I don't believe removing it will cause problems; apps will just pick up the libc version. __isnanf is only present in libm in 9-CURRENT (due to the commit referenced above). Because of symbol version differences, however, removing it will affect apps that were linked under 9-CURRENT AND rely on isnanf AND link against libm before libc. On my system, libwebkit is the only affected binary I could find.