Install ld.so to slibdir instead of rtlddir to fix cross builds
authorAdam Conrad <adconrad@ubuntu.com>
Tue, 5 May 2020 18:12:38 +0000 (19:12 +0100)
committerAurelien Jarno <aurel32@debian.org>
Tue, 5 May 2020 18:12:38 +0000 (19:12 +0100)
When installing a cross-libc purely for linking purposes but not
runtime use, the linker shouldn't be installed in rtlddir, since
we won't actually be USING it, and thus referencing the rtlddir
path in libc.so ends up blowing up cross-compilers for no reason.

Gbp-Pq: Topic any
Gbp-Pq: Name local-rtlddir-cross.diff

Makeconfig
Makerules

index fd36c58c041271091551b43448ef1e2d21bd460f..97cd3bbdccda96d27a62cd7e9766059a1e0168d3 100644 (file)
@@ -146,7 +146,7 @@ inst_slibdir = $(install_root)$(slibdir)
 ifndef rtlddir
 rtlddir = $(slibdir)
 endif
-inst_rtlddir = $(install_root)$(rtlddir)
+inst_rtlddir = $(install_root)$(slibdir)
 
 # Prefix to put on files installed in $(libdir).  For libraries `libNAME.a',
 # the prefix is spliced between `lib' and the name, so the linker switch
index 0b5bf2445661185542506dc0f74171cb73cb145f..7745e24c8e4b88a7441f72d4ee5261a7ad98d156 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -1141,7 +1141,7 @@ $(inst_libdir)/libc.so: $(common-objpfx)format.lds \
         cat $<; \
         echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \
              '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
-             ' AS_NEEDED (' $(rtlddir)/$(rtld-installed-name) ') )' \
+             ' AS_NEEDED (' $(slibdir)/$(rtld-installed-name) ') )' \
        ) > $@.new
 ifeq ($(patsubst gnu%,,$(config-os)),)
        echo 'INPUT ( AS_NEEDED ( -lmachuser -lhurduser ) )' >> $@.new