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