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