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