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