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