Lines Matching full:name

19 static uint32_t elf_hash(const char *name)  in elf_hash()  argument
21 const unsigned char *p = (const unsigned char *)name; in elf_hash()
35 static uint32_t gnu_hash(const char *name) in gnu_hash() argument
37 const unsigned char *p = (const unsigned char *)name; in gnu_hash()
48 size_t st_name, size_t st_value, const char *name, in sym_compare() argument
56 err(TEE_ERROR_BAD_FORMAT, "Symbol name out of range"); in sym_compare()
57 if (strcmp(name, elf->dynstr + st_name)) in sym_compare()
92 static bool check_found_sym(struct ta_elf *elf, const char *name, vaddr_t *val, in check_found_sym() argument
131 name, val, weak_ok); in check_found_sym()
134 static TEE_Result resolve_sym_helper(const char *name, vaddr_t *val, in resolve_sym_helper() argument
148 hash = gnu_hash(name); in resolve_sym_helper()
185 check_found_sym(elf, name, val, weak_ok, n)) in resolve_sym_helper()
204 hash = elf_hash(name); in resolve_sym_helper()
209 if (check_found_sym(elf, name, val, weak_ok, n)) in resolve_sym_helper()
225 TEE_Result ta_elf_resolve_sym(const char *name, vaddr_t *val, in ta_elf_resolve_sym() argument
231 if (!resolve_sym_helper(name, val, elf, false /* !weak_ok */)) in ta_elf_resolve_sym()
234 if (!resolve_sym_helper(name, val, elf, true /* weak_ok */)) in ta_elf_resolve_sym()
239 if (!resolve_sym_helper(name, val, elf, false /* !weak_ok */)) in ta_elf_resolve_sym()
241 if (!resolve_sym_helper(name, val, elf, true /* weak_ok */)) in ta_elf_resolve_sym()
255 Elf32_Rel *rel, const char **name, in e32_get_sym_name() argument
268 err(TEE_ERROR_BAD_FORMAT, "Name index out of range"); in e32_get_sym_name()
269 *name = str_tab + name_idx; in e32_get_sym_name()
280 static void resolve_sym(const char *name, vaddr_t *val, struct ta_elf **mod, in resolve_sym() argument
283 TEE_Result res = ta_elf_resolve_sym(name, val, mod, NULL); in resolve_sym()
287 err(res, "Symbol %s not found", name); in resolve_sym()
297 const char *name = NULL; in e32_process_dyn_rel() local
301 e32_get_sym_name(sym_tab, num_syms, str_tab, str_tab_size, rel, &name, in e32_process_dyn_rel()
303 resolve_sym(name, &val, NULL, !weak_undef); in e32_process_dyn_rel()
311 const char *name = NULL; in e32_tls_get_module() local
323 e32_get_sym_name(sym_tab, num_syms, str_tab, str_tab_size, rel, &name, in e32_tls_get_module()
325 resolve_sym(name, NULL, mod, false); in e32_tls_get_module()
332 const char *name = NULL; in e32_tls_resolve() local
334 e32_get_sym_name(sym_tab, num_syms, str_tab, str_tab_size, rel, &name, in e32_tls_resolve()
336 resolve_sym(name, val, NULL, false); in e32_tls_resolve()
487 Elf64_Rela *rela, const char **name, in e64_get_sym_name() argument
500 err(TEE_ERROR_BAD_FORMAT, "Name index out of range"); in e64_get_sym_name()
501 *name = str_tab + name_idx; in e64_get_sym_name()
514 const char *name = NULL; in e64_process_dyn_rela() local
518 e64_get_sym_name(sym_tab, num_syms, str_tab, str_tab_size, rela, &name, in e64_process_dyn_rela()
520 resolve_sym(name, &val, NULL, !weak_undef); in e64_process_dyn_rela()
532 const char *name = NULL; in e64_process_tls_tprel_rela() local
539 &name, &weak_undef); in e64_process_tls_tprel_rela()
540 resolve_sym(name, &symval, &mod, !weak_undef); in e64_process_tls_tprel_rela()