summaryrefslogtreecommitdiffstats
path: root/libm
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2006-02-25 04:03:33 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2006-02-25 04:03:33 +0000
commitcb6a88484ce0b5ffba2fe98a40e2d51f4af92eb8 (patch)
tree520f8e8d113184cfa7954ebd274564b8c255fa9a /libm
parente4461be66e2655058aef358b00050bc70ac72861 (diff)
downloaduClibc-alpine-cb6a88484ce0b5ffba2fe98a40e2d51f4af92eb8.tar.bz2
uClibc-alpine-cb6a88484ce0b5ffba2fe98a40e2d51f4af92eb8.tar.xz
Merge from trunk. Going pretty good so far. Kind of. Okay, not really.
Diffstat (limited to 'libm')
-rw-r--r--libm/Makefile.in48
-rw-r--r--libm/e_acosh.c3
-rw-r--r--libm/e_asin.c2
-rw-r--r--libm/e_atan2.c3
-rw-r--r--libm/e_atanh.c2
-rw-r--r--libm/e_cosh.c3
-rw-r--r--libm/e_gamma.c3
-rw-r--r--libm/e_j0.c5
-rw-r--r--libm/e_j1.c5
-rw-r--r--libm/e_jn.c5
-rw-r--r--libm/e_lgamma.c3
-rw-r--r--libm/e_lgamma_r.c5
-rw-r--r--libm/e_pow.c3
-rw-r--r--libm/e_rem_pio2.c2
-rw-r--r--libm/e_remainder.c2
-rw-r--r--libm/e_scalb.c5
-rw-r--r--libm/e_sinh.c3
-rw-r--r--libm/float_wrappers.c72
-rw-r--r--libm/fpmacros.c28
-rw-r--r--libm/k_rem_pio2.c3
-rw-r--r--libm/k_standard.c7
-rw-r--r--libm/k_tan.c3
-rw-r--r--libm/math_private.h102
-rw-r--r--libm/powerpc/Makefile.arch18
-rw-r--r--libm/powerpc/s_ceil.c4
-rw-r--r--libm/powerpc/s_copysign.c3
-rw-r--r--libm/powerpc/s_floor.c4
-rw-r--r--libm/powerpc/s_frexp.c3
-rw-r--r--libm/powerpc/s_ldexp.c3
-rw-r--r--libm/powerpc/s_logb.c4
-rw-r--r--libm/powerpc/s_modf.c2
-rw-r--r--libm/powerpc/s_nearbyint.c2
-rw-r--r--libm/powerpc/s_rint.c3
-rw-r--r--libm/powerpc/s_round.c2
-rw-r--r--libm/powerpc/s_trunc.c2
-rw-r--r--libm/powerpc/w_scalb.c7
-rw-r--r--libm/s_asinh.c5
-rw-r--r--libm/s_atan.c4
-rw-r--r--libm/s_cbrt.c2
-rw-r--r--libm/s_ceil.c3
-rw-r--r--libm/s_copysign.c3
-rw-r--r--libm/s_cos.c2
-rw-r--r--libm/s_erf.c6
-rw-r--r--libm/s_expm1.c2
-rw-r--r--libm/s_fabs.c2
-rw-r--r--libm/s_finite.c4
-rw-r--r--libm/s_floor.c2
-rw-r--r--libm/s_frexp.c2
-rw-r--r--libm/s_ilogb.c2
-rw-r--r--libm/s_ldexp.c5
-rw-r--r--libm/s_lib_version.c2
-rw-r--r--libm/s_llround.c3
-rw-r--r--libm/s_log1p.c2
-rw-r--r--libm/s_logb.c4
-rw-r--r--libm/s_lround.c3
-rw-r--r--libm/s_matherr.c2
-rw-r--r--libm/s_modf.c2
-rw-r--r--libm/s_nextafter.c2
-rw-r--r--libm/s_rint.c2
-rw-r--r--libm/s_round.c3
-rw-r--r--libm/s_scalbn.c4
-rw-r--r--libm/s_signgam.c2
-rw-r--r--libm/s_significand.c2
-rw-r--r--libm/s_sin.c2
-rw-r--r--libm/s_tan.c2
-rw-r--r--libm/s_tanh.c5
-rw-r--r--libm/w_acos.c3
-rw-r--r--libm/w_acosh.c2
-rw-r--r--libm/w_asin.c2
-rw-r--r--libm/w_atan2.c3
-rw-r--r--libm/w_atanh.c3
-rw-r--r--libm/w_cabs.c2
-rw-r--r--libm/w_cosh.c2
-rw-r--r--libm/w_drem.c2
-rw-r--r--libm/w_exp.c2
-rw-r--r--libm/w_fmod.c3
-rw-r--r--libm/w_gamma.c4
-rw-r--r--libm/w_gamma_r.c1
-rw-r--r--libm/w_hypot.c3
-rw-r--r--libm/w_lgamma.c6
-rw-r--r--libm/w_log.c3
-rw-r--r--libm/w_log10.c3
-rw-r--r--libm/w_pow.c3
-rw-r--r--libm/w_remainder.c2
-rw-r--r--libm/w_scalb.c2
-rw-r--r--libm/w_sinh.c2
-rw-r--r--libm/w_sqrt.c2
87 files changed, 367 insertions, 148 deletions
diff --git a/libm/Makefile.in b/libm/Makefile.in
index 19211f5ff..180db7c95 100644
--- a/libm/Makefile.in
+++ b/libm/Makefile.in
@@ -1,6 +1,6 @@
# Makefile for uClibc
#
-# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+# Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
#
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
@@ -23,18 +23,22 @@
CFLAGS-libm := -DNOT_IN_libc -DIS_IN_libm $(SSP_ALL_CFLAGS)
CFLAGS-libm += -D_IEEE_LIBM -D_ISOC99_SOURCE -D_SVID_SOURCE
-CFLAGS-libm/$(TARGET_ARCH)/ := $(CFLAGS-libm)
-
-CFLAGS-s_lib_version.c := -D_POSIX_MODE
-
LDFLAGS-libm.so := $(LDFLAGS)
LIBS-libm.so := $(LIBS)
libm_FULL_NAME := libm-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
-ifeq ($(HAS_FPU),y)
--include $(top_srcdir)libm/$(TARGET_ARCH)/Makefile.arch
+libm_ARCH_DIR:=$(top_srcdir)libm/$(TARGET_ARCH)
+libm_ARCH_OUT:=$(top_builddir)libm/$(TARGET_ARCH)
+
+libm_ARCH_fpu_DIR:=$(libm_ARCH_DIR)/fpu
+libm_ARCH_fpu_OUT:=$(libm_ARCH_OUT)/fpu
+
+ifeq ($(UCLIBC_HAS_FPU),y)
+ifeq ($(DO_C99_MATH),y)
+-include $(libm_ARCH_DIR)/Makefile.arch
+endif
endif
FL_MSRC := float_wrappers.c
@@ -84,8 +88,10 @@ libm_DIR := $(top_srcdir)libm
libm_OUT := $(top_builddir)libm
# assume that arch specific versions are provided as single sources/objects
-ifeq ($(HAS_FPU),y)
+ifeq ($(UCLIBC_HAS_FPU),y)
+ifeq ($(DO_C99_MATH),y)
ifneq ($(strip $(libm_ARCH_OBJS)),)
+CFLAGS-libm/$(TARGET_ARCH)/ := $(CFLAGS-libm)
# remove generic sources, if arch specific version is present
ifneq ($(strip $(libm_ARCH_SRC)),)
@@ -99,12 +105,6 @@ FL_MOBJ := $(filter-out $(notdir $(libm_ARCH_OBJS)),$(FL_MOBJ))
FL_MOBJ := $(filter-out $(patsubst s_%.o,%.o,$(notdir $(libm_ARCH_OBJS))),$(FL_MOBJ))
endif
endif
-
-ifneq ($(DOMULTI),n)
-ifeq ($(DO_C99_MATH),y)
-LIBM_NO_MULTI := s_lib_version.c
-CSRC := $(filter-out $(LIBM_NO_MULTI),$(CSRC))
-endif
endif
libm_SRC := $(patsubst %.c,$(libm_DIR)/%.c,$(CSRC))
@@ -113,7 +113,9 @@ libm_OBJ := $(patsubst $(libm_DIR)/%.c,$(libm_OUT)/%.o,$(libm_SRC))
libm_MSRC := $(libm_DIR)/$(FL_MSRC)
libm_MOBJ := $(patsubst %.o,$(libm_OUT)/%.o,$(FL_MOBJ))
-libm_DEF := $(patsubst %,-DL_%,$(subst .o,,$(notdir $(libm_MOBJ))))
+ifneq ($(DOMULTI),n)
+CFLAGS-libm += $(patsubst %,-DL_%,$(subst .o,,$(notdir $(libm_MOBJ))))
+endif
libm_OBJS := $(libm_OBJ) $(libm_MOBJ)
@@ -124,26 +126,32 @@ libm-a-y += $(libm_OBJS)
endif
libm-so-y += $(libm_OBJS:.o=.os)
-CFLAGS-multi-y := $(libm_DEF)
-libm-multi-y += $(libm_SRC) $(libm_MSRC)
-libm-nomulti-$(DO_C99_MATH) += $(patsubst %.c,$(libm_OUT)/%.o,$(LIBM_NO_MULTI))
-
lib-a-$(UCLIBC_HAS_FLOATS) += $(top_builddir)lib/libm.a
lib-so-$(UCLIBC_HAS_FLOATS) += $(top_builddir)lib/libm.so
objclean-y += libm_clean
+ifeq ($(DOMULTI),n)
ifeq ($(DOPIC),y)
$(top_builddir)lib/libm.so: $(top_builddir)lib/libm.a $(libc)
else
$(top_builddir)lib/libm.so: $(libm_OUT)/libm_so.a $(libc)
endif
$(call link.so,$(libm_FULL_NAME),$(MAJOR_VERSION))
+else
+$(top_builddir)lib/libm.so: $(libm_OUT)/libm.oS | $(libc)
+ $(call linkm.so,$(libm_FULL_NAME),$(MAJOR_VERSION))
+endif
$(libm_OUT)/libm_so.a: $(libm-so-y)
$(Q)$(RM) $@
$(do_strip)
$(do_ar)
+$(libm_OUT)/libm.oS: $(libm_SRC) $(libm_MSRC) $(libm_ARCH_SRC)
+ $(Q)$(RM) $@
+ $(compile-m)
+ $(do_t_strip)
+
$(top_builddir)lib/libm.a: $(libm-a-y)
$(Q)$(INSTALL) -d $(dir $@)
$(Q)$(RM) $@
@@ -157,4 +165,4 @@ $(libm_MOBJ:.o=.os): $(libm_MSRC)
$(compile.m)
libm_clean:
- $(RM) $(libm_OUT)/*.{o,os,a}
+ $(RM) $(libm_OUT)/{,*/,*/*/}*.{o,os,oS,a}
diff --git a/libm/e_acosh.c b/libm/e_acosh.c
index 258ffa549..d5e510eff 100644
--- a/libm/e_acosh.c
+++ b/libm/e_acosh.c
@@ -31,6 +31,9 @@ static char rcsid[] = "$NetBSD: e_acosh.c,v 1.9 1995/05/12 04:57:18 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(log1p)
+libm_hidden_proto(sqrt)
+
#ifdef __STDC__
static const double
#else
diff --git a/libm/e_asin.c b/libm/e_asin.c
index f9b16da71..8a639771b 100644
--- a/libm/e_asin.c
+++ b/libm/e_asin.c
@@ -48,6 +48,8 @@ static char rcsid[] = "$NetBSD: e_asin.c,v 1.9 1995/05/12 04:57:22 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static const double
#else
diff --git a/libm/e_atan2.c b/libm/e_atan2.c
index 594b9a16f..7bb38da81 100644
--- a/libm/e_atan2.c
+++ b/libm/e_atan2.c
@@ -44,6 +44,9 @@ static char rcsid[] = "$NetBSD: e_atan2.c,v 1.8 1995/05/10 20:44:51 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(atan)
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static const double
#else
diff --git a/libm/e_atanh.c b/libm/e_atanh.c
index 7c8bbc14f..cfbe02bed 100644
--- a/libm/e_atanh.c
+++ b/libm/e_atanh.c
@@ -35,6 +35,8 @@ static char rcsid[] = "$NetBSD: e_atanh.c,v 1.8 1995/05/10 20:44:55 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(log1p)
+
#ifdef __STDC__
static const double one = 1.0, huge = 1e300;
#else
diff --git a/libm/e_cosh.c b/libm/e_cosh.c
index 5558a9642..aa25eefcb 100644
--- a/libm/e_cosh.c
+++ b/libm/e_cosh.c
@@ -38,6 +38,9 @@ static char rcsid[] = "$NetBSD: e_cosh.c,v 1.7 1995/05/10 20:44:58 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(expm1)
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static const double one = 1.0, half=0.5, huge = 1.0e300;
#else
diff --git a/libm/e_gamma.c b/libm/e_gamma.c
index 23611c369..296ebb8f3 100644
--- a/libm/e_gamma.c
+++ b/libm/e_gamma.c
@@ -18,9 +18,10 @@
* Method: call __ieee754_gamma_r
*/
+#include <math.h>
#include "math_private.h"
-extern int signgam;
+libm_hidden_proto(signgam)
#ifdef __STDC__
//__private_extern__
diff --git a/libm/e_j0.c b/libm/e_j0.c
index eaf06be05..74defacdf 100644
--- a/libm/e_j0.c
+++ b/libm/e_j0.c
@@ -62,6 +62,11 @@ static char rcsid[] = "$NetBSD: e_j0.c,v 1.8 1995/05/10 20:45:23 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(sin)
+libm_hidden_proto(cos)
+libm_hidden_proto(sqrt)
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static double pzero(double), qzero(double);
#else
diff --git a/libm/e_j1.c b/libm/e_j1.c
index 370f0f0a1..bb3e650eb 100644
--- a/libm/e_j1.c
+++ b/libm/e_j1.c
@@ -62,6 +62,11 @@ static char rcsid[] = "$NetBSD: e_j1.c,v 1.8 1995/05/10 20:45:27 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(sin)
+libm_hidden_proto(cos)
+libm_hidden_proto(sqrt)
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static double pone(double), qone(double);
#else
diff --git a/libm/e_jn.c b/libm/e_jn.c
index ac0013b8d..53c6396f6 100644
--- a/libm/e_jn.c
+++ b/libm/e_jn.c
@@ -43,6 +43,11 @@ static char rcsid[] = "$NetBSD: e_jn.c,v 1.9 1995/05/10 20:45:34 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(sin)
+libm_hidden_proto(cos)
+libm_hidden_proto(sqrt)
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static const double
#else
diff --git a/libm/e_lgamma.c b/libm/e_lgamma.c
index 3d3d6471d..4dce71c80 100644
--- a/libm/e_lgamma.c
+++ b/libm/e_lgamma.c
@@ -18,9 +18,10 @@
* Method: call __ieee754_lgamma_r
*/
+#include <math.h>
#include "math_private.h"
-extern int signgam;
+libm_hidden_proto(signgam)
#ifdef __STDC__
//__private_extern__
diff --git a/libm/e_lgamma_r.c b/libm/e_lgamma_r.c
index 42b48b3a6..5e1b373c0 100644
--- a/libm/e_lgamma_r.c
+++ b/libm/e_lgamma_r.c
@@ -84,6 +84,9 @@ static char rcsid[] = "$NetBSD: e_lgamma_r.c,v 1.7 1995/05/10 20:45:42 jtc Exp $
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(floor)
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static const double
#else
@@ -164,7 +167,7 @@ static double zero= 0.00000000000000000000e+00;
static
#ifdef __GNUC__
-__inline__
+inline
#endif
#ifdef __STDC__
double sin_pi(double x)
diff --git a/libm/e_pow.c b/libm/e_pow.c
index 94b490115..675149e1f 100644
--- a/libm/e_pow.c
+++ b/libm/e_pow.c
@@ -62,6 +62,9 @@ static char rcsid[] = "$NetBSD: e_pow.c,v 1.9 1995/05/12 04:57:32 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(scalbn)
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static const double
#else
diff --git a/libm/e_rem_pio2.c b/libm/e_rem_pio2.c
index 239b68a73..97ce7bab1 100644
--- a/libm/e_rem_pio2.c
+++ b/libm/e_rem_pio2.c
@@ -23,6 +23,8 @@ static char rcsid[] = "$NetBSD: e_rem_pio2.c,v 1.8 1995/05/10 20:46:02 jtc Exp $
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(fabs)
+
/*
* Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi
*/
diff --git a/libm/e_remainder.c b/libm/e_remainder.c
index 1f7ea126b..17047b385 100644
--- a/libm/e_remainder.c
+++ b/libm/e_remainder.c
@@ -26,6 +26,8 @@ static char rcsid[] = "$NetBSD: e_remainder.c,v 1.8 1995/05/10 20:46:05 jtc Exp
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static const double zero = 0.0;
#else
diff --git a/libm/e_scalb.c b/libm/e_scalb.c
index 1a1c43ac7..772d95523 100644
--- a/libm/e_scalb.c
+++ b/libm/e_scalb.c
@@ -23,6 +23,11 @@ static char rcsid[] = "$NetBSD: e_scalb.c,v 1.6 1995/05/10 20:46:09 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(scalbn)
+libm_hidden_proto(finite)
+libm_hidden_proto(rint)
+libm_hidden_proto(__isnan)
+
#ifdef _SCALB_INT
#ifdef __STDC__
double attribute_hidden __ieee754_scalb(double x, int fn)
diff --git a/libm/e_sinh.c b/libm/e_sinh.c
index 462bc2f57..e8452c287 100644
--- a/libm/e_sinh.c
+++ b/libm/e_sinh.c
@@ -35,6 +35,9 @@ static char rcsid[] = "$NetBSD: e_sinh.c,v 1.7 1995/05/10 20:46:13 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(expm1)
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static const double one = 1.0, shuge = 1.0e307;
#else
diff --git a/libm/float_wrappers.c b/libm/float_wrappers.c
index 0be5304f7..298453d31 100644
--- a/libm/float_wrappers.c
+++ b/libm/float_wrappers.c
@@ -77,6 +77,7 @@ float tanhf(float);
#ifdef L_acosf
+libm_hidden_proto(acos)
float acosf (float x)
{
return (float) acos( (double)x );
@@ -85,6 +86,7 @@ float acosf (float x)
#ifdef L_acoshf
+libm_hidden_proto(acosh)
float acoshf (float x)
{
return (float) acosh( (double)x );
@@ -93,6 +95,7 @@ float acoshf (float x)
#ifdef L_asinf
+libm_hidden_proto(asin)
float asinf (float x)
{
return (float) asin( (double)x );
@@ -101,6 +104,7 @@ float asinf (float x)
#ifdef L_asinhf
+libm_hidden_proto(asinh)
float asinhf (float x)
{
return (float) asinh( (double)x );
@@ -109,6 +113,7 @@ float asinhf (float x)
#ifdef L_atan2f
+libm_hidden_proto(atan2)
float atan2f (float x, float y)
{
return (float) atan2( (double)x, (double)y );
@@ -117,6 +122,7 @@ float atan2f (float x, float y)
#ifdef L_atanf
+libm_hidden_proto(atan)
float atanf (float x)
{
return (float) atan( (double)x );
@@ -125,6 +131,7 @@ float atanf (float x)
#ifdef L_atanhf
+libm_hidden_proto(atanh)
float atanhf (float x)
{
return (float) atanh( (double)x );
@@ -133,6 +140,7 @@ float atanhf (float x)
#ifdef L_cbrtf
+libm_hidden_proto(cbrt)
float cbrtf (float x)
{
return (float) cbrt( (double)x );
@@ -141,6 +149,7 @@ float cbrtf (float x)
#ifdef L_ceilf
+libm_hidden_proto(ceil)
float ceilf (float x)
{
return (float) ceil( (double)x );
@@ -149,6 +158,7 @@ float ceilf (float x)
#ifdef L_copysignf
+libm_hidden_proto(copysign)
float copysignf (float x, float y)
{
return (float) copysign( (double)x, (double)y );
@@ -157,6 +167,7 @@ float copysignf (float x, float y)
#ifdef L_cosf
+libm_hidden_proto(cos)
float cosf (float x)
{
return (float) cos( (double)x );
@@ -165,6 +176,7 @@ float cosf (float x)
#ifdef L_coshf
+libm_hidden_proto(cosh)
float coshf (float x)
{
return (float) cosh( (double)x );
@@ -173,6 +185,7 @@ float coshf (float x)
#ifdef L_erfcf
+libm_hidden_proto(erfc)
float erfcf (float x)
{
return (float) erfc( (double)x );
@@ -181,6 +194,7 @@ float erfcf (float x)
#ifdef L_erff
+libm_hidden_proto(erf)
float erff (float x)
{
return (float) erf( (double)x );
@@ -189,6 +203,7 @@ float erff (float x)
#ifdef L_exp2f
+libm_hidden_proto(exp2)
float exp2f (float x)
{
return (float) exp2( (double)x );
@@ -197,6 +212,7 @@ float exp2f (float x)
#ifdef L_expf
+libm_hidden_proto(exp)
float expf (float x)
{
return (float) exp( (double)x );
@@ -205,6 +221,7 @@ float expf (float x)
#ifdef L_expm1f
+libm_hidden_proto(expm1)
float expm1f (float x)
{
return (float) expm1( (double)x );
@@ -213,6 +230,7 @@ float expm1f (float x)
#ifdef L_fabsf
+libm_hidden_proto(fabs)
float fabsf (float x)
{
return (float) fabs( (double)x );
@@ -221,6 +239,7 @@ float fabsf (float x)
#ifdef L_fdimf
+libm_hidden_proto(fdim)
float fdimf (float x, float y)
{
return (float) fdim( (double)x, (double)y );
@@ -229,6 +248,7 @@ float fdimf (float x, float y)
#ifdef L_floorf
+libm_hidden_proto(floor)
float floorf (float x)
{
return (float) floor( (double)x );
@@ -237,6 +257,7 @@ float floorf (float x)
#ifdef L_fmaf
+libm_hidden_proto(fma)
float fmaf (float x, float y, float z)
{
return (float) fma( (double)x, (double)y, (double)z );
@@ -245,6 +266,7 @@ float fmaf (float x, float y, float z)
#ifdef L_fmaxf
+libm_hidden_proto(fmax)
float fmaxf (float x, float y)
{
return (float) fmax( (double)x, (double)y );
@@ -253,6 +275,7 @@ float fmaxf (float x, float y)
#ifdef L_fminf
+libm_hidden_proto(fmin)
float fminf (float x, float y)
{
return (float) fmin( (double)x, (double)y );
@@ -261,6 +284,7 @@ float fminf (float x, float y)
#ifdef L_fmodf
+libm_hidden_proto(fmod)
float fmodf (float x, float y)
{
return (float) fmod( (double)x, (double)y );
@@ -269,14 +293,16 @@ float fmodf (float x, float y)
#ifdef L_frexpf
-float frexpf (float x, int *exp)
+libm_hidden_proto(frexp)
+float frexpf (float x, int *_exp)
{
- return (float) frexp( (double)x, exp );
+ return (float) frexp( (double)x, _exp );
}
#endif
#ifdef L_hypotf
+libm_hidden_proto(hypot)
float hypotf (float x, float y)
{
return (float) hypot( (double)x, (double)y );
@@ -285,6 +311,7 @@ float hypotf (float x, float y)
#ifdef L_ilogbf
+libm_hidden_proto(ilogb)
int ilogbf (float x)
{
return (float) ilogb( (double)x );
@@ -293,14 +320,16 @@ int ilogbf (float x)
#ifdef L_ldexpf
-float ldexpf (float x, int exp)
+libm_hidden_proto(ldexp)
+float ldexpf (float x, int _exp)
{
- return (float) ldexp( (double)x, exp );
+ return (float) ldexp( (double)x, _exp );
}
#endif
#ifdef L_lgammaf
+libm_hidden_proto(lgamma)
float lgammaf (float x)
{
return (float) lgamma( (double)x );
@@ -309,6 +338,7 @@ float lgammaf (float x)
#ifdef L_llrintf
+libm_hidden_proto(llrint)
long long llrintf (float x)
{
return (float) llrint( (double)x );
@@ -317,6 +347,7 @@ long long llrintf (float x)
#ifdef L_llroundf
+libm_hidden_proto(llround)
long long llroundf (float x)
{
return (float) llround( (double)x );
@@ -325,6 +356,7 @@ long long llroundf (float x)
#ifdef L_log10f
+libm_hidden_proto(log10)
float log10f (float x)
{
return (float) log10( (double)x );
@@ -333,6 +365,7 @@ float log10f (float x)
#ifdef L_log1pf
+libm_hidden_proto(log1p)
float log1pf (float x)
{
return (float) log1p( (double)x );
@@ -341,6 +374,7 @@ float log1pf (float x)
#ifdef L_log2f
+libm_hidden_proto(log2)
float log2f (float x)
{
return (float) log2( (double)x );
@@ -349,6 +383,7 @@ float log2f (float x)
#ifdef L_logbf
+libm_hidden_proto(logb)
float logbf (float x)
{
return (float) logb( (double)x );
@@ -357,6 +392,7 @@ float logbf (float x)
#ifdef L_logf
+libm_hidden_proto(log)
float logf (float x)
{
return (float) log( (double)x );
@@ -365,6 +401,7 @@ float logf (float x)
#ifdef L_lrintf
+libm_hidden_proto(lrint)
long lrintf (float x)
{
return (float) lrint( (double)x );
@@ -373,6 +410,7 @@ long lrintf (float x)
#ifdef L_lroundf
+libm_hidden_proto(lround)
long lroundf (float x)
{
return (float) lround( (double)x );
@@ -381,6 +419,7 @@ long lroundf (float x)
#ifdef L_modff
+libm_hidden_proto(modf)
float modff (float x, float *iptr)
{
double y, result;
@@ -393,6 +432,7 @@ float modff (float x, float *iptr)
#ifdef L_nearbyintf
+libm_hidden_proto(nearbyint)
float nearbyintf (float x)
{
return (float) nearbyint( (double)x );
@@ -401,6 +441,7 @@ float nearbyintf (float x)
#ifdef L_nextafterf
+libm_hidden_proto(nextafter)
float nextafterf (float x, float y)
{
return (float) nextafter( (double)x, (double)y );
@@ -409,6 +450,7 @@ float nextafterf (float x, float y)
#ifdef L_nexttowardf
+libm_hidden_proto(nexttoward)
float nexttowardf (float x, long double y)
{
return (float) nexttoward( (double)x, (double)y );
@@ -417,6 +459,7 @@ float nexttowardf (float x, long double y)
#ifdef L_powf
+libm_hidden_proto(pow)
float powf (float x, float y)
{
return (float) pow( (double)x, (double)y );
@@ -425,6 +468,7 @@ float powf (float x, float y)
#ifdef L_remainderf
+libm_hidden_proto(remainder)
float remainderf (float x, float y)
{
return (float) remainder( (double)x, (double)y );
@@ -433,6 +477,7 @@ float remainderf (float x, float y)
#ifdef L_remquof
+libm_hidden_proto(remquo)
float remquof (float x, float y, int *quo)
{
return (float) remquo( (double)x, (double)y, quo );
@@ -441,6 +486,7 @@ float remquof (float x, float y, int *quo)
#ifdef L_rintf
+libm_hidden_proto(rint)
float rintf (float x)
{
return (float) rint( (double)x );
@@ -449,6 +495,7 @@ float rintf (float x)
#ifdef L_roundf
+libm_hidden_proto(round)
float roundf (float x)
{
return (float) round( (double)x );
@@ -457,22 +504,25 @@ float roundf (float x)
#ifdef L_scalblnf
-float scalblnf (float x, long exp)
+libm_hidden_proto(scalbln)
+float scalblnf (float x, long _exp)
{
- return (float) scalbln( (double)x, exp );
+ return (float) scalbln( (double)x, _exp );
}
#endif
#ifdef L_scalbnf
-float scalbnf (float x, int exp)
+libm_hidden_proto(scalbn)
+float scalbnf (float x, int _exp)
{
- return (float) scalbn( (double)x, exp );
+ return (float) scalbn( (double)x, _exp );
}
#endif
#ifdef L_sinf
+libm_hidden_proto(sin)
float sinf (float x)
{
return (float) sin( (double)x );
@@ -481,6 +531,7 @@ float sinf (float x)
#ifdef L_sinhf
+libm_hidden_proto(sinh)
float sinhf (float x)
{
return (float) sinh( (double)x );
@@ -489,6 +540,7 @@ float sinhf (float x)
#ifdef L_sqrtf
+libm_hidden_proto(sqrt)
float sqrtf (float x)
{
return (float) sqrt( (double)x );
@@ -497,6 +549,7 @@ float sqrtf (float x)
#ifdef L_tanf
+libm_hidden_proto(tan)
float tanf (float x)
{
return (float) tan( (double)x );
@@ -505,6 +558,7 @@ float tanf (float x)
#ifdef L_tanhf
+libm_hidden_proto(tanh)
float tanhf (float x)
{
return (float) tanh( (double)x );
@@ -513,6 +567,7 @@ float tanhf (float x)
#ifdef L_tgammaf
+libm_hidden_proto(tgamma)
float tgammaf (float x)
{
return (float) tgamma( (double)x );
@@ -521,6 +576,7 @@ float tgammaf (float x)
#ifdef L_truncf
+libm_hidden_proto(trunc)
float truncf (float x)
{
return (float) trunc( (double)x );
diff --git a/libm/fpmacros.c b/libm/fpmacros.c
index 2624054d0..0a079c016 100644
--- a/libm/fpmacros.c
+++ b/libm/fpmacros.c
@@ -40,6 +40,7 @@
Calls: none
***********************************************************************/
+libm_hidden_proto(__fpclassifyf)
int __fpclassifyf ( float x )
{
unsigned int iexp;
@@ -66,6 +67,7 @@ int __fpclassifyf ( float x )
else
return FP_SUBNORMAL; /* must be subnormal */
}
+libm_hidden_def(__fpclassifyf)
/***********************************************************************
@@ -78,6 +80,7 @@ int __fpclassifyf ( float x )
Calls: none
***********************************************************************/
+libm_hidden_proto(__fpclassify)
int __fpclassify ( double arg )
{
register unsigned int exponent;
@@ -106,6 +109,7 @@ int __fpclassify ( double arg )
return FP_SUBNORMAL;
}
}
+libm_hidden_def(__fpclassify)
/***********************************************************************
@@ -118,6 +122,7 @@ int __fpclassify ( double arg )
Calls: none
***********************************************************************/
+int __isnormalf ( float x );
int __isnormalf ( float x )
{
unsigned int iexp;
@@ -132,6 +137,7 @@ int __isnormalf ( float x )
}
+int __isnormal ( double x );
int __isnormal ( double x )
{
return ( __fpclassify ( x ) == FP_NORMAL );
@@ -158,14 +164,14 @@ int __finitef ( float x )
z.fval = x;
return ((z.lval & FEXP_MASK) != FEXP_MASK);
}
-weak_alias (__finitef, finitef)
+strong_alias(__finitef,finitef)
#if 0 /* use __finite in s_finite.c */
int __finite ( double x )
{
return ( __fpclassify ( x ) >= FP_ZERO );
}
-weak_alias (__finite, finite)
+strong_alias(__finite,finite)
#endif
@@ -178,6 +184,7 @@ weak_alias (__finite, finite)
Calls: none
***********************************************************************/
+libm_hidden_proto(__signbitf)
int __signbitf ( float x )
{
union {
@@ -188,6 +195,7 @@ int __signbitf ( float x )
z.fval = x;
return ((z.lval & SIGN_MASK) != 0);
}
+libm_hidden_def(__signbitf)
/***********************************************************************
@@ -197,6 +205,7 @@ int __signbitf ( float x )
Calls: none
***********************************************************************/
+libm_hidden_proto(__signbit)
int __signbit ( double arg )
{
union
@@ -210,6 +219,7 @@ int __signbit ( double arg )
sign = ( ( x.hex.high & dSgnMask ) == dSgnMask ) ? 1 : 0;
return sign;
}
+libm_hidden_def(__signbit)
/***********************************************************************
@@ -227,7 +237,7 @@ int __isinff ( float x )
}
return 0;
}
-weak_alias (__isinff, isinff)
+strong_alias(__isinff,isinff)
int __isinf ( double x )
{
@@ -237,7 +247,7 @@ int __isinf ( double x )
}
return 0;
}
-weak_alias (__isinf, isinf)
+strong_alias(__isinf,isinf)
#if 0
int __isinfl ( long double x )
@@ -248,7 +258,7 @@ int __isinfl ( long double x )
}
return 0;
}
-weak_alias (__isinfl, isinfl)
+strong_alias(__isinfl,isinfl)
#endif
/***********************************************************************
@@ -271,14 +281,16 @@ int __isnanf ( float x )
z.fval = x;
return (((z.lval&FEXP_MASK) == FEXP_MASK) && ((z.lval&FFRAC_MASK) != 0));
}
-weak_alias (__isnanf, isnanf)
+strong_alias(__isnanf,isnanf)
+libm_hidden_proto(__isnan)
int __isnan ( double x )
{
int class = __fpclassify(x);
return ( class == FP_NAN );
}
-weak_alias (__isnan, isnan)
+libm_hidden_def(__isnan)
+strong_alias(__isnan,isnan)
#if 0
int __isnanl ( long double x )
@@ -286,6 +298,6 @@ int __isnanl ( long double x )
int class = __fpclassify(x);
return ( class == FP_NAN );
}
-weak_alias (__isnanl, isnanl)
+strong_alias(__isnanl,isnanl)
#endif
diff --git a/libm/k_rem_pio2.c b/libm/k_rem_pio2.c
index e0347aad1..e3b9bc195 100644
--- a/libm/k_rem_pio2.c
+++ b/libm/k_rem_pio2.c
@@ -133,6 +133,9 @@ static char rcsid[] = "$NetBSD: k_rem_pio2.c,v 1.7 1995/05/10 20:46:25 jtc Exp $
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(scalbn)
+libm_hidden_proto(floor)
+
#ifdef __STDC__
static const int init_jk[] = {2,3,4,6}; /* initial value for jk */
#else
diff --git a/libm/k_standard.c b/libm/k_standard.c
index c56d5e490..11df7bb5c 100644
--- a/libm/k_standard.c
+++ b/libm/k_standard.c
@@ -14,10 +14,15 @@
static char rcsid[] = "$NetBSD: k_standard.c,v 1.6 1995/05/10 20:46:35 jtc Exp $";
#endif
-#include "math.h"
+#include <math.h>
#include "math_private.h"
#include <errno.h>
+libm_hidden_proto(copysign)
+libm_hidden_proto(matherr)
+libm_hidden_proto(rint)
+libm_hidden_proto(_LIB_VERSION)
+
#ifndef _USE_WRITE
#include <stdio.h> /* fputs(), stderr */
#define WRITE2(u,v) fputs(u, stderr)
diff --git a/libm/k_tan.c b/libm/k_tan.c
index 5698db569..2ba464421 100644
--- a/libm/k_tan.c
+++ b/libm/k_tan.c
@@ -50,6 +50,9 @@ static char rcsid[] = "$NetBSD: k_tan.c,v 1.8 1995/05/10 20:46:37 jtc Exp $";
#include "math.h"
#include "math_private.h"
+
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static const double
#else
diff --git a/libm/math_private.h b/libm/math_private.h
index c4f513fb2..30af9ede5 100644
--- a/libm/math_private.h
+++ b/libm/math_private.h
@@ -153,79 +153,43 @@ do { \
} while (0)
/* ieee style elementary functions */
-extern double __ieee754_sqrt __P((double));
-extern double __ieee754_acos __P((double));
-extern double __ieee754_acosh __P((double));
-extern double __ieee754_log __P((double));
-extern double __ieee754_atanh __P((double));
-extern double __ieee754_asin __P((double));
-extern double __ieee754_atan2 __P((double,double));
-extern double __ieee754_exp __P((double));
-extern double __ieee754_cosh __P((double));
-extern double __ieee754_fmod __P((double,double));
-extern double __ieee754_pow __P((double,double));
-extern double __ieee754_lgamma_r __P((double,int *));
-extern double __ieee754_gamma_r __P((double,int *));
-extern double __ieee754_lgamma __P((double));
-extern double __ieee754_gamma __P((double));
-extern double __ieee754_log10 __P((double));
-extern double __ieee754_sinh __P((double));
-extern double __ieee754_hypot __P((double,double));
-extern double __ieee754_j0 __P((double));
-extern double __ieee754_j1 __P((double));
-extern double __ieee754_y0 __P((double));
-extern double __ieee754_y1 __P((double));
-extern double __ieee754_jn __P((int,double));
-extern double __ieee754_yn __P((int,double));
-extern double __ieee754_remainder __P((double,double));
-extern int __ieee754_rem_pio2 __P((double,double*));
+extern double __ieee754_sqrt (double) attribute_hidden;
+extern double __ieee754_acos (double) attribute_hidden;
+extern double __ieee754_acosh (double) attribute_hidden;
+extern double __ieee754_log (double) attribute_hidden;
+extern double __ieee754_atanh (double) attribute_hidden;
+extern double __ieee754_asin (double) attribute_hidden;
+extern double __ieee754_atan2 (double,double) attribute_hidden;
+extern double __ieee754_exp (double) attribute_hidden;
+extern double __ieee754_cosh (double) attribute_hidden;
+extern double __ieee754_fmod (double,double) attribute_hidden;
+extern double __ieee754_pow (double,double) attribute_hidden;
+extern double __ieee754_lgamma_r (double,int *) attribute_hidden;
+extern double __ieee754_gamma_r (double,int *) attribute_hidden;
+extern double __ieee754_lgamma (double) attribute_hidden;
+extern double __ieee754_gamma (double) attribute_hidden;
+extern double __ieee754_log10 (double) attribute_hidden;
+extern double __ieee754_sinh (double) attribute_hidden;
+extern double __ieee754_hypot (double,double) attribute_hidden;
+extern double __ieee754_j0 (double) attribute_hidden;
+extern double __ieee754_j1 (double) attribute_hidden;
+extern double __ieee754_y0 (double) attribute_hidden;
+extern double __ieee754_y1 (double) attribute_hidden;
+extern double __ieee754_jn (int,double) attribute_hidden;
+extern double __ieee754_yn (int,double) attribute_hidden;
+extern double __ieee754_remainder (double,double) attribute_hidden;
+extern int __ieee754_rem_pio2 (double,double*) attribute_hidden;
#if defined(_SCALB_INT)
-extern double __ieee754_scalb __P((double,int));
+extern double __ieee754_scalb (double,int) attribute_hidden;
#else
-extern double __ieee754_scalb __P((double,double));
+extern double __ieee754_scalb (double,double) attribute_hidden;
#endif
/* fdlibm kernel function */
-extern double __kernel_standard __P((double,double,int)) attribute_hidden;
-extern double __kernel_sin __P((double,double,int)) attribute_hidden;
-extern double __kernel_cos __P((double,double)) attribute_hidden;
-extern double __kernel_tan __P((double,double,int)) attribute_hidden;
-extern int __kernel_rem_pio2 __P((double*,double*,int,int,int,const int*)) attribute_hidden;
-
-
-/* ieee style elementary float functions */
-extern float __ieee754_sqrtf __P((float));
-extern float __ieee754_acosf __P((float));
-extern float __ieee754_acoshf __P((float));
-extern float __ieee754_logf __P((float));
-extern float __ieee754_atanhf __P((float));
-extern float __ieee754_asinf __P((float));
-extern float __ieee754_atan2f __P((float,float));
-extern float __ieee754_expf __P((float));
-extern float __ieee754_coshf __P((float));
-extern float __ieee754_fmodf __P((float,float));
-extern float __ieee754_powf __P((float,float));
-extern float __ieee754_lgammaf_r __P((float,int *));
-extern float __ieee754_gammaf_r __P((float,int *));
-extern float __ieee754_lgammaf __P((float));
-extern float __ieee754_gammaf __P((float));
-extern float __ieee754_log10f __P((float));
-extern float __ieee754_sinhf __P((float));
-extern float __ieee754_hypotf __P((float,float));
-extern float __ieee754_j0f __P((float));
-extern float __ieee754_j1f __P((float));
-extern float __ieee754_y0f __P((float));
-extern float __ieee754_y1f __P((float));
-extern float __ieee754_jnf __P((int,float));
-extern float __ieee754_ynf __P((int,float));
-extern float __ieee754_remainderf __P((float,float));
-extern int __ieee754_rem_pio2f __P((float,float*));
-extern float __ieee754_scalbf __P((float,float));
-
-/* float versions of fdlibm kernel functions */
-extern float __kernel_sinf __P((float,float,int));
-extern float __kernel_cosf __P((float,float));
-extern float __kernel_tanf __P((float,float,int));
-extern int __kernel_rem_pio2f __P((float*,float*,int,int,int,const int*));
+extern double __kernel_standard (double,double,int) attribute_hidden;
+extern double __kernel_sin (double,double,int) attribute_hidden;
+extern double __kernel_cos (double,double) attribute_hidden;
+extern double __kernel_tan (double,double,int) attribute_hidden;
+extern int __kernel_rem_pio2 (double*,double*,int,int,int,const int*) attribute_hidden;
#endif /* _MATH_PRIVATE_H_ */
diff --git a/libm/powerpc/Makefile.arch b/libm/powerpc/Makefile.arch
index 7eb68bb59..7c7600f80 100644
--- a/libm/powerpc/Makefile.arch
+++ b/libm/powerpc/Makefile.arch
@@ -1,28 +1,18 @@
# Makefile for uClibc
#
-# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+# Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
#
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-libm_ARCH_DIR:=$(top_srcdir)libm/powerpc
-libm_ARCH_OUT:=$(top_builddir)libm/powerpc
-
libm_ARCH_SRC:=$(wildcard $(libm_ARCH_DIR)/*.c)
libm_ARCH_OBJ:=$(patsubst $(libm_ARCH_DIR)/%.c,$(libm_ARCH_OUT)/%.o,$(libm_ARCH_SRC))
libm_ARCH_OBJS:=$(libm_ARCH_OBJ)
ifeq ($(DOPIC),y)
-libm-a-$(DO_C99_MATH)+=$(libm_ARCH_OBJS:.o=.os)
+libm-a-y+=$(libm_ARCH_OBJS:.o=.os)
else
-libm-a-$(DO_C99_MATH)+=$(libm_ARCH_OBJS)
+libm-a-y+=$(libm_ARCH_OBJS)
endif
-libm-so-$(DO_C99_MATH)+=$(libm_ARCH_OBJS:.o=.os)
-
-libm-multi-$(DO_C99_MATH)+=$(libm_ARCH_SRC)
-
-objclean-y+=libm_arch_objclean
-
-libm_arch_objclean:
- $(RM) $(libm_ARCH_OUT)/*.{o,os}
+libm-so-y+=$(libm_ARCH_OBJS:.o=.os)
diff --git a/libm/powerpc/s_ceil.c b/libm/powerpc/s_ceil.c
index f6680eedf..8db5ce537 100644
--- a/libm/powerpc/s_ceil.c
+++ b/libm/powerpc/s_ceil.c
@@ -21,6 +21,7 @@
* *
*******************************************************************************/
+#include <math.h>
#include <endian.h>
static const double twoTo52 = 4503599627370496.0;
@@ -48,6 +49,7 @@ typedef union
* Ceil(x) returns the smallest integer not less than x. *
*******************************************************************************/
+libm_hidden_proto(ceil)
double ceil ( double x )
{
DblInHex xInHex,OldEnvironment;
@@ -108,4 +110,4 @@ double ceil ( double x )
*******************************************************************************/
return ( x );
}
-
+libm_hidden_def(ceil)
diff --git a/libm/powerpc/s_copysign.c b/libm/powerpc/s_copysign.c
index d3fb5f40b..1a988ac87 100644
--- a/libm/powerpc/s_copysign.c
+++ b/libm/powerpc/s_copysign.c
@@ -22,6 +22,7 @@
* *
*******************************************************************************/
+#include <math.h>
#include "../fp_private.h"
/*******************************************************************************
@@ -34,6 +35,7 @@
* suggested in the IEEE standard 754. *
*******************************************************************************/
+libm_hidden_proto(copysign)
double copysign ( double arg2, double arg1 )
{
union
@@ -54,3 +56,4 @@ double copysign ( double arg2, double arg1 )
return y.dbl;
}
+libm_hidden_def(copysign)
diff --git a/libm/powerpc/s_floor.c b/libm/powerpc/s_floor.c
index 0ddbb9b66..ff3436707 100644
--- a/libm/powerpc/s_floor.c
+++ b/libm/powerpc/s_floor.c
@@ -21,6 +21,7 @@
* *
*******************************************************************************/
+#include <math.h>
#include <endian.h>
static const double twoTo52 = 4503599627370496.0;
@@ -48,6 +49,7 @@ typedef union
* Floor(x) returns the largest integer not greater than x. *
*******************************************************************************/
+libm_hidden_proto(floor)
double floor ( double x )
{
DblInHex xInHex,OldEnvironment;
@@ -108,4 +110,4 @@ double floor ( double x )
*******************************************************************************/
return ( x );
}
-
+libm_hidden_def(floor)
diff --git a/libm/powerpc/s_frexp.c b/libm/powerpc/s_frexp.c
index 7c998f81a..001aaf708 100644
--- a/libm/powerpc/s_frexp.c
+++ b/libm/powerpc/s_frexp.c
@@ -39,6 +39,7 @@ typedef union
double dbl;
} DblInHex;
+libm_hidden_proto(frexp)
double frexp ( double value, int *eptr )
{
DblInHex argument;
@@ -61,4 +62,4 @@ double frexp ( double value, int *eptr )
argument.words.hi = ( argument.words.hi & 0x800fffff ) | 0x3fe00000;
return argument.dbl;
}
-
+libm_hidden_def(frexp)
diff --git a/libm/powerpc/s_ldexp.c b/libm/powerpc/s_ldexp.c
index 7e52352ae..10100d7c2 100644
--- a/libm/powerpc/s_ldexp.c
+++ b/libm/powerpc/s_ldexp.c
@@ -37,6 +37,7 @@ typedef union
double dbl;
} DblInHex;
+libm_hidden_proto(ldexp)
double ldexp ( double value, int exp )
{
if ( exp > SHRT_MAX )
@@ -45,4 +46,4 @@ double ldexp ( double value, int exp )
exp = -SHRT_MAX;
return scalb ( value, exp );
}
-
+libm_hidden_def(ldexp)
diff --git a/libm/powerpc/s_logb.c b/libm/powerpc/s_logb.c
index 3caecd95f..81daa412e 100644
--- a/libm/powerpc/s_logb.c
+++ b/libm/powerpc/s_logb.c
@@ -32,6 +32,7 @@
* Standard 754. *
*******************************************************************************/
+#include <math.h>
#include <endian.h>
typedef union
@@ -60,6 +61,7 @@ static const DblInHex minusInf = {{ 0xFFF00000, 0x00000000 }};
********************************************************************************
*******************************************************************************/
+libm_hidden_proto(logb)
double logb ( double x )
{
DblInHex xInHex;
@@ -102,4 +104,4 @@ double logb ( double x )
return ( xInHex.dbl - klTod );
}
}
-
+libm_hidden_def(logb)
diff --git a/libm/powerpc/s_modf.c b/libm/powerpc/s_modf.c
index cb8338a90..b9d69445d 100644
--- a/libm/powerpc/s_modf.c
+++ b/libm/powerpc/s_modf.c
@@ -280,6 +280,7 @@ long int roundtol ( double x )
* modf is the double implementation. *
*******************************************************************************/
+libm_hidden_proto(modf)
double modf ( double x, double *iptr )
{
register double OldEnvironment, xtrunc;
@@ -340,3 +341,4 @@ double modf ( double x, double *iptr )
return ( argument.dbl );
}
}
+libm_hidden_def(modf)
diff --git a/libm/powerpc/s_nearbyint.c b/libm/powerpc/s_nearbyint.c
index f2d7ded35..068e21378 100644
--- a/libm/powerpc/s_nearbyint.c
+++ b/libm/powerpc/s_nearbyint.c
@@ -15,6 +15,7 @@
static const double twoTo52 = 4503599627370496.0;
+libm_hidden_proto(nearbyint)
double nearbyint ( double x )
{
double y;
@@ -34,3 +35,4 @@ double nearbyint ( double x )
asm ("mtfsf 255,%0" : /*NULLOUT*/ : /*IN*/ "f" ( OldEnvironment ));
return ( y );
}
+libm_hidden_def(nearbyint)
diff --git a/libm/powerpc/s_rint.c b/libm/powerpc/s_rint.c
index c229515c4..dd2ae585e 100644
--- a/libm/powerpc/s_rint.c
+++ b/libm/powerpc/s_rint.c
@@ -70,6 +70,7 @@ static const double doubleToLong = 4503603922337792.0; // 2^52
static const DblInHex Huge = {{ 0x7FF00000, 0x00000000 }};
static const DblInHex TOWARDZERO = {{ 0x00000000, 0x00000001 }};
+libm_hidden_proto(rint)
/*******************************************************************************
* *
* The function rint rounds its double argument to integral value *
@@ -155,4 +156,4 @@ double rint ( double x )
*******************************************************************************/
return ( x );
}
-
+libm_hidden_def(rint)
diff --git a/libm/powerpc/s_round.c b/libm/powerpc/s_round.c
index a0f72ebe3..62d5936d9 100644
--- a/libm/powerpc/s_round.c
+++ b/libm/powerpc/s_round.c
@@ -29,6 +29,7 @@ static const double twoTo52 = 4503599627370496.0;
* *
*******************************************************************************/
+libm_hidden_proto(round)
double round ( double x )
{
DblInHex argument, OldEnvironment;
@@ -111,3 +112,4 @@ double round ( double x )
*******************************************************************************/
return ( x );
}
+libm_hidden_def(round)
diff --git a/libm/powerpc/s_trunc.c b/libm/powerpc/s_trunc.c
index 7db7606b6..f793992a7 100644
--- a/libm/powerpc/s_trunc.c
+++ b/libm/powerpc/s_trunc.c
@@ -27,6 +27,7 @@ static const double twoTo52 = 4503599627370496.0;
* *
*******************************************************************************/
+libm_hidden_proto(trunc)
double trunc ( double x )
{
DblInHex argument,OldEnvironment;
@@ -85,3 +86,4 @@ double trunc ( double x )
*******************************************************************************/
return ( x );
}
+libm_hidden_def(trunc)
diff --git a/libm/powerpc/w_scalb.c b/libm/powerpc/w_scalb.c
index fe23ece53..408136001 100644
--- a/libm/powerpc/w_scalb.c
+++ b/libm/powerpc/w_scalb.c
@@ -19,6 +19,7 @@
**
***********************************************************************/
+#include <math.h>
#include <endian.h>
typedef union
@@ -50,7 +51,12 @@ static const double twoToM1022 = 2.225073858507201383e-308; // 0x1p-1022
Calls: none.
***********************************************************************/
+libm_hidden_proto(scalb)
+#ifdef _SCALB_INT
double scalb ( double x, int n )
+#else
+double scalb ( double x, double n )
+#endif
{
DblInHex xInHex;
@@ -85,3 +91,4 @@ double scalb ( double x, int n )
xInHex.words.hi = ( ( unsigned long ) ( n + 1023 ) ) << 20;
return ( x * xInHex.dbl );
}
+libm_hidden_def(scalb)
diff --git a/libm/s_asinh.c b/libm/s_asinh.c
index e9e3b9302..9e9a05660 100644
--- a/libm/s_asinh.c
+++ b/libm/s_asinh.c
@@ -28,6 +28,9 @@ static char rcsid[] = "$NetBSD: s_asinh.c,v 1.9 1995/05/12 04:57:37 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(log1p)
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static const double
#else
@@ -37,6 +40,7 @@ one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */
huge= 1.00000000000000000000e+300;
+libm_hidden_proto(asinh)
#ifdef __STDC__
double asinh(double x)
#else
@@ -63,3 +67,4 @@ huge= 1.00000000000000000000e+300;
}
if(hx>0) return w; else return -w;
}
+libm_hidden_def(asinh)
diff --git a/libm/s_atan.c b/libm/s_atan.c
index 53e48e45f..9c8035569 100644
--- a/libm/s_atan.c
+++ b/libm/s_atan.c
@@ -37,6 +37,8 @@ static char rcsid[] = "$NetBSD: s_atan.c,v 1.8 1995/05/10 20:46:45 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static const double atanhi[] = {
#else
@@ -77,6 +79,7 @@ static double aT[] = {
1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */
};
+libm_hidden_proto(atan)
#ifdef __STDC__
static const double
#else
@@ -137,3 +140,4 @@ huge = 1.0e300;
return (hx<0)? -z:z;
}
}
+libm_hidden_def(atan)
diff --git a/libm/s_cbrt.c b/libm/s_cbrt.c
index cf75dcfc6..f4635874c 100644
--- a/libm/s_cbrt.c
+++ b/libm/s_cbrt.c
@@ -39,6 +39,7 @@ E = 1.41428571428571436819e+00, /* 99/70 = 0x3FF6A0EA, 0x0EA0EA0F */
F = 1.60714285714285720630e+00, /* 45/28 = 0x3FF9B6DB, 0x6DB6DB6E */
G = 3.57142857142857150787e-01; /* 5/14 = 0x3FD6DB6D, 0xB6DB6DB7 */
+libm_hidden_proto(cbrt)
#ifdef __STDC__
double cbrt(double x)
#else
@@ -91,3 +92,4 @@ G = 3.57142857142857150787e-01; /* 5/14 = 0x3FD6DB6D, 0xB6DB6DB7 */
SET_HIGH_WORD(t,high|sign);
return(t);
}
+libm_hidden_def(cbrt)
diff --git a/libm/s_ceil.c b/libm/s_ceil.c
index c888e5190..46839410e 100644
--- a/libm/s_ceil.c
+++ b/libm/s_ceil.c
@@ -32,6 +32,7 @@ static const double huge = 1.0e300;
static double huge = 1.0e300;
#endif
+libm_hidden_proto(ceil)
#ifdef __STDC__
double ceil(double x)
#else
@@ -78,4 +79,4 @@ static double huge = 1.0e300;
INSERT_WORDS(x,i0,i1);
return x;
}
-
+libm_hidden_def(ceil)
diff --git a/libm/s_copysign.c b/libm/s_copysign.c
index e276f733d..145a26cc1 100644
--- a/libm/s_copysign.c
+++ b/libm/s_copysign.c
@@ -23,6 +23,7 @@ static char rcsid[] = "$NetBSD: s_copysign.c,v 1.8 1995/05/10 20:46:57 jtc Exp $
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(copysign)
#ifdef __STDC__
double copysign(double x, double y)
#else
@@ -36,4 +37,4 @@ static char rcsid[] = "$NetBSD: s_copysign.c,v 1.8 1995/05/10 20:46:57 jtc Exp $
SET_HIGH_WORD(x,(hx&0x7fffffff)|(hy&0x80000000));
return x;
}
-
+libm_hidden_def(copysign)
diff --git a/libm/s_cos.c b/libm/s_cos.c
index d458b746e..f05a8a53b 100644
--- a/libm/s_cos.c
+++ b/libm/s_cos.c
@@ -48,6 +48,7 @@ static char rcsid[] = "$NetBSD: s_cos.c,v 1.7 1995/05/10 20:47:02 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(cos)
#ifdef __STDC__
double cos(double x)
#else
@@ -80,3 +81,4 @@ static char rcsid[] = "$NetBSD: s_cos.c,v 1.7 1995/05/10 20:47:02 jtc Exp $";
}
}
}
+libm_hidden_def(cos)
diff --git a/libm/s_erf.c b/libm/s_erf.c
index 44568abb2..0d24e2174 100644
--- a/libm/s_erf.c
+++ b/libm/s_erf.c
@@ -112,6 +112,8 @@ static char rcsid[] = "$NetBSD: s_erf.c,v 1.8 1995/05/10 20:47:05 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static const double
#else
@@ -191,6 +193,7 @@ sb5 = 2.55305040643316442583e+03, /* 0x40A3F219, 0xCEDF3BE6 */
sb6 = 4.74528541206955367215e+02, /* 0x407DA874, 0xE79FE763 */
sb7 = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */
+libm_hidden_proto(erf)
#ifdef __STDC__
double erf(double x)
#else
@@ -246,7 +249,9 @@ sb7 = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */
r = __ieee754_exp(-z*z-0.5625)*__ieee754_exp((z-x)*(z+x)+R/S);
if(hx>=0) return one-r/x; else return r/x-one;
}
+libm_hidden_def(erf)
+libm_hidden_proto(erfc)
#ifdef __STDC__
double erfc(double x)
#else
@@ -312,3 +317,4 @@ sb7 = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */
if(hx>0) return tiny*tiny; else return two-tiny;
}
}
+libm_hidden_def(erfc)
diff --git a/libm/s_expm1.c b/libm/s_expm1.c
index aee70835b..2adeead0b 100644
--- a/libm/s_expm1.c
+++ b/libm/s_expm1.c
@@ -131,6 +131,7 @@ Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */
Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */
Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */
+libm_hidden_proto(expm1)
#ifdef __STDC__
double expm1(double x)
#else
@@ -227,3 +228,4 @@ Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */
}
return y;
}
+libm_hidden_def(expm1)
diff --git a/libm/s_fabs.c b/libm/s_fabs.c
index b9aacc282..c1538ca9e 100644
--- a/libm/s_fabs.c
+++ b/libm/s_fabs.c
@@ -21,6 +21,7 @@ static char rcsid[] = "$NetBSD: s_fabs.c,v 1.7 1995/05/10 20:47:13 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(fabs)
#ifdef __STDC__
double fabs(double x)
#else
@@ -33,3 +34,4 @@ static char rcsid[] = "$NetBSD: s_fabs.c,v 1.7 1995/05/10 20:47:13 jtc Exp $";
SET_HIGH_WORD(x,high&0x7fffffff);
return x;
}
+libm_hidden_def(fabs)
diff --git a/libm/s_finite.c b/libm/s_finite.c
index a3385bcde..70b9aadc4 100644
--- a/libm/s_finite.c
+++ b/libm/s_finite.c
@@ -33,4 +33,6 @@ static char rcsid[] = "$NetBSD: s_finite.c,v 1.8 1995/05/10 20:47:17 jtc Exp $";
GET_HIGH_WORD(hx,x);
return (int)((u_int32_t)((hx&0x7fffffff)-0x7ff00000)>>31);
}
-weak_alias(__finite,finite)
+libm_hidden_proto(finite)
+strong_alias(__finite,finite)
+libm_hidden_def(finite)
diff --git a/libm/s_floor.c b/libm/s_floor.c
index d7e5307e0..39b24c05b 100644
--- a/libm/s_floor.c
+++ b/libm/s_floor.c
@@ -32,6 +32,7 @@ static const double huge = 1.0e300;
static double huge = 1.0e300;
#endif
+libm_hidden_proto(floor)
#ifdef __STDC__
double floor(double x)
#else
@@ -79,3 +80,4 @@ static double huge = 1.0e300;
INSERT_WORDS(x,i0,i1);
return x;
}
+libm_hidden_def(floor)
diff --git a/libm/s_frexp.c b/libm/s_frexp.c
index 3feeffcfb..ed5e31395 100644
--- a/libm/s_frexp.c
+++ b/libm/s_frexp.c
@@ -34,6 +34,7 @@ static double
#endif
two54 = 1.80143985094819840000e+16; /* 0x43500000, 0x00000000 */
+libm_hidden_proto(frexp)
#ifdef __STDC__
double frexp(double x, int *eptr)
#else
@@ -57,3 +58,4 @@ two54 = 1.80143985094819840000e+16; /* 0x43500000, 0x00000000 */
SET_HIGH_WORD(x,hx);
return x;
}
+libm_hidden_def(frexp)
diff --git a/libm/s_ilogb.c b/libm/s_ilogb.c
index 3a6e964e8..db7c8553e 100644
--- a/libm/s_ilogb.c
+++ b/libm/s_ilogb.c
@@ -23,6 +23,7 @@ static char rcsid[] = "$NetBSD: s_ilogb.c,v 1.9 1995/05/10 20:47:28 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(ilogb)
#ifdef __STDC__
int ilogb(double x)
#else
@@ -49,3 +50,4 @@ static char rcsid[] = "$NetBSD: s_ilogb.c,v 1.9 1995/05/10 20:47:28 jtc Exp $";
else if (hx<0x7ff00000) return (hx>>20)-1023;
else return 0x7fffffff;
}
+libm_hidden_def(ilogb)
diff --git a/libm/s_ldexp.c b/libm/s_ldexp.c
index bd3c90bac..ffc268b52 100644
--- a/libm/s_ldexp.c
+++ b/libm/s_ldexp.c
@@ -18,6 +18,10 @@ static char rcsid[] = "$NetBSD: s_ldexp.c,v 1.6 1995/05/10 20:47:40 jtc Exp $";
#include "math_private.h"
#include <errno.h>
+libm_hidden_proto(scalbn)
+libm_hidden_proto(finite)
+
+libm_hidden_proto(ldexp)
#ifdef __STDC__
double ldexp(double value, int exp)
#else
@@ -30,3 +34,4 @@ static char rcsid[] = "$NetBSD: s_ldexp.c,v 1.6 1995/05/10 20:47:40 jtc Exp $";
if(!finite(value)||value==0.0) errno = ERANGE;
return value;
}
+libm_hidden_def(ldexp)
diff --git a/libm/s_lib_version.c b/libm/s_lib_version.c
index fde8e3bf6..4028dfd6f 100644
--- a/libm/s_lib_version.c
+++ b/libm/s_lib_version.c
@@ -24,6 +24,7 @@ static char rcsid[] = "$NetBSD: s_lib_version.c,v 1.6 1995/05/10 20:47:44 jtc Ex
/*
* define and initialize _LIB_VERSION
*/
+libm_hidden_proto(_LIB_VERSION)
#ifdef _POSIX_MODE
_LIB_VERSION_TYPE _LIB_VERSION = _POSIX_;
#else
@@ -37,3 +38,4 @@ _LIB_VERSION_TYPE _LIB_VERSION = _IEEE_;
#endif
#endif
#endif
+libm_hidden_data_def(_LIB_VERSION)
diff --git a/libm/s_llround.c b/libm/s_llround.c
index a07238896..1db0c2836 100644
--- a/libm/s_llround.c
+++ b/libm/s_llround.c
@@ -22,7 +22,7 @@
#include "math_private.h"
-
+libm_hidden_proto(llround)
long long int
llround (double x)
{
@@ -73,3 +73,4 @@ llround (double x)
return sign * result;
}
+libm_hidden_def(llround)
diff --git a/libm/s_log1p.c b/libm/s_log1p.c
index d6f5523e8..7acf6289b 100644
--- a/libm/s_log1p.c
+++ b/libm/s_log1p.c
@@ -104,6 +104,7 @@ static const double zero = 0.0;
static double zero = 0.0;
#endif
+libm_hidden_proto(log1p)
#ifdef __STDC__
double log1p(double x)
#else
@@ -172,3 +173,4 @@ static double zero = 0.0;
if(k==0) return f-(hfsq-s*(hfsq+R)); else
return k*ln2_hi-((hfsq-(s*(hfsq+R)+(k*ln2_lo+c)))-f);
}
+libm_hidden_def(log1p)
diff --git a/libm/s_logb.c b/libm/s_logb.c
index 85b539886..ff47ab476 100644
--- a/libm/s_logb.c
+++ b/libm/s_logb.c
@@ -23,6 +23,9 @@ static char rcsid[] = "$NetBSD: s_logb.c,v 1.8 1995/05/10 20:47:50 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(fabs)
+
+libm_hidden_proto(logb)
#ifdef __STDC__
double logb(double x)
#else
@@ -40,3 +43,4 @@ static char rcsid[] = "$NetBSD: s_logb.c,v 1.8 1995/05/10 20:47:50 jtc Exp $";
else
return (double) (ix-1023);
}
+libm_hidden_def(logb)
diff --git a/libm/s_lround.c b/libm/s_lround.c
index 5b1d5467e..604004f7f 100644
--- a/libm/s_lround.c
+++ b/libm/s_lround.c
@@ -22,7 +22,7 @@
#include "math_private.h"
-
+libm_hidden_proto(lround)
long int
lround (double x)
{
@@ -73,3 +73,4 @@ lround (double x)
return sign * result;
}
+libm_hidden_def(lround)
diff --git a/libm/s_matherr.c b/libm/s_matherr.c
index b76c51407..8c19f43bb 100644
--- a/libm/s_matherr.c
+++ b/libm/s_matherr.c
@@ -17,6 +17,7 @@ static char rcsid[] = "$NetBSD: s_matherr.c,v 1.6 1995/05/10 20:47:53 jtc Exp $"
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(matherr)
#ifdef __STDC__
int matherr(struct exception *x)
#else
@@ -28,3 +29,4 @@ static char rcsid[] = "$NetBSD: s_matherr.c,v 1.6 1995/05/10 20:47:53 jtc Exp $"
if(x->arg1!=x->arg1) return 0;
return n;
}
+libm_hidden_def(matherr)
diff --git a/libm/s_modf.c b/libm/s_modf.c
index d5737c44a..0cf0e8356 100644
--- a/libm/s_modf.c
+++ b/libm/s_modf.c
@@ -33,6 +33,7 @@ static const double one = 1.0;
static double one = 1.0;
#endif
+libm_hidden_proto(modf)
#ifdef __STDC__
double modf(double x, double *iptr)
#else
@@ -81,3 +82,4 @@ static double one = 1.0;
}
}
}
+libm_hidden_def(modf)
diff --git a/libm/s_nextafter.c b/libm/s_nextafter.c
index a1369ced0..bdc6f3a61 100644
--- a/libm/s_nextafter.c
+++ b/libm/s_nextafter.c
@@ -24,6 +24,7 @@ static char rcsid[] = "$NetBSD: s_nextafter.c,v 1.8 1995/05/10 20:47:58 jtc Exp
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(nextafter)
#ifdef __STDC__
double nextafter(double x, double y)
#else
@@ -77,3 +78,4 @@ static char rcsid[] = "$NetBSD: s_nextafter.c,v 1.8 1995/05/10 20:47:58 jtc Exp
INSERT_WORDS(x,hx,lx);
return x;
}
+libm_hidden_def(nextafter)
diff --git a/libm/s_rint.c b/libm/s_rint.c
index 7cff5e498..ce42aa99d 100644
--- a/libm/s_rint.c
+++ b/libm/s_rint.c
@@ -37,6 +37,7 @@ TWO52[2]={
-4.50359962737049600000e+15, /* 0xC3300000, 0x00000000 */
};
+libm_hidden_proto(rint)
#ifdef __STDC__
double rint(double x)
#else
@@ -84,3 +85,4 @@ TWO52[2]={
w = TWO52[sx]+x;
return w-TWO52[sx];
}
+libm_hidden_def(rint)
diff --git a/libm/s_round.c b/libm/s_round.c
index b2d009520..03089482b 100644
--- a/libm/s_round.c
+++ b/libm/s_round.c
@@ -25,7 +25,7 @@
static const double huge = 1.0e300;
-
+libm_hidden_proto(round)
double
round (double x)
{
@@ -90,3 +90,4 @@ round (double x)
INSERT_WORDS (x, i0, i1);
return x;
}
+libm_hidden_def(round)
diff --git a/libm/s_scalbn.c b/libm/s_scalbn.c
index 9bb054ac4..6a7452485 100644
--- a/libm/s_scalbn.c
+++ b/libm/s_scalbn.c
@@ -24,6 +24,8 @@ static char rcsid[] = "$NetBSD: s_scalbn.c,v 1.8 1995/05/10 20:48:08 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(copysign)
+
#ifdef __STDC__
static const double
#else
@@ -34,6 +36,7 @@ twom54 = 5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */
huge = 1.0e+300,
tiny = 1.0e-300;
+libm_hidden_proto(scalbn)
#ifdef __STDC__
double scalbn (double x, int n)
#else
@@ -65,3 +68,4 @@ tiny = 1.0e-300;
SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20));
return x*twom54;
}
+libm_hidden_def(scalbn)
diff --git a/libm/s_signgam.c b/libm/s_signgam.c
index d67d5918e..13d2a1c34 100644
--- a/libm/s_signgam.c
+++ b/libm/s_signgam.c
@@ -1,3 +1,5 @@
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(signgam)
int signgam = 0;
+libm_hidden_def(signgam)
diff --git a/libm/s_significand.c b/libm/s_significand.c
index 9aa5476b9..e47618cfc 100644
--- a/libm/s_significand.c
+++ b/libm/s_significand.c
@@ -23,6 +23,8 @@ static char rcsid[] = "$NetBSD: s_significand.c,v 1.6 1995/05/10 20:48:11 jtc Ex
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(ilogb)
+
#ifdef __STDC__
double significand(double x)
#else
diff --git a/libm/s_sin.c b/libm/s_sin.c
index bcdb7e4e4..ef9a36d7d 100644
--- a/libm/s_sin.c
+++ b/libm/s_sin.c
@@ -48,6 +48,7 @@ static char rcsid[] = "$NetBSD: s_sin.c,v 1.7 1995/05/10 20:48:15 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(sin)
#ifdef __STDC__
double sin(double x)
#else
@@ -80,3 +81,4 @@ static char rcsid[] = "$NetBSD: s_sin.c,v 1.7 1995/05/10 20:48:15 jtc Exp $";
}
}
}
+libm_hidden_def(sin)
diff --git a/libm/s_tan.c b/libm/s_tan.c
index eca0f6cd5..bab343c73 100644
--- a/libm/s_tan.c
+++ b/libm/s_tan.c
@@ -47,6 +47,7 @@ static char rcsid[] = "$NetBSD: s_tan.c,v 1.7 1995/05/10 20:48:18 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(tan)
#ifdef __STDC__
double tan(double x)
#else
@@ -74,3 +75,4 @@ static char rcsid[] = "$NetBSD: s_tan.c,v 1.7 1995/05/10 20:48:18 jtc Exp $";
-1 -- n odd */
}
}
+libm_hidden_def(tan)
diff --git a/libm/s_tanh.c b/libm/s_tanh.c
index 6276e8971..ecabbef98 100644
--- a/libm/s_tanh.c
+++ b/libm/s_tanh.c
@@ -41,12 +41,16 @@ static char rcsid[] = "$NetBSD: s_tanh.c,v 1.7 1995/05/10 20:48:22 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(expm1)
+libm_hidden_proto(fabs)
+
#ifdef __STDC__
static const double one=1.0, two=2.0, tiny = 1.0e-300;
#else
static double one=1.0, two=2.0, tiny = 1.0e-300;
#endif
+libm_hidden_proto(tanh)
#ifdef __STDC__
double tanh(double x)
#else
@@ -84,3 +88,4 @@ static double one=1.0, two=2.0, tiny = 1.0e-300;
}
return (jx>=0)? z: -z;
}
+libm_hidden_def(tanh)
diff --git a/libm/w_acos.c b/libm/w_acos.c
index 69d6732d2..ea00cf010 100644
--- a/libm/w_acos.c
+++ b/libm/w_acos.c
@@ -21,7 +21,7 @@ static char rcsid[] = "$NetBSD: w_acos.c,v 1.6 1995/05/10 20:48:26 jtc Exp $";
#include "math.h"
#include "math_private.h"
-
+libm_hidden_proto(acos)
#ifdef __STDC__
double acos(double x) /* wrapper acos */
#else
@@ -41,3 +41,4 @@ static char rcsid[] = "$NetBSD: w_acos.c,v 1.6 1995/05/10 20:48:26 jtc Exp $";
return z;
#endif
}
+libm_hidden_def(acos)
diff --git a/libm/w_acosh.c b/libm/w_acosh.c
index e332e3b2f..e0efb8a63 100644
--- a/libm/w_acosh.c
+++ b/libm/w_acosh.c
@@ -21,6 +21,7 @@ static char rcsid[] = "$NetBSD: w_acosh.c,v 1.6 1995/05/10 20:48:31 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(acosh)
#ifdef __STDC__
double acosh(double x) /* wrapper acosh */
#else
@@ -40,3 +41,4 @@ static char rcsid[] = "$NetBSD: w_acosh.c,v 1.6 1995/05/10 20:48:31 jtc Exp $";
return z;
#endif
}
+libm_hidden_def(acosh)
diff --git a/libm/w_asin.c b/libm/w_asin.c
index 1c663333c..ad156ef05 100644
--- a/libm/w_asin.c
+++ b/libm/w_asin.c
@@ -23,6 +23,7 @@ static char rcsid[] = "$NetBSD: w_asin.c,v 1.6 1995/05/10 20:48:35 jtc Exp $";
#include "math_private.h"
+libm_hidden_proto(asin)
#ifdef __STDC__
double asin(double x) /* wrapper asin */
#else
@@ -42,3 +43,4 @@ static char rcsid[] = "$NetBSD: w_asin.c,v 1.6 1995/05/10 20:48:35 jtc Exp $";
return z;
#endif
}
+libm_hidden_def(asin)
diff --git a/libm/w_atan2.c b/libm/w_atan2.c
index cd6b57b54..c2da4681c 100644
--- a/libm/w_atan2.c
+++ b/libm/w_atan2.c
@@ -20,7 +20,7 @@ static char rcsid[] = "$NetBSD: w_atan2.c,v 1.6 1995/05/10 20:48:39 jtc Exp $";
#include "math.h"
#include "math_private.h"
-
+libm_hidden_proto(atan2)
#ifdef __STDC__
double atan2(double y, double x) /* wrapper atan2 */
#else
@@ -40,3 +40,4 @@ static char rcsid[] = "$NetBSD: w_atan2.c,v 1.6 1995/05/10 20:48:39 jtc Exp $";
return z;
#endif
}
+libm_hidden_def(atan2)
diff --git a/libm/w_atanh.c b/libm/w_atanh.c
index afb44e382..18d0a4a80 100644
--- a/libm/w_atanh.c
+++ b/libm/w_atanh.c
@@ -21,7 +21,7 @@ static char rcsid[] = "$NetBSD: w_atanh.c,v 1.6 1995/05/10 20:48:43 jtc Exp $";
#include "math.h"
#include "math_private.h"
-
+libm_hidden_proto(atanh)
#ifdef __STDC__
double atanh(double x) /* wrapper atanh */
#else
@@ -45,3 +45,4 @@ static char rcsid[] = "$NetBSD: w_atanh.c,v 1.6 1995/05/10 20:48:43 jtc Exp $";
return z;
#endif
}
+libm_hidden_def(atanh)
diff --git a/libm/w_cabs.c b/libm/w_cabs.c
index 6743146c6..485e120db 100644
--- a/libm/w_cabs.c
+++ b/libm/w_cabs.c
@@ -8,6 +8,8 @@
#include <complex.h>
#include <math.h>
+libm_hidden_proto(hypot)
+
double cabs(double _Complex z)
{
return hypot(__real__ z, __imag__ z);
diff --git a/libm/w_cosh.c b/libm/w_cosh.c
index 2228032a1..c785af4b5 100644
--- a/libm/w_cosh.c
+++ b/libm/w_cosh.c
@@ -21,6 +21,7 @@ static char rcsid[] = "$NetBSD: w_cosh.c,v 1.6 1995/05/10 20:48:47 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(cosh)
#ifdef __STDC__
double cosh(double x) /* wrapper cosh */
#else
@@ -40,3 +41,4 @@ static char rcsid[] = "$NetBSD: w_cosh.c,v 1.6 1995/05/10 20:48:47 jtc Exp $";
return z;
#endif
}
+libm_hidden_def(cosh)
diff --git a/libm/w_drem.c b/libm/w_drem.c
index 0f6840934..c2f0d3b67 100644
--- a/libm/w_drem.c
+++ b/libm/w_drem.c
@@ -7,6 +7,8 @@
#include <math.h>
+libm_hidden_proto(remainder)
+
double
drem(x, y)
double x, y;
diff --git a/libm/w_exp.c b/libm/w_exp.c
index 9226b03a9..b9b7ccc26 100644
--- a/libm/w_exp.c
+++ b/libm/w_exp.c
@@ -29,6 +29,7 @@ static double
o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */
u_threshold= -7.45133219101941108420e+02; /* 0xc0874910, 0xD52D3051 */
+libm_hidden_proto(exp)
#ifdef __STDC__
double exp(double x) /* wrapper exp */
#else
@@ -51,3 +52,4 @@ u_threshold= -7.45133219101941108420e+02; /* 0xc0874910, 0xD52D3051 */
return z;
#endif
}
+libm_hidden_def(exp)
diff --git a/libm/w_fmod.c b/libm/w_fmod.c
index 6956861f4..eed38372b 100644
--- a/libm/w_fmod.c
+++ b/libm/w_fmod.c
@@ -21,7 +21,7 @@ static char rcsid[] = "$NetBSD: w_fmod.c,v 1.6 1995/05/10 20:48:55 jtc Exp $";
#include "math.h"
#include "math_private.h"
-
+libm_hidden_proto(fmod)
#ifdef __STDC__
double fmod(double x, double y) /* wrapper fmod */
#else
@@ -41,3 +41,4 @@ static char rcsid[] = "$NetBSD: w_fmod.c,v 1.6 1995/05/10 20:48:55 jtc Exp $";
return z;
#endif
}
+libm_hidden_def(fmod)
diff --git a/libm/w_gamma.c b/libm/w_gamma.c
index f5b00d024..182dece3e 100644
--- a/libm/w_gamma.c
+++ b/libm/w_gamma.c
@@ -20,10 +20,10 @@ static char rcsid[] = "$NetBSD: w_gamma.c,v 1.7 1995/11/20 22:06:43 jtc Exp $";
* Method: call gamma_r
*/
-#include "math.h"
+#include <math.h>
#include "math_private.h"
-extern int signgam;
+libm_hidden_proto(signgam)
#ifdef __STDC__
double gamma(double x)
diff --git a/libm/w_gamma_r.c b/libm/w_gamma_r.c
index 8dc6cefbb..321e86480 100644
--- a/libm/w_gamma_r.c
+++ b/libm/w_gamma_r.c
@@ -22,6 +22,7 @@ static char rcsid[] = "$NetBSD: w_gamma_r.c,v 1.7 1995/11/20 22:06:45 jtc Exp $"
#include "math_private.h"
+double gamma_r(double x, int *signgamp);
#ifdef __STDC__
double gamma_r(double x, int *signgamp) /* wrapper lgamma_r */
#else
diff --git a/libm/w_hypot.c b/libm/w_hypot.c
index 0504b3c30..e4b299d5f 100644
--- a/libm/w_hypot.c
+++ b/libm/w_hypot.c
@@ -21,7 +21,7 @@ static char rcsid[] = "$NetBSD: w_hypot.c,v 1.6 1995/05/10 20:49:07 jtc Exp $";
#include "math.h"
#include "math_private.h"
-
+libm_hidden_proto(hypot)
#ifdef __STDC__
double hypot(double x, double y)/* wrapper hypot */
#else
@@ -41,3 +41,4 @@ static char rcsid[] = "$NetBSD: w_hypot.c,v 1.6 1995/05/10 20:49:07 jtc Exp $";
return z;
#endif
}
+libm_hidden_def(hypot)
diff --git a/libm/w_lgamma.c b/libm/w_lgamma.c
index 9d122a94f..de0394b5e 100644
--- a/libm/w_lgamma.c
+++ b/libm/w_lgamma.c
@@ -20,11 +20,12 @@ static char rcsid[] = "$NetBSD: w_lgamma.c,v 1.6 1995/05/10 20:49:24 jtc Exp $";
* Method: call __ieee754_lgamma_r
*/
-#include "math.h"
+#include <math.h>
#include "math_private.h"
-extern int signgam;
+libm_hidden_proto(signgam)
+libm_hidden_proto(lgamma)
#ifdef __STDC__
double lgamma(double x)
#else
@@ -47,3 +48,4 @@ extern int signgam;
return y;
#endif
}
+libm_hidden_def(lgamma)
diff --git a/libm/w_log.c b/libm/w_log.c
index d7ac66c67..12c8282d5 100644
--- a/libm/w_log.c
+++ b/libm/w_log.c
@@ -21,7 +21,7 @@ static char rcsid[] = "$NetBSD: w_log.c,v 1.6 1995/05/10 20:49:33 jtc Exp $";
#include "math.h"
#include "math_private.h"
-
+libm_hidden_proto(log)
#ifdef __STDC__
double log(double x) /* wrapper log */
#else
@@ -41,3 +41,4 @@ static char rcsid[] = "$NetBSD: w_log.c,v 1.6 1995/05/10 20:49:33 jtc Exp $";
return __kernel_standard(x,x,17); /* log(x<0) */
#endif
}
+libm_hidden_def(log)
diff --git a/libm/w_log10.c b/libm/w_log10.c
index 6e4345750..cf52f6e65 100644
--- a/libm/w_log10.c
+++ b/libm/w_log10.c
@@ -21,7 +21,7 @@ static char rcsid[] = "$NetBSD: w_log10.c,v 1.6 1995/05/10 20:49:35 jtc Exp $";
#include "math.h"
#include "math_private.h"
-
+libm_hidden_proto(log10)
#ifdef __STDC__
double log10(double x) /* wrapper log10 */
#else
@@ -44,3 +44,4 @@ static char rcsid[] = "$NetBSD: w_log10.c,v 1.6 1995/05/10 20:49:35 jtc Exp $";
return z;
#endif
}
+libm_hidden_def(log10)
diff --git a/libm/w_pow.c b/libm/w_pow.c
index 571897cca..89cd08f73 100644
--- a/libm/w_pow.c
+++ b/libm/w_pow.c
@@ -19,7 +19,7 @@
#include "math.h"
#include "math_private.h"
-
+libm_hidden_proto(pow)
#ifdef __STDC__
double pow(double x, double y) /* wrapper pow */
#else
@@ -59,3 +59,4 @@
return z;
#endif
}
+libm_hidden_def(pow)
diff --git a/libm/w_remainder.c b/libm/w_remainder.c
index 0fbe9b0e4..be3dd02c9 100644
--- a/libm/w_remainder.c
+++ b/libm/w_remainder.c
@@ -21,6 +21,7 @@ static char rcsid[] = "$NetBSD: w_remainder.c,v 1.6 1995/05/10 20:49:44 jtc Exp
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(remainder)
#ifdef __STDC__
double remainder(double x, double y) /* wrapper remainder */
#else
@@ -40,3 +41,4 @@ static char rcsid[] = "$NetBSD: w_remainder.c,v 1.6 1995/05/10 20:49:44 jtc Exp
return z;
#endif
}
+libm_hidden_def(remainder)
diff --git a/libm/w_scalb.c b/libm/w_scalb.c
index 673006120..a5f88de39 100644
--- a/libm/w_scalb.c
+++ b/libm/w_scalb.c
@@ -20,7 +20,7 @@ static char rcsid[] = "$NetBSD: w_scalb.c,v 1.6 1995/05/10 20:49:48 jtc Exp $";
* should use scalbn() instead.
*/
-#include "math.h"
+#include <math.h>
#include "math_private.h"
#include <errno.h>
diff --git a/libm/w_sinh.c b/libm/w_sinh.c
index f9a6c60a9..bed9bb3f9 100644
--- a/libm/w_sinh.c
+++ b/libm/w_sinh.c
@@ -21,6 +21,7 @@ static char rcsid[] = "$NetBSD: w_sinh.c,v 1.6 1995/05/10 20:49:51 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(sinh)
#ifdef __STDC__
double sinh(double x) /* wrapper sinh */
#else
@@ -40,3 +41,4 @@ static char rcsid[] = "$NetBSD: w_sinh.c,v 1.6 1995/05/10 20:49:51 jtc Exp $";
return z;
#endif
}
+libm_hidden_def(sinh)
diff --git a/libm/w_sqrt.c b/libm/w_sqrt.c
index e9c6cb693..0a37249b1 100644
--- a/libm/w_sqrt.c
+++ b/libm/w_sqrt.c
@@ -21,6 +21,7 @@ static char rcsid[] = "$NetBSD: w_sqrt.c,v 1.6 1995/05/10 20:49:55 jtc Exp $";
#include "math.h"
#include "math_private.h"
+libm_hidden_proto(sqrt)
#ifdef __STDC__
double sqrt(double x) /* wrapper sqrt */
#else
@@ -40,3 +41,4 @@ static char rcsid[] = "$NetBSD: w_sqrt.c,v 1.6 1995/05/10 20:49:55 jtc Exp $";
return z;
#endif
}
+libm_hidden_def(sqrt)