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