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