1%include <float128-abi.h> 2libc { 3 GLIBC_2.0 { 4 # functions used in inline functions or macros 5 __isnan; __isnanf; __isnanl; __finite; __finitef; __finitel; 6 __isinf; __isinff; __isinfl; 7 8 # global variables 9 __fpu_control; 10 11 # c* 12 copysign; copysignf; copysignl; 13 14 # f* 15 finite; finitef; finitel; frexp; frexpf; frexpl; 16 17 # i* 18 isinf; isinff; isinfl; isnan; isnanf; isnanl; ldexp; ldexpf; ldexpl; 19 20 # m* 21 modf; modff; modfl; 22 23 # s* 24 scalbn; scalbnf; scalbnl; 25 } 26 GLIBC_2.1 { 27 # functions used in inline functions or macros 28 __signbit; __signbitf; __signbitl; 29 30 # s* 31 scalbln; scalblnf; scalblnl; 32 } 33 GLIBC_2.20 { 34 } 35} 36 37libm { 38 GLIBC_2.0 { 39 # mathematical functions 40 acos; acosf; acosl; 41 acosh; acoshf; acoshl; 42 asin; asinf; asinl; 43 asinh; asinhf; asinhl; 44 atan2; atan2f; atan2l; 45 atan; atanf; atanl; 46 atanh; atanhf; atanhl; 47 cbrt; cbrtf; cbrtl; 48 ceil; ceilf; ceill; 49 copysign; copysignf; copysignl; 50 cos; cosf; cosl; 51 coshf; cosh; coshl; 52 drem; dremf; dreml; 53 erf; erff; erfl; 54 erfc; erfcf; erfcl; 55 exp; expf; expl; 56 expm1; expm1f; expm1l; 57 fabs; fabsf; fabsl; 58 finite; finitef; finitel; 59 floor; floorf; floorl; 60 fmod; fmodf; fmodl; 61 frexp; frexpf; frexpl; 62 gamma; gammaf; gammal; 63 gamma_r; gammaf_r; gammal_r; 64 hypot; hypotf; hypotl; 65 ilogb; ilogbf; ilogbl; 66 j0; j0f; j0l; 67 j1; j1f; j1l; 68 jn; jnf; jnl; 69 ldexp; ldexpf; ldexpl; 70 lgamma; lgammaf; lgammal; 71 lgamma_r; lgammaf_r; lgammal_r; 72 log10; log10f; log10l; 73 log1p; log1pf; log1pl; 74 log; logf; logl; 75 logb; logbf; logbl; 76 matherr; 77 modf; modff; modfl; 78 nextafter; nextafterf; nextafterl; 79 pow; powf; powl; 80 remainder; remainderf; remainderl; 81 rint; rintf; rintl; 82 scalb; scalbf; scalbl; 83 scalbn; scalbnf; scalbnl; 84 significand; significandf; significandl; 85 sin; sinf; sinl; 86 sinh; sinhf; sinhl; 87 sqrt; sqrtf; sqrtl; 88 tan; tanf; tanl; 89 tanh; tanhf; tanhl; 90 y0; y0f; y0l; 91 y1; y1f; y1l; 92 yn; ynf; ynl; 93 94 95 # global variables 96 _LIB_VERSION; signgam; 97 } 98 GLIBC_2.1 { 99 # mathematical functions 100 exp2; exp2f; # exp2l; -- bug omitted this until GLIBC_2.4 (below) 101 exp10; exp10f; exp10l; 102 fdim; fdimf; fdiml; 103 fma; fmaf; fmal; 104 fmax; fmaxf; fmaxl; 105 fmin; fminf; fminl; 106 log2; log2f; log2l; 107 nan; nanf; nanl; 108 nearbyint; nearbyintf; nearbyintl; 109 nexttoward; nexttowardf; nexttowardl; 110 pow10; pow10f; pow10l; 111 remquo; remquof; remquol; 112 lrint; lrintf; lrintl; 113 llrint; llrintf; llrintl; 114 round; roundf; roundl; 115 lround; lroundf; lroundl; 116 llround; llroundf; llroundl; 117 scalbln; scalblnf; scalblnl; 118 sincos; sincosf; sincosl; 119 trunc; truncf; truncl; 120 tgamma; tgammaf; tgammal; 121 122 # complex functions 123 cabs; cabsf; cabsl; 124 cacos; cacosf; cacosl; 125 cacosh; cacoshf; cacoshl; 126 carg; cargf; cargl; 127 casin; casinf; casinl; 128 casinh; casinhf; casinhl; 129 catan; catanf; catanl; 130 catanh; catanhf; catanhl; 131 ccos; ccosf; ccosl; 132 ccosh; ccoshf; ccoshl; 133 cexp; cexpf; cexpl; 134 cimag; cimagf; cimagl; 135 clog; clogf; clogl; 136 clog10; clog10f; clog10l; 137 __clog10; __clog10f; __clog10l; 138 conj; conjf; conjl; 139 cpow; cpowf; cpowl; 140 cproj; cprojf; cprojl; 141 creal; crealf; creall; 142 csin; csinf; csinl; 143 csinh; csinhf; csinhl; 144 csqrt; csqrtf; csqrtl; 145 ctan; ctanf; ctanl; 146 ctanh; ctanhf; ctanhl; 147 148 # fp environment functions 149 feclearexcept; fegetenv; fegetexceptflag; 150 fegetround; feholdexcept; feraiseexcept; 151 fesetenv; fesetexceptflag; fesetround; 152 fetestexcept; feupdateenv; 153 154 # functions used in inline functions or macros 155 __finite; __finitef; __finitel; 156 __fpclassify; __fpclassifyf; __fpclassifyl; 157 __signbit; __signbitf; __signbitl; 158 } 159 GLIBC_2.2 { 160 # fp environment functions changes from ISO C99 TR1 161 feclearexcept; fegetenv; fegetexceptflag; feraiseexcept; 162 fesetenv; fesetexceptflag; feupdateenv; 163 164 # fp environment function 165 feenableexcept; fedisableexcept; fegetexcept; 166 } 167 GLIBC_2.4 { 168 # A bug in sysdeps/generic/w_exp2.c kept this from appearing 169 # in GLIBC_2.1 as it should have on platforms using that 170 # implementation file. On others, sysdeps/CPU/Versions now 171 # puts exp2l in GLIBC_2.1, which will override this entry. 172 exp2l; 173 } 174 GLIBC_2.15 { 175 # Optimized -ffinite-math-only entry points 176 __acos_finite; __acosf_finite; __acosl_finite; 177 __acosh_finite; __acoshf_finite; __acoshl_finite; 178 __asin_finite; __asinf_finite; __asinl_finite; 179 __atan2_finite; __atan2f_finite; __atan2l_finite; 180 __atanh_finite; __atanhf_finite; __atanhl_finite; 181 __cosh_finite; __coshf_finite; __coshl_finite; 182 __exp10_finite; __exp10f_finite; __exp10l_finite; 183 __exp2_finite; __exp2f_finite; __exp2l_finite; 184 __fmod_finite; __fmodf_finite; __fmodl_finite; 185 __hypot_finite; __hypotf_finite; __hypotl_finite; 186 __j0_finite; __j0f_finite; __j0l_finite; 187 __y0_finite; __y0f_finite; __y0l_finite; 188 __j1_finite; __j1f_finite; __j1l_finite; 189 __y1_finite; __y1f_finite; __y1l_finite; 190 __jn_finite; __jnf_finite; __jnl_finite; 191 __yn_finite; __ynf_finite; __ynl_finite; 192 __lgamma_r_finite; __lgammaf_r_finite; __lgammal_r_finite; 193 __log_finite; __logf_finite; __logl_finite; 194 __log10_finite; __log10f_finite; __log10l_finite; 195 __log2_finite; __log2f_finite; __log2l_finite; 196 __pow_finite; __powf_finite; __powl_finite; 197 __remainder_finite; __remainderf_finite; __remainderl_finite; 198 __scalb_finite; __scalbf_finite; __scalbl_finite; 199 __sinh_finite; __sinhf_finite; __sinhl_finite; 200 __sqrt_finite; __sqrtf_finite; __sqrtl_finite; 201 __gamma_r_finite; __gammaf_r_finite; __gammal_r_finite; 202 __exp_finite; __expf_finite; __expl_finite; 203 } 204 GLIBC_2.18 { 205 __issignaling; __issignalingf; __issignalingl; 206 } 207 GLIBC_2.23 { 208 # The __signgam name must be exported for the signgam weak alias 209 # to work. New symbol versions of lgamma* that set __signgam are 210 # needed to preserve compatibility with old binaries that have a 211 # dynamic symbol for signgam but not __signgam. 212 lgamma; lgammaf; lgammal; __signgam; 213 } 214 GLIBC_2.24 { 215 nextup; nextupf; nextupl; 216 nextdown; nextdownf; nextdownl; 217 } 218 GLIBC_2.25 { 219 fesetexcept; fetestexceptflag; fegetmode; fesetmode; 220 __iscanonicall; __iseqsigf; __iseqsig; __iseqsigl; 221 totalorder; totalorderf; totalorderl; 222 totalordermag; totalordermagf; totalordermagl; 223 getpayload; getpayloadf; getpayloadl; 224 canonicalize; canonicalizef; canonicalizel; 225 setpayload; setpayloadf; setpayloadl; 226 setpayloadsig; setpayloadsigf; setpayloadsigl; 227 llogb; llogbf; llogbl; 228 fmaxmag; fmaxmagf; fmaxmagl; fminmag; fminmagf; fminmagl; 229 roundeven; roundevenf; roundevenl; 230 fromfp; fromfpf; fromfpl; ufromfp; ufromfpf; ufromfpl; 231 fromfpx; fromfpxf; fromfpxl; ufromfpx; ufromfpxf; ufromfpxl; 232 } 233%ifdef FLOAT128_VERSION 234 FLOAT128_VERSION { 235 acosf128; 236 acoshf128; 237 asinf128; 238 asinhf128; 239 atan2f128; 240 atanf128; 241 atanhf128; 242 cabsf128; 243 cacosf128; 244 cacoshf128; 245 canonicalizef128; 246 cargf128; 247 casinf128; 248 casinhf128; 249 catanf128; 250 catanhf128; 251 cbrtf128; 252 ccosf128; 253 ccoshf128; 254 ceilf128; 255 cexpf128; 256 cimagf128; 257 clog10f128; 258 clogf128; 259 conjf128; 260 copysignf128; 261 cosf128; 262 coshf128; 263 cpowf128; 264 cprojf128; 265 crealf128; 266 csinf128; 267 csinhf128; 268 csqrtf128; 269 ctanf128; 270 ctanhf128; 271 erfcf128; 272 erff128; 273 exp10f128; 274 exp2f128; 275 expf128; 276 expm1f128; 277 fabsf128; 278 fdimf128; 279 floorf128; 280 fmaf128; 281 fmaxf128; 282 fmaxmagf128; 283 fminf128; 284 fminmagf128; 285 fmodf128; 286 frexpf128; 287 fromfpf128; 288 fromfpxf128; 289 getpayloadf128; 290 hypotf128; 291 ilogbf128; 292 j0f128; 293 j1f128; 294 jnf128; 295 ldexpf128; 296 lgammaf128; 297 lgammaf128_r; 298 llogbf128; 299 llrintf128; 300 llroundf128; 301 log10f128; 302 log1pf128; 303 log2f128; 304 logbf128; 305 logf128; 306 lrintf128; 307 lroundf128; 308 modff128; 309 nanf128; 310 nearbyintf128; 311 nextafterf128; 312 nextdownf128; 313 nextupf128; 314 powf128; 315 remainderf128; 316 remquof128; 317 rintf128; 318 roundevenf128; 319 roundf128; 320 scalblnf128; 321 scalbnf128; 322 setpayloadf128; 323 setpayloadsigf128; 324 sincosf128; 325 sinf128; 326 sinhf128; 327 sqrtf128; 328 tanf128; 329 tanhf128; 330 tgammaf128; 331 totalorderf128; 332 totalordermagf128; 333 truncf128; 334 ufromfpf128; 335 ufromfpxf128; 336 y0f128; 337 y1f128; 338 ynf128; 339 } 340%endif 341 GLIBC_2.27 { 342 expf; exp2f; logf; log2f; powf; 343 # _Float64x functions, only present for some configurations. 344 acosf64x; 345 acoshf64x; 346 asinf64x; 347 asinhf64x; 348 atan2f64x; 349 atanf64x; 350 atanhf64x; 351 cabsf64x; 352 cacosf64x; 353 cacoshf64x; 354 canonicalizef64x; 355 cargf64x; 356 casinf64x; 357 casinhf64x; 358 catanf64x; 359 catanhf64x; 360 cbrtf64x; 361 ccosf64x; 362 ccoshf64x; 363 ceilf64x; 364 cexpf64x; 365 cimagf64x; 366 clog10f64x; 367 clogf64x; 368 conjf64x; 369 copysignf64x; 370 cosf64x; 371 coshf64x; 372 cpowf64x; 373 cprojf64x; 374 crealf64x; 375 csinf64x; 376 csinhf64x; 377 csqrtf64x; 378 ctanf64x; 379 ctanhf64x; 380 erfcf64x; 381 erff64x; 382 exp10f64x; 383 exp2f64x; 384 expf64x; 385 expm1f64x; 386 fabsf64x; 387 fdimf64x; 388 floorf64x; 389 fmaf64x; 390 fmaxf64x; 391 fmaxmagf64x; 392 fminf64x; 393 fminmagf64x; 394 fmodf64x; 395 frexpf64x; 396 fromfpf64x; 397 fromfpxf64x; 398 getpayloadf64x; 399 hypotf64x; 400 ilogbf64x; 401 j0f64x; 402 j1f64x; 403 jnf64x; 404 ldexpf64x; 405 lgammaf64x; 406 lgammaf64x_r; 407 llogbf64x; 408 llrintf64x; 409 llroundf64x; 410 log10f64x; 411 log1pf64x; 412 log2f64x; 413 logbf64x; 414 logf64x; 415 lrintf64x; 416 lroundf64x; 417 modff64x; 418 nanf64x; 419 nearbyintf64x; 420 nextafterf64x; 421 nextdownf64x; 422 nextupf64x; 423 powf64x; 424 remainderf64x; 425 remquof64x; 426 rintf64x; 427 roundevenf64x; 428 roundf64x; 429 scalblnf64x; 430 scalbnf64x; 431 setpayloadf64x; 432 setpayloadsigf64x; 433 sincosf64x; 434 sinf64x; 435 sinhf64x; 436 sqrtf64x; 437 tanf64x; 438 tanhf64x; 439 tgammaf64x; 440 totalorderf64x; 441 totalordermagf64x; 442 truncf64x; 443 ufromfpf64x; 444 ufromfpxf64x; 445 y0f64x; 446 y1f64x; 447 ynf64x; 448 # _Float32, _Float64 and _Float32x functions, for all configurations. 449 acosf32; acosf64; acosf32x; 450 acoshf32; acoshf64; acoshf32x; 451 asinf32; asinf64; asinf32x; 452 asinhf32; asinhf64; asinhf32x; 453 atan2f32; atan2f64; atan2f32x; 454 atanf32; atanf64; atanf32x; 455 atanhf32; atanhf64; atanhf32x; 456 cabsf32; cabsf64; cabsf32x; 457 cacosf32; cacosf64; cacosf32x; 458 cacoshf32; cacoshf64; cacoshf32x; 459 canonicalizef32; canonicalizef64; canonicalizef32x; 460 cargf32; cargf64; cargf32x; 461 casinf32; casinf64; casinf32x; 462 casinhf32; casinhf64; casinhf32x; 463 catanf32; catanf64; catanf32x; 464 catanhf32; catanhf64; catanhf32x; 465 cbrtf32; cbrtf64; cbrtf32x; 466 ccosf32; ccosf64; ccosf32x; 467 ccoshf32; ccoshf64; ccoshf32x; 468 ceilf32; ceilf64; ceilf32x; 469 cexpf32; cexpf64; cexpf32x; 470 cimagf32; cimagf64; cimagf32x; 471 clog10f32; clog10f64; clog10f32x; 472 clogf32; clogf64; clogf32x; 473 conjf32; conjf64; conjf32x; 474 copysignf32; copysignf64; copysignf32x; 475 cosf32; cosf64; cosf32x; 476 coshf32; coshf64; coshf32x; 477 cpowf32; cpowf64; cpowf32x; 478 cprojf32; cprojf64; cprojf32x; 479 crealf32; crealf64; crealf32x; 480 csinf32; csinf64; csinf32x; 481 csinhf32; csinhf64; csinhf32x; 482 csqrtf32; csqrtf64; csqrtf32x; 483 ctanf32; ctanf64; ctanf32x; 484 ctanhf32; ctanhf64; ctanhf32x; 485 erfcf32; erfcf64; erfcf32x; 486 erff32; erff64; erff32x; 487 exp10f32; exp10f64; exp10f32x; 488 exp2f32; exp2f64; exp2f32x; 489 expf32; expf64; expf32x; 490 expm1f32; expm1f64; expm1f32x; 491 fabsf32; fabsf64; fabsf32x; 492 fdimf32; fdimf64; fdimf32x; 493 floorf32; floorf64; floorf32x; 494 fmaf32; fmaf64; fmaf32x; 495 fmaxf32; fmaxf64; fmaxf32x; 496 fmaxmagf32; fmaxmagf64; fmaxmagf32x; 497 fminf32; fminf64; fminf32x; 498 fminmagf32; fminmagf64; fminmagf32x; 499 fmodf32; fmodf64; fmodf32x; 500 frexpf32; frexpf64; frexpf32x; 501 fromfpf32; fromfpf64; fromfpf32x; 502 fromfpxf32; fromfpxf64; fromfpxf32x; 503 getpayloadf32; getpayloadf64; getpayloadf32x; 504 hypotf32; hypotf64; hypotf32x; 505 ilogbf32; ilogbf64; ilogbf32x; 506 j0f32; j0f64; j0f32x; 507 j1f32; j1f64; j1f32x; 508 jnf32; jnf64; jnf32x; 509 ldexpf32; ldexpf64; ldexpf32x; 510 lgammaf32; lgammaf64; lgammaf32x; 511 lgammaf32_r; lgammaf64_r; lgammaf32x_r; 512 llogbf32; llogbf64; llogbf32x; 513 llrintf32; llrintf64; llrintf32x; 514 llroundf32; llroundf64; llroundf32x; 515 log10f32; log10f64; log10f32x; 516 log1pf32; log1pf64; log1pf32x; 517 log2f32; log2f64; log2f32x; 518 logbf32; logbf64; logbf32x; 519 logf32; logf64; logf32x; 520 lrintf32; lrintf64; lrintf32x; 521 lroundf32; lroundf64; lroundf32x; 522 modff32; modff64; modff32x; 523 nanf32; nanf64; nanf32x; 524 nearbyintf32; nearbyintf64; nearbyintf32x; 525 nextafterf32; nextafterf64; nextafterf32x; 526 nextdownf32; nextdownf64; nextdownf32x; 527 nextupf32; nextupf64; nextupf32x; 528 powf32; powf64; powf32x; 529 remainderf32; remainderf64; remainderf32x; 530 remquof32; remquof64; remquof32x; 531 rintf32; rintf64; rintf32x; 532 roundevenf32; roundevenf64; roundevenf32x; 533 roundf32; roundf64; roundf32x; 534 scalblnf32; scalblnf64; scalblnf32x; 535 scalbnf32; scalbnf64; scalbnf32x; 536 setpayloadf32; setpayloadf64; setpayloadf32x; 537 setpayloadsigf32; setpayloadsigf64; setpayloadsigf32x; 538 sincosf32; sincosf64; sincosf32x; 539 sinf32; sinf64; sinf32x; 540 sinhf32; sinhf64; sinhf32x; 541 sqrtf32; sqrtf64; sqrtf32x; 542 tanf32; tanf64; tanf32x; 543 tanhf32; tanhf64; tanhf32x; 544 tgammaf32; tgammaf64; tgammaf32x; 545 totalorderf32; totalorderf64; totalorderf32x; 546 totalordermagf32; totalordermagf64; totalordermagf32x; 547 truncf32; truncf64; truncf32x; 548 ufromfpf32; ufromfpf64; ufromfpf32x; 549 ufromfpxf32; ufromfpxf64; ufromfpxf32x; 550 y0f32; y0f64; y0f32x; 551 y1f32; y1f64; y1f32x; 552 ynf32; ynf64; ynf32x; 553 } 554 GLIBC_2.28 { 555 # Functions not involving _Float64x or _Float128, for all configurations. 556 fadd; faddl; daddl; 557 f32addf32x; f32addf64; f32xaddf64; 558 fdiv; fdivl; ddivl; 559 f32divf32x; f32divf64; f32xdivf64; 560 fmul; fmull; dmull; 561 f32mulf32x; f32mulf64; f32xmulf64; 562 fsub; fsubl; dsubl; 563 f32subf32x; f32subf64; f32xsubf64; 564 # Functions involving _Float64x or _Float128, for some configurations. 565 f32addf64x; f32addf128; 566 f32xaddf64x; f32xaddf128; f64addf64x; f64addf128; 567 f64xaddf128; 568 f32divf64x; f32divf128; 569 f32xdivf64x; f32xdivf128; f64divf64x; f64divf128; 570 f64xdivf128; 571 f32mulf64x; f32mulf128; 572 f32xmulf64x; f32xmulf128; f64mulf64x; f64mulf128; 573 f64xmulf128; 574 f32subf64x; f32subf128; 575 f32xsubf64x; f32xsubf128; f64subf64x; f64subf128; 576 f64xsubf128; 577 } 578 GLIBC_2.29 { 579 # No SVID compatible error handling. 580 exp; exp2; log; log2; pow; 581 } 582 GLIBC_2.31 { 583 # totalorder changed to take pointer arguments. 584 totalorder; totalorderf; totalorderl; 585 totalordermag; totalordermagf; totalordermagl; 586 totalorderf32; totalorderf64; totalorderf32x; 587 totalordermagf32; totalordermagf64; totalordermagf32x; 588 totalorderf64x; 589 totalordermagf64x; 590 totalorderf128; 591 totalordermagf128; 592 } 593 GLIBC_2.32 { 594 exp10f; 595 } 596 GLIBC_2.35 { 597 # Functions not involving _Float64x or _Float128, for all configurations. 598 ffma; ffmal; dfmal; 599 f32fmaf32x; f32fmaf64; f32xfmaf64; 600 fsqrt; fsqrtl; dsqrtl; 601 f32sqrtf32x; f32sqrtf64; f32xsqrtf64; 602 fmaximum; fmaximumf; fmaximuml; fmaximumf32; fmaximumf64; fmaximumf32x; 603 fmaximum_num; fmaximum_numf; fmaximum_numl; 604 fmaximum_numf32; fmaximum_numf64; fmaximum_numf32x; 605 fmaximum_mag; fmaximum_magf; fmaximum_magl; 606 fmaximum_magf32; fmaximum_magf64; fmaximum_magf32x; 607 fmaximum_mag_num; fmaximum_mag_numf; fmaximum_mag_numl; 608 fmaximum_mag_numf32; fmaximum_mag_numf64; fmaximum_mag_numf32x; 609 fminimum; fminimumf; fminimuml; fminimumf32; fminimumf64; fminimumf32x; 610 fminimum_num; fminimum_numf; fminimum_numl; 611 fminimum_numf32; fminimum_numf64; fminimum_numf32x; 612 fminimum_mag; fminimum_magf; fminimum_magl; 613 fminimum_magf32; fminimum_magf64; fminimum_magf32x; 614 fminimum_mag_num; fminimum_mag_numf; fminimum_mag_numl; 615 fminimum_mag_numf32; fminimum_mag_numf64; fminimum_mag_numf32x; 616 # Functions involving _Float64x or _Float128, for some configurations. 617 f32fmaf64x; f32fmaf128; 618 f32xfmaf64x; f32xfmaf128; f64fmaf64x; f64fmaf128; 619 f64xfmaf128; 620 f32sqrtf64x; f32sqrtf128; 621 f32xsqrtf64x; f32xsqrtf128; f64sqrtf64x; f64sqrtf128; 622 f64xsqrtf128; 623 fmaximumf64x; fmaximumf128; 624 fmaximum_numf64x; fmaximum_numf128; 625 fmaximum_magf64x; fmaximum_magf128; 626 fmaximum_mag_numf64x; fmaximum_mag_numf128; 627 fminimumf64x; fminimumf128; 628 fminimum_numf64x; fminimum_numf128; 629 fminimum_magf64x; fminimum_magf128; 630 fminimum_mag_numf64x; fminimum_mag_numf128; 631 # No SVID compatible error handling. 632 hypotf; hypot; 633 } 634} 635