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 (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
22#
23
24#
25# MAPFILE HEADER START
26#
27# WARNING:  STOP NOW.  DO NOT MODIFY THIS FILE.
28# Object versioning must comply with the rules detailed in
29#
30#	usr/src/lib/README.mapfiles
31#
32# You should not be making modifications here until you've read the most current
33# copy of that file. If you need help, contact a gatekeeper for guidance.
34#
35# MAPFILE HEADER END
36#
37
38$mapfile_version 2
39
40#
41# DO NOT TOUCH THIS FILE.
42# This file declares interfaces that are cast in stone.
43# They offer interfaces that will never change.
44# DO NOT TOUCH THIS FILE.
45#
46
47# For ABI reasons, 32-bit sparc defines and uses some ABI related versions not
48# used on the other platforms. Define sparc32 for convenience.
49$if _sparc && _ELF32
50$add sparc32
51$endif
52
53SYMBOL_VERSION SUNW_1.6.1 {
54    global:
55	_stack_grow			{ TYPE = FUNCTION };
56    local:
57	*;
58} SUNW_1.6;
59
60SYMBOL_VERSION SUNW_1.6 {
61    global:
62	cond_reltimedwait		{ TYPE = FUNCTION };
63	pthread_cond_reltimedwait_np	{ TYPE = FUNCTION };
64} SUNW_1.5;
65
66SYMBOL_VERSION SUNW_1.5 {
67    global:
68	pthread_mutex_consistent_np	{ TYPE = FUNCTION };
69	pthread_mutexattr_getrobust_np	{ TYPE = FUNCTION };
70	pthread_mutexattr_setrobust_np	{ TYPE = FUNCTION };
71} SUNW_1.4;
72
73SYMBOL_VERSION SUNW_1.4 {
74    global:
75	getmsg				{ TYPE = FUNCTION };
76	getpmsg				{ TYPE = FUNCTION };
77	lockf				{ TYPE = FUNCTION };
78	msgrcv				{ TYPE = FUNCTION };
79	msgsnd				{ TYPE = FUNCTION };
80	poll				{ TYPE = FUNCTION };
81	pread				{ TYPE = FUNCTION };
82	pthread_attr_getguardsize	{ TYPE = FUNCTION };
83	pthread_attr_setguardsize	{ TYPE = FUNCTION };
84	pthread_getconcurrency		{ TYPE = FUNCTION };
85	pthread_mutexattr_gettype	{ TYPE = FUNCTION };
86	pthread_mutexattr_settype	{ TYPE = FUNCTION };
87	pthread_rwlockattr_destroy	{ TYPE = FUNCTION };
88	pthread_rwlockattr_getpshared	{ TYPE = FUNCTION };
89	pthread_rwlockattr_init		{ TYPE = FUNCTION };
90	pthread_rwlockattr_setpshared	{ TYPE = FUNCTION };
91	pthread_rwlock_destroy		{ TYPE = FUNCTION };
92	pthread_rwlock_init		{ TYPE = FUNCTION };
93	pthread_rwlock_rdlock		{ TYPE = FUNCTION };
94	pthread_rwlock_tryrdlock	{ TYPE = FUNCTION };
95	pthread_rwlock_trywrlock	{ TYPE = FUNCTION };
96	pthread_rwlock_unlock		{ TYPE = FUNCTION };
97	pthread_rwlock_wrlock		{ TYPE = FUNCTION };
98	pthread_setconcurrency		{ TYPE = FUNCTION };
99	putmsg				{ TYPE = FUNCTION };
100	putpmsg				{ TYPE = FUNCTION };
101	pwrite				{ TYPE = FUNCTION };
102	readv				{ TYPE = FUNCTION };
103	select				{ TYPE = FUNCTION };
104	sigpause			{ TYPE = FUNCTION };
105	usleep				{ TYPE = FUNCTION };
106	wait3				{ TYPE = FUNCTION };
107	waitid				{ TYPE = FUNCTION };
108	writev				{ TYPE = FUNCTION };
109	__xpg4_putmsg			{ TYPE = FUNCTION };
110	__xpg4_putpmsg			{ TYPE = FUNCTION };
111
112$if _ELF32		# Large file interfaces
113	lockf64				{ TYPE = FUNCTION };
114	pread64				{ TYPE = FUNCTION };
115	pwrite64			{ TYPE = FUNCTION };
116$endif
117} SUNW_1.3;
118
119SYMBOL_VERSION SUNW_1.3 {
120    global:
121	SUNW_1.3;
122} SUNW_1.2;
123
124SYMBOL_VERSION SUNW_1.2 {
125    global:
126	SUNW_1.2;
127} SUNW_1.1;
128
129SYMBOL_VERSION SUNW_1.1 {
130    global:
131	kill				{ TYPE = FUNCTION };
132
133$if _ELF32		# Large file interfaces
134	creat64				{ TYPE = FUNCTION };
135	open64				{ TYPE = FUNCTION };
136$endif
137} SUNW_0.9;
138
139SYMBOL_VERSION SUNW_0.9 {
140    global:
141	alarm				{ TYPE = FUNCTION };
142	close				{ TYPE = FUNCTION; FLAGS = NODIRECT };
143	creat				{ TYPE = FUNCTION };
144	fcntl				{ TYPE = FUNCTION };
145	fork				{ TYPE = FUNCTION; FLAGS = NODIRECT };
146	fsync				{ TYPE = FUNCTION };
147	msync				{ TYPE = FUNCTION };
148	open				{ TYPE = FUNCTION };
149	pause				{ TYPE = FUNCTION };
150	pthread_attr_destroy		{ TYPE = FUNCTION };
151	pthread_attr_getdetachstate	{ TYPE = FUNCTION };
152	pthread_attr_getinheritsched	{ TYPE = FUNCTION };
153	pthread_attr_getschedparam	{ TYPE = FUNCTION };
154	pthread_attr_getschedpolicy	{ TYPE = FUNCTION };
155	pthread_attr_getscope		{ TYPE = FUNCTION };
156	pthread_attr_getstackaddr	{ TYPE = FUNCTION };
157	pthread_attr_getstacksize	{ TYPE = FUNCTION };
158	pthread_attr_init		{ TYPE = FUNCTION };
159	pthread_attr_setdetachstate	{ TYPE = FUNCTION };
160	pthread_attr_setinheritsched	{ TYPE = FUNCTION };
161	pthread_attr_setschedparam	{ TYPE = FUNCTION };
162	pthread_attr_setschedpolicy	{ TYPE = FUNCTION };
163	pthread_attr_setscope		{ TYPE = FUNCTION };
164	pthread_attr_setstackaddr	{ TYPE = FUNCTION };
165	pthread_attr_setstacksize	{ TYPE = FUNCTION };
166	pthread_cancel			{ TYPE = FUNCTION };
167	__pthread_cleanup_pop		{ TYPE = FUNCTION };
168	__pthread_cleanup_push		{ TYPE = FUNCTION };
169	pthread_condattr_destroy	{ TYPE = FUNCTION };
170	pthread_condattr_getpshared	{ TYPE = FUNCTION };
171	pthread_condattr_init		{ TYPE = FUNCTION };
172	pthread_condattr_setpshared	{ TYPE = FUNCTION };
173	pthread_cond_broadcast		{ TYPE = FUNCTION };
174	pthread_cond_destroy		{ TYPE = FUNCTION };
175	pthread_cond_init		{ TYPE = FUNCTION };
176	pthread_cond_signal		{ TYPE = FUNCTION };
177	pthread_cond_timedwait		{ TYPE = FUNCTION };
178	pthread_cond_wait		{ TYPE = FUNCTION };
179	pthread_create			{ TYPE = FUNCTION };
180	pthread_detach			{ TYPE = FUNCTION };
181	pthread_equal			{ TYPE = FUNCTION };
182	pthread_exit			{ TYPE = FUNCTION };
183	pthread_getschedparam		{ TYPE = FUNCTION };
184	pthread_getspecific		{ TYPE = FUNCTION };
185	pthread_join			{ TYPE = FUNCTION };
186	pthread_key_create		{ TYPE = FUNCTION };
187	pthread_key_delete		{ TYPE = FUNCTION };
188	pthread_kill			{ TYPE = FUNCTION };
189	pthread_mutexattr_destroy	{ TYPE = FUNCTION };
190	pthread_mutexattr_getprioceiling { TYPE = FUNCTION };
191	pthread_mutexattr_getprotocol	{ TYPE = FUNCTION };
192	pthread_mutexattr_getpshared	{ TYPE = FUNCTION };
193	pthread_mutexattr_init		{ TYPE = FUNCTION };
194	pthread_mutexattr_setprioceiling { TYPE = FUNCTION };
195	pthread_mutexattr_setprotocol	{ TYPE = FUNCTION };
196	pthread_mutexattr_setpshared	{ TYPE = FUNCTION };
197	pthread_mutex_destroy		{ TYPE = FUNCTION };
198	pthread_mutex_getprioceiling	{ TYPE = FUNCTION };
199	pthread_mutex_init		{ TYPE = FUNCTION };
200	pthread_mutex_lock		{ TYPE = FUNCTION };
201	pthread_mutex_setprioceiling	{ TYPE = FUNCTION };
202	pthread_mutex_trylock		{ TYPE = FUNCTION };
203	pthread_mutex_unlock		{ TYPE = FUNCTION };
204	pthread_once			{ TYPE = FUNCTION };
205	pthread_self			{ TYPE = FUNCTION };
206	pthread_setcancelstate		{ TYPE = FUNCTION };
207	pthread_setcanceltype		{ TYPE = FUNCTION };
208	pthread_setschedparam		{ TYPE = FUNCTION };
209	pthread_setspecific		{ TYPE = FUNCTION };
210	pthread_sigmask			{ TYPE = FUNCTION };
211	pthread_testcancel		{ TYPE = FUNCTION };
212	read				{ TYPE = FUNCTION };
213	setitimer			{ TYPE = FUNCTION };
214	sigpending			{ TYPE = FUNCTION };
215	sigsetjmp			{ TYPE = FUNCTION };
216	sigsuspend			{ TYPE = FUNCTION };
217	tcdrain				{ TYPE = FUNCTION };
218	wait				{ TYPE = FUNCTION };
219	waitpid				{ TYPE = FUNCTION };
220	write				{ TYPE = FUNCTION };
221$if sparc32
222} SUNW_0.7 SISCD_2.3b;
223
224SYMBOL_VERSION SISCD_2.3b {
225    global:
226$endif
227	thr_main			{ TYPE = FUNCTION };
228	thr_stksegment			{ TYPE = FUNCTION };
229$if sparc32
230};
231$else
232} SUNW_0.7;
233$endif
234
235SYMBOL_VERSION SUNW_0.7 {
236    global:
237	_getfp				{ TYPE = FUNCTION };
238	lwp_self			{ TYPE = FUNCTION };
239	_mutex_held			{ TYPE = FUNCTION };
240	_rw_read_held			{ TYPE = FUNCTION };
241	_rw_write_held			{ TYPE = FUNCTION };
242	_sema_held			{ TYPE = FUNCTION };
243	setcontext			{ TYPE = FUNCTION };
244	sigaction			{ TYPE = FUNCTION; FLAGS = NODIRECT };
245	sigprocmask			{ TYPE = FUNCTION };
246	sleep				{ TYPE = FUNCTION };
247$if sparc32
248} SISCD_2.3a;
249
250SYMBOL_VERSION SISCD_2.3a {
251    global:
252$endif
253	cond_broadcast			{ TYPE = FUNCTION };
254	cond_destroy			{ TYPE = FUNCTION };
255	cond_init			{ TYPE = FUNCTION };
256	cond_signal			{ TYPE = FUNCTION };
257	cond_timedwait			{ TYPE = FUNCTION };
258	cond_wait			{ TYPE = FUNCTION };
259	fork1				{ TYPE = FUNCTION };
260	mutex_destroy			{ TYPE = FUNCTION };
261	mutex_init			{ TYPE = FUNCTION };
262	mutex_lock			{ TYPE = FUNCTION };
263	mutex_trylock			{ TYPE = FUNCTION };
264	mutex_unlock			{ TYPE = FUNCTION };
265	rwlock_destroy			{ TYPE = FUNCTION };
266	rwlock_init			{ TYPE = FUNCTION };
267	rw_rdlock			{ TYPE = FUNCTION };
268	rw_tryrdlock			{ TYPE = FUNCTION };
269	rw_trywrlock			{ TYPE = FUNCTION };
270	rw_unlock			{ TYPE = FUNCTION };
271	rw_wrlock			{ TYPE = FUNCTION };
272	sema_destroy			{ TYPE = FUNCTION };
273	sema_init			{ TYPE = FUNCTION };
274	sema_post			{ TYPE = FUNCTION };
275	sema_trywait			{ TYPE = FUNCTION };
276	sema_wait			{ TYPE = FUNCTION };
277	sigwait				{ TYPE = FUNCTION };
278	thr_continue			{ TYPE = FUNCTION };
279	thr_create			{ TYPE = FUNCTION };
280	thr_exit			{ TYPE = FUNCTION };
281	thr_getconcurrency		{ TYPE = FUNCTION };
282	thr_getprio			{ TYPE = FUNCTION };
283	thr_getspecific			{ TYPE = FUNCTION };
284	thr_join			{ TYPE = FUNCTION };
285	thr_keycreate			{ TYPE = FUNCTION };
286	thr_kill			{ TYPE = FUNCTION };
287	thr_min_stack			{ TYPE = FUNCTION };
288	thr_self			{ TYPE = FUNCTION };
289	thr_setconcurrency		{ TYPE = FUNCTION };
290	thr_setprio			{ TYPE = FUNCTION };
291	thr_setspecific			{ TYPE = FUNCTION };
292	thr_sigsetmask			{ TYPE = FUNCTION };
293	thr_suspend			{ TYPE = FUNCTION };
294	thr_yield			{ TYPE = FUNCTION };
295};
296
297SYMBOL_VERSION SUNWprivate_1.1 {
298    global:
299	_alarm				{ TYPE = FUNCTION };
300	_assfail			{ TYPE = FUNCTION };
301	_fork				{ TYPE = FUNCTION };
302$if !(_x86 && _ELF32)
303	_getsp				{ TYPE = FUNCTION };
304$endif
305	__gettsp			{ TYPE = FUNCTION };
306	_mutex_destroy			{ TYPE = FUNCTION };
307	mutex_held			{ TYPE = FUNCTION };
308	_mutex_init			{ TYPE = FUNCTION };
309	_mutex_lock			{ TYPE = FUNCTION };
310	_mutex_unlock			{ TYPE = FUNCTION };
311$if _sparc || (_x86 && _ELF32)
312	_pthread_setcleanupinit		{ TYPE = FUNCTION };
313$endif
314	_resume				{ TYPE = FUNCTION };
315	_resume_ret			{ TYPE = FUNCTION };
316	_rwlock_destroy			{ TYPE = FUNCTION };
317	rw_read_held			{ TYPE = FUNCTION };
318	rw_write_held			{ TYPE = FUNCTION };
319	_sema_destroy			{ TYPE = FUNCTION };
320	sema_held			{ TYPE = FUNCTION };
321	_setcontext			{ TYPE = FUNCTION };
322	_setitimer			{ TYPE = FUNCTION };
323	_sigaction			{ TYPE = FUNCTION; FLAGS = NODIRECT };
324	_sigoff				{ TYPE = FUNCTION };
325	_sigon				{ TYPE = FUNCTION };
326	_sigprocmask			{ TYPE = FUNCTION };
327	_sigsetjmp			{ TYPE = FUNCTION };
328	_sigsuspend			{ TYPE = FUNCTION };
329	_sleep				{ TYPE = FUNCTION };
330	_thr_continue_allmutators	{ TYPE = FUNCTION };
331	thr_continue_allmutators	{ TYPE = FUNCTION };
332	_thr_continue_mutator		{ TYPE = FUNCTION };
333	thr_continue_mutator		{ TYPE = FUNCTION };
334	_thr_create			{ TYPE = FUNCTION };
335	_thr_getspecific		{ TYPE = FUNCTION };
336	_thr_getstate			{ TYPE = FUNCTION };
337	thr_getstate			{ TYPE = FUNCTION };
338	_thr_join			{ TYPE = FUNCTION };
339	_thr_keycreate			{ TYPE = FUNCTION };
340	_thr_main			{ TYPE = FUNCTION };
341	_thr_mutators_barrier		{ TYPE = FUNCTION };
342	thr_mutators_barrier		{ TYPE = FUNCTION };
343	thr_probe_setup			{ TYPE = FUNCTION };
344	_thr_self			{ TYPE = FUNCTION };
345	_thr_setmutator			{ TYPE = FUNCTION };
346	thr_setmutator			{ TYPE = FUNCTION };
347	_thr_setspecific		{ TYPE = FUNCTION };
348	_thr_setstate			{ TYPE = FUNCTION };
349	thr_setstate			{ TYPE = FUNCTION };
350	_thr_sighndlrinfo		{ TYPE = FUNCTION };
351	thr_sighndlrinfo		{ TYPE = FUNCTION };
352	thr_suspend_allmutators		{ TYPE = FUNCTION };
353	_thr_suspend_allmutators	{ TYPE = FUNCTION };
354	_thr_suspend_mutator		{ TYPE = FUNCTION };
355	thr_suspend_mutator		{ TYPE = FUNCTION };
356	_thr_wait_mutator		{ TYPE = FUNCTION };
357	thr_wait_mutator		{ TYPE = FUNCTION };
358$if _x86 && _ELF32
359	___tls_get_addr			{ TYPE = FUNCTION };
360$endif
361	__tls_get_addr			{ TYPE = FUNCTION };
362};
363
364$if sparc32
365SYMBOL_VERSION SISCD_2.3 {
366    global:
367	SISCD_2.3;
368} SISCD_2.3a SISCD_2.3b;
369$endif
370