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