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