(add_pid_to_list, pull_pid_from_list): New.
* linux-low.c (PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG)
(PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK)
(PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC, PTRACE_O_TRACEVFORKDONE)
(PTRACE_O_TRACEEXIT, PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK)
(PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE)
(PTRACE_EVENT_EXIT, __WALL): Provide default definitions.
(stopped_pids, thread_db_active, must_set_ptrace_flags): New variables.
(using_threads): Always set to 1.
(handle_extended_wait): New.
(add_process): Do not set TID.
(linux_create_inferior): Set must_set_ptrace_flags.
(linux_attach_lwp): Remove TID argument. Do not check using_threads.
Use PTRACE_SETOPTIONS. Call new_thread_notify. Update all callers.
(linux_thread_alive): Rename TID argument to LWPID.
(linux_wait_for_process): Handle unknown processes. Do not use TID.
(linux_wait_for_event): Do not use TID or check using_threads. Update
call to dead_thread_notify. Call handle_extended_wait.
(linux_create_inferior): Use PTRACE_SETOPTIONS.
(send_sigstop): Delete sigstop_sent.
(wait_for_sigstop): Avoid TID.
(linux_supports_tracefork_flag, linux_tracefork_child, my_waitpid)
(linux_test_for_tracefork): New.
(linux_lookup_signals): Use thread_db_active and
linux_supports_tracefork_flag.
(initialize_low): Use thread_db_active and linux_test_for_tracefork.
* linux-low.h (get_process_thread): Avoid TID.
(struct process_ifo): Move thread_known and tid to the end. Remove
sigstop_sent.
(linux_attach_lwp, thread_db_init): Update prototypes.
* server.h (change_inferior_id): Delete prototype.
(add_pid_to_list, pull_pid_from_list): New prototypes.
* thread-db.c (thread_db_use_events): New.
(find_first_thread): Rename to...
(find_one_thread): ...this. Update callers and messages. Do not
call fatal. Check thread_db_use_events. Do not call
change_inferior_id or new_thread_notify.
(maybe_attach_thread): Update. Do not call new_thread_notify.
(thread_db_init): Set thread_db_use_events. Check use_events.
* utils.c (fatal, warning): Correct message prefix.
(cp_already_canonical): New function.
(cp_canonicalize_string): Use it. Return NULL for already canonical
strings.
(mangled_name_to_comp): Update call to cp_demangled_name_to_comp.
(cp_func_name, remove_params): Likewise.
(cp_find_first_component_aux): Use ISSPACE.
* cp-support.h (cp_demangled_name_to_comp): Correct comment. Remove
MEMORY_P argument.
* cp-name-parser.y (ALLOC_CHUNK): Define.
(struct demangle_info): Add PREV and NEXT. Increase the size of
COMPS.
(d_grab): Convert to a function.
(allocate_info): Rewrite.
(cp_demangled_name_to_comp): Remove MEMORY argument. Do not use
strlen. Update call to allocate_info. Do not free it on failure.
(main): Update calls to cp_demangled_name_to_comp.
* Makefile.in (cp-support.o): Update.
* std-regs.c (value_of_builtin_frame_fp_reg)
value_of_builtin_frame_pc_reg, value_of_builtin_frame_sp_reg)
value_of_builtin_frame_ps_reg): Use get_frame_arch to get at the
current architecture by frame_info.
* infcmd.c (default_print_registers_info, print_return_value)
(print_vector_info, print_float_info): Replace current_gdbarch by
gdbarch.
(registers_info): Use get_frame_arch to get at the current
architecture by frame_info.
* configure.tgt (i[34567]86-*-mingw32*): Set gdb_target = mingw.
* win32-nat.c: Only include cygwin.h on Cygwin host. Don't
include procfs.h.
(cygwin_load_start, cygwin_load_end, cygwin_exceptions): Disable
if not building on Cygwin.
(win32_make_so, handle_output_debug_string, handle_exception)
(do_initial_win32_stuff): Wrap Cygwin specific code in __CYGWIN__.
(win32_attach): Only fallback to Cygwin pids if building on
Cygwin.
(win32_pid_to_exec_file): Disable Cygwin specific code, if not
building on Cygwin.
(win32_create_inferior): Disable starting the inferior through a
shell, environment var processing and tty handling if not building
on Cygwin.
(cygwin_pid_to_str): Rename to ...
(win32_pid_to_str): ... this.
(init_win32_ops): Update use of win32_pid_to_str. Disable "shell"
and "cygwin-exceptions" commands if not building on Cygwin.
statement about unbounded arrays being unimplemented.
* m2-valprint.c (m2_print_array_contents): New function.
(m2_print_unbounded_array): New function.
(m2_print_array_contents): New function.
* m2-typeprint.c (m2_unbounded_array): New function.
(m2_is_unbounded_array): New function.
(m2_print_type): Test for unbounded array when walking
across structs.
* m2-lang.h: Added extern m2_is_unbounded_array.
* m2-lang.c (evaluate_subexp_modula2): New function.
(exp_descriptor_modula2): New structure.
(m2_language_defn): Use exp_descriptor_modula2.
* m2-exp.y: Added TSIZE and binary subscript.
* configure.ac: Removed trailing spaces after backslash.
* gdb.modula2: New directory.
* gdb.modula2/Makefile.in: New file.
* gdb.modula2/unbounded-array.exp: New file.
* gdb.modula2/unbounded1.c: New file.
* gdb.base/sigstep.c (main): Add checks for
return values for setitimer call.
Call setitimer again with itimer = ITIMER_REAL
if first call to setitimer fails.
(avr_gdbarch_init): Call set_gdbarch_return_value instead of
set_gdbarch_extract_return_value.
* fvr-tdep.c (frv_return_value): New function.
(frv_gdbarch_init): Call set_gdbarch_return_value instead of
set_gdbarch_extract_return_value, set_gdbarch_store_return_value,
and set_gdbarch_deprecated_use_struct_convention.
* ia64-tdep.c (ia64_use_struct_convention): Make static.
Add check for structure, union, or array types.
(ia64_extract_return_value): Make static.
(ia64_store_return_value): Make static. Support multi-word values.
(ia64_return_value): New function.
(ia64_gdbarch_init): Call set_gdbarch_return_value instead of
set_gdbarch_extract_return_value, set_gdbarch_store_return_value,
and set_gdbarch_deprecated_use_struct_convention.
instead of "Linux 2.6.19" in comment.
(linux_xfer_partial): Use "GNU/Linux target" instead of
"Linux target" in comment.
* m68klinux-tdep.c (m68k_linux_inferior_created): Likewise.
(m68k_linux_get_sigtramp_info): Likewise.
* 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.