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