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