llext: (cosmetic) use a local variable
Simplify llext_copy_symbols() by using a local variable to store a pointer. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
This commit is contained in:
parent
fef999c06f
commit
60aef84cad
1 changed files with 10 additions and 7 deletions
|
@ -374,11 +374,11 @@ static int llext_allocate_symtab(struct llext_loader *ldr, struct llext *ext)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
size_t syms_size = ldr->sym_cnt * sizeof(struct llext_symbol);
|
size_t syms_size = ldr->sym_cnt * sizeof(struct llext_symbol);
|
||||||
|
struct llext_symtable *sym_tab = &ext->sym_tab;
|
||||||
|
|
||||||
ext->sym_tab.syms = k_heap_alloc(&llext_heap, syms_size,
|
sym_tab->syms = k_heap_alloc(&llext_heap, syms_size, K_NO_WAIT);
|
||||||
K_NO_WAIT);
|
sym_tab->sym_cnt = ldr->sym_cnt;
|
||||||
ext->sym_tab.sym_cnt = ldr->sym_cnt;
|
memset(sym_tab->syms, 0, ldr->sym_cnt * sizeof(struct llext_symbol));
|
||||||
memset(ext->sym_tab.syms, 0, ldr->sym_cnt * sizeof(struct llext_symbol));
|
|
||||||
ext->mem_size += syms_size;
|
ext->mem_size += syms_size;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -389,6 +389,7 @@ static int llext_copy_symbols(struct llext_loader *ldr, struct llext *ext)
|
||||||
size_t ent_size = ldr->sects[LLEXT_SECT_SYMTAB].sh_entsize;
|
size_t ent_size = ldr->sects[LLEXT_SECT_SYMTAB].sh_entsize;
|
||||||
size_t syms_size = ldr->sects[LLEXT_SECT_SYMTAB].sh_size;
|
size_t syms_size = ldr->sects[LLEXT_SECT_SYMTAB].sh_size;
|
||||||
int sym_cnt = syms_size / sizeof(elf_sym_t);
|
int sym_cnt = syms_size / sizeof(elf_sym_t);
|
||||||
|
struct llext_symtable *sym_tab = &ext->sym_tab;
|
||||||
elf_sym_t sym;
|
elf_sym_t sym;
|
||||||
int i, j, ret;
|
int i, j, ret;
|
||||||
size_t pos;
|
size_t pos;
|
||||||
|
@ -418,12 +419,14 @@ static int llext_copy_symbols(struct llext_loader *ldr, struct llext *ext)
|
||||||
if (stt == STT_FUNC && stb == STB_GLOBAL && sect != SHN_UNDEF) {
|
if (stt == STT_FUNC && stb == STB_GLOBAL && sect != SHN_UNDEF) {
|
||||||
const char *name = llext_string(ldr, ext, LLEXT_MEM_STRTAB, sym.st_name);
|
const char *name = llext_string(ldr, ext, LLEXT_MEM_STRTAB, sym.st_name);
|
||||||
|
|
||||||
ext->sym_tab.syms[j].name = name;
|
__ASSERT(j <= sym_tab->sym_cnt, "Miscalculated symbol number %u\n", j);
|
||||||
ext->sym_tab.syms[j].addr =
|
|
||||||
|
sym_tab->syms[j].name = name;
|
||||||
|
sym_tab->syms[j].addr =
|
||||||
(void *)((uintptr_t)ext->mem[ldr->sect_map[sym.st_shndx]]
|
(void *)((uintptr_t)ext->mem[ldr->sect_map[sym.st_shndx]]
|
||||||
+ sym.st_value);
|
+ sym.st_value);
|
||||||
LOG_DBG("function symbol %d name %s addr %p",
|
LOG_DBG("function symbol %d name %s addr %p",
|
||||||
j, name, ext->sym_tab.syms[j].addr);
|
j, name, sym_tab->syms[j].addr);
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue