From: Eli Zaretskii Date: Mon, 13 Jan 2014 18:54:47 +0000 (+0200) Subject: Fix MinGW compilation errors in gdbserver/. X-Git-Tag: gdb-7.7-release~47 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d7a9f73cdc2ef4572521f3963a851b05de128ffd;p=thirdparty%2Fbinutils-gdb.git Fix MinGW compilation errors in gdbserver/. gdb/gdbserver/Makefile.in (INCLUDE_CFLAGS): Remove trailing slash from "-I$(srcdir)/../". Fixes MinGW compilation errors with old GCC versions. --- diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 81042f2e99a..b7435097162 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,8840 +1,8846 @@ -2014-01-01 Joel Brobecker - - * gdbserver.c (gdbserver_version): Set copyright year to 2014. - * gdbreplay.c (gdbreplay_version): Likewise. - -2013-12-18 Yufeng Zhang - - * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Set - iov.iov_len with the real length in use. - -2013-12-13 Joel Brobecker - - * 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 - - * 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 - - * notif.c (handle_notif_ack): Return 0 if no notification - matches. - -2013-11-20 Doug Evans - - * linux-low.c (linux_set_resume_request): Fix comment. - -2013-11-20 Doug Evans - - * linux-low.c (resume_status_pending_p): Tweak comment. - -2013-11-20 Walfred Tedeschi - - * 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 - - * configure: Rebuild. - * configure.ac: Don't check for stdlib.h. - * gdbreplay.c: Unconditionally include stdlib.h. - -2013-11-18 Tom Tromey - - * config.in: Rebuild. - * configure: Rebuild. - * configure.ac: Don't use AC_HEADER_DIRENT. - -2013-11-18 Tom Tromey - - * server.h: Don't check HAVE_STRING_H. - * gdbreplay.c: Don't check HAVE_STRING_H. - * configure: Rebuild. - -2013-11-18 Tom Tromey - - * Makefile.in (gdbreplay$(EXEEXT)): Depend on and link against - LIBGNU. - -2013-11-08 Tom Tromey - - * configure, config.in: Rebuild. - * configure.ac: Remove unused configury. - -2013-11-08 Tom Tromey - - * acinclude.m4: Include common.m4, codeset.m4. - * configure, config.in: Rebuild. - * configure.ac: Use GDB_AC_COMMON. - -2013-11-06 Andreas Arnez - - * 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 - - PR gdb/16014 - * tracepoint.c (download_tracepoint_1): Remove unnecessary double - call to sizeof. - -2013-10-02 Pedro Alves - - * 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 - - * 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 - - * configure.ac (AC_CHECK_HEADERS): Add sys/syscall.h - * config.in, configure: Regenerated. - -2013-09-18 Yao Qi - - PR server/15959 - * server.c (start_inferior): Clear 'resume_info'. - -2013-09-16 Jiong Wang - - * linux-tile-low.c (tile_regsets): Modify the size field to 64-bit - for each register. - -2013-09-16 Jiong Wang - - * configure.srv : Remove linux-osdata.o from and add - linux-tile-low.o to srv_tgtobj. - -2013-09-16 Will Newton - - * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Zero - out regs. - -2013-09-06 Pedro Alves - - * 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 - - * Makefile.in (linux-btrace.o, mips-linux-watch.o): Remove - explicit header dependencies and use $COMPILE/$POSTCOMPILE. - -2013-09-06 Pedro Alves - - * linux-amd64-ipa.c: Include tracepoint.h. - * linux-i386-ipa.c: Include tracepoint.h. - -2013-09-06 Ricard Wanderlof - - * linux-crisv32-low.c (PTRACE_GET_THREAD_AREA): New macro. - (ps_get_thread_area): New function. - -2013-09-06 Ricard Wanderlof - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * server.h (struct emit_ops, current_insn_ptr, emit_error): - Move ... - * ax.h: ... here. - -2013-09-05 Pedro Alves - - * 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 - - * 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 - - * 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 - - * server.h (_): Delete. - -2013-09-02 Pedro Alves - - * 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 - - * win32-low.c (child_xfer_memory): Check if ReadProcessMemory - or WriteProcessMemory complete successfully and handle - ERROR_PARTIAL_COPY error. - -2013-09-02 Pedro Alves - - * server.c (gdb_read_memory): Return -1 on traceframe memory read - error instead of EIO. - -2013-08-28 Jan Kratochvil - - PR server/15604 - * linux-low.c: Include filestuff.h. - (linux_create_inferior) : Call close_most_fds. - * lynx-low.c: Include filestuff.h. - (lynx_create_inferior) : Call close_most_fds. - * server.c: Include filestuff.h. - (main): Call notice_open_fds. - * spu-low.c: Include filestuff.h. - (spu_create_inferior) : Call close_most_fds. - -2013-08-22 Luis Machado - - * 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 - - * config.in: Renegerate. - -2013-08-19 Luis Machado - - * 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 - - * 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 - Daniel Jacobowitz - Yao Qi - - * Makefile.in (SFILES): Add common/mips-linux-watch.c. - (mips-linux-watch.o): New rule. - (mips_linux_watch_h): New variable. - * configure.srv : 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 - - * i386-low.c: Include break-common.h. - (enum target_hw_bp_type): Remove. - -2013-07-24 Luis Machado - - * 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 - - * 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 - - * 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 - - * Makefile.in (config.status): Depend on development.sh. - * acinclude.m4: Include libmcheck.m4. - * configure: Regenerate. - -2013-07-02 Mircea Gherzan - - * 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 - - * notif.h (notif_event): Add a dummy member to avoid compiler - errors. - -2013-07-01 Pedro Alves - - * hostio.c (HOSTIO_PATH_MAX): Define. - (require_filename, handle_open, handle_unlink, handle_readlink): - Use it. - -2013-07-01 Pedro Alves - - * 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 - - * event-loop.c: Don't check HAVE_UNISTD_H before including - . - * 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 - - * Makefile.in (version.c): Use version.in, not - common/version.in. - -2013-06-28 Mircea Gherzan - - * 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 - - 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 - - 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 - - * tracepoint.c (build_traceframe_info_xml): Output trace state - variables present in the trace buffer. - -2013-06-24 Tom Tromey - - * 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 - - * 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 - - * 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) : Extend - comment. - -2013-06-11 Pedro Alves - - * linux-low.c (initialize_regsets_info): Use xcalloc instead of - xmalloc. - -2013-06-11 Pedro Alves - - * linux-x86-low.c (initialize_low_arch): Call - init_registers_x32_avx_linux. - -2013-06-09 Jan Kratochvil - - 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 - - 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 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) : 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) : 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 - - * 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 - - 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 - - * 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 - - * server.c (handle_v_cont) : 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 - Pedro Alves - - * 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) : Set to - linux_supports_range_stepping. - * linux-low.h (struct linux_target_ops) - : New field. - (struct lwp_info) : New fields. - * linux-x86-low.c (x86_supports_range_stepping): New. - (the_low_target) : 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) : New fields. - (struct target_ops) : - New field. - (target_supports_range_stepping): New macro. - -2013-05-17 Joel Brobecker - - * lynx-low.c (lynx_resume): Fix null_ptid/minus_one_ptid - confusion in comment. - -2013-05-17 Joel Brobecker - - * 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 - - * i386-low.c (i386_length_and_rw_bits): Move the comment to - the right place. - -2013-05-16 Luis Machado - - * 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) : 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 - Andrew Jenner - - * 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 - - * tracepoint.c (cmd_qtinit): Call 'stop_tracing'. - -2013-04-25 Hui Zhu - - PR gdb/15186 - * ax.c (ax_printf): Add fflush. - -2013-04-22 Tom Tromey - - * 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 - - * 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 - - * linux-low.h (struct lwp_info) : Move under - the USE_THREAD_DB #ifdef. - -2013-04-16 Pedro Alves - - * 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) : Guard with #ifdef USE_THREAD_DB instead of - HAVE_THREAD_DB_H. - -2013-04-07 Jan Kratochvil - - * Makefile.in (install-only): Fix make install regression. - -2013-04-05 Jan Kratochvil - - 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 - - * linux-low.c (handle_extended_wait): Don't call - linux_enable_event_reporting. - -2013-03-15 Tony Theodore - - PR build/9098: - * Makefile.in (SHELL): Use @SHELL@. - -2013-03-14 Sergio Durigan Junior - - * tracepoint.c (cmd_qtv): Initialize `val' with zero, silencing - compiler warning. - -2013-03-13 Joel Brobecker - - * linux-low.c (linux_target_ops) [!HAVE_LINUX_BTRACE]: - Remove extraneous NULL element. - -2013-03-13 Yao Qi - - * tracepoint.c (traceframe_read_tsv): Look for the last matched - 'V' block in trace frame. - -2013-03-11 Markus Metzger - - * 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 - - * server.c (handle_qxfer): Preserve error message if -3 is - returned. - (qxfer): Document the -3 return value. - -2013-03-11 Markus Metzger - - * Makefile.in (SFILES): Add $(srcdir)/common/linux-btrace.c. - (linux_btrace_h): New variable. - (linux-btrace.o): New rule. - -2013-03-08 Stan Shebs - Hafiz Abid Qadeer - - * 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 - - * 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 - - PR server/15236 - * linux-low.c (linux_write_memory): Return early success if LEN is - zero. - -2013-03-05 Corinna Vinschen - - * configure.srv: Add x86_64-*-cygwin* as target. - -2013-02-28 Tom Tromey - - * configure.ac: Invoke AC_SYS_LARGEFILE. - * configure, config.in: Rebuild. - -2013-02-28 Corinna Vinschen - - * 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 - - * tracepoint.c (cmd_qtbuffer): Call phex_nz instead of - pulongest. - -2013-02-27 Jiong Wang - - * 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 - - * server.c (process_point_options): Print debug message when - debug_threads is true. - -2013-02-26 Yao Qi - - * tracepoint.c (cmd_qtbuffer): Don't set '\0' in OWN_BUF. - -2013-02-19 Pedro Alves - Kai Tietz - - PR gdb/15161 - - * server.c (handle_query) : Use unpack_varlen_hex - instead of strtoul to extract address from packet. - (process_serial_event) <'z'>: Likewise. - -2013-02-18 Yao Qi - - * linux-bfin-low.c (the_low_target): Use NULL instead of 0. - -2013-02-14 Pedro Alves - - Plug memory leak. - - * tracepoint.c (cmd_qtnotes): Free TRACING_USER_NAME, - TRACING_NOTES and TRACING_STOP_NOTE before clobbering. - -2013-02-14 Pedro Alves - - * tracepoint.c (cmd_qtdpsrc): Use savestring. - -2013-02-14 Pedro Alves - - * tracepoint.c (save_string): Delete. - (add_tracepoint_action): Use savestring instead of save_string. - -2013-02-12 Pedro Alves - - * linux-xtensa-low.c: Ditto. - * xtensa-xtregs.c: Ditto. - -2013-02-12 Sanimir Agovic - - * thread-db.c (thread_db_get_tls_address): NULL pointer check - thread_db. - -2013-02-07 Marcus Shawcroft - - * 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 - - * linux-aarch64-low.c (ps_get_thread_area): Replace - PTRACE_GET_THREAD_AREA with PTRACE_GETREGSET. - -2013-02-04 Jim MacArthur - Marcus Shawcroft - Nigel Stephens - Yufeng Zhang - - * 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 - - * 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 - - * event-loop.c: Include "queue.h". - (gdb_event_p): New typedef. - (struct gdb_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 - - * 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 - - * linux-low.c (linux_resume_one_lwp): Don't check - 'lwp->bp_reinsert != 0'. - -2013-01-07 Joel Brobecker - Pedro Alves - - * 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 - - * lynx-low.c (lynx_resume): Call perror_with_name if lynx_ptrace - sets errno. - -2013-01-07 Joel Brobecker - - * configure.srv (i[34567]86-*-lynxos*): Set srv_xmlfiles. - -2013-01-07 Joel Brobecker - - * configure.srv (powerpc-*-lynxos*): Set srv_xmlfiles. - -2013-01-07 Joel Brobecker - - * 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 - - * lynx-low.c (lynx_resume): Delete variable ret. - -2013-01-01 Joel Brobecker - - * gdbreplay.c (gdbreplay_version): Update copyright year. - * server.c (gdbserver_version): Likewise. - -2012-12-17 Joel Brobecker - - * lynx-low.c (lynx_wait_1): Add debug trace before adding - new thread. - -2012-12-17 Joel Brobecker - - * lynx-low.c (ptrace_request_to_str): Add handling for - PTRACE_GETTRACESIG. - -2012-12-17 Joel Brobecker - - * lynx-low.c (lynx_attach): Delete variable new_process. - -2012-12-17 Joel Brobecker - - * lynx-low.c (lynx_create_inferior): Delete variable - new_process. - -2012-12-17 Joel Brobecker - - * lynx-low.c (ptrace_request_to_str): Do not handle - PTRACE_GETTHREADLIST if this macro does not exist. - -2012-12-15 Yao Qi - - * Makefile.in (OBS): Add notif.o. - * notif.c, notif.h: New. - * server.c: Include "notif.h". - (struct vstop_notif) : Remove. - : 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 - - * 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 - - PR gdb/14917: - * server.h (current_insn_ptr, emit_error): Declare 'extern'. - -2012-11-28 Markus Metzger - - * configure.ac: Check for linux/perf_event.h. - * config.in: Regenerated. - * configure: Regenerated. - -2012-11-26 Maxime Villard - - * hostio.c (handle_readlink): Decrease buffer size - parameter passed to readlink by one byte. - -2012-11-26 Yao Qi - - * 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 - - * configure.ac (AC_CHECK_HEADERS): Add wait.h header. - * config.in: Regenerate. - * configure: Regenerate. - * linux-low.c: Use "gdb_stat.h" header instead of header. - Use "gdb_wait.h" header instead of header. - * lynx-low.c: Use "gdb_wait.h" header instead of header. - * remote-utils.c: Use "gdb_stat.h" header instead of - header. - * server.c: Remove HAVE_WAIT_H conditional. Use "gdb_wait.h" header - instead of header. - * spu-low.c: Use "gdb_wait.h" header instead of header. - -2012-11-13 Markus Metzger - - * Makefile.in: (INTERNAL_CFLAGS): Add -DGDBSERVER - (various make rules): Remove -DGDBSERVER - -2012-11-09 Yao Qi - - * 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 - - * server.c (handle_search_memory_1): Include access length in - warning message. - -2012-09-05 Michael Brandt - - * linux-crisv32-low.c: Fix compile errors. - -2012-09-04 Yao Qi - - * tracepoint.c (cmd_qtsv): Adjust debug message. - Don't check CUR_TPOINT. - -2012-08-28 Yao Qi - - * 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 - - * server.h: Remove declaration of 'xsnprintf'. - -2012-08-22 Keith Seitz - - * server.h: Include build-gnulib-gbserver/config.h. - * gdbreplay.c: Likewise. - -2012-08-08 Doug Evans - - * 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 - - * hostio.c (handle_pread): If pread fails, fall back to attempting - lseek/read. - (handle_pwrite): Likewise for pwrite. - -2012-08-01 Ulrich Weigand - - * 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 - - * 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 - - * 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 - - 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 - - * server.c (process_point_options): Stop at 'X' when parsing. - -2012-07-19 Michael Eager - - * 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 - - * gdbserver/linux-low.c (initialize_low): Call - linux_ptrace_init_warnings. - -2012-07-02 Doug Evans - - * mem-break.c (gdb_no_commands_at_breakpoint): Fix cast from - pointer to int. - -2012-07-02 Stan Shebs - - * 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 - - * server.c (start_inferior): Remove duplicated writes to fields - 'last_resume_kind' and 'last_status' of 'current_inferior'. - -2012-06-12 Yao Qi - Pedro Alves - - * linux-low.c (linux_set_resume_request): Simplify predicate. Add - comment. - * server.c (handle_v_cont): Extend comment. - -2012-06-11 Yao Qi - - * linux-low.c (linux_attach): Add 'static'. - -2012-06-06 Yao Qi - - * ax.c (gdb_eval_agent_expr): Print `top' in hex. - -2012-06-01 Jan Kratochvil - - Fix gcc -flto compilation warning. - * server.c (main): Make variable multi_mode and attach volatile. - -2012-05-30 Thiago Jung Bauermann - - * 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 - - * 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 - - * linux-low.c (linux_qxfer_libraries_svr4): Return -1 if R_DEBUG is -1. - -2012-05-24 Pedro Alves - - PR gdb/7205 - - Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. - -2012-05-24 Pedro Alves - - PR gdb/7205 - - Replace target_signal with gdb_signal throughout. - -2012-05-22 Maciej W. Rozycki - - * linux-low.c (linux_store_registers): Avoid the copying sequence - when no data has been retrieved by ptrace. - -2012-05-22 Will Deacon - - * 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 - - * 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 - Pedro Alves - - * 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 - - * 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 - - * 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 - - * configure: Regenerate. - -2012-04-19 Pedro Alves - - * 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 - - * 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 - - * Makefile.in (generated_files): New. - (server_h): Remove the explicit dependency on config.h, and depend - on $generated_files. - -2012-04-19 Pedro Alves - - * Makefile.in (INCGNU): Add -Ignulib. - -2012-04-19 Pedro Alves - - * 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 - - * config.in: Regenerate. - -2012-04-19 Pedro Alves - - * configure.ac: Remove AC_CHECK_DECLS check for memmem. - * server.h (memmem): Remove declaration. - * config.in: Regenerate. - * configure: Regenerate. - -2012-04-19 Yao Qi - - * Makefile.in (SFILES): Add common/vec.c. - (OBS): Add vec.o. - (vec.o): New rule. - -2012-04-19 Yao Qi - - * 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 - - * aclocal.m4: Regenerate. - * configure: Regenerate. - -2012-04-16 Yao Qi - - * tracepoint.c (cmd_qtstart): Download tracepoints even when they are - duplicated on address. - -2012-04-16 Yao Qi - - * tracepoint.c (COPY_FIELD_TO_BUF): New macro. - (struct tracepoint_action_ops) : 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 - - * tracepoint.c (download_tracepoints): Moved to ... - (cmd_qtstart): ... here. - -2012-04-14 Yao Qi - - * 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 - - Import gnulib module inttypes. - * aclocal.m4, config.in, configure: Regenerated. - -2012-04-14 Yao Qi - - * Makefile.in (maintainer-clean, realclean, distclean): Remove - Makefile and config.status at last. - -2012-04-13 Yao Qi - - * tracepoint.c: Include stdint.h unconditionally. - -2012-04-13 Thiago Jung Bauermann - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - - * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP. - -2012-04-05 Pedro Alves - - -Werror=strict-aliasing - - * spu-low.c (parse_spufs_run): Avoid dereferencing type-punned - pointer. - -2012-04-04 Pedro Alves - - * 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 - - * 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 - - * linux-low.c (regsets_store_inferior_registers) [__sparc__]: - Correct ptrace arguments. - -2012-03-28 Pedro Alves - - * 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) : 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 - - * server.c (handle_qxfer_libraries): Don't bail early if - the_target->qxfer_libraries_svr4 is not NULL. - -2012-03-26 Pedro Alves - - * linux-low.c (linux_qxfer_libraries_svr4): Fix pasto in comment. - -2012-03-23 Pedro Alves - - * 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 - - * 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 - - * 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 . - (struct siginfo): Remove forward declaration. - (struct linux_target_ops) : Use siginfo_t instead of - struct siginfo. - -2012-03-21 Mike Frysinger - - * .gitignore: Ignore more files. - -2012-03-19 Pedro Alves - Jan Kratochvil - - * 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 - - * tracepoint.c (install_tracepoint): Move duplicated tracepoint - handling to ... - (cmd_qtdp): ... here. - -2012-03-15 Yao Qi - - * tracepoint.c (struct tracepoint_action_ops): New. - (struct tracepoint_action) [!IN_PROCESS_AGENT] : 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 - - * linux-low.c (linux_attach_lwp_1): New variable buffer. Call - linux_ptrace_attach_warnings. - -2012-03-13 Jan Kratochvil - - * 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 - Pedro Alves - - 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 - - * 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 - Jan Kratochvil - - * linux-low.c (get_dynamic): Don't warn when PT_PHDR isn't found. - New comment why. - -2012-03-03 Yao Qi - - * tracepoint.c (tracepoint_look_up_symbols): Update call to - agent_look_up_symbols. - -2012-03-03 Yao Qi - - * 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 - - * 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 - - * linux-low.c (linux_supports_agent): New. - (linux_target_ops): Initialize field `supports_agent' with - linux_supports_agent. - * target.h (struct target_ops) : 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 - - * 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 - - * 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 - - * tracepoint.c (do_action_at_tracepoint): Write `stop_pc' in - debug log. - -2012-03-02 Yao Qi - - * tracepoint.c (collect_ust_data_at_tracepoint): Remove parameters - `stop_pc' and `tpoint'. Update caller. - -2012-03-01 Maciej W. Rozycki - - * 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 : 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 - Pedro Alves - - * linux-low.c: (linux_wait_1): Call unsuspend_all_lwps when - `step_over_finished' is true. - -2012-02-27 Pedro Alves - - * 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 - - 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 - - * mem-break.c (clear_gdb_breakpoint_conditions): Fix de-allocation - of conditions. - -2012-02-24 Maciej W. Rozycki - - * linux-mips-low.c (mips_regmap): Correct the index of $f9. - -2012-02-24 Luis Machado - - * 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) : 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 - - * 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 - - * tracepoint.c (cmd_bigqtbuffer): Rename as ... - (cmd_bigqtbuffer_circular): ... this. Only handle - 'QTBuffer:circular:'. - (handle_tracepoint_general_set): Adjust. - -2012-02-16 Yao Qi - - * 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 - - * server.c: (handle_monitor_command): Add a new parameter - `own_buf'. - (handle_query): Update caller. - -2012-02-09 Joel Brobecker - - * 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 - - 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 - - * tracepoint.c (cmd_qtminftpilen): Return 0 if there's no current - inferior. - -2012-01-27 Pedro Alves - - * 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 - - * 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 - - * server.c (main): Avoid yet another case of infinite loop while - detaching/killing after a longjmp. - -2012-01-20 Jan Kratochvil - - Code cleanup. - * linux-low.c (linux_wait_for_event_1): Use ptid_is_pid. - -2012-01-20 Ulrich Weigand - - * hostio.c (handle_readlink): New function. - (handle_vFile): Call it to handle "vFile:readlink" packets. - -2012-01-20 Pedro Alves - Ulrich Weigand - - * server.c (handle_v_requests): Only support vAttach and vRun to - start multiple processes when in extended protocol mode. - -2012-01-17 Pedro Alves - - * tracepoint.c (initialize_tracepoint): Use mmap instead of - memalign plus mprotect to allocate the scratch buffer. - -2012-01-13 Pedro Alves - - * server.c (attach_inferior): Clear `cont_thread'. - -2012-01-13 Pedro Alves - - * server.c (main): Avoid infinite loop while detaching/killing - after a longjmp. - -2012-01-09 Doug Evans - - * server.c (start_inferior): Set last_ptid in --wrapper case. - -2012-01-06 Yao Qi - - * tracepoint.c [IN_PROCESS_AGENT] (debug_threads): Macro - defined. - [IN_PROCESS_AGENT] (debug_agent): New global variable. - -2012-01-04 Yao Qi - - * tracepoint.c (cmd_qtdp): Print debug message - for static tracepoint. - -2012-01-04 Yao Qi - - * tracepoint.c (trace_vdebug): Differentiate debug message - between gdbserver and IPA. - -2012-01-03 Yao Qi - - * tracepoint.c (tracepoint_was_hit): Don't collect for - static tracepoint. - -2012-01-02 Joel Brobecker - - * terminal.h: Reformat copyright header. - -2012-01-02 Joel Brobecker - - * server.c (gdbserver_version): Update copyright year. - * gdbreplay.c (gdbreplay_version): Likewise. - -2011-12-18 Jan Kratochvil - - * linux-low.c (linux_create_inferior): Put empty if clause for write. - - Revert: - 2011-12-18 Hui Zhu - * linux-low.c (linux_create_inferior): Save return value to ret. - -2011-12-18 Hui Zhu - - * linux-low.c (linux_create_inferior): Save return value to ret. - -2011-12-16 Doug Evans - - * 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 - - * tracepoint.c: Include sys/syscall.h. - (gdb_ust_thread): Remove preprocessor conditional. - -2011-12-14 Pedro Alves - - * linux-low.c (linux_detach_one_lwp): Call - the_low_target.prepare_to_resume before detaching. - -2011-12-14 Yao Qi - - * tracepoint.c (gdb_ust_thread): Don't ignore return value - of write. - -2011-12-14 Yao Qi - - * i386-low.c (i386_low_stopped_data_address): Initialize local - variable `control'. - -2011-12-13 Pedro Alves - - 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 - - * tracepoint.c (trace_buffer_alloc): Replace magic numbers with - macros. - (upload_fast_traceframes, upload_fast_traceframes): Likewise. - -2011-12-08 Jan Kratochvil - - * 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 - - 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 - - * linux-low.c (fetch_register, store_register): Make code - consistent, fix formatting. - -2011-12-06 Maciej W. Rozycki - - * 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 - - * 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", , - and . - (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 - Jan Kratochvil - - * 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 - - * 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 - - * tracepoint.c (cmd_qtstatus): Use plongest instead of %llx. - -2011-11-17 Stan Shebs - - * 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 - Kwok Cheung Yeung - - * 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 - - * 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 - - * 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 - - * remote-utils.c (relocate_instruction): A comment fix. - -2011-11-07 Joel Brobecker - - * 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 - - * tracepoint.c (gdb_collect): Loop over tracepoints of same - address as TPOINT's. - -2011-11-02 Stan Shebs - - * 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 - - * tracepoint.c (cmd_qtstart): Remove unused local variables. - -2011-11-02 Yao Qi - - * target.h: Fix a typo in comment. - -2011-10-31 Pedro Alves - - * 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 - - * configure.ac: Check support for personality routine. - * configure: Regenerate. - * config.in: Likewise. - * linux-low.c: Include . - 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 - - * 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 - - * 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 - - * linux-arm-low.c: Include . - (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 - - * 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 - - * linux-x86-low.c (i386_emit_prologue): Save %ebx. - (i386_emit_epilogue): Restore %ebx. - -2011-08-31 Jie Zhang - - * 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 - - * 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 - - * configure.srv: Add linux-procfs.o dependencies. - -2011-08-14 Yao Qi - - * target.h (struct target_ops): Fix indent. - * win32-low.c (win32_target_ops): Fix comment. - -2011-08-14 Andrew Jenner - Yao Qi - - * 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 - Yao Qi - - * 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 - - * win32-low.c: Include . - -2011-07-22 Pedro Alves - - * 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 - - * 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 - - * tracepoint.c (tracepoint_look_up_symbols): Return upon the first - symbol error. - -2011-05-31 Pedro Alves - - * 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 - - * 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 - - * linux-i386-ipa.c (supply_static_tracepoint_registers): Pass - __FILE__ and __LINE__ to internal_error. - -2011-05-13 Doug Evans - - * 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 - - * 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 - - * thread-db.c (thread_db_handle_monitor_command): Handle elided path. - -2011-05-04 Doug Evans - - * 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 - - * README: Don't mention xscale*-*-linux*. - * configure.srv (xscale*-*-linux*): Don't handle target. - -2011-04-27 Nathan Froyd - - * 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 - - * 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 - - * 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 - - * win32-low.c (handle_load_dll): Remove duplicate "the". - -2011-04-07 Pierre Muller - - 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 - - * gdbserver/server.h (Macro _): Define it if not available. - -2011-03-14 Michael Snyder - - * hostio.c (handle_close): Remove unnecessary null test. - -2011-03-10 Joel Brobecker - - * Makefile.in (maintainer-clean realclean distclean): Remove - "make ... subdir_do" command. - -2011-03-10 Michael Snyder - - * tracepoint.c (tracepoint_finish_step): Fix loop variable. - - * server.c (handle_v_run): Free alloced buffer on early return. - -2011-03-09 Yao Qi - - Revert: - 2011-03-04 Yao Qi - - * Makefile.in: Remove GNU make feature --directory. - - 2011-03-05 Yao Qi - - * 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 - - * configure.ac: Call AC_PROG_RANLIB. - * Makefile.in: Remove signals.o from OBS. Link libcommon.a. - * configure: Regenerate. - -2011-03-07 Jan Kratochvil - - * remote-utils.c (putpkt_binary_1): Calculate BUF2 size dynamically. - -2011-03-06 Yao Qi - - * Makefile.in (REQUIRED_SUBDIRS): Remove $(LIBCOMMON_DIR). - -2011-03-05 Yao Qi - - * 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 - - * Makefile.in: Remove GNU make feature --directory. - -2011-03-04 Michael Snyder - - * server.c (queue_stop_reply): Call xmalloc not malloc. - -2011-03-02 Michael Snyder - - * linux-arm-low.c (arm_arch_setup): Replace malloc with xmalloc. - -2011-02-28 Michael Snyder - - * 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 - - * hostio.c (require_data): Free *data, not data. - -2011-02-28 Jan Kratochvil - - * hostio.c (require_data): Use free, not xfree. - -2011-02-27 Michael Snyder - - * server.c (handle_query): Discard unused value. - - * hostio.c (require_data): Free malloc memory before returning - error. - -2011-02-26 Michael Snyder - - * linux-low.c (list_threads): Call closedir for dirent. - -2011-02-27 Michael Snyder - - * 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 - - * utils.c (decimal2str): Eliminate dead code and dead param. - (pulongest): Drop dead param from call to decimal2str. - (plongest): Ditto. - -2011-02-24 Joel Brobecker - - Revert the following patch (not approved yet): - 2011-02-21 Hui Zhu - * tracepoint.c (tp_printf): New function. - (eval_agent_expr): Handle gdb_agent_op_printf. - -2011-02-21 Hui Zhu - - * tracepoint.c (tp_printf): New function. - (eval_agent_expr): Handle gdb_agent_op_printf. - -2011-02-18 Tom Tromey - - * 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 - - * tracepoint.c (enum gdb_agent_op) : New constants. - (gdb_agent_op_names): Add pick and roll. - (eval_agent_expr) : New - cases. - -2011-02-15 Jan Kratochvil - - * aclocal.m4: Regenerated with aclocal-1.11.1. - -2011-02-14 Pedro Alves - - * 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 - - * configure.ac: Call AC_PROG_RANLIB. - * Makefile.in: Remove signals.o from OBS. Link libcommon.a. - * configure: Regenerate. - -2011-02-07 Pedro Alves - - * 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 - - * 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 - - * i387-fp.c (i387_xsave_to_cache): Make passing NULL as register - buffer explicit. - -2011-01-25 Pedro Alves - - * 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 - - * 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 - - * gdbserver/configure.ac, gdbserver/gdbserver.1: Copyright year - update. - -2011-01-01 Joel Brobecker - - * server.c (gdbserver_version): Update copyright year in version - output. - * gdbreplay.c (gdbreplay_version): Ditto. - -2010-12-29 Jie Zhang - - * 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 - - * .gitignore: New file. - -2010-11-16 Mike Frysinger - - * linux-low.c (linux_tracefork_child): Add char* cast to arg. - -2010-10-22 Jie Zhang - - * 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 - - * Makefile.in (uninstall): Use $(DESTDIR). - -2010-09-24 Pedro Alves - - 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 - - * lynx-i386-low.c: New file. - * configure.srv: Add handling of i[34567]86-*-lynxos* targets. - -2010-09-13 Joel Brobecker - - * 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 - - * lynx-low.c, lynx-ppc-loc.c: Include instead of - - -2010-09-09 Nathan Sidwell - - * configure.ac: Add --enable-inprocess-agent option. - * configure: Rebuilt. - -2010-09-06 Yao Qi - - * 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 - - * linux-low.c (maybe_move_out_of_jump_pad): Restore current_inferior - on return. - -2010-09-06 Jan Kratochvil - - * target.c (mywait) : Fix to use INTEGER. - -2010-09-06 Pedro Alves - - * Makefile.in (install-only): Replace $IPA_DEPFILES with - "$(IPA_DEPFILES)". - -2010-09-01 Joel Brobecker - - * 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 - - * 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 - - * 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 - - * Makefile.in (memmem.o): Build with -Wno-error. - -2010-09-01 Joel Brobecker - - * 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 - - * 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 - - * 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 - - * 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 - - * event-loop.c (event_handle_func): Adjust to use gdb_fildes_t. - (struct gdb_event) : Change type to gdb_fildes_t. - (struct file_handler) : 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 - - * configure.ac (build_warnings): Add -Wno-char-subscripts. - * configure: Regenerate. - -2010-08-27 Pedro Alves - - * 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 - - * 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 - - * 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 - - * mem-break.c [HAVE_MALLOC_H]: Include malloc.h. - -2010-08-26 Pedro Alves - - * 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 - - * linux-low.c (linux_wait_1): Move non-debugging code out of - `debug_threads' control. - -2010-08-25 Pedro Alves - - * 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 - - 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 - - * linux-low.h (linux_thread_area): Delete declaration. - -2010-08-11 Thomas Schwinge - - * linux-low.c (linux_wait_1): Correctly return the ptid of the child - after its termination. - -2010-08-09 Pedro Alves - - * 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 - - * 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 - - * 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 - - * server.c (handle_target_event): Use target_signal_to_host for - resume_info.sig initialization. - * target.h (struct thread_resume) : New comment. - -2010-07-20 Ozkan Sezer - - * server.c (handle_query): strcpy() the returned string from paddress() - instead of sprintf(). - * utils.c (paddress): Return phex_nz(). - -2010-07-07 Joel Brobecker - - * server.c (handle_v_cont): Call mourn_inferior if process - just exited. - (myresume): Likewise. - -2010-07-01 Pedro Alves - - 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) : New. - (struct tracepoint) : 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. - : 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 - Pedro Alves - - * 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 - - * tracepoint.c (condition_true_at_tracepoint): Don't run compiled - conditions in gdbserver. - -2010-06-19 Ulrich Weigand - - * spu-low.c (spu_read_memory): Wrap around local store limit. - (spu_write_memory): Likewise. - -2010-06-15 Pedro Alves - - * 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 - Pedro Alves - - 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 - - * 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 - Stan Shebs - - * 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) : New fields. - (struct lwp_info) : 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) : 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) : 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) : 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) : New field `type'. - : Only include in - GDBserver. - - : 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) : 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 - - * server.c (handle_query) : Do two passes over the - qSupported string to avoid nesting strtok. - -2010-05-28 Jan Kratochvil - - * 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 - - * linux-low.c (linux_core_of_thread): Fix crash on invalid CONTENT. - New comment. - -2010-05-26 Ozkan Sezer - - * 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 - - * config.h: Regenerate. - -2010-05-19 Maxim Kuvyrkov - - * 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 - - * linux-m68k-low.c: Include - (ps_get_thread_area): Implement. - -2010-05-03 Doug Evans - - * 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 - - * 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) : 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) : 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 - - * 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 - - * 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 - - * README: Use consistent `GDB' and `GDBserver' spellings. - -2010-05-02 Pedro Alves - - * 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) : 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 - - * linux-low.c (linux_enable_event_reporting): New. - (linux_wait_for_event_1, handle_extended_wait): Use it. - -2010-04-30 Pedro Alves - - * 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 - - * 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 - - * server.c (start_inferior): Print inferior argv if --debug. - -2010-04-21 Aleksandar Ristovski - - * 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 - - * 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 - - * configure.srv (x86_64-*-mingw*): New configuration for Windows - 64-bit executables. - -2010-04-19 Pierre Muller - - * 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 - - * 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 - - * configure.srv (srv_amd64_regobj): Replace `x86-64-avx.o' by - `amd64-avx.o'. - -2010-04-17 Pierre Muller - - * 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 - - * linux-x86-low.c (xmltarget_amd64_linux_no_xml): Define only - if __x86_64__ is defined. - -2010-04-16 Pierre Muller - - * configure: Regenerate. - -2010-04-16 Pierre Muller - - * 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 - - * 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 - - * server.h (buffer_xml_printf): Remove redundant `;'. - -2010-04-12 Pedro Alves - - * 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 - - * linux-x86-low.c (x86_linux_update_xmltarget): Avoid unused - variable warning on Linux/x86-64. - -2010-04-11 Pedro Alves - - 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) : New field. - : Add comment. - : 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) : 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) : - 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 - - * regcache.c (realloc_register_cache): Invalidate inferior's - regcache before recreating it. - -2010-04-09 Pedro Alves - - * tracepoint.c (cmd_qtstatus): Report trace buffer circularity. - -2010-04-09 Stan Shebs - Pedro Alves - - * server.h (LONGEST): New. - (struct thread_info) : 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) : - 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) : 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 - - * 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 - - * 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 . - (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 . - (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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * server.c (handle_query): Assign, not compare. - -2010-03-24 Pedro Alves - - 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 - - * server.c (crc32): New function. - (handle_query): Add handling for 'qCRC:' request. - -2010-03-23 Pedro Alves - - * 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 - - * server.h (internal_error): Declare. - (gdb_assert, ASSERT_FUNCTION, gdb_assert_fail): Define. - * utils.c (internal_error): New function. - -2010-03-15 Andreas Schwab - - * configure.srv: Fix typo setting srv_regobj. - -2010-03-15 Pedro Alves - - * linux-low.c (fetch_register): Avoid passing a non string literal - format to `error'. - (usr_store_inferior_registers): Ditto. - -2010-03-14 Pedro Alves - - * linux-low.c (linux_write_memory): Bail out early if peeking - memory failed. - -2010-03-14 Pedro Alves - - * 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 - - * linux-low.c (linux_wait_for_lwp): Fetch the regcache after - switching the current inferior, not before. - -2010-03-01 H.J. Lu - - * 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 - - * configure.ac: Check for libdl. If it is not available link against - static libthread_db. - * configure: Regenerate. - -2010-02-22 Pedro Alves - - 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 - - * linux-low.c (linux_supports_tracefork_flag): Document. - (linux_look_up_symbols): Add comment. - -2010-02-03 H.J. Lu - - * regcache.c (supply_register): Clear regcache if buf is NULL. - -2010-02-02 Nicolas Roche - Joel Brobecker - - * 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 - - * linux-arm-low.c (thumb_breakpoint_len): Delete. - (thumb2_breakpoint): New. - (arm_breakpoint_at): Check for Thumb-2 breakpoints. - -2010-01-29 Daniel Jacobowitz - - * 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 - - * linux-ppc-low.c (ppc_arch_setup): Adjust to regcache changes. - -2010-01-21 Jan Kratochvil - - * linux-s390-low.c (s390_collect_ptrace_register) - (s390_supply_ptrace_register): Adjust it for the new regcache parameter. - -2010-01-21 Doug Evans - - * 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 - - * proc-service.c (ps_lgetregs): Don't refetch registers from the - target. - -2010-01-21 Pedro Alves - - * spu-low.c (spu_fetch_registers, spu_store_registers): Change - prototype to take a regcache. Adjust. - -2010-01-20 Pedro Alves - - * 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) : - 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) : Change prototype to take a regcache. - -2010-01-20 Doug Evans - - * 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 - - * 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 - - * 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 . - (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 - - * server.c (gdbserver_version): Update copyright year to 2010. - * gdbreplay.c (gdbreplay_version): Likewise. - -2009-12-28 Doug Evans - - * linux-low.c: Delete inclusion of ansidecl.h, elf/common.h, - elf/external.h. Include instead but only if necessary. - -2009-12-28 Pedro Alves - - * 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 - - * 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 - - * 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 - - * linux-low.c (linux_read_memory): Fix argument to read. - -2009-11-26 Pedro Alves - - * 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 - - * 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 - - * 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 - - * m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization. - -2009-11-17 Nathan Sidwell - Vladimir Prus - - * 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 - - * 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 - - * thread-db.c (thread_db_free): Fix typo. - -2009-11-11 Paul Pluzhnikov - - PR gdb/10838 - * thread-db.c (thread_db_free): Call td_ta_clear_event. - -2009-11-03 Nathan Sidwell - - * 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 - - PR gdb/10783 - - * server.c (handle_search_memory_1): Correct read_addr initialization - in loop for searching subsequent chunks. - -2009-10-29 Paul Pluzhnikov - - * 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 - - 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 - - * proc-service.c (ps_lgetregs): Formatting. - -2009-10-08 Paul Pluzhnikov - - * 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 - - * spu-low.c (spu_kill): Wait for inferior to terminate. - Call clear_inferiors. - (spu_detach): Call clear_inferiors. - -2009-08-22 Ralf Wildenhues - - * aclocal.m4: Regenerate. - * config.in: Likewise. - * configure: Likewise. - -2009-07-31 Ulrich Weigand - - * 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 - - * linux-low.c: Include and . - (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 - - * 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 - - * Makefile.in (datarootdir): New variable. - -2009-07-28 Daniel Jacobowitz - - * 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 - - * linux-low.c (linux_kill_one_lwp): Adjust kernel workaround to skip - the main thread again. - -2009-07-06 Aleksandar Ristovski - - 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 - - * configure.srv (i[34567]86-*-mingw32ce*): Add i386-low.o to - srv_tgtobj. - -2009-07-04 Danny Backx - Pedro Alves - - * 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 - Pierre Muller - - 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 - - * 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 - - * server.c (handle_v_kill): Pass signal_pid to - kill_inferior if multi_process is zero. - -2009-06-23 Aleksandar Ristovski - - * 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 - - * 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 - Pedro Alves - - * target.h (struct target_ops) : 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 - - 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 - - * 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 - - * 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 - - 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 - - * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak. - (regsets_store_inferior_registers): Ditto. - -2009-05-06 Pedro Alves - - 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 - - * 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 - - * configure.srv: Add x86 Windows CE target. - -2009-04-03 Ulrich Weigand - - * 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 - - * 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 - - * linux-low.c (usr_store_inferior_registers): Declare local `pid' - variable. - -2009-04-01 Pedro Alves - - 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) : Change type to ptid_t. - (struct target_waitstatus) : Ditto. - (struct target_ops) : Add `pid' argument. Change - return type to int. - (struct target_ops) : Add `pid' argument. - (struct target_ops) : Change pid's type to ptid_t. - (struct target_ops) : 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) : 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) : 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) : Use ptid_get_pid. - : 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) : 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 - - 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) : Add `options' argument. - : 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 - - Decouple target code from remote protocol. - - * target.h (enum target_waitkind): New. - (struct target_waitstatus): New. - (struct target_ops) : 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 - - * 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 - - * 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 - - * server.c (main): After the inferior having exited, call - remote_close before exiting gdbserver. - -2009-03-25 Thiago Jung Bauermann - - 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 - - * server.c (handle_query) Whitespace and formatting. - -2009-03-22 Pedro Alves - - * 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 - - * inferiors.c (find_inferior): Make it safe for the callback - function to delete the currently iterated inferior. - -2009-03-22 Pedro Alves - - * Makefile.in (linuw_low_h): Move higher. - (thread-db.o): Depend on $(linux_low_h). - -2009-03-17 Pedro Alves - - 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 - - * server.c (handle_query): Handle "qAttached". - -2009-03-13 Nathan Sidwell - - * Makefile.in, hostio-errno.c, errno.c, xtensa-xtregs.c: Change to - GPLv3, update license URL. - -2009-03-01 Doug Evans - - * 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 - - * remote-utils.c (getpkt): Also generate remote-debug - information if noack_mode is set. - -2009-02-06 Pedro Alves - - * server.c (handle_query): Report qXfer:siginfo:read and - qXfer:siginfo:write as supported and handle them. - * target.h (struct target_ops) : New field. - * linux-low.c (linux_xfer_siginfo): New. - (linux_target_ops): Set it. - -2009-01-26 Pedro Alves - - * server.c (gdbserver_usage): Mention --remote-debug. - (main): Accept '--remote-debug' switch. - -2009-01-18 Doug Evans - - * 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 - - * 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 - - * win32-low.c (get_child_debug_event): Issue a final DBG_CONTINUE - when handling a EXIT_PROCESS_DEBUG_EVENT. - -2009-01-06 Joel Brobecker - - * gdbreplay.c (gdbreplay_version): Update copyright year. - * server.c (gdbserver_version): Likewise. - -2009-01-05 Doug Evans - - * linux-low.c (linux_attach_lwp): Add some comments/fixmes. - (handle_extended_wait): Improve comment. - -2008-12-13 Doug Evans - - * 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 - - * 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 - - * 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 - - * 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 - - * Makefile.in (VERSION,DIST,LINT,LINTFLAGS): Delete, unused. - -2008-11-24 Daniel Jacobowitz - - * server.c (handle_v_run): Always use the supplied argument list. - -2008-11-19 Bob Wilson - - * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4. - (xtensa_regmap_table): Add entry for scompare1. - -2008-11-18 Thiago Jung Bauermann - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.srv: Merge MIPS and MIPS64. - -2008-08-24 Maciej W. Rozycki - - * Makefile.in (uninstall): Apply $(EXEEXT) too. - -2008-08-18 Luis Machado - - * 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 - - * 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 - - * Makefile.in (GDBREPLAY_OBS): New variable. - (gdbreplay$(EXEEXT)): Use it to avoid unportable $^. - -2008-08-05 Ulrich Weigand - Daniel Jacobowitz - - * linux-low.c (linux_resume_one_process): Ignore ESRCH. - (usr_store_inferior_registers): Likewise. - (regsets_store_inferior_registers): Likewise. - -2008-07-31 Rolf Jansen - Pedro Alves - - * 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 - - * linux-low.c (sys/dir.h, sys/user.h): Remove includes. - (linux_write_memory): Remove declaration of errno. - -2008-07-12 Ulrich Weigand - - * linux-low.c (handle_extended_wait): Do not use "status" - variable uninitialized. - -2008-07-07 Pedro Alves - - * server.c (handle_v_attach): Inhibit reporting dll changes. - -2008-06-27 Pedro Alves - - * 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 - - * server.c (gdbserver_usage): Mention --version. - -2008-06-06 Daniel Jacobowitz - - * Makefile.in (gdbreplay.o): New rule. - -2008-06-06 Joseph Myers - - * gdbreplay.c (gdbreplay_version): Say gdbreplay in version - message, not gdbserver. - -2008-06-05 Vladimir Prus - Nathan Sidwell - Joseph Myers - - * 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 - - * 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 - - * linux-ppc-low.c (ppc_collect_ptrace_register): Clear buffer. - -2008-05-09 Doug Evans - - * 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 - - * 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 - - * 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 - - * acinclude.m4: Add override.m4. - * configure: Regenerate. - -2008-04-21 Ulrich Weigand - - * linux-ppc-low.c (ppc_arch_setup): Reset ppc_hwcap after the - initial call to init_register_ppc64. - -2008-04-21 Ulrich Weigand - - * 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 - - * 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 . - (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 - - * 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 - - * 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 - - * server.c (handle_query): Never return "unsupported" for - qXfer:features:read queries. - -2008-03-27 Ulrich Weigand - - * server.c (get_features_xml): Fix inverted condition. - (handle_query): Always support qXfer:feature:read. - -2008-03-10 Daniel Jacobowitz - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * server.c (handle_query): Correct length check. - -2008-02-14 Pedro Alves - - * 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 - - * server.c (monitor_show_help): Add "exit". - -2008-02-11 Maxim Grigoriev - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * server.c (myresume): Add own_buf argument. - (main): Update calls. - -2007-12-06 Daniel Jacobowitz - - * 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 - - * remote-utils.c (readchar): Allow binary data in received messages. - -2007-12-03 Pedro Alves - - * 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 - - * server.c (main): Don't report dll events on the initial - connection on attaches. - -2007-12-03 Pedro Alves - - * server.c (main): Relax numerical bases supported for the pid of - the --attach command line argument. - -2007-12-03 Pedro Alves - - * win32-low.c (win32_attach): Call OpenProcess before - DebugActiveProcess, not after. Add last error output to error - call. - -2007-12-03 Pedro Alves - - * 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 - - * 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 - - * 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 - - * win32-low.c (win32_wait): Don't read from the inferior when it - has already exited. - -2007-12-02 Pedro Alves - - * 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 - - * hostio.c: Correct copyright year. - -2007-11-30 Daniel Jacobowitz - - * 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 - - * linux-low.c: Include . - -2007-11-01 Daniel Jacobowitz - - * 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 - - * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh. - -2007-10-24 Daniel Jacobowitz - - * linux-low.c (handle_extended_wait): Handle unexpected signals. - -2007-10-23 Daniel Jacobowitz - - * 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 - - * 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 - - * 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 - - * linux-low.c (linux_wait_for_event): Do not pass signals while - single-stepping. - -2007-09-03 Pedro Alves - - * 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 - - * win32-low.c (handle_load_dll): Don't use toolhelp when waiting. - -2007-08-23 Joel Brobecker - - * configure.ac: Switch license to GPLv3. - -2007-08-01 Michael Snyder - - * remote-utils.c (putpkt_binary): Memory leak, free buf2. - -2007-07-31 Pedro Alves - - * 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 - - * server.c (main): Check for inferior exit before main loop. - -2007-07-18 Pedro Alves - - * remote-utils.c (remote_open): Set SO_KEEPALIVE on remote_desc - instead of on tmp_desc. - -2007-07-17 Pedro Alves - Daniel Jacobowitz - - * 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 - - * configure.srv: Set srv_linux_regsets for sh*-*-linux*. - * linux-sh-low.c (sh_fill_gregset, target_regsets): New. - -2007-07-08 Pedro Alves - - * win32-low.c (handle_output_debug_string): Ignore event if not - waiting. - -2007-07-08 Pedro Alves - - * win32-arm-low.c (arm_wince_breakpoint): Fix typo. - -2007-07-03 Daniel Jacobowitz - - * remote-utils.c (look_up_one_symbol): Handle 'm' packets. - -2007-07-02 Daniel Jacobowitz - - * 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 - - * 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 - - * linux-low.c (linux_create_inferior): Try execv before execvp. - * spu-low.c (spu_create_inferior): Likewise. - -2007-06-13 Mike Frysinger - - * linux-low.c (linux_create_inferior): Change execv to execvp. - * spu-low.c (spu_create_inferior): Likewies. - -2007-06-13 Daniel Jacobowitz - - * 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 - Markus Deuling - - * 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 - - * spu-low.c (spu_proc_xfer_spu): Do not return failure when - accessing non-seekable spufs files. - -2007-05-16 Markus Deuling - - * server.c (handle_query): Add reply for qC packet. - -2007-05-10 Pedro Alves - Leo Zayas - - * 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 - - * 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 - - * linux-low.c (linux_detach): Change return type to int. Return 0. - * spu-low.c (spu_detach): Likewise. - -2007-05-10 Pedro Alves - - * 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 - - * win32-low.c (win32-attach): Fix return value. - * target.h (target_ops): Describe ATTACH return values. - -2007-05-10 Pedro Alves - - * 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 - - * win32-low.c (win32_wait): Don't use WSTOPSIG. - -2007-03-30 Pedro Alves - - * win32-low.c: Commit leftover changes from 2007-03-29. - -2007-03-30 Daniel Jacobowitz - - * 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 - - * 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 - - * configure.srv (arm*-*-mingw32ce*): Move near the other - arm targets. - -2007-03-29 Pedro Alves - - * 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 - - * win32-low.c: Rename typedef thread_info to - win32_thread_info throughout. - -2007-03-28 Pedro Alves - - * 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 - - * 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 - - * server.c (main): Correct strtoul check. - -2007-03-27 Jon Ringle - - * linux-low.c: Check __ARCH_HAS_MMU__ also. - -2007-03-27 Brooks Moses - - * Makefile.in: Add dummy "pdf" and "install-pdf" targets. - -2007-02-27 Daniel Jacobowitz - - * terminal.h: Check HAVE_SGTTY_H. - -2007-02-27 Mat Hostetter - - * remote-utils.c (remote_open): Print out the assigned port number. - -2007-02-26 Daniel Jacobowitz - - * 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 - - * Makefile.in (EXEEXT): New. - (clean): Use $(EXEEXT). - -2007-02-25 Pedro Alves - - * 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 - - * 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 - - * spu-low.c (spu_arch_string): New. - (spu_target_ops): Add spu_arch_string. - -2007-02-16 Daniel Jacobowitz - - * 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 - - * 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 - - * remote-utils.c [USE_WIN32API] (read, write): Define. - (putpkt_binary, input_interrupt, readchar, getpkt): Use read and - write. - -2007-01-09 Daniel Jacobowitz - - * 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 - Daniel Jacobowitz - - * 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 - Daniel Jacobowitz - - * 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 - - * README: Update supported targets. - -2006-11-28 Daniel Jacobowitz - - * 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 - - * 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 - - * configure.ac: Correct td_thr_tls_get_addr test. - * configure: Regenerated. - -2006-11-16 Daniel Jacobowitz - - * 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 - - * server.c (handle_query): Correct error handling for read_auxv. - -2005-10-19 Ulrich Weigand - - * 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 - - * 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 - - * 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 - - * remote-utils.c (try_rle): New function. - (putpkt_binary): Use it. - -2006-08-19 Daniel Jacobowitz - - * 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 - - * 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 - - * server.c (handle_query): Correct qPart to qXfer. - -2006-07-22 Daniel Jacobowitz - - * 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 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 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 for mingw32. - (remote_close, remote_open): Adjust for Winsock support. - * configure, config.in: Regenerated. - -2006-07-12 Daniel Jacobowitz - - * 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 - - * 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 - - * server.c (handle_query): Handle qSupported. - -2006-05-30 Daniel Jacobowitz - - * 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 - - * 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 - - * 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 - - * linux-mips-low.c: Include 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 - - * 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 - - * remote-utils.c (prepare_resume_reply): Move declaration - of gdb_id_from_wait to the top of the block. - -2006-02-15 Daniel Jacobowitz - - * linux-low.c (regsets_store_inferior_registers): Read the regset - from the target before filling it. - -2006-02-08 Daniel Jacobowitz - - * server.c (attach_inferior): Return SIGTRAP for a successful - attach. - -2006-02-01 Daniel Jacobowitz - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * acinclude.m4: Correct quoting. - * aclocal.m4: Regenerated. - - Suggested by SZOKOVACS Robert : - * 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 - - * server.h (error, fatal, warning): Add ATTR_FORMAT. - -2005-07-13 Daniel Jacobowitz - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * configure.ac: Simplify and improve check for socklen_t. - * configure, config.in: Regenerate. - -2005-06-12 Daniel Jacobowitz - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * proc-service.c (ps_lgetregs): Search all_processes instead of - all_threads. - -2005-05-04 Daniel Jacobowitz - - * 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 - - * 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 - - * Makefile.in (stamp-h): Set CONFIG_HEADERS explicitly. - -2005-03-03 Daniel Jacobowitz - - * 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 - - * acinclude.m4: Include bfd/bfd.m4 directly. - * configure.ac: Use AC_ARG_PROGRAM. Suggested by Aron Griffis - . - * aclocal.m4, configure: Regenerated. - -2005-01-07 Andrew Cagney - - * configure.ac: Rename configure.in, require autoconf 2.59. - * configure: Re-generate. - -2004-12-08 Daniel Jacobowitz - - * 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 - - * 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 - - * 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 - - * linux-i386-low.c (ps_get_thread_area): New. - * linux-x86-64-low.c (ps_get_thread_area): New. - * linux-low.c: Include . - (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 - - * configure.in: Test for -rdynamic. - * configure: Regenerated. - * Makefile (INTERNAL_LDFLAGS): New. - (gdbserver, gdbreplay): Use it. - -2004-09-02 Andrew Cagney - - * Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE. - -2004-03-23 Daniel Jacobowitz - - * linux-low.c (linux_wait): Clear all_processes list also. - -2004-03-12 Daniel Jacobowitz - - * linux-low.c: Include . Remove extern declaration of - errno. - -2004-03-12 Daniel Jacobowitz - - * gdbreplay.c, server.h, utils.c: Update copyright years. - -2004-03-04 Nathan J. Williams - - * server.c (main): Print child status or termination signal from - variable 'signal', not 'sig'. - -2004-03-04 Nathan J. Williams - - * 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 - - * Makefile.in (distclean): Remove config.h, stamp-h, and config.log. - Unify with other clean targets. - -2004-02-29 Daniel Jacobowitz - - * server.c (handle_v_cont): Call set_desired_inferior. - -2004-02-29 Daniel Jacobowitz - - * remote-utils.c (prepare_resume_reply): Always supply "thread:". - -2004-02-29 Daniel Jacobowitz - - * 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 - - * 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 - - * linux-arm-low.c (arm_get_pc): Print out stop PC in debug mode. - -2004-02-26 Daniel Jacobowitz - - * 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 - - * 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 - - Committed by Jim Blandy . - - * 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 - - * 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 - - * regcache.c (new_register_cache): Clear the allocated register - buffer. Suggested by Atsushi Nemoto . - -2003-10-13 Daniel Jacobowitz - - * 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 - - * Makefile.in (install-only): Create dest dir. Support DESTDIR. - (uninstall): Support DESTDIR. - -Mon Jul 21 20:09:34 UTC 2003 Brendan Conoboy - - * configure.srv: Add xscale*linux copy of arm*linux entry. - -2003-07-24 Daniel Jacobowitz - - * linux-arm-low.c (arm_reinsert_addr): New function. - (the_low_target): Add arm_reinsert_addr. - -2003-07-08 Mark Kettenis - - * mem-break.c: Remove whitespace at end of file. - -2003-06-28 Daniel Jacobowitz - - * 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 - - * linux-sh-low.c (sh_regmap): Fix FP register offsets, reported by - SUGIOKA Toshinobu . - -2003-06-20 Daniel Jacobowitz - - * 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 - - * 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 - - From Kelley Cook : - * configure.srv: Accept i[34567]86 variants. - -2003-06-05 Daniel Jacobowitz - - * 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 - - * 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 - - * linux-low.c (linux_create_inferior): Use __SIGRTMIN. - (linux_wait_for_event, linux_init_signals): Likewise. - -2003-03-17 Daniel Jacobowitz - - * configure.in: Check for stdlib.h. - * configure: Regenerated. - * config.in: Regenerated. - -2003-01-04 Andreas Schwab - - * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31. - -2003-01-02 Andrew Cagney - - * Makefile.in: Remove obsolete code. - -2002-11-20 Daniel Jacobowitz - - * linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of - defined(PT_FPR0_HI). - -2002-11-17 Stuart Hughes - - * linux-arm-low.c (arm_num_regs): Increase. - (arm_regmap): Include status register. - -2002-11-17 Daniel Jacobowitz - - * linux-low.c (register_addr): Remove incorrect -1 check. - -2002-08-29 Daniel Jacobowitz - - * 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 - - * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2. - -2002-08-20 Jim Blandy - - * Makefile.in (LDFLAGS): Allow the configure script to establish a - default for this. - -2002-08-01 Andrew Cagney - - * Makefile.in: Make chill references obsolete. - -2002-07-24 Kevin Buettner - - * configure.in (unistd.h): Add to AC_CHECK_HEADERS list. - * configure: Regenerate. - * config.in: Regenerate. - -2002-07-09 David O'Brien - - * gdbreplay.c (stdlib.h, unistd.h): Conditionaly include. - (perror_with_name, remote_close, remote_open, expect, play): Static. - -2002-07-04 Michal Ludvig - - * 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 - - * regcache.c: Add comment. - -2002-06-11 Daniel Jacobowitz - - * 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 - - From Martin Pool : - * server.c (gdbserver_usage): New function. - (main): Call it. - -2002-05-14 Daniel Jacobowitz - - * mem-break.c (reinsert_breakpoint_by_bp): Correct typo - stop_at -> stop_pc. - -2002-05-04 Andrew Cagney - - * Makefile.in: Remove obsolete code. - -2002-04-24 Michal Ludvig - - * 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 - - * 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 - - * 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 - - * 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 - - * server.h: Include if HAVE_STRING_H. - * ChangeLog: Correct paths in last ChangeLog entry. - -2002-04-09 Daniel Jacobowitz - - * 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 - - * Makefile.in: Add stamp-h target. - * configure.in: Create stamp-h. - * configure: Regenerated. - -2002-04-09 Daniel Jacobowitz - - * 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 - - * Makefile.in: Add WARN_CFLAGS. Update configury - dependencies. - * configure.in: Check for - * 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 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. +2014-01-13 Eli Zaretskii + + * Makefile.in (INCLUDE_CFLAGS): Remove trailing slash from + "-I$(srcdir)/../". Fixes MinGW compilation errors with old GCC + versions. + +2014-01-01 Joel Brobecker + + * gdbserver.c (gdbserver_version): Set copyright year to 2014. + * gdbreplay.c (gdbreplay_version): Likewise. + +2013-12-18 Yufeng Zhang + + * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Set + iov.iov_len with the real length in use. + +2013-12-13 Joel Brobecker + + * 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 + + * 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 + + * notif.c (handle_notif_ack): Return 0 if no notification + matches. + +2013-11-20 Doug Evans + + * linux-low.c (linux_set_resume_request): Fix comment. + +2013-11-20 Doug Evans + + * linux-low.c (resume_status_pending_p): Tweak comment. + +2013-11-20 Walfred Tedeschi + + * 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 + + * configure: Rebuild. + * configure.ac: Don't check for stdlib.h. + * gdbreplay.c: Unconditionally include stdlib.h. + +2013-11-18 Tom Tromey + + * config.in: Rebuild. + * configure: Rebuild. + * configure.ac: Don't use AC_HEADER_DIRENT. + +2013-11-18 Tom Tromey + + * server.h: Don't check HAVE_STRING_H. + * gdbreplay.c: Don't check HAVE_STRING_H. + * configure: Rebuild. + +2013-11-18 Tom Tromey + + * Makefile.in (gdbreplay$(EXEEXT)): Depend on and link against + LIBGNU. + +2013-11-08 Tom Tromey + + * configure, config.in: Rebuild. + * configure.ac: Remove unused configury. + +2013-11-08 Tom Tromey + + * acinclude.m4: Include common.m4, codeset.m4. + * configure, config.in: Rebuild. + * configure.ac: Use GDB_AC_COMMON. + +2013-11-06 Andreas Arnez + + * 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 + + PR gdb/16014 + * tracepoint.c (download_tracepoint_1): Remove unnecessary double + call to sizeof. + +2013-10-02 Pedro Alves + + * 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 + + * 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 + + * configure.ac (AC_CHECK_HEADERS): Add sys/syscall.h + * config.in, configure: Regenerated. + +2013-09-18 Yao Qi + + PR server/15959 + * server.c (start_inferior): Clear 'resume_info'. + +2013-09-16 Jiong Wang + + * linux-tile-low.c (tile_regsets): Modify the size field to 64-bit + for each register. + +2013-09-16 Jiong Wang + + * configure.srv : Remove linux-osdata.o from and add + linux-tile-low.o to srv_tgtobj. + +2013-09-16 Will Newton + + * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Zero + out regs. + +2013-09-06 Pedro Alves + + * 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 + + * Makefile.in (linux-btrace.o, mips-linux-watch.o): Remove + explicit header dependencies and use $COMPILE/$POSTCOMPILE. + +2013-09-06 Pedro Alves + + * linux-amd64-ipa.c: Include tracepoint.h. + * linux-i386-ipa.c: Include tracepoint.h. + +2013-09-06 Ricard Wanderlof + + * linux-crisv32-low.c (PTRACE_GET_THREAD_AREA): New macro. + (ps_get_thread_area): New function. + +2013-09-06 Ricard Wanderlof + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * server.h (struct emit_ops, current_insn_ptr, emit_error): + Move ... + * ax.h: ... here. + +2013-09-05 Pedro Alves + + * 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 + + * 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 + + * 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 + + * server.h (_): Delete. + +2013-09-02 Pedro Alves + + * 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 + + * win32-low.c (child_xfer_memory): Check if ReadProcessMemory + or WriteProcessMemory complete successfully and handle + ERROR_PARTIAL_COPY error. + +2013-09-02 Pedro Alves + + * server.c (gdb_read_memory): Return -1 on traceframe memory read + error instead of EIO. + +2013-08-28 Jan Kratochvil + + PR server/15604 + * linux-low.c: Include filestuff.h. + (linux_create_inferior) : Call close_most_fds. + * lynx-low.c: Include filestuff.h. + (lynx_create_inferior) : Call close_most_fds. + * server.c: Include filestuff.h. + (main): Call notice_open_fds. + * spu-low.c: Include filestuff.h. + (spu_create_inferior) : Call close_most_fds. + +2013-08-22 Luis Machado + + * 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 + + * config.in: Renegerate. + +2013-08-19 Luis Machado + + * 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 + + * 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 + Daniel Jacobowitz + Yao Qi + + * Makefile.in (SFILES): Add common/mips-linux-watch.c. + (mips-linux-watch.o): New rule. + (mips_linux_watch_h): New variable. + * configure.srv : 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 + + * i386-low.c: Include break-common.h. + (enum target_hw_bp_type): Remove. + +2013-07-24 Luis Machado + + * 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 + + * 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 + + * 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 + + * Makefile.in (config.status): Depend on development.sh. + * acinclude.m4: Include libmcheck.m4. + * configure: Regenerate. + +2013-07-02 Mircea Gherzan + + * 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 + + * notif.h (notif_event): Add a dummy member to avoid compiler + errors. + +2013-07-01 Pedro Alves + + * hostio.c (HOSTIO_PATH_MAX): Define. + (require_filename, handle_open, handle_unlink, handle_readlink): + Use it. + +2013-07-01 Pedro Alves + + * 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 + + * event-loop.c: Don't check HAVE_UNISTD_H before including + . + * 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 + + * Makefile.in (version.c): Use version.in, not + common/version.in. + +2013-06-28 Mircea Gherzan + + * 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 + + 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 + + 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 + + * tracepoint.c (build_traceframe_info_xml): Output trace state + variables present in the trace buffer. + +2013-06-24 Tom Tromey + + * 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 + + * 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 + + * 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) : Extend + comment. + +2013-06-11 Pedro Alves + + * linux-low.c (initialize_regsets_info): Use xcalloc instead of + xmalloc. + +2013-06-11 Pedro Alves + + * linux-x86-low.c (initialize_low_arch): Call + init_registers_x32_avx_linux. + +2013-06-09 Jan Kratochvil + + 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 + + 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 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) : 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) : 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 + + * 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 + + 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 + + * 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 + + * server.c (handle_v_cont) : 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 + Pedro Alves + + * 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) : Set to + linux_supports_range_stepping. + * linux-low.h (struct linux_target_ops) + : New field. + (struct lwp_info) : New fields. + * linux-x86-low.c (x86_supports_range_stepping): New. + (the_low_target) : 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) : New fields. + (struct target_ops) : + New field. + (target_supports_range_stepping): New macro. + +2013-05-17 Joel Brobecker + + * lynx-low.c (lynx_resume): Fix null_ptid/minus_one_ptid + confusion in comment. + +2013-05-17 Joel Brobecker + + * 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 + + * i386-low.c (i386_length_and_rw_bits): Move the comment to + the right place. + +2013-05-16 Luis Machado + + * 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) : 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 + Andrew Jenner + + * 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 + + * tracepoint.c (cmd_qtinit): Call 'stop_tracing'. + +2013-04-25 Hui Zhu + + PR gdb/15186 + * ax.c (ax_printf): Add fflush. + +2013-04-22 Tom Tromey + + * 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 + + * 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 + + * linux-low.h (struct lwp_info) : Move under + the USE_THREAD_DB #ifdef. + +2013-04-16 Pedro Alves + + * 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) : Guard with #ifdef USE_THREAD_DB instead of + HAVE_THREAD_DB_H. + +2013-04-07 Jan Kratochvil + + * Makefile.in (install-only): Fix make install regression. + +2013-04-05 Jan Kratochvil + + 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 + + * linux-low.c (handle_extended_wait): Don't call + linux_enable_event_reporting. + +2013-03-15 Tony Theodore + + PR build/9098: + * Makefile.in (SHELL): Use @SHELL@. + +2013-03-14 Sergio Durigan Junior + + * tracepoint.c (cmd_qtv): Initialize `val' with zero, silencing + compiler warning. + +2013-03-13 Joel Brobecker + + * linux-low.c (linux_target_ops) [!HAVE_LINUX_BTRACE]: + Remove extraneous NULL element. + +2013-03-13 Yao Qi + + * tracepoint.c (traceframe_read_tsv): Look for the last matched + 'V' block in trace frame. + +2013-03-11 Markus Metzger + + * 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 + + * server.c (handle_qxfer): Preserve error message if -3 is + returned. + (qxfer): Document the -3 return value. + +2013-03-11 Markus Metzger + + * Makefile.in (SFILES): Add $(srcdir)/common/linux-btrace.c. + (linux_btrace_h): New variable. + (linux-btrace.o): New rule. + +2013-03-08 Stan Shebs + Hafiz Abid Qadeer + + * 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 + + * 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 + + PR server/15236 + * linux-low.c (linux_write_memory): Return early success if LEN is + zero. + +2013-03-05 Corinna Vinschen + + * configure.srv: Add x86_64-*-cygwin* as target. + +2013-02-28 Tom Tromey + + * configure.ac: Invoke AC_SYS_LARGEFILE. + * configure, config.in: Rebuild. + +2013-02-28 Corinna Vinschen + + * 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 + + * tracepoint.c (cmd_qtbuffer): Call phex_nz instead of + pulongest. + +2013-02-27 Jiong Wang + + * 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 + + * server.c (process_point_options): Print debug message when + debug_threads is true. + +2013-02-26 Yao Qi + + * tracepoint.c (cmd_qtbuffer): Don't set '\0' in OWN_BUF. + +2013-02-19 Pedro Alves + Kai Tietz + + PR gdb/15161 + + * server.c (handle_query) : Use unpack_varlen_hex + instead of strtoul to extract address from packet. + (process_serial_event) <'z'>: Likewise. + +2013-02-18 Yao Qi + + * linux-bfin-low.c (the_low_target): Use NULL instead of 0. + +2013-02-14 Pedro Alves + + Plug memory leak. + + * tracepoint.c (cmd_qtnotes): Free TRACING_USER_NAME, + TRACING_NOTES and TRACING_STOP_NOTE before clobbering. + +2013-02-14 Pedro Alves + + * tracepoint.c (cmd_qtdpsrc): Use savestring. + +2013-02-14 Pedro Alves + + * tracepoint.c (save_string): Delete. + (add_tracepoint_action): Use savestring instead of save_string. + +2013-02-12 Pedro Alves + + * linux-xtensa-low.c: Ditto. + * xtensa-xtregs.c: Ditto. + +2013-02-12 Sanimir Agovic + + * thread-db.c (thread_db_get_tls_address): NULL pointer check + thread_db. + +2013-02-07 Marcus Shawcroft + + * 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 + + * linux-aarch64-low.c (ps_get_thread_area): Replace + PTRACE_GET_THREAD_AREA with PTRACE_GETREGSET. + +2013-02-04 Jim MacArthur + Marcus Shawcroft + Nigel Stephens + Yufeng Zhang + + * 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 + + * 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 + + * event-loop.c: Include "queue.h". + (gdb_event_p): New typedef. + (struct gdb_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 + + * 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 + + * linux-low.c (linux_resume_one_lwp): Don't check + 'lwp->bp_reinsert != 0'. + +2013-01-07 Joel Brobecker + Pedro Alves + + * 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 + + * lynx-low.c (lynx_resume): Call perror_with_name if lynx_ptrace + sets errno. + +2013-01-07 Joel Brobecker + + * configure.srv (i[34567]86-*-lynxos*): Set srv_xmlfiles. + +2013-01-07 Joel Brobecker + + * configure.srv (powerpc-*-lynxos*): Set srv_xmlfiles. + +2013-01-07 Joel Brobecker + + * 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 + + * lynx-low.c (lynx_resume): Delete variable ret. + +2013-01-01 Joel Brobecker + + * gdbreplay.c (gdbreplay_version): Update copyright year. + * server.c (gdbserver_version): Likewise. + +2012-12-17 Joel Brobecker + + * lynx-low.c (lynx_wait_1): Add debug trace before adding + new thread. + +2012-12-17 Joel Brobecker + + * lynx-low.c (ptrace_request_to_str): Add handling for + PTRACE_GETTRACESIG. + +2012-12-17 Joel Brobecker + + * lynx-low.c (lynx_attach): Delete variable new_process. + +2012-12-17 Joel Brobecker + + * lynx-low.c (lynx_create_inferior): Delete variable + new_process. + +2012-12-17 Joel Brobecker + + * lynx-low.c (ptrace_request_to_str): Do not handle + PTRACE_GETTHREADLIST if this macro does not exist. + +2012-12-15 Yao Qi + + * Makefile.in (OBS): Add notif.o. + * notif.c, notif.h: New. + * server.c: Include "notif.h". + (struct vstop_notif) : Remove. + : 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 + + * 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 + + PR gdb/14917: + * server.h (current_insn_ptr, emit_error): Declare 'extern'. + +2012-11-28 Markus Metzger + + * configure.ac: Check for linux/perf_event.h. + * config.in: Regenerated. + * configure: Regenerated. + +2012-11-26 Maxime Villard + + * hostio.c (handle_readlink): Decrease buffer size + parameter passed to readlink by one byte. + +2012-11-26 Yao Qi + + * 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 + + * configure.ac (AC_CHECK_HEADERS): Add wait.h header. + * config.in: Regenerate. + * configure: Regenerate. + * linux-low.c: Use "gdb_stat.h" header instead of header. + Use "gdb_wait.h" header instead of header. + * lynx-low.c: Use "gdb_wait.h" header instead of header. + * remote-utils.c: Use "gdb_stat.h" header instead of + header. + * server.c: Remove HAVE_WAIT_H conditional. Use "gdb_wait.h" header + instead of header. + * spu-low.c: Use "gdb_wait.h" header instead of header. + +2012-11-13 Markus Metzger + + * Makefile.in: (INTERNAL_CFLAGS): Add -DGDBSERVER + (various make rules): Remove -DGDBSERVER + +2012-11-09 Yao Qi + + * 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 + + * server.c (handle_search_memory_1): Include access length in + warning message. + +2012-09-05 Michael Brandt + + * linux-crisv32-low.c: Fix compile errors. + +2012-09-04 Yao Qi + + * tracepoint.c (cmd_qtsv): Adjust debug message. + Don't check CUR_TPOINT. + +2012-08-28 Yao Qi + + * 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 + + * server.h: Remove declaration of 'xsnprintf'. + +2012-08-22 Keith Seitz + + * server.h: Include build-gnulib-gbserver/config.h. + * gdbreplay.c: Likewise. + +2012-08-08 Doug Evans + + * 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 + + * hostio.c (handle_pread): If pread fails, fall back to attempting + lseek/read. + (handle_pwrite): Likewise for pwrite. + +2012-08-01 Ulrich Weigand + + * 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 + + * 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 + + * 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 + + 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 + + * server.c (process_point_options): Stop at 'X' when parsing. + +2012-07-19 Michael Eager + + * 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 + + * gdbserver/linux-low.c (initialize_low): Call + linux_ptrace_init_warnings. + +2012-07-02 Doug Evans + + * mem-break.c (gdb_no_commands_at_breakpoint): Fix cast from + pointer to int. + +2012-07-02 Stan Shebs + + * 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 + + * server.c (start_inferior): Remove duplicated writes to fields + 'last_resume_kind' and 'last_status' of 'current_inferior'. + +2012-06-12 Yao Qi + Pedro Alves + + * linux-low.c (linux_set_resume_request): Simplify predicate. Add + comment. + * server.c (handle_v_cont): Extend comment. + +2012-06-11 Yao Qi + + * linux-low.c (linux_attach): Add 'static'. + +2012-06-06 Yao Qi + + * ax.c (gdb_eval_agent_expr): Print `top' in hex. + +2012-06-01 Jan Kratochvil + + Fix gcc -flto compilation warning. + * server.c (main): Make variable multi_mode and attach volatile. + +2012-05-30 Thiago Jung Bauermann + + * 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 + + * 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 + + * linux-low.c (linux_qxfer_libraries_svr4): Return -1 if R_DEBUG is -1. + +2012-05-24 Pedro Alves + + PR gdb/7205 + + Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. + +2012-05-24 Pedro Alves + + PR gdb/7205 + + Replace target_signal with gdb_signal throughout. + +2012-05-22 Maciej W. Rozycki + + * linux-low.c (linux_store_registers): Avoid the copying sequence + when no data has been retrieved by ptrace. + +2012-05-22 Will Deacon + + * 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 + + * 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 + Pedro Alves + + * 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 + + * 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 + + * 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 + + * configure: Regenerate. + +2012-04-19 Pedro Alves + + * 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 + + * 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 + + * Makefile.in (generated_files): New. + (server_h): Remove the explicit dependency on config.h, and depend + on $generated_files. + +2012-04-19 Pedro Alves + + * Makefile.in (INCGNU): Add -Ignulib. + +2012-04-19 Pedro Alves + + * 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 + + * config.in: Regenerate. + +2012-04-19 Pedro Alves + + * configure.ac: Remove AC_CHECK_DECLS check for memmem. + * server.h (memmem): Remove declaration. + * config.in: Regenerate. + * configure: Regenerate. + +2012-04-19 Yao Qi + + * Makefile.in (SFILES): Add common/vec.c. + (OBS): Add vec.o. + (vec.o): New rule. + +2012-04-19 Yao Qi + + * 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 + + * aclocal.m4: Regenerate. + * configure: Regenerate. + +2012-04-16 Yao Qi + + * tracepoint.c (cmd_qtstart): Download tracepoints even when they are + duplicated on address. + +2012-04-16 Yao Qi + + * tracepoint.c (COPY_FIELD_TO_BUF): New macro. + (struct tracepoint_action_ops) : 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 + + * tracepoint.c (download_tracepoints): Moved to ... + (cmd_qtstart): ... here. + +2012-04-14 Yao Qi + + * 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 + + Import gnulib module inttypes. + * aclocal.m4, config.in, configure: Regenerated. + +2012-04-14 Yao Qi + + * Makefile.in (maintainer-clean, realclean, distclean): Remove + Makefile and config.status at last. + +2012-04-13 Yao Qi + + * tracepoint.c: Include stdint.h unconditionally. + +2012-04-13 Thiago Jung Bauermann + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + * 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 + + * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP. + +2012-04-05 Pedro Alves + + -Werror=strict-aliasing + + * spu-low.c (parse_spufs_run): Avoid dereferencing type-punned + pointer. + +2012-04-04 Pedro Alves + + * 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 + + * 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 + + * linux-low.c (regsets_store_inferior_registers) [__sparc__]: + Correct ptrace arguments. + +2012-03-28 Pedro Alves + + * 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) : 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 + + * server.c (handle_qxfer_libraries): Don't bail early if + the_target->qxfer_libraries_svr4 is not NULL. + +2012-03-26 Pedro Alves + + * linux-low.c (linux_qxfer_libraries_svr4): Fix pasto in comment. + +2012-03-23 Pedro Alves + + * 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 + + * 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 + + * 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 . + (struct siginfo): Remove forward declaration. + (struct linux_target_ops) : Use siginfo_t instead of + struct siginfo. + +2012-03-21 Mike Frysinger + + * .gitignore: Ignore more files. + +2012-03-19 Pedro Alves + Jan Kratochvil + + * 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 + + * tracepoint.c (install_tracepoint): Move duplicated tracepoint + handling to ... + (cmd_qtdp): ... here. + +2012-03-15 Yao Qi + + * tracepoint.c (struct tracepoint_action_ops): New. + (struct tracepoint_action) [!IN_PROCESS_AGENT] : 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 + + * linux-low.c (linux_attach_lwp_1): New variable buffer. Call + linux_ptrace_attach_warnings. + +2012-03-13 Jan Kratochvil + + * 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 + Pedro Alves + + 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 + + * 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 + Jan Kratochvil + + * linux-low.c (get_dynamic): Don't warn when PT_PHDR isn't found. + New comment why. + +2012-03-03 Yao Qi + + * tracepoint.c (tracepoint_look_up_symbols): Update call to + agent_look_up_symbols. + +2012-03-03 Yao Qi + + * 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 + + * 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 + + * linux-low.c (linux_supports_agent): New. + (linux_target_ops): Initialize field `supports_agent' with + linux_supports_agent. + * target.h (struct target_ops) : 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 + + * 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 + + * 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 + + * tracepoint.c (do_action_at_tracepoint): Write `stop_pc' in + debug log. + +2012-03-02 Yao Qi + + * tracepoint.c (collect_ust_data_at_tracepoint): Remove parameters + `stop_pc' and `tpoint'. Update caller. + +2012-03-01 Maciej W. Rozycki + + * 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 : 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 + Pedro Alves + + * linux-low.c: (linux_wait_1): Call unsuspend_all_lwps when + `step_over_finished' is true. + +2012-02-27 Pedro Alves + + * 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 + + 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 + + * mem-break.c (clear_gdb_breakpoint_conditions): Fix de-allocation + of conditions. + +2012-02-24 Maciej W. Rozycki + + * linux-mips-low.c (mips_regmap): Correct the index of $f9. + +2012-02-24 Luis Machado + + * 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) : 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 + + * 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 + + * tracepoint.c (cmd_bigqtbuffer): Rename as ... + (cmd_bigqtbuffer_circular): ... this. Only handle + 'QTBuffer:circular:'. + (handle_tracepoint_general_set): Adjust. + +2012-02-16 Yao Qi + + * 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 + + * server.c: (handle_monitor_command): Add a new parameter + `own_buf'. + (handle_query): Update caller. + +2012-02-09 Joel Brobecker + + * 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 + + 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 + + * tracepoint.c (cmd_qtminftpilen): Return 0 if there's no current + inferior. + +2012-01-27 Pedro Alves + + * 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 + + * 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 + + * server.c (main): Avoid yet another case of infinite loop while + detaching/killing after a longjmp. + +2012-01-20 Jan Kratochvil + + Code cleanup. + * linux-low.c (linux_wait_for_event_1): Use ptid_is_pid. + +2012-01-20 Ulrich Weigand + + * hostio.c (handle_readlink): New function. + (handle_vFile): Call it to handle "vFile:readlink" packets. + +2012-01-20 Pedro Alves + Ulrich Weigand + + * server.c (handle_v_requests): Only support vAttach and vRun to + start multiple processes when in extended protocol mode. + +2012-01-17 Pedro Alves + + * tracepoint.c (initialize_tracepoint): Use mmap instead of + memalign plus mprotect to allocate the scratch buffer. + +2012-01-13 Pedro Alves + + * server.c (attach_inferior): Clear `cont_thread'. + +2012-01-13 Pedro Alves + + * server.c (main): Avoid infinite loop while detaching/killing + after a longjmp. + +2012-01-09 Doug Evans + + * server.c (start_inferior): Set last_ptid in --wrapper case. + +2012-01-06 Yao Qi + + * tracepoint.c [IN_PROCESS_AGENT] (debug_threads): Macro + defined. + [IN_PROCESS_AGENT] (debug_agent): New global variable. + +2012-01-04 Yao Qi + + * tracepoint.c (cmd_qtdp): Print debug message + for static tracepoint. + +2012-01-04 Yao Qi + + * tracepoint.c (trace_vdebug): Differentiate debug message + between gdbserver and IPA. + +2012-01-03 Yao Qi + + * tracepoint.c (tracepoint_was_hit): Don't collect for + static tracepoint. + +2012-01-02 Joel Brobecker + + * terminal.h: Reformat copyright header. + +2012-01-02 Joel Brobecker + + * server.c (gdbserver_version): Update copyright year. + * gdbreplay.c (gdbreplay_version): Likewise. + +2011-12-18 Jan Kratochvil + + * linux-low.c (linux_create_inferior): Put empty if clause for write. + + Revert: + 2011-12-18 Hui Zhu + * linux-low.c (linux_create_inferior): Save return value to ret. + +2011-12-18 Hui Zhu + + * linux-low.c (linux_create_inferior): Save return value to ret. + +2011-12-16 Doug Evans + + * 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 + + * tracepoint.c: Include sys/syscall.h. + (gdb_ust_thread): Remove preprocessor conditional. + +2011-12-14 Pedro Alves + + * linux-low.c (linux_detach_one_lwp): Call + the_low_target.prepare_to_resume before detaching. + +2011-12-14 Yao Qi + + * tracepoint.c (gdb_ust_thread): Don't ignore return value + of write. + +2011-12-14 Yao Qi + + * i386-low.c (i386_low_stopped_data_address): Initialize local + variable `control'. + +2011-12-13 Pedro Alves + + 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 + + * tracepoint.c (trace_buffer_alloc): Replace magic numbers with + macros. + (upload_fast_traceframes, upload_fast_traceframes): Likewise. + +2011-12-08 Jan Kratochvil + + * 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 + + 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 + + * linux-low.c (fetch_register, store_register): Make code + consistent, fix formatting. + +2011-12-06 Maciej W. Rozycki + + * 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 + + * 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", , + and . + (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 + Jan Kratochvil + + * 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 + + * 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 + + * tracepoint.c (cmd_qtstatus): Use plongest instead of %llx. + +2011-11-17 Stan Shebs + + * 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 + Kwok Cheung Yeung + + * 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 + + * 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 + + * 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 + + * remote-utils.c (relocate_instruction): A comment fix. + +2011-11-07 Joel Brobecker + + * 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 + + * tracepoint.c (gdb_collect): Loop over tracepoints of same + address as TPOINT's. + +2011-11-02 Stan Shebs + + * 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 + + * tracepoint.c (cmd_qtstart): Remove unused local variables. + +2011-11-02 Yao Qi + + * target.h: Fix a typo in comment. + +2011-10-31 Pedro Alves + + * 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 + + * configure.ac: Check support for personality routine. + * configure: Regenerate. + * config.in: Likewise. + * linux-low.c: Include . + 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 + + * 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 + + * 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 + + * linux-arm-low.c: Include . + (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 + + * 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 + + * linux-x86-low.c (i386_emit_prologue): Save %ebx. + (i386_emit_epilogue): Restore %ebx. + +2011-08-31 Jie Zhang + + * 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 + + * 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 + + * configure.srv: Add linux-procfs.o dependencies. + +2011-08-14 Yao Qi + + * target.h (struct target_ops): Fix indent. + * win32-low.c (win32_target_ops): Fix comment. + +2011-08-14 Andrew Jenner + Yao Qi + + * 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 + Yao Qi + + * 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 + + * win32-low.c: Include . + +2011-07-22 Pedro Alves + + * 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 + + * 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 + + * tracepoint.c (tracepoint_look_up_symbols): Return upon the first + symbol error. + +2011-05-31 Pedro Alves + + * 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 + + * 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 + + * linux-i386-ipa.c (supply_static_tracepoint_registers): Pass + __FILE__ and __LINE__ to internal_error. + +2011-05-13 Doug Evans + + * 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 + + * 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 + + * thread-db.c (thread_db_handle_monitor_command): Handle elided path. + +2011-05-04 Doug Evans + + * 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 + + * README: Don't mention xscale*-*-linux*. + * configure.srv (xscale*-*-linux*): Don't handle target. + +2011-04-27 Nathan Froyd + + * 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 + + * 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 + + * 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 + + * win32-low.c (handle_load_dll): Remove duplicate "the". + +2011-04-07 Pierre Muller + + 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 + + * gdbserver/server.h (Macro _): Define it if not available. + +2011-03-14 Michael Snyder + + * hostio.c (handle_close): Remove unnecessary null test. + +2011-03-10 Joel Brobecker + + * Makefile.in (maintainer-clean realclean distclean): Remove + "make ... subdir_do" command. + +2011-03-10 Michael Snyder + + * tracepoint.c (tracepoint_finish_step): Fix loop variable. + + * server.c (handle_v_run): Free alloced buffer on early return. + +2011-03-09 Yao Qi + + Revert: + 2011-03-04 Yao Qi + + * Makefile.in: Remove GNU make feature --directory. + + 2011-03-05 Yao Qi + + * 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 + + * configure.ac: Call AC_PROG_RANLIB. + * Makefile.in: Remove signals.o from OBS. Link libcommon.a. + * configure: Regenerate. + +2011-03-07 Jan Kratochvil + + * remote-utils.c (putpkt_binary_1): Calculate BUF2 size dynamically. + +2011-03-06 Yao Qi + + * Makefile.in (REQUIRED_SUBDIRS): Remove $(LIBCOMMON_DIR). + +2011-03-05 Yao Qi + + * 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 + + * Makefile.in: Remove GNU make feature --directory. + +2011-03-04 Michael Snyder + + * server.c (queue_stop_reply): Call xmalloc not malloc. + +2011-03-02 Michael Snyder + + * linux-arm-low.c (arm_arch_setup): Replace malloc with xmalloc. + +2011-02-28 Michael Snyder + + * 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 + + * hostio.c (require_data): Free *data, not data. + +2011-02-28 Jan Kratochvil + + * hostio.c (require_data): Use free, not xfree. + +2011-02-27 Michael Snyder + + * server.c (handle_query): Discard unused value. + + * hostio.c (require_data): Free malloc memory before returning + error. + +2011-02-26 Michael Snyder + + * linux-low.c (list_threads): Call closedir for dirent. + +2011-02-27 Michael Snyder + + * 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 + + * utils.c (decimal2str): Eliminate dead code and dead param. + (pulongest): Drop dead param from call to decimal2str. + (plongest): Ditto. + +2011-02-24 Joel Brobecker + + Revert the following patch (not approved yet): + 2011-02-21 Hui Zhu + * tracepoint.c (tp_printf): New function. + (eval_agent_expr): Handle gdb_agent_op_printf. + +2011-02-21 Hui Zhu + + * tracepoint.c (tp_printf): New function. + (eval_agent_expr): Handle gdb_agent_op_printf. + +2011-02-18 Tom Tromey + + * 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 + + * tracepoint.c (enum gdb_agent_op) : New constants. + (gdb_agent_op_names): Add pick and roll. + (eval_agent_expr) : New + cases. + +2011-02-15 Jan Kratochvil + + * aclocal.m4: Regenerated with aclocal-1.11.1. + +2011-02-14 Pedro Alves + + * 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 + + * configure.ac: Call AC_PROG_RANLIB. + * Makefile.in: Remove signals.o from OBS. Link libcommon.a. + * configure: Regenerate. + +2011-02-07 Pedro Alves + + * 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 + + * 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 + + * i387-fp.c (i387_xsave_to_cache): Make passing NULL as register + buffer explicit. + +2011-01-25 Pedro Alves + + * 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 + + * 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 + + * gdbserver/configure.ac, gdbserver/gdbserver.1: Copyright year + update. + +2011-01-01 Joel Brobecker + + * server.c (gdbserver_version): Update copyright year in version + output. + * gdbreplay.c (gdbreplay_version): Ditto. + +2010-12-29 Jie Zhang + + * 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 + + * .gitignore: New file. + +2010-11-16 Mike Frysinger + + * linux-low.c (linux_tracefork_child): Add char* cast to arg. + +2010-10-22 Jie Zhang + + * 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 + + * Makefile.in (uninstall): Use $(DESTDIR). + +2010-09-24 Pedro Alves + + 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 + + * lynx-i386-low.c: New file. + * configure.srv: Add handling of i[34567]86-*-lynxos* targets. + +2010-09-13 Joel Brobecker + + * 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 + + * lynx-low.c, lynx-ppc-loc.c: Include instead of + + +2010-09-09 Nathan Sidwell + + * configure.ac: Add --enable-inprocess-agent option. + * configure: Rebuilt. + +2010-09-06 Yao Qi + + * 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 + + * linux-low.c (maybe_move_out_of_jump_pad): Restore current_inferior + on return. + +2010-09-06 Jan Kratochvil + + * target.c (mywait) : Fix to use INTEGER. + +2010-09-06 Pedro Alves + + * Makefile.in (install-only): Replace $IPA_DEPFILES with + "$(IPA_DEPFILES)". + +2010-09-01 Joel Brobecker + + * 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 + + * 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 + + * 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 + + * Makefile.in (memmem.o): Build with -Wno-error. + +2010-09-01 Joel Brobecker + + * 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 + + * 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 + + * 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 + + * 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 + + * event-loop.c (event_handle_func): Adjust to use gdb_fildes_t. + (struct gdb_event) : Change type to gdb_fildes_t. + (struct file_handler) : 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 + + * configure.ac (build_warnings): Add -Wno-char-subscripts. + * configure: Regenerate. + +2010-08-27 Pedro Alves + + * 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 + + * 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 + + * 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 + + * mem-break.c [HAVE_MALLOC_H]: Include malloc.h. + +2010-08-26 Pedro Alves + + * 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 + + * linux-low.c (linux_wait_1): Move non-debugging code out of + `debug_threads' control. + +2010-08-25 Pedro Alves + + * 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 + + 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 + + * linux-low.h (linux_thread_area): Delete declaration. + +2010-08-11 Thomas Schwinge + + * linux-low.c (linux_wait_1): Correctly return the ptid of the child + after its termination. + +2010-08-09 Pedro Alves + + * 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 + + * 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 + + * 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 + + * server.c (handle_target_event): Use target_signal_to_host for + resume_info.sig initialization. + * target.h (struct thread_resume) : New comment. + +2010-07-20 Ozkan Sezer + + * server.c (handle_query): strcpy() the returned string from paddress() + instead of sprintf(). + * utils.c (paddress): Return phex_nz(). + +2010-07-07 Joel Brobecker + + * server.c (handle_v_cont): Call mourn_inferior if process + just exited. + (myresume): Likewise. + +2010-07-01 Pedro Alves + + 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) : New. + (struct tracepoint) : 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. + : 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 + Pedro Alves + + * 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 + + * tracepoint.c (condition_true_at_tracepoint): Don't run compiled + conditions in gdbserver. + +2010-06-19 Ulrich Weigand + + * spu-low.c (spu_read_memory): Wrap around local store limit. + (spu_write_memory): Likewise. + +2010-06-15 Pedro Alves + + * 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 + Pedro Alves + + 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 + + * 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 + Stan Shebs + + * 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) : New fields. + (struct lwp_info) : 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) : 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) : 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) : 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) : New field `type'. + : Only include in + GDBserver. + + : 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) : 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 + + * server.c (handle_query) : Do two passes over the + qSupported string to avoid nesting strtok. + +2010-05-28 Jan Kratochvil + + * 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 + + * linux-low.c (linux_core_of_thread): Fix crash on invalid CONTENT. + New comment. + +2010-05-26 Ozkan Sezer + + * 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 + + * config.h: Regenerate. + +2010-05-19 Maxim Kuvyrkov + + * 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 + + * linux-m68k-low.c: Include + (ps_get_thread_area): Implement. + +2010-05-03 Doug Evans + + * 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 + + * 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) : 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) : 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 + + * 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 + + * 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 + + * README: Use consistent `GDB' and `GDBserver' spellings. + +2010-05-02 Pedro Alves + + * 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) : 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 + + * linux-low.c (linux_enable_event_reporting): New. + (linux_wait_for_event_1, handle_extended_wait): Use it. + +2010-04-30 Pedro Alves + + * 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 + + * 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 + + * server.c (start_inferior): Print inferior argv if --debug. + +2010-04-21 Aleksandar Ristovski + + * 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 + + * 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 + + * configure.srv (x86_64-*-mingw*): New configuration for Windows + 64-bit executables. + +2010-04-19 Pierre Muller + + * 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 + + * 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 + + * configure.srv (srv_amd64_regobj): Replace `x86-64-avx.o' by + `amd64-avx.o'. + +2010-04-17 Pierre Muller + + * 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 + + * linux-x86-low.c (xmltarget_amd64_linux_no_xml): Define only + if __x86_64__ is defined. + +2010-04-16 Pierre Muller + + * configure: Regenerate. + +2010-04-16 Pierre Muller + + * 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 + + * 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 + + * server.h (buffer_xml_printf): Remove redundant `;'. + +2010-04-12 Pedro Alves + + * 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 + + * linux-x86-low.c (x86_linux_update_xmltarget): Avoid unused + variable warning on Linux/x86-64. + +2010-04-11 Pedro Alves + + 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) : New field. + : Add comment. + : 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) : 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) : + 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 + + * regcache.c (realloc_register_cache): Invalidate inferior's + regcache before recreating it. + +2010-04-09 Pedro Alves + + * tracepoint.c (cmd_qtstatus): Report trace buffer circularity. + +2010-04-09 Stan Shebs + Pedro Alves + + * server.h (LONGEST): New. + (struct thread_info) : 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) : + 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) : 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 + + * 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 + + * 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 . + (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 . + (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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * server.c (handle_query): Assign, not compare. + +2010-03-24 Pedro Alves + + 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 + + * server.c (crc32): New function. + (handle_query): Add handling for 'qCRC:' request. + +2010-03-23 Pedro Alves + + * 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 + + * server.h (internal_error): Declare. + (gdb_assert, ASSERT_FUNCTION, gdb_assert_fail): Define. + * utils.c (internal_error): New function. + +2010-03-15 Andreas Schwab + + * configure.srv: Fix typo setting srv_regobj. + +2010-03-15 Pedro Alves + + * linux-low.c (fetch_register): Avoid passing a non string literal + format to `error'. + (usr_store_inferior_registers): Ditto. + +2010-03-14 Pedro Alves + + * linux-low.c (linux_write_memory): Bail out early if peeking + memory failed. + +2010-03-14 Pedro Alves + + * 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 + + * linux-low.c (linux_wait_for_lwp): Fetch the regcache after + switching the current inferior, not before. + +2010-03-01 H.J. Lu + + * 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 + + * configure.ac: Check for libdl. If it is not available link against + static libthread_db. + * configure: Regenerate. + +2010-02-22 Pedro Alves + + 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 + + * linux-low.c (linux_supports_tracefork_flag): Document. + (linux_look_up_symbols): Add comment. + +2010-02-03 H.J. Lu + + * regcache.c (supply_register): Clear regcache if buf is NULL. + +2010-02-02 Nicolas Roche + Joel Brobecker + + * 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 + + * linux-arm-low.c (thumb_breakpoint_len): Delete. + (thumb2_breakpoint): New. + (arm_breakpoint_at): Check for Thumb-2 breakpoints. + +2010-01-29 Daniel Jacobowitz + + * 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 + + * linux-ppc-low.c (ppc_arch_setup): Adjust to regcache changes. + +2010-01-21 Jan Kratochvil + + * linux-s390-low.c (s390_collect_ptrace_register) + (s390_supply_ptrace_register): Adjust it for the new regcache parameter. + +2010-01-21 Doug Evans + + * 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 + + * proc-service.c (ps_lgetregs): Don't refetch registers from the + target. + +2010-01-21 Pedro Alves + + * spu-low.c (spu_fetch_registers, spu_store_registers): Change + prototype to take a regcache. Adjust. + +2010-01-20 Pedro Alves + + * 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) : + 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) : Change prototype to take a regcache. + +2010-01-20 Doug Evans + + * 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 + + * 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 + + * 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 . + (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 + + * server.c (gdbserver_version): Update copyright year to 2010. + * gdbreplay.c (gdbreplay_version): Likewise. + +2009-12-28 Doug Evans + + * linux-low.c: Delete inclusion of ansidecl.h, elf/common.h, + elf/external.h. Include instead but only if necessary. + +2009-12-28 Pedro Alves + + * 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 + + * 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 + + * 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 + + * linux-low.c (linux_read_memory): Fix argument to read. + +2009-11-26 Pedro Alves + + * 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 + + * 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 + + * 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 + + * m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization. + +2009-11-17 Nathan Sidwell + Vladimir Prus + + * 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 + + * 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 + + * thread-db.c (thread_db_free): Fix typo. + +2009-11-11 Paul Pluzhnikov + + PR gdb/10838 + * thread-db.c (thread_db_free): Call td_ta_clear_event. + +2009-11-03 Nathan Sidwell + + * 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 + + PR gdb/10783 + + * server.c (handle_search_memory_1): Correct read_addr initialization + in loop for searching subsequent chunks. + +2009-10-29 Paul Pluzhnikov + + * 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 + + 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 + + * proc-service.c (ps_lgetregs): Formatting. + +2009-10-08 Paul Pluzhnikov + + * 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 + + * spu-low.c (spu_kill): Wait for inferior to terminate. + Call clear_inferiors. + (spu_detach): Call clear_inferiors. + +2009-08-22 Ralf Wildenhues + + * aclocal.m4: Regenerate. + * config.in: Likewise. + * configure: Likewise. + +2009-07-31 Ulrich Weigand + + * 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 + + * linux-low.c: Include and . + (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 + + * 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 + + * Makefile.in (datarootdir): New variable. + +2009-07-28 Daniel Jacobowitz + + * 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 + + * linux-low.c (linux_kill_one_lwp): Adjust kernel workaround to skip + the main thread again. + +2009-07-06 Aleksandar Ristovski + + 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 + + * configure.srv (i[34567]86-*-mingw32ce*): Add i386-low.o to + srv_tgtobj. + +2009-07-04 Danny Backx + Pedro Alves + + * 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 + Pierre Muller + + 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 + + * 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 + + * server.c (handle_v_kill): Pass signal_pid to + kill_inferior if multi_process is zero. + +2009-06-23 Aleksandar Ristovski + + * 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 + + * 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 + Pedro Alves + + * target.h (struct target_ops) : 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 + + 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 + + * 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 + + * 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 + + 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 + + * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak. + (regsets_store_inferior_registers): Ditto. + +2009-05-06 Pedro Alves + + 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 + + * 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 + + * configure.srv: Add x86 Windows CE target. + +2009-04-03 Ulrich Weigand + + * 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 + + * 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 + + * linux-low.c (usr_store_inferior_registers): Declare local `pid' + variable. + +2009-04-01 Pedro Alves + + 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) : Change type to ptid_t. + (struct target_waitstatus) : Ditto. + (struct target_ops) : Add `pid' argument. Change + return type to int. + (struct target_ops) : Add `pid' argument. + (struct target_ops) : Change pid's type to ptid_t. + (struct target_ops) : 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) : 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) : 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) : Use ptid_get_pid. + : 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) : 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 + + 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) : Add `options' argument. + : 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 + + Decouple target code from remote protocol. + + * target.h (enum target_waitkind): New. + (struct target_waitstatus): New. + (struct target_ops) : 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 + + * 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 + + * 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 + + * server.c (main): After the inferior having exited, call + remote_close before exiting gdbserver. + +2009-03-25 Thiago Jung Bauermann + + 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 + + * server.c (handle_query) Whitespace and formatting. + +2009-03-22 Pedro Alves + + * 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 + + * inferiors.c (find_inferior): Make it safe for the callback + function to delete the currently iterated inferior. + +2009-03-22 Pedro Alves + + * Makefile.in (linuw_low_h): Move higher. + (thread-db.o): Depend on $(linux_low_h). + +2009-03-17 Pedro Alves + + 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 + + * server.c (handle_query): Handle "qAttached". + +2009-03-13 Nathan Sidwell + + * Makefile.in, hostio-errno.c, errno.c, xtensa-xtregs.c: Change to + GPLv3, update license URL. + +2009-03-01 Doug Evans + + * 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 + + * remote-utils.c (getpkt): Also generate remote-debug + information if noack_mode is set. + +2009-02-06 Pedro Alves + + * server.c (handle_query): Report qXfer:siginfo:read and + qXfer:siginfo:write as supported and handle them. + * target.h (struct target_ops) : New field. + * linux-low.c (linux_xfer_siginfo): New. + (linux_target_ops): Set it. + +2009-01-26 Pedro Alves + + * server.c (gdbserver_usage): Mention --remote-debug. + (main): Accept '--remote-debug' switch. + +2009-01-18 Doug Evans + + * 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 + + * 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 + + * win32-low.c (get_child_debug_event): Issue a final DBG_CONTINUE + when handling a EXIT_PROCESS_DEBUG_EVENT. + +2009-01-06 Joel Brobecker + + * gdbreplay.c (gdbreplay_version): Update copyright year. + * server.c (gdbserver_version): Likewise. + +2009-01-05 Doug Evans + + * linux-low.c (linux_attach_lwp): Add some comments/fixmes. + (handle_extended_wait): Improve comment. + +2008-12-13 Doug Evans + + * 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 + + * 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 + + * 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 + + * 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 + + * Makefile.in (VERSION,DIST,LINT,LINTFLAGS): Delete, unused. + +2008-11-24 Daniel Jacobowitz + + * server.c (handle_v_run): Always use the supplied argument list. + +2008-11-19 Bob Wilson + + * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4. + (xtensa_regmap_table): Add entry for scompare1. + +2008-11-18 Thiago Jung Bauermann + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * configure.srv: Merge MIPS and MIPS64. + +2008-08-24 Maciej W. Rozycki + + * Makefile.in (uninstall): Apply $(EXEEXT) too. + +2008-08-18 Luis Machado + + * 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 + + * 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 + + * Makefile.in (GDBREPLAY_OBS): New variable. + (gdbreplay$(EXEEXT)): Use it to avoid unportable $^. + +2008-08-05 Ulrich Weigand + Daniel Jacobowitz + + * linux-low.c (linux_resume_one_process): Ignore ESRCH. + (usr_store_inferior_registers): Likewise. + (regsets_store_inferior_registers): Likewise. + +2008-07-31 Rolf Jansen + Pedro Alves + + * 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 + + * linux-low.c (sys/dir.h, sys/user.h): Remove includes. + (linux_write_memory): Remove declaration of errno. + +2008-07-12 Ulrich Weigand + + * linux-low.c (handle_extended_wait): Do not use "status" + variable uninitialized. + +2008-07-07 Pedro Alves + + * server.c (handle_v_attach): Inhibit reporting dll changes. + +2008-06-27 Pedro Alves + + * 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 + + * server.c (gdbserver_usage): Mention --version. + +2008-06-06 Daniel Jacobowitz + + * Makefile.in (gdbreplay.o): New rule. + +2008-06-06 Joseph Myers + + * gdbreplay.c (gdbreplay_version): Say gdbreplay in version + message, not gdbserver. + +2008-06-05 Vladimir Prus + Nathan Sidwell + Joseph Myers + + * 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 + + * 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 + + * linux-ppc-low.c (ppc_collect_ptrace_register): Clear buffer. + +2008-05-09 Doug Evans + + * 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 + + * 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 + + * 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 + + * acinclude.m4: Add override.m4. + * configure: Regenerate. + +2008-04-21 Ulrich Weigand + + * linux-ppc-low.c (ppc_arch_setup): Reset ppc_hwcap after the + initial call to init_register_ppc64. + +2008-04-21 Ulrich Weigand + + * 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 + + * 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 . + (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 + + * 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 + + * 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 + + * server.c (handle_query): Never return "unsupported" for + qXfer:features:read queries. + +2008-03-27 Ulrich Weigand + + * server.c (get_features_xml): Fix inverted condition. + (handle_query): Always support qXfer:feature:read. + +2008-03-10 Daniel Jacobowitz + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * server.c (handle_query): Correct length check. + +2008-02-14 Pedro Alves + + * 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 + + * server.c (monitor_show_help): Add "exit". + +2008-02-11 Maxim Grigoriev + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * server.c (myresume): Add own_buf argument. + (main): Update calls. + +2007-12-06 Daniel Jacobowitz + + * 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 + + * remote-utils.c (readchar): Allow binary data in received messages. + +2007-12-03 Pedro Alves + + * 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 + + * server.c (main): Don't report dll events on the initial + connection on attaches. + +2007-12-03 Pedro Alves + + * server.c (main): Relax numerical bases supported for the pid of + the --attach command line argument. + +2007-12-03 Pedro Alves + + * win32-low.c (win32_attach): Call OpenProcess before + DebugActiveProcess, not after. Add last error output to error + call. + +2007-12-03 Pedro Alves + + * 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 + + * 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 + + * 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 + + * win32-low.c (win32_wait): Don't read from the inferior when it + has already exited. + +2007-12-02 Pedro Alves + + * 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 + + * hostio.c: Correct copyright year. + +2007-11-30 Daniel Jacobowitz + + * 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 + + * linux-low.c: Include . + +2007-11-01 Daniel Jacobowitz + + * 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 + + * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh. + +2007-10-24 Daniel Jacobowitz + + * linux-low.c (handle_extended_wait): Handle unexpected signals. + +2007-10-23 Daniel Jacobowitz + + * 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 + + * 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 + + * 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 + + * linux-low.c (linux_wait_for_event): Do not pass signals while + single-stepping. + +2007-09-03 Pedro Alves + + * 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 + + * win32-low.c (handle_load_dll): Don't use toolhelp when waiting. + +2007-08-23 Joel Brobecker + + * configure.ac: Switch license to GPLv3. + +2007-08-01 Michael Snyder + + * remote-utils.c (putpkt_binary): Memory leak, free buf2. + +2007-07-31 Pedro Alves + + * 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 + + * server.c (main): Check for inferior exit before main loop. + +2007-07-18 Pedro Alves + + * remote-utils.c (remote_open): Set SO_KEEPALIVE on remote_desc + instead of on tmp_desc. + +2007-07-17 Pedro Alves + Daniel Jacobowitz + + * 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 + + * configure.srv: Set srv_linux_regsets for sh*-*-linux*. + * linux-sh-low.c (sh_fill_gregset, target_regsets): New. + +2007-07-08 Pedro Alves + + * win32-low.c (handle_output_debug_string): Ignore event if not + waiting. + +2007-07-08 Pedro Alves + + * win32-arm-low.c (arm_wince_breakpoint): Fix typo. + +2007-07-03 Daniel Jacobowitz + + * remote-utils.c (look_up_one_symbol): Handle 'm' packets. + +2007-07-02 Daniel Jacobowitz + + * 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 + + * 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 + + * linux-low.c (linux_create_inferior): Try execv before execvp. + * spu-low.c (spu_create_inferior): Likewise. + +2007-06-13 Mike Frysinger + + * linux-low.c (linux_create_inferior): Change execv to execvp. + * spu-low.c (spu_create_inferior): Likewies. + +2007-06-13 Daniel Jacobowitz + + * 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 + Markus Deuling + + * 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 + + * spu-low.c (spu_proc_xfer_spu): Do not return failure when + accessing non-seekable spufs files. + +2007-05-16 Markus Deuling + + * server.c (handle_query): Add reply for qC packet. + +2007-05-10 Pedro Alves + Leo Zayas + + * 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 + + * 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 + + * linux-low.c (linux_detach): Change return type to int. Return 0. + * spu-low.c (spu_detach): Likewise. + +2007-05-10 Pedro Alves + + * 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 + + * win32-low.c (win32-attach): Fix return value. + * target.h (target_ops): Describe ATTACH return values. + +2007-05-10 Pedro Alves + + * 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 + + * win32-low.c (win32_wait): Don't use WSTOPSIG. + +2007-03-30 Pedro Alves + + * win32-low.c: Commit leftover changes from 2007-03-29. + +2007-03-30 Daniel Jacobowitz + + * 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 + + * 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 + + * configure.srv (arm*-*-mingw32ce*): Move near the other + arm targets. + +2007-03-29 Pedro Alves + + * 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 + + * win32-low.c: Rename typedef thread_info to + win32_thread_info throughout. + +2007-03-28 Pedro Alves + + * 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 + + * 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 + + * server.c (main): Correct strtoul check. + +2007-03-27 Jon Ringle + + * linux-low.c: Check __ARCH_HAS_MMU__ also. + +2007-03-27 Brooks Moses + + * Makefile.in: Add dummy "pdf" and "install-pdf" targets. + +2007-02-27 Daniel Jacobowitz + + * terminal.h: Check HAVE_SGTTY_H. + +2007-02-27 Mat Hostetter + + * remote-utils.c (remote_open): Print out the assigned port number. + +2007-02-26 Daniel Jacobowitz + + * 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 + + * Makefile.in (EXEEXT): New. + (clean): Use $(EXEEXT). + +2007-02-25 Pedro Alves + + * 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 + + * 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 + + * spu-low.c (spu_arch_string): New. + (spu_target_ops): Add spu_arch_string. + +2007-02-16 Daniel Jacobowitz + + * 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 + + * 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 + + * remote-utils.c [USE_WIN32API] (read, write): Define. + (putpkt_binary, input_interrupt, readchar, getpkt): Use read and + write. + +2007-01-09 Daniel Jacobowitz + + * 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 + Daniel Jacobowitz + + * 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 + Daniel Jacobowitz + + * 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 + + * README: Update supported targets. + +2006-11-28 Daniel Jacobowitz + + * 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 + + * 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 + + * configure.ac: Correct td_thr_tls_get_addr test. + * configure: Regenerated. + +2006-11-16 Daniel Jacobowitz + + * 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 + + * server.c (handle_query): Correct error handling for read_auxv. + +2005-10-19 Ulrich Weigand + + * 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 + + * 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 + + * 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 + + * remote-utils.c (try_rle): New function. + (putpkt_binary): Use it. + +2006-08-19 Daniel Jacobowitz + + * 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 + + * 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 + + * server.c (handle_query): Correct qPart to qXfer. + +2006-07-22 Daniel Jacobowitz + + * 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 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 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 for mingw32. + (remote_close, remote_open): Adjust for Winsock support. + * configure, config.in: Regenerated. + +2006-07-12 Daniel Jacobowitz + + * 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 + + * 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 + + * server.c (handle_query): Handle qSupported. + +2006-05-30 Daniel Jacobowitz + + * 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 + + * 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 + + * 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 + + * linux-mips-low.c: Include 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 + + * 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 + + * remote-utils.c (prepare_resume_reply): Move declaration + of gdb_id_from_wait to the top of the block. + +2006-02-15 Daniel Jacobowitz + + * linux-low.c (regsets_store_inferior_registers): Read the regset + from the target before filling it. + +2006-02-08 Daniel Jacobowitz + + * server.c (attach_inferior): Return SIGTRAP for a successful + attach. + +2006-02-01 Daniel Jacobowitz + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * acinclude.m4: Correct quoting. + * aclocal.m4: Regenerated. + + Suggested by SZOKOVACS Robert : + * 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 + + * server.h (error, fatal, warning): Add ATTR_FORMAT. + +2005-07-13 Daniel Jacobowitz + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * configure.ac: Simplify and improve check for socklen_t. + * configure, config.in: Regenerate. + +2005-06-12 Daniel Jacobowitz + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * proc-service.c (ps_lgetregs): Search all_processes instead of + all_threads. + +2005-05-04 Daniel Jacobowitz + + * 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 + + * 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 + + * Makefile.in (stamp-h): Set CONFIG_HEADERS explicitly. + +2005-03-03 Daniel Jacobowitz + + * 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 + + * acinclude.m4: Include bfd/bfd.m4 directly. + * configure.ac: Use AC_ARG_PROGRAM. Suggested by Aron Griffis + . + * aclocal.m4, configure: Regenerated. + +2005-01-07 Andrew Cagney + + * configure.ac: Rename configure.in, require autoconf 2.59. + * configure: Re-generate. + +2004-12-08 Daniel Jacobowitz + + * 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 + + * 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 + + * 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 + + * linux-i386-low.c (ps_get_thread_area): New. + * linux-x86-64-low.c (ps_get_thread_area): New. + * linux-low.c: Include . + (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 + + * configure.in: Test for -rdynamic. + * configure: Regenerated. + * Makefile (INTERNAL_LDFLAGS): New. + (gdbserver, gdbreplay): Use it. + +2004-09-02 Andrew Cagney + + * Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE. + +2004-03-23 Daniel Jacobowitz + + * linux-low.c (linux_wait): Clear all_processes list also. + +2004-03-12 Daniel Jacobowitz + + * linux-low.c: Include . Remove extern declaration of + errno. + +2004-03-12 Daniel Jacobowitz + + * gdbreplay.c, server.h, utils.c: Update copyright years. + +2004-03-04 Nathan J. Williams + + * server.c (main): Print child status or termination signal from + variable 'signal', not 'sig'. + +2004-03-04 Nathan J. Williams + + * 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 + + * Makefile.in (distclean): Remove config.h, stamp-h, and config.log. + Unify with other clean targets. + +2004-02-29 Daniel Jacobowitz + + * server.c (handle_v_cont): Call set_desired_inferior. + +2004-02-29 Daniel Jacobowitz + + * remote-utils.c (prepare_resume_reply): Always supply "thread:". + +2004-02-29 Daniel Jacobowitz + + * 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 + + * 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 + + * linux-arm-low.c (arm_get_pc): Print out stop PC in debug mode. + +2004-02-26 Daniel Jacobowitz + + * 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 + + * 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 + + Committed by Jim Blandy . + + * 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 + + * 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 + + * regcache.c (new_register_cache): Clear the allocated register + buffer. Suggested by Atsushi Nemoto . + +2003-10-13 Daniel Jacobowitz + + * 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 + + * Makefile.in (install-only): Create dest dir. Support DESTDIR. + (uninstall): Support DESTDIR. + +Mon Jul 21 20:09:34 UTC 2003 Brendan Conoboy + + * configure.srv: Add xscale*linux copy of arm*linux entry. + +2003-07-24 Daniel Jacobowitz + + * linux-arm-low.c (arm_reinsert_addr): New function. + (the_low_target): Add arm_reinsert_addr. + +2003-07-08 Mark Kettenis + + * mem-break.c: Remove whitespace at end of file. + +2003-06-28 Daniel Jacobowitz + + * 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 + + * linux-sh-low.c (sh_regmap): Fix FP register offsets, reported by + SUGIOKA Toshinobu . + +2003-06-20 Daniel Jacobowitz + + * 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 + + * 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 + + From Kelley Cook : + * configure.srv: Accept i[34567]86 variants. + +2003-06-05 Daniel Jacobowitz + + * 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 + + * 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 + + * linux-low.c (linux_create_inferior): Use __SIGRTMIN. + (linux_wait_for_event, linux_init_signals): Likewise. + +2003-03-17 Daniel Jacobowitz + + * configure.in: Check for stdlib.h. + * configure: Regenerated. + * config.in: Regenerated. + +2003-01-04 Andreas Schwab + + * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31. + +2003-01-02 Andrew Cagney + + * Makefile.in: Remove obsolete code. + +2002-11-20 Daniel Jacobowitz + + * linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of + defined(PT_FPR0_HI). + +2002-11-17 Stuart Hughes + + * linux-arm-low.c (arm_num_regs): Increase. + (arm_regmap): Include status register. + +2002-11-17 Daniel Jacobowitz + + * linux-low.c (register_addr): Remove incorrect -1 check. + +2002-08-29 Daniel Jacobowitz + + * 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 + + * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2. + +2002-08-20 Jim Blandy + + * Makefile.in (LDFLAGS): Allow the configure script to establish a + default for this. + +2002-08-01 Andrew Cagney + + * Makefile.in: Make chill references obsolete. + +2002-07-24 Kevin Buettner + + * configure.in (unistd.h): Add to AC_CHECK_HEADERS list. + * configure: Regenerate. + * config.in: Regenerate. + +2002-07-09 David O'Brien + + * gdbreplay.c (stdlib.h, unistd.h): Conditionaly include. + (perror_with_name, remote_close, remote_open, expect, play): Static. + +2002-07-04 Michal Ludvig + + * 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 + + * regcache.c: Add comment. + +2002-06-11 Daniel Jacobowitz + + * 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 + + From Martin Pool : + * server.c (gdbserver_usage): New function. + (main): Call it. + +2002-05-14 Daniel Jacobowitz + + * mem-break.c (reinsert_breakpoint_by_bp): Correct typo + stop_at -> stop_pc. + +2002-05-04 Andrew Cagney + + * Makefile.in: Remove obsolete code. + +2002-04-24 Michal Ludvig + + * 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 + + * 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 + + * 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 + + * 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 + + * server.h: Include if HAVE_STRING_H. + * ChangeLog: Correct paths in last ChangeLog entry. + +2002-04-09 Daniel Jacobowitz + + * 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 + + * Makefile.in: Add stamp-h target. + * configure.in: Create stamp-h. + * configure: Regenerated. + +2002-04-09 Daniel Jacobowitz + + * 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 + + * Makefile.in: Add WARN_CFLAGS. Update configury + dependencies. + * configure.in: Check for + * 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 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. diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in index b58184d4089..e72ee6bca96 100644 --- a/gdb/gdbserver/Makefile.in +++ b/gdb/gdbserver/Makefile.in @@ -106,7 +106,7 @@ GNULIB_H = $(GNULIB_BUILDDIR)/import/string.h @GNULIB_STDINT_H@ # e.g.: "target/wait.h". # INCLUDE_CFLAGS = -I. -I${srcdir} -I$(srcdir)/../common \ - -I$(srcdir)/../regformats -I$(srcdir)/../ -I$(INCLUDE_DIR) \ + -I$(srcdir)/../regformats -I$(srcdir)/.. -I$(INCLUDE_DIR) \ $(INCGNU) # M{H,T}_CFLAGS, if defined, has host- and target-dependent CFLAGS