xref: /illumos-gate/exception_lists/interface_cmp (revision ded9341448cd6e2573619c7f6fe98909bdd35ec6)
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