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