From owner-cvs-all@FreeBSD.ORG Fri Jul 9 03:32:41 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3787016A4CE; Fri, 9 Jul 2004 03:32:41 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1CB9A43D41; Fri, 9 Jul 2004 03:32:41 +0000 (GMT) (envelope-from das@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i693WfUg038767; Fri, 9 Jul 2004 03:32:41 GMT (envelope-from das@repoman.freebsd.org) Received: (from das@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i693WenK038766; Fri, 9 Jul 2004 03:32:40 GMT (envelope-from das) Message-Id: <200407090332.i693WenK038766@repoman.freebsd.org> From: David Schultz Date: Fri, 9 Jul 2004 03:32:40 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/lib/msun Makefile src/lib/msun/src math.h s_isfinite.c s_isnormal.c src/lib/libc/alpha/gen Makefile.inc isinf.c src/lib/libc/amd64/gen Makefile.inc isinf.c... X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jul 2004 03:32:41 -0000 das 2004-07-09 03:32:40 UTC FreeBSD src repository Modified files: lib/msun Makefile lib/msun/src math.h lib/libc/alpha/gen Makefile.inc lib/libc/amd64/gen Makefile.inc lib/libc/arm/gen Makefile.inc lib/libc/i386/gen Makefile.inc lib/libc/ia64/gen Makefile.inc lib/libc/powerpc/gen Makefile.inc lib/libc/sparc64/gen Makefile.inc lib/libc/gen Makefile.inc Added files: lib/msun/src s_isfinite.c s_isnormal.c lib/libc/gen isinf.c isnan.c Removed files: lib/libc/alpha/gen isinf.c lib/libc/amd64/gen isinf.c lib/libc/arm/gen isinf.c lib/libc/i386/gen isinf.c lib/libc/ia64/gen isinf.c lib/libc/powerpc/gen isinf.c lib/libc/sparc64/gen isinf.c Log: Implement the classification macros isfinite(), isinf(), isnan(), and isnormal() the hard way, rather than relying on fpclassify(). This is a lose in the sense that we need a total of 12 functions, but it is necessary for binary compatibility because we have never bumped libm's major version number. In particular, isinf(), isnan(), and isnanf() were BSD libc functions before they were C99 macros, so we can't reimplement them in terms of fpclassify() without adding a dependency on libc.so.5. I have tried to arrange things so that programs that could be compiled in FreeBSD 4.X will generate the same external references when compiled in 5.X. At the same time, the new macros should remain C99-compliant. The isinf() and isnan() functions remain in libc for historical reasons; however, I have moved the functions that implement the macros isfinite() and isnormal() to libm where they belong. Moreover, half a dozen MD versions of isinf() and isnan() have been replaced with MI versions that work equally well. Prodded by: kris Revision Changes Path 1.13 +1 -1 src/lib/libc/alpha/gen/Makefile.inc 1.7 +0 -68 src/lib/libc/alpha/gen/isinf.c (dead) 1.25 +1 -1 src/lib/libc/amd64/gen/Makefile.inc 1.12 +0 -75 src/lib/libc/amd64/gen/isinf.c (dead) 1.2 +1 -1 src/lib/libc/arm/gen/Makefile.inc 1.2 +0 -70 src/lib/libc/arm/gen/isinf.c (dead) 1.112 +1 -1 src/lib/libc/gen/Makefile.inc 1.1 +66 -0 src/lib/libc/gen/isinf.c (new) 1.1 +67 -0 src/lib/libc/gen/isnan.c (new) 1.19 +1 -1 src/lib/libc/i386/gen/Makefile.inc 1.12 +0 -75 src/lib/libc/i386/gen/isinf.c (dead) 1.9 +1 -2 src/lib/libc/ia64/gen/Makefile.inc 1.6 +0 -68 src/lib/libc/ia64/gen/isinf.c (dead) 1.4 +1 -1 src/lib/libc/powerpc/gen/Makefile.inc 1.4 +0 -67 src/lib/libc/powerpc/gen/isinf.c (dead) 1.9 +1 -1 src/lib/libc/sparc64/gen/Makefile.inc 1.6 +0 -69 src/lib/libc/sparc64/gen/isinf.c (dead) 1.48 +2 -1 src/lib/msun/Makefile 1.40 +28 -6 src/lib/msun/src/math.h 1.1 +58 -0 src/lib/msun/src/s_isfinite.c (new) 1.1 +58 -0 src/lib/msun/src/s_isnormal.c (new)