From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Jacobowitz To: gdb-patches@sources.redhat.com Subject: Re: [PATCH/RFC] Improve the "thread_step_needed" logic Date: Fri, 15 Jun 2001 16:44:00 -0000 Message-id: <20010615164433.A29314@nevyn.them.org> References: <200106152335.f5FNZ9S02028@mvstp600e.cygnus.com> X-SW-Source: 2001-06/msg00310.html On Fri, Jun 15, 2001 at 04:35:09PM -0700, Michael Snyder wrote: > This is a fairly significant change, that both simplifies and > improves the logic for deciding when a single thread should be > stepped (to get past a breakpoint), rather than stepping all threads. > In a nutshell, this replaces the state variable "thread_step_needed" > with the following logic in resume(): While you're fixing this, could you please address my issue from last week with this code? Checking "step" at this point in resume() is not correct, since it will have been cleared if SOFTWARE_SINGLE_STEP_P (). > --- 879,913 ---- > if (should_resume) > { > ptid_t resume_ptid; > + > + resume_ptid = RESUME_ALL; /* Default */ > > ! if ((step || singlestep_breakpoints_inserted_p) && > ! !breakpoints_inserted && breakpoint_here_p (read_pc ())) > + > + #ifdef CANNOT_STEP_BREAKPOINT > + /* Most targets can step a breakpoint instruction, thus executing it > + normally. But if this one cannot, just continue and we will hit > + it anyway. */ > + if (step && breakpoints_inserted && breakpoint_here_p (read_pc ())) > + step = 0; > + #endif Specifically, those bits. -- Daniel Jacobowitz Debian GNU/Linux Developer Monta Vista Software Debian Security Team