diff --git a/libs/libc/modlib/modlib_load.c b/libs/libc/modlib/modlib_load.c index 9b35caab26..d6772d5cca 100644 --- a/libs/libc/modlib/modlib_load.c +++ b/libs/libc/modlib/modlib_load.c @@ -84,7 +84,7 @@ static void modlib_elfsize(FAR struct mod_loadinfo_s *loadinfo) if (phdr->p_flags & PF_X) { textsize += phdr->p_memsz; - textaddr = (FAR void *)phdr->p_vaddr; + textaddr = (FAR void *)(uintptr_t)phdr->p_vaddr; } else { diff --git a/libs/libc/modlib/modlib_symbols.c b/libs/libc/modlib/modlib_symbols.c index 078e276d00..247d5cf614 100644 --- a/libs/libc/modlib/modlib_symbols.c +++ b/libs/libc/modlib/modlib_symbols.c @@ -521,7 +521,8 @@ int modlib_insertsymtab(FAR struct module_s *modp, symbol[j].sym_name = strdup((FAR char *)loadinfo->iobuffer); - symbol[j].sym_value = (FAR const void *)sym[i].st_value; + symbol[j].sym_value = + (FAR const void *)(uintptr_t)sym[i].st_value; j++; } }