diff options
author | Mark Wielaard <mjw@redhat.com> | 2009-05-20 15:24:02 +0200 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2009-05-20 15:24:02 +0200 |
commit | 4285dc9a58fbdae1516c4117a3f9297b822f27ff (patch) | |
tree | dad37f2df6e827565ceb80aadb98426d5b22e817 /runtime/unwind | |
parent | 78c9d72e18da2d5c930fb39460c236ea24fee423 (diff) | |
download | systemtap-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.h | 4 |
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); |