* ia64-tdep.c (ia64_memory_remove_breakpoint): Set

show_memory_breakpoints to 1 while reading the instruction bundle.
This commit is contained in:
Joel Brobecker 2008-04-29 21:14:06 +00:00
parent ea42b34a37
commit 1de34ab72d
2 changed files with 12 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2008-04-29 Joel Brobecker <brobecker@adacore.com>
* ia64-tdep.c (ia64_memory_remove_breakpoint): Set
show_memory_breakpoints to 1 while reading the instruction bundle.
2008-04-29 Joel Brobecker <brobecker@adacore.com>
* gdbarch.sh: Document the return_value method. Explain that

View file

@ -598,9 +598,15 @@ ia64_memory_remove_breakpoint (struct gdbarch *gdbarch,
long long instr;
int val;
int template;
struct cleanup *cleanup;
addr &= ~0x0f;
/* Disable the automatic memory restoration from breakpoints while
we read our instruction bundle. Otherwise, the general restoration
mechanism kicks in and ends up corrupting our bundle, because it
is not aware of the concept of instruction bundles. */
cleanup = make_show_memory_breakpoints_cleanup (1);
val = target_read_memory (addr, bundle, BUNDLE_LEN);
/* Check for L type instruction in 2nd slot, if present then
@ -616,6 +622,7 @@ ia64_memory_remove_breakpoint (struct gdbarch *gdbarch,
if (val == 0)
target_write_memory (addr, bundle, BUNDLE_LEN);
do_cleanups (cleanup);
return val;
}