Home
last modified time | relevance | path

Searched refs:ldr (Results 1 – 7 of 7) sorted by relevance

/subsys/llext/
A Dllext_load.c63 ret = llext_seek(ldr, 0); in llext_load_elf_data()
69 ret = llext_read(ldr, &ldr->hdr, sizeof(ldr->hdr)); in llext_load_elf_data()
81 switch (ldr->hdr.e_type) { in llext_load_elf_data()
111 if (!ldr->sect_map) { in llext_load_elf_data()
121 ext->sect_hdrs = (elf_shdr_t *)llext_peek(ldr, ldr->hdr.e_shoff); in llext_load_elf_data()
134 ret = llext_seek(ldr, ldr->hdr.e_shoff); in llext_load_elf_data()
159 memset(ldr->sects, 0, sizeof(ldr->sects)); in llext_find_tables()
527 ldr->sect_map[i].offset = shdr->sh_offset - ldr->sects[mem_idx].sh_offset; in llext_map_sections()
750 ldr->sect_map = NULL; in do_llext_load()
869 llext_finalize(ldr); in do_llext_load()
[all …]
A Dllext_link.c58 if (ldr->sects[i].sh_addr <= offset && in llext_file_offset()
59 ldr->sects[i].sh_addr + ldr->sects[i].sh_size > offset) { in llext_file_offset()
60 return offset - ldr->sects[i].sh_addr + ldr->sects[i].sh_offset; in llext_file_offset()
155 ret = llext_seek(ldr, ldr->sects[LLEXT_MEM_SYMTAB].sh_offset in llext_read_symbol()
161 ret = llext_read(ldr, sym, sizeof(elf_sym_t)); in llext_read_symbol()
263 (void *)llext_section_name(ldr, ext, shdr), in llext_link_plt()
275 ret = llext_read(ldr, &rela, sizeof(rela)); in llext_link_plt()
295 ret = llext_read(ldr, &sym, sizeof(sym)); in llext_link_plt()
332 ldr->sects[LLEXT_MEM_TEXT].sh_offset; in llext_link_plt()
455 name = llext_section_name(ldr, ext, shdr); in llext_link()
[all …]
A Dllext.c26 int llext_section_shndx(const struct llext_loader *ldr, const struct llext *ext, in llext_section_shndx() argument
32 const char *name = llext_section_name(ldr, ext, ext->sect_hdrs + i); in llext_section_shndx()
47 ret = llext_section_shndx(ldr, ext, search_name); in llext_get_section_header()
56 ssize_t llext_find_section(struct llext_loader *ldr, const char *search_name) in llext_find_section() argument
62 for (i = 0, pos = ldr->hdr.e_shoff; in llext_find_section()
63 i < ldr->hdr.e_shnum; in llext_find_section()
64 i++, pos += ldr->hdr.e_shentsize) { in llext_find_section()
65 shdr = llext_peek(ldr, pos); in llext_find_section()
71 const char *name = llext_peek(ldr, in llext_find_section()
72 ldr->sects[LLEXT_MEM_SHSTRTAB].sh_offset + in llext_find_section()
[all …]
A Dllext_mem.c84 elf_shdr_t *region = ldr->sects + mem_idx; in llext_copy_region()
128 ext->mem[mem_idx] = llext_peek(ldr, region->sh_offset); in llext_copy_region()
211 ret = llext_seek(ldr, offset); in llext_copy_region()
216 ret = llext_read(ldr, (void *)base, length); in llext_copy_region()
232 int llext_copy_strings(struct llext_loader *ldr, struct llext *ext, in llext_copy_strings() argument
238 ret = llext_copy_region(ldr, ext, LLEXT_MEM_STRTAB, ldr_parm); in llext_copy_strings()
244 int llext_copy_regions(struct llext_loader *ldr, struct llext *ext, in llext_copy_regions() argument
253 int ret = llext_copy_region(ldr, ext, mem_idx, ldr_parm); in llext_copy_regions()
264 enum llext_mem mem_idx = ldr->sect_map[i].mem_idx; in llext_copy_regions()
265 const char *name = llext_section_name(ldr, ext, shdr); in llext_copy_regions()
[all …]
A Dllext_priv.h46 int llext_copy_strings(struct llext_loader *ldr, struct llext *ext,
48 int llext_copy_regions(struct llext_loader *ldr, struct llext *ext,
124 int do_llext_load(struct llext_loader *ldr, struct llext *ext,
131 int llext_link(struct llext_loader *ldr, struct llext *ext,
133 ssize_t llext_file_offset(struct llext_loader *ldr, uintptr_t offset);
A Dshell.c147 struct llext_loader *ldr = &buf_loader.loader; in cmd_llext_load_hex() local
155 int res = llext_load(ldr, name, &ext, &ldr_parm); in cmd_llext_load_hex()
213 struct llext_loader *ldr = &fs_loader.loader; in cmd_llext_load_fs() local
217 res = llext_load(ldr, argv[1], &ext, &ldr_parm); in cmd_llext_load_fs()
A Dllext_experimental.c52 int llext_restore(struct llext **ext, struct llext_loader **ldr, unsigned int n_ext) in llext_restore() argument
141 memcpy(map[i], ldr[i]->sect_map, map_size); in llext_restore()
142 ldr[i]->sect_map = map[i]; in llext_restore()

Completed in 24 milliseconds