From 6058512b06d0bb435cc25573a1a8e4ec03ac43f5 Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski Date: Fri, 22 Sep 2023 15:35:49 +0200 Subject: [PATCH] llext: use provided size for more generic code Use .sh_entsize instead of sizeof(elf_rel_t) to make code suitable for both REL and RELA types. Signed-off-by: Guennadi Liakhovetski --- subsys/llext/llext.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/subsys/llext/llext.c b/subsys/llext/llext.c index 4f55a3dd14f..4d0cedef01e 100644 --- a/subsys/llext/llext.c +++ b/subsys/llext/llext.c @@ -464,7 +464,7 @@ static int llext_link(struct llext_loader *ldr, struct llext *ext) continue; } - rel_cnt = shdr.sh_size / sizeof(elf_rel_t); + rel_cnt = shdr.sh_size / shdr.sh_entsize; name = llext_string(ldr, ext, LLEXT_MEM_SHSTRTAB, shdr.sh_name); @@ -484,12 +484,12 @@ static int llext_link(struct llext_loader *ldr, struct llext *ext) for (int j = 0; j < rel_cnt; j++) { /* get each relocation entry */ - ret = llext_seek(ldr, shdr.sh_offset + j * sizeof(elf_rel_t)); + ret = llext_seek(ldr, shdr.sh_offset + j * shdr.sh_entsize); if (ret != 0) { return ret; } - ret = llext_read(ldr, &rel, sizeof(elf_rel_t)); + ret = llext_read(ldr, &rel, shdr.sh_entsize); if (ret != 0) { return ret; }