Home
last modified time | relevance | path

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

1234567

/third_party/elfutils/libebl/
Dlibebl.h50 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 …]
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()
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()
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()
Deblclosebackend.c39 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()
Debl-hooks.h140 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 *);
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()
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()
346 if (gelf_xlatetom (ebl->elf, &out, &in, in ebl_object_note()
[all …]
Deblsymbolbindingname.c39 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()
Deblsymboltypename.c39 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()
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()
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()
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()
/third_party/elfutils/src/
Delflint.c94 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 …]
Dobjdump.c344 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 …]
Dreadelf.c299 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/
Ddwfl_frame.c50 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 …]
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()
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 …]
Ddwfl_module.c81 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()
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()
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/
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
/third_party/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()
/third_party/elfutils/tests/
Dasm-tst4.c24 #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()

1234567