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