From 6d6f3a5c26adcf6b105edfb4b53e97ceee81944c Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Tue, 17 Aug 2004 13:37:54 +0000 Subject: Let ldso decide if it should relocate itselft a second time. This is needed if ldso should use libcs malloc whenever possible. Fix RTLD_LAZY propagation to RTLD_NOW relocation when requested by libdl. --- ldso/ldso/m68k/elfinterp.c | 17 ----------------- 1 file changed, 17 deletions(-) (limited to 'ldso/ldso/m68k') diff --git a/ldso/ldso/m68k/elfinterp.c b/ldso/ldso/m68k/elfinterp.c index a3f529402..5e8249504 100644 --- a/ldso/ldso/m68k/elfinterp.c +++ b/ldso/ldso/m68k/elfinterp.c @@ -152,13 +152,6 @@ void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt, reloc_type = ELF32_R_TYPE (rpnt->r_info); symtab_index = ELF32_R_SYM (rpnt->r_info); - /* When the dynamic linker bootstrapped itself, it resolved some symbols. - Make sure we do not do them again. */ - if (tpnt->libtype == program_interpreter - && (!symtab_index - || _dl_symbol (strtab + symtab[symtab_index].st_name))) - continue; - switch (reloc_type) { case R_68K_NONE: @@ -207,12 +200,6 @@ int _dl_parse_relocation_information(struct dyn_elf *rpnt, reloc_type = ELF32_R_TYPE (rpnt->r_info); symtab_index = ELF32_R_SYM (rpnt->r_info); symbol_addr = 0; - - if (tpnt->libtype == program_interpreter - && (!symtab_index - || _dl_symbol (strtab + symtab[symtab_index].st_name))) - continue; - if (symtab_index) { symbol_addr = (unsigned int) @@ -334,10 +321,6 @@ int _dl_parse_copy_information(struct dyn_elf *xpnt, continue; symtab_index = ELF32_R_SYM (rpnt->r_info); symbol_addr = 0; - if (tpnt->libtype == program_interpreter - && (!symtab_index - || _dl_symbol (strtab + symtab[symtab_index].st_name))) - continue; if (symtab_index) { symbol_addr = (unsigned int) -- cgit v1.2.3