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 $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 
 589 SYMBOL_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 
 637 SYMBOL_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
 741 SYMBOL_VERSION SUNWprivate_1.2 {
 742 $else
 743 SYMBOL_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 
 753 SYMBOL_VERSION SUNWprivate_1.2 {
 754         global:
 755                 __libm_errno;   # SC3.0.1 -lmopt
 756 } SUNWprivate_1.1;
 757 $endif
 758 
 759 SYMBOL_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 };