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