Module Name: src
Committed By: drochner
Date: Fri Apr 23 19:17:07 UTC 2010
Modified Files:
src/lib/libm: Makefile
src/lib/libm/arch/i387: s_scalbn.S s_scalbnf.S
src/lib/libm/arch/mc68881: s_scalbn.S
src/lib/libm/src: e_pow.c e_powf.c e_scalb.c e_scalbf.c k_rem_pio2.c
k_rem_pio2f.c namespace.h s_ldexp.c s_ldexpf.c s_scalbn.c
s_scalbnf.c
Log Message:
-build ldexp/frexp/modf locally again rather than relying on libc
reaching over, to get things into a sane state,
-do the usual namespace protection game with scalbn(f) because it
is used internally
(more symbol renamings are necessary)
The weak_alias change for mc68881 is untested.
To generate a diff of this commit:
cvs rdiff -u -r1.93 -r1.94 src/lib/libm/Makefile
cvs rdiff -u -r1.8 -r1.9 src/lib/libm/arch/i387/s_scalbn.S
cvs rdiff -u -r1.7 -r1.8 src/lib/libm/arch/i387/s_scalbnf.S
cvs rdiff -u -r1.7 -r1.8 src/lib/libm/arch/mc68881/s_scalbn.S
cvs rdiff -u -r1.15 -r1.16 src/lib/libm/src/e_pow.c
cvs rdiff -u -r1.14 -r1.15 src/lib/libm/src/e_powf.c
cvs rdiff -u -r1.9 -r1.10 src/lib/libm/src/e_scalb.c
cvs rdiff -u -r1.6 -r1.7 src/lib/libm/src/e_scalbf.c
cvs rdiff -u -r1.11 -r1.12 src/lib/libm/src/k_rem_pio2.c
cvs rdiff -u -r1.7 -r1.8 src/lib/libm/src/k_rem_pio2f.c \
src/lib/libm/src/s_ldexpf.c
cvs rdiff -u -r1.2 -r1.3 src/lib/libm/src/namespace.h
cvs rdiff -u -r1.10 -r1.11 src/lib/libm/src/s_ldexp.c
cvs rdiff -u -r1.13 -r1.14 src/lib/libm/src/s_scalbn.c
cvs rdiff -u -r1.8 -r1.9 src/lib/libm/src/s_scalbnf.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libm/Makefile
diff -u src/lib/libm/Makefile:1.93 src/lib/libm/Makefile:1.94
--- src/lib/libm/Makefile:1.93 Mon Mar 29 06:59:42 2010
+++ src/lib/libm/Makefile Fri Apr 23 19:17:07 2010
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.93 2010/03/29 06:59:42 mrg Exp $
+# $NetBSD: Makefile,v 1.94 2010/04/23 19:17:07 drochner Exp $
#
# @(#)Makefile 5.1beta 93/09/24
#
@@ -137,17 +137,9 @@
w_pow.c w_powf.c w_remainder.c w_remainderf.c w_scalb.c w_scalbf.c \
w_sinh.c w_sinhf.c w_sqrt.c w_sqrtf.c \
lrint.c lrintf.c llrint.c llrintf.c lround.c lroundf.c llround.c \
- llroundf.c \
+ llroundf.c s_frexp.c s_ldexp.c s_modf.c \
s_fmax.c s_fmaxf.c s_fmaxl.c s_fmin.c s_fminf.c s_fminl.c s_fdim.c
-#
-# Add these for machines which don't have compatibility functions in libc,
-# since they appeared later than they became libc compatibility.
-#
-.if (${MACHINE_ARCH} == "powerpc64")
-COMMON_SRCS += s_frexp.c s_ldexp.c s_modf.c
-.endif
-
.PATH: ${.CURDIR}/compat
COMMON_SRCS+= compat_cabs.c compat_cabsf.c
# XXX our compatibility cabs() is different!
Index: src/lib/libm/arch/i387/s_scalbn.S
diff -u src/lib/libm/arch/i387/s_scalbn.S:1.8 src/lib/libm/arch/i387/s_scalbn.S:1.9
--- src/lib/libm/arch/i387/s_scalbn.S:1.8 Tue Mar 21 11:35:21 2006
+++ src/lib/libm/arch/i387/s_scalbn.S Fri Apr 23 19:17:07 2010
@@ -5,9 +5,13 @@
#include <machine/asm.h>
-RCSID("$NetBSD: s_scalbn.S,v 1.8 2006/03/21 11:35:21 drochner Exp $")
+RCSID("$NetBSD: s_scalbn.S,v 1.9 2010/04/23 19:17:07 drochner Exp $")
-ENTRY(scalbn)
+#ifdef WEAK_ALIAS
+WEAK_ALIAS(scalbn,_scalbn)
+#endif
+
+ENTRY(_scalbn)
#ifdef __x86_64__
movl %edi,-12(%rsp)
fildl -12(%rsp)
Index: src/lib/libm/arch/i387/s_scalbnf.S
diff -u src/lib/libm/arch/i387/s_scalbnf.S:1.7 src/lib/libm/arch/i387/s_scalbnf.S:1.8
--- src/lib/libm/arch/i387/s_scalbnf.S:1.7 Tue Mar 21 11:35:21 2006
+++ src/lib/libm/arch/i387/s_scalbnf.S Fri Apr 23 19:17:07 2010
@@ -5,9 +5,13 @@
#include <machine/asm.h>
-RCSID("$NetBSD: s_scalbnf.S,v 1.7 2006/03/21 11:35:21 drochner Exp $")
+RCSID("$NetBSD: s_scalbnf.S,v 1.8 2010/04/23 19:17:07 drochner Exp $")
-ENTRY(scalbnf)
+#ifdef WEAK_ALIAS
+WEAK_ALIAS(scalbnf,_scalbnf)
+#endif
+
+ENTRY(_scalbnf)
#ifdef __x86_64__
movl %edi,-8(%rsp)
fildl -8(%rsp)
Index: src/lib/libm/arch/mc68881/s_scalbn.S
diff -u src/lib/libm/arch/mc68881/s_scalbn.S:1.7 src/lib/libm/arch/mc68881/s_scalbn.S:1.8
--- src/lib/libm/arch/mc68881/s_scalbn.S:1.7 Thu Aug 7 16:44:43 2003
+++ src/lib/libm/arch/mc68881/s_scalbn.S Fri Apr 23 19:17:07 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: s_scalbn.S,v 1.7 2003/08/07 16:44:43 agc Exp $ */
+/* $NetBSD: s_scalbn.S,v 1.8 2010/04/23 19:17:07 drochner Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -38,11 +38,15 @@
;_sccsid:
;.asciz "from: @(#)support.s 5.2 (Berkeley) 5/17/90"
-RCSID("$NetBSD: s_scalbn.S,v 1.7 2003/08/07 16:44:43 agc Exp $")
+RCSID("$NetBSD: s_scalbn.S,v 1.8 2010/04/23 19:17:07 drochner Exp $")
+
+#ifdef WEAK_ALIAS
+WEAK_ALIAS(scalbn,_scalbn)
+#endif
| scalbn(x, N)
| returns x * (2**N), for integer values N.
-ENTRY(scalbn)
+ENTRY(_scalbn)
fmoved %sp@(4),%fp0
fscalel %sp@(12),%fp0
#ifndef __SVR4_ABI__
Index: src/lib/libm/src/e_pow.c
diff -u src/lib/libm/src/e_pow.c:1.15 src/lib/libm/src/e_pow.c:1.16
--- src/lib/libm/src/e_pow.c:1.15 Mon Jan 19 06:41:13 2009
+++ src/lib/libm/src/e_pow.c Fri Apr 23 19:17:07 2010
@@ -12,7 +12,7 @@
#include <sys/cdefs.h>
#if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: e_pow.c,v 1.15 2009/01/19 06:41:13 lukem Exp $");
+__RCSID("$NetBSD: e_pow.c,v 1.16 2010/04/23 19:17:07 drochner Exp $");
#endif
/* __ieee754_pow(x,y) return x**y
@@ -60,6 +60,7 @@
* to produce the hexadecimal values shown.
*/
+#include "namespace.h"
#include "math.h"
#include "math_private.h"
Index: src/lib/libm/src/e_powf.c
diff -u src/lib/libm/src/e_powf.c:1.14 src/lib/libm/src/e_powf.c:1.15
--- src/lib/libm/src/e_powf.c:1.14 Mon Jan 19 05:59:06 2009
+++ src/lib/libm/src/e_powf.c Fri Apr 23 19:17:07 2010
@@ -15,9 +15,10 @@
#include <sys/cdefs.h>
#if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: e_powf.c,v 1.14 2009/01/19 05:59:06 lukem Exp $");
+__RCSID("$NetBSD: e_powf.c,v 1.15 2010/04/23 19:17:07 drochner Exp $");
#endif
+#include "namespace.h"
#include "math.h"
#include "math_private.h"
Index: src/lib/libm/src/e_scalb.c
diff -u src/lib/libm/src/e_scalb.c:1.9 src/lib/libm/src/e_scalb.c:1.10
--- src/lib/libm/src/e_scalb.c:1.9 Sun May 26 22:01:52 2002
+++ src/lib/libm/src/e_scalb.c Fri Apr 23 19:17:07 2010
@@ -12,7 +12,7 @@
#include <sys/cdefs.h>
#if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: e_scalb.c,v 1.9 2002/05/26 22:01:52 wiz Exp $");
+__RCSID("$NetBSD: e_scalb.c,v 1.10 2010/04/23 19:17:07 drochner Exp $");
#endif
/*
@@ -21,6 +21,7 @@
* should use scalbn() instead.
*/
+#include "namespace.h"
#include "math.h"
#include "math_private.h"
Index: src/lib/libm/src/e_scalbf.c
diff -u src/lib/libm/src/e_scalbf.c:1.6 src/lib/libm/src/e_scalbf.c:1.7
--- src/lib/libm/src/e_scalbf.c:1.6 Sun May 26 22:01:52 2002
+++ src/lib/libm/src/e_scalbf.c Fri Apr 23 19:17:07 2010
@@ -15,9 +15,10 @@
#include <sys/cdefs.h>
#if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: e_scalbf.c,v 1.6 2002/05/26 22:01:52 wiz Exp $");
+__RCSID("$NetBSD: e_scalbf.c,v 1.7 2010/04/23 19:17:07 drochner Exp $");
#endif
+#include "namespace.h"
#include "math.h"
#include "math_private.h"
Index: src/lib/libm/src/k_rem_pio2.c
diff -u src/lib/libm/src/k_rem_pio2.c:1.11 src/lib/libm/src/k_rem_pio2.c:1.12
--- src/lib/libm/src/k_rem_pio2.c:1.11 Sat Jan 4 23:43:03 2003
+++ src/lib/libm/src/k_rem_pio2.c Fri Apr 23 19:17:07 2010
@@ -12,7 +12,7 @@
#include <sys/cdefs.h>
#if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: k_rem_pio2.c,v 1.11 2003/01/04 23:43:03 wiz Exp $");
+__RCSID("$NetBSD: k_rem_pio2.c,v 1.12 2010/04/23 19:17:07 drochner Exp $");
#endif
/*
@@ -131,6 +131,7 @@
* to produce the hexadecimal values shown.
*/
+#include "namespace.h"
#include "math.h"
#include "math_private.h"
Index: src/lib/libm/src/k_rem_pio2f.c
diff -u src/lib/libm/src/k_rem_pio2f.c:1.7 src/lib/libm/src/k_rem_pio2f.c:1.8
--- src/lib/libm/src/k_rem_pio2f.c:1.7 Sun May 26 22:01:53 2002
+++ src/lib/libm/src/k_rem_pio2f.c Fri Apr 23 19:17:07 2010
@@ -15,9 +15,10 @@
#include <sys/cdefs.h>
#if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: k_rem_pio2f.c,v 1.7 2002/05/26 22:01:53 wiz Exp $");
+__RCSID("$NetBSD: k_rem_pio2f.c,v 1.8 2010/04/23 19:17:07 drochner Exp $");
#endif
+#include "namespace.h"
#include "math.h"
#include "math_private.h"
Index: src/lib/libm/src/s_ldexpf.c
diff -u src/lib/libm/src/s_ldexpf.c:1.7 src/lib/libm/src/s_ldexpf.c:1.8
--- src/lib/libm/src/s_ldexpf.c:1.7 Fri Apr 25 22:21:53 2008
+++ src/lib/libm/src/s_ldexpf.c Fri Apr 23 19:17:07 2010
@@ -15,9 +15,10 @@
#include <sys/cdefs.h>
#if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: s_ldexpf.c,v 1.7 2008/04/25 22:21:53 christos Exp $");
+__RCSID("$NetBSD: s_ldexpf.c,v 1.8 2010/04/23 19:17:07 drochner Exp $");
#endif
+#include "namespace.h"
#include "math.h"
#include "math_private.h"
#include <errno.h>
Index: src/lib/libm/src/namespace.h
diff -u src/lib/libm/src/namespace.h:1.2 src/lib/libm/src/namespace.h:1.3
--- src/lib/libm/src/namespace.h:1.2 Mon Aug 20 16:01:39 2007
+++ src/lib/libm/src/namespace.h Fri Apr 23 19:17:07 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: namespace.h,v 1.2 2007/08/20 16:01:39 drochner Exp $ */
+/* $NetBSD: namespace.h,v 1.3 2010/04/23 19:17:07 drochner Exp $ */
#define atan2 _atan2
#define atan2f _atan2f
@@ -15,6 +15,8 @@
#define sinf _sinf
#define cos _cos
#define cosf _cosf
+#define finite _finite
+#define finitef _finitef
#endif /* notyet */
#define sinh _sinh
#define sinhf _sinhf
@@ -27,3 +29,6 @@
#define casinf _casinf
#define catan _catan
#define catanf _catanf
+
+#define scalbn _scalbn
+#define scalbnf _scalbnf
Index: src/lib/libm/src/s_ldexp.c
diff -u src/lib/libm/src/s_ldexp.c:1.10 src/lib/libm/src/s_ldexp.c:1.11
--- src/lib/libm/src/s_ldexp.c:1.10 Fri Apr 25 22:21:53 2008
+++ src/lib/libm/src/s_ldexp.c Fri Apr 23 19:17:07 2010
@@ -12,9 +12,10 @@
#include <sys/cdefs.h>
#if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: s_ldexp.c,v 1.10 2008/04/25 22:21:53 christos Exp $");
+__RCSID("$NetBSD: s_ldexp.c,v 1.11 2010/04/23 19:17:07 drochner Exp $");
#endif
+#include "namespace.h"
#include "math.h"
#include "math_private.h"
#include <errno.h>
Index: src/lib/libm/src/s_scalbn.c
diff -u src/lib/libm/src/s_scalbn.c:1.13 src/lib/libm/src/s_scalbn.c:1.14
--- src/lib/libm/src/s_scalbn.c:1.13 Sun Sep 28 18:54:55 2008
+++ src/lib/libm/src/s_scalbn.c Fri Apr 23 19:17:07 2010
@@ -12,7 +12,7 @@
#include <sys/cdefs.h>
#if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: s_scalbn.c,v 1.13 2008/09/28 18:54:55 christos Exp $");
+__RCSID("$NetBSD: s_scalbn.c,v 1.14 2010/04/23 19:17:07 drochner Exp $");
#endif
/*
@@ -22,9 +22,14 @@
* exponentiation or a multiplication.
*/
+#include "namespace.h"
#include "math.h"
#include "math_private.h"
+#ifdef __weak_alias
+__weak_alias(scalbn, _scalbn)
+#endif
+
static const double
two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
twom54 = 5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */
Index: src/lib/libm/src/s_scalbnf.c
diff -u src/lib/libm/src/s_scalbnf.c:1.8 src/lib/libm/src/s_scalbnf.c:1.9
--- src/lib/libm/src/s_scalbnf.c:1.8 Sun May 26 22:01:58 2002
+++ src/lib/libm/src/s_scalbnf.c Fri Apr 23 19:17:07 2010
@@ -15,12 +15,17 @@
#include <sys/cdefs.h>
#if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: s_scalbnf.c,v 1.8 2002/05/26 22:01:58 wiz Exp $");
+__RCSID("$NetBSD: s_scalbnf.c,v 1.9 2010/04/23 19:17:07 drochner Exp $");
#endif
+#include "namespace.h"
#include "math.h"
#include "math_private.h"
+#ifdef __weak_alias
+__weak_alias(scalbnf, _scalbnf)
+#endif
+
static const float
two25 = 3.355443200e+07, /* 0x4c000000 */
twom25 = 2.9802322388e-08, /* 0x33000000 */