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
[-- Attachment #1 --]
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.
>
> 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+= __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;
};
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 {
/* First added in 9.0-CURRENT */
FBSD_1.2 {
- __isnanf;
};
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (FreeBSD)
iEYEARECAAYFAkz4P7gACgkQC3+MBN1Mb4hf9wCfSZev80/VIH33QRqf28zO/4Ht
ixMAoIsO/bX10XDP4xf2iwYshSKQLPe9
=XUP/
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101203005417.GZ2392>
