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