ChangeLog:
[deliverable/binutils-gdb.git] / gdb / gdbserver / ChangeLog
index b36dcfb156089bf4c859fd2c183a862d813b67e4..da5402ce8bfa30a43b36d338c8692954a7e16a94 100644 (file)
@@ -1,3 +1,885 @@
+2008-05-03  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * configure.srv (powerpc*-*-linux*): Set srv_regobj to
+       powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o,
+       powerpc-64l.o, and powerpc-altivec64l.o.
+       Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and
+       rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml,
+       rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml,
+       rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml,
+       rs6000/power-linux.xml, and rs6000/power64-linux.xml
+       to srv_xmlfiles.
+
+       * Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ...
+       (powerpc-32l.o, powerpc-32l.c): ... these new rules.
+       (powerpc-32.o, powerpc-32.c): Remove, replace by ...
+       (powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules.
+       (powerpc-e500.o, powerpc-e500.c): Remove, replace by ...
+       (powerpc-e500l.o, powerpc-e500l.c): ... these new rules.
+       (reg-ppc64.o, reg-ppc64.c): Remove, replace by ...
+       (powerpc-64l.o, powerpc-64l.c): ... these new rules.
+       (powerpc-64.o, powerpc-64.c): Remove, replace by ...
+       (powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules.
+       (clean): Update.
+
+       * linux-ppc-low.c (init_registers_ppc): Remove, replace by ...
+       (init_registers_powerpc_32l): ... this new prototype.
+       (init_registers_powerpc_32): Remove, replace by ...
+       (init_registers_powerpc_altivec32l): ... this new prototype.
+       (init_registers_powerpc_e500): Remove, replace by ...
+       (init_registers_powerpc_e500l): ... this new prototype.
+       (init_registers_ppc64): Remove, replace by ...
+       (init_registers_powerpc_64l): ... this new prototype.
+       (init_registers_powerpc_64): Remove, replace by ...
+       (init_registers_powerpc_altivec64l): ... this new prototype.
+       (ppc_num_regs): Set to 73.
+       (PT_ORIG_R3, PT_TRAP): Define if necessary.
+       (ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap.
+       (ppc_cannot_store_register): Handle orig_r3 and trap.
+       (ppc_arch_setup): Update init_registers_... calls.
+       (ppc_fill_gregset): Handle orig_r3 and trap.
+
+       * inferiors.c (clear_inferiors): Reset current_inferior.
+
+2008-04-23  Paolo Bonzini  <bonzini@gnu.org>
+
+        * acinclude.m4: Add override.m4.
+        * configure: Regenerate.
+
+2008-04-21  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * linux-ppc-low.c (ppc_arch_setup): Reset ppc_hwcap after the
+       initial call to init_register_ppc64.
+
+2008-04-21  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * configure.srv (powerpc64-*-linux*, powerpc-*-linux*): Merge into single
+       powerpc*-*-linux* case.
+       (s390-*-linux*, s390x-*-linux*): Merge into single s390*-*-linux* case.
+
+2008-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * configure.srv [powerpc64-*-linux*]: Remove powerpc-e500.o from
+       srv_regobj.  Remove rs6000/powerpc-e500.xml and rs6000/power-spe.xml    
+       from reg_xmlfiles.
+       * linux-ppc-low.c: Include <elf.h>.
+       (PPC_FEATURE_HAS_ALTIVEC, PPC_FEATURE_HAS_SPE): Define.
+       (ppc_hwcap): New global variable.
+       (ppc_regmap): Remove __SPE__ #ifdef sections.
+       (ppc_regmap_e500): New global variable.
+       (ppc_cannot_store_register): Update __SPE__ special case.
+       (ppc_get_hwcap): New function.
+       (ppc_arch_setup): Use it to determine whether inferior supports
+       AltiVec or SPE registers.  Set the_low_target.regmap if appropriate.
+       (ppc_fill_vrregset, ppc_store_vrregset): Define unconditionally.
+       Do not access registers if target does not support AltiVec.
+       (ppc_fill_evrregset, ppc_store_evrregset): Define unconditionally.
+       Do not access registers if target does not support SPE.
+       (target_regsets): Unconditionally include AltiVec and SPE regsets.
+
+2008-04-17  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * linux-low.c (disabled_regsets, num_regsets): New.
+       (use_regsets_p): Delete.
+       (linux_wait_for_process): Clear disabled_regsets.
+       (regsets_fetch_inferior_registers): Check and set it.
+       (regsets_store_inferior_registers): Likewise.
+       (linux_fetch_registers, linux_store_registers): Do not use
+       use_regsets_p.
+       (initialize_low): Allocate disabled_regsets.
+
+2008-04-14  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * Makefile.in (LIBOBJS): New.
+       (OBS): Use LIBOBJS.
+       (memmem.o): New rule.
+       * configure.ac: Use AC_CONFIG_LIBOBJ_DIR and check for memmem.
+       * configure: Regenerated.
+
+2008-04-04  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * server.c (handle_query): Never return "unsupported" for
+       qXfer:features:read queries.
+
+2008-03-27  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * server.c (get_features_xml): Fix inverted condition.
+       (handle_query): Always support qXfer:feature:read.
+
+2008-03-10  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * server.c (wrapper_argv): New.
+       (start_inferior): Handle wrapper_argv.  If set, expect an extra
+       trap.
+       (gdbserver_usage): Document --wrapper.
+       (main): Parse --wrapper.
+
+2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * configure.srv [powerpc64-*-linux*]: Add all files mentioned for
+       powerpc-*-linux* to srv_regobj and reg_xmlfiles.
+       * linux-ppc-low.c (ppc_get_pc): Support bi-arch operation.
+       (ppc_set_pc): Likewise.
+       (ppc_arch_setup): New function.
+       (ppc_fill_gregset): Call ppc_collect_ptrace_register instead
+       of collect_register.
+       (the_low_target): Use ppc_arch_setup as arch_setup initializer. 
+
+2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * configure.srv [powerpc64-*-linux*]: Use linux-ppc-low.o
+       instead of linux-ppc64-low.o.
+       * linux-ppc64-low.c: Remove file.
+       * Makefile.in (SFILES): Remove linux-ppc64-low.c.
+       (linux-ppc64-low.o): Remove rule.
+
+       * linux-ppc-low.c (init_registers_ppc64): Add prototype.
+       (init_registers_powerpc_64): Likewise.
+       (ppc_regmap): Conditionally define depending on __powerpc64__.
+       (ppc_cannot_store_register): Do not special-case "fpscr" when
+       compiled on __powerpc64__.
+       (ppc_collect_ptrace_register): New function.
+       (ppc_supply_ptrace_register): New function.
+       (ppc_breakpoint): Change type to "unsigned int".
+       (ppc_breakpoint_at): Change type of "insn" to "unsigned int".
+       (the_low_target): Conditionally provide initializers for the
+       arch_setup member depending on __powerpc64__.  Install 
+       collect_ptrace_register and supply_ptrace_register members.
+
+2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * regcache.h (gdbserver_xmltarget): Add extern declaration.
+       * server.c (gdbserver_xmltarget): Define.
+       (get_features_xml): Use it to replace "target.xml" and arch_string.
+
+       * configure.srv: Remove srv_xmltarget.  Add XML files that were
+       mentioned there to srv_xmlfiles instead.  Remove conditional tests
+       on gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe; set
+       srv_xmlfiles and srv_regobj to include all possible choices.
+       * configure.ac (srv_xmltarget): Remove.
+       (srv_xmlfiles): Do not add "target.xml".
+       (gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe): Remove
+       checks for supplementary target information.
+       * configure: Regenerate.
+       * Makefile.in (XML_TARGET): Remove.
+       (target.xml): Remove rule.
+       (clean): Do not clean up target.xml.
+       (.PRECIOUS): Do not mention target.xml.
+
+       * target.h (struct target_ops): Remove arch_string member.
+       * linux-low.c (linux_arch_string): Remove.
+       (linux_target_ops): Remove arch_string initializer.
+       * linux-low.h (struct linux_target_ops): Remove arch_string member.
+       * linux-i386-low.c (the_low_target): Remove arch_string initializer.
+       * linux-x86-64-low.c (the_low_target): Remove arch_string initializer.
+       * spu-low.c (spu_arch_string): Remove.
+       (spu_target_ops): Remove arch_string initializer.
+       * win32-low.c (win32_arch_string): Remove.
+       (win32_target_ops): Remove arch_string initializer.
+       * win32-low.h (struct win32_target_ops): Remove arch_string member.
+       * win32-arm-low.c (the_low_target): Remove arch_string initializer.
+       * win32-i368-low.c (the_low_target): Remove arch_string initializer.
+
+2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * linux-low.h (struct linux_target_ops): Replace left_pad_xfer field
+       by collect_ptrace_register and supply_ptrace_register hooks.
+       * linux-low.c (fetch_register): Use supply_ptrace_register callback
+       instead of checking for the_low_target.left_pad_xfer.
+       (usr_store_inferior_registers): Use collect_ptrace_register callback
+       instead of checking for the_low_target.left_pad_xfer.
+
+       * linux-s390-low.c (s390_collect_ptrace_register): New function.
+       (s390_supply_ptrace_register): Likewise.
+       (s390_fill_gregset): Call s390_collect_ptrace_register.
+       (the_low_target): Update.
+
+       * linux-ppc64-low.c (ppc_collect_ptrace_register): New function.
+       (ppc_supply_ptrace_register): Likewise.
+       (the_low_target): Update.
+
+       * linux-i386-low.c (the_low_target): Update.
+       * linux-x86-64-low.c (the_low_target): Update.
+
+2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * configure.srv [s390x-*-linux*]: Set srv_regobj to include both
+       reg-s390.o and reg-s390x.o.
+
+       * linux-low.c (new_inferior): New global variable.
+       (linux_create_inferior, linux_attach): Set it.
+       (linux_wait_for_process): Call the_low_target.arch_setup after the
+       target has stopped for the first time.
+       (initialize_low): Do not call the_low_target.arch_setup.
+
+       * linux-s390-low.c (s390_get_pc): Support bi-arch operation.
+       (s390_set_pc): Likewise.
+       (s390_arch_setup): New function.
+       (the_low_target): Use s390_arch_setup as arch_setup routine.
+
+       * regcache.c (realloc_register_cache): New function.
+       (set_register_cache): Call it for each existing regcache.
+
+2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * server.h (init_registers): Remove prototype.
+
+       * linux-low.h (struct linux_target_ops): Add arch_setup field.
+       * linux-low.c (initialize_low): Call the_low_target.arch_setup ()
+       instead of init_registers ().
+       * linux-arm-low.c (init_registers_arm): Add prototype.
+       (init_registers_arm_with_iwmmxt): Likewise.
+       (the_low_target): Add initializer for arch_setup field.
+       * linux-cris-low.c (init_registers_cris): Add prototype.
+       (the_low_target): Add initializer for arch_setup field.
+       * linux-crisv32-low.c (init_registers_crisv32): Add prototype.
+       (the_low_target): Add initializer for arch_setup field.
+       * linux-i386-low.c (init_registers_i386_linux): Add prototype.
+       (the_low_target): Add initializer for arch_setup field.
+       * linux-ia64-low.c (init_registers_ia64): Add prototype.
+       (the_low_target): Add initializer for arch_setup field.
+       * linux-m32r-low.c (init_registers_m32r): Add prototype.
+       (the_low_target): Add initializer for arch_setup field.
+       * linux-m68k-low.c (init_registers_m68k): Add prototype.
+       (the_low_target): Add initializer for arch_setup field.
+       * linux-mips-low.c (init_registers_mips_linux): Add prototype.
+       (init_registers_mips64_linux): Likewise.
+       (the_low_target): Add initializer for arch_setup field.
+       * linux-ppc-low.c (init_registers_ppc): Add prototype.
+       (init_registers_powerpc_32, init_registers_powerpc_e500): Likewise.
+       (the_low_target): Add initializer for arch_setup field.
+       * linux-ppc64-low.c (init_registers_ppc64): Add prototype.
+       (init_registers_powerpc_64): Likewise.
+       (the_low_target): Add initializer for arch_setup field.
+       * linux-s390-low.c (init_registers_s390): Add prototype.
+       (init_registers_s390x): Likewise.
+       (the_low_target): Add initializer for arch_setup field.
+       * linux-sh-low.c (init_registers_sh): Add prototype.
+       (the_low_target): Add initializer for arch_setup field.
+       * linux-x86-64-low.c (init_registers_x86_64_linux): Add prototype.
+       (the_low_target): Add initializer for arch_setup field.
+       * linux-xtensa-low.c (init_registers_xtensa): Add prototype.
+       (the_low_target): Add initializer for arch_setup field.
+
+       * win32-low.h (struct win32_target_ops): Add arch_setup field.
+       * win32-low.c (initialize_low): Call the_low_target.arch_setup ()
+       instead of init_registers ().
+       * win32-arm-low.c (init_registers_arm): Add prototype.
+       (the_low_target): Add initializer for arch_setup field.
+       * win32-i386-low.c (init_registers_i386): Add prototype.
+       (the_low_target): Add initializer for arch_setup field.
+
+       * spu-low.c (init_registers_spu): Add prototype.
+       (initialize_low): Call initialie_registers_spu () instead of
+       initialize_registers ().
+
+2008-02-19  Pedro Alves  <pedro@codesourcery.com>
+
+       * server.c (handle_v_requests): When handling the vRun and vAttach
+       packets, if already debugging a process, don't kill it.  Return an
+       error instead.
+
+2008-02-17  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * server.c (handle_query): Correct length check.
+
+2008-02-14  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-low.c (do_initial_child_stuff): Add process handle
+       parameter.  Set current_process_handle and current_process_id from the
+       parameters. Clear globals.
+       (win32_create_inferior): Don't set current_process_handle and
+       current_process_id here.  Instead pass them on the call to
+       do_initial_child_stuff.
+       (win32_attach): Likewise.
+       (win32_clear_inferiors): New.
+       (win32_kill): Don't close the current process handle or the
+       current thread handle here.  Instead call win32_clear_inferiors.
+       (win32_detach): Don't open a new handle to the process.  Call
+       win32_clear_inferiors.
+       (win32_join): Don't rely on current_process_handle; open a new
+       handle using the process id.
+       (win32_wait): Call win32_clear_inferiors when the inferior process
+       has exited.
+
+2008-02-14  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * server.c (monitor_show_help): Add "exit".
+
+2008-02-11  Maxim Grigoriev  <maxim2405@gmail.com>
+
+       * Makefile.in (SFILES): Add linux-xtensa-low.c.
+       (clean): Add reg-xtensa.c.
+       (linux-xtensa-low.o, reg-xtensa.o, reg-xtensa.c): New dependencies.
+       * configure.srv (xtensa*-*-linux*) New target.
+       * linux-xtensa-low.c: New.
+       * xtensa-xtregs.c: New.
+
+2008-02-01  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * hostio.c: Don't include errno.h.
+       (errno_to_fileio_errno): Move to hostio-errno.
+       * hostio.c: (hostio_error): Remove the error parameter.  Defer the
+       error number outputting to the target->hostio_last_error callback.
+       (hostio_packet_error): Use FILEIO_EINVAL directly.
+       (handle_open, handle_pread, hostio_error, handle_unlink): Update
+       calls to hostio_error.
+       * hostio-errno.c: New.
+       * server.h (hostio_last_error_from_errno): Declare.
+       * target.h (target_ops): Add hostio_last_error member.
+       * linux-low.c (linux_target_op): Register hostio_last_error_from_errno
+       as hostio_last_error handler.
+       * spu-low.c (spu_target_ops): Likewise. 
+       * win32-low.c [_WIN32_WCE] (win32_error_to_fileio_error)
+       (wince_hostio_last_error): New functions.
+       (win32_target_ops) [_WIN32_WCE]: Register wince_hostio_last_error
+       as hostio_last_error handler.
+       (win32_target_ops) [!_WIN32_WCE]: Register
+       hostio_last_error_from_errno as hostio_last_error handler.
+       * Makefile.in (SFILES): Add hostio.c and hostio-errno.c.
+       (hostio-errno.o): New rule.
+       * configure.ac (GDBSERVER_DEPFILES): Add $srv_hostio_err_objs.
+       * configure.srv (srv_hostio_err_objs): New variable.  Default to
+       hostio-errno.o.
+       (arm*-*-mingw32ce*): Set srv_hostio_err_objs to "".
+       * configure: Regenerate.
+
+2008-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * linux-low.c (linux_attach_lwp): Do not _exit after errors.
+       (linux_kill, linux_detach): Clean up the process list.
+       * remote-utils.c (remote_open): Improve port number parsing.
+       (putpkt_binary, input_interrupt): Only send interrupts if the target
+       is running.
+       * server.c (extended_protocol): Make static.
+       (attached): Define earlier.
+       (exit_requested, response_needed, program_argv): New variables.
+       (target_running): New.
+       (start_inferior): Clear attached here.
+       (attach_inferior): Set attached here.
+       (require_running): Define.
+       (handle_query): Use require_running and target_running.  Implement
+       "monitor exit".
+       (handle_v_attach, handle_v_run): New.
+       (handle_v_requests): Use require_running.  Handle vAttach and vRun.
+       (gdbserver_usage): Update.
+       (main): Redo argument parsing.  Handle --debug and --multi.  Handle
+       --attach along with other options or after the port.  Save
+       program_argv.  Support no initial program.  Resynchronize
+       communication with GDB after an error.  Handle "monitor exit".
+       Use require_running and target_running.  Always allow the extended
+       protocol.  Do not error out for Hc0 or Hc-1.  Do not automatically
+       restart in extended mode.
+       * README: Refer to the GDB manual.  Update --attach usage.
+
+2007-12-20  Andreas Schwab  <schwab@suse.de>
+
+       * linux-low.c (STACK_SIZE): Define.
+       (linux_tracefork_child): Use it.  Use __clone2 on ia64.
+       (linux_test_for_tracefork): Likewise.
+
+2007-12-18  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * linux-low.c (linux_wait_for_event): Update messages.  Do not
+       reinsert auto-delete breakpoints.
+       * mem-break.c (struct breakpoint): Change return type of handler to
+       int.
+       (set_breakpoint_at): Update handler type.
+       (reinsert_breakpoint_handler): Return 1 instead of calling
+       delete_breakpoint.
+       (reinsert_breakpoint_by_bp): Check for the original breakpoint before
+       setting a new one.
+       (check_breakpoints): Delete auto-delete breakpoints and return 2.
+       * mem-break.h (set_breakpoint_at): Update handler type.
+       * thread-db.c (thread_db_create_event, thread_db_create_event): Update.
+       * win32-low.c (auto_delete_breakpoint): New.
+       (get_child_debug_event): Use it.
+
+2007-12-16  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * configure.ac: Check for pread and pwrite.
+       * hostio.c (handle_pread): Fall back to lseek and read.
+       (handle_pwrite): Fall back to lseek and write.
+       * config.in, configure: Regenerated.
+
+2007-12-07  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * server.c (myresume): Add own_buf argument.
+       (main): Update calls.
+
+2007-12-06  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * linux-low.c (linux_wait, linux_resume): Do not handle async I/O.
+       * remote-utils.c (remote_open): Do not call disable_async_io.
+       (block_async_io): Delete.
+       (unblock_async_io): Make static.
+       (initialize_async_io): New.
+       * server.c (handle_v_cont): Handle async I/O here.
+       (myresume): Likewise.  Move other common resume tasks here...
+       (main): ... from here.  Call initialize_async_io.  Disable async
+       I/O before the main loop.
+       * server.h (initialize_async_io): Declare.
+       (block_async_io, unblock_async_io): Delete prototypes.
+       * spu-low.c (spu_resume, spu_wait): Do not handle async I/O here.
+
+2007-12-06  Mick Davis  <mickd@goanna.iinet.net.au>
+
+       * remote-utils.c (readchar): Allow binary data in received messages.
+
+2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-low.c (attaching): New global.
+       (win32_create_inferior): Clear the `attaching' global.
+       (win32_attach): Set the `attaching' global.
+       (get_child_debug_event) [_WIN32_WCE]: Stop the inferior when
+       attaching.  Only set a breakpoint at the entry point if not
+       attaching.
+
+2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * server.c (main): Don't report dll events on the initial
+       connection on attaches.
+
+2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * server.c (main): Relax numerical bases supported for the pid of
+       the --attach command line argument.
+
+2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-low.c (win32_attach): Call OpenProcess before
+       DebugActiveProcess, not after.  Add last error output to error
+       call.
+
+2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-low.c (win32_get_thread_context)
+       (win32_set_thread_context): New functions.
+       (thread_rec): Use win32_get_thread_context.
+       (continue_one_thread, win32_resume): Use win32_set_thread_context.
+       * win32-low.h (win32_thread_info) [_WIN32_WCE]: Add `base_context'
+       field.
+
+2007-12-03  Leo Zayas
+           Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-low.c (soft_interrupt_requested, faked_breakpoint): New
+       global variables.
+       (child_add_thread): Minor cleanup.
+       (child_continue): Resume artificially suspended threads before
+       calling ContinueDebugEvent.
+       (suspend_one_thread): New.
+       (fake_breakpoint_event): New.
+       (get_child_debug_event): Change return type to int.  Check here if
+       gdb sent an interrupt request.  If a soft interrupt was requested,
+       fake a breakpoint event.  Return 0 if there is no event to handle,
+       and 1 otherwise.
+       (win32_wait): Don't check here if gdb sent an interrupt request.
+       Ensure there is a valid event to handle.
+       (win32_request_interrupt): Add soft interruption method as last
+       resort.
+
+2007-12-03  Leo Zayas
+           Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-low.h (win32_thread_info): Add descriptions to the
+       structure members.  Replace `suspend_count' counter by a
+       `suspended' flag.
+       * win32-low.c (thread_rec): Update condition of when to get the
+       context from the inferior.  Rely on ContextFlags being set if it
+       has already been retrieved.  Only suspend the inferior thread if
+       we haven't already.  Warn if that fails.
+       (continue_one_thread): s/suspend_count/suspended/.  Only call
+       ResumeThread once.  Warn if that fails.
+
+2007-12-02  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-low.c (win32_wait): Don't read from the inferior when it
+       has already exited.
+
+2007-12-02  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * Makefile.in (win32_low_h): New variable.
+       (win32-low.o): Add dependency on $(win32_low_h).
+       (win32-arm-low.o, win32-i386-low.o): New rules.
+
+2007-11-30  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * hostio.c: Correct copyright year.
+
+2007-11-30  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * Makefile.in (OBS): Add hostio.o.
+       (hostio.o): New rule.
+       * server.h (handle_vFile): Declare.
+       * hostio.c: New file.
+       * server.c (handle_v_requests): Take packet_len and new_packet_len
+       for binary packets.  Call handle_vFile.
+       (main): Update call to handle_v_requests.
+
+2007-11-05  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * linux-low.c: Include <sched.h>.
+
+2007-11-01  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * linux-low.c (linux_tracefork_grandchild): New.
+       (linux_tracefork_child): Use clone.
+       (linux_test_for_tracefork): Use clone; allocate and free a stack.
+
+2007-10-31  Joel Brobecker  <brobecker@adacore.com>
+
+       * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh.
+
+2007-10-24  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * linux-low.c (handle_extended_wait): Handle unexpected signals.
+
+2007-10-23  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * inferiors.c (change_inferior_id): Delete.
+       (add_pid_to_list, pull_pid_from_list): New.
+       * linux-low.c (PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG)
+       (PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK)
+       (PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC, PTRACE_O_TRACEVFORKDONE)
+       (PTRACE_O_TRACEEXIT, PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK)
+       (PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE)
+       (PTRACE_EVENT_EXIT, __WALL): Provide default definitions.
+       (stopped_pids, thread_db_active, must_set_ptrace_flags): New variables.
+       (using_threads): Always set to 1.
+       (handle_extended_wait): New.
+       (add_process): Do not set TID.
+       (linux_create_inferior): Set must_set_ptrace_flags.
+       (linux_attach_lwp): Remove TID argument.  Do not check using_threads.
+       Use PTRACE_SETOPTIONS.  Call new_thread_notify.  Update all callers.
+       (linux_thread_alive): Rename TID argument to LWPID.
+       (linux_wait_for_process): Handle unknown processes.  Do not use TID.
+       (linux_wait_for_event): Do not use TID or check using_threads.  Update
+       call to dead_thread_notify.  Call handle_extended_wait.
+       (linux_create_inferior): Use PTRACE_SETOPTIONS.
+       (send_sigstop): Delete sigstop_sent.
+       (wait_for_sigstop): Avoid TID.
+       (linux_supports_tracefork_flag, linux_tracefork_child, my_waitpid)
+       (linux_test_for_tracefork): New.
+       (linux_lookup_signals): Use thread_db_active and
+       linux_supports_tracefork_flag.
+       (initialize_low): Use thread_db_active and linux_test_for_tracefork.
+       * linux-low.h (get_process_thread): Avoid TID.
+       (struct process_ifo): Move thread_known and tid to the end.  Remove
+       sigstop_sent.
+       (linux_attach_lwp, thread_db_init): Update prototypes.
+       * server.h (change_inferior_id): Delete prototype.
+       (add_pid_to_list, pull_pid_from_list): New prototypes.
+       * thread-db.c (thread_db_use_events): New.
+       (find_first_thread): Rename to...
+       (find_one_thread): ...this.  Update callers and messages.  Do not
+       call fatal.  Check thread_db_use_events.  Do not call
+       change_inferior_id or new_thread_notify.
+       (maybe_attach_thread): Update.  Do not call new_thread_notify.
+       (thread_db_init): Set thread_db_use_events.  Check use_events.
+       * utils.c (fatal, warning): Correct message prefix.
+
+2007-10-15  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * Makefile.in (clean): Remove new files.
+       (powerpc-32.o, powerpc-32.c, powerpc-e500.o, powerpc-e500.c)
+       (powerpc-64.o, powerpc-64.c): New rules.
+       * configure.srv: Use alternate register sets for powerpc64-*-linux*
+       with AltiVec, powerpc-*-linux* with AltiVec, and powerpc-*-linux*
+       with SPE.
+       * linux-ppc-low.c (ppc_regmap): Do not fetch the FP registers for
+       SPE targets.
+       (ppc_cannot_store_register): Do not check for FPSCR for SPE targets.
+       (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS, ppc_fill_vrregset)
+       (ppc_store_vrregset, PTRACE_GETEVRREGS, PTRACE_SETEVRREGS)
+       (struct gdb_evrregset_t, ppc_fill_evrregset, ppc_store_evrregset): New.
+       (target_regsets): Add AltiVec and SPE register sets.
+       * configure.ac: Check for AltiVec and SPE.
+       * linux-ppc64-low.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS)
+       (ppc_fill_vrregset, ppc_store_vrregset): New.
+       (target_regsets): Add AltiVec register set.
+       * configure: Regenerated.
+
+2007-09-19  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * linux-low.c (O_LARGEFILE): Define.
+       (linux_read_memory): Use /proc/PID/mem.
+       * configure.ac: Use AC_GNU_SOURCE.  Check for pread64.
+       * configure, config.in: Regenerated.
+
+2007-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * linux-low.c (linux_wait_for_event): Do not pass signals while
+       single-stepping.
+
+2007-09-03  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-low.c (create_process): New.
+       (win32_create_inferior): Use create_process instead of
+       CreateProcess.  If create_process failed retry appending an ".exe"
+       suffix.  Store the GetLastError result immediatelly after
+       create_process calls and use it on the call to error.
+
+2007-09-03  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-low.c (handle_load_dll): Don't use toolhelp when waiting.
+
+2007-08-23  Joel Brobecker  <brobecker@adacore.com>
+
+       * configure.ac: Switch license to GPLv3.
+
+2007-08-01  Michael Snyder  <msnyder@access-company.com>
+
+       * remote-utils.c (putpkt_binary): Memory leak, free buf2.
+
+2007-07-31  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-low.c (winapi_CloseToolhelp32Snapshot) [_WIN32_WCE]: New
+       typedef.
+       (win32_CloseToolhelp32Snapshot) [_WIN32_WCE]: New global var.
+       (load_toolhelp) [_WIN32_WCE]: Load TOOLHELP.DLL.  Get
+       CloseToolhelp32Snapshot.
+       (toolhelp_get_dll_name) [_WIN32_WCE]: Close the snapshot with
+       CloseToolhelp32Snapshot.
+
+2007-07-27  Michael Snyder  <michael.snyder@access-company.com>
+
+       * server.c (main): Check for inferior exit before main loop.
+
+2007-07-18  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * remote-utils.c (remote_open): Set SO_KEEPALIVE on remote_desc
+       instead of on tmp_desc.
+
+2007-07-17  Pedro Alves  <pedro_alves@portugalmail.pt>
+           Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * inferiors.c (all_dlls, dlls_changed, get_dll): New.
+       (add_thread): Minor cleanups.
+       (clear_inferiors): Move lower in the file.  Clear the DLL
+       list.
+       (free_one_dll, match_dll, loaded_dll, unloaded_dll, clear_list): New.
+       * remote-utils.c (prepare_resume_reply): Check dlls_changed.
+       (xml_escape_text): New.
+       * server.c (handle_query): Handle qXfer:libraries:read.  Report it
+       for qSupported.
+       (handle_v_cont): Report errors.
+       (gdbserver_version): Update.
+       (main): Correct size of own_buf.  Do not report initial DLL events.
+       * server.h (struct dll_info, all_dlls, dlls_changed, loaded_dll)
+       (unloaded_dll, xml_escape_text): New.
+       * win32-low.c (enum target_waitkind): Update comments.
+       (win32_add_one_solib, get_image_name, winapi_EnumProcessModules)
+       (winapi_GetModuleInformation, winapi_GetModuleFileNameExA)
+       (win32_EnumProcessModules, win32_GetModuleInformation)
+       (win32_GetModuleFileNameExA, load_psapi, psapi_get_dll_name)
+       (winapi_CreateToolhelp32Snapshot, winapi_Module32First)
+       (winapi_Module32Next, win32_CreateToolhelp32Snapshot)
+       (win32_Module32First, win32_Module32Next, load_toolhelp)
+       (toolhelp_get_dll_name, handle_load_dll, handle_unload_dll): New.
+       (get_child_debug_event): Handle DLL events.
+       (win32_wait): Likewise.
+
+2007-07-12  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * configure.srv: Set srv_linux_regsets for sh*-*-linux*.
+       * linux-sh-low.c (sh_fill_gregset, target_regsets): New.
+
+2007-07-08  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-low.c (handle_output_debug_string): Ignore event if not
+       waiting.
+
+2007-07-08  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-arm-low.c (arm_wince_breakpoint): Fix typo.
+
+2007-07-03  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * remote-utils.c (look_up_one_symbol): Handle 'm' packets.
+
+2007-07-02  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * inferiors.c (change_inferior_id): Add comment.
+       * linux-low.c (check_removed_breakpoint): Add an early
+       prototype.  Improve debug output.
+       (linux_attach): Doc update.
+       (linux_detach_one_process, linux_detach): Clean up before releasing
+       each process.
+       (send_sigstop, wait_for_sigstop): Improve comments and debug output.
+       * linux-low.h (struct process_info): Doc improvement.
+       * mem-break.c (delete_all_breakpoints): New.
+       * mem-break.h (delete_all_breakpoints): New prototype.
+       * thread-db.c (find_first_thread): New.
+       (thread_db_create_event): Call it instead of
+       thread_db_find_new_threads.  Clean up unused variables.
+       (maybe_attach_thread): Remove first thread handling.
+       (thread_db_find_new_threads): Use find_first_thread.
+       (thread_db_get_tls_address): Likewise.
+
+2007-06-27  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * thread-db.c (thread_db_find_new_threads): Add prototype.
+       (thread_db_create_event): Check for the main thread before adding
+       a new thread.
+       (maybe_attach_thread): Only enable event reporting if TID == 0.
+       (thread_db_get_tls_address): Check for new threads.
+
+2007-06-20  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * linux-low.c (linux_create_inferior): Try execv before execvp.
+       * spu-low.c (spu_create_inferior): Likewise.
+
+2007-06-13  Mike Frysinger  <vapier@gentoo.org>
+
+       * linux-low.c (linux_create_inferior): Change execv to execvp.
+       * spu-low.c (spu_create_inferior): Likewies.
+
+2007-06-13  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * Makefile.in (clean): Clean new files instead of deleted ones.
+       (reg-mips.o, reg-mips.c, reg-mips64.o, reg-mips64.c): Delete.
+       (mips-linux.o, mips-linux.c, mips64-linux.o, mips64-linux.c): New
+       rules.
+       * configure.srv: Specify XML files and new regformats for MIPS and
+       MIPS64 GNU/Linux.
+       * linux-mips-low.c (mips_num_regs): Set to only used registers.
+       (mips_regmap): Do not fetch $0.  Remove unused registers.  Add
+       an entry for the restart register.
+       (mips_cannot_fetch_register, mips_cannot_store_register)
+       (mips_reinsert_addr, mips_fill_fpregset, mips_store_fpregset): Update
+       register names to match the XML descriptions.
+       (mips_fill_gregset, mips_store_gregset): Likewise.  Handle the
+       restart register instead of $0.
+
+2007-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
+           Markus Deuling  <deuling@de.ibm.com>
+
+       * remote-utils.c (decode_xfer_write): New function.
+       * server.h (decode_xfer_write): Add prototype.
+       * server.c (handle_query): Add PACKET_LEN argument.  Support
+       qXfer:spu:read and qXfer:spu:write packets.
+       (main): Pass packet_len to handle_query.
+       * spu-low.c (spu_target_ops): Add spu_proc_xfer_spu.
+       * target.h (target_ops): Add qxfer_spu.
+
+2007-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * spu-low.c (spu_proc_xfer_spu): Do not return failure when
+       accessing non-seekable spufs files.
+
+2007-05-16  Markus Deuling  <deuling@de.ibm.com>
+
+       * server.c (handle_query): Add reply for qC packet. 
+
+2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
+           Leo Zayas  <lerele@champenstudios@com>
+
+       * server.h (check_remote_input_interrupt_request): New function.
+       * remote_utils.c (INVALID_DESCRIPTOR): New define.
+       (remote_desc): Initialize with INVALID_DESCRIPTOR.
+       (input_interrupt): Expose on USE_WIN32API too.  Fix whitespace.
+       (check_remote_input_interrupt_request): New function.
+       * server.h (check_remote_input_interrupt_request): Declare.
+       * win32-low.c (winapi_DebugBreakProcess,
+       winapi_GenerateConsoleCtrlEvent): New typedefs.
+       (get_child_debug_event): Lower Win32 debug event polling from 1 sec
+       to 250 ms.
+       (win32_wait): Check for remote interrupt request
+       with check_remote_input_interrupt_request.
+       (win32_request_interrupt): New function.
+       (win32_target_op): Set request_interrupt to win32_request_interrupt.
+
+2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-low.c (debug_registers_changed,
+       debug_registers_used, CONTEXT_EXTENDED_REGISTERS,
+       CONTEXT_FLOATING_POINT, CONTEXT_DEBUG_REGISTERS,
+       CONTEXT_DEBUGGER, CONTEXT_DEBUGGER_DR): Delete.
+       (thread_rec): Get context using the low target.
+       (child_add_thread): Call thread_added on the low target,
+       which does the same thing.
+       (regptr): Delete.
+       (do_initial_child_stuff): Remove debug registers references.
+       Set context using the low target.  Resume threads after
+       setting the contexts.
+       (child_continue): Remove dead variable.  Remove debug
+       registers references.
+       (child_fetch_inferior_registers): Go through the low target.
+       (do_child_store_inferior_registers): Remove.
+       (child_store_inferior_registers): Go through the low target.
+       (win32_resume): Remove debug registers references.
+       Set context using the low target.
+       (handle_exception): Change return type to void.  Don't record
+       context here.  Set status to TARGET_WAITKIND_SPURIOUS on a
+       first chance exception.
+       (get_child_debug_event): Change return type to void.  Remove 
+       goto loop.  Always return after waiting for debug event.
+       (win32_wait): Convert to switch statement.  Handle spurious
+       events.
+
+       * win32-i386-low.c (debug_registers_changed,
+       debug_registers_used): New.
+       (initial_stuff): Rename to ...
+       (i386_initial_stuff): ... this.  Clear debug registers
+       state variables.
+       (store_debug_registers): Delete.
+       (i386_get_thread_context): New.
+       (load_debug_registers): Delete.
+       (i386_set_thread_context): New.
+       (i386_thread_added): New.
+       (single_step): Rename to ...
+       (i386_single_step): ... this.
+       (do_fetch_inferior_registers): Rename to ...
+       (i386_fetch_inferior_register): ... this.
+       (i386_store_inferior_register): New.
+       (the_low_target): Adapt to new interface.
+
+       * win32-arm-low.c (CONTEXT_FLOATING_POINT): Define.
+       (arm_get_thread_context): New.
+       (arm_set_thread_context): New.
+       (regptr): New.
+       (do_fetch_inferior_registers): Rename to ...
+       (arm_fetch_inferior_register): ... this.
+       (arm_store_inferior_register): New.
+       (arm_wince_breakpoint): Reimplement as unsigned long.
+       (arm_wince_breakpoint_len): Define.
+       (the_low_target): Adapt to new interface.
+
+       * win32-low.h (target_ops): Remove regmap, store_debug_registers and
+       load_debug_registers.  Add get_thread_context, set_thread_context,
+       thread_added and store_inferior_register.  Rename
+       fetch_inferior_registers to fetch_inferior_register.
+       (regptr): Remove declaration.
+
+2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * linux-low.c (linux_detach): Change return type to int.  Return 0.
+       * spu-low.c (spu_detach): Likewise.
+
+2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * target.h (target_ops): Change return type of detach to int.
+       Add join.
+       (join_inferior): New.
+       * server.c (main): Don't skip detach support on mingw32.
+       If the inferior doesn't support detaching return error.
+       Call join_inferior instead of using waitpid.
+       * linux-low.c (linux_join): New.
+       (linux_target_op): Add linux_join.
+       * spu-low.c (spu_join): New.
+       (spu_target_ops): Add spu_join.
+       * win32-low.c (win32_detach): Adapt to new interface.
+       Reopen current_process_handle before detaching.  Issue a child
+       resume before detaching.
+       (win32_join): New.
+       (win32_target_op): Add win32_join.
+
+2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * win32-low.c (win32-attach): Fix return value.
+       * target.h (target_ops): Describe ATTACH return values.
+
 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
 
        * win32-low.c (GETPROCADDRESS): Define.
This page took 0.033102 seconds and 4 git commands to generate.