* stack.c (print_frame_args, frame_info, return_command): Use
get_regcache_arch or get_frame_arch to get at the current architecture
by regcache or by frame, respectively.
* rs6000-nat.c (fetch_register, store_register)
(rs6000_fetch_inferior_registers, rs6000_store_inferior_registers): Use
get_regcache_arch to get at the current architecture by regcache.
* rs6000-tdep.c (rs6000_push_dummy_call, rs6000_return_value)
(rs6000_register_reggroup_p, e500_move_ev_registe, rs6000_unwind_pc)
(rs6000_unwind_dummy_id, rs6000_frame_cache, rs6000_dump_tdep): Replace
current_gdbarch by gdbarch.
(rs6000_skip_trampoline_code, rs6000_register_to_value)
(rs6000_value_to_register): Use get_frame_arch to get at the current
architecture by frame_info.
* sparc-tdep.c (sparc_supply_rwindow, sparc_collect_rwindow): Use
get_regcache_arch to get at the current architecture by regcache.
* sparc64-tdep.c (sparc64_supply_gregset, sparc64_collect_gregset)
(sparc64_supply_fpregset, sparc64_collect_fpregset): Use
get_regcache_arch to get at the current architecture by regcache.
* sparc64nbsd-nat. (sparc64nbsd_supply_gregset)
(sparc64nbsd_collect_gregset, sparc64nbsd_supply_fpregset)
(sparc64nbsd_collect_fpregset): Use get_regcache_arch to get at the
current architecture by regcache.
* remote-mips.c (mips_wait, mips_fetch_registers)
(mips_store_registers): Use get_regcache_arch to get at the
current architecture by regcache.
* mipsnbsd-tdep.c (mipsnbsd_supply_reg, mipsnbsd_fill_reg)
(mipsnbsd_supply_fpreg, mipsnbsd_fill_fpreg): Use get_regcache_arch to
get at the current architecture by regcache.
(mipsnbsd_sigtramp_offset): Use get_frame_arch to get at the current
architecture by frame_info.
* mipsnbsd-nat.c (mipsnbsd_fetch_inferior_registers)
(mipsnbsd_store_inferior_registers): Use get_regcache_arch to get at
the current architecture by regcache.
* mips-linux-tdep.c (mips_linux_get_longjmp_target)
(mips64_linux_get_longjmp_target, mips_linux_o32_sigframe_init)
(mips_linux_n32n64_sigframe_init): Use get_frame_arch to get at the
current architecture by frame_info.
(supply_32bit_reg, mips_supply_gregset, mips_fill_gregset)
(mips_supply_fpregset, mips_fill_fpregset, supply_64bit_reg)
(mips64_supply_gregset, mips64_fill_gregset, mips64_supply_fpregset)
(mips64_fill_fpregset, mips_linux_write_pc): Use get_regcache_arch to
get at the current architecture by regcache.
* mips-linux-nat.c (mips_linux_register_addr)
(mips64_linux_register_addr): Replace current_gdbarch by gdbarch.
(supply_gregset, fill_gregset, supply_fpregset, fill_fpregset)
(mips64_linux_regsets_fetch_registers)
(mips64_linux_regsets_store_registers): Use get_regcache_arch to get at
the current architecture by regcache.
* mips64obsd-tdep.c (mips64obsd_sigframe_init): Use get_frame_arch to
get at the current architecture by frame_info.
* mips-tdep.c (mips_xfer_register): Use get_regcache_arch to get at the
current architecture by regcache.
(mips2_fp_compat, mips32_next_pc, mips16_scan_prologue)
(mips_insn16_frame_cache, mips32_scan_prologue, mips_insn32_frame_cache)
(mips_stub_frame_cache, mips_read_fp_register_single)
(mips_read_fp_register_double, mips_print_fp_register)
(mips_print_register, print_gp_register_row): Use get_frame_arch to get
at the current architecture by frame_info.
(mips_register_reggroup_p, mips_pseudo_register_read, mips_unwind_sp)
(mips_pseudo_register_write, mips_register_type, mips_unwind_pc)
(mips_unwind_dummy_id, mips_eabi_push_dummy_call)
(mips_n32n64_push_dummy_call, mips_n32n64_return_value)
(mips_o32_push_dummy_call, mips_o32_return_value)
(mips_o64_push_dummy_call, mips_o64_return_value)
(mips_print_registers_info, mips_dump_tdep): Replace current_gdbarch by
gdbarch.
* xtensa-tdep.c (xtensa_register_type, xtensa_pseudo_register_read)
(xtensa_pseudo_register_write, xtensa_register_reggroup_p)
(xtensa_unwind_pc, xtensa_unwind_dummy_id, xtensa_push_dummy_call)
(xtensa_dump_tdep): Replace current_gdbarch by gdbarch.
(xtensa_register_write_masked, xtensa_register_read_masked)
(xtensa_supply_gregset, xtensa_store_return_value)
(xtensa_extract_return_value): Use get_regcache_arch to get at the
current architecture by regcache.
(xtensa_frame_cache, call0_frame_get_reg_at_entry, call0_frame_cache)
(xtensa_frame_prev_register): Use get_frame_arch to get at the current
architecture by frame_info.
(thumb_analyze_prologue): Move pv_area_store_would_trash call
out of loop. Do not set cache->frameoffset.
(arm_scan_prologue): Use prologue-value mechanism. Do not set
frameoffset. Simplify framesize.
(arm_make_prologue_cache, arm_normal_frame_base): Do not use
frameoffset.
* arm-tdep.h (enum gdb_regnum): Add ARM_IP_REGNUM.
* h8300-tdep.c (h8300_frame_cache): Use get_frame_arch to get at
the current architecture by frame_info.
(h8300_frame_prev_register
(h8300_print_register): Replace current_gdbarch by gdbarch.
(h8300_print_registers_info, h8300_register_type)
(h8300_register_type): Likewise.
* i386-linux-nat.c (fetch_register): Use get_regcache_arch to get at
the current architecture by regcache.
(store_register, supply_gregset, fill_gregset, i386_linux_resume)
(i386_linux_fetch_inferior_registers)
(i386_linux_store_inferior_registers): Likewise.
* i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Likewise.
* i386-nto-tdep.c (i386nto_supply_gregset): Likewise.
* i386v4-nat.c (supply_fpregset, fill_fpregset): Likewise.
* i386-tdep.c (i386_unwind_pc): Replace current_gdbarch by gdbarch.
(i386_extract_return_value, i386_store_return_value): Likewise.
* i386-tdep.c (i386_frame_prev_register): Use get_frame_arch to get at
the current architecture by frame_info.
(i386_sigtramp_frame_cache, i386_get_longjmp_target)
(i386_register_to_value, i386_value_to_register): Likewise.
* monitor.c (monitor_supply_register): Use get_regcache_arch to get at
the current architecture by regcache.
(monitor_store_register, monitor_store_registers): Likewise.
* frame.c (frame_pc_unwind): Use get_frame_arch to get at the current
architecture by frame.
(frame_save_as_regcache, frame_register_unwind, get_prev_frame_1)
(inside_main_func, frame_sp_unwind): Likewise.
* gdb.base/whatis.c (v_long_long, v_signed_long_long)
(v_unsigned_long_long, v_long_long_array)
(v_signed_long_long_array, v_unsigned_long_long_array)
(slong_long_addr, a_slong_long_addr, v_long_long_pointer)
(v_signed_long_long_pointer, v_unsigned_long_long_pointer)
[!NO_LONG_LONG]: New.
(t_struct, v_struct2, t_union, v_union2) [!NO_LONG_LONG]: Add
v_long_long_member.
(v_long_long_func, v_signed_long_long_func)
(v_unsigned_long_long_func) [!NO_LONG_LONG]: New.
(main) [!NO_LONG_LONG]: Initialize long long variants.
* gdb.base/whatis.exp: If board file requests no_long_long, build
test with NO_LONG_LONG defined. Test long long, signed long long,
and unsigned long long variants but only if board file doesn't
disable it.
* stabsread.c (read_huge_number): Fix handling of octal
representation when the bit width is known.
(read_range_type): Record unsigned integral types with their size,
when the type size is known.
* aix-thread.c (supply_gprs64, supply_fprs, supply_sprs64)
(supply_sprs32, fetch_regs_user_thread, fetch_regs_kernel_thread)
(fill_gprs64, fill_gprs32, fill_fprs, fill_sprs64, fill_sprs32)
(store_regs_user_thread, store_regs_kernel_thread): Use
get_regcache_arch or get_frame_arch to get at the current architecture
by regcache or by frame, respectively.
* remote.c (init_remote_state, fetch_register_using_p)
(process_g_packet, remote_fetch_registers, remote_prepare_to_store)
(store_register_using_P, store_registers_using_G)
(remote_store_registers): Use get_regcache_arch or get_frame_arch to
get at the current architecture by regcache or by frame, respectively.
* m68k-tdep.c (m68k_register_to_value, m68k_value_to_register)
(m68k_svr4_extract_return_value, m68k_svr4_store_return_value)
(m68k_frame_prev_register, m68k_get_longjmp_target): Use
get_regcache_arch or get_frame_arch to get at the current architecture
by regcache or by frame, respectively.
* m68klinux-tdep.c (m68k_linux_sigtramp_frame_cache): Likewise.
* m68klinux-nat.c (fetch_register, old_fetch_inferior_registers)
(store_register, old_store_inferior_registers, supply_gregset)
(supply_fpregset, fill_fpregset): Likewise.
* m68k-tdep.c (m68k_register_type, m68k_unwind_pc, m68k_dump_tdep):
Replace current_gdbarch by gdbarch.
* irix5-nat.c (supply_gregset, fill_gregset, supply_fpregset)
(fill_fpregset, fetch_core_registers): Use get_regcache_arch or
get_frame_arch to get at the current architecture by regcache or by
frame, respectively.
* ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write):
Replace current_gdbarch by gdbarch.
* ia64-tdep.c (ia64_frame_prev_register
(ia64_sigtramp_frame_prev_register)
(ia64_libunwind_frame_prev_register): Use get_regcache_arch or
get_frame_arch to get at the current architecture by regcache or by
frame, respectively.
* ia64-linux-nat.c (ia64_linux_fetch_register)
(ia64_linux_fetch_registers, ia64_linux_store_register)
(ia64_linux_store_registers): Likewise.
* hppa-tdep.c (hppa_stub_unwind_sniffer, hppa_dump_tdep): Replace
current_gdbarch by gdbarch.
* hppa-linux-nat.c (fetch_register, store_register)
(hppa_linux_fetch_inferior_registers)
(hppa_linux_store_inferior_registers): Use get_regcache_arch or
get_frame_arch to get at the current architecture by regcache or by
frame, respectively.
* hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code
(hppa_hpux_unwind_adjust_stub): Likewise.
* hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register)
(hppa_hpux_fetch_inferior_registers)
(hppa_hpux_store_inferior_registers): Likewise.
* cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache)
(cris_scan_prologue, crisv32_scan_prologue, find_step_target)
(cris_software_single_step, cris_supply_gregset): Use get_regcache_arch
or get_frame_arch to get at the current architecture by regcache or by
frame, respectively.
* cris-tdep.c (crisv32_single_step_through_delay, cris_push_dummy_call)
(cris_unwind_pc, cris_unwind_sp, cris_register_type, cris_dump_tdep)
(crisv32_register_type, cris_dwarf2_frame_init_reg): Replace
current_gdbarch by gdbarch.
* arm-tdep.c (arm_scan_prologue, arm_make_prologue_cache)
(thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value)
(arm_store_return_value): Use get_regcache_arch or get_frame_arch to
get at the current architecture by regcache or by·frame, respectively.
(arm_push_dummy_call, arm_dump_tdep): Replace current_gdbarch by
gdbarch.
* amd64-tdep.c (amd64_frame_prev_register, amd64_sigtramp_frame_cache):
Use get_regcache_arch or get_frame_arch to get at the current
architecture by regcache or by frame, respectively.
* amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Likewise.
* amd64-nat.c (amd64_supply_native_gregset)
(amd64_collect_native_gregset): Replace current_gdbarch by gdbarch.
* alpha-tdep.c (alpha_register_reggroup_p): Replace current_gdbarch by
gdbarch.
* alpha-linux-nat.c (alpha_linux_register_u_offset): Likewise.
(alpha_sigtramp_frame_unwind_cache, alpha_sigtramp_frame_this_id)
(alpha_sigtramp_frame_sniffer, alpha_next_pc): Use get_regcache_arch or
get_frame_arch to get at the current architecture by regcache or by
frame, respectively.
* alpha-nat.c (fetch_osf_core_registers): Likewise.
* regcache.c (init_regcache_descr, register_type, read_pc_pid)
(write_pc_pid, regcache_dump): Replace current_gdbarch by gdbarch.
* regcache.c (regcache_raw_write): Use get_regcache_arch or
get_frame_arch to get at the current architecture by regcache or by
frame, respectively.
* findvar.c (value_of_register, locate_var_value): Use
get_regcache_arch or get_frame_arch to get at the current architecture
by regcache or by frame, respectively.
* findvar.c (default_value_from_register, value_from_register): Replace
current_gdbarch by gdbarch.
* tui/tui-interp.c (tui_init): Initialize tui's SIGWINCH
signal handler.
* tui/tui-win.c (tui_initialize_win): New function for
initializing tui's SIGWINCH signal handler.
* tui/tui-win.h (tui_initialize_win): Declare.
* value.h (lookup_only_internalvar): New prototype.
(create_internalvar): Likewise.
* value.c (lookup_only_internalvar): New function.
(create_internalvar): Likewise.
(lookup_internalvar): Use new lookup_only_internalvar and
create_internalvar functions.
* parse.c (write_dollar_variable): Look up $ symbols in internal
table first rather than last.
Jeff Johnston <jjohnstn@redhat.com>
* breakpoint.c (watchpoints_triggered): New.
(bpstat_stop_status): Remove STOPPED_BY_WATCHPOINT argument.
Check watchpoint_triggered instead. Combine handling for software
and hardware watchpoints. Do not use target_stopped_data_address
here. Always check a watchpoint if its scope breakpoint triggers.
Do not stop for thread or overlay events. Improve check for
triggered watchpoints without a value change.
(watch_command_1): Insert the scope breakpoint first. Link the
scope breakpoint to the watchpoint.
* breakpoint.h (enum watchpoint_triggered): New.
(struct breakpoint): Add watchpoint_triggered.
(bpstat_stop_status): Update prototype.
(watchpoints_triggered): Declare.
* infrun.c (enum infwait_status): Add infwait_step_watch_state.
(stepped_after_stopped_by_watchpoint): Delete.
(handle_inferior_event): Make stepped_after_stopped_by_watchpoint
local. Handle infwait_step_watch_state. Update calls to
bpstat_stop_status. Use watchpoints_triggered to check
watchpoints.
* remote.c (stepped_after_stopped_by_watchpoint): Remove extern.
(remote_stopped_data_address): Do not check it.
* gdb.texinfo (Setting Watchpoints): Adjust warning text about
multi-threaded watchpoints.
* gdbint.texinfo (Watchpoints): Describe how watchpoints are
checked. Describe sticky notification. Expand description
of steppable and continuable watchpoints.
(Watchpoints and Threads): New subsection.
* gdb.threads/watchthreads.c (thread_function): Sleep between
iterations.
* gdb.threads/watchthreads.exp: Allow two watchpoints to trigger
at once for S/390. Generate matching fails and passes.
support for breakpoints at multiple locations.
* gdb.texinfo (Setting Breakpoints): Revise
documentation for pending breakpoints. Document
breakpoints with multiple locations.
* p-typeprint.c: Fix 11 ARI reported problems.
(pascal_print_type): Fix 4 operator at end of line.
(pascal_type_print_method_args) : Replace 2 DEPRECATED_STREQN macros
using strncmp function.
(pascal_type_print_base): Fix 2 operator at end of line.
(pascal_type_print_base) : Replace 3 DEPRECATED_STREQN macros
using strncmp function.
* p-exp.y: Fix 12 ARI reported problems.
(name_not_typename): Fix 2 operator at end of line issues.
(yylex): Fix 3 operator at end of line issues.
Replace 7 DEPRECATED_STREQ macros using strcmp function.
* symfile.c (symfile_map_offsets_to_segments): Doc fixes.
Assert that we were passed some loaded segment addresses,
and that sections' segment numbers are valid.
Simplify offset calculation.
* remote.c (get_offsets): Clarify selection of relocate-by-segment
strategy, and set num_segments correctly. Delete redundant
assignments to do_sections.