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