aboutsummaryrefslogtreecommitdiff
path: root/gdb/dummy-frame.c
AgeCommit message (Collapse)AuthorFilesLines
2004-08-022004-08-02 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-64/+29
* dummy-frame.c (struct dummy_frame): Delete call_lo, call_hi, top and pc. Update comments. (pc_in_dummy_frame): Delete function. (deprecated_pc_in_call_dummy): Inline old pc_in_dummy_frame code, use the "id". (dummy_frame_push, dummy_frame_sniffer): Instead of call_lo, call_hi, top and pc, use the id. (fprint_dummy_frames): Do not print call_lo, call_hi, top and pc.
2004-08-022004-08-02 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-35/+21
* dummy-frame.c: Include "gdb_string.h". (generic_save_call_dummy_addr, generic_push_dummy_frame) (generic_save_dummy_frame_tos): Delete. (dummy_frame_push): New function, replaces above. * dummy-frame.h: Update copyright. (dummy_frame_push): Declare. * frame.h (generic_save_dummy_frame_tos, generic_push_dummy_frame) (generic_save_call_dummy_addr): Delete declarations. * infcall.c: Include "dummy-frame.h". (call_function_by_hand): Add locals caller_regcache, caller_regcache_cleanup and dummy_id. Replace push_dummy_frame with call to frame_save_as_regcache plus cleanup. Delete calls to generic_save_call_dummy_addr and generic_save_dummy_frame_tos. Move clear_proceed_status to just before the resume, add call to dummy_frame_push (discard cleanup). * Makefile.in (infcall.o): Add $(dummy_frame_h). (dummy-frame.o): Add $(gdb_string_h).
2004-08-02Index: ChangeLogAndrew Cagney1-77/+72
2004-08-01 Andrew Cagney <cagney@gnu.org> * dummy-frame.h (dummy_frame_unwind): Replace dummy_frame_sniffer. * frame-unwind.c (frame_unwind_init): Use dummy_frame_unwind. * dummy-frame.c (find_dummy_frame): Delete. (struct dummy_frame_cache, dummy_frame_sniffer) (dummy_frame_prev_register, dummy_frame_this_id) (dummy_frame_unwinder, dummy_frame_unwind): Re-implement dummy frame unwinder using a dummy_frame_cache.
2004-08-022004-08-01 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-2/+1
* frame.h (frame_save_as_regcache): Declare. * frame.c (frame_save_as_regcache): New function. (do_frame_read_register): Replace do_frame_unwind_register. (frame_pop): Use frame_save_as_regcache. * dummy-frame.c (generic_push_dummy_frame): Use frame_save_as_regcache.
2004-08-012004-08-01 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-135/+17
* frame.h (deprecated_pop_dummy_frame) (deprecated_read_register_dummy) (deprecated_generic_find_dummy_frame): Delete. * dummy-frame.c (deprecated_generic_find_dummy_frame) (deprecated_read_register_dummy) (deprecated_find_dummy_frame_regcache) (discard_innermost_dummy) (deprecated_pop_dummy_frame): Delete. (dummy_frame_this_id): Simplify. (struct dummy_frame): Delete "fp" and "sp". (find_dummy_frame): Simplify. (generic_push_dummy_frame): Do not set "fp" or "sp". (fprint_dummy_frames): Do not print "fp" and "sp"
2004-07-312004-07-31 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-10/+0
* frame.h (legacy_saved_regs_unwind) (legacy_frame_chain_valid, legacy_frame_p) (enum frame_type): Delete UNKNOWN_FRAME. * dummy-frame.c (dummy_frame_this_id): * frame-unwind.c (frame_unwind_find_by_frame): * frame.c (struct frame_info): Delete the field "type". (legacy_saved_regs_prev_register, legacy_get_prev_frame) (legacy_saved_regs_this_id, legacy_saved_regs_unwinder) (legacy_saved_regs_unwind, legacy_frame_p) (frame_type_from_pc): Delete. (get_frame_id, frame_pop, frame_register_unwind, get_prev_frame_1) (fprint_frame, create_new_frame, fprint_frame_type): Simplify.
2004-06-102004-06-10 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-2/+2
* gdbarch.sh (DEPRECATED_PC_IN_CALL_DUMMY): Delete. * gdbarch.h, gdbarch.c: Re-generate. * frame.h (deprecated_pc_in_call_dummy): Delete "sp" and "fp" parameters. * dummy-frame.c (deprecated_pc_in_call_dummy): Update. * arm-tdep.c (arm_pc_is_thumb_dummy): Call deprecated_pc_in_call_dummy instead of DEPRECATED_PC_IN_CALL_DUMMY. (arm_skip_prologue): Ditto. * xstormy16-tdep.c (xstormy16_pop_frame, xstormy16_scan_prologue) (xstormy16_frame_saved_pc, xstormy16_frame_chain): Ditto. * v850-tdep.c (v850_find_callers_reg, v850_frame_chain) (v850_pop_frame, v850_frame_saved_pc, v850_frame_init_saved_regs): Ditto. * sh64-tdep.c (sh64_frame_chain, sh64_get_saved_pr) (sh64_init_extra_frame_info, sh64_get_saved_register) (sh64_pop_frame): Ditto. * mips-tdep.c (non_heuristic_proc_desc): Ditto. * mcore-tdep.c (mcore_find_callers_reg, mcore_frame_saved_pc) (mcore_pop_frame, mcore_init_extra_frame_info): Ditto. * h8300-tdep.c (h8300_frame_chain, h8300_frame_saved_pc) (h8300_pop_frame): Ditto. * blockframe.c (legacy_inside_entry_func) (legacy_frame_chain_valid): Ditto. * frame.c (frame_type_from_pc, legacy_get_prev_frame): Update call to deprecated_pc_in_call_dummy.
2004-05-082004-05-08 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-5/+1
* ns32k-tdep.c (ns32k_gdbarch_init): Do not set deprecated_call_dummy_breakpoint_offset or deprecated_call_dummy_start_offset. * dummy-frame.c, arm-tdep.c: Update comments. * gdbarch.sh (DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET) (DEPRECATED_CALL_DUMMY_START_OFFSET): Delete. * gdbarch.h, gdbarch.c: Re-generate. Index: doc/ChangeLog 2004-05-08 Andrew Cagney <cagney@redhat.com> * gdbint.texinfo (Target Architecture Definition): Delete reference to DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET.
2004-05-012004-05-01 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+1
* frame.c (deprecated_generic_get_saved_register): Delete function, moved to "xstormy16-tdep.c". * xstormy16-tdep.c (xstormy16_get_saved_register): Inline deprecated_generic_get_saved_register from "frame.c". (xstormy16_frame_saved_register): Call xstormy16_get_saved_register. * dummy-frame.c (deprecated_find_dummy_frame_regcache): Make static. * dummy-frame.h (deprecated_find_dummy_frame_regcache): Delete. * frame.h (deprecated_generic_get_saved_register): Delete.
2004-05-012004-05-01 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+1
* frame.c (create_sentinel_frame): Set type to SENTINEL_FRAME. * dummy-frame.c (dummy_frame_this_id): Use get_frame_type, instead of frame_relative_level. * sentinel-frame.c (sentinel_frame_unwinder): Set unwinder's type to SENTINEL_FRAME. * frame.h (enum frame_type): Add SENTINEL_FRAME. * s390-tdep.c (s390_prologue_frame_unwind_cache): Delete calls to frame_relative_level.
2004-04-032004-04-03 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-3/+2
* frame-unwind.c (frame_unwind_find_by_frame): Delete check for generic dummy frames. * dummy-frame.c: Update copyright. (dummy_frame_sniffer): Delete check for generic dummy frames.
2004-03-222004-03-22 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-16/+1
* frame.h (generic_pop_current_frame): Delete declaration. (deprecate_pop_dummy_frame): Deprecate generic_pop_dummy_frame. * dummy-frame.c (deprecated_pop_dummy_frame): Update. (generic_pop_current_frame): Delete function. * mn10300-tdep.c (mn10300_pop_frame): Eliminate call to generic_pop_current_frame. * v850-tdep.c (v850_pop_frame): Update. * mcore-tdep.c (mcore_pop_frame): Update. * sh64-tdep.c (sh64_pop_frame): Update. * h8300-tdep.c (h8300_pop_frame): Update.
2004-03-222004-03-22 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-5/+6
* frame.h (deprecated_pc_in_call_dummy): Rename generic_pc_in_call_dummy. * dummy-frame.h (pc_in_dummy_frame): Delete declaration. * dummy-frame.c (deprecated_pc_in_call_dummy): Rename generic_pc_in_call_dummy. (pc_in_dummy_frame): Make static. * gdbarch.sh (DEPRECATED_PC_IN_CALL_DUMMY): Update. * gdbarch.h, gdbarch.c: Re-generate. * dummy-frame.c (dummy_frame_sniffer): Simplify. * frame.c (frame_type_from_pc): Call deprecated_pc_in_call_dummy. (legacy_get_prev_frame): Ditto. * inferior.h: Delete reference to generic_pc_in_call_dummy in comment.
2003-10-102003-10-09 Michael Snyder <msnyder@redhat.com>Michael Snyder1-1/+1
* dummy-frame.c: Fix typo.
2003-07-162003-07-16 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+2
* frame-base.h (frame_base_p_ftype): Delete definition. (frame_base_append_predicate): Delete declaration. * frame-unwind.h (frame_unwind_p_ftype): Delete definition. (frame_unwind_append_predicate): Delete declaration. * frame-unwind.c (struct frame_unwind_table): Delete field "p". (append_predicate): Delete parameter "p". (frame_unwind_append_predicate): Delete function. (frame_unwind_append_sniffer): Update call to append_predicate. (frame_unwind_free): Delete function. (_initialize_frame_unwind): Pass NULL as "free" to register_gdbarch_data. (frame_unwind_init): Append the dummy_frame_sniffer. (frame_unwind_find_by_frame): Simplify. * frame-base.c (struct frame_base_table): Delete field "p". (append_predicate): Delete parameter "p". (frame_base_append_predicate): Delete function. (frame_base_append_sniffer): Update call to append_predicate. (frame_base_free): Delete function. (frame_base_find_by_frame): Simplify. (_initialize_frame_base): Pass NULL as "free" to register_gdbarch_data. * x86-64-tdep.c (x86_64_frame_sniffer): Replace "x86_64_frame_p". (x86_64_sigtramp_frame_sniffer): Replace "x86_64_sigtramp_frame_p". (x86_64_init_abi): Set the frame unwind sniffers. * m68k-tdep.c (m68k_frame_sniffer): Replace "m68k_frame_p". (m68k_sigtramp_frame_sniffer): Replace "m68k_sigtramp_frame_p" (m68k_gdbarch_init): Set the frame unwind sniffers. * i386-tdep.c (i386_sigtramp_frame_sniffer): Replace "i386_sigtramp_frame_p". (i386_frame_sniffer): Replace "i386_frame_p". (i386_gdbarch_init): Set the frame unwind sniffers. * avr-tdep.c (avr_frame_sniffer): Replace "avr_frame_sniffer". (avr_gdbarch_init): Set the frame unwind sniffers. * alpha-tdep.c (alpha_sigtramp_frame_sniffer): Replace "alpha_sigtramp_frame_p" (alpha_heuristic_frame_sniffer): Replace "alpha_heuristic_frame_p". (alpha_gdbarch_init): Set the frame unwind sniffers. (alpha_dwarf2_init_abi): Ditto. * alpha-mdebug-tdep.c (alpha_mdebug_frame_sniffer): Replace "alpha_debug_frame_p". (alpha_mdebug_frame_base_sniffer): Replace "alpha_mdebug_frame_base_p". (alpha_mdebug_init_abi): Set the frame unwind sniffers. * d10v-tdep.c (d10v_frame_sniffer): Replace "d10v_frame_p". (d10v_gdbarch_init): Set the frame unwind sniffer. * dwarf2-frame.c (dwarf2_frame_sniffer): Replace "dwarf2_frame_p". (dwarf2_frame_base_sniffer): Replace "dwarf2_frame_base_p". * dwarf2-frame.h (dwarf2_frame_sniffer): Replace "dwarf2_frame_p". (dwarf2_frame_base_sniffer): Replace "dwarf2_frame_base_p". * dummy-frame.c (dummy_frame_sniffer): Replace "dummy_frame_p". * dummy-frame.h (dummy_frame_sniffer): Replace "dummy_frame_p".
2003-06-162003-06-16 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+1
* gdbarch.sh (SAVE_DUMMY_FRAME_TOS): Deprecate. * gdbarch.h, gdbarch.c: Re-generate. * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. * s390-tdep.c (s390_gdbarch_init): Update. * rs6000-tdep.c (rs6000_gdbarch_init): Update. * mn10300-tdep.c (mn10300_gdbarch_init): Update. * mips-tdep.c (mips_gdbarch_init): Update. * mcore-tdep.c (mcore_gdbarch_init): Update. * cris-tdep.c (cris_gdbarch_init): Update. * infcall.c (call_function_by_hand): Update. * ia64-tdep.c (ia64_push_arguments): Update comment. * frame.c (legacy_get_prev_frame): Do not assume SAVE_DUMMY_FRAME_TOS_P. * dummy-frame.c (find_dummy_frame): Update comment.
2003-06-132003-06-13 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-4/+0
* infcall.c (call_function_by_hand): When UNWIND_DUMMY_ID is available, do not use the FP register, and always save the TOS. * dummy-frame.c (dummy_frame_this_id): Do not assert SAVE_DUMMY_FRAME_TOS. * i386-tdep.c (i386_save_dummy_frame_tos): Delete function. (i386_gdbarch_init): Do not set save_dummy_frame_tos. (i386_push_dummy_call): Add 8 to the returned SP. * frame.c (legacy_frame_p): Do not require SAVE_DUMMY_FRAME_TOS. * d10v-tdep.c (d10v_unwind_dummy_id): Use d10v_unwind_sp. (d10v_gdbarch_init): Do not set save_dummy_frame_tos. * x86-64-tdep.c (x86_64_save_dummy_frame_tos): Delete function. (x86_64_push_dummy_call): Return "sp + 16". (x86_64_init_abi): Do not set save_dummy_frame_tos. * alpha-tdep.c (alpha_gdbarch_init): Do not set save_dummy_frame_tos.
2003-05-222003-05-22 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+1
* stack.c (frame_info): Inline extract_address, replacing it with extract_unsigned_integer. * findvar.c (unsigned_pointer_to_address): Ditto. * dwarf2loc.c (dwarf_expr_read_reg): Ditto. * dwarf2expr.c (dwarf2_read_address): Ditto. * frame.c (frame_pc_unwind): Update comment. * dummy-frame.c (deprecated_read_register_dummy): Update comment.
2003-05-152003-05-15 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-3/+3
* dummy-frame.h (deprecated_find_dummy_frame_regcache): Rename generic_find_dummy_frame. * dummy-frame.c (deprecated_find_dummy_frame_regcache): Update. (deprecated_generic_find_dummy_frame): Update. (deprecated_read_register_dummy): Update. * frame.c (deprecated_generic_get_saved_register): Update.
2003-05-05Index: testsuite/ChangeLogAndrew Cagney1-0/+48
2003-05-05 Andrew Cagney <cagney@redhat.com> * gdb.base/maint.exp: Add tests for "maint print dummy-frames". Index: doc/ChangeLog 2003-05-05 Andrew Cagney <cagney@redhat.com> * gdb.texinfo (Maintenance Commands): Document "maint print dummy-frames". 2003-05-05 Andrew Cagney <cagney@redhat.com> * dummy-frame.c: Include "command.h" and "gdbcmd.h". (fprint_dummy_frames): New function. (maintenance_print_dummy_frames): New function. (_initialize_dummy_frame): Add command "maint print dummy-frames". * frame.c (fprint_frame_id): Make global. * frame.h (fprint_frame_id): Declare. * Makefile.in (dummy-frame.o): Update dependencies.
2003-05-052003-05-03 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-2/+3
* gdbarch.sh (DEPRECATED_REGISTER_SIZE): Rename REGISTER_SIZE. (DEPRECATED_SIZEOF_CALL_DUMMY_WORDS): Rename SIZEOF_CALL_DUMMY_WORDS. (DEPRECATED_CALL_DUMMY_WORDS): Rename CALL_DUMMY_WORDS. (DEPRECATED_FIX_CALL_DUMMY): Rename FIX_CALL_DUMMY. (DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET): Rename CALL_DUMMY_BREAKPOINT_OFFSET. (DEPRECATED_CALL_DUMMY_START_OFFSET): Rename CALL_DUMMY_START_OFFSET. (DEPRECATED_CALL_DUMMY_LENGTH): Rename CALL_DUMMY_LENGTH. * gdbarch.h, gdbarch.c: Re-generate. * alpha-tdep.c, alphafbsd-tdep.c, arm-linux-tdep.c: Update. * arm-tdep.c, avr-tdep.c, breakpoint.c, cris-tdep.c: Update. * dummy-frame.c, dummy-frame.h, frv-tdep.c, gdbarch.c: Update. * gdbarch.h, gdbarch.sh, h8300-tdep.c, hppa-tdep.c: Update. * i386-tdep.c, ia64-tdep.c, infcall.c, inferior.h: Update. * m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c: Update. * mips-tdep.c, mn10300-tdep.c, ns32k-tdep.c: Update. * rs6000-tdep.c, s390-tdep.c, sh-tdep.c, sol-thread.c: Update. * sparc-tdep.c, target.c, v850-tdep.c, valops.c: Update. * vax-tdep.c, x86-64-tdep.c, xstormy16-tdep.c: Update. * config/ia64/tm-ia64.h, config/m68k/tm-vx68.h: Update. * config/mips/tm-mips.h, config/pa/nm-hppah.h: Update. * config/pa/tm-hppa.h, config/pa/tm-hppa64.h: Update. * config/s390/tm-s390.h, config/sparc/tm-sp64.h: Update. * config/sparc/tm-sparc.h: Update. Index: doc/ChangeLog 2003-05-03 Andrew Cagney <cagney@redhat.com> * gdbint.texinfo (Target Architecture Definition): Make CALL_DUMMY_WORDS, SIZEOF_CALL_DUMMY_WORDS, CALL_DUMMY_LENGTH, FIX_CALL_DUMMY, CALL_DUMMY_BREAKPOINT_OFFSET and CALL_DUMMY_BREAKPOINT_OFFSET deprecated. Index: mi/ChangeLog 2003-05-03 Andrew Cagney <cagney@redhat.com> * mi-main.c (mi_cmd_data_write_register_values): Replace REGISTER_SIZE with DEPRECATED_REGISTER_SIZE. Index: testsuite/ChangeLog 2003-05-03 Andrew Cagney <cagney@redhat.com> * gdb.base/watchpoint.exp: Rename CALL_DUMMY_BREAKPOINT_OFFSET to DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET in comments.
2003-04-292003-04-28 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+1
* gdbarch.sh (DEPRECATED_TARGET_READ_FP): Replace TARGET_READ_FP. (DEPRECATED_FP_REGNUM): Replace FP_REGNUM. * gdbarch.h, gdbarch.c: Re-generate. * infcall.c (call_function_by_hand): Use DEPRECATED_FP_REGNUM, DEPRECATED_TARGET_READ_FP, or "sp" to create the dummy frame ID. * inferior.h (deprecated_read_fp): Rename read_fp. (generic_target_read_fp): Delete declaration. * regcache.c (generic_target_read_fp): Delete function. (deprecated_read_fp): Replace read_fp, use DEPRECATED_TARGET_READ_FP or DEPRECATED_FP_REGNUM. * d10v-tdep.c (d10v_read_fp): Delete function. (d10v_gdbarch_init): Do not set deprecated_read_fp. * sparc-tdep.c (sparc_gdbarch_init): Do not set deprecated_target_read_fp to generic_target_read_fp. * sh-tdep.c (sh_gdbarch_init): Ditto. * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. * frv-tdep.c (frv_gdbarch_init): Ditto. * xstormy16-tdep.c (xstormy16_gdbarch_init): Set deprecated_fp_regnum. * x86-64-tdep.c (x86_64_init_abi): Ditto. * vax-tdep.c (vax_gdbarch_init): Ditto. * v850-tdep.c (v850_gdbarch_init): Ditto. * sparc-tdep.c (sparc_gdbarch_init): Ditto. * sh-tdep.c (sh_gdbarch_init): Ditto. * s390-tdep.c (s390_gdbarch_init): Ditto. * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. * mcore-tdep.c (mcore_gdbarch_init): Ditto. * m68k-tdep.c (m68k_gdbarch_init): Ditto. * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. * ia64-tdep.c (ia64_gdbarch_init): Ditto. * i386-tdep.c (i386_gdbarch_init): Ditto. * hppa-tdep.c (hppa_gdbarch_init): Ditto. * h8300-tdep.c (h8300_gdbarch_init): Ditto. * frv-tdep.c (frv_gdbarch_init): Ditto. * cris-tdep.c (cris_gdbarch_init): Ditto. * avr-tdep.c (avr_gdbarch_init): Ditto. * arm-tdep.c (arm_gdbarch_init): Ditto. * alpha-tdep.c (alpha_gdbarch_init): Ditto. * x86-64-tdep.c (x86_64_init_abi): Set deprecated_target_read_fp. * v850-tdep.c (v850_gdbarch_init): Ditto. * sparc-tdep.c (sparc_gdbarch_init): Ditto. * sh-tdep.c (sh_gdbarch_init): Ditto. * s390-tdep.c (s390_gdbarch_init): Ditto. * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. * mips-tdep.c (mips_gdbarch_init): Ditto. * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. * ia64-tdep.c (ia64_gdbarch_init): Ditto. * hppa-tdep.c (hppa_gdbarch_init): Ditto. * frv-tdep.c (frv_gdbarch_init): Ditto. * avr-tdep.c (avr_gdbarch_init): Ditto. * arm-tdep.c (arm_gdbarch_init): Ditto. * vax-tdep.c (vax_frame_init_saved_regs): Replace FP_REGNUM with DEPRECATED_FP_REGNUM. (vax_push_dummy_frame, vax_pop_frame): Ditto. * std-regs.c (value_of_builtin_frame_fp_reg): Ditto. * sparc-tdep.c (sparc_init_extra_frame_info): Ditto. (sparc_push_dummy_frame, sparc64_read_fp): Ditto. (sparc32_register_virtual_type): Ditto. * sh-tdep.c (sh64_frame_chain): Ditto. (sh64_get_saved_register, sh64_pop_frame): Ditto. (sh_nofp_frame_init_saved_regs): Ditto. (sh64_nofp_frame_init_saved_regs): Ditto. (sh_fp_frame_init_saved_regs): Ditto. * remote-mips.c (mips_wait, mips_fetch_registers): Ditto. * remote-e7000.c (fetch_regs_from_dump): Ditto. * procfs.c (procfs_fetch_registers): Ditto. (procfs_store_registers): Ditto. * ns32knbsd-nat.c (fetch_inferior_registers): Ditto. (store_inferior_registers, fetch_core_registers): Ditto. (fetch_kcore_registers, clear_regs): Ditto. * ns32k-tdep.c (ns32k_frame_init_saved_regs): Ditto. (ns32k_push_dummy_frame, ns32k_pop_frame): Ditto. * nlm/i386.h (DEPRECATED_FP_REGNUM): Ditto. * nlm/i386.c (do_status): Ditto. * mipsv4-nat.c (supply_gregset): Ditto. * mips-tdep.c: Ditto for comments. * mips-nat.c (fetch_inferior_registers): Ditto. (store_inferior_registers, fetch_core_registers): Ditto. * m68k-tdep.c (m68k_push_dummy_frame): Ditto. (m68k_pop_frame, m68k_frame_init_saved_regs): Ditto. * i386-tdep.c (i386_frame_init_saved_regs): Ditto. (i386_do_pop_frame, i386_register_type): Ditto. * hppa-tdep.c (hppa_frame_chain): Ditto. (hppa_push_dummy_frame, find_dummy_frame_regs): Ditto. (hppa_pop_frame, hppa_read_fp): Ditto. (skip_prologue_hard_way, hppa_frame_find_saved_regs): Ditto. * cris-tdep.c (cris_examine, cris_pop_frame): Ditto. * config/vax/nm-vax.h (REGISTER_U_ADDR): Ditto. * config/sparc/tm-sparc.h (DEPRECATED_FP_REGNUM): Ditto. * config/sparc/tm-sp64.h (DEPRECATED_FP_REGNUM): Ditto. * config/s390/tm-s390.h (DEPRECATED_FP_REGNUM): Ditto. * config/pa/tm-hppa64.h (DEPRECATED_FP_REGNUM): Ditto. * config/ia64/tm-ia64.h (DEPRECATED_FP_REGNUM): Ditto. * blockframe.c: Ditto for comments. * arch-utils.h: Ditto for comments. * arch-utils.c (legacy_virtual_frame_pointer): Ditto. * alphanbsd-tdep.c (fetch_core_registers): Ditto. * alphabsd-nat.c (fetch_inferior_registers): Ditto. * alpha-tdep.h: Ditto for comments. * alpha-tdep.c (alpha_cannot_fetch_register): Ditto. (alpha_cannot_store_register): Ditto. (alpha_push_dummy_frame): Ditto. * alpha-nat.c (supply_gregset): Ditto. * config/sparc/tm-sp64.h (DEPRECATED_TARGET_READ_FP): Update. * config/pa/tm-hppa64.h (DEPRECATED_TARGET_READ_FP): Update. * config/sparc/tm-sparc.h: Update comment. * hppa-tdep.c (hppa_init_extra_frame_info): Use deprecated_read_fp instead of TARGET_READ_FP. (hppa_init_extra_frame_info, hppa_frame_chain): Ditto. (hppa_push_dummy_frame, hppa_read_fp): Ditto. * sparc-tdep.c (sparc_init_extra_frame_info): Use deprecated_read_fp instead of read_fp. * s390-tdep.c (s390_push_arguments): Ditto. * ia64-tdep.c (ia64_gdbarch_init): Ditto. * frame.h: Ditto in comments. * frame.c (legacy_get_prev_frame): Ditto. * dummy-frame.c (dummy_frame_this_id): Ditto. * arm-tdep.c (arm_init_extra_frame_info): Ditto. 2003-04-28 Andrew Cagney <cagney@redhat.com> * gdbint.texinfo (Target Architecture Definition): Replace read_fp, TARGET_READ_FP and FP_REGNUM, with deprecated_read_fp, DEPRECATED_TARGET_READ_FP and DEPRECATED_REGNUM.
2003-04-102003-04-09 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+2
* frame.h (struct frame_id): Replace "pc" and "base" with "stack_addr" and "code_addr". Update comments. (frame_id_build): Update parameter names and comment. (struct frame_info): Replace "id_p" and "id" with "this_id". * dummy-frame.c (dummy_frame_this_id): Update. * breakpoint.c (print_one_breakpoint): Update. * frame.c (get_frame_id): Update. (get_frame_base, frame_id_build): Update. (create_sentinel_frame, legacy_get_prev_frame): Update. (deprecated_update_frame_base_hack): Update. (frame_id_p, frame_id_eq): Rework, return 0 when an invalid ID. (frame_id_inner): Ditto.
2003-04-052003-04-04 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-0/+1
* frame.c (get_prev_frame): Do not call frame_type_from_pc. Set the frame's type from the unwinder. (get_frame_type): Map UNKNOWN_FRAME onto NORMAL_FRAME. (create_new_frame, legacy_get_prev_frame): When the unwinder's type isn't UNKNOWN_FRAME, initalize "type" from the unwinder. (get_frame_base_address): Use get_frame_type. (get_frame_locals_address, get_frame_args_address): Ditto. (legacy_saved_regs_unwinder): Set the type to UNKNOWN_TYPE. * frame.h (enum frame_type): Add UNKNOWN_FRAME. (struct frame_info): Add comment explaining why the frame contains a "type" field. * dummy-frame.c (dummy_frame_unwind): Set the type to DUMMY_FRAME. * d10v-tdep.c (d10v_frame_unwind): Set the type to NORMAL_FRAME. * sentinel-frame.c (sentinel_frame_unwinder): Set the type to NORMAL_FRAME. * frame-unwind.h: Include "frame.h". (struct frame_unwind): Add "type" field. * Makefile.in (frame_unwind_h): Add $(frame_h).
2003-04-042003-04-04 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-4/+3
* x86-64-tdep.c (x86_64_unwind_dummy_id): Use frame_id_build. * dummy-frame.c (dummy_frame_this_id): Use frame_id_build. * d10v-tdep.c (d10v_frame_this_id): Use get_frame_pc and get_frame_base. (d10v_unwind_dummy_id): Use frame_id_build. * frame.c (find_frame_sal): Use get_frame_pc. (create_new_frame): Use deprecated_update_frame_pc_hack and deprecated_update_frame_base_hack. (create_sentinel_frame): Add comment about ->pc going away. (get_prev_frame): Add comment about ->pc going away. (legacy_get_prev_frame): Use get_frame_base, get_frame_pc, frame_id_build, deprecated_update_frame_pc_hack and deprecated_update_frame_base_hack. (select_frame): Use get_frame_pc. (legacy_saved_regs_this_id): Use frame_id_build.
2003-03-312003-03-31 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-11/+0
* gdbarch.sh (FIX_CALL_DUMMY): Change to function with predicate. * gdbarch.h, gdbarch.c: Regenerate. * inferior.h (FIX_CALL_DUMMY): Delete macro. * valops.c (hand_function_call): Only call FIX_CALL_DUMMY when available. * frame.h (generic_fix_call_dummy): Delete declaration. * dummy-frame.h: Update comment. * dummy-frame.c (generic_fix_call_dummy): Delete function. * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set fix_call_dummy. * sh-tdep.c (sh_gdbarch_init): Ditto. * s390-tdep.c (s390_gdbarch_init): Ditto. * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. * mcore-tdep.c (mcore_gdbarch_init): Ditto. * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. * ia64-tdep.c (ia64_gdbarch_init): Ditto. * i386-tdep.c (i386_gdbarch_init): Ditto. * h8300-tdep.c (h8300_gdbarch_init): Ditto. * frv-tdep.c (frv_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.
2003-03-312003-03-31 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+1
* gdbarch.sh (CALL_DUMMY_P): Delete. * gdbarch.h, gdbarch.c: Re-generate. * inferior.h (CALL_DUMMY_P): Delete macro. * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. * vax-tdep.c (vax_gdbarch_init): Update. * v850-tdep.c (v850_gdbarch_init): Update. * sparc-tdep.c (sparc_gdbarch_init): Update. * sh-tdep.c (sh_gdbarch_init): Update. * s390-tdep.c (s390_gdbarch_init): Update. * rs6000-tdep.c (rs6000_gdbarch_init): Update. * ns32k-tdep.c (ns32k_gdbarch_init): Update. * mn10300-tdep.c (mn10300_gdbarch_init): Update. * mips-tdep.c (mips_gdbarch_init): Update. * mcore-tdep.c (mcore_gdbarch_init): Update. * m68k-tdep.c (m68k_gdbarch_init): Update. * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. * ia64-tdep.c (ia64_gdbarch_init): Update. * i386-tdep.c (i386_gdbarch_init): Update. * h8300-tdep.c (h8300_gdbarch_init): Update. * frv-tdep.c (frv_gdbarch_init): Update. * d10v-tdep.c (d10v_gdbarch_init): Update. * cris-tdep.c (cris_gdbarch_init): Update. * breakpoint.c (deprecated_frame_in_dummy): Update. * avr-tdep.c (avr_gdbarch_init): Update. * alpha-tdep.c (alpha_gdbarch_init): Update. * arm-tdep.c (arm_gdbarch_init): Update. * dummy-frame.c (dummy_frame_this_id): Update comments. * rs6000-tdep.c (rs6000_extract_struct_value_address): Ditto. * frame.c (legacy_get_prev_frame): Ditto. * valops.c (call_function_by_hand): Delete function. (hand_function_call): Rename to call_function_by_hand 2003-03-31 Andrew Cagney <cagney@redhat.com> * gdbint.texinfo (Target Architecture Definition): Delete references to CALL_DUMMY_P.
2003-03-172003-03-17 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-27/+82
Fix frame off-by-one bug. * frame-unwind.h (frame_this_id_ftype): Replace frame_unwind_id_ftype. (frame_prev_register_ftype): Replace frame_unwind_reg_ftype. (struct frame_unwind): Replace "id" with "this_id". Replace "reg" with "prev_register". * frame-unwind.c (frame_unwind_find_by_pc): Return legacy_saved_regs_unwind instead of trad_frame_unwind. Update comment. * dummy-frame.c (cached_find_dummy_frame): Delete function. (dummy_frame_this_id): Replace dummy_frame_id_unwind. (dummy_frame_prev_register): Replace dummy_frame_register_unwind. (dummy_frame_unwind): Update. * sentinel-frame.c (sentinel_frame_prev_register): Replace sentinel_frame_register_unwind. (sentinel_frame_this_id): Replace sentinel_frame_id_unwind. (sentinel_frame_unwinder): Update. * frame.h (legacy_saved_regs_unwind): Replace trad_frame_unwind. (struct frame_info): Rename "unwind_cache" to "prologue_cache". * frame.c (create_sentinel_frame): Update. Initialize "prologue_cache" instead of "unwind_cache". (frame_register_unwind): Call this frame's prev_register with the next frame and this frame's prologue cache. (get_prev_frame): Simplify. Always call prev frame's this_id with this frame and prev frame's prologue cache. Document that this call is shifted one to the left when compared to the frame_register_unwind call. (legacy_saved_regs_prev_register): Replace frame_saved_regs_register_unwind. (legacy_saved_regs_this_id): Replace frame_saved_regs_id_unwind. (legacy_saved_regs_unwinder): Replace trad_frame_unwinder. (legacy_saved_regs_unwind): Replace trad_frame_unwind. * d10v-tdep.c (d10v_frame_this_id): Replace d10v_frame_id_unwind. (d10v_frame_unwind): Update. (d10v_frame_prev_register): Replace d10v_frame_register_unwind. (d10v_frame_unwind_cache): Replace this "fi" with "next_frame". (saved_regs_unwinder): Replace this "frame" with "next_frame", and "saved_regs" with "this_saved_regs".
2003-03-122003-03-12 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-32/+0
Eliminate the need for POP_FRAME. * frame.c (do_frame_unwind_register): New function. (frame_pop): When no POP_FRAME, pop the frame using register unwind and a scratch regcache. (frame_saved_regs_pop): Delete function. (trad_frame_unwinder): Update. * d10v-tdep.c (d10v_frame_pop): Delete function. (d10v_frame_unwind): Update. * sentinel-frame.c (sentinel_frame_pop): Delete function. (sentinel_frame_unwinder): Update. * dummy-frame.c (dummy_frame_pop): Delete function. (dummy_frame_unwind): Update. * frame-unwind.h (frame_unwind_pop_ftype): Delete definition. (struct frame_unwind): Update.
2003-03-102003-03-10 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-18/+0
* gdbarch.sh (gdbarch_unwind_pc): New method. * gdbarch.h, gdbarch.c: Regenerate. * frame.c (frame_pc_unwind): Rewrite. Prefer gdbarch_unwind_pc, but use read_pc and FRAME_SAVED_PC as fall backs. (frame_saved_regs_pc_unwind): Delete function. (trad_frame_unwinder): Update. * frame-unwind.h (frame_unwind_pc_ftype): Delete declaration. (struct frame_unwind): Update. * dummy-frame.c (dummy_frame_pc_unwind): Delete function. (dummy_frame_unwind): Update. * sentinel-frame.c (sentinel_frame_pc_unwind): Delete function. (sentinel_frame_unwinder): Update. * d10v-tdep.c (d10v_frame_pc_unwind): Delete function. (d10v_frame_unwind): Update. (d10v_unwind_pc): New function. (d10v_gdbarch_init): Set unwind_pc. Index: doc/ChangeLog 2003-03-10 Andrew Cagney <cagney@redhat.com> * gdbint.texinfo (Target Architecture Definition): Cross reference FRAME_SAVED_PC to unwind_pc. Document unwind_pc.
2003-01-192003-01-19 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-5/+44
* 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-4/+29
* 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-5/+6
* 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.
2002-12-132002-12-13 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+16
* 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-092002-12-07 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-1/+1
* f-valprint.c (info_common_command): Use get_frame_pc. * std-regs.c (value_of_builtin_frame_pc_reg): Ditto. * ax-gdb.c (agent_command): Ditto. * rs6000-tdep.c (rs6000_init_extra_frame_info): Ditto. (rs6000_pop_frame): Ditto. (rs6000_frameless_function_invocation): Ditto. (rs6000_frame_saved_pc, frame_get_saved_regs): Ditto. (frame_initial_stack_address, rs6000_frame_chain): Ditto. * macroscope.c (default_macro_scope): Ditto. * stack.c (print_frame_info_base): Ditto. (print_frame, frame_info, print_frame_label_vars): Ditto. (return_command, func_command, get_frame_language): Ditto. * infcmd.c (finish_command): Ditto. * dummy-frame.c (cached_find_dummy_frame): Ditto. * breakpoint.c (deprecated_frame_in_dummy): Ditto. (break_at_finish_at_depth_command_1): Ditto. (break_at_finish_command_1): Ditto. (until_break_command, get_catch_sals): Ditto. * blockframe.c (func_frame_chain_valid): Ditto. (frameless_look_for_prologue): Ditto. (frame_address_in_block, generic_func_frame_chain_valid): Ditto.
2002-12-092002-12-08 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-2/+2
* blockframe.c: Use get_frame_base instead of directly accessing the `struct frame_info' member frame. * f-valprint.c, std-regs.c, rs6000-tdep.c: Ditto. * stack.c, dummy-frame.c, breakpoint.c: Ditto.
2002-11-242002-11-24 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-3/+22
* 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-152002-11-15 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-0/+15
* 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-082002-11-08 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-27/+29
* 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/+308
* blockframe.c: Include "dummy-frame.h". (struct dummy_frame, dummy_frame_stack) (generic_find_dummy_frame, deprecated_generic_find_dummy_frame) (generic_pc_in_call_dummy, deprecated_read_register_dummy) (generic_push_dummy_frame, generic_save_dummy_frame_tos) (generic_save_call_dummy_addr, generic_pop_current_frame) (generic_pop_dummy_frame, generic_fix_call_dummy) (generic_fix_call_dummy, generic_call_dummy_register_unwind): Move dummy frame code from here... * dummy-frame.c: ...to here. New file. * dummy-frame.h: New file. (generic_call_dummy_register_unwind): Declare. (generic_find_dummy_frame): Declare. * Makefile.in (SFILES): Add dummy-frame.c. (dummy-frame.o): Specify dependencies. (dummy_frame_h): Define. (COMMON_OBS): Add dummy-frame.o. (blockframe.o): Update dependencies.