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