summaryrefslogtreecommitdiff
path: root/usr/src/lib/libm1/common
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libm1/common')
-rw-r--r--usr/src/lib/libm1/common/libmv1.c662
-rw-r--r--usr/src/lib/libm1/common/mapfile-vers239
2 files changed, 901 insertions, 0 deletions
diff --git a/usr/src/lib/libm1/common/libmv1.c b/usr/src/lib/libm1/common/libmv1.c
new file mode 100644
index 0000000000..572d75528b
--- /dev/null
+++ b/usr/src/lib/libm1/common/libmv1.c
@@ -0,0 +1,662 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
+ */
+/*
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#pragma weak _lib_version = __libm_lib_version
+#pragma weak acos = __acos
+#pragma weak acosh = __acosh
+#pragma weak asin = __asin
+#pragma weak asinh = __asinh
+#pragma weak atan = __atan
+#pragma weak atan2 = __atan2
+#pragma weak atanh = __atanh
+#pragma weak cbrt = __cbrt
+#pragma weak ceil = __ceil
+#pragma weak copysign = __copysign
+#pragma weak cos = __cos
+#pragma weak cosh = __cosh
+#pragma weak erf = __erf
+#pragma weak erfc = __erfc
+#pragma weak exp = __exp
+#pragma weak expm1 = __expm1
+#pragma weak fabs = __fabs
+#pragma weak floor = __floor
+#pragma weak fmod = __fmod
+#pragma weak gamma = __gamma
+#pragma weak gamma_r = __gamma_r
+#pragma weak hypot = __hypot
+#pragma weak ilogb = __ilogb
+#pragma weak isnan = __isnan
+#pragma weak j0 = __j0
+#pragma weak j1 = __j1
+#pragma weak jn = __jn
+#pragma weak lgamma = __lgamma
+#pragma weak lgamma_r = __lgamma_r
+#pragma weak log = __log
+#pragma weak log10 = __log10
+#pragma weak log1p = __log1p
+#pragma weak logb = __logb
+#pragma weak nextafter = __nextafter
+#pragma weak pow = __pow
+#pragma weak remainder = __remainder
+#pragma weak rint = __rint
+#pragma weak scalb = __scalb
+#pragma weak scalbn = __scalbn
+#pragma weak signgam = __signgam
+#pragma weak significand = __significand
+#pragma weak sin = __sin
+#pragma weak sinh = __sinh
+#pragma weak sqrt = __sqrt
+#pragma weak tan = __tan
+#pragma weak tanh = __tanh
+#pragma weak y0 = __y0
+#pragma weak y1 = __y1
+#pragma weak yn = __yn
+
+#include <math.h>
+
+const enum version __libm_lib_version = libm_ieee;
+int __signgam = 0;
+
+#if !defined(__sparcv9) && !defined(__amd64)
+/* ARGSUSED */
+int *
+__libm_errno(void) {
+ return (0);
+}
+#endif
+
+/* ARGSUSED */
+int
+__libm__rem_pio2(double x, double *y) {
+ return (0);
+}
+
+/* ARGSUSED */
+int
+__libm__rem_pio2m(double *x, double *y, int e0, int nx, int p, const int *ip) {
+ return (0);
+}
+
+/* ARGSUSED */
+double
+__acos(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__acosh(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__asin(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__asinh(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__atan(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__atan2(double y, double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__atanh(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__cbrt(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__ceil(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__copysign(double x, double y) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__cos(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__cosh(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__erf(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__erfc(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__exp(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__expm1(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__fabs(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__floor(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__fmod(double x, double y) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__gamma(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__gamma_r(double x, int *signgamp) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__hypot(double x, double y) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+int
+__ilogb(double x) {
+ return (0);
+}
+
+/* ARGSUSED */
+int
+__isnan(double x) {
+ return (0);
+}
+
+/* ARGSUSED */
+double
+__j0(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__j1(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__jn(int n, double y) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__lgamma(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__lgamma_r(double x, int *signgamp) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__log(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__log10(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__log1p(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__logb(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__nextafter(double x, double y) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__pow(double x, double y) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__remainder(double x, double y) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__rint(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__scalb(double x, double y) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__scalbn(double x, int n) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__significand(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__sin(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__sinh(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__sqrt(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__tan(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__tanh(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__y0(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__y1(double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+double
+__yn(int n, double x) {
+ return (0.0);
+}
+
+/* ARGSUSED */
+int
+matherr(struct exception *excep) {
+ return (0);
+}
+
+/* ARGSUSED */
+float
+__acosf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__asinf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__atanf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__atan2f(float y, float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__ceilf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__cosf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__coshf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__expf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__fabsf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__floorf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__fmodf(float x, float y) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__frexpf(float x, int *e) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__ldexpf(float x, int n) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__logf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__log10f(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__modff(float x, float *iptr) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__powf(float x, float y) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__sinf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__sinhf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__sqrtf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__tanf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+float
+__tanhf(float x) {
+ return (0.0F);
+}
+
+/* ARGSUSED */
+long double
+__acosl(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__asinl(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__atanl(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__atan2l(long double y, long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__ceill(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__cosl(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__coshl(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__expl(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__fabsl(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__floorl(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__fmodl(long double x, long double y) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__frexpl(long double x, int *e) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__ldexpl(long double x, int n) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__logl(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__log10l(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__modfl(long double x, long double *iptr) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__powl(long double x, long double y) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__sinl(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__sinhl(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__sqrtl(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__tanl(long double x) {
+ return (0.0L);
+}
+
+/* ARGSUSED */
+long double
+__tanhl(long double x) {
+ return (0.0L);
+}
diff --git a/usr/src/lib/libm1/common/mapfile-vers b/usr/src/lib/libm1/common/mapfile-vers
new file mode 100644
index 0000000000..da5e870241
--- /dev/null
+++ b/usr/src/lib/libm1/common/mapfile-vers
@@ -0,0 +1,239 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright 2011 Nexenta Systems, Inc. All rights reserved.
+#
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# Interface definition for libm.so.1
+#
+# For information regarding the establishment of versioned definitions see:
+# The Linker and Libraries Manual (version 2.5 or greater)
+# This is part of the Developers Guide in the Answerbook. Specifically refer
+# to Chapter 2 under section "Defining Additional Symbols" through section
+# "Reducing Symbol Scope", and Chapter 5 "Versioning".
+#
+# For specific rules for the modification (evolution) of these version
+# definitions see:
+# psarc_1995_14: Integration of Scoped Libraries
+# (/shared/sac/PSARC/1995/014)
+# Policy for Shared Library Version Names and Interface Definitions
+# (/shared/ON/general_docs/scoping-rules.ps)
+
+#
+# MAPFILE HEADER START
+#
+# WARNING: STOP NOW. DO NOT MODIFY THIS FILE.
+# Object versioning must comply with the rules detailed in
+#
+# usr/src/lib/README.mapfiles
+#
+# You should not be making modifications here until you've read the most current
+# copy of that file. If you need help, contact a gatekeeper for guidance.
+#
+# MAPFILE HEADER END
+#
+
+$mapfile_version 2
+
+$if _ELF32
+$add lf64
+$endif
+$if _sparc && _ELF32
+$add sparc32
+$endif
+$if _sparc && _ELF64
+$add sparcv9
+$endif
+$if _x86 && _ELF32
+$add i386
+$endif
+$if _x86 && _ELF64
+$add amd64
+$endif
+
+SYMBOL_VERSION SUNW_1.1.1 {
+ global:
+ __acosf;
+ __acosl;
+ __asinf;
+ __asinl;
+ __atan2f;
+ __atan2l;
+ __atanf;
+ __atanl;
+ __ceilf;
+ __ceill;
+ __cosf;
+ __coshf;
+ __coshl;
+ __cosl;
+ __expf;
+ __expl;
+ __fabsf;
+ __fabsl;
+ __floorf;
+ __floorl;
+ __fmodf;
+ __fmodl;
+ __frexpf;
+ __frexpl;
+ __ldexpf;
+ __ldexpl;
+ __log10f;
+ __log10l;
+ __logf;
+ __logl;
+ __modff;
+ __modfl;
+ __powf;
+ __powl;
+ __sinf;
+ __sinhf;
+ __sinhl;
+ __sinl;
+ __sqrtf;
+ __sqrtl;
+ __tanf;
+ __tanhf;
+ __tanhl;
+ __tanl;
+} SUNW_1.1;
+
+SYMBOL_VERSION SUNW_1.1 {
+ global:
+ __acos;
+ __acosh;
+ __asin;
+ __asinh;
+ __atan;
+ __atan2;
+ __atanh;
+ __cbrt;
+ __ceil;
+ __copysign;
+ __cos;
+ __cosh;
+ __erf;
+ __erfc;
+ __exp;
+ __expm1;
+ __fabs;
+ __floor;
+ __fmod;
+ __gamma;
+ __gamma_r;
+ __hypot;
+ __ilogb;
+ __isnan;
+ __j0;
+ __j1;
+ __jn;
+ __lgamma;
+ __lgamma_r;
+ __log;
+ __log10;
+ __log1p;
+ __logb;
+ __nextafter;
+ __pow;
+ __remainder;
+ __rint;
+ __scalb;
+ __scalbn;
+ __signgam;
+ __significand;
+ __sin;
+ __sinh;
+ __sqrt;
+ __tan;
+ __tanh;
+ __y0;
+ __y1;
+ __yn;
+ acos;
+ acosh;
+ asin;
+ asinh;
+ atan;
+ atan2;
+ atanh;
+ cbrt;
+ ceil;
+ copysign;
+ cos;
+ cosh;
+ erf;
+ erfc;
+ exp;
+ expm1;
+ fabs;
+ floor;
+ fmod;
+ gamma;
+ gamma_r;
+ hypot;
+ ilogb;
+ isnan;
+ j0;
+ j1;
+ jn;
+ lgamma;
+ lgamma_r;
+ log;
+ log10;
+ log1p;
+ logb;
+ matherr;
+ nextafter;
+ pow;
+ remainder;
+ rint;
+ scalb;
+ scalbn;
+ signgam;
+ significand;
+ sin;
+ sinh;
+ sqrt;
+ tan;
+ tanh;
+ y0;
+ y1;
+ yn;
+};
+
+$if i386
+SYMBOL_VERSION SUNWprivate_1.2 {
+ global:
+ __libm_errno; # SC3.0.1 -lmopt
+} SUNWprivate_1.1;
+$endif
+
+SYMBOL_VERSION SUNWprivate_1.1 {
+ global:
+ _lib_version;
+ __libm__rem_pio2;
+ __libm__rem_pio2m;
+ # anything else is local
+ local:
+ *; # symbols not mentioned in this file are scoped out
+};