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