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