Arch-specific remote follow fork
[deliverable/binutils-gdb.git] / gdb / gdbserver / ChangeLog
index 53538a4f0101d8ebe3642e248f06c42f79345511..0bdcdf36c368d29202e2011397d5c67ae79123f6 100644 (file)
@@ -1,3 +1,420 @@
+2015-05-12  Don Breazeal  <donb@codesourcery.com>
+
+       * linux-aarch64-low.c (aarch64_linux_new_fork): New function.
+       (the_low_target) <new_fork>: Initialize new member.
+       * linux-arm-low.c (arm_new_fork): New function.
+       (the_low_target) <new_fork>: Initialize new member.
+       * linux-low.c (handle_extended_wait): Call new target function
+       new_fork.
+       * linux-low.h (struct linux_target_ops) <new_fork>: New member.
+       * linux-mips-low.c (mips_add_watchpoint): New function
+       extracted from mips_insert_point.
+       (the_low_target) <new_fork>: Initialize new member.
+       (mips_linux_new_fork): New function.
+       (mips_insert_point): Call mips_add_watchpoint.
+       * linux-x86-low.c (x86_linux_new_fork): New function.
+       (the_low_target) <new_fork>: Initialize new member.
+
+2015-05-12  Don Breazeal  <donb@codesourcery.com>
+
+       * linux-low.c (handle_extended_wait): Implement return value,
+       rename argument 'event_child' to 'event_lwp', handle
+       PTRACE_EVENT_FORK, call internal_error for unrecognized event.
+       (linux_low_ptrace_options): New function.
+       (linux_low_filter_event): Call linux_low_ptrace_options,
+       use different argument fo linux_enable_event_reporting,
+       use return value from handle_extended_wait.
+       (extended_event_reported): New function.
+       (linux_wait_1): Call extended_event_reported and set
+       status to report fork events.
+       (linux_write_memory): Add pid to debug message.
+       (reset_lwp_ptrace_options_callback): New function.
+       (linux_handle_new_gdb_connection): New function.
+       (linux_target_ops): Initialize new structure member.
+       * linux-low.h (struct lwp_info) <waitstatus>: New member.
+       * lynx-low.c: Initialize new structure member.
+       * remote-utils.c (prepare_resume_reply): Implement stop reason
+       "fork" for "T" stop message.
+       * server.c (handle_query): Call handle_new_gdb_connection.
+       * server.h (report_fork_events): Declare global flag.
+       * target.h (struct target_ops) <handle_new_gdb_connection>:
+       New member.
+       (target_handle_new_gdb_connection): New macro.
+       * win32-low.c: Initialize new structure member.
+
+2015-05-12  Don Breazeal  <donb@codesourcery.com>
+
+       * mem-break.c (APPEND_TO_LIST): Define macro.
+       (clone_agent_expr): New function.
+       (clone_one_breakpoint): New function.
+       (clone_all_breakpoints): New function.
+       * mem-break.h: Declare new functions.
+
+2015-05-12  Don Breazeal  <donb@codesourcery.com>
+
+       * linux-low.c (linux_supports_fork_events): New function.
+       (linux_supports_vfork_events): New function.
+       (linux_target_ops): Initialize new structure members.
+       (initialize_low): Call linux_check_ptrace_features.
+       * lynx-low.c (lynx_target_ops): Initialize new structure
+       members.
+       * server.c (report_fork_events, report_vfork_events):
+       New global flags.
+       (handle_query): Add new features to qSupported packet and
+       response.
+       (captured_main): Initialize new global variables.
+       * target.h (struct target_ops) <supports_fork_events>:
+       New member.
+       <supports_vfork_events>: New member.
+       (target_supports_fork_events): New macro.
+       (target_supports_vfork_events): New macro.
+       * win32-low.c (win32_target_ops): Initialize new structure
+       members.
+
+2015-05-12  Gary Benson <gbenson@redhat.com>
+
+       * server.c (handle_qxfer_exec_file): Use current process
+       if annex is empty.
+
+2015-05-08  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * linux-nios2-low.c: Include elf/common.h.  Adjust comments.
+       Remove HAVE_PTRACE_GETREGS conditionals.
+       (nios2_regsets): Use PTRACE_GETREGSET and PTRACE_SETREGSET
+       instead of PTRACE_GETREGS and PTRACE_SETREGS.
+
+2015-05-08  Yao Qi  <yao.qi@linaro.org>
+
+       * linux-low.c (linux_supports_conditional_breakpoints): New
+       function.
+       (linux_target_ops): Install new target method.
+       * lynx-low.c (lynx_target_ops): Install NULL hook for
+       supports_conditional_breakpoints.
+       * nto-low.c (nto_target_ops): Likewise.
+       * spu-low.c (spu_target_ops): Likewise.
+       * win32-low.c (win32_target_ops): Likewise.
+       * server.c (handle_query): Check
+       target_supports_conditional_breakpoints.
+       * target.h (struct target_ops) <supports_conditional_breakpoints>:
+       New field.
+       (target_supports_conditional_breakpoints): New macro.
+
+2015-05-06  Pedro Alves  <palves@redhat.com>
+
+       PR server/18081
+       * server.c (start_inferior): If the process exits, mourn it.
+
+2015-04-21  Gary Benson <gbenson@redhat.com>
+
+       * hostio.c (fileio_open_flags_to_host): Factored out to
+       fileio_to_host_openflags in common/fileio.c.  Single use
+       updated.
+
+2015-04-17  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * linux-xtensa-low.c (xtensa_fill_gregset)
+       (xtensa_store_gregset): Check XCHAL_HAVE_LOOPS instead of
+       XCHAL_HAVE_LOOP.
+
+2015-04-17  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * linux-xtensa-low.c (xtensa_usrregs_info): Remove.
+       (regs_info): Replace usrregs pointer with NULL.
+
+2015-04-17  Gary Benson  <gbenson@redhat.com>
+
+       * target.h (struct target_ops) <pid_to_exec_file>: New field.
+       * linux-low.c (linux_target_ops): Initialize pid_to_exec_file.
+       * server.c (handle_qxfer_exec_file): New function.
+       (qxfer_packets): Add exec-file entry.
+       (handle_query): Report qXfer:exec-file:read as supported packet.
+
+2015-04-14  Romain Naour <romain.naour@openwide.fr>  (tiny change)
+
+       * linux-low.c (linux_read_offsets): Remove get_thread_lwp.
+
+2015-04-09  Gary Benson <gbenson@redhat.com>
+
+       * hostio-errno.c (errno_to_fileio_error): Remove function.
+       Update caller to use remote_fileio_to_fio_error.
+
+2015-04-09  Yao Qi  <yao.qi@linaro.org>
+
+       * linux-low.c (linux_insert_point): Call
+       insert_memory_breakpoint if TYPE is raw_bkpt_type_sw.
+       (linux_remove_point): Call remove_memory_breakpoint if type is
+       raw_bkpt_type_sw.
+       * linux-x86-low.c (x86_insert_point): Don't call
+       insert_memory_breakpoint.
+       (x86_remove_point): Don't call remove_memory_breakpoint.
+
+2015-04-01  Pedro Alves  <palves@redhat.com>
+           Cleber Rosa  <crosa@redhat.com>
+
+       * server.c (gdbserver_usage): Reorganize and extend the usage
+       message.
+
+2015-03-24  Pedro Alves  <palves@redhat.com>
+
+       * linux-low.c (check_stopped_by_breakpoint): Tweak debug log
+       output.  Also dump TRAP_TRACE.
+       (linux_low_filter_event): In debug output, distinguish a
+       resume_stop SIGSTOP from a delayed SIGSTOP.
+
+2015-03-24  Gary Benson  <gbenson@redhat.com>
+
+       * linux-x86-low.c (x86_linux_new_thread): Moved to
+       nat/x86-linux.c.
+       (x86_linux_prepare_to_resume): Likewise.
+
+2015-03-24  Gary Benson  <gbenson@redhat.com>
+
+       * Makefile.in (x86-linux-dregs.o): New rule.
+       * configure.srv: Add x86-linux-dregs.o to relevant targets.
+       * linux-x86-low.c: Include nat/x86-linux-dregs.h.
+       (u_debugreg_offset): Moved to nat/x86-linux-dregs.c.
+       (x86_linux_dr_get): Likewise.
+       (x86_linux_dr_set): Likewise.
+       (update_debug_registers_callback): Likewise.
+       (x86_linux_dr_set_addr): Likewise.
+       (x86_linux_dr_get_addr): Likewise.
+       (x86_linux_dr_set_control): Likewise.
+       (x86_linux_dr_get_control): Likewise.
+       (x86_linux_dr_get_status): Likewise.
+       (x86_linux_update_debug_registers): Likewise.
+
+2015-03-24  Gary Benson  <gbenson@redhat.com>
+
+       * linux-x86-low.c (x86_linux_update_debug_registers):
+       New function, factored out from...
+       (x86_linux_prepare_to_resume): ...this.
+
+2015-03-24  Gary Benson  <gbenson@redhat.com>
+
+       * linux-x86-low.c (x86_linux_dr_get): Update comments.
+       (x86_linux_dr_set): Likewise.
+       (update_debug_registers_callback): Likewise.
+       (x86_linux_dr_set_addr): Likewise.
+       (x86_linux_dr_get_addr): Likewise.
+       (x86_linux_dr_set_control): Likewise.
+       (x86_linux_dr_get_control): Likewise.
+       (x86_linux_dr_get_status): Likewise.
+       (x86_linux_prepare_to_resume): Likewise.
+
+2015-03-24  Gary Benson  <gbenson@redhat.com>
+
+       * linux-x86-low.c (x86_linux_dr_get): Add assertion.
+       Use perror_with_name.  Pass string through gettext.
+       (x86_linux_dr_set): Likewise.
+
+2015-03-24  Gary Benson  <gbenson@redhat.com>
+
+       * linux-x86-low.c (x86_dr_low_set_addr): Rename to...
+       (x86_linux_dr_set_addr): ...this.
+       (x86_dr_low_get_addr): Rename to...
+       (x86_linux_dr_get_addr): ...this.
+       (x86_dr_low_set_control): Rename to...
+       (x86_linux_dr_set_control): ...this.
+       (x86_dr_low_get_control): Rename to...
+       (x86_linux_dr_get_control): ...this.
+       (x86_dr_low_get_status): Rename to...
+       (x86_linux_dr_get_status): ...this.
+       (x86_dr_low): Update with new function names.
+
+2015-03-24  Gary Benson  <gbenson@redhat.com>
+
+       * Makefile.in (x86-linux.o): New rule.
+       * configure.srv: Add x86-linux.o to relevant targets.
+       * linux-low.c (lwp_set_arch_private_info): New function.
+       (lwp_arch_private_info): Likewise.
+       * linux-x86-low.c: Include nat/x86-linux.h.
+       (arch_lwp_info): Removed structure.
+       (update_debug_registers_callback):
+       Use lwp_set_debug_registers_changed.
+       (x86_linux_prepare_to_resume): Use lwp_debug_registers_changed
+       and lwp_set_debug_registers_changed.
+       (x86_linux_new_thread): Use lwp_set_debug_registers_changed.
+
+2015-03-24  Gary Benson  <gbenson@redhat.com>
+
+       * linux-low.h (linux_target_ops) <new_thread>: Changed signature.
+       * linux-arm-low.c (arm_new_thread): Likewise.
+       * linux-aarch64-low.c (aarch64_linux_new_thread): Likewise.
+       * linux-mips-low.c (mips_linux_new_thread): Likewise.
+       * linux-x86-low.c (x86_linux_new_thread): Likewise.
+       * linux-low.c (add_lwp): Update the_low_target.new_thread call.
+
+2015-03-24  Gary Benson  <gbenson@redhat.com>
+
+       * linux-low.c (ptid_of_lwp): New function.
+       (lwp_is_stopped): Likewise.
+       (lwp_stop_reason): Likewise.
+       * linux-x86-low.c (update_debug_registers_callback):
+       Use lwp_is_stopped.
+       (x86_linux_prepare_to_resume): Use ptid_of_lwp and
+       lwp_stop_reason.
+
+2015-03-24  Gary Benson  <gbenson@redhat.com>
+
+       * linux-low.h (linux_stop_lwp): Remove declaration.
+
+2015-03-24  Gary Benson  <gbenson@redhat.com>
+
+       * linux-low.h: Include nat/linux-nat.h.
+       * linux-low.c (iterate_over_lwps_args): New structure.
+       (iterate_over_lwps_filter): New function.
+       (iterate_over_lwps): Likewise.
+       * linux-x86-low.c (update_debug_registers_callback):
+       Update signature to what iterate_over_lwps expects.
+       Remove PID check that iterate_over_lwps now performs.
+       (x86_dr_low_set_addr): Use iterate_over_lwps.
+       (x86_dr_low_set_control): Likewise.
+
+2015-03-24  Gary Benson  <gbenson@redhat.com>
+
+       * linux-x86-low.c (x86_debug_reg_state): New function.
+       (x86_linux_prepare_to_resume): Use the above.
+
+2015-03-24  Gary Benson  <gbenson@redhat.com>
+
+       * linux-low.c (current_lwp_ptid): New function.
+       * linux-x86-low.c: Include nat/linux-nat.h.
+       (x86_dr_low_get_addr): Use current_lwp_ptid.
+       (x86_dr_low_get_control): Likewise.
+       (x86_dr_low_get_status): Likewise.
+
+2015-03-20  Pedro Alves  <palves@redhat.com>
+
+       * tracepoint.c (cmd_qtstatus): Make "str" const.
+
+2015-03-20  Pedro Alves  <palves@redhat.com>
+
+       * server.c (handle_general_set): Make "req_str" const.
+
+2015-03-19  Pedro Alves  <palves@redhat.com>
+
+       * linux-low.c (linux_resume_one_lwp): Rename to ...
+       (linux_resume_one_lwp_throw): ... this.  Don't handle ESRCH here,
+       instead call perror_with_name.
+       (check_ptrace_stopped_lwp_gone): New function.
+       (linux_resume_one_lwp): Reimplement as wrapper around
+       linux_resume_one_lwp_throw that swallows errors if the LWP is
+       gone.
+
+2015-03-19  Pedro Alves  <palves@redhat.com>
+
+       * linux-low.c (count_events_callback, select_event_lwp_callback):
+       No longer check whether the thread has resume_stop as last resume
+       kind.
+
+2015-03-19 Pedro Alves  <palves@redhat.com>
+
+       * linux-low.c (count_events_callback, select_event_lwp_callback):
+       Use the lwp's status_pending_p field, not the thread's.
+
+2015-03-19  Pedro Alves  <palves@redhat.com>
+
+       * linux-low.c (select_event_lwp_callback): Update comments to
+       no longer mention SIGTRAP.
+
+2015-03-18  Gary Benson  <gbenson@redhat.com>
+
+       * server.c (handle_query): Do not report vFile:fstat as supported.
+
+2015-03-11  Gary Benson  <gbenson@redhat.com>
+
+       * hostio.c (sys/types.h): New include.
+       (sys/stat.h): Likewise.
+       (common-remote-fileio.h): Likewise.
+       (handle_fstat): New function.
+       (handle_vFile): Handle vFile:fstat packets.
+
+2015-03-11  Gary Benson  <gbenson@redhat.com>
+
+       * configure.ac (AC_CHECK_MEMBERS): Add checks for
+       struct stat.st_blocks and struct stat.st_blksize.
+       * configure: Regenerate.
+       * config.in: Likewise.
+       * Makefile.in (SFILES): Add common/common-remote-fileio.c.
+       (OBS): Add common-remote-fileio.o.
+       (common-remote-fileio.o): New rule.
+
+2015-03-09  Pedro Alves  <palves@redhat.com>
+
+       * tracepoint.c (gdb_agent_helper_thread): Cast '&sockaddr' to
+       'struct sockaddr' pointer in 'accept' call.
+
+2015-03-09  Pedro Alves  <palves@redhat.com>
+
+       Revert:
+       2015-03-07  Pedro Alves  <palves@redhat.com>
+       * gdbreplay.c: No longer include <netinet/in.h>, <sys/socket.h>,
+       or <winsock2.h> here.  Instead include "gdb_socket.h".
+       (remote_open): Use union gdb_sockaddr_u.
+       * remote-utils.c: No longer include <netinet/in.h>, <sys/socket.h>
+       or <winsock2.h> here.  Instead include "gdb_socket.h".
+       (handle_accept_event, remote_prepare): Use union gdb_sockaddr_u.
+       * tracepoint.c: Include "gdb_socket.h" instead of <sys/socket.h>
+       or <sys/un.h>.
+       (init_named_socket, gdb_agent_helper_thread): Use union
+       gdb_sockaddr_u.
+
+2015-03-07  Pedro Alves  <palves@redhat.com>
+
+       * configure.ac (build_warnings): Move
+       -Wdeclaration-after-statement to the C-specific set.
+       * configure: Regenerate.
+
+2015-03-07  Pedro Alves  <palves@redhat.com>
+
+       * gdbreplay.c: No longer include <netinet/in.h>, <sys/socket.h>,
+       or <winsock2.h> here.  Instead include "gdb_socket.h".
+       (remote_open): Use union gdb_sockaddr_u.
+       * remote-utils.c: No longer include <netinet/in.h>, <sys/socket.h>
+       or <winsock2.h> here.  Instead include "gdb_socket.h".
+       (handle_accept_event, remote_prepare): Use union gdb_sockaddr_u.
+       * tracepoint.c: Include "gdb_socket.h" instead of <sys/socket.h>
+       or <sys/un.h>.
+       (init_named_socket, gdb_agent_helper_thread): Use union
+       gdb_sockaddr_u.
+
+2015-03-07  Pedro Alves  <palves@redhat.com>
+
+       Adjust all callers of TRY_CATCH to use TRY/CATCH/END_CATCH
+       instead.
+
+2015-03-06  Yao Qi  <yao.qi@linaro.org>
+
+       * linux-aarch64-low.c (aarch64_insert_point): Use
+       show_debug_regs as a boolean.
+       (aarch64_remove_point): Likewise.
+
+2015-03-05  Pedro Alves  <palves@redhat.com>
+
+       * lynx-low.c (lynx_target_ops): Install NULL hooks for
+       stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
+       stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint.
+       * nto-low.c (nto_target_ops): Likewise.
+       * spu-low.c (spu_target_ops): Likewise.
+       * win32-low.c (win32_target_ops): Likewise.
+
+2015-03-04  Pedro Alves  <palves@redhat.com>
+
+        * linux-low.c (check_stopped_by_breakpoint) [USE_SIGTRAP_SIGINFO]:
+       Decide whether a breakpoint triggered based on the SIGTRAP's
+       siginfo.si_code.
+        (thread_still_has_status_pending_p) [USE_SIGTRAP_SIGINFO]: Don't check whether a
+        breakpoint is inserted if relying on SIGTRAP's siginfo.si_code.
+       (linux_low_filter_event): Check for breakpoints before checking
+       watchpoints.
+       (linux_wait_1): Don't re-increment the PC if relying on SIGTRAP's
+       siginfo.si_code.
+        (linux_stopped_by_sw_breakpoint)
+        (linux_supports_stopped_by_sw_breakpoint)
+        (linux_stopped_by_hw_breakpoint)
+        (linux_supports_stopped_by_hw_breakpoint): New functions.
+        (linux_target_ops): Install new target methods.
+
 2015-03-04  Pedro Alves  <palves@redhat.com>
 
        * remote-utils.c (prepare_resume_reply): Report swbreak/hbreak.
This page took 0.03226 seconds and 4 git commands to generate.