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