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