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