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