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