+2008-03-26 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * objfiles.h (struct objfile): New GDBARCH member.
+ (get_objfile_arch): Add prototype.
+ * objfiles.c: Include "arch-utils.h".
+ (allocate_objfile): Look up gdbarch associated with bfd.
+ (get_objfile_arch): New function.
+ * Makefile (objfiles.o): Update dependencies.
+
+ * dwarf2-frame.c (decode_frame_entry_1): Replace current_gdbarch
+ by objfile arch.
+ * dwarf2loc.c (dwarf_expr_read_reg): Replace current_gdbarch
+ by frame arch.
+ (locexpr_describe_location): Replace current_gdbarch by
+ objfile arch.
+ * dwarf2read.c (die_type): Replace current_gdbarch by objfile arch.
+ (dwarf2_add_field): Likewise.
+ (read_tag_pointer_type): Likewise.
+ (read_base_type): Likewise.
+ (new_symbol): Likewise.
+
+ * coffread.c (decode_type): Add OBJFILE argument. Update callers.
+ (decode_base_type, decode_function_type): Likewise.
+ (coff_read_struct_type, coff_read_enum_type): Likewise.
+ (coff_symtab_read): Replace current_gdbarch by objfile arch.
+ (decode_base_type): Likewise.
+ (coff_read_enum_type): Likewise.
+ (coff_read_struct_type): Replace current_objfile by OBJFILE argument.
+ (coff_read_enum_type): Likewise.
+
+ * dbxread.c (read_dbx_symtab): Replace current_gdbarch by objfile arch.
+ (end_psymtab): Likewise.
+ (process_one_symbol): Likewise.
+
+ * mdebugread.c (parse_symbol): Replace current_gdbarch by objfile arch.
+ (parse_procedure): Likewise.
+ (parse_partial_symbols): Likewise.
+
+ * somread.c (som_symtab_read): Replace current_gdbarch by objfile arch.
+
+ * stabsread.c (define_symbol): Replace current_gdbarch by objfile arch.
+ Replace static pcc_promotion_type and pcc_unsigned_promotion_type by
+ built-in types.
+ (read_range_type): Replace current_gdbarch by objfile arch. Replace
+ static range_index_type by built-in type.
+ (read_one_struct_field): Replace current_gdbarch by objfile arch.
+ (read_enum_type): Likewise.
+
+ * xcoffread.c (read_xcoff_symtab): Replace current_gdbarch by
+ objfile arch.
+
+2008-03-26 Vladimir Prus <vladimir@codesourcery.com>
+
+ * varobj.h (varobj_floating_p): Declare.
+ * varobj.c (varobj_floating_p): New.
+ * mi/mi-cmd-var.c (mi_cmd_var_update): When passed
+ '@' as the name, update all floating varobjs.
+
+2008-03-26 Vladimir Prus <vladimir@codesourcery.com>
+
+ * varobj.c (struct varobj_root): Rename use_selected_frame to
+ floating, and clarify the meaning.
+ (varobj_create, varobj_update, new_root_variable): Adjust.
+ (value_of_root): Don't use type_changed as in variable,
+ adjust comment.
+ (c_value_of_root): Adjust.
+
+2008-03-25 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (linux_nat_attach): Add the pid we attached to, to
+ gdb's thread list.
+ (linux_nat_wait): Add main lwp to gdb's thread list.
+ * linux-thread-db.c (find_new_threads_callback): Also attach to
+ already listed threads which thread_db didn't know about yet.
+
+2008-03-25 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (drain_queued_events): Fix comment typo.
+ (linux_nat_attach): In async mode, don't rely on storing a pending
+ status. Instead place the wait status on the pipe.
+ (linux_nat_resume): Remove unreacheable shortcut code in async
+ mode.
+ (stop_wait_callback): In async mode, don't store pending status.
+ Instead, cancel breakpoints or resend the signal appropriatelly.
+ (cancel_breakpoint): New, refactored from
+ cancel_breakpoints_callback.
+ (cancel_breakpoints_callback): Call cancel_breakpoint.
+ (pipe_to_local_event_queue): Remove special token processing.
+ (linux_nat_wait): Issue an internal error if a pending status is
+ found in async mode.
+
+2008-03-24 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * inflow.c (gdb_has_a_terminal): Guard access to our_process_group.
+
+2008-03-24 Nick Roberts <nickrob@snap.net.nz>
+ Vladimir Prus <vladimir@codesourcery.com>
+
+ * varobj.c (struct varobj_root): New component thread_id.
+ (varobj_get_thread_id, check_scope): New functions.
+ (c_value_of_root): Use check_scope. Switch to the
+ proper thread if necessary.
+
+ * varobj.h (varobj_get_thread_id): New extern.
+
+ * mi/mi-cmd-var.c (print_varobj): Add thread-id field.
+
+2008-03-23 Daniel Jacobowitz <dan@codesourcery.com>
+
+ PR gdb/544
+ * top.c: Revert 2008-03-21 changes.
+
+2008-03-23 Vladimir Prus <vladimir@codesourcery.com>
+
+ * thread.c (make_cleanup_restore_current_thread): Make it
+ globally visible.
+ * gdbthread.h (make_cleanup_restore_current_thread): Declare.
+ * varobj.c (varobj_update): Don't save/restore frame.
+ (c_value_of_root): Save/restore thread and frame here,
+ using make_cleanup_restore_current_thread.
+ * Makefile.in: Update dependecies.
+
+2008-03-23 Vladimir Prus <vladimir@codesourcery.com>
+
+ * varobj.c (struct varobj_root): Clarify
+ comment on the frame field.
+ (varobj_create): Don't set frame if we have no
+ block.
+
+2008-03-21 Daniel Jacobowitz <dan@codesourcery.com>
+
+ PR gdb/544
+ Suggested by Jan Kratochvil:
+ * top.c (gdb_rl_operate_and_get_next_completion): Call
+ rl_redisplay_function.
+ (gdb_rl_redisplay): New.
+ (init_main): Set rl_redisplay_function.
+
+2008-03-21 Thomas Mittelstaedt <T.Mittelstaedt@cadenas.de> (tiny change)
+
+ * aix-thread.c (pdc_read_regs): Fix compiler warning.
+ (pdc_write_regs, aix_thread_resume, fetch_regs_kernel_thread)
+ (store_regs_kernel_thread): Likewise.
+
+2008-03-21 Pedro Alves <pedro@codesourcery.com>
+
+ Linux native async support.
+
+ * target.h (struct target_ops): Delete to_async_mask_value and add
+ to_async_mask.
+ (target_is_async_p, target_async): Formatting.
+ (target_async_mask_value): Delete.
+ (target_async_mask): Delete function declaration, and add new
+ target macro with the same name.
+
+ * target.c (update_current_target): Replace to_async_mask_value by
+ to_async_mask. Default to_async_mask to return_one.
+ (target_async_mask): Delete.
+ (find_default_can_async_p, find_default_is_async_p): New.
+ (init_dummy_target): register find_default_can_async_p and
+ find_default_is_async_p on the dummy target.
+
+ * linux-nat.c: Include inf-loop.h, event-loop.h and event-top.h.
+ (debug_linux_nat_async): New global.
+ (show_debug_linux_nat_async): New function.
+ (linux_nat_async_enabled, linux_nat_async_mask_value)
+ (linux_nat_event_pipe, linux_nat_num_queued_events)
+ (linux_nat_async_events_enabled): New globals.
+ (struct waitpid_result): New struct.
+ (waitpid_queue): New global.
+ (queued_waitpid, push_waitpid, drain_queued_events): New.
+ (my_waitpid): Call queued_waitpid.
+ (linux_child_follow_fork): Disable async events during the call.
+ (blocked_mask): Delete.
+ (sync_sigchld_action, async_sigchld_action): New globals.
+ (lin_lwp_attach_lwp): In sync mode, don't reblock SIGCHLD. In
+ async mode, block events during the call.
+ (linux_nat_create_inferior): New.
+ (linux_nat_attach): In sync mode, restore the mask states. In
+ async mode, wake the event loop immediatelly.
+ (detach_callback): Drain all queued events of the lwp we're
+ detaching from.
+ (linux_nat_detach): Block async mode, and drain events of the main
+ process.
+ (linux_nat_resume): If in async mode, mask async events during the
+ call. If short circuiting, force event loop to wake up. If
+ resuming, set target_executing, and register target events in the
+ event loop.
+ (pipe_to_local_event_queue, local_event_queue_to_pipe): New.
+ (linux_nat_wait): In async mode, block events during the call.
+ Only enable/disable passing SIGINT to the inferior in sync mode.
+ Get events from local waitpid queue. If no interesting events was
+ found, return to events loop. Reregister target events in the
+ event loop on exit. In sync mode, no need to reblock SIGCHLD.
+ (linux_nat_kill): Disable events on entry.
+ (linux_nat_mourn_inferior): In sync mode, don't restore the masks
+ here. Detach async mode from the event loop if there are no more
+ forks available, otherwise leave it on.
+ (sigchld_handler): Assure this is called only in sync mode.
+ (linux_async_permitted, linux_async_permitted_1): New globals.
+ (set_maintenance_linux_async_permitted)
+ (show_maintenance_linux_async_permitted): New functions.
+ (linux_nat_is_async_p, linux_nat_can_async_p)
+ (linux_nat_async_mask): New.
+ (linux_nat_event_pipe_pop, linux_nat_event_pipe_push): New.
+ (get_pending_events, async_sigchld_handler): New.
+ (linux_nat_async_events): New.
+ (async_terminal_is_ours): New global.
+ (linux_nat_terminal_inferior, linux_nat_terminal_ours): New.
+ (async_client_callback, async_client_context): New.
+ (linux_nat_async_file_handler, linux_nat_async)
+ (linux_nat_disable_async, linux_nat_enable_async): New.
+ (linux_nat_add_target): Register linux_nat_create_inferior,
+ linux_nat_can_async_p, linux_nat_is_async_p, linux_nat_async,
+ linux_nat_async_mask, linux_nat_terminal_inferior and
+ linux_nat_terminal_ours.
+ (_initialize_linux_nat): Remove local action variable, and update
+ code that used it to use sync_sigchld_action. Add new
+ "lin-lwp-async" debug set/show command. Put the "lin-lwp" debug
+ set/show command in the maintenance class. Add new "linux-async"
+ maintenance set/show command. Block SIGCHLD by default. Setup
+ async_sichld_action, and sync_sigchld_action. Install the default
+ async mode.
+ (lin_thread_get_thread_signals): Use a local sigset_t for blocking
+ the cancel signals.
+
+ * linux-thread-db.c (re_check_for_thread_db): New.
+ (clear_lwpid_callback): Handle TARGET_WAITKIND_IGNORE.
+ (thread_db_can_async_p, thread_db_is_async_p, thread_db_async)
+ (thread_db_async_mask): New.
+ (init_thread_db_ops): Register thread_db_can_async_p,
+ thread_db_is_async_p, thread_db_async and thread_db_async_mask.
+
+ * remote.c (remote_async_mask_value): New.
+ (remote_return_zero): New.
+ (init_remote_ops): Register remote_return_zero as callbacks of
+ to_can_async_p and to_is_async_p.
+ (remote_can_async_p, remote_is_async_p, remote_async): Update to
+ use remote_async_mask_value.
+ (remote_async_mask): New.
+ (init_remote_async_ops): Remove to_async_mask_value setting and
+ register remote_async_mask as to_async_mask callback in
+ remote_async_ops.
+
+ * Makefile.in (linux-nat.o): Update.
+
+2008-03-21 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * gdbthread.h (add_thread_with_info): New.
+ * linux-thread-db.c: Add some documentation.
+ (GET_LWP, GET_PID, GET_THREAD, is_lwp, is_thread, BUILD_LWP): Delete.
+ (struct private_thread_info): Remove th_valid and ti_valid.
+ Replace ti with tid.
+ (thread_get_info_callback): Do not add TID to the new ptid. Do
+ not cache th or ti.
+ (thread_db_map_id2thr, lwp_from_thread): Delete functions.
+ (thread_from_lwp): Assert that the LWP is set. Do not add TID to the
+ new PTID.
+ (attach_thread): Handle an already-existing thread. Use
+ add_thread_with_info. Cache the th and tid.
+ (detach_thread): Verify that private was set. Remove verbose
+ argument and printing. Update caller.
+ (thread_db_detach): Do not adjust inferior_ptid.
+ (clear_lwpid_callback, thread_db_resume, thread_db_kill): Delete.
+ (check_event, find_new_threads_callback): Do not add TID to the new PTID.
+ (thread_db_wait): Do not use lwp_from_thread.
+ (thread_db_pid_to_str): Use the cached TID.
+ (thread_db_extra_thread_info): Check that private is set.
+ (same_ptid_callback): Delete.
+ (thread_db_get_thread_local_address): Do not use it or check
+ is_thread. Check that private is set. Assume that the thread
+ handle is already cached.
+ (init_thread_db_ops): Remove to_resume and to_kill.
+ * thread.c (add_thread_with_info): New.
+ (add_thread): Use it.
+ * linux-nat.c (find_thread_from_lwp): Delete.
+ (exit_lwp): Do not use it. Check print_thread_events. Print before
+ deleting the thread.
+ (GET_PID, GET_LWP, BUILD_LWP, is_lwp): Move to...
+ * linux-nat.h (GET_PID, GET_LWP, BUILD_LWP, is_lwp): ...here.
+ * inf-ttrace.c (inf_ttrace_wait): Use print_thread_events and
+ printf_unfiltered for thread exits.
+ * procfs.c (procfs_wait): Likewise.
+
+2008-03-21 Chris Demetriou <cgd@google.com>
+
+ * symtab.c (rbreak_command): Quote symbol name before passing
+ it to break_command.
+
+2008-03-21 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * eval.c (evaluate_subexp_for_address): Clarify error message.
+ Use value_must_coerce_to_target.
+ * infcall.c (value_arg_coerce): Call value_coerce_to_target.
+ * valops.c (value_assign): Call value_coerce_to_target when
+ assigning to anything but internalvars. Leave GDB-side arrays
+ as arrays when assigning to internalvars.
+ (value_must_coerce_to_target, value_coerce_to_target): New.
+ (value_coerce_array, value_addr): Call value_coerce_to_target.
+ (value_array): Create the array in GDB's memory instead of
+ the inferior's.
+ * value.h (value_must_coerce_to_target, value_coerce_to_target):
+ Declare.
+
+2008-03-21 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * top.c (quit_confirm): Warn that we will kill the program.
+
+2008-03-19 Pedro Alves <pedro@codesourcery.com>
+
+ * inflow.c (terminal_ours_1): Guard access to
+ inferior_process_group with #ifdef PROCESS_GROUP_TYPE.
+
+2008-03-18 Ulrich Weigand <uweigand@de.ibm.com>
+ Jim Blandy <jimb@codesourcery.com>
+ Daniel Jacobowitz <drow@false.org>
+
+ * dwarf2expr.h (struct dwarf_expr_context): Add ADDR_SIZE member.
+ (dwarf2_read_address): Update prototype.
+
+ * dwarf2expr.c (unsigned_address_type): Add ADDR_SIZE parameter.
+ (signed_address_type): Likewise.
+ (dwarf2_read_address): Replace BYTES_READ parameter with ADDR_SIZE.
+ (execute_stack_op): Update calls to unsigned_address_type,
+ signed_address_type and dwarf2_read_address. Fix implementation
+ of DW_OP_deref_size.
+
+ * dwarf2loc.h (dwarf2_per_cu_objfile): Add prototype.
+ (dwarf2_per_cu_addr_size): Likewise.
+ (struct dwarf2_locexpr_baton): Replace OBJFILE with PER_CU.
+ (struct dwarf2_loclist_baton): Likewise.
+
+ * dwarf2loc.c (find_location_expression): Update calls to
+ dwarf2_read_address. Use dwarf2_per_cu_objfile and
+ dwarf2_per_cu_addr_size to retrieve PER_CU parameters.
+ (locexpr_describe_location): Likewise.
+ (dwarf2_evaluate_loc_desc): Replace OBJFILE with PER_CU parameter.
+ Set ctx->addr_size to dwarf2_per_cu_addr_size (per_cu).
+ (dwarf2_loc_desc_needs_frame): Add PER_CU parameter. Set ctx->addr_size
+ to dwarf2_per_cu_addr_size (per_cu).
+ (locexpr_read_variable): Update dwarf2_evaluate_loc_desc call.
+ (loclist_read_variable): Likewise.
+ (locexpr_read_needs_frame): Update dwarf2_loc_desc_needs_frame call.
+
+ * dwarf2read.c (dwarf2_symbol_mark_computed): Set baton->per_cu
+ instead of baton->objfile.
+ (dwarf2_per_cu_obfile): New function.
+ (dwarf2_per_cu_addr_size): Likewise.
+
+ * dwarf2-frame.c (struct comp_unit): Move higher.
+ (struct dwarf2_cie): Add UNIT and ADDR_SIZE members.
+ (execute_stack_op): Add ADDR_SIZE parameter; set ctx->addr_size.
+ (execute_cfa_program): Add FDE parameter. Replace EH_FRAME_P
+ parameter by using fde->eh_frame_p. Use read_encoded_value
+ to implement DW_CFA_set_loc.
+ (struct dwarf2_frame_cache): Add ADDR_SIZE member.
+ (dwarf2_frame_cache): Set cache->addr_size. Update calls to
+ execute_stack_op and execute_cfa_program.
+ (dwarf2_frame_prev_register): Update calls to execute_stack_op.
+ (size_of_encoded_value): Remove.
+ (read_encoded_value): Add PTR_LEN and FUNC_BASE parameters.
+ Remove call to size_of_encoded_value. Implement DW_EH_PE_funcrel.
+ (add_cie): Set cie->unit backlink.
+ (decode_frame_entry_1): Set cie->addr_size. Update calls to
+ read_encoded_value.
+ (dwarf2_build_frame_info): Allocate UNIT on objfile obstack.
+
+2008-03-17 Markus Deuling <deuling@de.ibm.com>
+
+ * i386-tdep.c (i386_print_insn): Remove unnecessary call to
+ gdbarch_bfd_arch_info.
+
+2008-03-17 Joel Brobecker <brobecker@adacore.com>
+
+ * aix-thread.c (pdc_read_regs): Minor reformatting.
+
+2008-03-17 Vladimir Prus <vladimir@codesourcery.com>
+
+ * thread.c (print_thread_info): Don't insist
+ on having current thread if there are no
+ threads at all.
+
+2008-03-17 Pedro Alves <pedro@codesourcery.com>
+
+ * infcmd.c (attach_command_post_wait)
+ (attach_command_continuation): New.
+ (attach_command): Support background async execution, and async
+ execution in synchronous mode.
+
+2008-03-17 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * stack.c (print_stack_frame, print_frame): Use RETURN_MASK_ERROR.
+ * symmisc.c (dump_symtab_1): Likewise.
+ * wrapper.c (gdb_value_struct_elt): Likewise.
+
+2008-03-17 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (linux_nat_filter_event): Fix comment typo.
+
+2008-03-17 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (linux_nat_filter_event): New, refactored from
+ linux_nat_wait.
+ (linux_nat_wait): Call linux_nat_filter_event.
+
+2008-03-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * top.c (execute_command): Fix uninitialized variable error.
+
+2008-03-16 Nick Hudson <nick.hudson@dsl.pipex.com>
+
+ * Makefile.in (amd64nbsd-nat.o): New dependency.
+ * amd64nbsd-nat.c: Include "nbsd-nat.h".
+ (_initialize_amd64nbsd_nat): Update target vector to use
+ nbsd_pid_to_exec_file.
+ * config/i386/nbsd64.mh (NATDEPFILES): Add nbsd-nat.o.
+
+2008-03-15 Vladimir Prus <vladimir@codesourcery.com>
+
+ Remove ignoring leading exec events code.
+ * fork-child.c (startup_inferior): Do not set
+ inferior_ignoring_leading_exec_events.
+ * inf-child.c (inf_child_reported_exec_events_per_exec_call): Remove.
+ (inf_child_target): Do not set to_reported_exec_events_per_exec_call.
+ * infrun.c (inferior_ignoring_leading_exec_events): Remove.
+ (handle_inferior_event): Remove code for ignoring leading exec
+ events.
+ * target.c (update_current_target): Do not inherit, or default,
+ to_reported_exec_events_per_exec_call.
+ (debug_to_reported_exec_events_per_exec_call): Remove.
+ (setup_target_debug): Do not set to_reported_exec_events_per_exec_call.
+ * target.h (target_reported_exec_events_per_exec_call): Remove.
+ (struct target): Remove the to_reported_exec_events_per_exec_call
+ field.
+
+2008-03-15 Vladimir Prus <vladimir@codesourcery.com>
+
+ Implement -thread-info.
+ * gdbthread.h (print_thread_info): Declare.
+
+ * thread.c (print_thread_info): New, extracted
+ from info_threads_command and adjusted to
+ work for CLI and MI.
+ (info_threads_command): Use print_thread_info.
+ * Makefile.in: Update dependencies.
+
+ * mi/mi-cmds.c (mi_cmds): Specify a handler
+ for -thread-info.
+ * mi/mi-cmds.h (mi_cmd_thread_info): Declare.
+ * mi/mi-main.c (mi_cmd_thread_info): New.
+ (mi_cmd_list_features): Include 'thread-info'.
+
+2008-03-14 Kevin Buettner <kevinb@redhat.com>
+
+ * mips-tdep.c (mips32_scan_prologue): Use the ABI register size
+ to decide whether to match instruction patterns using "sw" and "sd".
+
+2008-03-14 Pedro Alves <pedro@codesourcery.com>
+
+ * infcmd.c (jump_command): Postpone disabling stdin until after
+ the possible query.
+
+2008-03-14 Pedro Alves <pedro@codesourcery.com>
+
+ * inflow.c (gdb_getpgrp): New.
+ (gdb_has_a_terminal): Use get_getpgrp.
+ (terminal_ours_1): If attach_flag is set, don't refetch
+ inferior_process_group.
+
+2008-03-14 Pedro Alves <pedro@codesourcery.com>
+
+ * features/library-list.dtd: Allow "section" elements as children
+ of "library". Add "section" element and describe its attributes.
+
+ * solib-target.c (struct lm_info): Add section_bases member.
+ (library_list_start_segment): Error out if seen a section element.
+ (library_list_start_section): New.
+ (library_list_end_library): New.
+ (solib_target_free_library_list): Free section_bases.
+ (section_attributes): New.
+ (library_children): Make "segment" optional. Add "section" child.
+ (library_list_children): Register library_list_end_library.
+ (solib_target_relocate_section_addresses): Handle section bases.
+
+ * NEWS: Mention new qXfer:libraries:read section offsets support.
+
+2008-03-14 Vladimir Prus <vladimir@codesourcery.com>
+
+ * defs.h (do_exec_error_cleanups, discard_exec_error_cleanups)
+ (make_exec_error_cleanup): Remove declarations.
+ * utils.c (exec_error_cleanup_chain): Remove.
+ (do_exec_error_cleanups, discard_exec_error_cleanups)
+ (make_exec_error_cleanup): Remove.
+ * event-loop.c (start_event_loop): Adjust call to
+ async_enable_stdin.
+ * event-top.c (async_enable_stdin): Remove the paramater dummy.
+ (async_disable_stdin): Don't register async_enable_stdin via
+ cleanup.
+ * inf-loop.c (inferior_event_handler): Don't
+ call do_exec_error_cleanups. Call async_enable_stdin instead.
+ * event-loop.c (start_event_loop): Adjust call to
+ async_enable_stdin.
+ * tui/tui-interp.c (tui_command_loop): Adjust call to
+ async_enable_stdin.
+
+2008-03-14 Vladimir Prus <vladimir@codesourcery.com>
+
+ Async mode fixes.
+ * Makefile.in (infcmd.o, inf-loop.o): Update dependencies.
+ * breakpoint.c (bpstat_do_actions): In async mode,
+ don't jump to top expecting stop_bpstat to be already
+ updated.
+ * event-loop.c (start_event_loop): Call async_enable_stdin
+ on exception.
+ * event-top.c (async_enable_stdin): Do nothing if sync_execution
+ is not set.
+ (command_handler): Do not setup continuation here.
+ (command_line_handler_continuation): Move to...
+ * top.c (command_line_handler_continuation): ... here.
+ (execute_command): In async mode, register continuation.
+ Don't check frame's language in running in async mode.
+ * exceptions.c (throw_exception): Don't do exec_error_cleanups.
+ * inf-loop.c (complete_execution): Inline into...
+ (inferior_event_handler): ... here. Clear target_executing before
+ doing any cleanups. Don't try to show prompt if the target was
+ resumed.
+ * infcmd.c (signal_command): Add support for async mode.
+ (finish_command): Only add continuation if the target was
+ successfully resumed.
+ * remote.c (init_async_opts): Register to_get_thread_local_address
+ handler.
+ * mi/mi-interp.c (mi_cmd_interpreter_exec): Don't mess
+ with sync_execution.
+ * tui/tui-interp.c (tui_command_loop): Call async_enable_stdin
+ on exception.
+
+2008-03-14 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * corefile.c (reopen_exec_file): Use exec_bfd_mtime.
+ * exec.c (exec_bfd_mtime): Define.
+ (exec_close): Clear it.
+ (exec_file_attach): Set it.
+ * gdbcore.h (exec_bfd_mtime): Declare.
+ * source.c (find_source_lines): Do not use bfd_get_mtime.
+
+2008-03-14 Vladimir Prus <vladimir@codesourcery.com>
+
+ * top.c (simplified_command_loop): Remove.
+
+2008-03-14 Vladimir Prus <vladimir@codesourcery.com>
+
+ Remove unused remote.c hooks.
+ * remote.c (deprecated_target_resume_hook)
+ (deprecated_target_wait_loop_hook): Remove.
+ (remote_resume): Do not call deprecated_target_resume_hook.
+ (remote_wait): Do not call deprecated_target_wait_loop_hook.
+ (remote_async_wait): Likewise.
+
+2008-03-14 Vladimir Prus <vladimir@codesourcery.com>
+
+ Implement MI notification for new threads.
+ * doc/observer.texi (new_thread): Document.
+ * observer.sh: Forward declare struct thread_info.
+ * thread.c (add_thread): Notify observer.
+
+ * interps.h (interp_init_ftype): New parameter
+ top_level.
+ (interp_set): Likewise.
+ (top_level_interpreter_data): Declare.
+ * interps.c (interp_set): New parameter top_level.
+ Pass it to interpreter's init function. Remember
+ top level interpreter.
+ (interpreter_exec_cmd): Adjust.
+ (top_level_interpreter_data): New.
+ * main.c (captured_main): Pass 1 for top_level
+ parameter of interp_set.
+ * cli/cli-interp.c (cli_interpreter_init): New
+ parameter top_level.
+ * tui/tui-interp.c (tui_init): New parameter top_level.
+
+ * mi/mi-interp.c (mi_new_thread): New.
+ (mi_interpreter_init): If top level, register
+ observer for new threads.
+
+ * Makefile.in (mi-interp.o, thread.o): Update dependencies.
+
+2008-03-14 Pedro Alves <pedro@codesourcery.com>
+
+ * top.c (execute_command): Disable break and stop
+ commands in async mode.
+
+2008-03-14 Pedro Alves <pedro@codesourcery.com>
+
+ revert:
+ 2008-03-14 Pedro Alves <pedro@codesourcery.com>
+ * inf-loop.c (inferior_event_handler): Don't include remote.h.
+ Call target_stop in the INF_QUIT_REQ case.
+ * Makefile.in (inf-loop.o): Update.
+
2008-03-14 Pedro Alves <pedro@codesourcery.com>
* inf-loop.c (inferior_event_handler): Don't include remote.h.