diff options
Diffstat (limited to 'ldso/ldso/dl-elf.c')
-rw-r--r-- | ldso/ldso/dl-elf.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c index 80c8fe438..3e4e3482c 100644 --- a/ldso/ldso/dl-elf.c +++ b/ldso/ldso/dl-elf.c @@ -741,7 +741,8 @@ int _dl_fixup(struct dyn_elf *rpnt, int now_flag) tpnt = rpnt->dyn; #if defined (__SUPPORT_LD_DEBUG__) - if(_dl_debug) _dl_dprintf(_dl_debug_file,"\nrelocation processing: %s", tpnt->libname); + if(_dl_debug && !(tpnt->init_flag & RELOCS_DONE)) + _dl_dprintf(_dl_debug_file,"\nrelocation processing: %s\n", tpnt->libname); #endif if (unlikely(tpnt->dynamic_info[UNSUPPORTED_RELOC_TYPE])) { @@ -784,20 +785,6 @@ int _dl_fixup(struct dyn_elf *rpnt, int now_flag) } } - if (tpnt->init_flag & COPY_RELOCS_DONE) - return goof; - tpnt->init_flag |= COPY_RELOCS_DONE; - goof += _dl_parse_copy_information(rpnt, - tpnt->dynamic_info[DT_RELOC_TABLE_ADDR], - tpnt->dynamic_info[DT_RELOC_TABLE_SIZE]); - -#if defined (__SUPPORT_LD_DEBUG__) - if(_dl_debug) { - _dl_dprintf(_dl_debug_file,"\nrelocation processing: %s", tpnt->libname); - _dl_dprintf(_dl_debug_file,"; finished\n\n"); - } -#endif - return goof; } |