Library ABI tracking with abigail

Provide two make targets: checkabi and storeabi.

storeabi uses libabigail to generate a reference copy of the ABI for the
public libraries.

checkabi compares such a reference to the compiled version, failing if
they are not compatible.  No ABI is generated for libzpool.so, it is
only used by ztest and zdb and not external consumers.

Co-authored-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Closes #11144
This commit is contained in:
Antonio Russo
2020-11-14 21:35:31 -07:00
committed by Brian Behlendorf
parent 043ef5c25e
commit 4f9014b70b
13 changed files with 93 additions and 1 deletions
+3
View File
@@ -1,4 +1,5 @@
include $(top_srcdir)/config/Rules.am
PHONY =
VPATH = \
$(top_srcdir)/module/icp \
@@ -13,6 +14,8 @@ pkgconfig_DATA = libzfs.pc
lib_LTLIBRARIES = libzfs.la
include $(top_srcdir)/config/Abigail.am
USER_C = \
libzfs_changelist.c \
libzfs_config.c \
+13
View File
@@ -0,0 +1,13 @@
[suppress_type]
name = FILE*
[suppress_type]
type_kind = typedef
name = SHA256_CTX
[suppress_type]
type_kind = typedef
name = SHA2_CTX
[suppress_variable]
name = zfs_deleg_perm_tab