projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* i386v4-nat.c (supply_gregset, supply_fpregset, fill_gregset)
[deliverable/binutils-gdb.git]
/
gdb
/
i386v4-nat.c
diff --git
a/gdb/i386v4-nat.c
b/gdb/i386v4-nat.c
index 7de8c148034272e83bcbfb888e7d9d76002e6a36..c21b9ea1d5598d5689ea6dbb27f38d97826c6fa9 100644
(file)
--- a/
gdb/i386v4-nat.c
+++ b/
gdb/i386v4-nat.c
@@
-1,6
+1,7
@@
-/* Native-dependent code for SVR4 Unix running on i386's.
+/* Native-dependent code for Unix SVR4 running on i386's.
+
Copyright 1988, 1989, 1991, 1992, 1996, 1997, 1998, 1999, 2000,
Copyright 1988, 1989, 1991, 1992, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002
+ 2001, 2002
, 2004
Free Software Foundation, Inc.
This file is part of GDB.
Free Software Foundation, Inc.
This file is part of GDB.
@@
-36,7
+37,9
@@
#include <sys/procfs.h>
#include <sys/procfs.h>
-/* Prototypes for supply_gregset etc. */
+/* We must not compile this code for 64-bit Solaris x86. */
+#if !defined (PR_MODEL_NATIVE) || (PR_MODEL_NATIVE == PR_MODEL_ILP32)
+
#include "gregset.h"
/* The `/proc' interface divides the target machine's register set up
#include "gregset.h"
/* The `/proc' interface divides the target machine's register set up
@@
-95,7
+98,7
@@
static int regmap[] =
EAX, ECX, EDX, EBX,
UESP, EBP, ESI, EDI,
EIP, EFL, CS, SS,
EAX, ECX, EDX, EBX,
UESP, EBP, ESI, EDI,
EIP, EFL, CS, SS,
- DS, ES, FS, GS
,
+ DS, ES, FS, GS
};
/* Fill GDB's register array with the general-purpose register values
};
/* Fill GDB's register array with the general-purpose register values
@@
-105,25
+108,25
@@
void
supply_gregset (gregset_t *gregsetp)
{
greg_t *regp = (greg_t *) gregsetp;
supply_gregset (gregset_t *gregsetp)
{
greg_t *regp = (greg_t *) gregsetp;
- int
i
;
+ int
regnum
;
- for (
i = 0; i < I386_NUM_GREGS; i
++)
-
supply_register (i, (char *) (regp + regmap[i])
);
+ for (
regnum = 0; regnum < I386_NUM_GREGS; regnum
++)
+
regcache_raw_supply (current_regcache, regnum, regp + regmap[regnum]
);
}
}
-/* Fill register REGN
O
(if it is a general-purpose register) in
- *GREGSETPS with the value in GDB's register array. If REGN
O
is -1,
+/* Fill register REGN
UM
(if it is a general-purpose register) in
+ *GREGSETPS with the value in GDB's register array. If REGN
UM
is -1,
do this for all registers. */
void
do this for all registers. */
void
-fill_gregset (gregset_t *gregsetp, int regn
o
)
+fill_gregset (gregset_t *gregsetp, int regn
um
)
{
greg_t *regp = (greg_t *) gregsetp;
int i;
for (i = 0; i < I386_NUM_GREGS; i++)
{
greg_t *regp = (greg_t *) gregsetp;
int i;
for (i = 0; i < I386_NUM_GREGS; i++)
- if (regn
o == -1 || regno
== i)
- regcache_
collect (
i, regp + regmap[i]);
+ if (regn
um == -1 || regnum
== i)
+ regcache_
raw_collect (current_regcache,
i, regp + regmap[i]);
}
#endif /* HAVE_GREGSET_T */
}
#endif /* HAVE_GREGSET_T */
@@
-139,7
+142,7
@@
supply_fpregset (fpregset_t *fpregsetp)
if (FP0_REGNUM == 0)
return;
if (FP0_REGNUM == 0)
return;
- i387_supply_fsave (
(char *)
fpregsetp);
+ i387_supply_fsave (
current_regcache, -1,
fpregsetp);
}
/* Fill register REGNO (if it is a floating-point register) in
}
/* Fill register REGNO (if it is a floating-point register) in
@@
-157,4
+160,6
@@
fill_fpregset (fpregset_t *fpregsetp, int regno)
#endif /* HAVE_FPREGSET_T */
#endif /* HAVE_FPREGSET_T */
+#endif /* not 64-bit. */
+
#endif /* HAVE_SYS_PROCFS_H */
#endif /* HAVE_SYS_PROCFS_H */
This page took
0.02463 seconds
and
4
git commands to generate.