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.1
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.1.1 {
74    global:
75	__acosf;
76	__acosl;
77	__asinf;
78	__asinl;
79	__atan2f;
80	__atan2l;
81	__atanf;
82	__atanl;
83	__ceilf;
84	__ceill;
85	__cosf;
86	__coshf;
87	__coshl;
88	__cosl;
89	__expf;
90	__expl;
91	__fabsf;
92	__fabsl;
93	__floorf;
94	__floorl;
95	__fmodf;
96	__fmodl;
97	__frexpf;
98	__frexpl;
99	__ldexpf;
100	__ldexpl;
101	__log10f;
102	__log10l;
103	__logf;
104	__logl;
105	__modff;
106	__modfl;
107	__powf;
108	__powl;
109	__sinf;
110	__sinhf;
111	__sinhl;
112	__sinl;
113	__sqrtf;
114	__sqrtl;
115	__tanf;
116	__tanhf;
117	__tanhl;
118	__tanl;
119} SUNW_1.1;
120
121SYMBOL_VERSION SUNW_1.1 {
122    global:
123	__acos;
124	__acosh;
125	__asin;
126	__asinh;
127	__atan;
128	__atan2;
129	__atanh;
130	__cbrt;
131	__ceil;
132	__copysign;
133	__cos;
134	__cosh;
135	__erf;
136	__erfc;
137	__exp;
138	__expm1;
139	__fabs;
140	__floor;
141	__fmod;
142	__gamma;
143	__gamma_r;
144	__hypot;
145	__ilogb;
146	__isnan;
147	__j0;
148	__j1;
149	__jn;
150	__lgamma;
151	__lgamma_r;
152	__log;
153	__log10;
154	__log1p;
155	__logb;
156	__nextafter;
157	__pow;
158	__remainder;
159	__rint;
160	__scalb;
161	__scalbn;
162	__signgam	{ ASSERT = { TYPE = OBJECT; SIZE = 4; }; };
163	__significand;
164	__sin;
165	__sinh;
166	__sqrt;
167	__tan;
168	__tanh;
169	__y0;
170	__y1;
171	__yn;
172	acos;
173	acosh;
174	asin;
175	asinh;
176	atan;
177	atan2;
178	atanh;
179	cbrt;
180	ceil;
181	copysign;
182	cos;
183	cosh;
184	erf;
185	erfc;
186	exp;
187	expm1;
188	fabs;
189	floor;
190	fmod;
191	gamma;
192	gamma_r;
193	hypot;
194	ilogb;
195	isnan;
196	j0;
197	j1;
198	jn;
199	lgamma;
200	lgamma_r;
201	log;
202	log10;
203	log1p;
204	logb;
205	matherr;
206	nextafter;
207	pow;
208	remainder;
209	rint;
210	scalb;
211	scalbn;
212	signgam		{
213			  ASSERT = {
214				  BINDING = WEAK;
215				  ALIAS = __signgam;
216				};
217			};
218	significand;
219	sin;
220	sinh;
221	sqrt;
222	tan;
223	tanh;
224	y0;
225	y1;
226	yn;
227};
228
229$if i386
230SYMBOL_VERSION SUNWprivate_1.2 {
231    global:
232	__libm_errno;	# SC3.0.1 -lmopt
233} SUNWprivate_1.1;
234$endif
235
236SYMBOL_VERSION SUNWprivate_1.1 {
237    global:
238	_lib_version	{ ASSERT = { TYPE = OBJECT; SIZE = 4; }; };
239	__libm__rem_pio2;
240	__libm__rem_pio2m;
241	# anything else is local
242    local:
243	*;	# symbols not mentioned in this file are scoped out
244};
245