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