Blob Blame History Raw
commit 2e75604f8337fa4332977f72a8f6726309679edf
Author: Florian Weimer <fweimer@redhat.com>
Date:   Fri Dec 10 16:06:36 2021 +0100

    elf: Install a symbolic link to ld.so as /usr/bin/ld.so
    
    This makes ld.so features such as --preload, --audit,
    and --list-diagnostics more accessible to end users because they
    do not need to know the ABI name of the dynamic loader.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>

diff --git a/elf/Makefile b/elf/Makefile
index 7696aa1324919a80..3e7debdd81baafe0 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -104,7 +104,7 @@ endif
 ifeq (yes,$(build-shared))
 extra-objs	= $(all-rtld-routines:%=%.os) sofini.os interp.os
 generated	+= librtld.os dl-allobjs.os ld.so ldd
-install-others	= $(inst_rtlddir)/$(rtld-installed-name)
+install-others	= $(inst_rtlddir)/$(rtld-installed-name) $(inst_bindir)/ld.so
 install-bin-script = ldd
 endif
 
@@ -645,6 +645,11 @@ $(inst_rtlddir)/$(rtld-installed-name): $(objpfx)ld.so $(+force)
 	$(make-target-directory)
 	$(do-install-program)
 
+# Creates the relative /usr/bin/ld.so symbolic link.
+$(inst_bindir)/ld.so: $(inst_rtlddir)/$(rtld-installed-name)
+	$(make-target-directory)
+	$(make-link)
+
 # Special target called by parent to install just the dynamic linker.
 .PHONY: ldso_install
 ldso_install: $(inst_rtlddir)/$(rtld-installed-name)