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