summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2021-04-06 14:39:44 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2021-04-06 21:26:57 +0200
commitc23f4c8075655aeaef96b3e19ad44c0be78020c9 (patch)
tree99abde671de0b10518950d955d7344e6b0218546
parent40b277ae1799fc7a2e3f38b0abebd81a8e3d1995 (diff)
downloadlvm2-c23f4c8075655aeaef96b3e19ad44c0be78020c9.tar.gz
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().
-rw-r--r--libdm/Makefile.in12
1 files changed, 11 insertions, 1 deletions
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@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