X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fgdbserver%2FChangeLog;h=f2e39fd64a9b58e4380b739aa949f07163712927;hb=c3adc08c6f4fb5f67d49946d4c45e50b842b1d83;hp=07d772d1ff969b93e6616578625aa07d5256efd9;hpb=0b16c5cfafcd58f3b5f069c8058069814986f859;p=binutils-gdb.git diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 07d772d1ff9..f2e39fd64a9 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,1294 @@ +2010-03-14 Pedro Alves + + * linux-low.h (struct lwp_info): New fields + `stopped_by_watchpoint' and `stopped_data_address'. + * linux-low.c (linux_wait_for_lwp): Check for watchpoint triggers + here, and cache them in the lwp object. + (wait_for_sigstop): Check stopped_by_watchpoint lwp field + directly. + (linux_resume_one_lwp): Clear the lwp's stopped_by_watchpoint + field. + (linux_stopped_by_watchpoint): Rewrite. + (linux_stopped_data_address): Rewrite. + +2010-03-06 Simo Melenius + + * linux-low.c (linux_wait_for_lwp): Fetch the regcache after + switching the current inferior, not before. + +2010-03-01 H.J. Lu + + * Makefile.in (clean): Replace reg-i386.c, reg-x86-64.c, + reg-i386-linux.c and reg-x86-64-linux.c with i386.c, amd64.c, + i386-linux.c and amd64-linux.c. + (reg-i386.o): Removed. + (reg-i386.c): Likewise. + (reg-i386-linux.o): Likewise. + (reg-i386-linux.c): Likewise. + (reg-x86-64.o): Likewise. + (reg-x86-64.c): Likewise. + (reg-x86-64-linux.o): Likewise. + (reg-x86-64-linux.c): Likewise. + (i386.o): New. + (i386.c): Likewise. + (i386-linux.o): Likewise. + (i386-linux.c): Likewise. + (amd64.o): Likewise. + (amd64.c): Likewise. + (amd64-linux.o): Likewise. + (amd64-linux.c): Likewise. + + * configure.srv (srv_i386_regobj): New. + (srv_i386_linux_regobj): Likewise. + (srv_amd64_regobj): Likewise. + (srv_amd64_linux_regobj): Likewise. + (srv_i386_32bit_xmlfiles): Likewise. + (srv_i386_64bit_xmlfiles): Likewise. + (srv_i386_xmlfiles): Likewise. + (srv_amd64_xmlfiles): Likewise. + (srv_i386_linux_xmlfiles): Likewise. + (srv_amd64_linux_xmlfiles): Likewise. + (i[34567]86-*-cygwin*): Set srv_regobj to $srv_i386_regobj. Set + srv_xmlfiles to $srv_i386_xmlfiles. + (i[34567]86-*-mingw32ce*): Likewise. + (i[34567]86-*-mingw*): Likewise. + (i[34567]86-*-nto*): Likewise. + (i[34567]86-*-linux*): Set srv_regobj to $srv_i386_linux_regobj + and $srv_amd64_linux_regobj. Set srv_xmlfiles to + $srv_i386_linux_xmlfiles and $srv_amd64_linux_xmlfiles. + (x86_64-*-linux*): Likewise. + + * linux-x86-low.c (init_registers_x86_64_linux): Removed. + (init_registers_amd64_linux): New. + (x86_arch_setup): Replace init_registers_x86_64_linux with + init_registers_amd64_linux. + +2010-02-23 Maxim Kuvyrkov + + * configure.ac: Check for libdl. If it is not available link against + static libthread_db. + * configure: Regenerate. + +2010-02-22 Pedro Alves + + PR9605 + + * i386-low.c (i386_length_and_rw_bits): Throw a fatal error if + handing a read watchpoint. + (i386_low_insert_watchpoint): Read watchpoints aren't supported. + +2010-02-12 Doug Evans + + * linux-low.c (linux_supports_tracefork_flag): Document. + (linux_look_up_symbols): Add comment. + +2010-02-03 H.J. Lu + + * regcache.c (supply_register): Clear regcache if buf is NULL. + +2010-02-02 Nicolas Roche + Joel Brobecker + + * inferiors.c (find_inferior): Add function documentation. + (unloaded_dll): Handle the case where the unloaded dll has not + been previously registered in the dll list. + +2010-02-01 Daniel Jacobowitz + + * linux-arm-low.c (thumb_breakpoint_len): Delete. + (thumb2_breakpoint): New. + (arm_breakpoint_at): Check for Thumb-2 breakpoints. + +2010-01-29 Daniel Jacobowitz + + * linux-low.c (get_stop_pc): Check for SIGTRAP. + (linux_wait_for_event_1): Handle SIGILL and SIGSEGV as possible + breakpoints. + +2010-01-21 Pedro Alves + + * linux-ppc-low.c (ppc_arch_setup): Adjust to regcache changes. + +2010-01-21 Jan Kratochvil + + * linux-s390-low.c (s390_collect_ptrace_register) + (s390_supply_ptrace_register): Adjust it for the new regcache parameter. + +2010-01-21 Doug Evans + + * linux-low.c (PTRACE_ARG3_TYPE): Change from long to void*. + (PTRACE_ARG4_TYPE): New macro. + (handle_extended_wait): Cast ptrace arg4 to PTRACE_ARG4_TYPE. + (linux_wait_for_event_1, linux_resume_one_lwp): Ditto. + (fetch_register): Cast to uintptr_t before casting to PTRACE_ARG3_TYPE. + (usr_store_inferior_registers): Ditto. + (linux_read_memory, linux_write_memory): Ditto. + (linux_test_for_tracefork): Ditto. + + * linux-arm-low.c: Remove redundant include of gdb_proc_service.h. + Only include elf.h if gdb_proc_service.h didn't include linux/elf.h. + +2010-01-21 Pedro Alves + + * proc-service.c (ps_lgetregs): Don't refetch registers from the + target. + +2010-01-21 Pedro Alves + + * spu-low.c (spu_fetch_registers, spu_store_registers): Change + prototype to take a regcache. Adjust. + +2010-01-20 Pedro Alves + + * regcache.h (struct thread_info): Forward declare. + (struct regcache): New. + (new_register_cache): Adjust prototype. + (get_thread_regcache): Declare. + (free_register_cache): Adjust prototype. + (registers_to_string, registers_from_string): Ditto. + (supply_register, supply_register_by_name, collect_register) + (collect_register_as_string, collect_register_by_name): Ditto. + * regcache.c (struct inferior_regcache_data): Delete. + (get_regcache): Rename to ... + (get_thread_regcache): ... this. Adjust. Switch inferior before + fetching registers. + (regcache_invalidate_one): Adjust. + (regcache_invalidate): Fix prototype. + (new_register_cache): Return the new register cache. + (free_register_cache): Change prototype. + (realloc_register_cache): Adjust. + (registers_to_string): Change prototype to take a regcache. Adjust. + (registers_from_string): Ditto. + (register_data): Ditto. + (supply_register): Ditto. + (supply_register_by_name): Ditto. + (collect_register): Ditto. + (collect_register_as_string): Ditto. + (collect_register_by_name): Ditto. + * server.c (process_serial_event): Adjust. + * linux-low.h (regset_fill_func, regset_store_func): Change + prototype. + (get_pc, set_pc, collect_ptrace_register, supply_ptrace_register): + Change prototype. + * linux-low.c (get_stop_pc): Adjust. + (check_removed_breakpoint): Adjust. + (linux_wait_for_event): Adjust. + (linux_resume_one_lwp): Adjust. + (fetch_register): Add regcache parameter. Adjust. + (usr_store_inferior_registers): Ditto. + (regsets_fetch_inferior_registers): Ditto. + (regsets_store_inferior_registers): Ditto. + (linux_fetch_registers, linux_store_registers): Ditto. + * i387-fp.c (i387_cache_to_fsave): Change prototype to take a + regcache. Adjust. + (i387_fsave_to_cache, i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto. + * i387-fp.h (i387_cache_to_fsave, i387_fsave_to_cache): Change + prototype to take a regcache. + (i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto. + * remote-utils.c (convert_ascii_to_int, outreg) + (prepare_resume_reply): Change prototype to take a regcache. + Adjust. + * target.h (struct target_ops) : + Change prototype to take a regcache. + (fetch_inferior_registers, store_inferior_registers): Change + prototype to take a regcache. Adjust. + * proc-service.c (ps_lgetregs): Adjust. + * linux-x86-low.c (x86_fill_gregset, x86_store_gregset) + (x86_fill_fpregset, x86_store_fpregset, x86_fill_fpxregset) + (x86_store_fpxregset, x86_get_pc, x86_set_pc): Change prototype to + take a regcache. Adjust. + * linux-arm-low.c (arm_fill_gregset, arm_store_gregset) + (arm_fill_wmmxregset, arm_store_wmmxregset, arm_fill_vfpregset) + (arm_store_vfpregset, arm_get_pc, arm_set_pc): + (arm_breakpoint_at): Change prototype to take a regcache. Adjust. + * linux-cris-low.c (cris_get_pc, cris_set_pc) + (cris_cannot_fetch_register): + (cris_breakpoint_at): Change prototype to take a regcache. + Adjust. + * linux-crisv32-low.c (cris_get_pc, cris_set_pc, + cris_reinsert_addr, cris_write_data_breakpoint): Change prototype + to take a regcache. Adjust. + (cris_breakpoint_at, cris_insert_point, cris_remove_point): + Adjust. + * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Change prototype to + take a regcache. Adjust. + * linux-m68k-low.c (m68k_fill_gregset, m68k_store_gregset) + (m68k_fill_fpregset, m68k_store_fpregset, m68k_get_pc, + (m68k_set_pc): Change prototype to take a regcache. Adjust. + * linux-mips-low.c (mips_get_pc): + (mips_set_pc): Change prototype to take a regcache. Adjust. + (mips_reinsert_addr): Adjust. + (mips_collect_register): Change prototype to take a regcache. + Adjust. + (mips_supply_register): + (mips_collect_register_32bit, mips_supply_register_32bit) + (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset) + (mips_store_fpregset): Ditto. + * linux-ppc-low.c (ppc_supply_ptrace_register, ppc_supply_ptrace_register): + Ditto. + (parse_spufs_run): Adjust. + (ppc_get_pc, ppc_set_pc, ppc_fill_gregset, ppc_fill_vsxregset) + (ppc_store_vsxregset, ppc_fill_vrregset, ppc_store_vrregset) + (ppc_fill_evrregset, ppc_store_evrregset): Change prototype to + take a regcache. Adjust. + * linux-s390-low.c (s390_collect_ptrace_register) + (s390_supply_ptrace_register, s390_fill_gregset, s390_get_pc) + (s390_set_pc): Change prototype to take a regcache. Adjust. + (s390_arch_setup): Adjust. + * linux-sh-low.c (sh_get_pc, sh_breakpoint_at) + (sh_fill_gregset): Change prototype to take a regcache. Adjust. + * linux-sparc-low.c (sparc_fill_gregset_to_stack) + (sparc_fill_gregset, sparc_store_gregset_from_stack) + (sparc_store_gregset, sparc_get_pc): Change prototype to take a + regcache. Adjust. + (sparc_breakpoint_at): Adjust. + * linux-xtensa-low.c (xtensa_fill_gregset): + (xtensa_store_gregset): + (xtensa_fill_xtregset, xtensa_store_xtregset, xtensa_get_pc) + (xtensa_set_pc): Change prototype to take a regcache. Adjust. + * nto-low.c (nto_fetch_registers, nto_store_registers): Change + prototype to take a regcache. Adjust. + * win32-arm-low.c (arm_fetch_inferior_register) + (arm_store_inferior_register): Change prototype to take a + regcache. Adjust. + * win32-i386-low.c (i386_fetch_inferior_register) + (i386_store_inferior_register): Change prototype to take a + regcache. Adjust. + * win32-low.c (child_fetch_inferior_registers) + (child_store_inferior_registers): Change prototype to take a + regcache. Adjust. + (win32_wait): Adjust. + (win32_fetch_inferior_registers): Change prototype to take a + regcache. Adjust. + (win32_store_inferior_registers): Adjust. + * win32-low.h (struct win32_target_ops) : Change prototype to take a regcache. + +2010-01-20 Doug Evans + + * linux-low.c (linux_create_inferior): Wrap use of __SIGRTMIN in + #ifdef. + (linux_wait_for_event1, linux_init_signals): Ditto. + (W_STOPCODE): Provide definition if missing. + +2010-01-13 Vladimir Prus + + * linux-low.c (linux_core_of_thread): New. + (compare_ints, show_process, list_threads): New. + (linux_qxfer_osdata): Report threads and cores. + (linux_target_op): Register linux_core_of_thread. + * remote-utils.c (prepare_resume_reply): Report the core. + (buffer_xml_printf): Support %d specifier. + * server.c (handle_threads_qxfer_proper, handle_threads_qxfer): + New. + (handle_query): Handle qXfer:threads. Announce availability + thereof. + * target.h (struct target_ops): New field core_of_thread. + +2010-01-04 Ulrich Weigand + + * Makefile.in (clean): Remove new generated files. + (reg-s390.o, reg-s390.c): Remove rules. + (reg-s390x.o, reg-s390x.c): Likewise. + (s390-linux32.o, s390-linux32.c): Add rules. + (s390-linux64.o, s390-linux64.c): Likewise. + (s390x-linux64.o, s390x-linux64.c): Likewise. + * configure.srv (s390*-*-linux*): Update srv_regobj and srv_xmlfiles. + * linux-s390-low.c: Include . + (HWCAP_S390_HIGH_GPRS): Define if undefined. + (init_registers_s390): Remove prototype. + (init_registers_s390x): Likewise. + (init_registers_s390_linux32): Add prototype. + (init_registers_s390_linux64): Likewise. + (init_registers_s390x_linux64): Likewise. + (s390_num_regs_3264): New define. + (s390_regmap_3264): New global variable. + (s390_cannot_fetch_register): Remove obsolete check. + (s390_cannot_store_register): Likewise. + (s390_collect_ptrace_register): Handle upper/lower register halves. + (s390_supply_ptrace_register): Likewise. + (s390_fill_gregset): Update to register number changes. + (s390_get_hwcap): New routine. + (s390_arch_setup): Detect 32-bit process running on 64-bit system. + Install appropriate regmap and register set. + +2010-01-01 Joel Brobecker + + * server.c (gdbserver_version): Update copyright year to 2010. + * gdbreplay.c (gdbreplay_version): Likewise. + +2009-12-28 Doug Evans + + * linux-low.c: Delete inclusion of ansidecl.h, elf/common.h, + elf/external.h. Include instead but only if necessary. + +2009-12-28 Pedro Alves + + * linux-low.c (linux_remove_process): Remove `detaching' + parameter. Don't release/detach from thread_db here. + (linux_kill): Release/detach from thread_db here, ... + (linux_detach): ... and here, before actually detaching. + (linux_wait_1): ... and here, when a process exits. + * thread-db.c (any_thread_of): New. + (thread_db_free): Switch the current inferior to a thread of the + passed in process. + +2009-12-21 Doug Evans + + * linux-x86-low.c: Delete outdated comment about Elf32_Phdr. + + * linux-low.c (kill_lwp): Use __NR_tkill instead of SYS_tkill. + Move definition of tkill_failed to ifdef __NR_tkill to avoid gcc + warning ifndef __NR_tkill. Move setting of errno there too. + Delete unnecessary resetting of errno after syscall. + Minor comment changes to match gdb/linux-nat.c:kill_lwp. + + * configure.ac: Check for dladdr. + * config.in: Regenerate. + * configure: Regenerate. + * thread-db.c (dladdr_to_soname): Only define ifdef HAVE_DLADDR. + (try_thread_db_load): Update. + + * linux-low.c (my_waitpid): Delete unnecessary prototype. + +2009-12-18 Doug Evans + + * event-loop.c: Include unistd.h if it exists. + + * linux-low.c (my_waitpid): Move definition away from being in + between linux_tracefork_child/linux_test_for_tracefork. + + * gdb_proc_service.h (psaddr_t): Fix type. + * thread-db.c (thread_db_info.td_thr_tls_get_addr_p): Fix + signature to match glibc. + +2009-12-16 Doug Evans + + * linux-low.c (linux_read_memory): Fix argument to read. + +2009-11-26 Pedro Alves + + * win32-low.c (get_child_debug_event): On EXIT_THREAD_DEBUG_EVENT + events, don't leave current_inferior pointing at null. + +2009-11-26 Pedro Alves + + * win32-low.c (LOG): Delete. + (OUTMSG): Output to stderr. + (OUTMSG2): Conditionalize on `debug_threads' variable, instead of + on compile time LOG macro. + (win32_wait): Fix debug output. + +2009-11-26 Pedro Alves + + * win32-low.c (win32_add_one_solib): If the dll name is + "ntdll.dll", prepend the system directory to the dll path. + +2009-11-17 Daniel Jacobowitz + + * m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization. + +2009-11-17 Nathan Sidwell + Vladimir Prus + + * Makefile.in (reg-cf.o, reg-cf.c): New targets. + * configure.ac: Check for __mcoldfire__ and set + gdb_cv_m68k_is_coldfire. + * configure.srv: Use gdb_cv_m68k_is_coldfire to select between + reg-cf.o and reg-m68k.o. + * configure: Regenerated. + +2009-11-16 Pedro Alves + + * linux-low.c (linux_remove_process): Add `detaching' parameter. + Pass it to thread_db_free. + (linux_kill, linux_detach, linux_wait_1): Adjust to pass the + proper `detaching' argument to linux_remove_process. + * linux-low.h (thread_db_free): Add `detaching' parameter. + * thread-db.c (thread_db_init): Pass false as `detaching' argument + to thread_db_free. + (thread_db_free): Add `detaching' parameter. Only + call td_ta_clear_event if detaching from process. + +2009-11-12 Maxim Kuvyrkov + + * thread-db.c (thread_db_free): Fix typo. + +2009-11-11 Paul Pluzhnikov + + PR gdb/10838 + * thread-db.c (thread_db_free): Call td_ta_clear_event. + +2009-11-03 Nathan Sidwell + + * configure.ac (i[34567]86-*): Check if we're targetting x86-64 + with an i686 compiler. + * configure.srv (i[34567]86-*-linux*): Pull in x86-64 handling if + needed. + * configure: Rebuilt. + +2009-10-29 Sandra Loosemore + + PR gdb/10783 + + * server.c (handle_search_memory_1): Correct read_addr initialization + in loop for searching subsequent chunks. + +2009-10-29 Paul Pluzhnikov + + * configure.ac: New --with-libthread-db option. + * thread-db.c: Allow direct dependence on libthread_db. + (thread_db_free): Adjust. + * config.in: Regenerate. + * configure: Likewise. + +2009-10-28 Paul Pluzhnikov + + PR gdb/10757 + * thread-db.c (attach_thread): New function. + (maybe_attach_thread): Return success/failure. + (find_new_threads_callback): Adjust. + (thread_db_find_new_threads): Loop until no new threads. + +2009-10-13 Pedro Alves + + * proc-service.c (ps_lgetregs): Formatting. + +2009-10-08 Paul Pluzhnikov + + * acinclude.m4: (SRV_CHECK_THREAD_DB, SRV_CHECK_TLS_GET_ADDR): Remove. + * configure.ac: Adjust. + * linux-low.h (struct process_info_private): Move members to struct + thread_db. + (thread_db_free, thread_db_handle_monitor_command): New prototype. + * linux-low.c (linux_remove_process): Adjust. + (linux_wait_for_event_1, linux_look_up_symbols): Likewise. + * server.c (handle_query): Move code ... + (handle_monitor_command): ... here. New function. + * target.h (struct target_ops): New member. + * thread-db.c (struct thread_db): New. + (libthread_db_search_path): New variable. + (thread_db_create_event, thread_db_enable_reporting) + (find_one_thread, maybe_attach_thread, find_new_threads_callback) + (thread_db_find_new_threads, (thread_db_get_tls_address): Adjust. + (try_thread_db_load_1, dladdr_to_soname): New functions. + (try_thread_db_load, thread_db_load_search): New functions. + (thread_db_init): Search for libthread_db. + (thread_db_free): New function. + (thread_db_handle_monitor_command): Likewise. + * config.in: Regenerate. + * configure: Regenerate. + +2009-09-27 Ulrich Weigand + + * spu-low.c (spu_kill): Wait for inferior to terminate. + Call clear_inferiors. + (spu_detach): Call clear_inferiors. + +2009-08-22 Ralf Wildenhues + + * aclocal.m4: Regenerate. + * config.in: Likewise. + * configure: Likewise. + +2009-07-31 Ulrich Weigand + + * linux-ppc-low.c (INSTR_SC, NR_spu_run): Define. + (parse_spufs_run): New function. + (ppc_get_pc, ppc_set_pc): Detect and handle SPU PC. + (ppc_breakpoint_at): Handle SPU breakpoints. + +2009-07-31 Ulrich Weigand + + * linux-low.c: Include and . + (SPUFS_MAGIC): Define. + (spu_enumerate_spu_ids): New function. + (linux_qxfer_spu): New function. + (linux_target_ops): Install linux_qxfer_spu. + +2009-07-31 Ulrich Weigand + + * configure.srv (powerpc*-*-linux*): Add powerpc-cell32l.o + and powerpc-cell64l.o to srv_regobj. Add rs6000/powerpc-cell32l.xml + and rs6000/powerpc-cell64l.xml to srv_xmlfiles. + * Makefile.in (powerpc-cell32l.o, powerpc-cell32l.c): New rules. + (powerpc-cell64l.o, powerpc-cell64l.c): Likewise. + (clean): Handle powerpc-cell32l.c and powerpc-cell64l.c. + * linux-ppc-low.c (PPC_FEATURE_CELL): Define. + (init_registers_powerpc_cell32l): Add prototype. + (init_registers_powerpc_cell64l): Likewise. + (ppc_arch_setup): Detect Cell/B.E. architecture. + +2009-07-30 Ralf Wildenhues + + * Makefile.in (datarootdir): New variable. + +2009-07-28 Daniel Jacobowitz + + * linux-low.c (linux_write_memory): Update debugging output. + * Makefile.in (clean): Add new descriptions. + (arm-with-vfpv2.o, arm-with-vfpv2.c, arm-with-vfpv3.o) + (arm-with-vfpv3.c, arm-with-neon.o, arm-with-neon.c): New rules. + * configure.srv: Add new files for arm*-*-linux*. + * linux-arm-low.c: Add new declarations. + (PTRACE_GETVFPREGS, PTRACE_SETVFPREGS): Define if undefined. + (arm_hwcap, HWCAP_VFP, HWCAP_IWMMXT, HWCAP_NEON, HWCAP_VFPv3) + (HWCAP_VFPv3D16): New. + (arm_fill_wmmxregset, arm_store_wmmxregset): Check HWCAP_IWMMXT + instead of __IWMMXT__. + (arm_fill_vfpregset, arm_store_vfpregset, arm_get_hwcap) + (arm_arch_setup): New. + (target_regsets): Remove #ifdef. Add VFP regset. + (the_low_target): Use arm_arch_setup. + +2009-07-28 Daniel Jacobowitz + + * linux-low.c (linux_kill_one_lwp): Adjust kernel workaround to skip + the main thread again. + +2009-07-06 Aleksandar Ristovski + + Adding Neutrino gdbserver. + * configure: Regenerated. + * configure.ac: Add case for srv_qnx and set LIBS accordingly. + * configure.srv (i[34567]86-*-nto*): New target. + * nto-low.c, nto-low.h, nto-x86-low.c: New files. + * remote-utils.c [__QNX__]: Include sys/iomgr.h + (nto_comctrl) [__QNX__]: New function. + (enable_async_io, disable_async_io) [__QNX__]: Call nto_comctrl. + +2009-07-05 Danny Backx + + * configure.srv (i[34567]86-*-mingw32ce*): Add i386-low.o to + srv_tgtobj. + +2009-07-04 Danny Backx + Pedro Alves + + * win32-i386-low.c (i386_get_thread_context): Handle systems that + don't support CONTEXT_EXTENDED_REGISTERS. + (i386_win32_breakpoint, i386_win32_breakpoint_len): New. + (the_low_target): Install them. + * win32-low.c (get_child_debug_event): Handle WaitForDebugEvent + failing with ERROR_PIPE_NOT_CONNECTED. + +2009-06-30 Doug Evans + Pierre Muller + + Add h/w watchpoint support to x86-linux, win32-i386. + * Makefile.in (SFILES): Add i386-low.c + (i386_low_h): Define. + (i386-low.o): Add dependencies. + (linux-x86-low.o): Add i386-low.h dependency. + (win32-i386-low.o): Ditto. + * i386-low.c: New file. + * i386-low.h: New file. + * configure.srv (i[34567]86-*-cygwin*): Add i386-low.o to srv_tgtobj. + (i[34567]86-*-linux*, i[34567]86-*-mingw*, x86_64-*-linux*): Ditto. + * linux-low.c (linux_add_process): Initialize arch_private. + (linux_remove_process): Free arch_private. + (add_lwp): Initialize arch_private. + (delete_lwp): Free arch_private. + (linux_resume_one_lwp): Call the_low_target.prepare_to_resume if + provided. + * linux-low.h (process_info_private): New member arch_private. + (lwp_info): New member arch_private. + (linux_target_ops): New members new_process, new_thread, + prepare_to_resume. + (ptid_of): New macro. + * linux-x86-low.c: Include stddef.h, i386-low.h. + (arch_process_info): New struct. + (arch_lwp_info): New struct. + (x86_linux_dr_get, x86_linux_dr_set): New functions. + (i386_dr_low_set_addr, i386_dr_low_set_control): New functions. + (i386_dr_low_get_status): New function. + (x86_insert_point, x86_remove_point): New functions. + (x86_stopped_by_watchpoint): New function. + (x86_stopped_data_address): New function. + (x86_linux_new_process, x86_linux_new_thread): New functions. + (x86_linux_prepare_to_resume): New function. + (the_low_target): Add entries for insert_point, remove_point, + stopped_by_watchpoint, stopped_data_address, new_process, new_thread, + prepare_to_resume. + * server.c (debug_hw_points): New global. + (monitor_show_help): Document set debug-hw-points. + (handle_query): Process "set debug-hw-points". + * server.h (debug_hw_points): Declare. + (paddress): Declare. + * utils.c (NUMCELLS, CELLSIZE): New macros. + (get_sell, xsnprintf, paddress): New functions. + * win32-arm-low.c (the_low_target): Add entries for insert_point, + remove_point, stopped_by_watchpoint, stopped_data_address. + * win32-i386-low.c: Include i386-low.h. + (debug_reg_state): Replaces dr. + (i386_dr_low_set_addr, i386_dr_low_set_control): New functions. + (i386_dr_low_get_status): New function. + (i386_insert_point, i386_remove_point): New functions. + (i386_stopped_by_watchpoint): New function. + (i386_stopped_data_address): New function. + (i386_initial_stuff): Update. + (get_thread_context,set_thread_context,i386_thread_added): Update. + (the_low_target): Add entries for insert_point, + remove_point, stopped_by_watchpoint, stopped_data_address. + * win32-low.c (win32_insert_watchpoint): New function. + (win32_remove_watchpoint): New function. + (win32_stopped_by_watchpoint): New function. + (win32_stopped_data_address): New function. + (win32_target_ops): Add entries for insert_watchpoint, + remove_watchpoint, stopped_by_watchpoint, stopped_data_address. + * win32-low.h (win32_target_ops): New members insert_point, + remove_point, stopped_by_watchpoint, stopped_data_address. + +2009-06-25 Pedro Alves + + * server.c (process_serial_event): Re-return unsupported, not + error, if the type isn't recognized. Re-allow supporting only + insert or remove packets. Also call require_running for + breakpoints. Add missing break statement to default case. Tidy. + * target.h (struct target_ops): Rename insert_watchpoint to + insert_point, and remove_watchpoint to remove_point. + + * linux-low.h (struct linux_target_ops): Likewise. + * linux-low.c (linux_insert_watchpoint): Rename to ... + (linux_insert_point): ... this. Adjust. + (linux_remove_watchpoint): Rename to ... + (linux_remove_point): ... this. Adjust. + (linux_target_ops): Adjust. + * linux-crisv32-low.c (cris_insert_watchpoint): Rename to ... + (cris_insert_point): ... this. + (cris_remove_watchpoint): Rename to ... + (cris_remove_point): ... this. + (the_low_target): Adjust. + +2009-06-24 Pierre Muller + + * server.c (handle_v_kill): Pass signal_pid to + kill_inferior if multi_process is zero. + +2009-06-23 Aleksandar Ristovski + + * server.c (process_serial_event): Add support for Z0 and Z1 packet. + * target.h (target_ops): Comment for *_watchpoint to make it clear + the functions can get types '0' and '1'. + +2009-06-22 Aleksandar Ristovski + + * linux-low.c (usr_fetch_inferior_registers): Remove check for regno 0. + * proc-service.c (ps_lgetregs): Pass -1 to fetch all registers. + * regcache.c (get_regcache): Likewise. + * spu-low.c (spu_fetch_registers): Remove 0 to -1 conversion. + * win32-low.c (child_fetch_inferior_registers): Remove check for + regno 0. + +2009-06-19 Aleksandar Ristovski + Pedro Alves + + * target.h (struct target_ops) : New + callback. + (target_supports_multi_process): New. + * server.c (handle_query): Even if GDB reports support, only + enable multi-process if the target also supports it. Report + multi-process support only if the target backend supports it. + * linux-low.c (linux_supports_multi_process): New function. + (linux_target_ops): Install it as target_supports_multi_process + callback. + +2009-05-24 Doug Evans + + Global renaming of find_thread_pid to find_thread_ptid. + * server.h (find_thread_ptid): Renamed from find_thread_pid. + * inferiors.c (find_thread_ptid): Renamed from find_thread_pid. + All callers updated. + + * linux-low.c (handle_extended_wait): Use linux_resume_one_lwp + to resume the newly created thread, don't call ptrace (PTRACE_CONT) + directly. + + * linux-low.c (get_stop_pc): Print pc if debug_threads. + (check_removed_breakpoint, linux_wait_for_lwp): Ditto. + (linux_resume_one_lwp): Ditto. + +2009-05-23 Doug Evans + + * linux-low.c (linux_resume_one_lwp): Change type of first arg + from struct inferior_list_entry * to struct lwp_info *. + All callers updated. + +2009-05-13 Doug Evans + + * linux-x86-low.c: Don't include assert.h. + (x86_siginfo_fixup): Use fatal, not assert. + (x86_arch_setup): Fix comment. + +2009-05-12 Doug Evans + + Biarch support for i386/amd64 gdbserver. + * Makefile.in (SFILES): Remove linux-i386-low.c, linux-x86-64-low.c. + Add linux-x86-low.c. + (linux-i386-low.o, linux-x86-64-low.o): Delete. + (linux-x86-low.o): Add. + * linux-x86-64-low.c: Delete. + * linux-i386-low.c: Delete. + * linux-x86-low.c: New file. + * configure.srv (i?86-linux srv_tgtobj): Replace linux-i386-low.o with + linux-x86-low.o. + (x86_64-linux srv_tgtobj): Replace linux-x86-64-low.o with + linux-x86-low.o. + (x86_64-linux srv_regobj): Add reg-i386-linux.o. + * linux-low.c: Include ansidecl.h, elf/common.h, elf/external.h. + (linux_child_pid_to_exec_file): New function. + (elf_64_header_p, elf_64_file_p): New functions. + (siginfo_fixup): New function. + (linux_xfer_siginfo): New local inf_siginfo. Call siginfo_fixup to + give target a chance to convert layout. + * linux-low.h (linux_target_ops): New member siginfo_fixup. + (linux_child_pid_to_exec_file, elf_64_file_p): Declare. + +2009-05-07 Doug Evans + + * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak. + (regsets_store_inferior_registers): Ditto. + +2009-05-06 Pedro Alves + + PR server/10048 + + * linux-low.c (must_set_ptrace_flags): Delete. + (linux_create_inferior): Set `lwp->must_set_ptrace_flags' instead + of the global. + (linux_attach_lwp_1): Don't set PTRACE_SETOPTIONS here. Set + `lwp->must_set_ptrace_flags' instead. + (linux_wait_for_event_1): Set ptrace options here. + (linux_wait_1): ... not here. + +2009-04-30 Doug Evans + + * inferiors.c (started_inferior_callback): New function. + (attached_inferior_callback): New function. + (have_started_inferiors_p, have_attached_inferiors_p): New functions. + * server.c (print_started_pid, print_attached_pid): New functions. + (detach_or_kill_for_exit): New function. + (main): Call it instead of for_each_inferior (kill_inferior_callback). + * server.h (have_started_inferiors_p): Declare. + (have_attached_inferiors_p): Declare. + + * inferiors.c (remove_process): Fix memory leak, free process. + * linux-low.c (linux_remove_process): New function. + (linux_kill): Call it instead of remove_process. + (linux_detach, linux_wait_1): Ditto. + +2009-04-19 Danny Backx + + * configure.srv: Add x86 Windows CE target. + +2009-04-03 Ulrich Weigand + + * inferiors.c (get_thread_process): Make global. + * server.h (get_thread_process): Add prototype. + * thread-db.c (find_one_thread): Use get_thread_process + instead of current_process. + (thread_db_get_tls_address): Do not crash if called when + thread layer is not yet initialized. + +2009-04-03 Ulrich Weigand + + * remote-utils.c (prepare_resume_reply): Null-terminate packet. + * spu-low.c (current_tid): Rename to ... + (current_ptid): ... this. + (fetch_ppc_register, fetch_ppc_memory, store_ppc_memory, + spu_proc_xfer_spu, spu_resume, spu_request_interrupt): Use + ptid_get_lwp (current_ptid) instead of current_tid. + (spu_kill, spu_detach, spu_join, spu_wait): Use pid argument + instead of current_tid. Use find_process_pid to verify pid + argument is valid. Pass proper argument to remove_process. + (spu_thread_alive): Compare current_ptid instead of current_tid. + (spu_resume): Likewise. + +2009-04-02 Pedro Alves + + * linux-low.c (usr_store_inferior_registers): Declare local `pid' + variable. + +2009-04-01 Pedro Alves + + Implement the multiprocess extensions, and add linux multiprocess + support. + + * server.h (ULONGEST): Declare. + (struct ptid, ptid_t): New. + (minus_one_ptid, null_ptid): Declare. + (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp) + (ptid_get_tid, ptid_equal, ptid_is_pid): Declare. + (struct inferior_list_entry): Change `id' type from unsigned from + to ptid_t. + (struct sym_cache, struct breakpoint, struct + process_info_private): Forward declare. + (struct process_info): Declare. + (current_process): Declare. + (all_processes): Declare. + (initialize_inferiors): Declare. + (add_thread): Adjust to use ptid_t. + (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): Ditto. + (add_process, remove_process, find_thread_pid): Declare. + (find_inferior_id): Adjust to use ptid_t. + (cont_thread, general_thread, step_thread): Change type to ptid_t. + (multi_process): Declare. + (push_event): Adjust to use ptid_t. + (read_ptid, write_ptid): Declare. + (prepare_resume_reply): Adjust to use ptid_t. + (clear_symbol_cache): Declare. + * inferiors.c (all_processes): New. + (null_ptid, minus_one_ptid): New. + (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp) + (ptid_get_tid, ptid_equal, ptid_is_pid): New. + (add_thread): Change unsigned long to ptid. Remove gdb_id + parameter. Adjust. + (thread_id_to_gdb_id, thread_to_gdb_id): Change unsigned long to ptid. + (gdb_id_to_thread): Rename to ... + (find_thread_pid): ... this. Change unsigned long to ptid. + (gdb_id_to_thread_id, find_inferior_id): Change unsigned long to ptid. + (loaded_dll, pull_pid_from_list): Adjust. + (add_process, remove_process, find_process_pid) + (get_thread_process, current_process, initialize_inferiors): New. + * target.h (struct thread_resume) : Change type to ptid_t. + (struct target_waitstatus) : Ditto. + (struct target_ops) : Add `pid' argument. Change + return type to int. + (struct target_ops) : Add `pid' argument. + (struct target_ops) : Change pid's type to ptid_t. + (struct target_ops) : Add `ptid' field. Change return type + to ptid. + (kill_inferior, detach_inferior, join_inferior): Add `pid' argument. + (mywait): Add `ptid' argument. Change return type to ptid_t. + (target_pid_to_str): Declare. + * target.c (set_desired_inferior): Adjust to use ptids. + (mywait): Add new `ptid' argument. Adjust. + (target_pid_to_str): New. + * mem-break.h (free_all_breakpoints): Declare. + * mem-break.c (breakpoints): Delelete. + (set_breakpoint_at, delete_breakpoint, find_breakpoint_at) + (check_mem_read, check_mem_write, delete_all_breakpoints): Adjust + to use per-process breakpoint list. + (free_all_breakpoints): New. + * remote-utils.c (struct sym_cache) : Drop `const'. + (symbol_cache, all_symbols_looked_up): Delete. + (hexchars): New. + (ishex, unpack_varlen_hex, write_ptid, hex_or_minus_one, + read_ptid): New. + (prepare_resume_reply): Change ptid argument's type from unsigned + long to ptid_t. Adjust. Implement W;process and X;process. + (free_sym_cache, clear_symbol_cache): New. + (look_up_one_symbol): Adjust to per-process symbol cache. * + * server.c (cont_thread, general_thread, step_thread): Change type + to ptid_t. + (attached): Delete. + (multi_process): New. + (last_ptid): Change type to ptid_t. + (struct vstop_notif) : Change type to ptid_t. + (queue_stop_reply, push_event): Change `ptid' argument's type to + ptid_t. + (discard_queued_stop_replies): Add `pid' argument. + (start_inferior): Adjust to use ptids. Adjust to mywait interface + changes. Don't reference the `attached' global. + (attach_inferior): Adjust to mywait interface changes. + (handle_query): Adjust to use ptids. Parse GDB's qSupported + features. Handle and report "multiprocess+". Handle + "qAttached:PID". + (handle_v_cont): Adjust to use ptids. Adjust to mywait interface + changes. + (handle_v_kill): New. + (handle_v_stopped): Adjust to use target_pid_to_str. + (handle_v_requests): Allow multiple attaches and runs when + multiprocess extensions are in effect. Handle "vKill". + (myresume): Adjust to use ptids. + (queue_stop_reply_callback): Add `arg' parameter. Handle it. + (handle_status): Adjust to discard_queued_stop_replies interface + change. + (first_thread_of, kill_inferior_callback) + (detach_or_kill_inferior_callback, join_inferiors_callback): New. + (main): Call initialize_inferiors. Adjust to use ptids, killing + and detaching from all inferiors. Handle multiprocess packet + variants. + * linux-low.h: Include gdb_proc_service.h. + (struct process_info_private): New. + (struct linux_target_ops) : Use ptid_get_pid. + : Use ptid_get_lwp. + (get_lwp_thread): Adjust. + (struct lwp_info): Add `dead' member. + (find_lwp_pid): Declare. + * linux-low.c (thread_db_active): Delete. + (new_inferior): Adjust comment. + (inferior_pid): Delete. + (linux_add_process): New. + (handle_extended_wait): Adjust. + (add_lwp): Change unsigned long to ptid. + (linux_create_inferior): Add process to processes table. Adjust + to use ptids. Don't set new_inferior here. + (linux_attach_lwp): Rename to ... + (linux_attach_lwp_1): ... this. Add `initial' argument. Handle + it. Adjust to use ptids. + (linux_attach_lwp): New. + (linux_attach): Add process to processes table. Don't set + new_inferior here. + (struct counter): New. + (second_thread_of_pid_p, last_thread_of_process_p): New. + (linux_kill_one_lwp): Add `args' parameter. Handle it. Adjust to + multiple processes. + (linux_kill): Add `pid' argument. Handle it. Adjust to multiple + processes. Remove process from process table. + (linux_detach_one_lwp): Add `args' parameter. Handle it. Adjust + to multiple processes. + (any_thread_of): New. + (linux_detach): Add `pid' argument, and handle it. Remove process + from processes table. + (linux_join): Add `pid' argument. Handle it. + (linux_thread_alive): Change unsighed long argument to ptid_t. + Consider dead lwps as not being alive. + (status_pending_p): Rename `dummy' argument to `arg'. Filter out + threads we're not interested in. + (same_lwp, find_lwp_pid): New. + (linux_wait_for_lwp): Change `pid' argument's type from int to + ptid_t. Adjust. + (linux_wait_for_event): Rename to ... + (linux_wait_for_event_1): ... this. Change `pid' argument's type + from int to ptid_t. Adjust. + (linux_wait_for_event): New. + (linux_wait_1): Add `ptid' argument. Change return type to + ptid_t. Adjust. Use last_thread_of_process_p. Remove processes + that exit from the process table. + (linux_wait): Add `ptid' argument. Change return type to ptid_t. + Adjust. + (mark_lwp_dead): New. + (wait_for_sigstop): Adjust to use ptids. If a process exits while + stopping all threads, mark its main lwp as dead. + (linux_set_resume_request, linux_resume_one_thread): Adjust to use + ptids. + (fetch_register, usr_store_inferior_registers) + (regsets_fetch_inferior_registers) + (regsets_store_inferior_registers, linux_read_memory) + (linux_write_memory): Inline `inferior_pid'. + (linux_look_up_symbols): Adjust to use per-process + `thread_db_active'. + (linux_request_interrupt): Adjust to use ptids. + (linux_read_auxv): Inline `inferior_pid'. + (initialize_low): Don't reference thread_db_active. + * gdb_proc_service.h (struct ps_prochandle) : Remove. + * proc-service.c (ps_lgetregs): Use find_lwp_pid. + (ps_getpid): Return the pid of the current inferior. + * thread-db.c (proc_handle, thread_agent): Delete. + (thread_db_create_event, thread_db_enable_reporting): Adjust to + per-process data. + (find_one_thread): Change argument type to ptid_t. Adjust to + per-process data. + (maybe_attach_thread): Adjust to per-process data and ptids. + (thread_db_find_new_threads): Ditto. + (thread_db_init): Ditto. + * spu-low.c (spu_create_inferior, spu_attach): Add process to + processes table. Adjust to use ptids. + (spu_kill, spu_detach): Adjust interface. Remove process from + processes table. + (spu_join, spu_thread_alive): Adjust interface. + (spu_wait): Adjust interface. Remove process from processes + table. Adjust to use ptids. + * win32-low.c (current_inferior_tid): Delete. + (current_inferior_ptid): New. + (debug_event_ptid): New. + (thread_rec): Take a ptid. Adjust. + (child_add_thread): Add `pid' argument. Adjust to use ptids. + (child_delete_thread): Ditto. + (do_initial_child_stuff): Add `attached' argument. Add process to + processes table. + (child_fetch_inferior_registers, child_store_inferior_registers): + Adjust. + (win32_create_inferior): Pass 0 to do_initial_child_stuff. + (win32_attach): Pass 1 to do_initial_child_stuff. + (win32_kill): Adjust interface. Remove process from processes + table. + (win32_detach): Ditto. + (win32_join): Adjust interface. + (win32_thread_alive): Take a ptid. + (win32_resume): Adjust to use ptids. + (get_child_debug_event): Ditto. + (win32_wait): Adjust interface. Remove exiting process from + processes table. + +2009-04-01 Pedro Alves + + Non-stop mode support. + + * server.h (non_stop): Declare. + (gdb_client_data, handler_func): Declare. + (delete_file_handler, add_file_handler, start_event_loop): + Declare. + (handle_serial_event, handle_target_event, push_event) + (putpkt_notif): Declare. + * target.h (enum resume_kind): New. + (struct thread_resume): Replace `step' field by `kind' field. + (TARGET_WNOHANG): Define. + (struct target_ops) : Add `options' argument. + : New fields. + (target_supports_non_stop, target_async): New. + (start_non_stop): Declare. + (mywait): Add `options' argument. + * target.c (mywait): Add `options' argument. Print child exit + notifications here. + (start_non_stop): New. + * server.c (non_stop, own_buf, mem_buf): New globals. + (struct vstop_notif): New. + (notif_queue): New global. + (queue_stop_reply, push_event, discard_queued_stop_replies) + (send_next_stop_reply): New. + (start_inferior): Adjust to use resume_kind. Adjust to mywait + interface changes. + (attach_inferior): In non-stop mode, don't wait for the target + here. + (handle_general_set): Handle QNonStop. + (handle_query): When handling qC, return the current general + thread, instead of the first thread of the list. + (handle_query): If the backend supports non-stop mode, include + QNonStop+ in the qSupported query response. + (handle_v_cont): Adjust to use resume_kind. Handle resume_stop + and non-stop mode. + (handle_v_attach, handle_v_run): Handle non-stop mode. + (handle_v_stopped): New. + (handle_v_requests): Report support for vCont;t. Handle vStopped. + (myresume): Adjust to use resume_kind. Handle non-stop. + (queue_stop_reply_callback): New. + (handle_status): Handle non-stop mode. + (main): Clear non_stop flag on reconnection. Use the event-loop. + Refactor serial protocol handling from here ... + (process_serial_event): ... to this new function. When GDB + selects any thread, select one here. In non-stop mode, wait until + GDB acks all pending events before exiting. + (handle_serial_event, handle_target_event): New. + * remote-utils.c (remote_open): Install remote_desc in the event + loop. + (remote_close): Remove remote_desc from the event loop. + (putpkt_binary): Rename to... + (putpkt_binary_1): ... this. Add `is_notic' argument. Handle it. + (putpkt_binary): New as wrapper around putpkt_binary_1. + (putpkt_notif): New. + (prepare_resume_reply): In non-stop mode, don't change the + general_thread. + * event-loop.c: New. + * Makefile.in (OBJ): Add event-loop.o. + (event-loop.o): New rule. + + * linux-low.h (pid_of): Moved here. + (lwpid_of): New. + (get_lwp_thread): Use lwpid_of. + (struct lwp_info): Delete `lwpid' field. Add `suspended' field. + * linux-low.c (pid_of): Delete. + (inferior_pid): Use lwpid_of. + (linux_event_pipe): New. + (target_is_async_p): New. + (delete_lwp): New. + (handle_extended_wait): Use lwpid_of. + (add_lwp): Don't set lwpid field. + (linux_attach_lwp): Adjust debug output. Use lwpid_of. + (linux_kill_one_lwp): If killing a running lwp, stop it first. + Use lwpid_of. Adjust to linux_wait_for_event interface changes. + (linux_detach_one_lwp): If detaching from a running lwp, stop it + first. Adjust to linux_wait_for_event interface changes. Use + lwpid_of. + (linux_detach): Don't delete the main lwp here. + (linux_join): Use my_waitpid. Avoid signal_pid. Use lwpid_of. + (status_pending_p): Don't consider explicitly suspended lwps. + (linux_wait_for_lwp): Take an integer pid instead of a lwp_info + pointer. Add OPTIONS argument. Change return type to int. Use + my_waitpid instead of sleeping. Handle WNOHANG. Use lwpid_of. + (linux_wait_for_event): Take an integer pid instead of a lwp_info + pointer. Add status pointer argument. Return a pid instead of a + status. Use lwpid_of. Adjust to linux_wait_for_lwp interface + changes. In non-stop mode, don't switch to a random thread. + (linux_wait): Rename to... + (linux_wait_1): ... this. Add target_options argument, and handle + it. Adjust to use resume_kind. Use lwpid_of. In non-stop mode, + don't handle the continue thread. Handle TARGET_WNOHANG. Merge + clean exit and signal exit code. Don't stop all threads in + non-stop mode. In all-stop mode, only stop all threads when + reporting a stop to GDB. Handle explicit thread stop requests. + (async_file_flush, async_file_mark): New. + (linux_wait): New. + (send_sigstop): Use lwpid_of. + (wait_for_sigstop): Use lwpid_of. Adjust to linux_wait_for_event + interface changes. In non-stop mode, don't switch to a random + thread. + (linux_resume_one_lwp): Use lwpid_of. + (linux_continue_one_thread, linux_queue_one_thread): Merge into ... + (linux_resume_one_thread): ... this. Handle resume_stop. In + non-stop mode, don't look for pending flag in all threads. + (resume_status_pending_p): Don't consider explicitly suspended + threads. + (my_waitpid): Reimplement. Emulate __WALL. + (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo): + Use lwpid_of. + (sigchld_handler, linux_supports_non_stop, linux_async) + (linux_start_non_stop): New. + (linux_target_ops): Register linux_supports_non_stop, linux_async + and linux_start_non_stop. + (initialize_low): Install SIGCHLD handler. + * thread-db.c (thread_db_create_event, find_one_thread) + (thread_db_get_tls_address): Use lwpid_of. + * win32-low.c (win32_detach): Adjust to use resume_kind. + (win32_wait): Add `options' argument. + * spu-low.c (spu_resume): Adjust to use resume_kind. + (spu_wait): Add `options' argument. + +2009-04-01 Pedro Alves + + Decouple target code from remote protocol. + + * target.h (enum target_waitkind): New. + (struct target_waitstatus): New. + (struct target_ops) : Return an unsigned long. Take a + target_waitstatus pointer instead of a char pointer. + (mywait): Likewise. + * target.c (mywait): Change prototype to return an unsigned long. + Take a target_waitstatus pointer instead of a char pointer. Adjust. + * server.h (thread_from_wait, old_thread_from_wait): Delete + declarations. + (prepare_resume_reply): Change prototype to take a + target_waitstatus. + * server.c (thread_from_wait, old_thread_from_wait): Delete. + (last_status, last_ptid): New. + (start_inferior): Remove "statusptr" argument. Adjust. Return a + pid instead of a signal. + (attach_inferior): Remove "status" and "signal" parameters. + Adjust. + (handle_query): For qGetTLSAddr, parse the thread id with strtol, + not as an address. + (handle_v_cont, handle_v_attach, handle_v_run, handle_v_kill) + (handle_v_requests, myresume): Remove "status" and "signal" + parameters. Adjust. + (handle_status): New. + (main): Delete local `status'. Adjust. + * remote-utils.c: Include target.h. + (prepare_resume_reply): Change prototype to take a + target_waitstatus. Adjust. + + * linux-low.c (linux_wait): Adjust to new target_ops->wait + interface. + * spu-low.c (spu_wait): Adjust. + * win32-low.c (enum target_waitkind, struct target_waitstatus): + Delete. + (win32_wait): Adjust. + +2009-04-01 Pedro Alves + + * target.h (struct thread_resume): Delete leave_stopped member. + (struct target_ops): Add a `n' argument to the `resume' callback. + * server.c (start_inferior): Adjust. + (handle_v_cont, myresume): Adjust. + * linux-low.c (check_removed_breakpoint): Adjust to resume + interface change, and to removed leave_stopped field. + (resume_ptr): Delete. + (struct thread_resume_array): New. + (linux_set_resume_request): Add new `arg' parameter. Adjust to + resume interface change. + (linux_continue_one_thread, linux_queue_one_thread) + (resume_status_pending_p): Check if the resume field is NULL + instead of checking the leave_stopped member. + (linux_resume): Adjust to the target resume interface change. + * spu-low.c (spu_resume): Adjust to the target resume interface + change. + * win32-low.c (win32_detach, win32_resume): Ditto. + +2009-04-01 Pedro Alves + + * linux-low.c (linux_wait_for_event): Don't clear the `stepping' + flag. + (wait_for_sigstop): Don't leave a finished single-step SIGTRAP + pending. + (linux_continue_one_thread): Only preserve the stepping flag if + there's a pending breakpoint. + +2009-03-31 Pedro Alves + + * server.c (main): After the inferior having exited, call + remote_close before exiting gdbserver. + +2009-03-25 Thiago Jung Bauermann + + Fix size of FPSCR in Power 7 processors. + * linux-ppc-low.c (PPC_FEATURE_ARCH_2_05): Remove #define. + (PPC_FEATURE_HAS_DFP): New #define. + (ppc_arch_setup): Check for DFP feature instead of ISA 2.05 to decide on + size of the FPSCR. + +2009-03-23 Pedro Alves + + * server.c (handle_query) Whitespace and formatting. + +2009-03-22 Pedro Alves + + * i387-fp.c, linux-arm-low.c, linux-cris-low.c, + linux-crisv32-low.c, linux-i386-low.c, linux-low.c, + linux-mips-low.c, linux-s390-low.c, linux-sparc-low.c, + linux-x86-64-low.c, linux-xtensa-low.c, proc-service.c, + regcache.c, remote-utils.c, server.c, spu-low.c, target.h, + thread-db.c, win32-low.c, xtensa-xtregs.c, gdbreplay.c, + Makefile.in, configure.ac: Fix whitespace throughout. + * configure: Regenerate. + +2009-03-22 Pedro Alves + + * inferiors.c (find_inferior): Make it safe for the callback + function to delete the currently iterated inferior. + +2009-03-22 Pedro Alves + + * Makefile.in (linuw_low_h): Move higher. + (thread-db.o): Depend on $(linux_low_h). + +2009-03-17 Pedro Alves + + Rename "process" to "lwp" throughout. + + * linux-low.c (all_processes): Rename to... + (all_lwps): ... this. + (inferior_pid, handle_extended_wait, get_stop_pc): Adjust. + (add_process): Rename to ... + (add_lwp): ... this. Adjust. + (linux_create_inferior): Adjust. + (linux_attach_lwp): Adjust. + (linux_attach): Adjust. + (linux_kill_one_process): Rename to ... + (linux_kill_one_lwp): ... this. Adjust. + (linux_kill): Adjust. + (linux_detach_one_process): Rename to ... + (linux_detach_one_lwp): ... this. Adjust. + (linux_detach): Adjust. + (check_removed_breakpoint): Adjust. + (status_pending_p): Adjust. + (linux_wait_for_process): Rename to ... + (linux_wait_for_lwp): ... this. Adjust. + (linux_wait_for_event): Adjust. + (send_sigstop): Adjust. + (wait_for_sigstop): Adjust. + (stop_all_processes): Rename to ... + (stop_all_lwps): ... this. + (linux_resume_one_process): Rename to ... + (linux_resume_one_lwp): ... this. Adjust. + (linux_set_resume_request, linux_continue_one_thread) + (linux_queue_one_thread, resume_status_pending_p) + (usr_store_inferior_registers, regsets_store_inferior_registers) + (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo): + Adjust. + * linux-low.h (get_process): Rename to ... + (get_lwp): ... this. Adjust. + (get_thread_process): Rename to ... + (get_thread_lwp): ... this. Adjust. + (get_process_thread): Rename to ... + (get_lwp_thread): ... this. Adjust. + (struct process_info): Rename to ... + (struct lwp_info): ... this. + (all_processes): Rename to ... + (all_lwps): ... this. + * proc-service.c (ps_lgetregs): Adjust. + * thread-db.c (thread_db_create_event, find_one_thread) + (maybe_attach_thread, thread_db_get_tls_address): Adjust. + 2009-03-14 Pedro Alves * server.c (handle_query): Handle "qAttached".