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