* amd64-nat.c: New file.
* amd64fbsd-nat.c: Include "amd64-nat.h".
(REG_ADDR, GETREGS_SUPPLIES): Remove macros.
(amd64fbsd32_r_reg_offset): New variable.
(supply_gregset): Simply call amd64_supply_native_gregset.
(fill_gregset): Rename `regno' to `regnum'. Simply call
amd64_collect_native_gregset.
(fill_fpregset): Rename `regno' to `regnum'.
(fetch_inferior_registers): Rename `regno' to `regnum'. Replace
usage of GETREGS_SUPPLIES with amd64_native_gregset_supplies_p.
Use `struct reg' and `struct fpreg' instead of `gregset_t' and
`fpregset_t'. Call amd64_supply_native_gregset instead of
supply_gregset. Call x86_64_supply_fxsave instead of
supply_fpregset.
(store_inferior_registers): Rename `regno' to `regnum'. Replace
usage of GETREGS_SUPPLIES with amd64_native_gregset_supplies_p.
Use `struct reg' and `struct fpreg' instead of `gregset_t' and
`fpregset_t'. Call amd64_collect_native_gregset instead of
fill_gregset. Call x86_64_collect_fxsave instead of
fill_fpregset.
(_initialize_am64fbsd_nat): Initialize
amd64_native_gregset32_reg_offset and
amd64_native_gregset64_reg_offset.
* config/i386/fbsd64.mh (NATDEPFILES): Add amd64-nat.o.
* mips-tdep.c (gdb_print_insn_mips): Set the disassembler's
flavour and disassembler options.
(_initialize_mips_tdep): Do not set deprecated_tm_print_insn.
(mips_gdbarch_init): Set "print_insn". Delete initialization of
deprecated_tm_print_insn_info.
* Makefile.in (cris-tdep.o): Update dependencies.
* cris-tdep.c: Include "gdb_assert.h".
(cris_gdbarch_init): Set print_insn.
(_initialize_cris_tdep): Do not set deprecated_tm_print_insn.
(cris_delayed_get_disassembler): Simplify, directly call the
disassembler returned by cris_get_disassembler.
* hppa-tdep.c (hppa_gdbarch_init): Set print_insn.
(_initialize_hppa_tdep): Do not set deprecated_tm_print_insn.
* ns32k-tdep.c (ns32k_gdbarch_init): Set print_insn.
(_initialize_ns32k_tdep): Do not set deprecated_tm_print_insn.
* mn10300-tdep.c (mn10300_gdbarch_init): Set print_insn.
(_initialize_mn10300_tdep): Do not set deprecated_tm_print_insn.
* mcore-tdep.c (mcore_gdbarch_init): Set print_insn.
(_initialize_mcore_tdep): Do not set deprecated_tm_print_insn.
* frv-tdep.c (frv_gdbarch_init): Set print_insn.
(_initialize_frv_tdep): Do not set deprecated_tm_print_insn.
* sparc-tdep.c (sparc_gdbarch_init): Set print_insn.
(gdb_print_insn_sparc): Delete function.
(_initialize_sparc_tdep): Do not set deprecated_tm_print_insn or
deprecated_tm_print_insn_info.
* v850-tdep.c (v850_gdbarch_init): Set print_insn.
(_initialize_v850_tdep): Do not set deprecated_tm_print_insn.
(v850_gdbarch_init): Do not set deprecated_tm_print_insn_info.
* xstormy16-tdep.c (xstormy16_gdbarch_init): Set print_insn.
(_initialize_xstormy16_tdep): Do not set deprecated_tm_print_insn.
* s390-tdep.c (gdb_print_insn_s390): Delete function.
(_initialize_s390_tdep): Do not set deprecated_tm_print_insn.
(s390_gdbarch_init): Set print_insn.
* ppc-linux-tdep.c (ppc64_call_dummy_address): Delete function.
(ppc_linux_init_abi): For PPC64, do not set call_dummy_address.
* infcall.c (call_function_by_hand): Convert the entry point
address into a code address.
(enable_break): Pass SEC_CODE as the SECT_FLAGS argument to
bfd_lookup_symbol, since we only want symbols in code sections.
(look_for_base): Pass zero as the SECT_FLAGS argument to
bfd_lookup_symbol, since we're not concerned about which section
the symbol is in.
* ia64-tdep.c (pseudo_regs): New enum that lists gr32-gr127, p0-p63,
bof, and nat0-nat127 as pseudo-registers.
(ia64_frame_cache): New struct used to cache frame info.
(ia64_register_reggroup_p): New routine used to override default
register grouping so registers without names are still saved and
restored.
(ia64_dwarf_reg_to_regnum): New routine to map gr32-gr127 to their
pseudo values.
(ia64_pseudo_register_read): New routine to read pseudo-registers.
(ia64_pseudo_register_write): New routine to write pseudo-registers.
(ia64_alloc_frame_cache): New routine to create a new
ia64_frame_cache.
(examine_prologue): Change prototype to add next_frame pointer.
Assume frameless until otherwise proven. Verify that the cfm for
current frame matches the cfm that should occur for the prologues
alloc insn and if equal, mark as not frameless. At end of routine,
if not frameless, calculate registers for the previous frame and store
in the cache, if a cache is provided.
(ia64_skip_prologue): Use new prototype when calling examine_prologue
and pass 0 for next_frame.
(ia64_store_return_value): Change to use convert_typed_floating()
instead of calling ia64_convert_to_raw().
(ia64_extract_return_value): Change to use convert_typed_floating()
instead of calling ia64_convert_to_virtual().
(ia64_frame_cache): New routine to support new frame model.
(ia64_frame_this_id, ia64_frame_prev_register): Ditto.
(ia64_frame_sniffer): Ditto.
(ia64_sigtramp_frame_init_saved_regs): Ditto.
(ia64_sigtramp_frame_cache, ia64_sigtramp_frame_this_id): Ditto.
(ia64_sigtramp_frame_prev_register): Ditto.
(ia64_sigtramp_frame_sniffer): Ditto.
(ia64_frame_base_address): Ditto.
(ia64_extract_struct_value_address): Change to issue error message.
(ia64_frame_align): New routine to align sp.
(ia64_push_dummy_call): New routine based on ia64_push_arguments().
(ia64_push_arguments): Removed. Logic moved to
ia64_push_dummy_call().
(ia64_push_return_address): Ditto.
(ia64_unwind_dummy_id): New function.
(ia64_unwind_pc): Ditto.
(ia64_convert_register_p): Ditto.
(ia64_register_to_value): Ditto.
(ia64_value_to_register): Ditto.
(ia64_pop_frame, ia64_pop_frame_regular): Removed.
(ia64_register_byte, ia64_register_raw_size): Ditto.
(ia64_register_virtual_size, ia64_register_virtual_byte): Ditto.
(ia64_saved_pc_after_call): Ditto.
(ia64_frame_chain, ia64_frame_saved_pc): Ditto.
(ia64_frame_init_saved_regs, ia64_get_saved_register): Ditto.
(ia64_register_convertible, ia64_register_convert_to_virtual): Ditto.
(ia64_register_convert_to_raw): Ditto.
(ia64_store_struct_return, ia64_call_dummy_words): Ditto.
(ia64_init_extra_frame_info): Ditto.
(ia64_frame_args_address, ia64_frame_locals_address): Ditto.
(ia64_gdbarch_init): Remove registering of deprecated functions that
are no longer used. Add registration of new gdbarch functions.
Remove registering deprecated_write_sp. Replace
set_gdbarch_register_virtual_type() with set_gdbarch_register_type().
Delete set_gdbarch_deprecated_register_convertible(),
set_gdbarch_deprecated_register_convert_to_virtual(), and
set_gdbarch_deprecated_register_convert_to_raw() calls. Remove
set_gdbarch_deprecated_register_size(),
set_gdbarch_deprecated_register_bytes(),
set_gdbarch_pcregnum(),
set_gdbarch_deprecated_register_byte(),
set_gdbarch_deprecated_register_raw_size(),
set_gdbarch_deprecated_max_register_raw_size(),
set_gdbarch_deprecated_register_virtual_size(),
and set_gdbarch_deprecated_max_register_virtual_size() calls.
Replace set_gdbarch_deprecated_extract_return_value() with
set_gdbarch_extract_return_value(). Remove calls to:
set_gdbarch_deprecated_saved_pc_after_call();
set_gdbarch_deprecated_frame_chain(),
set_gdbarch_deprecated_frame_saved_pc(),
set_gdbarch_deprecated_frame_init_saved_regs(),
set_gdbarch_deprecated_get_saved_register(),
set_gdbarch_deprecated_call_dummy_words(),
set_gdbarch_deprecated_sizeof_call_dummy_words(),
set_gdbarch_deprecated_init_extra_frame_info(),
set_gdbarch_deprecated_frame_args_address(),
set_gdbarch_deprecated_frame_locals_address(),
and set_gdbarch_deprecated_dummy_write_sp().
Add set_gdbarch_convert_register_p(),
set_gdbarch_register_to_value(),
set_gdbarch_value_to_register(),
set_gdbarch_push_dummy_call(),
set_gdbarch_frame_align(),
set_gdbarch_unwind_dummy_id(),
set_gdbarch_unwind_pc(),
frame_unwind_append_sniffer(),
frame_unwind_append_sniffer(),
and frame_base_set_default().
* configure.tgt: Document need for special "mipsisa64" handling.
(mipsisa64*-*-linux64): Handle as target linux64.
(mipsisa64*-*-*): Handle as target embed64.
(set_screen_size): New prototype.
(init_page_info): Simplify by fetching the screen size from
Readline. Call set_screen_size.
(set_screen_size): New function.
(set_width): Add missing whitespace in comment.
(set_width_command): Call set_screen_size.
(set_height_command): New function.
(initialize_utils): Fix formatting. Make "set height" command
call set_height_command. Remove redundant code that turns off
pagination if output isn't a terminal. Remove redundant call to
set_width_command.
(sparc64_supply_rwindow, sparc64_fill_rwindow): Remove prototypes.
(sparc_supply_rwindow, sparc_fill_rwindow): New prototypes.
* sparc64-tdep.c (sparc64_pseudo_register_read): Add missing
`case' keyword.
(sparc64_register_info): Give the reister with number
SPARC64_STATE_REGNUM a name.
(sparc64_pseudo_register_write): Add support for %cwp, %pstate,
%asi and %ccr.
(sparc64_push_dummy_call): Take BIAS into account when checking
stcak alignment.
(sparc_software_single_step): Remove assertions that check whether
NPC and NNPC were zero.
(sparc_supply_rwindow): Make public. Merge functionality with
sparc64_supply_rwindow.
(sparc_fill_rwindow): Make public. Merge functionality with
sparc64_fill_rwindow.
(sparc64_supply_rwindow, sparc64_fill_rwindow): Remove.
* sparc64fbsd-nat.c (_initialize_sparc64fbsd_nat): Set
SPARCBSD_FPREG_SUPPLIES_P to sparc64fbsd_fpreg_supplies_p.
* sparc64fbsd-tdep.c (sparc64fbsd_supply_reg): Call
sparc_supply_rwindow instead of sparc64_supply_rwindow.
(register_objfile_data, set_objfile_data, objfile_data): New
prototypes.
* objfiles.c (objfile_alloc_data, objfile_free_data): New
prototypes.
(allocate_objfile): Call objfile_alloc_data.
(free_objfile): Call objfile_free_data.
(struct objfile_data): New.
(struct objfile_data_registration): New.
(struct objfile_data_registry): New.
(objfile_data_registry): New variable.
(register_objfile_data): New function.
(objfile_alloc_data, objfile_free_data): New functions.
(set_objfile_data, objfile_data): New functions.
* dwarf2-frame.c (dwarf2_frame_data): New variable.
(dwarf2_frame_find_fde, add_fde): Use new per-objfile data mechanism.
(_initialize_dwarf2_frame): New function and prototype.
* tracepoint.c (trace_dump_command): Trace break address
is subject to DECR_PC_AFTER_BREAK.
(set_traceframe_context): Make "trace_line" an int.
Fixes suggested by Mark Newman <mark.newman@lmco.com>
* sh-tdep.h (struct gdbarch_tdep): New member FLOAT_ARGLAST_REG.
* sh-tdep.c (sh_gdbarch_init): For sh2e, sh3e, and sh4, set
FLOAT_ARG0_REGNUM and FLOAT_ARGLAST_REGNUM, to be used for
argument passing.
(sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu): New
functions, replace sh_push_dummy_call.
(sh_gdbarch_init): Set push_dummy_call to one of new methods.
2003-08-18 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (FRAME_RED_ZONE_SIZE): New architecture method.
* gdbarch.h, gdbarch.c: Re-generate.
* infcall.c (call_function_by_hand): Adjust the SP by
frame_red_zone_size before allocating any stack space.
* rs6000-tdep.c (rs6000_gdbarch_init): Set "frame_red_zone_size".
* x86-64-tdep.c (x86_64_frame_align): New function.
(x86_64_init_abi): Set "frame_red_zone_size" and "frame_align".
* x86-64-tdep.c (x86_64_push_arguments): Revert 2003-08-07 change.
Remove code adjusting SP so that it skips over the Red Zone.
Index: doc/ChangeLog
2003-08-18 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Document
"frame_red_zone_size".