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