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