From 852fc4b91e0c657e02c7d15bc24fbbae066ccae3 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 11 Jun 1996 21:07:00 +0000 Subject: * elf/Makefile ($(objpfx)$(rtld-installed-name)): New target to make link to ld.so if that is not the installed name. (lib-noranlib): Depend on the installed name in the build directory instead of on ld.so. * Makeconfig (link-libc): Include $(elfobjdir)/$(rtld-installed-name) between libc.so and libc.a, because with libc.so's DT_NEEDED for ld.so ld searches libc.a before ld.so (is that an ld bug?). Add $(elfobjdir) to -rpath-link. * Makerules (elfobjdir): Define as . when $(subdir) is elf. * sysdeps/i386/dl-machine.h (elf_machine_rel): In R_386_32 case when relocating _dl_rtld_map, subtract SYM's value from final reloc value, but don't change *RELOC_ADDR before calling *RESOLVE, because it might call the function we are relocating! --- Makerules | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Makerules') diff --git a/Makerules b/Makerules index 0310b000c4..27053f31e8 100644 --- a/Makerules +++ b/Makerules @@ -493,7 +493,11 @@ LDFLAGS-c.so = -nostdlib -nostartfiles # Give libc.so an entry point and make it directly runnable itself. LDFLAGS-c.so += -e __libc_print_version # Use our own special initializer and finalizer files for libc.so. +ifeq (elf, $(subdir)) +elfobjdir := . +else elfobjdir := $(firstword $(objdir) $(..)elf) +endif $(common-objpfx)libc.so: $(elfobjdir)/soinit.so \ $(common-objpfx)libc_pic.a \ $(elfobjdir)/sofini.so $(elfobjdir)/ld.so -- cgit v1.2.3