diff options
Diffstat (limited to 'gdbserver/ChangeLog')
-rw-r--r-- | gdbserver/ChangeLog | 17997 |
1 files changed, 17997 insertions, 0 deletions
diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog new file mode 100644 index 0000000..a1d6e2a --- /dev/null +++ b/gdbserver/ChangeLog @@ -0,0 +1,17997 @@ +2020-02-07 Tom Tromey <tom@tromey.com> + Pedro Alves <palves@redhat.com> + + * README: Update build documentation. + * configure.srv: Set UNSUPPORTED if host is unsupported. Check + host, not target. + * configure.ac: Update paths. + * configure: Rebuild. + * acinclude.m4: Update paths. + * Makefile.in: Update include paths. + (depcomp, INCLUDE_DIR, INCGNU, INCSUPPORT, INCLUDE_CFLAGS) + (SFILES, XML_DIR, n, $(GNULIB_BUILDDIR)/Makefile, config.status) + (version-generated.c, stamp-xml, regdat_sh, arch/%-ipa.o) + (gdbsupport/%-ipa.o, %-ipa.o, arch/%.o, gdbsupport/%.o, %.o) + (%-generated.c): Update paths. + * Move entire directory from ../gdb/gdbserver. + +2020-01-29 Maciej W. Rozycki <macro@wdc.com> + + * configure.srv <i[34567]86-*-mingw*>: Fix whitespace damage. + +2020-01-29 Pedro Franco de Carvalho <pedromfc@linux.ibm.com> + + * configure.srv (powerpc*-*-linux*): Use srv_tgtobj in second + assignment instead of srv_linux_obj. + +2020-01-28 Hannes Domani <ssbssa@yahoo.de> + + * server.c (handle_qxfer_libraries): Write segment-address with + paddress. + +2020-01-24 Hannes Domani <ssbssa@yahoo.de> + + * Makefile.in (install-strip): New target. + (install_sh, INSTALL_STRIP_PROGRAM, STRIP): New variables. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * configure.ac: Add AM_PROG_INSTALL_STRIP. + +2020-01-24 Maciej W. Rozycki <macro@wdc.com> + + * Makefile.in (SFILES): Adjust paths to point to real files. + (OBS): Move waitstatus.o to target/waitstatus.o. + (TAGS): Transform paths appropriately. + (%.o): Rename to... + (nat/%.o): ... this pattern rule. + (%.o): Rename to... + (target/%.o): ... this pattern rule. + * configure.srv: Adjust paths throughout to include nat/ prefix + with the revant files. + * configure.ac: Add `nat' and `target' to CONFIG_SRC_SUBDIR. + * configure: Regenerate. + +2020-01-24 Maciej W. Rozycki <macro@wdc.com> + + * Makefile.in (TAGS): Remove config files from the recipe. + +2020-01-14 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + * configure.ac: Remove any checks that were added to common.m4. + * acinclude.m4: Include lib-ld.m4, lib-prefix.m4, and + lib-link.m4. + +2020-01-14 Tom Tromey <tom@tromey.com> + + * server.h: Include config.h. + * gdbreplay.c: Include config.h. + * configure: Rebuild. + * configure.ac: Don't source common.host. + * acinclude.m4: Update path. + * Makefile.in (INCSUPPORT): New variable. + (INCLUDE_CFLAGS): Add INCSUPPORT. + (SFILES): Update paths. + (version-generated.c): Update path to create-version.sh. + (gdbsupport/%-ipa.o, gdbsupport/%.o): Update paths. + +2020-01-14 Tom Tromey <tom@tromey.com> + + * configure.ac (LIBS): Use WIN32APILIBS. + (USE_WIN32API): Don't define. + * configure: Rebuild. + +2020-01-14 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + +2020-01-13 Simon Marchi <simon.marchi@efficios.com> + + * Makefile.in (%-generated.c): Remove rule for files from + regformats/i386. + +2020-01-13 Simon Marchi <simon.marchi@efficios.com> + + * configure: Re-generate. + +2020-01-13 Simon Marchi <simon.marchi@efficios.com> + + * tracepoint.h (IP_AGENT_EXPORT_FUNC) [!IN_PROCESS_AGENT]: + Define to static. + * tracepoint.c (stop_tracing, flush_trace_buffer, + about_to_request_buffer_space, get_trace_state_variable_value, + set_trace_state_variable_value, gdb_collect): Add declaration. + +2020-01-13 Simon Marchi <simon.marchi@efficios.com> + + * linux-x86-low.c (x86_linux_regs_info, amd64_emit_eq_goto, + amd64_emit_ne_goto, amd64_emit_lt_goto, amd64_emit_le_goto, + amd64_emit_gt_goto, amd64_emit_ge_goto, amd64_emit_ge_goto, + i386_emit_eq_goto, i386_emit_ne_goto, i386_emit_lt_goto, + i386_emit_le_goto, i386_emit_gt_goto, i386_emit_ge_goto): Make + static. + +2020-01-13 Simon Marchi <simon.marchi@efficios.com> + + * inferiors.c: Include gdbsupport/common-inferior.h. + +2020-01-13 Simon Marchi <simon.marchi@efficios.com> + + * hostio-errno.c: Include hostio.h. + +2020-01-13 Simon Marchi <simon.marchi@efficios.com> + + * Makefile.in (%-generated.c): Make $(regdat_sh) a regular + prerequisite. + +2020-01-12 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-arm-tdesc.c: Include linux-arm-tdesc.h. + * linux-arm-tdesc.h: Include arch/arm.h. + +2020-01-12 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-aarch64-low.c (aarch64_write_goto_address): Make static. + +2020-01-12 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-aarch32-tdesc.c: Include linux-aarch32-tdesc.h. + * linux-aarch64-tdesc.c: Include linux-aarch64-tdesc.h. + +2020-01-10 Pedro Alves <palves@redhat.com> + + * fork-child.c (post_fork_inferior): Pass target down to + startup_inferior. + * inferiors.c (switch_to_thread): Add process_stratum_target + parameter. + * lynx-low.c (lynx_target_ops): Now a process_stratum_target. + * nto-low.c (nto_target_ops): Now a process_stratum_target. + * linux-low.c (linux_target_ops): Now a process_stratum_target. + * remote-utils.c (prepare_resume_reply): Pass the target to + switch_to_thread. + * target.c (the_target): Now a process_stratum_target. + (done_accessing_memory): Pass the target to switch_to_thread. + (set_target_ops): Ajust to use process_stratum_target. + * target.h (struct target_ops): Rename to ... + (struct process_stratum_target): ... this. + (the_target, set_target_ops): Adjust. + (prepare_to_access_memory): Adjust comment. + * win32-low.c (child_xfer_memory): Adjust to use + process_stratum_target. + (win32_target_ops): Now a process_stratum_target. + +2020-01-06 Eli Zaretskii <eliz@gnu.org> + Pedro Alves <palves@redhat.com> + + * win32-low.c (get_child_debug_event): Extract the fatal exception + from the exit status and convert to the equivalent Posix signal + number. + (win32_wait): Allow TARGET_WAITKIND_SIGNALLED status as well. + * Makefile.in (OBS, SFILES): Add gdb_wait.[co]. + +2020-01-01 Hannes Domani <ssbssa@yahoo.de> + + * Makefile.in: Use INSTALL_PROGRAM_ENV. + +2020-01-01 Joel Brobecker <brobecker@adacore.com> + + * server.c (gdbserver_version): Change copyright year to 2020. + * gdbreplay.c (gdbreplay_version): Likewise. + +2019-12-19 Christian Biesinger <cbiesinger@google.com> + + * configure: Regenerate. + * configure.ac: Quote variable arguments of test. + +2019-12-16 Bernd Edlinger <bernd.edlinger@hotmail.de> + + * Makefile.in: Fix build with GNU Make 3.81 + +2019-12-16 Tom Tromey <tromey@adacore.com> + + * server.c (get_exec_file): Constify result. + +2019-12-10 Christian Biesinger <cbiesinger@google.com> + + * Makefile.in: Add safe-strerror.c to gdbreplay and IPA, and change + UNDO_GNULIB_CFLAGS to undo strerror_r instead of strerror. + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac: Don't check for strerror. + * linux-i386-ipa.c (initialize_fast_tracepoint_trampoline_buffer): + Call safe_strerror instead of strerror. + * server.h (strerror): Remove this now-unnecessary declaration. + * tracepoint.c (init_named_socket): Call safe_strerror instead of + strerror. + (gdb_agent_helper_thread): Likewise. + * utils.c (perror_with_name): Likewise. + +2019-11-26 Tom Tromey <tom@tromey.com> + + * configure, config.in: Rebuild. + +2019-11-26 Tom Tromey <tom@tromey.com> + + * remote-utils.c (block_unblock_async_io): Use gdb_sigmask. + * linux-low.c (linux_wait_for_event_filtered, linux_async): Use + gdb_sigmask. + * configure, config.in: Rebuild. + +2019-11-26 Tom Tromey <tom@tromey.com> + + * Makefile.in (PTHREAD_CFLAGS, PTHREAD_LIBS): New variables. + (INTERNAL_CFLAGS_BASE): Use PTHREAD_CFLAGS. + (GDBSERVER_LIBS): Use PTHREAD_LIBS. + * acinclude.m4: Include ax_pthread.m4. + * config.in, configure: Rebuild. + +2019-11-26 Christian Biesinger <cbiesinger@google.com> + + * debug.c (debug_set_output): Call safe_strerror instead of + strerror. + * linux-low.c (attach_proc_task_lwp_callback): Likewise. + (linux_kill_one_lwp): Likewise. + (linux_detach_one_lwp): Likewise. + (linux_wait_for_event_filtered): Likewise. + (store_register): Likewise. + * lynx-low.c (lynx_attach): Likewise. + * mem-break.c (insert_memory_breakpoint): Likewise. + (remove_memory_breakpoint): Likewise. + (delete_fast_tracepoint_jump): Likewise. + (set_fast_tracepoint_jump): Likewise. + (uninsert_fast_tracepoint_jumps_at): Likewise. + (reinsert_fast_tracepoint_jumps_at): Likewise. + * nto-low.c (nto_xfer_memory): Likewise. + (nto_resume): Likewise. + +2019-11-20 Luis Machado <luis.machado@linaro.org> + + * linux-aarch64-low.c (is_sve_tdesc): Check against target feature + instead of register count. + * tdesc.c (tdesc_contains_feature): New function. + * tdesc.h (tdesc_contains_feature): New prototype. + +2019-11-15 Christian Biesinger <cbiesinger@google.com> + + * Makefile.in: Add safe-strerror.c. + * configure: Regenerate. + * configure.ac: Don't source common.host. + +2019-11-15 Christian Biesinger <cbiesinger@google.com> + + * config.in: Regenerate. + * configure: Regenerate. + +2019-11-12 Andrew Burgess <andrew.burgess@embecosm.com> + + * ax.c (ax_printf): Handle size_t_arg. + +2019-11-06 Christian Biesinger <cbiesinger@google.com> + + * linux-tdep.c (linux_info_proc): Use strtok_r instead of strtok. + * mi/mi-main.c (output_cores): Likewise. + * nat/linux-osdata.c (linux_xfer_osdata_cpus): Likewise. + (linux_xfer_osdata_modules): Likewise. + * remote.c (register_remote_support_xml): Likewise. + * sparc64-tdep.c (adi_is_addr_mapped): Likewise. + * xml-syscall.c (syscall_create_syscall_desc): Likewise. + +2019-11-01 Christian Biesinger <cbiesinger@google.com> + + * configure: Regenerate. + * configure.ac: Remove check for strerror_r. + +2019-10-31 Christian Biesinger <cbiesinger@google.com> + + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac: Also check for strerror_r. + +2019-10-31 Christian Biesinger <cbiesinger@google.com> + + * ax.h (debug_agent): Remove duplicate declaration. + +2019-10-26 Tom de Vries <tdevries@suse.de> + + * linux-aarch64-low.c: Fix typos in comments. + * linux-arm-low.c: Same. + * linux-low.c: Same. + * linux-ppc-low.c: Same. + * proc-service.c: Same. + * regcache.h: Same. + * server.c: Same. + * tracepoint.c: Same. + * win32-low.c: Same. + +2019-10-25 Tom Tromey <tromey@adacore.com> + + * utils.c (xstrdup): Remove. + +2019-10-23 Tom Tromey <tom@tromey.com> + + * configure, config.in: Rebuild. + +2019-10-23 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + * acinclude.m4: Use m4_include, not sinclude. + +2019-10-17 Tom Tromey <tromey@adacore.com> + + * configure: Rebuild. + * configure.ac: Use AC_CONFIG_HEADERS. Create stamp-h there, not + in AC_CONFIG_FILES invocation. + * Makefile.in (stamp-h, Makefile): Use new-style config.status + invocation. + +2019-10-16 Christian Biesinger <cbiesinger@google.com> + + * server.c: Include xml-builtin.h. + (get_xml_features): Don't declare xml_builtins here. + +2019-10-15 Andrew Burgess <andrew.burgess@embecosm.com> + + * Makefile.in: Remove references to vec-ipa.o. + +2019-10-15 Andrew Burgess <andrew.burgess@embecosm.com> + + * Makefile.in: Remove references to vec.c. + +2019-10-02 Christian Biesinger <cbiesinger@google.com> + + * server.c (server_waiting): Change to bool. + (extended_protocol): Likewise. + (response_needed): Likewise. + (exit_requested): Likewise. + (run_once): Likewise. + (report_no_resumed): Likewise. + (non_stop): Likewise. + (disable_packet_vCont): Likewise. + (disable_packet_Tthread): Likewise. + (disable_packet_qC): Likewise. + (disable_packet_qfThreadInfo): Likewise. + (handle_general_set): Update. + (handle_detach): Update. + (handle_monitor_command): Update. + (handle_query): Update. + (captured_main): Update. + (process_serial_event): Update. + * server.h (server_waiting): Change to bool. + (disable_packet_vCont): Likewise. + (disable_packet_Tthread): Likewise. + (disable_packet_qC): Likewise. + (disable_packet_qfThreadInfo): Likewise. + (run_once): Likewise. + (non_stop): Likewise. + * target.c (target_stop_and_wait): Update. + +2019-10-02 Tom Tromey <tromey@adacore.com> + + * Makefile.in (SFILES): Add common-inferior.c. + (OBS): Add common-inferior.o. + * server.c (startup_with_shell): Don't define. + +2019-10-02 Andrew Burgess <andrew.burgess@embecosm.com> + + * linux-low.c (linux_low_read_btrace): Update for change to + std::vector. + +2019-09-20 Christian Biesinger <cbiesinger@google.com> + + * debug.c (debug_threads): Remove comment in favor of the header. + * debug.h (using_threads): Add declaration. + (debug_threads): Add comment. + * linux-aarch64-low.c: Include debug.h and remove declaration of + debug_threads. + * nto-low.c: Likewise. + * remote-utils.c: Likewise. + * thread-db.c: Likewise. + +2019-09-20 Ulrich Weigand <uweigand@de.ibm.com> + + * configure.srv (ipa_ppc_linux_regobj): Remove powerpc-cell32l-ipa.o + and powerpc-cell64l-ipa.o. + (powerpc*-*-linux*): Remove powerpc-cell32l.o and powerpc-cell64l.o + from srv_regobj. Remove rs6000/powerpc-cell32l.xml and + rs6000/powerpc-cell64l.xml from srv_xmlfiles. + (spu*-*-*): Remove. + + * spu-low.c: Remove file. + + * linux-ppc-low.c (INSTR_SC, NR_spu_run): Remove. + (parse_spufs_run): Remove. + (ppc_get_pc): Remove Cell/B.E. support. + (ppc_set_pc): Likewise. + (ppc_breakpoint_at): Likewise. + (ppc_arch_setup): Likewise. + (ppc_get_ipa_tdesc_idx): Do not handle tdesc_powerpc_cell64l or + tdesc_powerpc_cell32l. + (initialize_low_arch): Do not call init_registers_powerpc_cell64l + or init_registers_powerpc_cell32l. + * linux-ppc-ipa.c (get_ipa_tdesc): Do not handle PPC_TDESC_CELL. + (initialize_low_tracepoint): Do not call init_registers_powerpc_cell64l + or init_registers_powerpc_cell32l. + * linux-ppc-tdesc-init.h (PPC_TDESC_CELL): Mark as unused. + (init_registers_powerpc_cell32l): Remove prototype. + (init_registers_powerpc_cell64l): Likewise. + + * target.h (struct target_ops): Remove qxfer_spu member. + * server.c (handle_qxfer_spu): Remove. + (qxfer_packets): Remove entry for "spu". + (handle_query): No longer support qXfer:spu:read or qXfer:spu:write. + * linux-low.c (SPUFS_MAGIC): Remove. + (spu_enumerate_spu_ids): Remove. + (linux_qxfer_spu): Remove. + (linux_target_ops): Remove qxfer_spu member. + * lynx-low.c (lynx_target_ops): Remove qxfer_spu member. + * nto-low.c (nto_target_ops): Remove qxfer_spu member. + * win32-low.c (win32_target_ops): Remove qxfer_spu member. + +2019-08-23 Sergio Durigan Junior <sergiodj@redhat.com> + + * Makefile.in (SFILES): Add 'gdbsupport/gdb-dlfcn.c'. + (OBS): Add 'gdbsupport/gdb-dlfcn.o'. + * config.in: Regenerate. + * configure: Regenerate. + +2019-08-15 Tom Tromey <tromey@adacore.com> + + * target.c (target_write_memory): Use gdb::byte_vector. + +2019-08-15 Tom Tromey <tromey@adacore.com> + + * tracepoint.c (write_inferior_data_pointer) + (write_inferior_integer, write_inferior_int8) + (write_inferior_uinteger, m_tracepoint_action_download) + (r_tracepoint_action_download, x_tracepoint_action_download) + (l_tracepoint_action_download, clear_inferior_trace_buffer) + (download_agent_expr, download_tracepoint_1) + (download_trace_state_variables, upload_fast_traceframes): Update. + * server.c (gdb_write_memory): Update. + * remote-utils.c (relocate_instruction): Update. + * proc-service.c (ps_pdwrite): Update. + * mem-break.c (remove_memory_breakpoint) + (delete_fast_tracepoint_jump, set_fast_tracepoint_jump) + (uninsert_fast_tracepoint_jumps_at) + (reinsert_fast_tracepoint_jumps_at): Update. + * linux-x86-low.c (append_insns) + (i386_install_fast_tracepoint_jump_pad) + (amd64_write_goto_address, i386_write_goto_address): Update. + * linux-s390-low.c (append_insns, s390_write_goto_address): + Update. + * linux-ppc-low.c (ppc_relocate_instruction) + (ppc_install_fast_tracepoint_jump_pad, emit_insns) + (ppc_write_goto_address): Update. + * linux-aarch64-low.c (append_insns): Update. + * target.h (struct target_ops): Update. + (write_inferior_memory): Don't declare. + * target.c (target_write_memory): Rename from + write_inferior_memory. Remove old target_write_memory. + +2019-08-15 Tom Tromey <tromey@adacore.com> + + * target.c (write_inferior_memory): Use std::vector. + +2019-08-06 Frank Ch. Eigler <fche@redhat.com> + + PR build/24886 + * configure.ac: Drop enable-libmcheck support. + * configure, config.in: Rebuild. + * acinclude.m4: Don't include it. + +2019-07-19 Alan Hayward <alan.hayward@arm.com> + + * configure.srv: Remove Arm xml files. + +2019-07-19 Alan Hayward <alan.hayward@arm.com> + + * configure.srv: Add new files. Remove xml generated files. + * linux-aarch32-low.c (initialize_low_arch_aarch32): Don't init + registers. + * linux-aarch32-low.h (tdesc_arm_with_neon): Remove. + * linux-aarch32-tdesc.c: New file. + * linux-aarch32-tdesc.h: New file. + * linux-aarch64-low.c (aarch64_arch_setup): Call aarch32_linux_read_description. + * linux-arm-low.c (init_registers_arm, tdesc_arm) + (init_registers_arm_with_iwmmxt, tdesc_arm_with_iwmmxt) + (init_registers_arm_with_vfpv2, tdesc_arm_with_vfpv2) + (init_registers_arm_with_vfpv3, tdesc_arm_with_vfpv3): Remove. + (arm_fill_wmmxregset, arm_store_wmmxregset, arm_fill_vfpregset) + (arm_store_vfpregset): Call arm_linux_get_tdesc_fp_type. + (arm_read_description): Call arm_linux_read_description. + (initialize_low_arch): Don't init registers. + * linux-arm-tdesc.c: New file. + * linux-arm-tdesc.h: New file. + +2019-07-10 Alan Hayward <alan.hayward@arm.com> + + * linux-arm-low.c (arm_fill_wmmxregset, arm_store_wmmxregset): + Move counter inside for. + (arm_read_description): Check ptrace earlier. + (arm_arch_setup): Call arm_linux_init_hwbp_cap here. + +2019-07-09 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + * configure.ac: Change common to gdbsupport. + * acinclude.m4: Change common to gdbsupport. + * Makefile.in (SFILES, OBS, GDBREPLAY_OBS, IPA_OBJS) + (version-generated.c, gdbsupport/%-ipa.o, gdbsupport/%.o): Change + common to gdbsupport. + * ax.c, event-loop.c, fork-child.c, gdb_proc_service.h, + gdbreplay.c, gdbthread.h, hostio-errno.c, hostio.c, i387-fp.c, + inferiors.c, inferiors.h, linux-aarch64-tdesc-selftest.c, + linux-amd64-ipa.c, linux-i386-ipa.c, linux-low.c, + linux-tic6x-low.c, linux-x86-low.c, linux-x86-tdesc-selftest.c, + linux-x86-tdesc.c, lynx-i386-low.c, lynx-low.c, mem-break.h, + nto-x86-low.c, regcache.c, regcache.h, remote-utils.c, server.c, + server.h, spu-low.c, symbol.c, target.h, tdesc.c, tdesc.h, + thread-db.c, tracepoint.c, win32-i386-low.c, win32-low.c: Change + common to gdbsupport. + +2019-07-04 Alan Hayward <alan.hayward@arm.com> + + * linux-aarch32-low.c (arm_read_description, arm_regsets): Use new + defines. + * linux-arm-low.c (arm_read_description, arm_regsets): Likewise. + +2019-07-04 Alan Hayward <alan.hayward@arm.com> + + * configure.srv: Remove legacy xml. + * linux-aarch64-low.c (initialize_low_arch): Remove + initialize_low_tdesc call. + * linux-aarch64-tdesc-selftest.c: Remove file. + * linux-aarch64-tdesc.h (initialize_low_tdesc): Remove. + * linux-x86-low.c (initialize_low_arch): Remove + initialize_low_tdesc call. + * linux-x86-tdesc-selftest.c: Remove file. + * linux-x86-tdesc.h (initialize_low_tdesc): Remove. + +2019-06-20 Tom de Vries <tdevries@suse.de> + + * linux-s390-ipa.c (get_ipa_tdesc)[!__s390x__]: Use + s390_te_linux64_ft_collect_regmap for S390_TDESC_GS. + +2019-06-19 Tom de Vries <tdevries@suse.de> + + * debug.h (debug_write): Change return type to ssize_t. + * debug.c (debug_write): Same. + +2019-06-14 Tom Tromey <tom@tromey.com> + + * configure.ac: Use new path to gnulib. + * configure: Rebuild. + * Makefile.in (INCGNU, $(GNULIB_BUILDDIR)/Makefile): Use new path + to gnulib. + +2019-06-11 Tom Tromey <tom@tromey.com> + + * Makefile.in (SFILES): Add alloc.c. + (OBS): Add alloc.o. + (IPA_OBJS): Add alloc-ipa.o. + (alloc-ipa.o): New target. + (%.o: ../%.c): New pattern rule. + +2019-06-10 Tom Tromey <tromey@adacore.com> + + * remote-utils.c (look_up_one_symbol, relocate_instruction): Don't + end warning with a newline. + * linux-s390-low.c (s390_get_wordsize): Don't end warning with a + newline. + * thread-db.c (attach_thread): Don't end warning with a newline. + (thread_db_notice_clone): Likewise. + * tracepoint.c (gdb_agent_helper_thread): Don't end warning with a + newline. + * linux-x86-low.c (x86_get_min_fast_tracepoint_insn_len): Don't + end warning with a newline. + +2019-06-04 Pedro Alves <palves@redhat.com> + + * server.c (captured_main): Use make_unique_xstrdup. + +2019-06-02 Tom Tromey <tom@tromey.com> + + * gdbreplay.c (fromhex): Remove. + * Makefile.in (GDBREPLAY_OBS): Add rsp-low.o. + +2019-05-29 Tom Tromey <tromey@adacore.com> + + * configure: Rebuild. + +2019-05-06 Kevin Buettner <kevinb@redhat.com> + + * linux-x86-low.c (x86_fill_gregset): Don't compile 64-bit + sign extension code on 32-bit builds. + +2019-05-03 Eli Zaretskii <eliz@gnu.org> + + * remote-utils.c: + * gdbreplay.c [USE_WIN32API]: Remove the _WIN32_WINNT override. + +2019-04-19 Tom Tromey <tom@tromey.com> + + * server.c (struct vstop_notif): Derive from notif_event. + <base>: Remove. + (queue_stop_reply): Update. + (remove_all_on_match_ptid): Change type. Rewrite. + (discard_queued_stop_replies): Rewrite. + (in_queued_stop_replies_ptid): Change type. + (in_queued_stop_replies): Rewrite. + (notif_stop): Update. + (queue_stop_reply_callback): Update. + (captured_main): Don't call initialize_notif. + (push_stop_notification): Update. + * notif.c (notif_write_event, handle_notif_ack) + (notif_event_enque, notif_push): Update. + (notif_event_xfree, initialize_notif): Remove. + * notif.h (struct notif_event): Include <list>, not + "common/queue.h". + (struct notif_server) <queue>: Now a std::list. + (notif_event_p): Remove typedef. + (initialize_notif): Don't declare. + (struct notif_event): Add virtual destructor. + +2019-04-17 Alan Hayward <alan.hayward@arm.com> + + * ax.c (ax_vdebug): Call debug_printf. + * debug.c (debug_write): New function. + * debug.h (debug_write): New declaration. + * linux-low.c (sigchld_handler): Call debug_write. + +2019-04-17 Alan Hayward <alan.hayward@arm.com> + + * debug.c (debug_set_output): New function. + (debug_vprintf): Send output to debug_file. + (debug_flush): Likewise. + * debug.h (debug_set_output): New declaration. + * server.c (handle_monitor_command): Add debug-file option. + (captured_main): Likewise. + +2019-04-17 Alan Hayward <alan.hayward@arm.com> + + * debug.c (remote_debug): Add definition. + * debug.h (remote_debug): Add declaration. + * hostio.c (remote_debug): Remove declaration. + * remote-utils.c (struct ui_file): Likewise. + (remote_debug): Likewise. + * remote-utils.h (remote_debug): Likewise, + * server.c (remote_debug): Remove definition. + +2019-04-10 Kevin Buettner <kevinb@redhat.com> + + * linux-x86-low.c (x86_fill_gregset): Sign extend EAX value + when using a 64-bit gdbserver. + +2019-04-09 Tom Tromey <tromey@adacore.com> + + * linux-low.c (select_event_lwp): Use find_thread_in_random. + +2019-04-08 Tom Tromey <tom@tromey.com> + + * linux-low.c (linux_detach_one_lwp): Replace throw_exception with + throw. + (linux_resume_one_lwp): Likewise. + +2019-04-08 Tom Tromey <tom@tromey.com> + + * gdbreplay.c: Update. + * linux-low.c: Update. + * server.c: Update. + +2019-04-08 Tom Tromey <tom@tromey.com> + + * server.c: Use C++ exception handling. + * linux-low.c: Use C++ exception handling. + * gdbreplay.c: Use C++ exception handling. + +2019-04-08 Tom Tromey <tom@tromey.com> + + * server.c (handle_btrace_general_set, handle_qxfer_btrace) + (handle_qxfer_btrace_conf, detach_or_kill_for_exit_cleanup) + (captured_main, main): Update. + * gdbreplay.c (main): Update. + +2019-04-05 Pedro Franco de Carvalho <pedromfc@linux.ibm.com> + + * linux-low.c (linux_get_auxv): Remove static. Return auxv entry + value in argument pointer, return 1 if the entry is found and 0 + otherwise. Move comment. + (linux_get_hwcap, linux_get_hwcap2): Use modified linux_get_auxv. + * linux-low.h (linux_get_auxv): Declare. + * linux-ppc-low.c (is_elfv2_inferior): Use linux_get_auxv. + +2019-04-05 Tom Tromey <tromey@adacore.com> + + * server.c (gdbserver_usage): Use upper-case for metasyntactic + variables. + +2019-03-28 Alan Hayward <alan.hayward@arm.com> + + * linux-low.c (AT_HWCAP2): Add define if not already included. + +2019-03-26 Alan Hayward <alan.hayward@arm.com> + + * linux-aarch64-low.c (aarch64_get_hwcap): Remove function. + (aarch64_arch_setup): Call linux_get_hwcap. + * linux-arm-low.c (arm_get_hwcap): Remove function. + (arm_read_description): Call linux_get_hwcap. + * linux-low.c (linux_get_auxv): New function. + (linux_get_hwcap): Likewise. + (linux_get_hwcap2): Likewise. + * linux-low.h (linux_get_hwcap): New declaration. + (linux_get_hwcap2): Likewise. + * linux-ppc-low.c (ppc_get_auxv): Remove function. + (ppc_arch_setup): Call linux_get_hwcap. + * linux-s390-low.c (s390_get_hwcap): Remove function. + (s390_arch_setup): Call linux_get_hwcap. + +2019-03-22 Alan Hayward <alan.hayward@arm.com> + Jiong Wang <jiong.wang@arm.com> + + * linux-aarch64-low.c (aarch64_store_pauthregset): New function. + * linux-low.c (regsets_store_inferior_registers): Allow optional reads + to fail. + * linux-low.h (enum regset_type): Add OPTIONAL_REGS. + +2019-03-22 Alan Hayward <alan.hayward@arm.com> + Jiong Wang <jiong.wang@arm.com> + + * linux-aarch64-low.c (AARCH64_HWCAP_PACA): New define. + (aarch64_get_hwcap): New function. + (aarch64_arch_setup): Read APIA hwcap. + +2019-03-22 Alan Hayward <alan.hayward@arm.com> + Jiong Wang <jiong.wang@arm.com> + + * linux-aarch64-ipa.c (get_ipa_tdesc): Add pauth param. + (initialize_low_tracepoint): Likewise. + * linux-aarch64-low.c (aarch64_arch_setup): Likewise. + * linux-aarch64-tdesc-selftest.c (aarch64_tdesc_test): Likewise. + * linux-aarch64-tdesc.c (struct target_desc): Likewise. + (aarch64_linux_read_description): Likewise. + * linux-aarch64-tdesc.h (aarch64_linux_read_description): Likewise. + +2019-03-12 John Baldwin <jhb@FreeBSD.org> + + * linux-x86-tdesc.c (i386_linux_read_description): Update call to + i386_create_target_description for 'segments' parameter. + * lynx-i386-low.c (lynx_i386_arch_setup): Likewise. + * nto-x86-low.c (nto_x86_arch_setup): Likewise. + * win32-i386-low.c (i386_arch_setup): Likewise. + +2019-03-12 Tom Tromey <tromey@adacore.com> + + * linux-low.c (iterate_over_lwps): Update. + +2019-03-06 Tom Tromey <tom@tromey.com> + + * server.c (detach_or_kill_for_exit_cleanup): Remove parameter. + (captured_main): Use SCOPE_EXIT. + +2019-03-04 Sergio Durigan Junior <sergiodj@redhat.com> + + * configure.srv: Use '$enable_unittest' instead of '$development' + when checking whether to fill 'srv_regobj' on 'aarch64*-*-linux*' + case. + +2019-02-27 Tom Tromey <tromey@adacore.com> + + * gdbreplay.c (logchar): Handle \r\n. + +2019-02-07 Alan Hayward <alan.hayward@arm.com> + + * linux-low.c (linux_attach): Add process before lwp. + * server.c (attach_inferior): Check if already attached. + +2019-02-07 Tom Tromey <tom@tromey.com> + + * x86-tdesc.h: Rename include guard. + * x86-low.h: Add include guard. + * wincecompat.h: Rename include guard. + * win32-low.h: Add include guard. + * utils.h: Rename include guard. + * tracepoint.h: Rename include guard. + * tdesc.h: Rename include guard. + * target.h: Rename include guard. + * server.h: Rename include guard. + * remote-utils.h: Rename include guard. + * regcache.h: Rename include guard. + * nto-low.h: Rename include guard. + * notif.h: Add include guard. + * mem-break.h: Rename include guard. + * lynx-low.h: Add include guard. + * linux-x86-tdesc.h: Add include guard. + * linux-s390-tdesc.h: Add include guard. + * linux-ppc-tdesc-init.h: Add include guard. + * linux-low.h: Add include guard. + * linux-aarch64-tdesc.h: Add include guard. + * linux-aarch32-low.h: Add include guard. + * inferiors.h: Rename include guard. + * i387-fp.h: Rename include guard. + * hostio.h: Rename include guard. + * gdbthread.h: Rename include guard. + * gdb_proc_service.h: Rename include guard. + * event-loop.h: Rename include guard. + * dll.h: Rename include guard. + * debug.h: Rename include guard. + * ax.h: Rename include guard. + +2018-01-30 Szabolcs Nagy <szabolcs.nagy@arm.com> + + PR gdb/23985 + * Makefile.in (IPAGENT_CFLAGS): Add UNDO_GNULIB_CFLAGS. + (UNDO_GNULIB_CFLAGS): Undo gnulib replacements. + +2019-01-25 Tom Tromey <tom@tromey.com> + + * Makefile.in (INCLUDE_CFLAGS): Don't add -I for common. + +2019-01-25 Tom Tromey <tom@tromey.com> + + * win32-low.c: Fix common/ includes. + * win32-i386-low.c: Fix common/ includes. + * tracepoint.c: Fix common/ includes. + * thread-db.c: Fix common/ includes. + * target.h: Fix common/ includes. + * symbol.c: Fix common/ includes. + * spu-low.c: Fix common/ includes. + * server.h: Fix common/ includes. + * server.c: Fix common/ includes. + * remote-utils.c: Fix common/ includes. + * regcache.h: Fix common/ includes. + * regcache.c: Fix common/ includes. + * nto-x86-low.c: Fix common/ includes. + * notif.h: Fix common/ includes. + * mem-break.h: Fix common/ includes. + * lynx-low.c: Fix common/ includes. + * lynx-i386-low.c: Fix common/ includes. + * linux-x86-tdesc-selftest.c: Fix common/ includes. + * linux-x86-low.c: Fix common/ includes. + * linux-low.c: Fix common/ includes. + * inferiors.h: Fix common/ includes. + * i387-fp.c: Fix common/ includes. + * hostio.c: Fix common/ includes. + * hostio-errno.c: Fix common/ includes. + * gdbthread.h: Fix common/ includes. + * gdbreplay.c: Fix common/ includes. + * fork-child.c: Fix common/ includes. + * event-loop.c: Fix common/ includes. + * ax.c: + (enum gdb_agent_op): Fix common/ includes. + +2019-01-21 Tom Tromey <tom@tromey.com> + + * tracepoint.c: Fix includes. + * remote-utils.c: Fix includes. + * linux-x86-low.c: Fix includes. + +2019-01-01 Joel Brobecker <brobecker@adacore.com> + + * gdbreplay.c (gdbreplay_version): Update copyright year in + version message. + * server.c (gdbserver_version): Likewise. + +2018-12-05 Alan Hayward <alan.hayward@arm.com> + + * linux-low.c (add_lwp): Switch ordering. + +2018-11-29 Tom Tromey <tom@tromey.com> + + * win32-low.c (win32_join): Take pid, not process. + * target.h (struct target_ops) <join>: Change argument type. + (join_inferior): Change argument name. + * spu-low.c (spu_join): Take pid, not process. + * server.c (handle_detach): Preserve pid before destroying + process. + * lynx-low.c (lynx_join): Take pid, not process. + * linux-low.c (linux_join): Take pid, not process. + +2018-11-23 Alan Hayward <alan.hayward@arm.com> + + * linux-aarch64-low.c (aarch64_cannot_store_register): Remove. + (aarch64_cannot_fetch_register): Likewise. + (struct linux_target_ops): Update references. + +2018-10-31 Pedro Franco de Carvalho <pedromfc@linux.ibm.com> + + * linux-ppc-low.c: Include nat/linux-ptrace.h. + +2018-10-26 Pedro Franco de Carvalho <pedromfc@linux.ibm.com> + + * configure.srv (ipa_ppc_linux_regobj): Add + powerpc-isa207-htm-vsx32l-ipa.o and + powerpc-isa207-htm-vsx64l-ipa.o. + (powerpc*-*-linux*): Add powerpc-isa207-htm-vsx32l.o and + powerpc-isa207-htm-vsx64l.o to srv_regobj. Add + rs6000/power-htm-spr.xml, rs6000/power-htm-core.xml, + rs6000/power64-htm-core.xml, rs6000/power-htm-fpu.xml, + rs6000/power-htm-altivec.xml, rs6000/power-htm-vsx.xml, + rs6000/power-htm-ppr.xml, rs6000/power-htm-dscr.xml, + rs6000/power-htm-tar.xml, rs6000/powerpc-isa207-htm-vsx32l.xml, + and rs6000/powerpc-isa207-htm-vsx64l.xml to srv_xmlfiles. + * linux-ppc-tdesc-init.h (enum ppc_linux_tdesc) + <PPC_TDESC_ISA207_HTM_VSX>: New enum value. + (init_registers_powerpc_isa207_htm_vsx32l) + (init_registers_powerpc_isa207_htm_vsx64l): Declare. + * linux-ppc-low.c (ppc_fill_tm_sprregset, ppc_store_tm_sprregset) + (ppc_store_tm_cgprregset, ppc_store_tm_cfprregset) + (ppc_store_tm_cvrregset, ppc_store_tm_cvsxregset) + (ppc_store_tm_cpprregset, ppc_store_tm_cdscrregset) + (ppc_store_tm_ctarregset): New functions. + (ppc_regsets): Add entries for HTM regsets. + (ppc_arch_setup): Set htm in features struct when needed. Set + sizes for the HTM regsets. + (ppc_get_ipa_tdesc_idx): Return PPC_TDESC_ISA207_HTM_VSX. + (initialize_low_arch): Call + init_registers_powerpc_isa207_htm_vsx32l and + init_registers_powerpc_isa207_htm_vsx64l. + * linux-ppc-ipa.c (get_ipa_tdesc): Handle + PPC_TDESC_ISA207_HTM_VSX. + (initialize_low_tracepoint): Call + init_registers_powerpc_isa207_htm_vsx32l and + init_registers_powerpc_isa207_htm_vsx64l. + +2018-10-26 Pedro Franco de Carvalho <pedromfc@linux.ibm.com> + + * configure.srv (powerpc*-*-linux*): Add rs6000/power-ebb.xml and + rs6000/power-linux-pmu.xml to srv_xmlfiles. + * linux-ppc-low.c (ppc_store_ebbregset, ppc_fill_pmuregset) + (ppc_store_pmuregset): New functions. + (ppc_regsets): Add entries for ebb and pmu regsets. + (ppc_arch_setup): Set isa207 in features struct if the ebb and + pmu regsets are available. Set sizes for these regsets. + +2018-10-26 Pedro Franco de Carvalho <pedromfc@linux.ibm.com> + + * configure.srv (ipa_ppc_linux_regobj): Add + powerpc-isa207-vsx64l-ipa.o and powerpc-isa207-vsx32l-ipa.o. + (powerpc*-*-linux*): Add powerpc-isa207-vsx32l.o and + powerpc-isa207-vsx64l.o to srv_regobj, add rs6000/power-tar.xml, + rs6000/powerpc-isa207-vsx32l.xml, and + rs6000/powerpc-isa207-vsx64l.xml to srv_xmlfiles. + * linux-ppc-tdesc-init.h (enum ppc_linux_tdesc) + <PPC_TDESC_ISA207_VSX>: New enum value. + (init_registers_powerpc_isa207_vsx32l): Declare. + (init_registers_powerpc_isa207_vsx64l): Declare. + * linux-ppc-low.c (ppc_fill_tarregset): New function. + (ppc_store_tarregset): New function. + (ppc_regsets): Add entry for the TAR regset. + (ppc_arch_setup): Set isa207 in features struct when needed. Set + size for the TAR regsets. + (ppc_get_ipa_tdesc_idx): Return PPC_TDESC_ISA207_VSX. + (initialize_low_arch): Call init_registers_powerpc_isa207_vsx32l + and init_registers_powerpc_isa207_vsx64l. + * linux-ppc-ipa.c (get_ipa_tdesc): Handle PPC_TDESC_ISA207_VSX. + (initialize_low_tracepoint): Call + init_registers_powerpc_isa207_vsx32l and + init_registers_powerpc_isa207_vsx64l. + +2018-10-26 Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com> + Pedro Franco de Carvalho <pedromfc@linux.ibm.com> + + * configure.srv (ipa_ppc_linux_regobj): Add + powerpc-isa205-ppr-dscr-vsx32l-ipa.o and + powerpc-isa205-ppr-dscr-vsx64l-ipa.o. + (powerpc*-*-linux*): Add powerpc-isa205-ppr-dscr-vsx32l.o and + powerpc-isa205-ppr-dscr-vsx64l.o to srv_regobj, add + rs6000/power-dscr.xml, rs6000/power-ppr.xml, + rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml and + rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml to srv_xmlfiles. + * linux-ppc-tdesc-init.h (enum ppc_linux_tdesc) + <PPC_TDESC_ISA205_PPR_DSCR_VSX>: New enum value. + (init_registers_powerpc_isa205_ppr_dscr_vsx32l) + (init_registers_powerpc_isa205_ppr_dscr_vsx64l): Declare. + * linux-ppc-low.c: Include "elf/common.h" and <sys/uio.h>. + (ppc_hwcap): Add comment. + (ppc_hwcap2): New global. + (ppc_check_regset, ppc_fill_pprregset, ppc_store_pprregset) + (ppc_fill_dscrregset, ppc_store_dscrregset): New functions. + (ppc_regsets): Add entries for the DSCR and PPR regsets. + (ppc_arch_setup): Get AT_HWCAP2. Set ppr_dscr in features struct + when needed. Set sizes for the the DSCR and PPR regsets. + (ppc_get_ipa_tdesc_idx): Return PPC_TDESC_ISA205_PPR_DSCR_VSX. + (initialize_low_arch): Call + init_registers_powerpc_isa205_ppr_dscr_vsx32l and + init_registers_powerpc_isa205_ppr_dscr_vsx64l. + * linux-ppc-ipa.c (get_ipa_tdesc): Handle + PPC_TDESC_ISA205_PPR_DSCR_VSX. + (initialize_low_tracepoint): Call + init_registers_powerpc_isa205_ppr_dscr_vsx32l and + init_registers_powerpc_isa205_ppr_dscr_vsx64l. + +2018-10-26 Pedro Franco de Carvalho <pedromfc@linux.ibm.com> + + * linux-ppc-low.c (ppc_fill_vrregset): Remove memset calls. + +2018-10-10 Sergio Durigan Junior <sergiodj@redhat.com> + Simon Marchi <simark@simark.ca> + + * acinclude.m4: Include "../selftest.m4". + * configure: Regenerate. + * configure.ac: Use "GDB_AC_SELFTEST". + * configure.srv: Use "$enable_unittests" instead of + "$development" when checking whether unit tests have been + enabled. + * server.c (captured_main): Update message informing that + selftests have been disabled. + +2018-10-04 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + +2018-10-04 Tom Tromey <tom@tromey.com> + + * server.c (handle_status): Rename inner "thread". + (process_serial_event): Declare "res" in 'm' case. + * linux-low.c (last_thread_of_process_p, find_lwp_pid) + (iterate_over_lwps): Rename inner "thread". + (linux_qxfer_libraries_svr4): Rename inner "len". + * gdbthread.h (find_thread_in_random): Rename inner "thread". + +2018-10-01 Gary Benson <gbenson@redhat.com> + + * gdb_proc_service.h: Moved common code to + common/gdb_proc_service.h. + +2018-10-01 Gary Benson <gbenson@redhat.com> + + * gdb_proc_service.h: Synchronize comments and whitespace with + GDB's version of this file. + +2018-09-25 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + * configure.ac (WARN_CFLAGS): Don't remove -Wmissing-prototypes. + +2018-09-16 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in (gdbserver$(EXEEXT)): Sort OBS. + (gdbreplay$(EXEEXT)): Sort GDBREPLAY_OBS. + ($(IPA_LIB)): Sort IPA_OBJS. + +2018-09-16 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in: Remove references to $(ADD_DEPS). + +2018-09-16 Tom Tromey <tom@tromey.com> + + * remote-utils.c (remote_open): Use GNU style for metasyntactic + variables. + * gdbreplay.c (gdbreplay_usage): Use GNU style for metasyntactic + variables. + +2018-09-05 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + +2018-08-28 Simon Marchi <simon.marchi@polymtl.ca> + + PR build/23399 + * tracepoint.c (IPA_SYM_STRUCT_NAME): Define. + +2018-08-27 Tom Tromey <tom@tromey.com> + + PR build/23087: + * configure: Rebuild. + +2018-08-27 Tom Tromey <tom@tromey.com> + + * linux-s390-low.c (s390_emit_ext, s390_emit_litpool) + (s390_emit_const, s390_emit_reg, s390_emit_zero_ext) + (s390_emit_stack_adjust, s390_emit_set_r2, s390x_emit_ext) + (s390x_emit_const, s390x_emit_reg, s390x_emit_zero_ext) + (s390x_emit_stack_adjust): Add casts to unsigned char. + +2018-08-22 Simon Marchi <simon.marchi@ericsson.com> + + PR gdb/23374 + PR gdb/23375 + * server.h (struct client_state) <disable_randomization>: + Initialize to 1. + +2018-07-22 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-mips-low.c (mips_collect_ptrace_register): Remove unused + variable. + (mips_supply_ptrace_register): Likewise. + +2018-07-22 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + +2018-07-22 Tom Tromey <tom@tromey.com> + + * win32-low.c (win32_create_inferior): Remove unused variables. + * gdbreplay.c (remote_open): Remove unused variable. + * remote-utils.c (remote_prepare): Remove unused variable. + * x86-tdesc.h (X86_TDESC_H): Define. + (amd64_expedite_regs): Define conditionally. + (i386_expedite_regs): Mark ATTRIBUTE_UNUSED. + * linux-x86-tdesc.c (i386_tdescs): Move inside #if. + * remote-utils.c (readchar): Remove unused variable. + +2018-07-13 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_kill): Change parameter to process_info + pointer instead of pid. Adjust. + * lynx-low.c (lynx_kill): Likewise. + * nto-low.c (nto_kill): Likewise. + * spu-low.c (spu_kill): Likewise. + * win32-low.c (win32_kill): Likewise. + * server.c (handle_v_kill, kill_inferior_callback) + (detach_or_kill_for_exit): Adjust. + * target.c (kill_inferior): Change parameter to process_info + pointer instead of pid. Adjust. + * target.h (struct target_ops) <kill>: Change parameter to + process_info pointer instead of pid. Adjust all implementations + and callers. + (kill_inferior): Likewise. + +2018-07-13 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_detach, linux_join): Change parameter to + process_info pointer instead of pid. Adjust. + * lynx-low.c (lynx_detach, lynx_join): Likewise. + * nto-low.c (nto_detach): Likewise. + * spu-low.c (spu_detach, spu_join): Likewise. + * win32-low.c (win32_detach, win32_join): Likewise. + * server.c (handle_detach, detach_or_kill_for_exit): Adjust. + * target.h (struct target_ops) <detach, join>: Change parameter to + process_info pointer instead of pid. Adjust all implementations + and callers. + (detach_inferior, join_inferior): Rename 'pid' parameter to + 'proc'. + +2018-07-11 Sergio Durigan Junior <sergiodj@redhat.com> + Jan Kratochvil <jan.kratochvil@redhat.com> + Paul Fertser <fercerpav@gmail.com> + Tsutomu Seki <sekiriki@gmail.com> + + * Makefile.in (SFILES): Add '$(srcdir)/common/netstuff.c'. + (OBS): Add 'common/netstuff.o'. + (GDBREPLAY_OBS): Likewise. + * gdbreplay.c: Include 'wspiapi.h' and 'netstuff.h'. + (remote_open): Implement support for IPv6 + connections. + * remote-utils.c: Include 'netstuff.h', 'filestuff.h' + and 'wspiapi.h'. + (handle_accept_event): Accept connections from IPv6 sources. + (remote_prepare): Handle IPv6-style hostnames; implement + support for IPv6 connections. + (remote_open): Implement support for printing connections from + IPv6 sources. + +2018-07-11 Pedro Alves <palves@redhat.com> + + PR gdb/23377 + * mem-break.c (any_persistent_commands): Add process_info + parameter and use it instead of relying on the current process. + Change return type to bool. + * mem-break.h (any_persistent_commands): Add process_info + parameter and change return type to bool. + * server.c (handle_detach): Remove require_running_or_return call. + Look up the process_info for the process we're about to detach. + If not found, return back error to GDB. Adjust + any_persistent_commands call to pass down a process pointer. + +2018-07-11 Pedro Alves <palves@redhat.com> + + * i387-fp.c (i387_cache_to_fsave, cache_to_fxsave) + (i387_cache_to_xsave): Use regcache_raw_get_unsigned_by_name + instead of collect_register_by_name. + * regcache.c (regcache_raw_get_unsigned_by_name): New. + * regcache.h (regcache_raw_get_unsigned_by_name): New. + +2018-07-04 Vyacheslav Barinov <v.barinov@samsung.com> + Pedro Alves <palves@redhat.com> + + * linux-low.c (initialize_low): Call linux_proc_init_warnings. + +2018-07-03 Tom Tromey <tom@tromey.com> + + * linux-low.c: Update. + * lynx-low.c: Update. + * mem-break.c: Update. + * nto-low.c: Update. + * remote-utils.c: Update. + * server.c: Update. + * spu-low.c: Update. + * target.c: Update. + * win32-low.c: Update. + +2018-07-03 Tom Tromey <tom@tromey.com> + + * server.c: Update. + +2018-07-03 Tom Tromey <tom@tromey.com> + + * linux-low.c: Update. + +2018-07-03 Tom Tromey <tom@tromey.com> + + * target.c: Update. + +2018-07-03 Tom Tromey <tom@tromey.com> + + * linux-low.c: Update. + * linux-mips-low.c: Update. + * lynx-low.c: Update. + * nto-low.c: Update. + * remote-utils.c: Update. + * server.c: Update. + * spu-low.c: Update. + * target.c: Update. + * thread-db.c: Update. + +2018-07-03 Tom Tromey <tom@tromey.com> + + * linux-low.c: Update. + * linux-mips-low.c: Update. + * lynx-low.c: Update. + * mem-break.c: Update. + * nto-low.c: Update. + * remote-utils.c: Update. + * server.c: Update. + * spu-low.c: Update. + * target.c: Update. + * tracepoint.c: Update. + +2018-07-03 Tom Tromey <tom@tromey.com> + + * linux-low.c: Update. + * linux-ppc-low.c: Update. + * linux-x86-low.c: Update. + * proc-service.c: Update. + * server.c: Update. + * spu-low.c: Update. + * thread-db.c: Update. + * win32-low.c: Update. + +2018-07-03 Tom Tromey <tom@tromey.com> + + * linux-low.c: Update. + * lynx-low.c: Update. + * nto-low.c: Update. + * remote-utils.c: Update. + * spu-low.c: Update. + * thread-db.c: Update. + * win32-low.c: Update. + +2018-06-29 Joel Brobecker <brobecker@adacore.com> + + * linux-x86-tdesc.c (amd64_linux_read_description): Add missing + parameter in call to 'amd64_create_target_description'. + +2018-06-28 Jan Kratochvil <jan.kratochvil@redhat.com> + + * x86-tdesc.h: Remove executable permission flag. + +2018-06-19 Simon Marchi <simon.marchi@ericsson.com> + + * configure.ac: Remove AC_PREREQ, add missing quoting. + * configure: Re-generate. + * config.in: Re-generate. + * aclocal.m4: Re-generate. + +2018-06-18 Simon Marchi <simon.marchi@ericsson.com> + + * tracepoint.h (current_traceframe): Remove declaration. + +2018-06-18 Alan Hayward <alan.hayward@arm.com> + + * linux-aarch64-low.c (is_sve_tdesc): New function. + (aarch64_sve_regs_copy_to_regcache): Likewise. + (aarch64_sve_regs_copy_from_regcache): Likewise. + (aarch64_regs_info): Add SVE checks. + (initialize_low_arch): Initialize SVE. + +2018-06-18 Alan Hayward <alan.hayward@arm.com> + + * Makefile.in: Add aarch64-sve-linux-ptrace.c. + +2018-06-11 Alan Hayward <alan.hayward@arm.com> + + * linux-aarch64-ipa.c (get_ipa_tdesc): Add null VQ param. + (initialize_low_tracepoint): Likewise + * linux-aarch64-low.c (aarch64_arch_setup): Get VQ. + * linux-aarch64-tdesc-selftest.c (aarch64_tdesc_test): Add null VQ + param. + * linux-aarch64-tdesc.c (aarch64_linux_read_description): Add VQ + checks. + * linux-aarch64-tdesc.h (aarch64_linux_read_description): Add VQ. + +2018-06-11 Alan Hayward <alan.hayward@arm.com> + + * server.h (PBUFSIZ): Increase size + +2018-06-11 Alan Hayward <alan.hayward@arm.com> + + * regcache.c (regcache::raw_compare): New function. + * regcache.h (regcache::raw_compare): New declaration. + +2018-06-11 Alan Hayward <alan.hayward@arm.com> + + * regcache.c (new_register_cache): Use new. + (free_register_cache): Use delete. + (register_data): Use const. + (supply_register): Move body inside regcache. + (regcache::raw_supply): New override function. + (collect_register): Move body inside regcache. + (regcache::raw_collect): New override function. + (regcache::get_register_status): New override function. + * regcache.h (struct regcache): Inherit from reg_buffer_common. + +2018-06-09 Tom Tromey <tom@tromey.com> + + * event-loop.c (gdb_event, gdb_event_p): Remove typedefs. Don't + declare queue. + (event_queue): Use std::queue. + (gdb_event_xfree): Remove. + (initialize_event_loop, process_event, wait_for_event): Update. + +2018-06-08 Stan Cox <scox@redhat.com> + + * win32-low.c (win32_create_inferior): last_ptid and last_status + moved to client_state. + +2018-06-08 Pedro Alves <palves@redhat.com> + + * Makefile.in (GDBREPLAY_OBS): Add common/cleanups.o, + common/common-exceptions.o, common/common-utils.o, + common/errors.o, common/print-utils.o and utils.o. + * gdbreplay.c: Include "common-defs.h" instead of the two + 'config.h's here. Don't include stdio.h, errno.h, stdlib.h, + string.h or alloca.h. + (perror_with_name): Delete. + (remote_open): Use xstrdup instead of strdup. + (main): Rename to ... + (captured_main): ... this. + (main): New. + +2018-06-08 Tom Tromey <tom@tromey.com> + + * linux-low.c (linux_low_read_btrace): Update. + +2018-06-04 Stan Cox <scox@redhat.com> + + * server.h (struct client_state): New. + * server.c (cont_thread, general_thread, multi_process) + (report_fork_events, report_vfork_events, report_exec_events) + (report_thread_events, swbreak_feature, hwbreak_feature) + (vCont_supported, disable_randomization, pass_signals) + (program_signals, program_signals_p, last_status, last_ptid, own_buf): + Moved to client_state. + * remote-utils.c (remote_debug, noack_mode) + (transport_is_reliable): Moved to client_state. + * tracepoint.c (current_traceframe): Moved to client_state. + + Update all callers. + * server.c, remote-utils.c, tracepoint.c, fork-child.c, + linux-low.c, remote-utils.h, target.c: Use client_state. + +2018-05-31 Alan Hayward <alan.hayward@arm.com> + + * configure.srv: Add new c/h file. + +2018-05-31 Alan Hayward <alan.hayward@arm.com> + + * linux-aarch64-tdesc.c (aarch64_linux_read_description): Add + null VQ. + +2018-05-25 Maciej W. Rozycki <macro@mips.com> + + * gdb.arch/mips-fpregset-core.exp: New test. + * gdb.arch/mips-fpregset-core.c: New test source. + +2018-05-23 Erik Kurzinger <ekurzinger@nvidia.com> + + PR server/23198 + * hostio.c (require_int): Do not report overflow for integers + between 0xfffffff and 0x7fffffff. + +2018-05-22 Maciej W. Rozycki <macro@mips.com> + + * linux-mips-low.c [HAVE_PTRACE_GETREGS] (mips_collect_register) + (mips_supply_register): Move outside HAVE_PTRACE_GETREGS. + (mips_collect_ptrace_register, mips_supply_ptrace_register): New + functions. + (the_low_target): Wire them. + +2018-05-22 Pedro Franco de Carvalho <pedromfc@linux.vnet.ibm.com> + + * linux-ppc-low.c (ppc_fill_vrregset): Add vscr_offset variable. + Set vscr_offset to 0 in little-endian mode and 12 in big-endian + mode. Call collect_register_by_name with vscr using + vscr_offset. Zero-pad vscr and vrsave fields in collector buffer. + (ppc_store_vrregset): Add and set vscr_offset variable as in + ppc_fill_vrregset. Call supply_register_by_name with vscr using + vscr_offset. + +2018-05-22 Pedro Franco de Carvalho <pedromfc@linux.vnet.ibm.com> + + * linux-ppc-low.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove. + (ppc_arch_setup): Change SIZEOF_VRREGS and SIZEOF_VSXREGS to + PPC_LINUX_SIZEOF_VRREGSET and PPC_LINUX_SIZEOF_VSXREGSET. + +2018-05-22 Pedro Franco de Carvalho <pedromfc@linux.vnet.ibm.com> + + * linux-ppc-low.c (ppc_fill_vsxregset): Remove ppc_hwcap check. + (ppc_store_vsxregset): Likewise. + (ppc_fill_vrregset): Likewise. + (ppc_store_vrregset): Likewise. + (ppc_fill_evrregset): Likewise. + (ppc_store_evrregset): Likewise. + (ppc_regsets): Set VSX/VR/EVR regset sizes to 0. + (ppc_arch_setup): Iterate through ppc_regsets and set sizes when + needed. + +2018-05-22 Pedro Franco de Carvalho <pedromfc@linux.vnet.ibm.com> + + * linux-ppc-low.c (ppc_arch_setup): Remove code for getting the + wordsize of the inferior. Call ppc_linux_target_wordsize. + +2018-05-22 Pedro Franco de Carvalho <pedromfc@linux.vnet.ibm.com> + + * configure.srv (srv_tgtobj): Add arch/ppc-linux-common.o. + * Makefile.in (SFILES): Add arch/ppc-linux-common.c. + * linux-ppc-tdesc.h: Rename to linux-ppc-tdesc-init.h. + * linux-ppc-tdesc-init.h (tdesc_powerpc_32l, tdesc_powerpc_64l) + (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l) + (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l) + (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l) + (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l) + (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l) + (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l) + (tdesc_powerpc_e500l): Remove. + * linux-ppc-ipa.c: Include arch/ppc-linux-tdesc.h and + linux-ppc-tdesc-init.h. Don't include linux-ppc-tdesc.h. + * linux-ppc-low.c: Include arch/ppc-linux-common.h, + arch/ppc-linux-tdesc.h, and linux-ppc-tdesc-init.h. Don't include + linux-ppc-tdesc.h. + (ppc_arch_setup): Remove target description matching code. Fill a + ppc_linux_features struct and call ppc_linux_match_description + with it. + +2018-05-22 Maciej W. Rozycki <macro@mips.com> + + * linux-mips-low.c (mips_cannot_fetch_register): Return 1 if the + width of the requested register exceeds the width of the + `ptrace' data type. + (mips_cannot_store_register): Likewise. + +2018-05-21 Maciej W. Rozycki <macro@mips.com> + + * linux-mips-low.c (mips_fetch_register): New function. Update + preceding comment. + (mips_store_gregset): Supply 0 rather than $restart for $zero. + (the_low_target): Wire `mips_fetch_register'. + +2018-05-10 Joel Brobecker <brobecker@adacore.com> + + * lynx-i386-low.c (LYNXOS_178): New macro. + [LYNXOS_178] (usr_fcontext_t): Provide a definition that matches + the layout on LynxOS-178. + (lynx_i386_fill_fpregset, lynx_i386_store_fpregset): Do not + handle floating point registers that are not supported by + LynxOS-178. + +2018-05-10 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + +2018-05-10 Joel Brobecker <brobecker@adacore.com> + + PR server/23158: + * tdesc.h (init_target_desc) <expedite_regs>: New parameter. + * tdesc.c (init_target_desc) <expedite_regs>: New parameter. + Use it to set the expedite_regs field in the given tdesc. + * x86-tdesc.h: New file. + * linux-aarch64-tdesc.c (aarch64_linux_read_description): + Adjust following the addition of the new expedite_regs parameter + to init_target_desc. + * linux-tic6x-low.c (tic6x_read_description): Likewise. + * linux-x86-tdesc.c: #include "x86-tdesc.h". + (i386_linux_read_description, amd64_linux_read_description): + Adjust following the addition of the new expedite_regs parameter + to init_target_desc. + * lynx-i386-low.c: #include "x86-tdesc.h". + (lynx_i386_arch_setup): Adjust following the addition of the new + expedite_regs parameter to init_target_desc. + * nto-x86-low.c: #include "x86-tdesc.h". + (nto_x86_arch_setup): Adjust following the addition of the new + expedite_regs parameter to init_target_desc. + * win32-i386-low.c: #include "x86-tdesc.h". + (i386_arch_setup): Adjust following the addition of the new + expedite_regs parameter to init_target_desc. + +2018-05-10 Joel Brobecker <brobecker@adacore.com> + + PR server/23158: + * win32-low.c (win32_create_inferior): Add call to my_wait + setting last_status global. + +2018-05-10 Joel Brobecker <brobecker@adacore.com> + + PR server/23158: + * win32-low.c (create_process): Only call gdb_tilde_expand if + inferior_cwd is not NULL. + +2018-05-08 Andrew Burgess <andrew.burgess@embecosm.com> + + * i387-fp.c (i387_cache_to_xsave): Only write x87 control + registers to the cache if their values have changed. + (i387_xsave_to_cache): Provide default values for x87 control + registers when these features are available, but disabled. + * regcache.c (supply_register_by_name_zeroed): New function. + * regcache.h (supply_register_by_name_zeroed): Declare new + function. + +2018-05-07 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + +2018-05-04 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + +2018-05-04 Jan Kratochvil <jan.kratochvil@redhat.com> + Pedro Alves <palves@redhat.com> + + * linux-aarch64-low.c (aarch64_stopped_data_address): + Likewise. + +2018-04-27 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + +2018-04-23 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + +2018-04-19 Simon Marchi <simon.marchi@ericsson.com> + + * Makefile.in (depcomp): Add "..". + (all_deps_files): New and use it. + +2018-04-18 Alan Hayward <alan.hayward@arm.com> + + * configure.srv (aarch64*-*-linux*): Don't include xml. + (i[34567]86-*-cygwin*): Likewise. + (i[34567]86-*-linux*): Likewise. + (i[34567]86-*-lynxos*): Likewise. + (i[34567]86-*-mingw32ce*): Likewise. + (i[34567]86-*-mingw*): Likewise. + (i[34567]86-*-nto*): Likewise. + (tic6x-*-uclinux): Likewise. + (x86_64-*-linux*): Likewise. + (x86_64-*-mingw*): Likewise. + (x86_64-*-cygwin*): Likewise. + +2018-04-18 Alan Hayward <alan.hayward@arm.com> + + * tdesc.c: Remove xml parameter. + +2018-04-18 Alan Hayward <alan.hayward@arm.com> + + * server.c (get_features_xml): Remove cast. + * tdesc.c (void target_desc::accept): Fill in function. + (tdesc_get_features_xml): Remove old xml creation. + (print_xml_feature::visit_pre): Add xml vistor. + * tdesc.h (struct target_desc): Make xmltarget mutable. + (tdesc_get_features_xml): Remove declaration. + +2018-04-18 Alan Hayward <alan.hayward@arm.com> + + * tdesc.c (tdesc_architecture_name): Add new function. + (tdesc_osabi_name): Likewise. + (tdesc_get_features_xml): Use new functions. + +2018-04-18 Alan Hayward <alan.hayward@arm.com> + + * tdesc.c (tdesc_create_flags): Remove. + (tdesc_add_flag): Likewise. + (tdesc_named_type): Likewise. + (tdesc_create_union): Likewise. + (tdesc_create_struct): Likewise. + (tdesc_create_vector): Likewise. + (tdesc_add_bitfield): Likewise. + (tdesc_add_field): Likewise. + (tdesc_set_struct_size): Likewise. + +2018-04-18 Alan Hayward <alan.hayward@arm.com> + + * tdesc.c (~target_desc): Remove implictly deleted items. + (init_target_desc): Iterate all features. + (tdesc_get_features_xml): Use vector. + (tdesc_create_feature): Create feature. + * tdesc.h (tdesc_feature) Remove + (target_desc): Add features. + +2018-04-18 Alan Hayward <alan.hayward@arm.com> + + * Makefile.in: Add common/tdesc.c + * tdesc.c (init_target_desc): init all reg_defs from register + vector. + (tdesc_create_reg): Create tdesc_reg. + * tdesc.h (tdesc_feature): Add register vector. + +2018-03-30 Simon Marchi <simon.marchi@polymtl.ca> + + * tdesc.h (struct target_desc) <features>: Change type to + std::vector<std::string>. + * tdesc.c (target_desc::~target_desc): Adjust to std::vector + changes. + (tdesc_get_features_xml): Likewise. + (tdesc_create_feature): Likewise. + +2018-03-26 Alan Hayward <alan.hayward@arm.com> + + * regcache.c (find_register_by_number): Return a ref. + (find_regno): Use references. + (register_size): Likewise. + (register_data): Likewise. + * tdesc.c (target_desc::~target_desc): Remove free calls. + (target_desc::operator==): Use std::vector compare. + (init_target_desc): Use reference. + (tdesc_create_reg): Use reg constructors. + * tdesc.h (struct target_desc): Replace pointer with object. + +2018-03-23 Alan Hayward <alan.hayward@arm.com> + + * regcache.c (find_register_by_number): Make static. + (find_regno): Use find_register_by_number + * regcache.h (struct reg): Remove declaration. + +2018-03-23 Alan Hayward <alan.hayward@arm.com> + + * tdesc.c (target_desc::~target_desc): Move to here. + (target_desc::operator==): Likewise. + * tdesc.h (target_desc::~target_desc): Move from here. + (target_desc::operator==): Likewise. + +2018-03-22 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * linux-s390-low.c (s390_get_wordsize): Correct brace style. + +2018-03-21 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * linux-s390-ipa.c (get_ipa_tdesc): Add handling for + S390_TDESC_GS. + * linux-s390-low.c (s390_get_ipa_tdesc_idx): Likewise. + (initialize_low_tracepoint): Call init_registers_s390x_gs_linux64 + and init_registers_s390_gs_linux64. + +2018-03-21 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * linux-s390-low.c (s390_fill_gs): Remove function. + (s390_fill_gsbc): Remove function. + (s390_regsets): Set fill functions for the guarded storage regsets + to NULL. + +2018-03-21 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * linux-s390-low.c (s390_get_hwcap): Replace tdesc parameter by + the word size. Add comment. + (s390_get_wordsize): New function. + (s390_arch_setup): No longer select a temporary tdesc to fetch the + pswm with it. Instead, use s390_get_wordsize to determine the + word size first and derive the correct tdesc from that directly. + +2018-03-16 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in: Include silent-rules.mk. + (srcdir, abs_top_srcdir, abs_srcdir, VPATH): Move up. + (COMPILE): Add ECHO_CXX. + (gdbserver$(EXEEXT)): Add SILENCE and ECHO_CXXLD. + (gdbreplay$(EXEEXT)): Add SILENCE and ECHO_CXXLD. + ($(IPA_LIB)): Add SILENCE and ECHO_CXXLD. + (version-generated.c): Add ECHO_GEN. + (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN_GENERATED. + (IPAGENT_COMPILE): Add ECHO_CXX. + (%-generated.c): Add ECHO_REGDAT. + +2018-03-14 Tom Tromey <tom@tromey.com> + + PR cli/14977: + * ax.c (ax_printf): Special case for NULL. + +2018-03-08 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-low.c (linux_qxfer_libraries_svr4): Use + xml_escape_text_append. + +2018-03-08 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-low.c (linux_qxfer_libraries_svr4): Use std::string. + +2018-03-02 Simon Marchi <simon.marchi@polymtl.ca> + + * server.c (handle_general_set): Remove unnecessary xstrdup. + +2018-03-02 Simon Marchi <simon.marchi@polymtl.ca> + + * server.c (parse_debug_format_options): Adjust to + delim_string_to_char_ptr_vec changes. + * thread-db.c (thread_db_load_search): Adjust to + dirnames_to_char_ptr_vec changes. + +2018-03-01 Markus Metzger <markus.t.metzger@intel.com> + + * target.h (target_enable_btrace, target_disable_btrace) + (target_read_btrace, target_read_btrace_conf): Turn macro into + inline function. Throw error if target method is not defined. + * server.c (handle_qxfer_btrace handle_qxfer_btrace_conf): Remove + check for btrace target method. Be prepared to handle exceptions + from btrace target methods. + +2018-02-28 Sergio Durigan Junior <sergiodj@redhat.com> + + * server.c (captured_main): Change order of error message printed + when the current working directory cannot be found. + +2018-02-28 Sergio Durigan Junior <sergiodj@redhat.com> + + * server.c: Include "filenames.h" and "pathstuff.h". + (program_name): Delete variable. + (program_path): New anonymous class. + (get_exec_wrapper): Use "program_path" instead of + "program_name". + (handle_v_run): Likewise. + (captured_main): Likewise. + (process_serial_event): Likewise. + +2018-02-28 Sergio Durigan Junior <sergiodj@redhat.com> + + * Makefile.in (SFILES): Add "$(srcdir)/common/pathstuff.c". + (OBJS): Add "pathstuff.o". + * server.c (current_directory): New global variable. + (captured_main): Initialize "current_directory". + +2018-02-26 Alan Hayward <alan.hayward@arm.com> + + * tdesc.c: Use common/tdesc.h. + * tdesc.h: Likewise. + +2018-02-20 Alan Hayward <alan.hayward@arm.com> + Simon Marchi <simon.marchi@ericsson.com> + + * Makefile.in: Switch order of make rules. + +2018-02-19 Alan Hayward <alan.hayward@arm.com> + + * Makefile.in: Add common directory in build. + * configure.ac: Add common reference. + * configure: Regenerate. + +2018-02-09 Markus Metzger <markus.t.metzger@intel.com> + + * linux-low.c (linux_target_ops): Remove linux_supports_btrace. + * nto-low.c (nto_target_ops): Remove NULL for supports_btrace. + * spu-low.c (spu_target_ops): Likewise. + * win32-low.c (win32_target_ops): Likewise. + * server.c (supported_btrace_packets): Report packets unconditionally. + * target.h (target_ops) <supports_btrace>: Remove. + (target_supports_btrace): Remove. + +2018-02-09 Markus Metzger <markus.t.metzger@intel.com> + + * server.c (handle_btrace_enable_bts, handle_btrace_enable_pt) + (handle_btrace_disable): Change return type to void. Use exceptions + to report errors. + (handle_btrace_general_set): Catch exception and copy message to + return message. + +2018-02-08 Tom Tromey <tom@tromey.com> + + * linux-low.c (install_software_single_step_breakpoints): Use + make_scoped_restore. + * inferiors.c (make_cleanup_restore_current_thread): Remove. + (do_restore_current_thread_cleanup): Remove. + * gdbthread.h (make_cleanup_restore_current_thread): Don't + declare. + +2018-02-08 Tom Tromey <tom@tromey.com> + + * mem-break.c (set_raw_breakpoint_at): Use + gdb::unique_xmalloc_ptr. + +2018-01-30 Pedro Alves <palves@redhat.com> + + PR gdb/13211 + * target.c (target_terminal::terminal_state): Rename to ... + (target_terminal::m_terminal_state): ... this. + +2018-01-19 James Clarke <jrtc27@jrtc27.com> + + * linux-low.c (handle_extended_wait): Surround call to + thread_db_notice_clone with #ifdef USE_THREAD_DB. + +2018-01-17 Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.c (attach_proc_task_lwp_callback): Adjust to + linux_ptrace_attach_fail_reason_string now returning an + std::string. + (linux_attach): Likewise. + * thread-db.c (attach_thread): Likewise. + +2018-01-17 Eldar Abusalimov <eldar.abusalimov@jetbrains.com> + + PR gdb/21559 + * configure.ac: Include <sys/types.h> prior to <sys/user.h> when + checking for fs_base/gs_base fields in struct user_regs_struct. + * configure: Regenerate. + +2018-01-16 Yao Qi <yao.qi@linaro.org> + + PR gdb/18749 + * linux-low.c (fetch_register): Call supply_register instead of + error. + +2018-01-08 Yao Qi <yao.qi@linaro.org> + Simon Marchi <simon.marchi@ericsson.com> + + * Makefile.in (OBS): Remove selftest.o. + * configure.ac: Set srv_selftest_objs if $development is true. + (GDBSERVER_DEPFILES): Append $srv_selftest_objs. + * configure: Re-generated. + * server.c (captured_main): Wrap variable selftest_filter with + GDB_SELF_TEST. + +2018-01-07 Simon Marchi <simon.marchi@polymtl.ca> + + * server.c (parse_debug_format_options): Return std::string. + (handle_monitor_command, captured_main): Adjust. + +2018-01-05 Pedro Alves <palves@redhat.com> + + PR gdb/18653 + * server.c (captured_main): Pass quiet=false to + save_original_signals_state. + +2018-01-01 Joel Brobecker <brobecker@adacore.com> + + * gdbreplay.c (gdbreplay_version): Update copyright year in + version message. + * server.c (gdbserver_version): Likewise. + +2017-12-08 Tom Tromey <tom@tromey.com> + + * ax.c (ax_printf): Update. + +2017-12-07 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-ipa.c (initialize_low_tracepoint): Call + aarch64_linux_read_description. + * linux-amd64-ipa.c (idx2mask): New array. + (get_ipa_tdesc): Move idx2mask out. + (initialize_low_tracepoint): Initialize target descriptions. + * linux-i386-ipa.c (idx2mask): New array. + (get_ipa_tdesc): Move idx2mask out. + (initialize_low_tracepoint): Initialize target descriptions. + +2017-12-05 Simon Marchi <simon.marchi@polymtl.ca> + + * tdesc.c (struct tdesc_type): Change return type. + (tdesc_add_flag): Change parameter type. + (tdesc_add_bitfield): Likewise. + (tdesc_add_field): Likewise. + (tdesc_set_struct_size): Likewise. + +2017-12-05 Simon Marchi <simon.marchi@ericsson.com> + + * regcache.c (registers_to_string): Remove unused variable. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * inferiors.c (for_each_inferior_with_data): Remove. + * inferiors.h (for_each_inferior_with_data): Remove. + * server.c (handle_qxfer_threads_worker): Change parameter type. + (handle_qxfer_threads_proper): Use for_each_thread. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * inferiors.c (for_each_inferior): Remove. + (clear_inferiors): Use for_each_thread. + * inferiors.h (for_each_inferior): Remove. + * linux-low.c (linux_wait_for_event_filtered): Use + for_each_thread. + (linux_stabilize_threads): Likewise. + * regcache.c (regcache_release): Likewise. + * server.c (gdb_wants_all_threads_stopped): Likewise. + (clear_pending_status_callback): Remove. + (handle_status): Use for_each_thread. + (captured_main): Likewise. + * win32-low.c (child_init_thread_list): Likewise. + (win32_clear_inferiors): Likewise. + (fake_breakpoint_event): Likewise. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * inferiors.h (find_inferior): Remove. + * inferiors.c (find_inferior): Remove. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-low.c (resume_status_pending_p): Update comment. + (need_step_over_p): Update comment. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-low.c (proceed_one_lwp): Return void, change parameter + type. + (unsuspend_and_proceed_one_lwp): Likewise. + (proceed_all_lwps): Use for_each_thread. + (unstop_all_lwps): Likewise. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-low.c (linux_resume_one_thread): Return void, take + parameter directly. + (linux_resume): Use for_each_thread. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-low.c (send_sigstop_callback): Return void, change + parameter type. Rename to... + (send_sigstop): ... this. + (suspend_and_send_sigstop_callback): Return void, change parameter + type. Rename to... + (suspend_and_send_sigstop): ... this. + (stop_all_lwps): Use for_each_thread. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-low.c (lwp_running): Return bool, remove unused + argument. + (linux_stabilize_threads): Use find_thread. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-low.c (select_singlestep_lwp_callback): Remove. + (count_events_callback): Remove. + (select_event_lwp_callback): Remove. + (select_event_lwp): Use find_thread/for_each_thread. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-low.c (not_stopped_callback): Return bool, take filter + argument directly. + (linux_wait_for_event_filtered): Use find_thread. + (linux_wait_1): Likewise. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-low.c (same_lwp): Remove. + (find_lwp_pid): Use find_thread. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-low.c (delete_lwp_callback): Remove. + (linux_mourn): Use for_each_thread. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-low.c (linux_detach_lwp_callback): Return void, remove + args parameter, don't check for pid. + (linux_detach): Use for_each_thread. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-low.c (struct counter): Remove. + (second_thread_of_pid_p): Remove. + (last_thread_of_process_p): Use find_thread. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * inferiors.c (find_inferior_in_random): Remove. + * inferiors.h (find_inferior_in_random): Remove. + * linux-low.c (status_pending_p_callback): Return bool, accept + parameter ptid directly. + (linux_wait_for_event_filtered): Use find_thread_in_random. + (linux_wait_1): Likewise. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * inferiors.c (find_inferior_id): Remove. + (find_thread_ptid): Move implemention from find_inferior_id to + here. + * inferiors.h (find_inferior_id): Remove. + * server.c (handle_status): Use find_thread_ptid. + (process_serial_event): Likewise. + * thread-db.c (find_one_thread): Likewise. + (thread_db_thread_handle): Likewise. + * win32-low.c (thread_rec): Likewise. + (child_delete_thread): Likewise. + (win32_thread_alive): Likewise. + (get_child_debug_event): Likewise. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-mips-low.c (update_watch_registers_callback): Return + void, remove pid_p parameter, don't check for pid. + (mips_insert_point, mips_remove_point): Use for_each_thread. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * lynx.low (lynx_delete_thread_callback): Remove. + (lynx_mourn): Use for_each_thread. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + + * regcache.c (regcache_invalidate_one): Remove. + (regcache_invalidate_pid): use for_each_thread. + +2017-11-26 Tom Tromey <tom@tromey.com> + + * linux-low.c (linux_create_inferior): Update. + +2017-11-24 Ulrich Weigand <uweigand@de.ibm.com> + + * spu-low.c (spu_create_inferior): Fix typo in argument name. + +2017-11-24 Alan Hayward <alan.hayward@arm.com> + + * configure.srv: Add linux-aarch64-tdesc-selftest.o. + * linux-aarch64-low.c (initialize_low_arch): Call init func. + * linux-aarch64-tdesc-selftest.c: New file. + * linux-aarch64-tdesc.h (initialize_low_tdesc): New declaration. + +2017-11-24 Alan Hayward <alan.hayward@arm.com> + + * configure.srv: Add new file. + * linux-aarch64-low.c (initialize_low_arch): Call init func. + * linux-aarch64-tdesc-selftest.c: New file. + * linux-aarch64-tdesc.h (initialize_low_tdesc): New declaration. + +2017-11-24 Alan Hayward <alan.hayward@arm.com> + + * linux-aarch64-ipa.c (initialize_low_tracepoint): Remove init. + * linux-aarch64-low.c (initialize_low_arch): Remove init. + * linux-aarch64-tdesc.c (aarch64_linux_read_description): Add init. + +2017-11-24 Alan Hayward <alan.hayward@arm.com> + + * configure.srv: Add new files. + * linux-aarch64-ipa.c (get_ipa_tdesc): Call + aarch64_linux_read_description. + * linux-aarch64-low.c (aarch64_linux_read_description): + Merge with aarch64_arch_setup. + (aarch64_arch_setup): Call aarch64_linux_read_description. + * linux-aarch64-tdesc.c: New file. + * linux-aarch64-tdesc.h: New file. + +2017-11-24 Yao Qi <yao.qi@linaro.org> + + * configure.srv: Set $srv_regobj for tic6x-linux. + * linux-tic6x-low.c: Include "arch/tic6x.h" and "tdesc.h". + (tic6x_read_description): Move some code to tic6x_arch_setup. + (tic6x_tdesc_test): New function. + (initialize_low_arch): Call selftests::register_test. + +2017-11-22 Yao Qi <yao.qi@linaro.org> + + * remote-utils.c (prepare_resume_reply): Use memcpy. + +2017-11-19 Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.c (kill_one_lwp_callback): Return void, take + argument directly, don't filter on pid. + (linux_kill): Use for_each_thread. + +2017-11-19 Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.c (need_step_over_p): Return bool, remove dummy + argument. + (linux_resume, proceed_all_lwps): Use find_thread. + +2017-11-19 Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.c (resume_status_pending_p): Return bool, remove + flag_p argument. + (linux_resume): Use find_thread. + +2017-11-19 Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.c (struct thread_resume_array): Remove. + (linux_set_resume_request): Return void, take arguments + directly. + (linux_resume): Use for_each_thread. + +2017-11-19 Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.c (stuck_in_jump_pad_callback): Change prototype, + return bool, remove data argument. + (linux_stabilize_threads): Use find_thread. + +2017-11-19 Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.c (unsuspend_one_lwp): Remove. + (unsuspend_all_lwps): Use for_each_thread, inline code from + unsuspend_one_lwp. + +2017-11-19 Simon Marchi <simon.marchi@ericsson.com> + + * gdbthread.h (find_thread): Add overload with ptid_t filter. + * linux-low.c (struct iterate_over_lwps_args): Remove. + (iterate_over_lwps_filter): Remove. + (iterate_over_lwps): Use find_thread. + +2017-11-19 Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.c (reset_lwp_ptrace_options_callback): Remove. + (linux_handle_new_gdb_connection): Use for_each_thread, inline + code from reset_lwp_ptrace_options_callback. + +2017-11-19 Simon Marchi <simon.marchi@ericsson.com> + + * linux-arm-low.c (struct update_registers_data): Remove. + (update_registers_callback): Return void, take arguments + directly, don't check thread's pid. + (arm_insert_point, arm_remove_point): Use for_each_thread. + +2017-11-19 Simon Marchi <simon.marchi@ericsson.com> + + * win32-low.c (continue_one_thread): Return void, take argument + directly. + (child_continue): Use for_each_thread. + +2017-11-19 Simon Marchi <simon.marchi@ericsson.com> + + * win32-i386-low.c (update_debug_registers_callback): Rename + to ... + (update_debug_registers): ... this, return void, remove pid_p arg. + (x86_dr_low_set_addr, x86_dr_low_set_control): Use for_each_thread. + +2017-11-17 Simon Marchi <simon.marchi@polymtl.ca> + + * inferiors.h (struct process_info): Add constructor, initialize + fields.. + <syscalls_to_catch>: Change type to std::vector<int>. + * inferiors.c (add_process): Allocate process_info with new. + (remove_process): Free process_info with delete. + * linux-low.c (handle_extended_wait): Adjust. + (gdb_catching_syscalls_p, gdb_catch_this_syscall_p): Adjust. + * server.c (handle_general_set): Adjust. + +2017-11-16 Pedro Alves <palves@redhat.com> + + * remote-utils.c (remote_close): Block SIGIO signals instead of + uninstalling the SIGIO handler. + +2017-11-16 Alan Hayward <alan.hayward@arm.com> + + * tdesc.c (tdesc_get_features_xml): Allow null osabi. + +2017-11-16 Yao Qi <yao.qi@linaro.org> + + * linux-tic6x-low.c (tic6x_fill_gregset): Cast buf. + (tic6x_store_gregset): Likewise. + (tic6x_usrregs_info): Move it up. + +2017-11-15 Alan Hayward <alan.hayward@arm.com> + + * Makefile.in: Update arch rules. + * configure.srv: Explicitly mark arch/ files. + +2017-11-13 Andreas Schwab <schwab@suse.de> + + * linux-m68k-low.c (m68k_supports_hardware_single_step): New + function. + (struct linux_target_ops) <supports_hardware_single_step>: Initialize. + +2017-11-06 Pedro Alves <palves@redhat.com> + + * config.in, configure: Regenerate. + +2017-10-27 Simon Marchi <simon.marchi@ericsson.com> + + * target.c (struct thread_search): Remove. + (thread_search_callback): Remove. + (prepare_to_access_memory): Use for_each_thread instead of + find_inferior. Inline code from thread_search_callback. + +2017-10-27 Simon Marchi <simon.marchi@ericsson.com> + + * server.c (struct visit_actioned_threads_data): Remove. + (visit_actioned_threads): Change prototype to take arguments + directly. + (resume): Use find_thread instead of find_inferior. + +2017-10-27 Simon Marchi <simon.marchi@ericsson.com> + + * server.c (queue_stop_reply_callback): Change prototype, return + void. + (find_status_pending_thread_callback): Remove. + (handle_status): Replace find_inferior with find_thread and + for_each_thread. + +2017-10-25 Alan Hayward <alan.hayward@arm.com> + + * linux-aarch64-low.c (aarch64_fill_gregset): Replace defines + with REGNO. + (aarch64_store_gregset): Likewise. + (aarch64_fill_fpregset): Likewise. + (aarch64_store_fpregset): Likewise. + +2017-10-21 Simon Marchi <simon.marchi@ericsson.com> + + * gdbthread.h (find_thread, for_each_thread): New functions. + * inferiors.c (thread_of_pid): Remove. + (find_any_thread_of_pid): Use find_thread. + * linux-low.c (num_lwps): Use for_each_thread. + +2017-10-17 Yao Qi <yao.qi@linaro.org> + + * Makefile.in: Remove one rule. + * configure.srv: Rename aarch64-insn.o with arch/aarch64-insn.o. + +2017-10-17 Yao Qi <yao.qi@linaro.org> + + * configure.srv: Rename arm-linux.o with arch/arm-linux.o. + Rename arm-get-next-pcs.o with arch/arm-get-next-pcs.o. + +2017-10-17 Yao Qi <yao.qi@linaro.org> + + * configure.srv: Rename arm.o with arch/arm.o. + +2017-10-17 Yao Qi <yao.qi@linaro.org> + + * Makefile.in (CONFIG_SRC_SUBDIR): New variable. + (clean): Remove .o files in CONFIG_SRC_SUBDIR. + (distclean): Remove DEPDIR in CONFIG_SRC_SUBDIR. + (arch-i386.o, arch-amd64.o): Remove rules. + (arch/%.o): New rule. + Update POSTCOMPILE and COMPILE.pre. + * configure.ac: Invoke AC_CONFIG_COMMANDS. + * configure: Re-generated. + * configure.srv: Replace arch-i386.o with arch/i386.o. + Replace arch-amd64.o with arch/amd64.o. + +2017-10-16 Yao Qi <yao.qi@linaro.org> + + * configure: Regenerated. + +2017-10-14 Simon Marchi <simon.marchi@polymtl.ca> + + * inferiors.h: (struct inferior_list): Remove. + (struct inferior_list_entry); Remove. + (add_inferior_to_list, clear_inferior_list, one_inferior_p, + A_I_NEXT, ALL_INFERIORS_TYPE, ALL_INFERIORS, remove_inferior, + get_first_inferior): Remove. + (for_each_inferior, for_each_inferior_with_data, find_inferior, + find_inferior_id, find_inferior_in_random): Change signature. + * inferiors.c (all_threads): Change type to + std::list<thread_info *>. + (get_thread): Remove macro. + (find_inferior, find_inferior_id): Change signature, implement + using find_thread. + (find_inferior_in_random): Change signature, implement using + find_thread_in_random. + (for_each_inferior, for_each_inferior_with_data): Change + signature, implement using for_each_thread. + (add_inferior_to_list, remove_inferior): Remove. + (add_thread, get_first_thread, thread_of_pid, + find_any_thread_of_pid, free_one_thread, remove_thread): Update. + (get_first_inferior, one_inferior_p, clear_inferior_list): + Remove. + (clear_inferiors, get_thread_process): Update. + * gdbthread.h: Include <list>. + (struct thread_info) <entry>: Remove field. + <id>: New field. + (all_threads): Change type to std::list<thread_info *>. + (get_first_inferior): Add doc. + (find_thread, for_each_thread, find_thread_in_random): New + functions. + (current_ptid, pid_of, ptid_of, lwpid_of): Update. + * linux-arm-low.c (update_registers_callback): Update. + * linux-low.c (second_thread_of_pid_p): Update. + (kill_one_lwp_callback, linux_detach_lwp_callback, + delete_lwp_callback, status_pending_p_callback, same_lwp, + find_lwp_pid, num_lwps, iterate_over_lwps_filter, + iterate_over_lwps, not_stopped_callback, + resume_stopped_resumed_lwps, count_events_callback, + select_singlestep_lwp_callback, select_event_lwp_callback, + unsuspend_one_lwp, linux_wait_1, send_sigstop_callback, + suspend_and_send_sigstop_callback, wait_for_sigstop, + stuck_in_jump_pad_callback, move_out_of_jump_pad_callback, + lwp_running, linux_set_resume_request, resume_status_pending_p, + need_step_over_p, start_step_over, linux_resume_one_thread, + proceed_one_lwp, unsuspend_and_proceed_one_lwp, + reset_lwp_ptrace_options_callback): Update. + * linux-mips-low.c (update_watch_registers_callback): Update. + * regcache.c (regcache_invalidate_one, regcache_invalidate): + Update. + (free_register_cache_thread_one): Remove. + (regcache_release): Update. + * server.c (handle_btrace_enable_bts, handle_btrace_enable_pt, + handle_qxfer_threads_worker): Update. + (handle_query): Update, use list iterator. + (visit_actioned_threads, handle_pending_status, + queue_stop_reply_callback, gdb_wants_all_threads_stopped, + clear_pending_status_callback, set_pending_status_callback, + find_status_pending_thread_callback, handle_status, + process_serial_event): Update. + * target.c (thread_search_callback): Update. + * thread-db.c (thread_db_get_tls_address): Update. + * tracepoint.c (tracepoint_finished_step, tracepoint_was_hit): + Update. + * win32-i386-low.c (update_debug_registers_callback): Update. + * win32-low.c (delete_thread_info, child_delete_thread, + continue_one_thread, suspend_one_thread, + get_child_debug_event): Adjust. + +2017-10-14 Simon Marchi <simon.marchi@polymtl.ca> + + * gdbthread.h (ptid_of, pid_of, lwpid_of): New functions. + * inferiors.h: Include <list>. + (struct process_info) <entry>: Remove field. + <pid>: New field. + (pid_of): Change macro to function. + (ptid_of, lwpid_of): Remove macro. + (all_processes): Change type to std::list<process_info *>. + (ALL_PROCESSES): Remove macro. + (for_each_process, find_process): New function. + * inferiors.c (all_processes): Change type to + std::list<process_info *>. + (find_thread_process): Adjust. + (add_process): Likewise. + (remove_process): Likewise. + (find_process_pid): Likewise. + (get_first_process): Likewise. + (started_inferior_callback): Remove. + (have_started_inferiors_p): Adjust. + (attached_inferior_callback): Remove. + (have_attached_inferiors_p): Adjust. + * linux-low.c (check_zombie_leaders): Likewise. + * linux-x86-low.c (x86_arch_setup_process_callback): Remove. + (x86_linux_update_xmltarget): Adjust. + * server.c (handle_query): Likewise. + (gdb_reattached_process): Remove. + (handle_status): Adjust. + (kill_inferior_callback): Likewise. + (detach_or_kill_inferior): Remove. + (print_started_pid): Likewise. + (print_attached_pid): Likewise. + (detach_or_kill_for_exit): Update. + (process_serial_event): Likewise. + * linux-arm-low.c (arm_new_fork): Likewise. + +2017-10-14 Simon Marchi <simon.marchi@polymtl.ca> + + * dll.h: Include <list>. + (struct dll_info): Add constructor. + <entry>: Remove field. + (all_dlls): Change type to std::list<dll_info>. + * dll.c: Include <algorithm>. + (get_dll): Remove macro. + (all_dlls): Change type to std::list<dll_info *>. + (free_one_dll): Remove. + (match_dll): Likewise. + (loaded_dll): Adjust. + (unloaded_dll): Adjust to all_dlls type change, use + std::find_if. Inline code from match_dll. + (clear_dlls): Adjust to all_dlls type change. + * server.c (emit_dll_description): Remove. + (handle_qxfer_libraries): Adjust to all_dlls type change, + integrate emit_dll_description's functionality. + +2017-10-12 Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.h (struct linux_target_ops) <delete_process>: New + field. + * linux-low.c (linux_mourn): Call the_low_target.delete_process. + * linux-aarch64-low.c (aarch64_linux_delete_process): New. + (struct linux_target_ops): Add delete_process callback. + * linux-arm-low.c (arm_delete_process): New. + (struct linux_target_ops): Add delete_process callback. + * linux-bfin-low.c (struct linux_target_ops): Likewise. + * linux-crisv32-low.c (struct linux_target_ops): Likewise. + * linux-m32r-low.c (struct linux_target_ops): Likewise. + * linux-mips-low.c (mips_linux_delete_process): New. + (struct linux_target_ops): Add delete_process callback. + * linux-ppc-low.c (struct linux_target_ops): Likewise. + * linux-s390-low.c (struct linux_target_ops): Likewise. + * linux-sh-low.c (struct linux_target_ops): Likewise. + * linux-tic6x-low.c (struct linux_target_ops): Likewise. + * linux-tile-low.c (struct linux_target_ops): Likewise. + * linux-x86-low.c (x86_linux_delete_process): New. + (struct linux_target_ops): Add delete_process callback. + * linux-xtensa-low.c (struct linux_target_ops): Likewise. + +2017-10-12 Simon Marchi <simon.marchi@ericsson.com> + + * linux-aarch64-low.c (the_low_target): Add thread delete + callback. + * linux-arm-low.c (arm_delete_thread): New function. + (the_low_target): Add thread delete callback. + * linux-bfin-low.c (the_low_target): Likewise. + * linux-crisv32-low.c (the_low_target): Likewise. + * linux-low.c (delete_lwp): Invoke delete_thread callback if + set. + * linux-low.h (struct linux_target_ops) <delete_thread>: New + field. + * linux-m32r-low.c (the_low_target): Add thread delete callback. + * linux-mips-low.c (mips_linux_delete_thread): New function. + (the_low_target): Add thread delete callback. + * linux-ppc-low.c (the_low_target): Likewise. + * linux-s390-low.c (the_low_target): Likewise. + * linux-sh-low.c (the_low_target): Likewise. + * linux-tic6x-low.c (the_low_target): Likewise. + * linux-tile-low.c (the_low_target): Likewise. + * linux-x86-low.c (the_low_target): Likewise. + * linux-xtensa-low.c (the_low_target): Likewise. + +2017-10-06 Yuanhui Zhang <asmwarrior@gmail.com> + + * win32-low.c: Include "common-inferior.h". + +2017-10-04 Sergio Durigan Junior <sergiodj@redhat.com> + + * inferiors.c (set_inferior_cwd): New function. + * server.c (handle_general_set): Handle QSetWorkingDir packet. + (handle_query): Inform that QSetWorkingDir is supported. + * win32-low.c (create_process): Pass the inferior's cwd to + CreateProcess. + +2017-10-04 Sergio Durigan Junior <sergiodj@redhat.com> + + * inferiors.c (current_inferior_cwd): New global variable. + (get_inferior_cwd): New function. + * inferiors.h (struct process_info) <cwd>: New field. + +2017-10-04 Sergio Durigan Junior <sergiodj@redhat.com> + + * Makefile.in (SFILES): Add $(srcdir)/common/gdb_tilde_expand.c. + (OBS): Add gdb_tilde_expand.o. + +2017-10-02 Simon Marchi <simon.marchi@ericsson.com> + + * lynx-i386-low.c (lynx_i386_arch_setup): Call init_target_desc. + * nto-x86-low.c (nto_x86_arch_setup): Likewise. + +2017-09-29 Pedro Alves <palves@redhat.com> + + * ax.c (gdb_parse_agent_expr): Constify. + * ax.h (gdb_parse_agent_expr): Constify. + * mem-break.c (add_breakpoint_condition, add_breakpoint_commands): + Constify. + * mem-break.h (add_breakpoint_condition, add_breakpoint_commands): Constify. + * remote-utils.c (hex_or_minus_one, read_ptid): Constify. + * remote-utils.h (read_ptid): Constify. + * server.c (handle_qxfer_exec_file, handle_query, handle_v_cont) + (process_point_options, process_serial_event): Constify. + * tracepoint.c (add_tracepoint_action, cmd_qtdp, cmd_qtdpsrc) + (cmd_qtdv, cmd_qtenable_disable, cmd_qtro, cmd_qtframe, cmd_qtp) + (cmd_qtbuffer): Constify. + +2017-09-29 Pedro Alves <palves@redhat.com> + + * proc-service.c (ps_pdread): Return PS_ERR if reading memory + fails. + +2017-09-29 Pedro Alves <palves@redhat.com> + + * linux-low.c (handle_extended_wait): Pass parent thread instead + of process to thread_db_notice_clone. + * linux-low.h (thread_db_notice_clone): Replace parent process + parameter with parent thread parameter. + * thread-db.c (find_one_thread): Add comment. + (thread_db_notice_clone): Replace parent process parameter with + parent thread parameter. Temporarily switch to the parent thread. + +2017-09-26 Sergio Durigan Junior <sergiodj@redhat.com> + + * gdbthread.h: Include "common-gdbthread.h". + * inferiors.c (switch_to_thread): Use "gdb_assert" instead of + "if" when validating the ptid. + * remote-utils.c: Include "gdbthread.h". + (prepare_resume_reply): Use "switch_to_thread". + * target.c (done_accessing_memory): Likewise. + +2017-09-25 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * configure.srv (s390*-*-linux*): Add s390-gs-linux64.o and + s390x-gs-linux64.o to srv_regobj. Add s390-gs-linux64.xml, + s390x-gs-linux64.xml, s390-gs.xml, and s390-gsbc.xml to + srv_xmlfiles. Add s390-gs-linux64-ipa.o and + s390x-gs-linux64-ipa.o to ipa_obj. + * linux-s390-low.c (HWCAP_S390_GS): New define. + (s390_fill_gs, s390_store_gs, s390_fill_gsbc, s390_store_gsbc): + New functions. + (s390_regsets): Add regsets for NT_S390_GS_CB and NT_S390_GS_BC. + (s390_arch_setup): Check for guarded-storage support and choose + appropriate tdesc. + (initialize_low_arch): Invoke init_registers_s390_gs_linux64 and + init_registers_s390x_gs_linux64. + * linux-s390-tdesc.h (enum s390_linux_tdesc) <S390_TDESC_GS>: New + enum value. + (init_registers_s390x_gs_linux64, tdesc_s390x_gs_linux64) + (init_registers_s390_gs_linux64, tdesc_s390_gs_linux64): Declare. + +2017-09-22 Simon Marchi <simon.marchi@ericsson.com> + + * win32-i386-low.c (i386_arch_setup): Call init_target_desc. + +2017-09-21 Kevin Buettner <kevinb@redhat.com> + + * linux-low.h (struct lwp_info): Add new field, thread_handle. + (thread_db_thread_handle): Declare. + * linux-low.c (linux_target_ops): Initialize thread_handle. + * server.c (handle_qxfer_threads_worker): Add support for + "handle" attribute. + * target.h (struct target_ops): Add new function pointer, + thread_handle. + (target_thread_handle): Define. + * thread-db.c (find_one_thread, attach_thread): Set thread_handle + field in lwp. + (thread_db_thread_handle): New function. + +2017-09-21 Kevin Buettner <kevinb@redhat.com> + + * linux-low.c (handle_extended_wait): Call thread_db_notice_clone(). + * linux-low.h (thread_db_notice_clone): Declare. + * thread-db.c (thread_db_notice_clone): New function. + +2017-09-21 Pedro Alves <palves@redhat.com> + + * server.c (gdb_read_memory, handle_status, process_serial_event) + (handle_serial_event, handle_target_event): Adjust to + set_desired_thread prototype change. + * target.c (set_desired_thread): Remove 'use_general' parameter + and adjust. + * target.h (set_desired_thread): Remove 'use_general' parameter. + +2017-09-20 Tom Tromey <tom@tromey.com> + + * target.c (target_terminal::terminal_state): Define. + (target_terminal::init): Rename from target_terminal_init. + (target_terminal::inferior): Rename from + target_terminal_inferior. + (target_terminal::ours): Rename from target_terminal_ours. + (target_terminal::ours_for_output, target_terminal::info): New. + +2017-09-16 Simon Marchi <simon.marchi@ericsson.com> + + * server.c (accumulate_file_name_length): Remove. + (emit_dll_description): Adjust to std::string change. + (handle_qxfer_libraries): Use std::string to hold document. + +2017-09-16 Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.c (linux_qxfer_libraries_svr4): Adjust to change of + return type of xml_escape_text. + * server.c (emit_dll_description): Likewise. + +2017-09-16 Simon Marchi <simon.marchi@ericsson.com> + + * server.c (captured_main): Accept argument for --selftest. + Update run_tests call. + * linux-x86-tdesc-selftest.c (initialize_low_tdesc): Add names + when registering selftests. + +2017-09-16 Sergio Durigan Junior <sergiodj@redhat.com> + + * regcache.c (get_thread_regcache): Update code to use "std::vector" + instead of "VEC" for "target_desc.reg_defs". + (regcache_cpy): Likewise. + (registers_to_string): Likewise. + (registers_from_string): Likewise. + (find_regno): Likewise. + (supply_regblock): Likewise. + (regcache_raw_read_unsigned): Likewise. + * tdesc.c (init_target_desc): Likewise. + (tdesc_create_reg): Likewise. + * tdesc.h: Remove declaration of "tdesc_reg_p". Include <vector>. + (struct target_desc) <reg_defs>: Convert to "std::vector". + (target_desc): Do not initialize "reg_defs". + (~target_desc): Update code to use "std::vector" instead of "VEC" + for "target_desc.reg_defs". + (operator==): Likewise. + +2017-09-15 Simon Marchi <simon.marchi@ericsson.com> + + * inferiors.h (thread_to_gdb_id): Remove. + * inferiors.c (thread_to_gdb_id): Remove. + * server.c (handle_qxfer_threads_worker, handle_query): Adjust. + * lynx-low.c (lynx_resume, lynx_wait_1, lynx_fetch_registers, + lynx_store_registers, lynx_read_memory, lynx_write_memory): + Likewise. + * nto-low.c (nto_fetch_registers, nto_store_registers, + nto_stopped_by_watchpoint, nto_stopped_data_address): Likewise. + +2017-09-15 Simon Marchi <simon.marchi@ericsson.com> + + * inferiors.h (gdb_id_to_thread_id): Remove. + * inferiors.c (gdb_id_to_thread_id): Remove. + * server.c (process_serial_event): Adjust to gdb_id_to_thread_id + removal. Move pid declaration closer to where it's used. + +2017-09-15 Simon Marchi <simon.marchi@ericsson.com> + + * server.c (handle_detach): New function. + (process_serial_event): Move code out, call handle_detach. + +2017-09-15 Simon Marchi <simon.marchi@ericsson.com> + + * server.c (require_running): Rename to ... + (require_running_or_return): ... this ... + (require_running_or_break): ... and this. + (handle_query, process_serial_event): Adjust. + +2017-09-15 Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.c (linux_set_resume_request): Remove unused + variables. + +2017-09-15 Simon Marchi <simon.marchi@ericsson.com> + + * server.c (first_thread_of): Remove. + (process_serial_event): Replace usage of first_thread_of with + find_any_thread_of_pid. + * tracepoint.c (same_process_p): Remove. + (gdb_agent_about_to_close): Replace usage of same_process_p with + find_any_thread_of_pid. + * linux-x86-low.c (same_process_callback): Remove. + (x86_arch_setup_process_callback): Replace usage of + same_process_callback with find_any_thread_of_pid. + * thread-db.c (any_thread_of): Remove. + (switch_to_process): Replace usage of any_thread_of with + find_any_thread_of_pid. + * inferiors.c (thread_pid_matches_callback): Remove. + (find_thread_process): Adjust to use find_any_thread_of_pid. + +2017-09-10 Sergio Durigan Junior <sergiodj@redhat.com> + + * regcache.c (get_thread_regcache): Guard calls to "memset" + with "!VEC_empty". + +2017-09-10 Sergio Durigan Junior <sergiodj@redhat.com> + + * linux-low.c (handle_extended_wait): Use + "allocate_target_description" instead of "XNEW". + * linux-x86-low.c (initialize_low_arch): Likewise. + +2017-09-05 Yao Qi <yao.qi@linaro.org> + + * configure.srv (srv_i386_regobj): Remove. + (srv_amd64_regobj): Remove. + (srv_regobj): Set it to "" for x86 non-linux targets. + * linux-x86-tdesc.c (i386_linux_read_description): + * lynx-i386-low.c: Include x86-xstate.h and arch/i386.h. + (init_registers_i386): Remove the declaration. + (tdesc_i386): Remove the declaration. + (lynx_i386_arch_setup): Call i386_create_target_description. + * nto-x86-low.c: Likewise. + * win32-i386-low.c [__x86_64__]: include arch/amd64.h. + [!__x86_64__]: include arch/i386.h. + (i386_arch_setup) [__x86_64__]: Call amd64_create_target_description. + +2017-09-05 Yao Qi <yao.qi@linaro.org> + + * configure.srv (srv_amd64_linux_xmlfiles): Remove + i386/amd64-XXX-linux from it. + +2017-09-05 Yao Qi <yao.qi@linaro.org> + + * configure.srv: Empty srv_amd64_linux_regobj if $development is + false. + (ipa_amd64_linux_regobj): Remove. + (ipa_x32_linux_regobj): Remove. + +2017-09-05 Yao Qi <yao.qi@linaro.org> + + * Makefile.in (arch-amd64.o): New rule. + * configure.srv: Append arch-amd64.o. + * linux-amd64-ipa.c: Include common/x86-xstate.h. + (get_ipa_tdesc): Call amd64_linux_read_description. + (initialize_low_tracepoint): Don't call init_registers_x32_XXX + and init_registers_amd64_XXX. + * linux-x86-low.c (x86_linux_read_description): Call + amd64_linux_read_description. + (x86_get_ipa_tdesc_idx): Call amd64_get_ipa_tdesc_idx. + (initialize_low_arch): Don't call init_registers_x32_XXX and + init_registers_amd64_XXX. + * linux-x86-tdesc-selftest.c: Declare init_registers_amd64_XXX + and tdesc_amd64_XXX. + [__x86_64__] (amd64_tdesc_test): New function. + (initialize_low_tdesc) [__x86_64__]: Call init_registers_x32_XXX + and init_registers_amd64_XXX. + * linux-x86-tdesc.c: Include arch/amd64.h. + (xcr0_to_tdesc_idx): New function. + (i386_linux_read_description): New function. + (amd64_get_ipa_tdesc_idx): New function. + * linux-x86-tdesc.h (amd64_get_ipa_tdesc_idx): Declare. + (amd64_get_ipa_tdesc): Declare. + +2017-09-05 Yao Qi <yao.qi@linaro.org> + + * configure.srv (srv_i386_linux_xmlfiles): Remove + i386/i386-XXX-linux.xml from it. + +2017-09-05 Yao Qi <yao.qi@linaro.org> + + * configure.srv: Set srv_i386_linux_regobj empty if $development + is false. + * linux-i386-ipa.c (initialize_low_tracepoint): Don't call + initialize_low_tdesc. + * linux-x86-low.c (initialize_low_arch): Wrap initialize_low_tdesc + with #if initialize_low_tdesc. + * linux-x86-tdesc-selftest.c: New file. + * linux-x86-tdesc.c: Move code to linux-x86-tdesc-selftest.c. + +2017-09-05 Yao Qi <yao.qi@linaro.org> + + * Makefile.in (arch-i386.o): New rule. + * configure.srv (i[34567]86-*-linux*): Add arch-i386.o. + (x86_64-*-linux*): Likewise. + * linux-x86-tdesc.c: Don't include ../features/i386/32bit-XXX.c, + include arch/i386.h. + (i386_linux_read_description): Remove code and call + i386_create_target_description. + * tdesc.c (allocate_target_description): New function. + * tdesc.h (set_tdesc_architecture): Remove declaration. + (set_tdesc_osabi): Likewise. + +2017-09-05 Yao Qi <yao.qi@linaro.org> + + * linux-x86-tdesc.c: Don't include <inttypes.h>. + (i386_linux_read_description) [!IN_PROCESS_AGENT]: Call + set_tdesc_architecture and set_tdesc_osabi. Remove code setting + .xmltarget. + * server.c (get_features_xml): Call tdesc_get_features_xml. + * tdesc.c (set_tdesc_architecture): New function. + (set_tdesc_osabi): New function. + (tdesc_get_features_xml): New function. + (tdesc_create_feature): Add an argument. + * tdesc.h (struct target_desc) <features>: New field. + <arch, osabi>: New field. + (~target_desc): xfree features, arch, and osabi. + (target_desc::oerator==): Don't compare .xmltarget. + [!IN_PROCESS_AGENT] (set_tdesc_architecture): Declare. + (set_tdesc_osabi): Likewise. + (tdesc_get_features_xml): Likewise. + +2017-09-05 Yao Qi <yao.qi@linaro.org> + + * linux-x86-tdesc.c: Include selftest.h. + (i386_tdesc_test): New function. + (initialize_low_tdesc): Call selftests::register_test. + * tdesc.h: Include regdef.h. + (target_desc): Override operator == and !=. + +2017-09-05 Yao Qi <yao.qi@linaro.org> + + * configure.srv (srv_tgtobj): Append linux-x86-tdesc.o. + (ipa_obj): Likewise. + * linux-i386-ipa.c: Include common/x86-xstate.h + (get_ipa_tdesc): Call i386_linux_read_description. + (initialize_low_tracepoint): Don't call init_registers_XXX + functions, call initialize_low_tdesc instead. + * linux-x86-low.c (x86_linux_read_description): Call + i386_linux_read_description. + (initialize_low_arch): Don't call init_registers_i386_XXX + functions, call initialize_low_tdesc. + * linux-x86-tdesc.c: New file. + * linux-x86-tdesc.h (x86_linux_tdesc): New X86_TDESC_LAST. + (i386_get_ipa_tdesc_idx): Declare. + (i386_get_ipa_tdesc): Declare. + (initialize_low_tdesc): Declare. + +2017-09-05 Yao Qi <yao.qi@linaro.org> + + * linux-x86-low.c (x86_get_ipa_tdesc_idx): Use X86_TDESC_MMX + instead of 0. + +2017-09-05 Yao Qi <yao.qi@linaro.org> + + * Makefile.in (IPA_OBJS): Add vec-ipa.o + * regcache.c (get_thread_regcache): Use VEC_length. + (init_register_cache): Likewise. + (regcache_cpy): Likewise. + (registers_to_string): Iterate reg_defs via VEC_iterate. + (find_regno): Likewise. + (find_register_by_number): Use VEC_index. + (register_size): Call find_register_by_number. + (register_data): Call find_register_by_number. + (supply_regblock): Use VEC_length. + (regcache_raw_read_unsigned): Likewise. + * tdesc.c (init_target_desc): Iterate reg_defs via + VEC_iterate. + (default_description): Update initializer. + (copy_target_description): Don't update field num_registers. + * tdesc.h (struct target_desc) <reg_defs>: Change it to VEC. + <num_registers>: Remove. + +2017-09-04 Simon Marchi <simon.marchi@ericsson.com> + + * Makefile.in (.SECONDARY): Define target. + +2017-09-03 Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.c (linux_wait_1): Adjust. + * server.c (queue_stop_reply_callback): Adjust. + +2017-08-31 Sergio Durigan Junior <sergiodj@redhat.com> + + * server.c (handle_general_set): Handle QEnvironmentHexEncoded, + QEnvironmentUnset and QEnvironmentReset packets. + (handle_query): Inform remote that QEnvironmentHexEncoded, + QEnvironmentUnset and QEnvironmentReset are supported. + +2017-08-25 Simon Marchi <simon.marchi@ericsson.com> + + * inferiors.h (inferior_target_data): Rename to ... + (thread_target_data): ... this. + (inferior_regcache_data): Rename to ... + (thread_regcache_data): ... this. + (set_inferior_regcache_data): Rename to ... + (set_thread_regcache_data): ... this. + * inferiors.c (inferior_target_data): Rename to ... + (thread_target_data): ... this. + (inferior_regcache_data): Rename to ... + (thread_regcache_data): ... this. + (set_inferior_regcache_data): Rename to ... + (set_thread_regcache_data): ... this. + (free_one_thread): Update. + * linux-low.h (get_thread_lwp): Update. + * regcache.c (get_thread_regcache): Update. + (regcache_invalidate_thread): Update. + (free_register_cache_thread): Update. + * win32-i386-low.c (update_debug_registers_callback): Update. + (win32_get_current_dr): Update. + * win32-low.c (thread_rec): Update. + (delete_thread_info): Update. + (continue_one_thread): Update. + (suspend_one_thread): Update. + +2017-08-24 Simon Marchi <simon.marchi@ericsson.com> + + * inferiors.c (set_inferior_target_data): Remove. + * inferiors.h (set_inferior_target_data): Remove. + +2017-08-18 Yao Qi <yao.qi@linaro.org> + + * Makefile.in (OBS): Add selftest.o. + * configure.ac: AC_DEFINE GDB_SELF_TEST if $development. + * configure, config.in: Re-generated. + * server.c: Include common/sefltest.h. + (captured_main): Handle option --selftest. + +2017-08-09 Yao Qi <yao.qi@linaro.org> + + * configure.srv (srv_i386_regobj): Remove i386-avx.o, + i386-avx-avx512.o, i386-avx-mpx-avx512-pku.o, i386-mpx.o, + i386-avx-mpx.o and i386-mmx.o. + (srv_amd64_regobj): Remove amd64-avx.o, amd64-avx-avx512.o, + amd64-avx-mpx-avx512-pku.o, amd64-mpx.o and amd64-avx-mpx.o. + (srv_i386_xmlfiles): Remove i386/i386-avx.xml, + i386/i386-avx-avx512.xml, i386/i386-avx-mpx-avx512-pku.xml, + i386/i386-mpx.xml, i386/i386-avx-mpx.xml and i386/i386-mmx.xml. + (srv_amd64_xmlfile):i386/amd64-avx.xml, i386/amd64-avx-avx512.xml, + i386/amd64-avx-mpx-avx512-pku.xml, i386/amd64-mpx.xml, + i386/amd64-avx-mpx.xml. + +2017-08-09 Yao Qi <yao.qi@linaro.org> + + * configure.srv (srv_amd64_regobj): Remove x32.o, x32-avx.o + and x32-avx-avx512.o. + (srv_amd64_xmlfiles): Remove i386/x32.xml, i386/x32-avx.xml + i386/x32-avx-avx512.xml. + +2017-07-26 Simon Marchi <simon.marchi@ericsson.com> + + * tracepoint.h (enum class fast_tpoint_collect_result): New + enumeration. + (fast_tracepoint_collecting): Change return type to + fast_tpoint_collect_result. + * tracepoint.c (fast_tracepoint_collecting): Likewise. + * linux-low.h: Include tracepoint.h. + (struct lwp_info) <collecting_fast_tracepoint>: Change type to + fast_tpoint_collect_result. + * linux-low.c (handle_tracepoints): Adjust. + (linux_fast_tracepoint_collecting): Change return type to + fast_tpoint_collect_result. + (maybe_move_out_of_jump_pad, linux_wait_for_event_filtered, + linux_wait_1, stuck_in_jump_pad_callback, + lwp_signal_can_be_delivered, linux_resume_one_lwp_throw, + proceed_one_lwp): Adjust to type change. + +2017-07-10 Yao Qi <yao.qi@linaro.org> + + * linux-x86-low.c (x86_linux_read_description): Re-indent the code. + +2017-06-29 Yao Qi <yao.qi@linaro.org> + + * tdesc.h (struct target_desc) [IN_PROCESS_AGENT] <expedite_regs>: + Remove. + [IN_PROCESS_AGENT] <xmltarget>: Likewise. + +2017-06-20 Simon Marchi <simon.marchi@ericsson.com> + + * Makefile.in (IPA_OBJS): Sort and format one item per line. + +2017-06-20 Sergio Durigan Junior <sergiodj@redhat.com> + + * linux-low.c (linux_create_inferior): Adjust code to access the + environment information via 'gdb_environ' class. + * lynx-low.c (lynx_create_inferior): Likewise. + * server.c (our_environ): Make it an instance of 'gdb_environ'. + (get_environ): Return a pointer to 'our_environ'. + (captured_main): Initialize 'our_environ'. + * server.h (get_environ): Adjust prototype. + * spu-low.c (spu_create_inferior): Adjust code to access the + environment information via 'gdb_environ' class. + +2017-06-17 Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.c (linux_read_memory, linux_write_memory): Remove + usage of "register" keyword. + +2017-06-17 Simon Marchi <simon.marchi@ericsson.com> + + * configure: Re-generate. + +2017-06-17 Simon Marchi <simon.marchi@ericsson.com> + + * configure: Re-generate. + +2017-06-17 Simon Marchi <simon.marchi@ericsson.com> + + * Makefile.in (COMPILE.pre): Add "-x c++". + +2017-06-09 Sergio Durigan Junior <sergiodj@redhat.com> + + * fork-child.c: Conditionally include <signal.h>. + +2017-06-07 Sergio Durigan Junior <sergiodj@redhat.com> + + * server.c (handle_general_set): Handle new packet + "QStartupWithShell". + (handle_query): Add "QStartupWithShell" to the list of supported + packets. + (gdbserver_usage): Add help text explaining the + new "--startup-with-shell" and "--no-startup-with-shell" CLI + options. + (captured_main): Recognize and act upon the presence of the new + CLI options. + +2017-06-07 Sergio Durigan Junior <sergiodj@redhat.com> + Pedro Alves <palves@redhat.com> + + * Makefile.in (SFILES): Add "nat/fork-inferior.o". + * configure: Regenerate. + * configure.srv (srv_linux_obj): Add "fork-child.o" and + "fork-inferior.o". + (i[34567]86-*-lynxos*): Likewise. + (spu*-*-*): Likewise. + * fork-child.c: New file. + * linux-low.c: Include "common-inferior.h", "nat/fork-inferior.h" + and "environ.h". + (linux_ptrace_fun): New function. + (linux_create_inferior): Adjust function prototype to reflect + change on "target.h". Adjust function code to use + "fork_inferior". + (linux_request_interrupt): Delete "signal_pid". + * lynx-low.c: Include "common-inferior.h" and "nat/fork-inferior.h". + (lynx_ptrace_fun): New function. + (lynx_create_inferior): Adjust function prototype to reflect + change on "target.h". Adjust function code to use + "fork_inferior". + * nto-low.c (nto_create_inferior): Adjust function prototype and + code to reflect change on "target.h". Update comments. + * server.c: Include "common-inferior.h", "nat/fork-inferior.h", + "common-terminal.h" and "environ.h". + (terminal_fd): Moved to fork-child.c. + (old_foreground_pgrp): Likewise. + (restore_old_foreground_pgrp): Likewise. + (last_status): Make it global. + (last_ptid): Likewise. + (our_environ): New variable. + (startup_with_shell): Likewise. + (program_name): Likewise. + (program_argv): Rename to... + (program_args): ...this. + (wrapper_argv): New variable. + (start_inferior): Delete function. + (get_exec_wrapper): New function. + (get_exec_file): Likewise. + (get_environ): Likewise. + (prefork_hook): Likewise. + (post_fork_inferior): Likewise. + (postfork_hook): Likewise. + (postfork_child_hook): Likewise. + (handle_v_run): Update code to deal with arguments coming from the + remote host. Update calls from "start_inferior" to + "create_inferior". + (captured_main): Likewise. Initialize environment variable. Call + "have_job_control". + * server.h (post_fork_inferior): New prototype. + (get_environ): Likewise. + (last_status): Declare. + (last_ptid): Likewise. + (signal_pid): Likewise. + * spu-low.c: Include "common-inferior.h" and "nat/fork-inferior.h". + (spu_ptrace_fun): New function. + (spu_create_inferior): Adjust function prototype to reflect change + on "target.h". Adjust function code to use "fork_inferior". + * target.c (target_terminal_init): New function. + (target_terminal_inferior): Likewise. + (target_terminal_ours): Likewise. + * target.h: Include <vector>. + (struct target_ops) <create_inferior>: Update prototype. + (create_inferior): Update macro. + * utils.c (gdb_flush_out_err): New function. + * win32-low.c (win32_create_inferior): Adjust function prototype + and code to reflect change on "target.h". + +2017-06-07 Sergio Durigan Junior <sergiodj@redhat.com> + + * inferiors.c (switch_to_thread): New function. + +2017-06-07 Sergio Durigan Junior <sergiodj@redhat.com> + + * Makefile.in (SFILE): Add "common/job-control.c". + (OBS): Add "job-control.o". + +2017-05-06 Sergio Durigan Junior <sergiodj@redhat.com> + + * Makefile: Remove "@host_makefile_frag@". + +2017-05-05 Pedro Alves <palves@redhat.com> + + * configure: Regenerate. + +2017-05-03 Sergio Durigan Junior <sergiodj@redhat.com> + + * configure: Regenerate. + +2017-05-02 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-arm-low.c (arm_gdbserver_get_next_pcs): Adjust to + software_single_step change of return type to + std::vector<CORE_ADDR>. + * linux-low.c (install_software_single_step_breakpoints): + Likewise. + * linux-low.h (install_software_single_step_breakpoints): + Likewise. + +2017-04-12 Sergio Durigan Junior <sergiodj@redhat.com> + + * remote-utils.c: Include "gdb_termios.h" instead of + "terminal.h". + * terminal.h: Delete file. + +2017-04-12 Sergio Durigan Junior <sergiodj@redhat.com> + + * server.c: Include <vector>. + <program_argv, wrapper_argv>: Convert to std::vector. + (start_inferior): Rewrite function to use C++. + (handle_v_run): Likewise. Update code that calculates the argv + based on the vRun packet; use C++. + (captured_main): Likewise. + +2017-04-06 Simon Marchi <simon.marchi@ericsson.com> + + * server.c (handle_v_cont): Initialize thread_resume::thread + with null_ptid. + +2017-04-05 Pedro Alves <palves@redhat.com> + + * configure: Regenerate. + +2017-04-05 Pedro Alves <palves@redhat.com> + + * gdbreplay.c (sync_error): Constify. + * linux-x86-low.c (push_opcode): Constify. + +2017-04-05 Pedro Alves <palves@redhat.com> + + * win32-low.c (get_child_debug_event) + <CREATE_PROCESS_DEBUG_EVENT>: Don't report TARGET_WAITKIND_EXECD. + Report TARGET_WAITKIND_SPURIOUS instead. + +2017-04-05 Pedro Alves <palves@redhat.com> + + * remote-utils.c (remote_prepare, remote_open): Constify. + * remote-utils.h (remote_prepare, remote_open): Constify. + * server.c (captured_main): Constify 'port' handling. + +2017-04-04 Simon Marchi <simon.marchi@ericsson.com> + + * Makefile.in (clean): Clear .deps. + +2017-03-31 Simon Marchi <simon.marchi@polymtl.ca> + + * .gitignore: Remove generated files, replace with wildcard. + * (clean): Replace removal of generated files with wildcard. + (version.c): Replace with... + (version-generated.c): ...this. + (xml-builtin.c): Replace with... + (xml-builtin-generated.c): ...this. + (%-ipa.o: %-generated.c, %.o: %-generated.c): New rules. + (%.c: *regformats*): Replace with... + (%-generated.c: *regformats*): ...this. + +2017-03-27 Max Filippov <jcmvbkbc@gmail.com> + + * linux-xtensa-low.c (regnum::R_THREADPTR): New enum member. + (xtensa_fill_gregset): Call collect_register_by_name for + threadptr register. + (xtensa_store_gregset): Call supply_register_by_name for + threadptr register. + +2017-03-27 Max Filippov <jcmvbkbc@gmail.com> + + * linux-xtensa-low.c (xtensa_fill_gregset): Call collect_register + for all registers in a0_regnum..a0_regnum + C0_NREGS range. + (xtensa_store_gregset): Call supply_register for all registers in + a0_regnum..a0_regnum + C0_NREGS range. + +2017-03-13 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in (%-ipa.o: %-ipa.c): New rule. + (ax-ipa.o: ax.c): Remove. + (linux-i386-ipa.o: linux-i386-ipa.c): Remove. + (linux-amd64-ipa.o: linux-amd64-ipa.c): Remove. + (linux-aarch64-ipa.o: linux-aarch64-ipa.c): Remove. + (linux-s390-ipa.o: linux-s390-ipa.c): Remove. + (linux-ppc-ipa.o: linux-ppc-ipa.c): Remove. + +2017-03-13 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in (%-ipa.o: ../common/%.c): New rule. + (print-utils-ipa.o: ../common/print-utils.c): Remove. + (rsp-low-ipa.o: ../common/rsp-low.c): Remove. + (errors-ipa.o: ../common/errors.c): Remove. + (format-ipa.o: ../common/format.c): Remove. + (common-utils-ipa.o: ../common/common-utils.c): Remove. + +2017-03-13 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in (%-ipa.o: %.c): New rule. + (tracepoint-ipa.o: tracepoint.c): Remove. + (utils-ipa.o: utils.c): Remove. + (remote-utils-ipa.o: remote-utils.c): Remove. + (regcache-ipa.o: regcache.c): Remove. + (i386-linux-ipa.o: i386-linux.c): Remove. + (i386-mmx-linux-ipa.o: i386-mmx-linux.c): Remove. + (i386-avx-linux-ipa.o: i386-avx-linux.c): Remove. + (i386-mpx-linux-ipa.o: i386-mpx-linux.c): Remove. + (i386-avx-mpx-linux-ipa.o: i386-avx-mpx-linux.c): Remove. + (i386-avx-avx512-linux-ipa.o: i386-avx-avx512-linux.c): Remove. + (i386-avx-mpx-avx512-pku-linux-ipa.o: i386-avx-mpx-avx512-pku-linux.c): Remove. + (amd64-linux-ipa.o: amd64-linux.c): Remove. + (amd64-avx-linux-ipa.o: amd64-avx-linux.c): Remove. + (amd64-mpx-linux-ipa.o: amd64-mpx-linux.c): Remove. + (amd64-avx-mpx-linux-ipa.o: amd64-avx-mpx-linux.c): Remove. + (amd64-avx-avx512-linux-ipa.o: amd64-avx-avx512-linux.c): Remove. + (amd64-avx-mpx-avx512-pku-linux-ipa.o: amd64-avx-mpx-avx512-pku-linux.c): Remove. + (aarch64-ipa.o: aarch64.c): Remove. + (s390-linux32-ipa.o: s390-linux32.c): Remove. + (s390-linux32v1-ipa.o: s390-linux32v1.c): Remove. + (s390-linux32v2-ipa.o: s390-linux32v2.c): Remove. + (s390-linux64-ipa.o: s390-linux64.c): Remove. + (s390-linux64v1-ipa.o: s390-linux64v1.c): Remove. + (s390-linux64v2-ipa.o: s390-linux64v2.c): Remove. + (s390-te-linux64-ipa.o: s390-te-linux64.c): Remove. + (s390-vx-linux64-ipa.o: s390-vx-linux64.c): Remove. + (s390-tevx-linux64-ipa.o: s390-tevx-linux64.c): Remove. + (s390x-linux64-ipa.o: s390x-linux64.c): Remove. + (s390x-linux64v1-ipa.o: s390x-linux64v1.c): Remove. + (s390x-linux64v2-ipa.o: s390x-linux64v2.c): Remove. + (s390x-te-linux64-ipa.o: s390x-te-linux64.c): Remove. + (s390x-vx-linux64-ipa.o: s390x-vx-linux64.c): Remove. + (s390x-tevx-linux64-ipa.o: s390x-tevx-linux64.c): Remove. + (powerpc-32l-ipa.o: powerpc-32l.c): Remove. + (powerpc-altivec32l-ipa.o: powerpc-altivec32l.c): Remove. + (powerpc-cell32l-ipa.o: powerpc-cell32l.c): Remove. + (powerpc-vsx32l-ipa.o: powerpc-vsx32l.c): Remove. + (powerpc-isa205-32l-ipa.o: powerpc-isa205-32l.c): Remove. + (powerpc-isa205-altivec32l-ipa.o: powerpc-isa205-altivec32l.c): Remove. + (powerpc-isa205-vsx32l-ipa.o: powerpc-isa205-vsx32l.c): Remove. + (powerpc-e500l-ipa.o: powerpc-e500l.c): Remove. + (powerpc-64l-ipa.o: powerpc-64l.c): Remove. + (powerpc-altivec64l-ipa.o: powerpc-altivec64l.c): Remove. + (powerpc-cell64l-ipa.o: powerpc-cell64l.c): Remove. + (powerpc-vsx64l-ipa.o: powerpc-vsx64l.c): Remove. + (powerpc-isa205-64l-ipa.o: powerpc-isa205-64l.c): Remove. + (powerpc-isa205-altivec64l-ipa.o: powerpc-isa205-altivec64l.c): Remove. + (powerpc-isa205-vsx64l-ipa.o: powerpc-isa205-vsx64l.c): Remove. + (tdesc-ipa.o: tdesc.c): Remove. + (x32-linux-ipa.o: x32-linux.c): Remove. + (x32-avx-linux-ipa.o: x32-avx-linux.c): Remove. + (x32-avx512-linux-ipa.o: x32-avx512-linux.c): Remove. + +2017-03-13 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in (%.o: ../arch/%.c): New rule. + (arm.o: ../arch/arm.c): Remove. + (arm-linux.o: ../arch/arm-linux.c): Remove. + (arm-get-next-pcs.o: ../arch/arm-get-next-pcs.c): Remove. + (aarch64-insn.o: ../arch/aarch64-insn.c): Remove. + +2017-03-13 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in (%.o: ../nat/%.c): New rule. + (x86-dregs.o: ../nat/x86-dregs.c): Remove. + (amd64-linux-siginfo.o: ../nat/amd64-linux-siginfo.c): Remove. + (linux-btrace.o: ../nat/linux-btrace.c): Remove. + (linux-osdata.o: ../nat/linux-osdata.c): Remove. + (linux-procfs.o: ../nat/linux-procfs.c): Remove. + (linux-ptrace.o: ../nat/linux-ptrace.c): Remove. + (linux-waitpid.o: ../nat/linux-waitpid.c): Remove. + (mips-linux-watch.o: ../nat/mips-linux-watch.c): Remove. + (ppc-linux.o: ../nat/ppc-linux.c): Remove. + (linux-personality.o: ../nat/linux-personality.c): Remove. + (aarch64-linux-hw-point.o: ../nat/aarch64-linux-hw-point.c): Remove. + (aarch64-linux.o: ../nat/aarch64-linux.c): Remove. + (x86-linux.o: ../nat/x86-linux.c): Remove. + (x86-linux-dregs.o: ../nat/x86-linux-dregs.c): Remove. + (linux-namespaces.o: ../nat/linux-namespaces.c): Remove. + +2017-03-13 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in (%.o: ../common/%.c): New rule. + (signals.o: ../common/signals.c): Remove. + (print-utils.o: ../common/print-utils.c): Remove. + (rsp-low.o: ../common/rsp-low.c): Remove. + (common-utils.o: ../common/common-utils.c): Remove. + (posix-strerror.o: ../common/posix-strerror.c): Remove. + (mingw-strerror.o: ../common/mingw-strerror.c): Remove. + (vec.o: ../common/vec.c): Remove. + (gdb_vecs.o: ../common/gdb_vecs.c): Remove. + (xml-utils.o: ../common/xml-utils.c): Remove. + (ptid.o: ../common/ptid.c): Remove. + (buffer.o: ../common/buffer.c): Remove. + (format.o: ../common/format.c): Remove. + (filestuff.o: ../common/filestuff.c): Remove. + (agent.o: ../common/agent.c): Remove. + (errors.o: ../common/errors.c): Remove. + (environ.o: ../common/environ.c): Remove. + (common-debug.o: ../common/common-debug.c): Remove. + (cleanups.o: ../common/cleanups.c): Remove. + (common-exceptions.o: ../common/common-exceptions.c): Remove. + (fileio.o: ../common/fileio.c): Remove. + (common-regcache.o: ../common/common-regcache.c): Remove. + (signals-state-save-restore.o: ../common/signals-state-save-restore.c): Remove. + (new-op.o: ../common/new-op.c): Remove. + (btrace-common.o: ../common/btrace-common.c): Remove. + +2017-03-13 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in (%.o: ../target/%.c): New rule. + (waitstatus.o: ../target/waitstatus.c): Remove. + +2017-03-13 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in + (%.c: ../regformats/%.dat, + (%.c: ../regformats/arm/%.dat, + (%.c: ../regformats/i386/%.dat, + (%.c: ../regformats/rs6000/%.dat): New rules. + (aarch64.c): Remove. + (reg-arm.c): Remove. + (arm-with-iwmmxt.c): Remove. + (arm-with-vfpv2.c): Remove. + (arm-with-vfpv3.c): Remove. + (arm-with-neon.c): Remove. + (reg-bfin.c): Remove. + (reg-cris.c): Remove. + (reg-crisv32.c): Remove. + (i386.c): Remove. + (i386-linux.c): Remove. + (i386-avx.c): Remove. + (i386-avx-linux.c): Remove. + (i386-avx-avx512.c): Remove. + (i386-avx-avx512-linux.c): Remove. + (i386-mpx.c): Remove. + (i386-mpx-linux.c): Remove. + (i386-avx-mpx-avx512-pku.c): Remove. + (i386-avx-mpx-avx512-pku-linux.c): Remove. + (i386-avx-mpx.c): Remove. + (i386-avx-mpx-linux.c): Remove. + (i386-mmx.c): Remove. + (i386-mmx-linux.c): Remove. + (reg-ia64.c): Remove. + (reg-m32r.c): Remove. + (reg-m68k.c): Remove. + (reg-cf.c): Remove. + (mips-linux.c): Remove. + (mips-dsp-linux.c): Remove. + (mips64-linux.c): Remove. + (mips64-dsp-linux.c): Remove. + (nios2-linux.c): Remove. + (powerpc-32.c): Remove. + (powerpc-32l.c): Remove. + (powerpc-altivec32l.c): Remove. + (powerpc-cell32l.c): Remove. + (powerpc-vsx32l.c): Remove. + (powerpc-isa205-32l.c): Remove. + (powerpc-isa205-altivec32l.c): Remove. + (powerpc-isa205-vsx32l.c): Remove. + (powerpc-e500l.c): Remove. + (powerpc-64l.c): Remove. + (powerpc-altivec64l.c): Remove. + (powerpc-cell64l.c): Remove. + (powerpc-vsx64l.c): Remove. + (powerpc-isa205-64l.c): Remove. + (powerpc-isa205-altivec64l.c): Remove. + (powerpc-isa205-vsx64l.c): Remove. + (s390-linux32.c): Remove. + (s390-linux32v1.c): Remove. + (s390-linux32v2.c): Remove. + (s390-linux64.c): Remove. + (s390-linux64v1.c): Remove. + (s390-linux64v2.c): Remove. + (s390-te-linux64.c): Remove. + (s390-vx-linux64.c): Remove. + (s390-tevx-linux64.c): Remove. + (s390x-linux64.c): Remove. + (s390x-linux64v1.c): Remove. + (s390x-linux64v2.c): Remove. + (s390x-te-linux64.c): Remove. + (s390x-vx-linux64.c): Remove. + (s390x-tevx-linux64.c): Remove. + (tic6x-c64xp-linux.c): Remove. + (tic6x-c64x-linux.c): Remove. + (tic6x-c62x-linux.c): Remove. + (reg-sh.c): Remove. + (reg-sparc64.c): Remove. + (reg-spu.c): Remove. + (amd64.c): Remove. + (amd64-linux.c): Remove. + (amd64-avx.c): Remove. + (amd64-avx-linux.c): Remove. + (amd64-avx-avx512.c): Remove. + (amd64-avx-avx512-linux.c): Remove. + (amd64-mpx.c): Remove. + (amd64-mpx-linux.c): Remove. + (amd64-avx-mpx-avx512-pku.c): Remove. + (amd64-avx-mpx-avx512-pku-linux.c): Remove. + (amd64-avx-mpx.c): Remove. + (amd64-avx-mpx-linux.c): Remove. + (x32.c): Remove. + (x32-linux.c): Remove. + (x32-avx.c): Remove. + (x32-avx-linux.c): Remove. + (x32-avx-avx512.c): Remove. + (x32-avx-avx512-linux.c): Remove. + (reg-xtensa.c): Remove. + (reg-tilegx.c): Remove. + (reg-tilegx32.c): Remove. + +2017-03-07 Sergio Durigan Junior <sergiodj@redhat.com> + + * Makefile.in (SFILES): Add "common/environ.c". + (OBJS): Add "common/environ.h". + +2017-01-27 Walfred Tedeschi <walfred.tedeschi@intel.com> + + * configure.ac: Check if the fs_base and gs_base members of + `struct user_regs_struct' exist. + * config.in: Regenerated. + * configure: Likewise. + +2017-01-09 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-aarch32-low.c (arm_breakpoint_kind_from_pc): Use + target_read_memory. + * linux-arm-low.c (get_next_pcs_read_memory_unsigned_integer): Likewise. + (get_next_pcs_syscall_next_pc): Likewise. + +2016-12-23 Luis Machado <lgustavo@codesourcery.com> + + * win32-i386-low.c: Fix incorrect reference to a couple source files. + * nto-x86-low.c: Likewise. + +2016-11-30 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in: Include disable-implicit-rules.mk. + +2016-11-23 Pedro Alves <palves@redhat.com> + + * debug.c: Include <chrono> instead of "gdb_sys_time.h". + (debug_vprintf): Use std::chrono::steady_clock instead of + gettimeofday. Use '.' instead of ':'. + * tracepoint.c: Include <chrono> instead of "gdb_sys_time.h". + (get_timestamp): Use std::chrono::steady_clock instead of + gettimeofday. + +2016-11-22 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in: Fix whitespace formatting. + +2016-11-22 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in (SFILES, OBS): Flatten list and order + alphabetically. + +2016-11-23 Pedro Alves <palves@redhat.com> + + * event-loop.c (handle_file_event): Use warning. + * linux-low.c (linux_resume_one_lwp_throw): Use warning. + * mem-break.c (add_breakpoint_condition, add_breakpoint_commands): + Use warning. + +2016-11-23 Pedro Alves <palves@redhat.com> + + * linux-low.c (check_zombie_leaders): Use debug_printf for debug + output. + * notif.c (handle_notif_ack, notif_event_enque): Likewise. + * remote-utils.c (putpkt_binary_1, readchar, getpkt): Use + debug_printf and debug_flush for debug output. + * server.c (handle_general_set): Likewise. + * thread-db.c (try_thread_db_load): Use debug_printf for debug + output. + +2016-11-17 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in (.c.o): Replace rule with ... + (%.o: %.c): ... this one. + +2016-11-17 Simon Marchi <simon.marchi@polymtl.ca> + + * Makefile.in: Remove @GMAKE_TRUE@ prefixes and removes lines + prefixed with @GMAKE_FALSE@. Update comment related to non-GNU + make. + * configure.ac: Remove checks for the make program. + * configure: Re-generate. + +2016-10-28 Pedro Alves <palves@redhat.com> + + * Makefile.in (CXX_DIALECT): Get from configure. + (COMPILE.pre, CC_LD): Append $(CXX_DIALECT). + * acinclude.m4: Include ../ax_cxx_compile_stdcxx.m4. + * configure.ac: Call AX_CXX_COMPILE_STDCXX. + * config.in: Regenerate. + * configure: Regenerate. + +2016-10-27 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_supports_range_stepping): Return true if + can_software_single_step return true. + +2016-10-27 Yao Qi <yao.qi@linaro.org> + + * inferiors.c (find_inferior_in_random): New function. + * inferiors.h (find_inferior_in_random): Declare. + * linux-low.c (linux_wait_for_event_filtered): Call + find_inferior_in_random instead of find_inferior. + +2016-10-27 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_wait_1): If single-step breakpoints are + inserted, remove them. + +2016-10-26 Pedro Alves <palves@redhat.com> + + * linux-low.c (handle_extended_wait): Link parent/child fork + threads. + (linux_wait_1): Unlink them. + (linux_set_resume_request): Ignore resume requests for + already-resumed and unhandled fork child threads. + * linux-low.h (struct lwp_info) <fork_relative>: New field. + * server.c (in_queued_stop_replies_ptid, in_queued_stop_replies): + New functions. + (handle_v_requests) <vCont>: Don't call require_running. + * server.h (in_queued_stop_replies): New declaration. + +2016-10-24 Yao Qi <yao.qi@linaro.org> + + PR server/20733 + * linux-aarch64-low.c (append_insns): Cast the return value to + 'uint32_t *'. + +2016-10-10 Yao Qi <yao.qi@linaro.org> + + * linux-aarch32-low.c (enum arm_breakpoint_kinds): Remove. + +2016-10-06 Sergio Durigan Junior <sergiodj@redhat.com> + + * target.c (target_supports_multi_process): New function, moved + from... + * target.h (target_supports_multi_process): ... here. Remove + macro. + +2016-10-05 Tom Tromey <tom@tromey.com> + + PR remote/20655: + * tracepoint.c (handle_tracepoint_bkpts): Check + ipa_error_tracepoint, not ipa_stopping_tracepoint. + +2016-10-05 Yao Qi <yao.qi@linaro.org> + + * configure.srv: Update the path of arm-*.xml files. + +2016-10-05 Terry Guo <terry.guo@arm.com> + Yao Qi <yao.qi@linaro.org> + + * Makefile.in: Adjust the path of rules. + * configure.srv: Update the path of xml files. + * regformats/arm-with-iwmmxt.dat: Regenerated. + * regformats/arm-with-neon.dat: Likewise. + * regformats/arm-with-vfpv2.dat: Likewise. + * regformats/arm-with-vfpv3.dat Likewise. + +2016-09-30 Yao Qi <yao.qi@linaro.org> + + PR gdbserver/20627 + * target.c (target_stop_and_wait): Don't call + target_continue_no_signal, use resume_stop instead. + +2016-09-26 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_wait_1): Call debug_exit. + +2016-09-23 Pedro Alves <palves@redhat.com> + + * Makefile.in (SFILES): Add common/new-op.c. + (OBS): Add common/new-op.o. + (new-op.o): New rule. + +2016-09-21 Simon Marchi <simon.marchi@ericsson.com> + + * .gitinore: Ignore more files. + +2016-09-21 Yao Qi <yao.qi@linaro.org> + + * linux-aarch32-low.c (arm_fill_gregset): Keep bits 20 to + 23. + +2016-09-19 Sergio Durigan Junior <sergiodj@redhat.com> + + * server.c (start_inferior): Call target_mourn_inferior instead of + mourn_inferior; pass ptid_t argument to it. + (resume): Likewise. + (handle_target_event): Likewise. + * target.c (target_mourn_inferior): New function. + * target.h (mourn_inferior): Delete macro. + +2016-09-16 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * linux-low.c (lwp_is_stepping): New function. + +2016-09-06 Carl Love <cel@us.ibm.com> + + * server.c (start_inferior): Fixed comment, requested comment change + didn't get updated correctly. Removed reference to ptrace () call as + it is only true on Linux systems. + +2016-09-06 Carl Love <cel@us.ibm.com> + + * server.c (start_inferior): Do not call + function target_post_create_inferior () if the + inferior process has already exited. + +2016-09-05 Pedro Alves <palves@redhat.com> + + * Makefile.in (COMPILER, COMPILER_CFLAGS): Remove. + (COMPILE.pre, CC_LD): Use CXX directly. + (INTERNAL_CFLAGS_BASE): Use CXXFLAGS directly. + * acinclude.m4: Don't include build-with-cxx.m4. + * configure.ac: Remove GDB_AC_BUILD_WITH_CXX call. + * configure: Regenerate. + +2016-09-02 Akash Trehan <akash.trehan123@gmail.com> + + PR gdb/19495 + * remote-utils.c (relocate_instruction): Remove redundant strcpy() + call writing data to own_buf. + +2016-09-01 Sergio Durigan Junior <sergiodj@redhat.com> + + * target.c (mywait): Call target_wait instead of + the_target->wait. + (target_wait): New function. + +2016-09-01 Sergio Durigan Junior <sergiodj@redhat.com> + + * server.c (start_inferior): New variable 'ptid'. Replace calls + to the_target->resume by target_continue{,_no_signal}, depending + on the case. + * target.c (target_stop_and_wait): Call target_continue_no_signal + instead of the_target->resume. + (target_continue): New function. + +2016-08-31 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-low.c (linux_wait_1): Move event switch after unsuspend_lwps. + +2016-08-25 Adhemerval Zanella <adhemerval.zanella@linaro.org> + + PR server/20491 + * gdb_proc_service.h (ps_get_thread_area): Remove const from struct + ps_prochandle. + * linux-aarch64-low.c (ps_get_thread_area): Likewise. + * linux-arm-low.c (ps_get_thread_area): Likewise. + * linux-crisv32-low.c (ps_get_thread_area): Likewise. + * linux-m68k-low.c (ps_get_thread_area): Likewise. + * linux-mips-low.c (ps_get_thread_area): Likewise. + * linux-nios2-low.c (ps_get_thread_area): Likewise. + * linux-tic6x-low.c (ps_get_thread_area): Likewise. + * linux-x86-low.c (ps_get_thread_area): Likewise. + * linux-xtensa-low.c (ps_get_thread_area): Likewise. + +2016-08-19 Pedro Alves <palves@redhat.com> + + * linux-x86-low.c (amd64_emit_call): Emit missing call opcode. + +2016-08-19 Pedro Alves <palves@redhat.com> + + * linux-x86-low.c (amd64_install_fast_tracepoint_jump_pad): Fix + comment. Use memcpy instead of casting through unsigned long. + +2016-08-19 Pedro Alves <palves@redhat.com> + + * linux-amd64-ipa.c (alloc_jump_pad_buffer) [__ILP32__]: Try + allocating around 0x80000000. + +2016-08-19 Pedro Alves <palves@redhat.com> + + PR gdb/20415 + * Makefile.in (x32-linux-ipa.o, x32-avx-linux-ipa.o) + (x32-avx512-linux-ipa.o): New rules. + * configure.ac (x86_64-*-linux*): New x32 check. + * configure.srv (ipa_x32_linux_regobj): New. + (x86_64-*-linux*): Use $ipa_x32_linux_regobj if building for x32. + * linux-amd64-ipa.c (get_ipa_tdesc) [__ILP32__]: Return x32 + descriptions. + (initialize_low_tracepoint) [__ILP32__]: Initialize x32 + descriptions. + * configure: Regenerate. + +2016-08-09 Pedro Alves <palves@redhat.com> + + PR gdb/18653 + * Makefile.in (OBS): Add signals-state-save-restore.o. + (signals-state-save-restore.o): New rule. + * config.in: Regenerate. + * configure: Regenerate. + * linux-low.c: Include "signals-state-save-restore.h". + (linux_create_inferior): Call + restore_original_signals_state. + * server.c: Include "dispositions-save-restore.h". + (captured_main): Call save_original_signals_state. + +2016-08-05 Pedro Alves <palves@redhat.com> + + * configure: Regenerate. + +2016-08-04 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (regsets_fetch_inferior_registers): Check + errno is ESRCH or not. + +2016-08-02 Yao Qi <yao.qi@linaro.org> + + * thread-db.c (struct thread_db) <td_ta_event_getmsg_p>: Remove. + <td_ta_set_event_p, td_ta_event_addr_p>: Remove. + (thread_db_load_search): Update. + (try_thread_db_load_1): Don't look for td_ta_event_addr, + td_ta_set_event and td_ta_event_getmsg. + +2016-07-26 Pedro Alves <palves@redhat.com> + + PR server/20414 + * linux-x86-low.c (x86_get_pc, x86_set_pc): Use uint64_t instead + of unsigned long for 64-bit registers and use uint32_t instead of + unsigned int for 32-bit registers. + +2016-07-26 Pedro Alves <palves@redhat.com> + + * linux-x86-low.c (x86_siginfo_fixup): Rename 'native' parameter + to 'ptrace'. + +2016-07-21 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + +2016-07-21 Yao Qi <yao.qi@linaro.org> + + * mem-break.c (find_gdb_breakpoint): Cast bp to + 'struct gdb_breakpoint *' rather than 'gdb_breakpoint *'. + +2016-07-21 Yao Qi <yao.qi@linaro.org> + + * server.c (handle_v_requests): Support s and S actions + if target_supports_software_single_step return true. + +2016-07-21 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (resume_stopped_resumed_lwps): If resume request + is resume_step, call maybe_hw_step. + (linux_wait_1): Stop all threads, remove reinsert breakpoints, + and unstop them. + (linux_resume_one_lwp_throw): Don't assert the thread has reinsert + breakpoints or not. + (proceed_one_lwp): If resume request is resume_step, install + reinsert breakpoints and call maybe_hw_step. + +2016-07-21 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (proceed_one_lwp): Declare. + (linux_resume_one_thread): Remove local variable 'step'. + Lift code enqueue signal. Call proceed_one_lwp instead of + linux_resume_one_lwp. + +2016-07-21 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_resume_one_thread): Call + enqueue_pending_signal. + +2016-07-21 Yao Qi <yao.qi@linaro.org> + + * gdbthread.h (make_cleanup_restore_current_thread): Declare. + * inferiors.c (do_restore_current_thread_cleanup): New function. + (make_cleanup_restore_current_thread): Likewise. + * linux-low.c (install_software_single_step_breakpoints): Call + make_cleanup_restore_current_thread. Switch current_thread to + thread. + +2016-07-21 Yao Qi <yao.qi@linaro.org> + + * mem-break.c (struct reinsert_breakpoint) <ptid>: New field. + (set_reinsert_breakpoint): New parameter ptid. Callers updated. + (clone_one_breakpoint): Likewise. + (delete_reinsert_breakpoints): Change parameter to thread. + Callers updated. + (has_reinsert_breakpoints): Likewise. + (uninsert_reinsert_breakpoints): Likewise. + (reinsert_reinsert_breakpoints): Likewise. + * mem-break.h (set_reinsert_breakpoint): Update declaration. + (delete_reinsert_breakpoints): Likewise. + (reinsert_reinsert_breakpoints): Likewise. + (uninsert_reinsert_breakpoints): Likewise. + (has_reinsert_breakpoints): Likewise. + +2016-07-21 Yao Qi <yao.qi@linaro.org> + + * inferiors.c (get_thread_process): Make parameter const. + * inferiors.h (get_thread_process): Update declaration. + * mem-break.c (clone_all_breakpoints): Remove all parameters. + Add new parameters child_thread and parent_thread. Callers + updated. + * mem-break.h (clone_all_breakpoints): Update declaration. + +2016-07-21 Yao Qi <yao.qi@linaro.org> + + * mem-break.c (struct breakpoint) <cond_list>: Remove. + <command_list, handler>: Remove. + (struct gdb_breakpoint): New. + (struct other_breakpoint): New. + (struct reinsert_breakpoint): New. + (is_gdb_breakpoint): New function. + (any_persistent_commands): Update command_list if + is_gdb_breakpoint returns true. + (set_breakpoint): Create breakpoints according to their types. + (find_gdb_breakpoint): Return 'struct gdb_breakpoint *'. + (set_gdb_breakpoint_1): Likewise. + (set_gdb_breakpoint): Likewise. + (clear_breakpoint_conditions): Change parameter type to + 'struct gdb_breakpoint *'. + (clear_breakpoint_commands): Likewise. + (clear_breakpoint_conditions_and_commands): Likewise. + (add_condition_to_breakpoint): Likewise. + (add_breakpoint_condition): Likewise. + (add_commands_to_breakpoint): Likewise. + (check_breakpoints): Check other_breakpoint. + (clone_one_breakpoint): Clone breakpopint according to its type. + * mem-break.h (struct gdb_breakpoint): Declare. + (set_gdb_breakpoint): Update declaration. + (clear_breakpoint_conditions_and_commands): Likewise. + (add_breakpoint_condition): Likewise. + (add_breakpoint_commands): Likewise. + * server.c (process_point_options): Change parameter type to + 'struct gdb_breakpoint *'. + +2016-07-21 Yao Qi <yao.qi@linaro.org> + + * mem-break.c (set_breakpoint_at): Rename it to ... + (set_breakpoint_type_at): ... it. + (set_breakpoint_at): Call set_breakpoint_type_at. + (set_reinsert_breakpoint): Call set_breakpoint_type_at. + * mem-break.h (set_breakpoint_at): Update comments. + +2016-07-12 Chung-Lin Tang <cltang@codesourcery.com> + + * linux-nios2-low.c (nios2_fill_gregset): Add type cast + to buf parameter. + (nios2_store_gregset): Likewise. + +2016-07-01 Pedro Alves <palves@redhat.com> + Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-low.c: Change interface to take the target lwp_info + pointer directly and return void. Handle detaching from a zombie + thread. + (linux_detach_lwp_callback): New function. + (linux_detach): Detach from the leader thread after detaching from + the clone threads. + +2016-06-28 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_ftrace_insn_reloc_b): Use int64_t + for variable new_offset. + (aarch64_ftrace_insn_reloc_b_cond): Likewise. + (aarch64_ftrace_insn_reloc_cb): Likewise. + (aarch64_ftrace_insn_reloc_tb): Likewise. + (aarch64_install_fast_tracepoint_jump_pad): Likewise. Use + PRIx64 instead of PRIx32. + +2016-06-28 Yao Qi <yao.qi@linaro.org> + + * linux-arm-low.c (arm_get_syscall_trapinfo): New function. + (the_low_target): Install arm_get_syscall_trapinfo. + +2016-06-28 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_get_syscall_trapinfo): New + function. + (the_low_target): Install aarch64_get_syscall_trapinfo. + +2016-06-28 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (get_syscall_trapinfo): Remove parameter sysret. + Callers updated. + * linux-low.h (struct linux_target_ops) <get_syscall_trapinfo>: + Remove parameter sysno. + * linux-x86-low.c (x86_get_syscall_trapinfo): Remove parameter + sysret. + +2016-06-21 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * linux-s390-low.c (s390_emit_eq_goto): Mark function static. + (s390_emit_ne_goto): Likewise. + (s390_emit_lt_goto): Likewise. + (s390_emit_le_goto): Likewise. + (s390_emit_gt_goto): Likewise. + (s390_emit_ge_goto): Likewise. + (s390x_emit_eq_goto): Likewise. + (s390x_emit_ne_goto): Likewise. + (s390x_emit_lt_goto): Likewise. + (s390x_emit_le_goto): Likewise. + (s390x_emit_gt_goto): Likewise. + (s390x_emit_ge_goto): Likewise. + (s390_emit_ops_impl): Mark variable static. + (s390x_emit_ops): Likewise. + +2016-06-17 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (handle_extended_wait): Call + uninsert_reinsert_breakpoints for the parent process. Remove + reinsert breakpoints from the child process. Reinsert them to + the parent process when vfork is done. + * mem-break.c (uninsert_reinsert_breakpoints): New function. + (reinsert_reinsert_breakpoints): New function. + * mem-break.h (uninsert_reinsert_breakpoints): Declare + (reinsert_reinsert_breakpoints): Declare. + +2016-06-17 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (handle_extended_wait): If the parent is doing + step-over, remove the reinsert breakpoints from the forked child. + +2016-06-17 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (unsuspend_all_lwps): Declare. + (linux_low_filter_event): If thread exited, call finish_step_over. + If step-over is finished, unsuspend other threads. + +2016-06-17 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_resume_one_lwp_throw): Assert + has_reinsert_breakpoints returns false. + * mem-break.c (delete_disabled_breakpoints): Assert + bp type isn't reinsert_breakpoint. + +2016-06-17 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (maybe_hw_step): New function. + (linux_resume_one_lwp_throw): Call maybe_hw_step. + (finish_step_over): Switch current_thread to lwp temporarily, + and assert has_reinsert_breakpoints returns true. + (proceed_one_lwp): Call maybe_hw_step. + * mem-break.c (has_reinsert_breakpoints): New function. + * mem-break.h (has_reinsert_breakpoints): Declare. + +2016-06-02 Jon Turney <jon.turney@dronecode.org.uk> + + * win32-low.c (win32_create_inferior): Add pointer casts for C++. + +2016-05-17 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_stabilize_threads): Call unsuspend_all_lwps + instead of find_inferior. + +2016-05-05 Yao Qi <yao.qi@linaro.org> + + * linux-arm-low.c (get_next_pcs_read_memory_unsigned_integer): + Initialize res to zero. + +2016-05-05 Yao Qi <yao.qi@linaro.org> + + * linux-arm-low.c (arm_sigreturn_next_pc): Change type of cpsr + to uint32_t. + +2016-05-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + * spu-low.c (fetch_ppc_register): Cast PowerPC-Linux-specific value + used as first ptrace argument to PTRACE_TYPE_ARG1 for C++. + (fetch_ppc_memory_1, store_ppc_memory_1): Likewise. + +2016-04-28 Par Olsson <par.olsson@windriver.com> + Simon Marchi <simon.marchi@ericsson.com> + + * tracepoint.c (write_inferior_int8): New function. + (cmd_qtenable_disable): Write enable flag using + write_inferior_int8. + +2016-04-25 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (lwp_signal_can_be_delivered): Adjust. + (need_step_over_p): Return zero if the LWP has pending signals + can be delivered on software single step target. + +2016-04-25 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (reinsert_raw_breakpoint): If bp->inserted is true + return instead of error. + +2016-04-22 Yao Qi <yao.qi@linaro.org> + + * linux-aarch32-low.c (arm_store_gregset): Clear CPSR bits 20 + to 23. + +2016-04-22 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (lwp_signal_can_be_delivered): Don't deliver + signal when stepping over breakpoint with software single + step. + +2016-04-21 Pedro Alves <palves@redhat.com> + + * linux-s390-low.c (s390_collect_ptrace_register) + (s390_supply_ptrace_register, s390_get_hwcap): Use gdb_byte * and + add casts. + (s390_check_regset): Use void * instead of gdb_byte *. + +2016-04-20 Pedro Alves <palves@redhat.com> + + * configure: Renegerate. + +2016-04-20 Yao Qi <yao.qi@linaro.org> + + * linux-aarch32-low.c: Include "arch/arm-linux.h". + (arm_fill_gregset): Use ARM_CPSR_GREGNUM rather than magic + number 16. + (arm_store_gregset): Likewise. + +2016-04-16 Walfred Tedeschi <walfred.tedeschi@intel.com> + + * Makefile.in (clean): Add removal for i386-avx-mpx.c, + i386-avx-mpx-linux.c, amd64-avx-mpx.c and amd64-avx-mpx-linux.c. + (i386-avx-mpx.c, i386-avx-mpx-linux.c, amd64-avx-mpx.c) + (amd64-avx-mpx-linux.c): New rules. + (amd64-avx-mpx-linux-ipa.o, i386-avx-mpx-linux-ipa.o): New rule. + * configure.srv (srv_i386_regobj): Add i386-avx-mpx.o. + (srv_i386_linux_regobj): Add i386-avx-mpx-linux.o. + (srv_amd64_regobj): Add amd64-avx-mpx.o. + (srv_amd64_linux_regobj): Add amd64-avx-mpx-linux.o. + (srv_i386_xmlfiles): Add i386/i386-avx-mpx.xml. + (srv_amd64_xmlfiles): Add i386/amd64-avx-mpx.xml. + (srv_i386_linux_xmlfiles): Add i386/i386-avx-mpx-linux.xml. + (srv_amd64_linux_xmlfiles): Add i386/amd64-avx-mpx-linux.xml. + (ipa_i386_linux_regobj): Add i386-avx-mpx-linux-ipa.o. + (ipa_amd64_linux_regobj): Add amd64-avx-mpx-linux-ipa.o. + * linux-x86-low.c (x86_linux_read_description): Add case for + X86_XSTATE_AVX_MPX_MASK. + (x86_get_ipa_tdesc_idx): Add cases for avx_mpx. + (initialize_low_arch): Call init_registers_amd64_avx_mpx_linux and + init_registers_i386_avx_mpx_linux. + * linux-i386-ipa.c (get_ipa_tdesc): Add case for avx_mpx. + (initialize_low_tracepoint): Call + init_registers_i386_avx_mpx_linux. + * linux-amd64-ipa.c (get_ipa_tdesc): Add case for avx_mpx. + (initialize_low_tracepoint): Call + init_registers_amd64_avx_mpx_linux. + * linux-x86-tdesc.h (X86_TDESC_AVX_MPX): New enum value. + (init_registers_amd64_avx_mpx_linux, tdesc_amd64_avx_mpx_linux) + (init_registers_i386_avx_mpx_linux, tdesc_i386_avx_mpx_linux): New + declarations. + +2016-04-18 Pedro Alves <palves@redhat.com> + + * configure: Regenerate. + +2016-04-13 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-aarch64-low.c (aarch64_emit_add): Switch x1 and x0. + (aarch64_emit_sub): Likewise. + +2016-04-12 Pedro Alves <palves@redhat.com> + + * utils.c (prepare_to_throw_exception): Delete. + +2016-04-05 Simon Marchi <simon.marchi@ericsson.com> + + * Makefile.in ($(IPA_LIB)): Set SONAME of the IPA lib. + +2016-04-05 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * tracepoint.c (getauxval): Move to #ifdef IN_PROCESS_AGENT. + +2016-04-03 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * linux-aarch64-ipa.c: Add <elf.h> include. + * linux-ppc-ipa.c: Add <elf.h> include. + * linux-s390-ipa.c: Add <elf.h> include. + +2016-03-31 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * tracepoint.c (gdb_collect_ptr): Remove const qualifier. + (get_raw_reg_ptr): Likewise. + (get_trace_state_variable_value_ptr): Likewise. + (set_trace_state_variable_value_ptr): Likewise. + (initialize_tracepoint): Cast alloc_jump_pad_buffer result to + char *. + +2016-03-31 Wei-cheng Wang <cole945@gmail.com> + Marcin KoÅ›cielnicki <koriakin@0x04.net> + + PR/17221 + * linux-ppc-low.c (emit_insns): New function. + (__EMIT_ASM, _EMIT_ASM, EMIT_ASM): New macros. + (ppc_emit_prologue): New function. + (ppc_emit_epilogue): New function. + (ppc_emit_add): New function. + (ppc_emit_sub): New function. + (ppc_emit_mul): New function. + (ppc_emit_lsh): New function. + (ppc_emit_rsh_signed): New function. + (ppc_emit_rsh_unsigned): New function. + (ppc_emit_ext): New function. + (ppc_emit_zero_ext): New function. + (ppc_emit_log_not): New function. + (ppc_emit_bit_and): New function. + (ppc_emit_bit_or): New function. + (ppc_emit_bit_xor): New function. + (ppc_emit_bit_not): New function. + (ppc_emit_equal): New function. + (ppc_emit_less_signed): New function. + (ppc_emit_less_unsigned): New function. + (ppc_emit_ref): New function. + (ppc_emit_const): New function. + (ppc_emit_reg): New function. + (ppc_emit_pop): New function. + (ppc_emit_stack_flush): New function. + (ppc_emit_swap): New function. + (ppc_emit_stack_adjust): New function. + (ppc_emit_call): New function. + (ppc_emit_int_call_1): New function. + (ppc_emit_void_call_2): New function. + (ppc_emit_if_goto): New function. + (ppc_emit_goto): New function. + (ppc_emit_eq_goto): New function. + (ppc_emit_ne_goto): New function. + (ppc_emit_lt_goto): New function. + (ppc_emit_le_goto): New function. + (ppc_emit_gt_goto): New function. + (ppc_emit_ge_goto): New function. + (ppc_write_goto_address): New function. + (ppc_emit_ops_impl): New static variable. + (ppc64v1_emit_prologue): New function. + (ppc64v2_emit_prologue): New function. + (ppc64_emit_epilogue): New function. + (ppc64_emit_add): New function. + (ppc64_emit_sub): New function. + (ppc64_emit_mul): New function. + (ppc64_emit_lsh): New function. + (ppc64_emit_rsh_signed): New function. + (ppc64_emit_rsh_unsigned): New function. + (ppc64_emit_ext): New function. + (ppc64_emit_zero_ext): New function. + (ppc64_emit_log_not): New function. + (ppc64_emit_bit_and): New function. + (ppc64_emit_bit_or): New function. + (ppc64_emit_bit_xor): New function. + (ppc64_emit_bit_not): New function. + (ppc64_emit_equal): New function. + (ppc64_emit_less_signed): New function. + (ppc64_emit_less_unsigned): New function. + (ppc64_emit_ref): New function. + (ppc64_emit_const): New function. + (ppc64v1_emit_reg): New function. + (ppc64v2_emit_reg): New function. + (ppc64_emit_pop): New function. + (ppc64_emit_stack_flush): New function. + (ppc64_emit_swap): New function. + (ppc64v1_emit_call): New function. + (ppc64v2_emit_call): New function. + (ppc64v1_emit_int_call_1): New function. + (ppc64v2_emit_int_call_1): New function. + (ppc64v1_emit_void_call_2): New function. + (ppc64v2_emit_void_call_2): New function. + (ppc64_emit_if_goto): New function. + (ppc64_emit_eq_goto): New function. + (ppc64_emit_ne_goto): New function. + (ppc64_emit_lt_goto): New function. + (ppc64_emit_le_goto): New function. + (ppc64_emit_gt_goto): New function. + (ppc64_emit_ge_goto): New function. + (ppc64v1_emit_ops_impl): New static variable. + (ppc64v2_emit_ops_impl): New static variable. + (ppc_emit_ops): New function. + (linux_low_target): Wire in ppc_emit_ops. + +2016-03-31 Wei-cheng Wang <cole945@gmail.com> + Marcin KoÅ›cielnicki <koriakin@0x04.net> + + PR/17221 + * Makefile.in: Add powerpc-*-ipa.o + * configure.srv: Add ipa_obj for powerpc*-linux. + * linux-ppc-ipa.c: New file. + * linux-ppc-low.c: Added linux-ppc-tdesc.h, ax.h, tracepoint.h + includes. + (PPC_FIELD): New macro. + (PPC_SEXT): New macro. + (PPC_OP6): New macro. + (PPC_BO): New macro. + (PPC_LI): New macro. + (PPC_BD): New macro. + (init_registers_*): Move prototype to linux-ppc-tdesc.h. + (tdesc_*): Move declaration to linux-ppc-tdesc.h. + (ppc_get_hwcap): Rename to ppc_get_auxv and add type parameter. + (ppc_get_thread_area): New function. + (is_elfv2_inferior): New function. + (gen_ds_form): New function. + (GEN_STD): New macro. + (GEN_STDU): New macro. + (GEN_LD): New macro. + (GEN_LDU): New macro. + (gen_d_form): New function. + (GEN_ADDI): New macro. + (GEN_ADDIS): New macro. + (GEN_LI): New macro. + (GEN_LIS): New macro. + (GEN_ORI): New macro. + (GEN_ORIS): New macro. + (GEN_LWZ): New macro. + (GEN_STW): New macro. + (GEN_STWU): New macro. + (gen_xfx_form): New function. + (GEN_MFSPR): New macro. + (GEN_MTSPR): New macro. + (GEN_MFCR): New macro. + (GEN_MTCR): New macro. + (GEN_SYNC): New macro. + (GEN_LWSYNC): New macro. + (gen_x_form): New function. + (GEN_OR): New macro. + (GEN_MR): New macro. + (GEN_LWARX): New macro. + (GEN_STWCX): New macro. + (GEN_CMPW): New macro. + (gen_md_form): New function. + (GEN_RLDICL): New macro. + (GEN_RLDICR): New macro. + (gen_i_form): New function. + (GEN_B): New macro. + (GEN_BL): New macro. + (gen_b_form): New function. + (GEN_BNE): New macro. + (GEN_LOAD): New macro. + (GEN_STORE): New macro. + (gen_limm): New function. + (gen_atomic_xchg): New function. + (gen_call): New function. + (ppc_relocate_instruction): New function. + (ppc_install_fast_tracepoint_jump_pad): New function. + (ppc_get_min_fast_tracepoint_insn_len): New function. + (ppc_get_ipa_tdesc_idx): New function. + (the_low_target): Wire in the new functions. + (initialize_low_arch) [!__powerpc64__]: Don'it initialize 64-bit + tdescs. + * linux-ppc-tdesc.h: New file. + +2016-03-31 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * linux-aarch64-ipa.c: Add <sys/mman.h> and <sys/auxv.h> includes. + (alloc_jump_pad_buffer): New function. + * linux-amd64-ipa.c: Add <sys/mman.h> include. + (alloc_jump_pad_buffer): New function. + * linux-i386-ipa.c (alloc_jump_pad_buffer): New function. + * linux-s390-ipa.c: Add <sys/mman.h> and <sys/auxv.h> includes. + (alloc_jump_pad_buffer): New function. + * tracepoint.c (getauxval) [!HAVE_GETAUXVAL]: New function. + (initialize_tracepoint): Delegate to alloc_jump_pad_buffer. + * tracepoint.h (alloc_jump_pad_buffer): New prototype. + (getauxval) [!HAVE_GETAUXVAL]: New prototype. + +2016-03-30 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * linux-aarch64-ipa.c: Rename gdb_agent_get_raw_reg to get_raw_reg. + * linux-amd64-ipa.c: Likewise. + * linux-i386-ipa.c: Likewise. + * linux-s390-ipa.c: Likewise. + * tracepoint.c: IPA-export gdb_collect_ptr instead of gdb_collect, + ditto for get_raw_reg_ptr, get_trace_state_variable_value_ptr, + set_trace_state_variable_value_ptr. + (struct ipa_sym_addresses): Likewise. + (symbol_list): Likewise. + (install_fast_tracepoint): Dereference gdb_collect_ptr instead of + accessing gdb_collect directly. + (gdb_collect_ptr_type): New typedef. + (get_raw_reg_ptr_type): New typedef. + (get_trace_state_variable_value_ptr_type): New typedef. + (set_trace_state_variable_value_ptr_type): New typedef. + (gdb_collect_ptr): New global. + (get_raw_reg_ptr): New global. + (get_trace_state_variable_value_ptr): New global. + (set_trace_state_variable_value_ptr): New global. + (get_raw_reg_func_addr): Dereference get_raw_reg_ptr instead of + accessing get_raw_reg directly. + (get_get_tsv_func_addr): Likewise for + get_trace_state_variable_value_ptr. + (get_set_tsv_func_addr): Likewise for + set_trace_state_variable_value_ptr. + * tracepoint.h: Rename gdb_agent_get_raw_reg to get_raw_reg. + +2016-03-30 Simon Marchi <simon.marchi@ericsson.com> + + * tracepoint.c (cmd_qtenable_disable): Remove whitespace. + +2016-03-30 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * remote-utils.c (look_up_one_symbol): Remove own_buf, handle 'v' + packets. + (relocate_instruction): Remove own_buf. + * server.c (own_buf): Make global. + (handle_v_requests): Make global. + * server.h (own_buf): New declaration. + (handle_v_requests): New prototype. + +2016-03-29 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + PR 18377 + * linux-s390-low.c (add_insns): New function. + (s390_emit_prologue): New function. + (s390_emit_epilogue): New function. + (s390_emit_add): New function. + (s390_emit_sub): New function. + (s390_emit_mul): New function. + (s390_emit_lsh): New function. + (s390_emit_rsh_signed): New function. + (s390_emit_rsh_unsigned): New function. + (s390_emit_ext): New function. + (s390_emit_log_not): New function. + (s390_emit_bit_and): New function. + (s390_emit_bit_or): New function. + (s390_emit_bit_xor): New function. + (s390_emit_bit_not): New function. + (s390_emit_equal): New function. + (s390_emit_less_signed): New function. + (s390_emit_less_unsigned): New function. + (s390_emit_ref): New function. + (s390_emit_if_goto): New function. + (s390_emit_goto): New function. + (s390_write_goto_address): New function. + (s390_emit_litpool): New function. + (s390_emit_const): New function. + (s390_emit_call): New function. + (s390_emit_reg): New function. + (s390_emit_pop): New function. + (s390_emit_stack_flush): New function. + (s390_emit_zero_ext): New function. + (s390_emit_swap): New function. + (s390_emit_stack_adjust): New function. + (s390_emit_set_r2): New function. + (s390_emit_int_call_1): New function. + (s390_emit_void_call_2): New function. + (s390_emit_eq_goto): New function. + (s390_emit_ne_goto): New function. + (s390_emit_lt_goto): New function. + (s390_emit_le_goto): New function. + (s390_emit_gt_goto): New function. + (s390_emit_ge_goto): New function. + (s390x_emit_prologue): New function. + (s390x_emit_epilogue): New function. + (s390x_emit_add): New function. + (s390x_emit_sub): New function. + (s390x_emit_mul): New function. + (s390x_emit_lsh): New function. + (s390x_emit_rsh_signed): New function. + (s390x_emit_rsh_unsigned): New function. + (s390x_emit_ext): New function. + (s390x_emit_log_not): New function. + (s390x_emit_bit_and): New function. + (s390x_emit_bit_or): New function. + (s390x_emit_bit_xor): New function. + (s390x_emit_bit_not): New function. + (s390x_emit_equal): New function. + (s390x_emit_less_signed): New function. + (s390x_emit_less_unsigned): New function. + (s390x_emit_ref): New function. + (s390x_emit_if_goto): New function. + (s390x_emit_const): New function. + (s390x_emit_call): New function. + (s390x_emit_reg): New function. + (s390x_emit_pop): New function. + (s390x_emit_stack_flush): New function. + (s390x_emit_zero_ext): New function. + (s390x_emit_swap): New function. + (s390x_emit_stack_adjust): New function. + (s390x_emit_int_call_1): New function. + (s390x_emit_void_call_2): New function. + (s390x_emit_eq_goto): New function. + (s390x_emit_ne_goto): New function. + (s390x_emit_lt_goto): New function. + (s390x_emit_le_goto): New function. + (s390x_emit_gt_goto): New function. + (s390x_emit_ge_goto): New function. + (s390_emit_ops): New function. + (struct linux_target_ops): Fill in emit_ops hook. + +2016-03-29 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + PR 18377 + * Makefile.in: Add s390 IPA files. + * configure.srv: Build IPA for s390. + * linux-s390-ipa.c: New file. + * linux-s390-low.c: New includes - inttypes.h and linux-s390-tdesc.h. + (init_registers_s390_linux32): Move declaration to linux-s390-tdesc.h. + (tdesc_s390_linux32): Likewise. + (init_registers_s390_linux32v1): Likewise. + (tdesc_s390_linux32v1): Likewise. + (init_registers_s390_linux32v2): Likewise. + (tdesc_s390_linux32v2): Likewise. + (init_registers_s390_linux64): Likewise. + (tdesc_s390_linux64): Likewise. + (init_registers_s390_linux64v1): Likewise. + (tdesc_s390_linux64v1): Likewise. + (init_registers_s390_linux64v2): Likewise. + (tdesc_s390_linux64v2): Likewise. + (init_registers_s390_te_linux64): Likewise. + (tdesc_s390_te_linux64): Likewise. + (init_registers_s390_vx_linux64): Likewise. + (tdesc_s390_vx_linux64): Likewise. + (init_registers_s390_tevx_linux64): Likewise. + (tdesc_s390_tevx_linux64): Likewise. + (init_registers_s390x_linux64): Likewise. + (tdesc_s390x_linux64): Likewise. + (init_registers_s390x_linux64v1): Likewise. + (tdesc_s390x_linux64v1): Likewise. + (init_registers_s390x_linux64v2): Likewise. + (tdesc_s390x_linux64v2): Likewise. + (init_registers_s390x_te_linux64): Likewise. + (tdesc_s390x_te_linux64): Likewise. + (init_registers_s390x_vx_linux64): Likewise. + (tdesc_s390x_vx_linux64): Likewise. + (init_registers_s390x_tevx_linux64): Likewise. + (tdesc_s390x_tevx_linux64): Likewise. + (have_hwcap_s390_vx): New static variable. + (s390_arch_setup): Fill have_hwcap_s390_vx. + (s390_get_thread_area): New function. + (s390_ft_entry_gpr_esa): New const. + (s390_ft_entry_gpr_zarch): New const. + (s390_ft_entry_misc): New const. + (s390_ft_entry_fr): New const. + (s390_ft_entry_vr): New const. + (s390_ft_main_31): New const. + (s390_ft_main_64): New const. + (s390_ft_exit_fr): New const. + (s390_ft_exit_vr): New const. + (s390_ft_exit_misc): New const. + (s390_ft_exit_gpr_esa): New const. + (s390_ft_exit_gpr_zarch): New const. + (append_insns): New function. + (s390_relocate_instruction): New function. + (s390_install_fast_tracepoint_jump_pad): New function. + (s390_get_min_fast_tracepoint_insn_len): New function. + (s390_get_ipa_tdesc_idx): New function. + (struct linux_target_ops): Wire in the above functions. + (initialize_low_arch) [!__s390x__]: Don't initialize s390x tdescs. + * linux-s390-tdesc.h: New file. + +2016-03-29 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * linux-s390-low.c (s390_supports_tracepoints): New function. + (struct linux_target_ops): Fill supports_tracepoints hook. + +2016-03-18 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (lwp_signal_can_be_delivered): New function. + (linux_resume_one_lwp_throw): Use lwp_signal_can_be_delivered. + +2016-03-18 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_resume_one_lwp_throw): Set 'signal' to + 0 if signal is enqueued. Remove 'signal' from one debugging + message. Move one debugging message to some lines below. + Remove code setting 'signal' to 0. + +2016-03-18 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_low_filter_event): Remove redundant + WIFSTOPPED check together with linux_wstatus_maybe_breakpoint. + +2016-03-09 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * linux-ppc-low.c (ppc_supports_tracepoints): New function. + (struct linux_target_ops): Wire in the above. + +2016-03-03 Yao Qi <yao.qi@linaro.org> + + * linux-low.c: Update comments to start_step_over. + +2016-03-03 Yao Qi <yao.qi@linaro.org> + + PR server/19736 + * linux-low.c (handle_extended_wait): Set child suspended + if event_lwp->bp_reinsert isn't zero. + +2016-03-02 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_resume_one_lwp_throw): Replace code with + enqueue_pending_signal. + +2016-03-02 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * tracepoint.c (cmd_qtstart): Only set ipa_tdesc_idx if agent + is actually loaded. + +2016-02-25 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * linux-s390-low.c (s390_num_regs_3264): Define on 31-bit too. + (s390_regmap_3264) [!__s390x__]: New global. + (s390_collect_ptrace_register): Skip map entries containing -1. + (s390_supply_ptrace_register): Ditto. + (s390_fill_gprs_high): New function. + (s390_store_gprs_high): New function. + (s390_regsets): Add NT_S390_HIGH_GPRS. + (s390_get_hwcap): Enable on 31-bit. + (have_hwcap_s390_high_gprs): Enable on 31-bit. + (s390_arch_setup): Enable detection of high GPRs, TDB, VX on 31-bit. + Detect NT_S390_HIGH_GPRS. + (s390_usrregs_info_3264): Enable on 31-bit. + (s390_regs_info): Enable regs_info_3264 on 31-bit. + (initialize_low_arch): Initialize s390_regsets_info_3264 on 31-bit. + +2016-02-25 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + PR gdb/13808 + * Makefile.in: Add i386-*-linux-ipa.o and amd64-*-linux-ipa.o. + * configure.srv: Ditto. + * linux-aarch64-ipa.c (get_ipa_tdesc): New function. + (initialize_low_tracepoint): Remove ipa_tdesc assignment. + * linux-amd64-ipa.c: Add "linux-x86-tdesc.h" include. + (init_registers_amd64_linux): Remove prototype. + (tdesc_amd64_linux): Remove declaration. + (get_ipa_tdesc): New function. + (initialize_low_tracepoint): Remove ipa_tdesc assignment, + initialize remaining tdescs. + * linux-i386-ipa.c: Add "linux-x86-tdesc.h" include. + (init_registers_i386_linux): Remove prototype. + (tdesc_i386_linux): Remove declaration. + (get_ipa_tdesc): New function. + (initialize_low_tracepoint): Remove ipa_tdesc assignment, + initialize remaining tdescs. + * linux-low.c (linux_get_ipa_tdesc_idx): New function. + (linux_target_ops): wire in linux_get_ipa_tdesc_idx. + * linux-low.h (struct linux_target_ops): Add get_ipa_tdesc_idx. + * linux-x86-low.c: Move tdesc declarations to linux-x86-tdesc.h. + (x86_get_ipa_tdesc_idx): New function. + (the_low_target): Wire in x86_get_ipa_tdesc_idx. + * linux-x86-tdesc.h: New file. + * target.h (struct target_ops): Add get_ipa_tdesc_idx. + (target_get_ipa_tdesc_idx): New macro. + * tracepoint.c (ipa_tdesc_idx): New macro. + (struct ipa_sym_addresses): Add addr_ipa_tdesc_idx. + (symbol_list): Add ipa_tdesc_idx. + (cmd_qtstart): Write ipa_tdesc_idx in the target. + (ipa_tdesc): Remove. + (ipa_tdesc_idx): New variable. + (get_context_regcache): Use get_ipa_tdesc. + (gdb_collect): Ditto. + (gdb_probe): Ditto. + * tracepoint.h (get_ipa_tdesc): New prototype. + (ipa_tdesc): Remove. + +2016-02-24 Pedro Alves <palves@redhat.com> + + * linux-low.c (check_stopped_by_breakpoint): Rename to ... + (save_stop_reason): ... this. Use GDB_ARCH_IS_TRAP_HWBKPT and + handle ambiguous GDB_ARCH_IS_TRAP_BRKPT / GDB_ARCH_IS_TRAP_HWBKPT. + Factor out common code between the USE_SIGTRAP_SIGINFO and + !USE_SIGTRAP_SIGINFO blocks. + (linux_low_filter_event): Call save_stop_reason instead of + check_stopped_by_breakpoint and check_stopped_by_watchpoint. + Update comments. + (linux_wait_1): Update comments. + +2016-02-24 Wei-cheng Wang <cole945@gmail.com> + + * linux-ppc-low.c (ppc_supports_z_point_type): New function: + (ppc_insert_point, ppc_remove_point): Insert/remove z-packet breakpoints. + (ppc64_emit_ops_vector): Add target ops - ppc_supports_z_point_type, + ppc_insert_point, ppc_remove_point. + +2016-02-17 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * linux-s390-low.c (s390_supports_z_point_type): New function. + (struct linux_target_ops): Wire s390_supports_z_point_type in. + +2016-02-16 Yao Qi <yao.qi@linaro.org> + + * linux-arm-low.c (get_next_pcs_syscall_next_pc): Remove argument + PC. Get pc from regcache_read_pc. + +2016-02-12 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_get_pc): Call linux_get_pc_64bit + or linux_get_pc_32bit. + (aarch64_set_pc): Call linux_set_pc_64bit or linux_set_pc_32bit. + +2016-02-12 Yao Qi <yao.qi@linaro.org> + + * linux-arm-low.c (get_next_pcs_ops): Initialize it with + arm_linux_get_next_pcs_fixup. + +2016-02-12 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * tracepoint.c (x_tracepoint_action_download): Change + write_inferior_data_ptr to write_inferior_data_pointer. + (cmd_qtstart): Likewise. + (write_inferior_data_ptr): Remove. + (download_agent_expr): Change write_inferior_data_ptr to + write_inferior_data_pointer. + (download_tracepoint_1): Likewise. + (download_tracepoint): Likewise. + (download_trace_state_variables): Likewise. + +2016-02-11 Wei-cheng Wang <cole945@gmail.com> + Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * tracepoint.c (struct tracepoint_action_ops): Remove. + (struct tracepoint_action): Remove ops. + (m_tracepoint_action_download, r_tracepoint_action_download) + (x_tracepoint_action_download, l_tracepoint_action_download): Adjust + size and offset accordingly. + (m_tracepoint_action_ops, r_tracepoint_action_ops) + (x_tracepoint_action_ops, l_tracepoint_action_ops): Remove. + (tracepoint_action_send, tracepoint_action_download): New functions. + Helpers for trace action handlers. + (add_tracepoint_action): Remove setup actions ops. + (download_tracepoint_1, tracepoint_send_agent): Call helper functions. + +2016-02-10 Yao Qi <yao.qi@linaro.org> + + * regcache.c (regcache_raw_read_unsigned): Clear *VAL. + +2016-02-09 Simon Marchi <simon.marchi@ericsson.com> + + * configure.ac: Use AC_CONFIG_FILES instead of passing arguments + to AC_OUTPUT. + * configure: Regenerate. + +2016-02-09 Simon Marchi <simon.marchi@ericsson.com> + + * linux-aarch64-low.c (aarch64_linux_siginfo_fixup): Change + void * to gdb_byte *. + * linux-low.c (siginfo_fixup): Likewise. + (linux_xfer_siginfo): Likewise. + * linux-low.h (struct linux_target_ops) <siginfo_fixup>: + Likewise. + * linux-x86-low.c (x86_siginfo_fixup): Likewise. + +2016-02-02 Walfred Tedeschi <walfred.tedeschi@intel.com> + + * configure.srv (x86_64-*-linux*): Add amd64-linux-siginfo.o + to srv_tgtobj. + (i[34567]86-*-linux*): Add amd64-linux-siginfo.o + to srv_tgtobj. + * linux-x86-low.c [__x86_64__]: Include + "nat/amd64-linux-siginfo.h". + (compat_siginfo_from_siginfo, siginfo_from_compat_siginfo) + (compat_x32_siginfo_from_siginfo, siginfo_from_compat_x32_siginfo) + (compat_timeval, compat_sigval, compat_x32_clock, cpt_si_pid) + (cpt_si_uid, cpt_si_timerid, cpt_si_overrun, cpt_si_status) + (cpt_si_utime, cpt_si_stime, cpt_si_ptr, cpt_si_addr, cpt_si_band) + (cpt_si_fd, si_timerid, si_overrun): Move from + nat/amd64-linux-siginfo.c. + * Makefile.in (amd64-linux-siginfo.o:): New rule. + +2016-01-28 Simon Marchi <simon.marchi@ericsson.com> + + * server.c (skip_to_semicolon): Remove. + (process_point_options): Use strchrnul instead of + skip_to_semicolon. + +2016-01-26 Yao Qi <yao.qi@linaro.org> + + * linux-arm-low.c (arm_gdbserver_get_next_pcs): Remove argument pc. + * linux-low.c (install_software_single_step_breakpoints): Don't + call regcache_read_pc. + * linux-low.h (struct linux_target_ops) <get_next_pcs>: Remove + argument pc. + +2016-01-26 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (install_software_single_step_breakpoints): Call + regcache_read_pc instead of get_pc. + +2016-01-26 Yao Qi <yao.qi@linaro.org> + + * remote-utils.c (remote_close) [!USE_WIN32API]: Ignore SIGIO. + (unblock_async_io): Rename to ... + (block_unblock_async_io): ... it. New function. + (enable_async_io): Don't install SIGIO handler. Unblock it + instead. + (disable_async_io): Don't ignore SIGIO. Block it instead. + (initialize_async_io): Install SIGIO handler. Don't call + unblock_async_io. + +2016-01-26 Yao Qi <yao.qi@linaro.org> + + * remote-utils.c (getpkt): If the buffer isn't empty, and the + first character is '\003', call *the_target->request_interrupt. + +2016-01-25 Yao Qi <yao.qi@linaro.org> + + * remote-utils.c (new_thread_notify): Remove. + (dead_thread_notify): Likewise. + * remote-utils.h (new_thread_notify): Remove declaration. + (dead_thread_notify): Likewise. + +2016-01-23 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * gdb.trace/pending.exp: Fix expected message on continue. + +2016-01-22 Marcin KoÅ›cielnicki <koriakin@0x04.net> + + * tracepoint.c (write_inferior_data_ptr): Cast to uintptr_t, so that + it works properly on big-endian machines where sizeof (CORE_ADDR) + != sizeof (void *). + +2016-01-21 Pedro Alves <palves@redhat.com> + + * Makefile.in (COMPILER_CFLAGS, CXXFLAGS): New. + (INTERNAL_CFLAGS_BASE): Use COMPILER_CFLAGS instead of CFLAGS. + * configure: Regenerate. + +2016-01-21 Yao Qi <yao.qi@linaro.org> + + * linux-arm-low.c (arm_sigreturn_next_pc): Add parameter + is_thumb and set it according to CPSR saved on the stack. + (get_next_pcs_syscall_next_pc): Pass is_thumb to + arm_sigreturn_next_pc. + +2016-01-18 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_set_pc_64bit): New function. + (linux_get_pc_64bit): New function. + * linux-low.h (linux_set_pc_64bit, linux_get_pc_64bit): + Declare. + * linux-sparc-low.c (debug_threads): Remove declaration. + (sparc_get_pc): Remove. + (the_low_target): Use linux_get_pc_64bit instead of + sparc_get_pc. + * linux-tile-low.c (tile_get_pc, tile_set_pc): Remove. + (the_low_target): Use linux_get_pc_64bit and + linux_set_pc_64bit. + +2016-01-18 Yao Qi <yao.qi@linaro.org> + + * linux-arm-low.c (debug_threads): Remove declaration. + (arm_get_pc, arm_set_pc): Remove. + (the_low_target): Use linux_get_pc_32bit and + linux_set_pc_32bit. + * linux-bfin-low.c (bfin_get_pc, bfin_set_pc): Remove. + (the_low_target): Use linux_get_pc_32bit and + linux_set_pc_32bit. + * linux-cris-low.c (debug_threads): Remove declaration. + (cris_get_pc, cris_set_pc,): Remove. + (the_low_target): Use linux_get_pc_32bit and + linux_set_pc_32bit. + * linux-crisv32-low.c (debug_threads): Remove declaration. + (cris_get_pc, cris_set_pc): Remove. + (the_low_target): Use linux_get_pc_32bit and + linux_set_pc_32bit. + * linux-low.c: Include inttypes.h. + (linux_get_pc_32bit, linux_set_pc_32bit): New functions. + * linux-low.h (linux_get_pc_32bit, linux_set_pc_32bit): Declare. + * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Remove. + (the_low_target): Use linux_get_pc_32bit and + linux_set_pc_32bit. + * linux-m68k-low.c (m68k_get_pc, m68k_set_pc): Remove. + (the_low_target): Use linux_get_pc_32bit and + linux_set_pc_32bit. + * linux-nios2-low.c (nios2_get_pc, nios2_set_pc): Remove. + (the_low_target): Use linux_get_pc_32bit and + linux_set_pc_32bit. + * linux-sh-low.c (sh_get_pc, sh_set_pc): Remove. + (the_low_target): Use linux_get_pc_32bit and + linux_set_pc_32bit. + * linux-xtensa-low.c (xtensa_get_pc, xtensa_set_pc): Remove. + (the_low_target): Use linux_get_pc_32bit and + linux_set_pc_32bit. + +2016-01-18 Gary Benson <gbenson@redhat.com> + + * configure.ac (AC_FUNC_FORK): New check. + * config.in: Regenerate. + * configure: Likewise. + +2016-01-14 Yao Qi <yao.qi@linaro.org> + + * linux-aarch32-low.c (thumb2_breakpoint): Make it static. + * linux-aarch32-low.h (thumb2_breakpoint): Remove declaration. + * linux-arm-low.c (arm_gdbserver_get_next_pcs): Pass 1 to + arm_get_next_pcs_ctor. + +2016-01-12 Josh Stone <jistone@redhat.com> + Philippe Waroquiers <philippe.waroquiers@skynet.be> + + * inferiors.h: Include "gdb_vecs.h". + (struct process_info): Add syscalls_to_catch. + * inferiors.c (remove_process): Free syscalls_to_catch. + * remote-utils.c (prepare_resume_reply): Report syscall_entry and + syscall_return stops. + * server.h (UNKNOWN_SYSCALL, ANY_SYSCALL): Define. + * server.c (handle_general_set): Handle QCatchSyscalls. + (handle_query): Report support for QCatchSyscalls. + * target.h (struct target_ops): Add supports_catch_syscall. + (target_supports_catch_syscall): New macro. + * linux-low.h (struct linux_target_ops): Add get_syscall_trapinfo. + (struct lwp_info): Add syscall_state. + * linux-low.c (handle_extended_wait): Mark syscall_state as an entry. + Maintain syscall_state and syscalls_to_catch across exec. + (get_syscall_trapinfo): New function, proxy to the_low_target. + (linux_low_ptrace_options): Enable PTRACE_O_TRACESYSGOOD. + (linux_low_filter_event): Toggle syscall_state entry/return for + syscall traps, and set it ignored for all others. + (gdb_catching_syscalls_p): New function. + (gdb_catch_this_syscall_p): New function. + (linux_wait_1): Handle SYSCALL_SIGTRAP. + (linux_resume_one_lwp_throw): Add PTRACE_SYSCALL possibility. + (linux_supports_catch_syscall): New function. + (linux_target_ops): Install it. + * linux-x86-low.c (x86_get_syscall_trapinfo): New function. + (the_low_target): Install it. + +2016-01-12 Mike Frysinger <vapier@gentoo.org> + + * acinclude.m4: Include new ../warning.m4 file. + * configure: Regenerated. + * configure.ac: Replace all warning logic with AM_GDB_WARNINGS. + +2016-01-12 Mike Frysinger <vapier@gentoo.org> + + * ax.c (is_goto_target): Mark static. + * linux-low.c (register_addr): Likewise. + (linux_fetch_registers, linux_store_registers): Likewise. + * mem-break.c (any_persistent_commands): Fix old prototype. + (add_commands_to_breakpoint): Mark static. + * regcache.c (find_register_by_name): Delete unused func. + * remote-utils.c (hex_or_minus_one): Mark static. + * server.c (monitor_show_help): Mark static. + (handle_query, handle_v_cont, handle_v_attach, handle_v_kill, + handle_v_requests): Likewise. + +2016-01-12 Pedro Alves <palves@redhat.com> + + Remove use of the registered trademark symbol throughout. + +2016-01-08 Yao Qi <yao.qi@linaro.org> + + * remote-utils.c (getpkt): If c is '\003', call target hook + request_interrupt. + +2016-01-06 Yao Qi <yao.qi@linaro.org> + + * linux-aarch32-low.h (arm_abi_breakpoint): Move to + linux-aarch32-low.c. + (arm_eabi_breakpoint, arm_breakpoint): Likewise. + (arm_breakpoint_len, thumb_breakpoint_len): Likewise. + (thumb2_breakpoint, thumb2_breakpoint_len): Likewise. + (thumb2_breakpoint): Declare. + * linux-aarch32-low.c (arm_abi_breakpoint): Moved from + linux-aarch32-low.h. + (arm_eabi_breakpoint, arm_breakpoint): Likewise. + (arm_breakpoint_len, thumb_breakpoint_len): Likewise. + (thumb2_breakpoint, thumb2_breakpoint_len): Likewise. + +2016-01-01 Joel Brobecker <brobecker@adacore.com> + + * gdbreplay.c (gdbreplay_version): Change copyright year in + version message. + * server.c (gdbserver_version): Likewise. + +2015-12-28 Patrick Palka <patrick@parcs.ath.cx> + + * server.c (crc32_table): Delete. + (crc32): Use libiberty's xcrc32 function. + +2015-12-22 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (lynx_delete_thread_callback): New function. + (lynx_mourn): Properly delete our process and all of its + threads. Remove call to clear_inferiors. + +2015-12-22 Joel Brobecker <brobecker@adacore.com> + + * target.c (thread_search_callback): Add check that + the thread_stopped target callback is not NULL before + calling it. + +2015-12-21 Yao Qi <yao.qi@linaro.org> + + * linux-aarch32-low.h [__aarch64__]: Use arm_abi_breakpoint + arm breakpoint. + +2015-12-18 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * server.c (handle_query): Call target_supports_software_single_step. + +2015-12-18 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-low.c (single_step): New function. + (linux_resume_one_lwp_throw): Call single_step. + (start_step_over): Likewise. + +2015-12-18 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * Makefile.in (SFILES): Append arch/arm-linux.c, + arch/arm-get-next-pcs.c. + (arm-linux.o): New rule. + (arm-get-next-pcs.o): New rule. + * configure.srv (arm*-*-linux*): Add arm-get-next-pcs.o, + arm-linux.o. + * linux-aarch32-low.c (arm_abi_breakpoint): Remove macro. Moved + to linux-aarch32-low.c. + (arm_eabi_breakpoint, arm_breakpoint): Likewise. + (arm_breakpoint_len, thumb_breakpoint): Likewise. + (thumb_breakpoint_len, thumb2_breakpoint): Likewise. + (thumb2_breakpoint_len): Likewise. + (arm_is_thumb_mode): Make non-static. + * linux-aarch32-low.h (arm_abi_breakpoint): New macro. Moved + from linux-aarch32-low.c. + (arm_eabi_breakpoint, arm_breakpoint): Likewise. + (arm_breakpoint_len, thumb_breakpoint): Likewise. + (thumb_breakpoint_len, thumb2_breakpoint): Likewise. + (thumb2_breakpoint_len): Likewise. + (arm_is_thumb_mode): New declaration. + * linux-arm-low.c: Include arch/arm-linux.h + aarch/arm-get-next-pcs.h, sys/syscall.h. + (get_next_pcs_ops): New struct. + (get_next_pcs_addr_bits_remove): New function. + (get_next_pcs_is_thumb): New function. + (get_next_pcs_read_memory_unsigned_integer): Likewise. + (arm_sigreturn_next_pc): Likewise. + (get_next_pcs_syscall_next_pc): Likewise. + (arm_gdbserver_get_next_pcs): Likewise. + (struct linux_target_ops) <arm_gdbserver_get_next_pcs>: + Initialize. + * linux-low.h: Move CORE_ADDR vector definition to gdb_vecs.h. + * server.h: Include gdb_vecs.h. + +2015-12-18 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * Makefile.in (SFILES): Append common/common-regcache.c. + (OBS): Append common-regcache.o. + (common-regcache.o): New rule. + * regcache.c (init_register_cache): Initialize cache to + REG_UNAVAILABLE. + (regcache_raw_read_unsigned): New function. + * regcache.h (REG_UNAVAILABLE, REG_VALID): Replaced by shared + register_status enum. + +2015-12-18 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-aarch64-low.c (the_low_targets): Rename + breakpoint_reinsert_addr to get_next_pcs. + * linux-arm-low.c (the_low_targets): Likewise. + * linux-bfin-low.c (the_low_targets): Likewise. + * linux-cris-low.c (the_low_targets): Likewise. + * linux-crisv32-low.c (the_low_targets): Likewise. + * linux-low.c (can_software_single_step): Likewise. + (install_software_single_step_breakpoints): New function. + (start_step_over): Use install_software_single_step_breakpoints. + * linux-low.h: New CORE_ADDR vector. + (struct linux_target_ops) Rename breakpoint_reinsert_addr to + get_next_pcs. + * linux-mips-low.c (the_low_targets): Likewise. + * linux-nios2-low.c (the_low_targets): Likewise. + * linux-sparc-low.c (the_low_targets): Likewise. + +2015-12-17 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_kill_one_lwp): Remove references to + LinuxThreads. + (kill_lwp): Remove HAVE_TKILL_SYSCALL check. No longer fall back + to 'kill'. + (linux_init_signals): Delete. + (initialize_low): Adjust. + * thread-db.c (thread_db_init): Remove LinuxThreads reference. + +2015-12-16 Pedro Alves <palves@redhat.com> + + * configure.ac (compiler warning flags): When testing a + -Wno-foo option, check whether -Wfoo works instead. + * configure: Regenerate. + +2015-12-11 Don Breazeal <donb@codesourcery.com> + + * server.c (process_serial_event): Don't exit from gdbserver + in remote mode if there are still active inferiors. + +2015-12-11 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_breakpoint_at): Call + arm_breakpoint_at if the process is 32-bit. + +2015-12-11 Yao Qi <yao.qi@linaro.org> + + * linux-aarch32-low.c [__aarch64__]: Use arm_abi_breakpoint + arm breakpoint. + +2015-12-07 Yao Qi <yao.qi@linaro.org> + + * configure.srv: Append arm.o to srv_tgtobj for + aarch64*-*-linux* target. + * linux-aarch32-low.c (arm_abi_breakpoint): New macro. Moved + from linux-arm-low.c. + (arm_eabi_breakpoint, arm_breakpoint): Likewise. + (arm_breakpoint_len, thumb_breakpoint): Likewise. + (thumb_breakpoint_len, thumb2_breakpoint): Likewise. + (thumb2_breakpoint_len): Likewise. + (arm_is_thumb_mode, arm_breakpoint_at): Likewise. + (arm_breakpoint_kinds): Likewise. + (arm_breakpoint_kind_from_pc): Likewise. + (arm_sw_breakpoint_from_kind): Likewise. + (arm_breakpoint_kind_from_current_state): Likewise. + * linux-aarch32-low.h (arm_breakpoint_kind_from_pc): Declare. + (arm_sw_breakpoint_from_kind): Declare. + (arm_breakpoint_kind_from_current_state): Declare. + (arm_breakpoint_at): Declare. + * linux-aarch64-low.c (aarch64_sw_breakpoint_from_kind): Call + arm_sw_breakpoint_from_kind if process is 32-bit. + (aarch64_breakpoint_kind_from_pc): New function. + (aarch64_breakpoint_kind_from_current_state): New function. + (the_low_target): Initialize fields breakpoint_kind_from_pc + and breakpoint_kind_from_current_state. + * linux-arm-low.c (arm_breakpoint_kinds): Move to + linux-aarch32-low.c. + (arm_abi_breakpoint, arm_eabi_breakpoint): Likewise. + (arm_breakpoint, arm_breakpoint_len): Likewise. + (thumb_breakpoint, thumb_breakpoint_len): Likewise. + (thumb2_breakpoint, thumb2_breakpoint_len): Likewise. + (arm_is_thumb_mode): Likewise. + (arm_breakpoint_at): Likewise. + (arm_breakpoint_kind_from_pc): Likewise. + (arm_sw_breakpoint_from_kind): Likewise. + (arm_breakpoint_kind_from_current_state): Likewise. + + Revert: + 2015-08-04 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_supports_z_point_type): Return + 0 for Z_PACKET_SW_BP if it may be used in multi-arch debugging. + * server.c (extended_protocol): Remove "static". + * server.h (extended_protocol): Declare it. + +2015-12-04 Josh Stone <jistone@redhat.com> + + * target.h (struct target_ops) <arch_setup>: Rename to ... + (struct target_ops) <post_create_inferior>: ... this. + (target_arch_setup): Rename to ... + (target_post_create_inferior): ... this, calling post_create_inferior. + * server.c (start_inferior): Update target_arch_setup calls to + target_post_create_inferior. + * linux-low.c (linux_low_ptrace_options): Forward declare. + (linux_arch_setup): Update its comment for general use. + (linux_post_create_inferior): New, run arch_setup and setup ptrace. + (struct linux_target_ops): Use linux_post_create_inferior. + * lynx-low.c (struct lynx_target_ops): Update arch_setup stub comment + to post_create_inferior. + * nto-low.c (struct nto_target_ops): Likewise. + * spu-low.c (struct spu_target_ops): Likewise. + * win32-low.c (struct win32_target_ops): Likewise. + +2015-12-03 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-arm-low.c: Remove duplicate arch/arm.h include. + +2015-11-30 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-arm-low.c (arm_reinsert_addr): Remove function. + (struct linux_target_ops <breakpoint_reinsert_addr>: Set to NULL. + * linux-cris-low.c (cris_reinsert_addr> Remove function. + (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL. + * linux-crisv32-low.c (cris_reinsert_addr): Remove function. + (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL. + * linux-mips-low.c (mips_reinsert_addr): Remove function. + (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL. + * linux-nios2-low.c (nios2_reinsert_addr): Remove function. + (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL. + * linux-sparc-low.c (sparc_reinsert_addr): Remove function. + (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL. + +2015-11-30 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-low.c (linux_look_up_symbols): Don't call + linux_supports_traceclone. + * linux-low.h (thread_db_init): Remove use_events argument. + * thread-db.c (thread_db_use_event): Remove global variable. + (struct thread_db) <td_thr_event_enable_p>: Remove field. + (struct thread_db) <td_create_bp>: Remove field. + (thread_db_create_event): Remove function. + (thread_db_enable_reporting): Likewise. + (find_one_thread): Don't check for thread_db_use_events. + (attach_thread): Likewise. + (thread_db_load_search): Remove td_thr_event_enable_p initialization. + (try_thread_db_load_1): Don't check for thread_db_use_events. + (thread_db_init): Remove use_events argument and thread events + handling. + (remove_thread_event_breakpoints): Remove function. + (thread_db_detach): Remove call to remove_thred_event_breakpoints. + +2015-11-30 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-aarch64-low.c (aarch64_supports_hardware_single_step): + New function. + (struct linux_target_ops) <supports_hardware_single_step>: Initialize. + * linux-arm-low.c (arm_supports_hardware_single_step): New function. + (struct linux_target_ops) <supports_hardware_single_step>: Initialize. + * linux-bfin-low.c (bfin_supports_hardware_single_step): New function. + (struct linux_target_ops) <bfin_supports_hardware_single_step>: + Initialize. + * linux-crisv32-low.c (cris_supports_hardware_single_step): + New function. + (struct linux_target_ops) <supports_hardware_single_step>: Initialize. + * linux-low.c (can_hardware_single_step): Use + supports_hardware_single_step. + (can_software_single_step): New function. + (start_step_over): Call can_software_single_step. + (linux_supports_hardware_single_step): New function. + (struct target_ops) <supports_software_single_step>: Initialize. + * linux-low.h (struct linux_target_ops) + <supports_hardware_single_step>: Initialize. + * linux-m32r-low.c (m32r_supports_hardware_single_step): New function. + (struct linux_target_ops) <supports_hardware_single_step>: Initialize. + * linux-ppc-low.c (ppc_supports_hardware_single_step): New function. + (struct linux_target_ops) <supports_hardware_single_step> Initialize. + * linux-s390-low.c (s390_supports_hardware_single_step): New function. + (struct linux_target_ops) <supports_hardware_single_step>: Initialize. + * linux-sh-low.c (sh_supports_hardware_single_step): New function. + (struct linux_target_ops) <supports_hardware_single_step>: Initialize. + * linux-tic6x-low.c (tic6x_supports_hardware_single_step): New function. + (struct linux_target_ops) <tic6x_supports_hardware_single_step>: + Initialize. + * linux-tile-low.c (tile_supports_hardware_single_step): New function. + (struct linux_target_ops) <tile_supports_hardware_single_step>: + Initialize. + * linux-x86-low.c (x86_supports_hardware_single_step) New function. + (struct linux_target_ops) <supports_hardware_single_step>: Initialize. + * linux-xtensa-low.c (xtensa_supports_hardware_single_step): + New function. + (struct linux_target_ops) <supports_hardware_single_step>: Initialize. + * target.h (struct target_ops): <supports_software_single_step>: + New field. + (target_supports_software_single_step): New macro. + +2015-11-30 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-low.c (linux_wait_1): Fix pc advance condition. + * mem-break.c (reinsert_breakpoint_inserted_here): New function. + * mem-break.h (reinsert_breakpoint_inserted_here): New declaration. + +2015-11-30 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-arm-low.c (arm_is_thumb_mode): New function. + (arm_breakpoint_at): Use arm_is_thumb_mode. + (arm_breakpoint_kind_from_current_state): New function. + (struct linux_target_ops) <breakpoint_kind_from_current_state>: + Initialize. + * linux-low.c (linux_wait_1): Call breakpoint_kind_from_current_state. + (linux_breakpoint_kind_from_current_state): New function. + (struct target_ops <breakpoint_kind_from_current_state>: Initialize. + * linux-low.h (struct linux_target_ops) + <breakpoint_kind_from_current_state>: New field. + * target.h (struct target_ops): Likewise. + (target_breakpoint_kind_from_current_state): New macro. + +2015-11-30 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_resume): Wake up the event loop before + returning. + +2015-11-30 Pedro Alves <palves@redhat.com> + + * mem-break.c (check_gdb_bp_preconditions): Remove current_thread + check. + (set_gdb_breakpoint): If prepare_to_access_memory fails, set *ERR + to -1. + * target.c (struct thread_search): New structure. + (thread_search_callback): New function. + (prev_general_thread): New global. + (prepare_to_access_memory, done_accessing_memory): New functions. + * target.h (prepare_to_access_memory, done_accessing_memory): + Replace macros with function declarations. + +2015-11-30 Pedro Alves <palves@redhat.com> + + PR 14618 + * linux-low.c (linux_wait_1): If the last resumed thread is gone, + report TARGET_WAITKIND_NO_RESUMED. + * remote-utils.c (prepare_resume_reply): Handle + TARGET_WAITKIND_NO_RESUMED. + * server.c (report_no_resumed): New global. + (handle_query) <qSupported>: Handle "no-resumed+". Report + "no-resumed+" support. + (resume): When the target reports TARGET_WAITKIND_NO_RESUMED, only + return error if the client doesn't support no-resumed events. + (push_stop_notification): New function. + (handle_target_event): Use it. Report TARGET_WAITKIND_NO_RESUMED + events if the client supports them. + +2015-11-30 Pedro Alves <palves@redhat.com> + + * linux-low.c (thread_still_has_status_pending_p): Don't check + vCont;t here. + (lwp_resumed): New function. + (status_pending_p_callback): Return early if the LWP is not + supposed to be resumed. + +2015-11-30 Pedro Alves <palves@redhat.com> + + * linux-low.c (handle_extended_wait): Assert that the LWP's + waitstatus is TARGET_WAITKIND_IGNORE. If GDB wants to hear about + thread create events, leave the new child's status pending. + (linux_low_filter_event): If GDB wants to hear about thread exit + events, leave the LWP marked dead and don't delete it. + (linux_wait_for_event_filtered): Don't check for thread exit. + (filter_exit_event): New function. + (linux_wait_1): Use it, when returning an exit event. + (linux_resume_one_lwp_throw): Assert that the LWP's + waitstatus is TARGET_WAITKIND_IGNORE. + * remote-utils.c (prepare_resume_reply): Handle + TARGET_WAITKIND_THREAD_CREATED and TARGET_WAITKIND_THREAD_EXITED. + * server.c (report_thread_events): New global. + (handle_general_set): Handle QThreadEvents. + (handle_query) <qSupported>: Handle and report QThreadEvents+; + (handle_target_event): Handle TARGET_WAITKIND_THREAD_CREATED and + TARGET_WAITKIND_THREAD_EXITED. + * server.h (report_thread_events): Declare. + +2015-11-30 Pedro Alves <palves@redhat.com> + + * linux-low.c (resume_stopped_resumed_lwps): Don't check whether + the thread's last_resume_kind was resume_stop. + +2015-11-30 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_attach): In non-stop mode, wait for one stop + before returning. + +2015-11-30 Pedro Alves <palves@redhat.com> + + * server.c (handle_v_requests): Handle vCtrlC. + +2015-11-30 Pedro Alves <palves@redhat.com> + + * gdbthread.h (find_any_thread_of_pid): Declare. + * inferiors.c (thread_of_pid, find_any_thread_of_pid): New + functions. + * server.c (handle_query): If current_thread is NULL, look for + another thread of the selected process. + +2015-11-26 Daniel Colascione <dancol@dancol.org> + Simon Marchi <simon.marchi@ericsson.com> + + * linux-low.c (linux_target_ops): Use linux_proc_tid_get_name. + * server.c (handle_qxfer_threads_worker): Refactor to include thread + name in reply. + * target.h (struct target_ops) <thread_name>: New field. + (target_thread_name): New macro. + +2015-11-23 Joel Brobecker <brobecker@adacore.com> + + * regcache.h (regcache_invalidate_pid): Add declaration. + * regcache.c (regcache_invalidate_pid): New function, extracted + from regcache_invalidate. + (regcache_invalidate): Reimplement using regcache_invalidate_pid. + Add trivial documentation comment. + * lynx-low.c: Use regcache_invalidate_pid instead of + regcache_invalidate. + +2015-11-23 Joel Brobecker <brobecker@adacore.com> + + * configure.ac: Do not call AC_CHECK_TYPES for Elf32_auxv_t + and Elf64_auxv_t if the target is Android. + +2015-11-22 Doug Evans <xdje42@gmail.com> + + * target.h: #include <sys/types.h>. + +2015-11-19 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_process_qsupported): Change prototype. + Adjust. + * linux-low.h (struct linux_target_ops) <process_qsupported>: + Change prototype. + * linux-x86-low.c (x86_linux_process_qsupported): Change prototype + and adjust to loop over all features. + * server.c (handle_query) <qSupported>: Adjust to call + target_process_qsupported once, passing it a vector of unprocessed + features. + * target.h (struct target_ops) <process_qsupported>: Change + prototype. + (target_process_qsupported): Adjust. + +2015-11-19 Pedro Alves <palves@redhat.com> + + * configure.ac (ERROR_ON_WARNING): Don't check whether in C++ + mode. + * configure: Regenerate. + +2015-11-19 Pedro Alves <palves@redhat.com> + + * configure: Regenerate. + +2015-11-19 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (emit_data_processing_reg): Change opcode + type to uint32_t. + +2015-11-19 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (enum aarch64_operand_type): New. + (struct aarch64_operand): Move enum out. + +2015-11-19 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_fill_fpregset): Cast buf to + struct user_fpsimd_state *. + (aarch64_store_fpregset): Likewise. + +2015-11-19 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_fill_gregset): Cast buf to + struct user_pt_regs *. + (aarch64_store_gregset): Likewise. + +2015-11-18 Pedro Alves <palves@redhat.com> + + * Makefile.in (all_object_files): Add $IPA_OBJS. + +2015-11-17 Pedro Alves <palves@redhat.com> + + * win32-low.c (win32_resume): Use gdb_signal_from_host, + GDB_SIGNAL_0 and gdb_signal_to_string. + +2015-11-17 Pedro Alves <palves@redhat.com> + + * win32-low.c (handle_output_debug_string): Remove parameter. + (win32_kill): Remove our_status local and adjust call to + handle_output_debug_string. + (get_child_debug_event): Adjust call to + handle_output_debug_string. + +2015-11-03 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-mips-low.c (mips_fill_gregset): Add cast. + (mips_store_gregset): Likewise. + (mips_fill_fpregset): Likewise. + (mips_store_fpregset): Likewise. + +2015-11-03 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-mips-low.c (mips_add_watchpoint): Rename private to + priv. + +2015-11-03 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-mips-low.c (mips_linux_new_thread): Change type of + watch_type to enum target_hw_bp_type. + +2015-11-03 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-arm-low.c (raw_bkpt_type_to_arm_hwbp_type): + Change return type to arm_hwbp_type. + +2015-11-03 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-aarch32-low.c (arm_fill_gregset): Add cast. + (arm_store_gregset): Likewise. + * linux-arm-low.c (arm_get_hwcap): Likewise. + (arm_read_description): Likewise. + +2015-11-03 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-aarch32-low.c (aarch32_regsets): Use NULL_REGSET. + +2015-11-03 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-ppc-low.c (ppc_get_hwcap): Add cast. + (ppc_fill_vsxregset): Likewise. + (ppc_store_vsxregset): Likewise. + (ppc_fill_vrregset): Likewise. + (ppc_store_vrregset): Likewise. + (ppc_fill_evrregset): Likewise. + (ppc_store_evrregset): Likewise. + +2015-11-03 Simon Marchi <simon.marchi@polymtl.ca> + + * linux-ppc-low.c (ppc_usrregs_info): Remove + forward-declaration. + (ppc_arch_setup): Move lower in file. + +2015-10-30 Simon Marchi <simon.marchi@ericsson.com> + + * proc-service.c (ps_pdread): Change CORE_ADDR cast to uintptr_t. + (ps_pdwrite): Likewise. + +2015-10-29 Henrik Wallin <henrik.wallin@windriver.com> + + * linux-arm-low.c (arm_new_thread): Move pointer dereference + to after assert checks. + +2015-10-29 Simon Marchi <simon.marchi@ericsson.com> + + * proc-service.c (ps_pdread): Add/adjust casts. + (ps_pdwrite): Add/adjust casts. + +2015-10-29 Simon Marchi <simon.marchi@polymtl.ca> + + * server.c (handle_search_memory_1): Cast return value of + memmem. + +2015-10-29 Simon Marchi <simon.marchi@polymtl.ca> + + * server.c (write_qxfer_response): Change type of data to + gdb_byte *. + +2015-10-29 Pedro Alves <palves@redhat.com> + + * mem-break.c (Z_packet_to_bkpt_type): Add cast. + +2015-10-29 Pedro Alves <palves@redhat.com> + + * tracepoint.c (clear_installed_tracepoints): Add casts. + +2015-10-29 Pedro Alves <palves@redhat.com> + + * server.c (handle_v_cont, process_serial_event): Add enum + gdb_signal casts to signal parsing code. + +2015-10-29 Pedro Alves <palves@redhat.com> + + * linux-low.h (NULL_REGSET): Define. + * linux-aarch64-low.c (aarch64_regsets): Use NULL_REGSET. + * linux-arm-low.c (arm_regsets): Likewise. + * linux-crisv32-low.c (cris_regsets): Likewise. + * linux-m68k-low.c (m68k_regsets): Likewise. + * linux-mips-low.c (mips_regsets): Likewise. + * linux-nios2-low.c (nios2_regsets): Likewise. + * linux-ppc-low.c (ppc_regsets): Likewise. + * linux-s390-low.c (s390_regsets): Likewise. + * linux-sh-low.c (sh_regsets): Likewise. + * linux-sparc-low.c (sparc_regsets): Likewise. + * linux-tic6x-low.c (tic6x_regsets): Likewise. + * linux-tile-low.c (tile_regsets): Likewise. + * linux-x86-low.c (x86_regsets): Likewise. + * linux-xtensa-low.c (xtensa_regsets): Likewise. + +2015-10-29 Pedro Alves <palves@redhat.com> + + * linux-low.h (NULL_REGSET): Define. + * linux-aarch64-low.c (aarch64_regsets): Use NULL_REGSET. + * linux-arm-low.c (arm_regsets): Likewise. + * linux-crisv32-low.c (cris_regsets): Likewise. + * linux-m68k-low.c (m68k_regsets): Likewise. + * linux-mips-low.c (mips_regsets): Likewise. + * linux-nios2-low.c (nios2_regsets): Likewise. + * linux-ppc-low.c (ppc_regsets): Likewise. + * linux-s390-low.c (s390_regsets): Likewise. + * linux-sh-low.c (sh_regsets): Likewise. + * linux-sparc-low.c (sparc_regsets): Likewise. + * linux-tic6x-low.c (tic6x_regsets): Likewise. + * linux-tile-low.c (tile_regsets): Likewise. + * linux-x86-low.c (x86_regsets): Likewise. + * linux-xtensa-low.c (xtensa_regsets): Likewise. + +2015-10-26 Doug Evans <dje@google.com> + + * linux-low.c (__SIGRTMIN): Move to nat/linux-nat.h. + +2015-10-26 Doug Evans <dje@google.com> + + * linux-low.c (W_STOPCODE): Moved to common/gdb_wait.h. + +2015-10-26 Doug Evans <dje@google.com> + + * thread-db.c (find_one_thread): Cast ti.ti_tid to unsigned long + for debug_printf. + (attach_thread, find_new_threads_callback): Ditto. + +2015-10-23 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * mem-break.h (set_breakpoint_data): Remove. + +2015-10-23 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * nto-low.c (nto_sw_breakpoint_from_kind): New function. + (struct target_ops) <sw_breakpoint_from_kind>: Initialize. + (initialize_low): Remove set_breakpoint_data call. + * spu-low.c (spu_sw_breakpoint_from_kind): New function. + (struct target_ops) <sw_breakpoint_from_kind>: Iniitalize. + (initialize_low): Remove set_breakpoint_data call. + * win32-low.c (win32_sw_breakpoint_from_kind): New function. + (struct target_ops) <sw_breakpoint_from_kind>: Initialize. + (initialize_low): Remove set_breakpoint_data call. + +2015-10-23 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-low.c (default_breakpoint_kind_from_pc): Move to target.c. + * mem-break.c (set_breakpoint_at): Use target_breakpoint_kind_from_pc. + * target.c (default_breakpoint_kind_from_pc): Moved from linux-low.c + * target.h (target_breakpoint_kind_from_pc): New macro. + +2015-10-22 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-low.c (default_breakpoint_kind_from_pc): New function. + (linux_breakpoint_kind_from_pc): Use default_breakpoint_kind_from_pc for + the default breakpoint kind. + +2015-10-21 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-arm-low.c (arm_supports_z_point_type): Add software + breakpoint support. + +2015-10-21 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-arm-low.c: Refactor breakpoint definitions. + (arm_breakpoint_at): Adjust for arm_abi_breakpoint. + (arm_sw_breakpoint_from_kind): Adjust for arm_breakpoint. + +2015-10-21 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * Makefile.in: Add arm.c/o. + * configure.srv: Likewise. + * linux-arm-low.c (arm_breakpoint_kinds): New enum. + (arm_breakpoint_kind_from_pc): New function. + (arm_sw_breakpoint_from_kind): Return proper kind. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize. + +2015-10-21 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-low.c (initialize_low): Ajdust for breakpoint global variables + removal. + * mem-break.c : Remove breakpoint_data/breakpoint_len global variables. + (struct raw_breakpoint) <size>: Remove. + (struct raw_breakpoint) <kind>: Add. + (bp_size): New function. + (bp_opcode): Likewise. + (find_raw_breakpoint_at): Adjust for kind. + (insert_memory_breakpoint): Adjust for kind call bp_size,bp_opcode. + (remove_memory_breakpoint): Adjust for kind call bp_size. + (set_raw_breakpoint_at): Adjust for kind. + (set_breakpoint): Likewise. + (set_breakpoint_at): Call breakpoint_kind_from_pc. + (delete_raw_breakpoint): Adjust for kind. + (delete_breakpoint): Likewise. + (find_gdb_breakpoint): Likewise. + (set_gdb_breakpoint_1): Likewise. + (set_gdb_breakpoint): Likewise. + (delete_gdb_breakpoint_1): Likewise. + (delete_gdb_breakpoint): Likewise. + (uninsert_raw_breakpoint): Likewise. + (reinsert_raw_breakpoint): Likewise. + (set_breakpoint_data): Remove. + (validate_inserted_breakpoint): Adjust for kind call bp_size,bp_opcode. + (check_mem_read): Adjust for kind call bp_size. + (check_mem_write): Adjust for kind call bp_size,bp_opcode. + (clone_one_breakpoint): Adjust for kind. + * mem-break.h (set_gdb_breakpoint): Likewise. + (delete_gdb_breakpoint): Likewise. + * server.c (process_serial_event): Likewise. + +2015-10-21 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-aarch64-low.c (aarch64_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-arm-low.c (arm_breakpoint_kind_from_pc): New function. + (arm_sw_breakpoint_from_kind): New function. + * linux-bfin-low.c (bfin_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-cris-low.c (cris_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-crisv32-low.c (cris_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-low.c (linux_wait_1): Call breakpoint_kind_from_pc + and sw_breakpoint_from_kind to increment the pc. + (linux_breakpoint_kind_from_pc): New function. + (linux_sw_breakpoint_from_kind): New function. + (struct target_ops) <sw_breakpoint_from_kind>: Initialize field. + (initialize_low): Call breakpoint_kind_from_pc and + sw_breakpoint_from_kind to replace breakpoint_data/len. + * linux-low.h (struct linux_target_ops) <breakpoint_kind_from_pc>: + New field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Likewise. + * linux-m32r-low.c (m32r_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-m68k-low.c (m68k_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-mips-low.c (mips_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-nios2-low.c (nios2_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-ppc-low.c (ppc_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-s390-low.c (s390_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-sh-low.c (sh_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-sparc-low.c (sparc_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-tic6x-low.c (tic6x_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-tile-low.c (tile_sw_breakpoint_from_kind): New function. + * linux-x86-low.c (x86_sw_breakpoint_from_kind): New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + * linux-xtensa-low.c (xtensa_sw_breakpoint_from_kind) New function. + (struct linux_target_ops) <breakpoint>: Remove. + (struct linux_target_ops) <breakpoint_len>: Remove. + (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field. + (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field. + +2015-10-21 Antoine Tremblay <antoine.tremblay@ericsson.com> + + * linux-cris-low.c (cris_get_pc): Remove void arg. + +2015-10-16 Aleksandar Ristovski <aristovski@qnx.com> + + * gdbserver/nto-low.c (nto_insert_point, nto_remove_point): Fix + variable name. + +2015-10-16 Aleksandar Ristovski <aristovski@qnx.com> + + * inferiors.c (thread_pid_matches_callback): New function. + (find_thread_process): New function. + (remove_thread): Reset current_thread. + (remove_process): Assert threads have been removed first. + +2015-10-15 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_insert_point): Set len to 2 + if it is 3. + (aarch64_remove_point): Likewise. + * regcache.c (regcache_register_size): New function. + +2015-10-12 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c: Update all callers as emit_load_store + is renamed to aarch64_emit_load_store. + +2015-10-12 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c: Update all callers of function renaming + from emit_insn to aarch64_emit_insn. + +2015-10-12 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (enum aarch64_opcodes): Move to + arch/aarch64-insn.h. + (struct aarch64_memory_operand): Likewise. + (ENCODE): Likewise. + (emit_insn): Move to arch/aarch64-insn.c. + (emit_b, emit_bcond, emit_cb, emit_tb): Remove. + (emit_load_store): Move to arch/aarch64-insn.c. + (emit_ldr, emit_ldrb, emit_ldrsw, emit_nop): Remove. + (can_encode_int32): Remove. + +2015-10-12 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (extract_signed_bitfield): Remove. + (aarch64_decode_ldr_literal): Move to gdb/arch/aarch64-insn.c. + (aarch64_relocate_instruction): Likewise. + (struct aarch64_insn_data): Move to gdb/arch/aarch64-insn.h. + (struct aarch64_insn_visitor): Likewise. + +2015-10-12 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (struct aarch64_insn_data): New. + (struct aarch64_insn_visitor): New. + (struct aarch64_insn_relocation_data): New. + (aarch64_ftrace_insn_reloc_b): New function. + (aarch64_ftrace_insn_reloc_b_cond): Likewise. + (aarch64_ftrace_insn_reloc_cb): Likewise. + (aarch64_ftrace_insn_reloc_tb): Likewise. + (aarch64_ftrace_insn_reloc_adr): Likewise. + (aarch64_ftrace_insn_reloc_ldr_literal): Likewise. + (aarch64_ftrace_insn_reloc_others): Likewise. + (visitor): New. + (aarch64_relocate_instruction): Use visitor. + +2015-10-12 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_relocate_instruction): Return + int. Add argument buf. + (aarch64_install_fast_tracepoint_jump_pad): Pass buf to + aarch64_relocate_instruction. + +2015-10-12 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_relocate_instruction): Add + argument insn. Remove local variable insn. Don't call + target_read_uint32. + (aarch64_install_fast_tracepoint_jump_pad): Call + target_read_uint32. + +2015-09-30 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (emit_movk): Shorten a long line. + (emit_load_store_pair): Likewise. + +2015-09-25 Simon Marchi <simon.marchi@ericsson.com> + + * dll.c (match_dll): Add cast(s). + (unloaded_dll): Likewise. + * linux-low.c (second_thread_of_pid_p): Likewise. + (delete_lwp_callback): Likewise. + (count_events_callback): Likewise. + (select_event_lwp_callback): Likewise. + (linux_set_resume_request): Likewise. + * server.c (accumulate_file_name_length): Likewise. + (emit_dll_description): Likewise. + (handle_qxfer_threads_worker): Likewise. + (visit_actioned_threads): Likewise. + * thread-db.c (any_thread_of): Likewise. + * tracepoint.c (same_process_p): Likewise. + (match_blocktype): Likewise. + (build_traceframe_info_xml): Likewise. + +2015-09-25 Simon Marchi <simon.marchi@ericsson.com> + + * ax.c (gdb_parse_agent_expr): Add cast to allocation result + assignment. + (gdb_unparse_agent_expr): Likewise. + * hostio.c (require_data): Likewise. + (handle_pread): Likewise. + * linux-low.c (disable_regset): Likewise. + (fetch_register): Likewise. + (store_register): Likewise. + (get_dynamic): Likewise. + (linux_qxfer_libraries_svr4): Likewise. + * mem-break.c (delete_fast_tracepoint_jump): Likewise. + (set_fast_tracepoint_jump): Likewise. + (uninsert_fast_tracepoint_jumps_at): Likewise. + (reinsert_fast_tracepoint_jumps_at): Likewise. + (validate_inserted_breakpoint): Likewise. + (clone_agent_expr): Likewise. + * regcache.c (init_register_cache): Likewise. + * remote-utils.c (putpkt_binary_1): Likewise. + (decode_M_packet): Likewise. + (decode_X_packet): Likewise. + (look_up_one_symbol): Likewise. + (relocate_instruction): Likewise. + (monitor_output): Likewise. + * server.c (handle_search_memory): Likewise. + (handle_qxfer_exec_file): Likewise. + (handle_qxfer_libraries): Likewise. + (handle_qxfer): Likewise. + (handle_query): Likewise. + (handle_v_cont): Likewise. + (handle_v_run): Likewise. + (captured_main): Likewise. + * target.c (write_inferior_memory): Likewise. + * thread-db.c (try_thread_db_load_from_dir): Likewise. + * tracepoint.c (init_trace_buffer): Likewise. + (add_tracepoint_action): Likewise. + (add_traceframe): Likewise. + (add_traceframe_block): Likewise. + (cmd_qtdpsrc): Likewise. + (cmd_qtdv): Likewise. + (cmd_qtstatus): Likewise. + (response_source): Likewise. + (response_tsv): Likewise. + (cmd_qtnotes): Likewise. + (gdb_collect): Likewise. + (initialize_tracepoint): Likewise. + +2015-09-21 Pierre Langlois <pierre.langlois@arm.com> + + * linux-aarch64-low-.c: Include ax.h and tracepoint.h. + (enum aarch64_opcodes) <RET>, <SUBS>, <AND>, <ORR>, <ORN>, + <EOR>, <LSLV>, <LSRV>, <ASRV>, <SBFM>, <UBFM>, <CSINC>, <MUL>, + <NOP>: New. + (enum aarch64_condition_codes): New enum. + (w0): New static global. + (fp): Likewise. + (lr): Likewise. + (struct aarch64_memory_operand) <type>: New + MEMORY_OPERAND_POSTINDEX type. + (postindex_memory_operand): New helper function. + (emit_ret): New function. + (emit_load_store_pair): New function, factored out of emit_stp + with support for MEMORY_OPERAND_POSTINDEX. + (emit_stp): Rewrite using emit_load_store_pair. + (emit_ldp): New function. + (emit_load_store): Likewise. + (emit_ldr): Mention post-index instruction in comment. + (emit_ldrh): New function. + (emit_ldrb): New function. + (emit_ldrsw): Mention post-index instruction in comment. + (emit_str): Likewise. + (emit_subs): New function. + (emit_cmp): Likewise. + (emit_and): Likewise. + (emit_orr): Likewise. + (emit_orn): Likewise. + (emit_eor): Likewise. + (emit_mvn): Likewise. + (emit_lslv): Likewise. + (emit_lsrv): Likewise. + (emit_asrv): Likewise. + (emit_mul): Likewise. + (emit_sbfm): Likewise. + (emit_sbfx): Likewise. + (emit_ubfm): Likewise. + (emit_ubfx): Likewise. + (emit_csinc): Likewise. + (emit_cset): Likewise. + (emit_nop): Likewise. + (emit_ops_insns): New helper function. + (emit_pop): Likewise. + (emit_push): Likewise. + (aarch64_emit_prologue): New function. + (aarch64_emit_epilogue): Likewise. + (aarch64_emit_add): Likewise. + (aarch64_emit_sub): Likewise. + (aarch64_emit_mul): Likewise. + (aarch64_emit_lsh): Likewise. + (aarch64_emit_rsh_signed): Likewise. + (aarch64_emit_rsh_unsigned): Likewise. + (aarch64_emit_ext): Likewise. + (aarch64_emit_log_not): Likewise. + (aarch64_emit_bit_and): Likewise. + (aarch64_emit_bit_or): Likewise. + (aarch64_emit_bit_xor): Likewise. + (aarch64_emit_bit_not): Likewise. + (aarch64_emit_equal): Likewise. + (aarch64_emit_less_signed): Likewise. + (aarch64_emit_less_unsigned): Likewise. + (aarch64_emit_ref): Likewise. + (aarch64_emit_if_goto): Likewise. + (aarch64_emit_goto): Likewise. + (aarch64_write_goto_address): Likewise. + (aarch64_emit_const): Likewise. + (aarch64_emit_call): Likewise. + (aarch64_emit_reg): Likewise. + (aarch64_emit_pop): Likewise. + (aarch64_emit_stack_flush): Likewise. + (aarch64_emit_zero_ext): Likewise. + (aarch64_emit_swap): Likewise. + (aarch64_emit_stack_adjust): Likewise. + (aarch64_emit_int_call_1): Likewise. + (aarch64_emit_void_call_2): Likewise. + (aarch64_emit_eq_goto): Likewise. + (aarch64_emit_ne_goto): Likewise. + (aarch64_emit_lt_goto): Likewise. + (aarch64_emit_le_goto): Likewise. + (aarch64_emit_gt_goto): Likewise. + (aarch64_emit_ge_got): Likewise. + (aarch64_emit_ops_impl): New static global variable. + (aarch64_emit_ops): New target function, return + &aarch64_emit_ops_impl. + (struct linux_target_ops): Install it. + +2015-09-21 Pierre Langlois <pierre.langlois@arm.com> + + * Makefile.in (linux-aarch64-ipa.o, aarch64-ipa.o): New rules. + * configure.srv (aarch64*-*-linux*): Add linux-aarch64-ipa.o and + aarch64-ipa.o. + * linux-aarch64-ipa.c: New file. + * linux-aarch64-low.c: Include arch/aarch64-insn.h, inttypes.h + and endian.h. + (aarch64_get_thread_area): New target method. + (extract_signed_bitfield): New helper function. + (aarch64_decode_ldr_literal): New function. + (enum aarch64_opcodes): New enum. + (struct aarch64_register): New struct. + (struct aarch64_operand): New struct. + (x0): New static global. + (x1): Likewise. + (x2): Likewise. + (x3): Likewise. + (x4): Likewise. + (w2): Likewise. + (ip0): Likewise. + (sp): Likewise. + (xzr): Likewise. + (aarch64_register): New helper function. + (register_operand): Likewise. + (immediate_operand): Likewise. + (struct aarch64_memory_operand): New struct. + (offset_memory_operand): New helper function. + (preindex_memory_operand): Likewise. + (enum aarch64_system_control_registers): New enum. + (ENCODE): New macro. + (emit_insn): New helper function. + (emit_b): New function. + (emit_bcond): Likewise. + (emit_cb): Likewise. + (emit_tb): Likewise. + (emit_blr): Likewise. + (emit_stp): Likewise. + (emit_ldp_q_offset): Likewise. + (emit_stp_q_offset): Likewise. + (emit_load_store): Likewise. + (emit_ldr): Likewise. + (emit_ldrsw): Likewise. + (emit_str): Likewise. + (emit_ldaxr): Likewise. + (emit_stxr): Likewise. + (emit_stlr): Likewise. + (emit_data_processing_reg): Likewise. + (emit_data_processing): Likewise. + (emit_add): Likewise. + (emit_sub): Likewise. + (emit_mov): Likewise. + (emit_movk): Likewise. + (emit_mov_addr): Likewise. + (emit_mrs): Likewise. + (emit_msr): Likewise. + (emit_sevl): Likewise. + (emit_wfe): Likewise. + (append_insns): Likewise. + (can_encode_int32_in): New helper function. + (aarch64_relocate_instruction): New function. + (aarch64_install_fast_tracepoint_jump_pad): Likewise. + (aarch64_get_min_fast_tracepoint_insn_len): Likewise. + (struct linux_target_ops): Install aarch64_get_thread_area, + aarch64_install_fast_tracepoint_jump_pad and + aarch64_get_min_fast_tracepoint_insn_len. + +2015-09-21 Pierre Langlois <pierre.langlois@arm.com> + + * Makefile.in (aarch64-insn.o): New rule. + * configure.srv (aarch64*-*-linux*): Add aarch64-insn.o. + +2015-09-21 Yao Qi <yao.qi@linaro.org> + + * ax.c [!IN_PROCESS_AGENT] (gdb_agent_op_sizes): Define it. + +2015-09-21 Yao Qi <yao.qi@linaro.org> + + * tracepoint.c (max_jump_pad_size): Remove. + +2015-09-18 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c: Don't include sys/uio.h. + (ps_get_thread_area): Call aarch64_ps_get_thread_area. + +2015-09-16 Wei-cheng Wang <cole945@gmail.com> + + * tracepoint.c (eval_result_type): Change prototype. + (condition_true_at_tracepoint): Fix argument to compiled_cond. + +2015-09-15 Pedro Alves <palves@redhat.com> + + * remote-utils.c (prepare_resume_reply) <TARGET_WAITKIND_EXECD>: + Check whether to report exec events instead of checking whether + multiprocess is enabled. + +2015-09-15 Pedro Alves <palves@redhat.com> + + PR remote/18965 + * remote-utils.c (prepare_resume_reply): Merge + TARGET_WAITKIND_VFORK_DONE switch case with the + TARGET_WAITKIND_FORKED case. + +2015-09-15 Yao Qi <yao.qi@linaro.org> + + * server.c (handle_query): Check string comparison using + "else if" instead of "if". + +2015-09-15 Yao Qi <yao.qi@linaro.org> + + * server.c (vCont_supported): New global variable. + (handle_query): Set vCont_supported to 1 if "vContSupported+" + matches. Append ";vContSupported+" to own_buf. + (handle_v_requests): Append ";s;S" to own_buf if target supports + hardware single step or vCont_supported is false. + (capture_main): Set vCont_supported to zero. + +2015-09-15 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_supports_conditional_breakpoints): Rename + it to ... + (linux_supports_hardware_single_step): ... New function. + (linux_target_ops): Update. + * lynx-low.c (lynx_target_ops): Set field + supports_hardware_single_step to target_can_do_hardware_single_step. + * nto-low.c (nto_target_ops): Likewise. + * spu-low.c (spu_target_ops): Likewise. + * win32-low.c (win32_target_ops): Likewise. + * target.c (target_can_do_hardware_single_step): New function. + * target.h (struct target_ops) <supports_conditional_breakpoints>: + Remove. <supports_hardware_single_step>: New field. + (target_supports_conditional_breakpoints): Remove. + (target_supports_hardware_single_step): New macro. + (target_can_do_hardware_single_step): Declare. + * server.c (handle_query): Use target_supports_hardware_single_step + instead of target_supports_conditional_breakpoints. + +2015-09-15 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_linux_siginfo_fixup): New + function. + (struct linux_target_ops the_low_target): Install + aarch64_linux_siginfo_fixup. + +2015-09-11 Don Breazeal <donb@codesourcery.com> + Luis Machado <lgustavo@codesourcery.com> + + * linux-low.c (linux_mourn): Static declaration. + (linux_arch_setup): Move in front of + handle_extended_wait. + (linux_arch_setup_thread): New function. + (handle_extended_wait): Handle exec events. Call + linux_arch_setup_thread. Make event_lwp argument a + pointer-to-a-pointer. + (check_zombie_leaders): Do not check stopped threads. + (linux_low_ptrace_options): Add PTRACE_O_TRACEEXEC. + (linux_low_filter_event): Add lwp and thread for exec'ing + non-leader thread if leader thread has been deleted. + Refactor code into linux_arch_setup_thread and call it. + Pass child lwp pointer by reference to handle_extended_wait. + (linux_wait_for_event_filtered): Update comment. + (linux_wait_1): Prevent clobbering exec event status. + (linux_supports_exec_events): New function. + (linux_target_ops) <supports_exec_events>: Initialize new member. + * lynx-low.c (lynx_target_ops) <supports_exec_events>: Initialize + new member. + * remote-utils.c (prepare_resume_reply): New stop reason 'exec'. + * server.c (report_exec_events): New global variable. + (handle_query): Handle qSupported query for exec-events feature. + (captured_main): Initialize report_exec_events. + * server.h (report_exec_events): Declare new global variable. + * target.h (struct target_ops) <supports_exec_events>: New + member. + (target_supports_exec_events): New macro. + * win32-low.c (win32_target_ops) <supports_exec_events>: + Initialize new member. + +2015-09-09 Markus Metzger <markus.t.metzger@intel.com> + + * linux-low.c (linux_low_enable_btrace): Remove. + (linux_target_ops): Replace linux_low_enable_btrace with + linux_enable_btrace. + +2015-09-03 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_insert_point): Call + aarch64_handle_watchpoint if aarch64_linux_region_ok_for_watchpoint + returns true. + +2015-08-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + * linux-low.c (check_stopped_by_breakpoint): Use + GDB_ARCH_IS_TRAP_BRKPT instead of GDB_ARCH_TRAP_BRKPT. + +2015-08-27 Pedro Alves <palves@redhat.com> + + * proc-service.c (ps_pdwrite): Return PS_ERR/PS_OK explicily. + +2015-08-26 Simon Marchi <simon.marchi@ericsson.com> + + * ax.c (gdb_parse_agent_expr): Replace xmalloc-family function with + the XNEW-family equivalent. + (compile_bytecodes): Likewise. + * dll.c (loaded_dll): Likewise. + * event-loop.c (append_callback_event): Likewise. + (create_file_handler): Likewise. + (create_file_event): Likewise. + * hostio.c (handle_open): Likewise. + * inferiors.c (add_thread): Likewise. + (add_process): Likewise. + * linux-aarch64-low.c (aarch64_linux_new_process): Likewise. + * linux-arm-low.c (arm_new_process): Likewise. + (arm_new_thread): Likewise. + * linux-low.c (add_to_pid_list): Likewise. + (linux_add_process): Likewise. + (handle_extended_wait): Likewise. + (add_lwp): Likewise. + (enqueue_one_deferred_signal): Likewise. + (enqueue_pending_signal): Likewise. + (linux_resume_one_lwp_throw): Likewise. + (linux_resume_one_thread): Likewise. + (linux_read_memory): Likewise. + (linux_write_memory): Likewise. + * linux-mips-low.c (mips_linux_new_process): Likewise. + (mips_linux_new_thread): Likewise. + (mips_add_watchpoint): Likewise. + * linux-x86-low.c (initialize_low_arch): Likewise. + * lynx-low.c (lynx_add_process): Likewise. + * mem-break.c (set_raw_breakpoint_at): Likewise. + (set_breakpoint): Likewise. + (add_condition_to_breakpoint): Likewise. + (add_commands_to_breakpoint): Likewise. + (clone_agent_expr): Likewise. + (clone_one_breakpoint): Likewise. + * regcache.c (new_register_cache): Likewise. + * remote-utils.c (look_up_one_symbol): Likewise. + * server.c (queue_stop_reply): Likewise. + (start_inferior): Likewise. + (queue_stop_reply_callback): Likewise. + (handle_target_event): Likewise. + * spu-low.c (fetch_ppc_memory): Likewise. + (store_ppc_memory): Likewise. + * target.c (set_target_ops): Likewise. + * thread-db.c (thread_db_load_search): Likewise. + (try_thread_db_load_1): Likewise. + * tracepoint.c (add_tracepoint): Likewise. + (add_tracepoint_action): Likewise. + (create_trace_state_variable): Likewise. + (cmd_qtdpsrc): Likewise. + (cmd_qtro): Likewise. + (add_while_stepping_state): Likewise. + * win32-low.c (child_add_thread): Likewise. + (get_image_name): Likewise. + +2015-08-25 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_linux_new_thread): Remove. + +2015-08-25 Yao Qi <yao.qi@linaro.org> + + * Makefile.in (aarch64-linux.o): New rule. + * configure.srv (aarch64*-*-linux*): Append aarch64-linux.o to + srv_tgtobj. + * linux-aarch64-low.c: Include nat/aarch64-linux.h. + (aarch64_init_debug_reg_state): Make it extern. + (aarch64_linux_prepare_to_resume): Remove. + +2015-08-25 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_linux_prepare_to_resume): Use + lwp_arch_private_info and ptid_of_lwp. + +2015-08-25 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_get_debug_reg_state): Add argument pid. + Find proc_info by find_process_pid. All callers updated. + +2015-08-25 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (struct arch64_dr_update_callback_param): + Remove. + (debug_reg_change_callback): Remove. + (aarch64_notify_debug_reg_change): Remove. + +2015-08-25 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_notify_debug_reg_change): + Call current_lwp_ptid. + +2015-08-25 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (debug_reg_change_callback): Use + debug_printf. + +2015-08-25 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (debug_reg_change_callback): Use phex. + +2015-08-25 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (debug_reg_change_callback): Remove comments. + +2015-08-25 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (debug_reg_change_callback): Re-indent + the code. + +2015-08-25 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_dr_update_callback_param) <pid>: + Remove. + (debug_reg_change_callback): Remove argument entry and add argument + lwp. Remove local variable thread. Don't print thread id in the + debugging output. Don't check whether pid of thread equals to pid. + (aarch64_notify_debug_reg_change): Don't set param.pid. Call + iterate_over_lwps instead find_inferior. + +2015-08-24 Pedro Alves <palves@redhat.com> + + * inferiors.c (get_first_process): New function. + * inferiors.h (get_first_process): New declaration. + * remote-utils.c (read_ptid): Default to the first process in the + list, instead of to the current thread's process. + +2015-08-24 Pedro Alves <palves@redhat.com> + + * debug.c: Include gdb_sys_time.h instead of sys/time.h. + * event-loop.c: Likewise. + * remote-utils.c: Likewise. + * tracepoint.c: Likewise. + +2015-08-24 Pedro Alves <palves@redhat.com> + + * spu-low.c (spu_request_interrupt): Use lwpid_of instead of + ptid_get_lwp. + +2015-08-21 Pedro Alves <palves@redhat.com> + + * ax.c (gdb_eval_agent_expr): Return expr_eval_unhandled_opcode + instead of literal 1. + +2015-08-21 Pedro Alves <palves@redhat.com> + + * tdesc.c (default_description): Explicitly zero-initialize. + +2015-08-21 Pedro Alves <palves@redhat.com> + + PR gdb/18749 + * inferiors.c (remove_thread): Discard any pending stop reply for + this thread. + * server.c (remove_all_on_match_pid): Rename to ... + (remove_all_on_match_ptid): ... this. Work with a filter ptid + instead of a pid. + (discard_queued_stop_replies): Change parameter to a ptid. Now + extern. + (handle_v_kill, kill_inferior_callback, captured_main) + (process_serial_event): Adjust. + * server.h (discard_queued_stop_replies): Declare. + +2015-08-21 Pedro Alves <palves@redhat.com> + + * linux-low.c (wait_for_sigstop): Always switch to no thread + selected if the previously current thread dies. + * lynx-low.c (lynx_request_interrupt): Use the first thread's + process instead of the current thread's. + * remote-utils.c (input_interrupt): Don't check if there's no + current thread. + * server.c (gdb_read_memory, gdb_write_memory): If setting the + current thread to the general thread fails, error out. + (handle_qxfer_auxv, handle_qxfer_libraries) + (handle_qxfer_libraries_svr4, handle_qxfer_siginfo) + (handle_qxfer_spu, handle_qxfer_statictrace, handle_qxfer_fdpic) + (handle_query): Check if there's a thread selected instead of + checking whether there's any thread in the thread list. + (handle_qxfer_threads, handle_qxfer_btrace) + (handle_qxfer_btrace_conf): Don't error out early if there's no + thread in the thread list. + (handle_v_cont, myresume): Don't set the current thread to the + continue thread. + (process_serial_event) <Hg handling>: Also set thread_id if the + previous general thread is still alive. + (process_serial_event) <g/G handling>: If setting the current + thread to the general thread fails, error out. + * spu-low.c (spu_resume, spu_request_interrupt): Use the first + thread's lwp instead of the current thread's. + * target.c (set_desired_thread): If the desired thread was not + found, leave the current thread pointing to NULL. Return an int + (boolean) indicating success. + * target.h (set_desired_thread): Change return type to int. + +2015-08-20 Max Filippov <jcmvbkbc@gmail.com> + + * configure.srv (xtensa*-*-linux*): Add srv_linux_thread_db=yes. + * linux-xtensa-low.c (arch/xtensa.h gdb_proc_service.h): New + #includes. + (ps_get_thread_area): New function. + +2015-08-19 Gary Benson <gbenson@redhat.com> + + * hostio.c (handle_pread): Do not attempt to read more data + than hostio_reply_with_data can fit in a packet. + +2015-08-18 Joel Brobecker <brobecker@adacore.com> + + * linux-aarch32-low.c (NT_ARM_VFP): Define if not already defined. + +2015-08-14 Matthew Fortune <matthew.fortune@imgtec.com> + + * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP_REL. + +2015-08-06 Pedro Alves <palves@redhat.com> + + * tracepoint.c (expr_eval_result): Now an int. + +2015-08-06 Pedro Alves <palves@redhat.com> + + * gdbthread.h (struct regcache): Forward declare. + (struct thread_info) <regcache_data>: Now a struct regcache + pointer. + * inferiors.c (inferior_regcache_data) + (set_inferior_regcache_data): Now work with struct regcache + pointers. + * inferiors.h (struct regcache): Forward declare. + (inferior_regcache_data, set_inferior_regcache_data): Now work + with struct regcache pointers. + * regcache.c (get_thread_regcache, regcache_invalidate_thread) + (free_register_cache_thread): Remove struct regcache pointer + casts. + +2015-08-06 Pedro Alves <palves@redhat.com> + + * server.c (captured_main): On error, print the exception message + to stderr, and if run_once is set, throw a quit. + +2015-08-06 Pedro Alves <palves@redhat.com> + + * linux-low.c (move_out_of_jump_pad_callback): Temporarily switch + the current thread. + +2015-08-06 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_write_memory): Rewrite debug output to avoid + reading beyond the passed in buffer length. + +2015-08-06 Pierre Langlois <pierre.langlois@arm.com> + + * tracepoint.c (symbol_list) <required>: Remove. + +2015-08-06 Pedro Alves <palves@redhat.com> + + * linux-low.c (handle_extended_wait): Set the fork child's suspend + count if stopping and suspending threads. + (check_stopped_by_breakpoint): If stopped by trace, set the LWP's + stop reason to TARGET_STOPPED_BY_SINGLE_STEP. + (linux_detach): Complete an ongoing step-over. + (lwp_suspended_inc, lwp_suspended_decr): New functions. Use + throughout. + (resume_stopped_resumed_lwps): Don't resume a suspended thread. + (linux_wait_1): If passing a signal to the inferior after + finishing a step-over, unsuspend and re-resume all lwps. If we + see a single-step event but the thread should be continuing, don't + pass the trap to gdb. + (stuck_in_jump_pad_callback, move_out_of_jump_pad_callback): Use + internal_error instead of gdb_assert. + (enqueue_pending_signal): New function. + (check_ptrace_stopped_lwp_gone): Add debug output. + (start_step_over): Use internal_error instead of gdb_assert. + (complete_ongoing_step_over): New function. + (linux_resume_one_thread): Don't resume a suspended thread. + (proceed_one_lwp): If the LWP is stepping over a breakpoint, reset + it stepping. + +2015-08-06 Pedro Alves <palves@redhat.com> + + * linux-low.c (add_lwp): Set waitstatus to TARGET_WAITKIND_IGNORE. + (linux_thread_alive): Use lwp_is_marked_dead. + (extended_event_reported): Delete. + (linux_wait_1): Check if waitstatus is TARGET_WAITKIND_IGNORE + instead of extended_event_reported. + (mark_lwp_dead): Don't set the 'dead' flag. Store the waitstatus + as well. + (lwp_is_marked_dead): New function. + (lwp_running): Use lwp_is_marked_dead. + * linux-low.h: Delete 'dead' field, and update 'waitstatus's + comment. + +2015-08-06 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_wait_1): Move fork event output out of the + !report_to_gdb check. Pass event_child->waitstatus to + target_waitstatus_to_string instead of ourstatus. + +2015-08-04 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_supports_tracepoints): Return 0 + if current_thread is 32 bit. + +2015-08-04 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_supports_z_point_type): Return + 0 for Z_PACKET_SW_BP if it may be used in multi-arch debugging. + * server.c (extended_protocol): Remove "static". + * server.h (extended_protocol): Declare it. + +2015-08-04 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_get_pc): Get PC register on + both aarch64 and aarch32. + (aarch64_set_pc): Likewise. + +2015-08-04 Yao Qi <yao.qi@linaro.org> + + * configure.srv (case aarch64*-*-linux*): Append arm-with-neon.o + to srv_regobj and append arm-core.xml arm-vfpv3.xml and + arm-with-neon.xml to srv_xmlfiles. + * linux-aarch64-low.c: Include linux-aarch32-low.h. + (is_64bit_tdesc): New function. + (aarch64_linux_read_description): New function. + (aarch64_arch_setup): Call aarch64_linux_read_description. + (regs_info): Rename to regs_info_aarch64. + (aarch64_regs_info): Return right regs_info. + (initialize_low_arch): Call initialize_low_arch_aarch32. + +2015-08-04 Yao Qi <yao.qi@linaro.org> + + * configure.srv (srv_tgtobj): Add linux-aarch32-low.o. + * linux-aarch32-low.c: New file. + * linux-aarch32-low.h: New file. + * linux-arm-low.c (arm_fill_gregset): Move it to + linux-aarch32-low.c. + (arm_store_gregset): Likewise. + (arm_fill_vfpregset): Call arm_fill_vfpregset_num + (arm_store_vfpregset): Call arm_store_vfpregset_num. + (arm_arch_setup): Check if PTRACE_GETREGSET works. + (regs_info): Rename to regs_info_arm. + (arm_regs_info): Return regs_info_aarch32 if + have_ptrace_getregset is 1 and target description is + arm_with_neon or arm_with_vfpv3. + (initialize_low_arch): Don't call init_registers_arm_with_neon. + Call initialize_low_arch_aarch32 instead. + +2015-08-04 Yao Qi <yao.qi@linaro.org> + + * linux-x86-low.c (have_ptrace_getregset): Move it to ... + * linux-low.c: ... here. + * linux-low.h (have_ptrace_getregset): Declare it. + +2015-08-04 Pedro Alves <palves@redhat.com> + + * thread-db.c (struct thread_db): Use new typedefs. + (try_thread_db_load_1): Define local TDB_DLSYM macro and use it in + CHK calls. + (disable_thread_event_reporting): Cast result of dlsym to + destination function pointer type. + (thread_db_mourn): Use td_ta_delete_ftype. + +2015-08-03 Sandra Loosemore <sandra@codesourcery.com> + + * linux-nios2-low.c (NIOS2_BREAKPOINT): Conditionalize for + arch variant. + (CDX_BREAKPOINT): Define for R2. + (nios2_breakpoint_at): Check for CDX_BREAKPOINT when R2. + (the_low_target): Add comments. + +2015-07-30 Yao Qi <yao.qi@linaro.org> + + * linux-arm-low.c (arm_hwcap): Remove it. + (arm_read_description): New local variable arm_hwcap. Don't + set arm_hwcap to zero. + +2015-07-30 Yao Qi <yao.qi@linaro.org> + + * linux-arm-low.c (arm_fill_wmmxregset): Don't use arm_hwcap. + Use regcache->tdesc instead. + (arm_store_wmmxregset): Likewise. + (arm_fill_vfpregset): Likewise. + (arm_store_vfpregset): Likewise. + +2015-07-30 Yao Qi <yao.qi@linaro.org> + + * linux-arm-low.c: Include arch/arm.h. + (arm_fill_gregset): Don't use arm_num_regs and arm_regmap. + (arm_store_gregset): Likewise. + +2015-07-29 Simon Marchi <simon.marchi@ericsson.com> + + * linux-mips-low.c (mips_linux_prepare_to_resume): Add NULL as + ptrace's 4th parameter. + +2015-07-27 Yao Qi <yao.qi@linaro.org> + + * configure.srv (case aarch64*-*-linux*): Don't set + srv_linux_usrregs. + +2015-07-24 Pedro Alves <palves@redhat.c: Likewise.om> + + * linux-aarch64-low.c: Include nat/gdb_ptrace.h instead of + sys/ptrace.h. + * linux-arm-low.c: Likewise. + * linux-cris-low.c: Likewise. + * linux-crisv32-low.c: Likewise. + * linux-low.c: Likewise. + * linux-m68k-low.c: Likewise. + * linux-mips-low.c: Likewise. + * linux-nios2-low.c: Likewise. + * linux-s390-low.c: Likewise. + * linux-sparc-low.c: Likewise. + * linux-tic6x-low.c: Likewise. + * linux-tile-low.c: Likewise. + * linux-x86-low.c: Likewise. + +2015-07-24 Pedro Alves <palves@redhat.com> + + * config.in: Regenerate. + * configure: Regenerate. + +2015-07-24 Pedro Alves <palves@redhat.com> + + * acinclude.m4: Include ../ptrace.m4. + * configure.ac: Call GDB_AC_PTRACE. + * config.in, configure: Regenerate. + +2015-07-24 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_create_inferior): Remove setting to + proc->priv->new_inferior. + (linux_attach): Likewise. + (linux_low_filter_event): Likewise. + * linux-low.h (struct process_info_private) <new_inferior>: Remove. + +2015-07-24 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_arch_setup): New function. + (linux_low_filter_event): If proc->tdesc is NULL and + proc->attached is true, call the_low_target.arch_setup. + Otherwise, keep status pending, and return. + (linux_resume_one_lwp_throw): Don't call get_pc if + thread->while_stepping isn't NULL. Don't call + get_thread_regcache if proc->tdesc is NULL. + (need_step_over_p): Return 0 if proc->tdesc is NULL. + (linux_target_ops): Install arch_setup. + * server.c (start_inferior): Call the_target->arch_setup. + * target.h (struct target_ops) <arch_setup>: New field. + (target_arch_setup): New marco. + * lynx-low.c (lynx_target_ops): Update. + * nto-low.c (nto_target_ops): Update. + * spu-low.c (spu_target_ops): Update. + * win32-low.c (win32_target_ops): Update. + +2015-07-24 Yao Qi <yao.qi@linaro.org> + + * linux-low.c (linux_add_process): Don't set + proc->priv->new_inferior. + (linux_create_inferior): Set proc->priv->new_inferior to 1. + (linux_attach): Likewise. + +2015-07-24 Yao Qi <yao.qi@linaro.org> + + * server.c (start_inferior): Code refactor. + +2015-07-24 Yao Qi <yao.qi@linaro.org> + + * server.c (process_serial_event): Set general_thread. + +2015-07-21 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_arch_setup): Remove code and call + aarch64_linux_get_debug_reg_capacity. + +2015-07-17 Yao Qi <yao.qi@linaro.org> + + * Makefile.in (aarch64-linux-hw-point.o): New rule. + * configure.srv (srv_tgtobj): Append aarch64-linux-hw-point.o. + * linux-aarch64-low.c: Include nat/aarch64-linux-hw-point.h. + (AARCH64_HBP_MAX_NUM): Move to nat/aarch64-linux-hw-point.h. + (AARCH64_HWP_MAX_NUM, AARCH64_HBP_ALIGNMENT): Likewise. + (AARCH64_HWP_ALIGNMENT): Likewise. + (AARCH64_HWP_MAX_LEN_PER_REG): Likewise. + (AARCH64_DEBUG_NUM_SLOTS, AARCH64_DEBUG_ARCH): Likewise. + (aarch64_num_bp_regs, aarch64_num_wp_regs): Likewise. + (AARCH64_DEBUG_ARCH_V8, DR_MARK_ALL_CHANGED): Likewise. + (DR_MARK_N_CHANGED, DR_CLEAR_CHANGED): Likewise. + (DR_HAS_CHANGED, DR_N_HAS_CHANGE): Likewise. + (struct aarch64_debug_reg_state): Likewise. + (struct arch_lwp_info): Likewise. + (aarch64_align_watchpoint): Likewise. + (DR_CONTROL_ENABLED, DR_CONTROL_LENGTH): Likewise. + (aarch64_watchpoint_length): Likewise. + (aarch64_point_encode_ctrl_reg): Likewise + (aarch64_point_is_aligned): Likewise. + (aarch64_align_watchpoint): Likewise. + (aarch64_linux_set_debug_regs): + (aarch64_dr_state_insert_one_point): Likewise. + (aarch64_dr_state_remove_one_point): Likewise. + (aarch64_handle_breakpoint): Likewise. + (aarch64_handle_aligned_watchpoint): Likewise. + (aarch64_handle_unaligned_watchpoint): Likewise. + (aarch64_handle_watchpoint): Likewise. + +2015-07-17 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_handle_breakpoint): Add argument state + and don't aarch64_get_debug_reg_state. All callers update. + (aarch64_handle_aligned_watchpoint): Likewise. + (aarch64_handle_unaligned_watchpoint): Likewise. + (aarch64_handle_watchpoint): Likewise. + (aarch64_insert_point): Call aarch64_get_debug_reg_state earlier. + (aarch64_remove_point): Likewise. + +2015-07-17 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_show_debug_reg_state): Use + debug_printf. + (aarch64_handle_unaligned_watchpoint): Likewise. + +2015-07-15 Jan Kratochvil <jan.kratochvil@redhat.com> + + Revert the previous 3 commits: + Move gdb_regex* to common/ + Move linux_find_memory_regions_full & co. + gdbserver build-id attribute generator + +2015-07-15 Aleksandar Ristovski <aristovski@qnx.com + Jan Kratochvil <jan.kratochvil@redhat.com> + + gdbserver build-id attribute generator. + * linux-low.c (nat/linux-maps.h, search.h, rsp-low.h): Include. + (ElfXX_Ehdr, ElfXX_Phdr, ElfXX_Nhdr): New. + (ELFXX_FLD, ELFXX_SIZEOF, ELFXX_ROUNDUP, BUILD_ID_INVALID): New. + (find_phdr): New. + (get_dynamic): Use find_pdhr to traverse program headers. + (struct mapping_entry, mapping_entry_s, free_mapping_entry_vec) + (compare_mapping_entry_range, struct find_memory_region_callback_data) + (read_build_id, find_memory_region_callback, lrfind_mapping_entry) + (get_hex_build_id): New. + (linux_qxfer_libraries_svr4): Add optional build-id attribute + to reply XML document. + +2015-07-15 Aleksandar Ristovski <aristovski@qnx.com + Jan Kratochvil <jan.kratochvil@redhat.com> + + * target.c: Include target/target-utils.h and fcntl.h. + (target_fileio_read_stralloc_1_pread, target_fileio_read_stralloc_1) + (target_fileio_read_stralloc): New functions. + +2015-07-15 Jan Kratochvil <jan.kratochvil@redhat.com> + + * Makefile.in (OBS): Add gdb_regex.o. + (gdb_regex.o): New. + * config.in: Rebuilt. + * configure: Rebuilt. + +2015-07-15 Aleksandar Ristovski <aristovski@qnx.com + Jan Kratochvil <jan.kratochvil@redhat.com> + + Create empty nat/linux-maps.[ch] and common/target-utils.[ch]. + * Makefile.in (OBS): Add target-utils.o. + (linux-maps.o, target-utils.o): New. + * configure.srv (srv_linux_obj): Add linux-maps.o. + +2015-07-15 Pierre Langlois <pierre.langlois@arm.com> + + * linux-aarch64-low.c (aarch64_supports_range_stepping): New + function, return 1. + (the_low_target): Install it. + +2015-07-14 Pedro Alves <palves@redhat.com> + + * linux-low.c (kill_wait_lwp): Don't assert if waitpid fails. + Instead, ignore ECHILD, and throw an error for other errnos. + +2015-07-10 Pedro Alves <palves@redhat.com> + + * event-loop.c (struct callback_event) <data>: Change type to + gdb_client_data instance instead of gdb_client_data pointer. + (append_callback_event): Adjust. + +2015-07-10 Pierre Langlois <pierre.langlois@arm.com> + + * linux-aarch64-low.c: Add comments for each linux_target_ops + method. Remove comments already covered in target_ops and + linux_target_ops definitions. + (the_low_target): Add comments for each unimplemented method. + +2015-07-09 Yao Qi <yao.qi@linaro.org> + + * linux-aarch64-low.c (aarch64_regmap): Remove. + (aarch64_usrregs_info): Remove. + (regs_info): Set field usrregs to NULL. + +2015-07-02 Markus Metzger <markus.t.metzger@intel.com> + + * linux-low.c: Include "rsp-low.h" + (linux_low_encode_pt_config, linux_low_encode_raw): New. + (linux_low_read_btrace): Support BTRACE_FORMAT_PT. + (linux_low_btrace_conf): Support BTRACE_FORMAT_PT. + (handle_btrace_enable_pt): New. + (handle_btrace_general_set): Support "pt". + (handle_btrace_conf_general_set): Support "pt:size". + +2015-06-29 Pierre Langlois <pierre.langlois@arm.com> + + * linux-aarch64-low.c (aarch64_supports_z_point_type): Enable for + Z_PACKET_SW_BP. + +2015-06-29 Pierre Langlois <pierre.langlois@arm.com> + + * linux-aarch64-low.c: Remove comment about endianness. + (aarch64_breakpoint): Change type to gdb_byte[]. Set to "brk #0". + (aarch64_breakpoint_at): Change type of insn to gdb_byte[]. Use + memcmp. + +2015-06-24 Gary Benson <gbenson@redhat.com> + + * linux-i386-ipa.c (stdint.h): Do not include. + * lynx-i386-low.c (stdint.h): Likewise. + * lynx-ppc-low.c (stdint.h): Likewise. + * mem-break.c (stdint.h): Likewise. + * thread-db.c (stdint.h): Likewise. + * tracepoint.c (stdint.h): Likewise. + * win32-low.c (stdint.h): Likewise. + +2015-06-18 Simon Marchi <simon.marchi@ericsson.com> + + * server.c (write_qxfer_response): Update call to + remote_escape_output. + +2015-06-15 Aleksandar Ristovski <aristovski@qnx.com + Jan Kratochvil <jan.kratochvil@redhat.com> + + Merge multiple hex conversions. + * gdbreplay.c (tohex): Rename to 'fromhex'. + (logchar): Use fromhex. + +2015-06-10 Jan Kratochvil <jan.kratochvil@redhat.com> + + * server.c (handle_qxfer_libraries): Set `version' attribute for + <library-list>. + +2015-06-10 Gary Benson <gbenson@redhat.com> + + * target.h (struct target_ops) <multifs_open>: New field. + <multifs_unlink>: Likewise. + <multifs_readlink>: Likewise. + * linux-low.c (nat/linux-namespaces.h): New include. + (linux_target_ops): Initialize the_target->multifs_open, + the_target->multifs_unlink and the_target->multifs_readlink. + * hostio.h (hostio_handle_new_gdb_connection): New declaration. + * hostio.c (hostio_fs_pid): New static variable. + (hostio_handle_new_gdb_connection): New function. + (handle_setfs): Likewise. + (handle_open): Use the_target->multifs_open as appropriate. + (handle_unlink): Use the_target->multifs_unlink as appropriate. + (handle_readlink): Use the_target->multifs_readlink as + appropriate. + (handle_vFile): Handle vFile:setfs packets. + * server.c (handle_query): Call hostio_handle_new_gdb_connection + after target_handle_new_gdb_connection. + +2015-06-10 Gary Benson <gbenson@redhat.com> + + * configure.ac (AC_CHECK_FUNCS): Add setns. + * config.in: Regenerate. + * configure: Likewise. + * Makefile.in (SFILES): Add nat/linux-namespaces.c. + (linux-namespaces.o): New rule. + * configure.srv (srv_linux_obj): Add linux-namespaces.o. + +2015-06-09 Gary Benson <gbenson@redhat.com> + + * hostio.c (handle_open): Process mode argument with + fileio_to_host_mode. + +2015-06-01 Yao Qi <yao.qi@linaro.org> + + * linux-s390-low.c (PTRACE_GETREGSET, PTRACE_SETREGSET): Remove. + * linux-x86-low.c: Likewise. + +2015-05-28 Don Breazeal <donb@codesourcery.com> + + * linux-low.c (handle_extended_wait): Initialize + thread_info.last_resume_kind for new fork children. + +2015-05-15 Pedro Alves <palves@redhat.com> + + * target.h (target_handle_new_gdb_connection): Rewrite using if + wrapped in do/while. + +2015-05-14 Joel Brobecker <brobecker@adacore.com> + + * configure.ac: Add prfpregset_t BFD_HAVE_SYS_PROCFS_TYPE check. + * configure, config.in: Regenerate. + * gdb_proc_service.h [HAVE_PRFPREGSET_T] (prfpregset_t): + Declare typedef. + +2015-05-12 Don Breazeal <donb@codesourcery.com> + + * linux-low.c (handle_extended_wait): Handle PTRACE_EVENT_FORK and + PTRACE_EVENT_VFORK_DONE. + (linux_low_ptrace_options, extended_event_reported): Add vfork + events. + * remote-utils.c (prepare_resume_reply): New stop reasons "vfork" + and "vforkdone" for RSP 'T' Stop Reply Packet. + * server.h (report_vfork_events): Declare + global variable. + +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. + * 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. + +2015-03-04 Pedro Alves <palves@redhat.com> + + 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. + +2015-03-04 Yao Qi <yao.qi@linaro.org> + + * Makefile.in (SFILES): Add linux-aarch64-low.c. + +2015-03-03 Gary Benson <gbenson@redhat.com> + + * hostio.c (handle_vFile): Fix prefix lengths. + +2015-03-03 Markus Metzger <markus.t.metzger@intel.com> + + * linux-low.c (linux_low_enable_btrace): Do not overwrite non-zero + ptr_bits. + +2015-03-02 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * 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. + +2015-03-01 Pedro Alves <palves@redhat.com> + + * linux-i386-ipa.c (gdb_agent_get_raw_reg): Constify 'raw_regs' + parameter. + +2015-02-27 Pedro Alves <palves@redhat.com> + + * linux-x86-low.c (u_debugreg_offset): New function. + (x86_linux_dr_get, x86_linux_dr_set): Use it. + +2015-02-27 Pedro Alves <palves@redhat.com> + + * 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. + +2015-02-27 Pedro Alves <palves@redhat.com> + + * 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. + +2015-02-27 Tom Tromey <tromey@redhat.com> + Pedro Alves <palves@redhat.com> + + Rename symbols whose names are reserved C++ keywords throughout. + +2015-02-27 Pedro Alves <palves@redhat.com> + + * 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. + +2015-02-27 Pedro Alves <palves@redhat.com> + + * acinclude.m4: Include libiberty.m4. + * configure.ac: Call libiberty_INIT. + * config.in, configure: Regenerate. + +2015-02-26 Pedro Alves <palves@redhat.com> + + * 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. + +2015-02-23 Pedro Alves <palves@redhat.com> + + * 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. + +2015-02-23 Pedro Alves <palves@redhat.com> + + * 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. + +2015-02-20 Pedro Alves <palves@redhat.com> + + * 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. + +2015-02-20 Pedro Alves <palves@redhat.com> + + * linux-low.c (status_pending_p_callback): Use ptid_match. + +2015-02-19 Antoine Tremblay <antoine.tremblay@ericsson.com> + + 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. + +2015-02-10 Antoine Tremblay <antoine.tremblay@ericsson.com> + + PR breakpoints/15956 + * tracepoint.c (cmd_qtinit): Add check for current_thread. + +2015-02-09 Markus Metzger <markus.t.metzger@intel.com> + + * linux-low.c (linux_low_btrace_conf): Print size. + * server.c (handle_btrace_conf_general_set): New. + (hanle_general_set): Call handle_btrace_conf_general_set. + (handle_query): Report Qbtrace-conf:bts:size as supported. + +2015-02-09 Markus Metzger <markus.t.metzger@intel.com> + + * linux-low.c (linux_low_enable_btrace): Update parameters. + (linux_low_btrace_conf): New. + (linux_target_ops)<to_btrace_conf>: Initialize. + * server.c (current_btrace_conf): New. + (handle_btrace_enable): Rename to ... + (handle_btrace_enable_bts): ... this. Pass ¤t_btrace_conf + to target_enable_btrace. Update comment. Update users. + (handle_qxfer_btrace_conf): New. + (qxfer_packets): Add btrace-conf entry. + (handle_query): Report qXfer:btrace-conf:read as supported packet. + * target.h (target_ops)<enable_btrace>: Update parameters and comment. + (target_ops)<read_btrace_conf>: New. + (target_enable_btrace): Update parameters. + (target_read_btrace_conf): New. + +2015-02-09 Markus Metzger <markus.t.metzger@intel.com> + + * server.c (handle_btrace_general_set): Remove call to + target_supports_btrace. + (supported_btrace_packets): New. + (handle_query): Call supported_btrace_packets. + * target.h: include btrace-common.h. + (btrace_target_info): Removed. + (supports_btrace, target_supports_btrace): Update parameters. + +2015-02-09 Markus Metzger <markus.t.metzger@intel.com> + + * Makefile.in (SFILES): Add common/btrace-common.c. + (OBS): Add common/btrace-common.o. + (btrace-common.o): Add build rules. + * linux-low: Include btrace-common.h. + (linux_low_read_btrace): Use struct btrace_data. Call + btrace_data_init and btrace_data_fini. + +2015-02-06 Pedro Alves <palves@redhat.com> + + * thread-db.c (find_new_threads_callback): Add debug output. + +2015-02-04 Pedro Alves <palves@redhat.com> + + * linux-low.c (handle_extended_wait): Don't resume LWPs here. + (resume_stopped_resumed_lwps): New function. + (linux_wait_for_event_filtered): Use it. + +2015-01-15 Sergio Durigan Junior <sergiodj@redhat.com> + + * Makefile.in (SFILES): Add linux-personality.c. + (linux-personality.o): New rule. + * configure.srv (srv_linux_obj): Add linux-personality.o to the + list of objects to be built. + * linux-low.c: Include nat/linux-personality.h. + (linux_create_inferior): Remove code to disable address space + randomization (moved to ../nat/linux-personality.c). Create + cleanup to disable address space randomization. + +2015-01-15 Sergio Durigan Junior <sergiodj@redhat.com> + + * Makefile.in (posix-strerror.o): New rule. + (mingw-strerror.o): Likewise. + * configure: Regenerated. + * configure.ac: Source file ../common/common.host. Initialize new + variable srv_host_obs. Add srv_host_obs to GDBSERVER_DEPFILES. + +2015-01-14 Yao Qi <yao@codesourcery.com> + + * Makefile.in (SFILES): Add nat/ppc-linux.c. + (ppc-linux.o): New rule. + * configure.srv (powerpc*-*-linux*): Add ppc-linux.o. + * configure.ac: AC_CHECK_FUNCS(getauxval). + * config.in: Re-generated. + * configure: Re-generated. + * linux-ppc-low.c (ppc_arch_setup) [__powerpc64__]: Call + ppc64_64bit_inferior_p + +2015-01-14 Yao Qi <yao@codesourcery.com> + + * linux-ppc-low.c: Include "nat/ppc-linux.h". + (PPC_FEATURE_HAS_VSX): Move to nat/ppc-linux.h. + (PPC_FEATURE_HAS_ALTIVEC, PPC_FEATURE_HAS_SPE): Likewise. + (PT_ORIG_R3, PT_TRAP): Likewise. + (PTRACE_GETVSXREGS, PTRACE_SETVSXREGS): Likewise. + (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Likewise. + (PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): Likewise. + +2015-01-10 Joel Brobecker <brobecker@adacore.com> + + * i387-fp.c (i387_cache_to_xsave): In look over + num_avx512_zmmh_high_registers, replace use of struct i387_xsave + zmmh_low_space field by use of zmmh_high_space. + +2015-01-09 Pedro Alves <palves@redhat.com> + + * linux-low.c (step_over_bkpt): Move higher up in the file. + (handle_extended_wait): Don't store the stop_pc here. + (get_stop_pc): Adjust comments and rename to ... + (check_stopped_by_breakpoint): ... this. Record whether the LWP + stopped for a software breakpoint or hardware breakpoint. + (thread_still_has_status_pending_p): New function. + (status_pending_p_callback): Use + thread_still_has_status_pending_p. If the event is no longer + interesting, resume the LWP. + (handle_tracepoints): Add assert. + (maybe_move_out_of_jump_pad): Remove cancel_breakpoints call. + (wstatus_maybe_breakpoint): New function. + (cancel_breakpoint): Delete function. + (check_stopped_by_watchpoint): New function, factored out from + linux_low_filter_event. + (lp_status_maybe_breakpoint): Delete function. + (linux_low_filter_event): Remove filter_ptid argument. + Leave thread group exits pending here. Store the LWP's stop PC. + Always leave events pending. + (linux_wait_for_event_filtered): Pull all events out of the + kernel, and leave them all pending. + (count_events_callback, select_event_lwp_callback): Consider all + events. + (cancel_breakpoints_callback, linux_cancel_breakpoints): Delete. + (select_event_lwp): Only give preference to the stepping LWP in + all-stop mode. Adjust comments. + (ignore_event): New function. + (linux_wait_1): Delete 'retry' label. Use ignore_event. Remove + references to cancel_breakpoints. Adjust to renames. Also give + equal priority to all LWPs that have had events in non-stop mode. + If reporting a software breakpoint event, unadjust the LWP's PC. + (linux_wait): If linux_wait_1 returned an ignored event, retry. + (stuck_in_jump_pad_callback, move_out_of_jump_pad_callback): + Adjust. + (linux_resume_one_lwp): Store the LWP's PC. Adjust. + (resume_status_pending_p): Use thread_still_has_status_pending_p. + (linux_stopped_by_watchpoint): Adjust. + (linux_target_ops): Remove reference to linux_cancel_breakpoints. + * linux-low.h (enum lwp_stop_reason): New. + (struct lwp_info) <stop_pc>: Adjust comment. + <stopped_by_watchpoint>: Delete field. + <stop_reason>: New field. + * linux-x86-low.c (x86_linux_prepare_to_resume): Adjust. + * mem-break.c (software_breakpoint_inserted_here) + (hardware_breakpoint_inserted_here): New function. + * mem-break.h (software_breakpoint_inserted_here) + (hardware_breakpoint_inserted_here): Declare. + * target.h (struct target_ops) <cancel_breakpoints>: Remove field. + (cancel_breakpoints): Delete. + * tracepoint.c (clear_installed_tracepoints, stop_tracing) + (upload_fast_traceframes): Remove references to + cancel_breakpoints. + +2015-01-09 Pedro Alves <palves@redhat.com> + + * thread-db.c (find_new_threads_callback): Ignore thread if the + kernel thread ID is -1. + +2015-01-09 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_attach_fail_reason_string): Move to + nat/linux-ptrace.c, and rename. + (linux_attach_lwp): Update comment. + (attach_proc_task_lwp_callback): New function. + (linux_attach): Adjust to rename and use + linux_proc_attach_tgid_threads. + (linux_attach_fail_reason_string): Delete declaration. + +2015-01-01 Joel Brobecker <brobecker@adacore.com> + + * gdbreplay.c (gdbreplay_version): Update copyright year to 2015. + * server.c (gdbserver_version): Likewise. + +2014-12-29 Sergio Durigan Junior <sergiodj@redhat.com> + + * remote-utils.c: Include ctype.h. + (input_interrupt): Explicitly handle the case when the char + received is the NUL byte. Improve the printing of non-ASCII + characters. + +2014-12-16 Joel Brobecker <brobecker@adacore.com> + + * linux-low.c (linux_low_filter_event): Update call to + linux_enable_event_reporting following the addition of + a new parameter to that function. + +2014-12-16 Catalin Udma <catalin.udma@freescale.com> + + PR server/17457 + * linux-aarch64-low.c (AARCH64_FPSR_REGNO): New define. + (AARCH64_FPCR_REGNO): Likewise. + (AARCH64_NUM_REGS): Update to include fpsr/fpcr registers. + (aarch64_fill_fpregset): Add missing fpsr/fpcr registers. + (aarch64_store_fpregset): Likewise. + +2014-12-15 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (lynx_resume): Use PTRACE_SINGLESTEP_ONE if N == 1. + Remove FIXME comment about assumption about N. + +2014-12-13 Joel Brobecker <brobecker@adacore.com> + + * configure.ac: If large-file support is disabled in GDBserver, + pass --disable-largefile to ACX_CONFIGURE_DIR call for "gnulib". + * configure: Regenerate. + +2014-12-12 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * linux-low.c (regsets_fetch_inferior_registers): Suppress the + warning upon ENODATA from ptrace. + * linux-s390-low.c (s390_store_tdb): New. + (s390_regsets): Add regset for NT_S390_TDB. + +2014-12-12 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * linux-low.c (regsets_store_inferior_registers): Skip regsets + without a fill_function. + * linux-s390-low.c (s390_fill_last_break): Remove. + (s390_regsets): Set fill_function to NULL for NT_S390_LAST_BREAK. + (s390_arch_setup): Use regset's size instead of fill_function for + loop end condition. + +2014-12-12 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * linux-low.c (regsets_fetch_inferior_registers): Do not invoke + the regset's store function when ptrace returned an error. + * regcache.c (get_thread_regcache): Invalidate register cache + before fetching inferior's registers. + +2014-12-12 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * linux-low.c (regsets_fetch_inferior_registers): Rephrase + while-loop as for-loop. + (regsets_store_inferior_registers): Likewise. + +2014-11-28 Yao Qi <yao@codesourcery.com> + + * configure.ac(AC_CHECK_FUNCS): Remove readlink. + * config.in, configure: Re-generate. + * hostio.c (handle_unlink): Remove code checking HAVE_READLINK + is defined. + +2014-11-21 Yao Qi <yao@codesourcery.com> + + * configure.ac: Don't invoke AC_FUNC_ALLOCA. + (AC_CHECK_HEADERS): Remove malloc.h. + * configure: Re-generated. + * config.in: Re-generated. + * server.h: Don't include alloca.h and malloc.h. + * gdbreplay.c: Don't check HAVE_ALLOCA_H is defined. + Don't include malloc.h. + +2014-11-17 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (lynx_write_memory): Put lynx_read_memory and + corresponding ERRNO check in same block. + +2014-11-12 Pedro Alves <palves@redhat.com> + + * server.c (cont_thread): Update comment. + (start_inferior, attach_inferior): No longer clear cont_thread. + (handle_v_cont): No longer set cont_thread. + (captured_main): Clear cont_thread each time a GDB connects. + +2014-11-12 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_wait_1): Don't force a wait for the Hc + thread, and don't resume all threads if the Hc thread has exited. + +2014-11-12 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_request_interrupt): Always send a SIGINT to + the process group instead of to a specific LWP. + +2014-10-15 Pedro Alves <palves@redhat.com> + + PR server/17487 + * win32-arm-low.c (arm_set_thread_context): Remove current_event + parameter. + (arm_set_thread_context): Delete. + (the_low_target): Adjust. + * win32-i386-low.c (debug_registers_changed) + (debug_registers_used): Delete. + (update_debug_registers_callback): New function. + (x86_dr_low_set_addr, x86_dr_low_set_control): Mark all threads as + needing to update their debug registers. + (win32_get_current_dr): New function. + (x86_dr_low_get_addr, x86_dr_low_get_control) + (x86_dr_low_get_status): Fetch the debug register from the thread + record's context. + (i386_initial_stuff): Adjust. + (i386_get_thread_context): Remove current_event parameter. Don't + clear debug_registers_changed nor copy DR values to + debug_reg_state. + (i386_set_thread_context): Delete. + (i386_prepare_to_resume): New function. + (i386_thread_added): Mark the thread as needing to update irs + debug registers. + (the_low_target): Remove i386_set_thread_context and install + i386_prepare_to_resume. + * win32-low.c (win32_get_thread_context): Adjust. + (win32_set_thread_context): Use SetThreadContext + directly. + (win32_prepare_to_resume): New function. + (win32_require_context): New function, factored out from ... + (thread_rec): ... this. + (continue_one_thread): Call win32_prepare_to_resume on each thread + we're about to continue. + (win32_resume): Call win32_prepare_to_resume on the event thread. + * win32-low.h (struct win32_thread_info) + <debug_registers_changed>: New field. + (struct win32_target_ops): Change prototype of set_thread_context, + delete set_thread_context and add prepare_to_resume. + (win32_require_context): New declaration. + +2014-10-08 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include common-exceptions.h. + +2014-10-08 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include cleanups.h. + +2014-09-30 James Hogan <james.hogan@imgtec.com> + + * Makefile.in (clean): Add rm -f commands for mips-dsp-linux.c and + mips64-dsp-linux.c. + +2014-09-23 Yao Qi <yao@codesourcery.com> + + * linux-low.c (lp_status_maybe_breakpoint): New function. + (linux_low_filter_event): Call lp_status_maybe_breakpoint. + (count_events_callback): Likewise. + (select_event_lwp_callback): Likewise. + (cancel_breakpoints_callback): Likewise. + +2014-09-19 Don Breazeal <donb@codesourcery.com> + + * linux-low.c (handle_extended_wait): Call + linux_ptrace_get_extended_event. + (get_stop_pc, get_detach_signal, linux_low_filter_event): Call + linux_is_extended_waitstatus. + +2014-09-16 Joel Brobecker <brobecker@adacore.com> + + * Makefile.in (CPPFLAGS): Define. + (INTERNAL_CFLAGS_BASE): Add ${CPPFLAGS}. + (IPAGENT_CFLAGS): Remove ${CPPFLAGS}. + +2014-09-16 Gary Benson <gbenson@redhat.com> + + * inferiors.h (current_inferior): Renamed as... + (current_thread): New variable. All uses updated. + * linux-low.c (get_pc): Renamed saved_inferior as saved_thread. + (maybe_move_out_of_jump_pad): Likewise. + (cancel_breakpoint): Likewise. + (linux_low_filter_event): Likewise. + (wait_for_sigstop): Likewise. + (linux_resume_one_lwp): Likewise. + (need_step_over_p): Likewise. + (start_step_over): Likewise. + (linux_stabilize_threads): Renamed save_inferior as saved_thread. + * linux-x86-low.c (x86_linux_update_xmltarget): Likewise. + * proc-service.c (ps_lgetregs): Renamed reg_inferior as reg_thread + and save_inferior as saved_thread. + * regcache.c (get_thread_regcache): Renamed saved_inferior as + saved_thread. + (regcache_invalidate_thread): Likewise. + * remote-utils.c (prepare_resume_reply): Likewise. + * thread-db.c (thread_db_get_tls_address): Likewise. + (disable_thread_event_reporting): Likewise. + (remove_thread_event_breakpoints): Likewise. + * tracepoint.c (gdb_agent_about_to_close): Renamed save_inferior + as saved_thread. + * target.h (set_desired_inferior): Renamed as... + (set_desired_thread): New declaration. All uses updated. + * server.c (myresume): Updated comment to reference thread instead + of inferior. + (handle_serial_event): Likewise. + (handle_target_event): Likewise. + +2014-09-12 Tom Tromey <tromey@redhat.com> + Gary Benson <gbenson@redhat.com> + + * regcache.h: Include common-regcache.h. + (regcache_read_pc): Don't declare. + * regcache.c (get_thread_regcache_for_ptid): New function. + +2014-09-11 Tom Tromey <tromey@redhat.com> + Gary Benson <gbenson@redhat.com> + + * symbol.c: New file. + * Makefile.in (SFILES): Add symbol.c. + (OBS): Add symbol.o. + +2014-09-11 Gary Benson <gbenson@redhat.com> + + * target.c (target_stop_ptid, target_continue_ptid): New + functions. + +2014-09-11 Tom Tromey <tromey@redhat.com> + Gary Benson <gbenson@redhat.com> + + * target.h: Include target/target.h. + * target.c (target_read_memory, target_read_uint32) + (target_write_memory): New functions. + +2014-09-11 Gary Benson <gbenson@redhat.com> + + * server.h (debug_hw_points): Don't declare. + * server.c (debug_hw_points): Don't define. Replace all uses + with show_debug_regs. + * linux-aarch64-low.c (debug_hw_points): Don't define. Replace + all uses with show_debug_regs. + +2014-09-08 Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com> + + * linux-ppc-low.c (ppc_collect_ptrace_register): Adjust routine to take + endianness into account. + (ppc_supply_ptrace_register): Likewise. + +2014-09-03 James Hogan <james.hogan@imgtec.com> + + * linux-mips-low.c (mips_read_description): Reset errno to 0 prior + to reading DSP_CONTROL with PTRACE_PEEKUSER ptrace call. + +2014-09-03 Gary Benson <gbenson@redhat.com> + + * linux-x86-low.c (x86_linux_prepare_to_resume): Use + ALL_DEBUG_ADDRESS_REGISTERS. + +2014-09-02 Gary Benson <gbenson@redhat.com> + + * i386-low.h: Renamed as... + * x86-low.h: New file. All type, function and variable name + prefixes changed from "i386_" to "x86_". All references updated. + * i386-low.c: Renamed as... + * x86-low.c: New file. All type, function and variable name + prefixes changed from "i386_" to "x86_". All references updated. + +2014-09-02 Gary Benson <gbenson@redhat.com> + + * linux-x86-low.c (x86_linux_new_process): Use XCNEW. + (x86_linux_new_thread): Likewise. + +2014-08-29 Gary Benson <gbenson@redhat.com> + + * server.h (setjmp.h): Do not include. + (toplevel): Do not declare. + (common-exceptions.h): Include. + (cleanups.h): Likewise. + * server.c (toplevel): Do not define. + (exit_code): New static global. + (detach_or_kill_for_exit_cleanup): New function. + (main): New function. Original main renamed to... + (captured_main): New function. + * utils.c (verror) [!IN_PROCESS_AGENT]: Use throw_verror. + +2014-08-29 Gary Benson <gbenson@redhat.com> + + * Makefile.in (SFILES): Add common/common-exceptions.c. + (OBS): Add common-exceptions.o. + (common-exceptions.o): New rule. + * utils.c (prepare_to_throw_exception): New function. + +2014-08-29 Gary Benson <gbenson@redhat.com> + + * config.in: Regenerate. + * configure: Likewise. + +2014-08-29 Gary Benson <gbenson@redhat.com> + + * Makefile.in (SFILES): Add common/cleanups.c. + (OBS): cleanups.o. + (cleanups.o): New rule. + +2014-08-29 Gary Benson <gbenson@redhat.com> + + * utils.c (internal_vwarning): New function. + +2014-08-28 Gary Benson <gbenson@redhat.com> + + * utils.h (fatal): Remove declaration. + * utils.c (fatal): Remove function. + +2014-08-28 Gary Benson <gbenson@redhat.com> + + * tracepoint.c (gdb_agent_init): Replace fatal with + perror_with_name. + (initialize_tracepoint): Likewise. + +2014-08-28 Gary Benson <gbenson@redhat.com> + + * remote-utils.c (remote_prepare): Replace fatal with error. + +2014-08-28 Gary Benson <gbenson@redhat.com> + + * linux-low.c (linux_async): Replace fatal with warning. + Tidy up and return. + (linux_start_non_stop): Return -1 if linux_async failed. + +2014-08-28 Gary Benson <gbenson@redhat.com> + + * linux-x86-low.c (i386_dr_low_set_addr): Replace check with + gdb_assert. + (i386_dr_low_get_addr): Remove vague comment. + * win32-i386-low.c (i386_dr_low_set_addr): Replace check with + gdb_assert. + +2014-08-28 Gary Benson <gbenson@redhat.com> + + * inferiors.c (get_thread_process): Replace check with gdb_assert. + * linux-low.c (linux_wait_for_event_filtered): Replace fatal with + internal_error. + (linux_resume_one_lwp): Likewise. + * linux-x86-low.c (x86_siginfo_fixup): Replace checks with + gdb_assert. + * mem-break.c (raw_bkpt_type_to_target_hw_bp_type): Replace fatal + with internal_error. + * regcache.c (get_thread_regcache): Replace check with gdb_assert. + (init_register_cache): Replace fatal with gdb_assert_not_reached. + (find_register_by_name): Replace fatal with internal_error. + (find_regno): Likewise. + * tdesc.c (init_target_desc): Replace check with gdb_assert. + * thread-db.c (thread_db_create_event): Likewise. + (thread_db_load_search): Likewise. + (try_thread_db_load_1): Likewise. + * tracepoint.c (get_jump_space_head): Replace fatal with + internal_error. + (claim_trampoline_space): Likewise. + (have_fast_tracepoint_trampoline_buffer): Likewise. + (cmd_qtstart): Likewise. + (stop_tracing): Likewise. + (fast_tracepoint_collecting): Likewise. + (target_malloc): Likewise. + (download_tracepoint): Likewise. + (download_trace_state_variables): Replace check with gdb_assert. + (upload_fast_traceframes): Replace fatal with internal_error. + +2014-08-19 Tom Tromey <tromey@redhat.com> + Gary Benson <gbenson@redhat.com> + + * Makefile.in (SFILES): Add common/common-debug.c. + (OBS): Add common-debug.o. + (common-debug.o): New rule. + * debug.h (debug_printf): Don't declare. + * debug.c (debug_printf): Renamed and rewritten as... + (debug_vprintf): New function. + +2014-08-19 Gary Benson <gbenson@redhat.com> + + * utils.h: Do not include print-utils.h. + +2014-08-19 Tom Tromey <tromey@redhat.com> + Gary Benson <gbenson@redhat.com> + + * server.h: Add static assertion. + (gdb_byte, CORE_ADDR, LONGEST, ULONGEST): Remove. + +2014-08-19 Tom Tromey <tromey@redhat.com> + Gary Benson <gbenson@redhat.com> + + * Makefile.in (SFILES): Add common/errors.c. + (OBS): Add errors.o. + (IPA_OBS): Add errors-ipa.o. + (errors.o): New rule. + (errors-ipa.o): Likewise. + * utils.h (perror_with_name, error, warning): Don't declare. + * utils.c (warning): Renamed and rewritten as... + (vwarning): New function. + (error): Renamed and rewritten as... + (verror): New function. + (internal_error): Renamed and rewritten as... + (internal_verror): New function. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * configure.ac (AC_CHECK_HEADERS): Remove errno.h. + * configure: Regenerate. + * config.in: Likewise. + * server.h: Do not include errno.h. + * event-loop.c: Likewise. + * hostio-errno.c: Likewise. + * linux-low.c: Likewise. + * remote-utils.c: Likewise. + * spu-low.c: Likewise. + * utils.c: Likewise. + * gdbreplay.c: Unconditionally include errno.h. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include string.h. + * event-loop.c: Likewise. + * linux-low.c: Likewise. + * regcache.c: Likewise. + * remote-utils.c: Likewise. + * spu-low.c: Likewise. + * utils.c: Likewise. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include gdb_assert.h. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include common-utils.h. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include ptid.h. + * notif.h: Likewise. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include gdb_locale.h. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include gdb/signals.h. + * win32-low.c: Likewise. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include pathmax.h. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include libiberty.h. + * linux-bfin-low.c: Likewise. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include ansidecl.h. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * linux-x86-low.c: Do not include stddef.h. + * lynx-ppc-low.c: Likewise. + * tracepoint.c: Likewise. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include stdarg.h. + * nto-low.c: Likewise. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include stdlib.h. + * inferiors.c: Likewise. + * linux-low.c: Likewise. + * regcache.c: Likewise. + * spu-low.c: Likewise. + * tracepoint.c: Likewise. + * utils.c: Likewise. + +2014-08-07 Gary Benson <gbenson@redhat.com> + + * server.h: Do not include stdio.h. + * linux-low.c: Likewise. + * remote-utils.c: Likewise. + * spu-low.c: Likewise. + * utils.c: Likewise. + * wincecompat.c: Likewise. + +2014-08-06 Gary Benson <gbenson@redhat.com> + + * regcache.c (init_register_cache): Move conditionals inside if. + +2014-08-06 Gary Benson <gbenson@redhat.com> + + * linux-low.c (linux_supports_non_stop): Use target_is_async_p. + +2014-07-31 Gary Benson <gbenson@redhat.com> + + * ax.h: Do not include server.h. + * gdbthread.h: Likewise. + * lynx-low.h: Likewise. + * notif.h: Likewise. + +2014-07-30 Gary Benson <gbenson@redhat.com> + + * server.h: Include common-defs.h. + Do not include config.h or build-gnulib-gdbserver/config.h. + +2014-07-30 Gary Benson <gbenson@redhat.com> + + * hostio-errno.c: Move server.h to top of includes list. + * inferiors.c: Likewise. + * linux-x86-low.c: Likewise. + * notif.c: Include server.h. + +2014-07-24 Tom Tromey <tromey@redhat.com> + Gary Benson <gbenson@redhat.com> + + * server.h (CORE_ADDR): Now unsigned. + +2014-07-16 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_kill_one_lwp): Use kill_lwp, not kill. + +2014-07-15 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_kill_one_lwp): Save errno and work with saved + copy. + +2014-07-11 Pedro Alves <palves@redhat.com> + + * linux-low.c (kill_wait_lwp): New function, based on + kill_one_lwp_callback, but use my_waitpid directly. + (kill_one_lwp_callback, linux_kill): Use it. + +2014-06-23 Pedro Alves <palves@redhat.com> + + * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR_CONTROL + before setting DR0..DR3. + +2014-06-20 Gary Benson <gbenson@redhat.com> + + * configure.ac (AC_REPLACE_FUNCS) <vasprintf, vsnprintf>: Removed. + * configure: Regenerated. + * config.in: Likewise. + +2014-06-20 Gary Benson <gbenson@redhat.com> + + * Makefile.in (SFILES): Update locations for files moved + from common to nat. + (object file files): Reordered. + +2014-06-20 Gary Benson <gbenson@redhat.com> + + * i386-low.h (i386_dr_low_can_set_addr): Removed. + (i386_dr_low_set_addr): Likewise. + (i386_dr_low_get_addr): Likewise. + (i386_dr_low_can_set_control): Likewise. + (i386_dr_low_set_control): Likewise. + (i386_dr_low_get_control): Likewise. + (i386_dr_low_get_status): Likewise. + (i386_get_debug_register_length): Likewise. + * linux-x86-low.c (i386_dr_low_set_addr): + Changed signature. Made static. + (i386_dr_low_get_addr): Likewise. + (i386_dr_low_set_control): Likewise. + (i386_dr_low_get_control): Likewise. + (i386_dr_low_get_status): Likewise. + (i386_dr_low): New global variable. + * win32-i386-low.c (i386_dr_low_set_addr): + Changed signature. Made static. + (i386_dr_low_get_addr): Likewise. + (i386_dr_low_set_control): Likewise. + (i386_dr_low_get_control): Likewise. + (i386_dr_low_get_status): Likewise. + (i386_dr_low): New global variable. + +2014-06-20 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * configure.ac: Invoke. AC_CHECK_TOOL(AR, ar). + * Makefile.in (AR, AR_FLAGS): Define. + * configure: Regenerate. + +2014-06-19 Gary Benson <gbenson@redhat.com> + + * Makefile.in (i386-dregs.o): New rule. + * configure.srv: Add i386-dregs.o to all targets using i386-low.o. + * i386-low.c (target.h): Remove include. + (TARGET_HAS_DR_LEN_8): Now in i386-dregs.c. + (DR_CONTROL_SHIFT): Likewise. + (DR_CONTROL_SIZE): Likewise. + (DR_RW_EXECUTE): Likewise. + (DR_RW_WRITE): Likewise. + (DR_RW_READ): Likewise. + (DR_RW_IORW): Likewise. + (DR_LEN_1): Likewise. + (DR_LEN_2): Likewise. + (DR_LEN_4): Likewise. + (DR_LEN_8): Likewise. + (DR_LOCAL_ENABLE_SHIFT): Likewise. + (DR_GLOBAL_ENABLE_SHIFT): Likewise. + (DR_ENABLE_SIZE): Likewise. + (DR_LOCAL_SLOWDOWN): Likewise. + (DR_GLOBAL_SLOWDOWN): Likewise. + (DR_CONTROL_RESERVED): Likewise. + (I386_DR_CONTROL_MASK): Likewise. + (I386_DR_VACANT): Likewise. + (I386_DR_LOCAL_ENABLE): Likewise. + (I386_DR_GLOBAL_ENABLE): Likewise. + (I386_DR_DISABLE): Likewise. + (I386_DR_SET_RW_LEN): Likewise. + (I386_DR_GET_RW_LEN): Likewise. + (I386_DR_WATCH_HIT): Likewise. + (i386_wp_op_t): Likewise. + (i386_show_dr): Likewise. + (i386_length_and_rw_bits): Likewise. + (i386_insert_aligned_watchpoint): Likewise. + (i386_remove_aligned_watchpoint): Likewise. + (i386_handle_nonaligned_watchpoint): Likewise. + i386_update_inferior_debug_regs(): Likewise. + (i386_dr_insert_watchpoint): Likewise. + (i386_dr_remove_watchpoint): Likewise. + (i386_dr_region_ok_for_watchpoint): Likewise. + (i386_dr_stopped_data_address): Likewise. + (i386_dr_stopped_by_watchpoint): Likewise. + +2014-06-19 Gary Benson <gbenson@redhat.com> + + * i386-low.c (i386_dr_show): Renamed to + i386_show_dr and made static. All uses updated. + (i386_dr_length_and_rw_bits): Renamed to + i386_length_and_rw_bits and made static. + All uses updated. + (i386_dr_insert_aligned_watchpoint): Renamed to + i386_insert_aligned_watchpoint and made static. + All uses updated. + (i386_dr_remove_aligned_watchpoint): Renamed to + i386_remove_aligned_watchpoint and made static. + All uses updated. + (i386_dr_update_inferior_debug_regs): Renamed to + i386_update_inferior_debug_regs and made static. + All uses updated. + +2014-06-18 Gary Benson <gbenson@redhat.com> + + * i386-low.h (i386_dr_low_can_set_addr): New macro. + (i386_dr_low_can_set_control): Likewise. + (i386_get_debug_register_length): Likewise. + * i386-low.c (i386_dr_low_can_set_addr): Now in i386-low.h. + (i386_dr_low_can_set_control): Likewise. + (i386_get_debug_register_length): Likewise. + +2014-06-17 Gary Benson <gbenson@redhat.com> + + * i386-low.h (i386-dregs.h): New include. + (DR_FIRSTADDR): Now in i386-dregs.h. + (DR_LASTADDR): Likewise. + (DR_NADDR): Likewise. + (DR_STATUS): Likewise. + (DR_CONTROL): Likewise. + (i386_debug_reg_state): Likewise. + (i386_dr_insert_watchpoint): Likewise. + (i386_dr_remove_watchpoint): Likewise. + (i386_dr_region_ok_for_watchpoint): Likewise. + (i386_dr_stopped_data_address): Likewise. + (i386_dr_stopped_by_watchpoint): Likewise. + * i386-low.c (ALL_DEBUG_REGISTERS): Likewise. + +2014-06-18 Gary Benson <gbenson@redhat.com> + + * i386-low.h (i386_low_insert_watchpoint): Renamed to + i386_dr_insert_watchpoint. + (i386_low_remove_watchpoint): Renamed to + i386_dr_remove_watchpoint. + (i386_low_region_ok_for_watchpoint): Renamed to + i386_dr_region_ok_for_watchpoint. + (i386_low_stopped_data_address): Renamed to + i386_dr_stopped_data_address. + (i386_low_stopped_by_watchpoint): Renamed to + i386_dr_stopped_by_watchpoint. + * i386-low.c (i386_show_dr): Renamed to + i386_dr_show and made nonstatic. All uses updated. + (i386_length_and_rw_bits): Renamed to + i386_dr_length_and_rw_bits and made nonstatic. + All uses updated. + (i386_insert_aligned_watchpoint): Renamed to + i386_dr_insert_aligned_watchpoint and made nonstatic. + All uses updated. + (i386_remove_aligned_watchpoint): Renamed to + i386_dr_remove_aligned_watchpoint and made nonstatic. + All uses updated. + (i386_update_inferior_debug_regs): Renamed to + i386_dr_update_inferior_debug_regs and made nonstatic. + All uses updated. + (i386_low_insert_watchpoint): Renamed to + i386_dr_insert_watchpoint. All uses updated. + (i386_low_remove_watchpoint): Renamed to + i386_dr_remove_watchpoint. All uses updated. + (i386_low_region_ok_for_watchpoint): Renamed to + i386_dr_region_ok_for_watchpoint. All uses updated. + (i386_low_stopped_data_address): Renamed to + i386_dr_stopped_data_address. All uses updated. + (i386_low_stopped_by_watchpoint): Renamed to + i386_dr_stopped_by_watchpoint. All uses updated. + +2014-06-18 Gary Benson <gbenson@redhat.com> + + * i386-low.c (i386_dr_low_can_set_addr): New macro. + (i386_dr_low_can_set_control): Likewise. + (i386_insert_aligned_watchpoint): New check. + +2014-06-18 Gary Benson <gbenson@redhat.com> + + * i386-low.c (i386_update_inferior_debug_regs) <inf_state>: + Renamed to state. + +2014-06-18 Gary Benson <gbenson@redhat.com> + + * i386-low.c (i386_length_and_rw_bits): Use internal_error + instead of fatal and error. + (i386_handle_nonaligned_watchpoint): Likewise. + +2014-06-18 Gary Benson <gbenson@redhat.com> + + * i386-low.c (i386_get_debug_register_length): New macro. + (TARGET_HAS_DR_LEN_8): Remove conditional. Use above macro. + (i386_show_dr): Use debug_printf instead of fprintf. Use + phex to format values. + +2014-06-18 Gary Benson <gbenson@redhat.com> + + * i386-low.h: Comment changes. + * i386-low.c: Likewise. + +2014-06-18 Gary Benson <gbenson@redhat.com> + + * i386-low.c: Whitespace changes. + +2014-06-12 Tom Tromey <tromey@redhat.com> + + * utils.c (freeargv): Remove. + +2014-06-12 Tom Tromey <tromey@redhat.com> + + * debug.c (debug_printf): Remove HAVE_GETTIMEOFDAY checks. + * server.c (monitor_show_help): Remove HAVE_GETTIMEOFDAY check. + (parse_debug_format_options): Likewise. + (gdbserver_usage): Likewise. + * Makefile.in (LIBIBERTY_BUILDDIR, LIBIBERTY): New variables. + (SUBDIRS, REQUIRED_SUBDIRS): Add libiberty. + (gdbserver$(EXEEXT), gdbreplay$(EXEEXT)): Depend on and link + against libiberty. + ($(LIBGNU)): Depend on libiberty. + (all-lib): Recurse into all subdirs. + (install-only): Invoke "install" target in subdirs. + (vasprintf.o, vsnprintf.o, safe-ctype.o, lbasename.o): Remove + targets. + * configure: Rebuild. + * configure.ac: Add ACX_CONFIGURE_DIR for libiberty. Don't check + for vasprintf, vsnprintf, or gettimeofday. + * configure.srv: Don't add safe-ctype.o or lbasename.o to + srv_tgtobj. + +2014-06-05 Joel Brobecker <brobecker@adacore.com> + + * development.sh: Delete. + * Makefile.in (config.status): Adjust dependency on development.sh. + * configure.ac: Adjust development.sh source call. + * configure: Regenerate. + +2014-06-02 Pedro Alves <palves@redhat.com> + + * ax.c (gdb_free_agent_expr): New function. + * ax.h (gdb_free_agent_expr): New declaration. + * mem-break.c (delete_gdb_breakpoint_1): Also clear the commands + list. + (clear_breakpoint_conditions, clear_breakpoint_commands): Make + static. + (clear_breakpoint_conditions_and_commands): New function. + * mem-break.h (clear_breakpoint_conditions): Delete declaration. + (clear_breakpoint_conditions_and_commands): New declaration. + +2014-05-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> + + * linux-aarch64-low.c (asm/ptrace.h): Include. + +2014-05-21 Jan Kratochvil <jan.kratochvil@redhat.com> + + Fix TLS access for -static -pthread. + * gdbserver/thread-db.c (struct thread_db): Add td_thr_tlsbase_p. + (thread_db_get_tls_address): Call it if LOAD_MODULE is zero. + (thread_db_load_search, try_thread_db_load_1): Initialize it. + +2014-05-20 Pedro Alves <palves@redhat.com> + + * linux-aarch64-low.c (aarch64_insert_point) + (aarch64_remove_point): No longer check whether the type is + supported here. Adjust to new interface. + (the_low_target): Install aarch64_supports_z_point_type as + supports_z_point_type method. + * linux-arm-low.c (raw_bkpt_type_to_arm_hwbp_type): New function. + (arm_linux_hw_point_initialize): Take an enum raw_bkpt_type + instead of a Z packet char. Adjust. + (arm_supports_z_point_type): New function. + (arm_insert_point, arm_remove_point): Adjust to new interface. + (the_low_target): Install arm_supports_z_point_type. + * linux-crisv32-low.c (cris_supports_z_point_type): New function. + (cris_insert_point, cris_remove_point): Adjust to new interface. + Don't check whether the type is supported here. + (the_low_target): Install cris_supports_z_point_type. + * linux-low.c (linux_supports_z_point_type): New function. + (linux_insert_point, linux_remove_point): Adjust to new interface. + * linux-low.h (struct linux_target_ops) <insert_point, + remove_point>: Take an enum raw_bkpt_type instead of a char. Add + raw_breakpoint pointer parameter. + <supports_z_point_type>: New method. + * linux-mips-low.c (mips_supports_z_point_type): New function. + (mips_insert_point, mips_remove_point): Adjust to new interface. + Use mips_supports_z_point_type. + (the_low_target): Install mips_supports_z_point_type. + * linux-ppc-low.c (the_low_target): Install NULL as + supports_z_point_type method. + * linux-s390-low.c (the_low_target): Install NULL as + supports_z_point_type method. + * linux-sparc-low.c (the_low_target): Install NULL as + supports_z_point_type method. + * linux-x86-low.c (x86_supports_z_point_type): New function. + (x86_insert_point): Adjust to new insert_point interface. Use + insert_memory_breakpoint. Adjust to new + i386_low_insert_watchpoint interface. + (x86_remove_point): Adjust to remove_point interface. Use + remove_memory_breakpoint. Adjust to new + i386_low_remove_watchpoint interface. + (the_low_target): Install x86_supports_z_point_type. + * lynx-low.c (lynx_target_ops): Install NULL as + supports_z_point_type callback. + * nto-low.c (nto_supports_z_point_type): New. + (nto_insert_point, nto_remove_point): Adjust to new interface. + (nto_target_ops): Install nto_supports_z_point_type. + * mem-break.c: Adjust intro comment. + (struct raw_breakpoint) <raw_type, size>: New fields. + <inserted>: Update comment. + <shlib_disabled>: Delete field. + (enum bkpt_type) <gdb_breakpoint>: Delete value. + <gdb_breakpoint_Z0, gdb_breakpoint_Z1, gdb_breakpoint_Z2, + gdb_breakpoint_Z3, gdb_breakpoint_Z4>: New values. + (raw_bkpt_type_to_target_hw_bp_type): New function. + (find_enabled_raw_code_breakpoint_at): New function. + (find_raw_breakpoint_at): New type and size parameters. Use them. + (insert_memory_breakpoint): New function, based off + set_raw_breakpoint_at. + (remove_memory_breakpoint): New function. + (set_raw_breakpoint_at): Reimplement. + (set_breakpoint): New, based on set_breakpoint_at. + (set_breakpoint_at): Reimplement. + (delete_raw_breakpoint): Go through the_target->remove_point + instead of assuming memory breakpoints. + (find_gdb_breakpoint_at): Delete. + (Z_packet_to_bkpt_type, Z_packet_to_raw_bkpt_type): New functions. + (find_gdb_breakpoint): New function. + (set_gdb_breakpoint_at): Delete. + (z_type_supported): New function. + (set_gdb_breakpoint_1): New function, loosely based off + set_gdb_breakpoint_at. + (check_gdb_bp_preconditions, set_gdb_breakpoint): New functions. + (delete_gdb_breakpoint_at): Delete. + (delete_gdb_breakpoint_1): New function, loosely based off + delete_gdb_breakpoint_at. + (delete_gdb_breakpoint): New function. + (clear_gdb_breakpoint_conditions): Rename to ... + (clear_breakpoint_conditions): ... this. Don't handle a NULL + breakpoint. + (add_condition_to_breakpoint): Make static. + (add_breakpoint_condition): Take a struct breakpoint pointer + instead of an address. Adjust. + (gdb_condition_true_at_breakpoint): Rename to ... + (gdb_condition_true_at_breakpoint_z_type): ... this, and add + z_type parameter. + (gdb_condition_true_at_breakpoint): Reimplement. + (add_breakpoint_commands): Take a struct breakpoint pointer + instead of an address. Adjust. + (gdb_no_commands_at_breakpoint): Rename to ... + (gdb_no_commands_at_breakpoint_z_type): ... this. Add z_type + parameter. Return true if no breakpoint was found. Change debug + output. + (gdb_no_commands_at_breakpoint): Reimplement. + (run_breakpoint_commands): Rename to ... + (run_breakpoint_commands_z_type): ... this. Add z_type parameter, + and change return type to boolean. + (run_breakpoint_commands): New function. + (gdb_breakpoint_here): Also check for Z1 breakpoints. + (uninsert_raw_breakpoint): Don't try to reinsert a disabled + breakpoint. Go through the_target->remove_point instead of + assuming memory breakpoint. + (uninsert_breakpoints_at, uninsert_all_breakpoints): Uninsert + software and hardware breakpoints. + (reinsert_raw_breakpoint): Go through the_target->insert_point + instead of assuming memory breakpoint. + (reinsert_breakpoints_at, reinsert_all_breakpoints): Reinsert + software and hardware breakpoints. + (check_breakpoints, breakpoint_here, breakpoint_inserted_here): + Check both software and hardware breakpoints. + (validate_inserted_breakpoint): Assert the breakpoint is a + software breakpoint. Set the inserted flag to -1 instead of + setting shlib_disabled. + (delete_disabled_breakpoints): Adjust. + (validate_breakpoints): Only validate software breakpoints. + Adjust to inserted flag change. + (check_mem_read, check_mem_write): Skip breakpoint types other + than software breakpoints. Adjust to inserted flag change. + * mem-break.h (enum raw_bkpt_type): New enum. + (raw_breakpoint, struct process_info): Forward declare. + (Z_packet_to_target_hw_bp_type): Delete declaration. + (raw_bkpt_type_to_target_hw_bp_type, Z_packet_to_raw_bkpt_type) + (set_gdb_breakpoint, delete_gdb_breakpoint) + (clear_breakpoint_conditions): New declarations. + (set_gdb_breakpoint_at, clear_gdb_breakpoint_conditions): Delete. + (breakpoint_inserted_here): Update comment. + (add_breakpoint_condition, add_breakpoint_commands): Replace + address parameter with a breakpoint pointer parameter. + (gdb_breakpoint_here): Update comment. + (delete_gdb_breakpoint_at): Delete. + (insert_memory_breakpoint, remove_memory_breakpoint): Declare. + * server.c (process_point_options): Take a struct breakpoint + pointer instead of an address. Adjust. + (process_serial_event) <Z/z packets>: Use set_gdb_breakpoint and + delete_gdb_breakpoint. + * spu-low.c (spu_target_ops): Install NULL as + supports_z_point_type method. + * target.h: Include mem-break.h. + (struct target_ops) <prepare_to_access_memory>: Update comment. + <supports_z_point_type>: New field. + <insert_point, remove_point>: Take an enum raw_bkpt_type argument + instead of a char. Also take a raw breakpoint pointer. + * win32-arm-low.c (the_low_target): Install NULL as + supports_z_point_type. + * win32-i386-low.c (i386_supports_z_point_type): New function. + (i386_insert_point, i386_remove_point): Adjust to new interface. + (the_low_target): Install i386_supports_z_point_type. + * win32-low.c (win32_supports_z_point_type): New function. + (win32_insert_point, win32_remove_point): Adjust to new interface. + (win32_target_ops): Install win32_supports_z_point_type. + * win32-low.h (struct win32_target_ops): + <supports_z_point_type>: New method. + <insert_point, remove_point>: Take an enum raw_bkpt_type argument + instead of a char. Also take a raw breakpoint pointer. + +2014-05-20 Pedro Alves <palves@redhat.com> + + * mem-break.h: Include break-common.h. + (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP) + (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): New defines. + (Z_packet_to_target_hw_bp_type): New declaration. + * mem-break.c (Z_packet_to_target_hw_bp_type): New function. + * i386-low.c (Z_PACKET_HW_BP, Z_PACKET_WRITE_WP, Z_PACKET_READ_WP) + (Z_PACKET_ACCESS_WP): Delete macros. + (Z_packet_to_hw_type): Delete function. + * i386-low.h: Don't include break-common.h here. + (Z_packet_to_hw_type): Delete declaration. + * linux-x86-low.c (x86_insert_point, x86_insert_point): Call + Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type. + * win32-i386-low.c (i386_insert_point, i386_remove_point): Call + Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type. + * linux-aarch64-low.c: Don't include break-common.h here. + (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP) + (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): Delete macros. + (Z_packet_to_target_hw_bp_type): Delete function. + * linux-mips-low.c (rsp_bp_type_to_target_hw_bp_type): Delete + function. + (mips_insert_point, mips_remove_point): Use + Z_packet_to_target_hw_bp_type. + +2014-05-20 Pedro Alves <palves@redhat.com> + + * linux-aarch64-low.c: Include break-common.h. + (enum target_point_type): Delete. + (Z_packet_to_point_type): Rename to ... + (Z_packet_to_target_hw_bp_type): ... this, and return a + target_hw_bp_type instead. + (aarch64_show_debug_reg_state): Take an enum target_hw_bp_type + instead of an enum target_point_type. + (aarch64_point_encode_ctrl_reg): Likewise. Compute type mask from + breakpoint type. + (aarch64_dr_state_insert_one_point) + (aarch64_dr_state_remove_one_point, aarch64_handle_breakpoint) + (aarch64_handle_aligned_watchpoint) + (aarch64_handle_unaligned_watchpoint, aarch64_handle_watchpoint): + Take an enum target_hw_bp_type instead of an enum + target_point_type. + (aarch64_supports_z_point_type): New function. + (aarch64_insert_point, aarch64_remove_point): Use it. Adjust to + use Z_packet_to_target_hw_bp_type. + +2014-05-20 Joel Brobecker <brobecker@adacore.com> + + * configure.ac: Only use -Werror by default when DEVELOPMENT + is true. + * configure: Regenerate. + +2014-05-19 Jan Kratochvil <jan.kratochvil@redhat.com> + + Fix gdbserver qGetTLSAddr for x86_64 -m32. + * linux-x86-low.c (X86_64_USER_REGS): New. + (x86_fill_gregset): Call memset for BUF first in x86_64 -m32 case. + +2014-04-28 Yao Qi <yao@codesourcery.com> + + * Makefile.in (i386-avx512.c): Fix the typo of generated file + name. + +2014-04-25 Pedro Alves <palves@redhat.com> + + PR server/16255 + * linux-low.c (linux_attach_fail_reason_string): New function. + (linux_attach_lwp): Delete. + (linux_attach_lwp_1): Rename to ... + (linux_attach_lwp): ... this. Take a ptid instead of a pid as + argument. Remove "initial" parameter. Return int instead of + void. Don't error or warn here. + (linux_attach): Adjust to call linux_attach_lwp. Call error on + failure to attach to the tgid. Call warning when failing to + attach to an lwp. + * linux-low.h (linux_attach_lwp): Take a ptid instead of a pid as + argument. Remove "initial" parameter. Return int instead of + void. Don't error or warn here. + (linux_attach_fail_reason_string): New declaration. + * thread-db.c (attach_thread): Adjust to linux_attach_lwp's + interface change. Use linux_attach_fail_reason_string. + +2014-04-24 Michael Sturm <michael.sturm@mintel.com> + Walfred Tedeschi <walfred.tedeschi@intel.com> + + * Makefile.in: Added rules to handle new files + i386-avx512.c i386-avx512-linux.c amd64-avx512.c + amd64-avx512-linux.c x32-avx512.c x32-avx512-linux.c. + * configure.srv (srv_i386_regobj): Add i386-avx512.o. + (srv_i386_linux_regobj): Add i386-avx512-linux.o. + (srv_amd64_regobj): Add amd64-avx512.o and x32-avx512.o. + (srv_amd64_linux_regobj): Add amd64-avx512-linux.o and + x32-avx512-linux.o. + (srv_i386_32bit_xmlfiles): Add i386/32bit-avx512.xml. + (srv_i386_64bit_xmlfiles): Add i386/64bit-avx512.xml. + (srv_amd64_xmlfiles): Add i386/amd64-avx512.xml and + i386/x32-avx512.xml. + (srv_i386_linux_xmlfiles): Add i386/i386-avx512-linux.xml. + (srv_amd64_linux_xmlfiles): Add i386/amd64-avx512-linux.xml and + i386/x32-avx512-linux.xml. + * i387-fp.c (num_avx512_k_registers): New constant for number + of K registers. + (num_avx512_zmmh_low_registers): New constant for number of + lower ZMM registers (0-15). + (num_avx512_zmmh_high_registers): New constant for number of + higher ZMM registers (16-31). + (num_avx512_ymmh_registers): New contant for number of higher + YMM registers (ymm16-31 added by avx521 on x86_64). + (num_avx512_xmm_registers): New constant for number of higher + XMM registers (xmm16-31 added by AVX512 on x86_64). + (struct i387_xsave): Add space for AVX512 registers. + (i387_cache_to_xsave): Change raw buffer size to 64 characters. + Add code to handle AVX512 registers. + (i387_xsave_to_cache): Add code to handle AVX512 registers. + * linux-x86-low.c (init_registers_amd64_avx512_linux): New + prototypei from generated file. + (tdesc_amd64_avx512_linux): Likewise. + (init_registers_x32_avx512_linux): Likewise. + (tdesc_x32_avx512_linux): Likewise. + (init_registers_i386_avx512_linux): Likewise. + (tdesc_i386_avx512_linux): Likewise. + (x86_64_regmap): Add AVX512 registers. + (x86_linux_read_description): Add code to handle AVX512 XSTATE + mask. + (initialize_low_arch): Add code to initialize AVX512 registers. + +2014-04-23 Pedro Alves <palves@redhat.com> + + * mem-break.c (find_gdb_breakpoint_at): Make static. + * mem-break.h (find_gdb_breakpoint_at): Delete declaration. + +2014-04-23 Pedro Alves <palves@redhat.com> + + * i386-low.c: Don't include break-common.h here. + (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change + prototype to take target_hw_bp_type as argument instead of a Z + packet char. + * i386-low.h: Include break-common.h here. + (Z_packet_to_hw_type): Declare. + (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change + prototypes. + * linux-x86-low.c (x86_insert_point): Convert the packet number to + a target_hw_bp_type before calling i386_low_insert_watchpoint. + (x86_remove_point): Convert the packet number to a + target_hw_bp_type before calling i386_low_remove_watchpoint. + * win32-i386-low.c (i386_insert_point): Convert the packet number + to a target_hw_bp_type before calling i386_low_insert_watchpoint. + (i386_remove_point): Convert the packet number to a + target_hw_bp_type before calling i386_low_remove_watchpoint. + +2014-04-23 Pedro Alves <palves@redhat.com> + + * utils.h (perror_with_name): Add ATTRIBUTE_NORETURN. + +2014-04-10 Pedro Alves <palves@redhat.com> + + * mem-break.c (add_breakpoint_condition, add_breakpoint_commands): + Check if the condition or command is NULL before checking if the + breakpoint is known. On success, return true. + * mem-break.h (add_breakpoint_condition): Document return. + (add_breakpoint_commands): Add describing comment. + * server.c (skip_to_semicolon): New function. + (process_point_options): Use it. + +2014-04-09 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_read_loadmap): Pass current_inferior directly + to lwpid_of. + +2014-02-27 Pedro Alves <palves@redhat.com> + + PR 12702 + * inferiors.h (A_I_NEXT, ALL_INFERIORS_TYPE, ALL_PROCESSES): New + macros. + * linux-low.c (delete_lwp, handle_extended_wait): Add debug + output. + (last_thread_of_process_p): Take a PID argument instead of a + thread pointer. + (linux_wait_for_lwp): Delete. + (num_lwps, check_zombie_leaders, not_stopped_callback): New + functions. + (linux_low_filter_event): New function, party factored out from + linux_wait_for_event. + (linux_wait_for_event): Rename to ... + (linux_wait_for_event_filtered): ... this. Add new filter ptid + argument. Partly rewrite. Always use waitpid(-1, WNOHANG) and + sigsuspend. Check for zombie leaders. + (linux_wait_for_event): Reimplement as wrapper around + linux_wait_for_event_filtered. + (linux_wait_1): Handle TARGET_WAITKIND_NO_RESUMED. Assume that if + a normal or signal exit is seen, it's the whole process exiting. + (wait_for_sigstop): No longer a for_each_inferior callback. + Rewrite on top of linux_wait_for_event_filtered. + (stop_all_lwps): Call wait_for_sigstop directly. + * server.c (resume, handle_target_event): Handle + TARGET_WAITKIND_NO_RESUMED. + +2014-02-26 Joel Brobecker <brobecker@adacore.com> + + * win32-low.c (psapi_get_dll_name, + * win32_CreateToolhelp32Snapshot): Delete. + (win32_CreateToolhelp32Snapshot, win32_Module32First) + (win32_Module32Next, load_toolhelp, toolhelp_get_dll_name): + Delete. + (handle_load_dll): Add function description. + Remove code using psapi_get_dll_name and toolhelp_get_dll_name. + +2014-02-26 Joel Brobecker <brobecker@adacore.com> + + * win32-low.c (win32_add_one_solib): Add 0x1000 to load_addr. + Add comment. + (win32_add_all_dlls): Remove 0x1000 offset applied to DLL + base address when calling win32_add_one_solib. + (handle_load_dll): Delete local variable load_addr. + Remove 0x1000 offset applied to DLL base address when calling + win32_add_one_solib. + (handle_unload_dll): Add comment. + +2014-02-26 Joel Brobecker <brobecker@adacore.com> + + * win32-low.c (win32_add_all_dlls): Renames + win32_ensure_ntdll_loaded. Rewrite function documentation. + Adjust implementation to always load all DLLs. + Add 0x1000 offset to DLL base address when calling + win32_add_one_solib. + (child_initialization_done): New static global. + (do_initial_child_stuff): Set child_initialization_done to + zero during child initialization, and 1 after. Replace call + to win32_ensure_ntdll_loaded by call to win32_add_all_dlls. + Add comment. + (match_dll_by_basename, dll_is_loaded_by_basename): Delete. + (handle_unload_dll): Add function documentation. + (get_child_debug_event): Ignore load and unload DLL events + during child initialization. + +2014-02-20 Doug Evans <dje@google.com> + + Remove global all_lwps. + * inferiors.h (ptid_of): Move here from linux-low.h. + (pid_of, lwpid_of): Ditto. + * linux-aarch64-low.c (debug_reg_change_callback): Update, "entry" + parameter is a struct thread_info * now. + (aarch64_notify_debug_reg_change): Fetch pid from current_inferior + directly. Pass &all_threads to find_inferior instead of &all_lwps. + (aarch64_stopped_data_address): Fetch lwpid from current_inferior + directly. + (aarch64_linux_prepare_to_resume): Fetch ptid from thread. + (aarch64_arch_setup): Fetch lwpid from current_inferior directly. + * linux-arm-low.c (update_registers_callback): Update, "entry" + parameter is a struct thread_info * now. + Fetch lwpid from current_inferior directly. + (arm_insert_point): Pass &all_threads to find_inferior instead of + &all_lwps. + (arm_remove_point): Ditto. + (arm_stopped_by_watchpoint): Fetch lwp from current_inferior. + (arm_prepare_to_resume): Fetch pid from thread. + (arm_read_description): Fetch lwpid from current_inferior directly. + * linux-low.c (all_lwps): Delete. + (delete_lwp): Delete call to remove_inferior. + (handle_extended_wait): Fetch lwpid from thread. + (add_lwp): Don't set lwp->entry.id. Remove call to + add_inferior_to_list. + (linux_attach_lwp_1): Fetch pid from current_inferior directly. + (linux_kill_one_lwp): Fetch ptid,lwpid from thread. + (kill_one_lwp_callback): Ditto. + (linux_kill): Don't dereference NULL pointer. + Fetch ptid,lwpid from thread. + (get_detach_signal): Fetch ptid from thread. + (linux_detach_one_lwp): Fetch ptid,lwpid from thread. + Simplify call to regcache_invalidate_thread. + (delete_lwp_callback): Update, "entry" parameter is a + struct thread_info * now. Fetch pid from thread. + (linux_mourn): Pass &all_threads to find_inferior instead of &all_lwps. + (status_pending_p_callback): Update, "entry" parameter is a + struct thread_info * now. Fetch ptid from thread. + (find_lwp_pid): Update, "entry" parameter is a + struct thread_info * now. + (linux_wait_for_lwp): Fetch pid from thread. + (linux_fast_tracepoint_collecting): Fetch lwpid from thread. + (maybe_move_out_of_jump_pad): Fetch lwpid from current_inferior. + (enqueue_one_deferred_signal): Fetch lwpid from thread. + (dequeue_one_deferred_signal): Ditto. + (cancel_breakpoint): Fetch ptid from current_inferior. + (linux_wait_for_event): Pass &all_threads to find_inferior, + not &all_lwps. Fetch ptid, lwpid from thread. + (count_events_callback): Update, "entry" parameter is a + struct thread_info * now. + (select_singlestep_lwp_callback): Ditto. + (select_event_lwp_callback): Ditto. + (cancel_breakpoints_callback): Ditto. + (linux_cancel_breakpoints): Pass &all_threads to find_inferior, + not &all_lwps. + (select_event_lwp): Ditto. Fetch ptid from event_thread. + (unsuspend_one_lwp): Update, "entry" parameter is a + struct thread_info * now. + (unsuspend_all_lwps): Pass &all_threads to find_inferior, + not &all_lwps. + (linux_stabilize_threads): Ditto. And for for_each_inferior. + Fetch lwpid from thread, not lwp. + (linux_wait_1): Fetch ptid, lwpid from current_inferior. + Pass &all_threads to find_inferior, not &all_lwps. + (send_sigstop): Fetch lwpid from thread, not lwp. + (send_sigstop_callback): Update, "entry" parameter is a + struct thread_info * now. + (suspend_and_send_sigstop_callback): Ditto. + (wait_for_sigstop): Ditto. Fetch ptid, lwpid from thread, lwp. + (stuck_in_jump_pad_callback): Update, "entry" parameter is a + struct thread_info * now. + (move_out_of_jump_pad_callback): Ditto. Fetch ptid, lwpid + from thread, lwp. + (lwp_running): Update, "entry" parameter is a + struct thread_info * now. + (stop_all_lwps): Fetch ptid from thread. + Pass &all_threads to find_inferior, for_each_inferior, not &all_lwps. + (linux_resume_one_lwp): Fetch lwpid from thread. + (linux_set_resume_request): Update, "entry" parameter is a + struct thread_info * now. Fetch pid, lwpid from thread. + (resume_status_pending_p): Update, "entry" parameter is a + struct thread_info * now. + (need_step_over_p): Ditto. Fetch lwpid from thread. + (start_step_over): Fetch lwpid from thread. + (linux_resume_one_thread): Update, "entry" parameter is a + struct thread_info * now. Fetch lwpid from thread. + (linux_resume): Pass &all_threads to find_inferior, not &all_lwps. + (proceed_one_lwp): Update, "entry" parameter is a + struct thread_info * now. Fetch lwpid from thread. + (unsuspend_and_proceed_one_lwp): Update, "entry" parameter is a + struct thread_info * now. + (proceed_all_lwps): Pass &all_threads to find_inferior, not &all_lwps. + (unstop_all_lwps): Ditto. Fetch lwpid from thread. + (regsets_fetch_inferior_registers): Fetch lwpid from current_inferior + directly. + (regsets_store_inferior_registers): Ditto. + (fetch_register, store_register): Ditto. + (linux_read_memory, linux_write_memory): Ditto. + (linux_request_interrupt): Ditto. + (linux_read_auxv): Ditto. + (linux_xfer_siginfo): Ditto. + (linux_qxfer_spu): Ditto. + (linux_qxfer_libraries_svr4): Ditto. + * linux-low.h (ptid_of, pid_of, lwpid_of): Delete, + moved to inferiors.h. + (get_lwp): Delete. + (get_thread_lwp): Update. + (struct lwp_info): Delete member "entry". Simplify comment for + member "thread". + (all_lwps): Delete. + * linux-mips-low.c (mips_read_description): Fetch lwpid from + current_inferior directly. + (update_watch_registers_callback): Update, "entry" parameter is a + struct thread_info * now. Fetch pid from thread. + (mips_linux_prepare_to_resume): Fetch ptid from thread. + (mips_insert_point): Fetch lwpid from current_inferior. + Pass &all_threads to find_inferior, not &all_lwps. + (mips_remove_point): Pass &all_threads to find_inferior, not &all_lwps. + (mips_stopped_by_watchpoint): Fetch lwpid from current_inferior + directly. + (mips_stopped_data_address): Ditto. + * linux-s390-low.c (s390_arch_setup): Fetch pid from current_inferior + directly. + * linux-tile-low.c (tile_arch_setup): Ditto. + * linux-x86-low.c (x86_get_thread_area): Fetch lwpid from thread. + (update_debug_registers_callback): Update, "entry" parameter is a + struct thread_info * now. Fetch pid from thread. + (i386_dr_low_set_addr): Fetch pid from current_inferior directly. + Pass &all_threads to find_inferior, not &all_lwps. + (i386_dr_low_get_addr): Fetch ptid from current_inferior directly. + (i386_dr_low_set_control): Fetch pid from current_inferior directly. + Pass &all_threads to find_inferior, not &all_lwps. + (i386_dr_low_get_control): Fetch ptid from current_inferior directly. + (i386_dr_low_get_status): Ditto. + (x86_linux_prepare_to_resume): Fetch ptid from thread. + (x86_siginfo_fixup): Fetch lwpid from current_inferior directly. + (x86_linux_read_description): Ditto. + * proc-service.c (ps_getpid): Fetch pid from current_inferior directly. + +2014-02-20 Doug Evans <dje@google.com> + + * inferiors.c (get_first_inferior): Fix buglet. + +2014-02-19 Doug Evans <dje@google.com> + + * gdbthread.h (add_thread): Change result type to struct thread_info *. + * inferiors.c (add_thread): Change result type to struct thread_info *. + All callers updated. + (add_lwp): Call add_thread here instead of in callers. + All callers updated. + * linux-low.h (get_lwp_thread): Rewrite. + (struct lwp_info): New member "thread". + +2014-02-19 Doug Evans <dje@google.com> + + * linux-low.c (add_lwp): Change result to struct lwp_info *. + All callers updated. + +2014-02-19 Doug Evans <dje@google.com> + + * inferiors.c (add_thread): Fix whitespace. + +2014-02-19 Doug Evans <dje@google.com> + + * dll.c (clear_dlls): Replace accessing list implemention details + with API function. + * gdbthread.h (get_first_thread): Declare. + * inferiors.c (for_each_inferior_with_data): New function. + (get_first_thread): New function. + (find_thread_ptid): Simplify. + (get_first_inferior): New function. + (clear_list): Delete. + (one_inferior_p): New function. + (clear_inferior_list): New function. + (clear_inferiors): Update. + * inferiors.h (for_each_inferior_with_data): Declare. + (clear_inferior_list): Declare. + (one_inferior_p): Declare. + (get_first_inferior): Declare. + * linux-low.c (linux_wait_for_event): Replace accessing list + implemention details with API function. + * server.c (target_running): Ditto. + (accumulate_file_name_length): New function. + (emit_dll_description): New function. + (handle_qxfer_libraries): Replace accessing list implemention + details with API function. + (handle_qxfer_threads_worker): New function. + (handle_qxfer_threads_proper): Replace accessing list implemention + details with API function. + (handle_query): Ditto. + (visit_actioned_threads_callback_ftype): New typedef. + (visit_actioned_threads_data): New struct. + (visit_actioned_threads): Rewrite to be find_inferior callback. + (resume): Call find_inferior. + (handle_status): Replace accessing list implemention + details with API function. + (process_serial_event): Replace accessing list implemention details + with API function. + * target.c (set_desired_inferior): Replace accessing list implemention + details with API function. + * tracepoint.c (same_process_p): New function. + (gdb_agent_about_to_close): Replace accessing list implemention + details with API function. + * win32-low.c (child_delete_thread): Replace accessing list + implemention details with API function. + (match_dll_by_basename): New function. + (dll_is_loaded_by_basename): New function. + (win32_ensure_ntdll_loaded): Replace accessing list implemention + details call to dll_is_loaded_by_basename. + +2014-02-19 Doug Evans <dje@google.com> + + * dll.h (struct dll_info): Add comment. + * gdbthread.h (struct thread_info): Add comment. + (current_ptid): Simplify. + * inferiors.c (add_process): Update. + (remove_process): Update. + * inferiors.h (struct process_info): Rename member "head" to "entry". + * linux-low.c (delete_lwp): Update. + (add_lwp): Update. + (last_thread_of_process_p): Update. + (kill_one_lwp_callback, linux_kill): Update. + (status_pending_p_callback): Update. + (wait_for_sigstop): Update. Simplify read of ptid. + (start_step_over): Update. + * linux-low.h (ptid_of, pid_of, lwpid_of): Update. + (get_lwp_thread): Update. + (struct lwp_info): Rename member "head" to "entry". + * regcache.h (inferior_list_entry): Delete. + * server.c (kill_inferior_callback): Update. + (detach_or_kill_inferior_callback): Update. + (print_started_pid): Update. + (print_attached_pid): Update. + (process_serial_event): Simplify read of ptid. + * thread-db.c (thread_db_create_event): Update. + (thread_db_get_tls_address): Update. + * win32-low.c (current_inferior_ptid): Simplify. + +2014-02-19 Tom Tromey <tromey@redhat.com> + + * target.h (struct target_ops) <supports_btrace>: Add target_ops + argument. + (target_supports_btrace): Update. + +2014-02-14 Yao Qi <yao@codesourcery.com> + + * Makefile.in (IPA_OBJS): Append rsp-low-ipa.o. + (rsp-low-ipa.o): New target. + +2014-02-12 Tom Tromey <tromey@redhat.com> + + * ax.c (gdb_parse_agent_expr): Use hex2bin, not + convert_ascii_to_int. + * regcache.c (registers_to_string): Likewise. + * remote-utils.c (decode_M_packet): Likewise. + * server.c (process_serial_event): Likewise. + +2014-02-12 Tom Tromey <tromey@redhat.com> + + * server.c (handle_query, handle_v_run): Use hex2bin, not + unhexify. + * tracepoint.c (cmd_qtdpsrc, cmd_qtdv, cmd_qtnotes): Likewise. + +2014-02-12 Tom Tromey <tromey@redhat.com> + + * ax.c (gdb_unparse_agent_expr): Use bin2hex, not + convert_int_to_ascii. + * regcache.c (registers_to_string, collect_register_as_string): + Likewise. + * remote-utils.c (look_up_one_symbol, relocate_instruction): + Likewise. + * server.c (process_serial_event): Likewise. + * tracepoint.c (cmd_qtstatus, response_source, response_tsv) + (cmd_qtbuffer, cstr_to_hexstr): Likewise. + +2014-02-12 Tom Tromey <tromey@redhat.com> + + * remote-utils.c (look_up_one_symbol, monitor_output): Use + bin2hex, not hexify. + * tracepoint.c (cmd_qtstatus): Likewise. + +2014-02-12 Tom Tromey <tromey@redhat.com> + + * remote-utils.c (monitor_output): Pass explicit length to + hexify. + +2014-02-12 Tom Tromey <tromey@redhat.com> + + * tracepoint.c: Include rsp-low.h. + * server.c: Include rsp-low.h. + * remote-utils.h (convert_ascii_to_int, convert_int_to_ascii) + (unhexify, hexify, remote_escape_output, unpack_varlen_hex): Don't + declare. + * remote-utils.c: Include rsp-low.h. + (fromhex, hexchars, ishex, unhexify, tohex, hexify) + (remote_escape_output, remote_unescape_input, unpack_varlen_hex) + (convert_int_to_ascii, convert_ascii_to_int): Move to + common/rsp-low.c. + * regcache.c: Include rsp-low.h. + * ax.c: Include rsp-low.h. + * Makefile.in (SFILES): Add common/rsp-low.c. + (OBS): Add rsp-low.o. + (rsp-low.o): New target. + +2014-02-12 Tom Tromey <tromey@redhat.com> + + * utils.h (pulongest, plongest, phex_nz): Don't declare. + Include print-utils.h. + * utils.c (NUMCELLS, CELLSIZE, get_cell, decimal2str, pulongest) + (plongest, thirty_two, phex_nz): Remove. + * Makefile.in (SFILES): Add common/print-utils.c. + (OBS): Add print-utils.o. + (print-utils-ipa.o): New target. + (print-utils.o): New target. + (IPA_OBJS): Add print-utils-ipa.o. + +2014-02-06 Tom Tromey <tromey@redhat.com> + + * Makefile.in (SFILES): Fix indentation. + +2014-02-05 Doug Evans <dje@google.com> + + * linux-low.c (linux_wait_for_event): Improve comment. + (linux_wait_1): Keep current_inferior in sync with event_child. + +2014-01-22 Doug Evans <dje@google.com> + + * gdbthread.h (gdb_id_to_thread): Delete, unused. + +2014-01-22 Doug Evans <dje@google.com> + + * configure.ac (AC_CHECK_FUNCS): Add test for gettimeofday. + * configure: Regenerate. + * config.in: Regenerate. + * Makefile.in (SFILES): Add debug.c. + (OBS): Add debug.o. + * debug.c: New file. + * debug.h: New file. + * linux-aarch64-low.c (*): Update all debugging printfs to use + debug_printf instead of fprintf. + * linux-arm-low.c (*): Ditto. + * linux-cris-low.c (*): Ditto. + * linux-crisv32-low.c (*): Ditto. + * linux-m32r-low.c (*): Ditto. + * linux-sparc-low.c (*): Ditto. + * linux-x86.c (*): Ditto. + * linux-low.c (*): Ditto. + (linux_wait_1): Add calls to debug_enter, debug_exit. + (linux_wait): Remove redundant debugging printf. + (stop_all_lwps): Add calls to debug_enter, debug_exit. + (linux_resume, unstop_all_lwps): Ditto. + * mem-break.c (*): Update all debugging printfs to use + debug_printf instead of fprintf. + * remote-utils.c (*): Ditto. + * thread-db.c (*): Ditto. + * server.c #include <ctype.h>, "gdb_vecs.h". + (debug_threads): Moved to debug.c. + (*): Update all debugging printfs to use debug_printf instead of + fprintf. + (start_inferior): Replace call to fflush with call to debug_flush. + (monitor_show_help): Mention set debug-format. + (parse_debug_format_options): New function. + (handle_monitor_command): Handle "monitor set debug-format". + (gdbserver_usage): Mention --debug-format. + (main): Parse --debug-format. + * server.h (debug_threads): Declaration moved to debug.h. + #include "debug.h". + * tracepoint.c (trace_debug_1) [!IN_PROCESS_AGENT]: Add version of + trace_debug_1 that uses debug_printf. + (tracepoint_look_up_symbols): Update all debugging printfs to use + debug_printf instead of fprintf. + +2014-01-20 Baruch Siach <baruch@tkos.co.il> + + * linux-xtensa-low.c: Include asm/ptrace.h instead of + sys/ptrace.h. + +2014-01-17 Pedro Alves <palves@redhat.com> + + PR build/16445 + * linux-x86-low.c: Don't include elf/common.h if ELFMAG0 is + defined after including gdb_proc_service.h. + +2014-01-16 Doug Evans <dje@google.com> + + * dll.c (UNSPECIFIED_CORE_ADDR): New macro. + (match_dll): Use it. + +2014-01-16 Markus Metzger <markus.t.metzger@intel.com> + + * target.h (target_ops) <read_btrace>: Change parameters and + return type to allow error reporting. + * server.c (handle_qxfer_btrace): Support delta reads. Pass + trace reading errors on. + * linux-low.c (linux_low_read_btrace): Pass trace reading + errors on. + (linux_low_disable_btrace): New. + +2014-01-15 Doug Evans <dje@google.com> + + * inferiors.c (thread_id_to_gdb_id): Delete. + * inferiors.h (thread_id_to_gdb_id): Delete. + +2014-01-13 Eli Zaretskii <eliz@gnu.org> + + * Makefile.in (INCLUDE_CFLAGS): Remove trailing slash from + "-I$(srcdir)/../". Fixes MinGW compilation errors with old GCC + versions. + +2014-01-08 Pedro Alves <palves@redhat.com> + + * server.c (handle_status): Don't discard previous queued stop + replies or thread's pending status here. + (main) <disconnection>: Do it here instead. + +2014-01-08 Pedro Alves <palves@redhat.com> + + * gdbthread.h (struct thread_info) <status_pending_p>: New field. + * server.c (visit_actioned_threads, handle_pending_status): New + function. + (handle_v_cont): Factor out parts to ... + (resume): ... this new function. If in all-stop, and a thread + being resumed has a pending status, report it without actually + resuming. + (myresume): Adjust to use the new 'resume' function. + (clear_pending_status_callback, set_pending_status_callback) + (find_status_pending_thread_callback): New functions. + (handle_status): Handle the case of multiple threads having + interesting statuses to report. Report threads' real last signal + instead of always reporting GDB_SIGNAL_TRAP. Look for a thread + with an interesting thread to report the status for, instead of + always reporting the status of the first thread. + +2014-01-01 Joel Brobecker <brobecker@adacore.com> + + * gdbserver.c (gdbserver_version): Set copyright year to 2014. + * gdbreplay.c (gdbreplay_version): Likewise. + +2013-12-18 Yufeng Zhang <yufeng.zhang@arm.com> + + * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Set + iov.iov_len with the real length in use. + +2013-12-13 Joel Brobecker <brobecker@adacore.com> + + * Makefile.in (safe-ctype.o, lbasename.o): New rules. + * configure.srv: Add safe-ctype.o and lbasename.o to srv_tgtobj + for all targets that use win32-low.c. + * win32-low.c (win32_ensure_ntdll_loaded): New function. + (do_initial_child_stuff): Add call to win32_ensure_ntdll_loaded. + +2013-12-13 Pedro Alves <palves@redhat.com> + + * target.c (mywait): Set OURSTATUS->KIND to TARGET_WAITKIND_STOPPED + if equal to TARGET_WAITKIND_LOADED. + * win32-low.c (cached_status): New static global. + (win32_wait): Add declaration. + (do_initial_child_stuff): Flush all initial pending debug events + up to the initial breakpoint. + (win32_wait): If CACHED_STATUS was set, return that instead + of doing a real wait. Remove the code resuming the execution + of the inferior after receiving a TARGET_WAITKIND_LOADED event + during the initial phase. Also remove the code changing + OURSTATUS->KIND from TARGET_WAITKIND_LOADED to + TARGET_WAITKIND_STOPPED. + +2013-12-11 Yao Qi <yao@codesourcery.com> + + * notif.c (handle_notif_ack): Return 0 if no notification + matches. + +2013-11-20 Doug Evans <dje@google.com> + + * linux-low.c (linux_set_resume_request): Fix comment. + +2013-11-20 Doug Evans <dje@google.com> + + * linux-low.c (resume_status_pending_p): Tweak comment. + +2013-11-20 Walfred Tedeschi <walfred.tedeschi@intel.com> + + * Makefile.in: Add i386-mpx.c, i386-mpx-linux.c, amd64-mpx.c, + amd64-mpx-linux.c, x32-mpx.c and x32-mpx-linux.c generation. + * configure.srv (srv_i386_regobj): Add i386-mpx.o. + (srv_i386_linux_regobj): Add i386-mpx-linux.o. + (srv_amd64_regobj): Add amd64-mpx.o. + (srv_amd64_linux_regobj): Add amd64-mpx-linux.o. + (srv_i386_32bit_xmlfiles): Add i386/32bit-mpx.xml. + (srv_i386_64bit_xmlfiles): Add i386/64bit-mpx.xml. + * i387-fp.c (num_pl_bnd_register) Added constant. + (num_pl_bnd_cfg_registers) Added constant. + (struct i387_xsave) Added reserved area and MPX fields. + (i387_cache_to_xsave, i387_xsave_to_cache) Add MPX. + * linux-x86-low.c (init_registers_i386_mpx_linux): Declare new + function. + (tdesc_i386_mpx_linux): Add MPX amd64 target. + (init_registers_amd64_mpx_linux): Declare new function. + (tdesc_amd64_mpx_linux): Add MPX amd64 target. + (x86_64_regmap): Add MPX registers. + (x86_linux_read_description): Add MPX case. + (initialize_low_arch): Initialize MPX targets. + +2013-11-18 Tom Tromey <tromey@redhat.com> + + * configure: Rebuild. + * configure.ac: Don't check for stdlib.h. + * gdbreplay.c: Unconditionally include stdlib.h. + +2013-11-18 Tom Tromey <tromey@redhat.com> + + * config.in: Rebuild. + * configure: Rebuild. + * configure.ac: Don't use AC_HEADER_DIRENT. + +2013-11-18 Tom Tromey <tromey@redhat.com> + + * server.h: Don't check HAVE_STRING_H. + * gdbreplay.c: Don't check HAVE_STRING_H. + * configure: Rebuild. + +2013-11-18 Tom Tromey <tromey@redhat.com> + + * Makefile.in (gdbreplay$(EXEEXT)): Depend on and link against + LIBGNU. + +2013-11-08 Tom Tromey <tromey@redhat.com> + + * configure, config.in: Rebuild. + * configure.ac: Remove unused configury. + +2013-11-08 Tom Tromey <tromey@redhat.com> + + * acinclude.m4: Include common.m4, codeset.m4. + * configure, config.in: Rebuild. + * configure.ac: Use GDB_AC_COMMON. + +2013-11-06 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * linux-s390-low.c (HWCAP_S390_TE): New define. + (s390_arch_setup): Consider the TE field in the HWCAP for + determining 'have_regset_tdb'. + +2013-10-16 Sergio Durigan Junior <sergiodj@redhat.com> + + PR gdb/16014 + * tracepoint.c (download_tracepoint_1): Remove unnecessary double + call to sizeof. + +2013-10-02 Pedro Alves <palves@redhat.com> + + * server.c (process_serial_event): Don't output "GDBserver + exiting" if GDB is connected through stdio. + * target.c (mywait): Likewise, be silent if GDB is connected + through stdio. + +2013-10-01 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (lynx_add_threads_after_attach): New function. + (lynx_attach): Remove call to add_thread. Add call to + lynx_add_threads_after_attach instead. + +2013-09-28 Mike Frysinger <vapier@gentoo.org> + + * configure.ac (AC_CHECK_HEADERS): Add sys/syscall.h + * config.in, configure: Regenerated. + +2013-09-18 Yao Qi <yao@codesourcery.com> + + PR server/15959 + * server.c (start_inferior): Clear 'resume_info'. + +2013-09-16 Jiong Wang <jiwang@tilera.com> + + * linux-tile-low.c (tile_regsets): Modify the size field to 64-bit + for each register. + +2013-09-16 Jiong Wang <jiwang@tilera.com> + + * configure.srv <tilegx*-*-linux*>: Remove linux-osdata.o from and add + linux-tile-low.o to srv_tgtobj. + +2013-09-16 Will Newton <will.newton@linaro.org> + + * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Zero + out regs. + +2013-09-06 Pedro Alves <palves@redhat.com> + + * Makefile.in (gdb_proc_service_h, regdef_h, regcache_h) + (signals_def, signals_h, ptid_h, ax_h, agent_h, linux_btrace_h) + (linux_osdata_h, vec_h, gdb_vecs_h, host_defs_h, libiberty_h) + (server_h, gdbthread_h, linux_low_h, linux_ptrace_h) + (gdb_thread_db_h, linux_procfs_h, lynx_low_h, nto_low_h) + (mips_linux_watch_h, i386_low_h, win32_low_h): Delete. + +2013-09-06 Pedro Alves <palves@redhat.com> + + * Makefile.in (linux-btrace.o, mips-linux-watch.o): Remove + explicit header dependencies and use $COMPILE/$POSTCOMPILE. + +2013-09-06 Pedro Alves <palves@redhat.com> + + * linux-amd64-ipa.c: Include tracepoint.h. + * linux-i386-ipa.c: Include tracepoint.h. + +2013-09-06 Ricard Wanderlof <ricardw@axis.com> + + * linux-crisv32-low.c (PTRACE_GET_THREAD_AREA): New macro. + (ps_get_thread_area): New function. + +2013-09-06 Ricard Wanderlof <ricardw@axis.com> + + * linux-crisv32-low.c (elf_gregset_t): Delete typedef. + (initialize_low_arch): Call init_registers_crisv32 rather than + init_register_crisv32. + +2013-09-05 Pedro Alves <palves@redhat.com> + + * server.h (handle_vFile, hostio_last_error_from_errno): Move + to ... + * hostio.h: ... this new file. + * hostio.c, server.c, linux-low.c, nto-low.c, spu-low, + win32-low.c: Include hostio.h. + +2013-09-05 Pedro Alves <palves@redhat.com> + + * server.h (gdb_client_data, handler_func, callback_handler_func) + (delete_file_handler, add_file_handler, append_callback_event) + (delete_callback_event, start_event_loop, initialize_event_loop): + Move to event-loop.h and include it. + * event-loop.h: New file. + +2013-09-05 Pedro Alves <palves@redhat.com> + + * dll.c, inferiors.c, remote-utils.c, server.c: Include "dll.h". + * server.h (struct dll_info, all_dlls, dlls_changed, clear_dlls) + (loaded_dll, unloaded_dll): Move to ... + * dll.h: ... this new file. + * inferiors.c, remote-utils.c, win32-low.c: Include "dll.h". + +2013-09-05 Pedro Alves <palves@redhat.com> + + * server.h (current_process, get_thread_process, all_processes) + (add_inferior_to_list, for_each_inferior, current_inferior) + (remove_inferior, add_process, remove_process, find_process_pid) + (have_started_inferiors_p, have_attached_inferiors_p) + (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id) + (clear_inferiors, find_inferior, find_inferior_id) + (inferior_target_data, set_inferior_target_data) + (inferior_regcache_data, set_inferior_regcache_data): Move to + inferiors.h, and include it. + * inferiors.h: New file. + +2013-09-05 Pedro Alves <palves@redhat.com> + + * server.h (struct emit_ops, current_insn_ptr, emit_error): + Move ... + * ax.h: ... here. + +2013-09-05 Pedro Alves <palves@redhat.com> + + * ax.c, linux-low.c, linux-x86-low.c, server.c: Include + tracepoint.h. + * server.h (IPA_BUFSIZ, initialize_tracepoint, tracing) + (disconnected_tracing, tracepoint_look_up_symbols, stop_tracing + (handle_tracepoint_general_set, handle_tracepoint_query) + (tracepoint_finished_step, tracepoint_was_hit) + (release_while_stepping_state_list, current_traceframe) + (in_readonly_region, traceframe_read_mem) + (fetch_traceframe_registers, traceframe_read_sdata) + (traceframe_read_info, struct fast_tpoint_collect_status) + (fast_tracepoint_collecting, force_unlock_trace_buffer) + (handle_tracepoit_bkpts, initialize_low_tracepoint) + (supply_fast_tracepoint_registers) + (supply_static_tracepoint_registers, set_trampoline_buffer_space) + (ipa_tdesc, claim_trampoline_space) + (have_fast_tracepoint_trampoline_buffer, gdb_agent_about_to_close) + (agent_mem_read, agent_get_trace_state_variable_value) + (agent_set_trace_state_variable_value, agent_tsv_read) + (agent_mem_read_string, get_raw_reg_func_addr) + (get_get_tsv_func_addr, get_set_tsv_func_addr): Move to ... + * tracepoint.h: ... this new file. + +2013-09-05 Pedro Alves <palves@redhat.com> + + * server.h (perror_with_name, error, fatal, warning, paddress) + (pulongest, plongest, phex_nz, pfildes): Move to utils.h, and + include it. + * utils.h: New file. + +2013-09-05 Pedro Alves <palves@redhat.com> + + * server.h (remote_debug, noack_mode, transport_is_reliable) + (gdb_connected, STDIO_CONNECTION_NAME, remote_connection_is_stdio) + (read_ptid, write_ptid, putpkt, putpkt_binary, putpkt_notif) + (getpkt, remote_prepare, remote_open, remote_close, write_ok) + (write_enn, initialize_async_io, enable_async_io) + (disable_async_io, check_remote_input_interrupt_request) + (convert_ascii_to_int, convert_int_to_ascii, new_thread_notify) + (dead_thread_notify, prepare_resume_reply) + (decode_address_to_semicolon, decode_address, decode_m_packet) + (decode_M_packet, decode_X_packet, decode_xfer_write) + (decode_search_memory_packet, unhexify, hexify) + (remote_escape_output, unpack_varlen_hex, clear_symbol_cache) + (look_up_one_symbol, relocate_instruction) + (monitor_output): Move to remote-utils.h, and include it. + * remote-utils.h: New file. + +2013-09-05 Pedro Alves <palves@redhat.com> + + * server.h (_): Delete. + +2013-09-02 Pedro Alves <palves@redhat.com> + + * tracepoint.c (TRACEFRAME_EOB_MARKER_SIZE): New macro. + (init_trace_buffer): Ensure at least TRACEFRAME_EOB_MARKER_SIZE is + allocated. + (trace_buffer_alloc): Use TRACEFRAME_EOB_MARKER_SIZE. + +2013-09-02 Pierre Muller <muller@sourceware.org> + + * win32-low.c (child_xfer_memory): Check if ReadProcessMemory + or WriteProcessMemory complete successfully and handle + ERROR_PARTIAL_COPY error. + +2013-09-02 Pedro Alves <palves@redhat.com> + + * server.c (gdb_read_memory): Return -1 on traceframe memory read + error instead of EIO. + +2013-08-28 Jan Kratochvil <jan.kratochvil@redhat.com> + + PR server/15604 + * linux-low.c: Include filestuff.h. + (linux_create_inferior) <pid == 0>: Call close_most_fds. + * lynx-low.c: Include filestuff.h. + (lynx_create_inferior) <pid == 0>: Call close_most_fds. + * server.c: Include filestuff.h. + (main): Call notice_open_fds. + * spu-low.c: Include filestuff.h. + (spu_create_inferior) <pid == 0>: Call close_most_fds. + +2013-08-22 Luis Machado <lgustavo@codesourcery.com> + + * Makefile.in: Explain why ../target and ../nat are not + listed as include file search paths. + (linux-waitpid.o): New object file rule. + * configure.srv (srv_native_linux_obj): New variable. + Replace all occurrences of linux native object files with + $srv_native_linux_obj. + * linux-low.c: Include nat/linux-nat.h and nat/linux-waitpid.h. + (HAS_NOMMU): Move defining logic to common/linux-ptrace.c. + (linux_enable_event_reporting): Remove declaration. + (my_waitpid): Moved to common/linux-waitpid.c. + (linux_wait_for_event): Pass ptid when calling + linux_enable_event_reporting. + (linux_supports_tracefork_flag): Remove. + (linux_enable_event_reporting): Likewise. + (linux_tracefork_grandchild): Remove. + (STACK_SIZE): Moved to common/linux-ptrace.c. + (linux_tracefork_child): Remove. + (linux_test_for_tracefork): Remove. + (linux_look_up_symbols): Call linux_supports_traceclone. + (initialize_low): Remove call to linux_test_for_tracefork. + * linux-low.h (PTRACE_TYPE_ARG3): Move to + common/linux-ptrace.h. + (PTRACE_TYPE_ARG4): Likewise. + Include linux-ptrace.h. + +2013-08-21 Pedro Alves <palves@redhat.com> + + * config.in: Renegerate. + +2013-08-19 Luis Machado <lgustavo@codesourcery.com> + + * Makefile.in (INCLUDE_CFLAGS): Include -I$(srcdir)/../. + (SFILES): Remove $(srcdir)/common/target-common.c and + add $(srcdir)/target/waitstatus.c. + (OBS): Remove target-common.o and add waitstatus.o. + (server_h): Remove $(srcdir)/../common/target-common.h and + add $(srcdir)/../target/resume.h, $(srcdir)/../target/wait.h + and $(srcdir)/../target/waitstatus.h. + (target-common.o): Remove. + (waitstatus.o): New target object file. + * target.h: Do not include target-common.h and + include target/resume.h, target/wait.h and + target/waitstatus.h. + +2013-08-13 Luis Machado <lgustavo@codesourcery.com> + + * linux-arm-low.c: Rename all occurrences of PTRACE_ARG3_TYPE + to PTRACE_TYPE_ARG3. + * linux-low.c: Rename all occurrences of PTRACE_ARG3_TYPE + to PTRACE_TYPE_ARG3 and PTRACE_ARG4_TYPE to + PTRACE_TYPE_ARG4. + * linux-low.h (PTRACE_ARG3_TYPE): Rename to PTRACE_TYPE_ARG3. + (PTRACE_ARG4_TYPE): Rename to PTRACE_TYPE_ARG4. + +2013-07-27 Jie Zhang <jie@codesourcery.com> + Daniel Jacobowitz <dan@codesourcery.com> + Yao Qi <yao@codesourcery.com> + + * Makefile.in (SFILES): Add common/mips-linux-watch.c. + (mips-linux-watch.o): New rule. + (mips_linux_watch_h): New variable. + * configure.srv <mips*-*-linux*>: Add mips-linux-watch.o to + srv_tgtobj. + * linux-mips-low.c: Include mips-linux-watch.h. + (struct arch_process_info, struct arch_lwp_info): New. + (update_watch_registers_callback): New function. + (mips_linux_new_process, mips_linux_new_thread) New functions. + (mips_linux_prepare_to_resume, mips_insert_point): New + functions. + (mips_remove_point, mips_stopped_by_watchpoint): New + functions. + (rsp_bp_type_to_target_hw_bp_type): New function. + (mips_stopped_data_address): New function. + (the_low_target): Add watchpoint support functions. + +2013-07-27 Yao Qi <yao@codesourcery.com> + + * i386-low.c: Include break-common.h. + (enum target_hw_bp_type): Remove. + +2013-07-24 Luis Machado <lgustavo@codesourcery.com> + + * Makefile.in (SFILES): /common/target-common.c. + (OBS): Add target-common.o. + (server_h): Add $(srcdir)/../common/target-common.h. + (target-common.o): New target. + * server.c (queue_stop_reply_callback): Free + status string after use. + * target.c (target_waitstatus_to_string): Remove. + * target.h: Include target-common.h. + (resume_kind): Likewise. + (target_waitkind): Likewise. + (target_waitstatus): Likewise. + (TARGET_WNOHANG): Likewise. + +2013-07-04 Yao Qi <yao@codesourcery.com> + + * Makefile.in (host_alias): Use @host_noncanonical@. + (target_alias): Use @target_noncanonical@. + * configure.ac: Use ACX_NONCANONICAL_TARGET and + ACX_NONCANONICAL_HOST. + * configure: Regenerated. + + Revert: + 2013-06-28 Mircea Gherzan <mircea.gherzan@intel.com> + + * configure.ac (version_host, version_target): Set and AC_SUBST them. + * configure: Rebuild. + * Makefile.in (version_host, version_target): Get from configure. + (version.c): Use $(version_host) and $(version_target). + +2013-07-03 Pedro Alves <palves@redhat.com> + + * Makefile.in (config.status): Depend on development.sh. + * acinclude.m4: Include libmcheck.m4. + * configure: Regenerate. + +2013-07-02 Mircea Gherzan <mircea.gherzan@intel.com> + + * win32-low.c (winapi_DebugActiveProcessStop): Move the WINAPI + attribute inside the parentheses. + (winapi_DebugSetProcessKillOnExit): Ditto. + (winapi_DebugBreakProcess): Ditto. + (winapi_GenerateConsoleCtrlEvent): Ditto. + +2013-07-02 Mircea Gherzan <mircea.gherzan@intel.com> + + * notif.h (notif_event): Add a dummy member to avoid compiler + errors. + +2013-07-01 Pedro Alves <palves@redhat.com> + + * hostio.c (HOSTIO_PATH_MAX): Define. + (require_filename, handle_open, handle_unlink, handle_readlink): + Use it. + +2013-07-01 Pedro Alves <palves@redhat.com> + + * server.h: Include "pathmax.h". + * linux-low.c: Don't include sys/param.h. + (linux_pid_exe_is_elf_64_file): Use PATH_MAX instead of + MAXPATHLEN. + * win32-low.c: Don't include sys/param.h. + (win32_create_inferior): Use PATH_MAX instead of MAXPATHLEN. + +2013-07-01 Pedro Alves <palves@redhat.com> + + * event-loop.c: Don't check HAVE_UNISTD_H before including + <unistd.h>. + * gdbreplay.c: Likewise. + * remote-utils.c: Likewise. + * server.c: Likewise. + * configure.ac: Don't check for unistd.h. + * configure: Regenerate. + +2013-06-28 Tom Tromey <tromey@redhat.com> + + * Makefile.in (version.c): Use version.in, not + common/version.in. + +2013-06-28 Mircea Gherzan <mircea.gherzan@intel.com> + + * configure.ac (version_host, version_target): Set and AC_SUBST them. + * configure: Rebuild. + * Makefile.in (version_host, version_target): Get from configure. + (version.c): Use $(version_host) and $(version_target). + +2013-06-10 Dmitry Kozlov <ddk@codesourcery.com> + + Fix trace-status to output user name without trailing colon. + * tracepoint.c (cmd_qtstatus): Remove unnecessary colon from user name. + +2013-06-10 Dmitry Kozlov <ddk@codesourcery.com> + + Fix trace-status to output proper start-time and stop-time. + * tracepoint.c (cmd_qtstatus): Modify trace-status output to + output start time and stop time in hex as gdb expects. + +2013-06-26 Pedro Alves <pedro@codesourcery.com> + + * tracepoint.c (build_traceframe_info_xml): Output trace state + variables present in the trace buffer. + +2013-06-24 Tom Tromey <tromey@redhat.com> + + * Makefile.in (version.c): Use bfd/version.h, common/version.in, + create-version.sh. + (version.o): Remove. + * gdbreplay.c: Include version.h. + (version, host_name): Don't declare. + * server.h: Include version.h. + (version, host_name): Don't declare. + +2013-06-12 Pedro Alves <palves@redhat.com> + + * linux-x86-low.c (linux_is_elf64): Delete global. + (x86_siginfo_fixup): Replace reference to `linux_is_elf64' global + with local linux_pid_exe_is_elf_64_file use. + +2013-06-11 Pedro Alves <palves@redhat.com> + + * linux-low.c (regset_disabled, disable_regset): New functions. + (regsets_fetch_inferior_registers) + (regsets_store_inferior_registers): Use them. + (initialize_regsets_info); Don't allocate the disabled_regsets + array here. + * linux-low.h (struct regsets_info) <disabled_regsets>: Extend + comment. + +2013-06-11 Pedro Alves <palves@redhat.com> + + * linux-low.c (initialize_regsets_info): Use xcalloc instead of + xmalloc. + +2013-06-11 Pedro Alves <palves@redhat.com> + + * linux-x86-low.c (initialize_low_arch): Call + init_registers_x32_avx_linux. + +2013-06-09 Jan Kratochvil <jan.kratochvil@redhat.com> + + Fix compatibility with Android Bionic. + * linux-low.c (linux_qxfer_libraries_svr4): Ignore first entry even if + it is not empty. + +2013-06-07 Pedro Alves <palves@redhat.com> + + PR server/14823 + * Makefile.in (OBS): Add tdesc.o. + (IPA_OBJS): Add tdesc-ipa.o. + (tdesc-ipa.o): New rule. + * ax.c (gdb_eval_agent_expr): Adjust register_size call to new + interface. + * linux-low.c (new_inferior): Delete. + (disabled_regsets, num_regsets): Delete. + (linux_add_process): Adjust to set the new per-process + new_inferior flag. + (linux_detach_one_lwp): Adjust to call regcache_invalidate_thread. + (linux_wait_for_lwp): Adjust. Only call arch_setup if the event + was a stop. When calling arch_setup, switch the current inferior + to the thread that got an event. + (linux_resume_one_lwp): Adjust to call regcache_invalidate_thread. + (regsets_fetch_inferior_registers) + (regsets_store_inferior_registers): New regsets_info parameter. + Adjust to use it. + (linux_register_in_regsets): New regs_info parameter. Adjust to + use it. + (register_addr, fetch_register, store_register): New usrregs_info + parameter. Adjust to use it. + (usr_fetch_inferior_registers, usr_store_inferior_registers): New + parameter regs_info. Adjust to use it. + (linux_fetch_registers): Get the current inferior's regs_info, and + adjust to use it. + (linux_store_registers): Ditto. + [HAVE_LINUX_REGSETS] (initialize_regsets_info): New. + (initialize_low): Don't initialize the target_regsets here. Call + initialize_low_arch. + * linux-low.h (target_regsets): Delete declaration. + (struct regsets_info): New. + (struct usrregs_info): New. + (struct regs_info): New. + (struct process_info_private) <new_inferior>: New field. + (struct linux_target_ops): Delete the num_regs, regmap, and + regset_bitmap fields. New field regs_info. + [HAVE_LINUX_REGSETS] (initialize_regsets_info): Declare. + * i387-fp.c (num_xmm_registers): Delete. + (i387_cache_to_fsave, i387_fsave_to_cache): Adjust find_regno + calls to new interface. + (i387_cache_to_fxsave, i387_cache_to_xsave, i387_fxsave_to_cache) + (i387_xsave_to_cache): Adjust find_regno calls to new interface. + Infer the number of xmm registers from the regcache's target + description. + * i387-fp.h (num_xmm_registers): Delete. + * inferiors.c (add_thread): Don't install the thread's regcache + here. + * proc-service.c (gregset_info): Fetch the current inferior's + regs_info. Adjust to use it. + * regcache.c: Include tdesc.h. + (register_bytes, reg_defs, num_registers) + (gdbserver_expedite_regs): Delete. + (get_thread_regcache): If the thread doesn't have a regcache yet, + create one, instead of aborting gdbserver. + (regcache_invalidate_one): Rename to ... + (regcache_invalidate_thread): ... this. + (regcache_invalidate_one): New. + (regcache_invalidate): Only invalidate registers of the current + process. + (init_register_cache): Add target_desc parameter, and use it. + (new_register_cache): Ditto. Assert the target description has a + non zero registers_size. + (regcache_cpy): Add assertions. Adjust. + (realloc_register_cache, set_register_cache): Delete. + (registers_to_string, registers_from_string): Adjust. + (find_register_by_name, find_regno, find_register_by_number) + (register_cache_size): Add target_desc parameter, and use it. + (free_register_cache_thread, free_register_cache_thread_one) + (regcache_release, register_cache_size): New. + (register_size): Add target_desc parameter, and use it. + (register_data, supply_register, supply_register_zeroed) + (supply_regblock, supply_register_by_name, collect_register) + (collect_register_as_string, collect_register_by_name): Adjust. + * regcache.h (struct target_desc): Forward declare. + (struct regcache) <tdesc>: New field. + (init_register_cache, new_register_cache): Add target_desc + parameter. + (regcache_invalidate_thread): Declare. + (regcache_invalidate_one): Delete declaration. + (regcache_release): Declare. + (find_register_by_number, register_cache_size, register_size) + (find_regno): Add target_desc parameter. + (gdbserver_expedite_regs, gdbserver_xmltarget): Delete + declarations. + * remote-utils.c: Include tdesc.h. + (outreg, prepare_resume_reply): Adjust. + * server.c: Include tdesc.h. + (gdbserver_xmltarget): Delete declaration. + (get_features_xml, process_serial_event): Adjust. + * server.h [IN_PROCESS_AGENT] (struct target_desc): Forward + declare. + (struct process_info) <tdesc>: New field. + (ipa_tdesc): Declare. + * tdesc.c: New file. + * tdesc.h: New file. + * tracepoint.c: Include tdesc.h. + [IN_PROCESS_AGENT] (ipa_tdesc): Define. + (get_context_regcache): Adjust to pass ipa_tdesc down. + (do_action_at_tracepoint): Adjust to get the register cache size + from the context regcache's description. + (traceframe_walk_blocks): Adjust to get the register cache size + from the current trace frame's description. + (traceframe_get_pc): Adjust to get current trace frame's + description and pass it down. + (gdb_collect): Adjust to get the register cache size from the + IPA's description. + * linux-amd64-ipa.c (tdesc_amd64_linux): Declare. + (gdbserver_xmltarget): Delete. + (initialize_low_tracepoint): Set the ipa's target description. + * linux-i386-ipa.c (tdesc_i386_linux): Declare. + (initialize_low_tracepoint): Set the ipa's target description. + * linux-x86-low.c: Include tdesc.h. + [__x86_64__] (is_64bit_tdesc): New. + (ps_get_thread_area, x86_get_thread_area): Use it. + (i386_cannot_store_register): Rename to ... + (x86_cannot_store_register): ... this. Use is_64bit_tdesc. + (i386_cannot_fetch_register): Rename to ... + (x86_cannot_fetch_register): ... this. Use is_64bit_tdesc. + (x86_fill_gregset, x86_store_gregset): Adjust register_size calls + to new interface. + (target_regsets): Rename to ... + (x86_regsets): ... this. + (x86_get_pc, x86_set_pc): Adjust register_size calls to new + interface. + (x86_siginfo_fixup): Use is_64bit_tdesc. + [__x86_64__] (tdesc_amd64_linux, tdesc_amd64_avx_linux) + (tdesc_x32_avx_linux, tdesc_x32_linux) + (tdesc_i386_linux, tdesc_i386_mmx_linux, tdesc_i386_avx_linux): + Declare. + (x86_linux_update_xmltarget): Delete. + (I386_LINUX_XSAVE_XCR0_OFFSET): Define. + (have_ptrace_getfpxregs, have_ptrace_getregset): New. + (AMD64_LINUX_USER64_CS): New. + (x86_linux_read_description): New, based on + x86_linux_update_xmltarget. + (same_process_callback): New. + (x86_arch_setup_process_callback): New. + (x86_linux_update_xmltarget): New. + (x86_regsets_info): New. + (amd64_linux_regs_info): New. + (i386_linux_usrregs_info): New. + (i386_linux_regs_info): New. + (x86_linux_regs_info): New. + (x86_arch_setup): Reimplement. + (x86_install_fast_tracepoint_jump_pad): Use is_64bit_tdesc. + (x86_emit_ops): Ditto. + (the_low_target): Adjust. Install x86_linux_regs_info, + x86_cannot_fetch_register, and x86_cannot_store_register. + (initialize_low_arch): New. + * linux-ia64-low.c (tdesc_ia64): Declare. + (ia64_fetch_register): Adjust. + (ia64_usrregs_info, regs_info): New globals. + (ia64_regs_info): New function. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-sparc-low.c (tdesc_sparc64): Declare. + (sparc_fill_gregset_to_stack, sparc_store_gregset_from_stack): + Adjust. + (sparc_arch_setup): New function. + (sparc_regsets_info, sparc_usrregs_info, regs_info): New globals. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-ppc-low.c (tdesc_powerpc_32l, tdesc_powerpc_altivec32l) + (tdesc_powerpc_cell32l, tdesc_powerpc_vsx32l) + (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_altivec32l) + (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_e500l) + (tdesc_powerpc_64l, tdesc_powerpc_altivec64l) + (tdesc_powerpc_cell64l, tdesc_powerpc_vsx64l) + (tdesc_powerpc_isa205_64l, tdesc_powerpc_isa205_altivec64l) + (tdesc_powerpc_isa205_vsx64l): Declare. + (ppc_cannot_store_register, ppc_collect_ptrace_register) + (ppc_supply_ptrace_register, parse_spufs_run, ppc_get_pc) + (ppc_set_pc, ppc_get_hwcap): Adjust. + (ppc_usrregs_info): Forward declare. + (!__powerpc64__) ppc_regmap_adjusted: New global. + (ppc_arch_setup): Adjust to the current process'es target + description. + (ppc_fill_vsxregset, ppc_store_vsxregset, ppc_fill_vrregset) + (ppc_store_vrregset, ppc_fill_evrregset, ppc_store_evrregse) + (ppc_store_evrregset): Adjust. + (target_regsets): Rename to ... + (ppc_regsets): ... this, and make static. + (ppc_usrregs_info, ppc_regsets_info, regs_info): New globals. + (ppc_regs_info): New function. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-s390-low.c (tdesc_s390_linux32, tdesc_s390_linux32v1) + (tdesc_s390_linux32v2, tdesc_s390_linux64, tdesc_s390_linux64v1) + (tdesc_s390_linux64v2, tdesc_s390x_linux64, tdesc_s390x_linux64v1) + (tdesc_s390x_linux64v2): Declare. + (s390_collect_ptrace_register, s390_supply_ptrace_register) + (s390_fill_gregset, s390_store_last_break): Adjust. + (target_regsets): Rename to ... + (s390_regsets): ... this, and make static. + (s390_get_pc, s390_set_pc): Adjust. + (s390_get_hwcap): New target_desc parameter, and use it. + [__s390x__] (have_hwcap_s390_high_gprs): New global. + (s390_arch_setup): Adjust to set the current process'es target + description. Don't adjust the regmap. + (s390_usrregs_info, s390_regsets_info, regs_info): New globals. + [__s390x__] (s390_usrregs_info_3264, s390_regsets_info_3264) + (regs_info_3264): New globals. + (s390_regs_info): New function. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-mips-low.c (tdesc_mips_linux, tdesc_mips_dsp_linux) + (tdesc_mips64_linux, tdesc_mips64_dsp_linux): Declare. + [__mips64] (init_registers_mips_linux) + (init_registers_mips_dsp_linux): Delete defines. + [__mips64] (tdesc_mips_linux, tdesc_mips_dsp_linux): New defines. + (have_dsp): New global. + (mips_read_description): New, based on mips_arch_setup. + (mips_arch_setup): Reimplement. + (get_usrregs_info): New function. + (mips_cannot_fetch_register, mips_cannot_store_register) + (mips_get_pc, mips_set_pc, mips_fill_gregset, mips_store_gregset) + (mips_fill_fpregset, mips_store_fpregset): Adjust. + (target_regsets): Rename to ... + (mips_regsets): ... this, and make static. + (mips_regsets_info, mips_dsp_usrregs_info, mips_usrregs_info) + (dsp_regs_info, regs_info): New globals. + (mips_regs_info): New function. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-arm-low.c (tdesc_arm, tdesc_arm_with_iwmmxt) + (tdesc_arm_with_vfpv2, tdesc_arm_with_vfpv3, tdesc_arm_with_neon): + Declare. + (arm_fill_vfpregset, arm_store_vfpregset): Adjust. + (arm_read_description): New, with bits factored from + arm_arch_setup. + (arm_arch_setup): Reimplement. + (target_regsets): Rename to ... + (arm_regsets): ... this, and make static. + (arm_regsets_info, arm_usrregs_info, regs_info): New globals. + (arm_regs_info): New function. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-m68k-low.c (tdesc_m68k): Declare. + (target_regsets): Rename to ... + (m68k_regsets): ... this, and make static. + (m68k_regsets_info, m68k_usrregs_info, regs_info): New globals. + (m68k_regs_info): New function. + (m68k_arch_setup): New function. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-sh-low.c (tdesc_sharch): Declare. + (target_regsets): Rename to ... + (sh_regsets): ... this, and make static. + (sh_regsets_info, sh_usrregs_info, regs_info): New globals. + (sh_regs_info, sh_arch_setup): New functions. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-bfin-low.c (tdesc_bfin): Declare. + (bfin_arch_setup): New function. + (bfin_usrregs_info, regs_info): New globals. + (bfin_regs_info): New function. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-cris-low.c (tdesc_cris): Declare. + (cris_arch_setup): New function. + (cris_usrregs_info, regs_info): New globals. + (cris_regs_info): New function. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-cris-low.c (tdesc_crisv32): Declare. + (cris_arch_setup): New function. + (cris_regsets_info, cris_usrregs_info, regs_info): New globals. + (cris_regs_info): New function. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-m32r-low.c (tdesc_m32r): Declare. + (m32r_arch_setup): New function. + (m32r_usrregs_info, regs_info): New globals. + (m32r_regs_info): Adjust. + (initialize_low_arch): New function. + * linux-tic6x-low.c (tdesc_tic6x_c64xp_linux) + (tdesc_tic6x_c64x_linux, tdesc_tic6x_c62x_linux): Declare. + (tic6x_usrregs_info): Forward declare. + (tic6x_read_description): New function, based on ... + (tic6x_arch_setup): ... this. Reimplement. + (target_regsets): Rename to ... + (tic6x_regsets): ... this, and make static. + (tic6x_regsets_info, tic6x_usrregs_info, regs_info): New globals. + (tic6x_regs_info): New function. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-xtensa-low.c (tdesc_xtensa): Declare. + (xtensa_fill_gregset, xtensa_store_gregset): Adjust. + (target_regsets): Rename to ... + (xtensa_regsets): ... this, and make static. + (xtensa_regsets_info, xtensa_usrregs_info, regs_info): New + globals. + (xtensa_arch_setup, xtensa_regs_info): New functions. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-nios2-low.c (tdesc_nios2_linux): Declare. + (nios2_arch_setup): Set the current process'es tdesc. + (target_regsets): Rename to ... + (nios2_regsets): ... this. + (nios2_regsets_info, nios2_usrregs_info, regs_info): New globals. + (nios2_regs_info): New function. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-aarch64-low.c (tdesc_aarch64): Declare. + (aarch64_arch_setup): Set the current process'es tdesc. + (target_regsets): Rename to ... + (aarch64_regsets): ... this. + (aarch64_regsets_info, aarch64_usrregs_info, regs_info): New globals. + (aarch64_regs_info): New function. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * linux-tile-low.c (tdesc_tilegx, tdesc_tilegx32): Declare + globals. + (target_regsets): Rename to ... + (tile_regsets): ... this. + (tile_regsets_info, tile_usrregs_info, regs_info): New globals. + (tile_regs_info): New function. + (tile_arch_setup): Set the current process'es tdesc. + (the_low_target): Adjust. + (initialize_low_arch): New function. + * spu-low.c (tdesc_spu): Declare. + (spu_create_inferior, spu_attach): Set the new process'es tdesc. + * win32-arm-low.c (tdesc_arm): Declare. + (arm_arch_setup): New function. + (the_low_target): Install arm_arch_setup instead of + init_registers_arm. + * win32-i386-low.c (tdesc_i386, tdesc_amd64): Declare. + (init_windows_x86): Rename to ... + (i386_arch_setup): ... this. Set `win32_tdesc'. + (the_low_target): Adjust. + * win32-low.c (win32_tdesc): New global. + (child_add_thread): Don't create the thread cache here. + (do_initial_child_stuff): Set the new process'es tdesc. + * win32-low.h (struct target_desc): Forward declare. + (win32_tdesc): Declare. + * lynx-i386-low.c (tdesc_i386): Declare global. + (lynx_i386_arch_setup): Set `lynx_tdesc'. + * lynx-low.c (lynx_tdesc): New global. + (lynx_add_process): Set the new process'es tdesc. + * lynx-low.h (struct target_desc): Forward declare. + (lynx_tdesc): Declare global. + * lynx-ppc-low.c (tdesc_powerpc_32): Declare global. + (lynx_ppc_arch_setup): Set `lynx_tdesc'. + * nto-low.c (nto_tdesc): New global. + (do_attach): Set the new process'es tdesc. + * nto-low.h (struct target_desc): Forward declare. + (nto_tdesc): Declare. + * nto-x86-low.c (tdesc_i386): Declare. + (nto_x86_arch_setup): Set `nto_tdesc'. + +2013-06-04 Gary Benson <gbenson@redhat.com> + + * server.c (handle_query): Add "augmented-libraries-svr4-read+" + to qSupported response when appropriate. + (handle_qxfer_libraries_svr4): Allow qXfer:libraries-svr4:read + with nonzero-length annex. + * linux-low.c (linux_qxfer_libraries_svr4): Parse and handle + arguments supplied in annex. + +2013-05-31 Doug Evans <dje@google.com> + + PR server/15594 + * linux-x86-low.c (ps_get_thread_area): Properly extend address to + 64 bits in 64-cross-32 environment. + +2013-05-28 Pedro Alves <palves@redhat.com> + + * Makefile.in (clean): Remove reference to aarch64-without-fpu.c. + (aarch64-without-fpu.c): Delete rule. + * configure.srv (aarch64*-*-linux*): Remove references to + aarch64-without-fpu.o and aarch64-without-fpu.xml. + * linux-aarch64-low.c (init_registers_aarch64_without_fpu): Remove + declaration. + +2013-05-24 Pedro Alves <palves@redhat.com> + + * server.c (handle_v_cont) <vCont;r>: Use unpack_varlen_hex + instead of strchr/decode_address. Error if the range isn't split + with a ','. Don't assume there's be a ':' in the action. + +2013-05-23 Yao Qi <yao@codesourcery.com> + Pedro Alves <palves@redhat.com> + + * linux-low.c (lwp_in_step_range): New function. + (linux_wait_1): If the thread was range stepping and stopped + outside the stepping range, report the stop to GDB. Otherwise, + continue stepping. Add range stepping debug output. + (linux_set_resume_request): Copy the step range from the resume + request to the lwp. + (linux_supports_range_stepping): New. + (linux_target_ops) <supports_range_stepping>: Set to + linux_supports_range_stepping. + * linux-low.h (struct linux_target_ops) + <supports_range_stepping>: New field. + (struct lwp_info) <step_range_start, step_range_end>: New fields. + * linux-x86-low.c (x86_supports_range_stepping): New. + (the_low_target) <supports_range_stepping>: Set to + x86_supports_range_stepping. + * server.c (handle_v_cont): Handle 'r' action. + (handle_v_requests): Append ";r" if the target supports range + stepping. + * target.h (struct thread_resume) <step_range_start, + step_range_end>: New fields. + (struct target_ops) <supports_range_stepping>: + New field. + (target_supports_range_stepping): New macro. + +2013-05-17 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (lynx_resume): Fix null_ptid/minus_one_ptid + confusion in comment. + +2013-05-17 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (struct process_info_private): New type. + (lynx_add_process): New function. + (lynx_create_inferior, lynx_attach): Replace calls to + add_process by calls to lynx_add_process. + (lynx_resume): If PTID is null, then try using + current_process()->private->last_wait_event_ptid. + Add comments. + (lynx_clear_inferiors): Delete. The contents of that function + has been inlined in lynx_mourn; + (lynx_wait_1): Save the ptid in the process's private data. + (lynx_mourn): Free the process' private data. Replace call + to lynx_clear_inferiors by call to clear_inferiors. + +2013-05-17 Yao Qi <yao@codesourcery.com> + + * i386-low.c (i386_length_and_rw_bits): Move the comment to + the right place. + +2013-05-16 Luis Machado <lgustavo@codesourcery.com> + + * linux-low.c: Move definition checks upwards for PT_TEXT_ADDR, + PT_DATA_ADDR and PT_TEXT_END_ADDR. Update comments. + (linux_read_offsets): Remove PT_TEXT_ADDR, PT_DATA_ADDR and + PT_TEXT_END_ADDR guards. Update comments. + (linux_target_op) <read_offsets>: Conditionally define to + linux_read_offsets if the target is UCLIBC and if it defines + PT_TEXT_ADDR, PT_DATA_ADDR and PT_TEXT_END_ADDR. + +2013-05-06 Sandra Loosemore <sandra@codesourcery.com> + Andrew Jenner <andrew@codesourcery.com> + + * Makefile.in (SFILES): Add linux-nios2-low.c. + (clean): Add action to delete nios2-linux.c. + (nios2-linux.c): New rule. + * configure.srv: Add nios2*-*-linux*. + * linux-nios2-low.c: New. + +2013-05-03 Hafiz Abid Qadeer <abidh@codesourcery.com> + + * tracepoint.c (cmd_qtinit): Call 'stop_tracing'. + +2013-04-25 Hui Zhu <hui@codesourcery.com> + + PR gdb/15186 + * ax.c (ax_printf): Add fflush. + +2013-04-22 Tom Tromey <tromey@redhat.com> + + * Makefile.in (SFILES): Add filestuff.c. + (OBS): Add filestuff.o. + (filestuff.o): New target. + * config.in, configure: Rebuild. + * configure.ac: Check for fdwalk, pipe2. + +2013-04-17 Pedro Alves <palves@redhat.com> + + * configure.ac (USE_THREAD_DB): Delete variable. + (if test "$srv_linux_thread_db" = "yes"): AC_DEFINE USE_THREAD_DB. + Don't AC_SUBST USE_THREAD_DB. + * Makefile.in (INTERNAL_CFLAGS): Remove @USE_THREAD_DB@. + * config.in, configure: Regenerate. + +2013-04-16 Pedro Alves <palves@redhat.com> + + * linux-low.h (struct lwp_info) <thread_known>: Move under + the USE_THREAD_DB #ifdef. + +2013-04-16 Pedro Alves <palves@redhat.com> + + * Makefile.in (INTERNAL_CFLAGS): Add @USE_THREAD_DB@. + (linux-low.o): Delete rule. + * linux-low.h: Always include "gdb_thread_db.h" instead of + conditionally including thread_db.h. + (struct lwp_info) <th>: Guard with #ifdef USE_THREAD_DB instead of + HAVE_THREAD_DB_H. + +2013-04-07 Jan Kratochvil <jan.kratochvil@redhat.com> + + * Makefile.in (install-only): Fix make install regression. + +2013-04-05 Jan Kratochvil <jan.kratochvil@redhat.com> + + Convert man pages to texinfo, new gdbinit.5 texinfo page. + * Makefile.in (install-only): Remove $(man1dir) and gdbserver.1 + installation. + * gdbserver.1: Remove. + +2013-03-22 Pedro Alves <palves@redhat.com> + + * linux-low.c (handle_extended_wait): Don't call + linux_enable_event_reporting. + +2013-03-15 Tony Theodore <tonyt@logyst.com> + + PR build/9098: + * Makefile.in (SHELL): Use @SHELL@. + +2013-03-14 Sergio Durigan Junior <sergiodj@redhat.com> + + * tracepoint.c (cmd_qtv): Initialize `val' with zero, silencing + compiler warning. + +2013-03-13 Joel Brobecker <brobecker@adacore.com> + + * linux-low.c (linux_target_ops) [!HAVE_LINUX_BTRACE]: + Remove extraneous NULL element. + +2013-03-13 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (traceframe_read_tsv): Look for the last matched + 'V' block in trace frame. + +2013-03-11 Markus Metzger <markus.t.metzger@intel.com> + + * target.h (struct target_ops): Add btrace ops. + (target_supports_btrace): New macro. + (target_enable_btrace): New macro. + (target_disable_btrace): New macro. + (target_read_btrace): New macro. + * gdbthread.h (struct thread_info): Add btrace field. + * server.c: Include btrace-common.h. + (handle_btrace_general_set): New function. + (handle_btrace_enable): New function. + (handle_btrace_disable): New function. + (handle_general_set): Call handle_btrace_general_set. + (handle_qxfer_btrace): New function. + (struct qxfer qxfer_packets[]): Add btrace entry. + * inferiors.c (remove_thread): Disable btrace. + * linux-low: Include linux-btrace.h. + (linux_low_enable_btrace): New function. + (linux_low_read_btrace): New function. + (linux_target_ops): Add btrace ops. + * configure.srv (i[34567]86-*-linux*): Add linux-btrace.o. + Add srv_linux_btrace=yes. + (x86_64-*-linux*): Add linux-btrace.o. + Add srv_linux_btrace=yes. + * configure.ac: Define HAVE_LINUX_BTRACE. + * config.in: Regenerated. + * configure: Regenerated. + +2013-03-11 Markus Metzger <markus.t.metzger@intel.com> + + * server.c (handle_qxfer): Preserve error message if -3 is + returned. + (qxfer): Document the -3 return value. + +2013-03-11 Markus Metzger <markus.t.metzger@intel.com> + + * Makefile.in (SFILES): Add $(srcdir)/common/linux-btrace.c. + (linux_btrace_h): New variable. + (linux-btrace.o): New rule. + +2013-03-08 Stan Shebs <stan@codesourcery.com> + Hafiz Abid Qadeer <abidh@codesourcery.com> + + * tracepoint.c (trace_buffer_size): New global. + (DEFAULT_TRACE_BUFFER_SIZE): New define. + (init_trace_buffer): Change to one-argument function. Allocate + trace buffer memory. + (handle_tracepoint_general_set): Call cmd_bigqtbuffer_size to + handle QTBuffer:size packet. + (cmd_bigqtbuffer_size): New function. + (initialize_tracepoint): Call init_trace_buffer with + DEFAULT_TRACE_BUFFER_SIZE. + * server.c (handle_query): Add QTBuffer:size in the + supported packets. + +2013-03-07 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (cur_action, cur_step_action): Make them unsigned. + (cmd_qtfp): Initialize cur_action and cur_step_action 0 instead + of -1. + (cmd_qtsp): Adjust condition. Do post increment. + Set cur_action and cur_step_action back to 0. + +2013-03-07 Jeremy Bennett <jeremy.bennett@embecosm.com> + + PR server/15236 + * linux-low.c (linux_write_memory): Return early success if LEN is + zero. + +2013-03-05 Corinna Vinschen <vinschen@redhat.de> + + * configure.srv: Add x86_64-*-cygwin* as target. + +2013-02-28 Tom Tromey <tromey@redhat.com> + + * configure.ac: Invoke AC_SYS_LARGEFILE. + * configure, config.in: Rebuild. + +2013-02-28 Corinna Vinschen <vinschen@redhat.com> + + * win32-low.c: Throughout, fix format strings and casts of + printf-like functions to avoid type related warnings on all + platforms. + (get_child_debug_event): Print dwDebugEventCode as hex since + that's how it's usually documented. + +2013-02-28 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (cmd_qtbuffer): Call phex_nz instead of + pulongest. + +2013-02-27 Jiong Wang <jiwang@tilera.com> + + * Makefile.in (clean): Remove reg-tilegx.c, reg-tilegx32.c. + (reg-tilegx32.c): New rule. + * configure.srv (tilegx-*-linux*): Add reg-tilegx32.o to srv_regobj. + * linux-tile-low.c (tile_arch_setup): New function. Invoke + different register info initializer according to elf class. + (init_registers_tilgx32): New function. The tilegx32 register info + initializer. + (tile_fill_gregset): Use "uint_reg_t" to represent register size. + (tile_store_gregset): Likewise. + +2013-02-27 Yao Qi <yao@codesourcery.com> + + * server.c (process_point_options): Print debug message when + debug_threads is true. + +2013-02-26 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (cmd_qtbuffer): Don't set '\0' in OWN_BUF. + +2013-02-19 Pedro Alves <palves@redhat.com> + Kai Tietz <ktietz@redhat.com> + + PR gdb/15161 + + * server.c (handle_query) <CRC check>: Use unpack_varlen_hex + instead of strtoul to extract address from packet. + (process_serial_event) <'z'>: Likewise. + +2013-02-18 Yao Qi <yao@codesourcery.com> + + * linux-bfin-low.c (the_low_target): Use NULL instead of 0. + +2013-02-14 Pedro Alves <palves@redhat.com> + + Plug memory leak. + + * tracepoint.c (cmd_qtnotes): Free TRACING_USER_NAME, + TRACING_NOTES and TRACING_STOP_NOTE before clobbering. + +2013-02-14 Pedro Alves <palves@redhat.com> + + * tracepoint.c (cmd_qtdpsrc): Use savestring. + +2013-02-14 Pedro Alves <palves@redhat.com> + + * tracepoint.c (save_string): Delete. + (add_tracepoint_action): Use savestring instead of save_string. + +2013-02-12 Pedro Alves <palves@redhat.com> + + * linux-xtensa-low.c: Ditto. + * xtensa-xtregs.c: Ditto. + +2013-02-12 Sanimir Agovic <sanimir.agovic@intel.com> + + * thread-db.c (thread_db_get_tls_address): NULL pointer check + thread_db. + +2013-02-07 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * linux-aarch64-low.c (aarch64_arch_setup): Clamp + aarch64_num_wp_regs and aarch64_num_bp_regs to + AARCH64_HWP_MAX_NUM and AARCH64_HBP_MAX_NUM respectively. + +2013-02-07 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * linux-aarch64-low.c (ps_get_thread_area): Replace + PTRACE_GET_THREAD_AREA with PTRACE_GETREGSET. + +2013-02-04 Jim MacArthur <jim.macarthur@arm.com> + Marcus Shawcroft <marcus.shawcroft@arm.com> + Nigel Stephens <nigel.stephens@arm.com> + Yufeng Zhang <yufeng.zhang@arm.com> + + * Makefile.in (clean): Remove aarch64.c and aarch64-without-fpu.c. + (aarch64.c, aarch64-without-fpu.c): New targets. + * configure.srv (aarch64*-*-linux*): New. + * linux-aarch64-low.c: New file. + +2013-02-04 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * linux-low.c (handle_extended_wait, linux_create_inferior) + (linux_attach_lwp_1, linux_kill_one_lwp, linux_attach_one_lwp) + (dequeue_one_deferred_signal, linux_resume_one_thread) + (fetch_register, linux_write_memory, linux_enable_event_reporting) + (linux_tracefork_grandchild, linux_test_for_tracefork) + (linux_read_offsets, linux_xfer_siginfo, linux_xfer_siginfo): Add + PTRACE_ARG3_TYPE and PTRACE_ARG4_TYPE cast to ptrace arguments + where the argument is 0. + +2013-01-25 Yao Qi <yao@codesourcery.com> + + * event-loop.c: Include "queue.h". + (gdb_event_p): New typedef. + (struct gdb_event) <next_event>: Remove. + (event_queue): Change to QUEUE(gdb_event_p). + (async_queue_event): Remove. + (gdb_event_xfree): New. + (initialize_event_loop): New. + (process_event): Use API from QUEUE. + (wait_for_event): Likewise. + * server.c (main): Call initialize_event_loop. + * server.h (initialize_event_loop): Declare. + +2013-01-18 Yao Qi <yao@codesourcery.com> + + * ax.h (struct eval_agent_expr_context): New. + (gdb_eval_agent_expr): Update declaration. + * ax.c (gdb_eval_agent_expr): Remove argument REGCACHE and + TFRAME. Add new argument CTX. + * server.h (struct eval_agent_expr_context): Declare. + (agent_mem_read, agent_tsv_read): Update declaration. + (agent_mem_read_string): Likewise. + * tracepoint.c (eval_tracepoint_agent_expr): Remove. + (add_traceframe_block): Add new argument TPOINT. + Increase TPOINT->traceframe_usage. + (do_action_at_tracepoint): Call gdb_eval_agent_expr instead of + eval_tracepoint_agent_expr. + (condition_true_at_tracepoint): Likewise. + (agent_mem_read): Remove argument TFRAME. Add argument CTX. + (agent_mem_read_string, agent_tsv_read): Likewise. + +2013-01-16 Yao Qi <yao@codesourcery.com> + + * linux-low.c (linux_resume_one_lwp): Don't check + 'lwp->bp_reinsert != 0'. + +2013-01-07 Joel Brobecker <brobecker@adacore.com> + Pedro Alves <palves@redhat.com> + + * lynx-low.c (ptrace_request_to_str): Define a temporary + macro and use it to simplify this function's implementation. + +2013-01-07 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (lynx_resume): Call perror_with_name if lynx_ptrace + sets errno. + +2013-01-07 Joel Brobecker <brobecker@adacore.com> + + * configure.srv (i[34567]86-*-lynxos*): Set srv_xmlfiles. + +2013-01-07 Joel Brobecker <brobecker@adacore.com> + + * configure.srv (powerpc-*-lynxos*): Set srv_xmlfiles. + +2013-01-07 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (lynx_resume): Use the resume_info parameter + to determine the ptid for the lynx_ptrace call, unless + it is equal to minus_one_ptid, in which case we use the + ptid of the current_inferior. + (lynx_wait_1): After having received a thread create/exit + event, resume the inferior's execution using the signaling + thread's ptid, rather than the old ptid. + +2013-01-07 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (lynx_resume): Delete variable ret. + +2013-01-01 Joel Brobecker <brobecker@adacore.com> + + * gdbreplay.c (gdbreplay_version): Update copyright year. + * server.c (gdbserver_version): Likewise. + +2012-12-17 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (lynx_wait_1): Add debug trace before adding + new thread. + +2012-12-17 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (ptrace_request_to_str): Add handling for + PTRACE_GETTRACESIG. + +2012-12-17 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (lynx_attach): Delete variable new_process. + +2012-12-17 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (lynx_create_inferior): Delete variable + new_process. + +2012-12-17 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (ptrace_request_to_str): Do not handle + PTRACE_GETTHREADLIST if this macro does not exist. + +2012-12-15 Yao Qi <yao@codesourcery.com> + + * Makefile.in (OBS): Add notif.o. + * notif.c, notif.h: New. + * server.c: Include "notif.h". + (struct vstop_notif) <next>: Remove. + <base>: New field. + (queue_stop_reply): Update. + (push_event, send_next_stop_reply): Remove. + (discard_queued_stop_replies): Update. + (notif_stop): New variable. + (handle_v_stopped): Remove. + (handle_v_requests): Don't call handle_v_stopped. Call + handle_ack_notif instead. + (queue_stop_reply_callback): Call notif_event_enque instead + of queue_stop_reply. + (handle_status): Don't call send_next_stop_reply, call + notif_write_event instead. + (kill_inferior_callback): Likewise. + (detach_or_kill_inferior_callback): Likewise. + (main): Call initialize_notif. + (process_serial_event): Call QUEUE_is_empty. + (handle_target_event): Call notif_push instead of push event. + * server.h (push_event): Remove declaration. + +2012-12-10 Tom Tromey <tromey@redhat.com> + + * Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.pre) + (COMPILE.post, COMPILE, POSTCOMPILE, IPAGENT_COMPILE): New + macros. + (.c.o): Rewrite. + (ax-ipa.o, tracepoint-ipa.o, utils-ipa.o, format-ipa.o) + (common-utils-ipa.o, remote-utils-ipa.o, regcache-ipa.o) + (i386-linux-ipa.o, linux-i386-ipa.o, linux-amd64-ipa.o) + (amd64-linux-ipa.o, ax.o): Rewrite. + (event-loop.o, hostio.o, hostio-errno.o, inferiors.o, mem-break.o) + (proc-service.o, regcache.o, remote-utils.o, server.o, target.o) + (thread-db.o, tracepoint.o, utils.o, gdbreplay.o, dll.o): Remove. + (signals.o, linux-procfs.o, linux-ptrace.o, common-utils.o, vec.o) + (gdb_vecs.o, xml-utils.o, linux-osdata.o, ptid.o, buffer.o) + (format.o, agent.o, vasprintf.o, vsnprintf.o): Rewrite. + (i386-low.o, i387-fp.o, linux-low.o, linux-arm-low.o) + (linux-bfin-low.o, linux-cris-low.o, linux-crisv32-low.o) + (linux-ia64-low.o, linux-m32r-low.o, linux-mips-low.o) + (linux-ppc-low.o, linux-s390-low.o, linux-sh-low.o) + (linux-tic6x-low.o, linux-x86-low.o, linux-xtensa-low.o) + (linux-tile-low.o, lynx-low.o, lynx-ppc-low.o, nto-low.o) + (nto-x86-low.o, linux-low.o, win32-low.o, win32-arm-low.o) + (win32-i386-low.o, spu-low.o, reg-arm.o, arm-with-iwmmxt.o) + (arm-with-vfpv2.o, arm-with-vfpv3.o, arm-with-neon.o, reg-bfin.o) + (reg-cris.o, reg-crisv32.o, i386.o, i386-linux.o, i386-avx.o) + (i386-avx-linux.o, i386-mmx.o, i386-mmx-linux.o, reg-ia64.o) + (reg-m32r.o, reg-m68k.o, reg-cf.o, mips-linux.o, mips-dsp-linux.o) + (mips64-linux.o, mips64-dsp-linux.o, powerpc-32.o, powerpc-32l.o) + (powerpc-altivec32l.o, powerpc-cell32l.o, powerpc-vsx32l.o) + (powerpc-isa205-32l.o, powerpc-isa205-altivec32l.o) + (powerpc-isa205-vsx32l.o, powerpc-e500l.o, powerpc-64l.o) + (powerpc-altivec64l.o, powerpc-cell64l.o, powerpc-vsx64l.o) + (powerpc-isa205-64l.o, powerpc-isa205-altivec64l.o) + (powerpc-isa205-vsx64l.o, s390-linux32.o, s390-linux32v1.o) + (s390-linux32v2.o, s390-linux64.o, s390-linux64v1.o) + (s390-linux64v2.o, s390x-linux64.o, s390x-linux64v1.o) + (s390x-linux64v2.o, tic6x-c64xp-linux.o, tic6x-c64x-linux.o) + (tic6x-c62x-linux.o, reg-sh.o, reg-sparc64.o, reg-spu.o, amd64.o) + (amd64-linux.o, amd64-avx.o, amd64-avx-linux.o, x32.o) + (x32-linux.o, x32-avx.o, x32-avx-linux.o, reg-xtensa.o) + (reg-tilegx.o): Remove. + (all_object_files): New macro. + Include .deps files. + * aclocal.m4, configure: Rebuild. + * acinclude.m4: Include depstand.m4, lead-dot.m4. + * configure.ac: Invoke ZW_CREATE_DEPDIR, + ZW_PROG_COMPILER_DEPENDENCIES. Compute GMAKE condition. + +2012-12-05 Tom Tromey <tromey@redhat.com> + + PR gdb/14917: + * server.h (current_insn_ptr, emit_error): Declare 'extern'. + +2012-11-28 Markus Metzger <markus.t.metzger@intel.com> + + * configure.ac: Check for linux/perf_event.h. + * config.in: Regenerated. + * configure: Regenerated. + +2012-11-26 Maxime Villard <rustyBSD@gmx.fr> + + * hostio.c (handle_readlink): Decrease buffer size + parameter passed to readlink by one byte. + +2012-11-26 Yao Qi <yao@codesourcery.com> + + * configure.ac (build_warnings): Append '-Wempty-body'. + * configure: Regenerated. + * linux-low.c (linux_create_inferior): Use braces for empty 'if' + body. + +2012-11-15 Pierre Muller <muller@sourceware.org> + + * configure.ac (AC_CHECK_HEADERS): Add wait.h header. + * config.in: Regenerate. + * configure: Regenerate. + * linux-low.c: Use "gdb_stat.h" header instead of <sys/stat.h> header. + Use "gdb_wait.h" header instead of <sys/wait.h> header. + * lynx-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header. + * remote-utils.c: Use "gdb_stat.h" header instead of <sys/stat.h> + header. + * server.c: Remove HAVE_WAIT_H conditional. Use "gdb_wait.h" header + instead of <sys/wait.h> header. + * spu-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header. + +2012-11-13 Markus Metzger <markus.t.metzger@intel.com> + + * Makefile.in: (INTERNAL_CFLAGS): Add -DGDBSERVER + (various make rules): Remove -DGDBSERVER + +2012-11-09 Yao Qi <yao@codesourcery.com> + + * spu-low.c (current_ptid): Move it to .. + * gdbthread.h: ... here. New. + * remote-utils.c (read_ptid): Use macro 'current_ptid'. + * server.c (myresume, process_serial_event): Likewise. + * thread-db.c (thread_db_find_new_threads): Likewise. + * tracepoint.c (run_inferior_command): Likewise. + +2012-10-01 Andrew Burgess <aburgess@broadcom.com> + + * server.c (handle_search_memory_1): Include access length in + warning message. + +2012-09-05 Michael Brandt <michael.brandt@axis.com> + + * linux-crisv32-low.c: Fix compile errors. + +2012-09-04 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (cmd_qtsv): Adjust debug message. + Don't check CUR_TPOINT. + +2012-08-28 Yao Qi <yao@codesourcery.com> + + * ax.c, tracepoint.c: Replace ATTR_FORMAT with ATTRIBUTE_PRINTF. + * server.h: Include 'libiberty.h' and 'ansidecl.h'. + (ATTR_NORETURN, ATTR_FORMAT, ATTR_MALLOC): Remove. + Remove declarations of xmalloc, xreallloc, xstrdup and + freeargv. + * Makefile.in (libiberty_h): New. + (server_h): Append dependencies 'libiberty.h' and 'ansidecl.h'. + (linux-bfin-low.o): Append dependency 'libiberty.h'. + +2012-08-23 Yao Qi <yao@codesourcery.com> + + * server.h: Remove declaration of 'xsnprintf'. + +2012-08-22 Keith Seitz <keiths@redhat.com> + + * server.h: Include build-gnulib-gbserver/config.h. + * gdbreplay.c: Likewise. + +2012-08-08 Doug Evans <dje@google.com> + + * Makefile.in (SFILES): Add gdb_vecs.c. + (OBS): Add gdb_vecs.o. + (gdb_vecs_h, host_defs_h): New variables. + (thread-db.o): Add $(gdb_vecs_h) dependency. + (gdb_vecs.o): New rule. + * thread-db.c: #include "gdb_vecs.h". + (thread_db_load_search): Use a vector to iterate over path elements. + Handle text appearing after "$pdir". + + * configure.ac: Add check for strstr. + * config.in: Regenerate. + * configure: Regenerate. + +2012-08-02 Ulrich Weigand <ulrich.weigand@linaro.org> + + * hostio.c (handle_pread): If pread fails, fall back to attempting + lseek/read. + (handle_pwrite): Likewise for pwrite. + +2012-08-01 Ulrich Weigand <ulrich.weigand@linaro.org> + + * linux-arm-low.c (arm_linux_hw_point_initialize): Distinguish + between unsupported TYPE and unimplementable ADDR/LEN combination. + (arm_insert_point): Act on new return value. + +2012-07-31 Pedro Alves <palves@redhat.com> + + * server.c (process_point_options): Only skip tokens if we find + one that is unrecognized. Don't treat 'X' specially while + skipping unrecognized tokens. + +2012-07-30 Ulrich Weigand <ulrich.weigand@linaro.org> + + * linux-arm-low.c (arm_linux_hw_point_initialize): Do not attempt + to 4-byte-align HW breakpoint addresses for Thumb. + +2012-07-27 Yao Qi <yao@codesourcery.com> + + PR remote/14161. + + * server.h: Declare gdb_agent_about_to_close. + * target.c (kill_inferior): Include "agent.h". + New. Send command 'kill'. + * target.h (kill_inferior): Removed macro. + * tracepoint.c (gdb_agent_about_to_close): New. + (gdb_agent_helper_thread): Handle command 'close'. + Wait endlessly until the inferior stops. + Install gdb_agent_remove_socket to atexit hook. + (agent_socket_name): New static variable. + (gdb_agent_socket_init): Replace local variable 'name' with + 'agent_socket_name'. + (gdb_agent_remove_socket): New. + +2012-07-27 Yao Qi <yao@codesourcery.com> + + * server.c (process_point_options): Stop at 'X' when parsing. + +2012-07-19 Michael Eager <eager@eagercon.com> + + * i386-low.c (Z_packet_to_hw_type): Add Z_PACKET_HW_BP, translate + to hw_execute. + * linux-x86-low.c (x86_insert_point, x86_remove_point): + Call i386_low_insert_watchpoint, i386_low_remove_watchpoint to add/del + hardware breakpoint. + +2012-07-07 Jan Kratochvil <jan.kratochvil@redhat.com> + + * gdbserver/linux-low.c (initialize_low): Call + linux_ptrace_init_warnings. + +2012-07-02 Doug Evans <dje@google.com> + + * mem-break.c (gdb_no_commands_at_breakpoint): Fix cast from + pointer to int. + +2012-07-02 Stan Shebs <stan@codesourcery.com> + + * Makefile.in (WARN_CFLAGS_NO_FORMAT): Define. + (ax.o): Add it to build rule. + (ax-ipa.o): Ditto. + (OBS): Add format.o. + (IPA_OBS): Add format.o. + * server.c (handle_query): Claim support for breakpoint commands. + (process_point_options): Add command case. + (process_serial_event): Leave running if there are printfs in + effect. + * mem-break.h (any_persistent_commands): Declare. + (add_breakpoint_commands): Declare. + (gdb_no_commands_at_breakpoint): Declare. + (run_breakpoint_commands): Declare. + * mem-break.c (struct point_command_list): New struct. + (struct breakpoint): New field command_list. + (any_persistent_commands): New function. + (add_commands_to_breakpoint): New function. + (add_breakpoint_commands): New function. + (gdb_no_commands_at_breakpoint): New function. + (run_breakpoint_commands): New function. + * linux-low.c (linux_wait_1): Test for and run breakpoint commands + locally. + * ax.c: Include format.h. + (ax_printf): New function. + (gdb_eval_agent_expr): Add printf opcode. + +2012-06-13 Yao Qi <yao@codesourcery.com> + + * server.c (start_inferior): Remove duplicated writes to fields + 'last_resume_kind' and 'last_status' of 'current_inferior'. + +2012-06-12 Yao Qi <yao@codesourcery.com> + Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_set_resume_request): Simplify predicate. Add + comment. + * server.c (handle_v_cont): Extend comment. + +2012-06-11 Yao Qi <yao@codesourcery.com> + + * linux-low.c (linux_attach): Add 'static'. + +2012-06-06 Yao Qi <yao@codesourcery.com> + + * ax.c (gdb_eval_agent_expr): Print `top' in hex. + +2012-06-01 Jan Kratochvil <jan.kratochvil@redhat.com> + + Fix gcc -flto compilation warning. + * server.c (main): Make variable multi_mode and attach volatile. + +2012-05-30 Thiago Jung Bauermann <thiago.bauermann@linaro.org> + + * linux-low.c (get_r_debug): Disable code using DT_MIPS_RLD_MAP + if the platform doesn't know about it. + +2012-05-30 Jeff Kenton <jkenton@tilera.com> + + * Makefile.in (SFILES): Add linux-tile-low.c. + (linux-tile-low.o, reg-tilegx.o, reg-tilegx.c): New rules. + * configure.srv: Handle tilegx-*-linux*. + * linux-tile-low.c: New file. + +2012-05-28 Jan Kratochvil <jan.kratochvil@redhat.com> + + * linux-low.c (linux_qxfer_libraries_svr4): Return -1 if R_DEBUG is -1. + +2012-05-24 Pedro Alves <palves@redhat.com> + + PR gdb/7205 + + Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. + +2012-05-24 Pedro Alves <palves@redhat.com> + + PR gdb/7205 + + Replace target_signal with gdb_signal throughout. + +2012-05-22 Maciej W. Rozycki <macro@codesourcery.com> + + * linux-low.c (linux_store_registers): Avoid the copying sequence + when no data has been retrieved by ptrace. + +2012-05-22 Will Deacon <will.deacon@arm.com> + + * linux-low (__UCLIBC__ && !(__UCLIBC_HAS_MMU__ || __ARCH_HAS_MMU__)): + Include asm/ptrace.h. + (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define only if not + already defined. + +2012-05-21 Maciej W. Rozycki <macro@codesourcery.com> + + * linux-low.c (linux_store_registers): Don't re-retrieve data + with ptrace that has already been obtained from /proc. Always + copy any data retrieved with ptrace to the buffer supplied. + +2012-05-11 Yao Qi <yao@codesourcery.com> + Pedro Alves <palves@redhat.com> + + * linux-low.c (enum stopping_threads_kind): New. + (stopping_threads): Change type to `enum stopping_threads_kind'. + (handle_extended_wait): If stopping and suspending threads, leave + the new_lwp suspended too. + (linux_wait_for_event): Adjust. + (stop_all_lwps): Set `stopping_threads' to + STOPPING_AND_SUSPENDING_THREADS or STOPPING_THREADS depending on + whether we're suspending threads or just stopping them. Assert no + recursion happens. + +2012-04-29 Yao Qi <yao@codesourcery.com> + + * server.h: Move some code to ... + * gdbthread.h: ... here. New. + * Makefile.in (inferiors.o, regcache.o): Depends on gdbthread.h + (remote-utils.o, server.o, target.o tracepoint.o): Likewise. + (nto-low.o, win32-low.o): Likewise. + * inferiors.c, linux-low.h, nto-low.c: Include gdbthread.h. + * regcache.c, remote-utils.c, server.c: Likewise. + * target.c, tracepoint.c, win32-low.c: Likewise. + +2012-04-24 Thiago Jung Bauermann <thiago.bauermann@linaro.org> + + * linux-low.h (PTRACE_ARG3_TYPE): Move macro from linux-low.c. + (PTRACE_ARG4_TYPE): Likewise. + (PTRACE_XFER_TYPE): Likewise. + * linux-arm-low.c (arm_prepare_to_resume): Cast third argument of + ptrace to PTRACE_ARG3_TYPE. + * linux-low.c (PTRACE_ARG3_TYPE): Move macro to linux-low.h. + (PTRACE_ARG4_TYPE): Likewise. + (PTRACE_XFER_TYPE): Likewise. + (linux_detach_one_lwp): Cast fourth argument of + ptrace to long then PTRACE_ARG4_TYPE. + (regsets_fetch_inferior_registers): Cast third argument of + ptrace to long then PTRACE_ARG3_TYPE. + (regsets_store_inferior_registers): Likewise. + +2012-04-20 Pedro Alves <palves@redhat.com> + + * configure: Regenerate. + +2012-04-19 Pedro Alves <palves@redhat.com> + + * Makefile.in (GNULIB_BUILDDIR): New. + (LIBGNU, INCGNU, GNULIB_H): Adjust. + (SUBDIRS, CLEANDIRS, REQUIRED_SUBDIRS): New. + (all, install-only, uninstall, clean-info, all-lib, clean): No + longer pass GNULIB_FLAGS_TO_PASS. Use subdir_do. + (maintainer-clean realclean distclean): Use subdir_do. + (subdir_do): New. + (gnulib/import/Makefile): Adjust. Replace gnulib/import with + $(GNULIB_BUILDDIR). Don't pass argument to config.status. + * acinclude.m4: Include acx_configure_dir.m4. + * configure.ac: Remove gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE + calls. Call AC_PROG_RANLIB. Configure gnulib using + ACX_CONFIGURE_DIR. + (GNULIB): New. + (GNULIB_STDINT_H): Adjust. + (AC_OUTPUT): Don't output gnulib/Makefile anymore. + * gdbreplay.c: Include build-gnulib/config.h. + * server.h: Likewise. + * aclocal.m4: Regenerate. + * config.in: Regenerate. + * configure: Regenerate. + +2012-04-19 Pedro Alves <palves@redhat.com> + + * Makefile.in (LIBGNU, INCGNU): Adjust. + (GNULIB_FLAGS_TO_PASS, GNULIB_H): Adjust. + (all, install-only, uninstall, clean-info, all-lib, clean) + (maintainer-clean, Makefile, gnulib/Makefile): Adjust. + * configure.ac: Adjust AC_OUTPUT output. + * aclocal.m4: Regenerate. + * configure: Regenerate. + +2012-04-19 Pedro Alves <palves@redhat.com> + + * Makefile.in (generated_files): New. + (server_h): Remove the explicit dependency on config.h, and depend + on $generated_files. + +2012-04-19 Pedro Alves <palves@redhat.com> + + * Makefile.in (INCGNU): Add -Ignulib. + +2012-04-19 Pedro Alves <palves@redhat.com> + + * Makefile.in (GNULIB_INCLUDE_DIR): Rename to ... + (INCGNU): ... this, and spell out -I here. + (GNULIB_LIB): Rename to ... + (LIBGNU): ... this. + (INCLUDE_CFLAGS, gdbserver$(EXEEXT), $(GNULIB_LIB) rule): Adjust. + +2012-04-19 Pedro Alves <palves@redhat.com> + + * config.in: Regenerate. + +2012-04-19 Pedro Alves <palves@redhat.com> + + * configure.ac: Remove AC_CHECK_DECLS check for memmem. + * server.h (memmem): Remove declaration. + * config.in: Regenerate. + * configure: Regenerate. + +2012-04-19 Yao Qi <yao@codesourcery.com> + + * Makefile.in (SFILES): Add common/vec.c. + (OBS): Add vec.o. + (vec.o): New rule. + +2012-04-19 Yao Qi <yao@codesourcery.com> + + * remote-utils.c (prepare_resume_reply): Replace with macro + target_core_of_thread. + * server.c (handle_qxfer_threads_proper): Likewise. + * target.h (traget_core_of_thread): New macro. + +2012-04-18 Pedro Alves <palves@redhat.com> + + * aclocal.m4: Regenerate. + * configure: Regenerate. + +2012-04-16 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (cmd_qtstart): Download tracepoints even when they are + duplicated on address. + +2012-04-16 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (COPY_FIELD_TO_BUF): New macro. + (struct tracepoint_action_ops) <send>: New field. + (m_tracepoint_action_send, r_tracepoint_action_send): New. + (agent_expr_send, x_tracepoint_action_send): New. + (l_tracepoint_action_send): New. + (cmd_qtdp): Download and install tracepoint + according to `use_agent'. + (run_inferior_command): Add one more parameter `len'. + Update callers. + (tracepoint_send_agent): New. + (cmd_qtdp, cmd_qtstart): Call tracepoint_send_agent. + +2012-04-16 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (download_tracepoints): Moved to ... + (cmd_qtstart): ... here. + +2012-04-14 Yao Qi <yao@codesourcery.com> + + * tracepoint.c: Include inttypes.h. + (struct collect_memory_action): Use sized types. + (struct tracepoint): Likewise. + (cmd_qtdp, stop_tracing): Update print specifiers. + (cmd_qtp, response_tracepoint): Likewise. + (collect_data_at_tracepoint): Likewise. + (collect_data_at_step): Likewise. + +2012-04-14 Yao Qi <yao@codesourcery.com> + + Import gnulib module inttypes. + * aclocal.m4, config.in, configure: Regenerated. + +2012-04-14 Yao Qi <yao@codesourcery.com> + + * Makefile.in (maintainer-clean, realclean, distclean): Remove + Makefile and config.status at last. + +2012-04-13 Yao Qi <yao@codesourcery.com> + + * tracepoint.c: Include stdint.h unconditionally. + +2012-04-13 Thiago Jung Bauermann <thiago.bauermann@linaro.org> + + * acinclude.m4 (GDBSERVER_HAVE_THREAD_DB_TYPE): New macro based + on BFD_HAVE_SYS_PROCFS_TYPE. + * configure.ac: Look for lwpid_t and psaddr_t in libthread_db.h. + * configure: Regenerate. + * config.in: Likewise. + +2012-04-13 H.J. Lu <hongjiu.lu@intel.com> + + * Makefile.in (clean): Also remove x32.c x32-linux.c + x32-avx.c x32-avx-linux.c. + (x32.o): New target. + (x32.c): Likewise. + (x32-linux.o): Likewise. + (x32-linux.c): Likewise. + (x32-avx.o): Likewise. + (x32-avx.c): Likewise. + (x32-avx-linux.o): Likewise. + (x32-avx-linux.c): Likewise. + + * configure.srv (srv_amd64_regobj): Add x32.o x32-avx.o. + (srv_amd64_linux_regobj): Add x32-linux.o x32-avx-linux.o. + (srv_i386_64bit_xmlfiles): Add i386/x32-core.xml. + (srv_amd64_xmlfiles): Add i386/x32.xml i386/x32-avx.xml. + (srv_amd64_linux_xmlfiles): Add i386/x32-linux.xml + i386/x32-avx-linux.xml. + + * linux-x86-low.c (init_registers_x32_linux): New prototype. + (init_registers_x32_avx_linux): Likwise. + (x86_linux_update_xmltarget): Call init_registers_x32_linux + or init_registers_x32_avx_linux if linux_is_elf64 is false. + +2012-04-13 Pedro Alves <palves@redhat.com> + + * Makefile.in (GNULIB_FLAGS_TO_PASS): New. + (FLAGS_TO_PASS): Don't change or set $top_srcdir, $srcdir and VPATH. + (all, uninstall, clean-info, all-lib, clean, maintainer-clean) + (realclean, distclean): Explicitly pass $GNULIB_FLAGS_TO_PASS to + the sub-make. + +2012-04-12 H.J. Lu <hongjiu.lu@intel.com> + + * linux-x86-low.c (compat_x32_clock_t): New. + (compat_x32_siginfo_t): Likewise. + (compat_x32_siginfo_from_siginfo): Likewise. + (siginfo_from_compat_x32_siginfo): Likewise. + (linux_is_elf64): Likewise. + (x86_siginfo_fixup): Call compat_x32_siginfo_from_siginfo + and siginfo_from_compat_x32_siginfo for x32. + (x86_arch_setup): Set linux_is_elf64. + +2012-04-12 H.J. Lu <hongjiu.lu@intel.com> + + PR gdb/13969 + * linux-low.c (linux_pid_exe_is_elf_64_file): Also return the + e_machine field. + (linux_qxfer_libraries_svr4): Update call to elf_64_file_p. + * linux-low.h (linux_pid_exe_is_elf_64_file): Updated. + * linux-x86-low.c (x86_arch_setup): Check if GDBserver is + compatible with process. + +2012-04-12 Yao Qi <yao@codesourcery.com> + + * Makefile.in: Define abs_top_srcdir and abs_srcdir. + (INCLUDE_CFLAGS): Append GNULIB_INCLUDE_DIR. + (install-only, install-info, clean): Handle sub dir gnulib. + (all-lib, am--refresh): New targets. + (memmem.o): Remove target. + * configure.ac: Remove AC_CONFIG_LIBOBJ_DIR. + Invoke gl_EARLY. Invoke AC_CHECK_PROGS for make. + (AC_REPLACE_FUNCS): Remove memmem. + Invoke gl_INIT and AM_INIT_AUTOMAKE. + (AC_OUTPUT): Generate Makefile in gnulib/. + * aclocal.m4, config.in, configure: Regenerated. + +2012-04-10 Maciej W. Rozycki <macro@codesourcery.com> + + * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP. + +2012-04-05 Pedro Alves <palves@redhat.com> + + -Werror=strict-aliasing + + * spu-low.c (parse_spufs_run): Avoid dereferencing type-punned + pointer. + +2012-04-04 Pedro Alves <palves@redhat.com> + + * linux-sparc-low.c (sparc_fill_gregset_to_stack) + (sparc_store_gregset_from_stack, sparc_store_gregset) + (sparc_breakpoint_at): Fix formatting. + +2012-03-30 Thiago Jung Bauermann <thiago.bauermann@linaro.org> + + * configure.ac: Check whether Elf32_auxv_t and Elf64_auxv_t + are available. + * linux-low.c [HAVE_ELF32_AUXV_T] (Elf32_auxv_t): Add typedef. + [HAVE_ELF64_AUXV_T] (Elf64_auxv_t): Likewise. + * config.in: Regenerate. + * configure: Likewise. + +2012-03-29 Pedro Alves <palves@redhat.com> + + * linux-low.c (regsets_store_inferior_registers) [__sparc__]: + Correct ptrace arguments. + +2012-03-28 Pedro Alves <palves@redhat.com> + + * linux-ia64-low.c (ia64_regmap): Map IA64_EC_REGNUM to PT_AR_EC. + (IA64_GR0_REGNUM, IA64_FR0_REGNUM) + (IA64_FR1_REGNUM): New defines. + (ia64_fetch_register): New. + (the_low_target): Install it. + * linux-low.h (struct linux_target_ops) <fetch_register>: New + field. + * linux-low.c (linux_fetch_registers): Try the + the_low_target.fetch_register hook first. + + * linux-arm-low.c (the_low_target): Adjust. + * linux-bfin-low.c (the_low_target): Adjust. + * linux-cris-low.c (the_low_target): Adjust. + * linux-crisv32-low.c (the_low_target): Adjust. + * linux-m32r-low.c (the_low_target): Adjust. + * linux-m68k-low.c (the_low_target): Adjust. + * linux-mips-low.c (the_low_target): Adjust. + * linux-ppc-low.c (the_low_target): Adjust. + * linux-s390-low.c (the_low_target): Adjust. + * linux-sh-low.c (the_low_target): Adjust. + * linux-sparc-low.c (the_low_target): Adjust. + * linux-tic6x-low.c (the_low_target): Adjust. + * linux-x86-low.c (the_low_target): Adjust. + * linux-xtensa-low.c (the_low_target): Adjust. + +2012-03-26 Pedro Alves <palves@redhat.com> + + * server.c (handle_qxfer_libraries): Don't bail early if + the_target->qxfer_libraries_svr4 is not NULL. + +2012-03-26 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_qxfer_libraries_svr4): Fix pasto in comment. + +2012-03-23 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_qxfer_libraries_svr4): Terminate the + "library-list-svr4" element's start tag when the the DSO list is + empty. + +2012-03-23 Pedro Alves <palves@redhat.com> + + * linux-low.c (read_one_ptr): Read the inferior's pointer through + a variable whose type size is the same as the inferior's pointer + size. + +2012-03-21 Thomas Schwinge <thomas@codesourcery.com> + + * linux-arm-low.c (arm_stopped_by_watchpoint): Use siginfo_t instead of + struct siginfo. + * linux-low.c (siginfo_fixup, linux_xfer_siginfo): Likewise. + * linux-x86-low.c (x86_siginfo_fixup): Likewise. + * linux-low.h: Include <signal.h>. + (struct siginfo): Remove forward declaration. + (struct linux_target_ops) <siginfo_fixup>: Use siginfo_t instead of + struct siginfo. + +2012-03-21 Mike Frysinger <vapier@gentoo.org> + + * .gitignore: Ignore more files. + +2012-03-19 Pedro Alves <palves@redhat.com> + Jan Kratochvil <jan.kratochvil@redhat.com> + + * server.c (cont_thread, general_thread): Add describing comments. + (start_inferior): Clear `cont_thread'. + (handle_v_cont): Don't set `cont_thread' if resuming all threads + of a process. + +2012-03-15 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (install_tracepoint): Move duplicated tracepoint + handling to ... + (cmd_qtdp): ... here. + +2012-03-15 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (struct tracepoint_action_ops): New. + (struct tracepoint_action) [!IN_PROCESS_AGENT] <ops>: New field. + (m_tracepoint_action_download): New. + (r_tracepoint_action_download): New. + (x_tracepoint_action_download): New. + (l_tracepoint_action_download): New. + (add_tracepoint_action): Install `action->ops' according type. + (download_tracepoint_1): Move code `download' function pointer + of various tracepoint_action_ops. + +2012-03-13 Jan Kratochvil <jan.kratochvil@redhat.com> + + * linux-low.c (linux_attach_lwp_1): New variable buffer. Call + linux_ptrace_attach_warnings. + +2012-03-13 Jan Kratochvil <jan.kratochvil@redhat.com> + + * Makefile.in (linux-ptrace.o): New. + * configure.srv (arm*-*-linux*, bfin-*-*linux*, crisv32-*-linux*) + (cris-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*) + (m68*-*-linux*, m68*-*-uclinux*, mips*-*-linux*, powerpc*-*-linux*) + (s390*-*-linux*, sh*-*-linux*, sparc*-*-linux*, tic6x-*-uclinux) + (x86_64-*-linux*, xtensa*-*-linux*): Add linux-ptrace.o to SRV_TGTOBJ + of these targets. + * linux-low.c (linux_attach_lwp_1): Remove redundent else clause. + +2012-03-08 Yao Qi <yao@codesourcery.com> + Pedro Alves <palves@redhat.com> + + Fix PR server/13392. + * linux-x86-low.c (amd64_install_fast_tracepoint_jump_pad): Check + offset of JMP insn. + * tracepoint.c (remove_tracepoint): New. + (cmd_qtdp): Call remove_tracepoint when failed to install. + +2012-03-07 Pedro Alves <palves@redhat.com> + + * linux-low.c (get_detach_signal): New. + (linux_detach_one_lwp): Get rid of a pending SIGSTOP with SIGCONT. + Pass on pending signals to PTRACE_DETACH. Check the result of the + ptrace call. + * server.c (program_signals, program_signals_p): New. + (handle_general_set): Handle QProgramSignals. + * server.h (program_signals, program_signals_p): Declare. + +2012-03-05 Pedro Alves <palves@redhat.com> + Jan Kratochvil <jan.kratochvil@redhat.com> + + * linux-low.c (get_dynamic): Don't warn when PT_PHDR isn't found. + New comment why. + +2012-03-03 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (tracepoint_look_up_symbols): Update call to + agent_look_up_symbols. + +2012-03-03 Yao Qi <yao@codesourcery.com> + + * Makefile.in (linux-low.o): Keep dependence on agent.h. + (linux-x86-low.o): Likewise. + * server.h: Remove in_process_agent_loaded. + * tracepoint.c (in_process_agent_loaded): Removed. Moved it + common/agent.c. + Update callers. + +2012-03-03 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (gdb_agent_capability): New global. + (in_process_agent_loaded_ust): Renamed to + `in_process_agent_supports_ust'. + Update callers. + (in_process_agent_supports_ust): Call agent_capability_check. + (clear_installed_tracepoints): Assert that agent supports + agent. + +2012-03-03 Yao Qi <yao@codesourcery.com> + + * linux-low.c (linux_supports_agent): New. + (linux_target_ops): Initialize field `supports_agent' with + linux_supports_agent. + * target.h (struct target_ops) <supports_agent>: New. + (target_supports_agent): New macro. + * server.c (handle_general_set): Handle packet 'QAgent'. + (handle_query): Send `QAgent+'. + * Makefile.in (server.o): Depends on agent.h. + +2012-03-03 Yao Qi <yao@codesourcery.com> + + * Makefile.in (OBS): Add agent.o. + Add new rule for agent.o. + Track dependence of tracepoint.c on agent.h. + * tracepoint.c (run_inferior_command_1): + (run_inferior_command): Call agent_run_command. + (gdb_ust_connect_sync_socket): Deleted. Move it to + common/agent.c. + (resume_thread, stop_thread): Likewise. + (gdb_ust_socket_init): Renamed to ... + (gdb_agent_socket_init): ... New. + (gdb_ust_thread): Renamed to ... + (gdb_agent_helper_thread): ... New. + (gdb_ust_init): Move some code to ... + (gdb_agent_init): ... here. New. + [HAVE_UST]: Call gdb_ust_init. + (initialize_tracepoint_ftlib): Call gdb_agent_init. + * configure.ac: Add `sys/un.h' to AC_CHECK_HEADERS. + * config.in, configure: Regenerated. + +2012-03-02 Pedro Alves <palves@redhat.com> + + * inferiors.c (add_pid_to_list, pull_pid_from_list): Delete. + * linux-low.c (struct simple_pid_list): New. + (stopped_pids): New a struct simple_pid_list pointer. + (add_to_pid_list, pull_pid_from_list): New. + (handle_extended_wait): Don't assume the first signal new children + report is SIGSTOP. Adjust call to pull_pid_from_list. + (linux_wait_for_lwp): Adjust. + +2012-03-02 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (do_action_at_tracepoint): Write `stop_pc' in + debug log. + +2012-03-02 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (collect_ust_data_at_tracepoint): Remove parameters + `stop_pc' and `tpoint'. Update caller. + +2012-03-01 Maciej W. Rozycki <macro@codesourcery.com> + + * linux-low.h (linux_target_ops): Add regset_bitmap member. + * linux-low.c (use_linux_regsets): New macro. + [!HAVE_LINUX_REGSETS] (regsets_fetch_inferior_registers): Likewise. + [!HAVE_LINUX_REGSETS] (regsets_store_inferior_registers): Likewise. + (linux_register_in_regsets): New function. + (usr_fetch_inferior_registers): Skip registers covered by + regsets. + (usr_store_inferior_registers): Likewise. + (usr_fetch_inferior_registers): New macro. + (usr_store_inferior_registers): Likewise. + (linux_fetch_registers): Handle mixed regset/non-regset targets. + (linux_store_registers): Likewise. + * linux-mips-low.c (init_registers_mips_dsp_linux): New + prototype. + (init_registers_mips64_dsp_linux): Likewise. + (init_registers_mips_linux): New macro. + (init_registers_mips_dsp_linux): Likewise. + (mips_dsp_num_regs): Likewise. + (DSP_BASE, DSP_CONTROL): New fallback macros. + (mips_base_regs): New macro. + (mips_regmap): Use it. Fix the size. + (mips_dsp_regmap): New variable. + (mips_dsp_regset_bitmap): Likewise. + (mips_arch_setup): New function. + (mips_cannot_fetch_register): Use the_low_target.regmap rather + than mips_regmap. + (mips_cannot_store_register): Likewise. + (the_low_target): Update .arch_setup, .num_regs and .regmap + initializers. Add .regset_bitmap initializer. + * linux-arm-low.c (the_low_target): Add .regset_bitmap + initializer. + * linux-bfin-low.c (the_low_target): Likewise. + * linux-cris-low.c (the_low_target): Likewise. + * linux-crisv32-low.c (the_low_target): Likewise. + * linux-ia64-low.c (the_low_target): Likewise. + * linux-m32r-low.c (the_low_target): Likewise. + * linux-m68k-low.c (the_low_target): Likewise. + * linux-ppc-low.c (the_low_target): Likewise. + * linux-s390-low.c (the_low_target): Likewise. + * linux-sh-low.c (the_low_target): Likewise. + * linux-sparc-low.c (the_low_target): Likewise. + * linux-tic6x-low.c (the_low_target): Likewise. + * linux-x86-low.c (the_low_target): Likewise. + * linux-xtensa-low.c (the_low_target): Likewise. + * configure.srv <mips*-*-linux*>: Add mips-dsp-linux.o and + mips64-dsp-linux.o to srv_regobj. Add mips-dsp-linux.xml, + mips64-dsp-linux.xml, mips-dsp.xml and mips64-dsp.xml to + srv_xmlfiles. + * Makefile.in (mips-dsp-linux.o, mips-dsp-linux.c): New targets. + (mips64-dsp-linux.o, mips64-dsp-linux.c): Likewise. + +2012-02-29 Yao Qi <yao@codesourcery.com> + Pedro Alves <palves@redhat.com> + + * linux-low.c: (linux_wait_1): Call unsuspend_all_lwps when + `step_over_finished' is true. + +2012-02-27 Pedro Alves <palves@redhat.com> + + * linux-low.c (pid_is_stopped): Delete, moved to common/. + (linux_attach_lwp_1): Adjust to use linux_proc_pid_is_stopped. + +2012-02-27 Pedro Alves <palves@redhat.com> + + PR server/9684 + * linux-low.c (pid_is_stopped): New. + (linux_attach_lwp_1): Handle attaching to 'T (stopped)' processes. + +2012-02-25 Luis Machado <lgustavo@codesourcery.com> + + * mem-break.c (clear_gdb_breakpoint_conditions): Fix de-allocation + of conditions. + +2012-02-24 Maciej W. Rozycki <macro@codesourcery.com> + + * linux-mips-low.c (mips_regmap): Correct the index of $f9. + +2012-02-24 Luis Machado <lgustavo@codesourcery> + + * server.c (handle_query): Advertise support for target-side + breakpoint condition evaluation. + (process_point_options): New function. + (process_serial_event): When inserting a breakpoint, check for + a target-side condition that should be evaluated. + + * mem-break.c: Include regcache.h and ax.h. + (point_cond_list_t): New data structure. + (breakpoint) <cond_list>: New field. + (find_gdb_breakpoint_at): Make non-static. + (delete_gdb_breakpoint_at): Clear any target-side + conditions. + (clear_gdb_breakpoint_conditions): New function. + (add_condition_to_breakpoint): Likewise. + (add_breakpoint_condition): Likewise. + (gdb_condition_true_at_breakpoint): Likewise. + (gdb_breakpoint_here): Return result directly instead + of going through a local variable. + + * mem-break.h (find_gdb_breakpoint_at): New prototype. + (clear_gdb_breakpoint_conditions): Likewise. + (add_breakpoint_condition): Likewise. + (gdb_condition_true_at_breakpoint): Likewise. + + * linux-low.c (linux_wait_1): Evaluate target-side breakpoint condition. + (need_step_over_p): Take target-side breakpoint condition into + consideration. + +2012-02-24 Luis Machado <lgustavo@codesourcery> + + * server.h: Include tracepoint.h. + (agent_mem_read, agent_get_trace_state_variable_value, + agent_set_trace_state_variable_value, + agent_tsv_read, agent_mem_read_string, get_get_tsv_func_addr, + get_set_tsv_func_addr): New prototypes. + + * ax.h: New include file. + * ax.c: New source file. + + * tracepoint.c: Include ax.h. + (gdb_agent_op, gdb_agent_op_names, gdb_agent_op_sizes, + agent_expr, eval_result_type): Move to ax.h. + (parse_agent_expr): Rename to ... + (gdb_parse_agent_expr): ... this, make it non-static and move + to ax.h. + (unparse_agent_expr) Rename to ... + (gdb_unparse_agent_expr): ... this, make it non-static and move + to ax.h. + (eval_agent_expr): Rename to ... + (eval_tracepoint_agent_expr): ... this. + (agent_mem_read, agent_mem_read_string, agent_tsv_read): Remove + forward declarations. + (add_tracepoint_action): Call gdb_parse_agent_expr (...). + (agent_get_trace_state_variable_value): New function. + (agent_set_trace_state_variable_value): New function. + (cmd_qtdp): Call gdb_parse_agent_expr (...). + (response_tracepoint): Call gdb_unparse_agent_expr (...). + (do_action_at_tracepoint): Call eval_tracepoint_agent_expr (...). + (condition_true_at_tracepoint): Likewise. + (parse_agent_expr): Rename to ... + (gdb_parse_agent_expr): ... this and move to ax.c. + (unparse_agent_expr): Rename to ... + (gdb_unparse_agent_expr): ... this and move to ax.c. + (gdb_agent_op_name): Move to ax.c. + (eval_agent_expr): Rename to ... + (gdb_eval_agent_expr): ... this, use regcache passed as parameter + and move to ax.c. + (eval_tracepoint_agent_expr): New function. + (agent_mem_read, agent_mem_read_string, agent_tsv_read): Make + non-static. + (current_insn_ptr, emit_error, struct bytecode_address): Move to + ax.c. + (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul, emit_lsh, + emit_rsh_signed, emit_rsh_unsigned, emit_ext, emit_log_not, + emit_bit_and, emit_bit_or, emit_bit_xor, emit_bit_not, emit_equal, + emit_less_signed, emit_less_unsigned, emit_ref, emit_if_goto, + emit_goto, write_goto_address, emit_const, emit_reg, emit_pop, + emit_stack, emit_zero_ext, emit_swap, emit_stack_adjust, + emit_int_call_1, emit_void_call_2, emit_eq_goto, emit_ne_goto, + emit_lt_goto, emit_ge_goto, emit_gt_goto, emit_le_goto): Move to ax.c. + (get_get_tsv_func_addr, get_set_tsv_func_addr): New functions. + (compile_bytecodes): Remove forward declaration. + (is_goto_target): Move to ax.c. + (compile_bytecodes): Move to ax.c and call + agent_get_trace_state_variable_value (...) and + agent_set_trace_state_variable_value (...). + + * Makefile.in: Update ax.c and IPA dependencies. + +2012-02-24 Pedro Alves <palves@redhat.com> + + * tracepoint.c (cmd_bigqtbuffer): Rename as ... + (cmd_bigqtbuffer_circular): ... this. Only handle + 'QTBuffer:circular:'. + (handle_tracepoint_general_set): Adjust. + +2012-02-16 Yao Qi <yao@codesourcery.com> + + * inferiors.c: Move code to ... + * dll.c: .... here. New. + * server.h: Declare clear_dlls. + * Makefile.in (SFILES): Add dll.c. + (OBS): Add dll.o + (dll.o): New rule. + +2012-02-11 Yao Qi <yao@codesourcery.com> + + * server.c: (handle_monitor_command): Add a new parameter + `own_buf'. + (handle_query): Update caller. + +2012-02-09 Joel Brobecker <brobecker@adacore.com> + + * configure.ac: Add readlink to AC_CHECK_FUNCS list. + * configure, config.in: Regenerate. + * hostio.c: Provide an alternate implementation if HAVE_READLINK + is not defined. + +2012-02-02 Pedro Alves <palves@redhat.com> + + Try SIGKILL first, then PTRACE_KILL. + * linux-low.c (linux_kill_one_lwp): New. + (linux_kill_one_lwp): Rename to ... + (kill_one_lwp_callback): ... this. Use the new + linux_kill_one_lwp. + +2012-02-02 Pedro Alves <palves@redhat.com> + + * tracepoint.c (cmd_qtminftpilen): Return 0 if there's no current + inferior. + +2012-01-27 Pedro Alves <palves@redhat.com> + + * linux-low.c (linux_child_pid_to_exec_file): Delete. + (elf_64_file_p): Make static. + (linux_pid_exe_is_elf_64_file): New. + * linux-low.h (linux_child_pid_to_exec_file, elf_64_file_p): + Delete declarations. + (linux_pid_exe_is_elf_64_file): Declare. + * linux-x86-low.c (x86_arch_setup): Use + linux_pid_exe_is_elf_64_file. + +2012-01-25 Jan Kratochvil <jan.kratochvil@redhat.com> + + * linux-low.c (linux_wait_for_event_1): Rename to ... + (linux_wait_for_event): ... here and merge it with former + linux_wait_for_event - new variable wait_ptid, use it. + (linux_wait_for_event): Remove - merge it to linux_wait_for_event_1. + +2012-01-23 Pedro Alves <palves@redhat.com> + + * server.c (main): Avoid yet another case of infinite loop while + detaching/killing after a longjmp. + +2012-01-20 Jan Kratochvil <jan.kratochvil@redhat.com> + + Code cleanup. + * linux-low.c (linux_wait_for_event_1): Use ptid_is_pid. + +2012-01-20 Ulrich Weigand <ulrich.weigand@linaro.org> + + * hostio.c (handle_readlink): New function. + (handle_vFile): Call it to handle "vFile:readlink" packets. + +2012-01-20 Pedro Alves <palves@redhat.com> + Ulrich Weigand <ulrich.weigand@linaro.org> + + * server.c (handle_v_requests): Only support vAttach and vRun to + start multiple processes when in extended protocol mode. + +2012-01-17 Pedro Alves <palves@redhat.com> + + * tracepoint.c (initialize_tracepoint): Use mmap instead of + memalign plus mprotect to allocate the scratch buffer. + +2012-01-13 Pedro Alves <palves@redhat.com> + + * server.c (attach_inferior): Clear `cont_thread'. + +2012-01-13 Pedro Alves <palves@redhat.com> + + * server.c (main): Avoid infinite loop while detaching/killing + after a longjmp. + +2012-01-09 Doug Evans <dje@google.com> + + * server.c (start_inferior): Set last_ptid in --wrapper case. + +2012-01-06 Yao Qi <yao@codesourcery.com> + + * tracepoint.c [IN_PROCESS_AGENT] (debug_threads): Macro + defined. + [IN_PROCESS_AGENT] (debug_agent): New global variable. + +2012-01-04 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (cmd_qtdp): Print debug message + for static tracepoint. + +2012-01-04 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (trace_vdebug): Differentiate debug message + between gdbserver and IPA. + +2012-01-03 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (tracepoint_was_hit): Don't collect for + static tracepoint. + +2012-01-02 Joel Brobecker <brobecker@adacore.com> + + * terminal.h: Reformat copyright header. + +2012-01-02 Joel Brobecker <brobecker@adacore.com> + + * server.c (gdbserver_version): Update copyright year. + * gdbreplay.c (gdbreplay_version): Likewise. + +2011-12-18 Jan Kratochvil <jan.kratochvil@redhat.com> + + * linux-low.c (linux_create_inferior): Put empty if clause for write. + + Revert: + 2011-12-18 Hui Zhu <teawater@gmail.com> + * linux-low.c (linux_create_inferior): Save return value to ret. + +2011-12-18 Hui Zhu <teawater@gmail.com> + + * linux-low.c (linux_create_inferior): Save return value to ret. + +2011-12-16 Doug Evans <dje@google.com> + + * linux-low.c (linux_create_inferior): If stdio connection, + redirect stdin from /dev/null, stdout to stderr. + * remote-utils.c (remote_is_stdio): New static global. + (remote_connection_is_stdio): New function. + (remote_prepare): Handle stdio connection. + (remote_open): Ditto. + (remote_close): Don't close stdin for stdio connections. + (read_prim,write_prim): New functions. Replace all calls to + read/write to these. + * server.c (main): Watch for "-" argument. Move call to + remote_prepare before start_inferior. + * server.h (STDIO_CONNECTION_NAME): New macro. + (remote_connection_is_stdio): Declare. + + * remote-utils.c (prepare_resume_reply): Remove extraneous \n + in debugging output. + +2011-12-15 Yao Qi <yao@codesourcery.com> + + * tracepoint.c: Include sys/syscall.h. + (gdb_ust_thread): Remove preprocessor conditional. + +2011-12-14 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_detach_one_lwp): Call + the_low_target.prepare_to_resume before detaching. + +2011-12-14 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (gdb_ust_thread): Don't ignore return value + of write. + +2011-12-14 Yao Qi <yao@codesourcery.com> + + * i386-low.c (i386_low_stopped_data_address): Initialize local + variable `control'. + +2011-12-13 Pedro Alves <pedro@codesourcery.com> + + PR remote/13492 + + * i386-low.c (i386_low_stopped_data_address): Avoid fetching + DR_CONTROL unless necessary. Extend comments. + * linux-x86-low.c (x86_linux_prepare_to_resume): Don't write to + DR0-3 if not used. If any watchpoint was set, clear DR_STATUS. + +2011-12-13 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (trace_buffer_alloc): Replace magic numbers with + macros. + (upload_fast_traceframes, upload_fast_traceframes): Likewise. + +2011-12-08 Jan Kratochvil <jan.kratochvil@redhat.com> + + * linux-low.c (linux_kill): Skip PTRACE_KILL if LWP does not exist. + Print new debug message for such case. + +2011-12-06 Jan Kratochvil <jan.kratochvil@redhat.com> + + Fix overlapping memcpy. + * mem-break.c (set_raw_breakpoint_at): New variable buf. Use it for + the read_inferior_memory transfer. + (delete_fast_tracepoint_jump): New variable buf. Use it for the + write_inferior_memory transfer. + (set_fast_tracepoint_jump): New variable buf. Use it for the + read_inferior_memory and write_inferior_memory transfers. + (uninsert_fast_tracepoint_jumps_at, reinsert_fast_tracepoint_jumps_at) + (delete_raw_breakpoint, uninsert_raw_breakpoint): New variable buf. + Use it for the write_inferior_memory transfer. + (check_mem_read, check_mem_write): New gdb_asserts for overlapping + buffers. + +2011-12-06 Maciej W. Rozycki <macro@codesourcery.com> + + * linux-low.c (fetch_register, store_register): Make code + consistent, fix formatting. + +2011-12-06 Maciej W. Rozycki <macro@codesourcery.com> + + * linux-low.c (usr_store_inferior_registers): Factor out code + to handle individual registers into... + (store_register): ... this new function. + +2011-12-06 Ulrich Weigand <uweigand@de.ibm.com> + + * Makefile.in (s390-linux32v1.o, s390-linux32v1.c): New rules. + (s390-linux32v2.o, s390-linux32v2.c): Likewise. + (s390-linux64v1.o, s390-linux64v1.c): Likewise. + (s390-linux64v2.o, s390-linux64v2.c): Likewise. + (s390x-linux64v1.o, s390x-linux64v1.c): Likewise. + (s390x-linux64v2.o, s390x-linux64v2.c): Likewise. + * configure.srv [s390*-*-linux*] (srv_regobj): Add new objects. + (srv_xmlfiles): Add new XML files. + + * linux-s390-low.c: Include "elf/common.h", <sys/ptrace.h>, + and <sys/uio.h>. + (PTRACE_GETREGSET, PTRACE_SETREGSET): Define if undefined. + (init_registers_s390_linux32v1): Add prototype. + (init_registers_s390_linux32v2): Likewise. + (init_registers_s390_linux64v1): Likewise. + (init_registers_s390_linux64v2): Likewise. + (init_registers_s390x_linux64v1): Likewise. + (init_registers_s390x_linux64v2): Likewise. + (s390_num_regs): Increment to 52. + (s390_regmap): Add orig_r2 register. + (s390_num_regs_3264): Increment to 68. + (s390_regmap_3264): Add orig_r2 register. + (s390_collect_ptrace_register): Handle orig_r2 register. + (s390_supply_ptrace_register): Likewise. + (s390_fill_last_break): New function. + (s390_store_last_break): Likewise. + (s390_fill_system_call): New function. + (s390_store_system_call): Likewise. + (target_regsets): Handle NT_S390_LAST_BREAK and NT_S390_SYSTEM_CALL + register sets. + (s390_check_regset): New function. + (s390_arch_setup): Check for presence of NT_S390_LAST_BREAK and + NT_S390_SYSTEM_CALL regsets and use appropriate description. + Update target_regsets for available register sets. + +2011-12-02 Paul Pluzhnikov <ppluzhnikov@google.com> + Jan Kratochvil <jan.kratochvil@redhat.com> + + * linux-low.c (get_phdr_phnum_from_proc_auxv, get_dynamic, get_r_debug) + (read_one_ptr, struct link_map_offsets, linux_qxfer_libraries_svr4): + New. + (struct linux_target_ops): Install linux_qxfer_libraries_svr4. + * linux-low.h (struct process_info_private): New member r_debug. + * server.c (handle_qxfer_libraries): Call + the_target->qxfer_libraries_svr4. + (handle_qxfer_libraries_svr4): New function. + (qxfer_packets): New entry "libraries-svr4". + (handle_query): Check QXFER_LIBRARIES_SVR4 and report libraries-svr4. + * target.h (struct target_ops): New member qxfer_libraries_svr4. + * remote.c (remote_xfer_partial): Call add_packet_config_cmd for + PACKET_qXfer_libraries_svr4. + +2011-11-30 Ulrich Weigand <uweigand@de.ibm.com> + + * linux-s390-low.c (s390_collect_ptrace_register): Fully convert + PSW address/mask between 8-byte and 16-byte formats. + (s390_supply_ptrace_register): Likewise. + (s390_get_pc, s390_set_pc): 4-byte PSW address always includes + basic addressing mode bit. + +2011-11-24 Stan Shebs <stan@codesourcery.com> + + * tracepoint.c (cmd_qtstatus): Use plongest instead of %llx. + +2011-11-17 Stan Shebs <stan@codesourcery.com> + + * tracepoint.c (struct tracepoint): New field traceframe_usage. + (tracing_start_time): New global. + (tracing_stop_time): New global. + (tracing_user_name): New global. + (tracing_notes): New global. + (tracing_stop_note): New global. + (cmd_qtstart): Set traceframe_usage, start_time. + (stop_tracing): Set stop_time. + (cmd_qtstatus): Report additional status. + (cmd_qtp): New function. + (handle_tracepoint_query): Call it. + (cmd_qtnotes): New function. + (handle_tracepoint_general_set): Call it. + (get_timestamp): Rename from tsv_get_timestamp. + +2011-11-14 Stan Shebs <stan@codesourcery.com> + Kwok Cheung Yeung <kcy@codesourcery.com> + + * linux-x86-low.c (small_jump_insn): New. + (i386_install_fast_tracepoint_jump_pad): Add arguments for + trampoline and error message, build a trampoline and issue a small + jump instruction to it. + (x86_install_fast_tracepoint_jump_pad): Add arguments for + trampoline and error message. + (x86_get_min_fast_tracepoint_insn_len): New. + (the_low_target): Add call to x86_get_min_fast_tracepoint_insn_len. + * linux-low.h (struct linux_target_ops): Add arguments to + install_fast_tracepoint_jump_pad operation, add new operation. + * linux-low.c (linux_install_fast_tracepoint_jump_pad): Add + arguments. + (linux_get_min_fast_tracepoint_insn_len): New function. + (linux_target_op): Add new operation. + * tracepoint.c (gdb_trampoline_buffer): New IPA variable. + (gdb_trampoline_buffer_end): Ditto. + (gdb_trampoline_buffer_error): Ditto. + (struct ipa_sym_addresses): Add fields for new IPA variables. + (symbol_list): Add entries for new IPA variables. + (struct tracepoint): Add fields to hold the address range of the + trampoline used by the tracepoint. + (trampoline_buffer_head): New static variable. + (trampoline_buffer_tail): Ditto. + (claim_trampoline_space): New function. + (have_fast_tracepoint_trampoline_buffer): New function. + (clone_fast_tracepoint): Fill in trampoline fields of tracepoint + structure. + (install_fast_tracepoint): Ditto, also add error buffer argument. + (cmd_qtminftpilen): New function. + (handle_tracepoint_query): Add response to qTMinFTPILen packet. + (fast_tracepoint_from_trampoline_address): New function. + (fast_tracepoint_collecting): Handle trampoline as part of jump + pad space. + (set_trampoline_buffer_space): New function. + (initialize_tracepoint): Initialize new IPA variables. + * target.h (struct target_ops): Add arguments to + install_fast_tracepoint_jump_pad operation, add new + get_min_fast_tracepoint_insn_len operation. + (target_get_min_fast_tracepoint_insn_len): New. + (install_fast_tracepoint_jump_pad): Add arguments. + * server.h (IPA_BUFSIZ): Define. + * linux-i386-ipa.c: Include extra header files. + (initialize_fast_tracepoint_trampoline_buffer): New function. + (initialize_low_tracepoint): Call it. + * server.h (set_trampoline_buffer_space): Declare. + (claim_trampoline_space): Ditto. + (have_fast_tracepoint_trampoline_buffer): Ditto. + +2011-11-14 Yao Qi <yao@codesourcery.com> + + * server.c (handle_query): Handle InstallInTrace for qSupported. + * tracepoint.c (add_tracepoint): Sort list. + (install_tracepoint, download_tracepoint): New. + (cmd_qtdp): Call them to install and download tracepoints. + (sort_tracepoints): Removed. + (cmd_qtstart): Update. + +2011-11-14 Yao Qi <yao@codesourcery.com> + + * mem-break.c (inc_ref_fast_tracepoint_jump): New. + * mem-break.h: Declare. + * tracepoint.c (cmd_qtstart): Move some code to ... + (clone_fast_tracepoint, install_fast_tracepoint): ... here. + New. + (download_tracepoints): Move some code to ... + (download_tracepoint_1): ... here. New. + +2011-11-08 Yao Qi <yao@codesourcery.com> + + * remote-utils.c (relocate_instruction): A comment fix. + +2011-11-07 Joel Brobecker <brobecker@adacore.com> + + * win32-i386-low.c (dr_status_mirror, dr_control_mirror): Delete. + (i386_dr_low_get_control, i386_dr_low_get_status): Use + dr_status_mirror and dr_control_mirror from debug_reg_state. + (i386_dr_low_get_status): Use debug_reg_state.dr_status_mirror + (i386_initial_stuff): Remove use of deleted globals. + (i386_get_thread_context, i386_set_thread_context, + i386_thread_added): Use dr_status_mirror and dr_control_mirror + from debug_reg_state. + +2011-11-05 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (gdb_collect): Loop over tracepoints of same + address as TPOINT's. + +2011-11-02 Stan Shebs <stan@codesourcery.com> + + * tracepoint.c (agent_mem_read_string): New function. + (eval_agent_expr): Call it for tracenz. + * server.c (handle_query): Report support for tracenz. + +2011-11-02 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (cmd_qtstart): Remove unused local variables. + +2011-11-02 Yao Qi <yao@codesourcery.com> + + * target.h: Fix a typo in comment. + +2011-10-31 Pedro Alves <pedro@codesourcery.com> + + * mem-break.c (check_mem_write): Add `myaddr' parameter. Don't + clobber the breakpoints' shadows with fast tracepoint jumps. + * mem-break.h (check_mem_write): Add `myaddr' parameter. + * target.c (write_inferior_memory): Also pass MYADDR down to + check_mem_write. + +2011-10-07 Ulrich Weigand <ulrich.weigand@linaro.org> + + * configure.ac: Check support for personality routine. + * configure: Regenerate. + * config.in: Likewise. + * linux-low.c: Include <sys/personality.h>. + Define ADDR_NO_RANDOMIZE if necessary. + (linux_create_inferior): Disable address space randomization when + forking inferior, if requested. + (linux_supports_disable_randomization): New function. + (linux_target_ops): Install it. + * server.h (disable_randomization): Declare. + * server.c (disable_randomization): New global variable. + (handle_general_set): Handle QDisableRandomization. + (handle_query): Likewise for qSupported. + (main): Support --disable-randomization and --no-disable-randomization + command line arguments. + * target.h (struct target_ops): Add supports_disable_randomization. + (target_supports_disable_randomization): New macro. + +2011-09-29 Mike Frysinger <vapier@gentoo.org> + + * linux-low.c (target_loadseg): Add defined PTRACE_GETFDPIC to the + ifdef check. + [PT_GETDSBT] (target_loadmap): Wrap in a defined PT_GETDSBT check. + [!PT_GETDSBT] (target_loadmap): New definition. + (LINUX_LOADMAP, LINUX_LOADMAP_EXEC, LINUX_LOADMAP_INTERP): Define. + (linux_read_loadmap): Change PTRACE_GETDSBT_EXEC to + LINUX_LOADMAP_EXEC, PTRACE_GETDSBT_INTERP to LINUX_LOADMAP_INTERP, + and PT_GETDSBT to LINUX_LOADMAP. + [!PT_GETDSBT] (linux_read_loadmap): Define to NULL. + (linux_target_ops): Delete unnecessary ifdef PT_GETDSBT check. + +2011-09-21 Ulrich Weigand <ulrich.weigand@linaro.org> + + * linux-arm-low.c (struct arm_linux_hwbp_cap): Remove. + (arm_linux_hwbp_cap): New static variable. + (arm_linux_get_hwbp_cap): Replace by ... + (arm_linux_init_hwbp_cap): ... this new function. + (arm_linux_get_hw_breakpoint_count): Use arm_linux_hwbp_cap. + (arm_linux_get_hw_watchpoint_count): Likewise. + (arm_linux_get_hw_watchpoint_max_length): Likewise. + (arm_arch_setup): Call arm_linux_init_hwbp_cap. + (arm_prepare_to_resume): Use perror_with_name instead of error. + +2011-09-21 Ulrich Weigand <ulrich.weigand@linaro.org> + + * linux-arm-low.c: Include <signal.h>. + (PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define if necessary. + (struct arm_linux_hwbp_cap): New data type. + (arm_hwbp_type, arm_hwbp_control_t): New typedefs. + (struct arm_linux_hw_breakpoint): New data type. + (MAX_BPTS, MAX_WPTS): Define. + (struct arch_process_info, struct arch_lwp_info): New data types. + (arm_linux_get_hwbp_cap): New function. + (arm_linux_get_hw_breakpoint_count): Likewise. + (arm_linux_get_hw_watchpoint_count): Likewise. + (arm_linux_get_hw_watchpoint_max_length): Likewise. + (arm_hwbp_control_initialize): Likewise. + (arm_hwbp_control_is_enabled): Likewise. + (arm_hwbp_control_is_initialized): Likewise. + (arm_hwbp_control_disable): Likewise. + (arm_linux_hw_breakpoint_equal): Likewise. + (arm_linux_hw_point_initialize): Likewise. + (struct update_registers_data): New data structure. + (update_registers_callback: New function. + (arm_insert_point): Likewise. + (arm_remove_point): Likewise. + (arm_stopped_by_watchpoint): Likewise. + (arm_stopped_data_address): Likewise. + (arm_new_process): Likewise. + (arm_new_thread): Likewise. + (arm_prepare_to_resume): Likewise. + (the_low_target): Register arm_insert_point, arm_remove_point, + arm_stopped_by_watchpoint, arm_stopped_data_address, arm_new_process, + arm_new_thread, and arm_prepare_to_resume. + +2011-09-15 Stan Shebs <stan@codesourcery.com> + + * server.h (struct emit_ops): Add compare-goto fields. + * tracepoint.c (gdb_agent_op_sizes): New table. + (emit_eq_goto): New function. + (emit_ne_goto): New function. + (emit_lt_goto): New function. + (emit_le_goto): New function. + (emit_gt_goto): New function. + (emit_ge_goto): New function. + (is_goto_target): New function. + (compile_bytecodes): Recognize special cases of compare-goto + combinations and call specialized emitters for them. + * linux-x86-low.c (amd64_emit_eq_goto): New function. + (amd64_emit_ne_goto): New function. + (amd64_emit_lt_goto): New function. + (amd64_emit_le_goto): New function. + (amd64_emit_gt_goto): New function. + (amd64_emit_ge_goto): New function. + (amd64_emit_ops): Add the new functions. + (i386_emit_eq_goto): New function. + (i386_emit_ne_goto): New function. + (i386_emit_lt_goto): New function. + (i386_emit_le_goto): New function. + (i386_emit_gt_goto): New function. + (i386_emit_ge_goto): New function. + (i386_emit_ops): Add the new functions. + +2011-09-08 Stan Shebs <stan@codesourcery.com> + + * linux-x86-low.c (i386_emit_prologue): Save %ebx. + (i386_emit_epilogue): Restore %ebx. + +2011-08-31 Jie Zhang <jzhang918@gmail.com> + + * server.c (step_thread): Remove definition. + (process_serial_event): Don't handle Hs. + * server.h (step_thread): Remove declaration. + * target.c (set_desired_inferior): Remove use of step_thread. + +2011-08-24 Luis Machado <lgustavo@codesourcery.com> + + * linux-low.c: Include linux-procfs.h. + (linux_attach_lwp_1): Update comments. + (linux_attach): Scan for existing threads when attaching to a + process that is the tgid. + * Makefile.in: Update dependencies. + +2011-08-24 Luis Machado <lgustavo@codesourcery.com> + + * configure.srv: Add linux-procfs.o dependencies. + +2011-08-14 Yao Qi <yao@codesourcery.com> + + * target.h (struct target_ops): Fix indent. + * win32-low.c (win32_target_ops): Fix comment. + +2011-08-14 Andrew Jenner <andrew@codesourcery.com> + Yao Qi <yao@codesourcery.com> + + * Makefile.in (clean): Remove tic6x-*.c files. + (linux-tic6x-low.o, tic6x-c62x-linux.o, tic6x-c64x-linux.o): New rules. + (tic6x-c64xp-linux.o, tic6x-c62x-linux.c, tic6x-c64x-linux.c): Likewise. + (tic6x-c64xp-linux.c): Likewise. + * configure.srv: Add support for tic6x-*-uclinux. + * linux-tic6x-low.c: New. + * linux-low.c (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define. + +2011-08-14 Andrew Stubbs <ams@codesourcery.com> + Yao Qi <yao@codesourcery.com> + + * target.h (struct target_ops): Add read_loadmap. + * linux-low.c (struct target_loadseg): New type. + (struct target_loadmap): New type. + (linux_read_loadmap): New function. + (linux_target_ops): Add linux_read_loadmap. + * server.c (handle_query): Support qXfer:fdpic:read packet. + * win32-low.c (win32_target_ops): Initialize field `read_loadmap' + to NULL. + +2011-08-05 Eli Zaretskii <eliz@gnu.org> + + * win32-low.c: Include <stdint.h>. + +2011-07-22 Pedro Alves <pedro@codesourcery.com> + + * i386-low.c (i386_insert_aligned_watchpoint): Don't pass the info + to the inferior here. + (i386_remove_aligned_watchpoint): Ditto. + (i386_handle_nonaligned_watchpoint): Return immediate on fail to + fit part of the watchpoint in the debug registers. + (i386_update_inferior_debug_regs): New. + (i386_low_insert_watchpoint): Work on a local mirror of the debug + registers, and only update the inferior on success. + (i386_low_remove_watchpoint): Ditto. + +2011-07-22 Kwok Cheung Yeung <kcy@codesourcery.com> + + * linux-low.c (compare_ints, unique, list_threads, show_process, + linux_core_of_thread): Delete. + (linux_target_ops): Change linux_core_of_thread to + linux_common_core_of_thread. + (linux_qxfer_osdata): Defer to linux_common_xfer_osdata. + * utils.c (malloc_failure): Change type of argument. + (xmalloc, xrealloc, xcalloc, xsnprintf): Delete. + * Makefile.in (SFILES): Add common/common-utils.c, common/xml-utils.c, + common/linux-osdata.c, common/ptid.c and common/buffer.c. + (OBS): Add xml-utils.o, common-utils.o, ptid.o and buffer.o. + (IPA_OBJS): Add common-utils-ipa.o. + (ptid_h, linux_osdata_h): New macros. + (server_h): Add common/common-utils.h, common/xml-utils.h, + common/buffer.h, common/gdb_assert.h, common/gdb_locale.h and + common/ptid.h. + (common-utils-ipa.o, common-utils.o, xml-utils.o, linux-osdata.o, + ptid.o, buffer.o): New rules. + (linux-low.o): Add common/linux-osdata.h as a dependency. + * configure.srv (srv_tgtobj): Add linux-osdata.o to Linux targets. + * configure.ac: Add AC_HEADER_DIRENT check. + * config.in: Regenerate. + * configure: Regenerate. + * remote-utils.c (xml_escape_text): Delete. + (buffer_grow, buffer_free, buffer_init, buffer_finish, + buffer_xml_printf): Move to common/buffer.c. + * server.c (main): Remove call to initialize_inferiors. + * server.h (struct ptid, ptid_t, minus_one_ptid, null_ptid, + ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid, + ptid_equal, ptid_is_pid, initialize_inferiors, xml_escape_text, + internal_error, gdb_assert, gdb_assert_fail): Delete. + (struct buffer, buffer_grow, buffer_free, buffer_init, buffer_finish, + buffer_xml_printf, buffer_grow_str, buffer_grow_str0): Move to + common/buffer.h. + * inferiors.c (null_ptid, minus_one_ptid, ptid_build, pid_to_ptid, + ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid, + initialize_inferiors): Delete. + +2011-07-20 Pedro Alves <pedro@codesourcery.com> + + * tracepoint.c (tracepoint_look_up_symbols): Return upon the first + symbol error. + +2011-05-31 Pedro Alves <pedro@codesourcery.com> + + * linux-x86-low.c (i386_dr_low_get_addr): Fix off by one in + assertion. + * win32-i386-low.c (i386_dr_low_get_addr): Ditto. + +2011-05-26 Yao Qi <yao@codesourcery.com> + + * Makefile.in (thread-db.o): Track dependence to + common/gdb_thread_db.h. + * thread-db.c: include gdb_thread_db.h from right place. + +2011-05-16 Adrian Cornish <gnu@bluedreamer.com> + + * linux-i386-ipa.c (supply_static_tracepoint_registers): Pass + __FILE__ and __LINE__ to internal_error. + +2011-05-13 Doug Evans <dje@google.com> + + * thread-db.c (try_thread_db_load_from_sdir): New function. + (try_thread_db_load_from_dir): New function. + (thread_db_load_search): Handle $sdir, ignore $pdir. + Remove trying of system directories if search of + libthread-db-search-path fails, that is now done via $sdir. + +2011-05-12 Kwok Cheung Yeung <kcy@codesourcery.com> + + * server.c (handle_query): Add EnableDisableTracepoints to the list + of supported features. + * tracepoint.c (clear_installed_tracepoints): Uninstall disabled + tracepoints. + (cmd_qtenable_disable): New. + (cmd_qtstart): Install tracepoints even if disabled. + (handle_tracepoint_general_set): Add call to cmd_qtenable_disable on + receiving a QTEnable or QTDisable packet. + (gdb_collect): Skip data collection if fast tracepoint is disabled. + (ust_marker_to_static_tracepoint): Do not ignore disabled static + tracepoints. + (gdb_probe): Skip data collection if static tracepoint is disabled. + +2011-05-10 Doug Evans <dje@google.com> + + * thread-db.c (thread_db_handle_monitor_command): Handle elided path. + +2011-05-04 Doug Evans <dje@google.com> + + * linux-low.c (linux_join): Skip process lookup. + * spu-low.c (spu_join): Ditto. + * server.c (join_inferiors_callback): Delete. + (process_serial_event): For 'D' packet (detach) call join_inferior + directly. + +2011-05-04 Joseph Myers <joseph@codesourcery.com> + + * README: Don't mention xscale*-*-linux*. + * configure.srv (xscale*-*-linux*): Don't handle target. + +2011-04-27 Nathan Froyd <froydnj@codesourcery.com> + + * linux-x86-low.c (amd64_emit_const): Call memcpy instead of + casting pointers. + (amd64_emit_reg, amd64_emit_int_call_1, amd64_emit_void_call_2): + (i386_emit_const, i386_emit_reg, i386_emit_int_call_1): + (i386_emit_void_call_2): Likewise. + +2011-04-26 Yao Qi <yao@codesourcery.com> + + * linux-low.c: Move common macros to linux-ptrace.h. + Include linux-ptrace.h. + * Makefile.in (linux_ptrace_h): New. + (linux-low.o): Depends on linux-ptrace.h. + +2011-04-24 Jan Kratochvil <jan.kratochvil@redhat.com> + + * remote-utils.c (handle_accept_event): Close LISTEN_DESC only if + RUN_ONCE. Comment for the LISTEN_DESC delete_file_handler call. + (remote_prepare): New function with most of the TCP code from ... + (remote_open): ... here. Detect PORT here unconditionally. Move also + setting transport_is_reliable. + * server.c (run_once): New variable. + (gdbserver_usage): Document it. + (main): Set run_once for `--once'. Call remote_prepare. Exit after + the first run if RUN_ONCE. + * server.h (run_once, remote_prepare): New declarations. + +2011-04-19 Tom Tromey <tromey@redhat.com> + + * win32-low.c (handle_load_dll): Remove duplicate "the". + +2011-04-07 Pierre Muller <muller@ics.u-strasbg.fr> + + Remove support for old Cygwin 1.5 versions. + * win32-low.c (win32_create_inferior): Use new cygwin_path_list + function to avoid warning. + (win32_add_one_solib): Use cygwin_conv_path function to avoid + warning. + +2011-03-18 Pierre Muller <muller@ics.u-strasbg.fr> + + * gdbserver/server.h (Macro _): Define it if not available. + +2011-03-14 Michael Snyder <msnyder@vmware.com> + + * hostio.c (handle_close): Remove unnecessary null test. + +2011-03-10 Joel Brobecker <brobecker@adacore.com> + + * Makefile.in (maintainer-clean realclean distclean): Remove + "make ... subdir_do" command. + +2011-03-10 Michael Snyder <msnyder@vmware.com> + + * tracepoint.c (tracepoint_finish_step): Fix loop variable. + + * server.c (handle_v_run): Free alloced buffer on early return. + +2011-03-09 Yao Qi <yao@codesourcery.com> + + Revert: + 2011-03-04 Yao Qi <yao@codesourcery.com> + + * Makefile.in: Remove GNU make feature --directory. + + 2011-03-05 Yao Qi <yao@codesourcery.com> + + * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable. + (subdir_do): New make target. Copied from gdb/Makefile. + (maintainer-clean, realclean, distclean, clean): Call corresponding + make targets in common/Makefile. + + 2011-02-11 Yao Qi <yao@codesourcery.com> + + * configure.ac: Call AC_PROG_RANLIB. + * Makefile.in: Remove signals.o from OBS. Link libcommon.a. + * configure: Regenerate. + +2011-03-07 Jan Kratochvil <jan.kratochvil@redhat.com> + + * remote-utils.c (putpkt_binary_1): Calculate BUF2 size dynamically. + +2011-03-06 Yao Qi <yao@codesourcery.com> + + * Makefile.in (REQUIRED_SUBDIRS): Remove $(LIBCOMMON_DIR). + +2011-03-05 Yao Qi <yao@codesourcery.com> + + * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable. + (subdir_do): New make target. Copied from gdb/Makefile. + (maintainer-clean, realclean, distclean, clean): Call corresponding + make targets in common/Makefile. + +2011-03-04 Yao Qi <yao@codesourcery.com> + + * Makefile.in: Remove GNU make feature --directory. + +2011-03-04 Michael Snyder <msnyder@vmware.com> + + * server.c (queue_stop_reply): Call xmalloc not malloc. + +2011-03-02 Michael Snyder <msnyder@vmware.com> + + * linux-arm-low.c (arm_arch_setup): Replace malloc with xmalloc. + +2011-02-28 Michael Snyder <msnyder@vmware.com> + + * tracepoint.c (cmd_qtv): Discard unused value 'packet'. + (cmd_qtframe): Ditto. + (cmd_qtbuffer): Ditto. + (cmd_bigqtbuffer): Ditto. + + * utils.c (decimal2str): Initialize 'width' to nine, then + don't mess with it. + +2011-02-28 Ulrich Weigand <uweigand@de.ibm.com> + + * hostio.c (require_data): Free *data, not data. + +2011-02-28 Jan Kratochvil <jan.kratochvil@redhat.com> + + * hostio.c (require_data): Use free, not xfree. + +2011-02-27 Michael Snyder <msnyder@vmware.com> + + * server.c (handle_query): Discard unused value. + + * hostio.c (require_data): Free malloc memory before returning + error. + +2011-02-26 Michael Snyder <msnyder@vmware.com> + + * linux-low.c (list_threads): Call closedir for dirent. + +2011-02-27 Michael Snyder <msnyder@vmware.com> + + * i386-low.c (i386-length_and_rw_bits): Comment the fact that + a case statement falls through. + + * linux-low.c (linux_xfer_siginfo): Fix fencepost error. + + * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Fix fencepost error + in comparison. + +2011-02-26 Michael Snyder <msnyder@vmware.com> + + * utils.c (decimal2str): Eliminate dead code and dead param. + (pulongest): Drop dead param from call to decimal2str. + (plongest): Ditto. + +2011-02-24 Joel Brobecker <brobecker@adacore.com> + + Revert the following patch (not approved yet): + 2011-02-21 Hui Zhu <teawater@gmail.com> + * tracepoint.c (tp_printf): New function. + (eval_agent_expr): Handle gdb_agent_op_printf. + +2011-02-21 Hui Zhu <teawater@gmail.com> + + * tracepoint.c (tp_printf): New function. + (eval_agent_expr): Handle gdb_agent_op_printf. + +2011-02-18 Tom Tromey <tromey@redhat.com> + + * Makefile.in (tracepoint-ipa.o): Depend on ax.def. + (tracepoint.o): Likewise. + * tracepoint.c (enum gdb_agent_op): Use ax.def. + (gdb_agent_op_names): Likewise. + +2011-02-18 Tom Tromey <tromey@redhat.com> + + * tracepoint.c (enum gdb_agent_op) <gdb_agent_op_pick, + gdb_agent_op_rot>: New constants. + (gdb_agent_op_names): Add pick and roll. + (eval_agent_expr) <gdb_agent_op_pick, gdb_agent_op_rot>: New + cases. + +2011-02-15 Jan Kratochvil <jan.kratochvil@redhat.com> + + * aclocal.m4: Regenerated with aclocal-1.11.1. + +2011-02-14 Pedro Alves <pedro@codesourcery.com> + + * server.c (handle_qxfer_traceframe_info): New. + (qxfer_packets): Register "traceframe-info". + (handle_query): Report support for qXfer:traceframe-info:read+. + * tracepoint.c (match_blocktype): New. + (traceframe_find_block_type): Rename to ... + (traceframe_walk_blocks): ... this. Add callback filter argument, + and use it. + (traceframe_find_block_type): New, reimplemented on top of + traceframe_walk_blocks. + (build_traceframe_info_xml): New. + (traceframe_read_info): New. + * server.h (traceframe_read_info): Declare. + +2011-02-11 Yao Qi <yao@codesourcery.com> + + * configure.ac: Call AC_PROG_RANLIB. + * Makefile.in: Remove signals.o from OBS. Link libcommon.a. + * configure: Regenerate. + +2011-02-07 Pedro Alves <pedro@codesourcery.com> + + * server.c (gdb_read_memory): Change return semantics to allow + partial transfers. + (handle_search_memory_1): Adjust. + (process_serial_event) <'m' packet>: Handle partial transfers. + * tracepoint.c (traceframe_read_mem): Handle partial transfers. + +2011-01-28 Pedro Alves <pedro@codesourcery.com> + + * regcache.c (init_register_cache): Initialize + regcache->register_status. + (free_register_cache): Release regcache->register_status. + (regcache_cpy): Copy register_status. + (registers_to_string): Print 'x's for unavailable registers. + (supply_register): Mark the register's status valid or + unavailable, depending on whether a buffer was passed in or not. + (supply_register_zeroed): New. + (supply_regblock): Mark the registers' status valid or + unavailable, depending on whether a buffer was passed in or not. + * regcache.h (REG_UNAVAILABLE, REG_VALID): New defines. + (struct regcache): New `register_status' field. + (supply_register_zeroed): Declare. + * i387-fp.c (i387_xsave_to_cache): Zero out registers using + supply_register_zeroed, rather than passing a NULL buffer to + supply_register. + * tracepoint.c (fetch_traceframe_registers): Update comment. + +2011-01-28 Pedro Alves <pedro@codesourcery.com> + + * i387-fp.c (i387_xsave_to_cache): Make passing NULL as register + buffer explicit. + +2011-01-25 Pedro Alves <pedro@codesourcery.com> + + * server.h (decode_xfer_write): Change prototype. + * remote-utils.c (decode_xfer_write): Remove `annex' parameter, + and don't extract the annex here. + * server.c (decode_xfer_read): Remove `annex' parameter, + and don't extract the annex here. + (decode_xfer): New. + (struct qxfer): New. + (handle_qxfer_auxv, handle_qxfer_features, handle_qxfer_libraries) + (handle_qxfer_osdata, handle_qxfer_siginfo, handle_qxfer_spu) + (handle_qxfer_statictrace): New functions, abstracted out from + handle_query, and made to use the struct qxfer interface. + (handle_threads_qxfer_proper): Rename to ... + (handle_qxfer_threads_proper): ... this. + (handle_threads_qxfer): Rename to ... + (handle_qxfer_threads): ... this. Adjust. + (qxfer_packets): New array. + (handle_qxfer): New function. + (handle_query): Use handle_qxfer. + +2011-01-05 Michael Snyder <msnyder@msnyder-server.eng.vmware.com> + + * gdbreplay.c: Shorten lines of >= 80 columns. + * linux-low.c: Ditto. + * linux-ppc-low.c: Ditto. + * linux-s390-low.c: Ditto. + * linux-sparc-low.c: Ditto. + * linux-x86-low.c: Ditto. + * linux-xtensa-low.c: Ditto. + * mem-break.c: Ditto. + * nto-low.c: Ditto. + * regcache.h: Ditto. + * remote-utils.c: Ditto. + * server.c: Ditto. + * server.h: Ditto. + * thread-db.c: Ditto. + * tracepoint.c: Ditto. + * utils.c: Ditto. + * win32-low.h: Ditto. + +2011-01-05 Joel Brobecker <brobecker@adacore.com> + + * gdbserver/configure.ac, gdbserver/gdbserver.1: Copyright year + update. + +2011-01-01 Joel Brobecker <brobecker@adacore.com> + + * server.c (gdbserver_version): Update copyright year in version + output. + * gdbreplay.c (gdbreplay_version): Ditto. + +2010-12-29 Jie Zhang <jie.zhang@analog.com> + + * configure.srv (bfin-*-*linux*): Handle Blackfin/Linux targets. + * linux-bfin-low.c: New file. + * linux-low.c: Define PT_TEXT_ADDR, PT_TEXT_END_ADDR, and + PT_DATA_ADDR for BFIN targets. + * Makefile.in (SFILES): Add linux-bfin-low.c. + (clean): Remove reg-bfin.c. + (linux-bfin-low.o, reg-bfin.o, reg-bfin.c): New targets. + * README: Mention supported Blackfin targets. + +2010-12-23 Mike Frysinger <vapier@gentoo.org> + + * .gitignore: New file. + +2010-11-16 Mike Frysinger <vapier@gentoo.org> + + * linux-low.c (linux_tracefork_child): Add char* cast to arg. + +2010-10-22 Jie Zhang <jie@codesourcery.com> + + * Makefile.in: Add FLAGS_TO_PASS variable. + (install): Remove dependency of install-only and recursively + invoke make for install-only. + +2010-10-04 Doug Evans <dje@google.com> + + * Makefile.in (uninstall): Use $(DESTDIR). + +2010-09-24 Pedro Alves <pedro@codesourcery.com> + + PR gdb/11842 + + * linux-x86-low.c (compat_siginfo_from_siginfo) + (siginfo_from_compat_siginfo): Also copy si_pid and si_uid when + si_code is < 0. Check for si_code == SI_TIMER before checking for + si_code < 0. + +2010-09-13 Joel Brobecker <brobecker@adacore.com> + + * lynx-i386-low.c: New file. + * configure.srv: Add handling of i[34567]86-*-lynxos* targets. + +2010-09-13 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c (ptrace_request_to_str): Remove handling for + request values that have been removed in LynxOS 5.x. + +2010-09-13 Joel Brobecker <brobecker@adacore.com> + + * lynx-low.c, lynx-ppc-loc.c: Include <sys/ptrace.h> instead of + <ptrace.h> + +2010-09-09 Nathan Sidwell <nathan@codesourcery.com> + + * configure.ac: Add --enable-inprocess-agent option. + * configure: Rebuilt. + +2010-09-06 Yao Qi <yao@codesourcery.com> + + * linux-low.c (linux_kill): Remove unused variable. + (linux_stabilize_threads): Likewise. + * server.c (start_inferior): Likewise. + (queue_stop_reply_callback): Likewise. + * tracepoint.c (do_action_at_tracepoint): Likewise. + +2010-09-06 Yao Qi <yao@codesourcery.com> + + * linux-low.c (maybe_move_out_of_jump_pad): Restore current_inferior + on return. + +2010-09-06 Jan Kratochvil <jan.kratochvil@redhat.com> + + * target.c (mywait) <TARGET_WAITKIND_EXITED>: Fix to use INTEGER. + +2010-09-06 Pedro Alves <pedro@codesourcery.com> + + * Makefile.in (install-only): Replace $IPA_DEPFILES with + "$(IPA_DEPFILES)". + +2010-09-01 Joel Brobecker <brobecker@adacore.com> + + * gdbserver/lynx-low.c, gdbserver/lynx-low.h, + gdbserver/lynx-ppc-low.c: New files. + * Makefile.in (lynx_low_h): New variable. + (lynx-low.o, lynx-ppc-low.o): New rules. + * configure.ac: On LynxOS, link with -lnetinet. + * configure.srv: Add handling of powerpc-*-lynxos* targets. + * configure: regenerate. + +2010-09-01 Joel Brobecker <brobecker@adacore.com> + + * Makefile.in (vasprintf.o, vsnprintf.o): New rules. + * configure.ac: Add check for vasprintf and vsnprintf. + * configure, config.in: Regenerate. + * server.h (vasprintf, vsnprintf): Add conditional declarations. + +2010-09-01 Joel Brobecker <brobecker@adacore.com> + + * gdbreplay.c: Move include of alloca.h up, next to include of + malloc.h. + * server.h: Add include of malloc.h. + * mem-break.c: Remove include of malloc.h. + * server.c, tracepoint.c, utils.c, win32-low.c: Likewise. + +2010-09-01 Joel Brobecker <brobecker@adacore.com> + + * Makefile.in (memmem.o): Build with -Wno-error. + +2010-09-01 Joel Brobecker <brobecker@adacore.com> + + * utils.c (xsnprintf): Make non-static. + * server.h: Add xsnprintf declaration. + * linux-low.c, nto-low.c, target.c, thread-db.c, tracepoint.c: + replace calls to snprintf by calls to xsnprintf throughout. + +2010-09-01 Joel Brobecker <brobecker@adacore.com> + + * configure.ac: Add configure check for alloca. + * configure, config.in: Regenerate. + * server.h: Include alloca.h if it exists. + * gdbreplay.c: Include alloca.h if it exists. + +2010-08-28 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (__SIGRTMIN): Define if not already defined. + (linux_create_inferior): Check for __ANDROID__ rather than + __SIGRTMIN. + (enqueue_one_deferred_signal): Don't requeue non-RT signals that + are already deferred. + (linux_wait_1): Check for __ANDROID__ rather than __SIGRTMIN. + (linux_resume_one_thread): Don't queue a SIGSTOP if the lwp is + stopped and already has a pending signal to report. + (proceed_one_lwp): : Don't queue a SIGSTOP if the lwp already has + a pending signal to report or is moving out of a jump pad. + (linux_init_signals): Check for __ANDROID__ rather than + __SIGRTMIN. + +2010-08-28 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_stabilize_threads): Wrap debug output in a + debug_threads check. Avoid a linear search when not doing debug + output. + +2010-08-27 Pedro Alves <pedro@codesourcery.com> + + * event-loop.c (event_handle_func): Adjust to use gdb_fildes_t. + (struct gdb_event) <fd>: Change type to gdb_fildes_t. + (struct file_handler) <fd>: Change type to gdb_fildes_t. + (process_event): Change local fd's type to gdb_fildes_t. + (create_file_handler): Adjust prototype. + (delete_file_handler): Adjust prototype. + (handle_file_event): Adjust prototype. Use pfildes. + (create_file_event): Adjsut prototype. + * remote-utils.c (remote_desc, listen_desc): Change type to + gdb_fildes_t. + * server.h: New gdb_fildes_t typedef. + [USE_WIN32API]: Include winsock2.h. + (delete_file_handler, add_file_handler): Adjust prototypes. + (pfildes): Declare. + * utils.c (pfildes): New. + +2010-08-27 Pedro Alves <pedro@codesourcery.com> + + * configure.ac (build_warnings): Add -Wno-char-subscripts. + * configure: Regenerate. + +2010-08-27 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_unprepare_to_access_memory): Rename to ... + (linux_done_accessing_memory): ... this. + (linux_target_ops): Adjust. + * linux-x86-low.c (x86_insert_point, x86_remove_point): Adjust. + * nto-low.c (nto_target_ops): Adjust comment. + * server.c (gdb_read_memory, gdb_write_memory): Adjust. + * spu-low.c (spu_target_ops): Adjust comment. + * target.h (target_ops): Rename unprepare_to_access_memory field + to done_accessing_memory. + (unprepare_to_access_memory): Rename to ... + (done_accessing_memory): ... this. + +2010-08-26 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_prepare_to_access_memory): New. + (linux_unprepare_to_access_memory): New. + (linux_target_ops): Install them. + * server.c (read_memory): Rename to ... + (gdb_read_memory): ... this. Use + prepare_to_access_memory/prepare_to_access_memory. + (write_memory): Rename to ... + (gdb_write_memory): ... this. Use + prepare_to_access_memory/prepare_to_access_memory. + (handle_search_memory_1): Adjust. + (process_serial_event): Adjust. + * target.h (struct target_ops): New fields + prepare_to_access_memory and unprepare_to_access_memory. + (prepare_to_access_memory, unprepare_to_access_memory): New. + * linux-x86-low.c (x86_insert_point, x86_remove_point): Use + prepare_to_access_memory/prepare_to_access_memory. + * nto-low.c (nto_target_ops): Adjust. + * spu-low.c (spu_target_ops): Adjust. + * win32-low.c (win32_target_ops): Adjust. + +2010-08-26 Pedro Alves <pedro@codesourcery.com> + + * Makefile.in (WARN_CFLAGS): Get it from configure. + (WERROR_CFLAGS): New. + (INTERNAL_CFLAGS): Add WERROR_CFLAGS. + * configure.ac: Introduce --enable-werror, which adds -Werror to + the compiler command line. Enabled by default. Disable with + --disable-werror. Add -Wdeclaration-after-statement + Wpointer-arith and -Wformat-nonliteral to warning flags. + * configure: Regenerate. + +2010-08-26 Pedro Alves <pedro@codesourcery.com> + + * mem-break.c [HAVE_MALLOC_H]: Include malloc.h. + +2010-08-26 Pedro Alves <pedro@codesourcery.com> + + * gdbreplay.c (remote_error): New. + (gdbchar): New. + (expect): Use gdbchar. Check for error reading from GDB. + Clarify sync error output. + (play): Check for errors writing to GDB. + * linux-low.c (sigchld_handler): Really ignore `write' errors. + * remote-utils.c (getpkt): Check for errors writing to the remote + descriptor. + +2010-08-25 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_wait_1): Move non-debugging code out of + `debug_threads' control. + +2010-08-25 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_wait_1): Don't set last_status here. + * server.c (push_event, queue_stop_reply_callback): Assert we're + not pushing a TARGET_WAITKIND_IGNORE event. + (start_inferior, start_inferior, attach_inferior, handle_v_cont) + (myresume, handle_target_event): Set the thread's last_resume_kind + and last_status from the target returned status. + +2010-08-25 Pedro Alves <pedro@codesourcery.com> + + PR threads/10729 + + * linux-x86-low.c (update_debug_registers_callback): New. + (i386_dr_low_set_addr): Use it. + (i386_dr_low_get_addr): New. + (i386_dr_low_set_control): Use update_debug_registers_callback. + (i386_dr_low_get_control): New. + (i386_dr_low_get_status): Adjust. + * linux-low.c (linux_stop_lwp): New. + * linux-low.h (linux_stop_lwp): Declare. + + * i386-low.c (I386_DR_GET_RW_LEN): Take the dr7 contents as + argument instead of a i386_debug_reg_state. + (I386_DR_WATCH_HIT): Take the dr6 contents as argument instead of + a i386_debug_reg_state. + (i386_insert_aligned_watchpoint): Adjust. + (i386_remove_aligned_watchpoint): Adjust. + (i386_low_stopped_data_address): Read the debug registers from the + inferior instead of from the mirrors. + * i386-low.h (struct i386_debug_reg_state): Extend comment. + (i386_dr_low_get_addr): Declare. + (i386_dr_low_get_control): Declare. + (i386_dr_low_get_status): Change prototype. + + * win32-i386-low.c (dr_status_mirror, dr_control_mirror): New globals. + (i386_dr_low_get_addr): New. + (i386_dr_low_get_control): New. + (i386_dr_low_get_status): Adjust prototype. Return + dr_status_mirror. + (i386_initial_stuff): Clear dr_status_mirror and + dr_control_mirror. + (i386_get_thread_context): Adjust. + (i386_set_thread_context): Adjust. + (i386_thread_added): Adjust. + +2010-08-24 Pedro Alves <pedro@codesourcery.com> + + * linux-low.h (linux_thread_area): Delete declaration. + +2010-08-11 Thomas Schwinge <thomas@codesourcery.com> + + * linux-low.c (linux_wait_1): Correctly return the ptid of the child + after its termination. + +2010-08-09 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (gdb_wants_lwp_stopped): Delete. + (gdb_wants_all_stopped): Delete. + (linux_wait_1): Don't call them. + * server.c (handle_v_cont): Tag all threads as want-stopped. + (gdb_wants_thread_stopped): Fix comments. Tag the thread that + stopped as "client-wants-stopped". + +2010-07-31 Pedro Alves <pedro@codesourcery.com> + + * Makefile.in (signals_h): New. + (server_h): Depend on it. + (server.o): Don't depend on $(signals_def). + (signals.o): Depend on $(signals_def). + +2010-07-31 Jan Kratochvil <jan.kratochvil@redhat.com> + + * Makefile.in (signals_def): New. + (server_h): Append include/gdb/signals.h and signals_def. + (server.o): Append signals_def. + +2010-07-25 Jan Kratochvil <jan.kratochvil@redhat.com> + + * server.c (handle_target_event): Use target_signal_to_host for + resume_info.sig initialization. + * target.h (struct thread_resume) <sig>: New comment. + +2010-07-20 Ozkan Sezer <sezeroz@gmail.com> + + * server.c (handle_query): strcpy() the returned string from paddress() + instead of sprintf(). + * utils.c (paddress): Return phex_nz(). + +2010-07-07 Joel Brobecker <brobecker@adacore.com> + + * server.c (handle_v_cont): Call mourn_inferior if process + just exited. + (myresume): Likewise. + +2010-07-01 Pedro Alves <pedro@codesourcery.com> + + Static tracepoints, and integration with UST. + + * configure.ac: Handle --with-ust. substitute ustlibs and ustinc. + * mem-break.c (uninsert_all_breakpoints) + (reinsert_all_breakpoints): New. + * mem-break.h (reinsert_all_breakpoints, uninsert_all_breakpoints): + * tracepoint.c (ust_loaded, helper_thread_id, cmd_buf): New. + (gdb_agent_ust_loaded, helper_thread_id) + (gdb_agent_helper_thread_id): New macros. + (struct ipa_sym_addresses): Add addr_ust_loaded, + addr_helper_thread_id, addr_cmd_buf. + (symbol_list): Add ust_loaded, helper_thread_id, cmd_buf. + (in_process_agent_loaded_ust): New. + (write_e_ust_not_loaded): New. + (maybe_write_ipa_ust_not_loaded): New. + (struct collect_static_trace_data_action): New. + (enum tracepoint_type) <static_tracepoint>: New. + (struct tracepoint) <handle>: Mention static tracepoints. + (struct static_tracepoint_ctx): New. + (CMD_BUF_SIZE): New. + (add_tracepoint_action): Handle static tracepoint actions. + (unprobe_marker_at): New. + (clear_installed_tracepoints): Handle static tracepoints. + (cmd_qtdp): Handle static tracepoints. + (probe_marker_at): New. + (cmd_qtstart): Handle static tracepoints. + (response_tracepoint): Handle static tracepoints. + (cmd_qtfstm, cmd_qtsstm, cmd_qtstmat): New. + (handle_tracepoint_query): Handle qTfSTM, qTsSTM and qTSTMat. + (get_context_regcache): Handle static tracepoints. + (do_action_at_tracepoint): Handle static tracepoint actions. + (traceframe_find_block_type): Handle static trace data blocks. + (traceframe_read_sdata): New. + (download_tracepoints): Download static tracepoint actions. + [HAVE_UST] Include ust/ust.h, dlfcn.h, sys/socket.h, and sys/un.h. + (GDB_PROBE_NAME): New. + (ust_ops): New. + (GET_UST_SYM): New. + (USTF): New. + (dlsym_ust): New. + (ust_marker_to_static_tracepoint): New. + (gdb_probe): New. + (collect_ust_data_at_tracepoint): New. + (gdb_ust_probe): New. + (UNIX_PATH_MAX, SOCK_DIR): New. + (gdb_ust_connect_sync_socket): New. + (resume_thread, stop_thread): New. + (run_inferior_command): New. + (init_named_socket): New. + (gdb_ust_socket_init): New. + (cstr_to_hexstr): New. + (next_st): New. + (first_marker, next_marker): New. + (response_ust_marker): New. + (cmd_qtfstm, cmd_qtsstm): New. + (unprobe_marker_at, probe_marker_at): New. + (cmd_qtstmat, gdb_ust_thread): New. + (gdb_ust_init): New. + (initialize_tracepoint_ftlib): Call gdb_ust_init. + * linux-amd64-ipa.c [HAVE_UST]: Include ust/processor.h + (ST_REGENTRY): New. + (x86_64_st_collect_regmap): New. + (X86_64_NUM_ST_COLLECT_GREGS): New. + (AMD64_RIP_REGNUM): New. + (supply_static_tracepoint_registers): New. + * linux-i386-ipa.c [HAVE_UST]: Include ust/processor.h + (ST_REGENTRY): New. + (i386_st_collect_regmap): New. + (i386_NUM_ST_COLLECT_GREGS): New. + (supply_static_tracepoint_registers): New. + * server.c (handle_query): Handle qXfer:statictrace:read. + <qSupported>: Report support for StaticTracepoints, and + qXfer:statictrace:read features. + * server.h (traceframe_read_sdata) + (supply_static_tracepoint_registers): Declare. + * remote-utils.c (convert_int_to_ascii, hexchars, ishex, tohex) + (unpack_varlen_hex): Include in IPA build. + * Makefile.in (ustlibs, ustinc): New. + (IPA_OBJS): Add remote-utils-ipa.o. + ($(IPA_LIB)): Link -ldl and -lpthread. + (UST_CFLAGS): New. + (IPAGENT_CFLAGS): Add UST_CFLAGS. + * config.in, configure: Regenerate. + +2010-06-20 Ian Lance Taylor <iant@google.com> + Pedro Alves <pedro@codesourcery.com> + + * linux-x86-low.c (always_true): Delete. + (EMIT_ASM, EMIT_ASM32): Use an uncondition asm jmp instead of + trying to fool the compiler with always_true. + +2010-06-20 Pedro Alves <pedro@codesourcery.com> + + * tracepoint.c (condition_true_at_tracepoint): Don't run compiled + conditions in gdbserver. + +2010-06-19 Ulrich Weigand <uweigand@de.ibm.com> + + * spu-low.c (spu_read_memory): Wrap around local store limit. + (spu_write_memory): Likewise. + +2010-06-15 Pedro Alves <pedro@codesourcery.com> + + * linux-x86-low.c (amd64_emit_const, amd64_emit_void_call_2) + (i386_emit_const, i386_emit_void_call_2): Replace int64_t uses with + LONGEST uses. + * server.h (struct emit_ops): Replace int64_t uses with LONGEST + uses. + * tracepoint.c (emit_const, emit_void_call_2): Replace int64_t + uses with LONGEST uses. + +2010-06-14 Stan Shebs <stan@codesourcery.com> + Pedro Alves <pedro@codesourcery.com> + + Bytecode compiler. + + * linux-x86-low.c: Include limits.h. + (add_insns): New. + (always_true): New. + (EMIT_ASM): New. + (EMIT_ASM32): New. + (amd64_emit_prologue, amd64_emit_epilogue, amd64_emit_add) + (amd64_emit_sub, amd64_emit_mul, amd64_emit_lsh) + (amd64_emit_rsh_signed, amd64_emit_rsh_unsigned, amd64_emit_ext, + (amd64_emit_log_not, amd64_emit_bit_and, amd64_emit_bit_or) + (amd64_emit_bit_xor, amd64_emit_bit_not, amd64_emit_equal, + (amd64_emit_less_signed, amd64_emit_less_unsigned, amd64_emit_ref, + (amd64_emit_if_goto, amd64_emit_goto, amd64_write_goto_address) + (amd64_emit_const, amd64_emit_call, amd64_emit_reg) + (amd64_emit_pop, amd64_emit_stack_flush, amd64_emit_zero_ext) + (amd64_emit_swap, amd64_emit_stack_adjust, amd64_emit_int_call_1) + (amd64_emit_void_call_2): New. + (amd64_emit_ops): New. + (i386_emit_prologue, i386_emit_epilogue, i386_emit_add) + (i386_emit_sub,i386_emit_mul, i386_emit_lsh, i386_emit_rsh_signed) + (i386_emit_rsh_unsigned, i386_emit_ext, i386_emit_log_not) + (i386_emit_bit_and, i386_emit_bit_or, i386_emit_bit_xor) + (i386_emit_bit_not, i386_emit_equal, i386_emit_less_signed) + (i386_emit_less_unsigned, i386_emit_ref, i386_emit_if_goto) + (i386_emit_goto, i386_write_goto_address, i386_emit_const) + (i386_emit_call, i386_emit_reg, i386_emit_pop) + (i386_emit_stack_flush, i386_emit_zero_ext, i386_emit_swap) + (i386_emit_stack_adjust, i386_emit_int_call_1) + (i386_emit_void_call_2): New. + (i386_emit_ops): New. + (x86_emit_ops): New. + (the_low_target): Install x86_emit_ops. + * server.h (struct emit_ops): New. + (get_raw_reg_func_addr): Declare. + (current_insn_ptr, emit_error): Declare. + * tracepoint.c (get_raw_reg, get_trace_state_variable_value) + (set_trace_state_variable_value): New defines. + (struct ipa_sym_addresses): New fields addr_get_raw_reg, + addr_get_trace_state_variable_value and + addr_set_trace_state_variable_value. + (symbol_list): New fields for get_raw_reg, + get_trace_state_variable_value and set_trace_state_variable_value. + (condfn): New typedef. + (struct tracepoint): New field `compiled_cond'. + (do_action_at_tracepoint): Clear compiled_cond. + (get_trace_state_variable_value, set_trace_state_variable_value): + Export in the IPA. + (condition_true_at_tracepoint): If there's a compiled condition, + run that. + (current_insn_ptr, emit_error): New globals. + (struct bytecode_address): New. + (get_raw_reg_func_addr): New. + (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul) + (emit_lsh, emit_rsh_signed, emit_rsh_unsigned, emit_ext) + (emit_log_not, emit_bit_and, emit_bit_or, emit_bit_xor) + (emit_bit_not, emit_equal, emit_less_signed, emit_less_unsigned) + (emit_ref, emit_if_goto, emit_goto, write_goto_address, emit_const) + (emit_reg, emit_pop, emit_stack_flush, emit_zero_ext, emit_swap) + (emit_stack_adjust, emit_int_call_1, emit_void_call_2): New. + (compile_tracepoint_condition, compile_bytecodes): New. + * target.h (emit_ops): Forward declare. + (struct target_ops): New field emit_ops. + (target_emit_ops): New. + * linux-amd64-ipa.c (gdb_agent_get_raw_reg): New. + * linux-i386-ipa.c (gdb_agent_get_raw_reg): New. + * linux-low.c (linux_emit_ops): New. + (linux_target_ops): Install it. + * linux-low.h (struct linux_target_ops): New field emit_ops. + +2010-06-14 Ulrich Weigand <uweigand@de.ibm.com> + + * linux-ppc-low.c (ppc_arch_setup): Use private regcache to test MSR. + * linux-s390-low.c (ppc_arch_setup): Use private regcache to test PSW. + +2010-06-01 Pedro Alves <pedro@codesourcery.com> + Stan Shebs <stan@codesourcery.com> + + * Makefile.in (IPA_DEPFILES, extra_libraries): New. + (all): Depend on $(extra_libraries). + (install-only): Install the IPA. + (IPA_OBJS, IPA_LIB): New. + (clean): Remove the IPA lib. + (IPAGENT_CFLAGS): New. + (tracepoint-ipa.o, utils-ipa.o, remote-utils-ipa.o) + (regcache-ipa.o, i386-linux-ipa.o, linux-i386-ipa.o) + (linux-amd64-ipa.o, amd64-linux-ipa.o): New rules. + * linux-amd64-ipa.c, linux-i386-ipa.c: New files. + * configure.ac: Check for atomic builtins support in the compiler. + (IPA_DEPFILES, extra_libraries): Define. + * configure.srv (ipa_obj): Add description. + (ipa_i386_linux_regobj, ipa_amd64_linux_regobj): Define. + (i[34567]86-*-linux*): Set ipa_obj. + (x86_64-*-linux*): Set ipa_obj. + * linux-low.c (stabilizing_threads): New. + (supports_fast_tracepoints): New. + (linux_detach): Stabilize threads before detaching. + (handle_tracepoints): Handle internal tracing breakpoints. Assert + the lwp is either not stabilizing, or is moving out of a jump pad. + (linux_fast_tracepoint_collecting): New. + (maybe_move_out_of_jump_pad): New. + (enqueue_one_deferred_signal): New. + (dequeue_one_deferred_signal): New. + (linux_wait_for_event_1): If moving out of a jump pad, defer + pending signals to later. + (linux_stabilize_threads): New. + (linux_wait_1): Check if threads need moving out of jump pads, and + do it if so. + (stuck_in_jump_pad_callback): New. + (move_out_of_jump_pad_callback): New. + (lwp_running): New. + (linux_resume_one_lwp): Handle moving out of jump pads. + (linux_set_resume_request): Dequeue deferred signals. + (need_step_over_p): Also step over fast tracepoint jumps. + (start_step_over): Also uninsert fast tracepoint jumps. + (finish_step_over): Also reinsert fast tracepoint jumps. + (linux_install_fast_tracepoint_jump): New. + (linux_target_ops): Install linux_stabilize_threads and + linux_install_fast_tracepoint_jump_pad. + * linux-low.h (linux_target_ops) <get_thread_area, + install_fast_tracepoint_jump_pad>: New fields. + (struct lwp_info) <collecting_fast_tracepoint, + pending_signals_to_report, exit_jump_pad_bkpt>: New fields. + (linux_get_thread_area): Declare. + * linux-x86-low.c (jump_insn): New. + (x86_get_thread_area): New. + (append_insns): New. + (push_opcode): New. + (amd64_install_fast_tracepoint_jump_pad): New. + (i386_install_fast_tracepoint_jump_pad): New. + (x86_install_fast_tracepoint_jump_pad): New. + (the_low_target): Install x86_get_thread_area and + x86_install_fast_tracepoint_jump_pad. + * mem-break.c (set_raw_breakpoint_at): Use read_inferior_memory. + (struct fast_tracepoint_jump): New. + (fast_tracepoint_jump_insn): New. + (fast_tracepoint_jump_shadow): New. + (find_fast_tracepoint_jump_at): New. + (fast_tracepoint_jump_here): New. + (delete_fast_tracepoint_jump): New. + (set_fast_tracepoint_jump): New. + (uninsert_fast_tracepoint_jumps_at): New. + (reinsert_fast_tracepoint_jumps_at): New. + (set_breakpoint_at): Use write_inferior_memory. + (uninsert_raw_breakpoint): Use write_inferior_memory. + (check_mem_read): Mask out fast tracepoint jumps. + (check_mem_write): Mask out fast tracepoint jumps. + * mem-break.h (struct fast_tracepoint_jump): Forward declare. + (set_fast_tracepoint_jump): Declare. + (delete_fast_tracepoint_jump) + (fast_tracepoint_jump_here, uninsert_fast_tracepoint_jumps_at) + (reinsert_fast_tracepoint_jumps_at): Declare. + * regcache.c: Don't compile many functions when building the + in-process agent library. + (init_register_cache) [IN_PROCESS_AGENT]: Don't allow allocating + the register buffer in the heap. + (free_register_cache): If the register buffer isn't owned by the + regcache, don't free it. + (set_register_cache) [IN_PROCESS_AGENT]: Don't re-alocate + pre-existing register caches. + * remote-utils.c (convert_int_to_ascii): Constify `from' parameter + type. + (convert_ascii_to_int): : Constify `from' parameter type. + (decode_M_packet, decode_X_packet): Replace the `to' parameter by + a `to_p' pointer to pointer parameter. If TO_P is NULL, malloc + the needed buffer in-place. + (relocate_instruction): New. + * server.c (handle_query) <qSymbols>: If the target supports + tracepoints, give it a chance of looking up symbols. Report + support for fast tracepoints. + (handle_status): Stabilize threads. + (process_serial_event): Adjust. + * server.h (struct fast_tracepoint_jump): Forward declare. + (struct process_info) <fast_tracepoint_jumps>: New field. + (convert_ascii_to_int, convert_int_to_ascii): Adjust. + (decode_X_packet, decode_M_packet): Adjust. + (relocate_instruction): Declare. + (in_process_agent_loaded): Declare. + (tracepoint_look_up_symbols): Declare. + (struct fast_tpoint_collect_status): Declare. + (fast_tracepoint_collecting): Declare. + (force_unlock_trace_buffer): Declare. + (handle_tracepoint_bkpts): Declare. + (initialize_low_tracepoint) + (supply_fast_tracepoint_registers) [IN_PROCESS_AGENT]: Declare. + * target.h (struct target_ops) <stabilize_threads, + install_fast_tracepoint_jump_pad>: New fields. + (stabilize_threads, install_fast_tracepoint_jump_pad): New. + * tracepoint.c [HAVE_MALLOC_H]: Include malloc.h. + [HAVE_STDINT_H]: Include stdint.h. + (trace_debug_1): Rename to ... + (trace_vdebug): ... this. + (trace_debug): Rename to ... + (trace_debug_1): ... this. Add `level' parameter. + (trace_debug): New. + (ATTR_USED, ATTR_NOINLINE): New. + (IP_AGENT_EXPORT): New. + (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end) + (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) + New renaming defines. + (struct ipa_sym_addresses): New. + (STRINGIZE_1, STRINGIZE, IPA_SYM): New. + (symbol_list): New. + (ipa_sym_addrs): New. + (all_tracepoint_symbols_looked_up): New. + (in_process_agent_loaded): New. + (write_e_ipa_not_loaded): New. + (maybe_write_ipa_not_loaded): New. + (tracepoint_look_up_symbols): New. + (debug_threads) [IN_PROCESS_AGENT]: New. + (read_inferior_memory) [IN_PROCESS_AGENT]: New. + (UNKNOWN_SIDE_EFFECTS): New. + (stop_tracing): New. + (flush_trace_buffer): New. + (stop_tracing_bkpt): New. + (flush_trace_buffer_bkpt): New. + (read_inferior_integer): New. + (read_inferior_uinteger): New. + (read_inferior_data_pointer): New. + (write_inferior_data_pointer): New. + (write_inferior_integer): New. + (write_inferior_uinteger): New. + (struct collect_static_trace_data_action): Delete. + (enum tracepoint_type): New. + (struct tracepoint) <type>: New field `type'. + <actions_str, step_actions, step_actions_str>: Only include in + GDBserver. + <orig_size, obj_addr_on_target, adjusted_insn_addr> + <adjusted_insn_addr_end, jump_pad, jump_pad_end>: New fields. + (tracepoints): Use IP_AGENT_EXPORT. + (last_tracepoint): Don't include in the IPA. + (stopping_tracepoint): Use IP_AGENT_EXPORT. + (trace_buffer_is_full): Use IP_AGENT_EXPORT. + (alloced_trace_state_variables): New. + (trace_state_variables): Use IP_AGENT_EXPORT. + (traceframe_t): Delete unused variable. + (circular_trace_buffer): Don't include in the IPA. + (trace_buffer_start): Delete. + (struct trace_buffer_control): New. + (trace_buffer_free): Delete. + (struct ipa_trace_buffer_control): New. + (GDBSERVER_FLUSH_COUNT_MASK, GDBSERVER_FLUSH_COUNT_MASK_PREV) + (GDBSERVER_FLUSH_COUNT_MASK_CURR, GDBSERVER_UPDATED_FLUSH_COUNT_BIT): + New. + (trace_buffer_ctrl): New. + (TRACE_BUFFER_CTRL_CURR): New. + (trace_buffer_start, trace_buffer_free, trace_buffer_end_free): + Reimplement as macros. + (trace_buffer_wrap): Delete. + (traceframe_write_count, traceframe_read_count) + (traceframes_created, tracing): Use IP_AGENT_EXPORT. + (struct tracepoint_hit_ctx) <type>: New field. + (struct fast_tracepoint_ctx): New. + (memory_barrier): New. + (cmpxchg): New. + (record_tracepoint_error): Update atomically in the IPA. + (clear_inferior_trace_buffer): New. + (about_to_request_buffer_space): New. + (trace_buffer_alloc): Handle GDBserver and inferior simulatenous + updating the same buffer. + (add_tracepoint): Default the tracepoint's type to trap + tracepoint, and orig_size to -1. + (get_trace_state_variable) [IN_PROCESS_AGENT]: Handle allocated + internal variables. + (create_trace_state_variable): New parameter `gdb'. Handle it. + (clear_installed_tracepoints): Clear fast tracepoint jumps. + (cmd_qtdp): Handle fast tracepoints. + (cmd_qtdv): Adjust. + (max_jump_pad_size): New. + (gdb_jump_pad_head): New. + (get_jump_space_head): New. + (claim_jump_space): New. + (sort_tracepoints): New. + (MAX_JUMP_SIZE): New. + (cmd_qtstart): Handle fast tracepoints. Sync tracepoints with the + IPA. + (stop_tracing) [IN_PROCESS_AGENT]: Don't include the tdisconnected + support. Upload fast traceframes, and delete internal IPA + breakpoints. + (stop_tracing_handler): New. + (flush_trace_buffer_handler): New. + (cmd_qtstop): Upload fast tracepoints. + (response_tracepoint): Handle fast tracepoints. + (tracepoint_finished_step): Upload fast traceframes. Set the + tracepoint hit context's tracepoint type. + (handle_tracepoint_bkpts): New. + (tracepoint_was_hit): Set the tracepoint hit context's tracepoint + type. Add comment about fast tracepoints. + (collect_data_at_tracepoint) [IN_PROCESS_AGENT]: Don't access the + non-existing action_str field. + (get_context_regcache): Handle fast tracepoints. + (do_action_at_tracepoint) [!IN_PROCESS_AGENT]: Don't write the PC + to the regcache. + (fast_tracepoint_from_jump_pad_address): New. + (fast_tracepoint_from_ipa_tpoint_address): New. + (collecting_t): New. + (force_unlock_trace_buffer): New. + (fast_tracepoint_collecting): New. + (collecting): New. + (gdb_collect): New. + (write_inferior_data_ptr): New. + (target_tp_heap): New. + (target_malloc): New. + (download_agent_expr): New. + (UALIGN): New. + (download_tracepoints): New. + (download_trace_state_variables): New. + (upload_fast_traceframes): New. + (IPA_FIRST_TRACEFRAME): New. + (IPA_NEXT_TRACEFRAME_1): New. + (IPA_NEXT_TRACEFRAME): New. + [IN_PROCESS_AGENT]: Include sys/mman.h and fcntl.h. + [IN_PROCESS_AGENT] (gdb_tp_heap_buffer, gdb_jump_pad_buffer) + (gdb_jump_pad_buffer_end): New. + [IN_PROCESS_AGENT] (initialize_tracepoint_ftlib): New. + (initialize_tracepoint): Adjust. + [IN_PROCESS_AGENT]: Allocate the IPA heap, and jump pad scratch + buffer. Initialize the low module. + * utils.c (PREFIX, TOOLNAME): New. + (malloc_failure): Use PREFIX. + (error): In the IPA, an error causes an exit. + (fatal, warning): Use PREFIX. + (internal_error): Use TOOLNAME. + (NUMCELLS): Increase to 10. + * configure, config.in: Regenerate. + +2010-06-01 Pedro Alves <pedro@codesourcery.com> + + * server.c (handle_query) <qSupported>: Do two passes over the + qSupported string to avoid nesting strtok. + +2010-05-28 Jan Kratochvil <jan.kratochvil@redhat.com> + + * Makefile.in (SFILES): Add $(srcdir)/proc-service.list. + (CDEPS): New. + * configure.ac (RDYNAMIC): New AC_MSG_CHECKING wrapping. Test also + -Wl,--dynamic-list. + * configure: Regenerate. + * proc-service.list: New. + +2010-05-28 Jan Kratochvil <jan.kratochvil@redhat.com> + + * linux-low.c (linux_core_of_thread): Fix crash on invalid CONTENT. + New comment. + +2010-05-26 Ozkan Sezer <sezeroz@gmail.com> + + * gdbreplay.c (remote_open): Check error return from socket() call by + its equality to -1 not by it being negative. + * remote-utils.c (remote_open): Likewise. + +2010-05-23 Pedro Alves <pedro@codesourcery.com> + + * config.h: Regenerate. + +2010-05-19 Maxim Kuvyrkov <maxim@codesourcery.com> + + * linux-m68k-low.c (ps_get_thread_area): Don't define if kernel + doesn't provide PTRACE_GET_THREAD_AREA. + +2010-05-19 Maxim Kuvyrkov <maxim@codesourcery.com> + + * linux-m68k-low.c: Include <asm/ptrace.h> + (ps_get_thread_area): Implement. + +2010-05-03 Doug Evans <dje@google.com> + + * event-loop.c (struct callback_event): New struct. + (callback_list): New global. + (append_callback_event, delete_callback_event): New functions. + (process_callback): New function. + (start_event_loop): Call it. + * remote-utils.c (NOT_SCHEDULED): Define. + (readchar_buf, readchar_bufcnt, readchar_bufp): New static globals, + moved out of readchar. + (readchar): Rewrite. Call reschedule before returning. + (reset_readchar): New function. + (remote_close): Call it. + (process_remaining, reschedule): New functions. + * server.h (callback_handler_func): New typedef. + (append_callback_event, delete_callback_event): Declare. + +2010-05-03 Pedro Alves <pedro@codesourcery.com> + + * proc-service.c (ps_pglobal_lookup): Use + thread_db_look_up_one_symbol. + * remote-utils.c (look_up_one_symbol): Add new `may_ask_gdb' + parameter. Use it instead of all_symbols_looked_up. + * server.h (struct process_info) <all_symbols_looked_up>: Delete + field. + (all_symbols_looked_up): Don't declare. + (look_up_one_symbol): Add new `may_ask_gdb' parameter. + * thread-db.c (struct thread_db) <all_symbols_looked_up>: New + field. + (thread_db_look_up_symbols): Adjust call to look_up_one_symbol. + Set all_symbols_looked_up here. + (thread_db_look_up_one_symbol): New. + (thread_db_get_tls_address): Adjust. + (thread_db_load_search, try_thread_db_load_1): Always allocate the + thread_db object on the heap, and tentatively set it in the + process structure. + (thread_db_init): Don't set all_symbols_looked_up here. + * linux-low.h (thread_db_look_up_one_symbol): Declare. + +2010-05-03 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_kill, linux_detach): Adjust. + (status_pending_p_callback): Remove redundant statement. Check + for !TARGET_WAITIKIND_IGNORE, instead of + TARGET_WAITKIND_STOPPED. + (handle_tracepoints): Make sure LWP is locked. Adjust. + (linux_wait_for_event_1): Adjust. + (linux_cancel_breakpoints): New. + (unsuspend_one_lwp): New. + (unsuspend_all_lwps): New. + (linux_wait_1): If finishing a step-over, unsuspend all lwps. + (send_sigstop_callback): Change return type to int, add new + `except' parameter and handle it. + (suspend_and_send_sigstop_callback): New. + (stop_all_lwps): Add new `suspend' and `expect' parameters, and + pass them down. If SUSPEND, also increment the lwp's suspend + count. + (linux_resume_one_lwp): Add notice about resuming a suspended LWP. + (need_step_over_p): Don't consider suspended LWPs. + (start_step_over): Adjust. + (proceed_one_lwp): Change return type to int, add new `except' + parameter and handle it. + (unsuspend_and_proceed_one_lwp): New. + (proceed_all_lwps): Use find_inferior instead of + for_each_inferior. + (unstop_all_lwps): Add `unsuspend' parameter. If UNSUSPEND, them + also decrement the suspend count of LWPs. Pass `except' down, + instead of hacking its suspend count. + (linux_pause_all): Add `freeze' parameter. Adjust. + (linux_unpause_all): New. + (linux_target_ops): Install linux_unpause_all. + * server.c (handle_status): Adjust. + * target.h (struct target_ops): New fields `unpause_all' and + `cancel_breakpoints'. Add new parameter to `pause_all'. + (pause_all): Add new `freeze' parameter. + (unpause_all): New. + (cancel_breakpoints): New. + * tracepoint.c (clear_installed_tracepoints): Pause threads, and + cancel breakpoints. + (cmd_qtstart): Pause threads. + (stop_tracing): Pause threads, and cancel breakpoints. + * win32-low.c (win32_target_ops): Adjust. + +2010-05-03 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_wait_for_event_1): Move passing the signal to + the inferior right away from here... + (linux_wait_1): ... to here, and adjust to check the thread's + last_resume_kind instead of the lwp's step or stop_expected flags. + +2010-05-02 Pedro Alves <pedro@codesourcery.com> + + * README: Use consistent `GDB' and `GDBserver' spellings. + +2010-05-02 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_kill_one_lwp): Assume the lwp is stopped. + (linux_kill): Stop all lwps here. Don't delete the main lwp here. + (linux_detach_one_lwp): Assume the lwp is stopped. + (any_thread_of): Delete. + (linux_detach): Stop all lwps here. Don't blindly delete all + breakpoints. + (delete_lwp_callback): New. + (linux_mourn): Delete all lwps of the process that is gone. + (linux_wait_1): Don't delete the last lwp of the process here. + * mem-break.h (mark_breakpoints_out): Declare. + * mem-break.c (mark_breakpoints_out): New. + (free_all_breakpoints): Use it. + * server.c (handle_target_event): If the process is gone, mark + breakpoints out. + * thread-db.c (struct thread_db) <create_bp>: New field. + (thread_db_enable_reporting): Fix prototype. Store a thread event + breakpoint reference in the thread_db struct. + (thread_db_load_search): Clear the thread_db object. + (try_thread_db_load_1): Ditto. + (switch_to_process): New. + (disable_thread_event_reporting): Use it. + (remove_thread_event_breakpoints): New. + (thread_db_detach, thread_db_mourn): Use it. + +2010-05-01 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_enable_event_reporting): New. + (linux_wait_for_event_1, handle_extended_wait): Use it. + +2010-04-30 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_kill_one_lwp, linux_kill) + (linux_detach_one_lwp): Adjust to send_sigstop interface change. + (send_sigstop): Take an lwp_info as parameter instead. Queue a + SIGSTOP even if the LWP is stopped. + (send_sigstop_callback): New. + (stop_all_lwps): Use send_sigstop_callback instead. + (linux_resume_one_thread): Adjust. + (proceed_one_lwp): Still proceed an LWP that the client has + requested to stop, if we haven't reported it as stopped yet. Make + sure that LWPs the client want stopped, have a pending SIGSTOP. + +2010-04-26 Doug Evans <dje@google.com> + + * server.c (handle_general_set): Make static. + + * remote-utils.c (putpkt_binary_1): Call readchar instead of read. + Print received char after testing for error/eof instead of before. + (input_interrupt): Tweak comment. + +2010-04-23 Doug Evans <dje@google.com> + + * server.c (start_inferior): Print inferior argv if --debug. + +2010-04-21 Aleksandar Ristovski <aristovski@qnx.com> + + * Makefile.in (nto_low_h nto-low.o nto-x86-low.o): New dependency lists. + * nto-x86-low.c: Include server.h + +2010-04-20 Pierre Muller <muller@ics.u-strasbg.fr> + + * win32-i386-low.c: Use __x86_64__ macro instead of __x86_64 to + be consistent with other sources of this directory. + (init_registers_amd64): Correct name of source file of this function + in the comment. + +2010-04-19 Pierre Muller <muller@ics.u-strasbg.fr> + + * configure.srv (x86_64-*-mingw*): New configuration for Windows + 64-bit executables. + +2010-04-19 Pierre Muller <muller@ics.u-strasbg.fr> + + * win32-i386-low.c: Add 64-bit support. + (CONTEXT_EXTENDED_REGISTERS): Set macro to zero if not exisiting. + (init_registers_amd64): Declare. + (mappings): Add 64-bit version of array. + (init_windows_x86): New function. + (the_low_target): Change init_arch field to init_windows_x86. + +2010-04-19 Pierre Muller <muller@ics.u-strasbg.fr> + + * win32-low.c: Adapt to support also 64-bit architecture. + (child_xfer_memory): Use uintptr_t type for local variable `addr'. + (get_image_name): Use SIZE_T type for local variable `done'. + (psapi_get_dll_name): Use LPVOID type for parameter `BaseAddress'. + (toolhelp_get_dll_name): Idem. + (handle_load_dll): Use CORE_ADDR type for local variable `load_addr'. + Use uintptr_t typecast to avoid warning. + (handle_unload_dll): Use uintptr_t typecast to avoid warning. + (handle_exception): Use phex_nz to avoid warning. + (win32_wait): Remove unused local variable `process'. + +2010-04-19 Pierre Muller <muller@ics.u-strasbg.fr> + + * configure.srv (srv_amd64_regobj): Replace `x86-64-avx.o' by + `amd64-avx.o'. + +2010-04-17 Pierre Muller <muller@ics.u-strasbg.fr> + + * configure.ac: Use `ws2_32' library for srv_mingw. + * configure: Regenerate. + * gdbreplay.c: Include winsock2.h instead of winsock.h. + * remote-utils.c: Likewise. + +2010-04-17 H.J. Lu <hongjiu.lu@intel.com> + + * linux-x86-low.c (xmltarget_amd64_linux_no_xml): Define only + if __x86_64__ is defined. + +2010-04-16 Pierre Muller <muller@ics.u-strasbg.fr> + + * configure: Regenerate. + +2010-04-16 Pierre Muller <muller@ics.u-strasbg.fr> + + * server.c (handle_query): Handle 'qGetTIBAddr' query. + * target.h (target_ops): New get_tib_address field. + * win32-low.h (win32_thread_info): Add thread_local_base field. + * win32-low.c (child_add_thread): Add tlb argument. + Set thread_local_base field to TLB. + (get_child_debug_event): Adapt to child_add_thread change. + (win32_get_tib_address): New function. + (win32_target_ops): Set get_tib_address field to + win32_get_tib_address. + * linux-low.c (linux_target_ops): Set get_tib_address field to NULL. + +2010-04-12 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_mourn): Also remove the process. + * server.c (handle_target_event): Don't remove the process here. + * nto-low.c (nto_mourn): New. + (nto_target_ops): Install it. + * spu-low.c (spu_mourn): New. + (spu_target_ops): Install it. + * win32-low.c (win32_mourn): New. + (win32_target_ops): Install it. + +2010-04-12 Pedro Alves <pedro@codesourcery.com> + + * server.h (buffer_xml_printf): Remove redundant `;'. + +2010-04-12 Pedro Alves <pedro@codesourcery.com> + + * regcache.c (set_register_cache): Invalidate regcaches before + changing the register cache layout. + (regcache_invalidate_one): Allow a NULL regcache. + * linux-x86-low.c (x86_linux_update_xmltarget): Invalidate + regcaches before changing the register cache layout or the target + regsets. + +2010-04-12 H.J. Lu <hongjiu.lu@intel.com> + + * linux-x86-low.c (x86_linux_update_xmltarget): Avoid unused + variable warning on Linux/x86-64. + +2010-04-11 Pedro Alves <pedro@codesourcery.com> + + GDBserver disconnected tracing support. + + * linux-low.c (linux_remove_process): Delete. + (add_lwp): Don't set last_resume_kind here. + (linux_kill): Use `mourn'. + (linux_detach): Use `thread_db_detach', and `mourn'. + (linux_mourn): New. + (linux_attach_lwp_1): Adjust comment. + (linux_attach): last_resume_kind moved the thread_info; adjust. + (status_pending_p_callback): Adjust. + (linux_wait_for_event_1): Adjust. + (count_events_callback, select_singlestep_lwp_callback) + (select_event_lwp_callback, cancel_breakpoints_callback) + (db_wants_lwp_stopped, linux_wait_1, need_step_over_p) + (proceed_one_lwp): Adjust. + (linux_async): Add debug output. + (linux_thread_stopped): New. + (linux_pause_all): New. + (linux_target_ops): Install linux_mourn, linux_thread_stopped and + linux_pause_all. + * linux-low.h (struct lwp_info): Delete last_resume_kind field. + (thread_db_free): Delete declaration. + (thread_db_detach, thread_db_mourn): Declare. + * thread-db.c (thread_db_init): Use thread_db_mourn. + (thread_db_free): Delete, split in two. + (disable_thread_event_reporting): New. + (thread_db_detach): New. + (thread_db_mourn): New. + + * server.h (struct thread_info) <last_resume_kind>: New field. + <attached>: Add comment. + <gdb_detached>: New field. + (handler_func): Change return type to int. + (handle_serial_event, handle_target_event): Ditto. + (gdb_connected): Declare. + (tracing): Delete. + (disconnected_tracing): Declare. + (stop_tracing): Declare. + + * server.c (handle_query) <qSupported>: Report support for + disconnected tracing. + (queue_stop_reply_callback): Account for running threads. + (gdb_wants_thread_stopped): New. + (gdb_wants_all_threads_stopped): New. + (gdb_reattached_process): New. + (handle_status): Clear the `gdb_detached' flag of all processes. + In all-stop, stop all threads. + (main): Be sure to leave tfind mode. Handle disconnected tracing. + (process_serial_event): If the remote connection breaks, or if an + exit was forced with "monitor exit", force an event loop exit. + Handle disconnected tracing on detach. + (handle_serial_event): Adjust. + (handle_target_event): If GDB isn't connected, forward events back + to the inferior, unless the last process exited, in which case, + exit gdbserver. Adjust interface. + + * remote-utils.c (remote_open): Don't block in accept. Instead + register an event loop source on the listen socket file + descriptor. Refactor bits into ... + (listen_desc): ... this new global. + (gdb_connected): ... this new function. + (enable_async_notification): ... this new function. + (handle_accept_event): ... this new function. + (remote_close): Clear remote_desc. + + * inferiors.c (add_thread): Set the new thread's last_resume_kind. + + * target.h (struct target_ops) <mourn, thread_stopped, pause_all>: + New fields. + (mourn_inferior): Define. + (target_process_qsupported): Avoid the dangling else problem. + (thread_stopped): Define. + (pause_all): Define. + (target_waitstatus_to_string): Declare. + * target.c (target_waitstatus_to_string): New. + + * tracepoint.c (tracing): Make extern. + (disconnected_tracing): New. + (stop_tracing): Make extern. Handle tracing stops due to GDB + disconnecting. + (cmd_qtdisconnected): New. + (cmd_qtstatus): Report disconnected tracing status in trace reply. + (handle_tracepoint_general_set): Handle QTDisconnected. + + * event-loop.c (event_handler_func): Change return type to int. + (process_event): Bail out if the event handler wants the event + loop to stop. + (handle_file_event): Ditto. + (start_event_loop): Bail out if the event handler wants the event + loop to stop. + + * nto-low.c (nto_target_ops): Adjust. + * spu-low.c (spu_wait): Don't remove the process here. + (spu_target_ops): Adjust. + * win32-low.c (win32_wait): Don't remove the process here. + (win32_target_ops): Adjust. + +2010-04-11 Pedro Alves <pedro@codesourcery.com> + + * regcache.c (realloc_register_cache): Invalidate inferior's + regcache before recreating it. + +2010-04-09 Pedro Alves <pedro@codesourcery.com> + + * tracepoint.c (cmd_qtstatus): Report trace buffer circularity. + +2010-04-09 Stan Shebs <stan@codesourcery.com> + Pedro Alves <pedro@codesourcery.com> + + * server.h (LONGEST): New. + (struct thread_info) <while_stepping>: New field. + (unpack_varlen_hex, xrealloc, pulongest, plongest, phex_nz): + Declare. + (initialize_tracepoint, handle_tracepoint_general_set) + (handle_tracepoint_query, tracepoint_finished_step) + (tracepoint_was_hit, release_while_stepping_state_list): + (current_traceframe): Declare. + * server.c (handle_general_set): Handle tracepoint packets. + (read_memory): New. + (write_memory): New. + (handle_search_memory_1): Use read_memory. + (handle_query): Report support for conditional tracepoints, trace + state variables, and tracepoint sources. Handle tracepoint + queries. + (main): Initialize the tracepoints module. + (process_serial_event): Handle traceframe reads/writes. + + * linux-low.c (handle_tracepoints): New. + (linux_wait_1): Call it. + (linux_resume_one_lwp): Handle while-stepping. + (linux_supports_tracepoints, linux_read_pc, linux_write_pc): New. + (linux_target_ops): Install them. + * linux-low.h (struct linux_target_ops) <supports_tracepoints>: + New field. + * linux-x86-low.c (x86_supports_tracepoints): New. + (the_low_target). Install it. + + * mem-break.h (delete_breakpoint): Declare. + * mem-break.c (delete_breakpoint): Make external. + + * target.h (struct target_ops): Add `supports_tracepoints', + `read_pc', and `write_pc' fields. + (target_supports_tracepoints): Define. + * utils.c (xrealloc, decimal2str, pulongest, plongest, thirty_two) + (phex_nz): New. + + * regcache.h (struct regcache) <registers_owned>: New field. + (init_register_cache, regcache_cpy): Declare. + (regcache_read_pc, regcache_write_pc): Declare. + (register_cache_size): Declare. + (supply_regblock): Declare. + * regcache.c (init_register_cache): New. + (new_register_cache): Use it. + (regcache_cpy): New. + (register_cache_size): New. + (supply_regblock): New. + (regcache_read_pc, regcache_write_pc): New. + + * tracepoint.c: New. + + * Makefile.in (OBS): Add tracepoint.o. + (tracepoint.o): New rule. + +2010-04-08 H.J. Lu <hongjiu.lu@intel.com> + + * Makefile.in (clean): Also remove i386-mmx.c i386-mmx-linux.c. + (i386-mmx.o): New. + (i386-mmx.c): Likewise. + (i386-mmx-linux.o): Likewise. + (i386-mmx-linux.c): Likewise. + + * configure.srv (srv_i386_regobj): Add i386-mmx.o. + (srv_i386_linux_regobj): Add i386-mmx-linux.o. + (srv_i386_xmlfiles): Add i386/i386-mmx.xml. + (srv_i386_linux_xmlfiles): Add i386/i386-mmx-linux.xml. + + * linux-x86-low.c (init_registers_i386_mmx_linux): New. + (x86_linux_update_xmltarget): Call init_registers_i386_mmx_linux + and return if ptrace PTRACE_GETFPXREGS failed in 32bit. + +2010-04-07 H.J. Lu <hongjiu.lu@intel.com> + + * Makefile.in (clean): Updated. + (i386-avx.o): New. + (i386-avx.c): Likewise. + (i386-avx-linux.o): Likewise. + (i386-avx-linux.c): Likewise. + (amd64-avx.o): Likewise. + (amd64-avx.c): Likewise. + (amd64-avx-linux.o): Likewise. + (amd64-avx-linux.c): Likewise. + + * configure.srv (srv_i386_regobj): Add i386-avx.o. + (srv_i386_linux_regobj): Add i386-avx-linux.o. + (srv_amd64_regobj): Add amd64-avx.o. + (srv_amd64_linux_regobj): Add amd64-avx-linux.o. + (srv_i386_32bit_xmlfiles): Add i386/32bit-avx.xml. + (srv_i386_64bit_xmlfiles): Add i386/64bit-avx.xml. + (srv_i386_xmlfiles): Add i386/i386-avx.xml. + (srv_amd64_xmlfiles): Add i386/amd64-avx.xml. + (srv_i386_linux_xmlfiles): Add i386/i386-avx-linux.xml. + (srv_amd64_linux_xmlfiles): Add i386/amd64-avx-linux.xml. + + * i387-fp.c: Include "i386-xstate.h". + (i387_xsave): New. + (i387_cache_to_xsave): Likewise. + (i387_xsave_to_cache): Likewise. + (x86_xcr0): Likewise. + + * i387-fp.h (i387_cache_to_xsave): Likewise. + (i387_xsave_to_cache): Likewise. + (x86_xcr0): Likewise. + + * linux-arm-low.c (target_regsets): Initialize nt_type to 0. + * linux-crisv32-low.c (target_regsets): Likewise. + * linux-m68k-low.c (target_regsets): Likewise. + * linux-mips-low.c (target_regsets): Likewise. + * linux-ppc-low.c (target_regsets): Likewise. + * linux-s390-low.c (target_regsets): Likewise. + * linux-sh-low.c (target_regsets): Likewise. + * linux-sparc-low.c (target_regsets): Likewise. + * linux-xtensa-low.c (target_regsets): Likewise. + + * linux-low.c: Include <sys/uio.h>. + (regsets_fetch_inferior_registers): Support nt_type. + (regsets_store_inferior_registers): Likewise. + (linux_process_qsupported): New. + (linux_target_ops): Add linux_process_qsupported. + + * linux-low.h (regset_info): Add nt_type. + (linux_target_ops): Add process_qsupported. + + * linux-x86-low.c: Include "i386-xstate.h", "elf/common.h" + and <sys/uio.h>. + (init_registers_i386_avx_linux): New. + (init_registers_amd64_avx_linux): Likewise. + (xmltarget_i386_linux_no_xml): Likewise. + (xmltarget_amd64_linux_no_xml): Likewise. + (PTRACE_GETREGSET): Likewise. + (PTRACE_SETREGSET): Likewise. + (x86_fill_xstateregset): Likewise. + (x86_store_xstateregset): Likewise. + (use_xml): Likewise. + (x86_linux_update_xmltarget): Likewise. + (x86_linux_process_qsupported): Likewise. + (target_regsets): Add NT_X86_XSTATE entry and Initialize nt_type. + (x86_arch_setup): Don't call init_registers_amd64_linux nor + init_registers_i386_linux here. Call + x86_linux_update_xmltarget. + (the_low_target): Add x86_linux_process_qsupported. + + * server.c (handle_query): Call target_process_qsupported. + + * target.h (target_ops): Add process_qsupported. + (target_process_qsupported): New. + +2010-04-03 Pedro Alves <pedro@codesourcery.com> + + * inferiors.c (add_thread): Set last_status kind to + TARGET_WAITKIND_IGNORE. + * linux-low.c (cancel_breakpoint): Remove unnecessary regcache + fetch. Use ptid_of. Avoid unnecessary get_lwp_thread calls. + (linux_wait_1): Move `thread' local definition to block that uses + it. Don't NULL initialize `event_child'. + (linux_resume_one_thread): Avoid unnecessary get_lwp_thread calls. + Alway set the thread's last_status to TARGET_WAITKIND_IGNORE. + * linux-x86-low.c (x86_breakpoint_at): Read raw memory. + +2010-04-01 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (get_stop_pc): Don't adjust the PC if stopped with + an extended waitstatus, or by a watchpoint. + (cancel_breakpoints_callback): Don't cancel a breakpoint if the + thread was stepping or has been stopped by a watchpoint. + +2010-04-01 Pedro Alves <pedro@codesourcery.com> + + * mem-break.c (struct raw_breakpoint): New field shlib_disabled. + (set_gdb_breakpoint_at): If GDB is inserting a breakpoint on top + of another, then delete the previous, and validate all + breakpoints. + (validate_inserted_breakpoint): New. + (delete_disabled_breakpoints): New. + (validate_breakpoints): New. + (check_mem_read): Validate breakpoints before trusting their + shadow. Delete disabled breakpoints. + (check_mem_write): Validate breakpoints before trusting they + should be inserted. Delete disabled breakpoints. + * mem-break.h (validate_breakpoints): + * server.c (handle_query): Validate breakpoints when we see a + qSymbol query. + +2010-04-01 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_wait_1): Avoid setting need_step_over is + there's a GDB breakpoint at stop_pc. Always report a trap to GDB + if we could tell there's a GDB breakpoint at stop_pc. + (need_step_over_p): Don't do a step over if we find a GDB + breakpoint at the resume PC. + + * mem-break.c (struct raw_breakpoint): New. + (enum bkpt_type): New type `gdb_breakpoint'. + (struct breakpoint): Delete the `PC', `old_data' and `inserted' + fields. New field `raw'. + (find_raw_breakpoint_at): New. + (set_raw_breakpoint_at): Handle refcounting. Create a raw + breakpoint instead. + (set_breakpoint_at): Adjust. + (delete_raw_breakpoint): New. + (release_breakpoint): New. + (delete_breakpoint): Rename to... + (delete_breakpoint_1): ... this. Add proc parameter. Use + release_breakpoint. Return ENOENT. + (delete_breakpoint): Reimplement. + (find_breakpoint_at): Delete. + (find_gdb_breakpoint_at): New. + (delete_breakpoint_at): Delete. + (set_gdb_breakpoint_at): New. + (delete_gdb_breakpoint_at): New. + (gdb_breakpoint_here): New. + (set_reinsert_breakpoint): Use release_breakpoint. + (uninsert_breakpoint): Rename to ... + (uninsert_raw_breakpoint): ... this. + (uninsert_breakpoints_at): Adjust to handle raw breakpoints. + (reinsert_raw_breakpoint): Change parameter type to + raw_breakpoint. + (reinsert_breakpoints_at): Adjust to handle raw breakpoints + instead. + (check_breakpoints): Adjust. Use release_breakpoint. + (breakpoint_here): Rewrite using find_raw_breakpoint_at. + (breakpoint_inserted_here): Ditto. + (check_mem_read): Adjust to iterate over raw breakpoints instead. + Don't trust the breakpoint's shadow if it is not inserted. + (check_mem_write): Adjust to iterate over raw breakpoints instead. + (delete_all_breakpoints): Adjust. + (free_all_breakpoints): Mark all breakpoints as uninserted, and + use delete_breakpoint_1. + + * mem-break.h (breakpoints_supported): Delete declaration. + (set_gdb_breakpoint_at): Declare. + (gdb_breakpoint_here): Declare. + (delete_breakpoint_at): Delete. + (delete_gdb_breakpoint_at): Declare. + + * server.h (struct raw_breakpoint): Forward declare. + (struct process_info): New field `raw_breakpoints'. + + * linux-x86-low.c (x86_insert_point, x86_remote_point): Handle Z0 + breakpoints. + +2010-03-24 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (status_pending_p_callback): Fix comment. + (linux_wait_for_event_1): Move most of the internal breakpoint + handling from here... + (linux_wait_1): ... to here. + (count_events_callback): New. + (select_singlestep_lwp_callback): New. + (select_event_lwp_callback): New. + (cancel_breakpoints_callback): New. + (select_event_lwp): New. + (linux_wait_1): Simplify internal breakpoint handling. Give equal + priority to all LWPs that have had events that should be reported + to the client. Cancel breakpoints when about to reporting the + event to the client, not while stopping lwps. No longer cancel + finished single-steps here. + (cancel_finished_single_step): Delete. + (cancel_finished_single_steps): Delete. + +2010-03-24 Pedro Alves <pedro@codesourcery.com> + + * mem-break.c (enum bkpt_type): New. + (struct breakpoint): New field `type'. + (set_breakpoint_at): Change return type to struct breakpoint + pointer. Set type to `other_breakpoint' by default. + (delete_breakpoint): Rewrite, supporting more than one breakpoint + in the breakpoint list. + (delete_reinsert_breakpoints): Only delete reinsert breakpoints. + (reinsert_breakpoint): Rename to ... + (reinsert_raw_breakpoint): ... this. + (reinsert_breakpoints_at): Adjust. + * mem-break.h (struct breakpoint): Declare. + (set_breakpoint_at): Change return type to struct breakpoint + pointer. + +2010-03-24 Pedro Alves <pedro@codesourcery.com> + + * server.c (handle_query): Assign, not compare. + +2010-03-24 Pedro Alves <pedro@codesourcery.com> + + Teach linux gdbserver to step-over-breakpoints. + + * linux-low.c (can_hardware_single_step): New. + (supports_breakpoints): New. + (handle_extended_wait): If stopping threads, read the stop pc of + the new cloned LWP. + (get_pc): New. + (get_stop_pc): Add `lwp' parameter. Handle it. Bail out if the + low target doesn't support retrieving the PC. + (add_lwp): Set last_resume_kind to resume_continue. + (linux_attach_lwp_1): Adjust comments. Always set stop_expected. + (linux_attach): Don't clear stop_expected. Set the lwp's + last_resume_kind to resume_stop. + (linux_detach_one_lwp): Don't check for removed breakpoints. + (check_removed_breakpoint): Delete. + (status_pending_p): Rename to ... + (status_pending_p_callback): ... this. Don't check for removed + breakpoints. Don't consider threads that are stopped from GDB's + perspective. + (linux_wait_for_lwp): Always read the stop_pc here. + (cancel_breakpoint): New. + (step_over_bkpt): New global. + (linux_wait_for_event_1): Implement stepping over breakpoints. + (gdb_wants_lwp_stopped): New. + (gdb_wants_all_stopped): New. + (linux_wait_1): Tag threads as gdb-wants-stopped. Cancel finished + single-step traps here. Store the thread's last reported target + wait status. + (send_sigstop): Don't clear stop_expected. Always set it, + instead. + (mark_lwp_dead): Remove reference to pending_is_breakpoint. + (cancel_finished_single_step): New. + (cancel_finished_single_steps): New. + (wait_for_sigstop): Don't cancel finished single-step traps here. + (linux_resume_one_lwp): Don't check for removed breakpoints. + Don't set `step' on non-hardware step archs. + (linux_set_resume_request): Ignore resume_stop requests if already + stopping or stopped. Set the lwp's last_resume_kind. + (resume_status_pending_p): Don't check for removed breakpoints. + (need_step_over_p): New. + (start_step_over): New. + (finish_step_over): New. + (linux_resume_one_thread): Always queue a sigstop for resume_stop + requests. Clear the thread's last reported target waitstatus. + Don't use the `suspended' flag. Don't consider pending breakpoints. + (linux_resume): Start a step-over if necessary. + (proceed_one_lwp): New. + (proceed_all_lwps): New. + (unstop_all_lwps): New. + * linux-low.h (struct lwp_info): Rewrite comment for the + `suspended' flag. Add the `stop_pc' field. Delete the + `pending_stop_pc' field. Tweak the `stepping' flag's comment. + Add `'last_resume_kind' and `need_step_over' fields. + * inferiors.c (struct thread_info): Delete, moved elsewhere. + * mem-break.c (struct breakpoint): Delete `reinserting' flag. + Delete `breakpoint_to_reinsert' field. New flag `inserted'. + (set_raw_breakpoint_at): New. + (set_breakpoint_at): Rewrite to use it. + (reinsert_breakpoint_handler): Delete. + (set_reinsert_breakpoint): New. + (reinsert_breakpoint_by_bp): Delete. + (delete_reinsert_breakpoints): New. + (uninsert_breakpoint): Rewrite. + (uninsert_breakpoints_at): New. + (reinsert_breakpoint): Rewrite. + (reinsert_breakpoints_at): New. + (check_breakpoints): Rewrite. + (breakpoint_here): New. + (breakpoint_inserted_here): New. + (check_mem_read): Adjust. + * mem-break.h (breakpoints_supported, breakpoint_here) + (breakpoint_inserted_here, set_reinsert_breakpoint): Declare. + (reinsert_breakpoint_by_bp): Delete declaration. + (delete_reinsert_breakpoints): Declare. + (reinsert_breakpoint): Delete declaration. + (reinsert_breakpoints_at): Declare. + (uninsert_breakpoint): Delete declaration. + (uninsert_breakpoints_at): Declare. + (check_breakpoints): Adjust prototype. + * server.h: Adjust include order. + (struct thread_info): Declare here. Add a `last_status' field. + +2010-03-23 Michael Snyder <msnyder@vmware.com> + + * server.c (crc32): New function. + (handle_query): Add handling for 'qCRC:' request. + +2010-03-23 Pedro Alves <pedro@codesourcery.com> + + * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR6 if the + lwp had been stopped by a watchpoint. + +2010-03-16 Pedro Alves <pedro@codesourcery.com> + + * server.h (internal_error): Declare. + (gdb_assert, ASSERT_FUNCTION, gdb_assert_fail): Define. + * utils.c (internal_error): New function. + +2010-03-15 Andreas Schwab <schwab@redhat.com> + + * configure.srv: Fix typo setting srv_regobj. + +2010-03-15 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (fetch_register): Avoid passing a non string literal + format to `error'. + (usr_store_inferior_registers): Ditto. + +2010-03-14 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_write_memory): Bail out early if peeking + memory failed. + +2010-03-14 Pedro Alves <pedro@codesourcery.com> + + * linux-low.h (struct lwp_info): New fields + `stopped_by_watchpoint' and `stopped_data_address'. + * linux-low.c (linux_wait_for_lwp): Check for watchpoint triggers + here, and cache them in the lwp object. + (wait_for_sigstop): Check stopped_by_watchpoint lwp field + directly. + (linux_resume_one_lwp): Clear the lwp's stopped_by_watchpoint + field. + (linux_stopped_by_watchpoint): Rewrite. + (linux_stopped_data_address): Rewrite. + +2010-03-06 Simo Melenius <simo.melenius@iki.fi> + + * linux-low.c (linux_wait_for_lwp): Fetch the regcache after + switching the current inferior, not before. + +2010-03-01 H.J. Lu <hongjiu.lu@intel.com> + + * Makefile.in (clean): Replace reg-i386.c, reg-x86-64.c, + reg-i386-linux.c and reg-x86-64-linux.c with i386.c, amd64.c, + i386-linux.c and amd64-linux.c. + (reg-i386.o): Removed. + (reg-i386.c): Likewise. + (reg-i386-linux.o): Likewise. + (reg-i386-linux.c): Likewise. + (reg-x86-64.o): Likewise. + (reg-x86-64.c): Likewise. + (reg-x86-64-linux.o): Likewise. + (reg-x86-64-linux.c): Likewise. + (i386.o): New. + (i386.c): Likewise. + (i386-linux.o): Likewise. + (i386-linux.c): Likewise. + (amd64.o): Likewise. + (amd64.c): Likewise. + (amd64-linux.o): Likewise. + (amd64-linux.c): Likewise. + + * configure.srv (srv_i386_regobj): New. + (srv_i386_linux_regobj): Likewise. + (srv_amd64_regobj): Likewise. + (srv_amd64_linux_regobj): Likewise. + (srv_i386_32bit_xmlfiles): Likewise. + (srv_i386_64bit_xmlfiles): Likewise. + (srv_i386_xmlfiles): Likewise. + (srv_amd64_xmlfiles): Likewise. + (srv_i386_linux_xmlfiles): Likewise. + (srv_amd64_linux_xmlfiles): Likewise. + (i[34567]86-*-cygwin*): Set srv_regobj to $srv_i386_regobj. Set + srv_xmlfiles to $srv_i386_xmlfiles. + (i[34567]86-*-mingw32ce*): Likewise. + (i[34567]86-*-mingw*): Likewise. + (i[34567]86-*-nto*): Likewise. + (i[34567]86-*-linux*): Set srv_regobj to $srv_i386_linux_regobj + and $srv_amd64_linux_regobj. Set srv_xmlfiles to + $srv_i386_linux_xmlfiles and $srv_amd64_linux_xmlfiles. + (x86_64-*-linux*): Likewise. + + * linux-x86-low.c (init_registers_x86_64_linux): Removed. + (init_registers_amd64_linux): New. + (x86_arch_setup): Replace init_registers_x86_64_linux with + init_registers_amd64_linux. + +2010-02-23 Maxim Kuvyrkov <maxim@codesourcery.com> + + * configure.ac: Check for libdl. If it is not available link against + static libthread_db. + * configure: Regenerate. + +2010-02-22 Pedro Alves <pedro@codesourcery.com> + + PR9605 + + * i386-low.c (i386_length_and_rw_bits): Throw a fatal error if + handing a read watchpoint. + (i386_low_insert_watchpoint): Read watchpoints aren't supported. + +2010-02-12 Doug Evans <dje@google.com> + + * linux-low.c (linux_supports_tracefork_flag): Document. + (linux_look_up_symbols): Add comment. + +2010-02-03 H.J. Lu <hongjiu.lu@intel.com> + + * regcache.c (supply_register): Clear regcache if buf is NULL. + +2010-02-02 Nicolas Roche <roche@sourceware.org> + Joel Brobecker <brobecker@adacore.com> + + * inferiors.c (find_inferior): Add function documentation. + (unloaded_dll): Handle the case where the unloaded dll has not + been previously registered in the dll list. + +2010-02-01 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-arm-low.c (thumb_breakpoint_len): Delete. + (thumb2_breakpoint): New. + (arm_breakpoint_at): Check for Thumb-2 breakpoints. + +2010-01-29 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (get_stop_pc): Check for SIGTRAP. + (linux_wait_for_event_1): Handle SIGILL and SIGSEGV as possible + breakpoints. + +2010-01-21 Pedro Alves <pedro@codesourcery.com> + + * linux-ppc-low.c (ppc_arch_setup): Adjust to regcache changes. + +2010-01-21 Jan Kratochvil <jan.kratochvil@redhat.com> + + * linux-s390-low.c (s390_collect_ptrace_register) + (s390_supply_ptrace_register): Adjust it for the new regcache parameter. + +2010-01-21 Doug Evans <dje@google.com> + + * linux-low.c (PTRACE_ARG3_TYPE): Change from long to void*. + (PTRACE_ARG4_TYPE): New macro. + (handle_extended_wait): Cast ptrace arg4 to PTRACE_ARG4_TYPE. + (linux_wait_for_event_1, linux_resume_one_lwp): Ditto. + (fetch_register): Cast to uintptr_t before casting to PTRACE_ARG3_TYPE. + (usr_store_inferior_registers): Ditto. + (linux_read_memory, linux_write_memory): Ditto. + (linux_test_for_tracefork): Ditto. + + * linux-arm-low.c: Remove redundant include of gdb_proc_service.h. + Only include elf.h if gdb_proc_service.h didn't include linux/elf.h. + +2010-01-21 Pedro Alves <pedro@codesourcery.com> + + * proc-service.c (ps_lgetregs): Don't refetch registers from the + target. + +2010-01-21 Pedro Alves <pedro@codesourcery.com> + + * spu-low.c (spu_fetch_registers, spu_store_registers): Change + prototype to take a regcache. Adjust. + +2010-01-20 Pedro Alves <pedro@codesourcery.com> + + * regcache.h (struct thread_info): Forward declare. + (struct regcache): New. + (new_register_cache): Adjust prototype. + (get_thread_regcache): Declare. + (free_register_cache): Adjust prototype. + (registers_to_string, registers_from_string): Ditto. + (supply_register, supply_register_by_name, collect_register) + (collect_register_as_string, collect_register_by_name): Ditto. + * regcache.c (struct inferior_regcache_data): Delete. + (get_regcache): Rename to ... + (get_thread_regcache): ... this. Adjust. Switch inferior before + fetching registers. + (regcache_invalidate_one): Adjust. + (regcache_invalidate): Fix prototype. + (new_register_cache): Return the new register cache. + (free_register_cache): Change prototype. + (realloc_register_cache): Adjust. + (registers_to_string): Change prototype to take a regcache. Adjust. + (registers_from_string): Ditto. + (register_data): Ditto. + (supply_register): Ditto. + (supply_register_by_name): Ditto. + (collect_register): Ditto. + (collect_register_as_string): Ditto. + (collect_register_by_name): Ditto. + * server.c (process_serial_event): Adjust. + * linux-low.h (regset_fill_func, regset_store_func): Change + prototype. + (get_pc, set_pc, collect_ptrace_register, supply_ptrace_register): + Change prototype. + * linux-low.c (get_stop_pc): Adjust. + (check_removed_breakpoint): Adjust. + (linux_wait_for_event): Adjust. + (linux_resume_one_lwp): Adjust. + (fetch_register): Add regcache parameter. Adjust. + (usr_store_inferior_registers): Ditto. + (regsets_fetch_inferior_registers): Ditto. + (regsets_store_inferior_registers): Ditto. + (linux_fetch_registers, linux_store_registers): Ditto. + * i387-fp.c (i387_cache_to_fsave): Change prototype to take a + regcache. Adjust. + (i387_fsave_to_cache, i387_cache_to_fxsave, i387_fxsave_to_cache): + Ditto. + * i387-fp.h (i387_cache_to_fsave, i387_fsave_to_cache): Change + prototype to take a regcache. + (i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto. + * remote-utils.c (convert_ascii_to_int, outreg) + (prepare_resume_reply): Change prototype to take a regcache. + Adjust. + * target.h (struct target_ops) <fetch_registers, store_registers>: + Change prototype to take a regcache. + (fetch_inferior_registers, store_inferior_registers): Change + prototype to take a regcache. Adjust. + * proc-service.c (ps_lgetregs): Adjust. + * linux-x86-low.c (x86_fill_gregset, x86_store_gregset) + (x86_fill_fpregset, x86_store_fpregset, x86_fill_fpxregset) + (x86_store_fpxregset, x86_get_pc, x86_set_pc): Change prototype to + take a regcache. Adjust. + * linux-arm-low.c (arm_fill_gregset, arm_store_gregset) + (arm_fill_wmmxregset, arm_store_wmmxregset, arm_fill_vfpregset) + (arm_store_vfpregset, arm_get_pc, arm_set_pc): + (arm_breakpoint_at): Change prototype to take a regcache. Adjust. + * linux-cris-low.c (cris_get_pc, cris_set_pc) + (cris_cannot_fetch_register): + (cris_breakpoint_at): Change prototype to take a regcache. + Adjust. + * linux-crisv32-low.c (cris_get_pc, cris_set_pc, + cris_reinsert_addr, cris_write_data_breakpoint): Change prototype + to take a regcache. Adjust. + (cris_breakpoint_at, cris_insert_point, cris_remove_point): + Adjust. + * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Change prototype to + take a regcache. Adjust. + * linux-m68k-low.c (m68k_fill_gregset, m68k_store_gregset) + (m68k_fill_fpregset, m68k_store_fpregset, m68k_get_pc, + (m68k_set_pc): Change prototype to take a regcache. Adjust. + * linux-mips-low.c (mips_get_pc): + (mips_set_pc): Change prototype to take a regcache. Adjust. + (mips_reinsert_addr): Adjust. + (mips_collect_register): Change prototype to take a regcache. + Adjust. + (mips_supply_register): + (mips_collect_register_32bit, mips_supply_register_32bit) + (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset) + (mips_store_fpregset): Ditto. + * linux-ppc-low.c (ppc_supply_ptrace_register) + (ppc_supply_ptrace_register): Ditto. + (parse_spufs_run): Adjust. + (ppc_get_pc, ppc_set_pc, ppc_fill_gregset, ppc_fill_vsxregset) + (ppc_store_vsxregset, ppc_fill_vrregset, ppc_store_vrregset) + (ppc_fill_evrregset, ppc_store_evrregset): Change prototype to + take a regcache. Adjust. + * linux-s390-low.c (s390_collect_ptrace_register) + (s390_supply_ptrace_register, s390_fill_gregset, s390_get_pc) + (s390_set_pc): Change prototype to take a regcache. Adjust. + (s390_arch_setup): Adjust. + * linux-sh-low.c (sh_get_pc, sh_breakpoint_at) + (sh_fill_gregset): Change prototype to take a regcache. Adjust. + * linux-sparc-low.c (sparc_fill_gregset_to_stack) + (sparc_fill_gregset, sparc_store_gregset_from_stack) + (sparc_store_gregset, sparc_get_pc): Change prototype to take a + regcache. Adjust. + (sparc_breakpoint_at): Adjust. + * linux-xtensa-low.c (xtensa_fill_gregset): + (xtensa_store_gregset): + (xtensa_fill_xtregset, xtensa_store_xtregset, xtensa_get_pc) + (xtensa_set_pc): Change prototype to take a regcache. Adjust. + * nto-low.c (nto_fetch_registers, nto_store_registers): Change + prototype to take a regcache. Adjust. + * win32-arm-low.c (arm_fetch_inferior_register) + (arm_store_inferior_register): Change prototype to take a + regcache. Adjust. + * win32-i386-low.c (i386_fetch_inferior_register) + (i386_store_inferior_register): Change prototype to take a + regcache. Adjust. + * win32-low.c (child_fetch_inferior_registers) + (child_store_inferior_registers): Change prototype to take a + regcache. Adjust. + (win32_wait): Adjust. + (win32_fetch_inferior_registers): Change prototype to take a + regcache. Adjust. + (win32_store_inferior_registers): Adjust. + * win32-low.h (struct win32_target_ops) <fetch_inferior_register, + store_inferior_register>: Change prototype to take a regcache. + +2010-01-20 Doug Evans <dje@google.com> + + * linux-low.c (linux_create_inferior): Wrap use of __SIGRTMIN in + #ifdef. + (linux_wait_for_event1, linux_init_signals): Ditto. + (W_STOPCODE): Provide definition if missing. + +2010-01-13 Vladimir Prus <vladimir@codesourcery.com> + + * linux-low.c (linux_core_of_thread): New. + (compare_ints, show_process, list_threads): New. + (linux_qxfer_osdata): Report threads and cores. + (linux_target_op): Register linux_core_of_thread. + * remote-utils.c (prepare_resume_reply): Report the core. + (buffer_xml_printf): Support %d specifier. + * server.c (handle_threads_qxfer_proper, handle_threads_qxfer): + New. + (handle_query): Handle qXfer:threads. Announce availability + thereof. + * target.h (struct target_ops): New field core_of_thread. + +2010-01-04 Ulrich Weigand <uweigand@de.ibm.com> + + * Makefile.in (clean): Remove new generated files. + (reg-s390.o, reg-s390.c): Remove rules. + (reg-s390x.o, reg-s390x.c): Likewise. + (s390-linux32.o, s390-linux32.c): Add rules. + (s390-linux64.o, s390-linux64.c): Likewise. + (s390x-linux64.o, s390x-linux64.c): Likewise. + * configure.srv (s390*-*-linux*): Update srv_regobj and srv_xmlfiles. + * linux-s390-low.c: Include <elf.h>. + (HWCAP_S390_HIGH_GPRS): Define if undefined. + (init_registers_s390): Remove prototype. + (init_registers_s390x): Likewise. + (init_registers_s390_linux32): Add prototype. + (init_registers_s390_linux64): Likewise. + (init_registers_s390x_linux64): Likewise. + (s390_num_regs_3264): New define. + (s390_regmap_3264): New global variable. + (s390_cannot_fetch_register): Remove obsolete check. + (s390_cannot_store_register): Likewise. + (s390_collect_ptrace_register): Handle upper/lower register halves. + (s390_supply_ptrace_register): Likewise. + (s390_fill_gregset): Update to register number changes. + (s390_get_hwcap): New routine. + (s390_arch_setup): Detect 32-bit process running on 64-bit system. + Install appropriate regmap and register set. + +2010-01-01 Joel Brobecker <brobecker@adacore.com> + + * server.c (gdbserver_version): Update copyright year to 2010. + * gdbreplay.c (gdbreplay_version): Likewise. + +2009-12-28 Doug Evans <dje@google.com> + + * linux-low.c: Delete inclusion of ansidecl.h, elf/common.h, + elf/external.h. Include <elf.h> instead but only if necessary. + +2009-12-28 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_remove_process): Remove `detaching' + parameter. Don't release/detach from thread_db here. + (linux_kill): Release/detach from thread_db here, ... + (linux_detach): ... and here, before actually detaching. + (linux_wait_1): ... and here, when a process exits. + * thread-db.c (any_thread_of): New. + (thread_db_free): Switch the current inferior to a thread of the + passed in process. + +2009-12-21 Doug Evans <dje@google.com> + + * linux-x86-low.c: Delete outdated comment about Elf32_Phdr. + + * linux-low.c (kill_lwp): Use __NR_tkill instead of SYS_tkill. + Move definition of tkill_failed to ifdef __NR_tkill to avoid gcc + warning ifndef __NR_tkill. Move setting of errno there too. + Delete unnecessary resetting of errno after syscall. + Minor comment changes to match gdb/linux-nat.c:kill_lwp. + + * configure.ac: Check for dladdr. + * config.in: Regenerate. + * configure: Regenerate. + * thread-db.c (dladdr_to_soname): Only define ifdef HAVE_DLADDR. + (try_thread_db_load): Update. + + * linux-low.c (my_waitpid): Delete unnecessary prototype. + +2009-12-18 Doug Evans <dje@google.com> + + * event-loop.c: Include unistd.h if it exists. + + * linux-low.c (my_waitpid): Move definition away from being in + between linux_tracefork_child/linux_test_for_tracefork. + + * gdb_proc_service.h (psaddr_t): Fix type. + * thread-db.c (thread_db_info.td_thr_tls_get_addr_p): Fix + signature to match glibc. + +2009-12-16 Doug Evans <dje@google.com> + + * linux-low.c (linux_read_memory): Fix argument to read. + +2009-11-26 Pedro Alves <pedro@codesourcery.com> + + * win32-low.c (get_child_debug_event): On EXIT_THREAD_DEBUG_EVENT + events, don't leave current_inferior pointing at null. + +2009-11-26 Pedro Alves <pedro@codesourcery.com> + + * win32-low.c (LOG): Delete. + (OUTMSG): Output to stderr. + (OUTMSG2): Conditionalize on `debug_threads' variable, instead of + on compile time LOG macro. + (win32_wait): Fix debug output. + +2009-11-26 Pedro Alves <pedro@codesourcery.com> + + * win32-low.c (win32_add_one_solib): If the dll name is + "ntdll.dll", prepend the system directory to the dll path. + +2009-11-17 Daniel Jacobowitz <dan@codesourcery.com> + + * m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization. + +2009-11-17 Nathan Sidwell <nathan@codesourcery.com> + Vladimir Prus <vladimir@codesourcery.com> + + * Makefile.in (reg-cf.o, reg-cf.c): New targets. + * configure.ac: Check for __mcoldfire__ and set + gdb_cv_m68k_is_coldfire. + * configure.srv: Use gdb_cv_m68k_is_coldfire to select between + reg-cf.o and reg-m68k.o. + * configure: Regenerated. + +2009-11-16 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_remove_process): Add `detaching' parameter. + Pass it to thread_db_free. + (linux_kill, linux_detach, linux_wait_1): Adjust to pass the + proper `detaching' argument to linux_remove_process. + * linux-low.h (thread_db_free): Add `detaching' parameter. + * thread-db.c (thread_db_init): Pass false as `detaching' argument + to thread_db_free. + (thread_db_free): Add `detaching' parameter. Only + call td_ta_clear_event if detaching from process. + +2009-11-12 Maxim Kuvyrkov <maxim@codesourcery.com> + + * thread-db.c (thread_db_free): Fix typo. + +2009-11-11 Paul Pluzhnikov <ppluzhnikov@google.com> + + PR gdb/10838 + * thread-db.c (thread_db_free): Call td_ta_clear_event. + +2009-11-03 Nathan Sidwell <nathan@codesourcery.com> + + * configure.ac (i[34567]86-*): Check if we're targetting x86-64 + with an i686 compiler. + * configure.srv (i[34567]86-*-linux*): Pull in x86-64 handling if + needed. + * configure: Rebuilt. + +2009-10-29 Sandra Loosemore <sandra@codesourcery.com> + + PR gdb/10783 + + * server.c (handle_search_memory_1): Correct read_addr initialization + in loop for searching subsequent chunks. + +2009-10-29 Paul Pluzhnikov <ppluzhnikov@google.com> + + * configure.ac: New --with-libthread-db option. + * thread-db.c: Allow direct dependence on libthread_db. + (thread_db_free): Adjust. + * config.in: Regenerate. + * configure: Likewise. + +2009-10-28 Paul Pluzhnikov <ppluzhnikov@google.com> + + PR gdb/10757 + * thread-db.c (attach_thread): New function. + (maybe_attach_thread): Return success/failure. + (find_new_threads_callback): Adjust. + (thread_db_find_new_threads): Loop until no new threads. + +2009-10-13 Pedro Alves <pedro@codesourcery.com> + + * proc-service.c (ps_lgetregs): Formatting. + +2009-10-08 Paul Pluzhnikov <ppluzhnikov@google.com> + + * acinclude.m4: (SRV_CHECK_THREAD_DB, SRV_CHECK_TLS_GET_ADDR): Remove. + * configure.ac: Adjust. + * linux-low.h (struct process_info_private): Move members to struct + thread_db. + (thread_db_free, thread_db_handle_monitor_command): New prototype. + * linux-low.c (linux_remove_process): Adjust. + (linux_wait_for_event_1, linux_look_up_symbols): Likewise. + * server.c (handle_query): Move code ... + (handle_monitor_command): ... here. New function. + * target.h (struct target_ops): New member. + * thread-db.c (struct thread_db): New. + (libthread_db_search_path): New variable. + (thread_db_create_event, thread_db_enable_reporting) + (find_one_thread, maybe_attach_thread, find_new_threads_callback) + (thread_db_find_new_threads, (thread_db_get_tls_address): Adjust. + (try_thread_db_load_1, dladdr_to_soname): New functions. + (try_thread_db_load, thread_db_load_search): New functions. + (thread_db_init): Search for libthread_db. + (thread_db_free): New function. + (thread_db_handle_monitor_command): Likewise. + * config.in: Regenerate. + * configure: Regenerate. + +2009-09-27 Ulrich Weigand <uweigand@de.ibm.com> + + * spu-low.c (spu_kill): Wait for inferior to terminate. + Call clear_inferiors. + (spu_detach): Call clear_inferiors. + +2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * aclocal.m4: Regenerate. + * config.in: Likewise. + * configure: Likewise. + +2009-07-31 Ulrich Weigand <uweigand@de.ibm.com> + + * linux-ppc-low.c (INSTR_SC, NR_spu_run): Define. + (parse_spufs_run): New function. + (ppc_get_pc, ppc_set_pc): Detect and handle SPU PC. + (ppc_breakpoint_at): Handle SPU breakpoints. + +2009-07-31 Ulrich Weigand <uweigand@de.ibm.com> + + * linux-low.c: Include <sys/stat.h> and <sys/vfs.h>. + (SPUFS_MAGIC): Define. + (spu_enumerate_spu_ids): New function. + (linux_qxfer_spu): New function. + (linux_target_ops): Install linux_qxfer_spu. + +2009-07-31 Ulrich Weigand <uweigand@de.ibm.com> + + * configure.srv (powerpc*-*-linux*): Add powerpc-cell32l.o + and powerpc-cell64l.o to srv_regobj. Add rs6000/powerpc-cell32l.xml + and rs6000/powerpc-cell64l.xml to srv_xmlfiles. + * Makefile.in (powerpc-cell32l.o, powerpc-cell32l.c): New rules. + (powerpc-cell64l.o, powerpc-cell64l.c): Likewise. + (clean): Handle powerpc-cell32l.c and powerpc-cell64l.c. + * linux-ppc-low.c (PPC_FEATURE_CELL): Define. + (init_registers_powerpc_cell32l): Add prototype. + (init_registers_powerpc_cell64l): Likewise. + (ppc_arch_setup): Detect Cell/B.E. architecture. + +2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * Makefile.in (datarootdir): New variable. + +2009-07-28 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (linux_write_memory): Update debugging output. + * Makefile.in (clean): Add new descriptions. + (arm-with-vfpv2.o, arm-with-vfpv2.c, arm-with-vfpv3.o) + (arm-with-vfpv3.c, arm-with-neon.o, arm-with-neon.c): New rules. + * configure.srv: Add new files for arm*-*-linux*. + * linux-arm-low.c: Add new declarations. + (PTRACE_GETVFPREGS, PTRACE_SETVFPREGS): Define if undefined. + (arm_hwcap, HWCAP_VFP, HWCAP_IWMMXT, HWCAP_NEON, HWCAP_VFPv3) + (HWCAP_VFPv3D16): New. + (arm_fill_wmmxregset, arm_store_wmmxregset): Check HWCAP_IWMMXT + instead of __IWMMXT__. + (arm_fill_vfpregset, arm_store_vfpregset, arm_get_hwcap) + (arm_arch_setup): New. + (target_regsets): Remove #ifdef. Add VFP regset. + (the_low_target): Use arm_arch_setup. + +2009-07-28 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (linux_kill_one_lwp): Adjust kernel workaround to skip + the main thread again. + +2009-07-06 Aleksandar Ristovski <aristovski@qnx.com> + + Adding Neutrino gdbserver. + * configure: Regenerated. + * configure.ac: Add case for srv_qnx and set LIBS accordingly. + * configure.srv (i[34567]86-*-nto*): New target. + * nto-low.c, nto-low.h, nto-x86-low.c: New files. + * remote-utils.c [__QNX__]: Include sys/iomgr.h + (nto_comctrl) [__QNX__]: New function. + (enable_async_io, disable_async_io) [__QNX__]: Call nto_comctrl. + +2009-07-05 Danny Backx <dannybackx@users.sourceforge.net> + + * configure.srv (i[34567]86-*-mingw32ce*): Add i386-low.o to + srv_tgtobj. + +2009-07-04 Danny Backx <dannybackx@users.sourceforge.net> + Pedro Alves <pedro@codesourcery.com> + + * win32-i386-low.c (i386_get_thread_context): Handle systems that + don't support CONTEXT_EXTENDED_REGISTERS. + (i386_win32_breakpoint, i386_win32_breakpoint_len): New. + (the_low_target): Install them. + * win32-low.c (get_child_debug_event): Handle WaitForDebugEvent + failing with ERROR_PIPE_NOT_CONNECTED. + +2009-06-30 Doug Evans <dje@google.com> + Pierre Muller <muller@ics.u-strasbg.fr> + + Add h/w watchpoint support to x86-linux, win32-i386. + * Makefile.in (SFILES): Add i386-low.c + (i386_low_h): Define. + (i386-low.o): Add dependencies. + (linux-x86-low.o): Add i386-low.h dependency. + (win32-i386-low.o): Ditto. + * i386-low.c: New file. + * i386-low.h: New file. + * configure.srv (i[34567]86-*-cygwin*): Add i386-low.o to srv_tgtobj. + (i[34567]86-*-linux*, i[34567]86-*-mingw*, x86_64-*-linux*): Ditto. + * linux-low.c (linux_add_process): Initialize arch_private. + (linux_remove_process): Free arch_private. + (add_lwp): Initialize arch_private. + (delete_lwp): Free arch_private. + (linux_resume_one_lwp): Call the_low_target.prepare_to_resume if + provided. + * linux-low.h (process_info_private): New member arch_private. + (lwp_info): New member arch_private. + (linux_target_ops): New members new_process, new_thread, + prepare_to_resume. + (ptid_of): New macro. + * linux-x86-low.c: Include stddef.h, i386-low.h. + (arch_process_info): New struct. + (arch_lwp_info): New struct. + (x86_linux_dr_get, x86_linux_dr_set): New functions. + (i386_dr_low_set_addr, i386_dr_low_set_control): New functions. + (i386_dr_low_get_status): New function. + (x86_insert_point, x86_remove_point): New functions. + (x86_stopped_by_watchpoint): New function. + (x86_stopped_data_address): New function. + (x86_linux_new_process, x86_linux_new_thread): New functions. + (x86_linux_prepare_to_resume): New function. + (the_low_target): Add entries for insert_point, remove_point, + stopped_by_watchpoint, stopped_data_address, new_process, new_thread, + prepare_to_resume. + * server.c (debug_hw_points): New global. + (monitor_show_help): Document set debug-hw-points. + (handle_query): Process "set debug-hw-points". + * server.h (debug_hw_points): Declare. + (paddress): Declare. + * utils.c (NUMCELLS, CELLSIZE): New macros. + (get_sell, xsnprintf, paddress): New functions. + * win32-arm-low.c (the_low_target): Add entries for insert_point, + remove_point, stopped_by_watchpoint, stopped_data_address. + * win32-i386-low.c: Include i386-low.h. + (debug_reg_state): Replaces dr. + (i386_dr_low_set_addr, i386_dr_low_set_control): New functions. + (i386_dr_low_get_status): New function. + (i386_insert_point, i386_remove_point): New functions. + (i386_stopped_by_watchpoint): New function. + (i386_stopped_data_address): New function. + (i386_initial_stuff): Update. + (get_thread_context,set_thread_context,i386_thread_added): Update. + (the_low_target): Add entries for insert_point, + remove_point, stopped_by_watchpoint, stopped_data_address. + * win32-low.c (win32_insert_watchpoint): New function. + (win32_remove_watchpoint): New function. + (win32_stopped_by_watchpoint): New function. + (win32_stopped_data_address): New function. + (win32_target_ops): Add entries for insert_watchpoint, + remove_watchpoint, stopped_by_watchpoint, stopped_data_address. + * win32-low.h (win32_target_ops): New members insert_point, + remove_point, stopped_by_watchpoint, stopped_data_address. + +2009-06-25 Pedro Alves <pedro@codesourcery.com> + + * server.c (process_serial_event): Re-return unsupported, not + error, if the type isn't recognized. Re-allow supporting only + insert or remove packets. Also call require_running for + breakpoints. Add missing break statement to default case. Tidy. + * target.h (struct target_ops): Rename insert_watchpoint to + insert_point, and remove_watchpoint to remove_point. + + * linux-low.h (struct linux_target_ops): Likewise. + * linux-low.c (linux_insert_watchpoint): Rename to ... + (linux_insert_point): ... this. Adjust. + (linux_remove_watchpoint): Rename to ... + (linux_remove_point): ... this. Adjust. + (linux_target_ops): Adjust. + * linux-crisv32-low.c (cris_insert_watchpoint): Rename to ... + (cris_insert_point): ... this. + (cris_remove_watchpoint): Rename to ... + (cris_remove_point): ... this. + (the_low_target): Adjust. + +2009-06-24 Pierre Muller <muller@ics.u-strasbg.fr> + + * server.c (handle_v_kill): Pass signal_pid to + kill_inferior if multi_process is zero. + +2009-06-23 Aleksandar Ristovski <aristovski@qnx.com> + + * server.c (process_serial_event): Add support for Z0 and Z1 packet. + * target.h (target_ops): Comment for *_watchpoint to make it clear + the functions can get types '0' and '1'. + +2009-06-22 Aleksandar Ristovski <aristovski@qnx.com> + + * linux-low.c (usr_fetch_inferior_registers): Remove check for regno 0. + * proc-service.c (ps_lgetregs): Pass -1 to fetch all registers. + * regcache.c (get_regcache): Likewise. + * spu-low.c (spu_fetch_registers): Remove 0 to -1 conversion. + * win32-low.c (child_fetch_inferior_registers): Remove check for + regno 0. + +2009-06-19 Aleksandar Ristovski <aristovski@qnx.com> + Pedro Alves <pedro@codesourcery.com> + + * target.h (struct target_ops) <supports_multi_process>: New + callback. + (target_supports_multi_process): New. + * server.c (handle_query): Even if GDB reports support, only + enable multi-process if the target also supports it. Report + multi-process support only if the target backend supports it. + * linux-low.c (linux_supports_multi_process): New function. + (linux_target_ops): Install it as target_supports_multi_process + callback. + +2009-05-24 Doug Evans <dje@google.com> + + Global renaming of find_thread_pid to find_thread_ptid. + * server.h (find_thread_ptid): Renamed from find_thread_pid. + * inferiors.c (find_thread_ptid): Renamed from find_thread_pid. + All callers updated. + + * linux-low.c (handle_extended_wait): Use linux_resume_one_lwp + to resume the newly created thread, don't call ptrace (PTRACE_CONT) + directly. + + * linux-low.c (get_stop_pc): Print pc if debug_threads. + (check_removed_breakpoint, linux_wait_for_lwp): Ditto. + (linux_resume_one_lwp): Ditto. + +2009-05-23 Doug Evans <dje@google.com> + + * linux-low.c (linux_resume_one_lwp): Change type of first arg + from struct inferior_list_entry * to struct lwp_info *. + All callers updated. + +2009-05-13 Doug Evans <dje@google.com> + + * linux-x86-low.c: Don't include assert.h. + (x86_siginfo_fixup): Use fatal, not assert. + (x86_arch_setup): Fix comment. + +2009-05-12 Doug Evans <dje@google.com> + + Biarch support for i386/amd64 gdbserver. + * Makefile.in (SFILES): Remove linux-i386-low.c, linux-x86-64-low.c. + Add linux-x86-low.c. + (linux-i386-low.o, linux-x86-64-low.o): Delete. + (linux-x86-low.o): Add. + * linux-x86-64-low.c: Delete. + * linux-i386-low.c: Delete. + * linux-x86-low.c: New file. + * configure.srv (i?86-linux srv_tgtobj): Replace linux-i386-low.o with + linux-x86-low.o. + (x86_64-linux srv_tgtobj): Replace linux-x86-64-low.o with + linux-x86-low.o. + (x86_64-linux srv_regobj): Add reg-i386-linux.o. + * linux-low.c: Include ansidecl.h, elf/common.h, elf/external.h. + (linux_child_pid_to_exec_file): New function. + (elf_64_header_p, elf_64_file_p): New functions. + (siginfo_fixup): New function. + (linux_xfer_siginfo): New local inf_siginfo. Call siginfo_fixup to + give target a chance to convert layout. + * linux-low.h (linux_target_ops): New member siginfo_fixup. + (linux_child_pid_to_exec_file, elf_64_file_p): Declare. + +2009-05-07 Doug Evans <dje@google.com> + + * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak. + (regsets_store_inferior_registers): Ditto. + +2009-05-06 Pedro Alves <pedro@codesourcery.com> + + PR server/10048 + + * linux-low.c (must_set_ptrace_flags): Delete. + (linux_create_inferior): Set `lwp->must_set_ptrace_flags' instead + of the global. + (linux_attach_lwp_1): Don't set PTRACE_SETOPTIONS here. Set + `lwp->must_set_ptrace_flags' instead. + (linux_wait_for_event_1): Set ptrace options here. + (linux_wait_1): ... not here. + +2009-04-30 Doug Evans <dje@google.com> + + * inferiors.c (started_inferior_callback): New function. + (attached_inferior_callback): New function. + (have_started_inferiors_p, have_attached_inferiors_p): New functions. + * server.c (print_started_pid, print_attached_pid): New functions. + (detach_or_kill_for_exit): New function. + (main): Call it instead of for_each_inferior (kill_inferior_callback). + * server.h (have_started_inferiors_p): Declare. + (have_attached_inferiors_p): Declare. + + * inferiors.c (remove_process): Fix memory leak, free process. + * linux-low.c (linux_remove_process): New function. + (linux_kill): Call it instead of remove_process. + (linux_detach, linux_wait_1): Ditto. + +2009-04-19 Danny Backx <dannybackx@users.sourceforge.net> + + * configure.srv: Add x86 Windows CE target. + +2009-04-03 Ulrich Weigand <uweigand@de.ibm.com> + + * inferiors.c (get_thread_process): Make global. + * server.h (get_thread_process): Add prototype. + * thread-db.c (find_one_thread): Use get_thread_process + instead of current_process. + (thread_db_get_tls_address): Do not crash if called when + thread layer is not yet initialized. + +2009-04-03 Ulrich Weigand <uweigand@de.ibm.com> + + * remote-utils.c (prepare_resume_reply): Null-terminate packet. + * spu-low.c (current_tid): Rename to ... + (current_ptid): ... this. + (fetch_ppc_register, fetch_ppc_memory, store_ppc_memory, + spu_proc_xfer_spu, spu_resume, spu_request_interrupt): Use + ptid_get_lwp (current_ptid) instead of current_tid. + (spu_kill, spu_detach, spu_join, spu_wait): Use pid argument + instead of current_tid. Use find_process_pid to verify pid + argument is valid. Pass proper argument to remove_process. + (spu_thread_alive): Compare current_ptid instead of current_tid. + (spu_resume): Likewise. + +2009-04-02 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (usr_store_inferior_registers): Declare local `pid' + variable. + +2009-04-01 Pedro Alves <pedro@codesourcery.com> + + Implement the multiprocess extensions, and add linux multiprocess + support. + + * server.h (ULONGEST): Declare. + (struct ptid, ptid_t): New. + (minus_one_ptid, null_ptid): Declare. + (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp) + (ptid_get_tid, ptid_equal, ptid_is_pid): Declare. + (struct inferior_list_entry): Change `id' type from unsigned from + to ptid_t. + (struct sym_cache, struct breakpoint, struct + process_info_private): Forward declare. + (struct process_info): Declare. + (current_process): Declare. + (all_processes): Declare. + (initialize_inferiors): Declare. + (add_thread): Adjust to use ptid_t. + (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): Ditto. + (add_process, remove_process, find_thread_pid): Declare. + (find_inferior_id): Adjust to use ptid_t. + (cont_thread, general_thread, step_thread): Change type to ptid_t. + (multi_process): Declare. + (push_event): Adjust to use ptid_t. + (read_ptid, write_ptid): Declare. + (prepare_resume_reply): Adjust to use ptid_t. + (clear_symbol_cache): Declare. + * inferiors.c (all_processes): New. + (null_ptid, minus_one_ptid): New. + (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp) + (ptid_get_tid, ptid_equal, ptid_is_pid): New. + (add_thread): Change unsigned long to ptid. Remove gdb_id + parameter. Adjust. + (thread_id_to_gdb_id, thread_to_gdb_id): Change unsigned long to ptid. + (gdb_id_to_thread): Rename to ... + (find_thread_pid): ... this. Change unsigned long to ptid. + (gdb_id_to_thread_id, find_inferior_id): Change unsigned long to ptid. + (loaded_dll, pull_pid_from_list): Adjust. + (add_process, remove_process, find_process_pid) + (get_thread_process, current_process, initialize_inferiors): New. + * target.h (struct thread_resume) <thread>: Change type to ptid_t. + (struct target_waitstatus) <related_pid>: Ditto. + (struct target_ops) <kill, detach>: Add `pid' argument. Change + return type to int. + (struct target_ops) <join>: Add `pid' argument. + (struct target_ops) <thread_alive>: Change pid's type to ptid_t. + (struct target_ops) <wait>: Add `ptid' field. Change return type + to ptid. + (kill_inferior, detach_inferior, join_inferior): Add `pid' argument. + (mywait): Add `ptid' argument. Change return type to ptid_t. + (target_pid_to_str): Declare. + * target.c (set_desired_inferior): Adjust to use ptids. + (mywait): Add new `ptid' argument. Adjust. + (target_pid_to_str): New. + * mem-break.h (free_all_breakpoints): Declare. + * mem-break.c (breakpoints): Delelete. + (set_breakpoint_at, delete_breakpoint, find_breakpoint_at) + (check_mem_read, check_mem_write, delete_all_breakpoints): Adjust + to use per-process breakpoint list. + (free_all_breakpoints): New. + * remote-utils.c (struct sym_cache) <name>: Drop `const'. + (symbol_cache, all_symbols_looked_up): Delete. + (hexchars): New. + (ishex, unpack_varlen_hex, write_ptid, hex_or_minus_one, + read_ptid): New. + (prepare_resume_reply): Change ptid argument's type from unsigned + long to ptid_t. Adjust. Implement W;process and X;process. + (free_sym_cache, clear_symbol_cache): New. + (look_up_one_symbol): Adjust to per-process symbol cache. * + * server.c (cont_thread, general_thread, step_thread): Change type + to ptid_t. + (attached): Delete. + (multi_process): New. + (last_ptid): Change type to ptid_t. + (struct vstop_notif) <ptid>: Change type to ptid_t. + (queue_stop_reply, push_event): Change `ptid' argument's type to + ptid_t. + (discard_queued_stop_replies): Add `pid' argument. + (start_inferior): Adjust to use ptids. Adjust to mywait interface + changes. Don't reference the `attached' global. + (attach_inferior): Adjust to mywait interface changes. + (handle_query): Adjust to use ptids. Parse GDB's qSupported + features. Handle and report "multiprocess+". Handle + "qAttached:PID". + (handle_v_cont): Adjust to use ptids. Adjust to mywait interface + changes. + (handle_v_kill): New. + (handle_v_stopped): Adjust to use target_pid_to_str. + (handle_v_requests): Allow multiple attaches and runs when + multiprocess extensions are in effect. Handle "vKill". + (myresume): Adjust to use ptids. + (queue_stop_reply_callback): Add `arg' parameter. Handle it. + (handle_status): Adjust to discard_queued_stop_replies interface + change. + (first_thread_of, kill_inferior_callback) + (detach_or_kill_inferior_callback, join_inferiors_callback): New. + (main): Call initialize_inferiors. Adjust to use ptids, killing + and detaching from all inferiors. Handle multiprocess packet + variants. + * linux-low.h: Include gdb_proc_service.h. + (struct process_info_private): New. + (struct linux_target_ops) <pid_of>: Use ptid_get_pid. + <lwpid_of>: Use ptid_get_lwp. + (get_lwp_thread): Adjust. + (struct lwp_info): Add `dead' member. + (find_lwp_pid): Declare. + * linux-low.c (thread_db_active): Delete. + (new_inferior): Adjust comment. + (inferior_pid): Delete. + (linux_add_process): New. + (handle_extended_wait): Adjust. + (add_lwp): Change unsigned long to ptid. + (linux_create_inferior): Add process to processes table. Adjust + to use ptids. Don't set new_inferior here. + (linux_attach_lwp): Rename to ... + (linux_attach_lwp_1): ... this. Add `initial' argument. Handle + it. Adjust to use ptids. + (linux_attach_lwp): New. + (linux_attach): Add process to processes table. Don't set + new_inferior here. + (struct counter): New. + (second_thread_of_pid_p, last_thread_of_process_p): New. + (linux_kill_one_lwp): Add `args' parameter. Handle it. Adjust to + multiple processes. + (linux_kill): Add `pid' argument. Handle it. Adjust to multiple + processes. Remove process from process table. + (linux_detach_one_lwp): Add `args' parameter. Handle it. Adjust + to multiple processes. + (any_thread_of): New. + (linux_detach): Add `pid' argument, and handle it. Remove process + from processes table. + (linux_join): Add `pid' argument. Handle it. + (linux_thread_alive): Change unsighed long argument to ptid_t. + Consider dead lwps as not being alive. + (status_pending_p): Rename `dummy' argument to `arg'. Filter out + threads we're not interested in. + (same_lwp, find_lwp_pid): New. + (linux_wait_for_lwp): Change `pid' argument's type from int to + ptid_t. Adjust. + (linux_wait_for_event): Rename to ... + (linux_wait_for_event_1): ... this. Change `pid' argument's type + from int to ptid_t. Adjust. + (linux_wait_for_event): New. + (linux_wait_1): Add `ptid' argument. Change return type to + ptid_t. Adjust. Use last_thread_of_process_p. Remove processes + that exit from the process table. + (linux_wait): Add `ptid' argument. Change return type to ptid_t. + Adjust. + (mark_lwp_dead): New. + (wait_for_sigstop): Adjust to use ptids. If a process exits while + stopping all threads, mark its main lwp as dead. + (linux_set_resume_request, linux_resume_one_thread): Adjust to use + ptids. + (fetch_register, usr_store_inferior_registers) + (regsets_fetch_inferior_registers) + (regsets_store_inferior_registers, linux_read_memory) + (linux_write_memory): Inline `inferior_pid'. + (linux_look_up_symbols): Adjust to use per-process + `thread_db_active'. + (linux_request_interrupt): Adjust to use ptids. + (linux_read_auxv): Inline `inferior_pid'. + (initialize_low): Don't reference thread_db_active. + * gdb_proc_service.h (struct ps_prochandle) <pid>: Remove. + * proc-service.c (ps_lgetregs): Use find_lwp_pid. + (ps_getpid): Return the pid of the current inferior. + * thread-db.c (proc_handle, thread_agent): Delete. + (thread_db_create_event, thread_db_enable_reporting): Adjust to + per-process data. + (find_one_thread): Change argument type to ptid_t. Adjust to + per-process data. + (maybe_attach_thread): Adjust to per-process data and ptids. + (thread_db_find_new_threads): Ditto. + (thread_db_init): Ditto. + * spu-low.c (spu_create_inferior, spu_attach): Add process to + processes table. Adjust to use ptids. + (spu_kill, spu_detach): Adjust interface. Remove process from + processes table. + (spu_join, spu_thread_alive): Adjust interface. + (spu_wait): Adjust interface. Remove process from processes + table. Adjust to use ptids. + * win32-low.c (current_inferior_tid): Delete. + (current_inferior_ptid): New. + (debug_event_ptid): New. + (thread_rec): Take a ptid. Adjust. + (child_add_thread): Add `pid' argument. Adjust to use ptids. + (child_delete_thread): Ditto. + (do_initial_child_stuff): Add `attached' argument. Add process to + processes table. + (child_fetch_inferior_registers, child_store_inferior_registers): + Adjust. + (win32_create_inferior): Pass 0 to do_initial_child_stuff. + (win32_attach): Pass 1 to do_initial_child_stuff. + (win32_kill): Adjust interface. Remove process from processes + table. + (win32_detach): Ditto. + (win32_join): Adjust interface. + (win32_thread_alive): Take a ptid. + (win32_resume): Adjust to use ptids. + (get_child_debug_event): Ditto. + (win32_wait): Adjust interface. Remove exiting process from + processes table. + +2009-04-01 Pedro Alves <pedro@codesourcery.com> + + Non-stop mode support. + + * server.h (non_stop): Declare. + (gdb_client_data, handler_func): Declare. + (delete_file_handler, add_file_handler, start_event_loop): + Declare. + (handle_serial_event, handle_target_event, push_event) + (putpkt_notif): Declare. + * target.h (enum resume_kind): New. + (struct thread_resume): Replace `step' field by `kind' field. + (TARGET_WNOHANG): Define. + (struct target_ops) <wait>: Add `options' argument. + <supports_non_stop, async, start_non_stop>: New fields. + (target_supports_non_stop, target_async): New. + (start_non_stop): Declare. + (mywait): Add `options' argument. + * target.c (mywait): Add `options' argument. Print child exit + notifications here. + (start_non_stop): New. + * server.c (non_stop, own_buf, mem_buf): New globals. + (struct vstop_notif): New. + (notif_queue): New global. + (queue_stop_reply, push_event, discard_queued_stop_replies) + (send_next_stop_reply): New. + (start_inferior): Adjust to use resume_kind. Adjust to mywait + interface changes. + (attach_inferior): In non-stop mode, don't wait for the target + here. + (handle_general_set): Handle QNonStop. + (handle_query): When handling qC, return the current general + thread, instead of the first thread of the list. + (handle_query): If the backend supports non-stop mode, include + QNonStop+ in the qSupported query response. + (handle_v_cont): Adjust to use resume_kind. Handle resume_stop + and non-stop mode. + (handle_v_attach, handle_v_run): Handle non-stop mode. + (handle_v_stopped): New. + (handle_v_requests): Report support for vCont;t. Handle vStopped. + (myresume): Adjust to use resume_kind. Handle non-stop. + (queue_stop_reply_callback): New. + (handle_status): Handle non-stop mode. + (main): Clear non_stop flag on reconnection. Use the event-loop. + Refactor serial protocol handling from here ... + (process_serial_event): ... to this new function. When GDB + selects any thread, select one here. In non-stop mode, wait until + GDB acks all pending events before exiting. + (handle_serial_event, handle_target_event): New. + * remote-utils.c (remote_open): Install remote_desc in the event + loop. + (remote_close): Remove remote_desc from the event loop. + (putpkt_binary): Rename to... + (putpkt_binary_1): ... this. Add `is_notic' argument. Handle it. + (putpkt_binary): New as wrapper around putpkt_binary_1. + (putpkt_notif): New. + (prepare_resume_reply): In non-stop mode, don't change the + general_thread. + * event-loop.c: New. + * Makefile.in (OBJ): Add event-loop.o. + (event-loop.o): New rule. + + * linux-low.h (pid_of): Moved here. + (lwpid_of): New. + (get_lwp_thread): Use lwpid_of. + (struct lwp_info): Delete `lwpid' field. Add `suspended' field. + * linux-low.c (pid_of): Delete. + (inferior_pid): Use lwpid_of. + (linux_event_pipe): New. + (target_is_async_p): New. + (delete_lwp): New. + (handle_extended_wait): Use lwpid_of. + (add_lwp): Don't set lwpid field. + (linux_attach_lwp): Adjust debug output. Use lwpid_of. + (linux_kill_one_lwp): If killing a running lwp, stop it first. + Use lwpid_of. Adjust to linux_wait_for_event interface changes. + (linux_detach_one_lwp): If detaching from a running lwp, stop it + first. Adjust to linux_wait_for_event interface changes. Use + lwpid_of. + (linux_detach): Don't delete the main lwp here. + (linux_join): Use my_waitpid. Avoid signal_pid. Use lwpid_of. + (status_pending_p): Don't consider explicitly suspended lwps. + (linux_wait_for_lwp): Take an integer pid instead of a lwp_info + pointer. Add OPTIONS argument. Change return type to int. Use + my_waitpid instead of sleeping. Handle WNOHANG. Use lwpid_of. + (linux_wait_for_event): Take an integer pid instead of a lwp_info + pointer. Add status pointer argument. Return a pid instead of a + status. Use lwpid_of. Adjust to linux_wait_for_lwp interface + changes. In non-stop mode, don't switch to a random thread. + (linux_wait): Rename to... + (linux_wait_1): ... this. Add target_options argument, and handle + it. Adjust to use resume_kind. Use lwpid_of. In non-stop mode, + don't handle the continue thread. Handle TARGET_WNOHANG. Merge + clean exit and signal exit code. Don't stop all threads in + non-stop mode. In all-stop mode, only stop all threads when + reporting a stop to GDB. Handle explicit thread stop requests. + (async_file_flush, async_file_mark): New. + (linux_wait): New. + (send_sigstop): Use lwpid_of. + (wait_for_sigstop): Use lwpid_of. Adjust to linux_wait_for_event + interface changes. In non-stop mode, don't switch to a random + thread. + (linux_resume_one_lwp): Use lwpid_of. + (linux_continue_one_thread, linux_queue_one_thread): Merge into ... + (linux_resume_one_thread): ... this. Handle resume_stop. In + non-stop mode, don't look for pending flag in all threads. + (resume_status_pending_p): Don't consider explicitly suspended + threads. + (my_waitpid): Reimplement. Emulate __WALL. + (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo): + Use lwpid_of. + (sigchld_handler, linux_supports_non_stop, linux_async) + (linux_start_non_stop): New. + (linux_target_ops): Register linux_supports_non_stop, linux_async + and linux_start_non_stop. + (initialize_low): Install SIGCHLD handler. + * thread-db.c (thread_db_create_event, find_one_thread) + (thread_db_get_tls_address): Use lwpid_of. + * win32-low.c (win32_detach): Adjust to use resume_kind. + (win32_wait): Add `options' argument. + * spu-low.c (spu_resume): Adjust to use resume_kind. + (spu_wait): Add `options' argument. + +2009-04-01 Pedro Alves <pedro@codesourcery.com> + + Decouple target code from remote protocol. + + * target.h (enum target_waitkind): New. + (struct target_waitstatus): New. + (struct target_ops) <wait>: Return an unsigned long. Take a + target_waitstatus pointer instead of a char pointer. + (mywait): Likewise. + * target.c (mywait): Change prototype to return an unsigned long. + Take a target_waitstatus pointer instead of a char pointer. Adjust. + * server.h (thread_from_wait, old_thread_from_wait): Delete + declarations. + (prepare_resume_reply): Change prototype to take a + target_waitstatus. + * server.c (thread_from_wait, old_thread_from_wait): Delete. + (last_status, last_ptid): New. + (start_inferior): Remove "statusptr" argument. Adjust. Return a + pid instead of a signal. + (attach_inferior): Remove "status" and "signal" parameters. + Adjust. + (handle_query): For qGetTLSAddr, parse the thread id with strtol, + not as an address. + (handle_v_cont, handle_v_attach, handle_v_run, handle_v_kill) + (handle_v_requests, myresume): Remove "status" and "signal" + parameters. Adjust. + (handle_status): New. + (main): Delete local `status'. Adjust. + * remote-utils.c: Include target.h. + (prepare_resume_reply): Change prototype to take a + target_waitstatus. Adjust. + + * linux-low.c (linux_wait): Adjust to new target_ops->wait + interface. + * spu-low.c (spu_wait): Adjust. + * win32-low.c (enum target_waitkind, struct target_waitstatus): + Delete. + (win32_wait): Adjust. + +2009-04-01 Pedro Alves <pedro@codesourcery.com> + + * target.h (struct thread_resume): Delete leave_stopped member. + (struct target_ops): Add a `n' argument to the `resume' callback. + * server.c (start_inferior): Adjust. + (handle_v_cont, myresume): Adjust. + * linux-low.c (check_removed_breakpoint): Adjust to resume + interface change, and to removed leave_stopped field. + (resume_ptr): Delete. + (struct thread_resume_array): New. + (linux_set_resume_request): Add new `arg' parameter. Adjust to + resume interface change. + (linux_continue_one_thread, linux_queue_one_thread) + (resume_status_pending_p): Check if the resume field is NULL + instead of checking the leave_stopped member. + (linux_resume): Adjust to the target resume interface change. + * spu-low.c (spu_resume): Adjust to the target resume interface + change. + * win32-low.c (win32_detach, win32_resume): Ditto. + +2009-04-01 Pedro Alves <pedro@codesourcery.com> + + * linux-low.c (linux_wait_for_event): Don't clear the `stepping' + flag. + (wait_for_sigstop): Don't leave a finished single-step SIGTRAP + pending. + (linux_continue_one_thread): Only preserve the stepping flag if + there's a pending breakpoint. + +2009-03-31 Pedro Alves <pedro@codesourcery.com> + + * server.c (main): After the inferior having exited, call + remote_close before exiting gdbserver. + +2009-03-25 Thiago Jung Bauermann <bauerman@br.ibm.com> + + Fix size of FPSCR in Power 7 processors. + * linux-ppc-low.c (PPC_FEATURE_ARCH_2_05): Remove #define. + (PPC_FEATURE_HAS_DFP): New #define. + (ppc_arch_setup): Check for DFP feature instead of ISA 2.05 to decide on + size of the FPSCR. + +2009-03-23 Pedro Alves <pedro@codesourcery.com> + + * server.c (handle_query) Whitespace and formatting. + +2009-03-22 Pedro Alves <pedro@codesourcery.com> + + * i387-fp.c, linux-arm-low.c, linux-cris-low.c, + linux-crisv32-low.c, linux-i386-low.c, linux-low.c, + linux-mips-low.c, linux-s390-low.c, linux-sparc-low.c, + linux-x86-64-low.c, linux-xtensa-low.c, proc-service.c, + regcache.c, remote-utils.c, server.c, spu-low.c, target.h, + thread-db.c, win32-low.c, xtensa-xtregs.c, gdbreplay.c, + Makefile.in, configure.ac: Fix whitespace throughout. + * configure: Regenerate. + +2009-03-22 Pedro Alves <pedro@codesourcery.com> + + * inferiors.c (find_inferior): Make it safe for the callback + function to delete the currently iterated inferior. + +2009-03-22 Pedro Alves <pedro@codesourcery.com> + + * Makefile.in (linuw_low_h): Move higher. + (thread-db.o): Depend on $(linux_low_h). + +2009-03-17 Pedro Alves <pedro@codesourcery.com> + + Rename "process" to "lwp" throughout. + + * linux-low.c (all_processes): Rename to... + (all_lwps): ... this. + (inferior_pid, handle_extended_wait, get_stop_pc): Adjust. + (add_process): Rename to ... + (add_lwp): ... this. Adjust. + (linux_create_inferior): Adjust. + (linux_attach_lwp): Adjust. + (linux_attach): Adjust. + (linux_kill_one_process): Rename to ... + (linux_kill_one_lwp): ... this. Adjust. + (linux_kill): Adjust. + (linux_detach_one_process): Rename to ... + (linux_detach_one_lwp): ... this. Adjust. + (linux_detach): Adjust. + (check_removed_breakpoint): Adjust. + (status_pending_p): Adjust. + (linux_wait_for_process): Rename to ... + (linux_wait_for_lwp): ... this. Adjust. + (linux_wait_for_event): Adjust. + (send_sigstop): Adjust. + (wait_for_sigstop): Adjust. + (stop_all_processes): Rename to ... + (stop_all_lwps): ... this. + (linux_resume_one_process): Rename to ... + (linux_resume_one_lwp): ... this. Adjust. + (linux_set_resume_request, linux_continue_one_thread) + (linux_queue_one_thread, resume_status_pending_p) + (usr_store_inferior_registers, regsets_store_inferior_registers) + (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo): + Adjust. + * linux-low.h (get_process): Rename to ... + (get_lwp): ... this. Adjust. + (get_thread_process): Rename to ... + (get_thread_lwp): ... this. Adjust. + (get_process_thread): Rename to ... + (get_lwp_thread): ... this. Adjust. + (struct process_info): Rename to ... + (struct lwp_info): ... this. + (all_processes): Rename to ... + (all_lwps): ... this. + * proc-service.c (ps_lgetregs): Adjust. + * thread-db.c (thread_db_create_event, find_one_thread) + (maybe_attach_thread, thread_db_get_tls_address): Adjust. + +2009-03-14 Pedro Alves <pedro@codesourcery.com> + + * server.c (handle_query): Handle "qAttached". + +2009-03-13 Nathan Sidwell <nathan@codesourcery.com> + + * Makefile.in, hostio-errno.c, errno.c, xtensa-xtregs.c: Change to + GPLv3, update license URL. + +2009-03-01 Doug Evans <dje@google.com> + + * Makefile.in (INCLUDE_CFLAGS): Add -I$(srcdir)/../common. + (server_h): Add gdb_signals.h. + (signals.o): Update. + * server.h (target_signal_from_host,target_signal_to_host_p) + (target_signal_to_host,target_signal_to_name): Moved to gdb_signals.h. + +2009-02-14 Pierre Muller <muller@ics.u-strasbg.fr> + + * remote-utils.c (getpkt): Also generate remote-debug + information if noack_mode is set. + +2009-02-06 Pedro Alves <pedro@codesourcery.com> + + * server.c (handle_query): Report qXfer:siginfo:read and + qXfer:siginfo:write as supported and handle them. + * target.h (struct target_ops) <qxfer_siginfo>: New field. + * linux-low.c (linux_xfer_siginfo): New. + (linux_target_ops): Set it. + +2009-01-26 Pedro Alves <pedro@codesourcery.com> + + * server.c (gdbserver_usage): Mention --remote-debug. + (main): Accept '--remote-debug' switch. + +2009-01-18 Doug Evans <dje@google.com> + + * regcache.c (new_register_cache): No need to check result of xcalloc. + * server.c (handle_search_memory): Back out calls to xmalloc, + result is checked and error is returned to user upon failure. + (handle_query): Ditto. Add more checks for result of malloc. + (handle_v_cont): Check result of malloc, report error back to + user upon failure. + (handle_v_run): Ditto. Call freeargv. + * server.h (freeargv): Declare. + * utils.c (freeargv): New fn. + +2009-01-15 Doug Evans <dje@google.com> + + * gdbreplay.c (perror_with_name): Make arg const char *. + * server.h (target_signal_to_name): Make return type const char *. + * thread-db.c (thread_db_err_str): Make return type const char *. + * utils.c (perror_with_name): Make arg const char *. + +2009-01-14 Pedro Alves <pedro@codesourcery.com> + + * win32-low.c (get_child_debug_event): Issue a final DBG_CONTINUE + when handling a EXIT_PROCESS_DEBUG_EVENT. + +2009-01-06 Joel Brobecker <brobecker@adacore.com> + + * gdbreplay.c (gdbreplay_version): Update copyright year. + * server.c (gdbserver_version): Likewise. + +2009-01-05 Doug Evans <dje@google.com> + + * linux-low.c (linux_attach_lwp): Add some comments/fixmes. + (handle_extended_wait): Improve comment. + +2008-12-13 Doug Evans <dje@google.com> + + * utils.c (xmalloc,xcalloc,xstrdup): New fns. + * server.h (ATTR_MALLOC): New macro. + (xmalloc,xcalloc,xstrdup): Declare. + * hostio.c: Replace malloc,calloc,strdup with xmalloc,xcalloc,xstrdup. + * inferiors.c: Ditto. + * linux-low.c: Ditto. + * mem-break.c: Ditto. + * regcache.c: Ditto. + * remote-utils.c: Ditto. + * server.c: Ditto. + * target.c: Ditto. + * win32-low.c: Ditto. + +2008-12-12 Doug Evans <dje@google.com> + + * linux-low.c (linux_wait_for_process): Don't clobber current_inferior + in debugging printf. + + * linux-low.c (handle_extended_wait): Simplify, use my_waitpid. + +2008-12-09 Doug Evans <dje@google.com> + + * linux-low.h (struct process_info): Delete member tid, unused. + * thread-db.c (find_one_thread): Update. + (maybe_attach_thread): Update. + +2008-12-02 Pedro Alves <pedro@codesourcery.com> + + * target.h (struct target_ops): Add qxfer_osdata member. + * linux-low.c: Include ctype.h and pwd.h and sys/types.h + and dirent.h. + (linux_qxfer_osdata): New functions. + (linux_target_ops): Register linux_qxfer_osdata as qxfer_osdata + callback. + * server.c (handle_query): Handle "qXfer:osdata:read:". + * remote-utils.c (buffer_grow, buffer_free, buffer_init, buffer_finish) + (buffer_xml_printf): New functions. + * server.h (struct buffer): New. + (buffer_grow_str, buffer_grow_str0): New macros. + (buffer_grow, buffer_free, buffer_init, buffer_finish) + (buffer_xml_printf): Declare. + +2008-11-24 Doug Evans <dje@google.com> + + * Makefile.in (VERSION,DIST,LINT,LINTFLAGS): Delete, unused. + +2008-11-24 Daniel Jacobowitz <dan@codesourcery.com> + + * server.c (handle_v_run): Always use the supplied argument list. + +2008-11-19 Bob Wilson <bob.wilson@acm.org> + + * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4. + (xtensa_regmap_table): Add entry for scompare1. + +2008-11-18 Thiago Jung Bauermann <bauerman@br.ibm.com> + + * Makefile.in (powerpc-isa205-32l.o, powerpc-isa205-32l.c, + powerpc-isa205-altivec32l.o, powerpc-isa205-altivec32l.c, + powerpc-isa205-vsx32l.o, powerpc-isa205-vsx32l.c, + powerpc-isa205-64l.o, powerpc-isa205-64l.c, + powerpc-isa205-altivec64l.o, powerpc-isa205-altivec64l.c, + powerpc-isa205-vsx64l.o, powerpc-isa205-vsx64l.c): New targets. + * configure.srv (powerpc*-*-linux*): Add ISA 2.05 object files and + XML target descriptions. + * linux-ppc-low.c (ppc_arch_setup): Init registers with 64-bit FPSCR + when inferior is running on an ISA 2.05 or later processor. Add + special case to return offset for full 64-bit slot of FPSCR when + in 32-bits. + +2008-11-14 Daniel Gutson <dgutson@codesourcery.com> + + * Makefile.in (SFILES, clean): Added sparc64 files. + (reg-sparc64.o, reg-sparc64.c): New. + * configure.srv (sparc*-*-linux*): New configuration. + * linux-low.c (regsets_fetch_inferior_registers): Swap ptrace + syscall arguments for SPARC. + (regsets_store_inferior_registers): Likewise. + * linux-sparc-low.c: New file. + +2008-10-21 Doug Evans <dje@google.com> + + * Makefile.in (BFD_DIR,BFD,BFD_SRC,BFD_CFLAGS): Delete. + (READLINE_DIR,READLINE_DEP): Delete. + (INTERNAL_CFLAGS): Update. + (LINTFLAGS): Update. + +2008-10-10 Pedro Alves <pedro@codesourcery.com> + + * server.c (handle_v_run): If GDB didn't specify an argv, use the + whole argv from the last run, not just argv[0]. + +2008-09-08 Pedro Alves <pedro@codesourcery.com> + + * regcache.c (new_register_cache): Return NULL if the register + cache size isn't known yet. + (free_register_cache): Avoid dereferencing a NULL regcache. + +2008-09-04 Daniel Jacobowitz <dan@codesourcery.com> + + * configure.srv: Merge MIPS and MIPS64. + +2008-08-24 Maciej W. Rozycki <macro@linux-mips.org> + + * Makefile.in (uninstall): Apply $(EXEEXT) too. + +2008-08-18 Luis Machado <luisgpm@br.ibm.com> + + * Makefile.in: Add required vsx dependencies. + + * linux-ppc-low: Define PPC_FEATURE_HAS_VSX. + Declare init_registers_powerpc_vsx32l. + Declare init_registers_powerpc_vsx64l. + Define PTRACE_GETVSXREGS and PTRACE_SETVSXREGS. + (ppc_arch_setup): Check for VSX in hwcap. + (ppc_fill_vsxregset): New function. + (ppc_store_vsxregset): New function. + Add new VSX entry in regset_info target_regsets. + + * configure.srv: Add new VSX dependencies. + +2008-08-12 Pedro Alves <pedro@codesourcery.com> + + * remote-utils.c (noack_mode, transport_is_reliable): New globals. + (remote_open): Set or clear transport_is_reliable. + (putpkt_binary): Don't expect acks in noack mode. + (getpkt): Don't send ack/nac in noack mode. + * server.c (handle_general_set): Handle QStartNoAckMode. + (handle_query): If connected by tcp pass QStartNoAckMode+ in + qSupported. + (main): Reset noack_mode on every connection. + * server.h (noack_mode): Declare. + +2008-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * Makefile.in (GDBREPLAY_OBS): New variable. + (gdbreplay$(EXEEXT)): Use it to avoid unportable $^. + +2008-08-05 Ulrich Weigand <uweigand@de.ibm.com> + Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (linux_resume_one_process): Ignore ESRCH. + (usr_store_inferior_registers): Likewise. + (regsets_store_inferior_registers): Likewise. + +2008-07-31 Rolf Jansen <rj@surtec.com> + Pedro Alves <pedro@codesourcery.com> + + * configure.ac: Check for memmem declaration. + * server.c [HAVE_MALLOC_H]: Include malloc.h. + (disable_packet_vCont, disable_packet_Tthread, disable_packet_qC) + (disable_packet_qfThreadInfo): Unconditionally compile. + * server.h [!HAVE_DECL_MEMMEM]: Declare memmem. + * configure, config.in: Regenerate. + +2008-07-28 Doug Kwan <dougkwan@google.com> + + * linux-low.c (sys/dir.h, sys/user.h): Remove includes. + (linux_write_memory): Remove declaration of errno. + +2008-07-12 Ulrich Weigand <uweigand@de.ibm.com> + + * linux-low.c (handle_extended_wait): Do not use "status" + variable uninitialized. + +2008-07-07 Pedro Alves <pedro@codesourcery.com> + + * server.c (handle_v_attach): Inhibit reporting dll changes. + +2008-06-27 Pedro Alves <pedro@codesourcery.com> + + * remote-utils.c (prepare_resume_reply): If requested, don't + output "thread:TID" in the T stop reply. + + * server.c (disable_packet_vCont, disable_packet_Tthread) + (disable_packet_qC, disable_packet_qfThreadInfo): New globals. + (handle_query): If requested, disable support for qC, qfThreadInfo + and qsThreadInfo. + (handle_v_requests): If requested, disable support for vCont. + (gdbserver_show_disableable): New. + (main): Handle --disable-packet and --disable-packet=LIST. + + * server.h (disable_packet_vCont, disable_packet_Tthread) + (disable_packet_qC, disable_packet_qfThreadInfo): Declare. + +2008-06-20 Carlos O'Donell <carlos@codesourcery.com> + + * server.c (gdbserver_usage): Mention --version. + +2008-06-06 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.in (gdbreplay.o): New rule. + +2008-06-06 Joseph Myers <joseph@codesourcery.com> + + * gdbreplay.c (gdbreplay_version): Say gdbreplay in version + message, not gdbserver. + +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. + * Makefile.in (gdbreplay$(EXEEXT)): Add version.o. + * server.c (gdbserver_version): Print PKGVERSION. + (gdbsrever_usage): Add stream parameter. Print REPORT_BUGS_TO. + (main): Adjust gdbserver_usage calls. + * gdbreplay.c (version, host_name): Add declarations. + (gdbreplay_version, gdbreplay_usage): New. + (main): Accept --version and --help options. + +2008-06-04 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-arm-low.c (thumb_breakpoint, thumb_breakpoint_len): New. + (arm_breakpoint_at): Handle Thumb. + (the_low_target): Add comment. + +2008-05-29 Ulrich Weigand <uweigand@de.ibm.com> + + * linux-ppc-low.c (ppc_collect_ptrace_register): Clear buffer. + +2008-05-09 Doug Evans <dje@google.com> + + * server.h (decode_search_memory_packet): Declare. + * remote-utils.c (decode_search_memory_packet): New fn. + * server.c (handle_search_memory_1): New fn. + (handle_search_memory): New fn. + (handle_query): Process qSearch:memory packets. + +2008-05-08 Ulrich Weigand <uweigand@de.ibm.com> + + * regcache.c (registers_length): Remove. + (set_register_cache): Verify that PBUFSIZ is large enough to hold a + full register packet. + * regcache.h (registers_length): Remove prototype. + * server.h (PBUFSIZ): Define to 16384. + +2008-05-03 Ulrich Weigand <uweigand@de.ibm.com> + + * configure.srv (powerpc*-*-linux*): Set srv_regobj to + powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o, + powerpc-64l.o, and powerpc-altivec64l.o. + Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and + rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml, + rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml, + rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml, + rs6000/power-linux.xml, and rs6000/power64-linux.xml + to srv_xmlfiles. + + * Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ... + (powerpc-32l.o, powerpc-32l.c): ... these new rules. + (powerpc-32.o, powerpc-32.c): Remove, replace by ... + (powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules. + (powerpc-e500.o, powerpc-e500.c): Remove, replace by ... + (powerpc-e500l.o, powerpc-e500l.c): ... these new rules. + (reg-ppc64.o, reg-ppc64.c): Remove, replace by ... + (powerpc-64l.o, powerpc-64l.c): ... these new rules. + (powerpc-64.o, powerpc-64.c): Remove, replace by ... + (powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules. + (clean): Update. + + * linux-ppc-low.c (init_registers_ppc): Remove, replace by ... + (init_registers_powerpc_32l): ... this new prototype. + (init_registers_powerpc_32): Remove, replace by ... + (init_registers_powerpc_altivec32l): ... this new prototype. + (init_registers_powerpc_e500): Remove, replace by ... + (init_registers_powerpc_e500l): ... this new prototype. + (init_registers_ppc64): Remove, replace by ... + (init_registers_powerpc_64l): ... this new prototype. + (init_registers_powerpc_64): Remove, replace by ... + (init_registers_powerpc_altivec64l): ... this new prototype. + (ppc_num_regs): Set to 73. + (PT_ORIG_R3, PT_TRAP): Define if necessary. + (ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap. + (ppc_cannot_store_register): Handle orig_r3 and trap. + (ppc_arch_setup): Update init_registers_... calls. + (ppc_fill_gregset): Handle orig_r3 and trap. + + * inferiors.c (clear_inferiors): Reset current_inferior. + +2008-04-23 Paolo Bonzini <bonzini@gnu.org> + + * acinclude.m4: Add override.m4. + * configure: Regenerate. + +2008-04-21 Ulrich Weigand <uweigand@de.ibm.com> + + * linux-ppc-low.c (ppc_arch_setup): Reset ppc_hwcap after the + initial call to init_register_ppc64. + +2008-04-21 Ulrich Weigand <uweigand@de.ibm.com> + + * configure.srv (powerpc64-*-linux*, powerpc-*-linux*): Merge into + single powerpc*-*-linux* case. + (s390-*-linux*, s390x-*-linux*): Merge into single s390*-*-linux* case. + +2008-04-17 Ulrich Weigand <uweigand@de.ibm.com> + + * configure.srv [powerpc64-*-linux*]: Remove powerpc-e500.o from + srv_regobj. Remove rs6000/powerpc-e500.xml and rs6000/power-spe.xml + from reg_xmlfiles. + * linux-ppc-low.c: Include <elf.h>. + (PPC_FEATURE_HAS_ALTIVEC, PPC_FEATURE_HAS_SPE): Define. + (ppc_hwcap): New global variable. + (ppc_regmap): Remove __SPE__ #ifdef sections. + (ppc_regmap_e500): New global variable. + (ppc_cannot_store_register): Update __SPE__ special case. + (ppc_get_hwcap): New function. + (ppc_arch_setup): Use it to determine whether inferior supports + AltiVec or SPE registers. Set the_low_target.regmap if appropriate. + (ppc_fill_vrregset, ppc_store_vrregset): Define unconditionally. + Do not access registers if target does not support AltiVec. + (ppc_fill_evrregset, ppc_store_evrregset): Define unconditionally. + Do not access registers if target does not support SPE. + (target_regsets): Unconditionally include AltiVec and SPE regsets. + +2008-04-17 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (disabled_regsets, num_regsets): New. + (use_regsets_p): Delete. + (linux_wait_for_process): Clear disabled_regsets. + (regsets_fetch_inferior_registers): Check and set it. + (regsets_store_inferior_registers): Likewise. + (linux_fetch_registers, linux_store_registers): Do not use + use_regsets_p. + (initialize_low): Allocate disabled_regsets. + +2008-04-14 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.in (LIBOBJS): New. + (OBS): Use LIBOBJS. + (memmem.o): New rule. + * configure.ac: Use AC_CONFIG_LIBOBJ_DIR and check for memmem. + * configure: Regenerated. + +2008-04-04 Ulrich Weigand <uweigand@de.ibm.com> + + * server.c (handle_query): Never return "unsupported" for + qXfer:features:read queries. + +2008-03-27 Ulrich Weigand <uweigand@de.ibm.com> + + * server.c (get_features_xml): Fix inverted condition. + (handle_query): Always support qXfer:feature:read. + +2008-03-10 Daniel Jacobowitz <dan@codesourcery.com> + + * server.c (wrapper_argv): New. + (start_inferior): Handle wrapper_argv. If set, expect an extra + trap. + (gdbserver_usage): Document --wrapper. + (main): Parse --wrapper. + +2008-02-28 Ulrich Weigand <uweigand@de.ibm.com> + + * configure.srv [powerpc64-*-linux*]: Add all files mentioned for + powerpc-*-linux* to srv_regobj and reg_xmlfiles. + * linux-ppc-low.c (ppc_get_pc): Support bi-arch operation. + (ppc_set_pc): Likewise. + (ppc_arch_setup): New function. + (ppc_fill_gregset): Call ppc_collect_ptrace_register instead + of collect_register. + (the_low_target): Use ppc_arch_setup as arch_setup initializer. + +2008-02-28 Ulrich Weigand <uweigand@de.ibm.com> + + * configure.srv [powerpc64-*-linux*]: Use linux-ppc-low.o + instead of linux-ppc64-low.o. + * linux-ppc64-low.c: Remove file. + * Makefile.in (SFILES): Remove linux-ppc64-low.c. + (linux-ppc64-low.o): Remove rule. + + * linux-ppc-low.c (init_registers_ppc64): Add prototype. + (init_registers_powerpc_64): Likewise. + (ppc_regmap): Conditionally define depending on __powerpc64__. + (ppc_cannot_store_register): Do not special-case "fpscr" when + compiled on __powerpc64__. + (ppc_collect_ptrace_register): New function. + (ppc_supply_ptrace_register): New function. + (ppc_breakpoint): Change type to "unsigned int". + (ppc_breakpoint_at): Change type of "insn" to "unsigned int". + (the_low_target): Conditionally provide initializers for the + arch_setup member depending on __powerpc64__. Install + collect_ptrace_register and supply_ptrace_register members. + +2008-02-28 Ulrich Weigand <uweigand@de.ibm.com> + + * regcache.h (gdbserver_xmltarget): Add extern declaration. + * server.c (gdbserver_xmltarget): Define. + (get_features_xml): Use it to replace "target.xml" and arch_string. + + * configure.srv: Remove srv_xmltarget. Add XML files that were + mentioned there to srv_xmlfiles instead. Remove conditional tests + on gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe; set + srv_xmlfiles and srv_regobj to include all possible choices. + * configure.ac (srv_xmltarget): Remove. + (srv_xmlfiles): Do not add "target.xml". + (gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe): Remove + checks for supplementary target information. + * configure: Regenerate. + * Makefile.in (XML_TARGET): Remove. + (target.xml): Remove rule. + (clean): Do not clean up target.xml. + (.PRECIOUS): Do not mention target.xml. + + * target.h (struct target_ops): Remove arch_string member. + * linux-low.c (linux_arch_string): Remove. + (linux_target_ops): Remove arch_string initializer. + * linux-low.h (struct linux_target_ops): Remove arch_string member. + * linux-i386-low.c (the_low_target): Remove arch_string initializer. + * linux-x86-64-low.c (the_low_target): Remove arch_string initializer. + * spu-low.c (spu_arch_string): Remove. + (spu_target_ops): Remove arch_string initializer. + * win32-low.c (win32_arch_string): Remove. + (win32_target_ops): Remove arch_string initializer. + * win32-low.h (struct win32_target_ops): Remove arch_string member. + * win32-arm-low.c (the_low_target): Remove arch_string initializer. + * win32-i368-low.c (the_low_target): Remove arch_string initializer. + +2008-02-27 Ulrich Weigand <uweigand@de.ibm.com> + + * linux-low.h (struct linux_target_ops): Replace left_pad_xfer field + by collect_ptrace_register and supply_ptrace_register hooks. + * linux-low.c (fetch_register): Use supply_ptrace_register callback + instead of checking for the_low_target.left_pad_xfer. + (usr_store_inferior_registers): Use collect_ptrace_register callback + instead of checking for the_low_target.left_pad_xfer. + + * linux-s390-low.c (s390_collect_ptrace_register): New function. + (s390_supply_ptrace_register): Likewise. + (s390_fill_gregset): Call s390_collect_ptrace_register. + (the_low_target): Update. + + * linux-ppc64-low.c (ppc_collect_ptrace_register): New function. + (ppc_supply_ptrace_register): Likewise. + (the_low_target): Update. + + * linux-i386-low.c (the_low_target): Update. + * linux-x86-64-low.c (the_low_target): Update. + +2008-02-27 Ulrich Weigand <uweigand@de.ibm.com> + + * configure.srv [s390x-*-linux*]: Set srv_regobj to include both + reg-s390.o and reg-s390x.o. + + * linux-low.c (new_inferior): New global variable. + (linux_create_inferior, linux_attach): Set it. + (linux_wait_for_process): Call the_low_target.arch_setup after the + target has stopped for the first time. + (initialize_low): Do not call the_low_target.arch_setup. + + * linux-s390-low.c (s390_get_pc): Support bi-arch operation. + (s390_set_pc): Likewise. + (s390_arch_setup): New function. + (the_low_target): Use s390_arch_setup as arch_setup routine. + + * regcache.c (realloc_register_cache): New function. + (set_register_cache): Call it for each existing regcache. + +2008-02-27 Ulrich Weigand <uweigand@de.ibm.com> + + * server.h (init_registers): Remove prototype. + + * linux-low.h (struct linux_target_ops): Add arch_setup field. + * linux-low.c (initialize_low): Call the_low_target.arch_setup () + instead of init_registers (). + * linux-arm-low.c (init_registers_arm): Add prototype. + (init_registers_arm_with_iwmmxt): Likewise. + (the_low_target): Add initializer for arch_setup field. + * linux-cris-low.c (init_registers_cris): Add prototype. + (the_low_target): Add initializer for arch_setup field. + * linux-crisv32-low.c (init_registers_crisv32): Add prototype. + (the_low_target): Add initializer for arch_setup field. + * linux-i386-low.c (init_registers_i386_linux): Add prototype. + (the_low_target): Add initializer for arch_setup field. + * linux-ia64-low.c (init_registers_ia64): Add prototype. + (the_low_target): Add initializer for arch_setup field. + * linux-m32r-low.c (init_registers_m32r): Add prototype. + (the_low_target): Add initializer for arch_setup field. + * linux-m68k-low.c (init_registers_m68k): Add prototype. + (the_low_target): Add initializer for arch_setup field. + * linux-mips-low.c (init_registers_mips_linux): Add prototype. + (init_registers_mips64_linux): Likewise. + (the_low_target): Add initializer for arch_setup field. + * linux-ppc-low.c (init_registers_ppc): Add prototype. + (init_registers_powerpc_32, init_registers_powerpc_e500): Likewise. + (the_low_target): Add initializer for arch_setup field. + * linux-ppc64-low.c (init_registers_ppc64): Add prototype. + (init_registers_powerpc_64): Likewise. + (the_low_target): Add initializer for arch_setup field. + * linux-s390-low.c (init_registers_s390): Add prototype. + (init_registers_s390x): Likewise. + (the_low_target): Add initializer for arch_setup field. + * linux-sh-low.c (init_registers_sh): Add prototype. + (the_low_target): Add initializer for arch_setup field. + * linux-x86-64-low.c (init_registers_x86_64_linux): Add prototype. + (the_low_target): Add initializer for arch_setup field. + * linux-xtensa-low.c (init_registers_xtensa): Add prototype. + (the_low_target): Add initializer for arch_setup field. + + * win32-low.h (struct win32_target_ops): Add arch_setup field. + * win32-low.c (initialize_low): Call the_low_target.arch_setup () + instead of init_registers (). + * win32-arm-low.c (init_registers_arm): Add prototype. + (the_low_target): Add initializer for arch_setup field. + * win32-i386-low.c (init_registers_i386): Add prototype. + (the_low_target): Add initializer for arch_setup field. + + * spu-low.c (init_registers_spu): Add prototype. + (initialize_low): Call initialie_registers_spu () instead of + initialize_registers (). + +2008-02-19 Pedro Alves <pedro@codesourcery.com> + + * server.c (handle_v_requests): When handling the vRun and vAttach + packets, if already debugging a process, don't kill it. Return an + error instead. + +2008-02-17 Daniel Jacobowitz <dan@codesourcery.com> + + * server.c (handle_query): Correct length check. + +2008-02-14 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (do_initial_child_stuff): Add process handle + parameter. Set current_process_handle and current_process_id from the + parameters. Clear globals. + (win32_create_inferior): Don't set current_process_handle and + current_process_id here. Instead pass them on the call to + do_initial_child_stuff. + (win32_attach): Likewise. + (win32_clear_inferiors): New. + (win32_kill): Don't close the current process handle or the + current thread handle here. Instead call win32_clear_inferiors. + (win32_detach): Don't open a new handle to the process. Call + win32_clear_inferiors. + (win32_join): Don't rely on current_process_handle; open a new + handle using the process id. + (win32_wait): Call win32_clear_inferiors when the inferior process + has exited. + +2008-02-14 Daniel Jacobowitz <dan@codesourcery.com> + + * server.c (monitor_show_help): Add "exit". + +2008-02-11 Maxim Grigoriev <maxim2405@gmail.com> + + * Makefile.in (SFILES): Add linux-xtensa-low.c. + (clean): Add reg-xtensa.c. + (linux-xtensa-low.o, reg-xtensa.o, reg-xtensa.c): New dependencies. + * configure.srv (xtensa*-*-linux*) New target. + * linux-xtensa-low.c: New. + * xtensa-xtregs.c: New. + +2008-02-01 Pedro Alves <pedro_alves@portugalmail.pt> + + * hostio.c: Don't include errno.h. + (errno_to_fileio_errno): Move to hostio-errno. + * hostio.c: (hostio_error): Remove the error parameter. Defer the + error number outputting to the target->hostio_last_error callback. + (hostio_packet_error): Use FILEIO_EINVAL directly. + (handle_open, handle_pread, hostio_error, handle_unlink): Update + calls to hostio_error. + * hostio-errno.c: New. + * server.h (hostio_last_error_from_errno): Declare. + * target.h (target_ops): Add hostio_last_error member. + * linux-low.c (linux_target_op): Register hostio_last_error_from_errno + as hostio_last_error handler. + * spu-low.c (spu_target_ops): Likewise. + * win32-low.c [_WIN32_WCE] (win32_error_to_fileio_error) + (wince_hostio_last_error): New functions. + (win32_target_ops) [_WIN32_WCE]: Register wince_hostio_last_error + as hostio_last_error handler. + (win32_target_ops) [!_WIN32_WCE]: Register + hostio_last_error_from_errno as hostio_last_error handler. + * Makefile.in (SFILES): Add hostio.c and hostio-errno.c. + (hostio-errno.o): New rule. + * configure.ac (GDBSERVER_DEPFILES): Add $srv_hostio_err_objs. + * configure.srv (srv_hostio_err_objs): New variable. Default to + hostio-errno.o. + (arm*-*-mingw32ce*): Set srv_hostio_err_objs to "". + * configure: Regenerate. + +2008-01-29 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (linux_attach_lwp): Do not _exit after errors. + (linux_kill, linux_detach): Clean up the process list. + * remote-utils.c (remote_open): Improve port number parsing. + (putpkt_binary, input_interrupt): Only send interrupts if the target + is running. + * server.c (extended_protocol): Make static. + (attached): Define earlier. + (exit_requested, response_needed, program_argv): New variables. + (target_running): New. + (start_inferior): Clear attached here. + (attach_inferior): Set attached here. + (require_running): Define. + (handle_query): Use require_running and target_running. Implement + "monitor exit". + (handle_v_attach, handle_v_run): New. + (handle_v_requests): Use require_running. Handle vAttach and vRun. + (gdbserver_usage): Update. + (main): Redo argument parsing. Handle --debug and --multi. Handle + --attach along with other options or after the port. Save + program_argv. Support no initial program. Resynchronize + communication with GDB after an error. Handle "monitor exit". + Use require_running and target_running. Always allow the extended + protocol. Do not error out for Hc0 or Hc-1. Do not automatically + restart in extended mode. + * README: Refer to the GDB manual. Update --attach usage. + +2007-12-20 Andreas Schwab <schwab@suse.de> + + * linux-low.c (STACK_SIZE): Define. + (linux_tracefork_child): Use it. Use __clone2 on ia64. + (linux_test_for_tracefork): Likewise. + +2007-12-18 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (linux_wait_for_event): Update messages. Do not + reinsert auto-delete breakpoints. + * mem-break.c (struct breakpoint): Change return type of handler to + int. + (set_breakpoint_at): Update handler type. + (reinsert_breakpoint_handler): Return 1 instead of calling + delete_breakpoint. + (reinsert_breakpoint_by_bp): Check for the original breakpoint before + setting a new one. + (check_breakpoints): Delete auto-delete breakpoints and return 2. + * mem-break.h (set_breakpoint_at): Update handler type. + * thread-db.c (thread_db_create_event, thread_db_create_event): Update. + * win32-low.c (auto_delete_breakpoint): New. + (get_child_debug_event): Use it. + +2007-12-16 Daniel Jacobowitz <dan@codesourcery.com> + + * configure.ac: Check for pread and pwrite. + * hostio.c (handle_pread): Fall back to lseek and read. + (handle_pwrite): Fall back to lseek and write. + * config.in, configure: Regenerated. + +2007-12-07 Daniel Jacobowitz <dan@codesourcery.com> + + * server.c (myresume): Add own_buf argument. + (main): Update calls. + +2007-12-06 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (linux_wait, linux_resume): Do not handle async I/O. + * remote-utils.c (remote_open): Do not call disable_async_io. + (block_async_io): Delete. + (unblock_async_io): Make static. + (initialize_async_io): New. + * server.c (handle_v_cont): Handle async I/O here. + (myresume): Likewise. Move other common resume tasks here... + (main): ... from here. Call initialize_async_io. Disable async + I/O before the main loop. + * server.h (initialize_async_io): Declare. + (block_async_io, unblock_async_io): Delete prototypes. + * spu-low.c (spu_resume, spu_wait): Do not handle async I/O here. + +2007-12-06 Mick Davis <mickd@goanna.iinet.net.au> + + * remote-utils.c (readchar): Allow binary data in received messages. + +2007-12-03 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (attaching): New global. + (win32_create_inferior): Clear the `attaching' global. + (win32_attach): Set the `attaching' global. + (get_child_debug_event) [_WIN32_WCE]: Stop the inferior when + attaching. Only set a breakpoint at the entry point if not + attaching. + +2007-12-03 Pedro Alves <pedro_alves@portugalmail.pt> + + * server.c (main): Don't report dll events on the initial + connection on attaches. + +2007-12-03 Pedro Alves <pedro_alves@portugalmail.pt> + + * server.c (main): Relax numerical bases supported for the pid of + the --attach command line argument. + +2007-12-03 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (win32_attach): Call OpenProcess before + DebugActiveProcess, not after. Add last error output to error + call. + +2007-12-03 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (win32_get_thread_context) + (win32_set_thread_context): New functions. + (thread_rec): Use win32_get_thread_context. + (continue_one_thread, win32_resume): Use win32_set_thread_context. + * win32-low.h (win32_thread_info) [_WIN32_WCE]: Add `base_context' + field. + +2007-12-03 Leo Zayas + Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (soft_interrupt_requested, faked_breakpoint): New + global variables. + (child_add_thread): Minor cleanup. + (child_continue): Resume artificially suspended threads before + calling ContinueDebugEvent. + (suspend_one_thread): New. + (fake_breakpoint_event): New. + (get_child_debug_event): Change return type to int. Check here if + gdb sent an interrupt request. If a soft interrupt was requested, + fake a breakpoint event. Return 0 if there is no event to handle, + and 1 otherwise. + (win32_wait): Don't check here if gdb sent an interrupt request. + Ensure there is a valid event to handle. + (win32_request_interrupt): Add soft interruption method as last + resort. + +2007-12-03 Leo Zayas + Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.h (win32_thread_info): Add descriptions to the + structure members. Replace `suspend_count' counter by a + `suspended' flag. + * win32-low.c (thread_rec): Update condition of when to get the + context from the inferior. Rely on ContextFlags being set if it + has already been retrieved. Only suspend the inferior thread if + we haven't already. Warn if that fails. + (continue_one_thread): s/suspend_count/suspended/. Only call + ResumeThread once. Warn if that fails. + +2007-12-02 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (win32_wait): Don't read from the inferior when it + has already exited. + +2007-12-02 Pedro Alves <pedro_alves@portugalmail.pt> + + * Makefile.in (win32_low_h): New variable. + (win32-low.o): Add dependency on $(win32_low_h). + (win32-arm-low.o, win32-i386-low.o): New rules. + +2007-11-30 Daniel Jacobowitz <dan@codesourcery.com> + + * hostio.c: Correct copyright year. + +2007-11-30 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.in (OBS): Add hostio.o. + (hostio.o): New rule. + * server.h (handle_vFile): Declare. + * hostio.c: New file. + * server.c (handle_v_requests): Take packet_len and new_packet_len + for binary packets. Call handle_vFile. + (main): Update call to handle_v_requests. + +2007-11-05 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c: Include <sched.h>. + +2007-11-01 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (linux_tracefork_grandchild): New. + (linux_tracefork_child): Use clone. + (linux_test_for_tracefork): Use clone; allocate and free a stack. + +2007-10-31 Joel Brobecker <brobecker@adacore.com> + + * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh. + +2007-10-24 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (handle_extended_wait): Handle unexpected signals. + +2007-10-23 Daniel Jacobowitz <dan@codesourcery.com> + + * inferiors.c (change_inferior_id): Delete. + (add_pid_to_list, pull_pid_from_list): New. + * linux-low.c (PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG) + (PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK) + (PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC, PTRACE_O_TRACEVFORKDONE) + (PTRACE_O_TRACEEXIT, PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK) + (PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE) + (PTRACE_EVENT_EXIT, __WALL): Provide default definitions. + (stopped_pids, thread_db_active, must_set_ptrace_flags): New variables. + (using_threads): Always set to 1. + (handle_extended_wait): New. + (add_process): Do not set TID. + (linux_create_inferior): Set must_set_ptrace_flags. + (linux_attach_lwp): Remove TID argument. Do not check using_threads. + Use PTRACE_SETOPTIONS. Call new_thread_notify. Update all callers. + (linux_thread_alive): Rename TID argument to LWPID. + (linux_wait_for_process): Handle unknown processes. Do not use TID. + (linux_wait_for_event): Do not use TID or check using_threads. Update + call to dead_thread_notify. Call handle_extended_wait. + (linux_create_inferior): Use PTRACE_SETOPTIONS. + (send_sigstop): Delete sigstop_sent. + (wait_for_sigstop): Avoid TID. + (linux_supports_tracefork_flag, linux_tracefork_child, my_waitpid) + (linux_test_for_tracefork): New. + (linux_lookup_signals): Use thread_db_active and + linux_supports_tracefork_flag. + (initialize_low): Use thread_db_active and linux_test_for_tracefork. + * linux-low.h (get_process_thread): Avoid TID. + (struct process_ifo): Move thread_known and tid to the end. Remove + sigstop_sent. + (linux_attach_lwp, thread_db_init): Update prototypes. + * server.h (change_inferior_id): Delete prototype. + (add_pid_to_list, pull_pid_from_list): New prototypes. + * thread-db.c (thread_db_use_events): New. + (find_first_thread): Rename to... + (find_one_thread): ...this. Update callers and messages. Do not + call fatal. Check thread_db_use_events. Do not call + change_inferior_id or new_thread_notify. + (maybe_attach_thread): Update. Do not call new_thread_notify. + (thread_db_init): Set thread_db_use_events. Check use_events. + * utils.c (fatal, warning): Correct message prefix. + +2007-10-15 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.in (clean): Remove new files. + (powerpc-32.o, powerpc-32.c, powerpc-e500.o, powerpc-e500.c) + (powerpc-64.o, powerpc-64.c): New rules. + * configure.srv: Use alternate register sets for powerpc64-*-linux* + with AltiVec, powerpc-*-linux* with AltiVec, and powerpc-*-linux* + with SPE. + * linux-ppc-low.c (ppc_regmap): Do not fetch the FP registers for + SPE targets. + (ppc_cannot_store_register): Do not check for FPSCR for SPE targets. + (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS, ppc_fill_vrregset) + (ppc_store_vrregset, PTRACE_GETEVRREGS, PTRACE_SETEVRREGS) + (struct gdb_evrregset_t, ppc_fill_evrregset, ppc_store_evrregset): New. + (target_regsets): Add AltiVec and SPE register sets. + * configure.ac: Check for AltiVec and SPE. + * linux-ppc64-low.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS) + (ppc_fill_vrregset, ppc_store_vrregset): New. + (target_regsets): Add AltiVec register set. + * configure: Regenerated. + +2007-09-19 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (O_LARGEFILE): Define. + (linux_read_memory): Use /proc/PID/mem. + * configure.ac: Use AC_GNU_SOURCE. Check for pread64. + * configure, config.in: Regenerated. + +2007-09-04 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (linux_wait_for_event): Do not pass signals while + single-stepping. + +2007-09-03 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (create_process): New. + (win32_create_inferior): Use create_process instead of + CreateProcess. If create_process failed retry appending an ".exe" + suffix. Store the GetLastError result immediatelly after + create_process calls and use it on the call to error. + +2007-09-03 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (handle_load_dll): Don't use toolhelp when waiting. + +2007-08-23 Joel Brobecker <brobecker@adacore.com> + + * configure.ac: Switch license to GPLv3. + +2007-08-01 Michael Snyder <msnyder@access-company.com> + + * remote-utils.c (putpkt_binary): Memory leak, free buf2. + +2007-07-31 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (winapi_CloseToolhelp32Snapshot) [_WIN32_WCE]: New + typedef. + (win32_CloseToolhelp32Snapshot) [_WIN32_WCE]: New global var. + (load_toolhelp) [_WIN32_WCE]: Load TOOLHELP.DLL. Get + CloseToolhelp32Snapshot. + (toolhelp_get_dll_name) [_WIN32_WCE]: Close the snapshot with + CloseToolhelp32Snapshot. + +2007-07-27 Michael Snyder <michael.snyder@access-company.com> + + * server.c (main): Check for inferior exit before main loop. + +2007-07-18 Pedro Alves <pedro_alves@portugalmail.pt> + + * remote-utils.c (remote_open): Set SO_KEEPALIVE on remote_desc + instead of on tmp_desc. + +2007-07-17 Pedro Alves <pedro_alves@portugalmail.pt> + Daniel Jacobowitz <dan@codesourcery.com> + + * inferiors.c (all_dlls, dlls_changed, get_dll): New. + (add_thread): Minor cleanups. + (clear_inferiors): Move lower in the file. Clear the DLL + list. + (free_one_dll, match_dll, loaded_dll, unloaded_dll, clear_list): New. + * remote-utils.c (prepare_resume_reply): Check dlls_changed. + (xml_escape_text): New. + * server.c (handle_query): Handle qXfer:libraries:read. Report it + for qSupported. + (handle_v_cont): Report errors. + (gdbserver_version): Update. + (main): Correct size of own_buf. Do not report initial DLL events. + * server.h (struct dll_info, all_dlls, dlls_changed, loaded_dll) + (unloaded_dll, xml_escape_text): New. + * win32-low.c (enum target_waitkind): Update comments. + (win32_add_one_solib, get_image_name, winapi_EnumProcessModules) + (winapi_GetModuleInformation, winapi_GetModuleFileNameExA) + (win32_EnumProcessModules, win32_GetModuleInformation) + (win32_GetModuleFileNameExA, load_psapi, psapi_get_dll_name) + (winapi_CreateToolhelp32Snapshot, winapi_Module32First) + (winapi_Module32Next, win32_CreateToolhelp32Snapshot) + (win32_Module32First, win32_Module32Next, load_toolhelp) + (toolhelp_get_dll_name, handle_load_dll, handle_unload_dll): New. + (get_child_debug_event): Handle DLL events. + (win32_wait): Likewise. + +2007-07-12 Daniel Jacobowitz <dan@codesourcery.com> + + * configure.srv: Set srv_linux_regsets for sh*-*-linux*. + * linux-sh-low.c (sh_fill_gregset, target_regsets): New. + +2007-07-08 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (handle_output_debug_string): Ignore event if not + waiting. + +2007-07-08 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-arm-low.c (arm_wince_breakpoint): Fix typo. + +2007-07-03 Daniel Jacobowitz <dan@codesourcery.com> + + * remote-utils.c (look_up_one_symbol): Handle 'm' packets. + +2007-07-02 Daniel Jacobowitz <dan@codesourcery.com> + + * inferiors.c (change_inferior_id): Add comment. + * linux-low.c (check_removed_breakpoint): Add an early + prototype. Improve debug output. + (linux_attach): Doc update. + (linux_detach_one_process, linux_detach): Clean up before releasing + each process. + (send_sigstop, wait_for_sigstop): Improve comments and debug output. + * linux-low.h (struct process_info): Doc improvement. + * mem-break.c (delete_all_breakpoints): New. + * mem-break.h (delete_all_breakpoints): New prototype. + * thread-db.c (find_first_thread): New. + (thread_db_create_event): Call it instead of + thread_db_find_new_threads. Clean up unused variables. + (maybe_attach_thread): Remove first thread handling. + (thread_db_find_new_threads): Use find_first_thread. + (thread_db_get_tls_address): Likewise. + +2007-06-27 Daniel Jacobowitz <dan@codesourcery.com> + + * thread-db.c (thread_db_find_new_threads): Add prototype. + (thread_db_create_event): Check for the main thread before adding + a new thread. + (maybe_attach_thread): Only enable event reporting if TID == 0. + (thread_db_get_tls_address): Check for new threads. + +2007-06-20 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (linux_create_inferior): Try execv before execvp. + * spu-low.c (spu_create_inferior): Likewise. + +2007-06-13 Mike Frysinger <vapier@gentoo.org> + + * linux-low.c (linux_create_inferior): Change execv to execvp. + * spu-low.c (spu_create_inferior): Likewies. + +2007-06-13 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.in (clean): Clean new files instead of deleted ones. + (reg-mips.o, reg-mips.c, reg-mips64.o, reg-mips64.c): Delete. + (mips-linux.o, mips-linux.c, mips64-linux.o, mips64-linux.c): New + rules. + * configure.srv: Specify XML files and new regformats for MIPS and + MIPS64 GNU/Linux. + * linux-mips-low.c (mips_num_regs): Set to only used registers. + (mips_regmap): Do not fetch $0. Remove unused registers. Add + an entry for the restart register. + (mips_cannot_fetch_register, mips_cannot_store_register) + (mips_reinsert_addr, mips_fill_fpregset, mips_store_fpregset): Update + register names to match the XML descriptions. + (mips_fill_gregset, mips_store_gregset): Likewise. Handle the + restart register instead of $0. + +2007-06-12 Ulrich Weigand <uweigand@de.ibm.com> + Markus Deuling <deuling@de.ibm.com> + + * remote-utils.c (decode_xfer_write): New function. + * server.h (decode_xfer_write): Add prototype. + * server.c (handle_query): Add PACKET_LEN argument. Support + qXfer:spu:read and qXfer:spu:write packets. + (main): Pass packet_len to handle_query. + * spu-low.c (spu_target_ops): Add spu_proc_xfer_spu. + * target.h (target_ops): Add qxfer_spu. + +2007-06-12 Ulrich Weigand <uweigand@de.ibm.com> + + * spu-low.c (spu_proc_xfer_spu): Do not return failure when + accessing non-seekable spufs files. + +2007-05-16 Markus Deuling <deuling@de.ibm.com> + + * server.c (handle_query): Add reply for qC packet. + +2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt> + Leo Zayas <lerele@champenstudios@com> + + * server.h (check_remote_input_interrupt_request): New function. + * remote_utils.c (INVALID_DESCRIPTOR): New define. + (remote_desc): Initialize with INVALID_DESCRIPTOR. + (input_interrupt): Expose on USE_WIN32API too. Fix whitespace. + (check_remote_input_interrupt_request): New function. + * server.h (check_remote_input_interrupt_request): Declare. + * win32-low.c (winapi_DebugBreakProcess, + winapi_GenerateConsoleCtrlEvent): New typedefs. + (get_child_debug_event): Lower Win32 debug event polling from 1 sec + to 250 ms. + (win32_wait): Check for remote interrupt request + with check_remote_input_interrupt_request. + (win32_request_interrupt): New function. + (win32_target_op): Set request_interrupt to win32_request_interrupt. + +2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (debug_registers_changed, + debug_registers_used, CONTEXT_EXTENDED_REGISTERS, + CONTEXT_FLOATING_POINT, CONTEXT_DEBUG_REGISTERS, + CONTEXT_DEBUGGER, CONTEXT_DEBUGGER_DR): Delete. + (thread_rec): Get context using the low target. + (child_add_thread): Call thread_added on the low target, + which does the same thing. + (regptr): Delete. + (do_initial_child_stuff): Remove debug registers references. + Set context using the low target. Resume threads after + setting the contexts. + (child_continue): Remove dead variable. Remove debug + registers references. + (child_fetch_inferior_registers): Go through the low target. + (do_child_store_inferior_registers): Remove. + (child_store_inferior_registers): Go through the low target. + (win32_resume): Remove debug registers references. + Set context using the low target. + (handle_exception): Change return type to void. Don't record + context here. Set status to TARGET_WAITKIND_SPURIOUS on a + first chance exception. + (get_child_debug_event): Change return type to void. Remove + goto loop. Always return after waiting for debug event. + (win32_wait): Convert to switch statement. Handle spurious + events. + + * win32-i386-low.c (debug_registers_changed, + debug_registers_used): New. + (initial_stuff): Rename to ... + (i386_initial_stuff): ... this. Clear debug registers + state variables. + (store_debug_registers): Delete. + (i386_get_thread_context): New. + (load_debug_registers): Delete. + (i386_set_thread_context): New. + (i386_thread_added): New. + (single_step): Rename to ... + (i386_single_step): ... this. + (do_fetch_inferior_registers): Rename to ... + (i386_fetch_inferior_register): ... this. + (i386_store_inferior_register): New. + (the_low_target): Adapt to new interface. + + * win32-arm-low.c (CONTEXT_FLOATING_POINT): Define. + (arm_get_thread_context): New. + (arm_set_thread_context): New. + (regptr): New. + (do_fetch_inferior_registers): Rename to ... + (arm_fetch_inferior_register): ... this. + (arm_store_inferior_register): New. + (arm_wince_breakpoint): Reimplement as unsigned long. + (arm_wince_breakpoint_len): Define. + (the_low_target): Adapt to new interface. + + * win32-low.h (target_ops): Remove regmap, store_debug_registers and + load_debug_registers. Add get_thread_context, set_thread_context, + thread_added and store_inferior_register. Rename + fetch_inferior_registers to fetch_inferior_register. + (regptr): Remove declaration. + +2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt> + + * linux-low.c (linux_detach): Change return type to int. Return 0. + * spu-low.c (spu_detach): Likewise. + +2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt> + + * target.h (target_ops): Change return type of detach to int. + Add join. + (join_inferior): New. + * server.c (main): Don't skip detach support on mingw32. + If the inferior doesn't support detaching return error. + Call join_inferior instead of using waitpid. + * linux-low.c (linux_join): New. + (linux_target_op): Add linux_join. + * spu-low.c (spu_join): New. + (spu_target_ops): Add spu_join. + * win32-low.c (win32_detach): Adapt to new interface. + Reopen current_process_handle before detaching. Issue a child + resume before detaching. + (win32_join): New. + (win32_target_op): Add win32_join. + +2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (win32-attach): Fix return value. + * target.h (target_ops): Describe ATTACH return values. + +2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (GETPROCADDRESS): Define. + (winapi_DebugActiveProcessStop): Add WINAPI. typedef as pointer. + (winapi_DebugSetProcessKillOnExit): Likewise. + (win32_create_inferior): Force usage of ansi CreateProcessA. + (win32_attach): Use GETPROCADDRESS. + (win32_detach): Likewise. + +2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c (win32_wait): Don't use WSTOPSIG. + +2007-03-30 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c: Commit leftover changes from 2007-03-29. + +2007-03-30 Daniel Jacobowitz <dan@codesourcery.com> + + * i387-fp.c (struct i387_fsave, struct i387_fxsave): Make 16-bit + fields short instead of int. Add explicit padding. + (i387_cache_to_fsave): Remove unnecessary casts. + (i387_fsave_to_cache): Doc fix. + (i387_cache_to_fxsave): Remove unnecessary casts and masking. + +2007-03-30 Daniel Jacobowitz <dan@codesourcery.com> + + * i387-fp.c (i387_cache_to_fxsave): Reinitialize val2 before use. + (i387_fxsave_to_cache): Check fp->ftag while building ftag value. + +2007-03-29 Pedro Alves <pedro_alves@portugalmail.pt> + + * configure.srv (arm*-*-mingw32ce*): Move near the other + arm targets. + +2007-03-29 Pedro Alves <pedro_alves@portugalmail.pt> + + * configure.ac: Add errno checking. + (AC_CHECK_HEADERS): Add errno.h, fcntl.h, signal.h, + sys/file.h and malloc.h. + (AC_CHECK_DECLS): Add perror. + (srv_mingwce): Handle. + * configure.srv (i[34567]86-*-cygwin*): Add + win32-i386-low.o to srv_tgtobj. + (i[34567]86-*-mingw*): Likewise. + (arm*-*-mingw32ce*): Add case. + * gdbreplay.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H, + HAVE_FCNTL_H, HAVE_ERRNO_H, HAVE_MALLOC_H]: Check. + [__MINGW32CE__] (strerror): New function. + [__MINGW32CE__] (errno): Define to GetLastError. + [__MINGW32CE__] (COUNTOF): New macro. + (remote_open): Remove extra close call. + * mem-break.c (delete_breakpoint_at): New function. + * mem-break.h (delete_breakpoint_at): Declare. + * remote-utils.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H, + HAVE_FCNTL_H, HAVE_UNISTD_H, HAVE_ERRNO_H]: Check. + [USE_WIN32API] (read, write): Add char* casts. + * server.c [HAVE_UNISTD_H, HAVE_SIGNAL_H]: Check. + * server.h: Include wincecompat.h on Windows CE. + [HAVE_ERRNO_H]: Check. + (perror): Declare if not declared. + * utils.c: Add stdlib.h, errno.h and malloc.h includes. + (perror_with_name): Remove errno declaration. + * wincecompat.h: New. + * wincecompat.c: New. + * win32-low.h: New. + * win32-arm-low.c: New. + * win32-i386-low.c: New. + (win32-low.c): Include mem-break.h and win32-low.h, and winnt.h. + (OUTMSG2): Make it safe. + (_T): New macro. + (COUNTOF): New macro. + (NUM_REGS): Get it from the low target. + (CONTEXT_EXTENDED_REGISTERS, CONTEXT_FLOATING_POINT, + CONTEXT_DEBUG_REGISTERS): Add fallbacks to 0. + (thread_rec): Let low target handle debug registers. + (child_add_thread): Likewise. + (child_init_thread_list): Likewise. + (continue_one_thread): Likewise. + (regptr): New. + (do_child_fetch_inferior_registers): Move to ... + * win32-i386-low.c: ... here, and rename to ... + (do_fetch_inferior_registers): ... this. + * win32-low.c (child_fetch_inferior_registers): + Go through the low target. + (do_child_store_inferior_registers): Use regptr. + (strwinerror): New function. + (win32_create_inferior): Handle Windows CE. + Use strwinerror instead of strerror on Windows error + codes. Add program to the error output. + Don't close the main thread handle on Windows CE. + (win32_attach): Use coredll.dll on Windows CE. + (win32_kill): Close current process and current + thread handles. + (win32_detach): Use coredll.dll on Windows CE. + (win32_resume): Let low target handle debug registers, and + step request. + (handle_exception): Add/Remove initial breakpoint. Avoid + non-existant WSTOPSIG on Windows CE. + (win32_read_inferior_memory): Cast to remove warning. + (win32_arch_string): Go through the low target. + (initialize_low): Call set_breakpoint_data with the low + target's breakpoint. + * win32-low.c (dr, FLAG_TRACE_BIT, FCS_REGNUM, + FOP_REGNUM, mappings): Move to ... + * win32-i386-low.c: ... here. + * win32-low.c (win32_thread_info): Move to ... + * win32-low.h: ... here. + * Makefile.in (SFILES): Add win32-low.c, win32-i386-low.c, + win32-arm-low.c and wincecompat.c. + (all:): Add $EXEEXT. + (install-only:): Likewise. + (gdbserver:): Likewise. + (gdbreplay:): Likewise. + * config.in: Regenerate. + * configure: Regenerate. + +2007-03-28 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-low.c: Rename typedef thread_info to + win32_thread_info throughout. + +2007-03-28 Pedro Alves <pedro_alves@portugalmail.pt> + + * win32-i386-low.c: Rename to ... + * win32-low.c: ... this. + * configure.srv: Replace win32-i386-low.o with win32-low.o. + * Makefile.in: Likewise. + +2007-03-27 Pedro Alves <pedro_alves@portugalmail.pt> + + * remote-utils.c (monitor_output): Constify msg parameter. + * server.h (monitor_output): Likewise. + * win32-i386-low.c (handle_output_debug_string): New. + (win32_kill): Handle OUTPUT_DEBUG_STRING_EVENT events using + handle_output_debug_string. + (get_child_debug_event): Likewise. + +2007-03-27 Mat Hostetter <mat@lcs.mit.edu> + + * server.c (main): Correct strtoul check. + +2007-03-27 Jon Ringle <jon@ringle.org> + + * linux-low.c: Check __ARCH_HAS_MMU__ also. + +2007-03-27 Brooks Moses <brooks.moses@codesourcery.com> + + * Makefile.in: Add dummy "pdf" and "install-pdf" targets. + +2007-02-27 Daniel Jacobowitz <dan@codesourcery.com> + + * terminal.h: Check HAVE_SGTTY_H. + +2007-02-27 Mat Hostetter <mat@lcs.mit.edu> + + * remote-utils.c (remote_open): Print out the assigned port number. + +2007-02-26 Daniel Jacobowitz <dan@codesourcery.com> + + * remote-utils.c (monitor_output): New function. + * server.c (debug_threads): Define here. + (monitor_show_help): New function. + (handle_query): Handle qRcmd. + (main): Do not handle 'd' packet. + * server.h (debug_threads, remote_debug, monitor_output): Declare. + * linux-low.c, spu-low.c, win32-i386-low.c: Remove definitions + of debug_threads. + +2007-02-25 Pedro Alves <pedro_alves@portugalmail.pt> + + * Makefile.in (EXEEXT): New. + (clean): Use $(EXEEXT). + +2007-02-25 Pedro Alves <pedro_alves@portugalmail.pt> + + * target.h (target_ops): Rename send_signal to request_interrupt, + and remove enum target_signal parameter. + * linux-low.c (linux_request_interrupt): Rename from + linux_send_signal, and always send SIGINT. + * spu-low.c (spu_request_interrupt): Rename from spu_send_signal, + and always send SIGINT. + * remote-utils.c (putpkt_binary): Call request_interrupt, instead + of send_signal. + (input_interrupt): Likewise. + +2007-02-25 Pedro Alves <pedro_alves@portugalmail.pt> + + * server.c (get_features_xml): Check if target implemented + arch_string. + * win32-i386-low.c (win32_arch_string): New. + (win32_target_ops): Add win32_arch_string as arch_string member. + +2007-02-22 Markus Deuling <deuling@de.ibm.com> + + * spu-low.c (spu_arch_string): New. + (spu_target_ops): Add spu_arch_string. + +2007-02-16 Daniel Jacobowitz <dan@codesourcery.com> + + * remote-utils.c: Remove HAVE_TERMINAL_H check. + * configure.ac: Do not check for terminal.h. + * configure, config.in: Regenerated. + +2007-02-08 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.in (OBS): Add $(XML_BUILTIN). + (XML_DIR, XML_TARGET, XML_FILES, XML_BUILTIN): New. + (clean): Update. + (target.xml, xml-builtin.c, stamp-xml, arm-with-iwmmxt.o) + (arm-with-iwmmxt.c): New. + * config.in, configure: Regenerate. + * configure.ac: Check for iWMMXt. Handle srv_xmltarget, + srv_xmlbuiltin, and srv_xmlfiles. Define USE_XML. + * configure.srv: Mention srv_xmltarget and srv_xmlfiles. + (arm*-*-linux*): Add iWMMXt and regset support. + * linux-arm-low.c (PTRACE_GETWMMXREGS, PTRACE_SETWMMXREGS): Define. + (arm_fill_gregset, arm_store_gregset, arm_fill_wmmxregset) + (arm_store_wmmxregset, target_regsets): New. + * server.c (get_features_xml): Take annex argument. Check builtin + XML documents. + (handle_query): Handle multiple annexes. + +2007-01-29 Daniel Jacobowitz <dan@codesourcery.com> + + * remote-utils.c [USE_WIN32API] (read, write): Define. + (putpkt_binary, input_interrupt, readchar, getpkt): Use read and + write. + +2007-01-09 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-i386-low.c (the_low_target): Set arch_string. + * linux-x86-64-low.c (the_low_target): Likewise. + * linux-low.c (linux_arch_string): New. + (linux_target_ops): Add it. + * linux-low.h (struct linux_target_ops): Add arch_string. + * server.c (write_qxfer_response): Use const void * for DATA. + (get_features_xml): New. + (handle_query): Handle qXfer:features:read. Report it for qSupported. + * target.h (struct target_ops): Add arch_string method. + +2007-01-03 Denis Pilat <denis.pilat@st.com> + Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (linux_kill): Handle being called with no threads. + * win32-i386-low.c (win32_kill): Likewise. + (get_child_debug_event): Clear current_process_handle. + +2006-12-30 Denis PILAT <denis.pilat@st.com> + Daniel Jacobowitz <dan@codesourcery.com> + + * remote-utils.c (remote_open): Check the type of specified + serial port devices before opening them. + * server.c (main): Kill the inferior if an error occurs during + the first remote_open. + +2006-12-05 Markus Deuling <deuling@de.ibm.com> + + * README: Update supported targets. + +2006-11-28 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.in (clean): Remove reg-mips64.c. + (reg-mips64.c, reg-mips64.o): New rules. + * configure.srv: Handle mips64. Include regset support for mips. + * linux-mips-low.c (union mips_register): New. + (mips_get_pc, mips_set_pc, mips_reinsert_addr): Use it. + (mips_breakpoint, mips_breakpoint_at): Use int. + (mips_collect_register, mips_supply_register) + (mips_collect_register_32bit, mips_supply_register_32bit) + (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset) + (mips_store_fpregset, target_regsets): New. + * thread-db.c (thread_db_get_tls_address): Use uintptr_t. + +2006-11-22 Ulrich Weigand <uweigand@de.ibm.com> + + * configure.srv: Add target "spu*-*-*". + * Makefile.in (clean): Remove reg-spu.c. + (reg-spu.c, reg-spu.o, spu-low.o): Add dependencies. + * spu-low.c: New file. + +2006-11-16 Daniel Jacobowitz <dan@codesourcery.com> + + * configure.ac: Correct td_thr_tls_get_addr test. + * configure: Regenerated. + +2006-11-16 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (linux_wait_for_event): Reformat. Use the + pass_signals array. + * remote-utils.c (decode_address_to_semicolon): New. + * server.c (pass_signals, handle_general_set): New. + (handle_query): Mention QPassSignals for qSupported. + (main): Call handle_general_set. + * server.h (pass_signals, decode_address_to_semicolon): New. + +2006-11-06 Daniel Jacobowitz <dan@codesourcery.com> + + * server.c (handle_query): Correct error handling for read_auxv. + +2005-10-19 Ulrich Weigand <uweigand@de.ibm.com> + + * configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets + and srv_linux_thread_db to yes. + * linux-s390-low.c (s390_fill_gregset): New function. + (target_regsets): Define data structure. + +2006-10-17 Daniel Jacobowitz <dan@codesourcery.com> + + * acinclude.m4 (SRV_CHECK_TLS_GET_ADDR): New. + * configure.ac: Use it. Define HAVE_TD_THR_TLS_GET_ADDR. + * config.in, configure: Regenerated. + * inferiors.c (gdb_id_to_thread): New function. + (gdb_id_to_thread_id): Use it. + * linux-low.c (linux_target_ops): Use thread_db_get_tls_address. + * linux-low.h (struct process_info): Add th member. + (thread_db_get_tls_address): New prototype. + * remote-utils.c (decode_address): Make non-static. + * server.c (handle_query): Handle qGetTLSAddr. + * server.h (gdb_id_to_thread, decode_address): New prototypes. + * target.h (struct target_ops): Add get_tls_address. + * thread-db.c (maybe_attach_thread): Save the thread handle. + (thread_db_get_tls_address): New. + +2006-09-28 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define. + (linux_resume_one_process): Take a siginfo_t *. Update all + callers. Queue it if necessary. Use PTRACE_SETSIGINFO. + (struct pending_signals): Add a siginfo_t. + (linux_wait_for_process): Always set last_status. + (linux_wait_for_event): Use PTRACE_GETSIGINFO. + (linux_queue_one_thread): Use PTRACE_GETSIGINFO. + * linux-low.h (struct process_info): Add last_status. + +2006-09-21 Daniel Jacobowitz <dan@codesourcery.com> + + * remote-utils.c (try_rle): New function. + (putpkt_binary): Use it. + +2006-08-19 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.in (clean): Clean reg-x86-64-linux.c. + (reg-x86-64-linux.o, reg-x86-64-linux.c): New. + * configure.srv (x86_64-*-linux*): Use reg-x86-64-linux.o. + * linux-x86-64-low.c (x86_64_regmap): Include ORIG_RAX. + (x86_64_fill_gregset, x86_64_store_gregset): Skip floating + point registers. + +2006-08-08 Richard Sandiford <richard@codesourcery.com> + + * server.c (terminal_fd): New variable. + (old_foreground_pgrp): Likewise. + (restore_old_foreground_pgrp): New function. + (start_inferior): Record the terminal file descriptor in terminal_fd + and its original foreground group in old_foreground_pgrp. Register + restore_old_foreground_pgrp with atexit(). + +2006-07-26 Daniel Jacobowitz <dan@codesourcery.com> + + * server.c (handle_query): Correct qPart to qXfer. + +2006-07-22 Daniel Jacobowitz <dan@codesourcery.com> + + * configure.ac: Check for more headers which are missing on + Windows. Automatically supply -lwsock32 and USE_WIN32API. + * configure.srv: Add Cygwin and mingw32. + * remote-utils.c: Don't include headers unconditionally which + are missing on mingw32. Include <winsock.h> for mingw32. + (remote_open): Adjust for mingw32 support. Flush + standard error after writing to it. + (remote_close, putpkt_binary, input_interrupt, block_async_io) + (unblock_async_io, enable_async_io, disable_async_io) + (readchar, getpkt): Update for Winsock support. + (prepare_resume_reply): Expect a protocol signal number. + * server.c: Disable <sys/wait.h> on mingw32. + (start_inferior): Adjust for mingw32 support. Flush + standard error after writing to it. + (attach_inferior): Likewise. Use protocol signal + numbers. + (main): Skip 'D' packet on mingw32. Use protocol signal numbers + and names. + * win32-i386-low.c: New file. + * Makefile.in (XM_CLIBS): Set. + (gdbserver, gdbreplay): Use $(INTERNAL_CFLAGS). + (win32-i386-low.o): New dependency rule. + * linux-low.c (linux_wait): Use target signal numbers. + * target.h (struct target_ops): Doc fix. + * server.h (target_signal_to_name): New prototype. + * gdbreplay.c: Don't include headers unconditionally which + are missing on mingw32. Include <winsock.h> for mingw32. + (remote_close, remote_open): Adjust for Winsock support. + * configure, config.in: Regenerated. + +2006-07-12 Daniel Jacobowitz <dan@codesourcery.com> + + * server.c (decode_xfer_read, write_qxfer_response): New. + (handle_query): Take a packet length argument. Handle + qXfer:auxv:read instead of qPart:auxv:read. Mention it in + the qSupported response. + (main): Update call to handle_query. + +2006-06-22 Daniel Jacobowitz <dan@codesourcery.com> + + * remote-utils.c (remote_escape_output, remote_unescape_input): New. + (putpkt_binary): Renamed from putpkt and adjusted for binary + data. + (putpkt): New wrapper for putpkt_binary. + (readchar): Don't mask off the high bit. + (decode_X_packet): New function. + * server.c (main): Call putpkt_binary if a handler sets the packet + length. Save the length of the incoming packet. Handle 'X'. + * server.h (gdb_byte, remote_escape_output, decode_X_packet): New. + +2006-06-21 Daniel Jacobowitz <dan@codesourcery.com> + + * server.c (handle_query): Handle qSupported. + +2006-05-30 Daniel Jacobowitz <dan@codesourcery.com> + + * remote-utils.c (all_symbols_looked_up): New variable. + (look_up_one_symbol): Check it. + * server.h (look_up_one_symbol): New declaration. + * thread-db.c (thread_db_init): Set all_symbols_looked_up. + +2006-05-30 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.in (linux-arm-low.o): Update dependencies. + * linux-arm-low.c: Include "gdb_proc_service.h". + (PTRACE_GET_THREAD_AREA): Define. + (ps_get_thread_area): New function. + +2006-05-09 Nathan Sidwell <nathan@codesourcery.com> + + * configure.srv (m68k*-*-uclinux*): New target. + * linux-low.c (linux_create_inferior): Use vfork on mmuless systems. + (linux_resume_one_process): Remove extraneous cast. + (linux_read_offsets): New. + (linux_target_op): Add linux_read_offsets on mmuless systems. + * server.c (handle_query): Add qOffsets logic. + * target.h (struct target_ops): Add read_offsets. + +2006-03-15 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-mips-low.c: Include <sys/ptrace.h> and "gdb_proc_service.h". + (PTRACE_GET_THREAD_AREA): Define. + (ps_get_thread_area): New function. + * Makefile.in (linux-i386-low.o, linux-mips-low.o) + (linux-x86-64-low.o): Update. + +2006-03-15 Daniel Jacobowitz <dan@codesourcery.com> + + * configure.ac: Remove checks for prfpregset_t. + * gdb_proc_service.h: New file. + * linux-i386-low.c, linux-x86-64-low.c, thread-db.c: Use the + new "gdb_proc_service.h". + * proc-service.c: Likewise. + (ps_pglobal_lookup, ps_pdread, ps_pdwrite): Use psaddr_t. + (ps_lgetfpregs, ps_lsetfpregs): Use a void* argument. + * Makefile.in (gdb_proc_service_h): Updated. + * configure, config.in: Regenerated. + +2006-03-03 Daniel Jacobowitz <dan@codesourcery.com> + + * remote-utils.c (prepare_resume_reply): Move declaration + of gdb_id_from_wait to the top of the block. + +2006-02-15 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (regsets_store_inferior_registers): Read the regset + from the target before filling it. + +2006-02-08 Daniel Jacobowitz <dan@codesourcery.com> + + * server.c (attach_inferior): Return SIGTRAP for a successful + attach. + +2006-02-01 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.in (OBS): Add version.o. + (STAGESTUFF): Delete. + (version.o): Add dependencies. + (version.c): Replace rule. + (clean): Remove version.c. + * server.c (gdbserver_version): New. + (gdbserver_usage): Use printf. + (main): Handle --version and --help. + * server.h (version, host_name): Add declarations. + +2005-12-23 Eli Zaretskii <eliz@gnu.org> + + * linux-arm-low.c: + * linux-arm-low.c: + * inferiors.c: + * i387-fp.h: + * i387-fp.c: + * gdbreplay.c: + * regcache.c: + * proc-service.c: + * mem-break.h: + * mem-break.c: + * linux-x86-64-low.c: + * linux-sh-low.c: + * linux-s390-low.c: + * linux-ppc64-low.c: + * linux-ppc-low.c: + * linux-mips-low.c: + * linux-m68k-low.c: + * linux-m32r-low.c: + * linux-low.h: + * linux-low.c: + * linux-ia64-low.c: + * linux-i386-low.c: + * linux-crisv32-low.c: + * thread-db.c: + * terminal.h: + * target.h: + * target.c: + * server.h: + * server.c: + * remote-utils.c: + * regcache.h: + * utils.c: + * Makefile.in: + * configure.ac: + * gdbserver.1: Add (C) after Copyright. Update the FSF + address. + +2005-11-13 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-arm-low.c (arm_eabi_breakpoint): New variable. + (arm_breakpoint_at): Recognize both breakpoints. + (the_low_target): Use the correct breakpoint instruction. + +2005-11-02 Daniel Jacobowitz <dan@codesourcery.com> + + * configure.srv (x86_64-*-linux*): Turn on thread_db support. + * linux-x86-64-low.c (x86_64_breakpoint, x86_64_breakpoint_len) + (x86_64_get_pc, x86_64_set_pc, x86_64_breakpoint_at): New. + (the_low_target): Update. + +2005-10-25 Andreas Schwab <schwab@suse.de> + + * server.c (main): Allocate mem_buf with PBUFSIZ bytes. + + * linux-ia64-low.c (ia64_regmap): Remove NAT registers. + (ia64_num_regs): Reduce to 462. + +2005-09-17 Daniel Jacobowitz <dan@codesourcery.com> + + * acinclude.m4: Correct quoting. + * aclocal.m4: Regenerated. + + Suggested by SZOKOVACS Robert <szo@ies.hu>: + * thread-db.c (thread_db_err_str): Handle TD_VERSION. + (thread_db_init): Call thread_db_err_str. + * configure.ac: Check for TD_VERSION. + * config.in, configure: Regenerated. + +2005-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * server.h (error, fatal, warning): Add ATTR_FORMAT. + +2005-07-13 Daniel Jacobowitz <dan@codesourcery.com> + + * configure.ac: Define HAVE_LINUX_REGSETS even if PTRACE_GETREGS + is not available. Define HAVE_PTRACE_GETREGS if it is. + * config.in, configure: Regenerated. + * configure.srv: Set srv_linux_regsets for PowerPC and PowerPC64. + * linux-i386-low.c, linux-m68k-low.c: Update to use + HAVE_PTRACE_GETREGS. + * linux-low.c (regsets_fetch_inferior_registers) + (regsets_store_inferior_registers): Only return 0 if we processed + GENERAL_REGS. + * linux-ppc-low.c (ppc_fill_gregset, target_regsets): New. + * linux-ppc64-low.c (ppc_fill_gregset, target_regsets): New. + +2005-07-13 Daniel Jacobowitz <dan@codesourcery.com> + + * inferiors.c (struct thread_info): Add gdb_id. + (add_thread): Add gdb_id argument. + (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New. + * linux-low.c (linux_create_inferior, linux_attach_lwp): Update + calls to add_thread. + * remote-utils.c (prepare_resume_reply: Use thread_to_gdb_id. + * server.c (handle_query): Use thread_to_gdb_id. + (handle_v_cont, main): Use gdb_id_to_thread_id. + * server.h (add_thread): Update prototype. + (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New + prototypes. + +2005-07-13 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (fetch_register, usr_store_inferior_registers): Handle + left-padded registers. + * linux-low.h (struct linux_target_ops): Add left_pad_xfer. + * linux-ppc64-low.c (the_low_target): Set left_pad_xfer. + +2005-07-01 Steve Ellcey <sje@cup.hp.com> + + * configure.ac (BFD_NEED_DECLARATION): Replace with AC_CHECK_DECLS. + * configure: Regenerate. + * config.in: Regenerate. + * server.h (NEED_DECLARATION_STRERROR): + Replace with !HAVE_DECL_STRERROR. + +2005-06-16 Daniel Jacobowitz <dan@codesourcery.com> + + * linux-low.c (linux_wait, linux_send_signal): Don't test + an unsigned long variable for > 0 if it could be MAX_ULONG. + * server.c (myresume): Likewise. + * target.c (set_desired_inferior): Likewise. + +2005-06-13 Mark Kettenis <kettenis@gnu.org> + + * configure.ac: Simplify and improve check for socklen_t. + * configure, config.in: Regenerate. + +2005-06-12 Daniel Jacobowitz <dan@codesourcery.com> + + * acconfig.h: Remove. + * configure.ac: Add a test for socklen_t. Use three-argument + AC_DEFINE throughout. + * config.in: Regenerated using autoheader 2.59. + * configure: Regenerated. + + * gdbreplay.c (socklen_t): Provide a default. + (remote_open): Use socklen_t. + * remote-utils.c (socklen_t): Provide a default. + (remote_open): Use socklen_t. + (convert_int_to_ascii, convert_ascii_to_int, decode_M_packet): Use + unsigned char. + + * i387-fp.c (struct i387_fsave, struct i387_fxsave): Use unsigned + char for buffers. + * linux-low.c (linux_read_memory, linux_write_memory) + (linux_read_auxv): Likewise. + * mem-break.c (breakpoint_data, set_breakpoint_data, check_mem_read) + (check_mem_write): Likewise. + * mem-break.h (set_breakpoint_data, check_mem_read, check_mem_write): + Likewise. + * regcache.c (struct inferior_rgcache_data, registers_to_string) + (registers_from_string, register_data): Likewise. + * server.c (handle_query, main): Likewise. + * server.h (convert_ascii_to_int, convert_int_to_ascii) + (decode_M_packet): Likewise. + * target.c (read_inferior_memory, write_inferior_memory): Likewise. + * target.h (struct target_ops): Update read_memory, write_memory, + and read_auxv. + (read_inferior_memory, write_inferior_memory): Update. + * linux-low.h (struct linux_target_ops): Change type of breakpoint + to unsigned char *. + * linux-arm-low.c, linux-cris-low.c, linux-crisv32-low.c, + linux-i386-low.c, linux-m32r-low.c, linux-m68k-low.c, + linux-mips-low.c, linux-ppc-low.c, linux-ppc64-low.c, + linux-s390-low.c, linux-sh-low.c: Update for changes in + read_inferior_memory and the_low_target->breakpoint. + +2005-05-28 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.in (SFILES): Add linux-ppc64-low.c. + (linux-ppc64-low.o, reg-ppc64.c, reg-ppc64.o): New targets. + * configure.srv: Add powerpc64-*-linux*. + * linux-ppc64-low.c: New file. + +2005-05-23 Orjan Friberg <orjanf@axis.com> + + * linux-cris-low.c: New file with support for CRIS. + * linux-crisv32-low.c: Ditto for CRISv32. + * Makefile.in (SFILES): Add linux-cris-low.c, linux-crisv32-low.c. + (clean): Add reg-cris.c and reg-crisv32.c. + Add linux-cris-low.o, linux-crisv32-low.o, reg-cris.o, reg-cris.c, + reg-crisv32.o, and reg-crisv32.c to make rules. + * configure.srv: Add cris-*-linux* and crisv32-*-linux* to list of + recognized targets. + +2005-05-16 Ulrich Weigand <uweigand@de.ibm.com> + + * linux-low.c (fetch_register): Ensure buffer size is a multiple + of sizeof (PTRACE_XFER_TYPE). + (usr_store_inferior_registers): Likewise. Zero out excess bytes. + +2005-05-12 Orjan Friberg <orjanf@axis.com> + + * target.h (struct target_ops): Add insert_watchpoint, + remove_watchpoint, stopped_by_watchpoint, stopped_data_address function + pointers for hardware watchpoint support. + * linux-low.h (struct linux_target_ops): Ditto. + * linux-low.c (linux_insert_watchpoint, linux_remove_watchpoint) + (linux_stopped_by_watchpoint, linux_stopped_data_address): New. Add + to linux_target_ops. + * remote-utils.c (prepare_resume_reply): Add watchpoint information to + reply packet. + * server.c (main): Recognize 'Z' and 'z' packets. + +2005-05-10 Ulrich Weigand <uweigand@de.ibm.com> + + * linux-s390-low.c (s390_breakpoint, s390_breakpoint_len): Define. + (s390_get_pc, s390_set_pc, s390_breakpoint_at): New functions. + (the_low_target): Add new members. + +2005-05-04 Daniel Jacobowitz <dan@codesourcery.com> + + * proc-service.c (ps_lgetregs): Search all_processes instead of + all_threads. + +2005-05-04 Daniel Jacobowitz <dan@codesourcery.com> + + * server.c (start_inferior): Change return type to int. + (attach_inferior): Change sigptr to int *. + (handle_v_cont, handle_v_requests): Change signal to int *. + (main): Change signal to int. + +2005-04-15 Kei Sakamoto <sakamoto.kei@renesas.com> + + * Makefile.in: Add linux-m32r-low.o, reg-m32r.c and reg-m32r.o. + * configure.srv: Add m32r*-*-linux*. + * linux-m32r-low.c: New file. + +2005-03-04 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.in (stamp-h): Set CONFIG_HEADERS explicitly. + +2005-03-03 Daniel Jacobowitz <dan@codesourcery.com> + + * inferiors.c (change_inferior_id, add_thread, find_inferior_id): + Take unsigned long arguments for PIDs. + * linux-low.c (add_process, linux_attach_lwp, linux_attach) + (linux_thread_alive, linux_wait_for_event, kill_lwp, send_sigstop) + (wait_for_sigstop, linux_resume_one_process) + (regsets_fetch_inferior_registers, linux_send_signal) + (linux_read_auxv): Likewise. Update the types of variables holding + PIDs. Update format string specifiers. + * linux-low.h (struct process_info, linux_attach_lwp): Likewise. + * remote-utils.c (prepare_resume_reply): Likewise. + * server.c (cont_thread, general_thread, step_thread) + (thread_from_wait, old_thread_from_wait, signal_pid): Change type to + unsigned long. + (handle_query): Update format specifiers. + (handle_v_cont, main): Use strtoul for thread IDs. + * server.h (struct inferior_list_entry): Use unsigned long for ID. + (add_thread, find_inferior_id, change_inferior_id, cont_thread) + (general_thread, step_thread, thread_from_wait) + (old_thread_from_wait): Update. + * target.h (struct thread_resume): Use unsigned long for THREAD. + (struct target_ops): Use unsigned long for arguments to attach and + thread_alive. + +2005-02-24 Daniel Jacobowitz <dan@codesourcery.com> + + * acinclude.m4: Include bfd/bfd.m4 directly. + * configure.ac: Use AC_ARG_PROGRAM. Suggested by Aron Griffis + <agriffis@toolchain.org>. + * aclocal.m4, configure: Regenerated. + +2005-01-07 Andrew Cagney <cagney@gnu.org> + + * configure.ac: Rename configure.in, require autoconf 2.59. + * configure: Re-generate. + +2004-12-08 Daniel Jacobowitz <dan@debian.org> + + * acinclude.m4 (SRV_CHECK_THREAD_DB): Add ps_get_thread_area. Reset + LIBS when finished. + * aclocal.m4: Regenerated. + * configure: Regenerated. + +2004-11-21 Andreas Schwab <schwab@suse.de> + + * linux-m68k-low.c (m68k_num_gregs): Define. + (m68k_fill_gregset, m68k_store_gregset, m68k_fill_fpregset) + (m68k_store_fpregset, target_regsets) [HAVE_LINUX_REGSETS]: New. + (m68k_breakpoint, m68k_breakpoint_len, m68k_get_pc, m68k_set_pc) + (m68k_breakpoint_at): New. Add to the_low_target. + + * configure.srv (m68*-*-linux*): Set srv_linux_regsets and + srv_linux_thread_db to yes. + +2004-10-20 Joel Brobecker <brobecker@gnat.com> + + * linux-x86-64-low.c (ARCH_SET_GS): Add definition if missing. + (ARCH_SET_FS): Likewise. + (ARCH_GET_FS): Likewise. + (ARCH_GET_GS): Likewise. + +2004-10-16 Daniel Jacobowitz <dan@debian.org> + + * linux-i386-low.c (ps_get_thread_area): New. + * linux-x86-64-low.c (ps_get_thread_area): New. + * linux-low.c: Include <sys/syscall.h>. + (linux_kill_one_process): Don't kill the first thread here. + (linux_kill): Kill the first thread here. + (kill_lwp): New function. + (send_sigstop, linux_send_signal): Use it. + * proc-service.c: Clean up #ifdefs. + (fpregset_info): Delete. + (ps_lgetregs): Update and enable implementation. + (ps_lsetregs, ps_lgetfpregs, ps_lsetfpregs): Remove disabled + implementations. + * remote-utils.c (struct sym_cache, symbol_cache): New. + (input_interrupt): Print a clearer message. + (async_io_enabled): New variable. + (enable_async_io, disable_async_io): Use it. Update comments. + (look_up_one_symbol): Use the symbol cache. + * thread-db.c (thread_db_look_up_symbols): New function. + (thread_db_init): Update comments. Call thread_db_look_up_symbols. + +2004-10-16 Daniel Jacobowitz <dan@debian.org> + + * configure.in: Test for -rdynamic. + * configure: Regenerated. + * Makefile (INTERNAL_LDFLAGS): New. + (gdbserver, gdbreplay): Use it. + +2004-09-02 Andrew Cagney <cagney@gnu.org> + + * Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE. + +2004-03-23 Daniel Jacobowitz <drow@mvista.com> + + * linux-low.c (linux_wait): Clear all_processes list also. + +2004-03-12 Daniel Jacobowitz <drow@mvista.com> + + * linux-low.c: Include <errno.h>. Remove extern declaration of + errno. + +2004-03-12 Daniel Jacobowitz <drow@mvista.com> + + * gdbreplay.c, server.h, utils.c: Update copyright years. + +2004-03-04 Nathan J. Williams <nathanw@wasabisystems.com> + + * server.c (main): Print child status or termination signal from + variable 'signal', not 'sig'. + +2004-03-04 Nathan J. Williams <nathanw@wasabisystems.com> + + * linux-low.c (linux_read_memory): Change return type to + int. Check for and return error from ptrace(). + * target.c (read_inferior_memory): Change return type to int. Pass + back return status from the_target->read_memory(). + * target.h (struct target_ops): Adapt *read_memory() prototype. + Update comment. + (read_inferior_memory): Adapt prototype. + * server.c (main): Return an error packet if + read_inferior_memory() returns an error. + +2004-03-04 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in (distclean): Remove config.h, stamp-h, and config.log. + Unify with other clean targets. + +2004-02-29 Daniel Jacobowitz <drow@mvista.com> + + * server.c (handle_v_cont): Call set_desired_inferior. + +2004-02-29 Daniel Jacobowitz <drow@mvista.com> + + * remote-utils.c (prepare_resume_reply): Always supply "thread:". + +2004-02-29 Daniel Jacobowitz <drow@mvista.com> + + * linux-low.c (linux_wait): Unblock async I/O. + (linux_resume): Block and enable async I/O. + * remote-utils.c (block_async_io, unblock_async_io): New functions. + * server.h (block_async_io, unblock_async_io): Add prototypes. + +2004-02-29 Daniel Jacobowitz <drow@mvista.com> + + * remote-utils.c (remote_open): Print a status notice after + opening a TCP port. + * server.c (attach_inferior): Print a status notice after + attaching. + +2004-02-29 Daniel Jacobowitz <drow@mvista.com> + + * linux-arm-low.c (arm_get_pc): Print out stop PC in debug mode. + +2004-02-26 Daniel Jacobowitz <drow@mvista.com> + + * remote-utils.c (write_enn): Use "E01" instead of "ENN" for the + error packet. + * server.c, target.h: Update copyright years. + +2004-02-25 Roland McGrath <roland@redhat.com> + + * target.h (struct target_ops): New member `read_auxv'. + * server.c (handle_query): Handle qPart:auxv:read: query using that. + * linux-low.c (linux_read_auxv): New function. + (linux_target_ops): Initialize `read_auxv' member to that. + +2004-02-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + Committed by Jim Blandy <jimb@redhat.com>. + + * linux-s390-low.c (s390_num_regs): Update. + (s390_regmap): Remove control registers. Use __s390x__ predefine + instead of GPR_SIZE to distiguish s390 and s390x targets. + +2004-01-31 Daniel Jacobowitz <drow@mvista.com> + + * linux-low.c: Update copyright year. + (check_removed_breakpoint): Clear pending_is_breakpoint. + (linux_set_resume_request, linux_queue_one_thread) + (resume_status_pending_p): New functions. + (linux_continue_one_thread): Use process->resume. + (linux_resume): Only resume threads if there are no pending events. + * linux-low.h (struct process_info): Add resume request + pointer. + +2004-01-30 Daniel Jacobowitz <drow@mvista.com> + + * regcache.c (new_register_cache): Clear the allocated register + buffer. Suggested by Atsushi Nemoto <anemo@mba.ocn.ne.jp>. + +2003-10-13 Daniel Jacobowitz <drow@mvista.com> + + * linux-low.c (linux_resume): Take a struct thread_resume * + argument. + (linux_wait): Update call. + (resume_ptr): New static variable. + (linux_continue_one_thread): Renamed from + linux_continue_one_process. Use resume_ptr. + (linux_resume): Use linux_continue_one_thread. + * server.c (handle_v_cont, handle_v_requests): New functions. + (myresume): New function. + (main): Handle 'v' case. + * target.h (struct thread_resume): New type. + (struct target_ops): Change argument of "resume" to struct + thread_resume *. + (myresume): Delete macro. + +2003-08-08 H.J. Lu <hongjiu.lu@intel.com> + + * Makefile.in (install-only): Create dest dir. Support DESTDIR. + (uninstall): Support DESTDIR. + +Mon Jul 21 20:09:34 UTC 2003 Brendan Conoboy <blc@redhat.com> + + * configure.srv: Add xscale*linux copy of arm*linux entry. + +2003-07-24 Daniel Jacobowitz <drow@mvista.com> + + * linux-arm-low.c (arm_reinsert_addr): New function. + (the_low_target): Add arm_reinsert_addr. + +2003-07-08 Mark Kettenis <kettenis@gnu.org> + + * mem-break.c: Remove whitespace at end of file. + +2003-06-28 Daniel Jacobowitz <drow@mvista.com> + + * configure.in: Check whether we need to prototype strerror. + * server.h: Optionally prototype strerror. + * gdbreplay.c (perror_with_name): Use strerror. + * linux-low.c (linux_attach_lwp): Use strerror. + * utils.c (perror_with_name): Use strerror. + * config.in, configure: Regenerated. + +2003-06-28 Daniel Jacobowitz <drow@mvista.com> + + * linux-sh-low.c (sh_regmap): Fix FP register offsets, reported by + SUGIOKA Toshinobu <sugioka@itonet.co.jp>. + +2003-06-20 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in (SFILES): Update. + * low-hppabsd.c, low-lynx.c, low-nbsd.c, low-sim.c, low-sparc.c, + low-sun3.c: Remove files. + +2003-06-17 Daniel Jacobowitz <drow@mvista.com> + + * linux-low.c: Move comment to linux_thread_alive where it belonged. + (linux_detach_one_process, linux_detach): New functions. + (linux_target_ops): Add linux_detach. + * server.c (main): Handle 'D' packet. + * target.h (struct target_ops): Add "detach" member. + (detach_inferior): Define. + +2003-06-13 Mark Kettenis <kettenis@gnu.org> + + From Kelley Cook <kelleycook@wideopenwest.com>: + * configure.srv: Accept i[34567]86 variants. + +2003-06-05 Daniel Jacobowitz <drow@mvista.com> + + * linux-low.c (linux_wait_for_event): Correct comment typos. + (linux_resume_one_process): Call check_removed_breakpoint. + (linux_send_signal): New function. + (linux_target_ops): Add linux_send_signal. + * remote-utils.c (putpkt, input_interrupt): Use send_signal instead + of kill. + * target.h (struct target_ops): Add send_signal. + +2003-05-29 Jim Blandy <jimb@redhat.com> + + * linux-low.c (usr_store_inferior_registers): Transfer buf in + PTRACE_XFER_TYPE-sized chunks, not int-sized chunks. Otherwise, + if 'int' is smaller than PTRACE_XFER_TYPE, you end up throwing + away part of the register's value. + +2003-03-26 Daniel Jacobowitz <drow@mvista.com> + + * linux-low.c (linux_create_inferior): Use __SIGRTMIN. + (linux_wait_for_event, linux_init_signals): Likewise. + +2003-03-17 Daniel Jacobowitz <drow@mvista.com> + + * configure.in: Check for stdlib.h. + * configure: Regenerated. + * config.in: Regenerated. + +2003-01-04 Andreas Schwab <schwab@suse.de> + + * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31. + +2003-01-02 Andrew Cagney <ac131313@redhat.com> + + * Makefile.in: Remove obsolete code. + +2002-11-20 Daniel Jacobowitz <drow@mvista.com> + + * linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of + defined(PT_FPR0_HI). + +2002-11-17 Stuart Hughes <seh@zee2.com> + + * linux-arm-low.c (arm_num_regs): Increase. + (arm_regmap): Include status register. + +2002-11-17 Daniel Jacobowitz <drow@mvista.com> + + * linux-low.c (register_addr): Remove incorrect -1 check. + +2002-08-29 Daniel Jacobowitz <drow@mvista.com> + + * linux-low.c (linux_create_inferior): Call setpgid. Return + the new PID. + (unstopped_p, linux_signal_pid): Remove. + (linux_target_ops): Remove linux_signal_pid. + * remote-utils.c (putpkt, input_interrupt): Use signal_pid + global instead of target method. + * target.h (struct target_ops): Remove signal_pid. Update comment + for create_inferior. + * server.c (signal_pid): New variable. + (create_inferior): Set signal_pid. Block SIGTTOU and SIGTTIN in + gdbserver. Set the child to be the foreground process group. + (attach_inferior): Set signal_pid. + +2002-08-23 Daniel Jacobowitz <drow@mvista.com> + + * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2. + +2002-08-20 Jim Blandy <jimb@redhat.com> + + * Makefile.in (LDFLAGS): Allow the configure script to establish a + default for this. + +2002-08-01 Andrew Cagney <cagney@redhat.com> + + * Makefile.in: Make chill references obsolete. + +2002-07-24 Kevin Buettner <kevinb@redhat.com> + + * configure.in (unistd.h): Add to AC_CHECK_HEADERS list. + * configure: Regenerate. + * config.in: Regenerate. + +2002-07-09 David O'Brien <obrien@FreeBSD.org> + + * gdbreplay.c (stdlib.h, unistd.h): Conditionaly include. + (perror_with_name, remote_close, remote_open, expect, play): Static. + +2002-07-04 Michal Ludvig <mludvig@suse.cz> + + * linux-x86-64-low.c (x86_64_regmap): Make it an array of + byte offsets instead of an array of indexes. + (x86_64_store_gregset, x86_64_store_fpregset): Parameter made const. + +2002-06-13 Daniel Jacobowitz <drow@mvista.com> + + * regcache.c: Add comment. + +2002-06-11 Daniel Jacobowitz <drow@mvista.com> + + * thread-db.c: New file. + * proc-service.c: New file. + * acinclude.m4: New file. + * Makefile.in: Add GDBSERVER_LIBS, gdb_proc_service_h, + proc-service.o, and thread-db.o. + (linux-low.o): Add USE_THREAD_DB. + * acconfig.h: Add HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T, + HAVE_LWPID_T, HAVE_PSADDR_T, and PRFPREGSET_T_BROKEN. + * aclocal.m4: Regenerated. + * config.in: Regenerated. + * configure: Regenerated. + * configure.in: Check for proc_service.h, sys/procfs.h, + thread_db.h, and linux/elf.h headrs. + Check for lwpid_t, psaddr_t, prgregset_t, prfpregset_t, and + PRFPREGSET_T_BROKEN. Introduce srv_thread_depfiles and USE_THREAD_DB. + Check for -lthread_db and thread support. + * configure.srv: Enable thread_db support for ARM, i386, MIPS, + PowerPC, and SuperH. + * i387-fp.c: Constify arguments. + * i387-fp.h: Likewise. + * inferiors.c: (struct thread_info): Renamed from + `struct inferior_info'. Remove PID member. Use generic inferior + list header. All uses updated. + (inferiors, signal_pid): Removed. + (all_threads): New variable. + (get_thread): Define. + (add_inferior_to_list): New function. + (for_each_inferior): New function. + (change_inferior_id): New function. + (add_inferior): Removed. + (remove_inferior): New function. + (add_thread): New function. + (free_one_thread): New function. + (remove_thread): New function. + (clear_inferiors): Use for_each_inferior and free_one_thread. + (find_inferior): New function. + (find_inferior_id): New function. + (inferior_target_data): Update argument type. + (set_inferior_target_data): Likewise. + (inferior_regcache_data): Likewise. + (set_inferior_regcache_data): Likewise. + * linux-low.c (linux_bp_reinsert): Remove. + (all_processes, stopping_threads, using_thrads) + (struct pending_signals, debug_threads, pid_of): New. + (inferior_pid): Replace with macro. + (struct inferior_linux_data): Remove. + (get_stop_pc, add_process): New functions. + (linux_create_inferior): Restore SIGRTMIN+1 before calling exec. + Use add_process and add_thread. + (linux_attach_lwp): New function, based on old linux_attach. Use + add_process and add_thread. Set stop_expected for new threads. + (linux_attach): New function. + (linux_kill_one_process): New function. + (linux_kill): Kill all LWPs. + (linux_thread_alive): Use find_inferior_id. + (check_removed_breakpoints, status_pending_p): New functions. + (linux_wait_for_process): Renamed from linux_wait_for_one_inferior. + Update. Use WNOHANG. Wait for cloned processes also. Update process + struct for the found process. + (linux_wait_for_event): New function. + (linux_wait): Use it. Support LWPs. + (send_sigstop, wait_for_sigstop, stop_all_processes) + (linux_resume_one_process, linux_continue_one_process): New functions. + (linux_resume): Support LWPs. + (REGISTER_RAW_SIZE): Remove. + (fetch_register): Use register_size instead. Call supply_register. + (usr_store_inferior_registers): Likewise. Call collect_register. + Fix recursive case. + (regsets_fetch_inferior_registers): Improve error message. + (regsets_store_inferior_registers): Add debugging. + (linux_look_up_symbols): Call thread_db_init if USE_THREAD_DB. + (unstopped_p, linux_signal_pid): New functions. + (linux_target_ops): Add linux_signal_pid. + (linux_init_signals): New function. + (initialize_low): Call it. Initialize using_threads. + * regcache.c (inferior_regcache_data): Add valid + flag. + (get_regcache): Fetch registers lazily. Add fetch argument + and update all callers. + (regcache_invalidate_one, regcache_invalidate): New + functions. + (new_register_cache): Renamed from create_register_cache. + Return the new regcache. + (free_register_cache): Change argument to a void *. + (registers_to_string, registers_from_string): Call get_regcache + with fetch flag set. + (register_data): Make static. Pass fetch flag to get_regcache. + (supply_register): Call get_regcache with fetch flag clear. + (collect_register): Call get_regcache with fetch flag set. + (collect_register_as_string): New function. + * regcache.h: Update. + * remote-utils.c (putpkt): Flush after debug output and use + stderr. + Handle input interrupts while waiting for an ACK. + (input_interrupt): Use signal_pid method. + (getpkt): Flush after debug output and use stderr. + (outreg): Use collect_register_as_string. + (new_thread_notify, dead_thread_notify): New functions. + (prepare_resume_reply): Check using_threads. Set thread_from_wait + and general_thread. + (look_up_one_symbol): Flush after debug output. + * server.c (step_thread, server_waiting): New variables. + (start_inferior): Don't use signal_pid. Update call to mywait. + (attach_inferior): Update call to mywait. + (handle_query): Handle qfThreadInfo and qsThreadInfo. + (main): Don't fetch/store registers explicitly. Use + set_desired_inferior. Support proposed ``Hs'' packet. Update + calls to mywait. + * server.h: Update. + (struct inferior_list, struct_inferior_list_entry): New. + * target.c (set_desired_inferior): New. + (write_inferior_memory): Constify. + (mywait): New function. + * target.h: Update. + (struct target_ops): New signal_pid method. + (mywait): Removed macro, added prototype. + + * linux-low.h (regset_func): Removed. + (regset_fill_func, regset_store_func): New. + (enum regset_type): New. + (struct regset_info): Add type field. Use new operation types. + (struct linux_target_ops): stop_pc renamed to get_pc. + Add decr_pc_after_break and breakpoint_at. + (get_process, get_thread_proess, get_process_thread) + (strut process_info, all_processes, linux_attach_lwp) + (thread_db_init): New. + + * linux-arm-low.c (arm_get_pc, arm_set_pc, + arm_breakpoint, arm_breakpoint_len, arm_breakpoint_at): New. + (the_low_target): Add new members. + * linux-i386-low.c (i386_store_gregset, i386_store_fpregset) + (i386_store_fpxregset): Constify. + (target_regsets): Add new kind identifier. + (i386_get_pc): Renamed from i386_stop_pc. Simplify. + (i386_set_pc): Add debugging. + (i386_breakpoint_at): New function. + (the_low_target): Add new members. + * linux-mips-low.c (mips_get_pc, mips_set_pc) + (mips_breakpoint, mips_breakpoint_len, mips_reinsert_addr) + (mips_breakpoint_at): New. + (the_low_target): Add new members. + * linux-ppc-low.c (ppc_get_pc, ppc_set_pc) + (ppc_breakpoint, ppc_breakpoint_len, ppc_breakpoint_at): New. + (the_low_target): Add new members. + * linux-sh-low.c (sh_get_pc, sh_set_pc) + (sh_breakpoint, sh_breakpoint_len, sh_breakpoint_at): New. + (the_low_target): Add new members. + * linux-x86-64-low.c (target_regsets): Add new kind + identifier. + +2002-05-15 Daniel Jacobowitz <drow@mvista.com> + + From Martin Pool <mbp@samba.org>: + * server.c (gdbserver_usage): New function. + (main): Call it. + +2002-05-14 Daniel Jacobowitz <drow@mvista.com> + + * mem-break.c (reinsert_breakpoint_by_bp): Correct typo + stop_at -> stop_pc. + +2002-05-04 Andrew Cagney <ac131313@redhat.com> + + * Makefile.in: Remove obsolete code. + +2002-04-24 Michal Ludvig <mludvig@suse.cz> + + * linux-low.c (regsets_fetch_inferior_registers), + (regsets_store_inferior_registers): Removed cast to int from + ptrace() calls. + * regcache.h: Added declaration of struct inferior_info. + +2002-04-20 Daniel Jacobowitz <drow@mvista.com> + + * inferiors.c (struct inferior_info): Add regcache_data. + (add_inferior): Call create_register_cache. + (clear_inferiors): Call free_register_cache. + (inferior_regcache_data, set_inferior_regcache_data): New functions. + * regcache.c (struct inferior_regcache_data): New. + (registers): Remove. + (get_regcache): New function. + (create_register_cache, free_register_cache): New functions. + (set_register_cache): Don't initialize the register cache here. + (registers_to_string, registers_from_string, register_data): Call + get_regcache. + * regcache.h: Add prototypes. + * server.h: Likewise. + +2002-04-20 Daniel Jacobowitz <drow@mvista.com> + + * mem-break.c: New file. + * mem-break.h: New file. + * Makefile.in: Add mem-break.o rule; update server.h + dependencies. + * inferiors.c (struct inferior_info): Add target_data + member. + (clear_inferiors): Free target_data member if set. + (inferior_target_data, set_inferior_target_data): New functions. + * linux-i386-low.c (i386_breakpoint, i386_breakpoint_len) + (i386_stop_pc, i386_set_pc): New. Add to the_low_target. + * linux-low.c (linux_bp_reinsert): New variable. + (struct inferior_linux_data): New. + (linux_create_inferior): Use set_inferior_target_data. + (linux_attach): Likewise. Call add_inferior. + (linux_wait_for_one_inferior): New function. + (linux_wait): Call it. + (linux_write_memory): Add const. + (initialize_low): Call set_breakpoint_data. + * linux-low.h (struct linux_target_ops): Add breakpoint + handling members. + * server.c (attach_inferior): Remove extra add_inferior + call. + * server.h: Include mem-break.h. Update inferior.c + prototypes. + * target.c (read_inferior_memory) + (write_inferior_memory): New functions. + * target.h (read_inferior_memory) + (write_inferior_memory): Change macros to prototypes. + (struct target_ops): Update comments. Add const to write_memory + definition. + +2002-04-11 Daniel Jacobowitz <drow@mvista.com> + + * linux-low.c (usr_store_inferior_registers): Support + registers which are allowed to fail to store. + * linux-low.h (linux_target_ops): Likewise. + * linux-ppc-low.c (ppc_regmap): Support FPSCR. + (ppc_cannot_store_register): FPSCR may not be storable. + +2002-04-09 Daniel Jacobowitz <drow@mvista.com> + + * server.h: Include <string.h> if HAVE_STRING_H. + * ChangeLog: Correct paths in last ChangeLog entry. + +2002-04-09 Daniel Jacobowitz <drow@mvista.com> + + * linux-low.h: Remove obsolete prototypes. + (struct linux_target_ops): New. + (extern the_low_target): New. + * linux-low.c (num_regs, regmap): Remove declarations. + (register_addr): Use the_low_target explicitly. + (fetch_register): Likewise. + (usr_fetch_inferior_registers): Likewise. + (usr_store_inferior_registers): Likewise. + * linux-arm-low.c (num_regs): Remove. + (arm_num_regs): Define. + (arm_regmap): Renamed from regmap, made static. + (arm_cannot_fetch_register): Renamed from cannot_fetch_register, + made static. + (arm_cannot_store_register): Renamed from cannot_store_register, + made static. + (the_low_target): New. + * linux-i386-low.c (num_regs): Remove. + (i386_num_regs): Define. + (i386_regmap): Renamed from regmap, made static. + (i386_cannot_fetch_register): Renamed from cannot_fetch_register, + made static. + (i386_cannot_store_register): Renamed from cannot_store_register, + made static. + (the_low_target): New. + * linux-ia64-low.c (num_regs): Remove. + (ia64_num_regs): Define. + (ia64_regmap): Renamed from regmap, made static. + (ia64_cannot_fetch_register): Renamed from cannot_fetch_register, + made static. + (ia64_cannot_store_register): Renamed from cannot_store_register, + made static. + (the_low_target): New. + * linux-m68k-low.c (num_regs): Remove. + (m68k_num_regs): Define. + (m68k_regmap): Renamed from regmap, made static. + (m68k_cannot_fetch_register): Renamed from cannot_fetch_register, + made static. + (m68k_cannot_store_register): Renamed from cannot_store_register, + made static. + (the_low_target): New. + * linux-mips-low.c (num_regs): Remove. + (mips_num_regs): Define. + (mips_regmap): Renamed from regmap, made static. + (mips_cannot_fetch_register): Renamed from cannot_fetch_register, + made static. + (mips_cannot_store_register): Renamed from cannot_store_register, + made static. + (the_low_target): New. + * linux-ppc-low.c (num_regs): Remove. + (ppc_num_regs): Define. + (ppc_regmap): Renamed from regmap, made static. + (ppc_cannot_fetch_register): Renamed from cannot_fetch_register, + made static. + (ppc_cannot_store_register): Renamed from cannot_store_register, + made static. + (the_low_target): New. + * linux-s390-low.c (num_regs): Remove. + (s390_num_regs): Define. + (s390_regmap): Renamed from regmap, made static. + (s390_cannot_fetch_register): Renamed from cannot_fetch_register, + made static. + (s390_cannot_store_register): Renamed from cannot_store_register, + made static. + (the_low_target): New. + * linux-sh-low.c (num_regs): Remove. + (sh_num_regs): Define. + (sh_regmap): Renamed from regmap, made static. + (sh_cannot_fetch_register): Renamed from cannot_fetch_register, + made static. + (sh_cannot_store_register): Renamed from cannot_store_register, + made static. + (the_low_target): New. + * linux-x86-64-low.c (x86_64_regmap): Renamed from regmap. + (the_low_target): New. + +2002-04-09 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in: Add stamp-h target. + * configure.in: Create stamp-h. + * configure: Regenerated. + +2002-04-09 Daniel Jacobowitz <drow@mvista.com> + + * inferiors.c: New file. + * target.c: New file. + * target.h: New file. + * Makefile.in: Add target.o and inferiors.o. Update + dependencies. + * linux-low.c (inferior_pid): New static variable, + moved from server.c. + (linux_create_inferior): Renamed from create_inferior. + Call add_inferior. Return 0 on success instead of a PID. + (linux_attach): Renamed from myattach. + (linux_kill): Renamed from kill_inferior. Call clear_inferiors (). + (linux_thread_alive): Renamed from mythread_alive. + (linux_wait): Renamed from mywait. Call clear_inferiors () if the + child dies. + (linux_resume): Renamed from myresume. Add missing ``return 0''. + (regsets_store_inferior_registers): Correct error message. + Add missing ``return 0''. + (linux_fetch_registers): Renamed from fetch_inferior_registers. + (linux_store_registers): Renamed from store_inferior_registers. + (linux_read_memory): Renamed from read_inferior_memory. + (linux_write_memory): Renamed from write_inferior_memory. + (linux_target_ops): New structure. + (initialize_low): Call set_target_ops (). + * remote-utils.c (unhexify): New function. + (hexify): New function. + (input_interrupt): Send signals to ``signal_pid''. + * server.c (inferior_pid): Remove. + (start_inferior): Update create_inferior call. + (attach_inferior): Call add_inferior. + (handle_query): New function. + (main): Call handle_query for `q' packets. + * server.h: Include "target.h". Remove obsolete prototypes. + Add prototypes for "inferiors.c", "target.c", hexify, and unhexify. + +2002-04-09 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in: Add WARN_CFLAGS. Update configury + dependencies. + * configure.in: Check for <string.h> + * configure: Regenerate. + * config.in: Regenerate. + * gdbreplay.c: Include needed system headers. + (remote_open): Remove strchr prototype. + * linux-low.h: Correct #ifdef to HAVE_LINUX_USRREGS. + * regcache.c (supply_register): Change buf argument to const void *. + (supply_register_by_name): Likewise. + (collect_register): Change buf argument to void *. + (collect_register_by_name): Likewise. + * regcache.h: Add missing prototypes. + * remote-utils.c: Include <arpa/inet.h> for inet_ntoa. + * server.c (handle_query): New function. + (attached): New static variable, moved out of main. + (main): Quiet longjmp clobber warnings. + * server.h: Add ATTR_NORETURN and ATTR_FORMAT. Update prototypes. + * utils.c (error): Remove NORETURN. + (fatal): Likewise. |