[lvm-devel] main - makefiles: add check for versioned symbols
Zdenek Kabelac
zkabelac at sourceware.org
Tue Apr 6 20:07:19 UTC 2021
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=c23f4c8075655aeaef96b3e19ad44c0be78020c9
Commit: c23f4c8075655aeaef96b3e19ad44c0be78020c9
Parent: 40b277ae1799fc7a2e3f38b0abebd81a8e3d1995
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Tue Apr 6 14:39:44 2021 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Tue Apr 6 21:26:57 2021 +0200
makefiles: add check for versioned symbols
Simple check produced library has the latest symbol as well as its versioned
older version with check for dm_stats_create_region().
---
libdm/Makefile.in | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/libdm/Makefile.in b/libdm/Makefile.in
index 12fec06b4..a78d2b517 100644
--- a/libdm/Makefile.in
+++ b/libdm/Makefile.in
@@ -47,7 +47,7 @@ endif
LIB_SHARED = $(interface)/libdevmapper.$(LIB_SUFFIX)
LIB_VERSION = $(LIB_VERSION_DM)
-TARGETS = libdevmapper.$(LIB_SUFFIX) libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION)
+TARGETS = libdevmapper.$(LIB_SUFFIX) libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION) .symver_check
CFLOW_LIST = $(SOURCES)
CFLOW_LIST_TARGET = libdevmapper.cflow
@@ -69,6 +69,16 @@ libdevmapper.$(LIB_SUFFIX) libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION): $(LIB_SHAR
@echo " [LN] $<"
$(Q) $(LN_S) -f $< $@
+# Check versioned build when default versioned symbol is present @@
+# also the older symbol is built-in
+.symver_check: $(LIB_SHARED)
+ @echo " [CHECK] $<"
+ $(Q) if readelf -Ws $< | grep -q dm_stats_create_region@@; then \
+ SYM=$$(readelf -Ws $< | grep dm_stats_create_region at DM_1_02_106); \
+ if test -n "$$SYM"; then touch $@; \
+ else echo >&2 "Missing versioned symbols in $<"; false; fi; \
+ else touch $@; fi
+
.PHONY: install_dynamic install_static install_include \
install_ioctl install_ioctl_static \
install_pkgconfig
More information about the lvm-devel
mailing list