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