bfd/
[deliverable/binutils-gdb.git] / gdb / gdbserver / ChangeLog
index 7e2cfcda13980d91d8b3756317395c4b36a614b6..0fde4b9d5f46c2a5dbf0d71d571acb5fae2655e5 100644 (file)
@@ -1,3 +1,330 @@
+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
This page took 0.027133 seconds and 4 git commands to generate.