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