#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
#
# Copyright 2010 Nexenta Systems, Inc. All rights reserved.
# Use is subject to license terms.
#
# Copyright (c) 2012 by Delphix. All rights reserved.
# Copyright 2016 Joyent, Inc.
# Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
# Copyright (c) 2013 Gary Mills
# Copyright 2014 Garrett D'Amore <garrett@damore.org>
#
# MAPFILE HEADER START
#
# WARNING: STOP NOW. DO NOT MODIFY THIS FILE.
# Object versioning must comply with the rules detailed in
#
#
# You should not be making modifications here until you've read the most current
# copy of that file. If you need help, contact a gatekeeper for guidance.
#
# MAPFILE HEADER END
#
$mapfile_version 2
#
# All function names added to this or any other libc mapfile
# must be placed under the 'protected:' designation.
# The 'global:' designation is used *only* for data
# items and for the members of the malloc() family.
#
#
# README README README README README README: how to update this file
# 1) each version of Solaris/OpenSolaris gets a version number.
# (Actually since Solaris is actually a series of OpenSolaris releases
# we'll just use OpenSolaris for this exercise.)
# OpenSolaris 2008.11 gets 1.23
# OpenSolaris 2009.04 gets 1.24
# etc.
# 2) each project integration uses a unique version number.
# PSARC/2008/123 gets 1.24.1
# PSARC/2008/456 gets 1.24.2
# etc.
#
# Mnemonic conditional input identifiers:
#
# - amd64, i386, sparc32, sparcv9: Correspond to ISA subdirectories used to
# hold per-platform code. Note however that we use 'sparc32' instead of
# 'sparc'. Since '_sparc' is predefined to apply to, all sparc platforms,
# naming the 32-bit version 'sparc' would be too likely to cause errors.
#
# - lf64: Defined on platforms that offer the 32-bit largefile APIs
#
$if _ELF32
$add lf64
$endif
$if _sparc && _ELF32
$add sparc32
$endif
$if _sparc && _ELF64
$add sparcv9
$endif
$if _x86 && _ELF32
$add i386
$endif
$if _x86 && _ELF64
$add amd64
$endif
SYMBOL_VERSION ILLUMOS_0.22 { # endian(3C)
protected:
htobe16;
htobe32;
htobe64;
htole16;
htole32;
htole64;
betoh16;
letoh16;
be16toh;
le16toh;
betoh32;
letoh32;
be32toh;
le32toh;
betoh64;
letoh64;
be64toh;
le64toh;
} ILLUMOS_0.21;
SYMBOL_VERSION ILLUMOS_0.21 {
protected:
pthread_attr_get_np;
} ILLUMOS_0.20;
SYMBOL_VERSION ILLUMOS_0.20 { # C11
protected:
aligned_alloc;
at_quick_exit;
call_once;
cnd_broadcast;
cnd_destroy;
cnd_init;
cnd_signal;
cnd_timedwait;
cnd_wait;
mtx_destroy;
mtx_init;
mtx_lock;
mtx_timedlock;
mtx_trylock;
mtx_unlock;
quick_exit;
thrd_create;
thrd_current;
thrd_detach;
thrd_equal;
thrd_exit;
thrd_join;
thrd_sleep;
thrd_yield;
timespec_get;
tss_create;
tss_delete;
tss_get;
tss_set;
} ILLUMOS_0.19;
SYMBOL_VERSION ILLUMOS_0.19 { # flock
protected:
flock;
} ILLUMOS_0.18;
SYMBOL_VERSION ILLUMOS_0.18 { # signalfd
protected:
signalfd;
} ILLUMOS_0.17;
SYMBOL_VERSION ILLUMOS_0.17 { # glob(3C) LFS
$if lf64
protected:
_glob_ext64;
_globfree_ext64;
$endif
} ILLUMOS_0.16;
SYMBOL_VERSION ILLUMOS_0.16 { # timerfd
protected:
timerfd_create;
timerfd_gettime;
timerfd_settime;
} ILLUMOS_0.15;
SYMBOL_VERSION ILLUMOS_0.15 { # epoll(3C)
protected:
epoll_create;
epoll_create1;
epoll_ctl;
epoll_wait;
epoll_pwait;
} ILLUMOS_0.14;
SYMBOL_VERSION ILLUMOS_0.14 { # strerror_l
protected:
strerror_l;
} ILLUMOS_0.13;
SYMBOL_VERSION ILLUMOS_0.13 { # eventfd
protected:
eventfd;
eventfd_read;
eventfd_write;
} ILLUMOS_0.12;
SYMBOL_VERSION ILLUMOS_0.12 { # arc4random and friends
protected:
arc4random;
arc4random_buf;
arc4random_uniform;
explicit_bzero;
getentropy;
} ILLUMOS_0.11;
SYMBOL_VERSION ILLUMOS_0.11 { # Illumos additions
protected:
iswxdigit_l;
isxdigit_l;
} ILLUMOS_0.10;
SYMBOL_VERSION ILLUMOS_0.10 { # Illumos additions
protected:
preadv;
pwritev;
$if lf64
preadv64;
pwritev64;
$endif
} ILLUMOS_0.9;
SYMBOL_VERSION ILLUMOS_0.9 {
protected:
wcsnrtombs;
wcsnrtombs_l;
} ILLUMOS_0.8;
SYMBOL_VERSION ILLUMOS_0.8 { # POSIX 2008 newlocale and friends
protected:
__global_locale;
__mb_cur_max;
__mb_cur_max_l;
btowc_l;
duplocale;
fgetwc_l;
freelocale;
getwc_l;
isalnum_l;
isalpha_l;
isblank_l;
iscntrl_l;
isdigit_l;
isgraph_l;
islower_l;
isprint_l;
ispunct_l;
isspace_l;
isupper_l;
iswideogram;
iswideogram_l;
iswnumber;
iswnumber_l;
iswhexnumber;
iswhexnumber_l;
iswphonogram;
iswphonogram_l;
iswspecial;
iswspecial_l;
iswalnum_l;
iswalpha_l;
iswblank_l;
iswcntrl_l;
iswctype_l;
iswdigit_l;
iswgraph_l;
iswlower_l;
iswprint_l;
iswpunct_l;
iswspace_l;
iswupper_l;
mblen_l;
mbrlen_l;
mbsinit_l;
mbsnrtowcs;
mbsnrtowcs_l;
mbsrtowcs_l;
mbstowcs_l;
mbtowc_l;
newlocale;
nl_langinfo_l;
strcasecmp_l;
strcasestr_l;
strcoll_l;
strfmon_l;
strftime_l;
strncasecmp_l;
strptime_l;
strxfrm_l;
tolower_l;
toupper_l;
towlower_l;
towupper_l;
towctrans_l;
uselocale;
wcrtomb_l;
wcscasecmp_l;
wcscoll_l;
wcsncasecmp_l;
wcsrtombs_l;
wcstombs_l;
wcswidth_l;
wcsxfrm_l;
wctob_l;
wctomb_l;
wctrans_l;
wctype_l;
wcwidth_l;
} ILLUMOS_0.7;
SYMBOL_VERSION ILLUMOS_0.7 { # Illumos additions
protected:
_glob_ext;
_globfree_ext;
} ILLUMOS_0.6;
SYMBOL_VERSION ILLUMOS_0.6 { # Illumos additions
protected:
getloginx;
getloginx_r;
__posix_getloginx_r;
} ILLUMOS_0.5;
SYMBOL_VERSION ILLUMOS_0.5 { # common C++ ABI exit handlers
protected:
__cxa_atexit;
__cxa_finalize;
} ILLUMOS_0.4;
SYMBOL_VERSION ILLUMOS_0.4 { # Illumos additions
protected:
pipe2;
dup3;
mkostemp;
mkostemps;
$if lf64
mkostemp64;
mkostemps64;
$endif
} ILLUMOS_0.3;
SYMBOL_VERSION ILLUMOS_0.3 { # Illumos additions
protected:
assfail3;
} ILLUMOS_0.2;
SYMBOL_VERSION ILLUMOS_0.2 { # Illumos additions
protected:
posix_spawn_pipe_np;
} ILLUMOS_0.1;
SYMBOL_VERSION ILLUMOS_0.1 { # Illumos additions
protected:
timegm;
} SUNW_1.23;
SYMBOL_VERSION SUNW_1.23 { # SunOS 5.11 (Solaris 11)
global:
_nl_domain_bindings;
_nl_msg_cat_cntr;
$if _ELF32
dl_iterate_phdr { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
$elif sparcv9
dl_iterate_phdr { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
$elif amd64
dl_iterate_phdr { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
$else
$error unknown platform
$endif
protected:
$if sparc32
__align_cpy_1;
$endif
addrtosymstr;
aio_cancel;
aiocancel;
aio_error;
aio_fsync;
aio_read;
aioread;
aio_return;
aio_suspend;
aiowait;
aio_waitn;
aio_write;
aiowrite;
asprintf;
assfail;
backtrace;
backtrace_symbols;
backtrace_symbols_fd;
canonicalize_file_name;
clearenv;
clock_getres;
clock_gettime;
clock_nanosleep;
clock_settime;
daemon;
dirfd;
door_bind;
door_call;
door_create;
door_cred;
door_getparam;
door_info;
door_return;
door_revoke;
door_server_create;
door_setparam;
door_ucred;
door_unbind;
door_xcreate;
err;
errx;
faccessat;
fchmodat;
fcloseall;
fdatasync;
ffsl;
ffsll;
fgetattr;
fls;
flsl;
flsll;
forkallx;
forkx;
fsetattr;
getattrat;
getdelim;
getline;
get_nprocs;
get_nprocs_conf;
getprogname;
htonl;
htonll;
htons;
linkat;
lio_listio;
memmem;
mkdirat;
mkdtemp;
mkfifoat;
mknodat;
mkstemps;
mmapobj;
mq_close;
mq_getattr;
mq_notify;
mq_open;
mq_receive;
mq_reltimedreceive_np;
mq_reltimedsend_np;
mq_send;
mq_setattr;
mq_timedreceive;
mq_timedsend;
mq_unlink;
nanosleep;
ntohl;
ntohll;
ntohs;
posix_fadvise;
posix_fallocate;
posix_madvise;
posix_memalign;
posix_spawn_file_actions_addclosefrom_np;
posix_spawnattr_getsigignore_np;
posix_spawnattr_setsigignore_np;
ppoll;
priv_basicset;
pthread_key_create_once_np;
pthread_mutexattr_getrobust;
pthread_mutexattr_setrobust;
pthread_mutex_consistent;
readlinkat;
sched_getparam;
sched_get_priority_max;
sched_get_priority_min;
sched_getscheduler;
sched_rr_get_interval;
sched_setparam;
sched_setscheduler;
sched_yield;
sem_close;
sem_destroy;
sem_getvalue;
sem_init;
sem_open;
sem_post;
sem_reltimedwait_np;
sem_timedwait;
sem_trywait;
sem_unlink;
sem_wait;
setattrat;
setprogname;
_sharefs;
shm_open;
shm_unlink;
sigqueue;
sigtimedwait;
sigwaitinfo;
smt_pause;
stpcpy;
stpncpy;
strcasestr;
strchrnul;
strndup;
strnlen;
strnstr;
strsep;
symlinkat;
thr_keycreate_once;
timer_create;
timer_delete;
timer_getoverrun;
timer_gettime;
timer_settime;
u8_strcmp;
u8_validate;
uconv_u16tou32;
uconv_u16tou8;
uconv_u32tou16;
uconv_u32tou8;
uconv_u8tou16;
uconv_u8tou32;
vasprintf;
verr;
verrx;
vforkx;
vwarn;
vwarnx;
warn;
warnx;
wcpcpy;
wcpncpy;
wcscasecmp;
wcsdup;
wcsncasecmp;
wcsnlen;
$if lf64
aio_cancel64;
aio_error64;
aio_fsync64;
aio_read64;
aioread64;
aio_return64;
aio_suspend64;
aio_waitn64;
aio_write64;
aiowrite64;
lio_listio64;
mkstemps64;
posix_fadvise64;
posix_fallocate64;
$endif
} SUNW_1.22.6;
SYMBOL_VERSION SUNW_1.22.6 { # s10u9 - SunOS 5.10 (Solaris 10) patch additions
protected:
futimens;
utimensat;
} SUNW_1.22.5;
SYMBOL_VERSION SUNW_1.22.5 { # s10u8 - SunOS 5.10 (Solaris 10) patch additions
protected:
getpagesizes2;
} SUNW_1.22.4;
SYMBOL_VERSION SUNW_1.22.4 { # s10u7 - SunOS 5.10 (Solaris 10) patch additions
protected:
SUNW_1.22.4;
} SUNW_1.22.3;
SYMBOL_VERSION SUNW_1.22.3 { # SunOS 5.10 (Solaris 10) patch additions
protected:
mutex_consistent;
u8_textprep_str;
uucopy;
uucopystr;
} SUNW_1.22.2;
SYMBOL_VERSION SUNW_1.22.2 { # SunOS 5.10 (Solaris 10) patch additions
protected:
is_system_labeled;
ucred_getlabel;
_ucred_getlabel;
} SUNW_1.22.1;
SYMBOL_VERSION SUNW_1.22.1 { # SunOS 5.10 (Solaris 10) patch additions
protected:
atomic_add_8;
atomic_add_8_nv;
atomic_add_char { FLAGS = NODYNSORT };
atomic_add_char_nv { FLAGS = NODYNSORT };
atomic_add_int { FLAGS = NODYNSORT };
atomic_add_int_nv { FLAGS = NODYNSORT };
atomic_add_ptr { FLAGS = NODYNSORT };
atomic_add_ptr_nv { FLAGS = NODYNSORT };
atomic_add_short { FLAGS = NODYNSORT };
atomic_add_short_nv { FLAGS = NODYNSORT };
atomic_and_16;
atomic_and_16_nv;
atomic_and_32_nv;
atomic_and_64;
atomic_and_64_nv;
atomic_and_8;
atomic_and_8_nv;
atomic_and_uchar { FLAGS = NODYNSORT };
atomic_and_uchar_nv { FLAGS = NODYNSORT };
atomic_and_uint_nv { FLAGS = NODYNSORT };
atomic_and_ulong { FLAGS = NODYNSORT };
atomic_and_ulong_nv { FLAGS = NODYNSORT };
atomic_and_ushort { FLAGS = NODYNSORT };
atomic_and_ushort_nv { FLAGS = NODYNSORT };
atomic_cas_16;
atomic_cas_32;
atomic_cas_64;
atomic_cas_8;
atomic_cas_ptr { FLAGS = NODYNSORT };
atomic_cas_uchar { FLAGS = NODYNSORT };
atomic_cas_uint { FLAGS = NODYNSORT };
atomic_cas_ulong { FLAGS = NODYNSORT };
atomic_cas_ushort { FLAGS = NODYNSORT };
atomic_clear_long_excl { FLAGS = NODYNSORT };
atomic_dec_16;
atomic_dec_16_nv;
atomic_dec_32;
atomic_dec_32_nv;
atomic_dec_64;
atomic_dec_64_nv;
atomic_dec_8;
atomic_dec_8_nv;
atomic_dec_uchar { FLAGS = NODYNSORT };
atomic_dec_uchar_nv { FLAGS = NODYNSORT };
atomic_dec_uint { FLAGS = NODYNSORT };
atomic_dec_uint_nv { FLAGS = NODYNSORT };
atomic_dec_ulong { FLAGS = NODYNSORT };
atomic_dec_ulong_nv { FLAGS = NODYNSORT };
atomic_dec_ushort { FLAGS = NODYNSORT };
atomic_dec_ushort_nv { FLAGS = NODYNSORT };
atomic_inc_16;
atomic_inc_16_nv;
atomic_inc_32;
atomic_inc_32_nv;
atomic_inc_64;
atomic_inc_64_nv;
atomic_inc_8;
atomic_inc_8_nv;
atomic_inc_uchar { FLAGS = NODYNSORT };
atomic_inc_uchar_nv { FLAGS = NODYNSORT };
atomic_inc_uint { FLAGS = NODYNSORT };
atomic_inc_uint_nv { FLAGS = NODYNSORT };
atomic_inc_ulong { FLAGS = NODYNSORT };
atomic_inc_ulong_nv { FLAGS = NODYNSORT };
atomic_inc_ushort { FLAGS = NODYNSORT };
atomic_inc_ushort_nv { FLAGS = NODYNSORT };
atomic_or_16;
atomic_or_16_nv;
atomic_or_32_nv;
atomic_or_64;
atomic_or_64_nv;
atomic_or_8;
atomic_or_8_nv;
atomic_or_uchar { FLAGS = NODYNSORT };
atomic_or_uchar_nv { FLAGS = NODYNSORT };
atomic_or_uint_nv { FLAGS = NODYNSORT };
atomic_or_ulong { FLAGS = NODYNSORT };
atomic_or_ulong_nv { FLAGS = NODYNSORT };
atomic_or_ushort { FLAGS = NODYNSORT };
atomic_or_ushort_nv { FLAGS = NODYNSORT };
atomic_set_long_excl { FLAGS = NODYNSORT };
atomic_swap_16;
atomic_swap_32;
atomic_swap_64;
atomic_swap_8;
atomic_swap_ptr { FLAGS = NODYNSORT };
atomic_swap_uchar { FLAGS = NODYNSORT };
atomic_swap_uint { FLAGS = NODYNSORT };
atomic_swap_ulong { FLAGS = NODYNSORT };
atomic_swap_ushort { FLAGS = NODYNSORT };
membar_consumer;
membar_enter;
membar_exit;
membar_producer;
$if _ELF32
enable_extended_FILE_stdio;
$endif
$if i386
# Note: atomic_[and,dec,inc,or]_64_nv are also defined above. Here,
# we add the NODYNSORT attribute to them. On this platform, they are
# aliases for the non-_nv versions. If that is changed, these lines
# should be removed.
atomic_and_64_nv { FLAGS = NODYNSORT };
atomic_dec_64_nv { FLAGS = NODYNSORT };
atomic_inc_64_nv { FLAGS = NODYNSORT };
atomic_or_64_nv { FLAGS = NODYNSORT };
$endif
$if _sparc
# Note: atomic_OP_WIDTH_nv symbols are also defined above. Here,
# we add the NODYNSORT attribute to them. On this platform, they are
# aliases for the non-_nv versions. If that is changed, these lines
# should be removed.
atomic_add_8_nv { FLAGS = NODYNSORT };
atomic_and_8_nv { FLAGS = NODYNSORT };
atomic_and_16_nv { FLAGS = NODYNSORT };
atomic_and_32_nv { FLAGS = NODYNSORT };
atomic_and_64_nv { FLAGS = NODYNSORT };
atomic_dec_8_nv { FLAGS = NODYNSORT };
atomic_dec_16_nv { FLAGS = NODYNSORT };
atomic_dec_32_nv { FLAGS = NODYNSORT };
atomic_dec_64_nv { FLAGS = NODYNSORT };
atomic_inc_8_nv { FLAGS = NODYNSORT };
atomic_inc_16_nv { FLAGS = NODYNSORT };
atomic_inc_32_nv { FLAGS = NODYNSORT };
atomic_inc_64_nv { FLAGS = NODYNSORT };
atomic_or_8_nv { FLAGS = NODYNSORT };
atomic_or_16_nv { FLAGS = NODYNSORT };
atomic_or_32_nv { FLAGS = NODYNSORT };
atomic_or_64_nv { FLAGS = NODYNSORT };
$endif
} SUNW_1.22;
SYMBOL_VERSION SUNW_1.22 { # SunOS 5.10 (Solaris 10)
global:
$if _ELF32
dladdr { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
dlclose { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
dldump { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
dlerror { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
dlopen { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
dlsym { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
$elif sparcv9
dladdr { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
dlclose { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
dldump { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
dlerror { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
dlopen { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
dlsym { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
$elif amd64
dladdr { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
dlamd64getunwind { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
dlclose { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
dldump { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
dlerror { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
dlopen { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
dlsym { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
$else
$error unknown platform
$endif
protected:
alphasort;
_alphasort;
atomic_add_16;
atomic_add_16_nv;
atomic_add_32;
atomic_add_32_nv;
atomic_add_64;
atomic_add_64_nv;
atomic_add_long { FLAGS = NODYNSORT };
atomic_add_long_nv { FLAGS = NODYNSORT };
atomic_and_32;
atomic_and_uint { FLAGS = NODYNSORT };
atomic_or_32;
atomic_or_uint { FLAGS = NODYNSORT };
_Exit;
getisax;
_getisax;
getopt_clip;
_getopt_clip;
getopt_long;
_getopt_long;
getopt_long_only;
_getopt_long_only;
getpeerucred;
_getpeerucred;
getpflags;
_getpflags;
getppriv;
_getppriv;
getprivimplinfo;
_getprivimplinfo;
getzoneid;
getzoneidbyname;
getzonenamebyid;
imaxabs;
imaxdiv;
isblank;
iswblank;
port_alert;
port_associate;
port_create;
port_dissociate;
port_get;
port_getn;
port_send;
port_sendn;
posix_openpt;
posix_spawn;
posix_spawnattr_destroy;
posix_spawnattr_getflags;
posix_spawnattr_getpgroup;
posix_spawnattr_getschedparam;
posix_spawnattr_getschedpolicy;
posix_spawnattr_getsigdefault;
posix_spawnattr_getsigmask;
posix_spawnattr_init;
posix_spawnattr_setflags;
posix_spawnattr_setpgroup;
posix_spawnattr_setschedparam;
posix_spawnattr_setschedpolicy;
posix_spawnattr_setsigdefault;
posix_spawnattr_setsigmask;
posix_spawn_file_actions_addclose;
posix_spawn_file_actions_adddup2;
posix_spawn_file_actions_addopen;
posix_spawn_file_actions_destroy;
posix_spawn_file_actions_init;
posix_spawnp;
priv_addset;
_priv_addset;
priv_allocset;
_priv_allocset;
priv_copyset;
_priv_copyset;
priv_delset;
_priv_delset;
priv_emptyset;
_priv_emptyset;
priv_fillset;
_priv_fillset;
__priv_free_info;
priv_freeset;
_priv_freeset;
priv_getbyname;
_priv_getbyname;
__priv_getbyname;
priv_getbynum;
_priv_getbynum;
__priv_getbynum;
__priv_getdata;
priv_getsetbyname;
_priv_getsetbyname;
__priv_getsetbyname;
priv_getsetbynum;
_priv_getsetbynum;
__priv_getsetbynum;
priv_gettext;
_priv_gettext;
priv_ineffect;
_priv_ineffect;
priv_intersect;
_priv_intersect;
priv_inverse;
_priv_inverse;
priv_isemptyset;
_priv_isemptyset;
priv_isequalset;
_priv_isequalset;
priv_isfullset;
_priv_isfullset;
priv_ismember;
_priv_ismember;
priv_issubset;
_priv_issubset;
__priv_parse_info;
priv_set;
_priv_set;
priv_set_to_str;
_priv_set_to_str;
__priv_set_to_str;
priv_str_to_set;
_priv_str_to_set;
priv_union;
_priv_union;
pselect;
pthread_attr_getstack;
pthread_attr_setstack;
pthread_barrierattr_destroy;
pthread_barrierattr_getpshared;
pthread_barrierattr_init;
pthread_barrierattr_setpshared;
pthread_barrier_destroy;
pthread_barrier_init;
pthread_barrier_wait;
pthread_condattr_getclock;
pthread_condattr_setclock;
pthread_mutexattr_getrobust_np { FLAGS = NODYNSORT };
pthread_mutexattr_setrobust_np { FLAGS = NODYNSORT };
pthread_mutex_consistent_np { FLAGS = NODYNSORT };
pthread_mutex_reltimedlock_np;
pthread_mutex_timedlock;
pthread_rwlock_reltimedrdlock_np;
pthread_rwlock_reltimedwrlock_np;
pthread_rwlock_timedrdlock;
pthread_rwlock_timedwrlock;
pthread_setschedprio;
pthread_spin_destroy;
pthread_spin_init;
pthread_spin_lock;
pthread_spin_trylock;
pthread_spin_unlock;
rctlblk_set_recipient_pid;
scandir;
_scandir;
schedctl_exit;
schedctl_init;
schedctl_lookup;
sema_reltimedwait;
sema_timedwait;
setenv;
setpflags;
_setpflags;
setppriv;
_setppriv;
strerror_r;
strtof;
strtoimax;
strtold;
strtoumax;
ucred_free;
_ucred_free;
ucred_get;
_ucred_get;
ucred_getegid;
_ucred_getegid;
ucred_geteuid;
_ucred_geteuid;
ucred_getgroups;
_ucred_getgroups;
ucred_getpflags;
_ucred_getpflags;
ucred_getpid;
_ucred_getpid;
ucred_getprivset;
_ucred_getprivset;
ucred_getprojid;
_ucred_getprojid;
ucred_getrgid;
_ucred_getrgid;
ucred_getruid;
_ucred_getruid;
ucred_getsgid;
_ucred_getsgid;
ucred_getsuid;
_ucred_getsuid;
ucred_getzoneid;
_ucred_getzoneid;
ucred_size;
_ucred_size;
unsetenv;
wcstof;
wcstoimax;
wcstold;
wcstoll;
wcstoull;
wcstoumax;
$if lf64
alphasort64;
_alphasort64;
pselect_large_fdset;
scandir64;
_scandir64;
$endif
$if _ELF64
walkcontext;
$endif
$if _sparc
# Note: atomic_add_[16,32,64]_nv are also defined above. Here, we add
# the NODYNSORT attribute to them. On this platform, they are aliases
# for the non-_nv versions. If that is changed, these lines should be
# removed.
atomic_add_16_nv { FLAGS = NODYNSORT };
atomic_add_32_nv { FLAGS = NODYNSORT };
atomic_add_64_nv { FLAGS = NODYNSORT };
$endif
$if i386
# Note: atomic_add_64_nv is also defined above. Here, we add the
# NODYNSORT attribute to it. On this platform, it is an aliases for
# atomic_add_64. If that is changed, this line should be removed.
atomic_add_64_nv { FLAGS = NODYNSORT };
$endif
$if amd64
# Exception unwind APIs required by the amd64 ABI
_SUNW_Unwind_DeleteException;
_SUNW_Unwind_ForcedUnwind;
_SUNW_Unwind_GetCFA;
_SUNW_Unwind_GetGR;
_SUNW_Unwind_GetIP;
_SUNW_Unwind_GetLanguageSpecificData;
_SUNW_Unwind_GetRegionStart;
_SUNW_Unwind_RaiseException;
_SUNW_Unwind_Resume;
_SUNW_Unwind_SetGR;
_SUNW_Unwind_SetIP;
_UA_CLEANUP_PHASE;
_UA_FORCE_UNWIND;
_UA_HANDLER_FRAME;
_UA_SEARCH_PHASE;
_Unwind_DeleteException;
_Unwind_ForcedUnwind;
_Unwind_GetCFA;
_Unwind_GetGR;
_Unwind_GetIP;
_Unwind_GetLanguageSpecificData;
_Unwind_GetRegionStart;
_Unwind_RaiseException;
_Unwind_Resume;
_Unwind_SetGR;
_Unwind_SetIP;
$endif
} SUNW_1.21.3;
SYMBOL_VERSION SUNW_1.21.3 { # SunOS 5.9 (Solaris 9) patch additions
protected:
forkall;
} SUNW_1.21.2;
SYMBOL_VERSION SUNW_1.21.2 { # SunOS 5.9 (Solaris 9) patch additions
protected:
getustack;
_getustack;
setustack;
_setustack;
stack_getbounds;
_stack_getbounds;
_stack_grow;
stack_inbounds;
_stack_inbounds;
stack_setbounds;
_stack_setbounds;
stack_violation;
_stack_violation;
$if _sparc
__makecontext_v2;
___makecontext_v2;
$endif
} SUNW_1.21.1;
SYMBOL_VERSION SUNW_1.21.1 { # SunOS 5.9 (Solaris 9) patch additions
protected:
crypt_gensalt;
} SUNW_1.21;
SYMBOL_VERSION SUNW_1.21 { # SunOS 5.9 (Solaris 9)
protected:
attropen;
_attropen;
bind_textdomain_codeset;
closefrom;
_closefrom;
cond_reltimedwait;
dcngettext;
dngettext;
fchownat;
_fchownat;
fdopendir;
_fdopendir;
fdwalk;
_fdwalk;
fstatat;
_fstatat;
futimesat;
_futimesat;
getcpuid;
_getcpuid;
gethomelgroup;
_gethomelgroup { FLAGS = NODYNSORT };
getpagesizes;
getrctl;
_getrctl;
issetugid;
_issetugid;
_lwp_cond_reltimedwait;
meminfo;
_meminfo;
ngettext;
openat;
_openat;
printstack;
priocntl;
priocntlset;
pset_getattr;
pset_getloadavg;
pset_list;
pset_setattr;
pthread_cond_reltimedwait_np;
rctlblk_get_enforced_value;
rctlblk_get_firing_time;
rctlblk_get_global_action;
rctlblk_get_global_flags;
rctlblk_get_local_action;
rctlblk_get_local_flags;
rctlblk_get_privilege;
rctlblk_get_recipient_pid;
rctlblk_get_value;
rctlblk_set_local_action;
rctlblk_set_local_flags;
rctlblk_set_privilege;
rctlblk_set_value;
rctlblk_size;
rctl_walk;
renameat;
setrctl;
_setrctl;
unlinkat;
_unlinkat;
vfscanf;
_vfscanf;
vfwscanf;
vscanf;
_vscanf;
vsscanf;
_vsscanf;
vswscanf;
vwscanf;
$if _ELF32
walkcontext;
$endif
$if lf64
attropen64;
_attropen64;
fstatat64;
_fstatat64;
openat64;
_openat64;
$endif
} SUNW_1.20.4;
SYMBOL_VERSION SUNW_1.20.4 { # SunOS 5.8 (Solaris 8) patch additions
protected:
semtimedop;
_semtimedop;
} SUNW_1.20.1;
SYMBOL_VERSION SUNW_1.20.1 { # SunOS 5.8 (Solaris 8) patch additions
protected:
getacct;
_getacct;
getprojid;
_getprojid;
gettaskid;
_gettaskid;
msgids;
_msgids;
msgsnap;
_msgsnap;
putacct;
_putacct;
semids;
_semids;
settaskid;
_settaskid;
shmids;
_shmids;
wracct;
_wracct;
} SUNW_1.20;
SYMBOL_VERSION SUNW_1.20 { # SunOS 5.8 (Solaris 8)
protected:
getextmntent;
resetmnttab;
} SUNW_1.19;
SYMBOL_VERSION SUNW_1.19 {
protected:
strlcat;
strlcpy;
umount2;
_umount2;
} SUNW_1.18.1;
SYMBOL_VERSION SUNW_1.18.1 {
protected:
__fsetlocking;
} SUNW_1.18;
SYMBOL_VERSION SUNW_1.18 { # SunOS 5.7 (Solaris 7)
protected:
btowc;
__fbufsize;
__flbf;
_flushlbf;
__fpending;
__fpurge;
__freadable;
__freading;
fwide;
fwprintf;
__fwritable;
__fwriting;
fwscanf;
getloadavg;
isaexec;
mbrlen;
mbrtowc;
mbsinit;
mbsrtowcs;
pcsample;
pthread_attr_getguardsize;
pthread_attr_setguardsize;
pthread_getconcurrency;
pthread_mutexattr_gettype;
pthread_mutexattr_settype;
pthread_rwlockattr_destroy;
pthread_rwlockattr_getpshared;
pthread_rwlockattr_init;
pthread_rwlockattr_setpshared;
pthread_rwlock_destroy;
pthread_rwlock_init;
pthread_rwlock_rdlock;
pthread_rwlock_tryrdlock;
pthread_rwlock_trywrlock;
pthread_rwlock_unlock;
pthread_rwlock_wrlock;
pthread_setconcurrency;
swprintf;
swscanf;
__sysconf_xpg5;
vfwprintf;
vswprintf;
vwprintf;
wcrtomb;
wcsrtombs;
wcsstr;
wctob;
wmemchr;
wmemcmp;
wmemcpy;
wmemmove;
wmemset;
wprintf;
wscanf;
$if _ELF32
select_large_fdset;
$endif
} SUNW_1.17;
# The empty versions SUNW_1.2 through SUNW_1.17 must be preserved because
# applications built on Solaris 2.6 Beta (when they did contain symbols)
# may depend on them. All symbol content for SunOS 5.6 is now in SUNW_1.1
SYMBOL_VERSION SUNW_1.17 {
protected:
SUNW_1.17;
} SUNW_1.16;
SYMBOL_VERSION SUNW_1.16 {
protected:
SUNW_1.16;
} SUNW_1.15;
SYMBOL_VERSION SUNW_1.15 {
protected:
SUNW_1.15;
} SUNW_1.14;
SYMBOL_VERSION SUNW_1.14 {
protected:
SUNW_1.14;
} SUNW_1.13;
SYMBOL_VERSION SUNW_1.13 {
protected:
SUNW_1.13;
} SUNW_1.12;
SYMBOL_VERSION SUNW_1.12 {
protected:
SUNW_1.12;
} SUNW_1.11;
SYMBOL_VERSION SUNW_1.11 {
protected:
SUNW_1.11;
} SUNW_1.10;
SYMBOL_VERSION SUNW_1.10 {
protected:
SUNW_1.10;
} SUNW_1.9;
SYMBOL_VERSION SUNW_1.9 {
protected:
SUNW_1.9;
} SUNW_1.8;
SYMBOL_VERSION SUNW_1.8 {
protected:
SUNW_1.8;
} SUNW_1.7;
SYMBOL_VERSION SUNW_1.7 {
protected:
SUNW_1.7;
} SUNW_1.6;
SYMBOL_VERSION SUNW_1.6 {
protected:
SUNW_1.6;
} SUNW_1.5;
SYMBOL_VERSION SUNW_1.5 {
protected:
SUNW_1.5;
} SUNW_1.4;
SYMBOL_VERSION SUNW_1.4 {
protected:
SUNW_1.4;
} SUNW_1.3;
SYMBOL_VERSION SUNW_1.3 {
protected:
SUNW_1.3;
} SUNW_1.2;
SYMBOL_VERSION SUNW_1.2 {
protected:
SUNW_1.2;
} SUNW_1.1;
SYMBOL_VERSION SUNW_1.1 { # SunOS 5.6 (Solaris 2.6)
global:
__loc1;
protected:
basename;
bindtextdomain;
bsd_signal;
dbm_clearerr;
dbm_error;
dcgettext;
dgettext;
directio;
dirname;
endusershell;
_exithandle;
fgetwc;
fgetws;
fpgetround;
fpsetround;
fputwc;
fputws;
fseeko;
ftello;
ftrylockfile;
getexecname;
_getexecname;
getpassphrase;
gettext;
getusershell;
getwc;
getwchar;
getws;
isenglish;
isideogram;
isnumber;
isphonogram;
isspecial;
iswalnum;
iswalpha;
iswcntrl;
iswctype;
iswdigit;
iswgraph;
iswlower;
iswprint;
iswpunct;
iswspace;
iswupper;
iswxdigit;
____loc1;
_longjmp;
_lwp_sema_trywait;
ntp_adjtime;
_ntp_adjtime;
ntp_gettime;
_ntp_gettime;
__posix_asctime_r;
__posix_ctime_r;
__posix_getgrgid_r;
__posix_getgrnam_r;
__posix_getlogin_r;
__posix_getpwnam_r;
__posix_getpwuid_r;
__posix_sigwait;
__posix_ttyname_r;
pset_assign;
pset_bind;
pset_create;
pset_destroy;
pset_info;
pthread_atfork;
pthread_attr_destroy;
pthread_attr_getdetachstate;
pthread_attr_getinheritsched;
pthread_attr_getschedparam;
pthread_attr_getschedpolicy;
pthread_attr_getscope;
pthread_attr_getstackaddr;
pthread_attr_getstacksize;
pthread_attr_init;
pthread_attr_setdetachstate;
pthread_attr_setinheritsched;
pthread_attr_setschedparam;
pthread_attr_setschedpolicy;
pthread_attr_setscope;
pthread_attr_setstackaddr;
pthread_attr_setstacksize;
pthread_cancel;
__pthread_cleanup_pop;
__pthread_cleanup_push;
pthread_create;
pthread_detach;
pthread_equal;
pthread_exit;
pthread_getschedparam;
pthread_getspecific;
pthread_join;
pthread_key_create;
pthread_key_delete;
pthread_kill;
pthread_once;
pthread_self;
pthread_setcancelstate;
pthread_setcanceltype;
pthread_setschedparam;
pthread_setspecific;
pthread_sigmask;
pthread_testcancel;
putwc;
putwchar;
putws;
regcmp;
regex;
resolvepath;
_resolvepath;
rwlock_destroy { FLAGS = NODYNSORT };
_rwlock_destroy { FLAGS = NODYNSORT };
sema_destroy;
_sema_destroy;
_setjmp;
setusershell;
siginterrupt;
sigstack;
snprintf;
strtows;
sync_instruction_memory;
textdomain;
thr_main;
towctrans;
towlower;
towupper;
ungetwc;
vsnprintf;
watoll;
wcscat;
wcschr;
wcscmp;
wcscoll;
wcscpy;
wcscspn;
wcsftime;
wcslen;
wcsncat;
wcsncmp;
wcsncpy;
wcspbrk;
wcsrchr;
wcsspn;
wcstod;
wcstok;
wcstol;
wcstoul;
wcswcs;
wcswidth;
wcsxfrm;
wctrans;
wctype;
wcwidth;
wscasecmp;
wscat;
wschr;
wscmp;
wscol;
wscoll;
wscpy;
wscspn;
wsdup;
wslen;
wsncasecmp;
wsncat;
wsncmp;
wsncpy;
wspbrk;
wsprintf;
wsrchr;
wsscanf;
wsspn;
wstod;
wstok;
wstol;
wstoll;
wstostr;
wsxfrm;
__xpg4_putmsg;
__xpg4_putpmsg;
$if lf64
creat64;
_creat64;
fgetpos64;
fopen64;
freopen64;
fseeko64;
fsetpos64;
fstat64;
_fstat64;
fstatvfs64;
_fstatvfs64;
ftello64;
ftruncate64;
_ftruncate64;
ftw64;
_ftw64;
getdents64;
_getdents64;
getrlimit64;
_getrlimit64;
lockf64;
_lockf64;
lseek64;
_lseek64;
lstat64;
_lstat64;
mkstemp64;
_mkstemp64;
mmap64;
_mmap64;
nftw64;
_nftw64;
open64;
_open64;
__posix_readdir_r;
pread64;
_pread64;
pwrite64;
_pwrite64;
readdir64;
_readdir64;
readdir64_r;
_readdir64_r;
setrlimit64;
_setrlimit64;
s_fcntl;
_s_fcntl { FLAGS = NODYNSORT };
s_ioctl;
stat64;
_stat64;
statvfs64;
_statvfs64;
tell64;
_tell64;
tmpfile64;
truncate64;
_truncate64;
_xftw64;
$endif
$if _sparc
__flt_rounds;
$endif
} SUNW_0.9;
SYMBOL_VERSION SUNW_0.9 { # SunOS 5.5 (Solaris 2.5)
protected:
acl;
bcmp;
bcopy;
bzero;
facl;
ftime;
getdtablesize;
gethostid;
gethostname;
getpagesize;
getpriority;
getrusage;
getwd;
index;
initstate;
killpg;
_nsc_trydoorcall;
pthread_condattr_destroy;
pthread_condattr_getpshared;
pthread_condattr_init;
pthread_condattr_setpshared;
pthread_cond_broadcast;
pthread_cond_destroy;
pthread_cond_init;
pthread_cond_signal;
pthread_cond_timedwait;
pthread_cond_wait;
pthread_mutexattr_destroy;
pthread_mutexattr_getprioceiling;
pthread_mutexattr_getprotocol;
pthread_mutexattr_getpshared;
pthread_mutexattr_init;
pthread_mutexattr_setprioceiling;
pthread_mutexattr_setprotocol;
pthread_mutexattr_setpshared;
pthread_mutex_destroy;
pthread_mutex_getprioceiling;
pthread_mutex_init;
pthread_mutex_lock;
pthread_mutex_setprioceiling;
pthread_mutex_trylock;
pthread_mutex_unlock;
random;
reboot;
re_comp;
re_exec;
rindex;
setbuffer;
sethostname;
setlinebuf;
setpriority;
setregid;
setreuid;
setstate;
srandom;
thr_min_stack;
thr_stksegment;
ualarm;
usleep;
wait3;
wait4;
} SUNW_0.8;
SYMBOL_VERSION SUNW_0.8 { # SunOS 5.4 (Solaris 2.4)
global:
__xpg4 { FLAGS = NODIRECT };
protected:
addsev;
cond_broadcast { FLAGS = NODYNSORT };
cond_destroy { FLAGS = NODYNSORT };
cond_init;
cond_signal { FLAGS = NODYNSORT };
cond_timedwait;
cond_wait;
confstr;
fnmatch;
_getdate_err_addr;
glob;
globfree;
iconv;
iconv_close;
iconv_open;
lfmt;
mutex_destroy { FLAGS = NODYNSORT };
mutex_init;
mutex_lock { FLAGS = NODYNSORT };
mutex_trylock { FLAGS = NODYNSORT };
mutex_unlock { FLAGS = NODYNSORT };
pfmt;
regcomp;
regerror;
regexec;
regfree;
rwlock_init;
rw_rdlock { FLAGS = NODYNSORT };
rw_read_held;
rw_tryrdlock { FLAGS = NODYNSORT };
rw_trywrlock { FLAGS = NODYNSORT };
rw_unlock { FLAGS = NODYNSORT };
rw_write_held;
rw_wrlock { FLAGS = NODYNSORT };
sema_held;
sema_init;
sema_post;
sema_trywait;
sema_wait;
setcat;
sigfpe;
strfmon;
strptime;
thr_continue;
thr_create;
thr_exit;
thr_getconcurrency;
thr_getprio;
thr_getspecific;
thr_join;
thr_keycreate;
thr_kill;
thr_self { FLAGS = NODYNSORT };
thr_setconcurrency;
thr_setprio;
thr_setspecific;
thr_sigsetmask;
thr_suspend;
thr_yield;
vlfmt;
vpfmt;
wordexp;
wordfree;
} SUNW_0.7;
SYMBOL_VERSION SUNW_0.7 { # SunOS 5.3 (Solaris 2.3)
global:
altzone;
_ctype;
isnanf { TYPE = FUNCTION; FILTER = libm.so.2 };
lone;
lten;
lzero;
memalign { FLAGS = NODIRECT };
modff { TYPE = FUNCTION; FILTER = libm.so.2 };
nss_default_finders;
_sibuf;
_sobuf;
_sys_buslist;
_sys_cldlist;
_sys_fpelist;
_sys_illlist;
_sys_segvlist;
_sys_siginfolistp;
_sys_siglist;
_sys_siglistn;
_sys_siglistp;
_sys_traplist;
valloc { FLAGS = NODIRECT };
$if _ELF32
_bufendtab;
_lastbuf;
sys_errlist;
sys_nerr;
_sys_nsig;
$endif
protected:
a64l;
adjtime;
ascftime;
_assert;
atoll;
brk;
__builtin_alloca;
cftime;
closelog;
csetcol;
csetlen;
ctermid_r;
dbm_close;
dbm_delete;
dbm_fetch;
dbm_firstkey;
dbm_nextkey;
dbm_open;
dbm_store;
decimal_to_double;
decimal_to_extended;
decimal_to_quadruple;
decimal_to_single;
double_to_decimal;
drand48;
econvert;
ecvt;
endnetgrent;
endspent;
endutent;
endutxent;
erand48;
euccol;
euclen;
eucscol;
extended_to_decimal;
fchroot;
fconvert;
fcvt;
ffs;
fgetspent;
fgetspent_r;
_filbuf;
file_to_decimal;
finite;
_flsbuf;
fork1 { FLAGS = NODYNSORT };
fpclass;
fpgetmask;
fpgetsticky;
fpsetmask;
fpsetsticky;
fstatfs;
ftruncate;
ftw;
func_to_decimal;
gconvert;
gcvt;
getdents;
gethrtime;
gethrvtime;
getmntany;
getmntent;
getnetgrent;
getnetgrent_r;
getpw;
getspent;
getspent_r;
getspnam;
getspnam_r;
getutent;
getutid;
getutline;
getutmp;
getutmpx;
getutxent;
getutxid;
getutxline;
getvfsany;
getvfsent;
getvfsfile;
getvfsspec;
getwidth;
gsignal;
hasmntopt;
innetgr;
insque;
_insque;
jrand48;
l64a;
ladd;
lckpwdf;
lcong48;
ldivide;
lexp10;
llabs;
lldiv;
llog10;
llseek;
lltostr;
lmul;
lrand48;
lshiftl;
lsub;
_lwp_cond_broadcast;
_lwp_cond_signal;
_lwp_cond_timedwait;
_lwp_cond_wait;
_lwp_continue;
_lwp_info;
_lwp_kill;
_lwp_mutex_lock;
_lwp_mutex_trylock;
_lwp_mutex_unlock;
_lwp_self;
_lwp_sema_init;
_lwp_sema_post;
_lwp_sema_wait;
_lwp_suspend;
madvise;
__major;
__makedev;
mincore;
__minor;
mkstemp;
_mkstemp;
mlockall;
mrand48;
munlockall;
_mutex_held { FLAGS = NODYNSORT };
_mutex_lock { FLAGS = NODYNSORT };
nrand48;
_nss_netdb_aliases;
_nss_XbyY_buf_alloc;
_nss_XbyY_buf_free;
__nsw_extended_action;
__nsw_freeconfig;
__nsw_getconfig;
openlog;
plock;
p_online;
pread;
__priocntl;
__priocntlset;
processor_bind;
processor_info;
psiginfo;
psignal;
putpwent;
putspent;
pututline;
pututxline;
pwrite;
qeconvert;
qecvt;
qfconvert;
qfcvt;
qgconvert;
qgcvt;
quadruple_to_decimal;
realpath;
remque;
_remque;
_rw_read_held;
_rw_write_held;
seconvert;
seed48;
select;
_sema_held;
setegid;
seteuid;
setlogmask;
setnetgrent;
setspent;
settimeofday;
setutent;
setutxent;
sfconvert;
sgconvert;
sig2str;
sigwait;
single_to_decimal;
srand48;
ssignal;
statfs;
str2sig;
strcasecmp;
string_to_decimal;
strncasecmp;
strsignal;
strtoll;
strtoull;
swapctl;
_syscall;
sysfs;
syslog;
_syslog;
tmpnam_r;
truncate;
ttyslot;
uadmin;
ulckpwdf;
ulltostr;
unordered;
updwtmp;
updwtmpx;
ustat;
utimes;
utmpname;
utmpxname;
vfork;
vhangup;
vsyslog;
yield;
$if i386
# Note: _syscall is also defined above. Here, we add the NODYNSORT
# attribute to it. On this platform, it is an alias to syscall.
# If that is changed, this lines should be removed.
_syscall { FLAGS = NODYNSORT };
$endif
# The 32-bit sparc ABI requires SISCD_2.3. On other platforms, those symbols
# go directly into SUNW_0.7.
$if sparc32
} SISCD_2.3;
SYMBOL_VERSION SISCD_2.3 {
$endif
global:
errno { FLAGS = NODIRECT };
_iob;
protected:
addseverity;
_addseverity;
asctime_r;
crypt;
_crypt;
ctime_r;
encrypt;
_encrypt;
endgrent;
endpwent;
___errno;
fgetgrent;
fgetgrent_r;
fgetpwent;
fgetpwent_r;
flockfile;
funlockfile;
getchar_unlocked;
getc_unlocked;
getgrent;
getgrent_r;
getgrgid_r;
getgrnam_r;
getitimer;
_getitimer;
getlogin_r;
getpwent;
getpwent_r;
getpwnam_r;
getpwuid_r;
gettimeofday;
_gettimeofday;
gmtime_r;
localtime_r;
putchar_unlocked;
putc_unlocked;
rand_r;
readdir_r;
setgrent;
setitimer;
_setitimer;
setkey;
_setkey;
setpwent;
strtok_r;
sysinfo;
_sysinfo;
ttyname_r;
$if _ELF32
__div64;
__mul64;
__rem64;
__udiv64;
__urem64;
$endif
$if sparc32
__dtoll;
__dtoull;
__ftoll;
__ftoull;
_Q_lltoq;
_Q_qtoll;
_Q_qtoull;
_Q_ulltoq;
sbrk;
_sbrk;
__umul64 { FLAGS = NODYNSORT }; # Same address as __mul64
$endif
# On 32-bit platforms, the following symbols go into SYSVABI_1.3, but on
# other platforms they go directly into the current version (which will be
# either SUNW_0.7, or SISCD_2.3, depending on the similar issue described above.
$if _ELF32
} SYSVABI_1.3;
SYMBOL_VERSION SYSVABI_1.3 {
$endif
global:
_altzone;
calloc { FLAGS = NODIRECT };
__ctype;
daylight;
_daylight;
environ { FLAGS = NODIRECT };
_environ { FLAGS = NODIRECT };
free { FLAGS = NODIRECT };
frexp { TYPE = FUNCTION; FILTER = libm.so.2 };
getdate_err;
_getdate_err;
getenv;
__huge_val;
__iob;
isnan { TYPE = FUNCTION; FILTER = libm.so.2 };
_isnan { TYPE = FUNCTION; FILTER = libm.so.2 };
isnand { TYPE = FUNCTION; FILTER = libm.so.2 };
_isnand { TYPE = FUNCTION; FILTER = libm.so.2 };
ldexp { TYPE = FUNCTION; FILTER = libm.so.2 };
logb { TYPE = FUNCTION; FILTER = libm.so.2 };
malloc { FLAGS = NODIRECT };
memcmp;
memcpy;
memmove;
memset;
modf { TYPE = FUNCTION; FILTER = libm.so.2 };
_modf { TYPE = FUNCTION; FILTER = libm.so.2 };
nextafter { TYPE = FUNCTION; FILTER = libm.so.2 };
_nextafter { TYPE = FUNCTION; FILTER = libm.so.2 };
_numeric;
optarg;
opterr;
optind;
optopt;
realloc { FLAGS = NODIRECT };
scalb { TYPE = FUNCTION; FILTER = libm.so.2 };
_scalb { TYPE = FUNCTION; FILTER = libm.so.2 };
timezone;
_timezone;
tzname;
_tzname;
$if i386
_fp_hw;
$endif
protected:
abort;
abs;
access;
_access;
acct;
_acct;
alarm;
_alarm;
asctime;
__assert;
atexit;
atof;
atoi;
atol;
bsearch;
catclose;
_catclose;
catgets;
_catgets;
catopen;
_catopen;
cfgetispeed;
_cfgetispeed;
cfgetospeed;
_cfgetospeed;
cfsetispeed;
_cfsetispeed;
cfsetospeed;
_cfsetospeed;
chdir;
_chdir;
chmod;
_chmod;
chown;
_chown;
chroot;
_chroot;
_cleanup;
clearerr;
clock;
_close;
close;
closedir;
_closedir;
creat;
_creat;
ctermid;
ctime;
cuserid;
_cuserid;
difftime;
div;
dup;
_dup;
dup2;
_dup2;
execl;
_execl;
execle;
_execle;
execlp;
_execlp;
execv;
_execv;
execve;
_execve;
execvp;
_execvp;
exit;
_exit;
fattach;
_fattach;
fchdir;
_fchdir;
fchmod;
_fchmod;
fchown;
_fchown;
fclose;
fcntl;
_fcntl;
fdetach;
_fdetach;
fdopen;
_fdopen;
feof;
ferror;
fflush;
fgetc;
fgetpos;
fgets;
__filbuf;
fileno;
_fileno;
__flsbuf;
fmtmsg;
_fmtmsg;
fopen;
_fork;
fork;
fpathconf;
_fpathconf;
fprintf;
fputc;
fputs;
fread;
freopen;
fscanf;
fseek;
fsetpos;
fstat;
_fstat;
fstatvfs;
_fstatvfs;
fsync;
_fsync;
ftell;
ftok;
_ftok;
fwrite;
getc;
getchar;
getcontext;
_getcontext;
getcwd;
_getcwd;
getdate;
_getdate;
getegid;
_getegid;
geteuid;
_geteuid;
getgid;
_getgid;
getgrgid;
getgrnam;
getgroups;
_getgroups;
getlogin;
getmsg;
_getmsg;
getopt;
_getopt;
getpass;
_getpass;
getpgid;
_getpgid;
getpgrp;
_getpgrp;
getpid;
_getpid;
getpmsg;
_getpmsg;
getppid;
_getppid;
getpwnam;
getpwuid;
getrlimit;
_getrlimit;
gets;
getsid;
_getsid;
getsubopt;
_getsubopt;
gettxt;
_gettxt;
getuid;
_getuid;
getw;
_getw;
gmtime;
grantpt;
_grantpt;
hcreate;
_hcreate;
hdestroy;
_hdestroy;
hsearch;
_hsearch;
initgroups;
_initgroups;
ioctl;
_ioctl;
isalnum;
isalpha;
isascii;
_isascii;
isastream;
_isastream;
isatty;
_isatty;
iscntrl;
isdigit;
isgraph;
islower;
isprint;
ispunct;
isspace;
isupper;
isxdigit;
kill;
_kill;
labs;
lchown;
_lchown;
ldiv;
lfind;
_lfind;
link;
_link;
localeconv;
localtime;
lockf;
_lockf;
longjmp;
lsearch;
_lsearch;
lseek;
_lseek;
lstat;
_lstat;
makecontext;
_makecontext;
mblen;
mbstowcs;
mbtowc;
memccpy;
_memccpy;
memchr;
memcntl;
_memcntl;
mkdir;
_mkdir;
mkfifo;
_mkfifo;
mknod;
_mknod;
mktemp;
_mktemp;
mktime;
mlock;
_mlock;
mmap;
_mmap;
monitor;
_monitor;
mount;
_mount;
mprotect;
_mprotect;
msgctl;
_msgctl;
msgget;
_msgget;
msgrcv;
_msgrcv;
msgsnd;
_msgsnd;
msync;
_msync;
munlock;
_munlock;
munmap;
_munmap;
nftw;
_nftw;
nice;
_nice;
nl_langinfo;
_nl_langinfo;
open;
_open;
opendir;
_opendir;
pathconf;
_pathconf;
pause;
_pause;
pclose;
_pclose;
perror;
pipe;
_pipe;
poll;
_poll;
popen;
_popen;
printf;
profil;
_profil;
ptsname;
_ptsname;
putc;
putchar;
putenv;
_putenv;
putmsg;
_putmsg;
putpmsg;
_putpmsg;
puts;
putw;
_putw;
qsort;
raise;
rand;
read;
_read;
readdir;
_readdir;
readlink;
_readlink;
readv;
_readv;
remove;
rename;
_rename;
rewind;
rewinddir;
_rewinddir;
rmdir;
_rmdir;
scanf;
seekdir;
_seekdir;
semctl;
_semctl;
semget;
_semget;
semop;
_semop;
setbuf;
setcontext;
_setcontext { FLAGS = NODYNSORT };
setgid;
_setgid;
setgroups;
_setgroups;
setjmp;
setlabel;
setlocale;
setpgid;
_setpgid;
setpgrp;
_setpgrp;
setrlimit;
_setrlimit;
setsid;
_setsid;
setuid;
_setuid;
setvbuf;
shmat;
_shmat;
shmctl;
_shmctl;
shmdt;
_shmdt;
shmget;
_shmget;
sigaction;
_sigaction { FLAGS = NODYNSORT };
sigaddset;
_sigaddset;
sigaltstack;
_sigaltstack;
sigdelset;
_sigdelset;
sigemptyset;
_sigemptyset;
sigfillset;
_sigfillset;
sighold;
_sighold;
sigignore;
_sigignore;
sigismember;
_sigismember;
siglongjmp;
_siglongjmp;
signal;
sigpause;
_sigpause;
sigpending;
_sigpending;
sigprocmask;
_sigprocmask;
sigrelse;
_sigrelse;
sigsend;
_sigsend;
sigsendset;
_sigsendset;
sigset;
_sigset;
sigsetjmp;
_sigsetjmp { FLAGS = NODYNSORT };
sigsuspend;
_sigsuspend;
sleep;
_sleep;
sprintf;
srand;
sscanf;
stat;
_stat;
statvfs;
_statvfs;
stime;
_stime;
strcat;
strchr;
strcmp;
strcoll;
strcpy;
strcspn;
strdup;
_strdup;
strerror;
strftime;
strlen;
strncat;
strncmp;
strncpy;
strpbrk;
strrchr;
strspn;
strstr;
strtod;
strtok;
strtol;
strtoul;
strxfrm;
swab;
_swab;
swapcontext;
_swapcontext;
symlink;
_symlink;
sync;
_sync;
sysconf;
_sysconf;
system;
tcdrain;
_tcdrain;
tcflow;
_tcflow;
tcflush;
_tcflush;
tcgetattr;
_tcgetattr;
tcgetpgrp;
_tcgetpgrp;
tcgetsid;
_tcgetsid;
tcsendbreak;
_tcsendbreak;
tcsetattr;
_tcsetattr;
tcsetpgrp;
_tcsetpgrp;
tdelete;
_tdelete;
tell;
_tell;
telldir;
_telldir;
tempnam;
_tempnam;
tfind;
_tfind;
time;
_time;
times;
_times;
tmpfile;
tmpnam;
toascii;
_toascii;
tolower;
_tolower;
toupper;
_toupper;
tsearch;
_tsearch;
ttyname;
twalk;
_twalk;
tzset;
_tzset;
ulimit;
_ulimit;
umask;
_umask;
umount;
_umount;
uname;
_uname;
ungetc;
unlink;
_unlink;
unlockpt;
_unlockpt;
utime;
_utime;
vfprintf;
vprintf;
vsprintf;
wait;
_wait;
waitid;
_waitid;
waitpid;
_waitpid;
wcstombs;
wctomb;
write;
_write;
writev;
_writev;
_xftw;
$if _ELF32
ptrace;
_ptrace;
$endif
$if i386
_fxstat;
_lxstat;
nuname;
_nuname;
_xmknod;
_xstat;
$endif
$if !sparc32
sbrk;
$endif
$if _sparc
__dtou;
__ftou;
$endif
$if sparc32
.div;
.mul;
.rem;
.stret1;
.stret2;
.stret4;
# .stret4 and .stret8 are the same thing
.stret8 { FLAGS = NODYNSORT };
.udiv;
.umul;
.urem;
_Q_add;
_Q_cmp;
_Q_cmpe;
_Q_div;
_Q_dtoq;
_Q_feq;
_Q_fge;
_Q_fgt;
_Q_fle;
_Q_flt;
_Q_fne;
_Q_itoq;
_Q_mul;
_Q_neg;
_Q_qtod;
_Q_qtoi;
_Q_qtos;
_Q_qtou;
_Q_sqrt;
_Q_stoq;
_Q_sub;
_Q_utoq;
$endif
$if sparcv9
# __align_cpy_1 is an alias for memcpy. Filter it out of
# the .SUNW_dynsymsort section
__align_cpy_1 { FLAGS = NODYNSORT };
__align_cpy_16;
__align_cpy_2;
__align_cpy_4;
# __align_cpy_8 is same as __align_cpy_16
__align_cpy_8 { FLAGS = NODYNSORT };
__dtoul;
__ftoul;
_Qp_add;
_Qp_cmp;
_Qp_cmpe;
_Qp_div;
_Qp_dtoq;
_Qp_feq;
_Qp_fge;
_Qp_fgt;
_Qp_fle;
_Qp_flt;
_Qp_fne;
_Qp_itoq;
_Qp_mul;
_Qp_neg;
_Qp_qtod;
_Qp_qtoi;
_Qp_qtos;
_Qp_qtoui;
_Qp_qtoux;
_Qp_qtox;
_Qp_sqrt;
_Qp_stoq;
_Qp_sub;
_Qp_uitoq;
_Qp_uxtoq;
_Qp_xtoq;
__sparc_utrap_install;
$endif
# On amd64, we also have SYSVABI_1.3, but it contains a small subset of
# the symbols put in that version on other platforms.
$if amd64
} SYSVABI_1.3;
SYMBOL_VERSION SYSVABI_1.3 {
$endif
global:
$if !_sparc
__flt_rounds;
$endif
protected:
_ctermid;
_getgrgid;
_getgrnam;
_getlogin;
_getpwnam;
_getpwuid;
_ttyname;
$if !sparc32
_sbrk;
$endif
$if _x86
_fpstart;
__fpstart;
$endif
};
# There should never be more than one SUNWprivate version.
# Don't add any more. Add new private symbols to SUNWprivate_1.1
SYMBOL_VERSION SUNWprivate_1.1 {
global:
___Argv { FLAGS = NODIRECT };
cfree { FLAGS = NODIRECT };
_cswidth;
__ctype_mask;
__environ_lock { FLAGS = NODIRECT };
__inf_read;
__inf_written;
__i_size;
_isnanf { TYPE = FUNCTION; FILTER = libm.so.2 };
__iswrune;
__libc_threaded;
_lib_version { FLAGS = NODIRECT };
_logb { TYPE = FUNCTION; FILTER = libm.so.2 };
_lone { FLAGS = NODYNSORT };
_lten { FLAGS = NODYNSORT };
_lzero { FLAGS = NODYNSORT };
__malloc_lock;
_memcmp;
_memcpy { FLAGS = NODYNSORT };
_memmove;
_memset;
_modff { TYPE = FUNCTION; FILTER = libm.so.2 };
__nan_read;
__nan_written;
__nextwctype;
__nis_debug_bind;
__nis_debug_calls;
__nis_debug_file;
__nis_debug_rpc;
__nis_prefsrv;
__nis_preftype;
__nis_server;
_nss_default_finders;
__progname { FLAGS = NODIRECT };
_smbuf;
_sp;
__strdupa_str { FLAGS = NODIRECT };
__strdupa_len { FLAGS = NODIRECT };
_tdb_bootstrap;
__threaded;
thr_probe_getfunc_addr;
__trans_lower;
__trans_upper;
_uberdata;
__xpg6 { FLAGS = NODIRECT };
$if _ELF32
_dladdr { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
_dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
_dlclose { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
_dldump { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
_dlerror { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
_dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
_dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
_dlopen { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
_dlsym { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
_ld_libc { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
_sys_errlist;
_sys_errs;
_sys_index;
_sys_nerr { FLAGS = NODYNSORT };
_sys_num_err;
$elif sparcv9
_dladdr { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
_dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
_dlclose { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
_dldump { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
_dlerror { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
_dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
_dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
_dlopen { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
_dlsym { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
_ld_libc { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
$elif amd64
_dladdr { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
_dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
_dlamd64getunwind { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
_dlclose { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
_dldump { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
_dlerror { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
_dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
_dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
_dlopen { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
_dlsym { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
_ld_libc { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
$else
$error unknown platform
$endif
$if _sparc
__lyday_to_month;
__mon_lengths;
__yday_to_month;
$endif
$if i386
_sse_hw;
$endif
protected:
acctctl;
allocids;
_assert_c99;
__assert_c99;
_assfail;
attr_count;
attr_to_data_type;
attr_to_name;
attr_to_option;
attr_to_xattr_view;
_autofssys;
_bufsync;
_cladm;
__class_quadruple;
core_get_default_content;
core_get_default_path;
core_get_global_content;
core_get_global_path;
core_get_options;
core_get_process_content;
core_get_process_path;
core_set_default_content;
core_set_default_path;
core_set_global_content;
core_set_global_path;
core_set_options;
core_set_process_content;
core_set_process_path;
dbm_close_status;
dbm_do_nextkey;
dbm_setdefwrite;
_D_cplx_div;
_D_cplx_div_ix;
_D_cplx_div_rx;
_D_cplx_mul;
defclose_r;
defcntl;
defcntl_r;
defopen;
defopen_r;
defread;
defread_r;
_delete;
_dgettext;
_doprnt;
_doscan;
_errfp;
_errxfp;
exportfs;
_F_cplx_div;
_F_cplx_div_ix;
_F_cplx_div_rx;
_F_cplx_mul;
__fgetwc_xpg5;
__fgetws_xpg5;
_findbuf;
_findiop;
__fini_daemon_priv;
_finite;
_fork1 { FLAGS = NODYNSORT };
_forkall { FLAGS = NODYNSORT };
_fpclass;
_fpgetmask;
_fpgetround;
_fpgetsticky;
_fprintf;
_fpsetmask;
_fpsetround;
_fpsetsticky;
__fputwc_xpg5;
__fputws_xpg5;
_ftw;
_gcvt;
_getarg;
__getcontext;
_getdents;
_get_exit_frame_monitor;
_getfp;
_getgroupsbymember;
_getlogin_r;
getrandom;
_getsp;
__gettsp;
getvmusage;
__getwchar_xpg5;
__getwc_xpg5;
gtty;
__idmap_flush_kcache;
__idmap_reg;
__idmap_unreg;
__init_daemon_priv;
__init_suid_priv;
_insert;
inst_sync;
_iswctype;
klpd_create;
klpd_getpath;
klpd_getport;
klpd_getucred;
klpd_register;
klpd_register_id;
klpd_unregister;
klpd_unregister_id;
_lgrp_home_fast { FLAGS = NODYNSORT };
_lgrpsys;
_lltostr;
_lock_clear;
_lock_try;
_ltzset;
lwp_self;
makeut;
makeutx;
_mbftowc;
mcfiller;
mntopt;
modctl;
modutx;
msgctl64;
__multi_innetgr;
_mutex_destroy { FLAGS = NODYNSORT };
mutex_enter;
mutex_exit;
mutex_held;
_mutex_init { FLAGS = NODYNSORT };
_mutex_unlock { FLAGS = NODYNSORT };
name_to_attr;
nfs_getfh;
nfssvc;
_nfssys;
__nis_get_environment;
_nss_db_state_destr;
nss_default_key2str;
nss_delete;
nss_endent;
nss_getent;
_nss_initf_group;
_nss_initf_netgroup;
_nss_initf_passwd;
_nss_initf_shadow;
nss_packed_arg_init;
nss_packed_context_init;
nss_packed_getkey;
nss_packed_set_status;
nss_search;
nss_setent;
_nss_XbyY_fgets;
_nss_XbyY_fini;
__nsw_extended_action_v1;
__nsw_freeconfig_v1;
__nsw_getconfig_v1;
__nthreads;
__openattrdirat;
option_to_attr;
__priv_bracket;
__priv_relinquish;
psecflags;
pset_assign_forced;
pset_bind_lwp;
_psignal;
pthread_attr_getdaemonstate_np;
pthread_attr_setdaemonstate_np;
_pthread_setcleanupinit;
__putwchar_xpg5;
__putwc_xpg5;
rctlctl;
rctllist;
_realbufend;
_resume;
_resume_ret;
_rpcsys;
_sbrk_grow_aligned;
scrwidth;
secflag_by_name;
secflag_clear;
secflags_copy;
secflags_difference;
secflags_fullset;
secflags_intersection;
secflags_isempty;
secflag_isset;
secflags_issubset;
secflags_issuperset;
secflag_set;
secflag_to_bit;
secflag_to_str;
secflags_union;
psecflags_validate_delta;
secflags_zero;
psecflags_default;
secflags_parse;
secflags_to_str;
psecflags_validate;
semctl64;
_semctl64;
set_setcontext_enforcement;
_setbufend;
__set_errno;
setprojrctl;
_setregid;
_setreuid;
setsigacthandler;
shmctl64;
_shmctl64;
sigflag;
_signal;
_sigoff;
_sigon;
_so_accept;
_so_bind;
_sockconfig;
_so_connect;
_so_getpeername;
_so_getsockname;
_so_getsockopt;
_so_listen;
_so_recv;
_so_recvfrom;
_so_recvmsg;
_so_send;
_so_sendmsg;
_so_sendto;
_so_setsockopt;
_so_shutdown;
_so_socket;
_so_socketpair;
str2group;
str2passwd;
str2spwd;
__strptime_dontzero;
stty;
syscall;
_sysconfig;
__systemcall;
thr_continue_allmutators;
_thr_continue_allmutators;
thr_continue_mutator;
_thr_continue_mutator;
thr_getstate;
_thr_getstate;
thr_mutators_barrier;
_thr_mutators_barrier;
thr_probe_setup;
_thr_schedctl;
thr_setmutator;
_thr_setmutator;
thr_setstate;
_thr_setstate;
thr_sighndlrinfo;
_thr_sighndlrinfo;
_thr_slot_offset;
thr_suspend_allmutators;
_thr_suspend_allmutators;
thr_suspend_mutator;
_thr_suspend_mutator;
thr_wait_mutator;
_thr_wait_mutator;
__tls_get_addr;
_tmem_get_base;
_tmem_get_nentries;
_tmem_set_cleanup;
tpool_create;
tpool_dispatch;
tpool_destroy;
tpool_wait;
tpool_suspend;
tpool_suspended;
tpool_resume;
tpool_member;
_ttyname_dev;
_ucred_alloc;
ucred_getamask;
_ucred_getamask;
ucred_getasid;
_ucred_getasid;
ucred_getatid;
_ucred_getatid;
ucred_getauid;
_ucred_getauid;
_ulltostr;
_uncached_getgrgid_r;
_uncached_getgrnam_r;
_uncached_getpwnam_r;
_uncached_getpwuid_r;
__ungetwc_xpg5;
_unordered;
utssys;
_verrfp;
_verrxfp;
_vwarnfp;
_vwarnxfp;
_warnfp;
_warnxfp;
__wcsftime_xpg5;
__wcstok_xpg5;
wdbindf;
wdchkind;
wddelim;
_wrtchk;
_xflsbuf;
_xgetwidth;
zone_add_datalink;
zone_boot;
zone_check_datalink;
zone_create;
zone_destroy;
zone_enter;
zone_getattr;
zone_get_id;
zone_list;
zone_list_datalink;
zonept;
zone_remove_datalink;
zone_setattr;
zone_shutdown;
zone_version;
$if _ELF32
__divdi3;
_file_set;
_fprintf_c89;
_fscanf_c89;
_fwprintf_c89;
_fwscanf_c89;
_imaxabs_c89;
_imaxdiv_c89;
__moddi3;
_printf_c89;
_scanf_c89;
_snprintf_c89;
_sprintf_c89;
_sscanf_c89;
_strtoimax_c89;
_strtoumax_c89;
_swprintf_c89;
_swscanf_c89;
__udivdi3;
__umoddi3;
_vfprintf_c89;
_vfscanf_c89;
_vfwprintf_c89;
_vfwscanf_c89;
_vprintf_c89;
_vscanf_c89;
_vsnprintf_c89;
_vsprintf_c89;
_vsscanf_c89;
_vswprintf_c89;
_vswscanf_c89;
_vwprintf_c89;
_vwscanf_c89;
_wcstoimax_c89;
_wcstoumax_c89;
_wprintf_c89;
_wscanf_c89;
$endif
$if _sparc
_cerror;
install_utrap;
_install_utrap;
nop;
_Q_cplx_div;
_Q_cplx_div_ix;
_Q_cplx_div_rx;
_Q_cplx_lr_div;
_Q_cplx_lr_div_ix;
_Q_cplx_lr_div_rx;
_Q_cplx_lr_mul;
_Q_cplx_mul;
_QgetRD;
_xregs_clrptr;
$endif
$if sparc32
__ashldi3;
__ashrdi3;
_cerror64;
__cmpdi2;
__floatdidf;
__floatdisf;
__floatundidf;
__floatundisf;
__lshrdi3;
__muldi3;
__ucmpdi2;
$endif
$if _x86
_D_cplx_lr_div;
_D_cplx_lr_div_ix;
_D_cplx_lr_div_rx;
_F_cplx_lr_div;
_F_cplx_lr_div_ix;
_F_cplx_lr_div_rx;
__fltrounds;
sysi86;
_sysi86;
_X_cplx_div;
_X_cplx_div_ix;
_X_cplx_div_rx;
_X_cplx_lr_div;
_X_cplx_lr_div_ix;
_X_cplx_lr_div_rx;
_X_cplx_mul;
__xgetRD;
__xtol;
__xtoll;
__xtoul;
__xtoull;
$endif
$if i386
__divrem64;
___tls_get_addr;
__udivrem64;
$endif
# The following functions should not be exported from libc,
# but /lib/libm.so.2, some older versions of the Studio
# compiler/debugger components, and some ancient programs
# found in /usr/dist reference them. When we no longer
# care about these old and broken binary objects, these
# symbols should be deleted.
_brk { FLAGS = NODYNSORT };
_cond_broadcast { FLAGS = NODYNSORT };
_cond_init { FLAGS = NODYNSORT };
_cond_signal { FLAGS = NODYNSORT };
_cond_wait { FLAGS = NODYNSORT };
_ecvt { FLAGS = NODYNSORT };
_fcvt { FLAGS = NODYNSORT };
_getc_unlocked { FLAGS = NODYNSORT };
_llseek { FLAGS = NODYNSORT };
_pthread_attr_getdetachstate { FLAGS = NODYNSORT };
_pthread_attr_getinheritsched { FLAGS = NODYNSORT };
_pthread_attr_getschedparam { FLAGS = NODYNSORT };
_pthread_attr_getschedpolicy { FLAGS = NODYNSORT };
_pthread_attr_getscope { FLAGS = NODYNSORT };
_pthread_attr_getstackaddr { FLAGS = NODYNSORT };
_pthread_attr_getstacksize { FLAGS = NODYNSORT };
_pthread_attr_init { FLAGS = NODYNSORT };
_pthread_condattr_getpshared { FLAGS = NODYNSORT };
_pthread_condattr_init { FLAGS = NODYNSORT };
_pthread_cond_init { FLAGS = NODYNSORT };
_pthread_create { FLAGS = NODYNSORT };
_pthread_getschedparam { FLAGS = NODYNSORT };
_pthread_join { FLAGS = NODYNSORT };
_pthread_key_create { FLAGS = NODYNSORT };
_pthread_mutexattr_getprioceiling { FLAGS = NODYNSORT };
_pthread_mutexattr_getprotocol { FLAGS = NODYNSORT };
_pthread_mutexattr_getpshared { FLAGS = NODYNSORT };
_pthread_mutexattr_init { FLAGS = NODYNSORT };
_pthread_mutex_getprioceiling { FLAGS = NODYNSORT };
_pthread_mutex_init { FLAGS = NODYNSORT };
_pthread_sigmask { FLAGS = NODYNSORT };
_rwlock_init { FLAGS = NODYNSORT };
_rw_rdlock { FLAGS = NODYNSORT };
_rw_unlock { FLAGS = NODYNSORT };
_rw_wrlock { FLAGS = NODYNSORT };
_sbrk_unlocked { FLAGS = NODYNSORT };
_select { FLAGS = NODYNSORT };
_sema_init { FLAGS = NODYNSORT };
_sema_post { FLAGS = NODYNSORT };
_sema_trywait { FLAGS = NODYNSORT };
_sema_wait { FLAGS = NODYNSORT };
_sysfs { FLAGS = NODYNSORT };
_thr_create { FLAGS = NODYNSORT };
_thr_exit { FLAGS = NODYNSORT };
_thr_getprio { FLAGS = NODYNSORT };
_thr_getspecific { FLAGS = NODYNSORT };
_thr_join { FLAGS = NODYNSORT };
_thr_keycreate { FLAGS = NODYNSORT };
_thr_kill { FLAGS = NODYNSORT };
_thr_main { FLAGS = NODYNSORT };
_thr_self { FLAGS = NODYNSORT };
_thr_setspecific { FLAGS = NODYNSORT };
_thr_sigsetmask { FLAGS = NODYNSORT };
_thr_stksegment { FLAGS = NODYNSORT };
_ungetc_unlocked { FLAGS = NODYNSORT };
local:
__imax_lldiv { FLAGS = NODYNSORT };
_ti_thr_self { FLAGS = NODYNSORT };
*;
$if lf64
_seekdir64 { FLAGS = NODYNSORT };
_telldir64 { FLAGS = NODYNSORT };
$endif
$if _sparc
__cerror { FLAGS = NODYNSORT };
$endif
$if sparc32
__cerror64 { FLAGS = NODYNSORT };
$endif
$if sparcv9
__cleanup { FLAGS = NODYNSORT };
$endif
$if i386
_syscall6 { FLAGS = NODYNSORT };
__systemcall6 { FLAGS = NODYNSORT };
$endif
$if amd64
___tls_get_addr { FLAGS = NODYNSORT };
$endif
};