diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-08-26 18:36:23 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-08-26 18:36:23 +0000 |
commit | 17415ee0becb11c97e86dfa00c2e503649f952e6 (patch) | |
tree | 6410fbd0a149c06695a0a4a38b7d82ec76de67bd /ldso/ldso/ldso.c | |
parent | 9d7a22d351d45808aa88224367cc1dd30e518705 (diff) |
Avoid multiple passes to perform mips GOT relocations, and do
the whole lot in a single pass.
-Erik
Diffstat (limited to 'ldso/ldso/ldso.c')
-rw-r--r-- | ldso/ldso/ldso.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c index 4c6817e6d..6ce8564bc 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c @@ -275,11 +275,6 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr, INIT_GOT(lpnt, _dl_loaded_modules); } -#if defined(__mips__) - /* Relocate any global GOT entries for the application */ - _dl_perform_mips_global_got_relocations(app_tpnt); -#endif - /* OK, fill this in - we did not have this before */ if (ppnt->p_type == PT_INTERP) { int readsize = 0; @@ -667,17 +662,17 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr, #endif +#ifdef __SUPPORT_LD_DEBUG_EARLY__ + _dl_dprintf(_dl_debug_file, "Beginning relocation fixups\n"); +#endif + #ifdef __mips__ /* * Relocation of the GOT entries for MIPS have to be done - * after all the libraries have been loaded. - */ + * after all the libraries have been loaded. */ _dl_perform_mips_global_got_relocations(_dl_loaded_modules); #endif -#ifdef __SUPPORT_LD_DEBUG_EARLY__ - _dl_dprintf(_dl_debug_file, "Beginning relocation fixups\n"); -#endif /* * OK, now all of the kids are tucked into bed in their proper addresses. * Now we go through and look for REL and RELA records that indicate fixups |