PR 10244
[deliverable/binutils-gdb.git] / gdb / gdbserver / ChangeLog
index ea0ba8b38c31803c211cfa7788ca5c7bf57c892f..6d60590733df27b3df3f702e510f2edb938450a0 100644 (file)
@@ -1,3 +1,980 @@
+2009-06-23  Aleksandar Ristovski  <aristovski@qnx.com>
+
+       * server.c (process_serial_event): Add support for Z0 and Z1 packet.
+       * target.h (target_ops): Comment for *_watchpoint to make it clear
+       the functions can get types '0' and '1'.
+
+2009-06-22  Aleksandar Ristovski  <aristovski@qnx.com>
+
+       * linux-low.c (usr_fetch_inferior_registers): Remove check for regno 0.
+       * proc-service.c (ps_lgetregs): Pass -1 to fetch all registers.
+       * regcache.c (get_regcache): Likewise.
+       * spu-low.c (spu_fetch_registers): Remove 0 to -1 conversion.
+       * win32-low.c (child_fetch_inferior_registers): Remove check for
+       regno 0.
+
+2009-06-19  Aleksandar Ristovski  <aristovski@qnx.com>
+           Pedro Alves <pedro@codesourcery.com>
+
+       * target.h (struct target_ops) <supports_multi_process>: New
+       callback.
+       (target_supports_multi_process): New.
+       * server.c (handle_query): Even if GDB reports support, only
+       enable multi-process if the target also supports it.  Report
+       multi-process support only if the target backend supports it.
+       * linux-low.c (linux_supports_multi_process): New function.
+       (linux_target_ops): Install it as target_supports_multi_process
+       callback.
+
+2009-05-24  Doug Evans  <dje@google.com>
+
+       Global renaming of find_thread_pid to find_thread_ptid.
+       * server.h (find_thread_ptid): Renamed from find_thread_pid.
+       * inferiors.c (find_thread_ptid): Renamed from find_thread_pid.
+       All callers updated.
+
+       * linux-low.c (handle_extended_wait): Use linux_resume_one_lwp
+       to resume the newly created thread, don't call ptrace (PTRACE_CONT)
+       directly.
+
+       * linux-low.c (get_stop_pc): Print pc if debug_threads.
+       (check_removed_breakpoint, linux_wait_for_lwp): Ditto.
+       (linux_resume_one_lwp): Ditto.
+
+2009-05-23  Doug Evans  <dje@google.com>
+
+       * linux-low.c (linux_resume_one_lwp): Change type of first arg
+       from struct inferior_list_entry * to struct lwp_info *.
+       All callers updated.
+
+2009-05-13  Doug Evans  <dje@google.com>
+
+       * linux-x86-low.c: Don't include assert.h.
+       (x86_siginfo_fixup): Use fatal, not assert.
+       (x86_arch_setup): Fix comment.
+
+2009-05-12  Doug Evans  <dje@google.com>
+
+       Biarch support for i386/amd64 gdbserver.
+       * Makefile.in (SFILES): Remove linux-i386-low.c, linux-x86-64-low.c.
+       Add linux-x86-low.c.
+       (linux-i386-low.o, linux-x86-64-low.o): Delete.
+       (linux-x86-low.o): Add.
+       * linux-x86-64-low.c: Delete.
+       * linux-i386-low.c: Delete.
+       * linux-x86-low.c: New file.
+       * configure.srv (i?86-linux srv_tgtobj): Replace linux-i386-low.o with
+       linux-x86-low.o.
+       (x86_64-linux srv_tgtobj): Replace linux-x86-64-low.o with
+       linux-x86-low.o.
+       (x86_64-linux srv_regobj): Add reg-i386-linux.o.
+       * linux-low.c: Include ansidecl.h, elf/common.h, elf/external.h.
+       (linux_child_pid_to_exec_file): New function.
+       (elf_64_header_p, elf_64_file_p): New functions.
+       (siginfo_fixup): New function.
+       (linux_xfer_siginfo): New local inf_siginfo.  Call siginfo_fixup to
+       give target a chance to convert layout.
+       * linux-low.h (linux_target_ops): New member siginfo_fixup.
+       (linux_child_pid_to_exec_file, elf_64_file_p): Declare.
+
+2009-05-07  Doug Evans  <dje@google.com>
+
+       * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak.
+       (regsets_store_inferior_registers): Ditto.
+
+2009-05-06  Pedro Alves  <pedro@codesourcery.com>
+
+       PR server/10048
+
+       * linux-low.c (must_set_ptrace_flags): Delete.
+       (linux_create_inferior): Set `lwp->must_set_ptrace_flags' instead
+       of the global.
+       (linux_attach_lwp_1): Don't set PTRACE_SETOPTIONS here.  Set
+       `lwp->must_set_ptrace_flags' instead.
+       (linux_wait_for_event_1): Set ptrace options here.
+       (linux_wait_1): ... not here.
+
+2009-04-30  Doug Evans  <dje@google.com>
+
+       * inferiors.c (started_inferior_callback): New function.
+       (attached_inferior_callback): New function.
+       (have_started_inferiors_p, have_attached_inferiors_p): New functions.
+       * server.c (print_started_pid, print_attached_pid): New functions.
+       (detach_or_kill_for_exit): New function.
+       (main): Call it instead of for_each_inferior (kill_inferior_callback).
+       * server.h (have_started_inferiors_p): Declare.
+       (have_attached_inferiors_p): Declare.
+
+       * inferiors.c (remove_process): Fix memory leak, free process.
+       * linux-low.c (linux_remove_process): New function.
+       (linux_kill): Call it instead of remove_process.
+       (linux_detach, linux_wait_1): Ditto.
+
+2009-04-19  Danny Backx  <dannybackx@users.sourceforge.net>
+
+       * configure.srv: Add x86 Windows CE target.
+
+2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * inferiors.c (get_thread_process): Make global.
+       * server.h (get_thread_process): Add prototype.
+       * thread-db.c (find_one_thread): Use get_thread_process
+       instead of current_process.
+       (thread_db_get_tls_address): Do not crash if called when
+       thread layer is not yet initialized.
+
+2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * remote-utils.c (prepare_resume_reply): Null-terminate packet.
+       * spu-low.c (current_tid): Rename to ...
+       (current_ptid): ... this.
+       (fetch_ppc_register, fetch_ppc_memory, store_ppc_memory,
+       spu_proc_xfer_spu, spu_resume, spu_request_interrupt): Use
+       ptid_get_lwp (current_ptid) instead of current_tid.
+       (spu_kill, spu_detach, spu_join, spu_wait): Use pid argument
+       instead of current_tid.  Use find_process_pid to verify pid
+       argument is valid.  Pass proper argument to remove_process.
+       (spu_thread_alive): Compare current_ptid instead of current_tid.
+       (spu_resume): Likewise.
+
+2009-04-02  Pedro Alves  <pedro@codesourcery.com>
+
+       * linux-low.c (usr_store_inferior_registers): Declare local `pid'
+       variable.
+
+2009-04-01  Pedro Alves  <pedro@codesourcery.com>
+
+       Implement the multiprocess extensions, and add linux multiprocess
+       support.
+
+       * server.h (ULONGEST): Declare.
+       (struct ptid, ptid_t): New.
+       (minus_one_ptid, null_ptid): Declare.
+       (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
+       (ptid_get_tid, ptid_equal, ptid_is_pid): Declare.
+       (struct inferior_list_entry): Change `id' type from unsigned from
+       to ptid_t.
+       (struct sym_cache, struct breakpoint, struct
+       process_info_private): Forward declare.
+       (struct process_info): Declare.
+       (current_process): Declare.
+       (all_processes): Declare.
+       (initialize_inferiors): Declare.
+       (add_thread): Adjust to use ptid_t.
+       (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): Ditto.
+       (add_process, remove_process, find_thread_pid): Declare.
+       (find_inferior_id): Adjust to use ptid_t.
+       (cont_thread, general_thread, step_thread): Change type to ptid_t.
+       (multi_process): Declare.
+       (push_event): Adjust to use ptid_t.
+       (read_ptid, write_ptid): Declare.
+       (prepare_resume_reply): Adjust to use ptid_t.
+       (clear_symbol_cache): Declare.
+       * inferiors.c (all_processes): New.
+       (null_ptid, minus_one_ptid): New.
+       (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
+       (ptid_get_tid, ptid_equal, ptid_is_pid): New.
+       (add_thread): Change unsigned long to ptid.  Remove gdb_id
+       parameter.  Adjust.
+       (thread_id_to_gdb_id, thread_to_gdb_id): Change unsigned long to ptid.
+       (gdb_id_to_thread): Rename to ...
+       (find_thread_pid): ... this.  Change unsigned long to ptid.
+       (gdb_id_to_thread_id, find_inferior_id): Change unsigned long to ptid.
+       (loaded_dll, pull_pid_from_list): Adjust.
+       (add_process, remove_process, find_process_pid)
+       (get_thread_process, current_process, initialize_inferiors): New.
+       * target.h (struct thread_resume) <thread>: Change type to ptid_t.
+       (struct target_waitstatus) <related_pid>: Ditto.
+       (struct target_ops) <kill, detach>: Add `pid' argument.  Change
+       return type to int.
+       (struct target_ops) <join>: Add `pid' argument.
+       (struct target_ops) <thread_alive>: Change pid's type to ptid_t.
+       (struct target_ops) <wait>: Add `ptid' field.  Change return type
+       to ptid.
+       (kill_inferior, detach_inferior, join_inferior): Add `pid' argument.
+       (mywait): Add `ptid' argument.  Change return type to ptid_t.
+       (target_pid_to_str): Declare.
+       * target.c (set_desired_inferior): Adjust to use ptids.
+       (mywait): Add new `ptid' argument.  Adjust.
+       (target_pid_to_str): New.
+       * mem-break.h (free_all_breakpoints): Declare.
+       * mem-break.c (breakpoints): Delelete.
+       (set_breakpoint_at, delete_breakpoint, find_breakpoint_at)
+       (check_mem_read, check_mem_write, delete_all_breakpoints): Adjust
+       to use per-process breakpoint list.
+       (free_all_breakpoints): New.
+       * remote-utils.c (struct sym_cache) <name>: Drop `const'.
+       (symbol_cache, all_symbols_looked_up): Delete.
+       (hexchars): New.
+       (ishex, unpack_varlen_hex, write_ptid, hex_or_minus_one,
+       read_ptid): New.
+       (prepare_resume_reply): Change ptid argument's type from unsigned
+       long to ptid_t.  Adjust.  Implement W;process and X;process.
+       (free_sym_cache, clear_symbol_cache): New.
+       (look_up_one_symbol): Adjust to per-process symbol cache.  *
+       * server.c (cont_thread, general_thread, step_thread): Change type
+       to ptid_t.
+       (attached): Delete.
+       (multi_process): New.
+       (last_ptid): Change type to ptid_t.
+       (struct vstop_notif) <ptid>: Change type to ptid_t.
+       (queue_stop_reply, push_event): Change `ptid' argument's type to
+       ptid_t.
+       (discard_queued_stop_replies): Add `pid' argument.
+       (start_inferior): Adjust to use ptids.  Adjust to mywait interface
+       changes.  Don't reference the `attached' global.
+       (attach_inferior): Adjust to mywait interface changes.
+       (handle_query): Adjust to use ptids.  Parse GDB's qSupported
+       features.  Handle and report "multiprocess+".  Handle
+       "qAttached:PID".
+       (handle_v_cont): Adjust to use ptids.  Adjust to mywait interface
+       changes.
+       (handle_v_kill): New.
+       (handle_v_stopped): Adjust to use target_pid_to_str.
+       (handle_v_requests): Allow multiple attaches and runs when
+       multiprocess extensions are in effect.  Handle "vKill".
+       (myresume): Adjust to use ptids.
+       (queue_stop_reply_callback): Add `arg' parameter.  Handle it.
+       (handle_status): Adjust to discard_queued_stop_replies interface
+       change.
+       (first_thread_of, kill_inferior_callback)
+       (detach_or_kill_inferior_callback, join_inferiors_callback): New.
+       (main): Call initialize_inferiors.  Adjust to use ptids, killing
+       and detaching from all inferiors.  Handle multiprocess packet
+       variants.
+       * linux-low.h: Include gdb_proc_service.h.
+       (struct process_info_private): New.
+       (struct linux_target_ops) <pid_of>: Use ptid_get_pid.
+       <lwpid_of>: Use ptid_get_lwp.
+       (get_lwp_thread): Adjust.
+       (struct lwp_info): Add `dead' member.
+       (find_lwp_pid): Declare.
+       * linux-low.c (thread_db_active): Delete.
+       (new_inferior): Adjust comment.
+       (inferior_pid): Delete.
+       (linux_add_process): New.
+       (handle_extended_wait): Adjust.
+       (add_lwp): Change unsigned long to ptid.
+       (linux_create_inferior): Add process to processes table.  Adjust
+       to use ptids.  Don't set new_inferior here.
+       (linux_attach_lwp): Rename to ...
+       (linux_attach_lwp_1): ... this.  Add `initial' argument.  Handle
+       it.  Adjust to use ptids.
+       (linux_attach_lwp): New.
+       (linux_attach): Add process to processes table.  Don't set
+       new_inferior here.
+       (struct counter): New.
+       (second_thread_of_pid_p, last_thread_of_process_p): New.
+       (linux_kill_one_lwp): Add `args' parameter.  Handle it.  Adjust to
+       multiple processes.
+       (linux_kill): Add `pid' argument.  Handle it.  Adjust to multiple
+       processes.  Remove process from process table.
+       (linux_detach_one_lwp): Add `args' parameter.  Handle it.  Adjust
+       to multiple processes.
+       (any_thread_of): New.
+       (linux_detach): Add `pid' argument, and handle it.  Remove process
+       from processes table.
+       (linux_join): Add `pid' argument.  Handle it.
+       (linux_thread_alive): Change unsighed long argument to ptid_t.
+       Consider dead lwps as not being alive.
+       (status_pending_p): Rename `dummy' argument to `arg'.  Filter out
+       threads we're not interested in.
+       (same_lwp, find_lwp_pid): New.
+       (linux_wait_for_lwp): Change `pid' argument's type from int to
+       ptid_t.  Adjust.
+       (linux_wait_for_event): Rename to ...
+       (linux_wait_for_event_1): ... this.  Change `pid' argument's type
+       from int to ptid_t.  Adjust.
+       (linux_wait_for_event): New.
+       (linux_wait_1): Add `ptid' argument.  Change return type to
+       ptid_t.  Adjust.  Use last_thread_of_process_p.  Remove processes
+       that exit from the process table.
+       (linux_wait): Add `ptid' argument.  Change return type to ptid_t.
+       Adjust.
+       (mark_lwp_dead): New.
+       (wait_for_sigstop): Adjust to use ptids.  If a process exits while
+       stopping all threads, mark its main lwp as dead.
+       (linux_set_resume_request, linux_resume_one_thread): Adjust to use
+       ptids.
+       (fetch_register, usr_store_inferior_registers)
+       (regsets_fetch_inferior_registers)
+       (regsets_store_inferior_registers, linux_read_memory)
+       (linux_write_memory): Inline `inferior_pid'.
+       (linux_look_up_symbols): Adjust to use per-process
+       `thread_db_active'.
+       (linux_request_interrupt): Adjust to use ptids.
+       (linux_read_auxv): Inline `inferior_pid'.
+       (initialize_low): Don't reference thread_db_active.
+       * gdb_proc_service.h (struct ps_prochandle) <pid>: Remove.
+       * proc-service.c (ps_lgetregs): Use find_lwp_pid.
+       (ps_getpid): Return the pid of the current inferior.
+       * thread-db.c (proc_handle, thread_agent): Delete.
+       (thread_db_create_event, thread_db_enable_reporting): Adjust to
+       per-process data.
+       (find_one_thread): Change argument type to ptid_t.  Adjust to
+       per-process data.
+       (maybe_attach_thread): Adjust to per-process data and ptids.
+       (thread_db_find_new_threads): Ditto.
+       (thread_db_init): Ditto.
+       * spu-low.c (spu_create_inferior, spu_attach): Add process to
+       processes table.  Adjust to use ptids.
+       (spu_kill, spu_detach): Adjust interface.  Remove process from
+       processes table.
+       (spu_join, spu_thread_alive): Adjust interface.
+       (spu_wait): Adjust interface.  Remove process from processes
+       table.  Adjust to use ptids.
+       * win32-low.c (current_inferior_tid): Delete.
+       (current_inferior_ptid): New.
+       (debug_event_ptid): New.
+       (thread_rec): Take a ptid.  Adjust.
+       (child_add_thread): Add `pid' argument.  Adjust to use ptids.
+       (child_delete_thread): Ditto.
+       (do_initial_child_stuff): Add `attached' argument.  Add process to
+       processes table.
+       (child_fetch_inferior_registers, child_store_inferior_registers):
+       Adjust.
+       (win32_create_inferior): Pass 0 to do_initial_child_stuff.
+       (win32_attach): Pass 1 to do_initial_child_stuff.
+       (win32_kill): Adjust interface.  Remove process from processes
+       table.
+       (win32_detach): Ditto.
+       (win32_join): Adjust interface.
+       (win32_thread_alive): Take a ptid.
+       (win32_resume): Adjust to use ptids.
+       (get_child_debug_event): Ditto.
+       (win32_wait): Adjust interface.  Remove exiting process from
+       processes table.
+
+2009-04-01  Pedro Alves  <pedro@codesourcery.com>
+
+       Non-stop mode support.
+
+       * server.h (non_stop): Declare.
+       (gdb_client_data, handler_func): Declare.
+       (delete_file_handler, add_file_handler, start_event_loop):
+       Declare.
+       (handle_serial_event, handle_target_event, push_event)
+       (putpkt_notif): Declare.
+       * target.h (enum resume_kind): New.
+       (struct thread_resume): Replace `step' field by `kind' field.
+       (TARGET_WNOHANG): Define.
+       (struct target_ops) <wait>: Add `options' argument.
+       <supports_non_stop, async, start_non_stop>: New fields.
+       (target_supports_non_stop, target_async): New.
+       (start_non_stop): Declare.
+       (mywait): Add `options' argument.
+       * target.c (mywait): Add `options' argument.  Print child exit
+       notifications here.
+       (start_non_stop): New.
+       * server.c (non_stop, own_buf, mem_buf): New globals.
+       (struct vstop_notif): New.
+       (notif_queue): New global.
+       (queue_stop_reply, push_event, discard_queued_stop_replies)
+       (send_next_stop_reply): New.
+       (start_inferior): Adjust to use resume_kind.  Adjust to mywait
+       interface changes.
+       (attach_inferior): In non-stop mode, don't wait for the target
+       here.
+       (handle_general_set): Handle QNonStop.
+       (handle_query): When handling qC, return the current general
+       thread, instead of the first thread of the list.
+       (handle_query): If the backend supports non-stop mode, include
+       QNonStop+ in the qSupported query response.
+       (handle_v_cont): Adjust to use resume_kind.  Handle resume_stop
+       and non-stop mode.
+       (handle_v_attach, handle_v_run): Handle non-stop mode.
+       (handle_v_stopped): New.
+       (handle_v_requests): Report support for vCont;t.  Handle vStopped.
+       (myresume): Adjust to use resume_kind.  Handle non-stop.
+       (queue_stop_reply_callback): New.
+       (handle_status): Handle non-stop mode.
+       (main): Clear non_stop flag on reconnection.  Use the event-loop.
+       Refactor serial protocol handling from here ...
+       (process_serial_event): ... to this new function.  When GDB
+       selects any thread, select one here.  In non-stop mode, wait until
+       GDB acks all pending events before exiting.
+       (handle_serial_event, handle_target_event): New.
+       * remote-utils.c (remote_open): Install remote_desc in the event
+       loop.
+       (remote_close): Remove remote_desc from the event loop.
+       (putpkt_binary): Rename to...
+       (putpkt_binary_1): ... this.  Add `is_notic' argument.  Handle it.
+       (putpkt_binary): New as wrapper around putpkt_binary_1.
+       (putpkt_notif): New.
+       (prepare_resume_reply): In non-stop mode, don't change the
+       general_thread.
+       * event-loop.c: New.
+       * Makefile.in (OBJ): Add event-loop.o.
+       (event-loop.o): New rule.
+
+       * linux-low.h (pid_of): Moved here.
+       (lwpid_of): New.
+       (get_lwp_thread): Use lwpid_of.
+       (struct lwp_info): Delete `lwpid' field.  Add `suspended' field.
+       * linux-low.c (pid_of): Delete.
+       (inferior_pid): Use lwpid_of.
+       (linux_event_pipe): New.
+       (target_is_async_p): New.
+       (delete_lwp): New.
+       (handle_extended_wait): Use lwpid_of.
+       (add_lwp): Don't set lwpid field.
+       (linux_attach_lwp): Adjust debug output.  Use lwpid_of.
+       (linux_kill_one_lwp): If killing a running lwp, stop it first.
+       Use lwpid_of.  Adjust to linux_wait_for_event interface changes.
+       (linux_detach_one_lwp): If detaching from a running lwp, stop it
+       first.  Adjust to linux_wait_for_event interface changes.  Use
+       lwpid_of.
+       (linux_detach): Don't delete the main lwp here.
+       (linux_join): Use my_waitpid.  Avoid signal_pid.  Use lwpid_of.
+       (status_pending_p): Don't consider explicitly suspended lwps.
+       (linux_wait_for_lwp): Take an integer pid instead of a lwp_info
+       pointer.  Add OPTIONS argument.  Change return type to int.  Use
+       my_waitpid instead of sleeping.  Handle WNOHANG.  Use lwpid_of.
+       (linux_wait_for_event): Take an integer pid instead of a lwp_info
+       pointer.  Add status pointer argument.  Return a pid instead of a
+       status.  Use lwpid_of.  Adjust to linux_wait_for_lwp interface
+       changes.  In non-stop mode, don't switch to a random thread.
+       (linux_wait): Rename to...
+       (linux_wait_1): ... this.  Add target_options argument, and handle
+       it.  Adjust to use resume_kind.  Use lwpid_of.  In non-stop mode,
+       don't handle the continue thread.  Handle TARGET_WNOHANG.  Merge
+       clean exit and signal exit code.  Don't stop all threads in
+       non-stop mode.  In all-stop mode, only stop all threads when
+       reporting a stop to GDB.  Handle explicit thread stop requests.
+       (async_file_flush, async_file_mark): New.
+       (linux_wait): New.
+       (send_sigstop): Use lwpid_of.
+       (wait_for_sigstop): Use lwpid_of.  Adjust to linux_wait_for_event
+       interface changes.  In non-stop mode, don't switch to a random
+       thread.
+       (linux_resume_one_lwp): Use lwpid_of.
+       (linux_continue_one_thread, linux_queue_one_thread): Merge into ...
+       (linux_resume_one_thread): ... this.  Handle resume_stop.  In
+       non-stop mode, don't look for pending flag in all threads.
+       (resume_status_pending_p): Don't consider explicitly suspended
+       threads.
+       (my_waitpid): Reimplement.  Emulate __WALL.
+       (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
+       Use lwpid_of.
+       (sigchld_handler, linux_supports_non_stop, linux_async)
+       (linux_start_non_stop): New.
+       (linux_target_ops): Register linux_supports_non_stop, linux_async
+       and linux_start_non_stop.
+       (initialize_low): Install SIGCHLD handler.
+       * thread-db.c (thread_db_create_event, find_one_thread)
+       (thread_db_get_tls_address): Use lwpid_of.
+       * win32-low.c (win32_detach): Adjust to use resume_kind.
+       (win32_wait): Add `options' argument.
+       * spu-low.c (spu_resume): Adjust to use resume_kind.
+       (spu_wait): Add `options' argument.
+
+2009-04-01  Pedro Alves  <pedro@codesourcery.com>
+
+       Decouple target code from remote protocol.
+
+       * target.h (enum target_waitkind): New.
+       (struct target_waitstatus): New.
+       (struct target_ops) <wait>: Return an unsigned long.  Take a
+       target_waitstatus pointer instead of a char pointer.
+       (mywait): Likewise.
+       * target.c (mywait): Change prototype to return an unsigned long.
+       Take a target_waitstatus pointer instead of a char pointer.  Adjust.
+       * server.h (thread_from_wait, old_thread_from_wait): Delete
+       declarations.
+       (prepare_resume_reply): Change prototype to take a
+       target_waitstatus.
+       * server.c (thread_from_wait, old_thread_from_wait): Delete.
+       (last_status, last_ptid): New.
+       (start_inferior): Remove "statusptr" argument.  Adjust.  Return a
+       pid instead of a signal.
+       (attach_inferior): Remove "status" and "signal" parameters.
+       Adjust.
+       (handle_query): For qGetTLSAddr, parse the thread id with strtol,
+       not as an address.
+       (handle_v_cont, handle_v_attach, handle_v_run, handle_v_kill)
+       (handle_v_requests, myresume): Remove "status" and "signal"
+       parameters.  Adjust.
+       (handle_status): New.
+       (main): Delete local `status'.  Adjust.
+       * remote-utils.c: Include target.h.
+       (prepare_resume_reply): Change prototype to take a
+       target_waitstatus.  Adjust.
+
+       * linux-low.c (linux_wait): Adjust to new target_ops->wait
+       interface.
+       * spu-low.c (spu_wait): Adjust.
+       * win32-low.c (enum target_waitkind, struct target_waitstatus):
+       Delete.
+       (win32_wait): Adjust.
+
+2009-04-01  Pedro Alves  <pedro@codesourcery.com>
+
+       * target.h (struct thread_resume): Delete leave_stopped member.
+       (struct target_ops): Add a `n' argument to the `resume' callback.
+       * server.c (start_inferior): Adjust.
+       (handle_v_cont, myresume): Adjust.
+       * linux-low.c (check_removed_breakpoint): Adjust to resume
+       interface change, and to removed leave_stopped field.
+       (resume_ptr): Delete.
+       (struct thread_resume_array): New.
+       (linux_set_resume_request): Add new `arg' parameter.  Adjust to
+       resume interface change.
+       (linux_continue_one_thread, linux_queue_one_thread)
+       (resume_status_pending_p): Check if the resume field is NULL
+       instead of checking the leave_stopped member.
+       (linux_resume): Adjust to the target resume interface change.
+       * spu-low.c (spu_resume): Adjust to the target resume interface
+       change.
+       * win32-low.c (win32_detach, win32_resume): Ditto.
+
+2009-04-01  Pedro Alves  <pedro@codesourcery.com>
+
+       * linux-low.c (linux_wait_for_event): Don't clear the `stepping'
+       flag.
+       (wait_for_sigstop): Don't leave a finished single-step SIGTRAP
+       pending.
+       (linux_continue_one_thread): Only preserve the stepping flag if
+       there's a pending breakpoint.
+
+2009-03-31  Pedro Alves  <pedro@codesourcery.com>
+
+       * server.c (main): After the inferior having exited, call
+       remote_close before exiting gdbserver.
+
+2009-03-25  Thiago Jung Bauermann  <bauerman@br.ibm.com>
+
+       Fix size of FPSCR in Power 7 processors.
+       * linux-ppc-low.c (PPC_FEATURE_ARCH_2_05): Remove #define.
+       (PPC_FEATURE_HAS_DFP): New #define.
+       (ppc_arch_setup): Check for DFP feature instead of ISA 2.05 to decide on
+       size of the FPSCR.
+
+2009-03-23  Pedro Alves  <pedro@codesourcery.com>
+
+       * server.c (handle_query) Whitespace and formatting.
+
+2009-03-22  Pedro Alves  <pedro@codesourcery.com>
+
+       * i387-fp.c, linux-arm-low.c, linux-cris-low.c,
+       linux-crisv32-low.c, linux-i386-low.c, linux-low.c,
+       linux-mips-low.c, linux-s390-low.c, linux-sparc-low.c,
+       linux-x86-64-low.c, linux-xtensa-low.c, proc-service.c,
+       regcache.c, remote-utils.c, server.c, spu-low.c, target.h,
+       thread-db.c, win32-low.c, xtensa-xtregs.c, gdbreplay.c,
+       Makefile.in, configure.ac: Fix whitespace throughout.
+       * configure: Regenerate.
+
+2009-03-22  Pedro Alves  <pedro@codesourcery.com>
+
+       * inferiors.c (find_inferior): Make it safe for the callback
+       function to delete the currently iterated inferior.
+
+2009-03-22  Pedro Alves  <pedro@codesourcery.com>
+
+       * Makefile.in (linuw_low_h): Move higher.
+       (thread-db.o): Depend on $(linux_low_h).
+
+2009-03-17  Pedro Alves  <pedro@codesourcery.com>
+
+       Rename "process" to "lwp" throughout.
+
+       * linux-low.c (all_processes): Rename to...
+       (all_lwps): ... this.
+       (inferior_pid, handle_extended_wait, get_stop_pc): Adjust.
+       (add_process): Rename to ...
+       (add_lwp): ... this.  Adjust.
+       (linux_create_inferior): Adjust.
+       (linux_attach_lwp): Adjust.
+       (linux_attach): Adjust.
+       (linux_kill_one_process): Rename to ...
+       (linux_kill_one_lwp): ... this.  Adjust.
+       (linux_kill): Adjust.
+       (linux_detach_one_process): Rename to ...
+       (linux_detach_one_lwp): ... this.  Adjust.
+       (linux_detach): Adjust.
+       (check_removed_breakpoint): Adjust.
+       (status_pending_p): Adjust.
+       (linux_wait_for_process): Rename to ...
+       (linux_wait_for_lwp): ... this.  Adjust.
+       (linux_wait_for_event): Adjust.
+       (send_sigstop): Adjust.
+       (wait_for_sigstop): Adjust.
+       (stop_all_processes): Rename to ...
+       (stop_all_lwps): ... this.
+       (linux_resume_one_process): Rename to ...
+       (linux_resume_one_lwp): ... this.  Adjust.
+       (linux_set_resume_request, linux_continue_one_thread)
+       (linux_queue_one_thread, resume_status_pending_p)
+       (usr_store_inferior_registers, regsets_store_inferior_registers)
+       (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
+       Adjust.
+       * linux-low.h (get_process): Rename to ...
+       (get_lwp): ... this.  Adjust.
+       (get_thread_process): Rename to ...
+       (get_thread_lwp): ... this.  Adjust.
+       (get_process_thread): Rename to ...
+       (get_lwp_thread): ... this.  Adjust.
+       (struct process_info): Rename to ...
+       (struct lwp_info): ... this.
+       (all_processes): Rename to ...
+       (all_lwps): ... this.
+       * proc-service.c (ps_lgetregs): Adjust.
+       * thread-db.c (thread_db_create_event, find_one_thread)
+       (maybe_attach_thread, thread_db_get_tls_address): Adjust.
+
+2009-03-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * server.c (handle_query): Handle "qAttached".
+
+2009-03-13  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * Makefile.in, hostio-errno.c, errno.c, xtensa-xtregs.c: Change to
+       GPLv3, update license URL.
+
+2009-03-01  Doug Evans  <dje@google.com>
+
+       * Makefile.in (INCLUDE_CFLAGS): Add -I$(srcdir)/../common.
+       (server_h): Add gdb_signals.h.
+       (signals.o): Update.
+       * server.h (target_signal_from_host,target_signal_to_host_p)
+       (target_signal_to_host,target_signal_to_name): Moved to gdb_signals.h.
+
+2009-02-14  Pierre Muller  <muller@ics.u-strasbg.fr>
+
+       * remote-utils.c (getpkt): Also generate remote-debug
+       information if noack_mode is set.
+
+2009-02-06  Pedro Alves  <pedro@codesourcery.com>
+
+       * server.c (handle_query): Report qXfer:siginfo:read and
+       qXfer:siginfo:write as supported and handle them.
+       * target.h (struct target_ops) <qxfer_siginfo>: New field.
+       * linux-low.c (linux_xfer_siginfo): New.
+       (linux_target_ops): Set it.
+
+2009-01-26  Pedro Alves  <pedro@codesourcery.com>
+
+       * server.c (gdbserver_usage): Mention --remote-debug.
+       (main): Accept '--remote-debug' switch.
+
+2009-01-18  Doug Evans  <dje@google.com>
+
+       * regcache.c (new_register_cache): No need to check result of xcalloc.
+       * server.c (handle_search_memory): Back out calls to xmalloc,
+       result is checked and error is returned to user upon failure.
+       (handle_query): Ditto.  Add more checks for result of malloc.
+       (handle_v_cont): Check result of malloc, report error back to
+       user upon failure.
+       (handle_v_run): Ditto.  Call freeargv.
+       * server.h (freeargv): Declare.
+       * utils.c (freeargv): New fn.
+
+2009-01-15  Doug Evans  <dje@google.com>
+
+       * gdbreplay.c (perror_with_name): Make arg const char *.
+       * server.h (target_signal_to_name): Make return type const char *.
+       * thread-db.c (thread_db_err_str): Make return type const char *.
+       * utils.c (perror_with_name): Make arg const char *.
+
+2009-01-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * win32-low.c (get_child_debug_event): Issue a final DBG_CONTINUE
+       when handling a EXIT_PROCESS_DEBUG_EVENT.
+
+2009-01-06  Joel Brobecker  <brobecker@adacore.com>
+
+       * gdbreplay.c (gdbreplay_version): Update copyright year.
+       * server.c (gdbserver_version): Likewise.
+
+2009-01-05  Doug Evans  <dje@google.com>
+
+       * linux-low.c (linux_attach_lwp): Add some comments/fixmes.
+       (handle_extended_wait): Improve comment.
+
+2008-12-13  Doug Evans  <dje@google.com>
+
+       * utils.c (xmalloc,xcalloc,xstrdup): New fns.
+       * server.h (ATTR_MALLOC): New macro.
+       (xmalloc,xcalloc,xstrdup): Declare.
+       * hostio.c: Replace malloc,calloc,strdup with xmalloc,xcalloc,xstrdup.
+       * inferiors.c: Ditto.
+       * linux-low.c: Ditto.
+       * mem-break.c: Ditto.
+       * regcache.c: Ditto.
+       * remote-utils.c: Ditto.
+       * server.c: Ditto.
+       * target.c: Ditto.
+       * win32-low.c: Ditto.
+
+2008-12-12  Doug Evans  <dje@google.com>
+
+       * linux-low.c (linux_wait_for_process): Don't clobber current_inferior
+       in debugging printf.
+
+       * linux-low.c (handle_extended_wait): Simplify, use my_waitpid.
+
+2008-12-09  Doug Evans  <dje@google.com>
+
+       * linux-low.h (struct process_info): Delete member tid, unused.
+       * thread-db.c (find_one_thread): Update.
+       (maybe_attach_thread): Update.
+
+2008-12-02  Pedro Alves  <pedro@codesourcery.com>
+
+        * target.h (struct target_ops): Add qxfer_osdata member.
+        * linux-low.c: Include ctype.h and pwd.h and sys/types.h
+        and dirent.h.
+        (linux_qxfer_osdata): New functions.
+        (linux_target_ops): Register linux_qxfer_osdata as qxfer_osdata
+        callback.
+        * server.c (handle_query): Handle "qXfer:osdata:read:".
+        * remote-utils.c (buffer_grow, buffer_free, buffer_init, buffer_finish)
+        (buffer_xml_printf): New functions.
+        * server.h (struct buffer): New.
+        (buffer_grow_str, buffer_grow_str0): New macros.
+        (buffer_grow, buffer_free, buffer_init, buffer_finish)
+        (buffer_xml_printf): Declare.
+
+2008-11-24  Doug Evans  <dje@google.com>
+
+       * Makefile.in (VERSION,DIST,LINT,LINTFLAGS): Delete, unused.
+
+2008-11-24  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * server.c (handle_v_run): Always use the supplied argument list.
+
+2008-11-19  Bob Wilson  <bob.wilson@acm.org>
+       
+       * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4.
+       (xtensa_regmap_table): Add entry for scompare1.
+       
+2008-11-18  Thiago Jung Bauermann  <bauerman@br.ibm.com>
+
+       * Makefile.in (powerpc-isa205-32l.o, powerpc-isa205-32l.c,
+       powerpc-isa205-altivec32l.o, powerpc-isa205-altivec32l.c,
+       powerpc-isa205-vsx32l.o, powerpc-isa205-vsx32l.c,
+       powerpc-isa205-64l.o, powerpc-isa205-64l.c,
+       powerpc-isa205-altivec64l.o, powerpc-isa205-altivec64l.c,
+       powerpc-isa205-vsx64l.o, powerpc-isa205-vsx64l.c): New targets.
+       * configure.srv (powerpc*-*-linux*): Add ISA 2.05 object files and
+       XML target descriptions.
+       * linux-ppc-low.c (ppc_arch_setup): Init registers with 64-bit FPSCR
+       when inferior is running on an ISA 2.05 or later processor.  Add
+       special case to return offset for full 64-bit slot of FPSCR when
+       in 32-bits.
+
+2008-11-14  Daniel Gutson  <dgutson@codesourcery.com>
+
+       * Makefile.in (SFILES, clean): Added sparc64 files.
+       (reg-sparc64.o, reg-sparc64.c): New.
+       * configure.srv (sparc*-*-linux*): New configuration.
+       * linux-low.c (regsets_fetch_inferior_registers): Swap ptrace
+       syscall arguments for SPARC.
+       (regsets_store_inferior_registers): Likewise.
+       * linux-sparc-low.c: New file.
+
+2008-10-21  Doug Evans  <dje@google.com>
+
+       * Makefile.in (BFD_DIR,BFD,BFD_SRC,BFD_CFLAGS): Delete.
+       (READLINE_DIR,READLINE_DEP): Delete.
+       (INTERNAL_CFLAGS): Update.
+       (LINTFLAGS): Update.
+
+2008-10-10  Pedro Alves  <pedro@codesourcery.com>
+
+       * server.c (handle_v_run): If GDB didn't specify an argv, use the
+       whole argv from the last run, not just argv[0].
+
+2008-09-08  Pedro Alves  <pedro@codesourcery.com>
+
+       * regcache.c (new_register_cache): Return NULL if the register
+       cache size isn't known yet.
+       (free_register_cache): Avoid dereferencing a NULL regcache.
+
+2008-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * configure.srv: Merge MIPS and MIPS64.
+
+2008-08-24  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * Makefile.in (uninstall): Apply $(EXEEXT) too.
+
+2008-08-18  Luis Machado  <luisgpm@br.ibm.com>
+
+       * Makefile.in: Add required vsx dependencies.
+
+       * linux-ppc-low: Define PPC_FEATURE_HAS_VSX.
+       Declare init_registers_powerpc_vsx32l.
+       Declare init_registers_powerpc_vsx64l.
+       Define PTRACE_GETVSXREGS and PTRACE_SETVSXREGS.
+       (ppc_arch_setup): Check for VSX in hwcap.
+       (ppc_fill_vsxregset): New function.
+       (ppc_store_vsxregset): New function.
+       Add new VSX entry in regset_info target_regsets.
+
+       * configure.srv: Add new VSX dependencies.
+
+2008-08-12  Pedro Alves  <pedro@codesourcery.com>
+
+       * remote-utils.c (noack_mode, transport_is_reliable): New globals.
+       (remote_open): Set or clear transport_is_reliable.
+       (putpkt_binary): Don't expect acks in noack mode.
+       (getpkt): Don't send ack/nac in noack mode.
+       * server.c (handle_general_set): Handle QStartNoAckMode.
+       (handle_query): If connected by tcp pass QStartNoAckMode+ in
+       qSupported.
+       (main): Reset noack_mode on every connection.
+       * server.h (noack_mode): Declare.
+
+2008-08-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * Makefile.in (GDBREPLAY_OBS): New variable.
+       (gdbreplay$(EXEEXT)): Use it to avoid unportable $^.
+
+2008-08-05  Ulrich Weigand  <uweigand@de.ibm.com>
+           Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * linux-low.c (linux_resume_one_process): Ignore ESRCH.
+       (usr_store_inferior_registers): Likewise.
+       (regsets_store_inferior_registers): Likewise.
+
+2008-07-31  Rolf Jansen  <rj@surtec.com>
+           Pedro Alves  <pedro@codesourcery.com>
+
+       * configure.ac: Check for memmem declaration.
+       * server.c [HAVE_MALLOC_H]: Include malloc.h.
+       (disable_packet_vCont, disable_packet_Tthread, disable_packet_qC)
+       (disable_packet_qfThreadInfo): Unconditionally compile.
+       * server.h [!HAVE_DECL_MEMMEM]: Declare memmem.
+       * configure, config.in: Regenerate.
+
+2008-07-28  Doug Kwan  <dougkwan@google.com>
+
+       * linux-low.c (sys/dir.h, sys/user.h): Remove includes.
+       (linux_write_memory): Remove declaration of errno.
+
+2008-07-12  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * linux-low.c (handle_extended_wait): Do not use "status"
+       variable uninitialized.
+
+2008-07-07  Pedro Alves  <pedro@codesourcery.com>
+
+       * server.c (handle_v_attach): Inhibit reporting dll changes.
+
+2008-06-27  Pedro Alves  <pedro@codesourcery.com>
+
+       * remote-utils.c (prepare_resume_reply): If requested, don't
+       output "thread:TID" in the T stop reply.
+
+       * server.c (disable_packet_vCont, disable_packet_Tthread)
+       (disable_packet_qC, disable_packet_qfThreadInfo): New globals.
+       (handle_query): If requested, disable support for qC, qfThreadInfo
+       and qsThreadInfo.
+       (handle_v_requests): If requested, disable support for vCont.
+       (gdbserver_show_disableable): New.
+       (main): Handle --disable-packet and --disable-packet=LIST.
+
+       * server.h (disable_packet_vCont, disable_packet_Tthread)
+       (disable_packet_qC, disable_packet_qfThreadInfo): Declare.
+
+2008-06-20  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * server.c (gdbserver_usage): Mention --version.
+
+2008-06-06  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * Makefile.in (gdbreplay.o): New rule.
+
+2008-06-06  Joseph Myers  <joseph@codesourcery.com>
+
+       * gdbreplay.c (gdbreplay_version): Say gdbreplay in version
+       message, not gdbserver.
+
+2008-06-05  Vladimir Prus  <vladimir@codesourcery.com>
+            Nathan Sidwell  <nathan@codesourcery.com>
+            Joseph Myers  <joseph@codesourcery.com>
+
+       * acinclude.m4: Include ../../config/acx.m4.
+       * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
+       * configure, config.in: Regenerate.
+       * Makefile.in (gdbreplay$(EXEEXT)): Add version.o.
+       * server.c (gdbserver_version): Print PKGVERSION.
+       (gdbsrever_usage): Add stream parameter.  Print REPORT_BUGS_TO.
+       (main): Adjust gdbserver_usage calls.
+       * gdbreplay.c (version, host_name): Add declarations.
+       (gdbreplay_version, gdbreplay_usage): New.
+       (main): Accept --version and --help options.
+
+2008-06-04  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * linux-arm-low.c (thumb_breakpoint, thumb_breakpoint_len): New.
+       (arm_breakpoint_at): Handle Thumb.
+       (the_low_target): Add comment.
+
+2008-05-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * linux-ppc-low.c (ppc_collect_ptrace_register): Clear buffer.
+
+2008-05-09  Doug Evans  <dje@google.com>
+
+       * server.h (decode_search_memory_packet): Declare.
+       * remote-utils.c (decode_search_memory_packet): New fn.
+       * server.c (handle_search_memory_1): New fn.
+       (handle_search_memory): New fn.
+       (handle_query): Process qSearch:memory packets.
+
+2008-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * regcache.c (registers_length): Remove.
+       (set_register_cache): Verify that PBUFSIZ is large enough to hold a
+       full register packet.
+       * regcache.h (registers_length): Remove prototype.
+       * server.h (PBUFSIZ): Define to 16384.
+
+2008-05-03  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * configure.srv (powerpc*-*-linux*): Set srv_regobj to
+       powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o,
+       powerpc-64l.o, and powerpc-altivec64l.o.
+       Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and
+       rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml,
+       rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml,
+       rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml,
+       rs6000/power-linux.xml, and rs6000/power64-linux.xml
+       to srv_xmlfiles.
+
+       * Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ...
+       (powerpc-32l.o, powerpc-32l.c): ... these new rules.
+       (powerpc-32.o, powerpc-32.c): Remove, replace by ...
+       (powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules.
+       (powerpc-e500.o, powerpc-e500.c): Remove, replace by ...
+       (powerpc-e500l.o, powerpc-e500l.c): ... these new rules.
+       (reg-ppc64.o, reg-ppc64.c): Remove, replace by ...
+       (powerpc-64l.o, powerpc-64l.c): ... these new rules.
+       (powerpc-64.o, powerpc-64.c): Remove, replace by ...
+       (powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules.
+       (clean): Update.
+
+       * linux-ppc-low.c (init_registers_ppc): Remove, replace by ...
+       (init_registers_powerpc_32l): ... this new prototype.
+       (init_registers_powerpc_32): Remove, replace by ...
+       (init_registers_powerpc_altivec32l): ... this new prototype.
+       (init_registers_powerpc_e500): Remove, replace by ...
+       (init_registers_powerpc_e500l): ... this new prototype.
+       (init_registers_ppc64): Remove, replace by ...
+       (init_registers_powerpc_64l): ... this new prototype.
+       (init_registers_powerpc_64): Remove, replace by ...
+       (init_registers_powerpc_altivec64l): ... this new prototype.
+       (ppc_num_regs): Set to 73.
+       (PT_ORIG_R3, PT_TRAP): Define if necessary.
+       (ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap.
+       (ppc_cannot_store_register): Handle orig_r3 and trap.
+       (ppc_arch_setup): Update init_registers_... calls.
+       (ppc_fill_gregset): Handle orig_r3 and trap.
+
+       * inferiors.c (clear_inferiors): Reset current_inferior.
+
 2008-04-23  Paolo Bonzini  <bonzini@gnu.org>
 
         * acinclude.m4: Add override.m4.
This page took 0.16226 seconds and 4 git commands to generate.