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