Add symbol versioning to libm.
This commit is contained in:
parent
593cd30b45
commit
d76f24935a
@ -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
181
lib/msun/Symbol.map
Normal 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;
|
||||
};
|
@ -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
13
lib/msun/alpha/Symbol.map
Normal file
@ -0,0 +1,13 @@
|
||||
# $FreeBSD$
|
||||
FBSD_1.0 {
|
||||
fegetenv;
|
||||
feholdexcept;
|
||||
fesetenv;
|
||||
feupdateenv;
|
||||
__feenableexcept;
|
||||
__fedisableexcept;
|
||||
__fegetexcept;
|
||||
feenableexcept;
|
||||
fedisableexcept;
|
||||
fegetexcept;
|
||||
};
|
@ -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
12
lib/msun/amd64/Symbol.map
Normal file
@ -0,0 +1,12 @@
|
||||
# $FreeBSD$
|
||||
FBSD_1.0 {
|
||||
fesetexceptflag;
|
||||
feraiseexcept;
|
||||
fegetenv;
|
||||
feholdexcept;
|
||||
feupdateenv;
|
||||
__feenableexcept;
|
||||
__fedisableexcept;
|
||||
feenableexcept;
|
||||
fedisableexcept;
|
||||
};
|
@ -1,3 +1,4 @@
|
||||
# $FreeBSD$
|
||||
|
||||
LDBL_PREC = 53
|
||||
SYM_MAPS += ${.CURDIR}/arm/Symbol.map
|
||||
|
3
lib/msun/arm/Symbol.map
Normal file
3
lib/msun/arm/Symbol.map
Normal file
@ -0,0 +1,3 @@
|
||||
# $FreeBSD$
|
||||
FBSD_1.0 {
|
||||
};
|
@ -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
14
lib/msun/i387/Symbol.map
Normal file
@ -0,0 +1,14 @@
|
||||
# $FreeBSD$
|
||||
FBSD_1.0 {
|
||||
__has_sse;
|
||||
__test_sse;
|
||||
fesetexceptflag;
|
||||
feraiseexcept;
|
||||
fegetenv;
|
||||
feholdexcept;
|
||||
feupdateenv;
|
||||
__feenableexcept;
|
||||
__fedisableexcept;
|
||||
feenableexcept;
|
||||
fedisableexcept;
|
||||
};
|
@ -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
4
lib/msun/ia64/Symbol.map
Normal file
@ -0,0 +1,4 @@
|
||||
# $FreeBSD$
|
||||
FBSD_1.0 {
|
||||
feupdateenv;
|
||||
};
|
@ -1,3 +1,4 @@
|
||||
# $FreeBSD$
|
||||
|
||||
LDBL_PREC = 53
|
||||
SYM_MAPS += ${.CURDIR}/powerpc/Symbol.map
|
||||
|
3
lib/msun/powerpc/Symbol.map
Normal file
3
lib/msun/powerpc/Symbol.map
Normal file
@ -0,0 +1,3 @@
|
||||
# $FreeBSD$
|
||||
FBSD_1.0 {
|
||||
};
|
@ -2,3 +2,4 @@
|
||||
|
||||
ARCH_SRCS= e_sqrt.S e_sqrtf.S
|
||||
LDBL_PREC= 113
|
||||
SYM_MAPS+= ${.CURDIR}/sparc64/Symbol.map
|
||||
|
3
lib/msun/sparc64/Symbol.map
Normal file
3
lib/msun/sparc64/Symbol.map
Normal file
@ -0,0 +1,3 @@
|
||||
# $FreeBSD$
|
||||
FBSD_1.0 {
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user