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