From a7e448c57e2ce79f9544bc1bb6e37dfb5c388c89 Mon Sep 17 00:00:00 2001 From: dongjiuzhu1 Date: Fri, 20 Oct 2023 15:11:29 +0800 Subject: [PATCH] modlib/modlib_load: fix compile warning CC: icmp/icmp_input.c modlib/modlib_load.c: In function 'modlib_elfsize': modlib/modlib_load.c:87:30: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] 87 | textaddr = (FAR void *)phdr->p_vaddr; | ^ cc1: all warnings being treated as errors Signed-off-by: dongjiuzhu1 --- libs/libc/modlib/modlib_load.c | 2 +- libs/libc/modlib/modlib_symbols.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libs/libc/modlib/modlib_load.c b/libs/libc/modlib/modlib_load.c index 9b35caab264..d6772d5cca5 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 078e276d00c..247d5cf6143 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++; } }