Install ld.so to slibdir instead of rtlddir to fix cross builds

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
This commit is contained in:
Adam Conrad 2022-05-13 23:32:10 +08:00 committed by openKylinBot
parent 7d5819ee0e
commit c443a9ba6a
2 changed files with 2 additions and 2 deletions

View 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

View File

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