* ia64-tdep.c: (ia64_frame_cache): Add new prev_cfm field.
(pseudo_regs): Add comment regarding register stack registers.
(ia64_alloc_frame_cache): Initialize new prev_cfm field to 0.
(floatformat_valid): New static routine.
(floatformat_ia64_ext): Add name field and set up is_valid routine
to floatformat_valid().
(examine_prologue): For the previous cfm, use
frame_unwind_register()
if the cfm is not stored in a register-stack register. Save the
previous cfm value in the prev_cfm field. Add debug output.
(ia64_frame_this_id): Use frame_id_build_special() to also register
the bsp. Add debug output.
(ia64_sigtramp_frame_this_id): Ditto.
(ia64_frame_prev_register): Look at cache saved_regs for a few more
registers and also add some checks for framelessness before accepting
current register values for fields such as return address. For cfm,
use the cached prev_cfm field if available. Add comment to explain
PSR logic. Add debug output.
(ia64_sigtramp_frame_init_saved_regs): Save the bsp and sp addresses
as part of initialization.
(ia64_sigtramp_frame_cache): Hard-code stack size as it can't be
calculated. Cache the bsp and cfm values.
(ia64_sigtramp_frame_prev_register): Add logic to this routine out
instead of using ia64_frame_prev_register() which doesn't expect most
registers to be saved. The saved values for bsp and sp
can be taken from the cache. Add debug output.
(ia64_push_dummy_call): Use frame_id_build_special() to also register
the bsp.
* target.c: Include "gdb_assert.h" (target_read): Call
"target_read_partial", not "target_write_partial".
(default_read_partial, default_write_partial): New function.
(target_read_partial, target_write_partial): Simplify, assume that
there is always a read/write method.
(update_current_target, add_target): Always set "to_read_partial"
and "to_write_partial".
(target_write, target_read): Fail on a zero byte transfer.
* Makefile.in (target.o): Update dependencies.
* target.h: Update copyright date.
(target_object): Fix typo.
* target.c (target_close): New function.
(debug_to_close): Use "target_close".
(push_target): Use "target_close".
(unpush_target): Use "target_close".
(pop_target): Use "target_close".
* target.h (struct target_ops): Add "to_xclose".
(target_open): Delete macro. Move comment to "to_open".
(target_close): Replace macro with function that takes a target.
* top.c (quit_target): Pass "current_target" to "target_close".
* ia64-tdep.c: Change all occurrences of
DEPRECATED_REGISTER_RAW_SIZE to use register_size() instead.
(ia64_frame_prev_register): Minor whitespace change.
* values.c (register_value_being_returned): Update comments. Use
"gdbarch_return_value" when available.
(using_struct_return): Ditto.
(set_return_value): Ditto. Use "gdbarch_return_value" when
available.. Print a warning, and not an error, when an unhandled
return type is encountered.
* infcmd.c: Include "gdb_assert.h".
(print_return_value): When gdbarch_return_value_p, and using
struct return, assume that the value is not available.
* defs.h (return_value_convention): Define.
* gdbarch.sh (gdbarch_return_value): New predicate method.
* gdbarch.h, gdbarch.c: Re-generate
* ppc-sysv-tdep.c (return_value_convention): Delete definition.
Index: doc/ChangeLog
2003-10-20 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Document
gdbarch_return_value. Add cross references from
USE_STRUCT_CONVENTION, EXTRACT_RETURN_VALUE, and
STORE_RETURN_VALUE, and from/to EXTRACT_STRUCT_VALUE_ADDRESS.
* target.h (struct target_ops): Add "to_read_partial" and
"to_write_partial", delete "to_query".
(target_read_partial, target_write_partial): Declare.
(target_read, target_write): Declare.
(target_query): Delete macro.
* target.c (target_read_partial): New function.
(target_write_partial, target_read, target_write): New function.
(update_current_target): Delete inheritance of "to_query". Add
comments about "to_read_partial" and "to_write_partial".
(debug_to_partial_read, debug_to_partial_write): New functions.
(debug_to_query): Delete function.
(setup_target_debug): Set "to_read_partial" and "to_write_partial"
instead of "to_query".
* remote.c (remote_read_partial): Replace "remote_query".
(init_remote_ops): Set "to_read_partial" instead of "to_query".
(init_remote_async_ops): Ditto.
* kod.c (gdb_kod_query): Make "bufsize" a LONGEST. Use
"target_read_partial" instead of "target_query".
* avr-tdep.c (avr_io_reg_read_command): Make "bufsize" a LONGEST.
Use "target_read_partial" instead of "target_query".
* frame.h (struct frame_id): Add new field: special_addr.
(frame_id_build_special): New prototype.
* frame.c (frame_id_build_special): New function.
(frame_id_build): Change to call frame_id_build_special().
(frame_id_eq): Change to also test special_addr field.
(frame_id_inner): Update comment.
* target.c: Update copyright.
(update_current_target): Perform the target cleanup.
Put the target stack beneath the squashed "current_target".
(add_target): Delete disabled call to "cleanup_target".
(cleanup_target): Delete function.
(push_target, unpush_target): Do not call "cleanup_target".
* gdb/config/h8300/tm-h8300.h : Addition of extern variable h8300_normal_mode
* gdb/h8300-tdep.c (BINWORD): Update BINWORD for h8300_normal_mode
(h8300_examine_prologue): Use h8300_normal_mode flag
(h8300_gdbarch_init): Set architecture info for normal mode
(set_remote_protocol_vcont_packet_cmd): New function.
(show_remote_protocol_vcont_packet_cmd): New function.
(init_all_packet_configs): Handle remote_protocol_vcont.
(remote_vcont_probe): New function.
(remote_vcont_resume): New function.
(remote_resume): Use it.
(remote_async_resume): Call remote_resume.
(_initialize_remote): Add verbose-resume packet commands.
* ia64-linux-tdep.c: Include gdbcore.h.
(IA64_LINUX_SIGCONTEXT_OFFSET): Magic constant removed.
(ia64_linux_sigcontext_register_addr): Find the address of the
sigcontext area stored in the sigframe instead of using
a magic offset constant.