mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 22:48:57 +08:00
* hppa-tdep.c (hppa_frame_find_saved_regs): Change "frame" to
"frame_info" throughout.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
Fri Nov 4 23:47:07 1994 Jeff Law (law@snake.cs.utah.edu)
|
||||||
|
|
||||||
|
* hppa-tdep.c (hppa_frame_find_saved_regs): Change "frame" to
|
||||||
|
"frame_info" throughout.
|
||||||
|
|
||||||
Fri Nov 4 16:26:59 1994 Kung Hsu (kung@mexican.cygnus.com)
|
Fri Nov 4 16:26:59 1994 Kung Hsu (kung@mexican.cygnus.com)
|
||||||
|
|
||||||
* sparcl-stub.c: get rid of defs.h.
|
* sparcl-stub.c: get rid of defs.h.
|
||||||
|
@ -2020,7 +2020,7 @@ skip_prologue (pc)
|
|||||||
|
|
||||||
void
|
void
|
||||||
hppa_frame_find_saved_regs (frame_info, frame_saved_regs)
|
hppa_frame_find_saved_regs (frame_info, frame_saved_regs)
|
||||||
struct frame_info *frame;
|
struct frame_info *frame_info;
|
||||||
struct frame_saved_regs *frame_saved_regs;
|
struct frame_saved_regs *frame_saved_regs;
|
||||||
{
|
{
|
||||||
CORE_ADDR pc;
|
CORE_ADDR pc;
|
||||||
@ -2037,38 +2037,38 @@ hppa_frame_find_saved_regs (frame_info, frame_saved_regs)
|
|||||||
examine the dummy code to determine locations of saved registers;
|
examine the dummy code to determine locations of saved registers;
|
||||||
instead, let find_dummy_frame_regs fill in the correct offsets
|
instead, let find_dummy_frame_regs fill in the correct offsets
|
||||||
for the saved registers. */
|
for the saved registers. */
|
||||||
if ((frame->pc >= frame->frame
|
if ((frame_info->pc >= frame_info->frame
|
||||||
&& frame->pc <= (frame->frame + CALL_DUMMY_LENGTH
|
&& frame_info->pc <= (frame_info->frame + CALL_DUMMY_LENGTH
|
||||||
+ 32 * 4 + (NUM_REGS - FP0_REGNUM) * 8
|
+ 32 * 4 + (NUM_REGS - FP0_REGNUM) * 8
|
||||||
+ 6 * 4)))
|
+ 6 * 4)))
|
||||||
find_dummy_frame_regs (frame, frame_saved_regs);
|
find_dummy_frame_regs (frame_info, frame_saved_regs);
|
||||||
|
|
||||||
/* Interrupt handlers are special too. They lay out the register
|
/* Interrupt handlers are special too. They lay out the register
|
||||||
state in the exact same order as the register numbers in GDB. */
|
state in the exact same order as the register numbers in GDB. */
|
||||||
if (pc_in_interrupt_handler (frame->pc))
|
if (pc_in_interrupt_handler (frame_info->pc))
|
||||||
{
|
{
|
||||||
for (i = 0; i < NUM_REGS; i++)
|
for (i = 0; i < NUM_REGS; i++)
|
||||||
{
|
{
|
||||||
/* SP is a little special. */
|
/* SP is a little special. */
|
||||||
if (i == SP_REGNUM)
|
if (i == SP_REGNUM)
|
||||||
frame_saved_regs->regs[SP_REGNUM]
|
frame_saved_regs->regs[SP_REGNUM]
|
||||||
= read_memory_integer (frame->frame + SP_REGNUM * 4, 4);
|
= read_memory_integer (frame_info->frame + SP_REGNUM * 4, 4);
|
||||||
else
|
else
|
||||||
frame_saved_regs->regs[i] = frame->frame + i * 4;
|
frame_saved_regs->regs[i] = frame_info->frame + i * 4;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Handle signal handler callers. */
|
/* Handle signal handler callers. */
|
||||||
if (frame->signal_handler_caller)
|
if (frame_info->signal_handler_caller)
|
||||||
{
|
{
|
||||||
FRAME_FIND_SAVED_REGS_IN_SIGTRAMP (frame, frame_saved_regs);
|
FRAME_FIND_SAVED_REGS_IN_SIGTRAMP (frame_info, frame_saved_regs);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the starting address of the function referred to by the PC
|
/* Get the starting address of the function referred to by the PC
|
||||||
saved in frame. */
|
saved in frame. */
|
||||||
pc = get_pc_function_start (frame->pc);
|
pc = get_pc_function_start (frame_info->pc);
|
||||||
|
|
||||||
/* Yow! */
|
/* Yow! */
|
||||||
u = find_unwind_entry (pc);
|
u = find_unwind_entry (pc);
|
||||||
@ -2101,7 +2101,7 @@ hppa_frame_find_saved_regs (frame_info, frame_saved_regs)
|
|||||||
/* The frame always represents the value of %sp at entry to the
|
/* The frame always represents the value of %sp at entry to the
|
||||||
current function (and is thus equivalent to the "saved" stack
|
current function (and is thus equivalent to the "saved" stack
|
||||||
pointer. */
|
pointer. */
|
||||||
frame_saved_regs->regs[SP_REGNUM] = frame->frame;
|
frame_saved_regs->regs[SP_REGNUM] = frame_info->frame;
|
||||||
|
|
||||||
/* Loop until we find everything of interest or hit a branch.
|
/* Loop until we find everything of interest or hit a branch.
|
||||||
|
|
||||||
@ -2133,7 +2133,7 @@ hppa_frame_find_saved_regs (frame_info, frame_saved_regs)
|
|||||||
if (inst == 0x6bc23fd9)
|
if (inst == 0x6bc23fd9)
|
||||||
{
|
{
|
||||||
save_rp = 0;
|
save_rp = 0;
|
||||||
frame_saved_regs->regs[RP_REGNUM] = frame->frame - 20;
|
frame_saved_regs->regs[RP_REGNUM] = frame_info->frame - 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Just note that we found the save of SP into the stack. The
|
/* Just note that we found the save of SP into the stack. The
|
||||||
@ -2151,16 +2151,16 @@ hppa_frame_find_saved_regs (frame_info, frame_saved_regs)
|
|||||||
/* stwm with a positive displacement is a *post modify*. */
|
/* stwm with a positive displacement is a *post modify*. */
|
||||||
if ((inst >> 26) == 0x1b
|
if ((inst >> 26) == 0x1b
|
||||||
&& extract_14 (inst) >= 0)
|
&& extract_14 (inst) >= 0)
|
||||||
frame_saved_regs->regs[reg] = frame->frame;
|
frame_saved_regs->regs[reg] = frame_info->frame;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Handle code with and without frame pointers. */
|
/* Handle code with and without frame pointers. */
|
||||||
if (u->Save_SP)
|
if (u->Save_SP)
|
||||||
frame_saved_regs->regs[reg]
|
frame_saved_regs->regs[reg]
|
||||||
= frame->frame + extract_14 (inst);
|
= frame_info->frame + extract_14 (inst);
|
||||||
else
|
else
|
||||||
frame_saved_regs->regs[reg]
|
frame_saved_regs->regs[reg]
|
||||||
= frame->frame + (u->Total_frame_size << 3)
|
= frame_info->frame + (u->Total_frame_size << 3)
|
||||||
+ extract_14 (inst);
|
+ extract_14 (inst);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2192,13 +2192,13 @@ hppa_frame_find_saved_regs (frame_info, frame_saved_regs)
|
|||||||
/* 1st HP CC FP register store. After this instruction
|
/* 1st HP CC FP register store. After this instruction
|
||||||
we've set enough state that the GCC and HPCC code are
|
we've set enough state that the GCC and HPCC code are
|
||||||
both handled in the same manner. */
|
both handled in the same manner. */
|
||||||
frame_saved_regs->regs[reg + FP4_REGNUM + 4] = frame->frame;
|
frame_saved_regs->regs[reg + FP4_REGNUM + 4] = frame_info->frame;
|
||||||
fp_loc = 8;
|
fp_loc = 8;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
frame_saved_regs->regs[reg + FP0_REGNUM + 4]
|
frame_saved_regs->regs[reg + FP0_REGNUM + 4]
|
||||||
= frame->frame + fp_loc;
|
= frame_info->frame + fp_loc;
|
||||||
fp_loc += 8;
|
fp_loc += 8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user