Use FRAME_INIT_SAVED_REGS() on iX86
J.T. Conklin
jtc@redbacknetworks.com
Fri Jan 29 13:51:00 GMT 1999
The enclosed patch performs the same sort of cleanup of changing the
deprecated FRAME_FIND_SAVED_REGS into FRAME_INIT_SAVED_REGS as was
done recently in some of the other targets.
--jtc
1999-01-28 J.T. Conklin <jtc@redbacknetworks.com>
* config/i386/tm-i386.h (FRAME_FIND_SAVED_REGS): Replace with
FRAME_INIT_SAVED_REGS.
* i386-tdep.c (i386_frame_find_saved_regs): Replace with
i386_frame_init_saved_regs.
(i386_pop_frame): Update.
Index: i386-tdep.c
===================================================================
RCS file: /usr/rback/release/tools-src/gdb/gdb/i386-tdep.c,v
retrieving revision 1.1.1.1
diff -c -r1.1.1.1 i386-tdep.c
*** i386-tdep.c 1998/12/03 00:05:14 1.1.1.1
--- i386-tdep.c 1998/12/18 21:34:32
***************
*** 425,433 ****
*/
void
! i386_frame_find_saved_regs (fip, fsrp)
struct frame_info *fip;
- struct frame_saved_regs *fsrp;
{
long locals = -1;
unsigned char op;
--- 425,432 ----
*/
void
! i386_frame_init_saved_regs (fip)
struct frame_info *fip;
{
long locals = -1;
unsigned char op;
***************
*** 435,442 ****
CORE_ADDR adr;
CORE_ADDR pc;
int i;
!
! memset (fsrp, 0, sizeof *fsrp);
/* if frame is the end of a dummy, compute where the
* beginning would be
--- 434,444 ----
CORE_ADDR adr;
CORE_ADDR pc;
int i;
!
! if (fip->saved_regs)
! return;
!
! frame_saved_regs_zalloc (fip);
/* if frame is the end of a dummy, compute where the
* beginning would be
***************
*** 451,457 ****
for (i = 0; i < NUM_REGS; i++)
{
adr -= REGISTER_RAW_SIZE (i);
! fsrp->regs[i] = adr;
}
return;
}
--- 453,459 ----
for (i = 0; i < NUM_REGS; i++)
{
adr -= REGISTER_RAW_SIZE (i);
! fip->saved_regs[i] = adr;
}
return;
}
***************
*** 470,485 ****
break;
#ifdef I386_REGNO_TO_SYMMETRY
/* Dynix uses different internal numbering. Ick. */
! fsrp->regs[I386_REGNO_TO_SYMMETRY(op - 0x50)] = adr;
#else
! fsrp->regs[op - 0x50] = adr;
#endif
adr -= 4;
}
}
! fsrp->regs[PC_REGNUM] = fip->frame + 4;
! fsrp->regs[FP_REGNUM] = fip->frame;
}
/* return pc of first real instruction */
--- 472,487 ----
break;
#ifdef I386_REGNO_TO_SYMMETRY
/* Dynix uses different internal numbering. Ick. */
! fip->saved_regs[I386_REGNO_TO_SYMMETRY(op - 0x50)] = adr;
#else
! fip->saved_regs[op - 0x50] = adr;
#endif
adr -= 4;
}
}
! fip->saved_regs[PC_REGNUM] = fip->frame + 4;
! fip->saved_regs[FP_REGNUM] = fip->frame;
}
/* return pc of first real instruction */
***************
*** 589,603 ****
struct frame_info *frame = get_current_frame ();
CORE_ADDR fp;
int regnum;
- struct frame_saved_regs fsr;
char regbuf[MAX_REGISTER_RAW_SIZE];
fp = FRAME_FP (frame);
! get_frame_saved_regs (frame, &fsr);
for (regnum = 0; regnum < NUM_REGS; regnum++)
{
CORE_ADDR adr;
! adr = fsr.regs[regnum];
if (adr)
{
read_memory (adr, regbuf, REGISTER_RAW_SIZE (regnum));
--- 591,605 ----
struct frame_info *frame = get_current_frame ();
CORE_ADDR fp;
int regnum;
char regbuf[MAX_REGISTER_RAW_SIZE];
fp = FRAME_FP (frame);
! i386_frame_init_saved_regs (frame);
!
for (regnum = 0; regnum < NUM_REGS; regnum++)
{
CORE_ADDR adr;
! adr = frame->saved_regs[regnum];
if (adr)
{
read_memory (adr, regbuf, REGISTER_RAW_SIZE (regnum));
Index: config/i386/tm-i386.h
===================================================================
RCS file: /usr/rback/release/tools-src/gdb/gdb/config/i386/tm-i386.h,v
retrieving revision 1.1.1.2
diff -c -r1.1.1.2 tm-i386.h
*** tm-i386.h 1998/12/17 19:12:58 1.1.1.2
--- tm-i386.h 1998/12/18 21:22:56
***************
*** 246,256 ****
ways in the stack frame. sp is even more special:
the address we return for it IS the sp for the next frame. */
! #define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
! { i386_frame_find_saved_regs ((frame_info), &(frame_saved_regs)); }
!
! extern void i386_frame_find_saved_regs PARAMS ((struct frame_info *,
! struct frame_saved_regs *));
/* Things needed for making the inferior call functions. */
--- 246,253 ----
ways in the stack frame. sp is even more special:
the address we return for it IS the sp for the next frame. */
! extern void i386_frame_init_saved_regs PARAMS ((struct frame_info *));
! #define FRAME_INIT_SAVED_REGS(FI) i386_frame_init_saved_regs (FI)
/* Things needed for making the inferior call functions. */
More information about the Gdb-patches
mailing list