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