mapfile-vers revision ddc0e0b53c661f6e439e3b7072b3ef353eadb4af
#
# 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.2
#
# 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.3 {
global:
__isnanf; #LSARC/2003/658
__isnanl; #LSARC/2003/658
_isnan { FLAGS = NODYNSORT }; #LSARC/2003/658
_isnand { FLAGS = NODYNSORT }; #LSARC/2003/658
_isnanf { FLAGS = NODYNSORT }; #LSARC/2003/658
_logb { FLAGS = NODYNSORT }; #LSARC/2003/658
_modf { FLAGS = NODYNSORT }; #LSARC/2003/658
_modff { FLAGS = NODYNSORT }; #LSARC/2003/658
_nextafter { FLAGS = NODYNSORT }; #LSARC/2003/658
_scalb { FLAGS = NODYNSORT }; #LSARC/2003/658
isnand { FLAGS = NODYNSORT }; #LSARC/2003/658
isnanf; #LSARC/2003/658
isnanl; #LSARC/2003/658
} SUNW_1.2;
SYMBOL_VERSION SUNW_1.2 {
global:
__acoshf;
__acoshl;
__asinhf;
__asinhl;
__atanhf;
__atanhl;
__cabs;
__cabsf;
__cabsl;
__cacos;
__cacosf;
__cacosh;
__cacoshf;
__cacoshl;
__cacosl;
__carg;
__cargf;
__cargl;
__casin;
__casinf;
__casinh;
__casinhf;
__casinhl;
__casinl;
__catan;
__catanf;
__catanh;
__catanhf;
__catanhl;
__catanl;
__cbrtf;
__cbrtl;
__ccos;
__ccosf;
__ccosh;
__ccoshf;
__ccoshl;
__ccosl;
__cexp;
__cexpf;
__cexpl;
__cimag;
__cimagf;
__cimagl;
__clog;
__clogf;
__clogl;
__conj;
__conjf;
__conjl;
__copysignf;
__copysignl;
__cpow;
__cpowf;
__cpowl;
__cproj;
__cprojf;
__cprojl;
__creal;
__crealf;
__creall;
__csin;
__csinf;
__csinh;
__csinhf;
__csinhl;
__csinl;
__csqrt;
__csqrtf;
__csqrtl;
__ctan;
__ctanf;
__ctanh;
__ctanhf;
__ctanhl;
__ctanl;
__erfcf;
__erfcl;
__erff;
__erfl;
__exp2;
__exp2f;
__exp2l;
__expm1f;
__expm1l;
__fdim;
__fdimf;
__fdiml;
__feclearexcept;
__fegetenv;
__fegetexceptflag;
$if _x86
__fegetprec; #LSARC/1996/175
$endif
__fegetround;
__feholdexcept;
__fenv_dfl_env; #LSARC/1996/175
__feraiseexcept;
__fesetenv;
__fesetexceptflag;
$if _x86
__fesetprec; #LSARC/1996/175
$endif
__fesetround;
__fetestexcept;
__feupdateenv;
__fex_get_handling; #LSARC/1996/175
__fex_get_log; #LSARC/1996/175
__fex_get_log_depth; #LSARC/1996/175
__fex_getexcepthandler; #LSARC/1996/175
__fex_log_entry; #LSARC/1996/175
__fex_merge_flags; #LSARC/1996/175
__fex_set_handling; #LSARC/1996/175
__fex_set_log; #LSARC/1996/175
__fex_set_log_depth; #LSARC/1996/175
__fex_setexcepthandler; #LSARC/1996/175
__fma;
__fmaf;
__fmal;
__fmax;
__fmaxf;
__fmaxl;
__fmin;
__fminf;
__fminl;
__frexp;
__gammaf; #LSARC/2003/279
__gammaf_r; #LSARC/2003/279
__gammal; #LSARC/2003/279
__gammal_r; #LSARC/2003/279
__hypotf;
__hypotl;
__ilogbf;
__ilogbl;
__j0f; #LSARC/2003/279
__j0l; #LSARC/2003/279
__j1f; #LSARC/2003/279
__j1l; #LSARC/2003/279
__jnf; #LSARC/2003/279
__jnl; #LSARC/2003/279
__ldexp;
__lgammaf;
__lgammaf_r; #LSARC/2003/279
__lgammal;
__lgammal_r; #LSARC/2003/279
$if amd64 || sparcv9
__llrint { FLAGS = NODYNSORT };
__llrintf { FLAGS = NODYNSORT };
__llrintl { FLAGS = NODYNSORT };
__llround { FLAGS = NODYNSORT };
__llroundf { FLAGS = NODYNSORT };
__llroundl { FLAGS = NODYNSORT };
$else
__llrint;
__llrintf;
__llrintl;
__llround;
__llroundf;
__llroundl;
$endif
__log1pf;
__log1pl;
__log2;
__log2f;
__log2l;
__logbf;
__logbl;
$if amd64 || sparcv9
__lrint { FLAGS = NODYNSORT };
__lrintf { FLAGS = NODYNSORT };
__lrintl { FLAGS = NODYNSORT };
__lround { FLAGS = NODYNSORT };
__lroundf { FLAGS = NODYNSORT };
__lroundl { FLAGS = NODYNSORT };
$else
__lrint;
__lrintf;
__lrintl;
__lround;
__lroundf;
__lroundl;
$endif
__modf;
__nan;
__nanf;
__nanl;
__nearbyint;
__nearbyintf;
__nearbyintl;
__nextafterf;
__nextafterl;
__nexttoward;
__nexttowardf;
__nexttowardl;
__remainderf;
__remainderl;
__remquo;
__remquof;
__remquol;
__rintf;
__rintl;
__round;
__roundf;
__roundl;
__scalbf; #LSARC/2003/279
__scalbl; #LSARC/2003/279
__scalbln;
__scalblnf;
__scalblnl;
__scalbnf;
__scalbnl;
__signgamf; #LSARC/2003/279
__signgaml; #LSARC/2003/279
__significandf; #LSARC/2003/279
__significandl; #LSARC/2003/279
__sincos; #LSARC/2003/279
__sincosf; #LSARC/2003/279
__sincosl; #LSARC/2003/279
__tgamma;
__tgammaf;
__tgammal;
__trunc;
__truncf;
__truncl;
__xpg6 { FLAGS = NODIRECT }; #private contract with libc group
__y0f; #LSARC/2003/279
__y0l; #LSARC/2003/279
__y1f; #LSARC/2003/279
__y1l; #LSARC/2003/279
__ynf; #LSARC/2003/279
__ynl; #LSARC/2003/279
acosf;
acoshf;
acoshl;
acosl;
asinf;
asinhf;
asinhl;
asinl;
atan2f;
atan2l;
atanf;
atanhf;
atanhl;
atanl;
cabs;
cabsf;
cabsl;
cacos;
cacosf;
cacosh;
cacoshf;
cacoshl;
cacosl;
carg;
cargf;
cargl;
casin;
casinf;
casinh;
casinhf;
casinhl;
casinl;
catan;
catanf;
catanh;
catanhf;
catanhl;
catanl;
cbrtf;
cbrtl;
ccos;
ccosf;
ccosh;
ccoshf;
ccoshl;
ccosl;
ceilf;
ceill;
cexp;
cexpf;
cexpl;
cimag;
cimagf;
cimagl;
clog;
clogf;
clogl;
conj;
conjf;
conjl;
copysignf;
copysignl;
cosf;
coshf;
coshl;
cosl;
cpow;
cpowf;
cpowl;
cproj;
cprojf;
cprojl;
creal;
crealf;
creall;
csin;
csinf;
csinh;
csinhf;
csinhl;
csinl;
csqrt;
csqrtf;
csqrtl;
ctan;
ctanf;
ctanh;
ctanhf;
ctanhl;
ctanl;
erfcf;
erfcl;
erff;
erfl;
exp2;
exp2f;
exp2l;
expf;
expl;
expm1f;
expm1l;
fabsf;
fabsl;
fdim;
fdimf;
fdiml;
feclearexcept;
fegetenv;
fegetexceptflag;
$if _x86
fegetprec; #LSARC/1996/175
$endif
fegetround;
feholdexcept;
feraiseexcept;
fesetenv;
fesetexceptflag;
$if _x86
fesetprec; #LSARC/1996/175
$endif
fesetround;
fetestexcept;
feupdateenv;
fex_get_handling; #LSARC/1996/175
fex_get_log; #LSARC/1996/175
fex_get_log_depth; #LSARC/1996/175
fex_getexcepthandler; #LSARC/1996/175
fex_log_entry; #LSARC/1996/175
fex_merge_flags; #LSARC/1996/175
fex_set_handling; #LSARC/1996/175
fex_set_log; #LSARC/1996/175
fex_set_log_depth; #LSARC/1996/175
fex_setexcepthandler; #LSARC/1996/175
floorf;
floorl;
fma;
fmaf;
fmal;
fmax;
fmaxf;
fmaxl;
fmin;
fminf;
fminl;
fmodf;
fmodl;
frexp;
frexpf;
frexpl;
gammaf; #LSARC/2003/279
gammaf_r; #LSARC/2003/279
gammal; #LSARC/2003/279
gammal_r; #LSARC/2003/279
hypotf;
hypotl;
ilogbf;
ilogbl;
j0f; #LSARC/2003/279
j0l; #LSARC/2003/279
j1f; #LSARC/2003/279
j1l; #LSARC/2003/279
jnf; #LSARC/2003/279
jnl; #LSARC/2003/279
ldexp;
ldexpf;
ldexpl;
lgammaf;
lgammaf_r; #LSARC/2003/279
lgammal;
lgammal_r; #LSARC/2003/279
$if amd64 || sparcv9
llrint { FLAGS = NODYNSORT };
llrintf { FLAGS = NODYNSORT };
llrintl { FLAGS = NODYNSORT };
llround { FLAGS = NODYNSORT };
llroundf { FLAGS = NODYNSORT };
llroundl { FLAGS = NODYNSORT };
$else
llrint;
llrintf;
llrintl;
llround;
llroundf;
llroundl;
$endif
log10f;
log10l;
log1pf;
log1pl;
log2;
log2f;
log2l;
logbf;
logbl;
logf;
logl;
lrint;
lrintf;
lrintl;
lround;
lroundf;
lroundl;
modf;
modff;
modfl;
nan;
nanf;
nanl;
nearbyint;
nearbyintf;
nearbyintl;
nextafterf;
nextafterl;
nexttoward;
nexttowardf;
nexttowardl;
powf;
powl;
remainderf;
remainderl;
remquo;
remquof;
remquol;
rintf;
rintl;
round;
roundf;
roundl;
scalbf; #LSARC/2003/279
scalbl; #LSARC/2003/279
scalbln;
scalblnf;
scalblnl;
scalbnf;
scalbnl;
signgamf; #LSARC/2003/279
signgaml; #LSARC/2003/279
significandf; #LSARC/2003/279
significandl; #LSARC/2003/279
sincos; #LSARC/2003/279
sincosf; #LSARC/2003/279
sincosl; #LSARC/2003/279
sinf;
sinhf;
sinhl;
sinl;
sqrtf;
sqrtl;
tanf;
tanhf;
tanhl;
tanl;
tgamma;
tgammaf;
tgammal;
trunc;
truncf;
truncl;
y0f; #LSARC/2003/279
y0l; #LSARC/2003/279
y1f; #LSARC/2003/279
y1l; #LSARC/2003/279
ynf; #LSARC/2003/279
ynl; #LSARC/2003/279
} SUNW_1.1.1;
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 amd64 || sparcv9
SYMBOL_VERSION SUNWprivate_1.2 {
$else
SYMBOL_VERSION SUNWprivate_1.3 {
$endif
global:
__libm_mt_fex_sync; # -lmtsk
__mt_fex_sync; # -lmtsk
$if amd64 || sparcv9
} SUNWprivate_1.1;
$else
} SUNWprivate_1.2;
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:
# For symbols with multiple names, move the less preferred
# names out of .SUNW_dynsymsort
feclearexcept96 { FLAGS = NODYNSORT };
feraiseexcept96 { FLAGS = NODYNSORT };
fetestexcept96 { FLAGS = NODYNSORT };
fegetexceptflag96 { FLAGS = NODYNSORT };
fesetexceptflag96 { FLAGS = NODYNSORT };
feupdateenv96 { FLAGS = NODYNSORT };
fegetenv96 { FLAGS = NODYNSORT };
fesetenv96 { FLAGS = NODYNSORT };
fegetround96 { FLAGS = NODYNSORT };
*; # symbols not mentioned in this file are scoped out
};