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