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