xref: /illumos-gate/usr/src/lib/libm/common/mapfile-vers (revision b515258426fed6c7311fd3f1dea697cfbd4085c6)
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		__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
580SYMBOL_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
628SYMBOL_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
732SYMBOL_VERSION SUNWprivate_1.2 {
733$else
734SYMBOL_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
744SYMBOL_VERSION SUNWprivate_1.2 {
745	global:
746		__libm_errno;	# SC3.0.1 -lmopt
747} SUNWprivate_1.1;
748$endif
749
750SYMBOL_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};
770