X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Flibunwind-frame.h;h=af004fb9ba52308d01698e52508a9316a3cf7179;hb=1ef4d87fe8cce2596a7d1d1c458db1b11c2c5d0e;hp=ffa43a06c11c0af2a0c0aa797b3a9a29009cffc8;hpb=f1b4b38ecb079e3762826dfc2d4fcc6a9698517d;p=platform%2Fupstream%2Fbinutils.git diff --git a/gdb/libunwind-frame.h b/gdb/libunwind-frame.h index ffa43a0..af004fb 100644 --- a/gdb/libunwind-frame.h +++ b/gdb/libunwind-frame.h @@ -1,6 +1,6 @@ /* Frame unwinder for frames with libunwind frame information. - Copyright (C) 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2003, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Jeff Johnston. @@ -8,7 +8,7 @@ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -17,14 +17,13 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ #ifdef HAVE_LIBUNWIND_H struct frame_info; struct frame_id; +struct regcache; struct gdbarch; #ifndef LIBUNWIND_FRAME_H @@ -41,18 +40,23 @@ struct libunwind_descr void *special_accessors; }; -const struct frame_unwind *libunwind_frame_sniffer (struct frame_info *next_frame); -const struct frame_unwind *libunwind_sigtramp_frame_sniffer (struct frame_info *next_frame); +int libunwind_frame_sniffer (const struct frame_unwind *self, + struct frame_info *this_frame, + void **this_cache); + +int libunwind_sigtramp_frame_sniffer (const struct frame_unwind *self, + struct frame_info *this_frame, + void **this_cache); void libunwind_frame_set_descr (struct gdbarch *arch, struct libunwind_descr *descr); -void libunwind_frame_this_id (struct frame_info *next_frame, void **this_cache, +void libunwind_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id); -void libunwind_frame_prev_register (struct frame_info *next_frame, void **this_cache, - int regnum, int *optimizedp, - enum lval_type *lvalp, CORE_ADDR *addrp, - int *realnump, gdb_byte *valuep); -CORE_ADDR libunwind_frame_base_address (struct frame_info *next_frame, void **this_cache); +struct value *libunwind_frame_prev_register (struct frame_info *this_frame, + void **this_cache, int regnum); +void libunwind_frame_dealloc_cache (struct frame_info *self, void *cache); +CORE_ADDR libunwind_frame_base_address (struct frame_info *this_frame, + void **this_cache); int libunwind_is_initialized (void); @@ -62,7 +66,9 @@ int libunwind_search_unwind_table (void *as, long ip, void *di, unw_word_t libunwind_find_dyn_list (unw_addr_space_t, unw_dyn_info_t *, void *); -int libunwind_get_reg_special (struct gdbarch *gdbarch, int regnum, void *buf); +int libunwind_get_reg_special (struct gdbarch *gdbarch, + struct regcache *regcache, + int regnum, void *buf); #endif /* libunwind-frame.h */