4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
22 # Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
23 # Copyright 2018 Nexenta Systems, Inc.
24 # Copyright (c) 2012 by Delphix. All rights reserved.
25 # Copyright 2018 Joyent, Inc.
26 # Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
27 # Copyright (c) 2013 Gary Mills
28 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
32 # MAPFILE HEADER START
34 # WARNING: STOP NOW. DO NOT MODIFY THIS FILE.
35 # Object versioning must comply with the rules detailed in
37 # usr/src/lib/README.mapfiles
39 # You should not be making modifications here until you've read the most current
40 # copy of that file. If you need help, contact a gatekeeper for guidance.
48 # All function names added to this or any other libc mapfile
49 # must be placed under the 'protected:' designation.
50 # The 'global:' designation is used *only* for data
51 # items and for the members of the malloc() family.
54 # Mnemonic conditional input identifiers:
56 # - amd64, i386, sparc32, sparcv9: Correspond to ISA subdirectories used to
57 # hold per-platform code. Note however that we use 'sparc32' instead of
58 # 'sparc'. Since '_sparc' is predefined to apply to, all sparc platforms,
59 # naming the 32-bit version 'sparc' would be too likely to cause errors.
74 SYMBOL_VERSION ILLUMOS_0.27 { # memset_s(3C) and set_constraint_handler_s(3C)
79 set_constraint_handler_s;
82 SYMBOL_VERSION ILLUMOS_0.26 { # fts(3) LFS
85 SYMBOL_VERSION ILLUMOS_0.22 { # endian(3C)
107 SYMBOL_VERSION ILLUMOS_0.21 {
112 SYMBOL_VERSION ILLUMOS_0.20 { # C11
145 SYMBOL_VERSION ILLUMOS_0.19 { # flock
150 SYMBOL_VERSION ILLUMOS_0.18 { # signalfd
155 SYMBOL_VERSION ILLUMOS_0.17 { # glob(3C) LFS
157 _glob_ext64 { FLAGS = NODYNSORT };
158 _globfree_ext64 { FLAGS = NODYNSORT };
161 SYMBOL_VERSION ILLUMOS_0.16 { # timerfd
168 SYMBOL_VERSION ILLUMOS_0.15 { # epoll(3C)
177 SYMBOL_VERSION ILLUMOS_0.14 { # strerror_l
182 SYMBOL_VERSION ILLUMOS_0.13 { # eventfd
189 SYMBOL_VERSION ILLUMOS_0.12 { # arc4random and friends
198 SYMBOL_VERSION ILLUMOS_0.11 { # Illumos additions
204 SYMBOL_VERSION ILLUMOS_0.10 { # Illumos additions
208 preadv64 { FLAGS = NODYNSORT };
209 pwritev64 { FLAGS = NODYNSORT };
212 SYMBOL_VERSION ILLUMOS_0.9 {
218 SYMBOL_VERSION ILLUMOS_0.8 { # POSIX 2008 newlocale and friends
300 SYMBOL_VERSION ILLUMOS_0.7 { # Illumos additions
302 _glob_ext { FLAGS = NODYNSORT };
303 _globfree_ext { FLAGS = NODYNSORT };
306 SYMBOL_VERSION ILLUMOS_0.6 { # Illumos additions
308 getloginx { FLAGS = NODYNSORT };
309 getloginx_r { FLAGS = NODYNSORT };
310 __posix_getloginx_r { FLAGS = NODYNSORT };
313 SYMBOL_VERSION ILLUMOS_0.5 { # common C++ ABI exit handlers
319 SYMBOL_VERSION ILLUMOS_0.4 { # Illumos additions
325 mkostemp64 { FLAGS = NODYNSORT };
326 mkostemps64 { FLAGS = NODYNSORT };
329 SYMBOL_VERSION ILLUMOS_0.3 { # Illumos additions
334 SYMBOL_VERSION ILLUMOS_0.2 { # Illumos additions
339 SYMBOL_VERSION ILLUMOS_0.1 { # Illumos additions
344 SYMBOL_VERSION SUNW_1.23 { # SunOS 5.11 (Solaris 11)
350 dl_iterate_phdr { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
352 dl_iterate_phdr { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
354 dl_iterate_phdr { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
356 $error unknown platform
382 backtrace_symbols_fd;
383 canonicalize_file_name;
442 mq_reltimedreceive_np;
457 posix_spawn_file_actions_addclosefrom_np;
458 posix_spawnattr_getsigignore_np;
459 posix_spawnattr_setsigignore_np;
462 pthread_key_create_once_np;
463 pthread_mutexattr_getrobust;
464 pthread_mutexattr_setrobust;
465 pthread_mutex_consistent;
468 sched_get_priority_max;
469 sched_get_priority_min;
471 sched_rr_get_interval;
533 aio_cancel64 { FLAGS = NODYNSORT };
534 aio_error64 { FLAGS = NODYNSORT };
535 aio_fsync64 { FLAGS = NODYNSORT };
536 aio_read64 { FLAGS = NODYNSORT };
537 aioread64 { FLAGS = NODYNSORT };
538 aio_return64 { FLAGS = NODYNSORT };
539 aio_suspend64 { FLAGS = NODYNSORT };
540 aio_waitn64 { FLAGS = NODYNSORT };
541 aio_write64 { FLAGS = NODYNSORT };
542 aiowrite64 { FLAGS = NODYNSORT };
543 lio_listio64 { FLAGS = NODYNSORT };
544 mkstemps64 { FLAGS = NODYNSORT };
545 posix_fadvise64 { FLAGS = NODYNSORT };
546 posix_fallocate64 { FLAGS = NODYNSORT };
549 SYMBOL_VERSION SUNW_1.22.7 { # s10u10 - SunOS 5.10 (Solaris 10) patch additions
554 SYMBOL_VERSION SUNW_1.22.6 { # s10u9 - SunOS 5.10 (Solaris 10) patch additions
560 SYMBOL_VERSION SUNW_1.22.5 { # s10u8 - SunOS 5.10 (Solaris 10) patch additions
565 SYMBOL_VERSION SUNW_1.22.4 { # s10u7 - SunOS 5.10 (Solaris 10) patch additions
570 SYMBOL_VERSION SUNW_1.22.3 { # SunOS 5.10 (Solaris 10) patch additions
578 SYMBOL_VERSION SUNW_1.22.2 { # SunOS 5.10 (Solaris 10) patch additions
581 SYMBOL_VERSION SUNW_1.22.1 { # SunOS 5.10 (Solaris 10) patch additions
585 atomic_add_char { FLAGS = NODYNSORT };
586 atomic_add_char_nv { FLAGS = NODYNSORT };
587 atomic_add_int { FLAGS = NODYNSORT };
588 atomic_add_int_nv { FLAGS = NODYNSORT };
589 atomic_add_ptr { FLAGS = NODYNSORT };
590 atomic_add_ptr_nv { FLAGS = NODYNSORT };
591 atomic_add_short { FLAGS = NODYNSORT };
592 atomic_add_short_nv { FLAGS = NODYNSORT };
600 atomic_and_uchar { FLAGS = NODYNSORT };
601 atomic_and_uchar_nv { FLAGS = NODYNSORT };
602 atomic_and_uint_nv { FLAGS = NODYNSORT };
603 atomic_and_ulong { FLAGS = NODYNSORT };
604 atomic_and_ulong_nv { FLAGS = NODYNSORT };
605 atomic_and_ushort { FLAGS = NODYNSORT };
606 atomic_and_ushort_nv { FLAGS = NODYNSORT };
611 atomic_cas_ptr { FLAGS = NODYNSORT };
612 atomic_cas_uchar { FLAGS = NODYNSORT };
613 atomic_cas_uint { FLAGS = NODYNSORT };
614 atomic_cas_ulong { FLAGS = NODYNSORT };
615 atomic_cas_ushort { FLAGS = NODYNSORT };
616 atomic_clear_long_excl { FLAGS = NODYNSORT };
625 atomic_dec_uchar { FLAGS = NODYNSORT };
626 atomic_dec_uchar_nv { FLAGS = NODYNSORT };
627 atomic_dec_uint { FLAGS = NODYNSORT };
628 atomic_dec_uint_nv { FLAGS = NODYNSORT };
629 atomic_dec_ulong { FLAGS = NODYNSORT };
630 atomic_dec_ulong_nv { FLAGS = NODYNSORT };
631 atomic_dec_ushort { FLAGS = NODYNSORT };
632 atomic_dec_ushort_nv { FLAGS = NODYNSORT };
641 atomic_inc_uchar { FLAGS = NODYNSORT };
642 atomic_inc_uchar_nv { FLAGS = NODYNSORT };
643 atomic_inc_uint { FLAGS = NODYNSORT };
644 atomic_inc_uint_nv { FLAGS = NODYNSORT };
645 atomic_inc_ulong { FLAGS = NODYNSORT };
646 atomic_inc_ulong_nv { FLAGS = NODYNSORT };
647 atomic_inc_ushort { FLAGS = NODYNSORT };
648 atomic_inc_ushort_nv { FLAGS = NODYNSORT };
656 atomic_or_uchar { FLAGS = NODYNSORT };
657 atomic_or_uchar_nv { FLAGS = NODYNSORT };
658 atomic_or_uint_nv { FLAGS = NODYNSORT };
659 atomic_or_ulong { FLAGS = NODYNSORT };
660 atomic_or_ulong_nv { FLAGS = NODYNSORT };
661 atomic_or_ushort { FLAGS = NODYNSORT };
662 atomic_or_ushort_nv { FLAGS = NODYNSORT };
663 atomic_set_long_excl { FLAGS = NODYNSORT };
668 atomic_swap_ptr { FLAGS = NODYNSORT };
669 atomic_swap_uchar { FLAGS = NODYNSORT };
670 atomic_swap_uint { FLAGS = NODYNSORT };
671 atomic_swap_ulong { FLAGS = NODYNSORT };
672 atomic_swap_ushort { FLAGS = NODYNSORT };
679 enable_extended_FILE_stdio;
683 # Note: atomic_[and,dec,inc,or]_64_nv are also defined above. Here,
684 # we add the NODYNSORT attribute to them. On this platform, they are
685 # aliases for the non-_nv versions. If that is changed, these lines
687 atomic_and_64_nv { FLAGS = NODYNSORT };
688 atomic_dec_64_nv { FLAGS = NODYNSORT };
689 atomic_inc_64_nv { FLAGS = NODYNSORT };
690 atomic_or_64_nv { FLAGS = NODYNSORT };
693 # Note: atomic_OP_WIDTH_nv symbols are also defined above. Here,
694 # we add the NODYNSORT attribute to them. On this platform, they are
695 # aliases for the non-_nv versions. If that is changed, these lines
697 atomic_add_8_nv { FLAGS = NODYNSORT };
698 atomic_and_8_nv { FLAGS = NODYNSORT };
699 atomic_and_16_nv { FLAGS = NODYNSORT };
700 atomic_and_32_nv { FLAGS = NODYNSORT };
701 atomic_and_64_nv { FLAGS = NODYNSORT };
702 atomic_dec_8_nv { FLAGS = NODYNSORT };
703 atomic_dec_16_nv { FLAGS = NODYNSORT };
704 atomic_dec_32_nv { FLAGS = NODYNSORT };
705 atomic_dec_64_nv { FLAGS = NODYNSORT };
706 atomic_inc_8_nv { FLAGS = NODYNSORT };
707 atomic_inc_16_nv { FLAGS = NODYNSORT };
708 atomic_inc_32_nv { FLAGS = NODYNSORT };
709 atomic_inc_64_nv { FLAGS = NODYNSORT };
710 atomic_or_8_nv { FLAGS = NODYNSORT };
711 atomic_or_16_nv { FLAGS = NODYNSORT };
712 atomic_or_32_nv { FLAGS = NODYNSORT };
713 atomic_or_64_nv { FLAGS = NODYNSORT };
717 SYMBOL_VERSION SUNW_1.22 { # SunOS 5.10 (Solaris 10)
720 dladdr { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
721 dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
722 dlclose { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
723 dldump { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
724 dlerror { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
725 dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
726 dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
727 dlopen { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
728 dlsym { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
730 dladdr { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
731 dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
732 dlclose { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
733 dldump { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
734 dlerror { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
735 dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
736 dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
737 dlopen { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
738 dlsym { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
740 dladdr { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
741 dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
742 dlamd64getunwind { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
743 dlclose { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
744 dldump { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
745 dlerror { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
746 dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
747 dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
748 dlopen { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
749 dlsym { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
751 $error unknown platform
762 atomic_add_long { FLAGS = NODYNSORT };
763 atomic_add_long_nv { FLAGS = NODYNSORT };
765 atomic_and_uint { FLAGS = NODYNSORT };
767 atomic_or_uint { FLAGS = NODYNSORT };
802 posix_spawnattr_destroy;
803 posix_spawnattr_getflags;
804 posix_spawnattr_getpgroup;
805 posix_spawnattr_getschedparam;
806 posix_spawnattr_getschedpolicy;
807 posix_spawnattr_getsigdefault;
808 posix_spawnattr_getsigmask;
809 posix_spawnattr_init;
810 posix_spawnattr_setflags;
811 posix_spawnattr_setpgroup;
812 posix_spawnattr_setschedparam;
813 posix_spawnattr_setschedpolicy;
814 posix_spawnattr_setsigdefault;
815 posix_spawnattr_setsigmask;
816 posix_spawn_file_actions_addclose;
817 posix_spawn_file_actions_adddup2;
818 posix_spawn_file_actions_addopen;
819 posix_spawn_file_actions_destroy;
820 posix_spawn_file_actions_init;
879 pthread_attr_getstack;
880 pthread_attr_setstack;
881 pthread_barrierattr_destroy;
882 pthread_barrierattr_getpshared;
883 pthread_barrierattr_init;
884 pthread_barrierattr_setpshared;
885 pthread_barrier_destroy;
886 pthread_barrier_init;
887 pthread_barrier_wait;
888 pthread_condattr_getclock;
889 pthread_condattr_setclock;
890 pthread_mutexattr_getrobust_np { FLAGS = NODYNSORT };
891 pthread_mutexattr_setrobust_np { FLAGS = NODYNSORT };
892 pthread_mutex_consistent_np { FLAGS = NODYNSORT };
893 pthread_mutex_reltimedlock_np;
894 pthread_mutex_timedlock;
895 pthread_rwlock_reltimedrdlock_np;
896 pthread_rwlock_reltimedwrlock_np;
897 pthread_rwlock_timedrdlock;
898 pthread_rwlock_timedwrlock;
899 pthread_setschedprio;
900 pthread_spin_destroy;
903 pthread_spin_trylock;
905 rctlblk_set_recipient_pid;
960 alphasort64 { FLAGS = NODYNSORT };
961 pselect_large_fdset { FLAGS = NODYNSORT };
962 scandir64 { FLAGS = NODYNSORT };
969 # Note: atomic_add_[16,32,64]_nv are also defined above. Here, we add
970 # the NODYNSORT attribute to them. On this platform, they are aliases
971 # for the non-_nv versions. If that is changed, these lines should be
973 atomic_add_16_nv { FLAGS = NODYNSORT };
974 atomic_add_32_nv { FLAGS = NODYNSORT };
975 atomic_add_64_nv { FLAGS = NODYNSORT };
979 # Note: atomic_add_64_nv is also defined above. Here, we add the
980 # NODYNSORT attribute to it. On this platform, it is an aliases for
981 # atomic_add_64. If that is changed, this line should be removed.
982 atomic_add_64_nv { FLAGS = NODYNSORT };
986 # Exception unwind APIs required by the amd64 ABI
987 _SUNW_Unwind_DeleteException;
988 _SUNW_Unwind_ForcedUnwind;
992 _SUNW_Unwind_GetLanguageSpecificData;
993 _SUNW_Unwind_GetRegionStart;
994 _SUNW_Unwind_RaiseException;
1002 _Unwind_DeleteException;
1003 _Unwind_ForcedUnwind;
1007 _Unwind_GetLanguageSpecificData;
1008 _Unwind_GetRegionStart;
1009 _Unwind_RaiseException;
1016 SYMBOL_VERSION SUNW_1.21.3 { # SunOS 5.9 (Solaris 9) patch additions
1021 SYMBOL_VERSION SUNW_1.21.2 { # SunOS 5.9 (Solaris 9) patch additions
1043 SYMBOL_VERSION SUNW_1.21.1 { # SunOS 5.9 (Solaris 9) patch additions
1048 SYMBOL_VERSION SUNW_1.21 { # SunOS 5.9 (Solaris 9)
1051 bind_textdomain_codeset;
1065 fstatat_new { FLAGS = NODYNSORT };
1066 fstat_new { FLAGS = NODYNSORT };
1067 lstat_new { FLAGS = NODYNSORT };
1068 stat_new { FLAGS = NODYNSORT };
1075 _gethomelgroup { FLAGS = NODYNSORT };
1081 _lwp_cond_reltimedwait;
1093 pthread_cond_reltimedwait_np;
1094 rctlblk_get_enforced_value;
1095 rctlblk_get_firing_time;
1096 rctlblk_get_global_action;
1097 rctlblk_get_global_flags;
1098 rctlblk_get_local_action;
1099 rctlblk_get_local_flags;
1100 rctlblk_get_privilege;
1101 rctlblk_get_recipient_pid;
1103 rctlblk_set_local_action;
1104 rctlblk_set_local_flags;
1105 rctlblk_set_privilege;
1128 attropen64 { FLAGS = NODYNSORT };
1129 openat64 { FLAGS = NODYNSORT };
1132 SYMBOL_VERSION SUNW_1.20.4 { # SunOS 5.8 (Solaris 8) patch additions
1138 SYMBOL_VERSION SUNW_1.20.1 { # SunOS 5.8 (Solaris 8) patch additions
1162 SYMBOL_VERSION SUNW_1.20 { # SunOS 5.8 (Solaris 8)
1168 SYMBOL_VERSION SUNW_1.19 {
1176 SYMBOL_VERSION SUNW_1.18.1 {
1181 SYMBOL_VERSION SUNW_1.18 { # SunOS 5.7 (Solaris 7)
1205 pthread_attr_getguardsize;
1206 pthread_attr_setguardsize;
1207 pthread_getconcurrency;
1208 pthread_mutexattr_gettype;
1209 pthread_mutexattr_settype;
1210 pthread_rwlockattr_destroy;
1211 pthread_rwlockattr_getpshared;
1212 pthread_rwlockattr_init;
1213 pthread_rwlockattr_setpshared;
1214 pthread_rwlock_destroy;
1215 pthread_rwlock_init;
1216 pthread_rwlock_rdlock;
1217 pthread_rwlock_tryrdlock;
1218 pthread_rwlock_trywrlock;
1219 pthread_rwlock_unlock;
1220 pthread_rwlock_wrlock;
1221 pthread_setconcurrency;
1245 # The empty versions SUNW_1.2 through SUNW_1.17 must be preserved because
1246 # applications built on Solaris 2.6 Beta (when they did contain symbols)
1247 # may depend on them. All symbol content for SunOS 5.6 is now in SUNW_1.1
1249 SYMBOL_VERSION SUNW_1.17 {
1254 SYMBOL_VERSION SUNW_1.16 {
1259 SYMBOL_VERSION SUNW_1.15 {
1264 SYMBOL_VERSION SUNW_1.14 {
1269 SYMBOL_VERSION SUNW_1.13 {
1274 SYMBOL_VERSION SUNW_1.12 {
1279 SYMBOL_VERSION SUNW_1.11 {
1284 SYMBOL_VERSION SUNW_1.10 {
1289 SYMBOL_VERSION SUNW_1.9 {
1294 SYMBOL_VERSION SUNW_1.8 {
1299 SYMBOL_VERSION SUNW_1.7 {
1304 SYMBOL_VERSION SUNW_1.6 {
1309 SYMBOL_VERSION SUNW_1.5 {
1314 SYMBOL_VERSION SUNW_1.4 {
1319 SYMBOL_VERSION SUNW_1.3 {
1324 SYMBOL_VERSION SUNW_1.2 {
1329 SYMBOL_VERSION SUNW_1.1 { # SunOS 5.6 (Solaris 2.6)
1400 pthread_attr_destroy;
1401 pthread_attr_getdetachstate;
1402 pthread_attr_getinheritsched;
1403 pthread_attr_getschedparam;
1404 pthread_attr_getschedpolicy;
1405 pthread_attr_getscope;
1406 pthread_attr_getstackaddr;
1407 pthread_attr_getstacksize;
1409 pthread_attr_setdetachstate;
1410 pthread_attr_setinheritsched;
1411 pthread_attr_setschedparam;
1412 pthread_attr_setschedpolicy;
1413 pthread_attr_setscope;
1414 pthread_attr_setstackaddr;
1415 pthread_attr_setstacksize;
1417 __pthread_cleanup_pop;
1418 __pthread_cleanup_push;
1423 pthread_getschedparam;
1424 pthread_getspecific;
1431 pthread_setcancelstate;
1432 pthread_setcanceltype;
1433 pthread_setschedparam;
1434 pthread_setspecific;
1444 rwlock_destroy { FLAGS = NODYNSORT };
1445 _rwlock_destroy { FLAGS = NODYNSORT };
1454 sync_instruction_memory;
1517 _s_fcntl { FLAGS = NODYNSORT };
1521 creat64 { FLAGS = NODYNSORT };
1522 fgetpos64 { FLAGS = NODYNSORT };
1523 fopen64 { FLAGS = NODYNSORT };
1524 freopen64 { FLAGS = NODYNSORT };
1525 fseeko64 { FLAGS = NODYNSORT };
1526 fsetpos64 { FLAGS = NODYNSORT };
1527 fstatvfs64 { FLAGS = NODYNSORT };
1528 ftello64 { FLAGS = NODYNSORT };
1529 ftruncate64 { FLAGS = NODYNSORT };
1530 ftw64 { FLAGS = NODYNSORT };
1531 getdents64 { FLAGS = NODYNSORT };
1532 getrlimit64 { FLAGS = NODYNSORT };
1533 lockf64 { FLAGS = NODYNSORT };
1534 lseek64 { FLAGS = NODYNSORT };
1535 mkstemp64 { FLAGS = NODYNSORT };
1536 mmap64 { FLAGS = NODYNSORT };
1537 nftw64 { FLAGS = NODYNSORT };
1538 open64 { FLAGS = NODYNSORT };
1539 pread64 { FLAGS = NODYNSORT };
1540 pwrite64 { FLAGS = NODYNSORT };
1541 readdir64 { FLAGS = NODYNSORT };
1542 readdir64_r { FLAGS = NODYNSORT };
1543 setrlimit64 { FLAGS = NODYNSORT };
1544 statvfs64 { FLAGS = NODYNSORT };
1545 tell64 { FLAGS = NODYNSORT };
1546 tmpfile64 { FLAGS = NODYNSORT };
1547 truncate64 { FLAGS = NODYNSORT };
1554 SYMBOL_VERSION SUNW_0.9 { # SunOS 5.5 (Solaris 2.5)
1573 pthread_condattr_destroy;
1574 pthread_condattr_getpshared;
1575 pthread_condattr_init;
1576 pthread_condattr_setpshared;
1577 pthread_cond_broadcast;
1578 pthread_cond_destroy;
1580 pthread_cond_signal;
1581 pthread_cond_timedwait;
1583 pthread_mutexattr_destroy;
1584 pthread_mutexattr_getprioceiling;
1585 pthread_mutexattr_getprotocol;
1586 pthread_mutexattr_getpshared;
1587 pthread_mutexattr_init;
1588 pthread_mutexattr_setprioceiling;
1589 pthread_mutexattr_setprotocol;
1590 pthread_mutexattr_setpshared;
1591 pthread_mutex_destroy;
1592 pthread_mutex_getprioceiling;
1595 pthread_mutex_setprioceiling;
1596 pthread_mutex_trylock;
1597 pthread_mutex_unlock;
1619 SYMBOL_VERSION SUNW_0.8 { # SunOS 5.4 (Solaris 2.4)
1621 __xpg4 { FLAGS = NODIRECT };
1624 cond_broadcast { FLAGS = NODYNSORT };
1625 cond_destroy { FLAGS = NODYNSORT };
1627 cond_signal { FLAGS = NODYNSORT };
1639 mutex_destroy { FLAGS = NODYNSORT };
1641 mutex_lock { FLAGS = NODYNSORT };
1642 mutex_trylock { FLAGS = NODYNSORT };
1643 mutex_unlock { FLAGS = NODYNSORT };
1650 rw_rdlock { FLAGS = NODYNSORT };
1652 rw_tryrdlock { FLAGS = NODYNSORT };
1653 rw_trywrlock { FLAGS = NODYNSORT };
1654 rw_unlock { FLAGS = NODYNSORT };
1656 rw_wrlock { FLAGS = NODYNSORT };
1675 thr_self { FLAGS = NODYNSORT };
1686 SYMBOL_VERSION SUNW_0.7 { # SunOS 5.3 (Solaris 2.3)
1690 isnanf { TYPE = FUNCTION; FILTER = libm.so.2 };
1694 memalign { FLAGS = NODIRECT };
1695 modff { TYPE = FUNCTION; FILTER = libm.so.2 };
1696 nss_default_finders;
1709 valloc { FLAGS = NODIRECT };
1740 decimal_to_extended;
1741 decimal_to_quadruple;
1755 extended_to_decimal;
1766 fork1 { FLAGS = NODYNSORT };
1817 llseek { FLAGS = NODYNSORT };
1823 _lwp_cond_broadcast;
1825 _lwp_cond_timedwait;
1847 _mutex_held { FLAGS = NODYNSORT };
1848 _mutex_lock { FLAGS = NODYNSORT };
1851 _nss_XbyY_buf_alloc;
1853 __nsw_extended_action;
1877 quadruple_to_decimal;
1934 # Note: _syscall is also defined above. Here, we add the NODYNSORT
1935 # attribute to it. On this platform, it is an alias to syscall.
1936 # If that is changed, this lines should be removed.
1937 _syscall { FLAGS = NODYNSORT };
1940 # The 32-bit sparc ABI requires SISCD_2.3. On other platforms, those symbols
1941 # go directly into SUNW_0.7.
1945 SYMBOL_VERSION SISCD_2.3 {
1949 errno { FLAGS = NODIRECT };
2015 __umul64 { FLAGS = NODYNSORT }; # Same address as __mul64
2018 # On 32-bit platforms, the following symbols go into SYSVABI_1.3, but on
2019 # other platforms they go directly into the current version (which will be
2020 # either SUNW_0.7, or SISCD_2.3, depending on the similar issue described above.
2024 SYMBOL_VERSION SYSVABI_1.3 {
2029 calloc { FLAGS = NODIRECT };
2033 environ { FLAGS = NODIRECT };
2034 _environ { FLAGS = NODIRECT };
2035 free { FLAGS = NODIRECT };
2036 frexp { TYPE = FUNCTION; FILTER = libm.so.2 };
2043 isnan { TYPE = FUNCTION; FILTER = libm.so.2 };
2044 _isnan { TYPE = FUNCTION; FILTER = libm.so.2 };
2045 isnand { TYPE = FUNCTION; FILTER = libm.so.2 };
2046 _isnand { TYPE = FUNCTION; FILTER = libm.so.2 };
2047 ldexp { TYPE = FUNCTION; FILTER = libm.so.2 };
2048 logb { TYPE = FUNCTION; FILTER = libm.so.2 };
2049 malloc { FLAGS = NODIRECT };
2054 modf { TYPE = FUNCTION; FILTER = libm.so.2 };
2055 _modf { TYPE = FUNCTION; FILTER = libm.so.2 };
2056 nextafter { TYPE = FUNCTION; FILTER = libm.so.2 };
2057 _nextafter { TYPE = FUNCTION; FILTER = libm.so.2 };
2063 realloc { FLAGS = NODIRECT };
2064 scalb { TYPE = FUNCTION; FILTER = libm.so.2 };
2065 _scalb { TYPE = FUNCTION; FILTER = libm.so.2 };
2382 _setcontext { FLAGS = NODYNSORT };
2409 _sigaction { FLAGS = NODYNSORT };
2443 _sigsetjmp { FLAGS = NODYNSORT };
2580 # .stret4 and .stret8 are the same thing
2581 .stret8 { FLAGS = NODYNSORT };
2610 # __align_cpy_1 is an alias for memcpy. Filter it out of
2611 # the .SUNW_dynsymsort section
2612 __align_cpy_1 { FLAGS = NODYNSORT };
2616 # __align_cpy_8 is same as __align_cpy_16
2617 __align_cpy_8 { FLAGS = NODYNSORT };
2646 __sparc_utrap_install;
2649 # On amd64, we also have SYSVABI_1.3, but it contains a small subset of
2650 # the symbols put in that version on other platforms.
2654 SYMBOL_VERSION SYSVABI_1.3 {
2680 # There should never be more than one SUNWprivate version.
2681 # Don't add any more. Add new private symbols to SUNWprivate_1.1
2683 SYMBOL_VERSION SUNWprivate_1.1 {
2685 ___Argv { FLAGS = NODIRECT };
2686 cfree { FLAGS = NODIRECT };
2689 __environ_lock { FLAGS = NODIRECT };
2693 _isnanf { TYPE = FUNCTION; FILTER = libm.so.2 };
2696 _lib_version { FLAGS = NODIRECT };
2697 _logb { TYPE = FUNCTION; FILTER = libm.so.2 };
2698 _lone { FLAGS = NODYNSORT };
2699 _lten { FLAGS = NODYNSORT };
2700 _lzero { FLAGS = NODYNSORT };
2703 _memcpy { FLAGS = NODYNSORT };
2706 _modff { TYPE = FUNCTION; FILTER = libm.so.2 };
2717 _nss_default_finders;
2718 __progname { FLAGS = NODIRECT };
2721 __strdupa_str { FLAGS = NODIRECT };
2722 __strdupa_len { FLAGS = NODIRECT };
2724 thr_probe_getfunc_addr;
2728 __xpg6 { FLAGS = NODIRECT };
2730 # FIXME: these data symbols originally from libnsl are marked private
2731 # (at least) until we get a name for our OS
2734 h_errno { FLAGS = NODIRECT };
2741 __key_decryptsession_pk_LOCAL;
2742 __key_encryptsession_pk_LOCAL;
2749 _svc_getreqset_proc;
2756 _dladdr { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2757 _dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2758 _dlclose { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2759 _dldump { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2760 _dlerror { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2761 _dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2762 _dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2763 _dlopen { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2764 _dlsym { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2765 _ld_libc { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2769 _sys_nerr { FLAGS = NODYNSORT };
2772 _dladdr { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2773 _dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2774 _dlclose { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2775 _dldump { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2776 _dlerror { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2777 _dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2778 _dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2779 _dlopen { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2780 _dlsym { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2781 _ld_libc { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2783 _dladdr { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2784 _dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2785 _dlamd64getunwind { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2786 _dlclose { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2787 _dldump { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2788 _dlerror { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2789 _dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2790 _dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2791 _dlopen { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2792 _dlsym { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2793 _ld_libc { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2795 $error unknown platform
2821 core_get_default_content;
2822 core_get_default_path;
2823 core_get_global_content;
2824 core_get_global_path;
2826 core_get_process_content;
2827 core_get_process_path;
2828 core_set_default_content;
2829 core_set_default_path;
2830 core_set_global_content;
2831 core_set_global_path;
2833 core_set_process_content;
2834 core_set_process_path;
2874 _get_exit_frame_monitor;
2881 __idmap_flush_kcache;
2897 _lgrp_home_fast { FLAGS = NODYNSORT };
2913 _mutex_destroy { FLAGS = NODYNSORT };
2917 _mutex_init { FLAGS = NODYNSORT };
2918 _mutex_unlock { FLAGS = NODYNSORT };
2923 __nis_get_environment;
2924 _nss_db_state_destr;
2925 nss_default_key2str;
2930 _nss_initf_netgroup;
2933 nss_packed_arg_init;
2934 nss_packed_context_init;
2936 nss_packed_set_status;
2941 __nsw_extended_action_v1;
2942 __nsw_freeconfig_v1;
2953 pthread_attr_getdaemonstate_np;
2954 pthread_attr_setdaemonstate_np;
2955 _pthread_setcleanupinit;
2967 secflags_difference;
2969 secflags_intersection;
2973 secflags_issuperset;
2978 psecflags_validate_delta;
2986 set_setcontext_enforcement;
3020 __strptime_dontzero;
3024 thr_continue_allmutators;
3025 _thr_continue_allmutators;
3026 thr_continue_mutator;
3027 _thr_continue_mutator;
3030 thr_mutators_barrier;
3031 _thr_mutators_barrier;
3041 thr_suspend_allmutators;
3042 _thr_suspend_allmutators;
3043 thr_suspend_mutator;
3044 _thr_suspend_mutator;
3062 _uncached_getgrgid_r;
3063 _uncached_getgrnam_r;
3064 _uncached_getpwnam_r;
3065 _uncached_getpwuid_r;
3068 __wcsftime_xpg5 { FLAGS = NODYNSORT };
3069 __wcstok_xpg5 { FLAGS = NODYNSORT };
3078 zone_check_datalink;
3087 zone_remove_datalink;
3167 # The following functions should not be exported from libc,
3168 # but /lib/libm.so.2, some older versions of the Studio
3169 # compiler/debugger components, and some ancient programs
3170 # found in /usr/dist reference them. When we no longer
3171 # care about these old and broken binary objects, these
3172 # symbols should be deleted.
3173 _brk { FLAGS = NODYNSORT };
3174 _cond_broadcast { FLAGS = NODYNSORT };
3175 _cond_init { FLAGS = NODYNSORT };
3176 _cond_signal { FLAGS = NODYNSORT };
3177 _cond_wait { FLAGS = NODYNSORT };
3178 _ecvt { FLAGS = NODYNSORT };
3179 _fcvt { FLAGS = NODYNSORT };
3180 _getc_unlocked { FLAGS = NODYNSORT };
3181 _pthread_attr_getdetachstate { FLAGS = NODYNSORT };
3182 _pthread_attr_getinheritsched { FLAGS = NODYNSORT };
3183 _pthread_attr_getschedparam { FLAGS = NODYNSORT };
3184 _pthread_attr_getschedpolicy { FLAGS = NODYNSORT };
3185 _pthread_attr_getscope { FLAGS = NODYNSORT };
3186 _pthread_attr_getstackaddr { FLAGS = NODYNSORT };
3187 _pthread_attr_getstacksize { FLAGS = NODYNSORT };
3188 _pthread_attr_init { FLAGS = NODYNSORT };
3189 _pthread_condattr_getpshared { FLAGS = NODYNSORT };
3190 _pthread_condattr_init { FLAGS = NODYNSORT };
3191 _pthread_cond_init { FLAGS = NODYNSORT };
3192 _pthread_create { FLAGS = NODYNSORT };
3193 _pthread_getschedparam { FLAGS = NODYNSORT };
3194 _pthread_join { FLAGS = NODYNSORT };
3195 _pthread_key_create { FLAGS = NODYNSORT };
3196 _pthread_mutexattr_getprioceiling { FLAGS = NODYNSORT };
3197 _pthread_mutexattr_getprotocol { FLAGS = NODYNSORT };
3198 _pthread_mutexattr_getpshared { FLAGS = NODYNSORT };
3199 _pthread_mutexattr_init { FLAGS = NODYNSORT };
3200 _pthread_mutex_getprioceiling { FLAGS = NODYNSORT };
3201 _pthread_mutex_init { FLAGS = NODYNSORT };
3202 _pthread_sigmask { FLAGS = NODYNSORT };
3203 _rwlock_init { FLAGS = NODYNSORT };
3204 _rw_rdlock { FLAGS = NODYNSORT };
3205 _rw_unlock { FLAGS = NODYNSORT };
3206 _rw_wrlock { FLAGS = NODYNSORT };
3207 _sbrk_unlocked { FLAGS = NODYNSORT };
3208 _select { FLAGS = NODYNSORT };
3209 _sema_init { FLAGS = NODYNSORT };
3210 _sema_post { FLAGS = NODYNSORT };
3211 _sema_trywait { FLAGS = NODYNSORT };
3212 _sema_wait { FLAGS = NODYNSORT };
3213 _sysfs { FLAGS = NODYNSORT };
3214 _thr_create { FLAGS = NODYNSORT };
3215 _thr_exit { FLAGS = NODYNSORT };
3216 _thr_getprio { FLAGS = NODYNSORT };
3217 _thr_getspecific { FLAGS = NODYNSORT };
3218 _thr_join { FLAGS = NODYNSORT };
3219 _thr_keycreate { FLAGS = NODYNSORT };
3220 _thr_kill { FLAGS = NODYNSORT };
3221 _thr_main { FLAGS = NODYNSORT };
3222 _thr_self { FLAGS = NODYNSORT };
3223 _thr_setspecific { FLAGS = NODYNSORT };
3224 _thr_sigsetmask { FLAGS = NODYNSORT };
3225 _thr_stksegment { FLAGS = NODYNSORT };
3226 _ungetc_unlocked { FLAGS = NODYNSORT };
3228 # FIXME: pending a name for our OS, these symbols originally from libsocket are
3235 getipv4sourcefilter;
3237 setipv4sourcefilter;
3320 # These were private in libsocket and should stay that way in libc:
3325 _nss_initf_netmasks;
3327 _nss_initf_services;
3337 bootparams_getbyname;
3339 # FIXME: pending a name for our OS, these symbols originally from libnsl are
3345 getipsecprotobyname;
3347 svc_fd_negotiate_ucred;
3366 clnt_create_vers_timed;
3370 rpc_gss_get_mechanisms;
3371 rpc_gss_get_mech_info;
3372 rpc_gss_get_principal_name;
3373 rpc_gss_get_versions;
3374 rpc_gss_is_installed;
3375 rpc_gss_max_data_length;
3376 rpc_gss_mech_to_oid;
3379 rpc_gss_set_callback;
3380 rpc_gss_set_defaults;
3381 rpc_gss_set_svc_name;
3382 rpc_gss_svc_max_data_length;
3412 clnt_tp_create_timed;
3451 key_secretkey_is_set;
3462 nis_local_directory;
3514 yp_get_default_domain;
3532 authsys_create_default;
3662 # These were private in libnsl and should stay that way in libc:
3663 clnt_create_service_timed;
3665 _build_internal_algs;
3668 _create_daemon_lock;
3672 _real_getipsecprotos;
3674 _str_to_ipsec_exec_mode;
3677 key_removesecret_g_ruid;
3678 key_secretkey_is_set_g_ruid;
3703 __nis_netconfig_matches_ep;
3705 __rpc_bindresvport_ipv6;
3714 _switch_getipnodebyaddr_r;
3715 _switch_getipnodebyname_r;
3716 _uncached_getipnodebyaddr;
3717 _uncached_getipnodebyname;
3719 __yp_first_cflookup;
3720 __yp_match_cflookup;
3721 __yp_match_rsvdport_cflookup;
3728 __clnt_create_loopback;
3735 _get_hostserv_inetnetdir_byaddr;
3736 _get_hostserv_inetnetdir_byname;
3738 __getpublickey_cached;
3739 __getpublickey_cached_g;
3740 __getpublickey_flush;
3741 __getpublickey_flush_g;
3746 __inet_address_count;
3747 __inet_free_local_interfaces;
3749 __inet_get_local_interfaces;
3750 __inet_get_networka;
3752 __inet_uaddr_is_local;
3754 key_decryptsession_g;
3755 key_decryptsession_pk;
3756 key_decryptsession_pk_g;
3757 key_encryptsession_g;
3758 key_encryptsession_pk;
3759 key_encryptsession_pk_g;
3764 key_secretkey_is_set_g;
3770 __netdir_getbyaddr_nosrv;
3771 __nis_authtype2mechalias;
3773 __nis_dhext_extract_pkey;
3774 __nis_get_mechanism_library;
3775 __nis_get_mechanisms;
3776 __nis_get_mechanism_symbol;
3777 nis_get_static_storage;
3778 __nis_gssprin2netname;
3779 __nis_keyalg2authtype;
3780 __nis_keyalg2mechalias;
3781 __nis_mechalias2authtype;
3782 __nis_mechname2alias;
3784 __nis_release_mechanisms;
3786 __nis_translate_mechanism;
3802 __rpc_get_default_domain;
3803 __rpc_get_local_uid;
3806 __rpc_negotiate_uid;
3807 __rpc_select_to_poll;
3809 __rpc_timeval_to_msec;
3810 __rpc_tli_set_options;
3819 __svc_set_proc_cleanup_cb;
3821 __svc_vc_dupcache_init;
3825 _switch_gethostbyaddr_r;
3826 _switch_gethostbyname_r;
3827 _uncached_gethostbyaddr_r;
3828 _uncached_gethostbyname_r;
3876 xdr_rpcb_entry_list_ptr;
3879 xdr_rpcb_rmtcallargs;
3880 xdr_rpcb_rmtcallres;
3882 xdr_rpcbs_addrlist_ptr;
3884 xdr_rpcbs_rmtcalllist;
3885 xdr_rpcbs_rmtcalllist_ptr;
3887 xdr_rpcb_stat_byvers;
3900 xdr_ypbind_resptype;
3904 xdr_ypdomain_wrap_string;
3906 xdr_ypmap_wrap_string;
3907 xdr_ypowner_wrap_string;
3922 ypbindproc_domain_3;
3923 __yp_clnt_create_rsvdport;
3925 __yp_master_rsvdport;
3928 # End libnsl/libsocket symbols
3929 # FIXME: new symbols for our OS, but here pending a name.
3954 # FIXME: new symbols for our OS, but here pending a name.
3955 reallocarray { FLAGS = NODIRECT };
3956 recallocarray { FLAGS = NODIRECT };
3957 freezero { FLAGS = NODIRECT };
3960 __imax_lldiv { FLAGS = NODYNSORT };
3961 _ti_thr_self { FLAGS = NODYNSORT };
3965 __cerror { FLAGS = NODYNSORT };
3969 __cerror64 { FLAGS = NODYNSORT };
3973 __cleanup { FLAGS = NODYNSORT };
3977 _syscall6 { FLAGS = NODYNSORT };
3978 __systemcall6 { FLAGS = NODYNSORT };
3982 ___tls_get_addr { FLAGS = NODYNSORT };