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