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