diff options
Diffstat (limited to 'gdb/frame.c')
-rw-r--r-- | gdb/frame.c | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/gdb/frame.c b/gdb/frame.c index 5359fd3..8fb0344 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -1057,109 +1057,6 @@ const struct frame_unwind legacy_saved_regs_unwinder = { }; const struct frame_unwind *legacy_saved_regs_unwind = &legacy_saved_regs_unwinder; - -/* Function: deprecated_generic_get_saved_register - Find register number REGNUM relative to FRAME and put its (raw, - target format) contents in *RAW_BUFFER. - - Set *OPTIMIZED if the variable was optimized out (and thus can't be - fetched). Note that this is never set to anything other than zero - in this implementation. - - Set *LVAL to lval_memory, lval_register, or not_lval, depending on - whether the value was fetched from memory, from a register, or in a - strange and non-modifiable way (e.g. a frame pointer which was - calculated rather than fetched). We will use not_lval for values - fetched from generic dummy frames. - - Set *ADDRP to the address, either in memory or as a - DEPRECATED_REGISTER_BYTE offset into the registers array. If the - value is stored in a dummy frame, set *ADDRP to zero. - - The argument RAW_BUFFER must point to aligned memory. */ - -void -deprecated_generic_get_saved_register (char *raw_buffer, int *optimized, - CORE_ADDR *addrp, - struct frame_info *frame, int regnum, - enum lval_type *lval) -{ - if (!target_has_registers) - error ("No registers."); - - /* Normal systems don't optimize out things with register numbers. */ - if (optimized != NULL) - *optimized = 0; - - if (addrp) /* default assumption: not found in memory */ - *addrp = 0; - - /* Note: since the current frame's registers could only have been - saved by frames INTERIOR TO the current frame, we skip examining - the current frame itself: otherwise, we would be getting the - previous frame's registers which were saved by the current frame. */ - - if (frame != NULL) - { - for (frame = get_next_frame (frame); - frame_relative_level (frame) >= 0; - frame = get_next_frame (frame)) - { - if (get_frame_type (frame) == DUMMY_FRAME) - { - if (lval) /* found it in a CALL_DUMMY frame */ - *lval = not_lval; - if (raw_buffer) - /* FIXME: cagney/2002-06-26: This should be via the - gdbarch_register_read() method so that it, on the - fly, constructs either a raw or pseudo register - from the raw register cache. */ - regcache_raw_read - (deprecated_find_dummy_frame_regcache (get_frame_pc (frame), - get_frame_base (frame)), - regnum, raw_buffer); - return; - } - - DEPRECATED_FRAME_INIT_SAVED_REGS (frame); - if (deprecated_get_frame_saved_regs (frame) != NULL - && deprecated_get_frame_saved_regs (frame)[regnum] != 0) - { - if (lval) /* found it saved on the stack */ - *lval = lval_memory; - if (regnum == SP_REGNUM) - { - if (raw_buffer) /* SP register treated specially */ - /* NOTE: cagney/2003-05-09: In-line store_address() - with it's body - store_unsigned_integer(). */ - store_unsigned_integer (raw_buffer, - DEPRECATED_REGISTER_RAW_SIZE (regnum), - deprecated_get_frame_saved_regs (frame)[regnum]); - } - else - { - if (addrp) /* any other register */ - *addrp = deprecated_get_frame_saved_regs (frame)[regnum]; - if (raw_buffer) - read_memory (deprecated_get_frame_saved_regs (frame)[regnum], raw_buffer, - DEPRECATED_REGISTER_RAW_SIZE (regnum)); - } - return; - } - } - } - - /* If we get thru the loop to this point, it means the register was - not saved in any frame. Return the actual live-register value. */ - - if (lval) /* found it in a live register */ - *lval = lval_register; - if (addrp) - *addrp = DEPRECATED_REGISTER_BYTE (regnum); - if (raw_buffer) - deprecated_read_register_gen (regnum, raw_buffer); -} - /* Determine the frame's type based on its PC. */ static enum frame_type |