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