xref: /illumos-gate/usr/src/lib/libm/common/mapfile-vers (revision dd72704bd9e794056c558153663c739e2012d721)
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	{
189			  ASSERT = {
190				  TYPE = OBJECT;
191				  SIZE = addrsize[25];
192				};
193			};	#LSARC/1996/175
194	__feraiseexcept;
195	__fesetenv;
196	__fesetexceptflag;
197$if _x86
198	__fesetprec;	#LSARC/1996/175
199$endif
200	__fesetround;
201	__fetestexcept;
202	__feupdateenv;
203	__fex_get_handling;	#LSARC/1996/175
204	__fex_get_log;	#LSARC/1996/175
205	__fex_get_log_depth;	#LSARC/1996/175
206	__fex_getexcepthandler;	#LSARC/1996/175
207	__fex_log_entry;	#LSARC/1996/175
208	__fex_merge_flags;	#LSARC/1996/175
209	__fex_set_handling;	#LSARC/1996/175
210	__fex_set_log;	#LSARC/1996/175
211	__fex_set_log_depth;	#LSARC/1996/175
212	__fex_setexcepthandler;	#LSARC/1996/175
213	__fma;
214	__fmaf;
215	__fmal;
216	__fmax;
217	__fmaxf;
218	__fmaxl;
219	__fmin;
220	__fminf;
221	__fminl;
222	__frexp;
223	__gammaf;	#LSARC/2003/279
224	__gammaf_r;	#LSARC/2003/279
225	__gammal;	#LSARC/2003/279
226	__gammal_r;	#LSARC/2003/279
227	__hypotf;
228	__hypotl;
229	__ilogbf;
230	__ilogbl;
231	__j0f;	#LSARC/2003/279
232	__j0l;	#LSARC/2003/279
233	__j1f;	#LSARC/2003/279
234	__j1l;	#LSARC/2003/279
235	__jnf;	#LSARC/2003/279
236	__jnl;	#LSARC/2003/279
237	__ldexp;
238	__lgammaf;
239	__lgammaf_r;	#LSARC/2003/279
240	__lgammal;
241	__lgammal_r;	#LSARC/2003/279
242$if amd64 || sparcv9
243	__llrint	{ FLAGS = NODYNSORT; };
244	__llrintf	{ FLAGS = NODYNSORT; };
245	__llrintl	{ FLAGS = NODYNSORT; };
246	__llround	{ FLAGS = NODYNSORT; };
247	__llroundf	{ FLAGS = NODYNSORT; };
248	__llroundl	{ FLAGS = NODYNSORT; };
249$else
250	__llrint;
251	__llrintf;
252	__llrintl;
253	__llround;
254	__llroundf;
255	__llroundl;
256$endif
257	__log1pf;
258	__log1pl;
259	__log2;
260	__log2f;
261	__log2l;
262	__logbf;
263	__logbl;
264$if amd64 || sparcv9
265	__lrint		{ FLAGS = NODYNSORT; };
266	__lrintf	{ FLAGS = NODYNSORT; };
267	__lrintl	{ FLAGS = NODYNSORT; };
268	__lround	{ FLAGS = NODYNSORT; };
269	__lroundf	{ FLAGS = NODYNSORT; };
270	__lroundl	{ FLAGS = NODYNSORT; };
271$else
272	__lrint;
273	__lrintf;
274	__lrintl;
275	__lround;
276	__lroundf;
277	__lroundl;
278$endif
279	__modf;
280	__nan;
281	__nanf;
282	__nanl;
283	__nearbyint;
284	__nearbyintf;
285	__nearbyintl;
286	__nextafterf;
287	__nextafterl;
288	__nexttoward;
289	__nexttowardf;
290	__nexttowardl;
291	__remainderf;
292	__remainderl;
293	__remquo;
294	__remquof;
295	__remquol;
296	__rintf;
297	__rintl;
298	__round;
299	__roundf;
300	__roundl;
301	__scalbf;	#LSARC/2003/279
302	__scalbl;	#LSARC/2003/279
303	__scalbln;
304	__scalblnf;
305	__scalblnl;
306	__scalbnf;
307	__scalbnl;
308	__signgamf	{ ASSERT = { BINDING = WEAK; ALIAS = signgamf; }; };	#LSARC/2003/279
309	__signgaml	{ ASSERT = { BINDING = WEAK; ALIAS = signgaml; }; };	#LSARC/2003/279
310	__significandf;	#LSARC/2003/279
311	__significandl;	#LSARC/2003/279
312	__sincos;	#LSARC/2003/279
313	__sincosf;	#LSARC/2003/279
314	__sincosl;	#LSARC/2003/279
315	__tgamma;
316	__tgammaf;
317	__tgammal;
318	__trunc;
319	__truncf;
320	__truncl;
321	__xpg6		{
322			  FLAGS = NODIRECT;
323			  ASSERT = {
324				  TYPE = OBJECT;
325				  SIZE = 4;
326				};
327			};	#private contract with libc group
328	__y0f;	#LSARC/2003/279
329	__y0l;	#LSARC/2003/279
330	__y1f;	#LSARC/2003/279
331	__y1l;	#LSARC/2003/279
332	__ynf;	#LSARC/2003/279
333	__ynl;	#LSARC/2003/279
334	acosf;
335	acoshf;
336	acoshl;
337	acosl;
338	asinf;
339	asinhf;
340	asinhl;
341	asinl;
342	atan2f;
343	atan2l;
344	atanf;
345	atanhf;
346	atanhl;
347	atanl;
348	cabs;
349	cabsf;
350	cabsl;
351	cacos;
352	cacosf;
353	cacosh;
354	cacoshf;
355	cacoshl;
356	cacosl;
357	carg;
358	cargf;
359	cargl;
360	casin;
361	casinf;
362	casinh;
363	casinhf;
364	casinhl;
365	casinl;
366	catan;
367	catanf;
368	catanh;
369	catanhf;
370	catanhl;
371	catanl;
372	cbrtf;
373	cbrtl;
374	ccos;
375	ccosf;
376	ccosh;
377	ccoshf;
378	ccoshl;
379	ccosl;
380	ceilf;
381	ceill;
382	cexp;
383	cexpf;
384	cexpl;
385	cimag;
386	cimagf;
387	cimagl;
388	clog;
389	clogf;
390	clogl;
391	conj;
392	conjf;
393	conjl;
394	copysignf;
395	copysignl;
396	cosf;
397	coshf;
398	coshl;
399	cosl;
400	cpow;
401	cpowf;
402	cpowl;
403	cproj;
404	cprojf;
405	cprojl;
406	creal;
407	crealf;
408	creall;
409	csin;
410	csinf;
411	csinh;
412	csinhf;
413	csinhl;
414	csinl;
415	csqrt;
416	csqrtf;
417	csqrtl;
418	ctan;
419	ctanf;
420	ctanh;
421	ctanhf;
422	ctanhl;
423	ctanl;
424	erfcf;
425	erfcl;
426	erff;
427	erfl;
428	exp2;
429	exp2f;
430	exp2l;
431	expf;
432	expl;
433	expm1f;
434	expm1l;
435	fabsf;
436	fabsl;
437	fdim;
438	fdimf;
439	fdiml;
440	feclearexcept;
441	fegetenv;
442	fegetexceptflag;
443$if _x86
444	fegetprec;	#LSARC/1996/175
445$endif
446	fegetround;
447	feholdexcept;
448	feraiseexcept;
449	fesetenv;
450	fesetexceptflag;
451$if _x86
452	fesetprec;	#LSARC/1996/175
453$endif
454	fesetround;
455	fetestexcept;
456	feupdateenv;
457	fex_get_handling;	#LSARC/1996/175
458	fex_get_log;	#LSARC/1996/175
459	fex_get_log_depth;	#LSARC/1996/175
460	fex_getexcepthandler;	#LSARC/1996/175
461	fex_log_entry;	#LSARC/1996/175
462	fex_merge_flags;	#LSARC/1996/175
463	fex_set_handling;	#LSARC/1996/175
464	fex_set_log;	#LSARC/1996/175
465	fex_set_log_depth;	#LSARC/1996/175
466	fex_setexcepthandler;	#LSARC/1996/175
467	floorf;
468	floorl;
469	fma;
470	fmaf;
471	fmal;
472	fmax;
473	fmaxf;
474	fmaxl;
475	fmin;
476	fminf;
477	fminl;
478	fmodf;
479	fmodl;
480	frexp;
481	frexpf;
482	frexpl;
483	gammaf;	#LSARC/2003/279
484	gammaf_r;	#LSARC/2003/279
485	gammal;	#LSARC/2003/279
486	gammal_r;	#LSARC/2003/279
487	hypotf;
488	hypotl;
489	ilogbf;
490	ilogbl;
491	j0f;	#LSARC/2003/279
492	j0l;	#LSARC/2003/279
493	j1f;	#LSARC/2003/279
494	j1l;	#LSARC/2003/279
495	jnf;	#LSARC/2003/279
496	jnl;	#LSARC/2003/279
497	ldexp;
498	ldexpf;
499	ldexpl;
500	lgammaf;
501	lgammaf_r;	#LSARC/2003/279
502	lgammal;
503	lgammal_r;	#LSARC/2003/279
504$if amd64 || sparcv9
505	llrint		{ FLAGS = NODYNSORT; };
506	llrintf		{ FLAGS = NODYNSORT; };
507	llrintl		{ FLAGS = NODYNSORT; };
508	llround		{ FLAGS = NODYNSORT; };
509	llroundf	{ FLAGS = NODYNSORT; };
510	llroundl	{ FLAGS = NODYNSORT; };
511$else
512	llrint;
513	llrintf;
514	llrintl;
515	llround;
516	llroundf;
517	llroundl;
518$endif
519	log10f;
520	log10l;
521	log1pf;
522	log1pl;
523	log2;
524	log2f;
525	log2l;
526	logbf;
527	logbl;
528	logf;
529	logl;
530	lrint;
531	lrintf;
532	lrintl;
533	lround;
534	lroundf;
535	lroundl;
536	modf;
537	modff;
538	modfl;
539	nan;
540	nanf;
541	nanl;
542	nearbyint;
543	nearbyintf;
544	nearbyintl;
545	nextafterf;
546	nextafterl;
547	nexttoward;
548	nexttowardf;
549	nexttowardl;
550	powf;
551	powl;
552	remainderf;
553	remainderl;
554	remquo;
555	remquof;
556	remquol;
557	rintf;
558	rintl;
559	round;
560	roundf;
561	roundl;
562	scalbf;	#LSARC/2003/279
563	scalbl;	#LSARC/2003/279
564	scalbln;
565	scalblnf;
566	scalblnl;
567	scalbnf;
568	scalbnl;
569	signgamf	{ ASSERT = { TYPE = OBJECT; SIZE = 4; }; };	#LSARC/2003/279
570	signgaml	{ ASSERT = { TYPE = OBJECT; SIZE = 4; }; };	#LSARC/2003/279
571	significandf;	#LSARC/2003/279
572	significandl;	#LSARC/2003/279
573	sincos;	#LSARC/2003/279
574	sincosf;	#LSARC/2003/279
575	sincosl;	#LSARC/2003/279
576	sinf;
577	sinhf;
578	sinhl;
579	sinl;
580	sqrtf;
581	sqrtl;
582	tanf;
583	tanhf;
584	tanhl;
585	tanl;
586	tgamma;
587	tgammaf;
588	tgammal;
589	trunc;
590	truncf;
591	truncl;
592	y0f;	#LSARC/2003/279
593	y0l;	#LSARC/2003/279
594	y1f;	#LSARC/2003/279
595	y1l;	#LSARC/2003/279
596	ynf;	#LSARC/2003/279
597	ynl;	#LSARC/2003/279
598} SUNW_1.1.1;
599
600SYMBOL_VERSION SUNW_1.1.1 {
601    global:
602	__acosf;
603	__acosl;
604	__asinf;
605	__asinl;
606	__atan2f;
607	__atan2l;
608	__atanf;
609	__atanl;
610	__ceilf;
611	__ceill;
612	__cosf;
613	__coshf;
614	__coshl;
615	__cosl;
616	__expf;
617	__expl;
618	__fabsf;
619	__fabsl;
620	__floorf;
621	__floorl;
622	__fmodf;
623	__fmodl;
624	__frexpf;
625	__frexpl;
626	__ldexpf;
627	__ldexpl;
628	__log10f;
629	__log10l;
630	__logf;
631	__logl;
632	__modff;
633	__modfl;
634	__powf;
635	__powl;
636	__sinf;
637	__sinhf;
638	__sinhl;
639	__sinl;
640	__sqrtf;
641	__sqrtl;
642	__tanf;
643	__tanhf;
644	__tanhl;
645	__tanl;
646} SUNW_1.1;
647
648SYMBOL_VERSION SUNW_1.1 {
649    global:
650	__acos;
651	__acosh;
652	__asin;
653	__asinh;
654	__atan;
655	__atan2;
656	__atanh;
657	__cbrt;
658	__ceil;
659	__copysign;
660	__cos;
661	__cosh;
662	__erf;
663	__erfc;
664	__exp;
665	__expm1;
666	__fabs;
667	__floor;
668	__fmod;
669	__gamma;
670	__gamma_r;
671	__hypot;
672	__ilogb;
673	__isnan;
674	__j0;
675	__j1;
676	__jn;
677	__lgamma;
678	__lgamma_r;
679	__log;
680	__log10;
681	__log1p;
682	__logb;
683	__nextafter;
684	__pow;
685	__remainder;
686	__rint;
687	__scalb;
688	__scalbn;
689	__signgam	{ ASSERT = { BINDING = WEAK; ALIAS = signgam; }; };
690	__significand;
691	__sin;
692	__sinh;
693	__sqrt;
694	__tan;
695	__tanh;
696	__y0;
697	__y1;
698	__yn;
699	acos;
700	acosh;
701	asin;
702	asinh;
703	atan;
704	atan2;
705	atanh;
706	cbrt;
707	ceil;
708	copysign;
709	cos;
710	cosh;
711	erf;
712	erfc;
713	exp;
714	expm1;
715	fabs;
716	floor;
717	fmod;
718	gamma;
719	gamma_r;
720	hypot;
721	ilogb;
722	isnan;
723	j0;
724	j1;
725	jn;
726	lgamma;
727	lgamma_r;
728	log;
729	log10;
730	log1p;
731	logb;
732	matherr		{ FLAGS = NODIRECT; };
733	nextafter;
734	pow;
735	remainder;
736	rint;
737	scalb;
738	scalbn;
739	signgam		{ ASSERT = { TYPE = OBJECT; SIZE = 4; }; };
740	significand;
741	sin;
742	sinh;
743	sqrt;
744	tan;
745	tanh;
746	y0;
747	y1;
748	yn;
749};
750
751$if amd64 || sparcv9
752SYMBOL_VERSION SUNWprivate_1.2 {
753$else
754SYMBOL_VERSION SUNWprivate_1.3 {
755$endif
756	global:
757		# -lmtsk
758		__libm_mt_fex_sync	{
759					  ASSERT = {
760						  TYPE = OBJECT;
761						  SIZE = addrsize;
762						};
763					};
764		__mt_fex_sync		{
765					  ASSERT = {
766						  TYPE = OBJECT;
767						  SIZE = addrsize
768						};
769					};
770$if amd64 || sparcv9
771} SUNWprivate_1.1;
772$else
773} SUNWprivate_1.2;
774
775SYMBOL_VERSION SUNWprivate_1.2 {
776	global:
777		__libm_errno;	# SC3.0.1 -lmopt
778} SUNWprivate_1.1;
779$endif
780
781SYMBOL_VERSION SUNWprivate_1.1 {
782	global:
783		_lib_version	{
784				  ASSERT = {
785					  TYPE = OBJECT;
786					  SIZE = 4
787					};
788				};
789		__libm__rem_pio2;
790		__libm__rem_pio2m;
791	# anything else is local
792	local:
793		# For symbols with multiple names, move the less preferred
794		# names out of .SUNW_dynsymsort
795		feclearexcept96	  { FLAGS = NODYNSORT };
796		feraiseexcept96	  { FLAGS = NODYNSORT };
797		fetestexcept96	  { FLAGS = NODYNSORT };
798		fegetexceptflag96 { FLAGS = NODYNSORT };
799		fesetexceptflag96 { FLAGS = NODYNSORT };
800		feupdateenv96	  { FLAGS = NODYNSORT };
801		fegetenv96	  { FLAGS = NODYNSORT };
802		fesetenv96	  { FLAGS = NODYNSORT };
803		fegetround96	  { FLAGS = NODYNSORT };
804		*;	# symbols not mentioned in this file are scoped out
805};
806