Add symbol versioning to libm.

This commit is contained in:
Daniel Eischen 2006-03-27 23:59:45 +00:00
parent a7018ed63f
commit d7eda46253
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=157196
16 changed files with 246 additions and 0 deletions

View File

@ -61,6 +61,12 @@ COMMON_SRCS= b_exp.c b_log.c b_tgamma.c \
# Location of fpmath.h and _fpmath.h
LIBCDIR= ${.CURDIR}/../libc
CFLAGS+= -I${LIBCDIR}/include -I${LIBCDIR}/${MACHINE_ARCH}
SYM_MAPS+= ${.CURDIR}/Symbol.map
.if defined(SYMVER_ENABLED)
VERSION_DEF= ${LIBCDIR}/Versions.def
SYMBOL_MAPS= ${SYM_MAPS}
.endif
# C99 long double functions
COMMON_SRCS+= s_copysignl.c s_fabsl.c

181
lib/msun/Symbol.map Normal file
View File

@ -0,0 +1,181 @@
# $FreeBSD$
FBSD_1.0 {
__fe_dfl_env;
tgamma;
acos;
acosf;
acosh;
acoshf;
asin;
asinf;
atan2;
atan2f;
atanh;
atanhf;
cosh;
coshf;
exp;
expf;
fmod;
fmodf;
gamma;
gamma_r;
gammaf;
gammaf_r;
hypot;
hypotf;
j0;
y0;
j0f;
y0f;
j1;
y1;
j1f;
y1f;
jn;
yn;
jnf;
ynf;
lgamma;
lgamma_r;
lgammaf;
lgammaf_r;
log;
log10;
log10f;
logf;
pow;
powf;
remainder;
remainderf;
scalb;
scalbf;
sinh;
sinhf;
sqrt;
sqrtf;
asinh;
asinhf;
atan;
atanf;
cbrt;
cbrtf;
ceil;
ceilf;
ceill;
cimag;
cimagf;
cimagl;
conj;
conjf;
conjl;
copysign;
copysignf;
copysignl;
cos;
cosf;
creal;
crealf;
creall;
erf;
erfc;
erff;
erfcf;
exp2;
exp2f;
expm1;
expm1f;
fabs;
fabsf;
fabsl;
fdim;
fdimf;
fdiml;
finite;
finitef;
floor;
floorf;
floorl;
fma;
fmaf;
fmal;
fmax;
fmaxf;
fmaxl;
fmin;
fminf;
fminl;
frexp;
frexpf;
frexpl;
ilogb;
ilogbf;
ilogbl;
__isfinite;
__isfinitef;
__isfinitel;
isnanf;
__isnanl;
__isnormal;
__isnormalf;
__isnormall;
llrint;
llrintf;
llround;
llroundf;
llroundl;
log1p;
log1pf;
logb;
logbf;
lrint;
lrintf;
lround;
lroundf;
lroundl;
modf;
modff;
nearbyint;
nearbyintf;
nextafter;
nexttoward;
nexttowardl;
nextafterl;
nextafterf;
nexttowardf;
remquo;
remquof;
rint;
rintf;
round;
roundf;
roundl;
scalbln;
scalblnf;
scalblnl;
scalbn;
scalbnl;
scalbnf;
ldexpf;
ldexpl;
__signbit;
__signbitf;
__signbitl;
signgam;
significand;
significandf;
sin;
sinf;
tan;
tanf;
tanh;
tanhf;
trunc;
truncf;
truncl;
cabs;
z_abs;
cabsf;
drem;
dremf;
};

View File

@ -2,6 +2,7 @@
ARCH_SRCS = s_copysign.S s_copysignf.S
LDBL_PREC = 53
SYM_MAPS += ${.CURDIR}/alpha/Symbol.map
# XXX Comment from NetBSD/Alpha:
# XXX LINT SIGFPEs in e_exp.c's strtod(). FP underflow/denorm software

13
lib/msun/alpha/Symbol.map Normal file
View File

@ -0,0 +1,13 @@
# $FreeBSD$
FBSD_1.0 {
fegetenv;
feholdexcept;
fesetenv;
feupdateenv;
__feenableexcept;
__fedisableexcept;
__fegetexcept;
feenableexcept;
fedisableexcept;
fegetexcept;
};

View File

@ -3,3 +3,4 @@
ARCH_SRCS = e_sqrt.S e_sqrtf.S s_llrint.S s_llrintf.S s_lrint.S s_lrintf.S \
s_remquo.S s_remquof.S s_scalbn.S s_scalbnf.S s_scalbnl.S
LDBL_PREC = 64
SYM_MAPS += ${.CURDIR}/amd64/Symbol.map

12
lib/msun/amd64/Symbol.map Normal file
View File

@ -0,0 +1,12 @@
# $FreeBSD$
FBSD_1.0 {
fesetexceptflag;
feraiseexcept;
fegetenv;
feholdexcept;
feupdateenv;
__feenableexcept;
__fedisableexcept;
feenableexcept;
fedisableexcept;
};

View File

@ -1,3 +1,4 @@
# $FreeBSD$
LDBL_PREC = 53
SYM_MAPS += ${.CURDIR}/arm/Symbol.map

3
lib/msun/arm/Symbol.map Normal file
View File

@ -0,0 +1,3 @@
# $FreeBSD$
FBSD_1.0 {
};

View File

@ -16,3 +16,4 @@ ARCH_SRCS+= e_log10f.S e_logf.S e_remainderf.S e_scalbf.S \
ARCH_SRCS+= s_ceill.S s_copysignl.S s_floorl.S s_scalbnl.S s_truncl.S
LDBL_PREC = 64 # XXX 64-bit format, but truncated to 53 bits
SYM_MAPS += ${.CURDIR}/i387/Symbol.map

14
lib/msun/i387/Symbol.map Normal file
View File

@ -0,0 +1,14 @@
# $FreeBSD$
FBSD_1.0 {
__has_sse;
__test_sse;
fesetexceptflag;
feraiseexcept;
fegetenv;
feholdexcept;
feupdateenv;
__feenableexcept;
__fedisableexcept;
feenableexcept;
fedisableexcept;
};

View File

@ -2,3 +2,4 @@
ARCH_SRCS = s_fma.S s_fmaf.S s_fmal.S
LDBL_PREC = 64
SYM_MAPS += ${.CURDIR}/ia64/Symbol.map

4
lib/msun/ia64/Symbol.map Normal file
View File

@ -0,0 +1,4 @@
# $FreeBSD$
FBSD_1.0 {
feupdateenv;
};

View File

@ -1,3 +1,4 @@
# $FreeBSD$
LDBL_PREC = 53
SYM_MAPS += ${.CURDIR}/powerpc/Symbol.map

View File

@ -0,0 +1,3 @@
# $FreeBSD$
FBSD_1.0 {
};

View File

@ -2,3 +2,4 @@
ARCH_SRCS= e_sqrt.S e_sqrtf.S
LDBL_PREC= 113
SYM_MAPS+= ${.CURDIR}/sparc64/Symbol.map

View File

@ -0,0 +1,3 @@
# $FreeBSD$
FBSD_1.0 {
};