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