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