1e01aa904Sopenharmony_ci# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
2e01aa904Sopenharmony_ci#
3e01aa904Sopenharmony_ci# This file contains default system-wide suppression specifications to
4e01aa904Sopenharmony_ci# be used by Abigail tools[1] to filter out specific ABI change
5e01aa904Sopenharmony_ci# reports when comparing the ABI of some core system binaries.
6e01aa904Sopenharmony_ci#
7e01aa904Sopenharmony_ci# To learn about the syntax of Abigail suppression specifications,
8e01aa904Sopenharmony_ci# please refer to the relevant section of the online manual[2].
9e01aa904Sopenharmony_ci#
10e01aa904Sopenharmony_ci# If you feel like some suppression specifications should be added to
11e01aa904Sopenharmony_ci# this file so that they can be applied system-wide each time an
12e01aa904Sopenharmony_ci# Abigail tool is invoked to compare a given core system binary,
13e01aa904Sopenharmony_ci# please file an enhance request to
14e01aa904Sopenharmony_ci# https://sourceware.org/bugzilla/enter_bug.cgi?product=libabigail.
15e01aa904Sopenharmony_ci#
16e01aa904Sopenharmony_ci# Or, consider just adding those suppression specification to your
17e01aa904Sopenharmony_ci# ~/.abignore file.
18e01aa904Sopenharmony_ci#
19e01aa904Sopenharmony_ci# [1]: https://sourceware.org/libabigail/manual/libabigail-overview.html
20e01aa904Sopenharmony_ci# [2]: https://sourceware.org/libabigail/manual/libabigail-concepts.html#suppression-specifications.
21e01aa904Sopenharmony_ci#
22e01aa904Sopenharmony_ci
23e01aa904Sopenharmony_ci#############################################
24e01aa904Sopenharmony_ci# Below are glibc suppression specifications
25e01aa904Sopenharmony_ci############################################
26e01aa904Sopenharmony_ci
27e01aa904Sopenharmony_ci# The idea is to suppress ABI change reports on functions and variable
28e01aa904Sopenharmony_ci# which symbol version is "GLIBC_PRIVATE".  The SONAMEs of the
29e01aa904Sopenharmony_ci# libraries these suppression specification are to be applied to are:
30e01aa904Sopenharmony_ci#
31e01aa904Sopenharmony_ci#      ld-linux-x86-64.so.2
32e01aa904Sopenharmony_ci#      libanl.so.1
33e01aa904Sopenharmony_ci#      libcidn.so.1
34e01aa904Sopenharmony_ci#      libcrypt.so.1
35e01aa904Sopenharmony_ci#      libc.so.6
36e01aa904Sopenharmony_ci#      libdl.so.2
37e01aa904Sopenharmony_ci#      libm.so.6
38e01aa904Sopenharmony_ci#      libmvec.so.1
39e01aa904Sopenharmony_ci#      libnsl.so.1
40e01aa904Sopenharmony_ci#      libnss_compat.so.2
41e01aa904Sopenharmony_ci#      libnss_db.so.2
42e01aa904Sopenharmony_ci#      libnss_dns.so.2
43e01aa904Sopenharmony_ci#      libnss_files.so.2
44e01aa904Sopenharmony_ci#      libnss_hesiod.so.2
45e01aa904Sopenharmony_ci#      libnss_nisplus.so.2
46e01aa904Sopenharmony_ci#      libnss_nis.so.2
47e01aa904Sopenharmony_ci#      libpthread.so.0
48e01aa904Sopenharmony_ci#      libresolv.so.2
49e01aa904Sopenharmony_ci#      librt.so.1
50e01aa904Sopenharmony_ci#      libthread_db.so.1
51e01aa904Sopenharmony_ci#      libutil.so.1
52e01aa904Sopenharmony_ci#
53e01aa904Sopenharmony_ci# The SONAMEs above can be derived from
54e01aa904Sopenharmony_ci#  https://sourceware.org/glibc/wiki/ABIList.
55e01aa904Sopenharmony_ci
56e01aa904Sopenharmony_ci[suppress_function]
57e01aa904Sopenharmony_ci  # Suppress ABI change reports about functions which symbol version
58e01aa904Sopenharmony_ci  # is "GLIBC_PRIVATE"
59e01aa904Sopenharmony_ci  symbol_version = GLIBC_PRIVATE
60e01aa904Sopenharmony_ci
61e01aa904Sopenharmony_ci  # And we want to restrict this suppression specification only to
62e01aa904Sopenharmony_ci  # libraries with these SONAMEs:
63e01aa904Sopenharmony_ci  soname_regexp = (libanl|libcidn|libcrypt|libc|libdl|libm|libmvec|libnsl|libnss_compat|libnss_db|libnss_dns|libnss_files|libnss_hesiod|libnss_nisplus|libnss_nis|libpthread|libresolv|librt|libthread_db|libutil|ld\[a-z0-9-\]*)\\.so\\.\[0-9\]*
64e01aa904Sopenharmony_ci
65e01aa904Sopenharmony_ci[suppress_variable]
66e01aa904Sopenharmony_ci  # Suppress ABI change reports about functions which symbol version
67e01aa904Sopenharmony_ci  # is "GLIBC_PRIVATE"
68e01aa904Sopenharmony_ci  symbol_version = GLIBC_PRIVATE
69e01aa904Sopenharmony_ci
70e01aa904Sopenharmony_ci  # And we want to restrict this suppression specification only to
71e01aa904Sopenharmony_ci  # libraries with these SONAMEs:
72e01aa904Sopenharmony_ci  soname_regexp = (libanl|libcidn|libcrypt|libc|libdl|libm|libmvec|libnsl|libnss_compat|libnss_db|libnss_dns|libnss_files|libnss_hesiod|libnss_nisplus|libnss_nis|libpthread|libresolv|librt|libthread_db|libutil|ld\[a-z0-9-\]*)\\.so\\.\[0-9\]*
73e01aa904Sopenharmony_ci
74e01aa904Sopenharmony_ci#############################################
75e01aa904Sopenharmony_ci# End of glibc suppression specifications
76e01aa904Sopenharmony_ci############################################
77e01aa904Sopenharmony_ci
78e01aa904Sopenharmony_ci###########################################################
79e01aa904Sopenharmony_ci# Below are  suppression specifications for webkitgtk
80e01aa904Sopenharmony_ci###########################################################
81e01aa904Sopenharmony_ci
82e01aa904Sopenharmony_ci[suppress_function]
83e01aa904Sopenharmony_ci  soname_regexp = libwebkit2?gtk-.*\\.so.*
84e01aa904Sopenharmony_ci  name_not_regexp = ^webkit_.*
85e01aa904Sopenharmony_ci  drop = true
86e01aa904Sopenharmony_ci
87e01aa904Sopenharmony_ci[suppress_variable]
88e01aa904Sopenharmony_ci  soname_regexp = libwebkit2?gtk-.*\\.so.*
89e01aa904Sopenharmony_ci  name_regexp = (^std::.*|WebCore::.*|WebKit::.*)
90e01aa904Sopenharmony_ci  drop = true
91e01aa904Sopenharmony_ci
92e01aa904Sopenharmony_ci[suppress_type]
93e01aa904Sopenharmony_ci  soname_regexp = libwebkit2?gtk-.*\\.so.*
94e01aa904Sopenharmony_ci  name_regexp = (^std::.*|WebCore::.*|WebKit::.*)
95e01aa904Sopenharmony_ci  drop = true
96e01aa904Sopenharmony_ci
97e01aa904Sopenharmony_ci#######################################################
98e01aa904Sopenharmony_ci# End of webkitgtk suppression specifications
99e01aa904Sopenharmony_ci#######################################################
100e01aa904Sopenharmony_ci
101e01aa904Sopenharmony_ci########################################################
102e01aa904Sopenharmony_ci# Suppression specification for C++ libraries
103e01aa904Sopenharmony_ci# that are not libstdc++.so
104e01aa904Sopenharmony_ci########################################################
105e01aa904Sopenharmony_ci
106e01aa904Sopenharmony_ci[suppress_function]
107e01aa904Sopenharmony_ci  soname_not_regexp = libstdc\\+\\+\\.so.*
108e01aa904Sopenharmony_ci  name_regexp = std::.*
109e01aa904Sopenharmony_ci  drop = true
110e01aa904Sopenharmony_ci
111e01aa904Sopenharmony_ci[suppress_variable]
112e01aa904Sopenharmony_ci  soname_not_regexp = libstdc\\+\\+\\.so.*
113e01aa904Sopenharmony_ci  name_regexp = std::.*
114e01aa904Sopenharmony_ci  drop = true
115e01aa904Sopenharmony_ci
116e01aa904Sopenharmony_ci########################################################
117e01aa904Sopenharmony_ci# End of suppression specification for C++ libraries
118e01aa904Sopenharmony_ci# that are not libstdc++.so
119e01aa904Sopenharmony_ci########################################################
120e01aa904Sopenharmony_ci
121e01aa904Sopenharmony_ci########################################################
122e01aa904Sopenharmony_ci# Suppression specification for C++ libraries
123e01aa904Sopenharmony_ci# that are not Boost.
124e01aa904Sopenharmony_ci########################################################
125e01aa904Sopenharmony_ci
126e01aa904Sopenharmony_ci[suppress_function]
127e01aa904Sopenharmony_ci  soname_not_regexp = libboost_.*\\.so.*
128e01aa904Sopenharmony_ci  name_regexp = boost::.*
129e01aa904Sopenharmony_ci  drop = true
130e01aa904Sopenharmony_ci
131e01aa904Sopenharmony_ci[suppress_variable]
132e01aa904Sopenharmony_ci  soname_not_regexp = libboost_.*\\.so.*
133e01aa904Sopenharmony_ci  name_regexp = boost::.*
134e01aa904Sopenharmony_ci  drop = true
135e01aa904Sopenharmony_ci
136e01aa904Sopenharmony_ci########################################################
137e01aa904Sopenharmony_ci# End of suppression specification for C++ libraries
138e01aa904Sopenharmony_ci# that are not Boost.
139e01aa904Sopenharmony_ci########################################################
140e01aa904Sopenharmony_ci
141e01aa904Sopenharmony_ci###########################################################
142e01aa904Sopenharmony_ci# Do not compare the kernel.img file from the grub2 package
143e01aa904Sopenharmony_ci###########################################################
144e01aa904Sopenharmony_ci
145e01aa904Sopenharmony_ci[suppress_file]
146e01aa904Sopenharmony_ci  file_name_regexp = kernel\\.img
147e01aa904Sopenharmony_ci
148e01aa904Sopenharmony_ci#####################################################################
149e01aa904Sopenharmony_ci# End of "Do not compare the kernel.img file from the grub2 package"
150e01aa904Sopenharmony_ci#####################################################################
151e01aa904Sopenharmony_ci
152e01aa904Sopenharmony_ci
153e01aa904Sopenharmony_ci##########################################
154e01aa904Sopenharmony_ci# krb5 default suppression specifications
155e01aa904Sopenharmony_ci#########################################
156e01aa904Sopenharmony_ci[suppress_function]
157e01aa904Sopenharmony_ci  # Suppress ABI change reports about functions starting with the name
158e01aa904Sopenharmony_ci  # krb5int_* in libraries named libkrb5<something>.so
159e01aa904Sopenharmony_ci  soname_regexp = libkrb5.*\\.so.*
160e01aa904Sopenharmony_ci  name_regexp = ^krb5int_.*
161e01aa904Sopenharmony_ci##########################################
162e01aa904Sopenharmony_ci# End of krb5 suppression specifications
163e01aa904Sopenharmony_ci#########################################
164e01aa904Sopenharmony_ci
165e01aa904Sopenharmony_ci
166e01aa904Sopenharmony_ci#############################################
167e01aa904Sopenharmony_ci# libvirt default suppression specifications
168e01aa904Sopenharmony_ci#############################################
169e01aa904Sopenharmony_ci[suppress_function]
170e01aa904Sopenharmony_ci  # Suppress ABI change reports about functions with symbol version
171e01aa904Sopenharmony_ci  # LIBVIRT_PRIVATE
172e01aa904Sopenharmony_ci  symbol_version = LIBVIRT_PRIVATE
173e01aa904Sopenharmony_ci  soname_regexp = libvirt\\.so.*
174e01aa904Sopenharmony_ci####################################################
175e01aa904Sopenharmony_ci# End of libvirt default suppression specifications
176e01aa904Sopenharmony_ci####################################################
177