Use observers to report stop events in MI.
[binutils-gdb.git] / gdb / ChangeLog
index e0c8c4002e97e10ed704f8723205d4880f6680a0..f18c6c98c3323a44e66156264433090447c93e45 100644 (file)
@@ -1,3 +1,333 @@
+2008-06-10  Vladimir Prus  <vladimir@codesourcery.com>
+
+       Use observers to report stop events in MI.
+        * mi/mi-interp.c (mi_on_normal_stop): New.
+        (mi_interpreter_init): Register mi_on_normal_stop.
+        (mi_interpreter_exec_continuation): Remove.
+        (mi_cmd_interpreter_exec): Don't register the above.
+        * mi/mi-main.c (captured_mi_execute_command): Don't care
+        about sync_execution.
+        (mi_execute_async_cli_command): Don't install continuation.  Don't
+        print *stopped.
+        (mi_exec_async_cli_cmd_continuation): Remove.
+
+2008-06-10  Vladimir Prus  <vladimir@codesourcery.com>
+
+       Suppress normal stop observer when it's problematic.
+        * inferior.h (suppress_normal_stop_observer): New.
+        * infcall.c (call_function_by_hand): Disable stop events when
+        doing function calls.
+        * infmcd.c (suppress_normal_stop_observer): New.
+        (finish_command_continuation): Call normal_stop observer
+        explicitly.
+        (finish_command): Disable stop events inside proceed.
+        * infrun.c (normal_stop): Don't call normal stop observer if
+        suppressed of if multi-step is in progress.
+
+2008-06-10  Vladimir Prus  <vladimir@codesourcery.com>
+
+       Remove stale code.
+        * infrun.c (finish_command): Don't pass cleanup
+        to continuation.
+        (finish_command_continuation): Don't grab cleanup from
+        the passed data, as we don't use, and cannot, use it anyway.
+
+2008-06-10  Vladimir Prus  <vladimir@codesourcery.com>
+
+       Introduce common cleanup for restoring integers.
+        * defs.h (make_cleanup_restore_integer): New declaration.
+        (struct cleanup): New field free_arg.
+        (make_my_cleanup_2): New.
+        * utils.c (restore_integer_closure, restore_integer)
+        (make_cleanup_restore_integer): New.
+        (make_my_cleanup): Initialize the free_arg field and
+        renamed to make_my_cleanup_2.
+        (do_my_cleanups): Call free_arg.
+        (discard_cleanups): Call free_arg.
+        * breakpoint.c (restore_always_inserted_mode): Remove.
+        (update_breakpoints_after_exec): Use make_cleanup_restore_integer.
+
+2008-06-09  Doug Evans  <dje@google.com>
+
+       * remote.c (remote_wait): Include beginning of malformed packet
+       in error output.
+
+2008-06-09  Tom Tromey  <tromey@redhat.com>
+
+       * completer.c (complete_line): Don't special-case
+       expression_completer.
+       (expression_completer): Only pass last word to
+       location_completer.
+       * c-exp.y (yylex): Check 'token', not 'operator'.
+
+2008-06-09  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * configure.ac (build_warnings): Add -Wno-format for mingw.
+       * configure: Regenerated.
+
+2008-06-07  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * NEWS: Make indentation consistent.  Move exec tracing entry out
+       of remote packet list.
+
+2008-06-06  Tom Tromey  <tromey@redhat.com>
+
+       * value.h (evaluate_subexpression_type, extract_field_op):
+       Declare.
+       * printcmd.c (_initialize_printcmd): Use expression_completer for
+       'p', 'inspect', 'call'.
+       * parser-defs.h (parse_field_expression): Declare.
+       * parse.c: Include exceptions.h.
+       (in_parse_field, expout_last_struct): New globals.
+       (mark_struct_expression): New function.
+       (prefixify_expression): Return int.
+       (prefixify_subexp): Return int.  Use expout_last_struct.
+       (parse_exp_1): Update.
+       (parse_exp_in_context): Add 'out_subexp' argument.  Handle
+       in_parse_field.
+       (parse_field_expression): New function.
+       * expression.h (parse_field_expression): Declare.
+       (in_parse_field): Likewise.
+       * eval.c (evaluate_subexpression_type): New function.
+       (extract_field_op): Likewise.
+       * completer.h (expression_completer): Declare.
+       * completer.c (expression_completer): New function.
+       (count_struct_fields, add_struct_fields): New functions.
+       * c-exp.y (yyparse): Redefine.
+       (COMPLETE): New token.
+       (exp): New productions.
+       (saw_name_at_eof, last_was_structop): New globals.
+       (yylex): Return COMPLETE when needed.  Recognize in_parse_field.
+       (c_parse): New function.
+       * breakpoint.c (_initialize_breakpoint): Use expression_completer
+       for watch, awatch, and rwatch.
+       * Makefile.in (parse.o): Depend on exceptions_h.
+
+2008-06-06  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+       PR gdb/1147
+       * gdb/valopts.c (find_overload_match): Handle references
+       to pointers.
+
+2008-06-06  Paul N. Hilfinger  <hilfinger@adacore.com>
+
+       * ada-lang.c (ada_value_assign): Correct big-endian case to take into
+       account the bitsize of the 'from' operand.
+
+2008-06-06  Pedro Alves  <pedro@codesourcery.com>
+
+       * annotate.h (annotate_thread_changed): Declare.
+
+2008-06-06  Nick Roberts  <nickrob@snap.net.nz>
+
+       * annotate.c (annotate_thread_changed): New function.
+       * thread.c (thread_command) : Use it.
+       * infrun.c (normal_stop): Use it.
+
+2008-06-05  Vladimir Prus  <vladimir@codesourcery.com>
+            Nathan Sidwell  <nathan@codesourcery.com>
+            Joseph Myers  <joseph@codesourcery.com>
+
+       * acinclude.m4: Include ../config/acx.m4.
+       * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
+       * configure, config.in: Regenerate.
+       * main.c (print_gdb_help): Use REPORT_BUGS_TO for bug-reporting
+       address.
+       * top.c (print_gdb_version): Use PKGVERSION and REPORT_BUGS_TO.
+
+2008-06-05  Pedro Alves  <pedro@codesourcery.com>
+
+       Replace 'target async' by 'maintenance set remote-async' and
+       'target remote' combination.
+
+       * remote.c (remote_async_wait): Merge into remote_wait, and
+       remove.
+       (remote_async_permitted, remote_async_permitted_set): New
+       variables.
+       (set_maintenance_remote_async_permitted)
+       (show_maintenance_remote_async_permitted): New functions.
+       (remote_async_ops, extended_async_remote_ops): Delete.
+       (remote_async_open, extended_remote_async_open): Delete.
+       (remote_open_1): Drop async_p parameter.  Update callers.  Replace
+       async_p with remote_async_permitted checks.
+       (extended_async_remote_attach): Delete.
+       (remote_resume, remote_async_resume): Merge and leave remote_resume.
+       (remote_async_terminal_inferior): Rename to...
+       (remote_terminal_inferior): ... this, and add
+       remote_async_termitted check.
+       (remote_async_terminal_ours): Rename to...
+       (remote_terminal_ours): ... this, and add remote_async_termitted
+       check.
+       (remote_wait, remote_async_wait): Merge and leave remote_wait
+       only.
+       (remote_kill, remote_async_kill): Merge and leave remote_kill
+       only.
+       (remote_async_mourn, extended_async_remote_mourn): Delete.
+       (extended_remote_create_inferior_1): Drop async_p parameter.
+       Update callers.  Always use extended_remote_ops.
+       (extended_remote_async_create_inferior): Delete.
+       (remote_return_zero): Delete.
+       (init_remote_ops): Register remote_can_async_p, remote_async,
+       remote_async_mask, remote_terminal_inferior and
+       remote_terminal_ours.
+       (remote_can_async_p, remote_is_async_p): Check for
+       remote_async_permitted.
+       (init_remote_async_ops, init_extended_async_remote_ops): Remove.
+       (set_remote_cmd): Don't add async and extended-async targets.
+       (_initialize_remote): Add set/show remote-async maintenance
+       commands.
+
+2008-06-05  Pedro Alves  <pedro@codesourcery.com>
+
+       * remote.c (kill_kludge): Delete.
+       (remote_wait, remote_async_wait): Don't set it.
+       (remote_kill, remote_async_kill): Don't do anything with it.
+
+2008-06-05  Pedro Alves  <pedro@codesourcery.com>
+
+       * linux-thread-db.c (thread_db_wait): Don't trim event ptid.
+
+2008-06-05  Aleksandar Ristovski  <aristovski@qnx.com>
+
+       * bcache.c (bcache_data): Call deprecated_bcache_added function.
+       (deprecated_bcache_added): New function name. Body of function 
+       bcache_data is used here with the addition of 'added' argument. 
+       * bcache.h (deprecated_bcache_added): New function.
+       * symfile.c (add_psymbol_to_bcache): New helper function, takes part of
+       work from add_psymbol_to_list - initialises partial symbol and stashes
+       it in objfile's cache.
+       (append_psymbol_to_list): New helper function, takes other part of 
+       work from add_psymbol_to_list - adds partial symbol to the given list.
+       (add_psymbol_to_list): Call helper functions instead of doing work 
+       here. If adding to global list, do not duplicate partial symbols in the
+       partial symtab.
+
+2008-06-05  Aleksandar Ristovski  <aristovski@qnx.com>
+
+       * breakpoint.c (print_exception_catchpoint): Put 'exception' back to
+       'exception caught|thrown' message.
+
+2008-06-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * Makefile.in: Update dependencies.
+       * dwarf2expr.c: New include "gdb_assert.h".
+       (new_dwarf_expr_context): Initialize MAX_RECURSION_DEPTH.
+       (dwarf_expr_eval): Sanity check the RECURSION_DEPTH count.
+       (execute_stack_op): Error out on too large RECURSION_DEPTH.
+       Increase/decrease RECURSION_DEPTH around the function.
+
+2008-06-05  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * remote.c (get_offsets): Handle a single segment.
+       * symfile.c (symfile_map_offsets_to_segments): Allow more bases
+       than segments.
+
+2008-06-03  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * solib-svr4.c (struct lm_info): Add lm_addr.
+       (main_lm_addr): New.
+       (svr4_default_sos): Set lm_addr.
+       (svr4_current_sos): Set lm_addr and main_lm_addr.
+       (svr4_fetch_objfile_link_map): Rewrite.
+       (svr4_clear_solib): Clear main_lm_addr.
+
+2008-06-03  Michael Snyder  <msnyder@redhat.com>
+            Joseph Myers  <joseph@codesourcery.com>
+
+       * mips-tdep.c (mips_eabi_return_value): Replace stub that always
+       returned RETURN_VALUE_STRUCT_CONVENTION with a real function.
+
+2008-06-02  Roman Zippel <zippel@linux-m68k.org>
+
+       * m68klinux-tdep.c (m68k_linux_pc_in_sigtramp): Fix incorrect test.
+
+2008-06-02  Roman Zippel <zippel@linux-m68k.org>
+
+       * m68k-tdep.c (m68k_analyze_prologue): Fix length of lea insn.
+
+2008-06-01  Joel Brobecker  <brobecker@adacore.com>
+
+       * rs6000-aix-tdep.c (rs6000_convert_from_func_ptr_addr): Do not
+       treat pointers in data space as function descriptors if the
+       target address is also in the data space.
+
+2008-05-30  Joel Brobecker  <brobecker@adacore.com>
+
+       * alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Set
+       the trad-frame register value for the SP register.
+
+2008-05-29  Mark Kettenis  <kettenis@gnu.org>
+
+       * sparcnbsd-tdep.c, sparcobsd-tdep.c: Update for unwinder changes.
+
+2008-05-28  Joel Brobecker  <brobecker@adacore.com>
+
+       * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Improve the heuristic
+       that identifies function descriptors outside of the .opd section.
+
+2008-05-28  Aleksandar Ristovski  <aristovski@qnx.com>
+
+       * breakpoint.c (print_exception_catchpoint): In CLI add 'Temporary' for
+       temporary catchpoints.  In MI add missing fields 'reason', 'disp', 
+       'bkptno'.
+       (print_mention_exception_catchpoint): Add 'Temporary' for temporary
+       catchpoints.
+       (handle_gnu_v3_exceptions): Use tempflag.
+
+2008-05-28  Vladimir Prus  <vladimir@codesourcery.com>
+
+       Refactor varobj_update interface.
+        * varobj.c (varobj_update): Report changes as vector.  Also
+        return not just a list of varobj, but a list of special structures
+        that tell what exactly has changed.
+        * varobj.h (enum varobj_update_error): Rename to
+        varobj_scope_status.
+        (struct varobj_update_result_t): New.
+        (varobj_update): Adjust prototype.
+        * mi/mi-cmd-var.c: Adjust for changes.
+
+2008-05-28  Vladimir Prus  <vladimir@codesourcery.com>
+
+       * varobj.c (varobj_update): Fix comment typo.
+       Fix indentation.
+
+2008-05-26  Joel Brobecker  <brobecker@adacore.com>
+
+       Set the symtab field of symbols read from ECOFF debugging entries.
+       * mdebugread.c (add_symbol): Add new parameter symtab.
+       (parse_symbol): Update calls to add_symbol throughout.
+
+2008-05-27  Andreas Schwab  <schwab@suse.de>
+
+       * symtab.h (enum address_class): Remove LOC_REGPARM and
+       LOC_COMPUTED_ARG.
+       (struct symbol): Add is_argument.
+       (SYMBOL_IS_ARGUMENT): Define.
+
+       * ada-lang.c (ada_add_block_symbols): Use SYMBOL_IS_ARGUMENT.
+       * buildsym.c (finish_block): Likewise.
+       * stack.c (print_frame_args, print_block_frame_locals)
+       (print_frame_arg_vars): Likewise.
+       * symtab.c (lookup_block_symbol): Likewise.
+       * tracepoint.c (add_local_symbols): Likewise.
+       * mi/mi-cmd-stack.c (list_args_or_locals): Likewise.
+
+       * coffread.c (process_coff_symbol): Set SYMBOL_IS_ARGUMENT.
+       * dwarf2read.c (new_symbol): Likewise.
+       * mdebugread.c (parse_symbol): Likewise.
+       * stabsread.c (define_symbol): Likewise.
+
+       * ada-exp.y (select_possible_type_sym): Don't handle LOC_REGPARM
+       and LOC_COMPUTED_ARG.
+       * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise.
+       * ax-gdb.c (gen_var_ref): Likewise.
+       * eval.c (evaluate_subexp_for_address): Likewise.
+       * findvar.c (symbol_read_needs_frame, read_var_value): Likewise.
+       * m2-exp.y (yylex): Likewise.
+       * printcmd.c (address_info): Likewise.
+       * symmisc.c (print_symbol, print_partial_symbols): Likewise.
+       * tracepoint.c (collect_symbol, scope_info): Likewise.
+
 2008-05-24  Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>
 
        * gdbarch.sh: Added new gdbarch struct