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