[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