* i386-tdep.c (i386_saved_pc_after_call): New function.

* config/i386/tm-i386.h (SAVED_PC_AFTER_CALL): Redefine in terms
of i386_saved_pc_after_call.
(i386_saved_pc_after_call): New prototype.
This commit is contained in:
Mark Kettenis
2001-04-17 23:20:55 +00:00
parent 514e603dc0
commit ed84f6c149
3 changed files with 18 additions and 5 deletions

@ -1,3 +1,10 @@
2001-04-18 Mark Kettenis <kettenis@gnu.org>
* i386-tdep.c (i386_saved_pc_after_call): New function.
* config/i386/tm-i386.h (SAVED_PC_AFTER_CALL): Redefine in terms
of i386_saved_pc_after_call.
(i386_saved_pc_after_call): New prototype.
2001-04-16 Andrew Cagney <ac131313@redhat.com> 2001-04-16 Andrew Cagney <ac131313@redhat.com>
* configure.host (m68030-sony-*, m68*-isi-*, m68*-sony-*): * configure.host (m68030-sony-*, m68*-isi-*, m68*-sony-*):

@ -68,12 +68,10 @@ struct type;
extern int i386_skip_prologue (int); extern int i386_skip_prologue (int);
/* Immediately after a function call, return the saved pc. Can't always go /* Immediately after a function call, return the saved pc. */
through the frames for this because on some machines the new frame is not
set up until the new function executes some instructions. */
#define SAVED_PC_AFTER_CALL(frame) \ #define SAVED_PC_AFTER_CALL(frame) i386_saved_pc_after_call (frame)
(read_memory_unsigned_integer (read_register (SP_REGNUM), 4)) extern CORE_ADDR i386_saved_pc_after_call (struct frame_info *frame);
/* Stack grows downward. */ /* Stack grows downward. */

@ -365,6 +365,14 @@ i386_frame_chain (struct frame_info *frame)
return 0; return 0;
} }
/* Immediately after a function call, return the saved pc. */
CORE_ADDR
i386_saved_pc_after_call (struct frame_info *frame)
{
return read_memory_unsigned_integer (read_register (SP_REGNUM), 4);
}
/* Return number of args passed to a frame. /* Return number of args passed to a frame.
Can return -1, meaning no way to tell. */ Can return -1, meaning no way to tell. */