X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fsparc-tdep.h;h=d4e8b067c61c5b0754e5fd93e6eae4e433fe3985;hb=7230378dfd17300cd58e07acda312299f6bd1936;hp=6c8f50931dedfa1068a4a86a9a0e13924eec373c;hpb=e17a4113357102b55cfa5b80557d590a46a43300;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/sparc-tdep.h b/gdb/sparc-tdep.h index 6c8f50931d..d4e8b067c6 100644 --- a/gdb/sparc-tdep.h +++ b/gdb/sparc-tdep.h @@ -1,6 +1,6 @@ /* Target-dependent code for SPARC. - Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009 + Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of GDB. @@ -146,7 +146,16 @@ struct sparc_frame_cache /* Do we have a frame? */ int frameless_p; - /* Do we have a Structure, Union or Quad-Precision return value?. */ + /* The offset from the base register to the CFA. */ + int frame_offset; + + /* Mask of `local' and `in' registers saved in the register save area. */ + unsigned short int saved_regs_mask; + + /* Mask of `out' registers copied or renamed to their `in' sibling. */ + unsigned char copied_regs_mask; + + /* Do we have a Structure, Union or Quad-Precision return value? */ int struct_return_p; /* Table of saved registers. */ @@ -159,6 +168,10 @@ extern unsigned long sparc_fetch_instruction (CORE_ADDR pc); /* Fetch StackGhost Per-Process XOR cookie. */ extern ULONGEST sparc_fetch_wcookie (struct gdbarch *gdbarch); +/* Record the effect of a SAVE instruction on CACHE. */ +extern void sparc_record_save_insn (struct sparc_frame_cache *cache); + +/* Do a full analysis of the prologue at PC and update CACHE accordingly. */ extern CORE_ADDR sparc_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR current_pc, struct sparc_frame_cache *cache);