void valgrind_resume (struct thread_resume *resume_info) { dlog(1, "resume_info step %d sig %d stepping %d\n", resume_info->step, resume_info->sig, stepping); if (valgrind_stopped_by_watchpoint()) { dlog(1, "clearing watchpoint stopped_data_address %p\n", C2v(stopped_data_address)); VG_(set_watchpoint_stop_address) ((Addr) 0); } vki_signal_to_deliver.si_signo = resume_info->sig; /* signal was reported to GDB, GDB told us to resume execution. So, reset the signal to report to 0. */ VG_(memset) (&vki_signal_to_report, 0, sizeof(vki_signal_to_report)); stepping = resume_info->step; resume_pc = (*the_low_target.get_pc) (); if (resume_pc != stop_pc) { dlog(1, "stop_pc %p changed to be resume_pc %s\n", C2v(stop_pc), sym(resume_pc)); } regcache_invalidate(); }
void valgrind_resume (struct thread_resume *resume_info) { dlog(1, "resume_info step %d sig %d stepping %d\n", resume_info->step, resume_info->sig, stepping); if (valgrind_stopped_by_watchpoint()) { dlog(1, "clearing watchpoint stopped_data_address %p\n", C2v(stopped_data_address)); VG_(set_watchpoint_stop_address) ((Addr) 0); } vki_signal_to_deliver = resume_info->sig; stepping = resume_info->step; resume_pc = (*the_low_target.get_pc) (); if (resume_pc != stop_pc) { dlog(1, "stop_pc %p changed to be resume_pc %s\n", C2v(stop_pc), sym(resume_pc)); } regcache_invalidate(); }