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