aboutsummaryrefslogtreecommitdiff
path: root/gdb/frame.c
AgeCommit message (Collapse)AuthorFilesLines
2003-01-292003-01-29 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-1/+5
* frame.c (frame_saved_regs_id_unwind): Assert FRAME_CHAIN_P. (legacy_get_prev_frame): Assert FRAME_CHAIN_P. (get_prev_frame): When FRAME_CHAIN_P, call legacy_get_prev_frame. (frame_saved_regs_pc_unwind): Assert FRAME_SAVED_PC_P. * gdbarch.sh (FRAME_CHAIN): Change to a function with predicate. (FRAME_SAVED_PC): Change to a function with predicate. * gdbarch.h, gdbarch.c: Re-generate.
2003-01-272003-01-27 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-128/+135
* sentinel-frame.h, sentinel-frame.c: New files. * Makefile.in (frame.o): Update dependencies. (SFILES): Add sentinel-frame.c. (sentinel_frame_h): Define. (COMMON_OBS): Add sentinel-frame.o. (sentinel-frame.o): Specify dependencies. * frame.c: Include "sentinel-frame.h". (frame_register_unwind): Rewrite assuming that there is always a a ->next frame. (frame_register, generic_unwind_get_saved_register): Ditto. (frame_read_unsigned_register, frame_read_signed_register): Ditto. (create_sentinel_frame, unwind_to_current_frame): New functions. (get_current_frame): Rewrite using create_sentinel_frame and unwind_to_current_frame. When possible, always create a frame. (create_new_frame): Set next to the sentinel frame. (get_next_frame): Rewrite. Don't go below the level 0 frame. (deprecated_update_frame_pc_hack): Update the next frame's PC and ID cache when necessary. (frame_saved_regs_id_unwind): Use frame_relative_level. (deprecated_generic_get_saved_register): Use frame_relative_level, get_frame_saved_regs, get_frame_pc, get_frame_base and get_next_frame. (frame_saved_regs_register_unwind): Use get_frame_saved_regs and frame_register.
2003-01-212003-01-21 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-57/+211
* frame.h (FRAME_OBSTACK_ZALLOC): Define. * blockframe.c (backtrace_below_main): Move to "frame.c". (frame_chain_valid): Delete check for backtrace_below_main. (_initialize_blockframe): Delete initialization, move ``set backtrace-below-main'' command to "frame.c". (do_flush_frames_sfunc): Delete function. * frame.c: Include "command.h" and "gdbcmd.h". (frame_type_from_pc): New function. (create_new_frame): Use frame_type_from_pc. (legacy_get_prev_frame): New function. (get_prev_frame): Rewrite. When an old style frame, call legacy_get_prev_frame. Otherwize, unwind the PC first. (_initialize_frame): Add ``set backtrace-below-main'' command. * Makefile.in (frame.o): Update dependencies.
2003-01-192003-01-19 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+1
* frame.c (frame_saved_regs_pop): Assert POP_FRAME_P. * gdbarch.sh (POP_FRAME): Change to function with predicate. Suppress actual parameters when `-'. * gdbarch.h, gdbarch.c: Regenerate.
2003-01-192003-01-19 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+20
* frame-unwind.h (frame_unwind_pop_ftype): Declare. (struct frame_unwind): Add field pop. * frame.h (frame_pop): Declare. * frame.c (frame_saved_regs_pop): New function. (trad_frame_unwinder): Add frame_saved_regs_pop. (frame_pop): New function. * dummy-frame.c (dummy_frame_pop): New function. (discard_innermost_dummy): New function. (generic_pop_dummy_frame): Use discard_innermost_dummy. (dummy_frame_unwind): Add dummy_frame_pop. * infrun.c (normal_stop): Call frame_pop instead of POP_FRAME. * valops.c (hand_function_call): Ditto. * stack.c (return_command): Ditto.
2003-01-182003-01-18 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-44/+15
* dummy-frame.h (dummy_frame_id_unwind): Delete declaration. (dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto. (struct frame_unwind): Declare opaque. (dummy_frame_p): Declare function. * dummy-frame.c (dummy_frame_id_unwind): Make static. (dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto. * dummy-frame.c: Include "frame-unwind.h". (dummy_frame_p): New function. (dummy_frame_unwind): New variable. * frame.c: Include "frame-unwind.h". (frame_pc_unwind, frame_id_unwind, frame_register_unwind): Update to use the new unwind field. (set_unwind_by_pc): Delete function. (create_new_frame, get_prev_frame): Set unwind field using frame_unwind_find_by_pc. (trad_frame_unwind, trad_frame_unwinder): New variables. * frame.h (trad_frame_unwind): Declare variable. (frame_id_unwind_ftype): Delete declaration. (frame_pc_unwind_ftype, frame_register_unwind_ftype): Ditto. (struct frame_unwind): Declare opaque. (struct frame_info): Replace the fields id_unwind, pc_unwind and register_unwind with a single unwind pointer. * frame-unwind.h, frame-unwind.c: New files. * Makefile.in (SFILES): Add frame-unwind.c. (frame_unwind_h): Define. (COMMON_OBS): Add frame-unwind.o. (frame-unwind.o): Specify dependencies. (frame.o, dummy-frame.o): Update dependencies.
2003-01-162003-01-16 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-13/+18
* frame.h (frame_id_unwind_ftype): Change type so that the frame's ID back using a parameter. * frame.c (frame_id_unwind): Update call. (frame_saved_regs_id_unwind): Update. * dummy-frame.c (dummy_frame_id_unwind): Update function. * dummy-frame.h (struct frame_id): Add opaque declaration. (dummy_frame_id_unwind): Update declaration.
2003-01-132003-01-13 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+6
* gdbarch.sh (FRAME_INIT_SAVED_REGS): Change to function with predicate. * gdbarch.h, gdbarch.c: Regenerate. * stack.c (frame_info): Only initialize the saved registers when FRAME_INIT_SAVED_REGS_P. * frame.c (frame_saved_regs_register_unwind): Assert FRAME_INIT_SAVED_REGS_P. (deprecated_generic_get_saved_register): Ditto.
2003-01-092003-01-09 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-20/+11
* frame.h (frame_obstack_zalloc): Replace frame_obstack_alloc. Update comments. * frame.c (frame_obstack_zalloc): Replace frame_obstack_alloc. (frame_saved_regs_zalloc): Update. (frame_saved_regs_register_unwind): Update. (create_new_frame): Update. (get_prev_frame): Update. (frame_extra_info_zalloc): Update. (deprecated_get_frame_saved_regs): Update. * dwarf2cfi.c (cfi_init_extra_frame_info): Update. * cris-tdep.c: Update comment.
2003-01-072003-01-07 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-0/+13
* frame.c (deprecated_get_frame_context): New function. (deprecated_set_frame_context): New function. * frame.h (deprecated_get_frame_context): Declare. (deprecated_set_frame_context): Declare. * dwarf2cfi.c (UNWIND_CONTEXT): Use deprecated_get_frame_context. (cfi_init_extra_frame_info): Use deprecated_set_frame_context.
2003-01-072003-01-07 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-0/+14
* frame.c (deprecated_set_frame_next_hack): New function. (deprecated_set_frame_prev_hack): New function. * frame.h (deprecated_set_frame_next_hack): Declare. (deprecated_set_frame_prev_hack): Declare. * mcore-tdep.c (analyze_dummy_frame): Use deprecated_set_frame_next_hack and deprecated_set_frame_prev_hack. * mn10300-tdep.c (analyze_dummy_frame): Ditto.
2003-01-07zap #define FRAME_C.Andrew Cagney1-1/+0
2003-01-072003-01-07 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-0/+1
* arm-tdep.c (arm_init_extra_frame_info): Use deprecated_update_frame_base_hack. * xstormy16-tdep.c (xstormy16_scan_prologue): Ditto. * mn10300-tdep.c (analyze_dummy_frame): Ditto. (fix_frame_pointer): Ditto. (mn10300_analyze_prologue): Ditto.
2003-01-062003-01-06 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+18
* frame.h (deprecated_frame_xmalloc_with_cleanup): Declare. * frame.c (deprecated_frame_xmalloc_with_cleanup): New function. * arm-tdep.c (arm_frame_chain): Allocate caller_fi using deprecated_frame_xmalloc_with_cleanup. * m32r-tdep.c (m32r_virtual_frame_pointer): Allocate `fi' using deprecated_frame_xmalloc. * mcore-tdep.c (analyze_dummy_frame): Ditto for dummy. * mn10200-tdep.c (mn10200_frame_chain): Ditto for dummy_frame.
2003-01-05 * arm-tdep.c (arm_frame_chain_valid): Remove unnecessary test.Daniel Jacobowitz1-19/+3
* d10v-tdep.c (d10v_frame_chain_valid): Remove unnecessary tests. * hppa-tdep.c (hppa_frame_chain_valid): Remove unnecessary test. * blockframe.c: Include "gdbcmd.h" and "command.h". (backtrace_below_main): New variable. (file_frame_chain_valid, func_frame_chain_valid) (nonnull_frame_chain_valid, generic_file_frame_chain_valid) (generic_func_frame_chain_valid): Remove functions. (frame_chain_valid, do_flush_frames_sfunc): New functions. (_initialize_blockframe): New function. * Makefile.in (blockframe.o): Update dependencies. * frame.c (frame_saved_regs_id_unwind, get_prev_frame): Remove FIXME comment. Call frame_chain_valid (). * frame.h: Remove old prototypes. Add prototype for frame_chain_valid and update comments to match. * gdbarch.sh: Change FRAME_CHAIN_VALID into a predicated function. Remove old comment. * gdbarch.h: Regenerated. * gdbarch.c: Regenerated. Plus updates to all other targets not to provide a FRAME_CHAIN_VALID.
2003-01-042003-01-04 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+23
* frame.c (deprecated_frame_xmalloc): New function. (deprecated_set_frame_saved_regs_hack): New function. (deprecated_set_frame_extra_info_hack): New function. * frame.h (deprecated_frame_xmalloc): Declare. (deprecated_set_frame_saved_regs_hack): Declare. (deprecated_set_frame_extra_info_hack): Declare.
2002-12-182002-12-18 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-7/+10
* frame.c (deprecated_update_current_frame_pc_hack): Replace deprecated_update_current_frame_pc_hack. (deprecated_update_frame_base_hack): New function. * frame.h (deprecated_update_frame_pc_hack): Replace (deprecated_update_frame_base_hack): Declare. * infrun.c (normal_stop): Update.
2002-12-132002-12-13 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-1/+7
* frame.h (get_frame_saved_regs): Declare. (frame_saved_regs_zalloc): Change return type to CORE_ADDR pointer. * frame.c (get_frame_saved_regs): New function. (frame_saved_regs_zalloc): Return the allocated saved_regs.
2002-12-132002-12-13 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+11
* frame.c (deprecated_update_current_frame_pc_hack): New function. * frame.h (deprecated_update_current_frame_pc_hack): Declare. * infrun.c (normal_stop): Use said function instead of directly modifying the frame's PC.
2002-12-132002-12-13 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-3/+82
* frame.h (frame_id_unwind): Declare. (struct frame_info): Add fields id_unwind, id_unwind_cache_p and id_unwind_cache. (frame_id_unwind_ftype): Declare. * frame.c (frame_id_unwind): New function. (set_unwind_by_pc): Add unwind_id parameter. Initialized. (create_new_frame, get_prev_frame): Pass id_unwind to set_unwind_by_pc. (frame_saved_regs_id_unwind): New function. (frame_saved_regs_id_unwind): New function. * dummy-frame.c (dummy_frame_id_unwind): New function. (struct dummy_frame): Add field id. (generic_push_dummy_frame): Initialize `id'. * dummy-frame.h (dummy_frame_id_unwind): Declare.
2002-12-132002-12-13 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-6/+0
* infcmd.c (run_stack_dummy): Create a frame ID directly and then pass that to set_momentary_breakpoint. Move comments to where they belong. * frame.h (set_current_frame): Delete declaration. * frame.c (set_current_frame): Delete function.
2002-12-132002-12-13 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+8
* frame.c (frame_extra_info_zalloc): New function. * frame.h (frame_extra_info_zalloc): Declare.
2002-12-122002-12-11 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+6
* frame.c (get_frame_extra_info): New function. * frame.h (get_frame_extra_info): Declare.
2002-12-112002-12-11 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-2/+2
* frame.c (deprecated_get_frame_saved_regs): Rename get_frame_saved_regs. * frame.h (deprecated_get_frame_saved_regs): Update declaration. * sparc-tdep.c: Update. * hppa-tdep.c: Update. * h8500-tdep.c: Update.
2002-12-112002-12-10 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-13/+14
* gdbarch.sh (DEPRECATED_INIT_FRAME_PC): Rename INIT_FRAME_PC. Change to a function with predicate. * gdbarch.h, gdbarch.c: Re-generate. * frame.c (get_prev_frame): Update. Test DEPRECATED_INIT_FRAME_PC_P. * config/sparc/tm-sparc.h (DEPRECATED_INIT_FRAME_PC): Update. * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC): Update. * config/mn10200/tm-mn10200.h (DEPRECATED_INIT_FRAME_PC): Update. * alpha-tdep.c (alpha_gdbarch_init): Update. * mn10300-tdep.c (mn10300_gdbarch_init): Update. * mips-tdep.c (mips_gdbarch_init): Update. * i386-interix-tdep.c (i386_interix_init_abi): Update. * arm-tdep.c: Update comments. * h8300-tdep.c (h8300_gdbarch_init): Explicitly set init_frame_pc. * config/m32r/tm-m32r.h (DEPRECATED_INIT_FRAME_PC): Ditto. * frv-tdep.c (frv_gdbarch_init): Ditto. * x86-64-tdep.c (x86_64_init_abi): Ditto. * ia64-tdep.c (ia64_gdbarch_init): Ditto. * s390-tdep.c (s390_gdbarch_init): Ditto. * v850-tdep.c (v850_gdbarch_init): Ditto. * vax-tdep.c (vax_gdbarch_init): Ditto. * sh-tdep.c (sh_gdbarch_init): Ditto. * ns32k-tdep.c (ns32k_gdbarch_init): Ditto. * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. * mcore-tdep.c (mcore_gdbarch_init): Ditto. * xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto. * i386-tdep.c (i386_gdbarch_init): Ditto. * d10v-tdep.c (d10v_gdbarch_init): Ditto. * cris-tdep.c (cris_gdbarch_init): Ditto. * avr-tdep.c (avr_gdbarch_init): Ditto. * arm-tdep.c (arm_gdbarch_init): Ditto. * config/z8k/tm-z8k.h (INIT_FRAME_PC_FIRST): Delete macro. (DEPRECATED_INIT_FRAME_PC): Rename INIT_FRAME_PC.
2002-12-092002-12-08 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-2/+2
* gdbarch.sh (INIT_FRAME_PC_FIRST, INIT_FRAME_PC_DEFAULT): Convert to pure functions. * gdbarch.h, gdbarch.c: Re-generate. * frame.c (get_prev_frame): Explictly assign prev's pc with value returned by INIT_FRAME_PC_FIRST and INIT_EXTRA_FRAME_INFO. * arch-utils.h (init_frame_pc_default, init_frame_pc_noop): Change declaration to a function returning a CORE_ADDR. * x86-64-tdep.h (x86_64_init_frame_pc): Ditto. * arch-utils.c (init_frame_pc_noop): Return the PC value. (init_frame_pc_default): Ditto. * x86-64-linux-tdep.c (x86_64_init_frame_pc): Ditto. * s390-tdep.c (s390_init_frame_pc_first): Ditto. * mips-tdep.c (mips_init_frame_pc_first): Ditto. * dwarf2cfi.h (cfi_init_frame_pc): Ditto. * dwarf2cfi.c (cfi_init_frame_pc): Ditto. * alpha-tdep.c (alpha_init_frame_pc_first): Ditto. * i386-interix-tdep.c (i386_interix_init_abi): Set init_frame_pc to init_frame_pc_noop. (i386_interix_init_frame_pc): Delete function. * z8k-tdep.c (init_frame_pc): Delete function. * config/z8k/tm-z8k.h (INIT_FRAME_PC): Define as init_frame_pc_noop. (INIT_FRAME_PC_FIRST): Ditto. * config/mn10200/tm-mn10200.h (INIT_FRAME_PC): Ditto. (INIT_FRAME_PC_FIRST): Ditto. * config/sparc/tm-sparc.h (INIT_FRAME_PC): Ditto. * config/rs6000/tm-rs6000.h (INIT_FRAME_PC): Redefine as init_frame_pc_noop. (INIT_FRAME_PC_FIRST): Convert to an expression. * config/sparc/tm-sparc.h (INIT_FRAME_PC_FIRST): Ditto.
2002-12-062002-12-06 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-3/+5
* gdbarch.sh (DEPRECATED_INIT_FRAME_PC_FIRST): Rename INIT_FRAME_PC_FIRST. Change to a function with predicate. Do not provide a default value. * gdbarch.h, gdbarch.c: Regenerate. * frame.c (get_prev_frame): Update. Check DEPRECATED_INIT_FRAME_PC_FIRST_P. * s390-tdep.c (s390_gdbarch_init): Update. * mips-tdep.c (mips_gdbarch_init): Update. * config/sparc/tm-sparc.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update. * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update. * alpha-tdep.c (alpha_gdbarch_init): Update.
2002-12-042002-12-03 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-23/+58
* frame.h (get_frame_id): Convert to a function. (null_frame_id, frame_id_p): Declare. (frame_id_eq, frame_id_inner): Declare. (frame_id_build): New function. * frame.c (get_frame_id): Update. Use null_frame_id. (frame_find_by_id): Rewrite using frame_id_p, frame_id_eq and frame_id_inner. (null_frame_id, frame_id_p): Define. (frame_id_eq, frame_id_inner): Define. (frame_id_build): New function. * varobj.c (varobj_create): Update. (varobj_update): Update. * valops.c (value_assign): Update. (new_root_variable): Update. * infrun.c (save_inferior_status): Update. * breakpoint.c (watch_command_1): Update.
2002-12-012002-12-01 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-15/+10
* gdbarch.sh (DEPRECATED_PC_IN_CALL_DUMMY): Rename PC_IN_CALL_DUMMY. Change to predicate. Always allow call. * gdbarch.h, gdbarch.c: Re-generate. * config/sparc/tm-sparc.h, config/sparc/tm-sp64.h: Update. * config/mn10200/tm-mn10200.h, config/h8500/tm-h8500.h: Update. * config/pa/tm-hppa.h, frame.h: Update. * x86-64-tdep.c, vax-tdep.c, sparc-tdep.c: Update. * s390-tdep.c, ns32k-tdep.c, mn10300-tdep.c: Update. * m68k-tdep.c, i386-tdep.c, frv-tdep.c: Update. * cris-tdep.c, alpha-tdep.c: Update. * frame.c (set_unwind_by_pc, create_new_frame): Use either DEPRECATED_PC_IN_CALL_DUMMY or pc_in_dummy_frame. (get_prev_frame): Ditto. Index: doc/ChangeLog 2002-12-01 Andrew Cagney <ac131313@redhat.com> * gdbint.texinfo (Target Architecture Definition): Delete PC_IN_CALL_DUMMY.
2002-11-292002-11-29 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+60
* stack.c (selected_frame, select_frame): Move from here ... * frame.c (selected_frame, select_frame): ... to here. Include "language.h". * Makefile.in (frame.o): Update dependencies. * frame.c (get_selected_frame): New function. * frame.h (get_selected_frame): Declare. (deprecated_selected_frame): Rename selected_frame. * ada-lang.c, ada-tasks.c, breakpoint.c, corelow.c: Update. * eval.c, f-valprint.c, findvar.c, frame.c, frame.h: Update. * h8300-tdep.c, h8500-tdep.c, hppa-tdep.c, infcmd.c: Update. * inflow.c, infrun.c, macroscope.c, mips-tdep.c: Update. * mn10300-tdep.c, ocd.c, regcache.h, remote-e7000.c: Update. * remote-mips.c, remote-rdp.c, sh-tdep.c, sparc-tdep.c: Update. * stack.c, thread.c, tracepoint.c, valops.c, varobj.c: Update. * z8k-tdep.c, cli/cli-cmds.c: Update. Index: mi/ChangeLog 2002-11-29 Andrew Cagney <ac131313@redhat.com> * mi/mi-cmd-stack.c, mi/mi-main.c: Update to use deprecated_selected_frame. Index: tui/ChangeLog 2002-11-29 Andrew Cagney <ac131313@redhat.com> * tui/tui-hooks.c: Update to use deprecated_selected_frame. * tui/tui.c, tui/tuiDisassem.c, tui/tuiRegs.c: Ditto. * tui/tuiSource.c, tui/tuiSourceWin.c, tui/tuiWin.c: Ditto.
2002-11-292002-11-28 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+23
* frame.c (pc_notcurrent): New function. (find_frame_sal): New function. * frame.h (find_frame_sal): Declare. (struct symtab_and_line): Add opaque declaration. * stack.c (print_frame_info_base): Use find_pc_line instead of find_frame_sal. (frame_info): Ditto. * ada-lang.c (find_printable_frame): Ditto. Index: tui/ChangeLog 2002-11-28 Andrew Cagney <ac131313@redhat.com> * tuiStack.c (tuiShowFrameInfo): Use find_frame_sal instead of find_pc_line.
2002-11-282002-11-28 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-5/+6
* gdbarch.sh (DEPRECATED_USE_GENERIC_DUMMY_FRAMES): Rename USE_GENERIC_DUMMY_FRAMES. * gdbarch.h, gdbarch.c: Regenerate. * valops.c, frame.c: Update. * config/z8k/tm-z8k.h, config/mn10200/tm-mn10200.h: Update. * config/m32r/tm-m32r.h, config/h8500/tm-h8500.h: Update. * config/pa/tm-hppa.h, blockframe.c: Update. * vax-tdep.c, sparc-tdep.c, ns32k-tdep.c: Ditto. * m68k-tdep.c, alpha-tdep.c: Ditto. * arm-tdep.c: Eliminate USE_GENERIC_DUMMY_FRAMES as always 1. * mips-tdep.c: Ditto. Index: doc/ChangeLog 2002-11-28 Andrew Cagney <ac131313@redhat.com> * gdbint.texinfo (Host Definition): Delete documentation on USE_GENERIC_DUMMY_FRAMES.
2002-11-242002-11-19 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-8/+18
* frame.h (FRAME_FP): Delete macro. (get_frame_base): New function declaration. * frame.c (get_frame_base): New function. (get_frame_id): Use ->frame. (frame_find_by_id): Rewrite to use get_frame_id. * blockframe.c: Use get_frame_base instead of FRAME_FP. * cris-tdep.c, d10v-tdep.c, findvar.c, h8500-tdep.c: Ditto. * hppa-tdep.c, i386-tdep.c, infcmd.c, infrun.c: Ditto. * m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c, mips-tdep.c: Ditto. * mn10200-tdep.c, mn10300-tdep.c, rs6000-tdep.c: Ditto. * sh-tdep.c, sparc-tdep.c, stack.c, tracepoint.c: Ditto. * v850-tdep.c, valops.c, z8k-tdep.c: Ditto.
2002-11-242002-11-24 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-4/+15
* frame.c (set_unwind_by_pc): Revert change below, use PC_IN_CALL_DUMMY. (get_prev_frame): Ditto.
2002-11-242002-11-24 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-5/+5
* dummy-frame.c (pc_in_dummy_frame): New function. (generic_pc_in_call_dummy): Call pc_in_dummy_frame. (find_dummy_frame): Update comment. (generic_pop_current_frame): Use get_frame_type. * dummy-frame.h (pc_in_dummy_frame): Declare. * frame.c (set_unwind_by_pc): Use pc_in_dummy_frame. (create_new_frame): Use pc_in_dummy_frame. (get_prev_frame): Use pc_in_dummy_frame. (frame_saved_regs_register_unwind): Use get_prev_frame. (deprecated_generic_get_saved_register): Use get_prev_frame.
2002-11-192002-11-18 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+12
* stack.c (frame_relative_level): Copy function from here ... * frame.c (frame_relative_level): ...to here.
2002-11-182002-11-18 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-8/+75
* frame.h (enum frame_type): Define. (get_frame_type): Declare. (struct frame_info): Add field `type'. Delete field signal_handler_caller. (deprecated_set_frame_signal_handler_caller): Declare. * frame.c (get_frame_type): New function. (deprecated_set_frame_type): New function. (create_new_frame): Set the frame's type. (get_prev_frame): Similar. * sparc-tdep.c: Use get_frame_type instead of signal_handler_caller. * s390-tdep.c: Ditto. * m68klinux-nat.c: Ditto. * ns32k-tdep.c: Ditto. * x86-64-linux-tdep.c: Ditto. * vax-tdep.c: Ditto. * rs6000-tdep.c: Ditto. * ppc-linux-tdep.c: Ditto. * i386-interix-tdep.c: Ditto. * mips-tdep.c: Ditto. * m68k-tdep.c: Ditto. * hppa-tdep.c: Ditto. * ia64-tdep.c: Ditto. * cris-tdep.c: Ditto. * arm-tdep.c: Ditto. * alpha-tdep.c: Ditto. * i386-tdep.c: Ditto. * stack.c: Ditto. * ada-lang.c: Ditto. * blockframe.c: Update. * i386-interix-tdep.c (i386_interix_back_one_frame): Use deprecated_set_frame_type instead of signal_handler_caller. * ppc-linux-tdep.c (ppc_linux_init_extra_frame_info): Ditto. * rs6000-tdep.c (rs6000_init_extra_frame_info): Ditto. * breakpoint.h: Delete FIXME suggesting get_frame_type. Index: tui/ChangeLog 2002-11-18 Andrew Cagney <ac131313@redhat.com> * tuiStack.c (tuiShowFrameInfo): Use get_frame_type instead of signal_handler_caller.
2002-11-162002-11-15 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+1
* frame.c (generic_unwind_get_saved_register): Make static. * frame.h (generic_unwind_get_saved_register): Delete declaration. * avr-tdep.c (avr_gdbarch_init): Do not set get_saved_register, defaults to generic_unwind_get_saved_register. * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. * h8300-tdep.c (h8300_gdbarch_init): Ditto. * frv-tdep.c (frv_gdbarch_init): Ditto. * i386-tdep.c (i386_gdbarch_init): Ditto. * s390-tdep.c (s390_gdbarch_init): Ditto. * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. * v850-tdep.c (v850_gdbarch_init): Ditto. * mcore-tdep.c (mcore_gdbarch_init): Ditto. * d10v-tdep.c (d10v_gdbarch_init): Ditto. * config/mn10200/tm-mn10200.h (GET_SAVED_REGISTER): Delete macro.
2002-11-152002-11-15 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-11/+40
* frame.c (frame_pc_unwind): New function. (frame_saved_regs_pc_unwind): New function. (frame_register_unwind): Pass unwind_cache instead of register_unwind_cache. (set_unwind_by_pc): Add unwind_pc parameter, set. (create_new_frame): Pass frame->pc_unwind to set_unwind_by_pc. (get_prev_frame): Ditto. * frame.h (frame_pc_unwind_ftype): Declare. (struct frame_info): Add pc_unwind, pc_unwind_cache_p and pc_unwind_cache. Rename register_unwind_cache to unwind_cache. (frame_pc_unwind): Declare. * dummy-frame.c (dummy_frame_pc_unwind): New function. (struct dummy_frame): Add comment mentioning that values are for previous frame. * dummy-frame.h (dummy_frame_pc_unwind): Declare. * blockframe.c (file_frame_chain_valid): Use frame_pc_unwind. (generic_file_frame_chain_valid): Ditto. * stack.c (frame_info): Ditto.
2002-11-092002-11-09 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-6/+3
* frame.c (get_prev_frame): Test prev_p to identify a previously unwound frame. Initialize prev_p. * frame.h (struct frame_info): Add field prev_p. Expand prev/next comment.
2002-11-092002-11-09 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-86/+128
* frame.c (get_prev_frame): Cleanups. Eliminate redundant tests for a NULL NEXT_FRAME. Simplify fromleaf initialization. Add more comments. Zap dead code.
2002-11-082002-11-08 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-1/+1
* frame.c (set_unwind_by_pc): Use dummy_frame_register_unwind. * dummy-frame.c (find_dummy_frame): Rename generic_find_dummy_frame, make static. Return the dummy frame instead of the regcache. (generic_find_dummy_frame): Re-implement using find_dummy_frame, (cached_find_dummy_frame): New function. Use find_dummy_frame. (dummy_frame_register_unwind): Rename generic_call_dummy_register_unwind. Use cached_find_dummy_frame. * dummy-frame.h (dummy_frame_register_unwind): Rename generic_call_dummy_register_unwind.
2002-11-082002-11-08 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+545
* Makefile.in (frame.o): Update dependencies. * blockframe.c (current_frame, frame_obstack_alloc) (frame_saved_regs_zalloc, get_current_frame) (set_current_frame, create_new_frame) (set_unwind_by_pc, get_next_frame) (flush_cached_frames, reinit_frame_cache) (frame_saved_regs_register_unwind) (deprecated_generic_get_saved_register) (get_prev_frame, get_frame_pc, get_frame_saved_regs) (_initialize_blockframe): Move frame code from here... * frame.c: ...to here. Include "gdb_obstack.h", "gdbcore.h", "annotate.h" and "dummy-frame.h". (_initialize_frame): New function.
2002-11-052002-11-05 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-5/+73
* gdbarch.sh (GET_SAVED_REGISTER): Change to a predicate function. * gdbarch.h, gdbarch.c: Regnerate. * frame.h (frame_register): Declare. * frame.c (frame_register): New function. (get_saved_register): Test GET_SAVED_REGISTER_P before calling GET_SAVED_REGISTER, otherwize call generic_unwind_get_saved_register. (frame_register_read): Use frame_register instead of get_saved_register.
2002-11-022002-11-02 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+1
* regcache.h (deprecated_read_register_gen): Rename read_register_gen. (deprecated_write_register_gen): Rename write_register_gen. * i387-tdep.c: Update. * x86-64-linux-nat.c: Update * wince.c: Update. * thread-db.c: Update. * win32-nat.c: Update. * mips-tdep.c: Update. * d10v-tdep.c: Update. * cris-tdep.c: Update. * remote-sim.c: Update. * remote-rdi.c: Update. * remote-rdp.c: Update. * frame.c: Update. * target.c: Update. * blockframe.c: Update. * x86-64-tdep.c: Update. * xstormy16-tdep.c: Update. * sh-tdep.c: Update. * s390-tdep.c: Update. * rs6000-tdep.c: Update. * sparc-tdep.c: Update. * i386-tdep.c: Update. * dwarf2cfi.c: Update. * regcache.c: Update.
2002-10-312002-10-31 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-0/+34
* frame.c (frame_read_unsigned_register): New function. (frame_read_signed_register): New function. * frame.h (frame_read_unsigned_register): Declare. (frame_read_signed_register): Declare.
2002-09-252002-09-25 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-0/+43
* frame.c: Include "gdb_string.h" and "builtin-regs.h". (frame_map_regnum_to_name): New function. (frame_map_name_to_regnum): New function. * frame.h (frame_map_name_to_regnum): Declare. (frame_map_regnum_to_name): Declare. * builtin-regs.c (builtin_reg_map_regnum_to_name): New function. * builtin-regs.h (builtin_reg_map_regnum_to_name): Declare. * parse.c: Do not include "builtin-regs.h". (target_map_name_to_register): Delete function. (write_dollar_variable): Use frame_map_name_to_regnum. * parser-defs.h (target_map_name_to_register): Delete declaration. * expprint.c: Include "frame.h". (print_subexp): Use frame_map_regnum_to_name. * eval.c (evaluate_subexp_standard): Use frame_map_regnum_to_name. * infcmd.c (registers_info): Use frame_map_name_to_regnum. 2002-09-25 Andrew Cagney <cagney@redhat.com> * gdb.base/pc-fp.exp, gdb.base/pc-fp.c: New test.
2002-09-172002-09-17 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-0/+27
* h8300-tdep.c (h8300_frame_chain): (h8300_frame_saved_pc): * blockframe.c (deprecated_read_register_dummy): Rename generic_read_register_dummy. * frame.c (frame_unwind_signed_register): New function. (frame_unwind_unsigned_register): New function. * frame.h (frame_unwind_signed_register): Declare. (frame_unwind_unsigned_register): Declare. (deprecated_read_register_dummy): Rename generic_read_register_dummy. * xstormy16-tdep.c (xstormy16_frame_saved_pc): Update. * rs6000-tdep.c (rs6000_frame_saved_pc): Update. * s390-tdep.c (s390_frame_saved_pc_nofix): Update. (s390_frame_chain): Update. * v850-tdep.c (v850_find_callers_reg): Update. (v850_frame_saved_pc): Update. * m32r-tdep.c (m32r_init_extra_frame_info): Update. (m32r_find_callers_reg): Update. (m32r_frame_saved_pc): Update. * sh-tdep.c (sh_find_callers_reg): Update. (sh64_get_saved_pr): Update. (sh_init_extra_frame_info): Update. (sh_init_extra_frame_info): Update. (sh64_init_extra_frame_info): Update. (sh64_init_extra_frame_info): Update. * mcore-tdep.c (mcore_find_callers_reg): Update. (mcore_frame_saved_pc): Update. (mcore_init_extra_frame_info): Update. * i386-tdep.c (i386_frame_saved_pc): Update. * ia64-tdep.c (ia64_frame_saved_pc): Update. (ia64_init_extra_frame_info): Update. (ia64_init_extra_frame_info): Update. * d10v-tdep.c (d10v_frame_saved_pc): Update. * cris-tdep.c (cris_init_extra_frame_info): Update. * avr-tdep.c (avr_frame_chain): Update. (avr_init_extra_frame_info): Update. (avr_frame_saved_pc): Update. * arm-tdep.c (arm_find_callers_reg): Update. (arm_init_extra_frame_info): Update. (arm_frame_saved_pc): Update.
2002-09-132002-09-13 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-37/+0
* frame.c (find_saved_register): Delete function. * frame.h (find_saved_register): Delete declaration. Fix PR gdb/631.
2002-08-212002-08-19 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-1/+3
* frame.c (frame_register_unwind): When a register, set addrp to the register's byte.