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 <l...@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  <l...@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  <l...@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

Reply via email to