%include libc { GLIBC_2.0 { # functions used in inline functions or macros __isnan; __isnanf; __isnanl; __finite; __finitef; __finitel; __isinf; __isinff; __isinfl; # global variables __fpu_control; # c* copysign; copysignf; copysignl; # f* finite; finitef; finitel; frexp; frexpf; frexpl; # i* isinf; isinff; isinfl; isnan; isnanf; isnanl; ldexp; ldexpf; ldexpl; # m* modf; modff; modfl; # s* scalbn; scalbnf; scalbnl; } GLIBC_2.1 { # functions used in inline functions or macros __signbit; __signbitf; __signbitl; # s* scalbln; scalblnf; scalblnl; } GLIBC_2.20 { } } libm { GLIBC_2.0 { # mathematical functions acos; acosf; acosl; acosh; acoshf; acoshl; asin; asinf; asinl; asinh; asinhf; asinhl; atan2; atan2f; atan2l; atan; atanf; atanl; atanh; atanhf; atanhl; cbrt; cbrtf; cbrtl; ceil; ceilf; ceill; copysign; copysignf; copysignl; cos; cosf; cosl; coshf; cosh; coshl; drem; dremf; dreml; erf; erff; erfl; erfc; erfcf; erfcl; exp; expf; expl; expm1; expm1f; expm1l; fabs; fabsf; fabsl; finite; finitef; finitel; floor; floorf; floorl; fmod; fmodf; fmodl; frexp; frexpf; frexpl; gamma; gammaf; gammal; gamma_r; gammaf_r; gammal_r; hypot; hypotf; hypotl; ilogb; ilogbf; ilogbl; j0; j0f; j0l; j1; j1f; j1l; jn; jnf; jnl; ldexp; ldexpf; ldexpl; lgamma; lgammaf; lgammal; lgamma_r; lgammaf_r; lgammal_r; log10; log10f; log10l; log1p; log1pf; log1pl; log; logf; logl; logb; logbf; logbl; matherr; modf; modff; modfl; nextafter; nextafterf; nextafterl; pow; powf; powl; remainder; remainderf; remainderl; rint; rintf; rintl; scalb; scalbf; scalbl; scalbn; scalbnf; scalbnl; significand; significandf; significandl; sin; sinf; sinl; sinh; sinhf; sinhl; sqrt; sqrtf; sqrtl; tan; tanf; tanl; tanh; tanhf; tanhl; y0; y0f; y0l; y1; y1f; y1l; yn; ynf; ynl; # global variables _LIB_VERSION; signgam; } GLIBC_2.1 { # mathematical functions exp2; exp2f; # exp2l; -- bug omitted this until GLIBC_2.4 (below) exp10; exp10f; exp10l; fdim; fdimf; fdiml; fma; fmaf; fmal; fmax; fmaxf; fmaxl; fmin; fminf; fminl; log2; log2f; log2l; nan; nanf; nanl; nearbyint; nearbyintf; nearbyintl; nexttoward; nexttowardf; nexttowardl; pow10; pow10f; pow10l; remquo; remquof; remquol; lrint; lrintf; lrintl; llrint; llrintf; llrintl; round; roundf; roundl; lround; lroundf; lroundl; llround; llroundf; llroundl; scalbln; scalblnf; scalblnl; sincos; sincosf; sincosl; trunc; truncf; truncl; tgamma; tgammaf; tgammal; # complex functions cabs; cabsf; cabsl; cacos; cacosf; cacosl; cacosh; cacoshf; cacoshl; carg; cargf; cargl; casin; casinf; casinl; casinh; casinhf; casinhl; catan; catanf; catanl; catanh; catanhf; catanhl; ccos; ccosf; ccosl; ccosh; ccoshf; ccoshl; cexp; cexpf; cexpl; cimag; cimagf; cimagl; clog; clogf; clogl; clog10; clog10f; clog10l; __clog10; __clog10f; __clog10l; conj; conjf; conjl; cpow; cpowf; cpowl; cproj; cprojf; cprojl; creal; crealf; creall; csin; csinf; csinl; csinh; csinhf; csinhl; csqrt; csqrtf; csqrtl; ctan; ctanf; ctanl; ctanh; ctanhf; ctanhl; # fp environment functions feclearexcept; fegetenv; fegetexceptflag; fegetround; feholdexcept; feraiseexcept; fesetenv; fesetexceptflag; fesetround; fetestexcept; feupdateenv; # functions used in inline functions or macros __finite; __finitef; __finitel; __fpclassify; __fpclassifyf; __fpclassifyl; __signbit; __signbitf; __signbitl; } GLIBC_2.2 { # fp environment functions changes from ISO C99 TR1 feclearexcept; fegetenv; fegetexceptflag; feraiseexcept; fesetenv; fesetexceptflag; feupdateenv; # fp environment function feenableexcept; fedisableexcept; fegetexcept; } GLIBC_2.4 { # A bug in sysdeps/generic/w_exp2.c kept this from appearing # in GLIBC_2.1 as it should have on platforms using that # implementation file. On others, sysdeps/CPU/Versions now # puts exp2l in GLIBC_2.1, which will override this entry. exp2l; } GLIBC_2.15 { # Optimized -ffinite-math-only entry points __acos_finite; __acosf_finite; __acosl_finite; __acosh_finite; __acoshf_finite; __acoshl_finite; __asin_finite; __asinf_finite; __asinl_finite; __atan2_finite; __atan2f_finite; __atan2l_finite; __atanh_finite; __atanhf_finite; __atanhl_finite; __cosh_finite; __coshf_finite; __coshl_finite; __exp10_finite; __exp10f_finite; __exp10l_finite; __exp2_finite; __exp2f_finite; __exp2l_finite; __fmod_finite; __fmodf_finite; __fmodl_finite; __hypot_finite; __hypotf_finite; __hypotl_finite; __j0_finite; __j0f_finite; __j0l_finite; __y0_finite; __y0f_finite; __y0l_finite; __j1_finite; __j1f_finite; __j1l_finite; __y1_finite; __y1f_finite; __y1l_finite; __jn_finite; __jnf_finite; __jnl_finite; __yn_finite; __ynf_finite; __ynl_finite; __lgamma_r_finite; __lgammaf_r_finite; __lgammal_r_finite; __log_finite; __logf_finite; __logl_finite; __log10_finite; __log10f_finite; __log10l_finite; __log2_finite; __log2f_finite; __log2l_finite; __pow_finite; __powf_finite; __powl_finite; __remainder_finite; __remainderf_finite; __remainderl_finite; __scalb_finite; __scalbf_finite; __scalbl_finite; __sinh_finite; __sinhf_finite; __sinhl_finite; __sqrt_finite; __sqrtf_finite; __sqrtl_finite; __gamma_r_finite; __gammaf_r_finite; __gammal_r_finite; __exp_finite; __expf_finite; __expl_finite; } GLIBC_2.18 { __issignaling; __issignalingf; __issignalingl; } GLIBC_2.23 { # The __signgam name must be exported for the signgam weak alias # to work. New symbol versions of lgamma* that set __signgam are # needed to preserve compatibility with old binaries that have a # dynamic symbol for signgam but not __signgam. lgamma; lgammaf; lgammal; __signgam; } GLIBC_2.24 { nextup; nextupf; nextupl; nextdown; nextdownf; nextdownl; } GLIBC_2.25 { fesetexcept; fetestexceptflag; fegetmode; fesetmode; __iscanonicall; __iseqsigf; __iseqsig; __iseqsigl; totalorder; totalorderf; totalorderl; totalordermag; totalordermagf; totalordermagl; getpayload; getpayloadf; getpayloadl; canonicalize; canonicalizef; canonicalizel; setpayload; setpayloadf; setpayloadl; setpayloadsig; setpayloadsigf; setpayloadsigl; llogb; llogbf; llogbl; fmaxmag; fmaxmagf; fmaxmagl; fminmag; fminmagf; fminmagl; roundeven; roundevenf; roundevenl; fromfp; fromfpf; fromfpl; ufromfp; ufromfpf; ufromfpl; fromfpx; fromfpxf; fromfpxl; ufromfpx; ufromfpxf; ufromfpxl; } %ifdef FLOAT128_VERSION FLOAT128_VERSION { acosf128; acoshf128; asinf128; asinhf128; atan2f128; atanf128; atanhf128; cabsf128; cacosf128; cacoshf128; canonicalizef128; cargf128; casinf128; casinhf128; catanf128; catanhf128; cbrtf128; ccosf128; ccoshf128; ceilf128; cexpf128; cimagf128; clog10f128; clogf128; conjf128; copysignf128; cosf128; coshf128; cpowf128; cprojf128; crealf128; csinf128; csinhf128; csqrtf128; ctanf128; ctanhf128; erfcf128; erff128; exp10f128; exp2f128; expf128; expm1f128; fabsf128; fdimf128; floorf128; fmaf128; fmaxf128; fmaxmagf128; fminf128; fminmagf128; fmodf128; frexpf128; fromfpf128; fromfpxf128; getpayloadf128; hypotf128; ilogbf128; j0f128; j1f128; jnf128; ldexpf128; lgammaf128; lgammaf128_r; llogbf128; llrintf128; llroundf128; log10f128; log1pf128; log2f128; logbf128; logf128; lrintf128; lroundf128; modff128; nanf128; nearbyintf128; nextafterf128; nextdownf128; nextupf128; powf128; remainderf128; remquof128; rintf128; roundevenf128; roundf128; scalblnf128; scalbnf128; setpayloadf128; setpayloadsigf128; sincosf128; sinf128; sinhf128; sqrtf128; tanf128; tanhf128; tgammaf128; totalorderf128; totalordermagf128; truncf128; ufromfpf128; ufromfpxf128; y0f128; y1f128; ynf128; } %endif GLIBC_2.27 { expf; exp2f; logf; log2f; powf; # _Float64x functions, only present for some configurations. acosf64x; acoshf64x; asinf64x; asinhf64x; atan2f64x; atanf64x; atanhf64x; cabsf64x; cacosf64x; cacoshf64x; canonicalizef64x; cargf64x; casinf64x; casinhf64x; catanf64x; catanhf64x; cbrtf64x; ccosf64x; ccoshf64x; ceilf64x; cexpf64x; cimagf64x; clog10f64x; clogf64x; conjf64x; copysignf64x; cosf64x; coshf64x; cpowf64x; cprojf64x; crealf64x; csinf64x; csinhf64x; csqrtf64x; ctanf64x; ctanhf64x; erfcf64x; erff64x; exp10f64x; exp2f64x; expf64x; expm1f64x; fabsf64x; fdimf64x; floorf64x; fmaf64x; fmaxf64x; fmaxmagf64x; fminf64x; fminmagf64x; fmodf64x; frexpf64x; fromfpf64x; fromfpxf64x; getpayloadf64x; hypotf64x; ilogbf64x; j0f64x; j1f64x; jnf64x; ldexpf64x; lgammaf64x; lgammaf64x_r; llogbf64x; llrintf64x; llroundf64x; log10f64x; log1pf64x; log2f64x; logbf64x; logf64x; lrintf64x; lroundf64x; modff64x; nanf64x; nearbyintf64x; nextafterf64x; nextdownf64x; nextupf64x; powf64x; remainderf64x; remquof64x; rintf64x; roundevenf64x; roundf64x; scalblnf64x; scalbnf64x; setpayloadf64x; setpayloadsigf64x; sincosf64x; sinf64x; sinhf64x; sqrtf64x; tanf64x; tanhf64x; tgammaf64x; totalorderf64x; totalordermagf64x; truncf64x; ufromfpf64x; ufromfpxf64x; y0f64x; y1f64x; ynf64x; # _Float32, _Float64 and _Float32x functions, for all configurations. acosf32; acosf64; acosf32x; acoshf32; acoshf64; acoshf32x; asinf32; asinf64; asinf32x; asinhf32; asinhf64; asinhf32x; atan2f32; atan2f64; atan2f32x; atanf32; atanf64; atanf32x; atanhf32; atanhf64; atanhf32x; cabsf32; cabsf64; cabsf32x; cacosf32; cacosf64; cacosf32x; cacoshf32; cacoshf64; cacoshf32x; canonicalizef32; canonicalizef64; canonicalizef32x; cargf32; cargf64; cargf32x; casinf32; casinf64; casinf32x; casinhf32; casinhf64; casinhf32x; catanf32; catanf64; catanf32x; catanhf32; catanhf64; catanhf32x; cbrtf32; cbrtf64; cbrtf32x; ccosf32; ccosf64; ccosf32x; ccoshf32; ccoshf64; ccoshf32x; ceilf32; ceilf64; ceilf32x; cexpf32; cexpf64; cexpf32x; cimagf32; cimagf64; cimagf32x; clog10f32; clog10f64; clog10f32x; clogf32; clogf64; clogf32x; conjf32; conjf64; conjf32x; copysignf32; copysignf64; copysignf32x; cosf32; cosf64; cosf32x; coshf32; coshf64; coshf32x; cpowf32; cpowf64; cpowf32x; cprojf32; cprojf64; cprojf32x; crealf32; crealf64; crealf32x; csinf32; csinf64; csinf32x; csinhf32; csinhf64; csinhf32x; csqrtf32; csqrtf64; csqrtf32x; ctanf32; ctanf64; ctanf32x; ctanhf32; ctanhf64; ctanhf32x; erfcf32; erfcf64; erfcf32x; erff32; erff64; erff32x; exp10f32; exp10f64; exp10f32x; exp2f32; exp2f64; exp2f32x; expf32; expf64; expf32x; expm1f32; expm1f64; expm1f32x; fabsf32; fabsf64; fabsf32x; fdimf32; fdimf64; fdimf32x; floorf32; floorf64; floorf32x; fmaf32; fmaf64; fmaf32x; fmaxf32; fmaxf64; fmaxf32x; fmaxmagf32; fmaxmagf64; fmaxmagf32x; fminf32; fminf64; fminf32x; fminmagf32; fminmagf64; fminmagf32x; fmodf32; fmodf64; fmodf32x; frexpf32; frexpf64; frexpf32x; fromfpf32; fromfpf64; fromfpf32x; fromfpxf32; fromfpxf64; fromfpxf32x; getpayloadf32; getpayloadf64; getpayloadf32x; hypotf32; hypotf64; hypotf32x; ilogbf32; ilogbf64; ilogbf32x; j0f32; j0f64; j0f32x; j1f32; j1f64; j1f32x; jnf32; jnf64; jnf32x; ldexpf32; ldexpf64; ldexpf32x; lgammaf32; lgammaf64; lgammaf32x; lgammaf32_r; lgammaf64_r; lgammaf32x_r; llogbf32; llogbf64; llogbf32x; llrintf32; llrintf64; llrintf32x; llroundf32; llroundf64; llroundf32x; log10f32; log10f64; log10f32x; log1pf32; log1pf64; log1pf32x; log2f32; log2f64; log2f32x; logbf32; logbf64; logbf32x; logf32; logf64; logf32x; lrintf32; lrintf64; lrintf32x; lroundf32; lroundf64; lroundf32x; modff32; modff64; modff32x; nanf32; nanf64; nanf32x; nearbyintf32; nearbyintf64; nearbyintf32x; nextafterf32; nextafterf64; nextafterf32x; nextdownf32; nextdownf64; nextdownf32x; nextupf32; nextupf64; nextupf32x; powf32; powf64; powf32x; remainderf32; remainderf64; remainderf32x; remquof32; remquof64; remquof32x; rintf32; rintf64; rintf32x; roundevenf32; roundevenf64; roundevenf32x; roundf32; roundf64; roundf32x; scalblnf32; scalblnf64; scalblnf32x; scalbnf32; scalbnf64; scalbnf32x; setpayloadf32; setpayloadf64; setpayloadf32x; setpayloadsigf32; setpayloadsigf64; setpayloadsigf32x; sincosf32; sincosf64; sincosf32x; sinf32; sinf64; sinf32x; sinhf32; sinhf64; sinhf32x; sqrtf32; sqrtf64; sqrtf32x; tanf32; tanf64; tanf32x; tanhf32; tanhf64; tanhf32x; tgammaf32; tgammaf64; tgammaf32x; totalorderf32; totalorderf64; totalorderf32x; totalordermagf32; totalordermagf64; totalordermagf32x; truncf32; truncf64; truncf32x; ufromfpf32; ufromfpf64; ufromfpf32x; ufromfpxf32; ufromfpxf64; ufromfpxf32x; y0f32; y0f64; y0f32x; y1f32; y1f64; y1f32x; ynf32; ynf64; ynf32x; } GLIBC_2.28 { # Functions not involving _Float64x or _Float128, for all configurations. fadd; faddl; daddl; f32addf32x; f32addf64; f32xaddf64; fdiv; fdivl; ddivl; f32divf32x; f32divf64; f32xdivf64; fmul; fmull; dmull; f32mulf32x; f32mulf64; f32xmulf64; fsub; fsubl; dsubl; f32subf32x; f32subf64; f32xsubf64; # Functions involving _Float64x or _Float128, for some configurations. f32addf64x; f32addf128; f32xaddf64x; f32xaddf128; f64addf64x; f64addf128; f64xaddf128; f32divf64x; f32divf128; f32xdivf64x; f32xdivf128; f64divf64x; f64divf128; f64xdivf128; f32mulf64x; f32mulf128; f32xmulf64x; f32xmulf128; f64mulf64x; f64mulf128; f64xmulf128; f32subf64x; f32subf128; f32xsubf64x; f32xsubf128; f64subf64x; f64subf128; f64xsubf128; } GLIBC_2.29 { # No SVID compatible error handling. exp; exp2; log; log2; pow; } GLIBC_2.31 { # totalorder changed to take pointer arguments. totalorder; totalorderf; totalorderl; totalordermag; totalordermagf; totalordermagl; totalorderf32; totalorderf64; totalorderf32x; totalordermagf32; totalordermagf64; totalordermagf32x; totalorderf64x; totalordermagf64x; totalorderf128; totalordermagf128; } GLIBC_2.32 { exp10f; } GLIBC_2.35 { # Functions not involving _Float64x or _Float128, for all configurations. ffma; ffmal; dfmal; f32fmaf32x; f32fmaf64; f32xfmaf64; fsqrt; fsqrtl; dsqrtl; f32sqrtf32x; f32sqrtf64; f32xsqrtf64; fmaximum; fmaximumf; fmaximuml; fmaximumf32; fmaximumf64; fmaximumf32x; fmaximum_num; fmaximum_numf; fmaximum_numl; fmaximum_numf32; fmaximum_numf64; fmaximum_numf32x; fmaximum_mag; fmaximum_magf; fmaximum_magl; fmaximum_magf32; fmaximum_magf64; fmaximum_magf32x; fmaximum_mag_num; fmaximum_mag_numf; fmaximum_mag_numl; fmaximum_mag_numf32; fmaximum_mag_numf64; fmaximum_mag_numf32x; fminimum; fminimumf; fminimuml; fminimumf32; fminimumf64; fminimumf32x; fminimum_num; fminimum_numf; fminimum_numl; fminimum_numf32; fminimum_numf64; fminimum_numf32x; fminimum_mag; fminimum_magf; fminimum_magl; fminimum_magf32; fminimum_magf64; fminimum_magf32x; fminimum_mag_num; fminimum_mag_numf; fminimum_mag_numl; fminimum_mag_numf32; fminimum_mag_numf64; fminimum_mag_numf32x; # Functions involving _Float64x or _Float128, for some configurations. f32fmaf64x; f32fmaf128; f32xfmaf64x; f32xfmaf128; f64fmaf64x; f64fmaf128; f64xfmaf128; f32sqrtf64x; f32sqrtf128; f32xsqrtf64x; f32xsqrtf128; f64sqrtf64x; f64sqrtf128; f64xsqrtf128; fmaximumf64x; fmaximumf128; fmaximum_numf64x; fmaximum_numf128; fmaximum_magf64x; fmaximum_magf128; fmaximum_mag_numf64x; fmaximum_mag_numf128; fminimumf64x; fminimumf128; fminimum_numf64x; fminimum_numf128; fminimum_magf64x; fminimum_magf128; fminimum_mag_numf64x; fminimum_mag_numf128; # No SVID compatible error handling. hypotf; hypot; } GLIBC_2.38 { # No SVID compatible error handling. fmod; fmodf; } GLIBC_2.39 { # No SVID compatible error handling. exp10; } GLIBC_2.40 { # Functions not involving _Float64x or _Float128, for all configurations. exp2m1; exp2m1f; exp2m1l; exp2m1f32; exp2m1f64; exp2m1f32x; exp10m1; exp10m1f; exp10m1l; exp10m1f32; exp10m1f64; exp10m1f32x; log2p1; log2p1f; log2p1l; log2p1f32; log2p1f64; log2p1f32x; log10p1; log10p1f; log10p1l; log10p1f32; log10p1f64; log10p1f32x; logp1; logp1f; logp1l; logp1f32; logp1f64; logp1f32x; # Functions involving _Float64x or _Float128, for some configurations. exp2m1f64x; exp2m1f128; exp10m1f64x; exp10m1f128; log2p1f64x; log2p1f128; log10p1f64x; log10p1f128; logp1f64x; logp1f128; } GLIBC_2.41 { # Functions not involving _Float64x or _Float128, for all configurations. acospi; acospif; acospil; acospif32; acospif64; acospif32x; asinpi; asinpif; asinpil; asinpif32; asinpif64; asinpif32x; atan2pi; atan2pif; atan2pil; atan2pif32; atan2pif64; atan2pif32x; atanpi; atanpif; atanpil; atanpif32; atanpif64; atanpif32x; cospi; cospif; cospil; cospif32; cospif64; cospif32x; sinpi; sinpif; sinpil; sinpif32; sinpif64; sinpif32x; tanpi; tanpif; tanpil; tanpif32; tanpif64; tanpif32x; # Functions involving _Float64x or _Float128, for some configurations. acospif64x; acospif128; asinpif64x; asinpif128; atan2pif64x; atan2pif128; atanpif64x; atanpif128; cospif64x; cospif128; sinpif64x; sinpif128; tanpif64x; tanpif128; } }