+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
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
if (val == 0)
target_write_memory (addr, bundle, BUNDLE_LEN);
+ do_cleanups (cleanup);
return val;
}