projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
2004-07-17 Andrew Cagney <cagney@gnu.org>
[deliverable/binutils-gdb.git]
/
gdb
/
mipsnbsd-tdep.c
diff --git
a/gdb/mipsnbsd-tdep.c
b/gdb/mipsnbsd-tdep.c
index 7776d465ad1cdaad41ae4e90ca941ef8ecc4f0aa..163d5ff0c06b28c2e437fabcfd14f24c631914ad 100644
(file)
--- a/
gdb/mipsnbsd-tdep.c
+++ b/
gdb/mipsnbsd-tdep.c
@@
-1,5
+1,5
@@
/* Target-dependent code for MIPS systems running NetBSD.
/* Target-dependent code for MIPS systems running NetBSD.
- Copyright 2002 Free Software Foundation, Inc.
+ Copyright 2002
, 2003, 2004
Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.
This file is part of GDB.
Contributed by Wasabi Systems, Inc.
This file is part of GDB.
@@
-28,6
+28,7
@@
#include "nbsd-tdep.h"
#include "mipsnbsd-tdep.h"
#include "nbsd-tdep.h"
#include "mipsnbsd-tdep.h"
+#include "mips-tdep.h"
#include "solib-svr4.h"
#include "solib-svr4.h"
@@
-46,7
+47,7
@@
mipsnbsd_supply_reg (char *regs, int regno)
if (CANNOT_FETCH_REGISTER (i))
supply_register (i, NULL);
else
if (CANNOT_FETCH_REGISTER (i))
supply_register (i, NULL);
else
- supply_register (i, regs + (i *
MIPS_REGSIZE
));
+ supply_register (i, regs + (i *
mips_isa_regsize (current_gdbarch)
));
}
}
}
}
}
}
@@
-58,7
+59,7
@@
mipsnbsd_fill_reg (char *regs, int regno)
for (i = 0; i <= PC_REGNUM; i++)
if ((regno == i || regno == -1) && ! CANNOT_STORE_REGISTER (i))
for (i = 0; i <= PC_REGNUM; i++)
if ((regno == i || regno == -1) && ! CANNOT_STORE_REGISTER (i))
- regcache_collect (i, regs + (i *
MIPS_REGSIZE
));
+ regcache_collect (i, regs + (i *
mips_isa_regsize (current_gdbarch)
));
}
void
}
void
@@
-66,14
+67,16
@@
mipsnbsd_supply_fpreg (char *fpregs, int regno)
{
int i;
{
int i;
- for (i = FP0_REGNUM; i <= FCRIR_REGNUM; i++)
+ for (i = FP0_REGNUM;
+ i <= mips_regnum (current_gdbarch)->fp_implementation_revision;
+ i++)
{
if (regno == i || regno == -1)
{
if (CANNOT_FETCH_REGISTER (i))
supply_register (i, NULL);
else
{
if (regno == i || regno == -1)
{
if (CANNOT_FETCH_REGISTER (i))
supply_register (i, NULL);
else
- supply_register (i, fpregs + ((i - FP0_REGNUM) *
MIPS_REGSIZE
));
+ supply_register (i, fpregs + ((i - FP0_REGNUM) *
mips_isa_regsize (current_gdbarch)
));
}
}
}
}
}
}
@@
-83,9
+86,10
@@
mipsnbsd_fill_fpreg (char *fpregs, int regno)
{
int i;
{
int i;
- for (i = FP0_REGNUM; i <= FCRCS_REGNUM; i++)
+ for (i = FP0_REGNUM; i <= mips_regnum (current_gdbarch)->fp_control_status;
+ i++)
if ((regno == i || regno == -1) && ! CANNOT_STORE_REGISTER (i))
if ((regno == i || regno == -1) && ! CANNOT_STORE_REGISTER (i))
- regcache_collect (i, fpregs + ((i - FP0_REGNUM) *
MIPS_REGSIZE
));
+ regcache_collect (i, fpregs + ((i - FP0_REGNUM) *
mips_isa_regsize (current_gdbarch)
));
}
static void
}
static void
@@
-105,7
+109,7
@@
fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, int which,
mipsnbsd_supply_reg (regs, -1);
/* Floating point registers. */
mipsnbsd_supply_reg (regs, -1);
/* Floating point registers. */
- mipsnbsd_supply_fpreg (regs, -1);
+ mipsnbsd_supply_fpreg (
fp
regs, -1);
}
static void
}
static void
@@
-217,13
+221,6
@@
mipsnbsd_sigtramp_offset (CORE_ADDR pc)
return -1;
}
return -1;
}
-static int
-mipsnbsd_pc_in_sigtramp (CORE_ADDR pc, char *func_name)
-{
- return (nbsd_pc_in_sigtramp (pc, func_name)
- || mipsnbsd_sigtramp_offset (pc) >= 0);
-}
-
/* Figure out where the longjmp will land. We expect that we have
just entered longjmp and haven't yet setup the stack frame, so
the args are still in the argument regs. A0_REGNUM points at the
/* Figure out where the longjmp will land. We expect that we have
just entered longjmp and haven't yet setup the stack frame, so
the args are still in the argument regs. A0_REGNUM points at the
@@
-232,7
+229,7
@@
mipsnbsd_pc_in_sigtramp (CORE_ADDR pc, char *func_name)
success. */
#define NBSD_MIPS_JB_PC (2 * 4)
success. */
#define NBSD_MIPS_JB_PC (2 * 4)
-#define NBSD_MIPS_JB_ELEMENT_SIZE
MIPS_REGSIZE
+#define NBSD_MIPS_JB_ELEMENT_SIZE
mips_isa_regsize (current_gdbarch)
#define NBSD_MIPS_JB_OFFSET (NBSD_MIPS_JB_PC * \
NBSD_MIPS_JB_ELEMENT_SIZE)
#define NBSD_MIPS_JB_OFFSET (NBSD_MIPS_JB_PC * \
NBSD_MIPS_JB_ELEMENT_SIZE)
@@
-250,7
+247,7
@@
mipsnbsd_get_longjmp_target (CORE_ADDR *pc)
NBSD_MIPS_JB_ELEMENT_SIZE))
return 0;
NBSD_MIPS_JB_ELEMENT_SIZE))
return 0;
- *pc = extract_
address
(buf, NBSD_MIPS_JB_ELEMENT_SIZE);
+ *pc = extract_
unsigned_integer
(buf, NBSD_MIPS_JB_ELEMENT_SIZE);
return 1;
}
return 1;
}
@@
-259,14
+256,14
@@
static int
mipsnbsd_cannot_fetch_register (int regno)
{
return (regno == ZERO_REGNUM
mipsnbsd_cannot_fetch_register (int regno)
{
return (regno == ZERO_REGNUM
- || regno ==
FCRIR_REGNUM
);
+ || regno ==
mips_regnum (current_gdbarch)->fp_implementation_revision
);
}
static int
mipsnbsd_cannot_store_register (int regno)
{
return (regno == ZERO_REGNUM
}
static int
mipsnbsd_cannot_store_register (int regno)
{
return (regno == ZERO_REGNUM
- || regno ==
FCRIR_REGNUM
);
+ || regno ==
mips_regnum (current_gdbarch)->fp_implementation_revision
);
}
/* NetBSD/mips uses a slightly different link_map structure from the
}
/* NetBSD/mips uses a slightly different link_map structure from the
@@
-341,8
+338,6
@@
static void
mipsnbsd_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch)
{
mipsnbsd_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch)
{
- set_gdbarch_pc_in_sigtramp (gdbarch, mipsnbsd_pc_in_sigtramp);
-
set_gdbarch_get_longjmp_target (gdbarch, mipsnbsd_get_longjmp_target);
set_gdbarch_cannot_fetch_register (gdbarch, mipsnbsd_cannot_fetch_register);
set_gdbarch_get_longjmp_target (gdbarch, mipsnbsd_get_longjmp_target);
set_gdbarch_cannot_fetch_register (gdbarch, mipsnbsd_cannot_fetch_register);
@@
-362,6
+357,6
@@
_initialize_mipsnbsd_tdep (void)
gdbarch_register_osabi (bfd_arch_mips, 0, GDB_OSABI_NETBSD_ELF,
mipsnbsd_init_abi);
gdbarch_register_osabi (bfd_arch_mips, 0, GDB_OSABI_NETBSD_ELF,
mipsnbsd_init_abi);
- add_core_fns (&mipsnbsd_core_fns);
- add_core_fns (&mipsnbsd_elfcore_fns);
+
deprecated_
add_core_fns (&mipsnbsd_core_fns);
+
deprecated_
add_core_fns (&mipsnbsd_elfcore_fns);
}
}
This page took
0.026923 seconds
and
4
git commands to generate.