* [RFC] IA64 handling of breakpoints on L in MLX instruction bundles
@ 2002-05-08 12:44 Petr Sorfa
2002-05-08 14:22 ` Kevin Buettner
0 siblings, 1 reply; 2+ messages in thread
From: Petr Sorfa @ 2002-05-08 12:44 UTC (permalink / raw)
To: gdb-patches
Hi,
GDB cannot handle breakpoints on the L instruction type in MLX
instruction bundles.
Current GDB inserts the breakpoint in L (second slot of the bundle). Not
only is this code never executed (it is specifically designed to hold
long integers) it actually changes the value for the associated
instruction (MOVL) in the third slot. So (a) the breakpoint doesn't work
and (b) the actual program has now changed functionally as the
breakpoint will never be hit to revert the instruction bundle to its
correct state.
I have a patch for this. For both the ia64_memory_insert_breakpoint and
ia64_memory_remove_breakpoint routines in ia64-tdep.c a check is made on
the instruction bundle. If it is the second slot and an L type, then the
slot number is bumped up to the 3rd slot. This effectively achieves the
required behaviour.
Is this solution acceptable?
Petr
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [RFC] IA64 handling of breakpoints on L in MLX instruction bundles
2002-05-08 12:44 [RFC] IA64 handling of breakpoints on L in MLX instruction bundles Petr Sorfa
@ 2002-05-08 14:22 ` Kevin Buettner
0 siblings, 0 replies; 2+ messages in thread
From: Kevin Buettner @ 2002-05-08 14:22 UTC (permalink / raw)
To: Petr Sorfa, gdb-patches@sources.redhat.com
On May 8, 3:56pm, Petr Sorfa wrote:
> GDB cannot handle breakpoints on the L instruction type in MLX
> instruction bundles.
>
> Current GDB inserts the breakpoint in L (second slot of the bundle). Not
> only is this code never executed (it is specifically designed to hold
> long integers) it actually changes the value for the associated
> instruction (MOVL) in the third slot. So (a) the breakpoint doesn't work
> and (b) the actual program has now changed functionally as the
> breakpoint will never be hit to revert the instruction bundle to its
> correct state.
>
> I have a patch for this. For both the ia64_memory_insert_breakpoint and
> ia64_memory_remove_breakpoint routines in ia64-tdep.c a check is made on
> the instruction bundle. If it is the second slot and an L type, then the
> slot number is bumped up to the 3rd slot. This effectively achieves the
> required behaviour.
>
> Is this solution acceptable?
Yeah, sounds good. Send a patch to the list for approval.
Thanks,
Kevin
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2002-05-08 21:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-08 12:44 [RFC] IA64 handling of breakpoints on L in MLX instruction bundles Petr Sorfa
2002-05-08 14:22 ` Kevin Buettner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox