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