summaryrefslogtreecommitdiffstats
path: root/runtime/unwind
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2009-05-20 15:24:02 +0200
committerMark Wielaard <mjw@redhat.com>2009-05-20 15:24:02 +0200
commit4285dc9a58fbdae1516c4117a3f9297b822f27ff (patch)
treedad37f2df6e827565ceb80aadb98426d5b22e817 /runtime/unwind
parent78c9d72e18da2d5c930fb39460c236ea24fee423 (diff)
downloadsystemtap-steved-4285dc9a58fbdae1516c4117a3f9297b822f27ff.tar.gz
systemtap-steved-4285dc9a58fbdae1516c4117a3f9297b822f27ff.tar.xz
systemtap-steved-4285dc9a58fbdae1516c4117a3f9297b822f27ff.zip
Fetch and store both debug_frame and eh_frame tables.
* runtime/sym.h (_stp_module): Remove unwind_data, unwind_data_len and unwind_is_ehframe fields. Add debug_frame, eh_frame, debug_frame_len, eh_frame_len and eh_frame_addr fields. * runtime/unwind.c: Use debug_frame and debug_frame_len instead of unwind_data and unwind_data_len throughout. (cie_for_fde): Take unwind_data and is_ehframe as direct arguments. * runtime/unwind/unwind.h (cie_for_fde): New function declaration. * translate.cxx (get_unwind_data): Fetch and return both debug_frame and eh_frame tables. (dump_unwindsyms): Dump both debug_frame and eh_frame tables.
Diffstat (limited to 'runtime/unwind')
-rw-r--r--runtime/unwind/unwind.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/runtime/unwind/unwind.h b/runtime/unwind/unwind.h
index 3b6d0de0..285a3a34 100644
--- a/runtime/unwind/unwind.h
+++ b/runtime/unwind/unwind.h
@@ -1,7 +1,7 @@
/* -*- linux-c -*-
*
* dwarf unwinder header file
- * Copyright (C) 2008 Red Hat Inc.
+ * Copyright (C) 2008, 2009 Red Hat Inc.
* Copyright (C) 2002-2006 Novell, Inc.
*
* This file is part of systemtap, and is free software. You can
@@ -143,7 +143,7 @@ static unsigned long read_pointer(const u8 **pLoc,
const void *end,
signed ptrType);
static const u32 bad_cie, not_fde;
-static const u32 *cie_for_fde(const u32 *fde, const struct _stp_module *);
+static const u32 *cie_for_fde(const u32 *fde, void *table, int is_ehframe);
static signed fde_pointer_type(const u32 *cie);