diff options
author | Daniel Jacobowitz <drow@false.org> | 2008-02-04 17:16:37 -0700 |
---|---|---|
committer | David Mosberger-Tang <davidm@koala.mostang.com> | 2008-02-04 17:16:37 -0700 |
commit | 3842dac7333e42aa44531eda34ba55200b99ccf8 (patch) | |
tree | 409f22e4ddf1c4711c106e88f529764420d7d89e /include/dwarf.h | |
parent | 5ed2da2a403fe091d953183449003c9df861c289 (diff) | |
download | libunwind-3842dac7333e42aa44531eda34ba55200b99ccf8.tar.gz |
Add initial ARM and MIPS support. To support this, also enable the
reading of .debug_frame sections (used in lieu of .eh_frame sections
when they're not available).
Diffstat (limited to 'include/dwarf.h')
-rw-r--r-- | include/dwarf.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/dwarf.h b/include/dwarf.h index 3dbf520e..c7c757ed 100644 --- a/include/dwarf.h +++ b/include/dwarf.h @@ -329,6 +329,23 @@ struct dwarf_rs_cache dwarf_reg_state_t buckets[DWARF_UNW_CACHE_SIZE]; }; +/* A list of descriptors for loaded .debug_frame sections. */ + +struct unw_debug_frame_list + { + /* The start (inclusive) and end (exclusive) of the described region. */ + unw_word_t start; + unw_word_t end; + /* The debug frame itself. */ + char *debug_frame; + size_t debug_frame_size; + /* Index (for binary search). */ + struct table_entry *index; + size_t index_size; + /* Pointer to next descriptor. */ + struct unw_debug_frame_list *next; + }; + /* Convenience macros: */ #define dwarf_init UNW_ARCH_OBJ (dwarf_init) #define dwarf_find_proc_info UNW_OBJ (dwarf_find_proc_info) @@ -363,6 +380,7 @@ extern int dwarf_extract_proc_info_from_fde (unw_addr_space_t as, unw_word_t *fde_addr, unw_proc_info_t *pi, int need_unwind_info, + unw_word_t base, void *arg); extern int dwarf_find_save_locs (struct dwarf_cursor *c); extern int dwarf_create_state_record (struct dwarf_cursor *c, |