* arm-tdep.c (arm_write_pc): New function.
(arm_gdbarch_init): Call set_gdbarch_write_pc.
This commit is contained in:
parent
e74f0f0215
commit
756fe439bb
2 changed files with 23 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2004-01-17 Daniel Jacobowitz <drow@mvista.com>
|
||||
|
||||
* arm-tdep.c (arm_write_pc): New function.
|
||||
(arm_gdbarch_init): Call set_gdbarch_write_pc.
|
||||
|
||||
2004-01-17 Daniel Jacobowitz <drow@mvista.com>
|
||||
|
||||
* breakpoint.c (must_shift_inst_regs): Delete.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* Common target dependent code for GDB on ARM systems.
|
||||
Copyright 1988, 1989, 1991, 1992, 1993, 1995, 1996, 1998, 1999, 2000,
|
||||
2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
|
@ -2689,6 +2689,21 @@ arm_coff_make_msymbol_special(int val, struct minimal_symbol *msym)
|
|||
MSYMBOL_SET_SPECIAL (msym);
|
||||
}
|
||||
|
||||
static void
|
||||
arm_write_pc (CORE_ADDR pc, ptid_t ptid)
|
||||
{
|
||||
write_register_pid (ARM_PC_REGNUM, pc, ptid);
|
||||
|
||||
/* If necessary, set the T bit. */
|
||||
if (arm_apcs_32)
|
||||
{
|
||||
CORE_ADDR val = read_register_pid (ARM_PS_REGNUM, ptid);
|
||||
if (arm_pc_is_thumb (pc))
|
||||
write_register_pid (ARM_PS_REGNUM, val | 0x20, ptid);
|
||||
else
|
||||
write_register_pid (ARM_PS_REGNUM, val & ~(CORE_ADDR) 0x20, ptid);
|
||||
}
|
||||
}
|
||||
|
||||
static enum gdb_osabi
|
||||
arm_elf_osabi_sniffer (bfd *abfd)
|
||||
|
@ -2851,6 +2866,8 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
|||
|
||||
set_gdbarch_push_dummy_call (gdbarch, arm_push_dummy_call);
|
||||
|
||||
set_gdbarch_write_pc (gdbarch, arm_write_pc);
|
||||
|
||||
/* Frame handling. */
|
||||
set_gdbarch_unwind_dummy_id (gdbarch, arm_unwind_dummy_id);
|
||||
set_gdbarch_unwind_pc (gdbarch, arm_unwind_pc);
|
||||
|
|
Loading…
Reference in a new issue