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