Lines Matching refs:proc

197 arch_dynlink_done(struct process *proc)  in arch_dynlink_done()  argument
201 while ((libsym = proc_each_symbol(proc, libsym, in arch_dynlink_done()
203 if (proc_read_64(proc, libsym->enter_addr, in arch_dynlink_done()
212 if (proc->e_machine == EM_PPC) in arch_dynlink_done()
215 if (proc_activate_delayed_symbol(proc, libsym) < 0) in arch_dynlink_done()
218 if (proc->e_machine == EM_PPC) in arch_dynlink_done()
284 arch_translate_address_dyn(struct process *proc, in arch_translate_address_dyn() argument
287 if (proc->e_machine == EM_PPC64) { in arch_translate_address_dyn()
289 if (proc_read_64(proc, addr, &value) < 0) { in arch_translate_address_dyn()
351 sym2addr(struct process *proc, struct library_symbol *sym) in sym2addr() argument
593 read_plt_slot_value(struct process *proc, GElf_Addr addr, GElf_Addr *valp) in read_plt_slot_value() argument
601 if (proc_read_64(proc, (arch_addr_t)(uintptr_t)addr, &l) < 0) { in read_plt_slot_value()
612 unresolve_plt_slot(struct process *proc, GElf_Addr addr, GElf_Addr value) in unresolve_plt_slot() argument
618 if (ptrace(PTRACE_POKETEXT, proc->pid, addr, value) < 0) { in unresolve_plt_slot()
627 arch_elf_add_func_entry(struct process *proc, struct ltelf *lte, in arch_elf_add_func_entry() argument
665 if (elf_add_plt_entry(proc, lte, name, rela, in arch_elf_add_func_entry()
691 arch_elf_add_plt_entry(struct process *proc, struct ltelf *lte, in arch_elf_add_plt_entry() argument
714 if (default_elf_add_plt_entry(proc, lte, name, rela, ndx, in arch_elf_add_plt_entry()
765 if (read_plt_slot_value(proc, plt_slot_addr, &plt_slot_value) < 0) in arch_elf_add_plt_entry()
825 dl_plt_update_bp_on_hit(struct breakpoint *bp, struct process *proc) in dl_plt_update_bp_on_hit() argument
828 proc->pid, breakpoint_name(bp), bp->addr); in dl_plt_update_bp_on_hit()
829 struct process_stopping_handler *self = proc->arch.handler; in dl_plt_update_bp_on_hit()
834 if (read_plt_slot_value(proc, libsym->arch.plt_slot_addr, &value) < 0) in dl_plt_update_bp_on_hit()
838 if (proc->e_machine == EM_PPC64) in dl_plt_update_bp_on_hit()
839 unresolve_plt_slot(proc, libsym->arch.plt_slot_addr, in dl_plt_update_bp_on_hit()
847 proc->arch.handler = NULL; in dl_plt_update_bp_on_hit()
849 breakpoint_turn_off(bp, proc); in dl_plt_update_bp_on_hit()
865 struct process *proc = self->task_enabling_breakpoint; in cb_keep_stepping_p() local
869 if (read_plt_slot_value(proc, libsym->arch.plt_slot_addr, &value) < 0) in cb_keep_stepping_p()
878 proc->pid, value); in cb_keep_stepping_p()
882 if (proc->e_machine == EM_PPC64 in cb_keep_stepping_p()
883 && unresolve_plt_slot(proc, libsym->arch.plt_slot_addr, in cb_keep_stepping_p()
906 if (proc->e_machine == EM_PPC) in cb_keep_stepping_p()
912 struct process *leader = proc->leader; in cb_keep_stepping_p()
919 arch_addr_t addr = get_instruction_pointer(proc) + 4; in cb_keep_stepping_p()
920 leader->arch.dl_plt_update_bp = insert_breakpoint_at(proc, addr, NULL); in cb_keep_stepping_p()
931 breakpoint_turn_off(leader->arch.dl_plt_update_bp, proc); in cb_keep_stepping_p()
940 jump_to_entry_point(struct process *proc, struct breakpoint *bp) in jump_to_entry_point() argument
946 set_instruction_pointer(proc, rv); in jump_to_entry_point()
950 ppc_plt_bp_continue(struct breakpoint *bp, struct process *proc) in ppc_plt_bp_continue() argument
968 assert(proc->e_machine == EM_PPC); in ppc_plt_bp_continue()
977 leader = proc->leader; in ppc_plt_bp_continue()
981 proc) >= 0) in ppc_plt_bp_continue()
987 (proc, bp, on_all_stopped, keep_stepping_p, NULL) < 0) { in ppc_plt_bp_continue()
990 continue_after_breakpoint(proc, bp); in ppc_plt_bp_continue()
995 if (proc->e_machine == EM_PPC) { in ppc_plt_bp_continue()
996 continue_after_breakpoint(proc, bp); in ppc_plt_bp_continue()
1000 jump_to_entry_point(proc, bp); in ppc_plt_bp_continue()
1001 continue_process(proc->pid); in ppc_plt_bp_continue()
1043 ppc_plt_bp_retract(struct breakpoint *bp, struct process *proc) in ppc_plt_bp_retract() argument
1048 if (proc->e_machine == EM_PPC64 in ppc_plt_bp_retract()
1051 each_task(proc->leader, NULL, detach_task_cb, bp); in ppc_plt_bp_retract()
1052 unresolve_plt_slot(proc, bp->libsym->arch.plt_slot_addr, in ppc_plt_bp_retract()
1058 ppc_plt_bp_install(struct breakpoint *bp, struct process *proc) in ppc_plt_bp_install() argument
1084 if (unresolve_plt_slot(proc, plt_slot_addr, in ppc_plt_bp_install()
1096 proc_remove_breakpoint(proc, bp); in ppc_plt_bp_install()
1152 arch_breakpoint_init(struct process *proc, struct breakpoint *bp) in arch_breakpoint_init() argument
1161 if (proc->e_machine == EM_PPC in arch_breakpoint_init()
1166 if (proc->e_machine == EM_PPC64 in arch_breakpoint_init()
1200 arch_process_init(struct process *proc) in arch_process_init() argument
1202 proc->arch.dl_plt_update_bp = NULL; in arch_process_init()
1203 proc->arch.handler = NULL; in arch_process_init()
1208 arch_process_destroy(struct process *proc) in arch_process_destroy() argument
1213 arch_process_clone(struct process *retp, struct process *proc) in arch_process_clone() argument
1215 retp->arch = proc->arch; in arch_process_clone()
1232 arch_process_exec(struct process *proc) in arch_process_exec() argument
1234 return arch_process_init(proc); in arch_process_exec()