2007-03-27  Pedro Alves  <pedro_alves@portugalmail.pt>

	* remote-utils.c (monitor_output): Constify msg parameter.
	* server.h (monitor_output): Likewise.
	* win32-i386-low.c (handle_output_debug_string): New.
	(win32_kill): Handle OUTPUT_DEBUG_STRING_EVENT events using
	handle_output_debug_string.
	(get_child_debug_event): Likewise.

2007-03-27  Mat Hostetter  <mat@lcs.mit.edu>

	* server.c (main): Correct strtoul check.

2007-03-27  Jon Ringle  <jon@ringle.org>

	* linux-low.c: Check __ARCH_HAS_MMU__ also.

2007-03-27  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.in: Add dummy "pdf" and "install-pdf" targets.

2007-02-27  Daniel Jacobowitz  <dan@codesourcery.com>

	* terminal.h: Check HAVE_SGTTY_H.

2007-02-27  Mat Hostetter  <mat@lcs.mit.edu>

	* remote-utils.c (remote_open): Print out the assigned port number.

2007-02-26  Daniel Jacobowitz  <dan@codesourcery.com>

	* remote-utils.c (monitor_output): New function.
	* server.c (debug_threads): Define here.
	(monitor_show_help): New function.
	(handle_query): Handle qRcmd.
	(main): Do not handle 'd' packet.
	* server.h (debug_threads, remote_debug, monitor_output): Declare.
	* linux-low.c, spu-low.c, win32-i386-low.c: Remove definitions
	of debug_threads.

2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>

	* Makefile.in (EXEEXT): New.
	(clean): Use $(EXEEXT).

2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>

	* target.h (target_ops): Rename send_signal to request_interrupt,
	and remove enum target_signal parameter.
	* linux-low.c (linux_request_interrupt): Rename from
	linux_send_signal, and always send SIGINT.
	* spu-low.c (spu_request_interrupt): Rename from spu_send_signal,
	and always send SIGINT.
	* remote-utils.c (putpkt_binary): Call request_interrupt, instead
	of send_signal.
	(input_interrupt): Likewise.

2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>

	* server.c (get_features_xml): Check if target implemented
	arch_string.
	* win32-i386-low.c (win32_arch_string): New.
	(win32_target_ops): Add win32_arch_string as arch_string member.

2007-02-22  Markus Deuling  <deuling@de.ibm.com>

	* spu-low.c (spu_arch_string): New.
	(spu_target_ops): Add spu_arch_string.

2007-02-16  Daniel Jacobowitz  <dan@codesourcery.com>

	* remote-utils.c: Remove HAVE_TERMINAL_H check.
	* configure.ac: Do not check for terminal.h.
	* configure, config.in: Regenerated.

2007-02-08  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.in (OBS): Add $(XML_BUILTIN).
	(XML_DIR, XML_TARGET, XML_FILES, XML_BUILTIN): New.
	(clean): Update.
	(target.xml, xml-builtin.c, stamp-xml, arm-with-iwmmxt.o)
	(arm-with-iwmmxt.c): New.
	* config.in, configure: Regenerate.
	* configure.ac: Check for iWMMXt.  Handle srv_xmltarget,
	srv_xmlbuiltin, and srv_xmlfiles.  Define USE_XML.
	* configure.srv: Mention srv_xmltarget and srv_xmlfiles.
	(arm*-*-linux*): Add iWMMXt and regset support.
	* linux-arm-low.c (PTRACE_GETWMMXREGS, PTRACE_SETWMMXREGS): Define.
	(arm_fill_gregset, arm_store_gregset, arm_fill_wmmxregset)
	(arm_store_wmmxregset, target_regsets): New.
	* server.c (get_features_xml): Take annex argument.  Check builtin
	XML documents.
	(handle_query): Handle multiple annexes.

2007-01-29  Daniel Jacobowitz  <dan@codesourcery.com>

	* remote-utils.c [USE_WIN32API] (read, write): Define.
	(putpkt_binary, input_interrupt, readchar, getpkt): Use read and
	write.

2007-01-09  Daniel Jacobowitz  <dan@codesourcery.com>

	* linux-i386-low.c (the_low_target): Set arch_string.
	* linux-x86-64-low.c (the_low_target): Likewise.
	* linux-low.c (linux_arch_string): New.
	(linux_target_ops): Add it.
	* linux-low.h (struct linux_target_ops): Add arch_string.
	* server.c (write_qxfer_response): Use const void * for DATA.
	(get_features_xml): New.
	(handle_query): Handle qXfer:features:read.  Report it for qSupported.
	* target.h (struct target_ops): Add arch_string method.

2007-01-03  Denis Pilat  <denis.pilat@st.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* linux-low.c (linux_kill): Handle being called with no threads.
	* win32-i386-low.c (win32_kill): Likewise.
	(get_child_debug_event): Clear current_process_handle.

2006-12-30  Denis PILAT  <denis.pilat@st.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* remote-utils.c (remote_open): Check the type of specified
	serial port devices before opening them.
	* server.c (main): Kill the inferior if an error occurs during
	the first remote_open.

2006-12-05  Markus Deuling  <deuling@de.ibm.com>

	* README: Update supported targets.

2006-11-28  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.in (clean): Remove reg-mips64.c.
	(reg-mips64.c, reg-mips64.o): New rules.
	* configure.srv: Handle mips64.  Include regset support for mips.
	* linux-mips-low.c (union mips_register): New.
	(mips_get_pc, mips_set_pc, mips_reinsert_addr): Use it.
	(mips_breakpoint, mips_breakpoint_at): Use int.
	(mips_collect_register, mips_supply_register)
	(mips_collect_register_32bit, mips_supply_register_32bit)
	(mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
	(mips_store_fpregset, target_regsets): New.
	* thread-db.c (thread_db_get_tls_address): Use uintptr_t.

2006-11-22  Ulrich Weigand  <uweigand@de.ibm.com>

	* configure.srv: Add target "spu*-*-*".
	* Makefile.in (clean): Remove reg-spu.c.
	(reg-spu.c, reg-spu.o, spu-low.o): Add dependencies.
	* spu-low.c: New file.

2006-11-16  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure.ac: Correct td_thr_tls_get_addr test.
	* configure: Regenerated.

2006-11-16  Daniel Jacobowitz  <dan@codesourcery.com>

	* linux-low.c (linux_wait_for_event): Reformat.  Use the
	pass_signals array.
	* remote-utils.c (decode_address_to_semicolon): New.
	* server.c (pass_signals, handle_general_set): New.
	(handle_query): Mention QPassSignals for qSupported.
	(main): Call handle_general_set.
	* server.h (pass_signals, decode_address_to_semicolon): New.

2006-11-06  Daniel Jacobowitz  <dan@codesourcery.com>

	* server.c (handle_query): Correct error handling for read_auxv.

2005-10-19  Ulrich Weigand  <uweigand@de.ibm.com>

	* configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets
	and srv_linux_thread_db to yes.
	* linux-s390-low.c (s390_fill_gregset): New function.
	(target_regsets): Define data structure.

2006-10-17  Daniel Jacobowitz  <dan@codesourcery.com>

	* acinclude.m4 (SRV_CHECK_TLS_GET_ADDR): New.
	* configure.ac: Use it.  Define HAVE_TD_THR_TLS_GET_ADDR.
	* config.in, configure: Regenerated.
	* inferiors.c (gdb_id_to_thread): New function.
	(gdb_id_to_thread_id): Use it.
	* linux-low.c (linux_target_ops): Use thread_db_get_tls_address.
	* linux-low.h (struct process_info): Add th member.
	(thread_db_get_tls_address): New prototype.
	* remote-utils.c (decode_address): Make non-static.
	* server.c (handle_query): Handle qGetTLSAddr.
	* server.h (gdb_id_to_thread, decode_address): New prototypes.
	* target.h (struct target_ops): Add get_tls_address.
	* thread-db.c (maybe_attach_thread): Save the thread handle.
	(thread_db_get_tls_address): New.

2006-09-28  Daniel Jacobowitz  <dan@codesourcery.com>

	* linux-low.c (PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
	(linux_resume_one_process): Take a siginfo_t *.  Update all
	callers.  Queue it if necessary.  Use PTRACE_SETSIGINFO.
	(struct pending_signals): Add a siginfo_t.
	(linux_wait_for_process): Always set last_status.
	(linux_wait_for_event): Use PTRACE_GETSIGINFO.
	(linux_queue_one_thread): Use PTRACE_GETSIGINFO.
	* linux-low.h (struct process_info): Add last_status.

2006-09-21  Daniel Jacobowitz  <dan@codesourcery.com>

	* remote-utils.c (try_rle): New function.
	(putpkt_binary): Use it.

2006-08-19  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.in (clean): Clean reg-x86-64-linux.c.
	(reg-x86-64-linux.o, reg-x86-64-linux.c): New.
	* configure.srv (x86_64-*-linux*): Use reg-x86-64-linux.o.
	* linux-x86-64-low.c (x86_64_regmap): Include ORIG_RAX.
	(x86_64_fill_gregset, x86_64_store_gregset): Skip floating
	point registers.

2006-08-08  Richard Sandiford  <richard@codesourcery.com>

	* server.c (terminal_fd): New variable.
	(old_foreground_pgrp): Likewise.
	(restore_old_foreground_pgrp): New function.
	(start_inferior): Record the terminal file descriptor in terminal_fd
	and its original foreground group in old_foreground_pgrp.  Register
	restore_old_foreground_pgrp with atexit().

2006-07-26  Daniel Jacobowitz  <dan@codesourcery.com>

	* server.c (handle_query): Correct qPart to qXfer.

2006-07-22  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure.ac: Check for more headers which are missing on
	Windows.  Automatically supply -lwsock32 and USE_WIN32API.
	* configure.srv: Add Cygwin and mingw32.
	* remote-utils.c: Don't include headers unconditionally which
	are missing on mingw32.  Include <winsock.h> for mingw32.
	(remote_open): Adjust for mingw32 support.  Flush
	standard error after writing to it.
	(remote_close, putpkt_binary, input_interrupt, block_async_io)
	(unblock_async_io, enable_async_io, disable_async_io)
	(readchar, getpkt): Update for Winsock support.
	(prepare_resume_reply): Expect a protocol signal number.
	* server.c: Disable <sys/wait.h> on mingw32.
	(start_inferior): Adjust for mingw32 support.  Flush
	standard error after writing to it.
	(attach_inferior): Likewise.  Use protocol signal
	numbers.
	(main): Skip 'D' packet on mingw32.  Use protocol signal numbers
	and names.
	* win32-i386-low.c: New file.
	* Makefile.in (XM_CLIBS): Set.
	(gdbserver, gdbreplay): Use $(INTERNAL_CFLAGS).
	(win32-i386-low.o): New dependency rule.
	* linux-low.c (linux_wait): Use target signal numbers.
	* target.h (struct target_ops): Doc fix.
	* server.h (target_signal_to_name): New prototype.
	* gdbreplay.c: Don't include headers unconditionally which
	are missing on mingw32.  Include <winsock.h> for mingw32.
	(remote_close, remote_open): Adjust for Winsock support.
	* configure, config.in: Regenerated.

2006-07-12  Daniel Jacobowitz  <dan@codesourcery.com>

	* server.c (decode_xfer_read, write_qxfer_response): New.
	(handle_query): Take a packet length argument.  Handle
	qXfer:auxv:read instead of qPart:auxv:read.  Mention it in
	the qSupported response.
	(main): Update call to handle_query.

2006-06-22  Daniel Jacobowitz  <dan@codesourcery.com>

	* remote-utils.c (remote_escape_output, remote_unescape_input): New.
	(putpkt_binary): Renamed from putpkt and adjusted for binary
	data.
	(putpkt): New wrapper for putpkt_binary.
	(readchar): Don't mask off the high bit.
	(decode_X_packet): New function.
	* server.c (main): Call putpkt_binary if a handler sets the packet
	length.  Save the length of the incoming packet.  Handle 'X'.
	* server.h (gdb_byte, remote_escape_output, decode_X_packet): New.

2006-06-21  Daniel Jacobowitz  <dan@codesourcery.com>

	* server.c (handle_query): Handle qSupported.

2006-05-30  Daniel Jacobowitz  <dan@codesourcery.com>

	* remote-utils.c (all_symbols_looked_up): New variable.
	(look_up_one_symbol): Check it.
	* server.h (look_up_one_symbol): New declaration.
	* thread-db.c (thread_db_init): Set all_symbols_looked_up.

2006-05-30  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.in (linux-arm-low.o): Update dependencies.
	* linux-arm-low.c: Include "gdb_proc_service.h".
	(PTRACE_GET_THREAD_AREA): Define.
	(ps_get_thread_area): New function.

2006-05-09  Nathan Sidwell  <nathan@codesourcery.com>

	* configure.srv (m68k*-*-uclinux*): New target.
	* linux-low.c (linux_create_inferior): Use vfork on mmuless systems.
	(linux_resume_one_process): Remove extraneous cast.
	(linux_read_offsets): New.
	(linux_target_op): Add linux_read_offsets on mmuless systems.
	* server.c (handle_query): Add qOffsets logic.
	* target.h (struct target_ops): Add read_offsets.

2006-03-15  Daniel Jacobowitz  <dan@codesourcery.com>

	* linux-mips-low.c: Include <sys/ptrace.h> and "gdb_proc_service.h".
	(PTRACE_GET_THREAD_AREA): Define.
	(ps_get_thread_area): New function.
	* Makefile.in (linux-i386-low.o, linux-mips-low.o)
	(linux-x86-64-low.o): Update.

2006-03-15  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure.ac: Remove checks for prfpregset_t.
	* gdb_proc_service.h: New file.
	* linux-i386-low.c, linux-x86-64-low.c, thread-db.c: Use the
	new "gdb_proc_service.h".
	* proc-service.c: Likewise.
	(ps_pglobal_lookup, ps_pdread, ps_pdwrite): Use psaddr_t.
	(ps_lgetfpregs, ps_lsetfpregs): Use a void* argument.
	* Makefile.in (gdb_proc_service_h): Updated.
	* configure, config.in: Regenerated.

2006-03-03  Daniel Jacobowitz  <dan@codesourcery.com>

	* remote-utils.c (prepare_resume_reply): Move declaration
	of gdb_id_from_wait to the top of the block.

2006-02-15  Daniel Jacobowitz  <dan@codesourcery.com>

	* linux-low.c (regsets_store_inferior_registers): Read the regset
	from the target before filling it.

2006-02-08  Daniel Jacobowitz  <dan@codesourcery.com>

	* server.c (attach_inferior): Return SIGTRAP for a successful
	attach.

2006-02-01  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.in (OBS): Add version.o.
	(STAGESTUFF): Delete.
	(version.o): Add dependencies.
	(version.c): Replace rule.
	(clean): Remove version.c.
	* server.c (gdbserver_version): New.
	(gdbserver_usage): Use printf.
	(main): Handle --version and --help.
	* server.h (version, host_name): Add declarations.

2005-12-23  Eli Zaretskii  <eliz@gnu.org>

	* linux-arm-low.c: 
	* linux-arm-low.c: 
	* inferiors.c: 
	* i387-fp.h: 
	* i387-fp.c: 
	* gdbreplay.c: 
	* regcache.c: 
	* proc-service.c: 
	* mem-break.h: 
	* mem-break.c: 
	* linux-x86-64-low.c: 
	* linux-sh-low.c: 
	* linux-s390-low.c: 
	* linux-ppc64-low.c: 
	* linux-ppc-low.c: 
	* linux-mips-low.c: 
	* linux-m68k-low.c: 
	* linux-m32r-low.c: 
	* linux-low.h: 
	* linux-low.c: 
	* linux-ia64-low.c: 
	* linux-i386-low.c: 
	* linux-crisv32-low.c: 
	* thread-db.c: 
	* terminal.h: 
	* target.h: 
	* target.c: 
	* server.h: 
	* server.c: 
	* remote-utils.c: 
	* regcache.h: 
	* utils.c: 
	* Makefile.in: 
	* configure.ac: 
	* gdbserver.1: Add (C) after Copyright.  Update the FSF
	address.

2005-11-13  Daniel Jacobowitz  <dan@codesourcery.com>

	* linux-arm-low.c (arm_eabi_breakpoint): New variable.
	(arm_breakpoint_at): Recognize both breakpoints.
	(the_low_target): Use the correct breakpoint instruction.

2005-11-02  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure.srv (x86_64-*-linux*): Turn on thread_db support.
	* linux-x86-64-low.c (x86_64_breakpoint, x86_64_breakpoint_len)
	(x86_64_get_pc, x86_64_set_pc, x86_64_breakpoint_at): New.
	(the_low_target): Update.

2005-10-25  Andreas Schwab  <schwab@suse.de>

	* server.c (main): Allocate mem_buf with PBUFSIZ bytes.

	* linux-ia64-low.c (ia64_regmap): Remove NAT registers.
	(ia64_num_regs): Reduce to 462.

2005-09-17  Daniel Jacobowitz  <dan@codesourcery.com>

	* acinclude.m4: Correct quoting.
	* aclocal.m4: Regenerated.

	Suggested by SZOKOVACS Robert <szo@ies.hu>:
	* thread-db.c (thread_db_err_str): Handle TD_VERSION.
	(thread_db_init): Call thread_db_err_str.
	* configure.ac: Check for TD_VERSION.
	* config.in, configure: Regenerated.

2005-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* server.h (error, fatal, warning): Add ATTR_FORMAT.

2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure.ac: Define HAVE_LINUX_REGSETS even if PTRACE_GETREGS
	is not available.  Define HAVE_PTRACE_GETREGS if it is.
	* config.in, configure: Regenerated.
	* configure.srv: Set srv_linux_regsets for PowerPC and PowerPC64.
	* linux-i386-low.c, linux-m68k-low.c: Update to use
	HAVE_PTRACE_GETREGS.
	* linux-low.c (regsets_fetch_inferior_registers)
	(regsets_store_inferior_registers): Only return 0 if we processed
	GENERAL_REGS.
	* linux-ppc-low.c (ppc_fill_gregset, target_regsets): New.
	* linux-ppc64-low.c (ppc_fill_gregset, target_regsets): New.

2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>

	* inferiors.c (struct thread_info): Add gdb_id.
	(add_thread): Add gdb_id argument.
	(thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New.
	* linux-low.c (linux_create_inferior, linux_attach_lwp): Update
	calls to add_thread.
	* remote-utils.c (prepare_resume_reply: Use thread_to_gdb_id.
	* server.c (handle_query): Use thread_to_gdb_id.
	(handle_v_cont, main): Use gdb_id_to_thread_id.
	* server.h (add_thread): Update prototype.
	(thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New
	prototypes.

2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>

	* linux-low.c (fetch_register, usr_store_inferior_registers): Handle
	left-padded registers.
	* linux-low.h (struct linux_target_ops): Add left_pad_xfer.
	* linux-ppc64-low.c (the_low_target): Set left_pad_xfer.

2005-07-01  Steve Ellcey  <sje@cup.hp.com>

	* configure.ac (BFD_NEED_DECLARATION): Replace with AC_CHECK_DECLS.
	* configure: Regenerate.
	* config.in: Regenerate.
	* server.h (NEED_DECLARATION_STRERROR):
	Replace with !HAVE_DECL_STRERROR.

2005-06-16  Daniel Jacobowitz  <dan@codesourcery.com>

	* linux-low.c (linux_wait, linux_send_signal): Don't test
	an unsigned long variable for > 0 if it could be MAX_ULONG.
	* server.c (myresume): Likewise.
	* target.c (set_desired_inferior): Likewise.

2005-06-13  Mark Kettenis  <kettenis@gnu.org>

	* configure.ac: Simplify and improve check for socklen_t.
	* configure, config.in: Regenerate.

2005-06-12  Daniel Jacobowitz  <dan@codesourcery.com>

	* acconfig.h: Remove.
	* configure.ac: Add a test for socklen_t.  Use three-argument
	AC_DEFINE throughout.
	* config.in: Regenerated using autoheader 2.59.
	* configure: Regenerated.

	* gdbreplay.c (socklen_t): Provide a default.
	(remote_open): Use socklen_t.
	* remote-utils.c (socklen_t): Provide a default.
	(remote_open): Use socklen_t.
	(convert_int_to_ascii, convert_ascii_to_int, decode_M_packet): Use
	unsigned char.

	* i387-fp.c (struct i387_fsave, struct i387_fxsave): Use unsigned
	char for buffers.
	* linux-low.c (linux_read_memory, linux_write_memory)
	(linux_read_auxv): Likewise.
	* mem-break.c (breakpoint_data, set_breakpoint_data, check_mem_read)
	(check_mem_write): Likewise.
	* mem-break.h (set_breakpoint_data, check_mem_read, check_mem_write):
	Likewise.
	* regcache.c (struct inferior_rgcache_data, registers_to_string)
	(registers_from_string, register_data): Likewise.
	* server.c (handle_query, main): Likewise.
	* server.h (convert_ascii_to_int, convert_int_to_ascii)
	(decode_M_packet): Likewise.
	* target.c (read_inferior_memory, write_inferior_memory): Likewise.
	* target.h (struct target_ops): Update read_memory, write_memory,
	and read_auxv.
	(read_inferior_memory, write_inferior_memory): Update.
	* linux-low.h (struct linux_target_ops): Change type of breakpoint
	to unsigned char *.
	* linux-arm-low.c, linux-cris-low.c, linux-crisv32-low.c,
	linux-i386-low.c, linux-m32r-low.c, linux-m68k-low.c,
	linux-mips-low.c, linux-ppc-low.c, linux-ppc64-low.c,
	linux-s390-low.c, linux-sh-low.c: Update for changes in
	read_inferior_memory and the_low_target->breakpoint.

2005-05-28  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.in (SFILES): Add linux-ppc64-low.c.
	(linux-ppc64-low.o, reg-ppc64.c, reg-ppc64.o): New targets.
	* configure.srv: Add powerpc64-*-linux*.
	* linux-ppc64-low.c: New file.

2005-05-23  Orjan Friberg  <orjanf@axis.com>

	* linux-cris-low.c: New file with support for CRIS.
	* linux-crisv32-low.c: Ditto for CRISv32.
	* Makefile.in (SFILES): Add linux-cris-low.c, linux-crisv32-low.c.
	(clean): Add reg-cris.c and reg-crisv32.c.
	Add linux-cris-low.o, linux-crisv32-low.o, reg-cris.o, reg-cris.c, 
	reg-crisv32.o, and reg-crisv32.c to make rules.
	* configure.srv: Add cris-*-linux* and crisv32-*-linux* to list of
	recognized targets.

2005-05-16  Ulrich Weigand  <uweigand@de.ibm.com>

	* linux-low.c (fetch_register): Ensure buffer size is a multiple
	of sizeof (PTRACE_XFER_TYPE).
	(usr_store_inferior_registers): Likewise.  Zero out excess bytes.

2005-05-12  Orjan Friberg  <orjanf@axis.com>

	* target.h (struct target_ops): Add insert_watchpoint, 
	remove_watchpoint, stopped_by_watchpoint, stopped_data_address function
	pointers for hardware watchpoint support.
	* linux-low.h (struct linux_target_ops): Ditto.
	* linux-low.c (linux_insert_watchpoint, linux_remove_watchpoint)
	(linux_stopped_by_watchpoint, linux_stopped_data_address): New.  Add
	to linux_target_ops.
	* remote-utils.c (prepare_resume_reply): Add watchpoint information to
	reply packet.
	* server.c (main): Recognize 'Z' and 'z' packets.

2005-05-10  Ulrich Weigand  <uweigand@de.ibm.com>

	* linux-s390-low.c (s390_breakpoint, s390_breakpoint_len): Define.
	(s390_get_pc, s390_set_pc, s390_breakpoint_at): New functions.
	(the_low_target): Add new members.

2005-05-04  Daniel Jacobowitz  <dan@codesourcery.com>

	* proc-service.c (ps_lgetregs): Search all_processes instead of
	all_threads.

2005-05-04  Daniel Jacobowitz  <dan@codesourcery.com>

	* server.c (start_inferior): Change return type to int.
	(attach_inferior): Change sigptr to int *.
	(handle_v_cont, handle_v_requests): Change signal to int *.
	(main): Change signal to int.

2005-04-15  Kei Sakamoto  <sakamoto.kei@renesas.com>

	* Makefile.in: Add linux-m32r-low.o, reg-m32r.c and reg-m32r.o.
	* configure.srv: Add m32r*-*-linux*.
	* linux-m32r-low.c: New file.

2005-03-04  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.in (stamp-h): Set CONFIG_HEADERS explicitly.

2005-03-03  Daniel Jacobowitz  <dan@codesourcery.com>

	* inferiors.c (change_inferior_id, add_thread, find_inferior_id):
	Take unsigned long arguments for PIDs.
	* linux-low.c (add_process, linux_attach_lwp, linux_attach)
	(linux_thread_alive, linux_wait_for_event, kill_lwp, send_sigstop)
	(wait_for_sigstop, linux_resume_one_process)
	(regsets_fetch_inferior_registers, linux_send_signal)
	(linux_read_auxv): Likewise.  Update the types of variables holding
	PIDs.  Update format string specifiers.
	* linux-low.h (struct process_info, linux_attach_lwp): Likewise.
	* remote-utils.c (prepare_resume_reply): Likewise.
	* server.c (cont_thread, general_thread, step_thread)
	(thread_from_wait, old_thread_from_wait, signal_pid): Change type to
	unsigned long.
	(handle_query): Update format specifiers.
	(handle_v_cont, main): Use strtoul for thread IDs.
	* server.h (struct inferior_list_entry): Use unsigned long for ID.
	(add_thread, find_inferior_id, change_inferior_id, cont_thread)
	(general_thread, step_thread, thread_from_wait)
	(old_thread_from_wait): Update.
	* target.h (struct thread_resume): Use unsigned long for THREAD.
	(struct target_ops): Use unsigned long for arguments to attach and
	thread_alive.

2005-02-24  Daniel Jacobowitz  <dan@codesourcery.com>

	* acinclude.m4: Include bfd/bfd.m4 directly.
	* configure.ac: Use AC_ARG_PROGRAM.  Suggested by Aron Griffis
	<agriffis@toolchain.org>.
	* aclocal.m4, configure: Regenerated.

2005-01-07  Andrew Cagney  <cagney@gnu.org>

	* configure.ac: Rename configure.in, require autoconf 2.59.
	* configure: Re-generate.

2004-12-08  Daniel Jacobowitz  <dan@debian.org>

	* acinclude.m4 (SRV_CHECK_THREAD_DB): Add ps_get_thread_area.  Reset
	LIBS when finished.
	* aclocal.m4: Regenerated.
	* configure: Regenerated.

2004-11-21  Andreas Schwab  <schwab@suse.de>

	* linux-m68k-low.c (m68k_num_gregs): Define.
	(m68k_fill_gregset, m68k_store_gregset, m68k_fill_fpregset)
	(m68k_store_fpregset, target_regsets) [HAVE_LINUX_REGSETS]: New.
	(m68k_breakpoint, m68k_breakpoint_len, m68k_get_pc, m68k_set_pc)
	(m68k_breakpoint_at): New.  Add to the_low_target.

	* configure.srv (m68*-*-linux*): Set srv_linux_regsets and
	srv_linux_thread_db to yes.

2004-10-20  Joel Brobecker  <brobecker@gnat.com>

	* linux-x86-64-low.c (ARCH_SET_GS): Add definition if missing.
	(ARCH_SET_FS): Likewise.
	(ARCH_GET_FS): Likewise.
	(ARCH_GET_GS): Likewise.

2004-10-16  Daniel Jacobowitz  <dan@debian.org>

	* linux-i386-low.c (ps_get_thread_area): New.
	* linux-x86-64-low.c (ps_get_thread_area): New.
	* linux-low.c: Include <sys/syscall.h>.
	(linux_kill_one_process): Don't kill the first thread here.
	(linux_kill): Kill the first thread here.
	(kill_lwp): New function.
	(send_sigstop, linux_send_signal): Use it.
	* proc-service.c: Clean up #ifdefs.
	(fpregset_info): Delete.
	(ps_lgetregs): Update and enable implementation.
	(ps_lsetregs, ps_lgetfpregs, ps_lsetfpregs): Remove disabled
	implementations.
	* remote-utils.c (struct sym_cache, symbol_cache): New.
	(input_interrupt): Print a clearer message.
	(async_io_enabled): New variable.
	(enable_async_io, disable_async_io): Use it.  Update comments.
	(look_up_one_symbol): Use the symbol cache.
	* thread-db.c (thread_db_look_up_symbols): New function.
	(thread_db_init): Update comments.  Call thread_db_look_up_symbols.

2004-10-16  Daniel Jacobowitz  <dan@debian.org>

	* configure.in: Test for -rdynamic.
	* configure: Regenerated.
	* Makefile (INTERNAL_LDFLAGS): New.
	(gdbserver, gdbreplay): Use it.

2004-09-02  Andrew Cagney  <cagney@gnu.org>

	* Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE.

2004-03-23  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.c (linux_wait): Clear all_processes list also.

2004-03-12  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.c: Include <errno.h>.  Remove extern declaration of
	errno.

2004-03-12  Daniel Jacobowitz  <drow@mvista.com>

	* gdbreplay.c, server.h, utils.c: Update copyright years.

2004-03-04  Nathan J. Williams  <nathanw@wasabisystems.com>

	* server.c (main): Print child status or termination signal from
	variable 'signal', not 'sig'.

2004-03-04  Nathan J. Williams  <nathanw@wasabisystems.com>

	* linux-low.c (linux_read_memory): Change return type to
	int.  Check for and return error from ptrace().
	* target.c (read_inferior_memory): Change return type to int.  Pass
	back return status from the_target->read_memory().
	* target.h (struct target_ops): Adapt *read_memory() prototype.
	Update comment.
	(read_inferior_memory): Adapt prototype.
	* server.c (main): Return an error packet if
	read_inferior_memory() returns an error.

2004-03-04  Daniel Jacobowitz  <drow@mvista.com>

	* Makefile.in (distclean): Remove config.h, stamp-h, and config.log.
	Unify with other clean targets.

2004-02-29  Daniel Jacobowitz  <drow@mvista.com>

	* server.c (handle_v_cont): Call set_desired_inferior.

2004-02-29  Daniel Jacobowitz  <drow@mvista.com>

	* remote-utils.c (prepare_resume_reply): Always supply "thread:".

2004-02-29  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.c (linux_wait): Unblock async I/O.
	(linux_resume): Block and enable async I/O.
	* remote-utils.c (block_async_io, unblock_async_io): New functions.
	* server.h (block_async_io, unblock_async_io): Add prototypes.

2004-02-29  Daniel Jacobowitz  <drow@mvista.com>

	* remote-utils.c (remote_open): Print a status notice after
	opening a TCP port.
	* server.c (attach_inferior): Print a status notice after
	attaching.

2004-02-29  Daniel Jacobowitz  <drow@mvista.com>

	* linux-arm-low.c (arm_get_pc): Print out stop PC in debug mode.

2004-02-26  Daniel Jacobowitz  <drow@mvista.com>

	* remote-utils.c (write_enn): Use "E01" instead of "ENN" for the
	error packet.
	* server.c, target.h: Update copyright years.

2004-02-25  Roland McGrath  <roland@redhat.com>

	* target.h (struct target_ops): New member `read_auxv'.
	* server.c (handle_query): Handle qPart:auxv:read: query using that.
	* linux-low.c (linux_read_auxv): New function.
	(linux_target_ops): Initialize `read_auxv' member to that.

2004-02-17  Ulrich Weigand <Ulrich.Weigand@de.ibm.com>

	Committed by Jim Blandy  <jimb@redhat.com>.

	* linux-s390-low.c (s390_num_regs): Update.
	(s390_regmap): Remove control registers.  Use __s390x__ predefine
	instead of GPR_SIZE to distiguish s390 and s390x targets.

2004-01-31  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.c: Update copyright year.
	(check_removed_breakpoint): Clear pending_is_breakpoint.
	(linux_set_resume_request, linux_queue_one_thread)
	(resume_status_pending_p): New functions.
	(linux_continue_one_thread): Use process->resume.
	(linux_resume): Only resume threads if there are no pending events.
	* linux-low.h (struct process_info): Add resume request
	pointer.

2004-01-30  Daniel Jacobowitz  <drow@mvista.com>

	* regcache.c (new_register_cache): Clear the allocated register
	buffer.  Suggested by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.

2003-10-13  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.c (linux_resume): Take a struct thread_resume *
	argument.
	(linux_wait): Update call.
	(resume_ptr): New static variable.
	(linux_continue_one_thread): Renamed from
	linux_continue_one_process.  Use resume_ptr.
	(linux_resume): Use linux_continue_one_thread.
	* server.c (handle_v_cont, handle_v_requests): New functions.
	(myresume): New function.
	(main): Handle 'v' case.
	* target.h (struct thread_resume): New type.
	(struct target_ops): Change argument of "resume" to struct
	thread_resume *.
	(myresume): Delete macro.

2003-08-08  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in (install-only): Create dest dir. Support DESTDIR.
	(uninstall): Support DESTDIR.

Mon Jul 21 20:09:34 UTC 2003  Brendan Conoboy  <blc@redhat.com>

	* configure.srv: Add xscale*linux copy of arm*linux entry.

2003-07-24  Daniel Jacobowitz  <drow@mvista.com>

	* linux-arm-low.c (arm_reinsert_addr): New function.
	(the_low_target): Add arm_reinsert_addr.

2003-07-08  Mark Kettenis  <kettenis@gnu.org>

	* mem-break.c: Remove whitespace at end of file.

2003-06-28  Daniel Jacobowitz  <drow@mvista.com>

	* configure.in: Check whether we need to prototype strerror.
	* server.h: Optionally prototype strerror.
	* gdbreplay.c (perror_with_name): Use strerror.
	* linux-low.c (linux_attach_lwp): Use strerror.
	* utils.c (perror_with_name): Use strerror.
	* config.in, configure: Regenerated.

2003-06-28  Daniel Jacobowitz  <drow@mvista.com>

	* linux-sh-low.c (sh_regmap): Fix FP register offsets, reported by
	SUGIOKA Toshinobu <sugioka@itonet.co.jp>.

2003-06-20  Daniel Jacobowitz  <drow@mvista.com>

	* Makefile.in (SFILES): Update.
	* low-hppabsd.c, low-lynx.c, low-nbsd.c, low-sim.c, low-sparc.c,
	low-sun3.c: Remove files.

2003-06-17  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.c: Move comment to linux_thread_alive where it belonged.
	(linux_detach_one_process, linux_detach): New functions.
	(linux_target_ops): Add linux_detach.
	* server.c (main): Handle 'D' packet.
	* target.h (struct target_ops): Add "detach" member.
	(detach_inferior): Define.

2003-06-13  Mark Kettenis  <kettenis@gnu.org>

	From Kelley Cook  <kelleycook@wideopenwest.com>:
	* configure.srv: Accept i[34567]86 variants.

2003-06-05  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.c (linux_wait_for_event): Correct comment typos.
	(linux_resume_one_process): Call check_removed_breakpoint.
	(linux_send_signal): New function.
	(linux_target_ops): Add linux_send_signal.
	* remote-utils.c (putpkt, input_interrupt): Use send_signal instead
	of kill.
	* target.h (struct target_ops): Add send_signal.

2003-05-29  Jim Blandy  <jimb@redhat.com>

	* linux-low.c (usr_store_inferior_registers): Transfer buf in
	PTRACE_XFER_TYPE-sized chunks, not int-sized chunks.  Otherwise,
	if 'int' is smaller than PTRACE_XFER_TYPE, you end up throwing
	away part of the register's value.

2003-03-26  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.c (linux_create_inferior): Use __SIGRTMIN.
	(linux_wait_for_event, linux_init_signals): Likewise.

2003-03-17  Daniel Jacobowitz  <drow@mvista.com>

	* configure.in: Check for stdlib.h.
	* configure: Regenerated.
	* config.in: Regenerated.

2003-01-04  Andreas Schwab  <schwab@suse.de>

	* linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31.

2003-01-02  Andrew Cagney  <ac131313@redhat.com>

	* Makefile.in: Remove obsolete code.

2002-11-20  Daniel Jacobowitz  <drow@mvista.com>

	* linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of
	defined(PT_FPR0_HI).

2002-11-17  Stuart Hughes  <seh@zee2.com>

	* linux-arm-low.c (arm_num_regs): Increase.
	(arm_regmap): Include status register.

2002-11-17  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.c (register_addr): Remove incorrect -1 check.

2002-08-29  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.c (linux_create_inferior): Call setpgid.  Return
	the new PID.
	(unstopped_p, linux_signal_pid): Remove.
	(linux_target_ops): Remove linux_signal_pid.
	* remote-utils.c (putpkt, input_interrupt): Use signal_pid
	global instead of target method.
	* target.h (struct target_ops): Remove signal_pid.  Update comment
	for create_inferior.
	* server.c (signal_pid): New variable.
	(create_inferior): Set signal_pid.  Block SIGTTOU and SIGTTIN in
	gdbserver.  Set the child to be the foreground process group.
	(attach_inferior): Set signal_pid.

2002-08-23  Daniel Jacobowitz  <drow@mvista.com>

	* ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2.

2002-08-20  Jim Blandy  <jimb@redhat.com>

	* Makefile.in (LDFLAGS): Allow the configure script to establish a
	default for this.

2002-08-01  Andrew Cagney  <cagney@redhat.com>

	* Makefile.in: Make chill references obsolete.

2002-07-24  Kevin Buettner  <kevinb@redhat.com>

	* configure.in (unistd.h): Add to AC_CHECK_HEADERS list.
	* configure: Regenerate.
	* config.in: Regenerate.

2002-07-09  David O'Brien  <obrien@FreeBSD.org>

	* gdbreplay.c (stdlib.h, unistd.h): Conditionaly include.
	(perror_with_name, remote_close, remote_open, expect, play): Static.

2002-07-04  Michal Ludvig  <mludvig@suse.cz>

	* linux-x86-64-low.c (x86_64_regmap): Make it an array of
	byte offsets instead of an array of indexes.
	(x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.

2002-06-13  Daniel Jacobowitz  <drow@mvista.com>

	* regcache.c: Add comment.

2002-06-11  Daniel Jacobowitz  <drow@mvista.com>

	* thread-db.c: New file.
	* proc-service.c: New file.
	* acinclude.m4: New file.
	* Makefile.in: Add GDBSERVER_LIBS, gdb_proc_service_h,
	proc-service.o, and thread-db.o.
	(linux-low.o): Add USE_THREAD_DB.
	* acconfig.h: Add HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T,
	HAVE_LWPID_T, HAVE_PSADDR_T, and PRFPREGSET_T_BROKEN.
	* aclocal.m4: Regenerated.
	* config.in: Regenerated.
	* configure: Regenerated.
	* configure.in: Check for proc_service.h, sys/procfs.h,
	thread_db.h, and linux/elf.h headrs.
	Check for lwpid_t, psaddr_t, prgregset_t, prfpregset_t, and
	PRFPREGSET_T_BROKEN.  Introduce srv_thread_depfiles and USE_THREAD_DB.
	Check for -lthread_db and thread support.
	* configure.srv: Enable thread_db support for ARM, i386, MIPS,
	PowerPC, and SuperH.
	* i387-fp.c: Constify arguments.
	* i387-fp.h: Likewise.
	* inferiors.c: (struct thread_info): Renamed from
	`struct inferior_info'.  Remove PID member.  Use generic inferior
	list header.  All uses updated.
	(inferiors, signal_pid): Removed.
	(all_threads): New variable.
	(get_thread): Define.
	(add_inferior_to_list): New function.
	(for_each_inferior): New function.
	(change_inferior_id): New function.
	(add_inferior): Removed.
	(remove_inferior): New function.
	(add_thread): New function.
	(free_one_thread): New function.
	(remove_thread): New function.
	(clear_inferiors): Use for_each_inferior and free_one_thread.
	(find_inferior): New function.
	(find_inferior_id): New function.
	(inferior_target_data): Update argument type.
	(set_inferior_target_data): Likewise.
	(inferior_regcache_data): Likewise.
	(set_inferior_regcache_data): Likewise.
	* linux-low.c (linux_bp_reinsert): Remove.
	(all_processes, stopping_threads, using_thrads)
	(struct pending_signals, debug_threads, pid_of): New.
	(inferior_pid): Replace with macro.
	(struct inferior_linux_data): Remove.
	(get_stop_pc, add_process): New functions.
	(linux_create_inferior): Restore SIGRTMIN+1 before calling exec.
	Use add_process and add_thread.
	(linux_attach_lwp): New function, based on old linux_attach.  Use
	add_process and add_thread.  Set stop_expected for new threads.
	(linux_attach): New function.
	(linux_kill_one_process): New function.
	(linux_kill): Kill all LWPs.
	(linux_thread_alive): Use find_inferior_id.
	(check_removed_breakpoints, status_pending_p): New functions.
	(linux_wait_for_process): Renamed from linux_wait_for_one_inferior.
	Update.  Use WNOHANG.  Wait for cloned processes also.  Update process
	struct for the found process.
	(linux_wait_for_event): New function.
	(linux_wait): Use it.  Support LWPs.
	(send_sigstop, wait_for_sigstop, stop_all_processes)
	(linux_resume_one_process, linux_continue_one_process): New functions.
	(linux_resume): Support LWPs.
	(REGISTER_RAW_SIZE): Remove.
	(fetch_register): Use register_size instead.  Call supply_register.
	(usr_store_inferior_registers): Likewise.  Call collect_register.
	Fix recursive case.
	(regsets_fetch_inferior_registers): Improve error message.
	(regsets_store_inferior_registers): Add debugging.
	(linux_look_up_symbols): Call thread_db_init if USE_THREAD_DB.
	(unstopped_p, linux_signal_pid): New functions.
	(linux_target_ops): Add linux_signal_pid.
	(linux_init_signals): New function.
	(initialize_low): Call it.  Initialize using_threads.
	* regcache.c (inferior_regcache_data): Add valid
	flag.
	(get_regcache): Fetch registers lazily.  Add fetch argument
	and update all callers.
	(regcache_invalidate_one, regcache_invalidate): New
	functions.
	(new_register_cache): Renamed from create_register_cache.
	Return the new regcache.
	(free_register_cache): Change argument to a void *.
	(registers_to_string, registers_from_string): Call get_regcache
	with fetch flag set.
	(register_data): Make static.  Pass fetch flag to get_regcache.
	(supply_register): Call get_regcache with fetch flag clear.
	(collect_register): Call get_regcache with fetch flag set.
	(collect_register_as_string): New function.
	* regcache.h: Update.
	* remote-utils.c (putpkt): Flush after debug output and use
	stderr.
	Handle input interrupts while waiting for an ACK.
	(input_interrupt): Use signal_pid method.
	(getpkt): Flush after debug output and use stderr.
	(outreg): Use collect_register_as_string.
	(new_thread_notify, dead_thread_notify): New functions.
	(prepare_resume_reply): Check using_threads.  Set thread_from_wait
	and general_thread.
	(look_up_one_symbol): Flush after debug output.
	* server.c (step_thread, server_waiting): New variables.
	(start_inferior): Don't use signal_pid.  Update call to mywait.
	(attach_inferior): Update call to mywait.
	(handle_query): Handle qfThreadInfo and qsThreadInfo.
	(main): Don't fetch/store registers explicitly.  Use
	set_desired_inferior.  Support proposed ``Hs'' packet.  Update
	calls to mywait.
	* server.h: Update.
	(struct inferior_list, struct_inferior_list_entry): New.
	* target.c (set_desired_inferior): New.
	(write_inferior_memory): Constify.
	(mywait): New function.
	* target.h: Update.
	(struct target_ops): New signal_pid method.
	(mywait): Removed macro, added prototype.

	* linux-low.h (regset_func): Removed.
	(regset_fill_func, regset_store_func): New.
	(enum regset_type): New.
	(struct regset_info): Add type field.  Use new operation types.
	(struct linux_target_ops): stop_pc renamed to get_pc.
	Add decr_pc_after_break and breakpoint_at.
	(get_process, get_thread_proess, get_process_thread)
	(strut process_info, all_processes, linux_attach_lwp)
	(thread_db_init): New.

	* linux-arm-low.c (arm_get_pc, arm_set_pc,
	arm_breakpoint, arm_breakpoint_len, arm_breakpoint_at): New.
	(the_low_target): Add new members.
	* linux-i386-low.c (i386_store_gregset, i386_store_fpregset)
	(i386_store_fpxregset): Constify.
	(target_regsets): Add new kind identifier.
	(i386_get_pc): Renamed from i386_stop_pc.  Simplify.
	(i386_set_pc): Add debugging.
	(i386_breakpoint_at): New function.
	(the_low_target): Add new members.
	* linux-mips-low.c (mips_get_pc, mips_set_pc)
	(mips_breakpoint, mips_breakpoint_len, mips_reinsert_addr)
	(mips_breakpoint_at): New.
	(the_low_target): Add new members.
	* linux-ppc-low.c (ppc_get_pc, ppc_set_pc)
	(ppc_breakpoint, ppc_breakpoint_len, ppc_breakpoint_at): New.
	(the_low_target): Add new members.
	* linux-sh-low.c (sh_get_pc, sh_set_pc)
	(sh_breakpoint, sh_breakpoint_len, sh_breakpoint_at): New.
	(the_low_target): Add new members.
	* linux-x86-64-low.c (target_regsets): Add new kind
	identifier.

2002-05-15  Daniel Jacobowitz  <drow@mvista.com>

	From Martin Pool <mbp@samba.org>:
	* server.c (gdbserver_usage): New function.
	(main): Call it.

2002-05-14  Daniel Jacobowitz  <drow@mvista.com>

	* mem-break.c (reinsert_breakpoint_by_bp): Correct typo
	stop_at -> stop_pc.

2002-05-04  Andrew Cagney  <ac131313@redhat.com>

	* Makefile.in: Remove obsolete code.

2002-04-24  Michal Ludvig  <mludvig@suse.cz>

	* linux-low.c (regsets_fetch_inferior_registers),
	(regsets_store_inferior_registers): Removed cast to int from
	ptrace() calls.
	* regcache.h: Added declaration of struct inferior_info.

2002-04-20  Daniel Jacobowitz  <drow@mvista.com>

	* inferiors.c (struct inferior_info): Add regcache_data.
	(add_inferior): Call create_register_cache.
	(clear_inferiors): Call free_register_cache.
	(inferior_regcache_data, set_inferior_regcache_data): New functions.
	* regcache.c (struct inferior_regcache_data): New.
	(registers): Remove.
	(get_regcache): New function.
	(create_register_cache, free_register_cache): New functions.
	(set_register_cache): Don't initialize the register cache here.
	(registers_to_string, registers_from_string, register_data): Call
	get_regcache.
	* regcache.h: Add prototypes.
	* server.h: Likewise.

2002-04-20  Daniel Jacobowitz  <drow@mvista.com>

	* mem-break.c: New file.
	* mem-break.h: New file.
	* Makefile.in: Add mem-break.o rule; update server.h
	dependencies.
	* inferiors.c (struct inferior_info): Add target_data
	member.
	(clear_inferiors): Free target_data member if set.
	(inferior_target_data, set_inferior_target_data): New functions.
	* linux-i386-low.c (i386_breakpoint, i386_breakpoint_len)
	(i386_stop_pc, i386_set_pc): New.  Add to the_low_target.
	* linux-low.c (linux_bp_reinsert): New variable.
	(struct inferior_linux_data): New.
	(linux_create_inferior): Use set_inferior_target_data.
	(linux_attach): Likewise.  Call add_inferior.
	(linux_wait_for_one_inferior): New function.
	(linux_wait): Call it.
	(linux_write_memory): Add const.
	(initialize_low): Call set_breakpoint_data.
	* linux-low.h (struct linux_target_ops): Add breakpoint
	handling members.
	* server.c (attach_inferior): Remove extra add_inferior
	call.
	* server.h: Include mem-break.h.  Update inferior.c
	prototypes.
	* target.c (read_inferior_memory)
	(write_inferior_memory): New functions.
	* target.h (read_inferior_memory)
	(write_inferior_memory): Change macros to prototypes.
	(struct target_ops): Update comments.  Add const to write_memory
	definition.

2002-04-11  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.c (usr_store_inferior_registers): Support
	registers which are allowed to fail to store.
	* linux-low.h (linux_target_ops): Likewise.
	* linux-ppc-low.c (ppc_regmap): Support FPSCR.
	(ppc_cannot_store_register): FPSCR may not be storable.

2002-04-09  Daniel Jacobowitz  <drow@mvista.com>

	* server.h: Include <string.h> if HAVE_STRING_H.
	* ChangeLog: Correct paths in last ChangeLog entry.

2002-04-09  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.h: Remove obsolete prototypes.
	(struct linux_target_ops): New.
	(extern the_low_target): New.
	* linux-low.c (num_regs, regmap): Remove declarations.
	(register_addr): Use the_low_target explicitly.
	(fetch_register): Likewise.
	(usr_fetch_inferior_registers): Likewise.
	(usr_store_inferior_registers): Likewise.
	* linux-arm-low.c (num_regs): Remove.
	(arm_num_regs): Define.
	(arm_regmap): Renamed from regmap, made static.
	(arm_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(arm_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-i386-low.c (num_regs): Remove.
	(i386_num_regs): Define.
	(i386_regmap): Renamed from regmap, made static.
	(i386_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(i386_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-ia64-low.c (num_regs): Remove.
	(ia64_num_regs): Define.
	(ia64_regmap): Renamed from regmap, made static.
	(ia64_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(ia64_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-m68k-low.c (num_regs): Remove.
	(m68k_num_regs): Define.
	(m68k_regmap): Renamed from regmap, made static.
	(m68k_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(m68k_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-mips-low.c (num_regs): Remove.
	(mips_num_regs): Define.
	(mips_regmap): Renamed from regmap, made static.
	(mips_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(mips_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-ppc-low.c (num_regs): Remove.
	(ppc_num_regs): Define.
	(ppc_regmap): Renamed from regmap, made static.
	(ppc_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(ppc_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-s390-low.c (num_regs): Remove.
	(s390_num_regs): Define.
	(s390_regmap): Renamed from regmap, made static.
	(s390_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(s390_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-sh-low.c (num_regs): Remove.
	(sh_num_regs): Define.
	(sh_regmap): Renamed from regmap, made static.
	(sh_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(sh_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-x86-64-low.c (x86_64_regmap): Renamed from regmap.
	(the_low_target): New.

2002-04-09  Daniel Jacobowitz  <drow@mvista.com>

	* Makefile.in: Add stamp-h target.
	* configure.in: Create stamp-h.
	* configure: Regenerated.

2002-04-09  Daniel Jacobowitz  <drow@mvista.com>

	* inferiors.c: New file.
	* target.c: New file.
	* target.h: New file.
	* Makefile.in:  Add target.o and inferiors.o.  Update
	dependencies.
	* linux-low.c (inferior_pid): New static variable,
	moved from server.c.
	(linux_create_inferior): Renamed from create_inferior.
	Call add_inferior.  Return 0 on success instead of a PID.
	(linux_attach): Renamed from myattach.
	(linux_kill): Renamed from kill_inferior.  Call clear_inferiors ().
	(linux_thread_alive): Renamed from mythread_alive.
	(linux_wait): Renamed from mywait.  Call clear_inferiors () if the
	child dies.
	(linux_resume): Renamed from myresume.  Add missing ``return 0''.
	(regsets_store_inferior_registers): Correct error message.
	Add missing ``return 0''.
	(linux_fetch_registers): Renamed from fetch_inferior_registers.
	(linux_store_registers): Renamed from store_inferior_registers.
	(linux_read_memory): Renamed from read_inferior_memory.
	(linux_write_memory): Renamed from write_inferior_memory.
	(linux_target_ops): New structure.
	(initialize_low): Call set_target_ops ().
	* remote-utils.c (unhexify): New function.
	(hexify): New function.
	(input_interrupt): Send signals to ``signal_pid''.
	* server.c (inferior_pid): Remove.
	(start_inferior): Update create_inferior call.
	(attach_inferior): Call add_inferior.
	(handle_query): New function.
	(main): Call handle_query for `q' packets.
	* server.h: Include "target.h".  Remove obsolete prototypes.
	Add prototypes for "inferiors.c", "target.c", hexify, and unhexify.

2002-04-09  Daniel Jacobowitz  <drow@mvista.com>

	* Makefile.in: Add WARN_CFLAGS.  Update configury
	dependencies.
	* configure.in: Check for <string.h>
	* configure: Regenerate.
	* config.in: Regenerate.
	* gdbreplay.c: Include needed system headers.
	(remote_open): Remove strchr prototype.
	* linux-low.h: Correct #ifdef to HAVE_LINUX_USRREGS.
	* regcache.c (supply_register): Change buf argument to const void *.
	(supply_register_by_name): Likewise.
	(collect_register): Change buf argument to void *.
	(collect_register_by_name): Likewise.
	* regcache.h: Add missing prototypes.
	* remote-utils.c: Include <arpa/inet.h> for inet_ntoa.
	* server.c (handle_query): New function.
	(attached): New static variable, moved out of main.
	(main): Quiet longjmp clobber warnings.
	* server.h: Add ATTR_NORETURN and ATTR_FORMAT.  Update prototypes.
	* utils.c (error): Remove NORETURN.
	(fatal): Likewise.