+
+ * 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.
+
+
+ * server.c (gdbserver_usage): Reorganize and extend the usage
+ message.
+
+
+ * 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.
+
+
+ * linux-x86-low.c (x86_linux_new_thread): Moved to
+ nat/x86-linux.c.
+ (x86_linux_prepare_to_resume): Likewise.
+
+
+ * 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.
+
+
+ * linux-x86-low.c (x86_linux_update_debug_registers):
+ New function, factored out from...
+ (x86_linux_prepare_to_resume): ...this.
+
+
+ * 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.
+
+
+ * linux-x86-low.c (x86_linux_dr_get): Add assertion.
+ Use perror_with_name. Pass string through gettext.
+ (x86_linux_dr_set): Likewise.
+
+
+ * 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.
+
+
+ * 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.
+
+
+ * 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.
+
+
+ * 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.
+
+
+ * linux-low.h (linux_stop_lwp): Remove declaration.
+
+
+ * 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.
+
+
+ * linux-x86-low.c (x86_debug_reg_state): New function.
+ (x86_linux_prepare_to_resume): Use the above.
+
+
+ * 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.
+
+
+ * tracepoint.c (cmd_qtstatus): Make "str" const.
+
+
+ * server.c (handle_general_set): Make "req_str" const.
+
+
+ * 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.
+
+
+ * linux-low.c (count_events_callback, select_event_lwp_callback):
+ No longer check whether the thread has resume_stop as last resume
+ kind.
+
+
+ * linux-low.c (count_events_callback, select_event_lwp_callback):
+ Use the lwp's status_pending_p field, not the thread's.
+
+
+ * linux-low.c (select_event_lwp_callback): Update comments to
+ no longer mention SIGTRAP.
+
+
+ * server.c (handle_query): Do not report vFile:fstat as supported.
+
+
+ * 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.
+
+
+ * 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.
+
+
+ * tracepoint.c (gdb_agent_helper_thread): Cast '&sockaddr' to
+ 'struct sockaddr' pointer in 'accept' call.
+
+
+ Revert:
+ * 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.
+
+
+ * configure.ac (build_warnings): Move
+ -Wdeclaration-after-statement to the C-specific set.
+ * configure: Regenerate.
+
+
+ * 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.
+
+
+ Adjust all callers of TRY_CATCH to use TRY/CATCH/END_CATCH
+ instead.
+
+
+ * linux-aarch64-low.c (aarch64_insert_point): Use
+ show_debug_regs as a boolean.
+ (aarch64_remove_point): Likewise.
+
+
+ * 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.
+
+
+ * 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.
+
+
+ * remote-utils.c (prepare_resume_reply): Report swbreak/hbreak.
+ * server.c (swbreak_feature, hwbreak_feature): New globals.
+ (handle_query) <qSupported>: Handle "swbreak+" and "hwbreak+".
+ (captured_main): Clear swbreak_feature and hwbreak_feature.
+ * server.h (swbreak_feature, hwbreak_feature): Declare.
+ * target.h (struct target_ops) <stopped_by_sw_breakpoint,
+ supports_stopped_by_sw_breakpoint, stopped_by_hw_breakpoint,
+ supports_stopped_by_hw_breakpoint>: New fields.
+ (target_supports_stopped_by_sw_breakpoint)
+ (target_stopped_by_sw_breakpoint)
+ (target_supports_stopped_by_hw_breakpoint)
+ (target_stopped_by_hw_breakpoint): Declare.
+
+
+ enum lwp_stop_reason -> enum target_stop_reason
+ * linux-low.c (check_stopped_by_breakpoint): Adjust.
+ (thread_still_has_status_pending_p, check_stopped_by_watchpoint)
+ (linux_wait_1, stuck_in_jump_pad_callback)
+ (move_out_of_jump_pad_callback, linux_resume_one_lwp)
+ (linux_stopped_by_watchpoint):
+ * linux-low.h (enum lwp_stop_reason): Delete.
+ (struct lwp_info) <stop_reason>: Now an enum target_stop_reason.
+ * linux-x86-low.c (x86_linux_prepare_to_resume): Adjust.
+
+
+ * Makefile.in (SFILES): Add linux-aarch64-low.c.
+
+
+ * hostio.c (handle_vFile): Fix prefix lengths.
+
+
+ * linux-low.c (linux_low_enable_btrace): Do not overwrite non-zero
+ ptr_bits.
+
+
+ * Makefile.in (s390-vx-linux64.c, s390-tevx-linux64.c)
+ (s390x-vx-linux64.c, s390x-tevx-linux64.c): New rules.
+ (clean): Add "rm -f" for above C files.
+ * configure.srv (srv_regobj): Add s390-vx-linux64.o,
+ s390-tevx-linux64.o, s390x-vx-linux64.o, and s390x-tevx-linux64.o.
+ (srv_xmlfiles): Add s390-vx-linux64.xml, s390-tevx-linux64.xml,
+ s390x-vx-linux64.xml, s390x-tevx-linux64.xml, and s390-vx.xml.
+ * linux-s390-low.c (HWCAP_S390_VX): New macro.
+ (init_registers_s390_vx_linux64, init_registers_s390_tevx_linux64)
+ (init_registers_s390x_vx_linux64)
+ (init_registers_s390x_tevx_linux64)
+ (tdesc_s390_vx_linux64, tdesc_s390_tevx_linux64)
+ (tdesc_s390x_vx_linux64, tdesc_s390x_tevx_linux64): New extern
+ declarations.
+ (s390_fill_vxrs_low, s390_store_vxrs_low, s390_fill_vxrs_high)
+ (s390_store_vxrs_high): New functions.
+ (s390_regsets): Add entries for NT_S390_VXRS_LOW and
+ NT_S390_VXRS_HIGH.
+ (s390_arch_setup): Add logic for selecting one of the new target
+ descriptions. Activate the new vector regsets if applicable.
+ (initialize_low_arch): Also invoke init_registers_s390_vx_linux64,
+ init_registers_s390_tevx_linux64, init_registers_s390x_vx_linux64,
+ and init_registers_s390x_tevx_linux64.
+
+
+ * linux-i386-ipa.c (gdb_agent_get_raw_reg): Constify 'raw_regs'
+ parameter.
+
+
+ * linux-x86-low.c (u_debugreg_offset): New function.
+ (x86_linux_dr_get, x86_linux_dr_set): Use it.
+
+
+ * gdb_proc_service.h: Wrap with EXTERN_C_PUSH/EXTERN_C_POP.
+ [!HAVE_PROC_SERVICE_H] (struct ps_prochandle): Forward declare.
+ [!HAVE_PROC_SERVICE_H] (ps_pdread, ps_pdwrite, ps_ptread)
+ ps_ptwrite, ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
+ (ps_lsetfpregs, ps_getpid)
+ (ps_get_thread_area, ps_pglobal_lookup, ps_pstop, ps_pcontinue)
+ (ps_lstop, ps_lcontinue, ps_lgetxregsize, ps_lgetxregs)
+ (ps_lsetxregs, ps_plog): Declare.
+
+
+ * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Use
+ IP_AGENT_EXPORT_FUNC.
+ * linux-i386-ipa.c (gdb_agent_get_raw_reg): Use
+ IP_AGENT_EXPORT_FUNC.
+ * tracepoint.c (ATTR_USED, ATTR_NOINLINE, ATTR_CONSTRUCTOR)
+ (IP_AGENT_EXPORT): Delete.
+ (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
+ (gdb_trampoline_buffer, gdb_trampoline_buffer_end)
+ (gdb_trampoline_buffer_error, collecting, gdb_collect)
+ (stop_tracing, flush_trace_buffer, about_to_request_buffer_space)
+ (trace_buffer_is_full, stopping_tracepoint, expr_eval_result)
+ (error_tracepoint, tracepoints, tracing, trace_buffer_ctrl)
+ (trace_buffer_ctrl_curr, trace_buffer_lo, trace_buffer_hi)
+ (traceframe_read_count, traceframe_write_count)
+ (traceframes_created, trace_state_variables, get_raw_reg)
+ (get_trace_state_variable_value, set_trace_state_variable_value)
+ (ust_loaded, helper_thread_id, cmd_buf): Use
+ IPA_SYM_EXPORTED_NAME.
+ (stop_tracing, flush_trace_buffer): Use IP_AGENT_EXPORT_FUNC.
+ (tracepoints) Use IP_AGENT_EXPORT_VAR.
+ (stopping_tracepoint, trace_buffer_is_full, expr_eval_result): Use
+ IP_AGENT_EXPORT_VAR and wrap in EXTERN_C_PUSH/EXTERN_C_POP.
+ (last_tracepoint): Move into !IN_PROCESS_AGENT block.
+ (error_tracepoint): Use IP_AGENT_EXPORT_VAR and wrap in
+ EXTERN_C_PUSH/EXTERN_C_POP.
+ (trace_state_variables): Use IP_AGENT_EXPORT_VAR.
+ (trace_buffer_lo, trace_buffer_hi): Use IP_AGENT_EXPORT_VAR and
+ wrap in EXTERN_C_PUSH/EXTERN_C_POP.
+ (trace_buffer_ctrl, trace_buffer_ctrl_curr)
+ (traceframe_write_count, traceframe_read_count)
+ (traceframes_created, tracing): Use IP_AGENT_EXPORT_VAR.
+ (about_to_request_buffer_space, get_trace_state_variable_value)
+ (set_trace_state_variable_value): Use IP_AGENT_EXPORT_FUNC.
+ (collecting): Use IP_AGENT_EXPORT_VAR and wrap in
+ EXTERN_C_PUSH/EXTERN_C_POP.
+ (gdb_collect): Use IP_AGENT_EXPORT_FUNC.
+ (ust_loaded, cmd_buf): Use IP_AGENT_EXPORT_VAR.
+ (helper_thread_id, gdb_agent_capability): Use IP_AGENT_EXPORT_VAR
+ and wrap in EXTERN_C_PUSH/EXTERN_C_POP.
+ (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
+ (gdb_trampoline_buffer, gdb_trampoline_buffer_end)
+ (gdb_trampoline_buffer_error): Use IP_AGENT_EXPORT_VAR.
+ * tracepoint.h (ATTR_USED, ATTR_NOINLINE, EXPORTED_SYMBOL):
+ Define.
+ (IP_AGENT_EXPORT_FUNC, IP_AGENT_EXPORT_VAR)
+ (IP_AGENT_EXPORT_VAR_DECL): Define.
+ (tracing): Declare.
+ (gdb_agent_get_raw_reg): Declare.
+
+
+ Rename symbols whose names are reserved C++ keywords throughout.
+
+
+ * Makefile.in (COMPILER): New, get it from autoconf.
+ (CXX): Get from autoconf instead.
+ (COMPILE.pre): Use COMPILER.
+ (CC-LD): Rename to ...
+ (CC_LD): ... this. Use COMPILER.
+ (gdbserver$(EXEEXT), gdbreplay$(EXEEXT), $(IPA_LIB)): Adjust.
+ (CXX_FOR_TARGET): Default to g++ instead of gcc.
+ * acinclude.m4: Include build-with-cxx.m4.
+ * configure.ac: Call AC_PROG_CXX and GDB_AC_BUILD_WITH_CXX.
+ Disable -Werror by default if building in C++ mode.
+ (build_warnings): Add -Wno-sign-compare, -Wno-write-strings and
+ -Wno-narrowing in C++ mode. Run supported-warning-flags tests with
+ the C++ compiler. Save/restore CXXFLAGS too.
+ * configure: Regenerate.
+
+
+ * acinclude.m4: Include libiberty.m4.
+ * configure.ac: Call libiberty_INIT.
+ * config.in, configure: Regenerate.
+
+
+ * linux-low.c (linux_wait_1): When incrementing the PC past a
+ program breakpoint always use the_low_target.breakpoint_len as
+ increment, rather than the maximum between that and
+ the_low_target.decr_pc_after_break.
+
+
+ * linux-low.c (check_stopped_by_breakpoint): Don't check if the
+ thread was doing a step-over; always adjust the PC if
+ we stepped over a permanent breakpoint.
+ (linux_wait_1): If we stepped over breakpoint that was on top of a
+ permanent breakpoint, manually advance the PC past it.
+
+
+ * linux-x86-low.c (REGSIZE): Define in both 32-bit and 64-bit
+ modes.
+ (x86_fill_gregset, x86_store_gregset): Use it when handling
+ $orig_eax.
+
+
+ * thread-db.c: Include "nat/linux-procfs.h".
+ (thread_db_init): Skip listing new threads if the kernel supports
+ PTRACE_EVENT_CLONE and /proc/PID/task/ is accessible.
+
+
+ * linux-low.c (status_pending_p_callback): Use ptid_match.
+
+
+ PR breakpoints/16812
+ * linux-low.c (wstatus_maybe_breakpoint): Remove.
+ (linux_low_filter_event): Update wstatus_maybe_breakpoint name.
+ (linux_wait_1): Report SIGTRAP,SIGILL,SIGSEGV.
+
PR breakpoints/15956