+2008-07-12 Vladimir Prus <vladimir@codesourcery.com>
+
+ Report thread state in -thread-info output.
+ * thread.c (print_thread_info): Add new field "state".
+
+2008-07-11 Pedro Alves <pedro@codesourcery.com>
+
+ * infrun.c (handle_inferior_event): Also ignore a
+ TARGET_SIGNAL_TRAP on a STOP_QUIETLY_NO_SIGSTOP.
+
+2008-07-11 Tom Tromey <tromey@redhat.com>
+
+ * completer.c (complete_line_internal): New function, from
+ complete_line. Add 'for_help' parameter.
+ (complete_line): Use it.
+ (command_completer): Move later. Rewrite.
+
+2008-07-11 Pedro Alves <pedro@codesourcery.com>
+
+ * thread.c (thread_apply_command): Move making the cleanup out of
+ the loop.
+
+2008-07-11 Pedro Alves <pedro@codesourcery.com>
+
+ Exited threads.
+
+ * thread.c (enum thread_state): New.
+ (thread_state main_thread_running): Delete, in favor of...
+ (thread_state main_thread_state): ... this. Update throughout.
+ (clear_thread_inferior_resources): New, split from free_thread.
+ (free_thread): Call clear_thread_inferior_resources.
+ (init_thread_list): Set main thread to stopped state.
+ (add_thread_silent): Take care of PTID reuses.
+ (delete_thread): If deleting inferior_ptid or a thread with
+ refcount > 0, mark it as exited, but still keep it in the list.
+ Only notify of thread exits, if we haven't done so yet.
+ (iterate_over_threads): Make it safe to delete threads while
+ iterating over them.
+ (do_captured_list_thread_ids): Don't account for exited threads.
+ (thread_alive): Check for the THREAD_EXITED state, and don't set
+ ptid to -1 on exited threads.
+ (set_running): Update to account for extra possible states.
+ (is_thread_state): New.
+ (is_stopped, is_exited): New.
+ (is_running): Implement in terms of is_thread_state.
+ (any_running): Update.
+ (print_thread_info): Update. Account for exited threads. Don't
+ warn about missed frame restoring here, its done in the cleanup.
+ (switch_to_thread): Don't read from a thread that has gone.
+ (restore_current_thread): In non-stop mode, do a full context
+ switch.
+ (restore_selected_frame): Add a frame_level argument. Rewrite.
+ (struct current_thread_cleanup): Add selected_frame_level and
+ was_stopped members.
+ (do_restore_current_thread_cleanup): Check if thread was stopped
+ and still is, and if the target has registers, stack and memory
+ before restoring the selected frame. Don't delete the cleanup
+ argument here.
+ (restore_current_thread_cleanup_dtor): New.
+ (make_cleanup_restore_current_thread): Remove all arguments.
+ Rewrite.
+ (thread_apply_all_command): Update. Prune threads.
+ (thread_apply_command): Update.
+ (thread_command): Account for currently selected exited thread.
+ (do_captured_thread_select): Check for a running thread. Prune
+ threads.
+ (_initialize_thread): Make "info threads", "thread", "thread
+ apply", and "thread apply all" appliable without a selected thread.
+ * gdbthread.h (struct thread_info): Replace running_ by state_.
+ Add refcount.
+ (is_exited, is_stopped): Declare.
+ (make_cleanup_restore_current_thread): Remove all arguments.
+ * infrun.c: Include "event-top.h".
+ (fetch_inferior_event): In non-stop mode, restore selected thread
+ and frame after handling the event and running breakpoint
+ commands. Display GDB prompt if needed.
+ (normal_stop): In non-stop mode, don't print thread switching
+ notice.
+ * cli/cli-decode.c (set_cmd_no_selected_thread_ok)
+ (get_cmd_no_selected_thread_ok): New.
+ * cli/cli-decode.h (CMD_NO_SELECTED_THREAD_OK): New.
+ (set_cmd_no_selected_thread_ok, get_cmd_no_selected_thread_ok):
+ Declare.
+ * cli/cli-cmds.c: Set "pwd", "help", "info", "show" as
+ no-selected-thread ok.
+ * top.c (execute_command): Check for non no-selected-thread-ok
+ commands.
+ * linux-nat.c (struct saved_ptids, threads_to_delete)
+ (record_dead_thread, prune_lwps): Delete.
+ (exit_lwp): Unconditionally delete thread.
+ (linux_nat_resume): Remove prune_lwps call.
+ * infcmd.c (proceed_thread_callback): Check if !is_stopped instead
+ of is_running. Adjust to make_cleanup_restore_current_thread
+ interface change.
+ * mi/mi-main.c (mi_cmd_execute): Only allow a few commands if the
+ selected thread has exited.
+ * inf-loop.c (inferior_event_handler): Don't display the prompt
+ here.
+ * varobj.c (c_value_of_root): Update.
+ * defs.h (make_cleanup_dtor): Declare.
+ * utils.c (make_cleanup_dtor): New.
+
+ * Makefile.in (infrun.o): Depend on $(event_top_h).
+
+2008-07-11 Pedro Alves <pedro@codesourcery.com>
+
+ Add "continue -a" and "interrupt -a" options for non-stop mode.
+
+ * infcmd.c (proceed_thread_callback, do_context_switch_to): New.
+ (continue_command): Add "-a" option.
+ (interrupt_target_command): Add "-a" option.
+ (_initialize_infcmd): Add extend help of continue and interrupt
+ command to mention the new "-a" option. Mark "continue" async ok.
+
+2008-07-10 Doug Evans <dje@google.com>
+
+ Add "set print symbol-loading on|off".
+ * NEWS: Document new option.
+ * symfile.h (print_symbol_loading): Declare.
+ * symfile.c (print_symbol_loading): New global.
+ (symbol_file_add_with_addrs_or_offsets): Only print "Reading symbols
+ from ..." if print_symbol_loading.
+ (_initialize_symfile): Add set/show print symbol-loading.
+ * solib.c (solib_read_symbols): Only print "Loaded symbols for ..."
+ if print_symbol_loading.
+
+2008-07-10 Pedro Alves <pedro@codesourcery.com>
+
+ Non-stop linux native.
+
+ * linux-nat.c (linux_test_for_tracefork): Block events while we're
+ here.
+ (get_pending_status): Implement non-stop mode.
+ (linux_nat_detach): Stop threads before detaching.
+ (linux_nat_resume): In non-stop mode, always resume only a single
+ PTID.
+ (linux_handle_extended_wait): On a clone event, in non-stop mode,
+ add new lwp to GDB's thread table, and mark as running, executing
+ and stopped appropriately.
+ (linux_nat_filter_event): Don't assume there are other running
+ threads when a thread exits.
+ (linux_nat_wait): Mark the main thread as running and executing.
+ In non-stop mode, don't stop all lwps.
+ (linux_nat_kill): Stop lwps before killing them.
+ (linux_nat_thread_alive): Use signal 0 to detect if a thread is
+ alive.
+ (send_sigint_callback): New.
+ (linux_nat_stop): New.
+ (linux_nat_add_target): Set to_stop to linux_nat_stop.
+
+ * linux-nat.h (thread_db_attach_lwp): Declare.
+
+ * linux-thread-db.c (thread_get_info_callback): Check for new
+ threads if we have none.
+ (thread_from_lwp, enable_thread_event): Set proc_handle.pid to the
+ stopped lwp. Check for new threads if we have none.
+ (thread_db_attach_lwp): New.
+ (thread_db_init): Set proc_handle.pid to inferior_ptid.
+ (check_event): Set proc_handle.pid to the stopped lwp.
+ (thread_db_find_new_threads): Set proc_handle.pid to any stopped
+ lwp available, bail out if there is none.
+
+ * linux-fork.c (linux_fork_killall): Use SIGKILL instead of
+ PTRACE_KILL.
+
+2008-07-10 Kevin Buettner <kevinb@redhat.com>
+
+ * rs6000-tdep.c (ppc_displaced_step_fixup): Change type of
+ `current_pc' from CORE_ADDR to ULONGEST.
+
+ * remote-sim.c (gdbsim_cntrl_c): Pass remote_sim_ptid to
+ gdbsim_stop().
+
+2008-07-10 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * NEWS (New commands): Mention "set disable-randomization".
+ * configure.ac: Add check for HAVE_PERSONALITY and
+ HAVE_DECL_ADDR_NO_RANDOMIZE.
+ * configure, config.in: Regenerate.
+ * linux-nat.c [HAVE_PERSONALITY]: New include <sys/personality.h>.
+ [HAVE_PERSONALITY] [!HAVE_DECL_ADDR_NO_RANDOMIZE]: Set
+ ADDR_NO_RANDOMIZE.
+ (disable_randomization, show_disable_randomization)
+ (set_disable_randomization): New.
+ (linux_nat_create_inferior) [HAVE_PERSONALITY]: New variables
+ PERSONALITY_ORIG and PERSONALITY_SET. Disable randomization upon the
+ variable DISABLE_RANDOMIZATION.
+ (_initialize_linux_nat): Call ADD_SETSHOW_BOOLEAN_CMD for the variable
+ DISABLE_RANDOMIZATION.
+
+2008-07-09 Pedro Alves <pedro@codesourcery.com>
+
+ Adjust all targets to new target_stop interface.
+
+ * gnu-nat.c (gnu_stop): Add ptid argument.
+ * go32-nat.c (go32_stop): Add ptid argument.
+ (go32_create_inferior): Pass inferior_ptid to go32_stop.
+ * hpux-thread.c (hpux_thread_stop): Add ptid argument.
+ * monitor.c (monitor_stop): Add ptid argument.
+ (monitor_open): Pass inferior_ptid to monitor_stop.
+ (monitor_interrupt): Pass inferior_ptid to target_stop.
+ (monitor_stop): Add ptid argument.
+ * nto-procfs.c (nto_interrupt): Pass inferior_ptid to target_stop.
+ (procfs_create_inferior): Add ptid argument.
+ * procfs.c (procfs_stop): Add ptid argument.
+ * remote-m32r-sdi.c (m32r_stop): Add ptid argument.
+ * remote-sim.c (gdbsim_stop): Add ptid argument.
+ * sol-thread.c (sol_thread_stop): Add ptid argument.
+ * win32-nat.c (win32_stop): Add ptid argument.
+
+2008-07-09 Pedro Alves <pedro@codesourcery.com>
+
+ Non-stop inferior control.
+
+ * infrun.c (resume): In non-stop mode, always resume just one
+ thread.
+ (proceed): Don't call prepare_to_proceed in non-stop mode.
+ (fetch_inferior_event): In non-stop mode, switch context before
+ handling the event.
+ (error_is_running, ensure_not_running): New.
+ (handle_inferior_event): In non-stop mode: Mark only the event
+ thread as stopped. Require that the target module manages adding
+ threads to the thread list. Assert that there isn't a
+ deferred_step_ptid set. Don't switch to infwait_thread_hop_state.
+ (normal_stop): Only mark not-running if inferior hasn't exited.
+ In non-stop mode, only mark the event thread.
+
+ * thread.c:Include "cli/cli-decode.h".
+ (print_thread_info): Don't read from a running thread.
+ Output "(running)" if thread is running.
+ (switch_to_thread): Don't read stop_pc if thread is executing.
+ (do_restore_current_thread_cleanup): Don't write to a running
+ thread.
+ (thread_apply_all_command): Don't read from a running thread. In
+ non-stop mode, do a full context-switch instead of just switching
+ threads.
+ (thread_apply_command): In non-stop mode, do a full context-switch
+ instead of just switching threads.
+ (do_captured_thread_select): Likewise. Inform user if selected
+ thread is running.
+ (_initialize_thread): Mark "info threads" and "thread" and
+ async_ok.
+
+ * inf-loop.c (inferior_event_handler): In non-stop mode, don't
+ unregister the target from the event loop.
+
+ * infcmd.c (continue_command, step_1, jump_command)
+ (signal_command): Ensure the selected thread isn't running.
+ (interrupt_target_command): In non-stop mode, interrupt only the
+ selected thread.
+
+ * inferior.h (error_is_running, ensure_not_running): Declare.
+
+ * target.h (struct target_ops): Add ptid argument to the to_stop
+ member.
+ (target_stop): Add ptid_t argument.
+
+ * target.c (update_current_target): Add ptid argument to to_stop's
+ type.
+ (debug_to_stop): Add ptid_t argument.
+ (debug_to_rcmd): Set to_stop_ptid.
+
+ * remote.c (remote_stop): Add ptid_t argument.
+ (async_remote_interrupt): Add inferior_ptid to target_stop.
+ * inf-ptrace.c (inf_ptrace_stop): Add ptid argument.
+
+ * Makefile.in (thread.o): Depend on $(cli_decode_h).
+
+2008-07-09 Pedro Alves <pedro@codesourcery.com>
+
+ Don't rely on ecs->wait_for_more.
+
+ * infrun.c (proceed): Clear the stepping state, set
+ previous_inferior_ptid and clear infwait state.
+ (wait_for_inferior): Don't clear the stepping state, set
+ previous_inferior_ptid, or clear the infwait state here.
+ (fetch_inferior_event): Don't clear the stepping state, set
+ previous_inferior_ptid, or clear the infwait state here. Don't
+ condition on wait_for_more.
+
+2008-07-09 Pedro Alves <pedro@codesourcery.com>
+
+ Refactor infrun a bit.
+
+ * infrun.c (currently_stepping): Take a struct
+ thread_stepping_state instead of an execution_control_state.
+ (struct thread_stepping_state): New, split from
+ execution_control_state.
+ (gtss, tss): New globals.
+ (proceed): Clear the stepping state, set previous_inferior_ptid
+ and clear infwait state.
+ (init_wait_for_inferior): Clear the stepping state,
+ previous_inferior_ptid and infwait state.
+ (waiton_ptid, infwait_state): New, split from
+ execution_control_state.
+ (struct execution_control_state): Members that persist through
+ events moved out to either struct thred_stepping_state or made
+ global. Deleted unneeded wp, saved_inferior_ptid, tmpstatus.
+ (wait_for_inferior, fetch_inferior_event): Use local
+ execution_control_state. Update to execution_control_state split.
+ (init_execution_control_state): Adjust.
+ (init_thread_stepping_state): New, extracted from
+ init_execution_control_state.
+ (context_switch): Take a ptid instead of an
+ execution_control_state.
+ (context_switch_to): Adjust.
+ (adjust_pc_after_break): Adjust.
+ (init_infwait_state): New.
+ (handle_inferior_event): Adjust.
+
+2008-07-09 Pedro Alves <pedro@codesourcery.com>
+ Vladimir Prus <vladimir@codesourcery.com>
+
+ Per-thread commands.
+
+ * gdbthread.h: Remove unneeded forward declarations.
+ Include "inferior.h".
+ (struct thread_info): Add continuations,
+ intermediate_continuations, proceed_to_finish, step_over_calls,
+ stop_step, step_multi and stop_signal members.
+ (save_infrun_state): Add continuations,
+ intermediate_continuations, proceed_to_finish, step_over_calls,
+ stop_step, step_multi, stop_signal and stop_bpstat parameters.
+ (load_infrun_state): Add continuations,
+ intermediate_continuations, proceed_to_finish, step_over_calls,
+ stop_step, step_multi, stop_signal and stop_bpstat parameters.
+
+ * thread.c (load_infrun_state): In non-stop mode, load
+ continuations, intermediate_continuations, proceed_to_finish,
+ step_over_calls, stop_step, step_multi and stop_signal.
+ (save_infrun_state): Store continuations,
+ intermediate_continuations, proceed_to_finish, step_over_calls,
+ stop_step, step_multi, stop_signal and stop_bpstat.
+ (save_infrun_state): Store continuations,
+ intermediate_continuations, proceed_to_finish, step_over_calls,
+ stop_step, step_multi, stop_signal and stop_bpstat.
+ (free_thread): Clear The thread's stop_bpstat.
+
+ * inferior.h (context_switch_to): Declare.
+
+ * infrun.c (ecss): New global.
+ (context_switch): Context switch continuations,
+ intermediate_continuations, proceed_to_finish, step_over_calls,
+ stop_step, step_multi, stop_signal and stop_bpstat.
+ (wait_for_inferior): Use global ecss.
+ (async_ecss, async_ecs): Delete.
+ (fetch_inferior_event): Use global ecss.
+ (context_switch_to): New.
+
+ * top.c (execute_command): In non-stop, only check if the current
+ thread is running, in all-stop, check if there's any thread
+ running.
+
+ * breakpoint.c (bpstat_remove_breakpoint): New.
+ (bpstat_remove_breakpoint_callback): New.
+ (delete_breakpoint): Clear the stop_bpstats of all threads.
+
+ * mi/mi-main.c (mi_cmd_execute): In non-stop, only check if the
+ current thread is running, in all-stop, check if there's any
+ thread running.
+
+ * Makefile.in (gdbthread_h): Depend on $(inferior_h).
+
+2008-07-09 Pedro Alves <pedro@codesourcery.com>
+
+ Add non_stop global.
+
+ * inferior.h (non_stop): Declare.
+ * infrun.c (non_stop, non_stop_1): New.
+ (set_non_stop, show_non_stop): New.
+ (_initialize_infrun): Add "set/show non-stop" command.
+
+2008-07-09 Pedro Alves <pedro@codesourcery.com>
+
+ Adjust fork/vfork/exec to pass ptids around.
+
+ * target.h (struct target_waitstatus): Store related_pid as a ptid.
+ (inferior_has_forked, inferior_has_vforked, inferior_has_execd):
+ Take a ptid_t.
+ * breakpoint.h (struct breakpoint): Change forked_inferior_pid
+ type to ptid.
+ * breakpoint.c (print_it_typical, bpstat_check_location)
+ (print_one_breakpoint_location, set_raw_breakpoint_without_location)
+ (create_fork_vfork_event_catchpoint): Adjust.
+ * infrun.c (fork_event): Change parent_pid and child_pid types to
+ ptid.
+ (follow_exec, inferior_has_forked, inferior_has_vforked)
+ (inferior_has_execd): Take a ptid_t and don't trim it.
+ * linux-thread-db.c (thread_db_wait): Don't trim the returned ptid.
+ * linux-nat.c (linux_child_follow_fork): Adjust.
+ * inf-ptrace.c (inf_ptrace_wait): Adjust.
+ * inf-ttrace.c (inf_ttrace_wait): Adjust.
+ * win32-nat.c (get_win32_debug_event): Don't set related_pid.
+
+2008-07-09 Pedro Alves <pedro@codesourcery.com>
+
+ Add "executing" property to threads.
+
+ * inferior.h (target_executing): Delete.
+ * gdbthread.h (struct thread_info): Add executing_ field.
+ (set_executing, is_executing): New.
+ * thread.c (main_thread_executing): New.
+ (init_thread_list): Clear it and also main_thread_running.
+ (is_running): Return false if target has no execution.
+ (any_running, is_executing, set_executing): New.
+
+ * top.c: Include "gdbthread.h".
+ (target_executing): Delete.
+ (execute_command): Replace target_executing check by any_running.
+ * event-top.c: Include "gdbthread.h".
+ (display_gdb_prompt, command_handler): Replace target_executing by
+ is_running.
+ * inf-loop.c: Include "gdbthread.h". Don't mark as not executing
+ here. Replace target_executing by is_running.
+ * infrun.c (handle_inferior_event): Mark all threads as
+ not-executing.
+ * linux-nat.c (linux_nat_resume): Don't mark thread as executing
+ here.
+ * stack.c (get_selected_block): Return null if inferior is
+ executing.
+ * target.c (target_resume): Mark resumed ptid as executing.
+ * breakpoint.c (until_break_command): Replace target_executing
+ check by is_executing.
+ * remote.c (remote_async_resume): Don't mark inferior as executing
+ here.
+ * mi/mi-interp.c (mi_cmd_interpreter_exec): Replace target_executing
+ by any_running.
+
+ * mi/mi-main.c (mi_cmd_exec_interrupt, mi_cmd_execute)
+ (mi_execute_async_cli_command): Replace target_executing by
+ is_running.
+
+ * frame.c (get_current_frame): Error out if the current thread is
+ executing.
+ (has_stack_frames): New.
+ (get_selected_frame, deprecated_safe_get_selected_frame): Check
+ has_stack_frames.
+
+ * Makefile.in (event-top.o, frame.o, inf-loop.o, top.o): Depend on
+ $(gdbthread_h).
+
+2008-07-09 Pedro Alves <pedro@codesourcery.com>
+
+ * symfile.c (load_command): Reopen the exec file and reread
+ symbols before anything else.
+
+2008-07-09 Pedro Alves <pedro@codesourcery.com>
+
+ * remote-sim.c: Include gdbthread.h.
+ (remote_sim_ptid): New global.
+ (gdbsim_create_inferior): Silently add the main task to GDB's
+ thread list.
+ (gdbsim_close, gdbsim_mourn_inferior): Silently delete the main
+ task from GDB's thread list.
+ (gdbsim_resume): Adjust to use remote_sim_ptid.
+ (gdbsim_thread_alive, gdbsim_pid_to_str): New.
+ (init_gdbsim_ops): Register gdbsim_thread_alive and
+ gdbsim_pid_to_str.
+ (_initialize_remote_sim): Initialize remote_sim_ptid.
+ * Makefile.in (remote-sim.o): Depend on $(gdbthread_h).
+
+2008-07-09 Pedro Alves <pedro@codesourcery.com>
+
+ * monitor (monitor_ptid): New global.
+ (monitor_open): Silently add the main task to GDB's thread list.
+ (monitor_close, monitor_mourn_inferior): Silently delete the main
+ task from GDB's thread list.
+ (monitor_thread_alive, monitor_pid_to_str): New.
+ (init_base_monitor_ops): Register monitor_thread_alive and
+ monitor_pid_to_str.
+ (_initialize_remote_monitors): Initialize monitor_ptid.
+
+ * gdbthread.h (delete_thread_silent): Declare.
+ * thread.c (delete_thread): Rename to ...
+ (delete_thread_1): ... this. Add "silent" parameter. If silent,
+ don't do exit notifications.
+ (delete_thread, delete_thread_silent): New, as wrappers to
+ delete_thread_1.
+
+2008-07-08 Pedro Alves <pedro@codesourcery.com>
+
+ * breakpoint.c (update_global_location_list): Add boolean
+ "should_insert" argument. Only insert locations if caller told it
+ too.
+ (update_global_location_list_nothrow): Add boolean "should_insert"
+ argument. Pass it to update_global_location_list.
+ (insert_breakpoints, create_longjmp_breakpoint)
+ (create_overlay_event_breakpoint, enable_overlay_breakpoints)
+ (create_thread_event_breakpoint, create_solib_event_breakpoint)
+ (create_fork_vfork_event_catchpoint, create_exec_event_catchpoint)
+ (enable_watchpoints_after_interactive_call_stop)
+ (set_momentary_breakpoint, create_breakpoints)
+ (break_command_really, watch_command_1)
+ (create_ada_exception_breakpoint, update_breakpoint_locations)
+ (do_enable_breakpoint, enable_command): Pass true to
+ update_global_location_list.
+ (bpstat_stop_status, disable_overlay_breakpoints)
+ (disable_watchpoints_before_interactive_call_start)
+ (delete_breakpoint, disable_breakpoint, disable_command): Pass
+ false to update_global_location_list.
+ (update_breakpoints_after_exec): Don't temporarily disable
+ always-inserted mode.
+
+2008-07-08 Pedro Alves <pedro@codesourcery.com>
+
+ * breakpoint.c (mark_breakpoints_out): Make public.
+ (update_breakpoints_after_exec): Don't call mark_breakpoints_out
+ here. Update comment.
+ * breakpoint.h (mark_breakpoints_out): Declare.
+
+ * linux-nat.c (linux_handle_extended_wait): On
+ TARGET_WAITKIND_EXECD, call mark_breakpoints_out.
+ * inf-ttrace.c (inf_ttrace_wait): Likewise.
+
+2008-07-08 Pedro Alves <pedro@codesourcery.com>
+
+ * infrun.c (follow_exec): Reset shared libraries before adding the
+ main exec file.
+
+2008-07-07 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * breakpoint.c (bpstat_copy): Call RELEASE_VALUE on the new OLD_VAL.
+
+2008-07-07 Pedro Alves <pedro@codesourcery.com>
+
+ * i386-dicos-tdep.c: Include "inferior.h".
+ (i386_dicos_frame_align): New.
+ (i386_dicos_init_abi): Register i386_dicos_frame_align. Set call
+ dummy location ON_STACK.
+ * Makefile.in (i386-dicos-tdep.o): Depend on $(inferior_h).
+
+2008-07-07 Joel Brobecker <brobecker@adacore.com>
+
+ * gstdint.h: New file.
+
+2008-07-05 Vladimir Prus <vladimir@codesourcery.com>
+
+ * mi/mi-interp.c (mi_on_resume): Don't try to report
+ resumed thread it the thread list is empty.
+
+2008-07-05 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * cli/cli-decode.c (add_setshow_optional_filename_cmd): Set
+ completer for set to filename_completer.
+
+ NEWS: Mention it.
+
+2008-07-04 Vladimir Prus <vladimir@codesourcery.com>
+
+ Implement -target-attach.
+ * mi/mi-cmds.c (mi_cmds): Forward -target-attach to CLI attach.
+
+2008-06-21 Hui Zhu <teawater@gmail.com>
+
+ * target-descriptions.c (maint_print_c_tdesc_cmd): Fix a memory leak.
+
2008-07-03 Pedro Alves <pedro@codesourcery.com>
* config/i386/nm-cygwin.h (ATTACH_NO_WAIT): Delete.
(default_target_signal_to_host, default_target_signal_from_host): New
functions.
+2008-05-01 Daniel Jacobowitz <dan@codesourcery.com>
+ Pedro Alves <pedro@codesourcery.com>
+
+ Based on work by Jan Kratochvil <jan.kratochvil@redhat.com> and Jeff
+ Johnston <jjohnstn@redhat.com>.
+
+ * NEWS: Mention attach to stopped process fix.
+ * infcmd.c (detach_command, disconnect_command): Discard the thread
+ list.
+ * infrun.c (handle_inferior_event): Do not ignore non-SIGSTOP while
+ attaching. Use signal_stop_state.
+ (signal_stop_state): Check stop_soon.
+ * linux-nat.c (kill_lwp): Declare earlier.
+ (pid_is_stopped, linux_nat_post_attach_wait): New.
+ (lin_lwp_attach_lwp): Use linux_nat_post_attach_wait. Update
+ comments.
+ (linux_nat_attach): Use linux_nat_post_attach_wait.
+ (detach_callback, linux_nat_detach): Improve handling for signalled
+ processes.
+ (linux_nat_pid_to_str): Always print out the LWP ID if it differs
+ from the process ID.
+ * Makefile.in (infcmd.o): Update.
+
2008-05-01 Daniel Jacobowitz <dan@codesourcery.com>
* arm-linux-tdep.h (ARM_CPSR_REGNUM): Delete definition.