xref: /illumos-gate/usr/src/lib/libm/common/mapfile-vers (revision 66582b606a8194f7f3ba5b3a3a6dca5b0d346361)
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$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
589SYMBOL_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
637SYMBOL_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
741SYMBOL_VERSION SUNWprivate_1.2 {
742$else
743SYMBOL_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
753SYMBOL_VERSION SUNWprivate_1.2 {
754	global:
755		__libm_errno;	# SC3.0.1 -lmopt
756} SUNWprivate_1.1;
757$endif
758
759SYMBOL_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};
779