Fix automatic restoration of breakpoints memory for ia64.
authorJan Kratochvil <jan.kratochvil@redhat.com>
Wed, 26 Nov 2008 05:27:48 +0000 (05:27 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Wed, 26 Nov 2008 05:27:48 +0000 (05:27 +0000)
commit939c61faffc518af588365f5d39a69da78211578
tree7f36b385b3160f5cad5b7265097ede82dcb21a96
parenta655d4241122ccebd491f8149759ab926766cb0c
Fix automatic restoration of breakpoints memory for ia64.
* ia64-tdep.c: New #if check on BREAKPOINT_MAX vs. BUNDLE_LEN.
(ia64_memory_insert_breakpoint): New comment part for SHADOW_CONTENTS
content.  Remove variable instr.  New variable cleanup.  Force
automatic breakpoints restoration.  PLACED_SIZE and SHADOW_LEN are now
set larger, to BUNDLE_LEN - 2.  Variable `bundle' type update.  Return
error if even just final target_write_memory has failed.
(ia64_memory_remove_breakpoint): Rename variables bundle to bundle_mem
and instr to instr_saved.  New variables bundle_saved and
instr_breakpoint.  Comment new reasons why we need to disable automatic
restoration of breakpoints.  Assert PLACED_SIZE and SHADOW_LEN.  New
check of the original memory content.  Return error if even just final
target_write_memory has failed.
(ia64_breakpoint_from_pc): Implement the emulation of permanent
breakpoints compatible with current bp_loc_is_permanent.
(template_encoding_table): Make it `const'.
* breakpoint.c (bp_loc_is_permanent): Support unsupported software
breakpoints.  New variables `cleanup' and `retval'.
* monitor.c (monitor_insert_breakpoint): Remove unused variable `bp'.
gdb/ChangeLog
gdb/breakpoint.c
gdb/ia64-tdep.c