+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.