diff options
Diffstat (limited to 'ldso/ldso/arm')
-rw-r--r-- | ldso/ldso/arm/dl-sysdep.h | 2 | ||||
-rw-r--r-- | ldso/ldso/arm/elfinterp.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/ldso/ldso/arm/dl-sysdep.h b/ldso/ldso/arm/dl-sysdep.h index 94dc1d707..dc89710c6 100644 --- a/ldso/ldso/arm/dl-sysdep.h +++ b/ldso/ldso/arm/dl-sysdep.h @@ -105,7 +105,7 @@ elf_machine_dynamic (void) return dynamic; } -extern void __dl_start __asm__ ("_dl_start"); +extern char __dl_start[] __asm__("_dl_start"); /* Return the run-time load address of the shared object. */ static __always_inline Elf32_Addr __attribute__ ((unused)) diff --git a/ldso/ldso/arm/elfinterp.c b/ldso/ldso/arm/elfinterp.c index c2f52b822..2043263ec 100644 --- a/ldso/ldso/arm/elfinterp.c +++ b/ldso/ldso/arm/elfinterp.c @@ -69,7 +69,7 @@ unsigned long _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry) got_addr = (char **) instr_addr; /* Get the address of the GOT entry */ - new_addr = _dl_find_hash(symname, &_dl_loaded_modules->symbol_scope, + new_addr = (unsigned long)_dl_find_hash(symname, &_dl_loaded_modules->symbol_scope, tpnt, ELF_RTYPE_CLASS_PLT, NULL); if (unlikely(!new_addr)) { _dl_dprintf(2, "%s: can't resolve symbol '%s'\n", @@ -203,7 +203,7 @@ _dl_do_reloc (struct elf_resolve *tpnt,struct r_scope_elem *scope, symname = strtab + symtab[symtab_index].st_name; if (symtab_index) { - symbol_addr = _dl_find_hash(symname, scope, tpnt, + symbol_addr = (unsigned long)_dl_find_hash(symname, scope, tpnt, elf_machine_type_class(reloc_type), &sym_ref); /* |