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