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