From: Andrew Cagney Date: Sat, 4 Jan 2003 13:55:30 +0000 (+0000) Subject: 2003-01-04 Andrew Cagney X-Git-Tag: gdb_6_0-branchpoint~93 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c8b8a898312e1f6781b35ab18d93c856e9e876bd;p=thirdparty%2Fbinutils-gdb.git 2003-01-04 Andrew Cagney * frame.c (deprecated_frame_xmalloc): New function. (deprecated_set_frame_saved_regs_hack): New function. (deprecated_set_frame_extra_info_hack): New function. * frame.h (deprecated_frame_xmalloc): Declare. (deprecated_set_frame_saved_regs_hack): Declare. (deprecated_set_frame_extra_info_hack): Declare. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ed0891865f2..dc26958ba91 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2003-01-04 Andrew Cagney + + * frame.c (deprecated_frame_xmalloc): New function. + (deprecated_set_frame_saved_regs_hack): New function. + (deprecated_set_frame_extra_info_hack): New function. + * frame.h (deprecated_frame_xmalloc): Declare. + (deprecated_set_frame_saved_regs_hack): Declare. + (deprecated_set_frame_extra_info_hack): Declare. + 2003-01-04 Mark Kettenis * configure.in: Move code that provides the --enable-gdbtk option diff --git a/gdb/frame.c b/gdb/frame.c index ecdf408c5cf..97d61939a50 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -1310,6 +1310,29 @@ deprecated_update_frame_base_hack (struct frame_info *frame, CORE_ADDR base) frame->frame = base; } +void +deprecated_set_frame_saved_regs_hack (struct frame_info *frame, + CORE_ADDR *saved_regs) +{ + frame->saved_regs = saved_regs; +} + +void +deprecated_set_frame_extra_info_hack (struct frame_info *frame, + struct frame_extra_info *extra_info) +{ + frame->extra_info = extra_info; +} + +struct frame_info * +deprecated_frame_xmalloc (void) +{ + struct frame_info *frame = XMALLOC (struct frame_info); + memset (frame, 0, sizeof (struct frame_info)); + return frame; +} + + void _initialize_frame (void) { diff --git a/gdb/frame.h b/gdb/frame.h index c9c56476bc4..283a968bb5b 100644 --- a/gdb/frame.h +++ b/gdb/frame.h @@ -674,4 +674,23 @@ extern void deprecated_update_frame_pc_hack (struct frame_info *frame, extern void deprecated_update_frame_base_hack (struct frame_info *frame, CORE_ADDR base); +/* FIXME: cagney/2003-01-04: Explicitly set the frame's saved_regs + and/or extra_info. Target code is allocating a fake frame and than + initializing that to get around the problem of, when creating the + inner most frame, there is no where to cache information such as + the prologue analysis. This is fixed by the new unwind mechanism - + even the inner most frame has somewhere to store things like the + prolog analysis (or at least will once the frame overhaul is + finished). */ +extern void deprecated_set_frame_saved_regs_hack (struct frame_info *frame, + CORE_ADDR *saved_regs); +extern void deprecated_set_frame_extra_info_hack (struct frame_info *frame, + struct frame_extra_info *extra_info); + +/* FIXME: cagney/2003-01-04: Allocate a frame from the heap (rather + than the frame obstack). Targets do this as a way of saving the + prologue analysis from the inner most frame before that frame has + been created. By always creating a frame, this problem goes away. */ +extern struct frame_info *deprecated_frame_xmalloc (void); + #endif /* !defined (FRAME_H) */