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