aboutsummaryrefslogtreecommitdiff
path: root/gdb/frame-unwind.h
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2007-06-12 15:21:27 +0000
committerAndreas Schwab <schwab@linux-m68k.org>2007-06-12 15:21:27 +0000
commit272dfcfd78cd900157ff2e4c8c8ed95645dae4f6 (patch)
tree13d19819273e00972d49fd4e14f1bf10157b82b2 /gdb/frame-unwind.h
parent4339e69e64f47a31e706ba9c1e7c00945c1620ff (diff)
downloadgdb-272dfcfd78cd900157ff2e4c8c8ed95645dae4f6.zip
gdb-272dfcfd78cd900157ff2e4c8c8ed95645dae4f6.tar.gz
gdb-272dfcfd78cd900157ff2e4c8c8ed95645dae4f6.tar.bz2
* frame-unwind.h (frame_dealloc_cache_ftype): Define.
(struct frame_unwind): Add dealloc_cache. * frame.c (reinit_frame_cache): Call dealloc_cache on all caches. * libunwind-frame.h (libunwind_frame_dealloc_cache): Declare. * libunwind-frame.c (libunwind_frame_dealloc_cache): Define. (libunwind_frame_unwind): Set dealloc_cache. * ia64-tdep.c (ia64_libunwind_frame_unwind): Set dealloc_cache.
Diffstat (limited to 'gdb/frame-unwind.h')
-rw-r--r--gdb/frame-unwind.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/frame-unwind.h b/gdb/frame-unwind.h
index e1ac871..87c8161 100644
--- a/gdb/frame-unwind.h
+++ b/gdb/frame-unwind.h
@@ -125,6 +125,10 @@ typedef void (frame_prev_register_ftype) (struct frame_info *next_frame,
typedef CORE_ADDR (frame_prev_pc_ftype) (struct frame_info *next_frame,
void **this_prologue_cache);
+/* Deallocate extra memory associated with the frame cache if any. */
+
+typedef void (frame_dealloc_cache_ftype) (struct frame_info *self,
+ void *this_cache);
struct frame_unwind
{
@@ -138,6 +142,7 @@ struct frame_unwind
const struct frame_data *unwind_data;
frame_sniffer_ftype *sniffer;
frame_prev_pc_ftype *prev_pc;
+ frame_dealloc_cache_ftype *dealloc_cache;
};
/* Register a frame unwinder, _prepending_ it to the front of the