X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftramp-frame.h;h=028fbf05467970615899ac941552e017285b980a;hb=484b3c325d8182cd7b7da4ceeaedc238c7f80b5c;hp=886f94d32fb52f87afe626da04e76987d90de732;hpb=70f13f6b008fa313e80bc4f8a88b747e86da5abb;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/tramp-frame.h b/gdb/tramp-frame.h index 886f94d32f..028fbf0546 100644 --- a/gdb/tramp-frame.h +++ b/gdb/tramp-frame.h @@ -1,6 +1,6 @@ /* Signal trampoline unwinder. - Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. + Copyright (C) 2004-2016 Free Software Foundation, Inc. This file is part of GDB. @@ -34,7 +34,7 @@ struct trad_frame_cache; The only way to identify a trampoline is to perform a brute force examination of the instructions at and around the PC. - This module provides a convent interface for performing that + This module provides a convenient interface for performing that operation. */ /* A trampoline descriptor. */ @@ -66,9 +66,16 @@ struct tramp_frame /* Initialize a trad-frame cache corresponding to the tramp-frame. FUNC is the address of the instruction TRAMP[0] in memory. */ void (*init) (const struct tramp_frame *self, - struct frame_info *next_frame, + struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func); + /* Return non-zero if the tramp-frame is valid for the PC requested. + Adjust the PC to point to the address to check the instruction + sequence against if required. If this is NULL, then the tramp-frame + is valid for any PC. */ + int (*validate) (const struct tramp_frame *self, + struct frame_info *this_frame, + CORE_ADDR *pc); }; void tramp_frame_prepend_unwinder (struct gdbarch *gdbarch,