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