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