• R/O
  • HTTP
  • SSH
  • HTTPS

提交

標籤
無標籤

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


Commit MetaInfo

修訂2454a0247b12f34d5eb87f52172722115b0f0915 (tree)
時間2008-09-05 20:58:30
作者Ulrich Weigand <uweigand@de.i...>
CommiterUlrich Weigand

Log Message

* rs6000-tdep.c (rs6000_gdbarch_init): Setup displaced stepping
*before* calling gdbarch_init_osabi.
(rs6000_aix_init_osabi): Disable displaced stepping.

Change Summary

差異

--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
11 2008-09-05 Ulrich Weigand <uweigand@de.ibm.com>
22
3+ * rs6000-tdep.c (rs6000_gdbarch_init): Setup displaced stepping
4+ *before* calling gdbarch_init_osabi.
5+ (rs6000_aix_init_osabi): Disable displaced stepping.
6+
7+2008-09-05 Ulrich Weigand <uweigand@de.ibm.com>
8+
39 * target.c (update_current_target): Do not inherit to_open
410 or to_close.
511 (pop_target): Call target_close on target_stack instead
--- a/gdb/rs6000-aix-tdep.c
+++ b/gdb/rs6000-aix-tdep.c
@@ -714,6 +714,13 @@ rs6000_aix_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
714714 /* RS6000/AIX does not support PT_STEP. Has to be simulated. */
715715 set_gdbarch_software_single_step (gdbarch, rs6000_software_single_step);
716716
717+ /* Displaced stepping is currently not supported in combination with
718+ software single-stepping. */
719+ set_gdbarch_displaced_step_copy_insn (gdbarch, NULL);
720+ set_gdbarch_displaced_step_fixup (gdbarch, NULL);
721+ set_gdbarch_displaced_step_free_closure (gdbarch, NULL);
722+ set_gdbarch_displaced_step_location (gdbarch, NULL);
723+
717724 set_gdbarch_push_dummy_call (gdbarch, rs6000_push_dummy_call);
718725 set_gdbarch_return_value (gdbarch, rs6000_return_value);
719726 set_gdbarch_long_double_bit (gdbarch, 8 * TARGET_CHAR_BIT);
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -3669,6 +3669,17 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
36693669 /* Frame handling. */
36703670 dwarf2_frame_set_init_reg (gdbarch, ppc_dwarf2_frame_init_reg);
36713671
3672+ /* Setup displaced stepping. */
3673+ set_gdbarch_displaced_step_copy_insn (gdbarch,
3674+ simple_displaced_step_copy_insn);
3675+ set_gdbarch_displaced_step_fixup (gdbarch, ppc_displaced_step_fixup);
3676+ set_gdbarch_displaced_step_free_closure (gdbarch,
3677+ simple_displaced_step_free_closure);
3678+ set_gdbarch_displaced_step_location (gdbarch,
3679+ displaced_step_at_entry_point);
3680+
3681+ set_gdbarch_max_insn_length (gdbarch, PPC_INSN_SIZE);
3682+
36723683 /* Hook in ABI-specific overrides, if they have been registered. */
36733684 info.target_desc = tdesc;
36743685 info.tdep_info = (void *) tdesc_data;
@@ -3732,17 +3743,6 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
37323743 gdb_assert (gdbarch_num_regs (gdbarch)
37333744 + gdbarch_num_pseudo_regs (gdbarch) == cur_reg);
37343745
3735- /* Setup displaced stepping. */
3736- set_gdbarch_displaced_step_copy_insn (gdbarch,
3737- simple_displaced_step_copy_insn);
3738- set_gdbarch_displaced_step_fixup (gdbarch, ppc_displaced_step_fixup);
3739- set_gdbarch_displaced_step_free_closure (gdbarch,
3740- simple_displaced_step_free_closure);
3741- set_gdbarch_displaced_step_location (gdbarch,
3742- displaced_step_at_entry_point);
3743-
3744- set_gdbarch_max_insn_length (gdbarch, PPC_INSN_SIZE);
3745-
37463746 return gdbarch;
37473747 }
37483748