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