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