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