X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Farm-tdep.h;h=e8d07aec164a6c5fd23f86aadaca19b69fb9513b;hb=8ea051c51f64f1f720b12a7424c56ac31ff9a58b;hp=29f23283629b296b2f56d3e70275d99393e311c4;hpb=190dce0965f152d147a0a57a65719c004bbe4648;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/arm-tdep.h b/gdb/arm-tdep.h index 29f2328362..e8d07aec16 100644 --- a/gdb/arm-tdep.h +++ b/gdb/arm-tdep.h @@ -1,11 +1,11 @@ /* Common target dependent code for GDB on ARM systems. - Copyright (C) 2002, 2003, 2007 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2007, 2008 Free Software Foundation, Inc. This file is part of GDB. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -14,9 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ #ifndef ARM_TDEP_H #define ARM_TDEP_H @@ -31,6 +29,7 @@ enum gdb_regnum { ARM_A1_REGNUM = 0, /* first integer-like argument */ ARM_A4_REGNUM = 3, /* last integer-like argument */ ARM_AP_REGNUM = 11, + ARM_IP_REGNUM = 12, ARM_SP_REGNUM = 13, /* Contains address of top of stack */ ARM_LR_REGNUM = 14, /* address to return to from a function call */ ARM_PC_REGNUM = 15, /* Contains program counter */ @@ -39,6 +38,7 @@ enum gdb_regnum { ARM_F7_REGNUM = 23, /* last floating point register */ ARM_FPS_REGNUM = 24, /* floating point status register */ ARM_PS_REGNUM = 25, /* Contains processor status */ + ARM_CPSR_REGNUM = ARM_PS_REGNUM, ARM_WR0_REGNUM, /* WMMX data registers. */ ARM_WR15_REGNUM = ARM_WR0_REGNUM + 15, ARM_WC0_REGNUM, /* WMMX control registers. */ @@ -68,13 +68,8 @@ enum gdb_regnum { bits. DWORD aligned they use 96 bits. */ #define FP_REGISTER_SIZE 12 -/* Status registers are the same size as general purpose registers. - Used for documentation purposes and code readability in this - header. */ -#define STATUS_REGISTER_SIZE 4 - /* Number of machine registers. The only define actually required - is NUM_REGS. The other definitions are used for documentation + is gdbarch_num_regs. The other definitions are used for documentation purposes and code readability. */ /* For 26 bit ARM code, a fake copy of the PC is placed in register 25 (PS) (and called PS for processor status) so the status bits can be cleared @@ -108,6 +103,8 @@ enum gdb_regnum { #define FLAG_C 0x20000000 #define FLAG_V 0x10000000 +#define CPSR_T 0x20 + /* Type of floating-point code in use by inferior. There are really 3 models that are traditionally supported (plus the endianness issue), but gcc can only generate 2 of those. The third is APCS_FLOAT, where arguments to @@ -177,12 +174,9 @@ struct gdbarch_tdep }; - -#ifndef LOWEST_PC -#define LOWEST_PC (gdbarch_tdep (current_gdbarch)->lowest_pc) -#endif - -int arm_software_single_step (struct regcache *); +CORE_ADDR arm_skip_stub (struct frame_info *, CORE_ADDR); +CORE_ADDR arm_get_next_pc (struct frame_info *, CORE_ADDR); +int arm_software_single_step (struct frame_info *); /* Functions exported from armbsd-tdep.h. */