Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Dec 2010 02:54:17 +0200
From:      Kostik Belousov <kostikbel@gmail.com>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r209110 - in head/lib/msun: . src
Message-ID:  <20101203005417.GZ2392@deviant.kiev.zoral.com.ua>
In-Reply-To: <20101202190010.GB28587@zim.MIT.EDU>
References:  <201006121732.o5CHW5Cs065722@svn.freebsd.org> <20100615084939.GL13238@deviant.kiev.zoral.com.ua> <20100615131443.GA93094@zim.MIT.EDU> <20101202045728.GA19295@zim.MIT.EDU> <20101202095652.GQ2392@deviant.kiev.zoral.com.ua> <20101202190010.GB28587@zim.MIT.EDU>

next in thread | previous in thread | raw e-mail | index | archive | help

--qTVLnNpb55K94rUF
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Dec 02, 2010 at 02:00:10PM -0500, David Schultz wrote:
> On Thu, Dec 02, 2010, Kostik Belousov wrote:
> > For __isnanf, libc exports __isnanf@FBSD_1.0, and libm exports
> > __isnanf@FBSD_1.2. I suspect that we could export both
> > __isnanf@FBSD_1.0 and __isnanf@FBSD_1.2 from libc.
>=20
> I like the idea of adding an __isnanf@FBSD_1.2 alias to libc for
> the benefit of people running -CURRENT.

Ok, draft of the change is below, I am not sure is it worth the churn.

I was unable to make the ld support two versions of the same symbol.
lib/msun would benefit from elimination of isnan sources if this is
committed.


diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc
index d55bc46..f7c722e 100644
--- a/lib/libc/gen/Makefile.inc
+++ b/lib/libc/gen/Makefile.inc
@@ -19,8 +19,8 @@ SRCS+=3D  __getosreldate.c __xuname.c \
 	getosreldate.c getpagesize.c getpagesizes.c \
 	getpeereid.c getprogname.c getpwent.c getttyent.c \
 	getusershell.c getutxent.c getvfsbyname.c glob.c \
-	initgroups.c isatty.c isinf.c isnan.c jrand48.c lcong48.c \
-	lockf.c lrand48.c mrand48.c nftw.c nice.c \
+	initgroups.c isatty.c isinf.c isnan.c isnan_compat.c jrand48.c \
+	lcong48.c lockf.c lrand48.c mrand48.c nftw.c nice.c \
 	nlist.c nrand48.c opendir.c \
 	pause.c pmadvise.c popen.c posix_spawn.c \
 	psignal.c pututxline.c pw_scan.c pwcache.c \
diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map
index f9abab5..fd0a896 100644
--- a/lib/libc/gen/Symbol.map
+++ b/lib/libc/gen/Symbol.map
@@ -200,7 +200,6 @@ FBSD_1.0 {
 	getvfsbyname;
 	__isnan;
 	isnan;
-	__isnanf;
 	isnanf;
 	__isinf;
 	isinf;
@@ -378,6 +377,7 @@ FBSD_1.2 {
 	sem_wait;
 	setutxdb;
 	setutxent;
+	__isnanf;
 };
=20
 FBSDprivate_1.0 {
diff --git a/lib/libc/gen/isnan_compat.c b/lib/libc/gen/isnan_compat.c
new file mode 100644
index 0000000..f4749eb
--- /dev/null
+++ b/lib/libc/gen/isnan_compat.c
@@ -0,0 +1,17 @@
+/*
+ * The file is in public domain.
+ * Written by Konstantin Belousov <kib@FreeBSD.org>
+ *
+ * $FreeBSD$
+ */
+
+#include <math.h>
+
+__sym_compat(__isnanf, __isnanf_compat, FBSD_1.0);
+
+int
+__isnanf_compat(float f)
+{
+
+	return (__isnanf(f));
+}
diff --git a/lib/msun/Symbol.map b/lib/msun/Symbol.map
index 429a76f..8b33dca 100644
--- a/lib/msun/Symbol.map
+++ b/lib/msun/Symbol.map
@@ -118,7 +118,6 @@ FBSD_1.0 {
 	__isfinite;
 	__isfinitef;
 	__isfinitel;
-	isnanf;
 	__isnanl;
 	__isnormal;
 	__isnormalf;
@@ -221,5 +220,4 @@ FBSD_1.1 {
=20
 /* First added in 9.0-CURRENT */
 FBSD_1.2 {
-	__isnanf;
 };

--qTVLnNpb55K94rUF
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (FreeBSD)

iEYEARECAAYFAkz4P7gACgkQC3+MBN1Mb4hf9wCfSZev80/VIH33QRqf28zO/4Ht
ixMAoIsO/bX10XDP4xf2iwYshSKQLPe9
=XUP/
-----END PGP SIGNATURE-----

--qTVLnNpb55K94rUF--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101203005417.GZ2392>