From: Michael Snyder <msnyder@cygnus.com>
To: gdb-patches@sources.redhat.com
Cc: cagney@redhat.com, rearnsha@arm.com
Subject: [RFA] Arm: change #defines to enums
Date: Thu, 18 Apr 2002 15:26:00 -0000 [thread overview]
Message-ID: <200204182214.g3IMEki03718@reddwarf.sfbay.redhat.com> (raw)
Is this OK with folks?
2002-04-18 Michael Snyder <msnyder@redhat.com>
* arm-tdep.h: Change defines to enums for ease of debugging.
Index: arm-tdep.h
===================================================================
RCS file: /cvs/src/src/gdb/arm-tdep.h,v
retrieving revision 1.6
diff -c -3 -p -r1.6 arm-tdep.h
*** arm-tdep.h 19 Feb 2002 19:20:31 -0000 1.6
--- arm-tdep.h 18 Apr 2002 22:24:29 -0000
***************
*** 25,103 ****
the user is concerned but do serve to get the desired values when
passed to read_register. */
! #define ARM_A1_REGNUM 0 /* first integer-like argument */
! #define ARM_A4_REGNUM 3 /* last integer-like argument */
! #define ARM_AP_REGNUM 11
! #define ARM_SP_REGNUM 13 /* Contains address of top of stack */
! #define ARM_LR_REGNUM 14 /* address to return to from a function call */
! #define ARM_PC_REGNUM 15 /* Contains program counter */
! #define ARM_F0_REGNUM 16 /* first floating point register */
! #define ARM_F3_REGNUM 19 /* last floating point argument register */
! #define ARM_F7_REGNUM 23 /* last floating point register */
! #define ARM_FPS_REGNUM 24 /* floating point status register */
! #define ARM_PS_REGNUM 25 /* Contains processor status */
!
! #define ARM_FP_REGNUM 11 /* Frame register in ARM code, if used. */
! #define THUMB_FP_REGNUM 7 /* Frame register in Thumb code, if used. */
!
! #define ARM_NUM_ARG_REGS 4
! #define ARM_LAST_ARG_REGNUM ARM_A4_REGNUM
! #define ARM_NUM_FP_ARG_REGS 4
! #define ARM_LAST_FP_ARG_REGNUM ARM_F3_REGNUM
!
! /* Size of integer registers. */
! #define INT_REGISTER_RAW_SIZE 4
! #define INT_REGISTER_VIRTUAL_SIZE 4
!
! /* Say how long FP registers are. Used for documentation purposes and
! code readability in this header. IEEE extended doubles are 80
! bits. DWORD aligned they use 96 bits. */
! #define FP_REGISTER_RAW_SIZE 12
!
! /* GCC doesn't support long doubles (extended IEEE values). The FP
! register virtual size is therefore 64 bits. Used for documentation
! purposes and code readability in this header. */
! #define FP_REGISTER_VIRTUAL_SIZE 8
!
! /* 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
! 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
! from the PC (register 15). For 32 bit ARM code, a copy of CPSR is placed
! in PS. */
! #define NUM_FREGS 8 /* Number of floating point registers. */
! #define NUM_SREGS 2 /* Number of status registers. */
! #define NUM_GREGS 16 /* Number of general purpose registers. */
/* Instruction condition field values. */
! #define INST_EQ 0x0
! #define INST_NE 0x1
! #define INST_CS 0x2
! #define INST_CC 0x3
! #define INST_MI 0x4
! #define INST_PL 0x5
! #define INST_VS 0x6
! #define INST_VC 0x7
! #define INST_HI 0x8
! #define INST_LS 0x9
! #define INST_GE 0xa
! #define INST_LT 0xb
! #define INST_GT 0xc
! #define INST_LE 0xd
! #define INST_AL 0xe
! #define INST_NV 0xf
!
! #define FLAG_N 0x80000000
! #define FLAG_Z 0x40000000
! #define FLAG_C 0x20000000
! #define FLAG_V 0x10000000
/* ABI variants that we know about. If you add to this enum, please
update the table of names in tm-arm.c. */
--- 25,113 ----
the user is concerned but do serve to get the desired values when
passed to read_register. */
! enum gdb_regnum {
! ARM_A1_REGNUM = 0, /* first integer-like argument */
! ARM_A4_REGNUM = 3, /* last integer-like argument */
! ARM_AP_REGNUM = 11,
! 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 */
! ARM_F0_REGNUM = 16, /* first floating point register */
! ARM_F3_REGNUM = 19, /* last floating point argument register */
! ARM_F7_REGNUM = 23, /* last floating point register */
! ARM_FPS_REGNUM = 24, /* floating point status register */
! ARM_PS_REGNUM = 25, /* Contains processor status */
! ARM_FP_REGNUM = 11, /* Frame register in ARM code, if used. */
! THUMB_FP_REGNUM = 7, /* Frame register in Thumb code, if used. */
! ARM_NUM_ARG_REGS = 4,
! ARM_LAST_ARG_REGNUM = ARM_A4_REGNUM,
! ARM_NUM_FP_ARG_REGS = 4,
! ARM_LAST_FP_ARG_REGNUM = ARM_F3_REGNUM
! };
!
! enum gdb_arm_const {
! INT_REGISTER_RAW_SIZE = 4,
! INT_REGISTER_VIRTUAL_SIZE = 4,
!
! /* Say how long FP registers are. Used for documentation purposes
! and code readability in this header. IEEE extended doubles are
! 80 bits. DWORD aligned they use 96 bits. */
!
! FP_REGISTER_RAW_SIZE = 12,
!
! /* GCC doesn't support long doubles (extended IEEE values). The FP
! register virtual size is therefore 64 bits. Used for
! documentation purposes and code readability in this header. */
!
! FP_REGISTER_VIRTUAL_SIZE = 8,
!
! /* Status registers are the same size as general purpose registers.
! Used for documentation purposes and code readability in this
! header. */
!
! STATUS_REGISTER_SIZE = 4,
!
! /* Number of machine registers. The only define actually required
! is 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 from the PC (register 15). For 32 bit ARM code, a
! copy of CPSR is placed in PS. */
!
! NUM_FREGS = 8, /* Number of floating point registers. */
! NUM_SREGS = 2, /* Number of status registers. */
! NUM_GREGS = 16, /* Number of general purpose registers. */
! GDB_NUM_REGS = (NUM_FREGS + NUM_SREGS + NUM_GREGS)
+ };
/* Instruction condition field values. */
! enum gdb_condition_field {
! INST_EQ = 0x0,
! INST_NE = 0x1,
! INST_CS = 0x2,
! INST_CC = 0x3,
! INST_MI = 0x4,
! INST_PL = 0x5,
! INST_VS = 0x6,
! INST_VC = 0x7,
! INST_HI = 0x8,
! INST_LS = 0x9,
! INST_GE = 0xa,
! INST_LT = 0xb,
! INST_GT = 0xc,
! INST_LE = 0xd,
! INST_AL = 0xe,
! INST_NV = 0xf
! };
!
! enum gdb_condition_flag {
! FLAG_N = 0x80000000,
! FLAG_Z = 0x40000000,
! FLAG_C = 0x20000000,
! FLAG_V = 0x10000000
! };
/* ABI variants that we know about. If you add to this enum, please
update the table of names in tm-arm.c. */
next reply other threads:[~2002-04-18 22:26 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-18 15:26 Michael Snyder [this message]
2002-04-19 3:23 ` Richard Earnshaw
2002-04-19 11:40 ` Michael Snyder
2002-04-19 13:35 ` Elena Zannoni
2002-04-19 16:42 ` Michael Snyder
2002-04-22 3:36 ` Richard Earnshaw
2002-04-22 15:47 ` Michael Snyder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200204182214.g3IMEki03718@reddwarf.sfbay.redhat.com \
--to=msnyder@cygnus.com \
--cc=cagney@redhat.com \
--cc=gdb-patches@sources.redhat.com \
--cc=rearnsha@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox