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