+2008-04-19 Vladimir Prus <vladimir@codesourcery.com>
+
+ * varobj.c (varobj_invalidate): Don't touch floating
+ varobjs.
+
+2008-04-19 Mark Kettenis <kettenis@gnu.org>
+
+ * symtab.c: (multiple_symbols_modes, multiple_symbols_ask)
+ (multiple_symbols_cancel): Remove extra const.
+ * symtab.h: Likewise.
+
+2008-04-19 Nick Roberts <nickrob@snap.net.nz>
+
+ * interps.c (top_level_interpreter): Rename static variable...
+ (top_level_interpreter_ptr): ...to this.
+ (top_level_interpreter): New function.
+
+ * interps.h: New extern for top_level_interpreter.
+
+ * linespec.c: Include interps.h and mi/mi-cmds.h.
+ (decode_line_2): When using MI, always set all breakpoints in menu.
+
+ * Makefile.in (linespec.o, mi-interp.o): Add dependencies.
+
+2008-04-18 Craig Silverstein <csilvers@google.com>
+
+ * configure.ac (AC_SEARCH_LIBS): Add check for zlib.
+ * config.in, configure: Regenerate.
+ * dwarf2read.c: Include zlib.h if present.
+ Modified *_SECTION macros.
+ (section_is_p): New.
+ (dwarf2_locate_sections): Use section_is_p instead of strcmp
+ (dwarf2_resize_section): New.
+ to determine whether a given section has a given name.
+ (zlib_decompress_section): New.
+ (dwarf2_read_section): Read the compressed section if present
+ in the binary.
+ * MAINTAINERS: Added myself to section Write After Approval.
+
+2008-04-18 Thiago Jung Bauermann <bauerman@br.ibm.com>
+
+ * defs.h (exec_set_section_offsets): Remove prototype.
+ * exec.c (exec_set_section_offsets): Remove function.
+
+2008-04-18 Joel Brobecker <brobecker@adacore.com>
+
+ * stabsread.c (cleanup_undefined_types_1): Add instance flags check
+ in the search for the matching symbol.
+
+2008-04-17 Marc Khouzam <marc.khouzam@ericsson.com>
+
+ * breakpoint.c (update_watchpoint): Always reparse
+ condition.
+
+2008-04-17 Joel Brobecker <brobecker@adacore.com>
+
+ * breakpoint.c (print_one_breakpoint_location): Make sure to print
+ the breakpoint address only once.
+
+2008-04-17 Dennis Roberts <dennis.roberts@sunquestinfo.com>
+
+ * rs6000-tdep.c (rs6000_gdbarch_init): Use the BFD architecture,
+ rather than a hard-coded architecture, for xcoff executables.
+
+2008-04-17 Doug Evans <dje@google.com>
+
+ * buildsym.c (watch_main_source_file_lossage): New fn.
+ (end_symtab): Call it.
+
+ * source.c (find_and_open_source): Add some comments clarifying
+ handling of FULLNAME argument. Make static. Remove pointless
+ xstrdup/xfree.
+
+2008-04-17 Pedro Alves <pedro@codesourcery.com>
+
+ * inf-loop.c (inferior_event_handler): Also run the intermediate
+ continuations in the INF_EXEC_COMPLETE case.
+
+2008-04-16 Tom Tromey <tromey@redhat.com>
+
+ * cli/cli-decode.h (CMD_ASYNC_OK): New define.
+ (set_cmd_async_ok, get_cmd_async_ok): Declare.
+ * cli/cli-decode.c (set_cmd_async_ok): New function.
+ (get_cmd_async_ok): New function.
+ * cli/cli-cmds.c (init_cli_cmds): Mark "pwd", "help", "info", and
+ "show" as async-ok.
+ * top.c (execute_command): Use get_cmd_async_ok.
+ * infcmd.c: Include cli/cli-decode.h.
+ (_initialize_infcmd): Mark "interrupt" as async-ok.
+ * Makefile.in (infcmd.o): Depend on cli_decode_h.
+
+2008-04-16 Daniel Jacobowitz <dan@codesourcery.com>
+
+ PR gdb/2445
+ * exec.c: Correct "arch-utils.h" include.
+
+2008-04-15 Aleksandar Ristovski <aristovski@qnx.com>
+
+ PR gdb/2424
+ * infrun.c (normal_stop) Move breakpoint_auto_delete further down
+ to allow printing to 'see' real reason of stop. This fixes PR 2424.
+ * breakpoint.c (bpdisp_texst): New function. The function takes over
+ the role of bpstats static array in print_one_breakpoint_location.
+ (print_it_typical): Print "Temporary breakpoint" instead
+ of just "Breakpoint" when breakpoint is, well, temporary. For mi-like
+ protocols, print disp field.
+ (print_one_breakpoint_location): Removed bpdisps static definition.
+ Call new bpstat_text function to get value for 'disp' field.
+ (mention): Print "Temporary breakpoint" instead of just "Breakpoint".
+
+2008-04-15 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * gnulib/Makefile.am, gnulib/m4/gnulib-cache.m4,
+ gnulib/aux/link-warning.h, gnulib/extra/link-warning.h: Adjust
+ by rerunning gnulib-tool with --aux-dir=gnulib/extra.
+ * gnulib/Makefile.in: Regenerate.
+
+2008-04-14 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * Makefile.in (GNULIB_H): New. Trigger all-lib.
+ (defs_h): Use $(GNULIB_H).
+ (all-lib): Depend on gnulib/Makefile.
+ (gnulib/Makefile): Regenerate gnulib/Makefile and gnulib/.deps.
+ * config.in, gnulib/Makefile.in: Regenerated.
+
+2008-04-14 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * Makefile.in (LIBGNU, INCGNU): Define.
+ (INTERNAL_CFLAGS_BASE): Add INCGNU.
+ (INTERNAL_LIBS, CLIBS, CDEPS): Add LIBGNU.
+ (CLEANDIRS): New.
+ ($(LIBGNU), all-lib): New rules.
+ (clean, distclean, do-maintainer-clean): Use CLEANDIRS.
+ * configure.ac: Use gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE.
+ Simplify AC_CONFIG_AUX_DIR. Generate gnulib/Makefile.
+ * gnulib: New directory, from gnulib-tool.
+ * configure, aclocal.m4: Regenerated.
+
+2008-04-14 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * linux-thread-db.c (have_threads_callback): Check thread->private.
+
+2008-04-13 Nick Roberts <nickrob@snap.net.nz>
+ Vladimir Prus <vladimir@codesourcery.com>
+
+ Fix @-varobjs.
+ * varobj.c (value_of_root): Update the expression for
+ floating varobjs.
+ * mi/mi-cmd-var.c (varobj_update_one): If type has changed,
+ report that.
+
+2008-04-09 Marc Khouzam <marc.khouzam@ericsson.com>
+
+ * mi/mi-cmd-var.c: Include "mi-getopt.h".
+ (mi_parse_format): New. Factored out from mi_cmd_var_set_format.
+ (mi_cmd_var_set_format): Use new mi_parse_format.
+ (mi_cmd_var_evaluate_expression): Support for -f option to specify
+ format.
+ * Makefile.in (mi-cmd-var.o): Update dependencies.
+
+ * varobj.h (varobj_get_formatted_value): Declare.
+ * varobj.c (my_value_of_variable): Added format parameter.
+ (cplus_value_of_variable): Likewise.
+ (java_value_of_variable): Likewise.
+ (c_value_of_variable): Likewise. Evaluate expression based
+ on format parameter.
+ (struct language_specific): Add format parameter to function member
+ *value_of_variable.
+ (varobj_get_formatted_value): New.
+ (varobj_get_value): Added format parameter to method call.
+
+2008-04-08 Joel Brobecker <brobecker@adacore.com>
+
+ * stabsread.c (cleanup_undefined_types_noname): Manually set the
+ instance flags of the undefined type before calling replace_type.
+
+2008-04-08 Vladimir Prus <vladimir@codesourcery.com>
+
+ * target.h (enum strata): Remove the download_stratum.
+
+2008-04-07 Doug Evans <dje@google.com>
+
+ * buildsym.h (last_source_file): Add dwarf info to comment.
+ (last_source_start_addr): Ditto.
+
+2008-04-07 Pedro Alves <pedro@codesourcery.com>
+
+ * alphanbsd-tdep.c: Include "target.h".
+ * mn10300-tdep.c: Include "target.h".
+ * Makefile.in (alphanbsd-tdep.o, mn10300-tdep.o): Update.
+
+2008-04-06 Vladimir Prus <vladimir@codesourcery.com>
+
+ Fix breakpoint condition that use member variables.
+ * valops.c (check_field): Remove.
+ (check_field_in): Rename to check_field.
+ (value_of_this): Use la_name_of_this.
+ * value.h (check_field): Adjust prototype.
+
+ * language.h (la_value_of_this): Rename to la_name_of_this.
+ * language.c (unknown_language_defn): Specify "this" for
+ name_of_this.
+ (auto_language_defn): Likewise.
+ (local_language_defn): Likewise.
+ * ada-lang.c (ada_language_defn): Adjust comment.
+ * c-lang.c (c_language_defn): Adjust comment.
+ (cplus_language_defn): Specify "this" for name_of_this.
+ (asm_language_defn): Adjust comment.
+ (minimal_language_defn): Adjust comment.
+ * f-lang.c (f_language_defn): Specify NULL for name_of_this.
+ * jv-lang.c (java_language_defn): Specify "this" for name_of_this.
+ * m2-lang.c (m2_language_defn): Specify "this" for name_of_this.
+ * objc-lang.c (objc_language_defn): Specify "self" for
+ name_of_this.
+ * p-lang.c (pascal_language_defn): Specify "this" for
+ name_of_this.
+ * scm-lang.c (scm_language_defn): Specify NULL for name_of_this.
+
+ * symtab.c (lookup_symbol_aux): Lookup "this" in the
+ proper scope, and check for field in type of "this", without
+ trying to create a value.
+
+2008-04-04 Pedro Alves <pedro@codesourcery.com>
+
+ * mi/mi-cmds.h (enum mi_cmd_result): Delete MI_CMD_ERROR.
+ (mi_error_message): Delete declaration.
+ * mi/mi-interp.c (mi_cmd_interpreter_exec): Call error instead of
+ returning MI_CMD_ERROR.
+ * mi/mi-main.c (mi_error_message): Delete.
+ (mi_cmd_exec_interrupt):
+ (mi_cmd_thread_select, mi_cmd_thread_list_ids)
+ (mi_cmd_thread_info): Call error instead of returning
+ MI_CMD_ERROR.
+ (mi_cmd_data_list_register_values): Call error instead of
+ returning MI_CMD_ERROR. Adapt to new get_register interface.
+ (get_register): Change return typo to void. Call error instead of
+ returning MI_CMD_ERROR.
+ (mi_cmd_data_write_register_values): Call error instead of
+ returning MI_CMD_ERROR.
+ (mi_cmd_list_features): Return MI_CMD_DONE.
+ (captured_mi_execute_command): Remove MI_CMD_ERROR handling.
+ (mi_execute_command): Always print exceptions with -error.
+
+2008-04-04 Joel Brobecker <brobecker@adacore.com>
+
+ * NEWS: Mention new commands set/show multiple-symbols.
+
+2008-04-03 Joel Brobecker <brobecker@adacore.com>
+
+ * symtab.c (multiple_symbols_ask, multiple_symbols_all)
+ (multiple_symbols_cancel): New constants.
+ (multiple_symbols_modes, multiple_symbols_mode): New static globals.
+ (multiple_symbols_select_mode): New function.
+ (_initialize_symtab): Add new set/show multiple-symbols commands.
+ * symtab.h (multiple_symbols_ask, multiple_symbols_all)
+ (multiple_symbols_cancel, multiple_symbols_select_mode): Declare.
+ * ada-lang.c (user_select_syms): Add handling of new multiple-symbols
+ setting.
+ * linespec.c (decode_line_2): Likewise.
+
+2008-04-03 Doug Evans <dje@sebabeach.org>
+
+ * symtab.h (enum free_code): Delete free_contents, unused.
+ * symmisc.c (free_symtab_block): Delete.
+ (free_symtab, case free_code): Delete.
+
+2008-04-01 Aleksandar Ristovski <aristovski@qnx.com>
+
+ * valops.c (value_cast_structs): New function. Cast related
+ STRUCT types up/down and return cast value. The body of this
+ function comes mostly from value_cast_pointers.
+ (value_cast_pointers): Code for actual cast STRUCT-STRUCT moved
+ to value_cast_structs. Now value_cast_pointers needs only create
+ appropriate reference after using value_cast_structs for actual
+ casting.
+ (value_cast): Handle references.
+
+2008-04-01 Marc Khouzam <marc.khouzam@ericsson.com>
+
+ * MAINTAINERS: Added myself to section Write After Approval.
+
+2008-03-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * ia64-tdep.c (examine_prologue): Correct array access.
+
+2008-03-28 Aleksandar Ristovski <aristovski@qnx.com>
+
+ * cp-support.c (first_component_command): Return if no arguments.
+
+2008-03-28 Carlos O'Donell <carlos@codesourcery.com>
+
+ * ser-mingw.c (ser_windows_open): Open requested name.
+
+2008-03-28 Aleksandar Ristovski <aristovski@qnx.com>
+
+ * MAINTAINERS: Added myself.
+
+2008-03-28 Pedro Alves <pedro@codesourcery.com>
+
+ * target.c (find_default_run_target): Allow a NULL `do_mesg'
+ parameter. If it is NULL, don't call error.
+ (find_default_can_async_p, find_default_is_async_p): Pass NULL as
+ `do_mesg' parameter to find_default_run_target. If no target was
+ found, return 0.
+
+2008-03-28 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * mips-linux-tdep.c: Update N32/N64 signal frame comments.
+ (N64_SIGCONTEXT_LO, N64_SIGCONTEXT_PC, N64_SIGCONTEXT_FPCSR): Update.
+ (N64_SIGCONTEXT_FIR, N64_SIGCONTEXT_CAUSE, N64_SIGCONTEXT_BADVADDR):
+ Delete.
+ (mips_linux_n32n64_sigframe_init): Do not record cause or badvaddr.
+
+2008-03-27 Joel Brobecker <brobecker@adacore.com>
+
+ GDB 6.8 released.
+
+2008-03-27 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * features/Makefile (%.dat): Set xmltarget to the base filename
+ of the XML source, without subdirectory.
+ * regformats/rs6000/powerpc-32.dat: Regenerate.
+ * regformats/rs6000/powerpc-64.dat: Regenerate.
+ * regformats/rs6000/powerpc-e500.dat: Regenerate.
+
+2008-03-27 Markus Deuling <deuling@de.ibm.com>
+
+ * xcoffread.c (scan_xcoff_symtab): Replace current_gdbarch by
+ objfile arch.
+
+2008-03-27 Nick Roberts <nickrob@snap.net.nz>
+
+ * mi/mi-main.c (enum captured_mi_execute_command_actions):
+ Spell suppress in EXECUTE_COMMAND_SUPPRESS_PROMPT correctly.
+
+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.
+ Call target_stop in the INF_QUIT_REQ case.
+ * Makefile.in (inf-loop.o): Update.
+
+2008-03-14 Pedro Alves <pedro@codesourcery.com>
+
+ * top.c (execute_command): Enable break, info and interrupt
+ commands in async mode.
+
2008-03-13 Vladimir Prus <vladimir@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>