1 # 2 # CDDL HEADER START 3 # 4 # The contents of this file are subject to the terms of the 5 # Common Development and Distribution License (the "License"). 6 # You may not use this file except in compliance with the License. 7 # 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 # or http://www.opensolaris.org/os/licensing. 10 # See the License for the specific language governing permissions 11 # and limitations under the License. 12 # 13 # When distributing Covered Code, include this CDDL HEADER in each 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 # If applicable, add the following below this CDDL HEADER, with the 16 # fields enclosed by brackets "[]" replaced with your own identifying 17 # information: Portions Copyright [yyyy] [name of copyright owner] 18 # 19 # CDDL HEADER END 20 # 21 # Copyright 2011 Nexenta Systems, Inc. All rights reserved. 22 # 23 # Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24 # Use is subject to license terms. 25 # 26 # Interface definition for libm.so.2 27 # 28 # For information regarding the establishment of versioned definitions see: 29 # The Linker and Libraries Manual (version 2.5 or greater) 30 # This is part of the Developers Guide in the Answerbook. Specifically refer 31 # to Chapter 2 under section "Defining Additional Symbols" through section 32 # "Reducing Symbol Scope", and Chapter 5 "Versioning". 33 # 34 # For specific rules for the modification (evolution) of these version 35 # definitions see: 36 # psarc_1995_14: Integration of Scoped Libraries 37 # (/shared/sac/PSARC/1995/014) 38 # Policy for Shared Library Version Names and Interface Definitions 39 # (/shared/ON/general_docs/scoping-rules.ps) 40 41 $mapfile_version 2 42 43 $if _ELF32 44 $add lf64 45 $endif 46 $if _sparc && _ELF32 47 $add sparc32 48 $endif 49 $if _sparc && _ELF64 50 $add sparcv9 51 $endif 52 $if _x86 && _ELF32 53 $add i386 54 $endif 55 $if _x86 && _ELF64 56 $add amd64 57 $endif 58 59 SYMBOL_VERSION SUNW_1.3 { 60 global: 61 __isnanf; #LSARC/2003/658 62 __isnanl; #LSARC/2003/658 63 _isnan { FLAGS = NODYNSORT }; #LSARC/2003/658 64 _isnand { FLAGS = NODYNSORT }; #LSARC/2003/658 65 _isnanf { FLAGS = NODYNSORT }; #LSARC/2003/658 66 _logb { FLAGS = NODYNSORT }; #LSARC/2003/658 67 _modf { FLAGS = NODYNSORT }; #LSARC/2003/658 68 _modff { FLAGS = NODYNSORT }; #LSARC/2003/658 69 _nextafter { FLAGS = NODYNSORT }; #LSARC/2003/658 70 _scalb { FLAGS = NODYNSORT }; #LSARC/2003/658 71 isnand { FLAGS = NODYNSORT }; #LSARC/2003/658 72 isnanf; #LSARC/2003/658 73 isnanl; #LSARC/2003/658 74 } SUNW_1.2; 75 76 SYMBOL_VERSION SUNW_1.2 { 77 global: 78 __acoshf; 79 __acoshl; 80 __asinhf; 81 __asinhl; 82 __atanhf; 83 __atanhl; 84 __cabs; 85 __cabsf; 86 __cabsl; 87 __cacos; 88 __cacosf; 89 __cacosh; 90 __cacoshf; 91 __cacoshl; 92 __cacosl; 93 __carg; 94 __cargf; 95 __cargl; 96 __casin; 97 __casinf; 98 __casinh; 99 __casinhf; 100 __casinhl; 101 __casinl; 102 __catan; 103 __catanf; 104 __catanh; 105 __catanhf; 106 __catanhl; 107 __catanl; 108 __cbrtf; 109 __cbrtl; 110 __ccos; 111 __ccosf; 112 __ccosh; 113 __ccoshf; 114 __ccoshl; 115 __ccosl; 116 __cexp; 117 __cexpf; 118 __cexpl; 119 __cimag; 120 __cimagf; 121 __cimagl; 122 __clog; 123 __clogf; 124 __clogl; 125 __conj; 126 __conjf; 127 __conjl; 128 __copysignf; 129 __copysignl; 130 __cpow; 131 __cpowf; 132 __cpowl; 133 __cproj; 134 __cprojf; 135 __cprojl; 136 __creal; 137 __crealf; 138 __creall; 139 __csin; 140 __csinf; 141 __csinh; 142 __csinhf; 143 __csinhl; 144 __csinl; 145 __csqrt; 146 __csqrtf; 147 __csqrtl; 148 __ctan; 149 __ctanf; 150 __ctanh; 151 __ctanhf; 152 __ctanhl; 153 __ctanl; 154 __erfcf; 155 __erfcl; 156 __erff; 157 __erfl; 158 __exp2; 159 __exp2f; 160 __exp2l; 161 __expm1f; 162 __expm1l; 163 __fdim; 164 __fdimf; 165 __fdiml; 166 __feclearexcept; 167 __fegetenv; 168 __fegetexceptflag; 169 $if _x86 170 __fegetprec; #LSARC/1996/175 171 $endif 172 __fegetround; 173 __feholdexcept; 174 __fenv_dfl_env; #LSARC/1996/175 175 __feraiseexcept; 176 __fesetenv; 177 __fesetexceptflag; 178 $if _x86 179 __fesetprec; #LSARC/1996/175 180 $endif 181 __fesetround; 182 __fetestexcept; 183 __feupdateenv; 184 __fex_get_handling; #LSARC/1996/175 185 __fex_get_log; #LSARC/1996/175 186 __fex_get_log_depth; #LSARC/1996/175 187 __fex_getexcepthandler; #LSARC/1996/175 188 __fex_log_entry; #LSARC/1996/175 189 __fex_merge_flags; #LSARC/1996/175 190 __fex_set_handling; #LSARC/1996/175 191 __fex_set_log; #LSARC/1996/175 192 __fex_set_log_depth; #LSARC/1996/175 193 __fex_setexcepthandler; #LSARC/1996/175 194 __fma; 195 __fmaf; 196 __fmal; 197 __fmax; 198 __fmaxf; 199 __fmaxl; 200 __fmin; 201 __fminf; 202 __fminl; 203 __frexp; 204 __gammaf; #LSARC/2003/279 205 __gammaf_r; #LSARC/2003/279 206 __gammal; #LSARC/2003/279 207 __gammal_r; #LSARC/2003/279 208 __hypotf; 209 __hypotl; 210 __ilogbf; 211 __ilogbl; 212 __j0f; #LSARC/2003/279 213 __j0l; #LSARC/2003/279 214 __j1f; #LSARC/2003/279 215 __j1l; #LSARC/2003/279 216 __jnf; #LSARC/2003/279 217 __jnl; #LSARC/2003/279 218 __ldexp; 219 __lgammaf; 220 __lgammaf_r; #LSARC/2003/279 221 __lgammal; 222 __lgammal_r; #LSARC/2003/279 223 __llrint; 224 __llrintf; 225 __llrintl; 226 __llround; 227 __llroundf; 228 __llroundl; 229 __log1pf; 230 __log1pl; 231 __log2; 232 __log2f; 233 __log2l; 234 __logbf; 235 __logbl; 236 $if amd64 || sparcv9 237 __lrint { FLAGS = NODYNSORT }; 238 __lrintf { FLAGS = NODYNSORT }; 239 __lrintl { FLAGS = NODYNSORT }; 240 __lround { FLAGS = NODYNSORT }; 241 __lroundf { FLAGS = NODYNSORT }; 242 __lroundl { FLAGS = NODYNSORT }; 243 $else 244 __lrint; 245 __lrintf; 246 __lrintl; 247 __lround; 248 __lroundf; 249 __lroundl; 250 $endif 251 __modf; 252 __nan; 253 __nanf; 254 __nanl; 255 __nearbyint; 256 __nearbyintf; 257 __nearbyintl; 258 __nextafterf; 259 __nextafterl; 260 __nexttoward; 261 __nexttowardf; 262 __nexttowardl; 263 __remainderf; 264 __remainderl; 265 __remquo; 266 __remquof; 267 __remquol; 268 __rintf; 269 __rintl; 270 __round; 271 __roundf; 272 __roundl; 273 __scalbf; #LSARC/2003/279 274 __scalbl; #LSARC/2003/279 275 __scalbln; 276 __scalblnf; 277 __scalblnl; 278 __scalbnf; 279 __scalbnl; 280 __signgamf; #LSARC/2003/279 281 __signgaml; #LSARC/2003/279 282 __significandf; #LSARC/2003/279 283 __significandl; #LSARC/2003/279 284 __sincos; #LSARC/2003/279 285 __sincosf; #LSARC/2003/279 286 __sincosl; #LSARC/2003/279 287 __tgamma; 288 __tgammaf; 289 __tgammal; 290 __trunc; 291 __truncf; 292 __truncl; 293 __xpg6 { FLAGS = NODIRECT }; #private contract with libc group 294 __y0f; #LSARC/2003/279 295 __y0l; #LSARC/2003/279 296 __y1f; #LSARC/2003/279 297 __y1l; #LSARC/2003/279 298 __ynf; #LSARC/2003/279 299 __ynl; #LSARC/2003/279 300 acosf; 301 acoshf; 302 acoshl; 303 acosl; 304 asinf; 305 asinhf; 306 asinhl; 307 asinl; 308 atan2f; 309 atan2l; 310 atanf; 311 atanhf; 312 atanhl; 313 atanl; 314 cabs; 315 cabsf; 316 cabsl; 317 cacos; 318 cacosf; 319 cacosh; 320 cacoshf; 321 cacoshl; 322 cacosl; 323 carg; 324 cargf; 325 cargl; 326 casin; 327 casinf; 328 casinh; 329 casinhf; 330 casinhl; 331 casinl; 332 catan; 333 catanf; 334 catanh; 335 catanhf; 336 catanhl; 337 catanl; 338 cbrtf; 339 cbrtl; 340 ccos; 341 ccosf; 342 ccosh; 343 ccoshf; 344 ccoshl; 345 ccosl; 346 ceilf; 347 ceill; 348 cexp; 349 cexpf; 350 cexpl; 351 cimag; 352 cimagf; 353 cimagl; 354 clog; 355 clogf; 356 clogl; 357 conj; 358 conjf; 359 conjl; 360 copysignf; 361 copysignl; 362 cosf; 363 coshf; 364 coshl; 365 cosl; 366 cpow; 367 cpowf; 368 cpowl; 369 cproj; 370 cprojf; 371 cprojl; 372 creal; 373 crealf; 374 creall; 375 csin; 376 csinf; 377 csinh; 378 csinhf; 379 csinhl; 380 csinl; 381 csqrt; 382 csqrtf; 383 csqrtl; 384 ctan; 385 ctanf; 386 ctanh; 387 ctanhf; 388 ctanhl; 389 ctanl; 390 erfcf; 391 erfcl; 392 erff; 393 erfl; 394 exp2; 395 exp2f; 396 exp2l; 397 expf; 398 expl; 399 expm1f; 400 expm1l; 401 fabsf; 402 fabsl; 403 fdim; 404 fdimf; 405 fdiml; 406 feclearexcept; 407 fegetenv; 408 fegetexceptflag; 409 $if _x86 410 fegetprec; #LSARC/1996/175 411 $endif 412 fegetround; 413 feholdexcept; 414 feraiseexcept; 415 fesetenv; 416 fesetexceptflag; 417 $if _x86 418 fesetprec; #LSARC/1996/175 419 $endif 420 fesetround; 421 fetestexcept; 422 feupdateenv; 423 fex_get_handling; #LSARC/1996/175 424 fex_get_log; #LSARC/1996/175 425 fex_get_log_depth; #LSARC/1996/175 426 fex_getexcepthandler; #LSARC/1996/175 427 fex_log_entry; #LSARC/1996/175 428 fex_merge_flags; #LSARC/1996/175 429 fex_set_handling; #LSARC/1996/175 430 fex_set_log; #LSARC/1996/175 431 fex_set_log_depth; #LSARC/1996/175 432 fex_setexcepthandler; #LSARC/1996/175 433 floorf; 434 floorl; 435 fma; 436 fmaf; 437 fmal; 438 fmax; 439 fmaxf; 440 fmaxl; 441 fmin; 442 fminf; 443 fminl; 444 fmodf; 445 fmodl; 446 frexp; 447 frexpf; 448 frexpl; 449 gammaf; #LSARC/2003/279 450 gammaf_r; #LSARC/2003/279 451 gammal; #LSARC/2003/279 452 gammal_r; #LSARC/2003/279 453 hypotf; 454 hypotl; 455 ilogbf; 456 ilogbl; 457 j0f; #LSARC/2003/279 458 j0l; #LSARC/2003/279 459 j1f; #LSARC/2003/279 460 j1l; #LSARC/2003/279 461 jnf; #LSARC/2003/279 462 jnl; #LSARC/2003/279 463 ldexp; 464 ldexpf; 465 ldexpl; 466 lgammaf; 467 lgammaf_r; #LSARC/2003/279 468 lgammal; 469 lgammal_r; #LSARC/2003/279 470 $if amd64 || sparcv9 471 llrint { FLAGS = NODYNSORT }; 472 llrintf { FLAGS = NODYNSORT }; 473 llrintl { FLAGS = NODYNSORT }; 474 llround { FLAGS = NODYNSORT }; 475 llroundf { FLAGS = NODYNSORT }; 476 llroundl { FLAGS = NODYNSORT }; 477 $else 478 llrint; 479 llrintf; 480 llrintl; 481 llround; 482 llroundf; 483 llroundl; 484 $endif 485 log10f; 486 log10l; 487 log1pf; 488 log1pl; 489 log2; 490 log2f; 491 log2l; 492 logbf; 493 logbl; 494 logf; 495 logl; 496 lrint; 497 lrintf; 498 lrintl; 499 lround; 500 lroundf; 501 lroundl; 502 modf; 503 modff; 504 modfl; 505 nan; 506 nanf; 507 nanl; 508 nearbyint; 509 nearbyintf; 510 nearbyintl; 511 nextafterf; 512 nextafterl; 513 nexttoward; 514 nexttowardf; 515 nexttowardl; 516 powf; 517 powl; 518 remainderf; 519 remainderl; 520 remquo; 521 remquof; 522 remquol; 523 rintf; 524 rintl; 525 round; 526 roundf; 527 roundl; 528 scalbf; #LSARC/2003/279 529 scalbl; #LSARC/2003/279 530 scalbln; 531 scalblnf; 532 scalblnl; 533 scalbnf; 534 scalbnl; 535 signgamf; #LSARC/2003/279 536 signgaml; #LSARC/2003/279 537 significandf; #LSARC/2003/279 538 significandl; #LSARC/2003/279 539 sincos; #LSARC/2003/279 540 sincosf; #LSARC/2003/279 541 sincosl; #LSARC/2003/279 542 sinf; 543 sinhf; 544 sinhl; 545 sinl; 546 sqrtf; 547 sqrtl; 548 tanf; 549 tanhf; 550 tanhl; 551 tanl; 552 tgamma; 553 tgammaf; 554 tgammal; 555 trunc; 556 truncf; 557 truncl; 558 y0f; #LSARC/2003/279 559 y0l; #LSARC/2003/279 560 y1f; #LSARC/2003/279 561 y1l; #LSARC/2003/279 562 ynf; #LSARC/2003/279 563 ynl; #LSARC/2003/279 564 } SUNW_1.1.1; 565 566 SYMBOL_VERSION SUNW_1.1.1 { 567 global: 568 __acosf; 569 __acosl; 570 __asinf; 571 __asinl; 572 __atan2f; 573 __atan2l; 574 __atanf; 575 __atanl; 576 __ceilf; 577 __ceill; 578 __cosf; 579 __coshf; 580 __coshl; 581 __cosl; 582 __expf; 583 __expl; 584 __fabsf; 585 __fabsl; 586 __floorf; 587 __floorl; 588 __fmodf; 589 __fmodl; 590 __frexpf; 591 __frexpl; 592 __ldexpf; 593 __ldexpl; 594 __log10f; 595 __log10l; 596 __logf; 597 __logl; 598 __modff; 599 __modfl; 600 __powf; 601 __powl; 602 __sinf; 603 __sinhf; 604 __sinhl; 605 __sinl; 606 __sqrtf; 607 __sqrtl; 608 __tanf; 609 __tanhf; 610 __tanhl; 611 __tanl; 612 } SUNW_1.1; 613 614 SYMBOL_VERSION SUNW_1.1 { 615 global: 616 __acos; 617 __acosh; 618 __asin; 619 __asinh; 620 __atan; 621 __atan2; 622 __atanh; 623 __cbrt; 624 __ceil; 625 __copysign; 626 __cos; 627 __cosh; 628 __erf; 629 __erfc; 630 __exp; 631 __expm1; 632 __fabs; 633 __floor; 634 __fmod; 635 __gamma; 636 __gamma_r; 637 __hypot; 638 __ilogb; 639 __isnan; 640 __j0; 641 __j1; 642 __jn; 643 __lgamma; 644 __lgamma_r; 645 __log; 646 __log10; 647 __log1p; 648 __logb; 649 __nextafter; 650 __pow; 651 __remainder; 652 __rint; 653 __scalb; 654 __scalbn; 655 __signgam; 656 __significand; 657 __sin; 658 __sinh; 659 __sqrt; 660 __tan; 661 __tanh; 662 __y0; 663 __y1; 664 __yn; 665 acos; 666 acosh; 667 asin; 668 asinh; 669 atan; 670 atan2; 671 atanh; 672 cbrt; 673 ceil; 674 copysign; 675 cos; 676 cosh; 677 erf; 678 erfc; 679 exp; 680 expm1; 681 fabs; 682 floor; 683 fmod; 684 gamma; 685 gamma_r; 686 hypot; 687 ilogb; 688 isnan; 689 j0; 690 j1; 691 jn; 692 lgamma; 693 lgamma_r; 694 log; 695 log10; 696 log1p; 697 logb; 698 matherr; 699 nextafter; 700 pow; 701 remainder; 702 rint; 703 scalb; 704 scalbn; 705 signgam; 706 significand; 707 sin; 708 sinh; 709 sqrt; 710 tan; 711 tanh; 712 y0; 713 y1; 714 yn; 715 }; 716 717 $if amd64 || sparcv9 718 SYMBOL_VERSION SUNWprivate_1.2 { 719 $else 720 SYMBOL_VERSION SUNWprivate_1.3 { 721 $endif 722 global: 723 __libm_mt_fex_sync; # -lmtsk 724 __mt_fex_sync; # -lmtsk 725 $if amd64 || sparcv9 726 } SUNWprivate_1.1; 727 $else 728 } SUNWprivate_1.2; 729 730 SYMBOL_VERSION SUNWprivate_1.2 { 731 global: 732 __libm_errno; # SC3.0.1 -lmopt 733 } SUNWprivate_1.1; 734 $endif 735 736 SYMBOL_VERSION SUNWprivate_1.1 { 737 global: 738 _lib_version; 739 __libm__rem_pio2; 740 __libm__rem_pio2m; 741 # anything else is local 742 local: 743 # For symbols with multiple names, move the less preferred 744 # names out of .SUNW_dynsymsort 745 feclearexcept96 { FLAGS = NODYNSORT }; 746 feraiseexcept96 { FLAGS = NODYNSORT }; 747 fetestexcept96 { FLAGS = NODYNSORT }; 748 fegetexceptflag96 { FLAGS = NODYNSORT }; 749 fesetexceptflag96 { FLAGS = NODYNSORT }; 750 feupdateenv96 { FLAGS = NODYNSORT }; 751 fegetenv96 { FLAGS = NODYNSORT }; 752 fesetenv96 { FLAGS = NODYNSORT }; 753 fegetround96 { FLAGS = NODYNSORT }; 754 *; # symbols not mentioned in this file are scoped out 755 };