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