1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21 22# 23# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 24# 25 26# This file provides exceptions to the usual rules applied to shared 27# objects by interface_cmp. All strings are Perl regular expressions 28# that are compared to file, version, and symbol names. In addition 29# to the standard Perl syntax, there is one extension: 30# 31# MACH(dir) 32# 33# is expanded into a regular expression that matches the given 34# directory, or a 64-bit subdirectory of the directory with the 35# name of a 64-bit architecture. For example, MACH(lib) will match 36# any of the following: 37# 38# lib 39# lib/amd64 40# lib/sparcv9 41# 42 43 44## libbsm 45# 46# - Removed interfaces: setauclassfile, setaueventfile setauuserfile testac 47# 4686423 undocumented interfaces are not used 48# - Removed interfaces: auditsvc 49# 6638707 implement the removal of auditsvc(2) as noted in PSARC/2002/665 50# 51DELSYM ^(auditsvc|setauclassfile|setaueventfile|setauuserfile|testac)$ \ 52 ^SUNW_(0\.[7-8]|1\.[1-2])$ \ 53 ^MACH(lib)/libbsm\.so\.1$ 54 55 56## libmalloc / libmapmalloc 57# 58# - Objects that provide malloc implementations had functions intentionally 59# removed by: 60# 6464344 malloc library cleanup 61# PSARC 2006/477 malloc library cleanup 62# 63DELSYM ^(_cfree|_mallinfo|_mallopt)$ \ 64 ^SUNW_1\.1$ \ 65 ^usr/MACH(lib)/libmalloc\.so\.1$ 66DELSYM ^(mallinfo|mallopt)$ \ 67 ^SUNW_(0\.7|1\.1)$ \ 68 ^usr/MACH(lib)/libmapmalloc\.so\.1$ 69DELSYM ^(_cfree|_?mallinfo|_?mallopt|_memalign|_valloc)$ \ 70 ^SUNW_1\.1$ \ 71 ^usr/MACH(lib)/watchmalloc\.so\.1$ 72 73 74## libc 75# 76# - In Solaris 10, libc version SUNW_1.23 was incorrectly defined. In a 77# subsequent update, those symbols were properly transfered to SUNW_1.22.4. 78# However, SUNW_1.23 had to remain in place as an empty version to satisfy 79# executables already in the field that were bound to it. 80# 6763000 libc versioning needs a little tlc in Solaris 10 81# The following excludes an empty top version SUNW_1.23 from triggering 82# a flood of "added interface" errors. 83# 84EMPTY_TOPVERSION ^SUNW_1\.23$ ^MACH(lib)/libc\.so\.1$ 85EMPTY_TOPVERSION ^SUNW_1\.23$ ^usr/lib/libc/libc_hwcap\d+\.so\.1$ 86 87 88## libnsl 89# 90# - The function _inet_aton was removed from libnsl.so.1 as part of 91# 6700179 expunge synonyms.h 92# PSARC 2008/309 expunge synonyms.h 93# - Version SUN_1.10 was vacated when inet_aton was backported into SUNW_1.9.1 94# 4944187 getaddrinfo doesn't convert broadcast address if dns 95# isn't in nsswitch.conf 96# 6747055 Solaris 10 apps using recent version of libnsl.so do 97# not run on Nevada 98# 99DELSYM ^_inet_aton$ ^SUNW_1\.9\.1$ ^MACH(lib)/libnsl\.so\.1$ 100EMPTY_TOPVERSION ^SUNW_1\.10$ ^MACH(lib)/libnsl\.so\.1$ 101 102 103## libnsl 104# 105# The following functions are removed from libnsl.so.1 as part of 106# 6874309 Remove NIS+ from Solaris 107# PSARC 2009/530 Removal of NIS+ 108# 109DELSYM ^nis_add$ \ 110 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 111 ^MACH(lib)/libnsl\.so\.1$ 112DELSYM ^nis_add_entry$ \ 113 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 114 ^MACH(lib)/libnsl\.so\.1$ 115DELSYM ^nis_addmember$ \ 116 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 117 ^MACH(lib)/libnsl\.so\.1$ 118DELSYM ^nis_checkpoint$ \ 119 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 120 ^MACH(lib)/libnsl\.so\.1$ 121DELSYM ^nis_creategroup$ \ 122 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 123 ^MACH(lib)/libnsl\.so\.1$ 124DELSYM ^nis_destroygroup$ \ 125 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 126 ^MACH(lib)/libnsl\.so\.1$ 127DELSYM ^nis_first_entry$ \ 128 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 129 ^MACH(lib)/libnsl\.so\.1$ 130DELSYM ^nis_freenames$ \ 131 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 132 ^MACH(lib)/libnsl\.so\.1$ 133DELSYM ^nis_freeresult$ \ 134 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 135 ^MACH(lib)/libnsl\.so\.1$ 136DELSYM ^nis_freeservlist$ \ 137 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 138 ^MACH(lib)/libnsl\.so\.1$ 139DELSYM ^nis_freetags$ \ 140 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 141 ^MACH(lib)/libnsl\.so\.1$ 142DELSYM ^nis_getnames$ \ 143 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 144 ^MACH(lib)/libnsl\.so\.1$ 145DELSYM ^nis_getservlist$ \ 146 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 147 ^MACH(lib)/libnsl\.so\.1$ 148DELSYM ^nis_ismember$ \ 149 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 150 ^MACH(lib)/libnsl\.so\.1$ 151DELSYM ^nis_lerror$ \ 152 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 153 ^MACH(lib)/libnsl\.so\.1$ 154DELSYM ^nis_list$ \ 155 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 156 ^MACH(lib)/libnsl\.so\.1$ 157DELSYM ^nis_local_principal$ \ 158 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 159 ^MACH(lib)/libnsl\.so\.1$ 160DELSYM ^nis_lookup$ \ 161 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 162 ^MACH(lib)/libnsl\.so\.1$ 163DELSYM ^nis_mkdir$ \ 164 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 165 ^MACH(lib)/libnsl\.so\.1$ 166DELSYM ^nis_modify$ \ 167 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 168 ^MACH(lib)/libnsl\.so\.1$ 169DELSYM ^nis_modify_entry$ \ 170 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 171 ^MACH(lib)/libnsl\.so\.1$ 172DELSYM ^nis_next_entry$ \ 173 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 174 ^MACH(lib)/libnsl\.so\.1$ 175DELSYM ^nis_perror$ \ 176 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 177 ^MACH(lib)/libnsl\.so\.1$ 178DELSYM ^nis_ping$ \ 179 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 180 ^MACH(lib)/libnsl\.so\.1$ 181DELSYM ^nis_print_group_entry$ \ 182 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 183 ^MACH(lib)/libnsl\.so\.1$ 184DELSYM ^nis_print_object$ \ 185 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 186 ^MACH(lib)/libnsl\.so\.1$ 187DELSYM ^nis_remove$ \ 188 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 189 ^MACH(lib)/libnsl\.so\.1$ 190DELSYM ^nis_remove_entry$ \ 191 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 192 ^MACH(lib)/libnsl\.so\.1$ 193DELSYM ^nis_removemember$ \ 194 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 195 ^MACH(lib)/libnsl\.so\.1$ 196DELSYM ^nis_rmdir$ \ 197 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 198 ^MACH(lib)/libnsl\.so\.1$ 199DELSYM ^nis_servstate$ \ 200 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 201 ^MACH(lib)/libnsl\.so\.1$ 202DELSYM ^nis_sperrno$ \ 203 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 204 ^MACH(lib)/libnsl\.so\.1$ 205DELSYM ^nis_sperror$ \ 206 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 207 ^MACH(lib)/libnsl\.so\.1$ 208DELSYM ^nis_sperror_r$ \ 209 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 210 ^MACH(lib)/libnsl\.so\.1$ 211DELSYM ^nis_stats$ \ 212 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 213 ^MACH(lib)/libnsl\.so\.1$ 214DELSYM ^nis_verifygroup$ \ 215 ^SUNW_(0\.[7-9])|(1\.[1-9](\.1)?)$ \ 216 ^MACH(lib)/libnsl\.so\.1$ 217 218 219## libpapi 220# 221# - FSG_1.0 is a label for the Free Standards Group, version 1 of this library 222# 6346505 print commands should use PAPI for service interaction 223# (LSARC/2003/547) 224# 225EMPTY_TOPVERSION ^FSG_1\.0$ ^usr/lib/libpapi.so.0$ 226 227 228## libresolv2 229# 230# - Version SUNW_2.3 is empty 231# 6689937 libresolv2's mapfile-vers needs updating to line up 232# with S10 changes 233# 234EMPTY_TOPVERSION ^SUNW_2\.3$ ^MACH(lib)/libresolv\.so\.2$ 235 236 237## librtld_db 238# 239# - rd_fix_phdrs() was introduced into Solaris 10 to support branded zones, 240# and was removed as part of: 241# 6599700 librtld_db needs better plugin support 242# 243DELSYM ^rd_fix_phdrs$ ^SUNW_1\.1$ ^MACH(lib)/librtld_db\.so\.1$ 244 245 246## libtecla 247# 248# - gl_completion_action() was renamed pca_path_completions() 249# - gl_set_term_size was moved from tecla_1.4 to tecla_l.5 250# - The version tecla_l.5 (note the "el" (l) instead of a one (1) is 251# intentional. See the libtecla mapfile for details. 252# 253DELSYM ^gl_completion_action$ \ 254 ^tecla_1\.[2-4]$ \ 255 ^usr/MACH(lib)/libtecla\.so\.1$ 256DELSYM ^gl_set_term_size$ \ 257 ^tecla_1\.4$ \ 258 ^usr/MACH(lib)/libtecla\.so\.1$ 259ADDSYM ^pca_path_completions$ \ 260 ^(tecla_1\.[2346]|tecla_l\.5)$ \ 261 ^usr/MACH(lib)/libtecla\.so\.1$ 262