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