2003-03-17 Andrew Cagney <cagney@redhat.com>
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 6ef2f400c4a68cd0579f6f60c3a1a2cf60b6d02a..bec734b8c2a50a4b9b473d3f3bd33f8b5417828c 100644 (file)
@@ -1,3 +1,281 @@
+2003-03-17  Andrew Cagney  <cagney@redhat.com>
+
+       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-16  Andrew Cagney  <cagney@redhat.com>
+
+       * frame.c (frame_pop): Don't call target_store_registers.  Fix
+       problem reported by Mark Kettenis.
+
+2003-03-16  Mark Kettenis  <kettenis@gnu.org>
+
+       * i386-tdep.c (i386_register_type): Renamed from
+       i386_register_virtual_type.  Adjust function signature.
+       (i386_gdbarch_init): Set register_type instead of
+       deprecated_max_register_raw_size,
+       deprecated_max_register_virtual_size and register_virtual_type.
+
+2003-03-14  Andrew Cagney  <cagney@redhat.com>
+
+       * frame.c (get_prev_frame): When a legacy frame, always call
+       legacy_get_prev_frame.  Simplify unwind code using assumption that
+       the unwinder is new.
+       (legacy_get_prev_frame): Handle legacy sentinel frame unwind here.
+       (legacy_frame_p): When no gdbarch_unwind_dummy_id, or
+       SAVED_DUMMY_FRAME_TOS, assume a legacy frame.
+
+2003-03-14  Andrew Cagney  <cagney@redhat.com>
+
+       * frame.c (get_saved_register): Delete function.
+       * frame.h (get_saved_register): Delete declaration.
+       * xstormy16-tdep.c: Update comment.
+       * regcache.h: Update comments.
+       * sparc-tdep.c (sparc_init_extra_frame_info): Instead of
+       get_saved_register and extract_address, use
+       frame_read_unsigned_register.
+       (sparc_frame_saved_pc): Ditto.
+       (sparc_get_saved_register): Instead of get_saved_register, use
+       frame_register.
+       (sparc_pop_frame): Ditto.
+       * findvar.c: Update comments.
+       (value_of_register): Call frame_register instead of
+       get_saved_register.
+       (value_from_register): Ditto.
+       * config/sparc/tm-sparc.h: Update comment.
+       * breakpoint.c: Update comment.
+
+2003-03-14  Andrew Cagney  <cagney@redhat.com>
+
+       * gdbarch.sh (DEPRECATED_GET_SAVED_REGISTER): Replace
+       GET_SAVED_REGISTER.
+       * gdbarch.h, gdbarch.c: Re-generate.
+       * frame.h: Update comments.
+       * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+       * x86-64-tdep.c (x86_64_init_abi): Update.
+       * sparc-tdep.c (sparc_gdbarch_init): Update.
+       * sh-tdep.c (sh_gdbarch_init): Update.
+       * mips-tdep.c (mips_gdbarch_init): Update.
+       * m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+       * cris-tdep.c (cris_gdbarch_init): Update.
+       * ia64-tdep.c (ia64_gdbarch_init): Update.
+       * frame.c (frame_register): Update.
+       (get_saved_register): Update.
+       * config/sparc/tm-sparc.h (DEPRECATED_GET_SAVED_REGISTER): Update.
+       
+2003-03-13  Andrew Cagney  <cagney@redhat.com>
+
+       * gdbarch.sh (DEPRECATED_POP_FRAME): Replace POP_FRAME.
+       * gdbarch.h, gdbarch.c: Regenerate.
+       * valops.c (hand_function_call): Update comment.
+       * stack.c (return_command): Update comment.
+       * config/sparc/tm-sparc.h (DEPRECATED_POP_FRAME): Update.
+       * config/pa/tm-hppa.h (DEPRECATED_POP_FRAME): Update.
+       * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+       * x86-64-tdep.c (x86_64_init_abi): 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.
+       * hppa-tdep.c (hppa_gdbarch_init): Update.
+       * h8300-tdep.c (h8300_gdbarch_init): Update.
+       * frv-tdep.c (frv_gdbarch_init): Update.
+       * cris-tdep.c (cris_gdbarch_init): Update.
+       * avr-tdep.c (avr_gdbarch_init): Update.
+       * arm-tdep.c (arm_gdbarch_init): Update.
+       * alpha-tdep.c (alpha_gdbarch_init): Update.
+
+2003-03-13  Andrew Cagney  <cagney@redhat.com>
+
+       * frame.c (legacy_frame_p): New function.
+       (get_prev_frame): Use legacy_frame_p.
+       * frame.h (legacy_frame_p): Declare.
+
+2003-03-13  D. Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+        * MAINTAINERS (write after approval): Alphabetically
+       listing corrected.
+
+2003-03-13  D. Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+        * MAINTAINERS (write after approval): Add myself.
+
+2003-03-12  Andrew Cagney  <cagney@redhat.com>
+
+       * frame.c (get_prev_frame): Rename the frame parameter to
+       "this_frame".
+       (get_next_frame, legacy_get_prev_frame): Ditto.
+
+2003-03-12  Andrew Cagney  <cagney@redhat.com>
+
+       * frame.c (get_current_frame): Check target_has_registers before
+       checking target_has_stack.
+       * eval.c (evaluate_subexp_standard): Use get_selected_frame,
+       instead of deprecated_selected_frame.
+       * findvar.c (value_of_register): Pass "frame", not
+       deprecated_selected_frame, to value_of_builtin_reg.
+
+2003-03-12  Andrew Cagney  <cagney@redhat.com>
+
+       * regcache.c (regcache_cooked_write_signed): New function.
+       (regcache_cooked_write_unsigned): New function.
+       (regcache_cooked_read_unsigned): Fix regnum in range assertion.
+       (regcache_cooked_read_signed): Fix regnum in range assertion.
+       * regcache.h (regcache_cooked_write_signed): Declare.
+       (regcache_cooked_write_unsigned): Declare.
+
+2003-03-12  Andrew Cagney  <cagney@redhat.com>
+
+       * gdbarch.sh (DEPRECATED_FRAME_SAVED_PC): Replace FRAME_SAVED_PC.
+       * gdbarch.h, gdbarch.c: Re-generate.
+       * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+       * x86-64-tdep.h: Update.
+       * x86-64-tdep.c (x86_64_init_abi): 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.
+       * ppc-linux-tdep.c (ppc_linux_init_abi): 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.
+       * i386-interix-tdep.c (i386_interix_init_abi): Update.
+       * hppa-tdep.c (hppa_gdbarch_init): Update.
+       * h8300-tdep.c (h8300_gdbarch_init): Update.
+       * frv-tdep.c (frv_gdbarch_init): Update.
+       * cris-tdep.c (cris_gdbarch_init): Update.
+       * avr-tdep.c (avr_gdbarch_init): Update.
+       * arm-tdep.c (arm_gdbarch_init): Update.
+       * alpha-tdep.c (alpha_gdbarch_init): Update.
+       * sh-tdep.c (sh_init_extra_frame_info): Update.
+       (sh64_init_extra_frame_info): Update.
+       * ns32knbsd-nat.c (frame_num_args): Update.
+       * m68hc11-tdep.c (m68hc11_init_extra_frame_info): Update.
+       * xstormy16-tdep.c (xstormy16_pop_frame): Update.
+       (xstormy16_frame_chain_valid): Update.
+       * vax-tdep.c (vax_saved_pc_after_call): Update.
+       * v850-tdep.c (v850_frame_chain): Update.
+       (v850_pop_frame): Update.
+       (v850_init_extra_frame_info): Update.
+       * sparc-tdep.c (setup_arbitrary_frame): Update.
+       * ns32k-tdep.c (umax_frame_num_args): Update.
+       * s390-tdep.c (s390_pop_frame_regular): Update.
+       * mn10300-tdep.c (mn10300_frame_chain): Update.
+       (mn10300_pop_frame_regular): Update.
+       (mn10300_init_extra_frame_info): Update.
+       * mips-tdep.c (mips_init_frame_pc_first): Update.
+       (mips_frame_chain): Update.
+       (mips_pop_frame): Update.
+       * mcore-tdep.c (mcore_frame_chain): Update.
+       (mcore_pop_frame): Update.
+       (mcore_init_extra_frame_info): Update.
+       * arch-utils.c (init_frame_pc_default): Update.
+       * m68k-tdep.c (isi_frame_num_args): Update.
+       (delta68_frame_num_args): Update.
+       (news_frame_num_args): Update.
+       * ia64-tdep.c (ia64_pop_frame_regular): Update.
+       * alpha-tdep.c (alpha_init_frame_pc_first): Update.
+       (alpha_frame_chain): Update.
+       (alpha_pop_frame): Update.
+       * hppa-tdep.c (hppa_saved_pc_after_call): Update.
+       (hppa_init_extra_frame_info): Update.
+       (hppa_frame_chain): Update.
+       (hppa_frame_chain_valid): Update.
+       * cris-tdep.c (cris_init_extra_frame_info): Update.
+       * avr-tdep.c (avr_init_extra_frame_info): Update.
+       * arm-tdep.c (arm_frame_chain_valid): Update.
+       (arm_init_extra_frame_info): Update.
+       (arm_pop_frame): Update.
+       * frame.c (frame_pc_unwind): Update.
+       * config/sparc/tm-sparc.h (DEPRECATED_FRAME_SAVED_PC): Update.
+       (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+       * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+       * config/pa/tm-hppa.h (DEPRECATED_FRAME_SAVED_PC): Update.
+       * config/m68k/tm-delta68.h (DEPRECATED_FRAME_SAVED_PC): Update.
+       * config/m68k/tm-linux.h (DEPRECATED_FRAME_SAVED_PC): Update.
+       
+2003-03-12  Andrew Cagney  <cagney@redhat.com>
+
+       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-11  Kevin Buettner  <kevinb@redhat.com>
+
+       * mips-tdep.c (mips_ecoff_reg_to_regnum): Rename to
+       mips_dwarf_dwarf2_ecoff_reg_to_regnum().
+       (mips_dwarf_dwarf2_ecoff_reg_to_regnum, mips_stab_reg_to_regnum):
+       Do range checks on register number obtained from debugging info.
+       (mips_gdbarch_init): Call set_gdbarch_dwarf_reg_to_regnum() and
+       set_gdbarch_dwarf2_reg_to_regnum().  Adjust call of
+       set_gdbarch_ecoff_reg_to_regnum() to account for new name of
+       mapping function.
+       (do_fp_register_row): Fix typo which caused double type to be
+       used when attempting to unpack a float.
+
 2003-03-11  J. Brobecker  <brobecker@gnat.com>
 
        * breakpoint.c (bpstat_stop_status): Fix a small memory leak.
        (regcache_cpy): Pass do_cooked_read to regcache_save and
        regcache_restore.
 
+2003-03-10  Andrew Cagney  <cagney@redhat.com>
+
+       * gdbarch.sh (DEPRECATED_FRAME_SAVED_PC): Replace FRAME_SAVED_PC.
+       * gdbarch.h, gdbarch.c: Re-generate.
+       * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+       * x86-64-tdep.h: Update.
+       * x86-64-tdep.c (x86_64_init_abi): 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.
+       * ppc-linux-tdep.c (ppc_linux_init_abi): 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.
+       * i386-interix-tdep.c (i386_interix_init_abi): Update.
+       * hppa-tdep.c (hppa_gdbarch_init): Update.
+       * h8300-tdep.c (h8300_gdbarch_init): Update.
+       * frv-tdep.c (frv_gdbarch_init): Update.
+       * cris-tdep.c (cris_gdbarch_init): Update.
+       * avr-tdep.c (avr_gdbarch_init): Update.
+       * arm-tdep.c (arm_gdbarch_init): Update.
+       * alpha-tdep.c (alpha_gdbarch_init): Update.
+       * sh-tdep.c (sh_init_extra_frame_info): Update.
+       (sh64_init_extra_frame_info): Update.
+       * ns32knbsd-nat.c (frame_num_args): Update.
+       * m68hc11-tdep.c (m68hc11_init_extra_frame_info): Update.
+       * xstormy16-tdep.c (xstormy16_pop_frame): Update.
+       (xstormy16_frame_chain_valid): Update.
+       * vax-tdep.c (vax_saved_pc_after_call): Update.
+       * v850-tdep.c (v850_frame_chain): Update.
+       (v850_pop_frame): Update.
+       (v850_init_extra_frame_info): Update.
+       * sparc-tdep.c (setup_arbitrary_frame): Update.
+       * ns32k-tdep.c (umax_frame_num_args): Update.
+       * s390-tdep.c (s390_pop_frame_regular): Update.
+       * mn10300-tdep.c (mn10300_frame_chain): Update.
+       (mn10300_pop_frame_regular): Update.
+       (mn10300_init_extra_frame_info): Update.
+       * mips-tdep.c (mips_init_frame_pc_first): Update.
+       (mips_frame_chain): Update.
+       (mips_pop_frame): Update.
+       * mcore-tdep.c (mcore_frame_chain): Update.
+       (mcore_pop_frame): Update.
+       (mcore_init_extra_frame_info): Update.
+       * arch-utils.c (init_frame_pc_default): Update.
+       * m68k-tdep.c (isi_frame_num_args): Update.
+       (delta68_frame_num_args): Update.
+       (news_frame_num_args): Update.
+       * ia64-tdep.c (ia64_pop_frame_regular): Update.
+       * alpha-tdep.c (alpha_init_frame_pc_first): Update.
+       (alpha_frame_chain): Update.
+       (alpha_pop_frame): Update.
+       * hppa-tdep.c (hppa_saved_pc_after_call): Update.
+       (hppa_init_extra_frame_info): Update.
+       (hppa_frame_chain): Update.
+       (hppa_frame_chain_valid): Update.
+       * cris-tdep.c (cris_init_extra_frame_info): Update.
+       * avr-tdep.c (avr_init_extra_frame_info): Update.
+       * arm-tdep.c (arm_frame_chain_valid): Update.
+       (arm_init_extra_frame_info): Update.
+       (arm_pop_frame): Update.
+       * frame.c (frame_pc_unwind): Update.
+       * config/sparc/tm-sparc.h (DEPRECATED_FRAME_SAVED_PC): Update.
+       (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+       * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+       * config/pa/tm-hppa.h (DEPRECATED_FRAME_SAVED_PC): Update.
+       * config/m68k/tm-delta68.h (DEPRECATED_FRAME_SAVED_PC): Update.
+       * config/m68k/tm-linux.h (DEPRECATED_FRAME_SAVED_PC): Update.
+       
 2003-03-10  Andrew Cagney  <cagney@redhat.com>
 
        * gdbarch.sh (gdbarch_unwind_pc): New method.
This page took 0.031322 seconds and 4 git commands to generate.