summaryrefslogtreecommitdiff
path: root/ldso
diff options
context:
space:
mode:
Diffstat (limited to 'ldso')
-rw-r--r--ldso/ldso/i386/elfinterp.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/ldso/ldso/i386/elfinterp.c b/ldso/ldso/i386/elfinterp.c
index 56f69a9f8..12e67f5d2 100644
--- a/ldso/ldso/i386/elfinterp.c
+++ b/ldso/ldso/i386/elfinterp.c
@@ -148,7 +148,6 @@ _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry)
/* Get the address of the GOT entry. */
new_addr = _dl_find_hash(symname, tpnt->symbol_scope, ELF_RTYPE_CLASS_PLT);
-
if (unlikely(!new_addr)) {
_dl_dprintf(2, "%s: Can't resolve symbol '%s'\n", _dl_progname, symname);
_dl_exit(1);
@@ -160,7 +159,7 @@ _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry)
_dl_dprintf(_dl_debug_file, "\nresolve function: %s", symname);
if (_dl_debug_detail)
_dl_dprintf(_dl_debug_file,
- "\n\tpatched %x ==> %x @ %x\n",
+ "\n\tpatched: %x ==> %x @ %x",
*got_addr, new_addr, got_addr);
}
}
@@ -292,10 +291,12 @@ _dl_do_reloc(struct elf_resolve *tpnt, struct dyn_elf *scope,
if (symbol_addr) {
#if defined (__SUPPORT_LD_DEBUG__)
if (_dl_debug_move)
- _dl_dprintf(_dl_debug_file,"\n%s move %x bytes from %x to %x",
+ _dl_dprintf(_dl_debug_file,
+ "\n%s move %d bytes from %x to %x",
symname, symtab[symtab_index].st_size,
symbol_addr, reloc_addr);
#endif
+
_dl_memcpy((char *)reloc_addr,
(char *)symbol_addr,
symtab[symtab_index].st_size);
@@ -307,7 +308,8 @@ _dl_do_reloc(struct elf_resolve *tpnt, struct dyn_elf *scope,
#if defined (__SUPPORT_LD_DEBUG__)
if (_dl_debug_reloc && _dl_debug_detail)
- _dl_dprintf(_dl_debug_file, "\tpatched: %x ==> %x @ %x", old_val, *reloc_addr, reloc_addr);
+ _dl_dprintf(_dl_debug_file, "\n\tpatched: %x ==> %x @ %x",
+ old_val, *reloc_addr, reloc_addr);
#endif
return 0;
@@ -346,7 +348,7 @@ _dl_do_lazy_reloc(struct elf_resolve *tpnt, struct dyn_elf *scope,
#if defined (__SUPPORT_LD_DEBUG__)
if (_dl_debug_reloc && _dl_debug_detail)
- _dl_dprintf(_dl_debug_file, "\tpatched: %x ==> %x @ %x",
+ _dl_dprintf(_dl_debug_file, "\n\tpatched: %x ==> %x @ %x",
old_val, *reloc_addr, reloc_addr);
#endif
@@ -428,4 +430,3 @@ _dl_parse_copy_information(struct dyn_elf *rpnt,
/* just disable for now, remove when we know that it works */
/* return _dl_parse(rpnt->dyn, rpnt->next, rel_addr, rel_size, _dl_do_copy_reloc); */
}
-