projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Phase 1 of the ptid_t changes.
[deliverable/binutils-gdb.git]
/
gdb
/
ppc-linux-tdep.c
diff --git
a/gdb/ppc-linux-tdep.c
b/gdb/ppc-linux-tdep.c
index 50388faf2ce47679158fbac3763b0b0f336c79a5..d082316172ce7b514f466842a977e644e90cc3cb 100644
(file)
--- a/
gdb/ppc-linux-tdep.c
+++ b/
gdb/ppc-linux-tdep.c
@@
-1,6
+1,7
@@
/* Target-dependent code for GDB, the GNU debugger.
/* Target-dependent code for GDB, the GNU debugger.
- Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2000
- Free Software Foundation, Inc.
+
+ Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
+ 2000, 2001 Free Software Foundation, Inc.
This file is part of GDB.
This file is part of GDB.
@@
-28,6
+29,9
@@
#include "gdbcmd.h"
#include "symfile.h"
#include "objfiles.h"
#include "gdbcmd.h"
#include "symfile.h"
#include "objfiles.h"
+#include "regcache.h"
+
+#include "ppc-tdep.h"
/* The following two instructions are used in the signal trampoline
code on linux/ppc */
/* The following two instructions are used in the signal trampoline
code on linux/ppc */
@@
-95,7
+99,7
@@
#define PPC_LINUX_PT_FPR31 (PPC_LINUX_PT_FPR0 + 2*31)
#define PPC_LINUX_PT_FPSCR (PPC_LINUX_PT_FPR0 + 2*32 + 1)
#define PPC_LINUX_PT_FPR31 (PPC_LINUX_PT_FPR0 + 2*31)
#define PPC_LINUX_PT_FPSCR (PPC_LINUX_PT_FPR0 + 2*32 + 1)
-int ppc_linux_at_sigtramp_return_path (CORE_ADDR pc);
+
static
int ppc_linux_at_sigtramp_return_path (CORE_ADDR pc);
/* Determine if pc is in a signal trampoline...
/* Determine if pc is in a signal trampoline...
@@
-150,7
+154,7
@@
ppc_linux_in_sigtramp (CORE_ADDR pc, char *func_name)
char buf[4];
CORE_ADDR handler;
char buf[4];
CORE_ADDR handler;
- lr = read_register (LR_REGNUM);
+ lr = read_register (
PPC_
LR_REGNUM);
if (!ppc_linux_at_sigtramp_return_path (lr))
return 0;
if (!ppc_linux_at_sigtramp_return_path (lr))
return 0;
@@
-177,7
+181,7
@@
ppc_linux_in_sigtramp (CORE_ADDR pc, char *func_name)
* instructions. It'd be faster though if we could find a way to do this
* via some simple address comparisons.
*/
* instructions. It'd be faster though if we could find a way to do this
* via some simple address comparisons.
*/
-int
+
static
int
ppc_linux_at_sigtramp_return_path (CORE_ADDR pc)
{
char buf[12];
ppc_linux_at_sigtramp_return_path (CORE_ADDR pc)
{
char buf[12];
@@
-308,7
+312,7
@@
ppc_linux_skip_trampoline_code (CORE_ADDR pc)
/* The rs6000 version of FRAME_SAVED_PC will almost work for us. The
signal handler details are different, so we'll handle those here
and call the rs6000 version to do the rest. */
/* The rs6000 version of FRAME_SAVED_PC will almost work for us. The
signal handler details are different, so we'll handle those here
and call the rs6000 version to do the rest. */
-unsigned long
+CORE_ADDR
ppc_linux_frame_saved_pc (struct frame_info *fi)
{
if (fi->signal_handler_caller)
ppc_linux_frame_saved_pc (struct frame_info *fi)
{
if (fi->signal_handler_caller)
@@
-372,14
+376,14
@@
ppc_linux_frame_init_saved_regs (struct frame_info *fi)
regs_addr =
read_memory_integer (fi->frame + PPC_LINUX_REGS_PTR_OFFSET, 4);
fi->saved_regs[PC_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_NIP;
regs_addr =
read_memory_integer (fi->frame + PPC_LINUX_REGS_PTR_OFFSET, 4);
fi->saved_regs[PC_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_NIP;
- fi->saved_regs[PS_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_MSR;
- fi->saved_regs[CR_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_CCR;
- fi->saved_regs[LR_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_LNK;
- fi->saved_regs[CTR_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_CTR;
- fi->saved_regs[XER_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_XER;
- fi->saved_regs[MQ_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_MQ;
+ fi->saved_regs[P
PC_P
S_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_MSR;
+ fi->saved_regs[
PPC_
CR_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_CCR;
+ fi->saved_regs[
PPC_
LR_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_LNK;
+ fi->saved_regs[
PPC_
CTR_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_CTR;
+ fi->saved_regs[
PPC_
XER_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_XER;
+ fi->saved_regs[
PPC_
MQ_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_MQ;
for (i = 0; i < 32; i++)
for (i = 0; i < 32; i++)
- fi->saved_regs[GP0_REGNUM + i] = regs_addr + 4 * PPC_LINUX_PT_R0 + 4 * i;
+ fi->saved_regs[
PPC_
GP0_REGNUM + i] = regs_addr + 4 * PPC_LINUX_PT_R0 + 4 * i;
for (i = 0; i < 32; i++)
fi->saved_regs[FP0_REGNUM + i] = regs_addr + 4 * PPC_LINUX_PT_FPR0 + 8 * i;
}
for (i = 0; i < 32; i++)
fi->saved_regs[FP0_REGNUM + i] = regs_addr + 4 * PPC_LINUX_PT_FPR0 + 8 * i;
}
@@
-419,12
+423,8
@@
ppc_linux_frame_chain (struct frame_info *thisframe)
starting from r4. */
CORE_ADDR
starting from r4. */
CORE_ADDR
-ppc_sysv_abi_push_arguments (nargs, args, sp, struct_return, struct_addr)
- int nargs;
- value_ptr *args;
- CORE_ADDR sp;
- int struct_return;
- CORE_ADDR struct_addr;
+ppc_sysv_abi_push_arguments (int nargs, value_ptr *args, CORE_ADDR sp,
+ int struct_return, CORE_ADDR struct_addr)
{
int argno;
int greg, freg;
{
int argno;
int greg, freg;
This page took
0.024918 seconds
and
4
git commands to generate.