Add missing cleanups to defaulted_query and prompt_for_continue
[external/binutils.git] / gdb / ChangeLog
index 9d3ff4a..83235c3 100644 (file)
@@ -1,5 +1,177 @@
 2016-04-12  Pedro Alves  <palves@redhat.com>
 
+       * utils.c (defaulted_query, prompt_for_continue): Free temporary
+       strings with cleanups, instead of xfree.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * utils.c (vwarning, internal_vproblem): Use
+       make_cleanup_restore_target_terminal and
+       target_terminal_ours_for_output.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * infcmd.c (post_create_inferior, prepare_one_step): Use
+       target_terminal_ours_for_output instead of target_terminal_ours.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * exceptions.c (print_flush): Use target_terminal_ours_for_output
+       instead of target_terminal_ours, and restore target terminal with
+       a cleanup.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * cp-support.c (gdb_demangle): Use target_terminal_ours_for_output
+       instead of target_terminal_ours, and restore target terminal with
+       a cleanup.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * ada-lang.c (type_as_string, type_as_string_and_cleanup): New
+       functions.
+       (ada_lookup_struct_elt_type): Use type_as_string_and_cleanup.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * ser-base.c (fd_event): Retry read_prim on EINTR.
+       (do_ser_base_readchar): Retry read_prim on EINTR.
+       (ser_base_write): Retry write_prim on EINTR.
+       * ser-unix.c (ser_unix_read_prim): Don't retry on EINTR here.
+       (ser_unix_write_prim): Remove comment.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * remote.c (remote_pass_ctrlc): New function.
+       (init_remote_ops): Install it.
+       * target.c (target_terminal_inferior): Pass pending Ctrl-C to the
+       target.
+       (target_pass_ctrlc, default_target_pass_ctrlc): New functions.
+       * target.h (struct target_ops) <to_pass_ctrlc>: New method.
+       (target_pass_ctrlc, default_target_pass_ctrlc): New declarations.
+       * target-delegates.c: Regenerate.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * infcmd.c (interrupt_target_1): Call target_stop is in non-stop
+       mode.
+       * linux-nat.c (linux_nat_interrupt): Delete.
+       (linux_nat_add_target): Don't install linux_nat_interrupt.
+       * remote.c (remote_interrupt_ns): Change return type to void.
+       Throw error if interrupting the target is not supported.
+       (remote_interrupt): Don't call the remote_stop_ns/remote_stop_as.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * defs.h (clear_quit_flag): Remove declaration.
+       * extension-priv.h (struct extension_language_ops)
+       <clear_quit_flag>: Remove field and update comments.
+       * extension.c (clear_quit_flag): Delete.
+       * guile/guile.c (guile_extension_ops): Adjust.
+       * python/python.c (python_extension_ops): Adjust.
+       (gdbpy_clear_quit_flag): Delete.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * main.c (captured_main): Don't clear the quit flag.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * exceptions.c (prepare_to_throw_exception): Don't clear the quit
+       flag.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * event-top.c (command_handler): Don't call clear_quit_flag.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * remote-sim.c (gdb_os_poll_quit): Don't call clear_quit_flag.
+       * remote.c (remote_wait_as): Don't call clear_quit_flag.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * python/python.c: Include "ser-event.h".
+       (gdbpy_event_fds): Delete.
+       (gdbpy_serial_event): New.
+       (gdbpy_run_events): Change prototype.  Use serial_event_clear
+       instead of serial_readchar.
+       (gdbpy_post_event): Use serial_event_set instead of serial_write.
+       (gdbpy_initialize_events): Use make_serial_event instead of
+       serial_pipe.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * defs.h: Extend QUIT-related comments to mention
+       interruptible_select.
+       (quit_serial_event_set, quit_serial_event_clear): Declare.
+       * event-top.c: Include "ser-event.h" and "gdb_select.h".
+       (quit_serial_event): New global.
+       (async_init_signals): Make quit_serial_event.
+       (quit_serial_event_set, quit_serial_event_clear)
+       (quit_serial_event_fd, interruptible_select): New functions.
+       * extension.c (set_quit_flag): Set the quit serial event.
+       (check_quit_flag): Clear the quit serial event.
+       * gdb_select.h (interruptible_select): New declaration.
+       * guile/scm-ports.c (ioscm_input_waiting): Use
+       interruptible_select instead of gdb_select.
+       * top.c (gdb_readline_no_editing): Likewise.
+       * ui-file.c (stdio_file_read): Likewise.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * event-loop.c: Include "ser-event.h".
+       (async_signal_handlers_serial_event): New global.
+       (async_signals_handler, initialize_async_signal_handlers): New
+       functions.
+       (mark_async_signal_handler): Set
+       async_signal_handlers_serial_event.
+       (invoke_async_signal_handlers): Clear
+       async_signal_handlers_serial_event.
+       * event-top.c (async_init_signals): Call
+       initialize_async_signal_handlers.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * Makefile.in (SFILES): Add ser-event.c.
+       (HFILES_NO_SRCDIR): Add ser-event.h.
+       (COMMON_OBS): Add ser-event.o.
+       * ser-event.c, ser-event.h: New files.
+       * serial.c (new_serial): New function, factored out from
+       (serial_fdopen_ops): ... this.
+       (serial_open_ops_1): New function, factored out from
+       (serial_open): ... this.
+       (serial_open_ops): New function.
+       * serial.h (struct serial): Forware declare.
+       (serial_open_ops): New declaration.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * serial.c (serial_open, serial_fdopen_ops, do_serial_close):
+       Remove references to name.
+       * serial.h (struct serial) <name>: Delete.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * remote-fileio.c (sigint_fileio_token, remote_fio_no_longjmp):
+       Delete.
+       (async_remote_fileio_interrupt): Delete.
+       (remote_fileio_ctrl_c_signal_handler): Don't call the async signal
+       handler.  Instead just always set the ctrl_c flag.
+       (remote_fileio_reply): Clear remote_fio_ctrl_c_flag before
+       re-enabling the SIGINT handler.
+       (remote_fileio_func_open, remote_fileio_func_close)
+       (remote_fileio_func_read, remote_fileio_func_write)
+       (remote_fileio_func_lseek, remote_fileio_func_rename)
+       (remote_fileio_func_unlink, remote_fileio_func_stat)
+       (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
+       (remote_fileio_func_isatty, remote_fileio_func_system)
+       (remote_fileio_request): Remove references to
+       remote_fio_no_longjmp.
+       (initialize_remote_fileio): Don't create an async signal handler.
+
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
        * event-top.c (stdin_event_handler): Call QUIT;
        (prompt_for_continue): Don't run with immediate_quit set.