* Makefile.in: Re-add v850-tdep.o dependencies.
* configure.tgt: Re-add v850.
* v850-tdep.c: Reorder code slightly. Add register number enumerator.
(struct v850_frame_cache): New structure.
(v850_processor_type_table): Remove. Move functionality into
v850_register_name, v850e_register_name and v850_gdbarch_init.
(v850_register_name): New function.
(v850e_register_name): New function.
(struct prologue_info): Remove definition.
(v850_register_type): New function.
(v850_type_is_scalar): New function.
(v850_use_struct_convention): Align to gcc behaviour.
(v850_handle_prepare): Renamed from handle_prepare. Change third
parameter to struct v850_frame_cache *.
(v850_handle_pushm): Renamed from handle_pushm. Change third parameter
to struct v850_frame_cache *.
(v850_is_save_register): New function to evaluate if a register is
caller-save.
(v850_analyze_prologue): Replace v850_scan_prologue. Change to support
new frame code.
(v850_init_extra_frame_info): Remove.
(v850_frame_chain): Remove.
(v850_find_callers_reg): Remove.
(v850_skip_prologue): Make static.
(v850_pop_frame): Remove.
(v850_frame_align): New function.
(v850_push_dummy_call): Replace v850_push_arguments.
(v850_push_return_address): Remove.
(v850_extract_return_value): New function.
(v850_store_return_value): New function.
(v850_return_value): New function.
(v850_frame_saved_pc): Remove.
(v850_breakpoint_from_pc): New function.
(v850_alloc_frame_cache): New function.
(v850_fix_call_dummy): Remove.
(v850_frame_cache): New function.
(v850_target_architecture_hook): Remove.
(v850_frame_prev_register): New function.
(v850_frame_this_id): New function.
(v850_frame_unwind): New structure.
(v850_frame_sniffer): New function.
(v850_unwind_sp): New function.
(v850_unwind_pc): New function.
(v850_unwind_dummy_id): New function.
(v850_frame_base_address): New function.
(v850_frame_base): New structure.
(v850_gdbarch_init): New function.
* config/v850/v850.mt: Undelete. Drop TM_FILE.
writebuf to `gdb_byte *'.
* sparc-nat.c (sparc_xfer_wcookie, sparc_xfer_partial): Change
type of readbuf and writebuf to `gdb_byte *'.
* bsd-uthread.c (bsd_uthread_xfer_partial): Change type of readbuf
and writebuf to `gdb_byte *'.
* inf-ptrace.c (inf_ptrace_xfer_partial): Change type of readbuf
and writebuf to `gdb_byte *'.
* bsd-kvm.c (bsd_kvm_xfer_memory): Replace.
(bsd_kvm_xfer_partial): New function.
(bsd_kvm_add_target): Set to_xfer_partial instead of
to_xfer_memory.
* bfd-target.c (target_bfd_xfer_partial): Change type of readbuf
and writebuf to `gdb_byte *'.
* target.c (deprecated_debug_xfer_memory): Remove prototype.
(deprecated_debug_xfer_memory): Change type of second argument to
`gdb_byte *'.
* remote.c (remote_xfer_memory): Remove prototype.
(remote_xfer_memory): Change type of second argument to `gdb_byte
*'.
(remote_xfer_partial): Change type of readbuf and writebuf to
`gdb_byte *'.
Change type of 'buf' argument to gdb_byte *.
(s390x_pseudo_register_read, s390x_pseudo_register_write): Likewise.
(s390_register_to_value): Change type of 'out' to gdb_byte *, change
type of 'in' to gdb_byte [].
(s390_value_to_register): Change type of 'in' to gdb_byte *, change
type of 'out' to gdb_byte [].
(s390_return_value): Change type of 'out' and 'in' to gdb_byte *.
(mips_pseudo_register_write): Change type of last argument to
`gdb_byte *'.
(mips_register_to_value, mips_value_to_register): Change type of
last argument to `gdb_byte *'. Remove casts that are no longer
needed.
(mips_fetch_instruction, fetch_mips_16): Use gdb_byte for buf.
(mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call)
(mips_o32_push_dummy_call, mips_o32_return_value): Use `const
gdb_byte *' for val and gdb_byte for valbuf. Remove casts that
are no longer needed.
(mips_eabi_return_value, mips_n32n64_return_value)
(mips_o32_return_value, mips_o64_return_value): Change type of
readbuf and writebuf arguments to `gdb_byte *'.
(mips_read_fp_register_single): Change type of last argument to
`gdb_byte *'. Use `gdb_byte *' for raw_buffer.
(mips_read_fp_register_double): Change type of last argument to
`gdb_byte *'.
(mips_print_fp_register): Use `gdb_byte *' for raw_buffer. Remove
casts that are no longer needed.
(mips_print_register, print_gp_register_row): Use gdb_byte for
raw_buffer. Remove casts that are no longer needed.
(mips_single_step_through_delay): Use gdb_byte for buf.
(mips_breakpoint_from_pc): Change return type to `const gdb_byte
*'. Use gdb_byte for mips16_big_breakpoint, big_breakpoint,
pmon_big_breakpoint, idt_big_breakpoint, mips16_little_breakpoint,
little_breakpoint, pmon_little_breakpoint and
idt_little_breakpoint.
(mips_integer_to_address): Use `gdb_byte *' for tmp.
gdb_byte for buf.
(sparc32_pseudo_register_read, sparc32_pseudo_register_write):
Change type of last argument to `gdb_byte *'. Remove casts that
are no longer needed.
(sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte
for buf.
(sparc_breakpoint_from_pc): Change return type to `const gdb_byte
*'. Use gdb_byte for break_insn.
(sparc32_extract_return_value, sparc32_store_return_value): Change
type of last argument to `gdb_byte *'. Use gdb_byte for buf.
(sparc32_return_value): Change type of readbuf and writebuf
arguments to `gdb_byte *'.
(sparc_software_single_step): Use gdb_byte for npc_save and
nnpc_save.
(sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for
buf.
(sparc32_supply_gregset, sparc32_collect_gregset)
(sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte
*' for regs.
* sparc64-tdep.c (sparc64_pseudo_register_read)
(sparc64_pseudo_register_write): Change type of last argument to
`gdb_byte *'. Remove casts that are no longer needed.
(sparc64_store_floating_fields, sparc64_extract_floating_fields):
Change type of valbuf argument to `gfd_byte *'.
(sparc64_store_arguments): Use `gdb_byte *' for valbuf. use
gdb_byte for buf.
(sparc64_extract_return_value, sparc64_store_return_value): Change
type of last argument to `gdb_byte *'. Use gdb_byte for buf.
(sparc64_return_value): Change type of readbuf and writebuf
arguments to `gdb_byte *'.
(sparc64_supply_gregset, sparc64_collect_gregset)
(sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte
*' for regs.
to `const gdb_byte *'. Use gdb_byte for break_insn.
(m68k_register_to_value): Change type of last argument to
`gdb_byte *'. Use gdb_byte for from.
(m68k_value_to_register): Change type of last argument to
`gdb_byte *'. Use gdb_byte for to.
(m68k_extract_return_value): Change type of last argument to
`gdb_byte *'. Use gdb_byte for buf. Remove unnecessary cast.
(m68k_svr4_extract_return_value): Change type of last argument to
`gdb_byte *'. Use gdb_byte for buf.
(m68k_store_return_value): Change type of last argument to
`gdb_byte *'. Remove unnecessary cast.
(m68k_svr4_store_return_value): Change type of last argument to
`gdb_byte *'. Use gdb_byte for buf.
(m68k_return_value, m68k_svr4_return_value): Change type of
readbuf and writebuf arguments to `gdb_byte *'.
(m68k_push_dummy_call, m68k_unwind_pc, m68k_frame_cache)
(m68k_unwind_dummy_id): Use gdb_byte for buf.
(m68k_get_longjmp_target): Use `gdb_byte *' for buf.
* m68kbsd-tdep.c (m68kbsd_supply_fpregset)
(m68kbsd_supply_gregset): Use `gdb_byte *' for regs.
`const gdb_byte *'. Use gdb_byte for break_insn.
(m88k_return_value): Change type of readbuf and
writebuf arguments to `gdb_byte *'. Use gdb_byte for buf.
(m88k_supply_gregset): Use `gdb_byte *' for regs.
writebuf arguments to `gdb_byte *'. Remove now redundant casts.
* i386-tdep.c (i386_return_value): Change type of readbuf and
writebuf arguments to `gdb_byte *'.
(i386_pseudo_register_read, i386_pseudo_register_write): Change
type of last argument to `gdb_byte *'.
(i386_register_to_value, i386_value_to_register): Change type of
last argument to `gdb_byte *'. Simplify function a bit.
* i387-tdep.h (i387_value_to_register, i387_register_to_value):
Change type of last argument to `gdb_byte *'.
* i387-tdep.c: Likewise.
* cris-tdep.c (usr_cmd_cris_version): Change type to int.
(cris_mode_normal, cris_mode_guru, cris_modes, usr_cmd_cris_mode): Add.
(struct gdbarch_tdep): Change type of cris_version to int. Add
cris_mode.
(cris_mode, set_cris_mode): New functions.
(crisv32_single_step_through_delay): Read from NRP register instead
of ERP register in guru mode.
(cris_breakpoint_from_pc): Rename break_insn to break8_insn.
Add break15_insn, returned in guru mode.
(_initialize_cris_tdep): Add call to add_setshow_enum_cmd for new
cris-mode setting.
(cris_dump_tdep): Add dump of cris_mode.
(cris_gdbarch_init): Add cris_mode to search criteria for architecture.
Register the sigtramp frame sniffer only if not in guru mode.
* go32-nat.c: Include top.h. Update copyright years.
(init_go32_ops): Override the default value of gdbinit[] with
"gdb.ini".
* cli/cli-cmds.c (init_cli_cmds): Use gdbinit[] instead of a
compile-time literal string GDBINIT_FILENAME.
* top.c (PATH_MAX): Define if not defined.
(gdbinit): Declare with a constant size PATH_MAX.
* config/i386/go32.mh (XM_FILE): Remove.
* config/i386/xm-go32.h: Remove file.
from here...
(Startup): ...to this new subsection of the Invocation chapter.
Rearrange the description of init files more logically and add a
cross-reference to "Command Files". Document the special gdbinit
name for CISCO 68k. Expand the description of what GDB does
during startup.
(History): Add index entry for HISTSIZE.
Use `gdb_byte *' for regs.
* vax-tdep.c (vax_supply_gregset): Use `gdb_byte *' for regs;
(vax_store_arguments, vax_push_dummy_call, vax_return_value): Use
gdb_byte for buf.
(vax_breakpoint_from_pc): Change return type to `const gdb_byte
*'. Use gdb_byte for break_insn.
(vax_skip_prologue): Use gdb_byte for op.
Change type to `static const gdb_byte'.
(i386_linux_sigtramp_start, i386_linux_rt_sigtramp_start)
(i386_linux_sigcontext_addr): Use gdb_byte for buf.
* amd64-linux-tdep.c (linux_sigtramp_code): Change type to `static
const gdb_byte'.
(amd64_linux_sigtramp_start, amd64_linux_sigcontext_addr): Use
gdb_byte for buf.
* amd64fbsd-tdep.c (amd64fbsd_supply_uthread)
(amd64fbsd_collect_uthread): Use gdb_byte for buf.
(amd64_push_arguments): Use gdb_byte instead of bfd_byte. Use
gdb_byte for buf.
(amd64_push_dummy_call): Use gdb_byte for buf.
(amd64_analyze_prologue): Use gdb_byte for proto, buf and op.
(amd64_frame_cache, amd64_sigtramp_frame_cache)
(amd64_unwind_dummy_id): Use gdb_byte for buf.
(amd64_supply_fxsave, amd64_collect_fxsave): Use `gdb_byte *' for
regs.
* amd64obsd-tdep.c (amd64obsd_supply_regset): Use `gdb_byte *' in
casts.
(amd64obsd_sigtramp_p): Use gdb_byte for sigreturn and `gdb_byte
*' for buf,
`const gdb_byte *'. Use gdb_byte for break_insn.
(i386_follow_jump): Use gdb_byte for op.
(i386_analyze_struct_return): Use gdb_byte for proto1, proto2, buf
and op.
(i386_skip_probe): Use gdb_byte for buf and op.
(struct i386_insn): Use gdb_byte for insn and mask.
(i386_match_insn, i386_analyze_frame_setup)
(i386_analyze_register_saves): Use gdb_byte for op.
(i386_skip_prologue): Use gdb_byte for pic_pat and op;
(i386_unwind_pc, i386_frame_cache, i386_sigtramp_frame_cache)
(i386_unwind_dummy_id, i386_get_longjmp_target): Use gdb_byte for
buf.
(i386_extract_return_value, i386_store_return_value): Use
`bfd_byte *' instead of `void *' for valbuf argument. Remove now
redundant cast.
(i386_pseudo_register_read, i386_pseudo_register_write): Use
gdb_byte for mmx_buf.
(i386_register_to_value, i386_value_to_register): Use `gdb_byte *'
instead of `char *' for buf.
(i386_supply_gregset, i386_collect_gregset): Use `gdb_byte *'
instead of `char *' for regs.
(i386_svr4_sigcontext_addr): Use gdb_byte for buf.
* i386obsd-tdep.c (i386obsd_sigtramp_p): Use gdb_byte for
sigreturn and `gdb_byte *' for buf.
(i386obsd_aout_supply_regset): Use `const gdb_byte *' in cast.
(i386obsd_supply_uthread, i386obsd_collect_uthread): Use gdb_byte
for buf.
* i386bsd-tdep.c (i386bsd_sigcontext_addr): Use gdb_byte for buf.
* lib/gdb.exp (skip_altivec_tests): New function, based on
check_vmx_hw_available from the GCC testsuite.
* lib/gdb.arch/altivec-abi.exp: Use skip_altivec_tests.
* lib/gdb.arch/altivec-regs.exp: Likewise.
* Makefile.in: Re-add h8300-tdep.o dependencies.
* h8300-tdep.c: Slightly rearrange type definitions and functions.
(struct frame_extra_info): Remove.
(struct h8300_frame_cache): Replace locals with differently defined
uses_fp member.
(h8300_unwind_pc): Simplify.
(h8300_unwind_sp): New function.
(h8300_unwind_dummy_id): Simplify.
(h8300_init_frame_cache): New function.
(h8300_is_argument_spill): Use reworked defines for opcode scanning.
(h8300_skip_prologue): Rewrite.
(h8300_alloc_frame_cache): Remove.
(h8300_analyze_frame_setup): Remove.
(h8300_analyze_register_saves): Remove.
(h8300_analyze_prologue): Rewrite.
(h8300_frame_cache): Use h8300_init_frame_cache instead of
h8300_alloc_frame_cache. Use BINWORD instead of constant 4 to
accomodate 16 bit mode. Fix saved_sp and register offset evaluation.
(h8300_frame_this_id): Correctly calculate this_id using saved stack
pointer instead of base.
(h8300_frame_prev_register): Drop needless braces.
(h8300_frame_base_address): New function.
(h8300_frame_base): New frame_base.
(h8300_push_dummy_call): Return correct CFA value.
(h8300h_extract_return_value): Fix 8 byte value handling.
(h8300_use_struct_convention): New function.
(h8300h_use_struct_convention): New function.
(h8300h_store_return_value): Fix 8 byte value handling.
(h8300_return_value): New function.
(h8300h_return_value): New function.
(h8300_extract_struct_value_address): Remove deprecated functionality.
(h8300_push_dummy_code): Remove.
(h8300_gdbarch_init): Replace set_gdbarch_extract_return_value and
set_gdbarch_store_return_value calls by set_gdbarch_return_value.
Remove calls to set_gdbarch_deprecated_fp_regnum,
set_gdbarch_deprecated_extract_struct_value_address,
set_gdbarch_deprecated_use_struct_convention and
set_gdbarch_push_dummy_code.
Add calls to set_gdbarch_unwind_sp and frame_base_set_default.
Slightly rearrange code.
(namecopy_size): New variable.
(copy_name): Allocate namecopy using xrealloc, instead of assuming
it has adequate space allocated to it.
(parse_exp_1): Don't try to allocate space for namecopy here.
* remote.c (remote_open_1): Move "ex"'s declaration to where it is
used.
(remote_get_thread_local_address): Use throw_error, include a
printed string.
* linux-thread-db.c (thread_db_get_thread_local_address): Ditto.
* dwarf2loc.c (dwarf_expr_tls_address): Ditto.
* cli/cli-script.c (script_from_file): Mark up throw_error message.
* linespec.c (symtab_from_filename, decode_variable): Ditto.
(<windows.h>): Include under Windows.
(<io.h>): Likeiwse.
(gdb_select): New function.
(gdb_wait_for_event): Use it.
* Makefile.in (event-loop.o): Depend on $(gdb_assert_h).
(sparc32_linux_init_abi): Set skip_trampoline_code and
solib_svr4_fetch_link_map_offsets. Set TDEP->plt_entry_size.
Don't set software_single_step and don't call
sparc32_sol2_init_abi.
* sparc64-linux-tdep.c: Update copyright year.
(sparc64_linux_init_abi): Set skip_trampoline_code and
solib_svr4_fetch_link_map_offsets. Set TDEP->plt_entry_size.
Don't set software_single_step and don't call
sparc64_sol2_init_abi.
get-thread-local-storage-address". Add cross-reference to the
description of the qGetTLSAddr packet.
(General Query Packets): Mention "set remote
get-thread-local-storage-address" and add a reference to its
description.
signal return stub symbol names, __restore and __restore_rt are
the i386 symbol names not the sparc ones.
(sparc32_linux_sigtramp_frame_cache): Document bits/sigcontext.h
as where the offsets were obtained from.
* sparc64-linux-tdep.c (LINUX64_RT_SIGTRAMP_INSN0,
LINUX64_RT_SIGTRAMP_INSN1): New defines.
(sparc64_linux_sigtramp_start, sparc64_linux_sigtramp_p,
sparc64_linux_sigtramp_frame_cache,
sparc64_linux_sigtramp_frame_this_id,
sparc64_linux_sigtramp_frame_prev_register,
sparc64_linux_sigtramp_frame_sniffer): New functions.
(sparc64_linux_sigtramp_frame_unwind): New frame unwinder.
(sparc64_linux_init_abi): Register sigtramp frame sniffer.
* Makefile.in (sparc64-linux-tdep.o): Update dependencies.
-lws2_32.
* ser-tcp.c (<winsock2.h>): Include, for Windows.
(ETIMEDOUT): Define, for Windows.
(ioctl): Likewise.
(closesocket): Define, for POSIX.
(net_open): Adjust for differences in socket functions between
Windows and UNIX.
(net_close): Likweise.
(net_read_prim): New function.
(net_write_prim): Likewise.
(_initialize_ser_tcp): Initialize winsock. Fill in read_prim and
write_prim.
* ser-unix.h (ser_unix_readcchar): Remove.
(ser_unix_read_prim): Declare.
(ser_unix_write_prim): Likewise.
* ser-unix.c (generic_readchar): Move to ser-base.c.
(ser_unix_wait_for): Likewise.
(do_unix_readchar): Likewise.
(ser_unix_readchar): Likewise.
(_initialize_ser_hardwire): Initialize read_prim and write_prim.
(ser_unix_read_prim): New function.
(ser_unix_write_prim): Likewise.
* ser-base.h (generic_readchar): Declare.
(ser_base_readchar): Likewise.
* ser-base.c (<winsock2.h>): Include, for windows.
(fd_event): Use the read primitive specified by the serial
interface.
(ser_base_wait_for): Moved from ser-unix.c
(do_ser_base_read_char): Likewise.
(generic_readchar): Likewise.
(ser_base_readchar): Likewise.
(ser_base_write): Use the write primitive specified by the serial
interface.
* ser-pipe.c (_initialize_ser_pipe): Use ser_base_readchar, not
ser_unix_readchar. Initialize read_prim and write_prim.
* serial.c (struct serial_ops): Add read_prim and write_prim.
* configure: Regenerate.
"inf-ptrace.h".
(hppabsd_fetch_registers): Renamed from fetch_inferior_registers;
made static.
(hppabsd_store_registers): Renamed from store_inferior_registers;
made static.
(_initialize_hppabsd_nat): New function and prototype.
* config/pa/obsd.mh (NATDEPFILES): Remove infptrace.o and
inftarg.o. Add inf-ptrace.o.
(NAT_FILE): Remove.
* Makefile.in (hppabsd-nat.o): Update dependencies.
(arm_abi_strings, arm_abi_global, arm_abi_string): New
variables.
(arm_extract_return_value, arm_store_return_value): Don't use
arm_get_fp_model.
(arm_get_fp_model, arm_set_fp): Delete.
(arm_update_current_architecture): New function.
(set_fp_model_sfunc): Call arm_update_current_architecture.
(show_fp_model): Update output messages.
(arm_set_abi, arm_show_abi): New functions.
(arm_elf_osabi_sniffer): Only handle ELFOSABI_ARM.
(arm_gdbarch_init): Infer the object's ABI separately from its
OSABI. Search for a matching architecture. Honor the global
ABI and FPU settings. Set floating point format based on the
architecture.
(arm_init_abi_eabi_v1, arm_init_abi_eabi_v2, arm_init_abi_apcs):
Delete.
(_initialize_arm_tdep): Don't call gdbarch_register_osabi.
Create "arm set abi" command.
* arm-tdep.h (arm_get_fp_model): Delete prototype.
(enum arm_abi_kind): New type.
(struct gdbarch_tdep): Add arm_abi field.
* arm-linux-tdep.c (arm_linux_init_abi): Only override
tdep->fp_model if it is ARM_FLOAT_AUTO.
* armnbsd-tdep.c (arm_netbsd_aout_init_abi): Likewise.
(arm_netbsd_elf_init_abi): Likewise.
* defs.h (enum gdb_osabi): Delete ARM-specific OSABIs.
* osabi.c (gdb_osabi_name): Likewise.
and "tramp-frame.h".
(ppcobsd_sigtramp_cache_init): New function.
(ppcobsd_sigtramp): New variable.
(ppcobsd_init_abi): Prepend signal trampoline unwinder.
* Makefile.in (ppcobsd-tdep.o): Update dependencies.
add-shared-symbol-files. Document its alias assf. Update the
list of OSs where GDB supports shared libraries. Fix markup.
(Continuing and Stepping): Add reference to @var{location} in the
text.
(Dump/Restore Files): Fix reference to @{filename}.
(Help): Fix wording.
(Attach): Ditto.
(Set Watchpoints): Ditto.
(Backtrace): Remove redundant index entries. Improve index
entries.
(Delete Breaks): Fix wording.
(Memory): Document the compare-sections command.
(Memory Region Attributes): Improve wording.
(Disabling): Improve wording.
(Fortran): New subsection. Document the "info common" command.
(Help): Document aliases "info copying" and "info warranty".
(Caching Remote Data): New section. Document the "set/show
remotecache" and "info dcache" commands.
(Show): Fix wording of the documentation of the "set
extension-language" command.
(Signals): Add index entry for "info handle".
(Memory Region Attributes): Fix punctuation.
(Symbols): Change the arg name to "location" and refer to it in
the text. Fix wording of "info types" doc.
(Threads): Fix usage of @enumerate @item's.
(Listing Tracepoints): Add index entry for "info tp".
(Set Watchpoints): Add xref to "info break" description.
(Macros): Add an index entry for "macro exp1". Document the
"macro list" command.
(Maintenance Commands): Document "flushregs", "maint agent",
"maint check-symtabs", "maint cplus", "maint demangle", "maint
deprecate", "maint undeprecate", "maint dump-me", "maint packet",
"maint print architecture", "maint print objfiles", "maint print
statistics", "maint print type", "maint show-debug-regs", "maint
space", "maint time", and "maint translate-address".
(Connecting): Document the "monitor" command.
(Annotations Overview): Describe the "set annotate" command.
* mn10300-prologue.c (set_movm_offsets): Don't test variable
before setting it.
* mn10300-tdep.c (mn10300_skip_prologue): Use analyze_prologue
instead of skip_prologue_using_sal.
register value to be incorrectly written in the regcache.
(fill_fpregset): Fix bug that caused the FSR register value
to be incorrectly read from the regcache.
(unqualified_name_from_comp): New function, broken out from
method_name_from_physname. Correct handling for typed names
and templates.
(method_name_from_physname): Use unqualified_name_from_comp.
(cp_func_name, remove_params): Move earlier in the file. Add
better comments. Use the component tree to parse the name.
(_initialize_cp_support): Remove stray whitespace.