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