--- Makerules +++ Makerules @@ -972,6 +972,14 @@ ifndef subdir # We need to use absolute paths since otherwise local copies (if they exist) # of the files are taken by the linker. install: $(inst_libdir)/libc.so + +ifeq ($(slibdir),$(libdir)) +ldscript_slibdir = +ldscript_libdir = +else +ldscript_slibdir = $(slibdir)/ +ldscript_libdir = $(libdir)/ +endif $(inst_libdir)/libc.so: $(common-objpfx)format.lds \ $(common-objpfx)libc.so$(libc.so-version) \ $(inst_libdir)/$(patsubst %,$(libtype.oS),\ @@ -981,9 +989,9 @@ $(inst_libdir)/libc.so: $(common-objpfx) echo ' Use the shared library, but some functions are only in';\ echo ' the static library, so try that secondarily. */';\ cat $<; \ - echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \ - '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\ - ' AS_NEEDED (' $(slibdir)/$(rtld-installed-name) ') )' \ + echo 'GROUP ( $(ldscript_slibdir)libc.so$(libc.so-version)' \ + '$(ldscript_libdir)$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\ + ' AS_NEEDED (' $(ldscript_slibdir)$(rtld-installed-name) ') )' \ ) > $@.new mv -f $@.new $@ --- nptl/Makefile +++ nptl/Makefile @@ -368,6 +368,13 @@ lib-noranlib: $(addprefix $(objpfx),$(ex # of the files are taken by the linker. install: $(inst_libdir)/libpthread.so +ifeq ($(slibdir),$(libdir)) +ldscript_slibdir = +ldscript_libdir = +else +ldscript_slibdir = $(slibdir)/ +ldscript_libdir = $(libdir)/ +endif $(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \ $(objpfx)libpthread.so$(libpthread.so-version) \ $(inst_libdir)/$(patsubst %,$(libtype.oS),\ @@ -377,8 +384,8 @@ $(inst_libdir)/libpthread.so: $(common-o echo ' Use the shared library, but some functions are only in';\ echo ' the static library, so try that secondarily. */';\ cat $<; \ - echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \ - '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\ + echo 'GROUP ( $(ldscript_slibdir)libpthread.so$(libpthread.so-version)' \ + '$(ldscript_libdir)$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\ ')' \ ) > $@.new mv -f $@.new $@