/external/elfutils/libebl/ |
D | libebl.h | 55 typedef struct ebl Ebl; 76 extern int ebl_get_elfmachine (Ebl *ebl) __pure_attribute__; 79 extern int ebl_get_elfclass (Ebl *ebl) __pure_attribute__; 82 extern int ebl_get_elfdata (Ebl *ebl) __pure_attribute__; 89 extern const char *ebl_backend_name (Ebl *ebl); 92 extern const char *ebl_reloc_type_name (Ebl *ebl, int reloc, 96 extern bool ebl_reloc_type_check (Ebl *ebl, int reloc); 99 extern bool ebl_reloc_valid_use (Ebl *ebl, int reloc); 105 extern Elf_Type ebl_reloc_simple_type (Ebl *ebl, int reloc, int *addsub); 109 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 | eblclosebackend.c | 40 ebl_closebackend (Ebl *ebl) in ebl_closebackend() argument 42 if (ebl != NULL) in ebl_closebackend() 45 ebl->destr (ebl); in ebl_closebackend() 48 if (ebl->dlhandle != NULL) in ebl_closebackend() 49 (void) dlclose (ebl->dlhandle); in ebl_closebackend() 52 free (ebl); in ebl_closebackend()
|
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 | ebl-hooks.h | 140 ssize_t EBLHOOK(register_info) (Ebl *ebl, 146 int EBLHOOK(syscall_abi) (Ebl *ebl, int *sp, int *pc, 150 int EBLHOOK(disasm) (Ebl *ebl, const uint8_t **startp, const uint8_t *end, 156 int EBLHOOK(abi_cfi) (Ebl *ebl, Dwarf_CIE *abi_info); 167 bool EBLHOOK(dwarf_to_regno) (Ebl *ebl, unsigned *regno); 171 void EBLHOOK(normalize_pc) (Ebl *ebl, Dwarf_Addr *pc); 181 bool EBLHOOK(unwind) (Ebl *ebl, Dwarf_Addr pc, ebl_tid_registers_t *setfunc, 189 bool EBLHOOK(resolve_sym_value) (Ebl *ebl, GElf_Addr *addr); 192 void EBLHOOK(destr) (struct ebl *);
|
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 | 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() 342 if (gelf_xlatetom (ebl->elf, &out, &in, in ebl_object_note() [all …]
|
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 | 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 | ebldwarftoregno.c | 36 ebl_dwarf_to_regno (Ebl *ebl, unsigned *regno) in ebl_dwarf_to_regno() argument 39 return ebl->dwarf_to_regno == NULL ? true : ebl->dwarf_to_regno (ebl, regno); in ebl_dwarf_to_regno()
|
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()
|
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 | eblnormalizepc.c | 36 ebl_normalize_pc (Ebl *ebl, Dwarf_Addr *pc) in ebl_normalize_pc() argument 39 if (ebl->normalize_pc != NULL) in ebl_normalize_pc() 40 ebl->normalize_pc (ebl, pc); in ebl_normalize_pc()
|
/external/elfutils/src/ |
D | elflint.c | 95 static void check_note_section (Ebl *ebl, GElf_Ehdr *ehdr, 300 section_name (Ebl *ebl, int idx) in section_name() argument 309 shdr = gelf_getshdr (elf_getscn (ebl->elf, idx), &shdr_mem); in section_name() 313 ret = elf_strptr (ebl->elf, shstrndx, shdr->sh_name); in section_name() 340 check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size) in check_elf_header() argument 376 ebl_osabi_name (ebl, ehdr->e_ident[EI_OSABI], buf, sizeof (buf))); in check_elf_header() 433 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem); in check_elf_header() 450 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem); in check_elf_header() 465 scn = elf_nextscn (ebl->elf, scn); in check_elf_header() 482 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem); in check_elf_header() [all …]
|
D | objdump.c | 345 show_relocs_x (Ebl *ebl, GElf_Shdr *shdr, Elf_Data *symdata, in show_relocs_x() argument 349 int elfclass = gelf_getclass (ebl->elf); in show_relocs_x() 354 ebl_reloc_type_name (ebl, GELF_R_TYPE (r_info), buf, sizeof (buf))); in show_relocs_x() 366 elf_strptr (ebl->elf, symstrndx, sym->st_name)); in show_relocs_x() 371 destshdr = gelf_getshdr (elf_getscn (ebl->elf, in show_relocs_x() 383 elf_strptr (ebl->elf, shstrndx, destshdr->sh_name)); in show_relocs_x() 401 show_relocs_rel (Ebl *ebl, GElf_Shdr *shdr, Elf_Data *data, in show_relocs_rel() argument 405 size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT); in show_relocs_rel() 415 show_relocs_x (ebl, shdr, symdata, xndxdata, symstrndx, shstrndx, in show_relocs_rel() 422 show_relocs_rela (Ebl *ebl, GElf_Shdr *shdr, Elf_Data *data, in show_relocs_rela() argument [all …]
|
D | readelf.c | 283 static void print_ehdr (Ebl *ebl, GElf_Ehdr *ehdr); 284 static void print_shdr (Ebl *ebl, GElf_Ehdr *ehdr); 285 static void print_phdr (Ebl *ebl, GElf_Ehdr *ehdr); 286 static void print_scngrp (Ebl *ebl); 287 static void print_dynamic (Ebl *ebl); 288 static void print_relocs (Ebl *ebl, GElf_Ehdr *ehdr); 289 static void handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, 291 static void handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, 293 static void print_symtab (Ebl *ebl, int type); 294 static void handle_symtab (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr); [all …]
|
/external/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
|
D | common-reloc.c | 150 EBLHOOK(init_reloc) (Ebl *ebl) in EBLHOOK() 152 ebl->reloc_type_name = EBLHOOK(reloc_type_name); in EBLHOOK() 153 ebl->reloc_type_check = EBLHOOK(reloc_type_check); in EBLHOOK() 154 ebl->reloc_valid_use = EBLHOOK(reloc_valid_use); in EBLHOOK() 155 ebl->none_reloc_p = EBLHOOK(none_reloc_p); in EBLHOOK() 157 ebl->copy_reloc_p = EBLHOOK(copy_reloc_p); in EBLHOOK() 160 ebl->relative_reloc_p = EBLHOOK(relative_reloc_p); in EBLHOOK()
|
/external/elfutils/libdwfl/ |
D | dwfl_frame.c | 49 Ebl *ebl = state->thread->process->ebl; in state_fetch_pc() local 51 if (ebl_abi_cfi (ebl, &abi_info) != 0) in state_fetch_pc() 58 if (ra >= ebl_frame_nregs (ebl)) in state_fetch_pc() 63 state->pc = state->regs[ra] + ebl_ra_offset (ebl); in state_fetch_pc() 93 Ebl *ebl = thread->process->ebl; in state_alloc() local 94 size_t nregs = ebl_frame_nregs (ebl); in state_alloc() 121 ebl_closebackend (process->ebl); in __libdwfl_process_free() 160 Ebl *ebl; in dwfl_attach_state() local 164 ebl = ebl_openbackend (elf); in dwfl_attach_state() 169 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() 516 Ebl *ebl = process->ebl; in new_unwound() local 517 size_t nregs = ebl_frame_nregs (ebl); in new_unwound() 558 Ebl *ebl = process->ebl; in handle_cfi() local [all …]
|
D | dwfl_module.c | 82 if (mod->eh_cfi->ebl != NULL && mod->eh_cfi->ebl == mod->ebl) in __libdwfl_module_free() 83 mod->eh_cfi->ebl = NULL; in __libdwfl_module_free() 89 if (mod->dwarf_cfi->ebl != NULL && mod->dwarf_cfi->ebl == mod->ebl) in __libdwfl_module_free() 90 mod->dwarf_cfi->ebl = NULL; in __libdwfl_module_free() 108 if (mod->ebl != NULL) in __libdwfl_module_free() 109 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() 194 int core_note_err = ebl_core_note (core_arg->ebl, &nhdr, name, desc, in core_set_initial_registers() 298 ebl_closebackend (core_arg->ebl); in core_detach() 316 Ebl *ebl = ebl_openbackend (core); in dwfl_core_file_attach() local 317 if (ebl == NULL) in dwfl_core_file_attach() 326 size_t nregs = ebl_frame_nregs (ebl); in dwfl_core_file_attach() 331 ebl_closebackend (ebl); in dwfl_core_file_attach() [all …]
|
/external/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()
|