* go32-nat.c (fetch_register, store_register): Pass the regcache
gdbarch to i386_fp_regnum_p and i386_fpc_regnum_p. (go32_xfer_memory): Change type of myaddr parameter to gdb_byte. (struct seg_descr, struct seg_descr): pack the whole struct instead of each member individually.
This commit is contained in:
parent
509238d642
commit
9d0b3624aa
2 changed files with 38 additions and 28 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2008-08-09 Pedro Alves <pedro@codesourcery.com>
|
||||||
|
|
||||||
|
* go32-nat.c (fetch_register, store_register): Pass the regcache
|
||||||
|
gdbarch to i386_fp_regnum_p and i386_fpc_regnum_p.
|
||||||
|
(go32_xfer_memory): Change type of myaddr parameter to gdb_byte.
|
||||||
|
(struct seg_descr, struct seg_descr): pack the whole struct
|
||||||
|
instead of each member individually.
|
||||||
|
|
||||||
2008-08-09 Andreas Schwab <schwab@suse.de>
|
2008-08-09 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
* python/python.c (_initialize_python): Use unabbreviated commands
|
* python/python.c (_initialize_python): Use unabbreviated commands
|
||||||
|
|
|
@ -176,7 +176,7 @@ static void go32_fetch_registers (struct regcache *, int regno);
|
||||||
static void store_register (const struct regcache *, int regno);
|
static void store_register (const struct regcache *, int regno);
|
||||||
static void go32_store_registers (struct regcache *, int regno);
|
static void go32_store_registers (struct regcache *, int regno);
|
||||||
static void go32_prepare_to_store (struct regcache *);
|
static void go32_prepare_to_store (struct regcache *);
|
||||||
static int go32_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len,
|
static int go32_xfer_memory (CORE_ADDR memaddr, gdb_byte *myaddr, int len,
|
||||||
int write,
|
int write,
|
||||||
struct mem_attrib *attrib,
|
struct mem_attrib *attrib,
|
||||||
struct target_ops *target);
|
struct target_ops *target);
|
||||||
|
@ -465,10 +465,11 @@ go32_wait (ptid_t ptid, struct target_waitstatus *status)
|
||||||
static void
|
static void
|
||||||
fetch_register (struct regcache *regcache, int regno)
|
fetch_register (struct regcache *regcache, int regno)
|
||||||
{
|
{
|
||||||
if (regno < gdbarch_fp0_regnum (get_regcache_arch (regcache)))
|
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||||
|
if (regno < gdbarch_fp0_regnum (gdbarch))
|
||||||
regcache_raw_supply (regcache, regno,
|
regcache_raw_supply (regcache, regno,
|
||||||
(char *) &a_tss + regno_mapping[regno].tss_ofs);
|
(char *) &a_tss + regno_mapping[regno].tss_ofs);
|
||||||
else if (i386_fp_regnum_p (regno) || i386_fpc_regnum_p (regno))
|
else if (i386_fp_regnum_p (gdbarch, regno) || i386_fpc_regnum_p (gdbarch, regno))
|
||||||
i387_supply_fsave (regcache, regno, &npx);
|
i387_supply_fsave (regcache, regno, &npx);
|
||||||
else
|
else
|
||||||
internal_error (__FILE__, __LINE__,
|
internal_error (__FILE__, __LINE__,
|
||||||
|
@ -493,10 +494,11 @@ go32_fetch_registers (struct regcache *regcache, int regno)
|
||||||
static void
|
static void
|
||||||
store_register (const struct regcache *regcache, int regno)
|
store_register (const struct regcache *regcache, int regno)
|
||||||
{
|
{
|
||||||
if (regno < gdbarch_fp0_regnum (get_regcache_arch (regcache)))
|
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||||
|
if (regno < gdbarch_fp0_regnum (gdbarch))
|
||||||
regcache_raw_collect (regcache, regno,
|
regcache_raw_collect (regcache, regno,
|
||||||
(char *) &a_tss + regno_mapping[regno].tss_ofs);
|
(char *) &a_tss + regno_mapping[regno].tss_ofs);
|
||||||
else if (i386_fp_regnum_p (regno) || i386_fpc_regnum_p (regno))
|
else if (i386_fp_regnum_p (gdbarch, regno) || i386_fpc_regnum_p (gdbarch, regno))
|
||||||
i387_collect_fsave (regcache, regno, &npx);
|
i387_collect_fsave (regcache, regno, &npx);
|
||||||
else
|
else
|
||||||
internal_error (__FILE__, __LINE__,
|
internal_error (__FILE__, __LINE__,
|
||||||
|
@ -524,7 +526,7 @@ go32_prepare_to_store (struct regcache *regcache)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
go32_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write,
|
go32_xfer_memory (CORE_ADDR memaddr, gdb_byte *myaddr, int len, int write,
|
||||||
struct mem_attrib *attrib, struct target_ops *target)
|
struct mem_attrib *attrib, struct target_ops *target)
|
||||||
{
|
{
|
||||||
if (write)
|
if (write)
|
||||||
|
@ -1261,30 +1263,30 @@ go32_sysinfo (char *arg, int from_tty)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct seg_descr {
|
struct seg_descr {
|
||||||
unsigned short limit0 __attribute__((packed));
|
unsigned short limit0;
|
||||||
unsigned short base0 __attribute__((packed));
|
unsigned short base0;
|
||||||
unsigned char base1 __attribute__((packed));
|
unsigned char base1;
|
||||||
unsigned stype:5 __attribute__((packed));
|
unsigned stype:5;
|
||||||
unsigned dpl:2 __attribute__((packed));
|
unsigned dpl:2;
|
||||||
unsigned present:1 __attribute__((packed));
|
unsigned present:1;
|
||||||
unsigned limit1:4 __attribute__((packed));
|
unsigned limit1:4;
|
||||||
unsigned available:1 __attribute__((packed));
|
unsigned available:1;
|
||||||
unsigned dummy:1 __attribute__((packed));
|
unsigned dummy:1;
|
||||||
unsigned bit32:1 __attribute__((packed));
|
unsigned bit32:1;
|
||||||
unsigned page_granular:1 __attribute__((packed));
|
unsigned page_granular:1;
|
||||||
unsigned char base2 __attribute__((packed));
|
unsigned char base2;
|
||||||
};
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
struct gate_descr {
|
struct gate_descr {
|
||||||
unsigned short offset0 __attribute__((packed));
|
unsigned short offset0;
|
||||||
unsigned short selector __attribute__((packed));
|
unsigned short selector;
|
||||||
unsigned param_count:5 __attribute__((packed));
|
unsigned param_count:5;
|
||||||
unsigned dummy:3 __attribute__((packed));
|
unsigned dummy:3;
|
||||||
unsigned stype:5 __attribute__((packed));
|
unsigned stype:5;
|
||||||
unsigned dpl:2 __attribute__((packed));
|
unsigned dpl:2;
|
||||||
unsigned present:1 __attribute__((packed));
|
unsigned present:1;
|
||||||
unsigned short offset1 __attribute__((packed));
|
unsigned short offset1;
|
||||||
};
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
/* Read LEN bytes starting at logical address ADDR, and put the result
|
/* Read LEN bytes starting at logical address ADDR, and put the result
|
||||||
into DEST. Return 1 if success, zero if not. */
|
into DEST. Return 1 if success, zero if not. */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue