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 };