Home
last modified time | relevance | path

Searched refs:ebl (Results 1 – 25 of 168) sorted by relevance

1234567

/external/elfutils/libebl/
Dlibebl.h55 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 …]
Deblinitreg.c37 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()
Deblclosebackend.c40 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()
Deblabicfi.c37 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()
Debl-hooks.h140 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 *);
Deblsectionstripp.c38 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()
Deblobjnote.c47 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 …]
Deblresolvesym.c37 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()
Deblbsspltp.c38 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()
Debldwarftoregno.c36 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()
Deblgotpcreloccheck.c39 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()
Deblrelocvaliduse.c38 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()
Deblnormalizepc.c36 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/
Delflint.c95 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 …]
Dobjdump.c345 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 …]
Dreadelf.c283 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/
Dppc64_resolve_sym.c44 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()
Dsparc_regs.c40 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()
Dia64_symbol.c118 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
Dcommon-reloc.c150 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/
Ddwfl_frame.c49 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 …]
Dframe_unwind.c50 Ebl *ebl = state->thread->process->ebl; in __libdwfl_frame_reg_get() local
51 if (! ebl_dwarf_to_regno (ebl, &regno)) 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, &regno)) 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 …]
Ddwfl_module.c82 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()
Dlinux-core-attach.c44 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/
Ddisasm_begin.c41 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()

1234567