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 
  73 SYMBOL_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 
  90 SYMBOL_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 
 580 SYMBOL_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 
 628 SYMBOL_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
 732 SYMBOL_VERSION SUNWprivate_1.2 {
 733 $else
 734 SYMBOL_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 
 744 SYMBOL_VERSION SUNWprivate_1.2 {
 745         global:
 746                 __libm_errno;   # SC3.0.1 -lmopt
 747 } SUNWprivate_1.1;
 748 $endif
 749 
 750 SYMBOL_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 };