summaryrefslogtreecommitdiff
path: root/ldso/ldso/frv
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2004-08-17 13:37:54 +0000
committerJoakim Tjernlund <joakim.tjernlund@transmode.se>2004-08-17 13:37:54 +0000
commit6d6f3a5c26adcf6b105edfb4b53e97ceee81944c (patch)
treefdf250e80080d49b1e421f7157661033821c5fb7 /ldso/ldso/frv
parentd965f80088fafaacfd33d0b0770724f4fbcbe6e5 (diff)
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.
Diffstat (limited to 'ldso/ldso/frv')
-rw-r--r--ldso/ldso/frv/elfinterp.c14
1 files changed, 0 insertions, 14 deletions
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);
}