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