Lines Matching defs:name

32 #define __elf_table(name)	(elf->name##_hash)
33 #define __elf_bits(name) (elf->name##_bits)
35 #define __elf_table_entry(name, key) \
36 __elf_table(name)[hash_min(key, __elf_bits(name))]
38 #define elf_hash_add(name, node, key) \
41 __node->next = __elf_table_entry(name, key); \
42 __elf_table_entry(name, key) = __node; \
63 #define elf_hash_del(name, node, key) \
64 __elf_hash_del(node, &__elf_table_entry(name, key))
72 #define elf_hash_for_each_possible(name, obj, member, key) \
73 for (obj = elf_list_entry(__elf_table_entry(name, key), typeof(*obj), member); \
77 #define elf_alloc_hash(name, size) \
79 __elf_bits(name) = max(10, ilog2(size)); \
80 __elf_table(name) = mmap(NULL, sizeof(struct elf_hash_node *) << __elf_bits(name), \
83 if (__elf_table(name) == (void *)-1L) { \
84 WARN("mmap fail " #name); \
85 __elf_table(name) = NULL; \
87 __elf_table(name); \
132 struct section *find_section_by_name(const struct elf *elf, const char *name)
136 elf_hash_for_each_possible(section_name, sec, name_hash, str_hash(name)) {
137 if (!strcmp(sec->name, name))
256 struct symbol *find_symbol_by_name(const struct elf *elf, const char *name)
260 elf_hash_for_each_possible(symbol_name, sym, name_hash, str_hash(name)) {
261 if (!strcmp(sym->name, name))
305 return !strncmp(sec->name, ".debug_", 7);
352 sec->name = elf_strptr(elf->elf, shstrndx, sec->sh.sh_name);
353 if (!sec->name) {
367 sec->name);
374 elf_hash_add(section_name, &sec->name_hash, str_hash(sec->name));
425 elf_hash_add(symbol_name, &sym->name_hash, str_hash(sym->name));
481 sym->name = elf_strptr(elf->elf, symtab->sh.sh_link,
483 if (!sym->name) {
497 sym->name);
501 sym->name = sym->sec->name;
529 coldstr = strstr(sym->name, ".cold");
533 pnamelen = coldstr - sym->name;
535 WARN("%s(): parent function name exceeds maximum length of %d characters",
536 sym->name, MAX_NAME_LEN);
540 strncpy(pname, sym->name, pnamelen);
546 sym->name);
803 sym->name = sec->name;
825 size_t namelen = strlen(orig->name) + sizeof("__pfx_");
826 char *name = malloc(namelen);
828 if (!sym || !name) {
833 snprintf(name, namelen, "__pfx_%s", orig->name);
835 sym->name = name;
838 sym->sym.st_name = elf_add_string(elf, NULL, name);
859 __func__, reloc_idx, rsec->name, sec_num_entries(rsec));
867 __func__, rsec->name, reloc_idx);
897 __func__, sym->name);
927 __func__, sym->name);
954 rsec->name);
974 symndx, rsec->name);
996 struct elf *elf_open_read(const char *name, int flags)
1012 elf->fd = open(name, flags);
1015 name, strerror(errno));
1090 struct section *elf_create_section(struct elf *elf, const char *name,
1112 sec->name = strdup(name);
1113 if (!sec->name) {
1149 /* Add section name to .shstrtab (or .strtab for Clang) */
1157 sec->sh.sh_name = elf_add_string(elf, shstrtab, sec->name);
1163 elf_hash_add(section_name, &sec->name_hash, str_hash(sec->name));
1177 rsec_name = malloc(strlen(sec->name) + strlen(".rela") + 1);
1183 strcat(rsec_name, sec->name);
1209 struct section *elf_create_section_pair(struct elf *elf, const char *name,
1215 sec = elf_create_section(elf, name, entsize, nr);
1232 WARN("write to unexpected data for section: %s", sec->name);