This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Submit process record and replay fourth time, 5/8


On Wednesday 15 April 2009 18:04:48, Hui Zhu wrote:

> 
>  /* Clean out any stray displaced stepping state.  */
> @@ -2130,6 +2132,10 @@ adjust_pc_after_break (struct execution_
>    if (software_breakpoint_inserted_here_p (breakpoint_pc)
>        || (non_stop && moribund_breakpoint_here_p (breakpoint_pc)))
>      {
> +      struct cleanup *old_cleanups = NULL;
> +      if (RECORD_IS_USED)
> +	old_cleanups = record_gdb_operation_disable_set ();
> +
>        /* When using hardware single-step, a SIGTRAP is reported for both
>  	 a completed single-step and a software breakpoint.  Need to
>  	 differentiate between the two, as the latter needs adjusting
> @@ -2153,6 +2159,9 @@ adjust_pc_after_break (struct execution_
>  	  || !currently_stepping (ecs->event_thread)
>  	  || ecs->event_thread->prev_pc == breakpoint_pc)
>  	regcache_write_pc (regcache, breakpoint_pc);
> +
> +      if (old_cleanups)
> +	do_cleanups (old_cleanups);
>      }
>  }

Is this in the last version?  This still has the problem with the
NULL cleanup I've just explained.

-- 
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]