+2003-07-28 Daniel Jacobowitz <drow@mvista.com>
+
+ * thread.c (info_threads_command): Use get_selected_frame ().
+ Check that there is at least one non-sentinel frame.
+
+2003-07-27 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (struct frame_extra_info): Remove.
+ (m68hc11_pop_frame): Remove.
+ (m68hc11_frame_saved_pc): Remove.
+ (m68hc11_frame_chain): Remove.
+ (m68hc11_frame_init_saved_regs): Remove.
+ (m68hc11_init_extra_frame_info): Remove.
+ (m68hc11_store_struct_return): Remove.
+ (m68hc11_saved_pc_after_call): Remove.
+
+2003-07-27 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (struct m68hc11_unwind_cache): New struct to hold
+ frame unwind information.
+ (m68hc11_scan_prologue): New function from m68hc11_guess_from_prologue
+ and adapted for frame unwinding.
+ (m68hc11_skip_prologue): Update to scan prologue in temporary object.
+ (m68hc11_unwind_pc): New function.
+ (m68hc11_frame_unwind_cache): New function to analyze frames.
+ (m68hc11_frame_this_id): New function to create new frame struct.
+ (m68hc11_frame_prev_register): New function to unwind a register from
+ the frame.
+ (m68hc11_frame_unwind): Default 68hc11/68hc12 unwinder.
+ (m68hc11_frame_p): New function for the above.
+ (m68hc11_frame_base_address): New function to return fp of frame.
+ (m68hc11_frame_args_address): Update for frame.
+ (m68hc11_frame_base): Default 68hc11/68hc12 frame.
+ (m68hc11_unwind_sp): New function.
+ (m68hc11_unwind_dummy_id): New function.
+ (m68hc11_gdbarch_init): Install the above frames; remove deprecated
+ calls.
+
+2003-07-27 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (m68hc11_analyze_instruction): Don't advance the pc.
+ (m68hc11_guess_from_prologue): Advance the pc and frame size only
+ when we are beyond the current pc.
+
+2003-07-27 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (m68hc11_push_dummy_call): New function adapted
+ from m68hc11_push_arguments.
+ (m68hc11_push_arguments): Remove.
+ (m68hc11_push_return_address): Remove.
+ (m68hc11_gdbarch_init): Install the above; remove above deprecated
+ handlers; remove deprecated_extra_stack_alignment_needed.
+
+2003-07-27 Andrew Cagney <cagney@redhat.com>
+
+ * config/pa/tm-hppa.h (init_frame_pc_default): Declare.
+ * infcall.c (legacy_push_dummy_code) [GDB_TARGET_IS_HPPA]: Update
+ REAL_PC and not the pointer.
+ * hppa-hpux-tdep.c: Include frame.h
+
+2003-07-27 Andrew Cagney <cagney@redhat.com>
+
+ * config/pa/tm-hppa64.h (GDB_MULTI_ARCH): Set to
+ GDB_MULTI_ACH_PARTIAL.
+
+2003-07-27 Andrew Cagney <cagney@redhat.com>
+
+ Patch from 2003-07-22 Kei Sakamoto <sakamoto.kei@renesas.com>:
+ * m32r-tdep.c (m32r_memory_insert_breakpoint): Fix code style -
+ operator at start and not end of line.
+ (decode_prologue): Ditto.
+ (m32r_frame_unwind_cache, m32r_unwind_sp, m32r_unwind_pc): Use
+ frame_unwind_register_unsigned instead of
+ frame_unwind_unsigned_register.
+ (m32r_read_pc): Use regcache_cooked_read_unsigned instead of
+ read_register.
+ (m32r_push_dummy_call): Use register_size instead of
+ REGISTER_RAW_SIZE.
+ (m32r_frame_sniffer): Replace m32r_frame_p.
+ (m32r_gdbarch_init): Call frame_unwind_append_sniffer.
+ * m32r-rom.c (report_transfer_performance): Delete extern
+ declaration.
+ (m32r_load, m32r_upload_command): Use print_transfer_performance
+ instead of report_transfer_performance.
+ (_initialize_m32r_rom): Use add_setshow_cmd instead of add_set_cmd
+ / add_show_from_set.
+
+2003-07-26 Andrew Cagney <cagney@redhat.com>
+
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Set non-deprecated
+ store_return_value and extract_struct_value_address.
+
+2003-07-26 Daniel Jacobowitz <drow@mvista.com>
+
+ PR c++/1267
+ * minsyms.c (lookup_minimal_symbol_by_pc_section): If SECTION is
+ NULL, default to the section containing PC.
+
+2003-07-24 Stephane Carrez <stcarrez@nerim.fr>
+
+ * NEWS: Mention "regs" deprecated for m68hc11 too.
+
+ * m68hc11-tdep.c (_initialize_m68hc11_tdep): Deprecate "regs" command.
+ (m68hc11_print_register): New function to print out one register.
+ (m68hc11_print_registers_info): New function to print registers.
+ (show_regs): Deprecate and use the above.
+ (m68hc11_gdbarch_init): Install the print_registers_info.
+
+2003-07-24 Jeff Johnston <jjohnstn@redhat.com>
+
+ * ia64-linux-nat.c (ia64_linux_stopped_by_watchpoint): Verify
+ that we have a SIGTRAP before returning non-zero.
+
+2003-07-23 Michal Ludvig <mludvig@suse.cz>
+ Elena Zannoni <ezannoni@redhat.com>
+
+ * linespec.c (decode_line_2): Avoid crash if
+ find_function_start_sal() returns empty record.
+
+2003-07-23 Andreas Schwab <schwab@suse.de>
+
+ * ia64-tdep.c (ia64_print_insn): New function.
+ (ia64_gdbarch_init): Set print_insn to it.
+ (_initialize_ia64_tdep): Don't set deprecated_tm_print_insn and
+ deprecated_tm_print_insn_info.
+
+2003-07-22 Michael Snyder <msnyder@redhat.com>
+
+ * h8300-tdep.c (h8300_extract_return_value): Teach it how to
+ handle 8-bit returns (long long).
+ (h8300h_extract_return_value): Ditto.
+ (h8300_gdbarch_init): Long long is 8 bytes, char is unsigned.
+
+2003-07-22 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.c Include "gdb_obstack.h".
+ (struct gdbarch): Add an "obstack".
+ (alloc_gdbarch_data): Allocate the gdbarch data using
+ GDBARCH_OBSTACK_CALLOC.
+ (free_gdbarch_data): Delete function.
+ (gdbarch_obstack_zalloc): New function.
+ (gdbarch_free): Free the obstack, do not call free_gdbarch_data.
+ Assert that the architecture is not initialized.
+ (gdbarch_alloc): Allocate an obstack, allocate the architecture
+ vector from the obstack.
+ (alloc_gdbarch_data, init_gdbarch_swap): Allocate memory using the
+ architecture obstack.
+ (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Define.
+ (set_gdbarch_data): Assert that the data is not initialized.
+ (struct gdbarch_data): Delete member "free".
+ (register_gdbarch_data): Do not initialize "free".
+ * gdbarch.h, gdbarch.c: Re-generate.
+
+2003-07-22 Andrew Cagney <cagney@redhat.com>
+
+ * configure.in (build_warnings): Add -Wformat-nonliteral.
+ * configure: Re-generate.
+
+2003-07-22 Elena Zannoni <ezannoni@redhat.com>
+
+ * dwarf2loc.c (locexpr_describe_location): Fix typos.
+
+2003-07-22 Elena Zannoni <ezannoni@redhat.com>
+
+ * findvar.c (read_var_value): Remove case for thread local storage
+ variables. It is now entirely handled by the dwarf2 location
+ expression code.
+ * printcmd.c (address_info): Ditto.
+ * symtab.h (address_class): Remove LOC_THREAD_LOCAL_STATIC
+ enumeration value.
+ (struct symbol): Remove objfile field, which was used by
+ LOC_THREAD_LOCAL_STATIC only.
+ * dwarf2read.c (decode_locdesc): Remove is_thread_local variable.
+ * dwarf2loc.h (struct dwarf2_loclist_baton): Add comment about
+ usage of objfile pointer.
+ * dwarf2loc.c (locexpr_describe_location): Add case to handle
+ thread local variables.
+ Add include of objfiles.h.
+ * dwarf2expr.c (execute_stack_op): Add comments about thread local
+ storage variables.
+ * Makefile.in (dwarf2loc.o): Update dependencies.
+
+2003-07-22 Andrew Cagney <cagney@redhat.com>
+
+ * config/pa/tm-hppa64.h (FRAME_SAVED_PC_IN_SIGTRAMP): Use
+ get_frame_base.
+ (FRAME_BASE_BEFORE_SIGTRAMP): Ditto.
+ (FRAME_FIND_SAVED_REGS_IN_SIGTRAMP): Ditto.
+ (struct value): Add opaque declaration.
+ (DEPRECATED_FRAME_ARGS_ADDRESS): Delete.
+
+2003-07-21 Andrew Cagney <cagney@redhat.com>
+
+ From 2003-07-04 Kei Sakamoto <sakamoto.kei@renesas.com>:
+ * m32r-tdep.c, m32r-stub.c, m32r-tdep.c: Rewrite.
+
+2003-07-20 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (m68hc11_pseudo_register_read): Use
+ regcache_cooked_read_unsigned instead of read_register.
+ (m68hc11_saved_pc_after_call): Likewise.
+ (m68hc11_pseudo_register_write): Use regcache_cooked_write_unsigned
+ instead of write_register.
+ (m68hc11_register_type): New function.
+ (m68hc11_register_virtual_type): Remove.
+ (m68hc11_store_return_value): Convert to use the regcache.
+ (m68hc11_extract_struct_value_address): Likewise.
+ (m68hc11_gdbarch_init): Remove deprecated ops for register to use
+ m68hc11_register_type; undeprecate store_return_value and
+ extract_struct_value_address.
+
+2003-07-20 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (m68hc11_extract_return_value): Use regcache_raw_read
+ and translate to use regcache.
+ (m68hc11_gdbarch_init): Undeprecate extract_return_value.
+
+2003-07-18 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (DWARF2_BUILD_FRAME_INFO): Delete method.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * i386-tdep.c (i386_gdbarch_init): Do not set
+ DWARF2_BUILD_FRAME_INFO.
+ * elfread.c (elf_symfile_read): Call dwarf2_build_frame_info
+ unconditionally.
+ * alpha-tdep.c (alpha_dwarf2_init_abi): Do not set
+ DWARF2_BUILD_FRAME_INFO.
+
+2003-07-18 Andrew Cagney <cagney@redhat.com>
+
+ From 2003-07-04 Kei Sakamoto <sakamoto.kei@renesas.com>:
+ * disasm.c (gdb_disassemble_info): Initilize di.arch.
+
+2003-07-18 Andrew Cagney <cagney@redhat.com>
+
+ * dwarf2-frame.c (dwarf2_frame_sniffer): Use
+ frame_unwind_address_in_block, instead of frame_pc_unwind.
+ (dwarf2_frame_cache): Ditto.
+
+2003-07-18 Andrew Cagney <cagney@redhat.com>
+
+ * user-regs.h (struct gdbarch): Declare opaque.
+ * ui-out.h (struct ui_file): Declare opaque.
+ * dwarf2-frame.h (struct frame_info): Declare opaque.
+
+2003-07-18 Kris Warkentin <kewarken@qnx.com>
+
+ * nto-procfs.c: Clean ARI hits. Change #include <..> to
+ #include "...".
+ (procfs_meminfo): Change strerror to safe_strerror.
+ (procfs_can_run): Remove K&R badness.
+
+2003-07-17 Michael Snyder <msnyder@redhat.com>
+
+ * remote-sim.c: Comment typo fix.
+
+2003-07-17 Andrew Cagney <cagney@redhat.com>
+
+ * defs.h (GDB_MULTI_ARCH): Delete conditional define. Handled by
+ configure.
+ * sparc-tdep.c (sparc_intreg_size): Make non-static.
+ * config/sparc/tm-sparc.h (GDB_MULTI_ARCH): Define to
+ GDB_MULTI_ARCH_PARTIAL.
+
+2003-07-17 Elena Zannoni <ezannoni@redhat.com>
+
+ * Makefile.in (x86-64-linux-nat.o): Update dependencies.
+ * x86-64-linux-nat.c (ps_get_thread_area): New function. Add
+ include of asm/prctl.h, asm/ptrace.h, and gdb_proc_service.h.
+
+2003-07-16 Theodore A. Roth <troth@openavr.org>
+
+ * avr-tdep.c (avr_skip_prologue): Return PC unchanged if no prologue
+ found.
+ (avr_frame_unwind_cache): Don't unwind FP for main.
+ Update a comment.
+ Save the computed prev_sp.
+ (avr_saved_regs_unwinder): Remove function.
+ (avr_frame_prev_register): Use PC unwind logic from
+ avr_saved_regs_unwinder(), otherwise use trad_frame_prev_register().
+
+2003-07-16 Andrew Cagney <cagney@redhat.com>
+
+ * 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-07-16 Michael Snyder <msnyder@redhat.com>
+
+ * sh-tdep.c (sh_gdbarch_init): Fetch_registers for the sh3-dsp
+ should go thru sh_dsp_register_sim_regno, else the dsp regs
+ will not get the right values.
+
+2003-07-16 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c (sh_sh4_register_convert_to_virtual): Substitute call to
+ deprecated_store_floating by call to store_typed_floating.
+ (sh_sh4_register_convert_to_raw): Substitute call to
+ deprecated_extract_floating by call to extract_typed_floating.
+
+2003-07-16 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c (sh_gdbarch_init): Set double to 4 byte on sh2e and sh3e.
+
+2003-07-16 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c: Substitute calls to REGISTER_RAW_SIZE by calls to
+ register_size and calls to REGISTER_VIRTUAL_TYPE by calls to
+ gdbarch_register_type in 32 bit code throughout. Avoid current_gdbarch
+ as possible.
+ (do_pseudo_register): Remove.
+ (sh_push_dummy_code): New function.
+ (sh64_store_struct_return): Rename from sh_store_struct_return.
+ Only called for sh64 now.
+ (sh_extract_struct_value_address): Regcache'ify.
+ (sh_push_dummy_call): Rename from sh_push_arguments. Regcache'ify
+ and accomodate new tasks.
+ (sh64_push_return_address): Rename from sh_push_return_address.
+ Only called for sh64 now.
+ (sh_default_extract_return_value): Rename from sh_extract_return_value.
+ Regcache'ify.
+ (sh3e_sh4_extract_return_value): Regcache'ify.
+ (sh_default_store_return_value): Ditto.
+ (sh3e_sh4_store_return_value): Ditto.
+ (sh_default_register_byte): Remove.
+ (sh_sh4_register_byte): Remove.
+ (sh_default_register_raw_size): Remove.
+ (sh_sh4_register_raw_size): Remove.
+ (sh_register_virtual_size): Remove.
+ (sh_sh3e_register_virtual_type): Remove.
+ (sh_sh3e_register_type): New function.
+ (sh_sh4_register_virtual_type): Remove.
+ (sh_sh4_register_type): New function.
+ (sh_default_register_virtual_type): Remove.
+ (sh_default_register_type): New function.
+ (do_fv_register_info): Add parameters to accomodate call from
+ sh_print_registers_info.
+ (do_dr_register_info): Ditto.
+ (sh_print_pseudo_register): Rename from sh_do_pseudo_register.
+ Add parameters to accomodate call from sh_print_registers_info.
+ (sh_do_fp_register): Ditto.
+ (sh64_do_pseudo_register): Call do_dr_register_info,
+ do_fv_register_info and sh_do_fp_register with default parameters.
+ (sh_do_register): Add parameters to accomodate call from
+ sh_print_registers_info.
+ (sh_print_register): Ditto.
+ (sh_print_registers_info): Rename from sh_do_registers_info.
+ Add parameters to be used as gdbarch_print_registers_info
+ implementation. Accomodate removed do_pseudo_register function
+ pointer.
+ (sh_compact_do_registers_info): Accomodate removed do_pseudo_register
+ function pointer. Call sh_print_register with default parameters.
+ (sh64_do_registers_info): Call sh_print_registers_info instead of
+ sh_do_registers_info.
+ (sh_gdbarch_init): Rearrange to cleanup and to allow easier
+ detection of deprecated vs. non-deprecated functionality.
+ Rename sh_call_dummy_words to sh64_call_dummy_words. Remove
+ function pointer assignments by direct function calls.
+
+2003-07-15 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_frame_id): Use frame_unwind_find_by_frame.
+ (frame_register_unwind, create_new_frame): Ditto.
+ (legacy_get_prev_frame, get_frame_type): Ditto.
+ (get_frame_base_address): Use frame_base_find_by_frame.
+ (get_frame_locals_address): Use frame_base_find_by_frame.
+ (get_frame_args_address): Use frame_base_find_by_frame.
+ * frame-base.h (frame_base_sniffer_ftype): Declare.
+ (frame_base_append_sniffer): Declare.
+ (frame_base_find_by_frame): Replace frame_base_find_by_pc.
+ * frame-base.c (append_predicate): Add a "sniffer" parameter.
+ (frame_base_append_sniffer): New function.
+ (frame_base_append_predicate): Add a NULL sniffer.
+ (frame_base_find_by_frame): Replace "frame_base_find_by_pc".
+ (struct frame_base_table): Add "sniffer".
+ (frame_base_free): Free the "sniffer" table.
+ * frame-unwind.h (frame_unwind_sniffer_ftype): Define.
+ (frame_unwind_append_sniffer): Declare.
+ (frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc.
+ * frame-unwind.c (frame_unwind_free): Free the "sniffer" table.
+ (struct frame_unwind_table): Add "sniffer", delete "middle".
+ (append_predicate): Add "sniffer" parameter, append the sniffer.
+ (frame_unwind_init): Update append_predicate call.
+ (frame_unwind_append_sniffer): New function.
+ (frame_unwind_append_predicate): Update append_predicate call.
+ (frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc.
+
+2003-07-15 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_prev_frame): Move disabled inside_entry_func to
+ before code inhibiting repeated unwind attempts. Add to
+ commentary on that test's problems.
+ * blockframe.c (inside_main_func): Look for "main" in the minimal
+ symbol table.
+ * d10v-tdep.c (d10v_frame_this_id): Delete check that frames are
+ identical.
+