summaryrefslogtreecommitdiff
path: root/ldso/ldso/arm
diff options
context:
space:
mode:
Diffstat (limited to 'ldso/ldso/arm')
-rw-r--r--ldso/ldso/arm/dl-sysdep.h2
-rw-r--r--ldso/ldso/arm/elfinterp.c4
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);
/*