mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-30 12:44:10 +08:00
* rs6000-tdep.c (rs6000_gdbarch_init): Setup displaced stepping
*before* calling gdbarch_init_osabi. (rs6000_aix_init_osabi): Disable displaced stepping.
This commit is contained in:
parent
b52323fa6f
commit
2454a0247b
@ -1,3 +1,9 @@
|
||||
2008-09-05 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* rs6000-tdep.c (rs6000_gdbarch_init): Setup displaced stepping
|
||||
*before* calling gdbarch_init_osabi.
|
||||
(rs6000_aix_init_osabi): Disable displaced stepping.
|
||||
|
||||
2008-09-05 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* target.c (update_current_target): Do not inherit to_open
|
||||
|
@ -714,6 +714,13 @@ rs6000_aix_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
||||
/* RS6000/AIX does not support PT_STEP. Has to be simulated. */
|
||||
set_gdbarch_software_single_step (gdbarch, rs6000_software_single_step);
|
||||
|
||||
/* Displaced stepping is currently not supported in combination with
|
||||
software single-stepping. */
|
||||
set_gdbarch_displaced_step_copy_insn (gdbarch, NULL);
|
||||
set_gdbarch_displaced_step_fixup (gdbarch, NULL);
|
||||
set_gdbarch_displaced_step_free_closure (gdbarch, NULL);
|
||||
set_gdbarch_displaced_step_location (gdbarch, NULL);
|
||||
|
||||
set_gdbarch_push_dummy_call (gdbarch, rs6000_push_dummy_call);
|
||||
set_gdbarch_return_value (gdbarch, rs6000_return_value);
|
||||
set_gdbarch_long_double_bit (gdbarch, 8 * TARGET_CHAR_BIT);
|
||||
|
@ -3669,6 +3669,17 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
/* Frame handling. */
|
||||
dwarf2_frame_set_init_reg (gdbarch, ppc_dwarf2_frame_init_reg);
|
||||
|
||||
/* Setup displaced stepping. */
|
||||
set_gdbarch_displaced_step_copy_insn (gdbarch,
|
||||
simple_displaced_step_copy_insn);
|
||||
set_gdbarch_displaced_step_fixup (gdbarch, ppc_displaced_step_fixup);
|
||||
set_gdbarch_displaced_step_free_closure (gdbarch,
|
||||
simple_displaced_step_free_closure);
|
||||
set_gdbarch_displaced_step_location (gdbarch,
|
||||
displaced_step_at_entry_point);
|
||||
|
||||
set_gdbarch_max_insn_length (gdbarch, PPC_INSN_SIZE);
|
||||
|
||||
/* Hook in ABI-specific overrides, if they have been registered. */
|
||||
info.target_desc = tdesc;
|
||||
info.tdep_info = (void *) tdesc_data;
|
||||
@ -3732,17 +3743,6 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
gdb_assert (gdbarch_num_regs (gdbarch)
|
||||
+ gdbarch_num_pseudo_regs (gdbarch) == cur_reg);
|
||||
|
||||
/* Setup displaced stepping. */
|
||||
set_gdbarch_displaced_step_copy_insn (gdbarch,
|
||||
simple_displaced_step_copy_insn);
|
||||
set_gdbarch_displaced_step_fixup (gdbarch, ppc_displaced_step_fixup);
|
||||
set_gdbarch_displaced_step_free_closure (gdbarch,
|
||||
simple_displaced_step_free_closure);
|
||||
set_gdbarch_displaced_step_location (gdbarch,
|
||||
displaced_step_at_entry_point);
|
||||
|
||||
set_gdbarch_max_insn_length (gdbarch, PPC_INSN_SIZE);
|
||||
|
||||
return gdbarch;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user