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