aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2001-11-04 13:51:48 +0000
committerMark Kettenis <kettenis@gnu.org>2001-11-04 13:51:48 +0000
commit1a11ba71e20375b800164239d54fad75d73fa22c (patch)
tree2b4c8efbcd33df44b1cdf2e7066096f7c1f46641
parent0fc087fe4198929d88ee14bc49e4ca94d2639237 (diff)
downloadgdb-1a11ba71e20375b800164239d54fad75d73fa22c.zip
gdb-1a11ba71e20375b800164239d54fad75d73fa22c.tar.gz
gdb-1a11ba71e20375b800164239d54fad75d73fa22c.tar.bz2
* i386-tdep.c (i386_register_offset): Renamed from
i386_register_byte. Made static. (i386_register_size): Renamed from i386_register_raw_size. Made static. (i386_register_virtual_size): Removed. (i386_register_byte, i386_register_raw_size, i386_register_virtual_size): New functions. (_initialize_i386_tdep): Initialize i386_register_offset instead of i386_register_byte. Remove code to initialize i386_register_virtual_size. * config/i386/tm-i386.h (REGISTER_BYTE): Redefine to use i386_register_byte function. (REGISTER_RAW_SIZE): Redefine to use i386_register_raw_size function. (REGISTER_VIRTUAL_SIZE): Redefine to use i386_register_virtual_size function. (i386_register_byte, i386_register_raw_size, i386_register_virtual_size): New functions.
-rw-r--r--gdb/ChangeLog19
-rw-r--r--gdb/config/i386/tm-i386.h22
-rw-r--r--gdb/i386-tdep.c53
3 files changed, 63 insertions, 31 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f8e3b14..bf2af41 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,24 @@
2001-11-04 Mark Kettenis <kettenis@gnu.org>
+ * i386-tdep.c (i386_register_offset): Renamed from
+ i386_register_byte. Made static.
+ (i386_register_size): Renamed from i386_register_raw_size. Made
+ static.
+ (i386_register_virtual_size): Removed.
+ (i386_register_byte, i386_register_raw_size,
+ i386_register_virtual_size): New functions.
+ (_initialize_i386_tdep): Initialize i386_register_offset instead
+ of i386_register_byte. Remove code to initialize
+ i386_register_virtual_size.
+ * config/i386/tm-i386.h (REGISTER_BYTE): Redefine to use
+ i386_register_byte function.
+ (REGISTER_RAW_SIZE): Redefine to use i386_register_raw_size
+ function.
+ (REGISTER_VIRTUAL_SIZE): Redefine to use
+ i386_register_virtual_size function.
+ (i386_register_byte, i386_register_raw_size,
+ i386_register_virtual_size): New functions.
+
* Makefile.in (ALLDEPFILES): Add i387-nat.c.
(i387-nat.o): Add dependencies.
diff --git a/gdb/config/i386/tm-i386.h b/gdb/config/i386/tm-i386.h
index e821700..aba5c15 100644
--- a/gdb/config/i386/tm-i386.h
+++ b/gdb/config/i386/tm-i386.h
@@ -220,22 +220,22 @@ extern int i386_dwarf_reg_to_regnum (int reg);
#endif
#endif
-/* Index within `registers' of the first byte of the space for register N. */
-#define REGISTER_BYTE(n) (i386_register_byte[(n)])
-extern int i386_register_byte[];
+/* Return the offset into the register array of the start of register
+ number REG. */
+#define REGISTER_BYTE(reg) i386_register_byte ((reg))
+extern int i386_register_byte (int reg);
-/* Number of bytes of storage in the actual machine representation for
- register N. */
-#define REGISTER_RAW_SIZE(n) (i386_register_raw_size[(n)])
-extern int i386_register_raw_size[];
+/* Return the number of bytes of storage in GDB's register array
+ occupied by register REG. */
+#define REGISTER_RAW_SIZE(reg) i386_register_raw_size ((reg))
+extern int i386_register_raw_size (int reg);
/* Largest value REGISTER_RAW_SIZE can have. */
#define MAX_REGISTER_RAW_SIZE 16
-/* Number of bytes of storage in the program's representation
- for register N. */
-#define REGISTER_VIRTUAL_SIZE(n) (i386_register_virtual_size[(n)])
-extern int i386_register_virtual_size[];
+/* Return the size in bytes of the virtual type of register REG. */
+#define REGISTER_VIRTUAL_SIZE(reg) i386_register_virtual_size ((reg))
+extern int i386_register_virtual_size (int reg);
/* Largest value REGISTER_VIRTUAL_SIZE can have. */
#define MAX_REGISTER_VIRTUAL_SIZE 16
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 4035e93..15ff15f 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -54,14 +54,14 @@ static char *i386_register_names[] =
"mxcsr"
};
-/* i386_register_byte[i] is the offset into the register file of the
+/* i386_register_offset[i] is the offset into the register file of the
start of register number i. We initialize this from
- i386_register_raw_size. */
-int i386_register_byte[MAX_NUM_REGS];
+ i386_register_size. */
+static int i386_register_offset[MAX_NUM_REGS];
-/* i386_register_raw_size[i] is the number of bytes of storage in
- GDB's register array occupied by register i. */
-int i386_register_raw_size[MAX_NUM_REGS] = {
+/* i386_register_size[i] is the number of bytes of storage in GDB's
+ register array occupied by register i. */
+static int i386_register_size[MAX_NUM_REGS] = {
4, 4, 4, 4,
4, 4, 4, 4,
4, 4, 4, 4,
@@ -75,10 +75,6 @@ int i386_register_raw_size[MAX_NUM_REGS] = {
4
};
-/* i386_register_virtual_size[i] is the size in bytes of the virtual
- type of register i. */
-int i386_register_virtual_size[MAX_NUM_REGS];
-
/* Return the name of register REG. */
char *
@@ -92,6 +88,31 @@ i386_register_name (int reg)
return i386_register_names[reg];
}
+/* Return the offset into the register array of the start of register
+ number REG. */
+int
+i386_register_byte (int reg)
+{
+ return i386_register_offset[reg];
+}
+
+/* Return the number of bytes of storage in GDB's register array
+ occupied by register REG. */
+
+int
+i386_register_raw_size (int reg)
+{
+ return i386_register_size[reg];
+}
+
+/* Return the size in bytes of the virtual type of register REG. */
+
+int
+i386_register_virtual_size (int reg)
+{
+ return TYPE_LENGTH (REGISTER_VIRTUAL_TYPE (reg));
+}
+
/* Convert stabs register number REG to the appropriate register
number used by GDB. */
@@ -1215,19 +1236,11 @@ _initialize_i386_tdep (void)
offset = 0;
for (i = 0; i < MAX_NUM_REGS; i++)
{
- i386_register_byte[i] = offset;
- offset += i386_register_raw_size[i];
+ i386_register_offset[i] = offset;
+ offset += i386_register_size[i];
}
}
- /* Initialize the table of virtual register sizes. */
- {
- int i;
-
- for (i = 0; i < MAX_NUM_REGS; i++)
- i386_register_virtual_size[i] = TYPE_LENGTH (REGISTER_VIRTUAL_TYPE (i));
- }
-
tm_print_insn = gdb_print_insn_i386;
tm_print_insn_info.mach = bfd_lookup_arch (bfd_arch_i386, 0)->mach;