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 __llrint; 238 __llrintf; 239 __llrintl; 240 __llround; 241 __llroundf; 242 __llroundl; 243 __log1pf; 244 __log1pl; 245 __log2; 246 __log2f; 247 __log2l; 248 __logbf; 249 __logbl; 250$if amd64 || sparcv9 251 __lrint { FLAGS = NODYNSORT }; 252 __lrintf { FLAGS = NODYNSORT }; 253 __lrintl { FLAGS = NODYNSORT }; 254 __lround { FLAGS = NODYNSORT }; 255 __lroundf { FLAGS = NODYNSORT }; 256 __lroundl { FLAGS = NODYNSORT }; 257$else 258 __lrint; 259 __lrintf; 260 __lrintl; 261 __lround; 262 __lroundf; 263 __lroundl; 264$endif 265 __modf; 266 __nan; 267 __nanf; 268 __nanl; 269 __nearbyint; 270 __nearbyintf; 271 __nearbyintl; 272 __nextafterf; 273 __nextafterl; 274 __nexttoward; 275 __nexttowardf; 276 __nexttowardl; 277 __remainderf; 278 __remainderl; 279 __remquo; 280 __remquof; 281 __remquol; 282 __rintf; 283 __rintl; 284 __round; 285 __roundf; 286 __roundl; 287 __scalbf; #LSARC/2003/279 288 __scalbl; #LSARC/2003/279 289 __scalbln; 290 __scalblnf; 291 __scalblnl; 292 __scalbnf; 293 __scalbnl; 294 __signgamf; #LSARC/2003/279 295 __signgaml; #LSARC/2003/279 296 __significandf; #LSARC/2003/279 297 __significandl; #LSARC/2003/279 298 __sincos; #LSARC/2003/279 299 __sincosf; #LSARC/2003/279 300 __sincosl; #LSARC/2003/279 301 __tgamma; 302 __tgammaf; 303 __tgammal; 304 __trunc; 305 __truncf; 306 __truncl; 307 __xpg6 { FLAGS = NODIRECT }; #private contract with libc group 308 __y0f; #LSARC/2003/279 309 __y0l; #LSARC/2003/279 310 __y1f; #LSARC/2003/279 311 __y1l; #LSARC/2003/279 312 __ynf; #LSARC/2003/279 313 __ynl; #LSARC/2003/279 314 acosf; 315 acoshf; 316 acoshl; 317 acosl; 318 asinf; 319 asinhf; 320 asinhl; 321 asinl; 322 atan2f; 323 atan2l; 324 atanf; 325 atanhf; 326 atanhl; 327 atanl; 328 cabs; 329 cabsf; 330 cabsl; 331 cacos; 332 cacosf; 333 cacosh; 334 cacoshf; 335 cacoshl; 336 cacosl; 337 carg; 338 cargf; 339 cargl; 340 casin; 341 casinf; 342 casinh; 343 casinhf; 344 casinhl; 345 casinl; 346 catan; 347 catanf; 348 catanh; 349 catanhf; 350 catanhl; 351 catanl; 352 cbrtf; 353 cbrtl; 354 ccos; 355 ccosf; 356 ccosh; 357 ccoshf; 358 ccoshl; 359 ccosl; 360 ceilf; 361 ceill; 362 cexp; 363 cexpf; 364 cexpl; 365 cimag; 366 cimagf; 367 cimagl; 368 clog; 369 clogf; 370 clogl; 371 conj; 372 conjf; 373 conjl; 374 copysignf; 375 copysignl; 376 cosf; 377 coshf; 378 coshl; 379 cosl; 380 cpow; 381 cpowf; 382 cpowl; 383 cproj; 384 cprojf; 385 cprojl; 386 creal; 387 crealf; 388 creall; 389 csin; 390 csinf; 391 csinh; 392 csinhf; 393 csinhl; 394 csinl; 395 csqrt; 396 csqrtf; 397 csqrtl; 398 ctan; 399 ctanf; 400 ctanh; 401 ctanhf; 402 ctanhl; 403 ctanl; 404 erfcf; 405 erfcl; 406 erff; 407 erfl; 408 exp2; 409 exp2f; 410 exp2l; 411 expf; 412 expl; 413 expm1f; 414 expm1l; 415 fabsf; 416 fabsl; 417 fdim; 418 fdimf; 419 fdiml; 420 feclearexcept; 421 fegetenv; 422 fegetexceptflag; 423$if _x86 424 fegetprec; #LSARC/1996/175 425$endif 426 fegetround; 427 feholdexcept; 428 feraiseexcept; 429 fesetenv; 430 fesetexceptflag; 431$if _x86 432 fesetprec; #LSARC/1996/175 433$endif 434 fesetround; 435 fetestexcept; 436 feupdateenv; 437 fex_get_handling; #LSARC/1996/175 438 fex_get_log; #LSARC/1996/175 439 fex_get_log_depth; #LSARC/1996/175 440 fex_getexcepthandler; #LSARC/1996/175 441 fex_log_entry; #LSARC/1996/175 442 fex_merge_flags; #LSARC/1996/175 443 fex_set_handling; #LSARC/1996/175 444 fex_set_log; #LSARC/1996/175 445 fex_set_log_depth; #LSARC/1996/175 446 fex_setexcepthandler; #LSARC/1996/175 447 floorf; 448 floorl; 449 fma; 450 fmaf; 451 fmal; 452 fmax; 453 fmaxf; 454 fmaxl; 455 fmin; 456 fminf; 457 fminl; 458 fmodf; 459 fmodl; 460 frexp; 461 frexpf; 462 frexpl; 463 gammaf; #LSARC/2003/279 464 gammaf_r; #LSARC/2003/279 465 gammal; #LSARC/2003/279 466 gammal_r; #LSARC/2003/279 467 hypotf; 468 hypotl; 469 ilogbf; 470 ilogbl; 471 j0f; #LSARC/2003/279 472 j0l; #LSARC/2003/279 473 j1f; #LSARC/2003/279 474 j1l; #LSARC/2003/279 475 jnf; #LSARC/2003/279 476 jnl; #LSARC/2003/279 477 ldexp; 478 ldexpf; 479 ldexpl; 480 lgammaf; 481 lgammaf_r; #LSARC/2003/279 482 lgammal; 483 lgammal_r; #LSARC/2003/279 484$if amd64 || sparcv9 485 llrint { FLAGS = NODYNSORT }; 486 llrintf { FLAGS = NODYNSORT }; 487 llrintl { FLAGS = NODYNSORT }; 488 llround { FLAGS = NODYNSORT }; 489 llroundf { FLAGS = NODYNSORT }; 490 llroundl { FLAGS = NODYNSORT }; 491$else 492 llrint; 493 llrintf; 494 llrintl; 495 llround; 496 llroundf; 497 llroundl; 498$endif 499 log10f; 500 log10l; 501 log1pf; 502 log1pl; 503 log2; 504 log2f; 505 log2l; 506 logbf; 507 logbl; 508 logf; 509 logl; 510 lrint; 511 lrintf; 512 lrintl; 513 lround; 514 lroundf; 515 lroundl; 516 modf; 517 modff; 518 modfl; 519 nan; 520 nanf; 521 nanl; 522 nearbyint; 523 nearbyintf; 524 nearbyintl; 525 nextafterf; 526 nextafterl; 527 nexttoward; 528 nexttowardf; 529 nexttowardl; 530 powf; 531 powl; 532 remainderf; 533 remainderl; 534 remquo; 535 remquof; 536 remquol; 537 rintf; 538 rintl; 539 round; 540 roundf; 541 roundl; 542 scalbf; #LSARC/2003/279 543 scalbl; #LSARC/2003/279 544 scalbln; 545 scalblnf; 546 scalblnl; 547 scalbnf; 548 scalbnl; 549 signgamf; #LSARC/2003/279 550 signgaml; #LSARC/2003/279 551 significandf; #LSARC/2003/279 552 significandl; #LSARC/2003/279 553 sincos; #LSARC/2003/279 554 sincosf; #LSARC/2003/279 555 sincosl; #LSARC/2003/279 556 sinf; 557 sinhf; 558 sinhl; 559 sinl; 560 sqrtf; 561 sqrtl; 562 tanf; 563 tanhf; 564 tanhl; 565 tanl; 566 tgamma; 567 tgammaf; 568 tgammal; 569 trunc; 570 truncf; 571 truncl; 572 y0f; #LSARC/2003/279 573 y0l; #LSARC/2003/279 574 y1f; #LSARC/2003/279 575 y1l; #LSARC/2003/279 576 ynf; #LSARC/2003/279 577 ynl; #LSARC/2003/279 578} SUNW_1.1.1; 579 580SYMBOL_VERSION SUNW_1.1.1 { 581 global: 582 __acosf; 583 __acosl; 584 __asinf; 585 __asinl; 586 __atan2f; 587 __atan2l; 588 __atanf; 589 __atanl; 590 __ceilf; 591 __ceill; 592 __cosf; 593 __coshf; 594 __coshl; 595 __cosl; 596 __expf; 597 __expl; 598 __fabsf; 599 __fabsl; 600 __floorf; 601 __floorl; 602 __fmodf; 603 __fmodl; 604 __frexpf; 605 __frexpl; 606 __ldexpf; 607 __ldexpl; 608 __log10f; 609 __log10l; 610 __logf; 611 __logl; 612 __modff; 613 __modfl; 614 __powf; 615 __powl; 616 __sinf; 617 __sinhf; 618 __sinhl; 619 __sinl; 620 __sqrtf; 621 __sqrtl; 622 __tanf; 623 __tanhf; 624 __tanhl; 625 __tanl; 626} SUNW_1.1; 627 628SYMBOL_VERSION SUNW_1.1 { 629 global: 630 __acos; 631 __acosh; 632 __asin; 633 __asinh; 634 __atan; 635 __atan2; 636 __atanh; 637 __cbrt; 638 __ceil; 639 __copysign; 640 __cos; 641 __cosh; 642 __erf; 643 __erfc; 644 __exp; 645 __expm1; 646 __fabs; 647 __floor; 648 __fmod; 649 __gamma; 650 __gamma_r; 651 __hypot; 652 __ilogb; 653 __isnan; 654 __j0; 655 __j1; 656 __jn; 657 __lgamma; 658 __lgamma_r; 659 __log; 660 __log10; 661 __log1p; 662 __logb; 663 __nextafter; 664 __pow; 665 __remainder; 666 __rint; 667 __scalb; 668 __scalbn; 669 __signgam; 670 __significand; 671 __sin; 672 __sinh; 673 __sqrt; 674 __tan; 675 __tanh; 676 __y0; 677 __y1; 678 __yn; 679 acos; 680 acosh; 681 asin; 682 asinh; 683 atan; 684 atan2; 685 atanh; 686 cbrt; 687 ceil; 688 copysign; 689 cos; 690 cosh; 691 erf; 692 erfc; 693 exp; 694 expm1; 695 fabs; 696 floor; 697 fmod; 698 gamma; 699 gamma_r; 700 hypot; 701 ilogb; 702 isnan; 703 j0; 704 j1; 705 jn; 706 lgamma; 707 lgamma_r; 708 log; 709 log10; 710 log1p; 711 logb; 712 matherr; 713 nextafter; 714 pow; 715 remainder; 716 rint; 717 scalb; 718 scalbn; 719 signgam; 720 significand; 721 sin; 722 sinh; 723 sqrt; 724 tan; 725 tanh; 726 y0; 727 y1; 728 yn; 729}; 730 731$if amd64 || sparcv9 732SYMBOL_VERSION SUNWprivate_1.2 { 733$else 734SYMBOL_VERSION SUNWprivate_1.3 { 735$endif 736 global: 737 __libm_mt_fex_sync; # -lmtsk 738 __mt_fex_sync; # -lmtsk 739$if amd64 || sparcv9 740} SUNWprivate_1.1; 741$else 742} SUNWprivate_1.2; 743 744SYMBOL_VERSION SUNWprivate_1.2 { 745 global: 746 __libm_errno; # SC3.0.1 -lmopt 747} SUNWprivate_1.1; 748$endif 749 750SYMBOL_VERSION SUNWprivate_1.1 { 751 global: 752 _lib_version; 753 __libm__rem_pio2; 754 __libm__rem_pio2m; 755 # anything else is local 756 local: 757 # For symbols with multiple names, move the less preferred 758 # names out of .SUNW_dynsymsort 759 feclearexcept96 { FLAGS = NODYNSORT }; 760 feraiseexcept96 { FLAGS = NODYNSORT }; 761 fetestexcept96 { FLAGS = NODYNSORT }; 762 fegetexceptflag96 { FLAGS = NODYNSORT }; 763 fesetexceptflag96 { FLAGS = NODYNSORT }; 764 feupdateenv96 { FLAGS = NODYNSORT }; 765 fegetenv96 { FLAGS = NODYNSORT }; 766 fesetenv96 { FLAGS = NODYNSORT }; 767 fegetround96 { FLAGS = NODYNSORT }; 768 *; # symbols not mentioned in this file are scoped out 769}; 770