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/frv/elfinterp.c | 14 -------------- 1 file changed, 14 deletions(-) (limited to 'ldso/ldso/frv') diff --git a/ldso/ldso/frv/elfinterp.c b/ldso/ldso/frv/elfinterp.c index 227ef8cad..7e61763ae 100644 --- a/ldso/ldso/frv/elfinterp.c +++ b/ldso/ldso/frv/elfinterp.c @@ -213,15 +213,6 @@ _dl_parse(struct elf_resolve *tpnt, struct dyn_elf *scope, int res; 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 (!symtab_index && tpnt->libtype == program_interpreter) - continue; - if (symtab_index && tpnt->libtype == program_interpreter && - _dl_symbol(strtab + symtab[symtab_index].st_name)) - continue; - #if defined (__SUPPORT_LD_DEBUG__) debug_sym(symtab,strtab,symtab_index); debug_reloc(symtab,strtab,rpnt); @@ -444,11 +435,6 @@ _dl_parse_relocation_information (struct dyn_elf *rpnt, unsigned long rel_addr, unsigned long rel_size, int type __attribute_used__) { - /* The interpreter initial self-relocation is complete, and we - can't re-apply relocations. */ - if (rpnt->dyn->libtype == program_interpreter) - return 0; - return _dl_parse(rpnt->dyn, rpnt->dyn->symbol_scope, rel_addr, rel_size, _dl_do_reloc); } -- cgit v1.2.3