llext: remove a symbol count copy

The symbol count in struct llext_loader is redundant, we already have
one in struct llext_symtable, accessible via struct llext. Remove the
redundant copy.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
diff --git a/include/zephyr/llext/loader.h b/include/zephyr/llext/loader.h
index 915a627..5bcfb1e 100644
--- a/include/zephyr/llext/loader.h
+++ b/include/zephyr/llext/loader.h
@@ -92,7 +92,6 @@
 	elf_shdr_t sects[LLEXT_SECT_COUNT];
 	uint32_t *sect_map;
 	uint32_t sect_cnt;
-	uint32_t sym_cnt;
 	/** @endcond */
 };
 
diff --git a/subsys/llext/llext.c b/subsys/llext/llext.c
index 428c142..02ed0e1 100644
--- a/subsys/llext/llext.c
+++ b/subsys/llext/llext.c
@@ -360,7 +360,7 @@
 		if (stt == STT_FUNC && stb == STB_GLOBAL) {
 			LOG_DBG("function symbol %d, name %s, type tag %d, bind %d, sect %d",
 				i, name, stt, stb, sect);
-			ldr->sym_cnt++;
+			ext->sym_tab.sym_cnt++;
 		} else {
 			LOG_DBG("unhandled symbol %d, name %s, type tag %d, bind %d, sect %d",
 				i, name, stt, stb, sect);
@@ -372,16 +372,14 @@
 
 static int llext_allocate_symtab(struct llext_loader *ldr, struct llext *ext)
 {
-	int ret = 0;
-	size_t syms_size = ldr->sym_cnt * sizeof(struct llext_symbol);
 	struct llext_symtable *sym_tab = &ext->sym_tab;
+	size_t syms_size = sym_tab->sym_cnt * sizeof(struct llext_symbol);
 
 	sym_tab->syms = k_heap_alloc(&llext_heap, syms_size, K_NO_WAIT);
-	sym_tab->sym_cnt = ldr->sym_cnt;
-	memset(sym_tab->syms, 0, ldr->sym_cnt * sizeof(struct llext_symbol));
+	memset(sym_tab->syms, 0, syms_size);
 	ext->mem_size += syms_size;
 
-	return ret;
+	return 0;
 }
 
 static int llext_copy_symbols(struct llext_loader *ldr, struct llext *ext)
@@ -570,7 +568,6 @@
 
 	memset(ldr->sects, 0, sizeof(ldr->sects));
 	ldr->sect_cnt = 0;
-	ldr->sym_cnt = 0;
 
 	size_t sect_map_sz = ldr->hdr.e_shnum * sizeof(uint32_t);