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