X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fgdbserver%2FChangeLog;h=0fde4b9d5f46c2a5dbf0d71d571acb5fae2655e5;hb=131eb6b75e45eec24860ff6972f23b0e723db75c;hp=126dd318fa5bd181008534c70cccdabadba1e5c4;hpb=42c81e2acb86316457e92c13fb87793d387bd618;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 126dd318fa..0fde4b9d5f 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,974 @@ +2008-04-21 Ulrich Weigand + + * 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 + + * 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 . + (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 + + * 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 + + * 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 + + * server.c (handle_query): Never return "unsupported" for + qXfer:features:read queries. + +2008-03-27 Ulrich Weigand + + * server.c (get_features_xml): Fix inverted condition. + (handle_query): Always support qXfer:feature:read. + +2008-03-10 Daniel Jacobowitz + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * server.c (handle_query): Correct length check. + +2008-02-14 Pedro Alves + + * 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 + + * server.c (monitor_show_help): Add "exit". + +2008-02-11 Maxim Grigoriev + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * server.c (myresume): Add own_buf argument. + (main): Update calls. + +2007-12-06 Daniel Jacobowitz + + * 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 + + * remote-utils.c (readchar): Allow binary data in received messages. + +2007-12-03 Pedro Alves + + * 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 + + * server.c (main): Don't report dll events on the initial + connection on attaches. + +2007-12-03 Pedro Alves + + * server.c (main): Relax numerical bases supported for the pid of + the --attach command line argument. + +2007-12-03 Pedro Alves + + * win32-low.c (win32_attach): Call OpenProcess before + DebugActiveProcess, not after. Add last error output to error + call. + +2007-12-03 Pedro Alves + + * 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 + + * 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 + + * 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 + + * win32-low.c (win32_wait): Don't read from the inferior when it + has already exited. + +2007-12-02 Pedro Alves + + * 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 + + * hostio.c: Correct copyright year. + +2007-11-30 Daniel Jacobowitz + + * 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 + + * linux-low.c: Include . + +2007-11-01 Daniel Jacobowitz + + * 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 + + * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh. + +2007-10-24 Daniel Jacobowitz + + * linux-low.c (handle_extended_wait): Handle unexpected signals. + +2007-10-23 Daniel Jacobowitz + + * 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 + + * 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 + + * 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 + + * linux-low.c (linux_wait_for_event): Do not pass signals while + single-stepping. + +2007-09-03 Pedro Alves + + * 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 + + * win32-low.c (handle_load_dll): Don't use toolhelp when waiting. + +2007-08-23 Joel Brobecker + + * configure.ac: Switch license to GPLv3. + +2007-08-01 Michael Snyder + + * remote-utils.c (putpkt_binary): Memory leak, free buf2. + +2007-07-31 Pedro Alves + + * 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 + + * server.c (main): Check for inferior exit before main loop. + +2007-07-18 Pedro Alves + + * remote-utils.c (remote_open): Set SO_KEEPALIVE on remote_desc + instead of on tmp_desc. + +2007-07-17 Pedro Alves + Daniel Jacobowitz + + * 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 + + * configure.srv: Set srv_linux_regsets for sh*-*-linux*. + * linux-sh-low.c (sh_fill_gregset, target_regsets): New. + +2007-07-08 Pedro Alves + + * win32-low.c (handle_output_debug_string): Ignore event if not + waiting. + +2007-07-08 Pedro Alves + + * win32-arm-low.c (arm_wince_breakpoint): Fix typo. + +2007-07-03 Daniel Jacobowitz + + * remote-utils.c (look_up_one_symbol): Handle 'm' packets. + +2007-07-02 Daniel Jacobowitz + + * 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 + + * 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 + + * linux-low.c (linux_create_inferior): Try execv before execvp. + * spu-low.c (spu_create_inferior): Likewise. + +2007-06-13 Mike Frysinger + + * linux-low.c (linux_create_inferior): Change execv to execvp. + * spu-low.c (spu_create_inferior): Likewies. + +2007-06-13 Daniel Jacobowitz + + * 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 + Markus Deuling + + * 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 + + * spu-low.c (spu_proc_xfer_spu): Do not return failure when + accessing non-seekable spufs files. + +2007-05-16 Markus Deuling + + * server.c (handle_query): Add reply for qC packet. + +2007-05-10 Pedro Alves + Leo Zayas + + * 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 + + * 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 + + * linux-low.c (linux_detach): Change return type to int. Return 0. + * spu-low.c (spu_detach): Likewise. + +2007-05-10 Pedro Alves + + * 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 + + * win32-low.c (win32-attach): Fix return value. + * target.h (target_ops): Describe ATTACH return values. + +2007-05-10 Pedro Alves + + * win32-low.c (GETPROCADDRESS): Define. + (winapi_DebugActiveProcessStop): Add WINAPI. typedef as pointer. + (winapi_DebugSetProcessKillOnExit): Likewise. + (win32_create_inferior): Force usage of ansi CreateProcessA. + (win32_attach): Use GETPROCADDRESS. + (win32_detach): Likewise. + +2007-05-10 Pedro Alves + + * win32-low.c (win32_wait): Don't use WSTOPSIG. + +2007-03-30 Pedro Alves + + * win32-low.c: Commit leftover changes from 2007-03-29. + +2007-03-30 Daniel Jacobowitz + + * i387-fp.c (struct i387_fsave, struct i387_fxsave): Make 16-bit + fields short instead of int. Add explicit padding. + (i387_cache_to_fsave): Remove unnecessary casts. + (i387_fsave_to_cache): Doc fix. + (i387_cache_to_fxsave): Remove unnecessary casts and masking. + +2007-03-30 Daniel Jacobowitz + + * i387-fp.c (i387_cache_to_fxsave): Reinitialize val2 before use. + (i387_fxsave_to_cache): Check fp->ftag while building ftag value. + +2007-03-29 Pedro Alves + + * configure.srv (arm*-*-mingw32ce*): Move near the other + arm targets. + +2007-03-29 Pedro Alves + + * configure.ac: Add errno checking. + (AC_CHECK_HEADERS): Add errno.h, fcntl.h, signal.h, + sys/file.h and malloc.h. + (AC_CHECK_DECLS): Add perror. + (srv_mingwce): Handle. + * configure.srv (i[34567]86-*-cygwin*): Add + win32-i386-low.o to srv_tgtobj. + (i[34567]86-*-mingw*): Likewise. + (arm*-*-mingw32ce*): Add case. + * gdbreplay.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H, + HAVE_FCNTL_H, HAVE_ERRNO_H, HAVE_MALLOC_H]: Check. + [__MINGW32CE__] (strerror): New function. + [__MINGW32CE__] (errno): Define to GetLastError. + [__MINGW32CE__] (COUNTOF): New macro. + (remote_open): Remove extra close call. + * mem-break.c (delete_breakpoint_at): New function. + * mem-break.h (delete_breakpoint_at): Declare. + * remote-utils.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H, + HAVE_FCNTL_H, HAVE_UNISTD_H, HAVE_ERRNO_H]: Check. + [USE_WIN32API] (read, write): Add char* casts. + * server.c [HAVE_UNISTD_H, HAVE_SIGNAL_H]: Check. + * server.h: Include wincecompat.h on Windows CE. + [HAVE_ERRNO_H]: Check. + (perror): Declare if not declared. + * utils.c: Add stdlib.h, errno.h and malloc.h includes. + (perror_with_name): Remove errno declaration. + * wincecompat.h: New. + * wincecompat.c: New. + * win32-low.h: New. + * win32-arm-low.c: New. + * win32-i386-low.c: New. + (win32-low.c): Include mem-break.h and win32-low.h, and winnt.h. + (OUTMSG2): Make it safe. + (_T): New macro. + (COUNTOF): New macro. + (NUM_REGS): Get it from the low target. + (CONTEXT_EXTENDED_REGISTERS, CONTEXT_FLOATING_POINT, + CONTEXT_DEBUG_REGISTERS): Add fallbacks to 0. + (thread_rec): Let low target handle debug registers. + (child_add_thread): Likewise. + (child_init_thread_list): Likewise. + (continue_one_thread): Likewise. + (regptr): New. + (do_child_fetch_inferior_registers): Move to ... + * win32-i386-low.c: ... here, and rename to ... + (do_fetch_inferior_registers): ... this. + * win32-low.c (child_fetch_inferior_registers): + Go through the low target. + (do_child_store_inferior_registers): Use regptr. + (strwinerror): New function. + (win32_create_inferior): Handle Windows CE. + Use strwinerror instead of strerror on Windows error + codes. Add program to the error output. + Don't close the main thread handle on Windows CE. + (win32_attach): Use coredll.dll on Windows CE. + (win32_kill): Close current process and current + thread handles. + (win32_detach): Use coredll.dll on Windows CE. + (win32_resume): Let low target handle debug registers, and + step request. + (handle_exception): Add/Remove initial breakpoint. Avoid + non-existant WSTOPSIG on Windows CE. + (win32_read_inferior_memory): Cast to remove warning. + (win32_arch_string): Go through the low target. + (initialize_low): Call set_breakpoint_data with the low + target's breakpoint. + * win32-low.c (dr, FLAG_TRACE_BIT, FCS_REGNUM, + FOP_REGNUM, mappings): Move to ... + * win32-i386-low.c: ... here. + * win32-low.c (win32_thread_info): Move to ... + * win32-low.h: ... here. + * Makefile.in (SFILES): Add win32-low.c, win32-i386-low.c, + win32-arm-low.c and wincecompat.c. + (all:): Add $EXEEXT. + (install-only:): Likewise. + (gdbserver:): Likewise. + (gdbreplay:): Likewise. + * config.in: Regenerate. + * configure: Regenerate. + +2007-03-28 Pedro Alves + + * win32-low.c: Rename typedef thread_info to + win32_thread_info throughout. + +2007-03-28 Pedro Alves + + * win32-i386-low.c: Rename to ... + * win32-low.c: ... this. + * configure.srv: Replace win32-i386-low.o with win32-low.o. + * Makefile.in: Likewise. + +2007-03-27 Pedro Alves + + * 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 + + * server.c (main): Correct strtoul check. + 2007-03-27 Jon Ringle * linux-low.c: Check __ARCH_HAS_MMU__ also.