summaryrefslogtreecommitdiff
path: root/usr/src/lib/libc/port/mapfile-vers
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libc/port/mapfile-vers')
-rw-r--r--usr/src/lib/libc/port/mapfile-vers1689
1 files changed, 1495 insertions, 194 deletions
diff --git a/usr/src/lib/libc/port/mapfile-vers b/usr/src/lib/libc/port/mapfile-vers
index 3c65239665..f557f958b6 100644
--- a/usr/src/lib/libc/port/mapfile-vers
+++ b/usr/src/lib/libc/port/mapfile-vers
@@ -19,8 +19,7 @@
# CDDL HEADER END
#
#
-# Copyright 2010 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
+# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
#
#
@@ -37,6 +36,8 @@
# MAPFILE HEADER END
#
+$mapfile_version 2
+
#
# All function names added to this or any other libc mapfile
# must be placed under the 'protected:' designation.
@@ -59,10 +60,46 @@
#
-SUNW_1.23 { # SunOS 5.11 (Solaris 11)
+# 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 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:
addrtosymstr;
aio_cancel;
@@ -195,24 +232,42 @@ SUNW_1.23 { # SunOS 5.11 (Solaris 11)
vwarnx;
warn;
warnx;
+
+$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;
-SUNW_1.22.6 { # s10u9 - SunOS 5.10 (Solaris 10) patch additions
+SYMBOL_VERSION SUNW_1.22.6 { # s10u9 - SunOS 5.10 (Solaris 10) patch additions
+ protected:
futimens;
utimensat;
} SUNW_1.22.5;
-SUNW_1.22.5 { # s10u8 - SunOS 5.10 (Solaris 10) patch additions
+SYMBOL_VERSION SUNW_1.22.5 { # s10u8 - SunOS 5.10 (Solaris 10) patch additions
protected:
getpagesizes2;
} SUNW_1.22.4;
-SUNW_1.22.4 { # s10u7 - SunOS 5.10 (Solaris 10) patch additions
+SYMBOL_VERSION SUNW_1.22.4 { # s10u7 - SunOS 5.10 (Solaris 10) patch additions
protected:
SUNW_1.22.4;
} SUNW_1.22.3;
-SUNW_1.22.3 { # SunOS 5.10 (Solaris 10) patch additions
+SYMBOL_VERSION SUNW_1.22.3 { # SunOS 5.10 (Solaris 10) patch additions
protected:
mutex_consistent;
u8_textprep_str;
@@ -220,25 +275,25 @@ SUNW_1.22.3 { # SunOS 5.10 (Solaris 10) patch additions
uucopystr;
} SUNW_1.22.2;
-SUNW_1.22.2 { # SunOS 5.10 (Solaris 10) patch additions
+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;
-SUNW_1.22.1 { # SunOS 5.10 (Solaris 10) patch additions
+SYMBOL_VERSION SUNW_1.22.1 { # SunOS 5.10 (Solaris 10) patch additions
protected:
atomic_add_8;
atomic_add_8_nv;
- atomic_add_char = NODYNSORT;
- atomic_add_char_nv = NODYNSORT;
- atomic_add_int = NODYNSORT;
- atomic_add_int_nv = NODYNSORT;
- atomic_add_ptr = NODYNSORT;
- atomic_add_ptr_nv = NODYNSORT;
- atomic_add_short = NODYNSORT;
- atomic_add_short_nv = NODYNSORT;
+ 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;
@@ -246,23 +301,23 @@ SUNW_1.22.1 { # SunOS 5.10 (Solaris 10) patch additions
atomic_and_64_nv;
atomic_and_8;
atomic_and_8_nv;
- atomic_and_uchar = NODYNSORT;
- atomic_and_uchar_nv = NODYNSORT;
- atomic_and_uint_nv = NODYNSORT;
- atomic_and_ulong = NODYNSORT;
- atomic_and_ulong_nv = NODYNSORT;
- atomic_and_ushort = NODYNSORT;
- atomic_and_ushort_nv = NODYNSORT;
+ 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 = NODYNSORT;
- atomic_cas_uchar = NODYNSORT;
- atomic_cas_uint = NODYNSORT;
- atomic_cas_ulong = NODYNSORT;
- atomic_cas_ushort = NODYNSORT;
- atomic_clear_long_excl = NODYNSORT;
+ 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;
@@ -271,14 +326,14 @@ SUNW_1.22.1 { # SunOS 5.10 (Solaris 10) patch additions
atomic_dec_64_nv;
atomic_dec_8;
atomic_dec_8_nv;
- atomic_dec_uchar = NODYNSORT;
- atomic_dec_uchar_nv = NODYNSORT;
- atomic_dec_uint = NODYNSORT;
- atomic_dec_uint_nv = NODYNSORT;
- atomic_dec_ulong = NODYNSORT;
- atomic_dec_ulong_nv = NODYNSORT;
- atomic_dec_ushort = NODYNSORT;
- atomic_dec_ushort_nv = NODYNSORT;
+ 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;
@@ -287,14 +342,14 @@ SUNW_1.22.1 { # SunOS 5.10 (Solaris 10) patch additions
atomic_inc_64_nv;
atomic_inc_8;
atomic_inc_8_nv;
- atomic_inc_uchar = NODYNSORT;
- atomic_inc_uchar_nv = NODYNSORT;
- atomic_inc_uint = NODYNSORT;
- atomic_inc_uint_nv = NODYNSORT;
- atomic_inc_ulong = NODYNSORT;
- atomic_inc_ulong_nv = NODYNSORT;
- atomic_inc_ushort = NODYNSORT;
- atomic_inc_ushort_nv = NODYNSORT;
+ 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;
@@ -302,30 +357,104 @@ SUNW_1.22.1 { # SunOS 5.10 (Solaris 10) patch additions
atomic_or_64_nv;
atomic_or_8;
atomic_or_8_nv;
- atomic_or_uchar = NODYNSORT;
- atomic_or_uchar_nv = NODYNSORT;
- atomic_or_uint_nv = NODYNSORT;
- atomic_or_ulong = NODYNSORT;
- atomic_or_ulong_nv = NODYNSORT;
- atomic_or_ushort = NODYNSORT;
- atomic_or_ushort_nv = NODYNSORT;
- atomic_set_long_excl = NODYNSORT;
+ 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 = NODYNSORT;
- atomic_swap_uchar = NODYNSORT;
- atomic_swap_uint = NODYNSORT;
- atomic_swap_ulong = NODYNSORT;
- atomic_swap_ushort = NODYNSORT;
+ 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;
-SUNW_1.22 { # SunOS 5.10 (Solaris 10)
+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;
@@ -335,12 +464,12 @@ SUNW_1.22 { # SunOS 5.10 (Solaris 10)
atomic_add_32_nv;
atomic_add_64;
atomic_add_64_nv;
- atomic_add_long = NODYNSORT;
- atomic_add_long_nv = NODYNSORT;
+ atomic_add_long { FLAGS = NODYNSORT };
+ atomic_add_long_nv { FLAGS = NODYNSORT };
atomic_and_32;
- atomic_and_uint = NODYNSORT;
+ atomic_and_uint { FLAGS = NODYNSORT };
atomic_or_32;
- atomic_or_uint = NODYNSORT;
+ atomic_or_uint { FLAGS = NODYNSORT };
_Exit;
getisax;
_getisax;
@@ -463,9 +592,9 @@ SUNW_1.22 { # SunOS 5.10 (Solaris 10)
pthread_barrier_wait;
pthread_condattr_getclock;
pthread_condattr_setclock;
- pthread_mutexattr_getrobust_np = NODYNSORT;
- pthread_mutexattr_setrobust_np = NODYNSORT;
- pthread_mutex_consistent_np = NODYNSORT;
+ 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;
@@ -533,14 +662,73 @@ SUNW_1.22 { # SunOS 5.10 (Solaris 10)
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;
-SUNW_1.21.3 { # SunOS 5.9 (Solaris 9) patch additions
+SYMBOL_VERSION SUNW_1.21.3 { # SunOS 5.9 (Solaris 9) patch additions
protected:
forkall;
} SUNW_1.21.2;
-SUNW_1.21.2 { # SunOS 5.9 (Solaris 9) patch additions
+SYMBOL_VERSION SUNW_1.21.2 { # SunOS 5.9 (Solaris 9) patch additions
protected:
getustack;
_getustack;
@@ -555,14 +743,19 @@ SUNW_1.21.2 { # SunOS 5.9 (Solaris 9) patch additions
_stack_setbounds;
stack_violation;
_stack_violation;
+
+$if _sparc
+ __makecontext_v2;
+ ___makecontext_v2;
+$endif
} SUNW_1.21.1;
-SUNW_1.21.1 { # SunOS 5.9 (Solaris 9) patch additions
+SYMBOL_VERSION SUNW_1.21.1 { # SunOS 5.9 (Solaris 9) patch additions
protected:
crypt_gensalt;
} SUNW_1.21;
-SUNW_1.21 { # SunOS 5.9 (Solaris 9)
+SYMBOL_VERSION SUNW_1.21 { # SunOS 5.9 (Solaris 9)
protected:
attropen;
_attropen;
@@ -585,7 +778,7 @@ SUNW_1.21 { # SunOS 5.9 (Solaris 9)
getcpuid;
_getcpuid;
gethomelgroup;
- _gethomelgroup = NODYNSORT;
+ _gethomelgroup { FLAGS = NODYNSORT };
getpagesizes;
getrctl;
_getrctl;
@@ -634,15 +827,28 @@ SUNW_1.21 { # SunOS 5.9 (Solaris 9)
_vsscanf;
vswscanf;
vwscanf;
+
+$if _ELF32
+ walkcontext;
+$endif
+
+$if lf64
+ attropen64;
+ _attropen64;
+ fstatat64;
+ _fstatat64;
+ openat64;
+ _openat64;
+$endif
} SUNW_1.20.4;
-SUNW_1.20.4 { # SunOS 5.8 (Solaris 8) patch additions
+SYMBOL_VERSION SUNW_1.20.4 { # SunOS 5.8 (Solaris 8) patch additions
protected:
semtimedop;
_semtimedop;
} SUNW_1.20.1;
-SUNW_1.20.1 { # SunOS 5.8 (Solaris 8) patch additions
+SYMBOL_VERSION SUNW_1.20.1 { # SunOS 5.8 (Solaris 8) patch additions
protected:
getacct;
_getacct;
@@ -666,13 +872,13 @@ SUNW_1.20.1 { # SunOS 5.8 (Solaris 8) patch additions
_wracct;
} SUNW_1.20;
-SUNW_1.20 { # SunOS 5.8 (Solaris 8)
+SYMBOL_VERSION SUNW_1.20 { # SunOS 5.8 (Solaris 8)
protected:
getextmntent;
resetmnttab;
} SUNW_1.19;
-SUNW_1.19 {
+SYMBOL_VERSION SUNW_1.19 {
protected:
strlcat;
strlcpy;
@@ -680,12 +886,12 @@ SUNW_1.19 {
_umount2;
} SUNW_1.18.1;
-SUNW_1.18.1 {
+SYMBOL_VERSION SUNW_1.18.1 {
protected:
__fsetlocking;
} SUNW_1.18;
-SUNW_1.18 { # SunOS 5.7 (Solaris 7)
+SYMBOL_VERSION SUNW_1.18 { # SunOS 5.7 (Solaris 7)
protected:
btowc;
__fbufsize;
@@ -741,93 +947,97 @@ SUNW_1.18 { # SunOS 5.7 (Solaris 7)
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
-SUNW_1.17 {
+SYMBOL_VERSION SUNW_1.17 {
protected:
SUNW_1.17;
} SUNW_1.16;
-SUNW_1.16 {
+SYMBOL_VERSION SUNW_1.16 {
protected:
SUNW_1.16;
} SUNW_1.15;
-SUNW_1.15 {
+SYMBOL_VERSION SUNW_1.15 {
protected:
SUNW_1.15;
} SUNW_1.14;
-SUNW_1.14 {
+SYMBOL_VERSION SUNW_1.14 {
protected:
SUNW_1.14;
} SUNW_1.13;
-SUNW_1.13 {
+SYMBOL_VERSION SUNW_1.13 {
protected:
SUNW_1.13;
} SUNW_1.12;
-SUNW_1.12 {
+SYMBOL_VERSION SUNW_1.12 {
protected:
SUNW_1.12;
} SUNW_1.11;
-SUNW_1.11 {
+SYMBOL_VERSION SUNW_1.11 {
protected:
SUNW_1.11;
} SUNW_1.10;
-SUNW_1.10 {
+SYMBOL_VERSION SUNW_1.10 {
protected:
SUNW_1.10;
} SUNW_1.9;
-SUNW_1.9 {
+SYMBOL_VERSION SUNW_1.9 {
protected:
SUNW_1.9;
} SUNW_1.8;
-SUNW_1.8 {
+SYMBOL_VERSION SUNW_1.8 {
protected:
SUNW_1.8;
} SUNW_1.7;
-SUNW_1.7 {
+SYMBOL_VERSION SUNW_1.7 {
protected:
SUNW_1.7;
} SUNW_1.6;
-SUNW_1.6 {
+SYMBOL_VERSION SUNW_1.6 {
protected:
SUNW_1.6;
} SUNW_1.5;
-SUNW_1.5 {
+SYMBOL_VERSION SUNW_1.5 {
protected:
SUNW_1.5;
} SUNW_1.4;
-SUNW_1.4 {
+SYMBOL_VERSION SUNW_1.4 {
protected:
SUNW_1.4;
} SUNW_1.3;
-SUNW_1.3 {
+SYMBOL_VERSION SUNW_1.3 {
protected:
SUNW_1.3;
} SUNW_1.2;
-SUNW_1.2 {
+SYMBOL_VERSION SUNW_1.2 {
protected:
SUNW_1.2;
} SUNW_1.1;
-SUNW_1.1 { # SunOS 5.6 (Solaris 2.6)
+SYMBOL_VERSION SUNW_1.1 { # SunOS 5.6 (Solaris 2.6)
global:
__loc1;
protected:
@@ -942,8 +1152,8 @@ SUNW_1.1 { # SunOS 5.6 (Solaris 2.6)
regex;
resolvepath;
_resolvepath;
- rwlock_destroy = NODYNSORT;
- _rwlock_destroy = NODYNSORT;
+ rwlock_destroy { FLAGS = NODYNSORT };
+ _rwlock_destroy { FLAGS = NODYNSORT };
sema_destroy;
_sema_destroy;
_setjmp;
@@ -1012,9 +1222,74 @@ SUNW_1.1 { # SunOS 5.6 (Solaris 2.6)
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;
-SUNW_0.9 { # SunOS 5.5 (Solaris 2.5)
+SYMBOL_VERSION SUNW_0.9 { # SunOS 5.5 (Solaris 2.5)
protected:
acl;
bcmp;
@@ -1079,15 +1354,15 @@ SUNW_0.9 { # SunOS 5.5 (Solaris 2.5)
wait4;
} SUNW_0.8;
-SUNW_0.8 { # SunOS 5.4 (Solaris 2.4)
+SYMBOL_VERSION SUNW_0.8 { # SunOS 5.4 (Solaris 2.4)
global:
- __xpg4 = NODIRECT;
+ __xpg4 { FLAGS = NODIRECT };
protected:
addsev;
- cond_broadcast = NODYNSORT;
- cond_destroy = NODYNSORT;
+ cond_broadcast { FLAGS = NODYNSORT };
+ cond_destroy { FLAGS = NODYNSORT };
cond_init;
- cond_signal = NODYNSORT;
+ cond_signal { FLAGS = NODYNSORT };
cond_timedwait;
cond_wait;
confstr;
@@ -1099,24 +1374,24 @@ SUNW_0.8 { # SunOS 5.4 (Solaris 2.4)
iconv_close;
iconv_open;
lfmt;
- mutex_destroy = NODYNSORT;
+ mutex_destroy { FLAGS = NODYNSORT };
mutex_init;
- mutex_lock = NODYNSORT;
- mutex_trylock = NODYNSORT;
- mutex_unlock = NODYNSORT;
+ mutex_lock { FLAGS = NODYNSORT };
+ mutex_trylock { FLAGS = NODYNSORT };
+ mutex_unlock { FLAGS = NODYNSORT };
pfmt;
regcomp;
regerror;
regexec;
regfree;
rwlock_init;
- rw_rdlock = NODYNSORT;
+ rw_rdlock { FLAGS = NODYNSORT };
rw_read_held;
- rw_tryrdlock = NODYNSORT;
- rw_trywrlock = NODYNSORT;
- rw_unlock = NODYNSORT;
+ rw_tryrdlock { FLAGS = NODYNSORT };
+ rw_trywrlock { FLAGS = NODYNSORT };
+ rw_unlock { FLAGS = NODYNSORT };
rw_write_held;
- rw_wrlock = NODYNSORT;
+ rw_wrlock { FLAGS = NODYNSORT };
sema_held;
sema_init;
sema_post;
@@ -1135,7 +1410,7 @@ SUNW_0.8 { # SunOS 5.4 (Solaris 2.4)
thr_join;
thr_keycreate;
thr_kill;
- thr_self = NODYNSORT;
+ thr_self { FLAGS = NODYNSORT };
thr_setconcurrency;
thr_setprio;
thr_setspecific;
@@ -1148,24 +1423,47 @@ SUNW_0.8 { # SunOS 5.4 (Solaris 2.4)
wordfree;
} SUNW_0.7;
-SUNW_0.7 { # SunOS 5.3 (Solaris 2.3)
+SYMBOL_VERSION SUNW_0.7 { # SunOS 5.3 (Solaris 2.3)
global:
altzone;
- isnanf = FUNCTION FILTER libm.so.2;
+ _ctype;
+ isnanf { TYPE = FUNCTION; FILTER = libm.so.2 };
lone;
lten;
lzero;
- memalign = NODIRECT;
- modff = FUNCTION FILTER libm.so.2;
+ memalign { FLAGS = NODIRECT };
+ modff { TYPE = FUNCTION; FILTER = libm.so.2 };
nss_default_finders;
+ _sibuf;
+ _sobuf;
+ _sys_buslist;
+ _sys_cldlist;
+ _sys_fpelist;
_sys_illlist;
- valloc = NODIRECT;
+ _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;
@@ -1202,8 +1500,10 @@ SUNW_0.7 { # SunOS 5.3 (Solaris 2.3)
fgetspent;
fgetspent_r;
_filbuf;
+ file_to_decimal;
finite;
- fork1 = NODYNSORT;
+ _flsbuf;
+ fork1 { FLAGS = NODYNSORT };
fpclass;
fpgetmask;
fpgetsticky;
@@ -1286,6 +1586,8 @@ SUNW_0.7 { # SunOS 5.3 (Solaris 2.3)
mlockall;
mrand48;
munlockall;
+ _mutex_held { FLAGS = NODYNSORT };
+ _mutex_lock { FLAGS = NODYNSORT };
nrand48;
_nss_netdb_aliases;
_nss_XbyY_buf_alloc;
@@ -1295,6 +1597,7 @@ SUNW_0.7 { # SunOS 5.3 (Solaris 2.3)
__nsw_getconfig;
openlog;
plock;
+ p_online;
pread;
__priocntl;
__priocntlset;
@@ -1317,6 +1620,8 @@ SUNW_0.7 { # SunOS 5.3 (Solaris 2.3)
realpath;
remque;
_remque;
+ _rw_read_held;
+ _rw_write_held;
seconvert;
seed48;
select;
@@ -1334,6 +1639,7 @@ SUNW_0.7 { # SunOS 5.3 (Solaris 2.3)
sig2str;
sigwait;
single_to_decimal;
+ srand48;
ssignal;
statfs;
str2sig;
@@ -1344,6 +1650,7 @@ SUNW_0.7 { # SunOS 5.3 (Solaris 2.3)
strtoll;
strtoull;
swapctl;
+ _syscall;
sysfs;
syslog;
_syslog;
@@ -1364,22 +1671,827 @@ SUNW_0.7 { # SunOS 5.3 (Solaris 2.3)
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 };
+ 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 _x86
+ memcmp;
+ memcpy;
+ memmove;
+ memset;
+$endif
+
+$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
-SUNWprivate_1.1 {
+SYMBOL_VERSION SUNWprivate_1.1 {
global:
- ___Argv = NODIRECT;
- cfree = NODIRECT;
+ ___Argv { FLAGS = NODIRECT };
+ cfree { FLAGS = NODIRECT };
_cswidth;
__ctype_mask;
- __environ_lock = NODIRECT;
+ __environ_lock { FLAGS = NODIRECT };
__inf_read;
__inf_written;
__i_size;
- _isnanf = FUNCTION FILTER libm.so.2;
+ _isnanf { TYPE = FUNCTION; FILTER = libm.so.2 };
__lc_charmap;
__lc_collate;
__lc_ctype;
@@ -1389,13 +2501,13 @@ SUNWprivate_1.1 {
__lc_numeric;
__lc_time;
__libc_threaded;
- _lib_version = NODIRECT;
- _logb = FUNCTION FILTER libm.so.2;
- _lone = NODYNSORT;
- _lten = NODYNSORT;
- _lzero = NODYNSORT;
+ _lib_version { FLAGS = NODIRECT };
+ _logb { TYPE = FUNCTION; FILTER = libm.so.2 };
+ _lone { FLAGS = NODYNSORT };
+ _lten { FLAGS = NODYNSORT };
+ _lzero { FLAGS = NODYNSORT };
__malloc_lock;
- _modff = FUNCTION FILTER libm.so.2;
+ _modff { TYPE = FUNCTION; FILTER = libm.so.2 };
__nan_read;
__nan_written;
__nis_debug_bind;
@@ -1414,7 +2526,68 @@ SUNWprivate_1.1 {
__trans_lower;
__trans_upper;
_uberdata;
- __xpg6 = NODIRECT;
+ __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 _x86
+ _memcmp;
+ _memcpy;
+ _memmove;
+ _memset;
+$endif
+
+$if i386
+ _sse_hw;
+$endif
+
protected:
acctctl;
allocids;
@@ -1488,8 +2661,8 @@ SUNWprivate_1.1 {
__fnmatch_C;
__fnmatch_sb;
__fnmatch_std;
- _fork1 = NODYNSORT;
- _forkall = NODYNSORT;
+ _fork1 { FLAGS = NODYNSORT };
+ _forkall { FLAGS = NODYNSORT };
_fpclass;
_fpgetmask;
_fpgetround;
@@ -1500,6 +2673,7 @@ SUNWprivate_1.1 {
_fpsetsticky;
__fputwc_xpg5;
__fputws_xpg5;
+ __fseterror_u;
_ftw;
_gcvt;
_getarg;
@@ -1537,7 +2711,7 @@ SUNWprivate_1.1 {
klpd_register_id;
klpd_unregister;
klpd_unregister_id;
- _lgrp_home_fast = NODYNSORT;
+ _lgrp_home_fast { FLAGS = NODYNSORT };
_lgrpsys;
_lltostr;
__localeconv_std;
@@ -1583,10 +2757,10 @@ SUNWprivate_1.1 {
__monetary_init;
msgctl64;
__multi_innetgr;
- _mutex_destroy = NODYNSORT;
+ _mutex_destroy { FLAGS = NODYNSORT };
mutex_held;
- _mutex_init = NODYNSORT;
- _mutex_unlock = NODYNSORT;
+ _mutex_init { FLAGS = NODYNSORT };
+ _mutex_unlock { FLAGS = NODYNSORT };
name_to_attr;
nfs_getfh;
nfssvc;
@@ -1812,69 +2986,196 @@ SUNWprivate_1.1 {
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;
+ __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 = NODYNSORT;
- _cond_broadcast = NODYNSORT;
- _cond_init = NODYNSORT;
- _cond_signal = NODYNSORT;
- _cond_wait = NODYNSORT;
- _ecvt = NODYNSORT;
- _fcvt = NODYNSORT;
- _getc_unlocked = NODYNSORT;
- _llseek = NODYNSORT;
- _pthread_attr_getdetachstate = NODYNSORT;
- _pthread_attr_getinheritsched = NODYNSORT;
- _pthread_attr_getschedparam = NODYNSORT;
- _pthread_attr_getschedpolicy = NODYNSORT;
- _pthread_attr_getscope = NODYNSORT;
- _pthread_attr_getstackaddr = NODYNSORT;
- _pthread_attr_getstacksize = NODYNSORT;
- _pthread_attr_init = NODYNSORT;
- _pthread_condattr_getpshared = NODYNSORT;
- _pthread_condattr_init = NODYNSORT;
- _pthread_cond_init = NODYNSORT;
- _pthread_create = NODYNSORT;
- _pthread_getschedparam = NODYNSORT;
- _pthread_join = NODYNSORT;
- _pthread_key_create = NODYNSORT;
- _pthread_mutexattr_getprioceiling = NODYNSORT;
- _pthread_mutexattr_getprotocol = NODYNSORT;
- _pthread_mutexattr_getpshared = NODYNSORT;
- _pthread_mutexattr_init = NODYNSORT;
- _pthread_mutex_getprioceiling = NODYNSORT;
- _pthread_mutex_init = NODYNSORT;
- _pthread_sigmask = NODYNSORT;
- _rwlock_init = NODYNSORT;
- _rw_rdlock = NODYNSORT;
- _rw_unlock = NODYNSORT;
- _rw_wrlock = NODYNSORT;
- _sbrk_unlocked = NODYNSORT;
- _select = NODYNSORT;
- _sema_init = NODYNSORT;
- _sema_post = NODYNSORT;
- _sema_trywait = NODYNSORT;
- _sema_wait = NODYNSORT;
- _sysfs = NODYNSORT;
- _thr_create = NODYNSORT;
- _thr_exit = NODYNSORT;
- _thr_getprio = NODYNSORT;
- _thr_getspecific = NODYNSORT;
- _thr_join = NODYNSORT;
- _thr_keycreate = NODYNSORT;
- _thr_kill = NODYNSORT;
- _thr_main = NODYNSORT;
- _thr_self = NODYNSORT;
- _thr_setspecific = NODYNSORT;
- _thr_sigsetmask = NODYNSORT;
- _thr_stksegment = NODYNSORT;
- _ungetc_unlocked = NODYNSORT;
+ _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 = NODYNSORT;
- _ti_thr_self = NODYNSORT;
+ __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
};