/third_party/elfutils/libebl/ |
D | libebl.h | 50 typedef struct ebl Ebl; 72 extern int ebl_get_elfmachine (Ebl *ebl) __pure_attribute__; 75 extern int ebl_get_elfclass (Ebl *ebl) __pure_attribute__; 78 extern int ebl_get_elfdata (Ebl *ebl) __pure_attribute__; 85 extern const char *ebl_backend_name (Ebl *ebl); 88 extern const char *ebl_reloc_type_name (Ebl *ebl, int reloc, 92 extern bool ebl_reloc_type_check (Ebl *ebl, int reloc); 95 extern bool ebl_reloc_valid_use (Ebl *ebl, int reloc); 101 extern Elf_Type ebl_reloc_simple_type (Ebl *ebl, int reloc, int *addsub); 105 extern bool ebl_gotpc_reloc_check (Ebl *ebl, int reloc); [all …]
|
D | eblinitreg.c | 37 ebl_set_initial_registers_tid (Ebl *ebl, pid_t tid, in ebl_set_initial_registers_tid() argument 43 assert (ebl->set_initial_registers_tid != NULL); in ebl_set_initial_registers_tid() 44 return ebl->set_initial_registers_tid (tid, setfunc, arg); in ebl_set_initial_registers_tid() 48 ebl_frame_nregs (Ebl *ebl) in ebl_frame_nregs() argument 51 return ebl->frame_nregs; in ebl_frame_nregs() 55 ebl_func_addr_mask (Ebl *ebl) in ebl_func_addr_mask() argument 57 return ((ebl == NULL || ebl->func_addr_mask == 0) in ebl_func_addr_mask() 58 ? ~(GElf_Addr)0 : ebl->func_addr_mask); in ebl_func_addr_mask()
|
D | eblabicfi.c | 37 ebl_abi_cfi (Ebl *ebl, Dwarf_CIE *abi_info) in ebl_abi_cfi() argument 39 return ebl == NULL ? -1 : ebl->abi_cfi (ebl, abi_info); in ebl_abi_cfi() 43 ebl_ra_offset (Ebl *ebl) in ebl_ra_offset() argument 45 return ebl->ra_offset; in ebl_ra_offset()
|
D | eblsectionstripp.c | 38 ebl_section_strip_p (Ebl *ebl, const GElf_Shdr *shdr, in ebl_section_strip_p() argument 46 if (ebl_debugscn_p (ebl, name)) in ebl_section_strip_p() 51 Elf_Scn *scn_l = elf_getscn (ebl->elf, (shdr)->sh_info); in ebl_section_strip_p() 57 if (elf_getshdrstrndx (ebl->elf, &shstrndx) != 0) in ebl_section_strip_p() 59 const char *s_l = elf_strptr (ebl->elf, shstrndx, in ebl_section_strip_p() 61 if (s_l != NULL && ebl_debugscn_p (ebl, s_l)) in ebl_section_strip_p()
|
D | eblclosebackend.c | 39 ebl_closebackend (Ebl *ebl) in ebl_closebackend() argument 41 if (ebl != NULL) in ebl_closebackend() 44 ebl->destr (ebl); in ebl_closebackend() 47 free (ebl); in ebl_closebackend()
|
D | ebl-hooks.h | 140 ssize_t EBLHOOK(register_info) (Ebl *ebl, 146 int EBLHOOK(disasm) (Ebl *ebl, const uint8_t **startp, const uint8_t *end, 152 int EBLHOOK(abi_cfi) (Ebl *ebl, Dwarf_CIE *abi_info); 163 bool EBLHOOK(dwarf_to_regno) (Ebl *ebl, unsigned *regno); 167 void EBLHOOK(normalize_pc) (Ebl *ebl, Dwarf_Addr *pc); 177 bool EBLHOOK(unwind) (Ebl *ebl, Dwarf_Addr pc, ebl_tid_registers_t *setfunc, 185 bool EBLHOOK(resolve_sym_value) (Ebl *ebl, GElf_Addr *addr); 188 void EBLHOOK(destr) (struct ebl *);
|
D | eblresolvesym.c | 37 ebl_resolve_sym_value (Ebl *ebl, GElf_Addr *addr) in ebl_resolve_sym_value() argument 39 if (ebl == NULL || ebl->resolve_sym_value == NULL) in ebl_resolve_sym_value() 42 return ebl->resolve_sym_value (ebl, addr); in ebl_resolve_sym_value()
|
D | eblobjnote.c | 47 ebl_object_note (Ebl *ebl, uint32_t namesz, const char *name, uint32_t type, in ebl_object_note() argument 50 if (! ebl->object_note (name, type, descsz, desc)) in ebl_object_note() 72 size_t addrs_size = gelf_fsize (ebl->elf, ELF_T_ADDR, 3, EV_CURRENT); in ebl_object_note() 92 if (gelf_xlatetom (ebl->elf, &dst, &src, in ebl_object_note() 93 elf_getident (ebl->elf, NULL)[EI_DATA]) == NULL) in ebl_object_note() 113 if (gelf_getclass (ebl->elf) == ELFCLASS32) in ebl_object_note() 157 size_t addr_size = gelf_fsize (ebl->elf, ELF_T_ADDR, in ebl_object_note() 175 if (gelf_xlatetom (ebl->elf, &dst, &src, in ebl_object_note() 176 elf_getident (ebl->elf, in ebl_object_note() 346 if (gelf_xlatetom (ebl->elf, &out, &in, in ebl_object_note() [all …]
|
D | eblsymbolbindingname.c | 39 ebl_symbol_binding_name (Ebl *ebl, int binding, char *buf, size_t len) in ebl_symbol_binding_name() argument 43 res = ebl != NULL ? ebl->symbol_type_name (binding, buf, len) : NULL; in ebl_symbol_binding_name() 61 && ebl != NULL in ebl_symbol_binding_name() 62 && (ident = elf_getident (ebl->elf, NULL)) != NULL in ebl_symbol_binding_name()
|
D | eblsymboltypename.c | 39 ebl_symbol_type_name (Ebl *ebl, int symbol, char *buf, size_t len) in ebl_symbol_type_name() argument 43 res = ebl != NULL ? ebl->symbol_type_name (symbol, buf, len) : NULL; in ebl_symbol_type_name() 67 && ebl != NULL in ebl_symbol_type_name() 68 && (ident = elf_getident (ebl->elf, NULL)) != NULL in ebl_symbol_type_name()
|
D | eblbsspltp.c | 38 ebl_bss_plt_p (Ebl *ebl) in ebl_bss_plt_p() argument 40 return ebl == NULL ? false : ebl->bss_plt_p (ebl->elf); in ebl_bss_plt_p()
|
D | eblrelocvaliduse.c | 38 ebl_reloc_valid_use (Ebl *ebl, int reloc) in ebl_reloc_valid_use() argument 40 return ebl != NULL ? ebl->reloc_valid_use (ebl->elf, reloc) : false; in ebl_reloc_valid_use()
|
D | eblgotpcreloccheck.c | 39 ebl_gotpc_reloc_check (Ebl *ebl, int reloc) in ebl_gotpc_reloc_check() argument 41 return ebl != NULL ? ebl->gotpc_reloc_check (ebl->elf, reloc) : false; in ebl_gotpc_reloc_check()
|
/third_party/elfutils/src/ |
D | elflint.c | 94 static void check_note_section (Ebl *ebl, GElf_Ehdr *ehdr, 299 section_name (Ebl *ebl, int idx) in section_name() argument 308 shdr = gelf_getshdr (elf_getscn (ebl->elf, idx), &shdr_mem); in section_name() 312 ret = elf_strptr (ebl->elf, shstrndx, shdr->sh_name); in section_name() 339 check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size) in check_elf_header() argument 375 ebl_osabi_name (ebl, ehdr->e_ident[EI_OSABI], buf, sizeof (buf))); in check_elf_header() 432 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem); in check_elf_header() 449 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem); in check_elf_header() 464 scn = elf_nextscn (ebl->elf, scn); in check_elf_header() 481 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem); in check_elf_header() [all …]
|
D | objdump.c | 344 show_relocs_x (Ebl *ebl, GElf_Shdr *shdr, Elf_Data *symdata, in show_relocs_x() argument 348 int elfclass = gelf_getclass (ebl->elf); in show_relocs_x() 353 ebl_reloc_type_name (ebl, GELF_R_TYPE (r_info), buf, sizeof (buf))); in show_relocs_x() 365 elf_strptr (ebl->elf, symstrndx, sym->st_name)); in show_relocs_x() 370 destshdr = gelf_getshdr (elf_getscn (ebl->elf, in show_relocs_x() 382 elf_strptr (ebl->elf, shstrndx, destshdr->sh_name)); in show_relocs_x() 400 show_relocs_rel (Ebl *ebl, GElf_Shdr *shdr, Elf_Data *data, in show_relocs_rel() argument 404 size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT); in show_relocs_rel() 414 show_relocs_x (ebl, shdr, symdata, xndxdata, symstrndx, shstrndx, in show_relocs_rel() 421 show_relocs_rela (Ebl *ebl, GElf_Shdr *shdr, Elf_Data *data, in show_relocs_rela() argument [all …]
|
D | readelf.c | 299 static void print_ehdr (Ebl *ebl, GElf_Ehdr *ehdr); 300 static void print_shdr (Ebl *ebl, GElf_Ehdr *ehdr); 301 static void print_phdr (Ebl *ebl, GElf_Ehdr *ehdr); 302 static void print_scngrp (Ebl *ebl); 303 static void print_dynamic (Ebl *ebl); 304 static void print_relocs (Ebl *ebl, GElf_Ehdr *ehdr); 305 static void handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, 307 static void handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, 309 static void print_symtab (Ebl *ebl, int type); 310 static void handle_symtab (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr); [all …]
|
/third_party/elfutils/libdwfl/ |
D | dwfl_frame.c | 50 Ebl *ebl = state->thread->process->ebl; in state_fetch_pc() local 52 if (ebl_abi_cfi (ebl, &abi_info) != 0) in state_fetch_pc() 59 if (ra >= ebl_frame_nregs (ebl)) in state_fetch_pc() 64 state->pc = state->regs[ra] + ebl_ra_offset (ebl); in state_fetch_pc() 89 Ebl *ebl = thread->process->ebl; in state_alloc() local 90 size_t nregs = ebl_frame_nregs (ebl); in state_alloc() 117 ebl_closebackend (process->ebl); in __libdwfl_process_free() 156 Ebl *ebl; in dwfl_attach_state() local 160 ebl = ebl_openbackend (elf); in dwfl_attach_state() 165 ebl = NULL; in dwfl_attach_state() [all …]
|
D | frame_unwind.c | 50 Ebl *ebl = state->thread->process->ebl; in __libdwfl_frame_reg_get() local 51 if (! ebl_dwarf_to_regno (ebl, ®no)) in __libdwfl_frame_reg_get() 53 if (regno >= ebl_frame_nregs (ebl)) in __libdwfl_frame_reg_get() 67 Ebl *ebl = state->thread->process->ebl; in __libdwfl_frame_reg_set() local 68 if (! ebl_dwarf_to_regno (ebl, ®no)) in __libdwfl_frame_reg_set() 70 if (regno >= ebl_frame_nregs (ebl)) in __libdwfl_frame_reg_set() 73 if (ebl_get_elfclass (ebl) == ELFCLASS32) in __libdwfl_frame_reg_set() 505 Ebl *ebl = process->ebl; in new_unwound() local 506 size_t nregs = ebl_frame_nregs (ebl); in new_unwound() 547 Ebl *ebl = process->ebl; in handle_cfi() local [all …]
|
D | dwfl_module.c | 81 if (mod->eh_cfi->ebl != NULL && mod->eh_cfi->ebl == mod->ebl) in __libdwfl_module_free() 82 mod->eh_cfi->ebl = NULL; in __libdwfl_module_free() 88 if (mod->dwarf_cfi->ebl != NULL && mod->dwarf_cfi->ebl == mod->ebl) in __libdwfl_module_free() 89 mod->dwarf_cfi->ebl = NULL; in __libdwfl_module_free() 107 if (mod->ebl != NULL) in __libdwfl_module_free() 108 ebl_closebackend (mod->ebl); in __libdwfl_module_free()
|
D | linux-core-attach.c | 44 Ebl *ebl; member 76 unsigned bytes = ebl_get_elfclass (process->ebl) == ELFCLASS64 ? 8 : 4; in core_memory_read() 140 if (! ebl_core_note (core_arg->ebl, &nhdr, name, desc, in core_next_thread() 178 size_t nregs = ebl_frame_nregs (core_arg->ebl); in core_set_initial_registers() 195 int core_note_err = ebl_core_note (core_arg->ebl, &nhdr, name, desc, in core_set_initial_registers() 299 ebl_closebackend (core_arg->ebl); in core_detach() 317 Ebl *ebl = ebl_openbackend (core); in dwfl_core_file_attach() local 318 if (ebl == NULL) in dwfl_core_file_attach() 327 size_t nregs = ebl_frame_nregs (ebl); in dwfl_core_file_attach() 332 ebl_closebackend (ebl); in dwfl_core_file_attach() [all …]
|
/third_party/elfutils/backends/ |
D | ppc64_resolve_sym.c | 44 ppc64_resolve_sym_value (Ebl *ebl, GElf_Addr *addr) in ppc64_resolve_sym_value() argument 46 if (ebl->fd_data != NULL && *addr >= ebl->fd_addr in ppc64_resolve_sym_value() 47 && *addr + sizeof (Elf64_Addr) <= ebl->fd_addr + ebl->fd_data->d_size) in ppc64_resolve_sym_value() 49 GElf_Ehdr ehdr_mem, *ehdr = gelf_getehdr (ebl->elf, &ehdr_mem); in ppc64_resolve_sym_value() 53 opd_in.d_buf = ebl->fd_data->d_buf + (*addr - ebl->fd_addr); in ppc64_resolve_sym_value()
|
D | sparc_regs.c | 40 sparc_register_info (Ebl *ebl, in sparc_register_info() argument 45 const int nfp = 32 + (ebl->class == ELFCLASS32 ? 0 : 16); in sparc_register_info() 46 const int nspec = ebl->class == ELFCLASS32 ? 8 : 6; in sparc_register_info() 54 *bits = ebl->class == ELFCLASS32 ? 32 : 64; in sparc_register_info() 69 if ((ebl->class == ELFCLASS64 ? 0 : 4) + 1 - (unsigned int) regno <= 1) in sparc_register_info() 71 return stpncpy (name, names[ebl->class == ELFCLASS64][regno], in sparc_register_info()
|
D | ia64_symbol.c | 118 ia64_reloc_simple_type (Ebl *ebl, int type, in ia64_reloc_simple_type() argument 130 if (ebl->data == ELFDATA2MSB) in ia64_reloc_simple_type() 135 if (ebl->data == ELFDATA2LSB) in ia64_reloc_simple_type() 140 if (ebl->data == ELFDATA2MSB) in ia64_reloc_simple_type() 145 if (ebl->data == ELFDATA2LSB) in ia64_reloc_simple_type() 155 ia64_check_reloc_target_type (Ebl *ebl __attribute__ ((unused)), Elf64_Word sh_type) in ia64_check_reloc_target_type() argument
|
/third_party/elfutils/libasm/ |
D | disasm_begin.c | 41 disasm_begin (Ebl *ebl, Elf *elf, DisasmGetSymCB_t symcb) in disasm_begin() argument 43 if (ebl == NULL) in disasm_begin() 46 if (ebl->disasm == NULL) in disasm_begin() 59 ctx->ebl = ebl; in disasm_begin()
|
/third_party/elfutils/tests/ |
D | asm-tst4.c | 24 #include ELFUTILS_HEADER(ebl) 45 Ebl *ebl = ebl_openbackend_machine (EM_386); in main() local 46 if (ebl == NULL) in main() 52 ctx = asm_begin (fname, ebl, false); in main() 102 ebl_closebackend (ebl); in main()
|