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