xref: /illumos-gate/exception_lists/interface_cmp (revision 36e852a172cba914383d7341c988128b2c667fbd)
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 2009 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26
27# This file provides exceptions to the usual rules applied to sharable
28# objects by intf_cmp. All strings are Perl regular expressions that
29# are compared to file, version, and symbol names. In addition to the
30# standard Perl syntax, there is one extension:
31#
32#	MACH(dir)
33#
34# is expanded into a regular expression that matches the given
35# directory, or a 64-bit subdirectory of the directory with the
36# name of a 64-bit architecture. For example, MACH(lib) will match
37# any of the following:
38#
39#	lib
40#	lib/amd64
41#	lib/sparcv9
42#
43
44
45## libbsm
46#
47# - Removed interfaces: setauclassfile, setaueventfile setauuserfile testac
48#	4686423 undocumented interfaces are not used
49# - Removed interfaces: auditsvc
50#	6638707 implement the removal of auditsvc(2) as noted in PSARC/2002/665
51#
52DELSYM	^(auditsvc|setauclassfile|setaueventfile|setauuserfile|testac)$	\
53	^SUNW_(0\.[7-8]|1\.[1-2])$	\
54	^MACH(lib)/libbsm\.so\.1$
55
56
57## libmalloc / libmapmalloc
58#
59# - Objects that provide malloc implementations had functions intentionally
60#   removed by:
61#	6464344 malloc library cleanup
62#	PSARC 2006/477 malloc library cleanup
63#
64DELSYM	^(_cfree|_mallinfo|_mallopt)$	\
65	^SUNW_1\.1$	\
66	^usr/MACH(lib)/libmalloc\.so\.1$
67DELSYM	^(mallinfo|mallopt)$	\
68	^SUNW_(0\.7|1\.1)$	\
69	^usr/MACH(lib)/libmapmalloc\.so\.1$
70DELSYM	^(_cfree|_?mallinfo|_?mallopt|_memalign|_valloc)$	\
71	^SUNW_1\.1$	\
72	^usr/MACH(lib)/watchmalloc\.so\.1$
73
74
75## libc
76#
77# - In Solaris 10, libc version SUNW_1.23 was incorrectly defined. In a
78#   subsequent update, those symbols were properly transfered to SUNW_1.22.4.
79#   However, SUNW_1.23 had to remain in place as an empty version to satisfy
80#   executables already in the field that were bound to it.
81#	6763000 libc versioning needs a little tlc in Solaris 10
82#   The following excludes an empty top version SUNW_1.23 from triggering
83#   a flood of "added interface" errors.
84#
85EMPTY_TOPVERSION	^SUNW_1\.23$	^MACH(lib)/libc\.so\.1$
86EMPTY_TOPVERSION	^SUNW_1\.23$	^usr/lib/libc/libc_hwcap\d+\.so\.1$
87
88
89## libnsl
90#
91# - The function _inet_aton was removed from libnsl.so.1 as part of
92#	6700179 expunge synonyms.h
93#	PSARC 2008/309 expunge synonyms.h
94# - Version SUN_1.10 was vacated when inet_aton was backported into SUNW_1.9.1
95#	4944187 getaddrinfo doesn't convert broadcast address if dns
96#		isn't in nsswitch.conf
97#	6747055 Solaris 10 apps using recent version of libnsl.so do
98#		not run on Nevada
99#
100DELSYM	^_inet_aton$	^SUNW_1\.9\.1$	^MACH(lib)/libnsl\.so\.1$
101EMPTY_TOPVERSION	^SUNW_1\.10$	^MACH(lib)/libnsl\.so\.1$
102
103
104## libnsl
105#
106# The following functions are removed from libnsl.so.1 as part of
107#	6874309 Remove NIS+ from Solaris
108#	PSARC 2009/530 Removal of NIS+
109#
110DELSYM	^nis_add$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
111DELSYM	^nis_add_entry$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
112DELSYM	^nis_addmember$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
113DELSYM	^nis_checkpoint$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
114DELSYM	^nis_creategroup$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
115DELSYM	^nis_destroygroup$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
116DELSYM	^nis_first_entry$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
117DELSYM	^nis_freenames$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
118DELSYM	^nis_freeresult$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
119DELSYM	^nis_freeservlist$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
120DELSYM	^nis_freetags$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
121DELSYM	^nis_getnames$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
122DELSYM	^nis_getservlist$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
123DELSYM	^nis_ismember$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
124DELSYM	^nis_lerror$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
125DELSYM	^nis_list$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
126DELSYM	^nis_local_principal$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
127DELSYM	^nis_lookup$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
128DELSYM	^nis_mkdir$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
129DELSYM	^nis_modify$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
130DELSYM	^nis_modify_entry$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
131DELSYM	^nis_next_entry$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
132DELSYM	^nis_perror$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
133DELSYM	^nis_ping$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
134DELSYM	^nis_print_group_entry$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
135DELSYM	^nis_print_object$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
136DELSYM	^nis_remove$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
137DELSYM	^nis_remove_entry$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
138DELSYM	^nis_removemember$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
139DELSYM	^nis_rmdir$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
140DELSYM	^nis_servstate$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
141DELSYM	^nis_sperrno$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
142DELSYM	^nis_sperror$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
143DELSYM	^nis_sperror_r$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
144DELSYM	^nis_stats$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
145DELSYM	^nis_verifygroup$	^SUNW_0\.7\.1$	^MACH(lib)/libnsl\.so\.1$
146
147## libpapi
148#
149# - FSG_1.0 is a label for the Free Standards Group, version 1 of this library
150#	6346505 print commands should use PAPI for service interaction
151#		(LSARC/2003/547)
152#
153EMPTY_TOPVERSION	^FSG_1\.0$	^usr/lib/libpapi.so.0$
154
155
156## libresolv2
157#
158# - Version SUNW_2.3 is empty
159#	6689937 libresolv2's mapfile-vers needs updating to line up
160#		with S10 changes
161#
162EMPTY_TOPVERSION	^SUNW_2\.3$	^MACH(lib)/libresolv\.so\.2$
163
164
165## librtld_db
166#
167# - rd_fix_phdrs() was introduced into Solaris 10 to support branded zones,
168#   and was removed as part of:
169#	6599700 librtld_db needs better plugin support
170#
171DELSYM	^rd_fix_phdrs$	^SUNW_1\.1$	^MACH(lib)/librtld_db\.so\.1$
172
173
174## libtecla
175#
176#    - gl_completion_action() was renamed pca_path_completions()
177#    - gl_set_term_size was moved from tecla_1.4 to tecla_l.5
178#    - The version tecla_l.5 (note the "el" (l) instead of a one (1) is
179#      intentional. See the libtecla mapfile for details.
180#
181DELSYM	^gl_completion_action$	\
182	^tecla_1\.[2-4]$	\
183	^usr/MACH(lib)/libtecla\.so\.1$
184DELSYM	^gl_set_term_size$	\
185	^tecla_1\.4$		\
186	^usr/MACH(lib)/libtecla\.so\.1$
187ADDSYM	^pca_path_completions$		\
188	^(tecla_1\.[2346]|tecla_l\.5)$	\
189	^usr/MACH(lib)/libtecla\.so\.1$
190