Install ld.so to slibdir instead of rtlddir to fix cross builds
authorAdam Conrad <adconrad@ubuntu.com>
Fri, 10 Jan 2020 22:21:25 +0000 (22:21 +0000)
committerAurelien Jarno <aurel32@debian.org>
Fri, 10 Jan 2020 22:21:25 +0000 (22:21 +0000)
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 07007c945903189e394a759101d702149167d797..22c5016b7956aa16ca9fc92fe58285660cf75f00 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