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