xref: /illumos-gate/usr/src/lib/libc/port/mapfile-vers (revision 6ea3c060)
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#
22# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
23#
24# Copyright 2010 Nexenta Systems, Inc.  All rights reserved.
25# Use is subject to license terms.
26#
27
28#
29# MAPFILE HEADER START
30#
31# WARNING:  STOP NOW.  DO NOT MODIFY THIS FILE.
32# Object versioning must comply with the rules detailed in
33#
34#	usr/src/lib/README.mapfiles
35#
36# You should not be making modifications here until you've read the most current
37# copy of that file. If you need help, contact a gatekeeper for guidance.
38#
39# MAPFILE HEADER END
40#
41
42$mapfile_version 2
43
44#
45# All function names added to this or any other libc mapfile
46# must be placed under the 'protected:' designation.
47# The 'global:' designation is used *only* for data
48# items and for the members of the malloc() family.
49#
50
51#
52# README README README README README README: how to update this file
53#   1) each version of Solaris/OpenSolaris gets a version number.
54#      (Actually since Solaris is actually a series of OpenSolaris releases
55#	we'll just use OpenSolaris for this exercise.)
56#	OpenSolaris 2008.11 gets 1.23
57#	OpenSolaris 2009.04 gets 1.24
58#	etc.
59#   2) each project integration uses a unique version number.
60#	PSARC/2008/123 gets 1.24.1
61#	PSARC/2008/456 gets 1.24.2
62#	etc.
63#
64
65
66# Mnemonic conditional input identifiers:
67#
68# - amd64, i386, sparc32, sparcv9: Correspond to ISA subdirectories used to
69#	hold per-platform code. Note however that we use 'sparc32' instead of
70#	'sparc'. Since '_sparc' is predefined to apply to, all sparc platforms,
71#	naming the 32-bit version 'sparc' would be too likely to cause errors.
72#
73# -	lf64: Defined on platforms that offer the 32-bit largefile APIs
74#
75$if _ELF32
76$add lf64
77$endif
78$if _sparc && _ELF32
79$add sparc32
80$endif
81$if _sparc && _ELF64
82$add sparcv9
83$endif
84$if _x86 && _ELF32
85$add i386
86$endif
87$if _x86 && _ELF64
88$add amd64
89$endif
90
91SYMBOL_VERSION SUNW_1.23 {	# SunOS 5.11 (Solaris 11)
92    global:
93	_nl_domain_bindings;
94	_nl_msg_cat_cntr;
95
96$if _ELF32
97	dl_iterate_phdr	{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
98$elif sparcv9
99	dl_iterate_phdr	{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
100$elif amd64
101	dl_iterate_phdr	{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
102$else
103$error unknown platform
104$endif
105
106    protected:
107
108$if sparc32
109	__align_cpy_1;
110$endif
111
112	addrtosymstr;
113	aio_cancel;
114	aiocancel;
115	aio_error;
116	aio_fsync;
117	aio_read;
118	aioread;
119	aio_return;
120	aio_suspend;
121	aiowait;
122	aio_waitn;
123	aio_write;
124	aiowrite;
125	asprintf;
126	assfail;
127	backtrace;
128	backtrace_symbols;
129	backtrace_symbols_fd;
130	canonicalize_file_name;
131	clearenv;
132	clock_getres;
133	clock_gettime;
134	clock_nanosleep;
135	clock_settime;
136	daemon;
137	dirfd;
138	door_bind;
139	door_call;
140	door_create;
141	door_cred;
142	door_getparam;
143	door_info;
144	door_return;
145	door_revoke;
146	door_server_create;
147	door_setparam;
148	door_ucred;
149	door_unbind;
150	door_xcreate;
151	err;
152	errx;
153	faccessat;
154	fchmodat;
155	fcloseall;
156	fdatasync;
157	ffsl;
158	ffsll;
159	fgetattr;
160	fls;
161	flsl;
162	flsll;
163	forkallx;
164	forkx;
165	fsetattr;
166	getattrat;
167	getdelim;
168	getline;
169	get_nprocs;
170	get_nprocs_conf;
171	getprogname;
172	htonl;
173	htonll;
174	htons;
175	linkat;
176	lio_listio;
177	memmem;
178	mkdirat;
179	mkdtemp;
180	mkfifoat;
181	mknodat;
182	mkstemps;
183	mmapobj;
184	mq_close;
185	mq_getattr;
186	mq_notify;
187	mq_open;
188	mq_receive;
189	mq_reltimedreceive_np;
190	mq_reltimedsend_np;
191	mq_send;
192	mq_setattr;
193	mq_timedreceive;
194	mq_timedsend;
195	mq_unlink;
196	nanosleep;
197	ntohl;
198	ntohll;
199	ntohs;
200	posix_fadvise;
201	posix_fallocate;
202	posix_madvise;
203	posix_memalign;
204	posix_spawn_file_actions_addclosefrom_np;
205	posix_spawnattr_getsigignore_np;
206	posix_spawnattr_setsigignore_np;
207	ppoll;
208	priv_basicset;
209	pthread_key_create_once_np;
210	pthread_mutexattr_getrobust;
211	pthread_mutexattr_setrobust;
212	pthread_mutex_consistent;
213	readlinkat;
214	sched_getparam;
215	sched_get_priority_max;
216	sched_get_priority_min;
217	sched_getscheduler;
218	sched_rr_get_interval;
219	sched_setparam;
220	sched_setscheduler;
221	sched_yield;
222	sem_close;
223	sem_destroy;
224	sem_getvalue;
225	sem_init;
226	sem_open;
227	sem_post;
228	sem_reltimedwait_np;
229	sem_timedwait;
230	sem_trywait;
231	sem_unlink;
232	sem_wait;
233	setattrat;
234	setprogname;
235	_sharefs;
236	shm_open;
237	shm_unlink;
238	sigqueue;
239	sigtimedwait;
240	sigwaitinfo;
241	smt_pause;
242	stpcpy;
243	stpncpy;
244	strcasestr;
245	strchrnul;
246	strndup;
247	strnlen;
248	strnstr;
249	strsep;
250	symlinkat;
251	thr_keycreate_once;
252	timer_create;
253	timer_delete;
254	timer_getoverrun;
255	timer_gettime;
256	timer_settime;
257	u8_strcmp;
258	u8_validate;
259	uconv_u16tou32;
260	uconv_u16tou8;
261	uconv_u32tou16;
262	uconv_u32tou8;
263	uconv_u8tou16;
264	uconv_u8tou32;
265	vasprintf;
266	verr;
267	verrx;
268	vforkx;
269	vwarn;
270	vwarnx;
271	warn;
272	warnx;
273	wcpcpy;
274	wcpncpy;
275	wcscasecmp;
276	wcsdup;
277	wcsncasecmp;
278	wcsnlen;
279
280$if lf64
281	aio_cancel64;
282	aio_error64;
283	aio_fsync64;
284	aio_read64;
285	aioread64;
286	aio_return64;
287	aio_suspend64;
288	aio_waitn64;
289	aio_write64;
290	aiowrite64;
291	lio_listio64;
292	mkstemps64;
293	posix_fadvise64;
294	posix_fallocate64;
295$endif
296} SUNW_1.22.6;
297
298SYMBOL_VERSION SUNW_1.22.6 {	# s10u9 - SunOS 5.10 (Solaris 10) patch additions
299    protected:
300	futimens;
301	utimensat;
302} SUNW_1.22.5;
303
304SYMBOL_VERSION SUNW_1.22.5 {	# s10u8 - SunOS 5.10 (Solaris 10) patch additions
305    protected:
306	getpagesizes2;
307} SUNW_1.22.4;
308
309SYMBOL_VERSION SUNW_1.22.4 {	# s10u7 - SunOS 5.10 (Solaris 10) patch additions
310    protected:
311	SUNW_1.22.4;
312} SUNW_1.22.3;
313
314SYMBOL_VERSION SUNW_1.22.3 {	# SunOS 5.10 (Solaris 10) patch additions
315    protected:
316	mutex_consistent;
317	u8_textprep_str;
318	uucopy;
319	uucopystr;
320} SUNW_1.22.2;
321
322SYMBOL_VERSION SUNW_1.22.2 {	# SunOS 5.10 (Solaris 10) patch additions
323    protected:
324	is_system_labeled;
325	ucred_getlabel;
326	_ucred_getlabel;
327} SUNW_1.22.1;
328
329SYMBOL_VERSION SUNW_1.22.1 {	# SunOS 5.10 (Solaris 10) patch additions
330    protected:
331	atomic_add_8;
332	atomic_add_8_nv;
333	atomic_add_char		{ FLAGS = NODYNSORT };
334	atomic_add_char_nv	{ FLAGS = NODYNSORT };
335	atomic_add_int		{ FLAGS = NODYNSORT };
336	atomic_add_int_nv	{ FLAGS = NODYNSORT };
337	atomic_add_ptr		{ FLAGS = NODYNSORT };
338	atomic_add_ptr_nv	{ FLAGS = NODYNSORT };
339	atomic_add_short	{ FLAGS = NODYNSORT };
340	atomic_add_short_nv	{ FLAGS = NODYNSORT };
341	atomic_and_16;
342	atomic_and_16_nv;
343	atomic_and_32_nv;
344	atomic_and_64;
345	atomic_and_64_nv;
346	atomic_and_8;
347	atomic_and_8_nv;
348	atomic_and_uchar	{ FLAGS = NODYNSORT };
349	atomic_and_uchar_nv	{ FLAGS = NODYNSORT };
350	atomic_and_uint_nv	{ FLAGS = NODYNSORT };
351	atomic_and_ulong	{ FLAGS = NODYNSORT };
352	atomic_and_ulong_nv	{ FLAGS = NODYNSORT };
353	atomic_and_ushort	{ FLAGS = NODYNSORT };
354	atomic_and_ushort_nv	{ FLAGS = NODYNSORT };
355	atomic_cas_16;
356	atomic_cas_32;
357	atomic_cas_64;
358	atomic_cas_8;
359	atomic_cas_ptr		{ FLAGS = NODYNSORT };
360	atomic_cas_uchar	{ FLAGS = NODYNSORT };
361	atomic_cas_uint		{ FLAGS = NODYNSORT };
362	atomic_cas_ulong	{ FLAGS = NODYNSORT };
363	atomic_cas_ushort	{ FLAGS = NODYNSORT };
364	atomic_clear_long_excl	{ FLAGS = NODYNSORT };
365	atomic_dec_16;
366	atomic_dec_16_nv;
367	atomic_dec_32;
368	atomic_dec_32_nv;
369	atomic_dec_64;
370	atomic_dec_64_nv;
371	atomic_dec_8;
372	atomic_dec_8_nv;
373	atomic_dec_uchar	{ FLAGS = NODYNSORT };
374	atomic_dec_uchar_nv	{ FLAGS = NODYNSORT };
375	atomic_dec_uint		{ FLAGS = NODYNSORT };
376	atomic_dec_uint_nv	{ FLAGS = NODYNSORT };
377	atomic_dec_ulong	{ FLAGS = NODYNSORT };
378	atomic_dec_ulong_nv	{ FLAGS = NODYNSORT };
379	atomic_dec_ushort	{ FLAGS = NODYNSORT };
380	atomic_dec_ushort_nv	{ FLAGS = NODYNSORT };
381	atomic_inc_16;
382	atomic_inc_16_nv;
383	atomic_inc_32;
384	atomic_inc_32_nv;
385	atomic_inc_64;
386	atomic_inc_64_nv;
387	atomic_inc_8;
388	atomic_inc_8_nv;
389	atomic_inc_uchar	{ FLAGS = NODYNSORT };
390	atomic_inc_uchar_nv	{ FLAGS = NODYNSORT };
391	atomic_inc_uint		{ FLAGS = NODYNSORT };
392	atomic_inc_uint_nv	{ FLAGS = NODYNSORT };
393	atomic_inc_ulong	{ FLAGS = NODYNSORT };
394	atomic_inc_ulong_nv	{ FLAGS = NODYNSORT };
395	atomic_inc_ushort	{ FLAGS = NODYNSORT };
396	atomic_inc_ushort_nv	{ FLAGS = NODYNSORT };
397	atomic_or_16;
398	atomic_or_16_nv;
399	atomic_or_32_nv;
400	atomic_or_64;
401	atomic_or_64_nv;
402	atomic_or_8;
403	atomic_or_8_nv;
404	atomic_or_uchar		{ FLAGS = NODYNSORT };
405	atomic_or_uchar_nv	{ FLAGS = NODYNSORT };
406	atomic_or_uint_nv	{ FLAGS = NODYNSORT };
407	atomic_or_ulong		{ FLAGS = NODYNSORT };
408	atomic_or_ulong_nv	{ FLAGS = NODYNSORT };
409	atomic_or_ushort	{ FLAGS = NODYNSORT };
410	atomic_or_ushort_nv	{ FLAGS = NODYNSORT };
411	atomic_set_long_excl	{ FLAGS = NODYNSORT };
412	atomic_swap_16;
413	atomic_swap_32;
414	atomic_swap_64;
415	atomic_swap_8;
416	atomic_swap_ptr		{ FLAGS = NODYNSORT };
417	atomic_swap_uchar	{ FLAGS = NODYNSORT };
418	atomic_swap_uint	{ FLAGS = NODYNSORT };
419	atomic_swap_ulong	{ FLAGS = NODYNSORT };
420	atomic_swap_ushort	{ FLAGS = NODYNSORT };
421	membar_consumer;
422	membar_enter;
423	membar_exit;
424	membar_producer;
425
426$if _ELF32
427	enable_extended_FILE_stdio;
428$endif
429
430$if i386
431	# Note: atomic_[and,dec,inc,or]_64_nv are also defined above. Here,
432	# we add the NODYNSORT attribute to them. On this platform, they are
433	# aliases for the non-_nv versions. If that is changed, these lines
434	# should be removed.
435	atomic_and_64_nv	{ FLAGS = NODYNSORT };
436	atomic_dec_64_nv	{ FLAGS = NODYNSORT };
437	atomic_inc_64_nv	{ FLAGS = NODYNSORT };
438	atomic_or_64_nv		{ FLAGS = NODYNSORT };
439$endif
440$if _sparc
441	# Note: atomic_OP_WIDTH_nv symbols are also defined above. Here,
442	# we add the NODYNSORT attribute to them. On this platform, they are
443	# aliases for the non-_nv versions. If that is changed, these lines
444	# should be removed.
445	atomic_add_8_nv		{ FLAGS = NODYNSORT };
446	atomic_and_8_nv		{ FLAGS = NODYNSORT };
447	atomic_and_16_nv	{ FLAGS = NODYNSORT };
448	atomic_and_32_nv	{ FLAGS = NODYNSORT };
449	atomic_and_64_nv	{ FLAGS = NODYNSORT };
450	atomic_dec_8_nv		{ FLAGS = NODYNSORT };
451	atomic_dec_16_nv	{ FLAGS = NODYNSORT };
452	atomic_dec_32_nv	{ FLAGS = NODYNSORT };
453	atomic_dec_64_nv	{ FLAGS = NODYNSORT };
454	atomic_inc_8_nv		{ FLAGS = NODYNSORT };
455	atomic_inc_16_nv	{ FLAGS = NODYNSORT };
456	atomic_inc_32_nv	{ FLAGS = NODYNSORT };
457	atomic_inc_64_nv	{ FLAGS = NODYNSORT };
458	atomic_or_8_nv		{ FLAGS = NODYNSORT };
459	atomic_or_16_nv		{ FLAGS = NODYNSORT };
460	atomic_or_32_nv		{ FLAGS = NODYNSORT };
461	atomic_or_64_nv		{ FLAGS = NODYNSORT };
462$endif
463} SUNW_1.22;
464
465SYMBOL_VERSION SUNW_1.22 {	# SunOS 5.10 (Solaris 10)
466    global:
467$if _ELF32
468	dladdr		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
469	dladdr1		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
470	dlclose		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
471	dldump		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
472	dlerror		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
473	dlinfo		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
474	dlmopen		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
475	dlopen		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
476	dlsym		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
477$elif sparcv9
478	dladdr		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
479	dladdr1		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
480	dlclose		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
481	dldump		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
482	dlerror		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
483	dlinfo		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
484	dlmopen		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
485	dlopen		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
486	dlsym		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
487$elif amd64
488	dladdr		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
489	dladdr1		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
490	dlamd64getunwind { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
491	dlclose		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
492	dldump		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
493	dlerror		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
494	dlinfo		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
495	dlmopen		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
496	dlopen		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
497	dlsym		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
498$else
499$error unknown platform
500$endif
501
502    protected:
503	alphasort;
504	_alphasort;
505	atomic_add_16;
506	atomic_add_16_nv;
507	atomic_add_32;
508	atomic_add_32_nv;
509	atomic_add_64;
510	atomic_add_64_nv;
511	atomic_add_long		{ FLAGS = NODYNSORT };
512	atomic_add_long_nv	{ FLAGS = NODYNSORT };
513	atomic_and_32;
514	atomic_and_uint		{ FLAGS = NODYNSORT };
515	atomic_or_32;
516	atomic_or_uint		{ FLAGS = NODYNSORT };
517	_Exit;
518	getisax;
519	_getisax;
520	getopt_clip;
521	_getopt_clip;
522	getopt_long;
523	_getopt_long;
524	getopt_long_only;
525	_getopt_long_only;
526	getpeerucred;
527	_getpeerucred;
528	getpflags;
529	_getpflags;
530	getppriv;
531	_getppriv;
532	getprivimplinfo;
533	_getprivimplinfo;
534	getzoneid;
535	getzoneidbyname;
536	getzonenamebyid;
537	imaxabs;
538	imaxdiv;
539	isblank;
540	iswblank;
541	port_alert;
542	port_associate;
543	port_create;
544	port_dissociate;
545	port_get;
546	port_getn;
547	port_send;
548	port_sendn;
549	posix_openpt;
550	posix_spawn;
551	posix_spawnattr_destroy;
552	posix_spawnattr_getflags;
553	posix_spawnattr_getpgroup;
554	posix_spawnattr_getschedparam;
555	posix_spawnattr_getschedpolicy;
556	posix_spawnattr_getsigdefault;
557	posix_spawnattr_getsigmask;
558	posix_spawnattr_init;
559	posix_spawnattr_setflags;
560	posix_spawnattr_setpgroup;
561	posix_spawnattr_setschedparam;
562	posix_spawnattr_setschedpolicy;
563	posix_spawnattr_setsigdefault;
564	posix_spawnattr_setsigmask;
565	posix_spawn_file_actions_addclose;
566	posix_spawn_file_actions_adddup2;
567	posix_spawn_file_actions_addopen;
568	posix_spawn_file_actions_destroy;
569	posix_spawn_file_actions_init;
570	posix_spawnp;
571	priv_addset;
572	_priv_addset;
573	priv_allocset;
574	_priv_allocset;
575	priv_copyset;
576	_priv_copyset;
577	priv_delset;
578	_priv_delset;
579	priv_emptyset;
580	_priv_emptyset;
581	priv_fillset;
582	_priv_fillset;
583	__priv_free_info;
584	priv_freeset;
585	_priv_freeset;
586	priv_getbyname;
587	_priv_getbyname;
588	__priv_getbyname;
589	priv_getbynum;
590	_priv_getbynum;
591	__priv_getbynum;
592	__priv_getdata;
593	priv_getsetbyname;
594	_priv_getsetbyname;
595	__priv_getsetbyname;
596	priv_getsetbynum;
597	_priv_getsetbynum;
598	__priv_getsetbynum;
599	priv_gettext;
600	_priv_gettext;
601	priv_ineffect;
602	_priv_ineffect;
603	priv_intersect;
604	_priv_intersect;
605	priv_inverse;
606	_priv_inverse;
607	priv_isemptyset;
608	_priv_isemptyset;
609	priv_isequalset;
610	_priv_isequalset;
611	priv_isfullset;
612	_priv_isfullset;
613	priv_ismember;
614	_priv_ismember;
615	priv_issubset;
616	_priv_issubset;
617	__priv_parse_info;
618	priv_set;
619	_priv_set;
620	priv_set_to_str;
621	_priv_set_to_str;
622	__priv_set_to_str;
623	priv_str_to_set;
624	_priv_str_to_set;
625	priv_union;
626	_priv_union;
627	pselect;
628	pthread_attr_getstack;
629	pthread_attr_setstack;
630	pthread_barrierattr_destroy;
631	pthread_barrierattr_getpshared;
632	pthread_barrierattr_init;
633	pthread_barrierattr_setpshared;
634	pthread_barrier_destroy;
635	pthread_barrier_init;
636	pthread_barrier_wait;
637	pthread_condattr_getclock;
638	pthread_condattr_setclock;
639	pthread_mutexattr_getrobust_np	{ FLAGS = NODYNSORT };
640	pthread_mutexattr_setrobust_np	{ FLAGS = NODYNSORT };
641	pthread_mutex_consistent_np	{ FLAGS = NODYNSORT };
642	pthread_mutex_reltimedlock_np;
643	pthread_mutex_timedlock;
644	pthread_rwlock_reltimedrdlock_np;
645	pthread_rwlock_reltimedwrlock_np;
646	pthread_rwlock_timedrdlock;
647	pthread_rwlock_timedwrlock;
648	pthread_setschedprio;
649	pthread_spin_destroy;
650	pthread_spin_init;
651	pthread_spin_lock;
652	pthread_spin_trylock;
653	pthread_spin_unlock;
654	rctlblk_set_recipient_pid;
655	scandir;
656	_scandir;
657	schedctl_exit;
658	schedctl_init;
659	schedctl_lookup;
660	sema_reltimedwait;
661	sema_timedwait;
662	setenv;
663	setpflags;
664	_setpflags;
665	setppriv;
666	_setppriv;
667	strerror_r;
668	strtof;
669	strtoimax;
670	strtold;
671	strtoumax;
672	ucred_free;
673	_ucred_free;
674	ucred_get;
675	_ucred_get;
676	ucred_getegid;
677	_ucred_getegid;
678	ucred_geteuid;
679	_ucred_geteuid;
680	ucred_getgroups;
681	_ucred_getgroups;
682	ucred_getpflags;
683	_ucred_getpflags;
684	ucred_getpid;
685	_ucred_getpid;
686	ucred_getprivset;
687	_ucred_getprivset;
688	ucred_getprojid;
689	_ucred_getprojid;
690	ucred_getrgid;
691	_ucred_getrgid;
692	ucred_getruid;
693	_ucred_getruid;
694	ucred_getsgid;
695	_ucred_getsgid;
696	ucred_getsuid;
697	_ucred_getsuid;
698	ucred_getzoneid;
699	_ucred_getzoneid;
700	ucred_size;
701	_ucred_size;
702	unsetenv;
703	wcstof;
704	wcstoimax;
705	wcstold;
706	wcstoll;
707	wcstoull;
708	wcstoumax;
709
710$if lf64
711	alphasort64;
712	_alphasort64;
713	pselect_large_fdset;
714	scandir64;
715	_scandir64;
716$endif
717
718$if _ELF64
719	walkcontext;
720$endif
721
722$if _sparc
723	# Note: atomic_add_[16,32,64]_nv are also defined above. Here, we add
724	# the NODYNSORT attribute to them. On this platform, they are aliases
725	# for the non-_nv versions. If that is changed, these lines should be
726	# removed.
727	atomic_add_16_nv	{ FLAGS = NODYNSORT };
728	atomic_add_32_nv	{ FLAGS = NODYNSORT };
729	atomic_add_64_nv	{ FLAGS = NODYNSORT };
730$endif
731
732$if i386
733	# Note: atomic_add_64_nv is also defined above. Here, we add the
734	# NODYNSORT attribute to it. On this platform, it is an aliases for
735	# atomic_add_64. If that is changed, this line should be removed.
736	atomic_add_64_nv 	{ FLAGS = NODYNSORT };
737$endif
738
739$if amd64
740	# Exception unwind APIs required by the amd64 ABI
741	_SUNW_Unwind_DeleteException;
742	_SUNW_Unwind_ForcedUnwind;
743	_SUNW_Unwind_GetCFA;
744	_SUNW_Unwind_GetGR;
745	_SUNW_Unwind_GetIP;
746	_SUNW_Unwind_GetLanguageSpecificData;
747	_SUNW_Unwind_GetRegionStart;
748	_SUNW_Unwind_RaiseException;
749	_SUNW_Unwind_Resume;
750	_SUNW_Unwind_SetGR;
751	_SUNW_Unwind_SetIP;
752	_UA_CLEANUP_PHASE;
753	_UA_FORCE_UNWIND;
754	_UA_HANDLER_FRAME;
755	_UA_SEARCH_PHASE;
756	_Unwind_DeleteException;
757	_Unwind_ForcedUnwind;
758	_Unwind_GetCFA;
759	_Unwind_GetGR;
760	_Unwind_GetIP;
761	_Unwind_GetLanguageSpecificData;
762	_Unwind_GetRegionStart;
763	_Unwind_RaiseException;
764	_Unwind_Resume;
765	_Unwind_SetGR;
766	_Unwind_SetIP;
767$endif
768} SUNW_1.21.3;
769
770SYMBOL_VERSION SUNW_1.21.3 {	# SunOS 5.9 (Solaris 9) patch additions
771    protected:
772	forkall;
773} SUNW_1.21.2;
774
775SYMBOL_VERSION SUNW_1.21.2 {	# SunOS 5.9 (Solaris 9) patch additions
776    protected:
777	getustack;
778	_getustack;
779	setustack;
780	_setustack;
781	stack_getbounds;
782	_stack_getbounds;
783	_stack_grow;
784	stack_inbounds;
785	_stack_inbounds;
786	stack_setbounds;
787	_stack_setbounds;
788	stack_violation;
789	_stack_violation;
790
791$if _sparc
792	__makecontext_v2;
793	___makecontext_v2;
794$endif
795} SUNW_1.21.1;
796
797SYMBOL_VERSION SUNW_1.21.1 {	# SunOS 5.9 (Solaris 9) patch additions
798    protected:
799	crypt_gensalt;
800} SUNW_1.21;
801
802SYMBOL_VERSION SUNW_1.21 {	# SunOS 5.9 (Solaris 9)
803    protected:
804	attropen;
805	_attropen;
806	bind_textdomain_codeset;
807	closefrom;
808	_closefrom;
809	cond_reltimedwait;
810	dcngettext;
811	dngettext;
812	fchownat;
813	_fchownat;
814	fdopendir;
815	_fdopendir;
816	fdwalk;
817	_fdwalk;
818	fstatat;
819	_fstatat;
820	futimesat;
821	_futimesat;
822	getcpuid;
823	_getcpuid;
824	gethomelgroup;
825	_gethomelgroup		{ FLAGS = NODYNSORT };
826	getpagesizes;
827	getrctl;
828	_getrctl;
829	issetugid;
830	_issetugid;
831	_lwp_cond_reltimedwait;
832	meminfo;
833	_meminfo;
834	ngettext;
835	openat;
836	_openat;
837	printstack;
838	priocntl;
839	priocntlset;
840	pset_getattr;
841	pset_getloadavg;
842	pset_list;
843	pset_setattr;
844	pthread_cond_reltimedwait_np;
845	rctlblk_get_enforced_value;
846	rctlblk_get_firing_time;
847	rctlblk_get_global_action;
848	rctlblk_get_global_flags;
849	rctlblk_get_local_action;
850	rctlblk_get_local_flags;
851	rctlblk_get_privilege;
852	rctlblk_get_recipient_pid;
853	rctlblk_get_value;
854	rctlblk_set_local_action;
855	rctlblk_set_local_flags;
856	rctlblk_set_privilege;
857	rctlblk_set_value;
858	rctlblk_size;
859	rctl_walk;
860	renameat;
861	setrctl;
862	_setrctl;
863	unlinkat;
864	_unlinkat;
865	vfscanf;
866	_vfscanf;
867	vfwscanf;
868	vscanf;
869	_vscanf;
870	vsscanf;
871	_vsscanf;
872	vswscanf;
873	vwscanf;
874
875$if _ELF32
876	walkcontext;
877$endif
878
879$if lf64
880	attropen64;
881	_attropen64;
882	fstatat64;
883	_fstatat64;
884	openat64;
885	_openat64;
886$endif
887} SUNW_1.20.4;
888
889SYMBOL_VERSION SUNW_1.20.4 {	# SunOS 5.8 (Solaris 8) patch additions
890    protected:
891	semtimedop;
892	_semtimedop;
893} SUNW_1.20.1;
894
895SYMBOL_VERSION SUNW_1.20.1 {	# SunOS 5.8 (Solaris 8) patch additions
896    protected:
897	getacct;
898	_getacct;
899	getprojid;
900	_getprojid;
901	gettaskid;
902	_gettaskid;
903	msgids;
904	_msgids;
905	msgsnap;
906	_msgsnap;
907	putacct;
908	_putacct;
909	semids;
910	_semids;
911	settaskid;
912	_settaskid;
913	shmids;
914	_shmids;
915	wracct;
916	_wracct;
917} SUNW_1.20;
918
919SYMBOL_VERSION SUNW_1.20 {	# SunOS 5.8 (Solaris 8)
920    protected:
921	getextmntent;
922	resetmnttab;
923} SUNW_1.19;
924
925SYMBOL_VERSION SUNW_1.19 {
926    protected:
927	strlcat;
928	strlcpy;
929	umount2;
930	_umount2;
931} SUNW_1.18.1;
932
933SYMBOL_VERSION SUNW_1.18.1 {
934    protected:
935	__fsetlocking;
936} SUNW_1.18;
937
938SYMBOL_VERSION SUNW_1.18 {	# SunOS 5.7 (Solaris 7)
939    protected:
940	btowc;
941	__fbufsize;
942	__flbf;
943	_flushlbf;
944	__fpending;
945	__fpurge;
946	__freadable;
947	__freading;
948	fwide;
949	fwprintf;
950	__fwritable;
951	__fwriting;
952	fwscanf;
953	getloadavg;
954	isaexec;
955	mbrlen;
956	mbrtowc;
957	mbsinit;
958	mbsrtowcs;
959	pcsample;
960	pthread_attr_getguardsize;
961	pthread_attr_setguardsize;
962	pthread_getconcurrency;
963	pthread_mutexattr_gettype;
964	pthread_mutexattr_settype;
965	pthread_rwlockattr_destroy;
966	pthread_rwlockattr_getpshared;
967	pthread_rwlockattr_init;
968	pthread_rwlockattr_setpshared;
969	pthread_rwlock_destroy;
970	pthread_rwlock_init;
971	pthread_rwlock_rdlock;
972	pthread_rwlock_tryrdlock;
973	pthread_rwlock_trywrlock;
974	pthread_rwlock_unlock;
975	pthread_rwlock_wrlock;
976	pthread_setconcurrency;
977	swprintf;
978	swscanf;
979	__sysconf_xpg5;
980	vfwprintf;
981	vswprintf;
982	vwprintf;
983	wcrtomb;
984	wcsrtombs;
985	wcsstr;
986	wctob;
987	wmemchr;
988	wmemcmp;
989	wmemcpy;
990	wmemmove;
991	wmemset;
992	wprintf;
993	wscanf;
994
995$if _ELF32
996	select_large_fdset;
997$endif
998} SUNW_1.17;
999
1000# The empty versions SUNW_1.2 through SUNW_1.17 must be preserved because
1001# applications built on Solaris 2.6 Beta (when they did contain symbols)
1002# may depend on them.  All symbol content for SunOS 5.6 is now in SUNW_1.1
1003
1004SYMBOL_VERSION SUNW_1.17 {
1005    protected:
1006	SUNW_1.17;
1007} SUNW_1.16;
1008
1009SYMBOL_VERSION SUNW_1.16 {
1010    protected:
1011	SUNW_1.16;
1012} SUNW_1.15;
1013
1014SYMBOL_VERSION SUNW_1.15 {
1015    protected:
1016	SUNW_1.15;
1017} SUNW_1.14;
1018
1019SYMBOL_VERSION SUNW_1.14 {
1020    protected:
1021	SUNW_1.14;
1022} SUNW_1.13;
1023
1024SYMBOL_VERSION SUNW_1.13 {
1025    protected:
1026	SUNW_1.13;
1027} SUNW_1.12;
1028
1029SYMBOL_VERSION SUNW_1.12 {
1030    protected:
1031	SUNW_1.12;
1032} SUNW_1.11;
1033
1034SYMBOL_VERSION SUNW_1.11 {
1035    protected:
1036	SUNW_1.11;
1037} SUNW_1.10;
1038
1039SYMBOL_VERSION SUNW_1.10 {
1040    protected:
1041	SUNW_1.10;
1042} SUNW_1.9;
1043
1044SYMBOL_VERSION SUNW_1.9 {
1045    protected:
1046	SUNW_1.9;
1047} SUNW_1.8;
1048
1049SYMBOL_VERSION SUNW_1.8 {
1050    protected:
1051	SUNW_1.8;
1052} SUNW_1.7;
1053
1054SYMBOL_VERSION SUNW_1.7 {
1055    protected:
1056	SUNW_1.7;
1057} SUNW_1.6;
1058
1059SYMBOL_VERSION SUNW_1.6 {
1060    protected:
1061	SUNW_1.6;
1062} SUNW_1.5;
1063
1064SYMBOL_VERSION SUNW_1.5 {
1065    protected:
1066	SUNW_1.5;
1067} SUNW_1.4;
1068
1069SYMBOL_VERSION SUNW_1.4 {
1070    protected:
1071	SUNW_1.4;
1072} SUNW_1.3;
1073
1074SYMBOL_VERSION SUNW_1.3 {
1075    protected:
1076	SUNW_1.3;
1077} SUNW_1.2;
1078
1079SYMBOL_VERSION SUNW_1.2 {
1080    protected:
1081	SUNW_1.2;
1082} SUNW_1.1;
1083
1084SYMBOL_VERSION SUNW_1.1 {	# SunOS 5.6 (Solaris 2.6)
1085    global:
1086	__loc1;
1087    protected:
1088	basename;
1089	bindtextdomain;
1090	bsd_signal;
1091	dbm_clearerr;
1092	dbm_error;
1093	dcgettext;
1094	dgettext;
1095	directio;
1096	dirname;
1097	endusershell;
1098	_exithandle;
1099	fgetwc;
1100	fgetws;
1101	fpgetround;
1102	fpsetround;
1103	fputwc;
1104	fputws;
1105	fseeko;
1106	ftello;
1107	ftrylockfile;
1108	getexecname;
1109	_getexecname;
1110	getpassphrase;
1111	gettext;
1112	getusershell;
1113	getwc;
1114	getwchar;
1115	getws;
1116	isenglish;
1117	isideogram;
1118	isnumber;
1119	isphonogram;
1120	isspecial;
1121	iswalnum;
1122	iswalpha;
1123	iswcntrl;
1124	iswctype;
1125	iswdigit;
1126	iswgraph;
1127	iswlower;
1128	iswprint;
1129	iswpunct;
1130	iswspace;
1131	iswupper;
1132	iswxdigit;
1133	____loc1;
1134	_longjmp;
1135	_lwp_sema_trywait;
1136	ntp_adjtime;
1137	_ntp_adjtime;
1138	ntp_gettime;
1139	_ntp_gettime;
1140	__posix_asctime_r;
1141	__posix_ctime_r;
1142	__posix_getgrgid_r;
1143	__posix_getgrnam_r;
1144	__posix_getlogin_r;
1145	__posix_getpwnam_r;
1146	__posix_getpwuid_r;
1147	__posix_sigwait;
1148	__posix_ttyname_r;
1149	pset_assign;
1150	pset_bind;
1151	pset_create;
1152	pset_destroy;
1153	pset_info;
1154	pthread_atfork;
1155	pthread_attr_destroy;
1156	pthread_attr_getdetachstate;
1157	pthread_attr_getinheritsched;
1158	pthread_attr_getschedparam;
1159	pthread_attr_getschedpolicy;
1160	pthread_attr_getscope;
1161	pthread_attr_getstackaddr;
1162	pthread_attr_getstacksize;
1163	pthread_attr_init;
1164	pthread_attr_setdetachstate;
1165	pthread_attr_setinheritsched;
1166	pthread_attr_setschedparam;
1167	pthread_attr_setschedpolicy;
1168	pthread_attr_setscope;
1169	pthread_attr_setstackaddr;
1170	pthread_attr_setstacksize;
1171	pthread_cancel;
1172	__pthread_cleanup_pop;
1173	__pthread_cleanup_push;
1174	pthread_create;
1175	pthread_detach;
1176	pthread_equal;
1177	pthread_exit;
1178	pthread_getschedparam;
1179	pthread_getspecific;
1180	pthread_join;
1181	pthread_key_create;
1182	pthread_key_delete;
1183	pthread_kill;
1184	pthread_once;
1185	pthread_self;
1186	pthread_setcancelstate;
1187	pthread_setcanceltype;
1188	pthread_setschedparam;
1189	pthread_setspecific;
1190	pthread_sigmask;
1191	pthread_testcancel;
1192	putwc;
1193	putwchar;
1194	putws;
1195	regcmp;
1196	regex;
1197	resolvepath;
1198	_resolvepath;
1199	rwlock_destroy		{ FLAGS = NODYNSORT };
1200	_rwlock_destroy		{ FLAGS = NODYNSORT };
1201	sema_destroy;
1202	_sema_destroy;
1203	_setjmp;
1204	setusershell;
1205	siginterrupt;
1206	sigstack;
1207	snprintf;
1208	strtows;
1209	sync_instruction_memory;
1210	textdomain;
1211	thr_main;
1212	towctrans;
1213	towlower;
1214	towupper;
1215	ungetwc;
1216	vsnprintf;
1217	watoll;
1218	wcscat;
1219	wcschr;
1220	wcscmp;
1221	wcscoll;
1222	wcscpy;
1223	wcscspn;
1224	wcsftime;
1225	wcslen;
1226	wcsncat;
1227	wcsncmp;
1228	wcsncpy;
1229	wcspbrk;
1230	wcsrchr;
1231	wcsspn;
1232	wcstod;
1233	wcstok;
1234	wcstol;
1235	wcstoul;
1236	wcswcs;
1237	wcswidth;
1238	wcsxfrm;
1239	wctrans;
1240	wctype;
1241	wcwidth;
1242	wscasecmp;
1243	wscat;
1244	wschr;
1245	wscmp;
1246	wscol;
1247	wscoll;
1248	wscpy;
1249	wscspn;
1250	wsdup;
1251	wslen;
1252	wsncasecmp;
1253	wsncat;
1254	wsncmp;
1255	wsncpy;
1256	wspbrk;
1257	wsprintf;
1258	wsrchr;
1259	wsscanf;
1260	wsspn;
1261	wstod;
1262	wstok;
1263	wstol;
1264	wstoll;
1265	wstostr;
1266	wsxfrm;
1267	__xpg4_putmsg;
1268	__xpg4_putpmsg;
1269
1270$if lf64
1271	creat64;
1272	_creat64;
1273	fgetpos64;
1274	fopen64;
1275	freopen64;
1276	fseeko64;
1277	fsetpos64;
1278	fstat64;
1279	_fstat64;
1280	fstatvfs64;
1281	_fstatvfs64;
1282	ftello64;
1283	ftruncate64;
1284	_ftruncate64;
1285	ftw64;
1286	_ftw64;
1287	getdents64;
1288	_getdents64;
1289	getrlimit64;
1290	_getrlimit64;
1291	lockf64;
1292	_lockf64;
1293	lseek64;
1294	_lseek64;
1295	lstat64;
1296	_lstat64;
1297	mkstemp64;
1298	_mkstemp64;
1299	mmap64;
1300	_mmap64;
1301	nftw64;
1302	_nftw64;
1303	open64;
1304	_open64;
1305	__posix_readdir_r;
1306	pread64;
1307	_pread64;
1308	pwrite64;
1309	_pwrite64;
1310	readdir64;
1311	_readdir64;
1312	readdir64_r;
1313	_readdir64_r;
1314	setrlimit64;
1315	_setrlimit64;
1316	s_fcntl;
1317	_s_fcntl		{ FLAGS = NODYNSORT };
1318	s_ioctl;
1319	stat64;
1320	_stat64;
1321	statvfs64;
1322	_statvfs64;
1323	tell64;
1324	_tell64;
1325	tmpfile64;
1326	truncate64;
1327	_truncate64;
1328	_xftw64;
1329$endif
1330
1331$if _sparc
1332	__flt_rounds;
1333$endif
1334} SUNW_0.9;
1335
1336SYMBOL_VERSION SUNW_0.9 {	# SunOS 5.5 (Solaris 2.5)
1337    protected:
1338	acl;
1339	bcmp;
1340	bcopy;
1341	bzero;
1342	facl;
1343	ftime;
1344	getdtablesize;
1345	gethostid;
1346	gethostname;
1347	getpagesize;
1348	getpriority;
1349	getrusage;
1350	getwd;
1351	index;
1352	initstate;
1353	killpg;
1354	_nsc_trydoorcall;
1355	pthread_condattr_destroy;
1356	pthread_condattr_getpshared;
1357	pthread_condattr_init;
1358	pthread_condattr_setpshared;
1359	pthread_cond_broadcast;
1360	pthread_cond_destroy;
1361	pthread_cond_init;
1362	pthread_cond_signal;
1363	pthread_cond_timedwait;
1364	pthread_cond_wait;
1365	pthread_mutexattr_destroy;
1366	pthread_mutexattr_getprioceiling;
1367	pthread_mutexattr_getprotocol;
1368	pthread_mutexattr_getpshared;
1369	pthread_mutexattr_init;
1370	pthread_mutexattr_setprioceiling;
1371	pthread_mutexattr_setprotocol;
1372	pthread_mutexattr_setpshared;
1373	pthread_mutex_destroy;
1374	pthread_mutex_getprioceiling;
1375	pthread_mutex_init;
1376	pthread_mutex_lock;
1377	pthread_mutex_setprioceiling;
1378	pthread_mutex_trylock;
1379	pthread_mutex_unlock;
1380	random;
1381	reboot;
1382	re_comp;
1383	re_exec;
1384	rindex;
1385	setbuffer;
1386	sethostname;
1387	setlinebuf;
1388	setpriority;
1389	setregid;
1390	setreuid;
1391	setstate;
1392	srandom;
1393	thr_min_stack;
1394	thr_stksegment;
1395	ualarm;
1396	usleep;
1397	wait3;
1398	wait4;
1399} SUNW_0.8;
1400
1401SYMBOL_VERSION SUNW_0.8 {	# SunOS 5.4 (Solaris 2.4)
1402    global:
1403	__xpg4			{ FLAGS = NODIRECT };
1404    protected:
1405	addsev;
1406	cond_broadcast		{ FLAGS = NODYNSORT };
1407	cond_destroy		{ FLAGS = NODYNSORT };
1408	cond_init;
1409	cond_signal		{ FLAGS = NODYNSORT };
1410	cond_timedwait;
1411	cond_wait;
1412	confstr;
1413	fnmatch;
1414	_getdate_err_addr;
1415	glob;
1416	globfree;
1417	iconv;
1418	iconv_close;
1419	iconv_open;
1420	lfmt;
1421	mutex_destroy		{ FLAGS = NODYNSORT };
1422	mutex_init;
1423	mutex_lock		{ FLAGS = NODYNSORT };
1424	mutex_trylock		{ FLAGS = NODYNSORT };
1425	mutex_unlock		{ FLAGS = NODYNSORT };
1426	pfmt;
1427	regcomp;
1428	regerror;
1429	regexec;
1430	regfree;
1431	rwlock_init;
1432	rw_rdlock		{ FLAGS = NODYNSORT };
1433	rw_read_held;
1434	rw_tryrdlock		{ FLAGS = NODYNSORT };
1435	rw_trywrlock		{ FLAGS = NODYNSORT };
1436	rw_unlock		{ FLAGS = NODYNSORT };
1437	rw_write_held;
1438	rw_wrlock		{ FLAGS = NODYNSORT };
1439	sema_held;
1440	sema_init;
1441	sema_post;
1442	sema_trywait;
1443	sema_wait;
1444	setcat;
1445	sigfpe;
1446	strfmon;
1447	strptime;
1448	thr_continue;
1449	thr_create;
1450	thr_exit;
1451	thr_getconcurrency;
1452	thr_getprio;
1453	thr_getspecific;
1454	thr_join;
1455	thr_keycreate;
1456	thr_kill;
1457	thr_self		{ FLAGS = NODYNSORT };
1458	thr_setconcurrency;
1459	thr_setprio;
1460	thr_setspecific;
1461	thr_sigsetmask;
1462	thr_suspend;
1463	thr_yield;
1464	vlfmt;
1465	vpfmt;
1466	wordexp;
1467	wordfree;
1468} SUNW_0.7;
1469
1470SYMBOL_VERSION SUNW_0.7 {	# SunOS 5.3 (Solaris 2.3)
1471    global:
1472	altzone;
1473	_ctype;
1474	isnanf			{ TYPE = FUNCTION; FILTER = libm.so.2 };
1475	lone;
1476	lten;
1477	lzero;
1478	memalign		{ FLAGS = NODIRECT };
1479	modff			{ TYPE = FUNCTION; FILTER = libm.so.2 };
1480	nss_default_finders;
1481	_sibuf;
1482	_sobuf;
1483	_sys_buslist;
1484	_sys_cldlist;
1485	_sys_fpelist;
1486	_sys_illlist;
1487	_sys_segvlist;
1488	_sys_siginfolistp;
1489	_sys_siglist;
1490	_sys_siglistn;
1491	_sys_siglistp;
1492	_sys_traplist;
1493	valloc			{ FLAGS = NODIRECT };
1494
1495$if _ELF32
1496	_bufendtab;
1497	_lastbuf;
1498	sys_errlist;
1499	sys_nerr;
1500	_sys_nsig;
1501$endif
1502
1503    protected:
1504	a64l;
1505	adjtime;
1506	ascftime;
1507	_assert;
1508	atoll;
1509	brk;
1510	__builtin_alloca;
1511	cftime;
1512	closelog;
1513	csetcol;
1514	csetlen;
1515	ctermid_r;
1516	dbm_close;
1517	dbm_delete;
1518	dbm_fetch;
1519	dbm_firstkey;
1520	dbm_nextkey;
1521	dbm_open;
1522	dbm_store;
1523	decimal_to_double;
1524	decimal_to_extended;
1525	decimal_to_quadruple;
1526	decimal_to_single;
1527	double_to_decimal;
1528	drand48;
1529	econvert;
1530	ecvt;
1531	endnetgrent;
1532	endspent;
1533	endutent;
1534	endutxent;
1535	erand48;
1536	euccol;
1537	euclen;
1538	eucscol;
1539	extended_to_decimal;
1540	fchroot;
1541	fconvert;
1542	fcvt;
1543	ffs;
1544	fgetspent;
1545	fgetspent_r;
1546	_filbuf;
1547	file_to_decimal;
1548	finite;
1549	_flsbuf;
1550	fork1			{ FLAGS = NODYNSORT };
1551	fpclass;
1552	fpgetmask;
1553	fpgetsticky;
1554	fpsetmask;
1555	fpsetsticky;
1556	fstatfs;
1557	ftruncate;
1558	ftw;
1559	func_to_decimal;
1560	gconvert;
1561	gcvt;
1562	getdents;
1563	gethrtime;
1564	gethrvtime;
1565	getmntany;
1566	getmntent;
1567	getnetgrent;
1568	getnetgrent_r;
1569	getpw;
1570	getspent;
1571	getspent_r;
1572	getspnam;
1573	getspnam_r;
1574	getutent;
1575	getutid;
1576	getutline;
1577	getutmp;
1578	getutmpx;
1579	getutxent;
1580	getutxid;
1581	getutxline;
1582	getvfsany;
1583	getvfsent;
1584	getvfsfile;
1585	getvfsspec;
1586	getwidth;
1587	gsignal;
1588	hasmntopt;
1589	innetgr;
1590	insque;
1591	_insque;
1592	jrand48;
1593	l64a;
1594	ladd;
1595	lckpwdf;
1596	lcong48;
1597	ldivide;
1598	lexp10;
1599	llabs;
1600	lldiv;
1601	llog10;
1602	llseek;
1603	lltostr;
1604	lmul;
1605	lrand48;
1606	lshiftl;
1607	lsub;
1608	_lwp_cond_broadcast;
1609	_lwp_cond_signal;
1610	_lwp_cond_timedwait;
1611	_lwp_cond_wait;
1612	_lwp_continue;
1613	_lwp_info;
1614	_lwp_kill;
1615	_lwp_mutex_lock;
1616	_lwp_mutex_trylock;
1617	_lwp_mutex_unlock;
1618	_lwp_self;
1619	_lwp_sema_init;
1620	_lwp_sema_post;
1621	_lwp_sema_wait;
1622	_lwp_suspend;
1623	madvise;
1624	__major;
1625	__makedev;
1626	mincore;
1627	__minor;
1628	mkstemp;
1629	_mkstemp;
1630	mlockall;
1631	mrand48;
1632	munlockall;
1633	_mutex_held		{ FLAGS = NODYNSORT };
1634	_mutex_lock		{ FLAGS = NODYNSORT };
1635	nrand48;
1636	_nss_netdb_aliases;
1637	_nss_XbyY_buf_alloc;
1638	_nss_XbyY_buf_free;
1639	__nsw_extended_action;
1640	__nsw_freeconfig;
1641	__nsw_getconfig;
1642	openlog;
1643	plock;
1644	p_online;
1645	pread;
1646	__priocntl;
1647	__priocntlset;
1648	processor_bind;
1649	processor_info;
1650	psiginfo;
1651	psignal;
1652	putpwent;
1653	putspent;
1654	pututline;
1655	pututxline;
1656	pwrite;
1657	qeconvert;
1658	qecvt;
1659	qfconvert;
1660	qfcvt;
1661	qgconvert;
1662	qgcvt;
1663	quadruple_to_decimal;
1664	realpath;
1665	remque;
1666	_remque;
1667	_rw_read_held;
1668	_rw_write_held;
1669	seconvert;
1670	seed48;
1671	select;
1672	_sema_held;
1673	setegid;
1674	seteuid;
1675	setlogmask;
1676	setnetgrent;
1677	setspent;
1678	settimeofday;
1679	setutent;
1680	setutxent;
1681	sfconvert;
1682	sgconvert;
1683	sig2str;
1684	sigwait;
1685	single_to_decimal;
1686	srand48;
1687	ssignal;
1688	statfs;
1689	str2sig;
1690	strcasecmp;
1691	string_to_decimal;
1692	strncasecmp;
1693	strsignal;
1694	strtoll;
1695	strtoull;
1696	swapctl;
1697	_syscall;
1698	sysfs;
1699	syslog;
1700	_syslog;
1701	tmpnam_r;
1702	truncate;
1703	ttyslot;
1704	uadmin;
1705	ulckpwdf;
1706	ulltostr;
1707	unordered;
1708	updwtmp;
1709	updwtmpx;
1710	ustat;
1711	utimes;
1712	utmpname;
1713	utmpxname;
1714	vfork;
1715	vhangup;
1716	vsyslog;
1717	yield;
1718
1719$if i386
1720	# Note: _syscall is also defined above. Here, we add the NODYNSORT
1721	# attribute to it. On this platform, it is an alias to syscall.
1722	# If that is changed, this lines should be removed.
1723	_syscall		{ FLAGS = NODYNSORT };
1724$endif
1725
1726# The 32-bit sparc ABI requires SISCD_2.3. On other platforms, those symbols
1727# go directly into SUNW_0.7.
1728$if sparc32
1729} SISCD_2.3;
1730
1731SYMBOL_VERSION SISCD_2.3 {
1732$endif
1733
1734    global:
1735	errno			{ FLAGS = NODIRECT };
1736	_iob;
1737
1738    protected:
1739	addseverity;
1740	_addseverity;
1741	asctime_r;
1742	crypt;
1743	_crypt;
1744	ctime_r;
1745	encrypt;
1746	_encrypt;
1747	endgrent;
1748	endpwent;
1749	___errno;
1750	fgetgrent;
1751	fgetgrent_r;
1752	fgetpwent;
1753	fgetpwent_r;
1754	flockfile;
1755	funlockfile;
1756	getchar_unlocked;
1757	getc_unlocked;
1758	getgrent;
1759	getgrent_r;
1760	getgrgid_r;
1761	getgrnam_r;
1762	getitimer;
1763	_getitimer;
1764	getlogin_r;
1765	getpwent;
1766	getpwent_r;
1767	getpwnam_r;
1768	getpwuid_r;
1769	gettimeofday;
1770	_gettimeofday;
1771	gmtime_r;
1772	localtime_r;
1773	putchar_unlocked;
1774	putc_unlocked;
1775	rand_r;
1776	readdir_r;
1777	setgrent;
1778	setitimer;
1779	_setitimer;
1780	setkey;
1781	_setkey;
1782	setpwent;
1783	strtok_r;
1784	sysinfo;
1785	_sysinfo;
1786	ttyname_r;
1787
1788$if _ELF32
1789	__div64;
1790	__mul64;
1791	__rem64;
1792	__udiv64;
1793	__urem64;
1794$endif
1795
1796$if sparc32
1797	__dtoll;
1798	__dtoull;
1799	__ftoll;
1800	__ftoull;
1801	_Q_lltoq;
1802	_Q_qtoll;
1803	_Q_qtoull;
1804	_Q_ulltoq;
1805	sbrk;
1806	_sbrk;
1807	__umul64		{ FLAGS = NODYNSORT };	# Same address as __mul64
1808$endif
1809
1810# On 32-bit platforms, the following symbols go into SYSVABI_1.3, but on
1811# other platforms they go directly into the current version (which will be
1812# either SUNW_0.7, or SISCD_2.3, depending on the similar issue described above.
1813$if _ELF32
1814} SYSVABI_1.3;
1815
1816SYMBOL_VERSION SYSVABI_1.3 {
1817$endif
1818
1819    global:
1820	_altzone;
1821	calloc			{ FLAGS = NODIRECT };
1822	__ctype;
1823	daylight;
1824	_daylight;
1825	environ			{ FLAGS = NODIRECT };
1826	_environ		{ FLAGS = NODIRECT };
1827	free			{ FLAGS = NODIRECT };
1828	frexp			{ TYPE = FUNCTION; FILTER = libm.so.2 };
1829	getdate_err;
1830	_getdate_err;
1831	getenv;
1832	__huge_val;
1833	__iob;
1834	isnan			{ TYPE = FUNCTION; FILTER = libm.so.2 };
1835	_isnan			{ TYPE = FUNCTION; FILTER = libm.so.2 };
1836	isnand			{ TYPE = FUNCTION; FILTER = libm.so.2 };
1837	_isnand			{ TYPE = FUNCTION; FILTER = libm.so.2 };
1838	ldexp			{ TYPE = FUNCTION; FILTER = libm.so.2 };
1839	logb			{ TYPE = FUNCTION; FILTER = libm.so.2 };
1840	malloc			{ FLAGS = NODIRECT };
1841	memcmp;
1842	memcpy;
1843	memmove;
1844	memset;
1845	modf			{ TYPE = FUNCTION; FILTER = libm.so.2 };
1846	_modf			{ TYPE = FUNCTION; FILTER = libm.so.2 };
1847	nextafter		{ TYPE = FUNCTION; FILTER = libm.so.2 };
1848	_nextafter		{ TYPE = FUNCTION; FILTER = libm.so.2 };
1849	_numeric;
1850	optarg;
1851	opterr;
1852	optind;
1853	optopt;
1854	realloc			{ FLAGS = NODIRECT };
1855	scalb			{ TYPE = FUNCTION; FILTER = libm.so.2 };
1856	_scalb			{ TYPE = FUNCTION; FILTER = libm.so.2 };
1857	timezone;
1858	_timezone;
1859	tzname;
1860	_tzname;
1861$if i386
1862	_fp_hw;
1863$endif
1864
1865    protected:
1866	abort;
1867	abs;
1868	access;
1869	_access;
1870	acct;
1871	_acct;
1872	alarm;
1873	_alarm;
1874	asctime;
1875	__assert;
1876	atexit;
1877	atof;
1878	atoi;
1879	atol;
1880	bsearch;
1881	catclose;
1882	_catclose;
1883	catgets;
1884	_catgets;
1885	catopen;
1886	_catopen;
1887	cfgetispeed;
1888	_cfgetispeed;
1889	cfgetospeed;
1890	_cfgetospeed;
1891	cfsetispeed;
1892	_cfsetispeed;
1893	cfsetospeed;
1894	_cfsetospeed;
1895	chdir;
1896	_chdir;
1897	chmod;
1898	_chmod;
1899	chown;
1900	_chown;
1901	chroot;
1902	_chroot;
1903	_cleanup;
1904	clearerr;
1905	clock;
1906	_close;
1907	close;
1908	closedir;
1909	_closedir;
1910	creat;
1911	_creat;
1912	ctermid;
1913	ctime;
1914	cuserid;
1915	_cuserid;
1916	difftime;
1917	div;
1918	dup;
1919	_dup;
1920	dup2;
1921	_dup2;
1922	execl;
1923	_execl;
1924	execle;
1925	_execle;
1926	execlp;
1927	_execlp;
1928	execv;
1929	_execv;
1930	execve;
1931	_execve;
1932	execvp;
1933	_execvp;
1934	exit;
1935	_exit;
1936	fattach;
1937	_fattach;
1938	fchdir;
1939	_fchdir;
1940	fchmod;
1941	_fchmod;
1942	fchown;
1943	_fchown;
1944	fclose;
1945	fcntl;
1946	_fcntl;
1947	fdetach;
1948	_fdetach;
1949	fdopen;
1950	_fdopen;
1951	feof;
1952	ferror;
1953	fflush;
1954	fgetc;
1955	fgetpos;
1956	fgets;
1957	__filbuf;
1958	fileno;
1959	_fileno;
1960	__flsbuf;
1961	fmtmsg;
1962	_fmtmsg;
1963	fopen;
1964	_fork;
1965	fork;
1966	fpathconf;
1967	_fpathconf;
1968	fprintf;
1969	fputc;
1970	fputs;
1971	fread;
1972	freopen;
1973	fscanf;
1974	fseek;
1975	fsetpos;
1976	fstat;
1977	_fstat;
1978	fstatvfs;
1979	_fstatvfs;
1980	fsync;
1981	_fsync;
1982	ftell;
1983	ftok;
1984	_ftok;
1985	fwrite;
1986	getc;
1987	getchar;
1988	getcontext;
1989	_getcontext;
1990	getcwd;
1991	_getcwd;
1992	getdate;
1993	_getdate;
1994	getegid;
1995	_getegid;
1996	geteuid;
1997	_geteuid;
1998	getgid;
1999	_getgid;
2000	getgrgid;
2001	getgrnam;
2002	getgroups;
2003	_getgroups;
2004	getlogin;
2005	getmsg;
2006	_getmsg;
2007	getopt;
2008	_getopt;
2009	getpass;
2010	_getpass;
2011	getpgid;
2012	_getpgid;
2013	getpgrp;
2014	_getpgrp;
2015	getpid;
2016	_getpid;
2017	getpmsg;
2018	_getpmsg;
2019	getppid;
2020	_getppid;
2021	getpwnam;
2022	getpwuid;
2023	getrlimit;
2024	_getrlimit;
2025	gets;
2026	getsid;
2027	_getsid;
2028	getsubopt;
2029	_getsubopt;
2030	gettxt;
2031	_gettxt;
2032	getuid;
2033	_getuid;
2034	getw;
2035	_getw;
2036	gmtime;
2037	grantpt;
2038	_grantpt;
2039	hcreate;
2040	_hcreate;
2041	hdestroy;
2042	_hdestroy;
2043	hsearch;
2044	_hsearch;
2045	initgroups;
2046	_initgroups;
2047	ioctl;
2048	_ioctl;
2049	isalnum;
2050	isalpha;
2051	isascii;
2052	_isascii;
2053	isastream;
2054	_isastream;
2055	isatty;
2056	_isatty;
2057	iscntrl;
2058	isdigit;
2059	isgraph;
2060	islower;
2061	isprint;
2062	ispunct;
2063	isspace;
2064	isupper;
2065	isxdigit;
2066	kill;
2067	_kill;
2068	labs;
2069	lchown;
2070	_lchown;
2071	ldiv;
2072	lfind;
2073	_lfind;
2074	link;
2075	_link;
2076	localeconv;
2077	localtime;
2078	lockf;
2079	_lockf;
2080	longjmp;
2081	lsearch;
2082	_lsearch;
2083	lseek;
2084	_lseek;
2085	lstat;
2086	_lstat;
2087	makecontext;
2088	_makecontext;
2089	mblen;
2090	mbstowcs;
2091	mbtowc;
2092	memccpy;
2093	_memccpy;
2094	memchr;
2095	memcntl;
2096	_memcntl;
2097	mkdir;
2098	_mkdir;
2099	mkfifo;
2100	_mkfifo;
2101	mknod;
2102	_mknod;
2103	mktemp;
2104	_mktemp;
2105	mktime;
2106	mlock;
2107	_mlock;
2108	mmap;
2109	_mmap;
2110	monitor;
2111	_monitor;
2112	mount;
2113	_mount;
2114	mprotect;
2115	_mprotect;
2116	msgctl;
2117	_msgctl;
2118	msgget;
2119	_msgget;
2120	msgrcv;
2121	_msgrcv;
2122	msgsnd;
2123	_msgsnd;
2124	msync;
2125	_msync;
2126	munlock;
2127	_munlock;
2128	munmap;
2129	_munmap;
2130	nftw;
2131	_nftw;
2132	nice;
2133	_nice;
2134	nl_langinfo;
2135	_nl_langinfo;
2136	open;
2137	_open;
2138	opendir;
2139	_opendir;
2140	pathconf;
2141	_pathconf;
2142	pause;
2143	_pause;
2144	pclose;
2145	_pclose;
2146	perror;
2147	pipe;
2148	_pipe;
2149	poll;
2150	_poll;
2151	popen;
2152	_popen;
2153	printf;
2154	profil;
2155	_profil;
2156	ptsname;
2157	_ptsname;
2158	putc;
2159	putchar;
2160	putenv;
2161	_putenv;
2162	putmsg;
2163	_putmsg;
2164	putpmsg;
2165	_putpmsg;
2166	puts;
2167	putw;
2168	_putw;
2169	qsort;
2170	raise;
2171	rand;
2172	read;
2173	_read;
2174	readdir;
2175	_readdir;
2176	readlink;
2177	_readlink;
2178	readv;
2179	_readv;
2180	remove;
2181	rename;
2182	_rename;
2183	rewind;
2184	rewinddir;
2185	_rewinddir;
2186	rmdir;
2187	_rmdir;
2188	scanf;
2189	seekdir;
2190	_seekdir;
2191	semctl;
2192	_semctl;
2193	semget;
2194	_semget;
2195	semop;
2196	_semop;
2197	setbuf;
2198	setcontext;
2199	_setcontext		{ FLAGS = NODYNSORT };
2200	setgid;
2201	_setgid;
2202	setgroups;
2203	_setgroups;
2204	setjmp;
2205	setlabel;
2206	setlocale;
2207	setpgid;
2208	_setpgid;
2209	setpgrp;
2210	_setpgrp;
2211	setrlimit;
2212	_setrlimit;
2213	setsid;
2214	_setsid;
2215	setuid;
2216	_setuid;
2217	setvbuf;
2218	shmat;
2219	_shmat;
2220	shmctl;
2221	_shmctl;
2222	shmdt;
2223	_shmdt;
2224	shmget;
2225	_shmget;
2226	sigaction;
2227	_sigaction		{ FLAGS = NODYNSORT };
2228	sigaddset;
2229	_sigaddset;
2230	sigaltstack;
2231	_sigaltstack;
2232	sigdelset;
2233	_sigdelset;
2234	sigemptyset;
2235	_sigemptyset;
2236	sigfillset;
2237	_sigfillset;
2238	sighold;
2239	_sighold;
2240	sigignore;
2241	_sigignore;
2242	sigismember;
2243	_sigismember;
2244	siglongjmp;
2245	_siglongjmp;
2246	signal;
2247	sigpause;
2248	_sigpause;
2249	sigpending;
2250	_sigpending;
2251	sigprocmask;
2252	_sigprocmask;
2253	sigrelse;
2254	_sigrelse;
2255	sigsend;
2256	_sigsend;
2257	sigsendset;
2258	_sigsendset;
2259	sigset;
2260	_sigset;
2261	sigsetjmp;
2262	_sigsetjmp		{ FLAGS = NODYNSORT };
2263	sigsuspend;
2264	_sigsuspend;
2265	sleep;
2266	_sleep;
2267	sprintf;
2268	srand;
2269	sscanf;
2270	stat;
2271	_stat;
2272	statvfs;
2273	_statvfs;
2274	stime;
2275	_stime;
2276	strcat;
2277	strchr;
2278	strcmp;
2279	strcoll;
2280	strcpy;
2281	strcspn;
2282	strdup;
2283	_strdup;
2284	strerror;
2285	strftime;
2286	strlen;
2287	strncat;
2288	strncmp;
2289	strncpy;
2290	strpbrk;
2291	strrchr;
2292	strspn;
2293	strstr;
2294	strtod;
2295	strtok;
2296	strtol;
2297	strtoul;
2298	strxfrm;
2299	swab;
2300	_swab;
2301	swapcontext;
2302	_swapcontext;
2303	symlink;
2304	_symlink;
2305	sync;
2306	_sync;
2307	sysconf;
2308	_sysconf;
2309	system;
2310	tcdrain;
2311	_tcdrain;
2312	tcflow;
2313	_tcflow;
2314	tcflush;
2315	_tcflush;
2316	tcgetattr;
2317	_tcgetattr;
2318	tcgetpgrp;
2319	_tcgetpgrp;
2320	tcgetsid;
2321	_tcgetsid;
2322	tcsendbreak;
2323	_tcsendbreak;
2324	tcsetattr;
2325	_tcsetattr;
2326	tcsetpgrp;
2327	_tcsetpgrp;
2328	tdelete;
2329	_tdelete;
2330	tell;
2331	_tell;
2332	telldir;
2333	_telldir;
2334	tempnam;
2335	_tempnam;
2336	tfind;
2337	_tfind;
2338	time;
2339	_time;
2340	times;
2341	_times;
2342	tmpfile;
2343	tmpnam;
2344	toascii;
2345	_toascii;
2346	tolower;
2347	_tolower;
2348	toupper;
2349	_toupper;
2350	tsearch;
2351	_tsearch;
2352	ttyname;
2353	twalk;
2354	_twalk;
2355	tzset;
2356	_tzset;
2357	ulimit;
2358	_ulimit;
2359	umask;
2360	_umask;
2361	umount;
2362	_umount;
2363	uname;
2364	_uname;
2365	ungetc;
2366	unlink;
2367	_unlink;
2368	unlockpt;
2369	_unlockpt;
2370	utime;
2371	_utime;
2372	vfprintf;
2373	vprintf;
2374	vsprintf;
2375	wait;
2376	_wait;
2377	waitid;
2378	_waitid;
2379	waitpid;
2380	_waitpid;
2381	wcstombs;
2382	wctomb;
2383	write;
2384	_write;
2385	writev;
2386	_writev;
2387	_xftw;
2388
2389$if _ELF32
2390	ptrace;
2391	_ptrace;
2392$endif
2393
2394$if i386
2395	_fxstat;
2396	_lxstat;
2397	nuname;
2398	_nuname;
2399	_xmknod;
2400	_xstat;
2401$endif
2402
2403$if !sparc32
2404	sbrk;
2405$endif
2406
2407$if _sparc
2408	__dtou;
2409	__ftou;
2410$endif
2411
2412$if sparc32
2413	.div;
2414	.mul;
2415	.rem;
2416	.stret1;
2417	.stret2;
2418	.stret4;
2419	# .stret4 and .stret8 are the same thing
2420	.stret8			{ FLAGS = NODYNSORT };
2421	.udiv;
2422	.umul;
2423	.urem;
2424	_Q_add;
2425	_Q_cmp;
2426	_Q_cmpe;
2427	_Q_div;
2428	_Q_dtoq;
2429	_Q_feq;
2430	_Q_fge;
2431	_Q_fgt;
2432	_Q_fle;
2433	_Q_flt;
2434	_Q_fne;
2435	_Q_itoq;
2436	_Q_mul;
2437	_Q_neg;
2438	_Q_qtod;
2439	_Q_qtoi;
2440	_Q_qtos;
2441	_Q_qtou;
2442	_Q_sqrt;
2443	_Q_stoq;
2444	_Q_sub;
2445	_Q_utoq;
2446$endif
2447
2448$if sparcv9
2449	# __align_cpy_1 is an alias for memcpy. Filter it out of
2450	# the .SUNW_dynsymsort section
2451	__align_cpy_1		{ FLAGS = NODYNSORT };
2452	__align_cpy_16;
2453	__align_cpy_2;
2454	__align_cpy_4;
2455	# __align_cpy_8 is same as __align_cpy_16
2456	__align_cpy_8		{ FLAGS = NODYNSORT };
2457	__dtoul;
2458	__ftoul;
2459	_Qp_add;
2460	_Qp_cmp;
2461	_Qp_cmpe;
2462	_Qp_div;
2463	_Qp_dtoq;
2464	_Qp_feq;
2465	_Qp_fge;
2466	_Qp_fgt;
2467	_Qp_fle;
2468	_Qp_flt;
2469	_Qp_fne;
2470	_Qp_itoq;
2471	_Qp_mul;
2472	_Qp_neg;
2473	_Qp_qtod;
2474	_Qp_qtoi;
2475	_Qp_qtos;
2476	_Qp_qtoui;
2477	_Qp_qtoux;
2478	_Qp_qtox;
2479	_Qp_sqrt;
2480	_Qp_stoq;
2481	_Qp_sub;
2482	_Qp_uitoq;
2483	_Qp_uxtoq;
2484	_Qp_xtoq;
2485	__sparc_utrap_install;
2486$endif
2487
2488# On amd64, we also have SYSVABI_1.3, but it contains a small subset of
2489# the symbols put in that version on other platforms.
2490$if amd64
2491} SYSVABI_1.3;
2492
2493SYMBOL_VERSION SYSVABI_1.3 {
2494$endif
2495    global:
2496$if !_sparc
2497	__flt_rounds;
2498$endif
2499
2500    protected:
2501	_ctermid;
2502	_getgrgid;
2503	_getgrnam;
2504	_getlogin;
2505	_getpwnam;
2506	_getpwuid;
2507	_ttyname;
2508
2509$if !sparc32
2510	_sbrk;
2511$endif
2512
2513$if _x86
2514	_fpstart;
2515	__fpstart;
2516$endif
2517};
2518
2519
2520
2521# There should never be more than one SUNWprivate version.
2522# Don't add any more.  Add new private symbols to SUNWprivate_1.1
2523
2524SYMBOL_VERSION SUNWprivate_1.1 {
2525    global:
2526	___Argv			{ FLAGS = NODIRECT };
2527	cfree			{ FLAGS = NODIRECT };
2528	_cswidth;
2529	__ctype_mask;
2530	__environ_lock		{ FLAGS = NODIRECT };
2531	__inf_read;
2532	__inf_written;
2533	__i_size;
2534	_isnanf			{ TYPE = FUNCTION; FILTER = libm.so.2 };
2535	__iswrune;
2536	__libc_threaded;
2537	_lib_version		{ FLAGS = NODIRECT };
2538	_logb			{ TYPE = FUNCTION; FILTER = libm.so.2 };
2539	_lone			{ FLAGS = NODYNSORT };
2540	_lten			{ FLAGS = NODYNSORT };
2541	_lzero			{ FLAGS = NODYNSORT };
2542	__malloc_lock;
2543	_memcmp;
2544	_memcpy			{ FLAGS = NODYNSORT };
2545	_memmove;
2546	_memset;
2547	_modff			{ TYPE = FUNCTION; FILTER = libm.so.2 };
2548	__nan_read;
2549	__nan_written;
2550	__nextwctype;
2551	__nis_debug_bind;
2552	__nis_debug_calls;
2553	__nis_debug_file;
2554	__nis_debug_rpc;
2555	__nis_prefsrv;
2556	__nis_preftype;
2557	__nis_server;
2558	_nss_default_finders;
2559	__progname		{ FLAGS = NODIRECT };
2560	_smbuf;
2561	_sp;
2562	__strdupa_str		{ FLAGS = NODIRECT };
2563	__strdupa_len		{ FLAGS = NODIRECT };
2564	_tdb_bootstrap;
2565	__threaded;
2566	thr_probe_getfunc_addr;
2567	__trans_lower;
2568	__trans_upper;
2569	_uberdata;
2570	__xpg6			{ FLAGS = NODIRECT };
2571
2572$if _ELF32
2573	_dladdr			{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2574	_dladdr1		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2575	_dlclose		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2576	_dldump			{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2577	_dlerror		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2578	_dlinfo			{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2579	_dlmopen		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2580	_dlopen			{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2581	_dlsym			{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2582	_ld_libc		{ TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2583	_sys_errlist;
2584	_sys_errs;
2585	_sys_index;
2586	_sys_nerr		{ FLAGS = NODYNSORT };
2587	_sys_num_err;
2588$elif sparcv9
2589	_dladdr		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2590	_dladdr1	{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2591	_dlclose	{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2592	_dldump		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2593	_dlerror	{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2594	_dlinfo		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2595	_dlmopen	{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2596	_dlopen		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2597	_dlsym		{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2598	_ld_libc	{ TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2599$elif amd64
2600	_dladdr		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2601	_dladdr1	{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2602	_dlamd64getunwind { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2603	_dlclose	{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2604	_dldump		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2605	_dlerror	{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2606	_dlinfo		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2607	_dlmopen	{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2608	_dlopen		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2609	_dlsym		{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2610	_ld_libc	{ TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2611$else
2612$error unknown platform
2613$endif
2614
2615$if _sparc
2616	__lyday_to_month;
2617	__mon_lengths;
2618	__yday_to_month;
2619$endif
2620$if i386
2621	_sse_hw;
2622$endif
2623
2624    protected:
2625	acctctl;
2626	allocids;
2627	_assert_c99;
2628	__assert_c99;
2629	_assfail;
2630	attr_count;
2631	attr_to_data_type;
2632	attr_to_name;
2633	attr_to_option;
2634	attr_to_xattr_view;
2635	_autofssys;
2636	_bufsync;
2637	_cladm;
2638	__class_quadruple;
2639	core_get_default_content;
2640	core_get_default_path;
2641	core_get_global_content;
2642	core_get_global_path;
2643	core_get_options;
2644	core_get_process_content;
2645	core_get_process_path;
2646	core_set_default_content;
2647	core_set_default_path;
2648	core_set_global_content;
2649	core_set_global_path;
2650	core_set_options;
2651	core_set_process_content;
2652	core_set_process_path;
2653	dbm_close_status;
2654	dbm_do_nextkey;
2655	dbm_setdefwrite;
2656	_D_cplx_div;
2657	_D_cplx_div_ix;
2658	_D_cplx_div_rx;
2659	_D_cplx_mul;
2660	defclose_r;
2661	defcntl;
2662	defcntl_r;
2663	defopen;
2664	defopen_r;
2665	defread;
2666	defread_r;
2667	_delete;
2668	_dgettext;
2669	_doprnt;
2670	_doscan;
2671	_errfp;
2672	_errxfp;
2673	exportfs;
2674	_F_cplx_div;
2675	_F_cplx_div_ix;
2676	_F_cplx_div_rx;
2677	_F_cplx_mul;
2678	__fgetwc_xpg5;
2679	__fgetws_xpg5;
2680	_findbuf;
2681	_findiop;
2682	__fini_daemon_priv;
2683	_finite;
2684	_fork1			{ FLAGS = NODYNSORT };
2685	_forkall		{ FLAGS = NODYNSORT };
2686	_fpclass;
2687	_fpgetmask;
2688	_fpgetround;
2689	_fpgetsticky;
2690	_fprintf;
2691	_fpsetmask;
2692	_fpsetround;
2693	_fpsetsticky;
2694	__fputwc_xpg5;
2695	__fputws_xpg5;
2696	_ftw;
2697	_gcvt;
2698	_getarg;
2699	__getcontext;
2700	_getdents;
2701	_get_exit_frame_monitor;
2702	_getfp;
2703	_getgroupsbymember;
2704	_getlogin_r;
2705	_getsp;
2706	__gettsp;
2707	getvmusage;
2708	__getwchar_xpg5;
2709	__getwc_xpg5;
2710	gtty;
2711	__idmap_flush_kcache;
2712	__idmap_reg;
2713	__idmap_unreg;
2714	__init_daemon_priv;
2715	__init_suid_priv;
2716	_insert;
2717	inst_sync;
2718	_iswctype;
2719	klpd_create;
2720	klpd_getpath;
2721	klpd_getport;
2722	klpd_getucred;
2723	klpd_register;
2724	klpd_register_id;
2725	klpd_unregister;
2726	klpd_unregister_id;
2727	_lgrp_home_fast		{ FLAGS = NODYNSORT };
2728	_lgrpsys;
2729	_lltostr;
2730	_lock_clear;
2731	_lock_try;
2732	_ltzset;
2733	lwp_self;
2734	makeut;
2735	makeutx;
2736	_mbftowc;
2737	mcfiller;
2738	mntopt;
2739	modctl;
2740	modutx;
2741	msgctl64;
2742	__multi_innetgr;
2743	_mutex_destroy		{ FLAGS = NODYNSORT };
2744	mutex_held;
2745	_mutex_init		{ FLAGS = NODYNSORT };
2746	_mutex_unlock		{ FLAGS = NODYNSORT };
2747	name_to_attr;
2748	nfs_getfh;
2749	nfssvc;
2750	_nfssys;
2751	__nis_get_environment;
2752	_nss_db_state_destr;
2753	nss_default_key2str;
2754	nss_delete;
2755	nss_endent;
2756	nss_getent;
2757	_nss_initf_group;
2758	_nss_initf_netgroup;
2759	_nss_initf_passwd;
2760	_nss_initf_shadow;
2761	nss_packed_arg_init;
2762	nss_packed_context_init;
2763	nss_packed_getkey;
2764	nss_packed_set_status;
2765	nss_search;
2766	nss_setent;
2767	_nss_XbyY_fgets;
2768	__nsw_extended_action_v1;
2769	__nsw_freeconfig_v1;
2770	__nsw_getconfig_v1;
2771	__nthreads;
2772	__openattrdirat;
2773	option_to_attr;
2774	__priv_bracket;
2775	__priv_relinquish;
2776	pset_assign_forced;
2777	pset_bind_lwp;
2778	_psignal;
2779	_pthread_setcleanupinit;
2780	__putwchar_xpg5;
2781	__putwc_xpg5;
2782	rctlctl;
2783	rctllist;
2784	_realbufend;
2785	_resume;
2786	_resume_ret;
2787	_rpcsys;
2788	_sbrk_grow_aligned;
2789	scrwidth;
2790	semctl64;
2791	_semctl64;
2792	set_setcontext_enforcement;
2793	_setbufend;
2794	__set_errno;
2795	setprojrctl;
2796	_setregid;
2797	_setreuid;
2798	setsigacthandler;
2799	shmctl64;
2800	_shmctl64;
2801	sigflag;
2802	_signal;
2803	_sigoff;
2804	_sigon;
2805	_so_accept;
2806	_so_bind;
2807	_sockconfig;
2808	_so_connect;
2809	_so_getpeername;
2810	_so_getsockname;
2811	_so_getsockopt;
2812	_so_listen;
2813	_so_recv;
2814	_so_recvfrom;
2815	_so_recvmsg;
2816	_so_send;
2817	_so_sendmsg;
2818	_so_sendto;
2819	_so_setsockopt;
2820	_so_shutdown;
2821	_so_socket;
2822	_so_socketpair;
2823	str2group;
2824	str2passwd;
2825	str2spwd;
2826	__strptime_dontzero;
2827	stty;
2828	syscall;
2829	_sysconfig;
2830	__systemcall;
2831	thr_continue_allmutators;
2832	_thr_continue_allmutators;
2833	thr_continue_mutator;
2834	_thr_continue_mutator;
2835	thr_getstate;
2836	_thr_getstate;
2837	thr_mutators_barrier;
2838	_thr_mutators_barrier;
2839	thr_probe_setup;
2840	_thr_schedctl;
2841	thr_setmutator;
2842	_thr_setmutator;
2843	thr_setstate;
2844	_thr_setstate;
2845	thr_sighndlrinfo;
2846	_thr_sighndlrinfo;
2847	_thr_slot_offset;
2848	thr_suspend_allmutators;
2849	_thr_suspend_allmutators;
2850	thr_suspend_mutator;
2851	_thr_suspend_mutator;
2852	thr_wait_mutator;
2853	_thr_wait_mutator;
2854	__tls_get_addr;
2855	tpool_create;
2856	tpool_dispatch;
2857	tpool_destroy;
2858	tpool_wait;
2859	tpool_suspend;
2860	tpool_suspended;
2861	tpool_resume;
2862	tpool_member;
2863	_ttyname_dev;
2864	_ucred_alloc;
2865	ucred_getamask;
2866	_ucred_getamask;
2867	ucred_getasid;
2868	_ucred_getasid;
2869	ucred_getatid;
2870	_ucred_getatid;
2871	ucred_getauid;
2872	_ucred_getauid;
2873	_ulltostr;
2874	_uncached_getgrgid_r;
2875	_uncached_getgrnam_r;
2876	_uncached_getpwnam_r;
2877	_uncached_getpwuid_r;
2878	__ungetwc_xpg5;
2879	_unordered;
2880	utssys;
2881	_verrfp;
2882	_verrxfp;
2883	_vwarnfp;
2884	_vwarnxfp;
2885	_warnfp;
2886	_warnxfp;
2887	__wcsftime_xpg5;
2888	__wcstok_xpg5;
2889	wdbindf;
2890	wdchkind;
2891	wddelim;
2892	_wrtchk;
2893	_xflsbuf;
2894	_xgetwidth;
2895	zone_add_datalink;
2896	zone_boot;
2897	zone_check_datalink;
2898	zone_create;
2899	zone_destroy;
2900	zone_enter;
2901	zone_getattr;
2902	zone_get_id;
2903	zone_list;
2904	zone_list_datalink;
2905	zonept;
2906	zone_remove_datalink;
2907	zone_setattr;
2908	zone_shutdown;
2909	zone_version;
2910
2911$if _ELF32
2912	__divdi3;
2913	_file_set;
2914	_fprintf_c89;
2915	_fscanf_c89;
2916	_fwprintf_c89;
2917	_fwscanf_c89;
2918	_imaxabs_c89;
2919	_imaxdiv_c89;
2920	__moddi3;
2921	_printf_c89;
2922	_scanf_c89;
2923	_snprintf_c89;
2924	_sprintf_c89;
2925	_sscanf_c89;
2926	_strtoimax_c89;
2927	_strtoumax_c89;
2928	_swprintf_c89;
2929	_swscanf_c89;
2930	__udivdi3;
2931	__umoddi3;
2932	_vfprintf_c89;
2933	_vfscanf_c89;
2934	_vfwprintf_c89;
2935	_vfwscanf_c89;
2936	_vprintf_c89;
2937	_vscanf_c89;
2938	_vsnprintf_c89;
2939	_vsprintf_c89;
2940	_vsscanf_c89;
2941	_vswprintf_c89;
2942	_vswscanf_c89;
2943	_vwprintf_c89;
2944	_vwscanf_c89;
2945	_wcstoimax_c89;
2946	_wcstoumax_c89;
2947	_wprintf_c89;
2948	_wscanf_c89;
2949$endif
2950
2951$if _sparc
2952	_cerror;
2953	install_utrap;
2954	_install_utrap;
2955	nop;
2956	_Q_cplx_div;
2957	_Q_cplx_div_ix;
2958	_Q_cplx_div_rx;
2959	_Q_cplx_lr_div;
2960	_Q_cplx_lr_div_ix;
2961	_Q_cplx_lr_div_rx;
2962	_Q_cplx_lr_mul;
2963	_Q_cplx_mul;
2964	_QgetRD;
2965	_xregs_clrptr;
2966$endif
2967
2968$if sparc32
2969	__ashldi3;
2970	__ashrdi3;
2971	_cerror64;
2972	__cmpdi2;
2973	__floatdidf;
2974	__floatdisf;
2975	__lshrdi3;
2976	__muldi3;
2977	__ucmpdi2;
2978$endif
2979
2980$if _x86
2981	_D_cplx_lr_div;
2982	_D_cplx_lr_div_ix;
2983	_D_cplx_lr_div_rx;
2984	_F_cplx_lr_div;
2985	_F_cplx_lr_div_ix;
2986	_F_cplx_lr_div_rx;
2987	__fltrounds;
2988	sysi86;
2989	_sysi86;
2990	_X_cplx_div;
2991	_X_cplx_div_ix;
2992	_X_cplx_div_rx;
2993	_X_cplx_lr_div;
2994	_X_cplx_lr_div_ix;
2995	_X_cplx_lr_div_rx;
2996	_X_cplx_mul;
2997	__xgetRD;
2998	__xtol;
2999	__xtoll;
3000	__xtoul;
3001	__xtoull;
3002$endif
3003
3004$if i386
3005	__divrem64;
3006	___tls_get_addr;
3007	__udivrem64;
3008$endif
3009
3010# The following functions should not be exported from libc,
3011# but /lib/libm.so.2, some older versions of the Studio
3012# compiler/debugger components, and some ancient programs
3013# found in /usr/dist reference them.  When we no longer
3014# care about these old and broken binary objects, these
3015# symbols should be deleted.
3016	_brk					{ FLAGS = NODYNSORT };
3017	_cond_broadcast				{ FLAGS = NODYNSORT };
3018	_cond_init				{ FLAGS = NODYNSORT };
3019	_cond_signal				{ FLAGS = NODYNSORT };
3020	_cond_wait				{ FLAGS = NODYNSORT };
3021	_ecvt					{ FLAGS = NODYNSORT };
3022	_fcvt					{ FLAGS = NODYNSORT };
3023	_getc_unlocked				{ FLAGS = NODYNSORT };
3024	_llseek					{ FLAGS = NODYNSORT };
3025	_pthread_attr_getdetachstate		{ FLAGS = NODYNSORT };
3026	_pthread_attr_getinheritsched		{ FLAGS = NODYNSORT };
3027	_pthread_attr_getschedparam		{ FLAGS = NODYNSORT };
3028	_pthread_attr_getschedpolicy		{ FLAGS = NODYNSORT };
3029	_pthread_attr_getscope			{ FLAGS = NODYNSORT };
3030	_pthread_attr_getstackaddr		{ FLAGS = NODYNSORT };
3031	_pthread_attr_getstacksize		{ FLAGS = NODYNSORT };
3032	_pthread_attr_init			{ FLAGS = NODYNSORT };
3033	_pthread_condattr_getpshared		{ FLAGS = NODYNSORT };
3034	_pthread_condattr_init			{ FLAGS = NODYNSORT };
3035	_pthread_cond_init			{ FLAGS = NODYNSORT };
3036	_pthread_create				{ FLAGS = NODYNSORT };
3037	_pthread_getschedparam			{ FLAGS = NODYNSORT };
3038	_pthread_join				{ FLAGS = NODYNSORT };
3039	_pthread_key_create			{ FLAGS = NODYNSORT };
3040	_pthread_mutexattr_getprioceiling	{ FLAGS = NODYNSORT };
3041	_pthread_mutexattr_getprotocol		{ FLAGS = NODYNSORT };
3042	_pthread_mutexattr_getpshared		{ FLAGS = NODYNSORT };
3043	_pthread_mutexattr_init			{ FLAGS = NODYNSORT };
3044	_pthread_mutex_getprioceiling		{ FLAGS = NODYNSORT };
3045	_pthread_mutex_init			{ FLAGS = NODYNSORT };
3046	_pthread_sigmask			{ FLAGS = NODYNSORT };
3047	_rwlock_init				{ FLAGS = NODYNSORT };
3048	_rw_rdlock				{ FLAGS = NODYNSORT };
3049	_rw_unlock				{ FLAGS = NODYNSORT };
3050	_rw_wrlock				{ FLAGS = NODYNSORT };
3051	_sbrk_unlocked				{ FLAGS = NODYNSORT };
3052	_select					{ FLAGS = NODYNSORT };
3053	_sema_init				{ FLAGS = NODYNSORT };
3054	_sema_post				{ FLAGS = NODYNSORT };
3055	_sema_trywait				{ FLAGS = NODYNSORT };
3056	_sema_wait				{ FLAGS = NODYNSORT };
3057	_sysfs					{ FLAGS = NODYNSORT };
3058	_thr_create				{ FLAGS = NODYNSORT };
3059	_thr_exit				{ FLAGS = NODYNSORT };
3060	_thr_getprio				{ FLAGS = NODYNSORT };
3061	_thr_getspecific			{ FLAGS = NODYNSORT };
3062	_thr_join				{ FLAGS = NODYNSORT };
3063	_thr_keycreate				{ FLAGS = NODYNSORT };
3064	_thr_kill				{ FLAGS = NODYNSORT };
3065	_thr_main				{ FLAGS = NODYNSORT };
3066	_thr_self				{ FLAGS = NODYNSORT };
3067	_thr_setspecific			{ FLAGS = NODYNSORT };
3068	_thr_sigsetmask				{ FLAGS = NODYNSORT };
3069	_thr_stksegment				{ FLAGS = NODYNSORT };
3070	_ungetc_unlocked			{ FLAGS = NODYNSORT };
3071
3072    local:
3073	__imax_lldiv				{ FLAGS = NODYNSORT };
3074	_ti_thr_self				{ FLAGS = NODYNSORT };
3075	*;
3076
3077$if lf64
3078	_seekdir64		{ FLAGS = NODYNSORT };
3079	_telldir64		{ FLAGS = NODYNSORT };
3080$endif
3081
3082$if _sparc
3083	__cerror		{ FLAGS = NODYNSORT };
3084$endif
3085
3086$if sparc32
3087	__cerror64		{ FLAGS = NODYNSORT };
3088$endif
3089
3090$if sparcv9
3091	__cleanup		{ FLAGS = NODYNSORT };
3092$endif
3093
3094$if i386
3095	_syscall6		{ FLAGS = NODYNSORT };
3096	__systemcall6		{ FLAGS = NODYNSORT };
3097$endif
3098
3099$if amd64
3100	___tls_get_addr		{ FLAGS = NODYNSORT };
3101$endif
3102};
3103