[PATCH v2 2/3] debuginfod: create the fully versioned libdebuginfod file name during build

Dmitry V. Levin ldv@altlinux.org
Sun Dec 6 13:54:12 GMT 2020


When the fully versioned file name is available, the fall back to dlopen
of "libdebuginfod.so" in __libdwfl_debuginfod_init is no longer needed.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
---
 debuginfod/ChangeLog   |  7 +++++++
 debuginfod/Makefile.am | 10 ++++++----
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/debuginfod/ChangeLog b/debuginfod/ChangeLog
index 07899289..27abdfda 100644
--- a/debuginfod/ChangeLog
+++ b/debuginfod/ChangeLog
@@ -1,3 +1,10 @@
+2020-12-06  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (LIBDEBUGINFOD_FULL_NAME): New variable.
+	(libdebuginfod.so): Use it to create the fully versioned file name.
+	(install, uninstall): Replace libdebuginfod-$(PACKAGE_VERSION).so with
+	$(LIBDEBUGINFOD_FULL_NAME).
+
 2020-11-30  Dmitry V. Levin  <ldv@altlinux.org>
 
 	* Makefile.am (libdebuginfod.so): Replace $@.$(VERSION) with
diff --git a/debuginfod/Makefile.am b/debuginfod/Makefile.am
index 34f34acf..7df66125 100644
--- a/debuginfod/Makefile.am
+++ b/debuginfod/Makefile.am
@@ -100,6 +100,7 @@ libdebuginfod_so_LDLIBS =
 else
 libdebuginfod_so_LDLIBS = $(libcurl_LIBS) $(fts_LIBS)
 endif
+LIBDEBUGINFOD_FULL_NAME = libdebuginfod-$(PACKAGE_VERSION).so
 libdebuginfod.so: $(srcdir)/libdebuginfod.map $(libdebuginfod_so_LIBS)
 	$(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $@ \
 		-Wl,--soname,$(LIBDEBUGINFOD_SONAME) \
@@ -107,18 +108,19 @@ libdebuginfod.so: $(srcdir)/libdebuginfod.map $(libdebuginfod_so_LIBS)
 		-Wl,--whole-archive $(libdebuginfod_so_LIBS) -Wl,--no-whole-archive \
 		$(libdebuginfod_so_LDLIBS)
 	@$(textrel_check)
+	$(AM_V_at)ln -fs $@ $(LIBDEBUGINFOD_FULL_NAME)
 	$(AM_V_at)ln -fs $@ $(LIBDEBUGINFOD_SONAME)
 endif
 
 if LIBDEBUGINFOD
 install: install-am libdebuginfod.so
 	$(mkinstalldirs) $(DESTDIR)$(libdir)
-	$(INSTALL_PROGRAM) libdebuginfod.so $(DESTDIR)$(libdir)/libdebuginfod-$(PACKAGE_VERSION).so
-	ln -fs libdebuginfod-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/$(LIBDEBUGINFOD_SONAME)
-	ln -fs libdebuginfod-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libdebuginfod.so
+	$(INSTALL_PROGRAM) libdebuginfod.so $(DESTDIR)$(libdir)/$(LIBDEBUGINFOD_FULL_NAME)
+	ln -fs $(LIBDEBUGINFOD_FULL_NAME) $(DESTDIR)$(libdir)/$(LIBDEBUGINFOD_SONAME)
+	ln -fs $(LIBDEBUGINFOD_FULL_NAME) $(DESTDIR)$(libdir)/libdebuginfod.so
 
 uninstall: uninstall-am
-	rm -f $(DESTDIR)$(libdir)/libdebuginfod-$(PACKAGE_VERSION).so
+	rm -f $(DESTDIR)$(libdir)/$(LIBDEBUGINFOD_FULL_NAME)
 	rm -f $(DESTDIR)$(libdir)/$(LIBDEBUGINFOD_SONAME)
 	rm -f $(DESTDIR)$(libdir)/libdebuginfod.so
 	rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/elfutils
-- 
ldv


More information about the Elfutils-devel mailing list