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