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