aboutsummaryrefslogtreecommitdiff
path: root/gdb/frame.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-01-06 21:50:25 +0000
committerAndrew Cagney <cagney@redhat.com>2003-01-06 21:50:25 +0000
commitf6c609c4c2bb326e580c9f533bd2aa0e9d583556 (patch)
tree7f5974da7d3a38c4ed7430a947fd61c165eec113 /gdb/frame.c
parent84dc46cbdb5a9c4ca576b8768a2876e9551199a5 (diff)
downloadgdb-f6c609c4c2bb326e580c9f533bd2aa0e9d583556.zip
gdb-f6c609c4c2bb326e580c9f533bd2aa0e9d583556.tar.gz
gdb-f6c609c4c2bb326e580c9f533bd2aa0e9d583556.tar.bz2
2003-01-06 Andrew Cagney <ac131313@redhat.com>
* frame.h (deprecated_frame_xmalloc_with_cleanup): Declare. * frame.c (deprecated_frame_xmalloc_with_cleanup): New function. * arm-tdep.c (arm_frame_chain): Allocate caller_fi using deprecated_frame_xmalloc_with_cleanup. * m32r-tdep.c (m32r_virtual_frame_pointer): Allocate `fi' using deprecated_frame_xmalloc. * mcore-tdep.c (analyze_dummy_frame): Ditto for dummy. * mn10200-tdep.c (mn10200_frame_chain): Ditto for dummy_frame.
Diffstat (limited to 'gdb/frame.c')
-rw-r--r--gdb/frame.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gdb/frame.c b/gdb/frame.c
index 361651e..443f067 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -1316,6 +1316,24 @@ deprecated_frame_xmalloc (void)
return frame;
}
+struct frame_info *
+deprecated_frame_xmalloc_with_cleanup (long sizeof_saved_regs,
+ long sizeof_extra_info)
+{
+ struct frame_info *frame = deprecated_frame_xmalloc ();
+ make_cleanup (xfree, frame);
+ if (sizeof_saved_regs > 0)
+ {
+ frame->saved_regs = xcalloc (1, sizeof_saved_regs);
+ make_cleanup (xfree, frame->saved_regs);
+ }
+ if (sizeof_extra_info > 0)
+ {
+ frame->extra_info = xcalloc (1, sizeof_extra_info);
+ make_cleanup (xfree, frame->extra_info);
+ }
+ return frame;
+}
void
_initialize_frame (void)