Honour SIGILL and SIGSEGV in cancel breakpoint and event lwp selection
[deliverable/binutils-gdb.git] / gdb / gdbserver / ChangeLog
index 21c73b27ccec37b32d35c8fda6884cc4cbe2bb7a..a7efe8ef8970eac154246370e420241de9ac5d29 100644 (file)
+2014-09-23  Yao Qi  <yao@codesourcery.com>
+
+       * linux-low.c (lp_status_maybe_breakpoint): New function.
+       (linux_low_filter_event): Call lp_status_maybe_breakpoint.
+       (count_events_callback): Likewise.
+       (select_event_lwp_callback): Likewise.
+       (cancel_breakpoints_callback): Likewise.
+
+2014-09-19  Don Breazeal  <donb@codesourcery.com>
+
+       * linux-low.c (handle_extended_wait): Call
+       linux_ptrace_get_extended_event.
+       (get_stop_pc, get_detach_signal, linux_low_filter_event): Call
+       linux_is_extended_waitstatus.
+
+2014-09-16  Joel Brobecker  <brobecker@adacore.com>
+
+       * Makefile.in (CPPFLAGS): Define.
+       (INTERNAL_CFLAGS_BASE): Add ${CPPFLAGS}.
+       (IPAGENT_CFLAGS): Remove ${CPPFLAGS}.
+
+2014-09-16  Gary Benson  <gbenson@redhat.com>
+
+       * inferiors.h (current_inferior): Renamed as...
+       (current_thread): New variable.  All uses updated.
+       * linux-low.c (get_pc): Renamed saved_inferior as saved_thread.
+       (maybe_move_out_of_jump_pad): Likewise.
+       (cancel_breakpoint): Likewise.
+       (linux_low_filter_event): Likewise.
+       (wait_for_sigstop): Likewise.
+       (linux_resume_one_lwp): Likewise.
+       (need_step_over_p): Likewise.
+       (start_step_over): Likewise.
+       (linux_stabilize_threads): Renamed save_inferior as saved_thread.
+       * linux-x86-low.c (x86_linux_update_xmltarget): Likewise.
+       * proc-service.c (ps_lgetregs): Renamed reg_inferior as reg_thread
+       and save_inferior as saved_thread.
+       * regcache.c (get_thread_regcache): Renamed saved_inferior as
+       saved_thread.
+       (regcache_invalidate_thread): Likewise.
+       * remote-utils.c (prepare_resume_reply): Likewise.
+       * thread-db.c (thread_db_get_tls_address): Likewise.
+       (disable_thread_event_reporting): Likewise.
+       (remove_thread_event_breakpoints): Likewise.
+       * tracepoint.c (gdb_agent_about_to_close): Renamed save_inferior
+       as saved_thread.
+       * target.h (set_desired_inferior): Renamed as...
+       (set_desired_thread): New declaration.  All uses updated.
+       * server.c (myresume): Updated comment to reference thread instead
+       of inferior.
+       (handle_serial_event): Likewise.
+       (handle_target_event): Likewise.
+
+2014-09-12  Tom Tromey  <tromey@redhat.com>
+           Gary Benson  <gbenson@redhat.com>
+
+       * regcache.h: Include common-regcache.h.
+       (regcache_read_pc): Don't declare.
+       * regcache.c (get_thread_regcache_for_ptid): New function.
+
+2014-09-11  Tom Tromey  <tromey@redhat.com>
+           Gary Benson  <gbenson@redhat.com>
+
+       * symbol.c: New file.
+       * Makefile.in (SFILES): Add symbol.c.
+       (OBS): Add symbol.o.
+
+2014-09-11  Gary Benson  <gbenson@redhat.com>
+
+       * target.c (target_stop_ptid, target_continue_ptid): New
+       functions.
+
+2014-09-11  Tom Tromey  <tromey@redhat.com>
+           Gary Benson  <gbenson@redhat.com>
+
+       * target.h: Include target/target.h.
+       * target.c (target_read_memory, target_read_uint32)
+       (target_write_memory): New functions.
+
+2014-09-11  Gary Benson  <gbenson@redhat.com>
+
+       * server.h (debug_hw_points): Don't declare.
+       * server.c (debug_hw_points): Don't define.  Replace all uses
+       with show_debug_regs.
+       * linux-aarch64-low.c (debug_hw_points): Don't define.  Replace
+       all uses with show_debug_regs.
+
+2014-09-08  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
+
+       * linux-ppc-low.c (ppc_collect_ptrace_register): Adjust routine to take
+       endianness into account.
+       (ppc_supply_ptrace_register): Likewise.
+
+2014-09-03  James Hogan  <james.hogan@imgtec.com>
+
+       * linux-mips-low.c (mips_read_description): Reset errno to 0 prior
+       to reading DSP_CONTROL with PTRACE_PEEKUSER ptrace call.
+
+2014-09-03  Gary Benson  <gbenson@redhat.com>
+
+       * linux-x86-low.c (x86_linux_prepare_to_resume): Use
+       ALL_DEBUG_ADDRESS_REGISTERS.
+
+2014-09-02  Gary Benson  <gbenson@redhat.com>
+
+       * i386-low.h: Renamed as...
+       * x86-low.h: New file.  All type, function and variable name
+       prefixes changed from "i386_" to "x86_".  All references updated.
+       * i386-low.c: Renamed as...
+       * x86-low.c: New file.  All type, function and variable name
+       prefixes changed from "i386_" to "x86_".  All references updated.
+
+2014-09-02  Gary Benson  <gbenson@redhat.com>
+
+       * linux-x86-low.c (x86_linux_new_process): Use XCNEW.
+       (x86_linux_new_thread): Likewise.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+       * server.h (setjmp.h): Do not include.
+       (toplevel): Do not declare.
+       (common-exceptions.h): Include.
+       (cleanups.h): Likewise.
+       * server.c (toplevel): Do not define.
+       (exit_code): New static global.
+       (detach_or_kill_for_exit_cleanup): New function.
+       (main): New function.  Original main renamed to...
+       (captured_main): New function.
+       * utils.c (verror) [!IN_PROCESS_AGENT]: Use throw_verror.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+       * Makefile.in (SFILES): Add common/common-exceptions.c.
+       (OBS): Add common-exceptions.o.
+       (common-exceptions.o): New rule.
+       * utils.c (prepare_to_throw_exception): New function.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+       * config.in: Regenerate.
+       * configure: Likewise.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+       * Makefile.in (SFILES): Add common/cleanups.c.
+       (OBS): cleanups.o.
+       (cleanups.o): New rule.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+       * utils.c (internal_vwarning): New function.
+
+2014-08-28  Gary Benson  <gbenson@redhat.com>
+
+       * utils.h (fatal): Remove declaration.
+       * utils.c (fatal): Remove function.
+
+2014-08-28  Gary Benson  <gbenson@redhat.com>
+
+       * tracepoint.c (gdb_agent_init): Replace fatal with
+       perror_with_name.
+       (initialize_tracepoint): Likewise.
+
+2014-08-28  Gary Benson  <gbenson@redhat.com>
+
+       * remote-utils.c (remote_prepare): Replace fatal with error.
+
+2014-08-28  Gary Benson  <gbenson@redhat.com>
+
+       * linux-low.c (linux_async): Replace fatal with warning.
+       Tidy up and return.
+       (linux_start_non_stop): Return -1 if linux_async failed.
+
+2014-08-28  Gary Benson  <gbenson@redhat.com>
+
+       * linux-x86-low.c (i386_dr_low_set_addr): Replace check with
+       gdb_assert.
+       (i386_dr_low_get_addr): Remove vague comment.
+       * win32-i386-low.c (i386_dr_low_set_addr): Replace check with
+       gdb_assert.
+
+2014-08-28  Gary Benson  <gbenson@redhat.com>
+
+       * inferiors.c (get_thread_process): Replace check with gdb_assert.
+       * linux-low.c (linux_wait_for_event_filtered): Replace fatal with
+       internal_error.
+       (linux_resume_one_lwp): Likewise.
+       * linux-x86-low.c (x86_siginfo_fixup): Replace checks with
+       gdb_assert.
+       * mem-break.c (raw_bkpt_type_to_target_hw_bp_type): Replace fatal
+       with internal_error.
+       * regcache.c (get_thread_regcache): Replace check with gdb_assert.
+       (init_register_cache): Replace fatal with gdb_assert_not_reached.
+       (find_register_by_name): Replace fatal with internal_error.
+       (find_regno): Likewise.
+       * tdesc.c (init_target_desc): Replace check with gdb_assert.
+       * thread-db.c (thread_db_create_event): Likewise.
+       (thread_db_load_search): Likewise.
+       (try_thread_db_load_1): Likewise.
+       * tracepoint.c (get_jump_space_head): Replace fatal with
+       internal_error.
+       (claim_trampoline_space): Likewise.
+       (have_fast_tracepoint_trampoline_buffer): Likewise.
+       (cmd_qtstart): Likewise.
+       (stop_tracing): Likewise.
+       (fast_tracepoint_collecting): Likewise.
+       (target_malloc): Likewise.
+       (download_tracepoint): Likewise.
+       (download_trace_state_variables): Replace check with gdb_assert.
+       (upload_fast_traceframes): Replace fatal with internal_error.
+
+2014-08-19  Tom Tromey  <tromey@redhat.com>
+           Gary Benson  <gbenson@redhat.com>
+
+       * Makefile.in (SFILES): Add common/common-debug.c.
+       (OBS): Add common-debug.o.
+       (common-debug.o): New rule.
+       * debug.h (debug_printf): Don't declare.
+       * debug.c (debug_printf): Renamed and rewritten as...
+       (debug_vprintf): New function.
+
+2014-08-19  Gary Benson  <gbenson@redhat.com>
+
+       * utils.h: Do not include print-utils.h.
+
+2014-08-19  Tom Tromey  <tromey@redhat.com>
+           Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Add static assertion.
+       (gdb_byte, CORE_ADDR, LONGEST, ULONGEST): Remove.
+
+2014-08-19  Tom Tromey  <tromey@redhat.com>
+           Gary Benson  <gbenson@redhat.com>
+
+       * Makefile.in (SFILES): Add common/errors.c.
+       (OBS): Add errors.o.
+       (IPA_OBS): Add errors-ipa.o.
+       (errors.o): New rule.
+       (errors-ipa.o): Likewise.
+       * utils.h (perror_with_name, error, warning): Don't declare.
+       * utils.c (warning): Renamed and rewritten as...
+       (vwarning): New function.
+       (error): Renamed and rewritten as...
+       (verror): New function.
+       (internal_error): Renamed and rewritten as...
+       (internal_verror): New function.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * configure.ac (AC_CHECK_HEADERS): Remove errno.h.
+       * configure: Regenerate.
+       * config.in: Likewise.
+       * server.h: Do not include errno.h.
+       * event-loop.c: Likewise.
+       * hostio-errno.c: Likewise.
+       * linux-low.c: Likewise.
+       * remote-utils.c: Likewise.
+       * spu-low.c: Likewise.
+       * utils.c: Likewise.
+       * gdbreplay.c: Unconditionally include errno.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Do not include string.h.
+       * event-loop.c: Likewise.
+       * linux-low.c: Likewise.
+       * regcache.c: Likewise.
+       * remote-utils.c: Likewise.
+       * spu-low.c: Likewise.
+       * utils.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Do not include gdb_assert.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Do not include common-utils.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Do not include ptid.h.
+       * notif.h: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Do not include gdb_locale.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Do not include gdb/signals.h.
+       * win32-low.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Do not include pathmax.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Do not include libiberty.h.
+       * linux-bfin-low.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Do not include ansidecl.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * linux-x86-low.c: Do not include stddef.h.
+       * lynx-ppc-low.c: Likewise.
+       * tracepoint.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Do not include stdarg.h.
+       * nto-low.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Do not include stdlib.h.
+       * inferiors.c: Likewise.
+       * linux-low.c: Likewise.
+       * regcache.c: Likewise.
+       * spu-low.c: Likewise.
+       * tracepoint.c: Likewise.
+       * utils.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Do not include stdio.h.
+       * linux-low.c: Likewise.
+       * remote-utils.c: Likewise.
+       * spu-low.c: Likewise.
+       * utils.c: Likewise.
+       * wincecompat.c: Likewise.
+
+2014-08-06  Gary Benson  <gbenson@redhat.com>
+
+       * regcache.c (init_register_cache): Move conditionals inside if.
+
+2014-08-06  Gary Benson  <gbenson@redhat.com>
+
+       * linux-low.c (linux_supports_non_stop): Use target_is_async_p.
+
+2014-07-31  Gary Benson  <gbenson@redhat.com>
+
+       * ax.h: Do not include server.h.
+       * gdbthread.h: Likewise.
+       * lynx-low.h: Likewise.
+       * notif.h: Likewise.
+
+2014-07-30  Gary Benson  <gbenson@redhat.com>
+
+       * server.h: Include common-defs.h.
+       Do not include config.h or build-gnulib-gdbserver/config.h.
+
+2014-07-30  Gary Benson  <gbenson@redhat.com>
+
+       * hostio-errno.c: Move server.h to top of includes list.
+       * inferiors.c: Likewise.
+       * linux-x86-low.c: Likewise.
+       * notif.c: Include server.h.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+           Gary Benson  <gbenson@redhat.com>
+
+       * server.h (CORE_ADDR): Now unsigned.
+
+2014-07-16  Pedro Alves  <palves@redhat.com>
+
+       * linux-low.c (linux_kill_one_lwp): Use kill_lwp, not kill.
+
+2014-07-15  Pedro Alves  <palves@redhat.com>
+
+       * linux-low.c (linux_kill_one_lwp): Save errno and work with saved
+       copy.
+
+2014-07-11  Pedro Alves  <palves@redhat.com>
+
+       * linux-low.c (kill_wait_lwp): New function, based on
+       kill_one_lwp_callback, but use my_waitpid directly.
+       (kill_one_lwp_callback, linux_kill): Use it.
+
+2014-06-23  Pedro Alves  <palves@redhat.com>
+
+       * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR_CONTROL
+       before setting DR0..DR3.
+
+2014-06-20  Gary Benson  <gbenson@redhat.com>
+
+       * configure.ac (AC_REPLACE_FUNCS) <vasprintf, vsnprintf>: Removed.
+       * configure: Regenerated.
+       * config.in: Likewise.
+
+2014-06-20  Gary Benson  <gbenson@redhat.com>
+
+       * Makefile.in (SFILES): Update locations for files moved
+       from common to nat.
+       (object file files): Reordered.
+
+2014-06-20  Gary Benson  <gbenson@redhat.com>
+
+       * i386-low.h (i386_dr_low_can_set_addr): Removed.
+       (i386_dr_low_set_addr): Likewise.
+       (i386_dr_low_get_addr): Likewise.
+       (i386_dr_low_can_set_control): Likewise.
+       (i386_dr_low_set_control): Likewise.
+       (i386_dr_low_get_control): Likewise.
+       (i386_dr_low_get_status): Likewise.
+       (i386_get_debug_register_length): Likewise.
+       * linux-x86-low.c (i386_dr_low_set_addr):
+       Changed signature.  Made static.
+       (i386_dr_low_get_addr): Likewise.
+       (i386_dr_low_set_control): Likewise.
+       (i386_dr_low_get_control): Likewise.
+       (i386_dr_low_get_status): Likewise.
+       (i386_dr_low): New global variable.
+       * win32-i386-low.c (i386_dr_low_set_addr):
+       Changed signature.  Made static.
+       (i386_dr_low_get_addr): Likewise.
+       (i386_dr_low_set_control): Likewise.
+       (i386_dr_low_get_control): Likewise.
+       (i386_dr_low_get_status): Likewise.
+       (i386_dr_low): New global variable.
+
+2014-06-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * configure.ac: Invoke. AC_CHECK_TOOL(AR, ar).
+       * Makefile.in (AR, AR_FLAGS): Define.
+       * configure: Regenerate.
+
+2014-06-19  Gary Benson  <gbenson@redhat.com>
+
+       * Makefile.in (i386-dregs.o): New rule.
+       * configure.srv: Add i386-dregs.o to all targets using i386-low.o.
+       * i386-low.c (target.h): Remove include.
+       (TARGET_HAS_DR_LEN_8): Now in i386-dregs.c.
+       (DR_CONTROL_SHIFT): Likewise.
+       (DR_CONTROL_SIZE): Likewise.
+       (DR_RW_EXECUTE): Likewise.
+       (DR_RW_WRITE): Likewise.
+       (DR_RW_READ): Likewise.
+       (DR_RW_IORW): Likewise.
+       (DR_LEN_1): Likewise.
+       (DR_LEN_2): Likewise.
+       (DR_LEN_4): Likewise.
+       (DR_LEN_8): Likewise.
+       (DR_LOCAL_ENABLE_SHIFT): Likewise.
+       (DR_GLOBAL_ENABLE_SHIFT): Likewise.
+       (DR_ENABLE_SIZE): Likewise.
+       (DR_LOCAL_SLOWDOWN): Likewise.
+       (DR_GLOBAL_SLOWDOWN): Likewise.
+       (DR_CONTROL_RESERVED): Likewise.
+       (I386_DR_CONTROL_MASK): Likewise.
+       (I386_DR_VACANT): Likewise.
+       (I386_DR_LOCAL_ENABLE): Likewise.
+       (I386_DR_GLOBAL_ENABLE): Likewise.
+       (I386_DR_DISABLE): Likewise.
+       (I386_DR_SET_RW_LEN): Likewise.
+       (I386_DR_GET_RW_LEN): Likewise.
+       (I386_DR_WATCH_HIT): Likewise.
+       (i386_wp_op_t): Likewise.
+       (i386_show_dr): Likewise.
+       (i386_length_and_rw_bits): Likewise.
+       (i386_insert_aligned_watchpoint): Likewise.
+       (i386_remove_aligned_watchpoint): Likewise.
+       (i386_handle_nonaligned_watchpoint): Likewise.
+       i386_update_inferior_debug_regs(): Likewise.
+       (i386_dr_insert_watchpoint): Likewise.
+       (i386_dr_remove_watchpoint): Likewise.
+       (i386_dr_region_ok_for_watchpoint): Likewise.
+       (i386_dr_stopped_data_address): Likewise.
+       (i386_dr_stopped_by_watchpoint): Likewise.
+
+2014-06-19  Gary Benson  <gbenson@redhat.com>
+
+       * i386-low.c (i386_dr_show): Renamed to
+       i386_show_dr and made static.  All uses updated.
+       (i386_dr_length_and_rw_bits): Renamed to
+       i386_length_and_rw_bits and made static.
+       All uses updated.
+       (i386_dr_insert_aligned_watchpoint): Renamed to
+       i386_insert_aligned_watchpoint and made static.
+       All uses updated.
+       (i386_dr_remove_aligned_watchpoint): Renamed to
+       i386_remove_aligned_watchpoint and made static.
+       All uses updated.
+       (i386_dr_update_inferior_debug_regs): Renamed to
+       i386_update_inferior_debug_regs and made static.
+       All uses updated.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+       * i386-low.h (i386_dr_low_can_set_addr): New macro.
+       (i386_dr_low_can_set_control): Likewise.
+       (i386_get_debug_register_length): Likewise.
+       * i386-low.c (i386_dr_low_can_set_addr): Now in i386-low.h.
+       (i386_dr_low_can_set_control): Likewise.
+       (i386_get_debug_register_length): Likewise.
+
+2014-06-17  Gary Benson  <gbenson@redhat.com>
+
+       * i386-low.h (i386-dregs.h): New include.
+       (DR_FIRSTADDR): Now in i386-dregs.h.
+       (DR_LASTADDR): Likewise.
+       (DR_NADDR): Likewise.
+       (DR_STATUS): Likewise.
+       (DR_CONTROL): Likewise.
+       (i386_debug_reg_state): Likewise.
+       (i386_dr_insert_watchpoint): Likewise.
+       (i386_dr_remove_watchpoint): Likewise.
+       (i386_dr_region_ok_for_watchpoint): Likewise.
+       (i386_dr_stopped_data_address): Likewise.
+       (i386_dr_stopped_by_watchpoint): Likewise.
+       * i386-low.c (ALL_DEBUG_REGISTERS): Likewise.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+       * i386-low.h (i386_low_insert_watchpoint): Renamed to
+       i386_dr_insert_watchpoint.
+       (i386_low_remove_watchpoint): Renamed to
+       i386_dr_remove_watchpoint.
+       (i386_low_region_ok_for_watchpoint): Renamed to
+       i386_dr_region_ok_for_watchpoint.
+       (i386_low_stopped_data_address): Renamed to
+       i386_dr_stopped_data_address.
+       (i386_low_stopped_by_watchpoint): Renamed to
+       i386_dr_stopped_by_watchpoint.
+       * i386-low.c (i386_show_dr): Renamed to
+       i386_dr_show and made nonstatic.  All uses updated.
+       (i386_length_and_rw_bits): Renamed to
+       i386_dr_length_and_rw_bits and made nonstatic.
+       All uses updated.
+       (i386_insert_aligned_watchpoint): Renamed to
+       i386_dr_insert_aligned_watchpoint and made nonstatic.
+       All uses updated.
+       (i386_remove_aligned_watchpoint): Renamed to
+       i386_dr_remove_aligned_watchpoint and made nonstatic.
+       All uses updated.
+       (i386_update_inferior_debug_regs): Renamed to
+       i386_dr_update_inferior_debug_regs and made nonstatic.
+       All uses updated.
+       (i386_low_insert_watchpoint): Renamed to
+       i386_dr_insert_watchpoint.  All uses updated.
+       (i386_low_remove_watchpoint): Renamed to
+       i386_dr_remove_watchpoint.  All uses updated.
+       (i386_low_region_ok_for_watchpoint): Renamed to
+       i386_dr_region_ok_for_watchpoint.  All uses updated.
+       (i386_low_stopped_data_address): Renamed to
+       i386_dr_stopped_data_address.  All uses updated.
+       (i386_low_stopped_by_watchpoint): Renamed to
+       i386_dr_stopped_by_watchpoint.  All uses updated.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+       * i386-low.c (i386_dr_low_can_set_addr): New macro.
+       (i386_dr_low_can_set_control): Likewise.
+       (i386_insert_aligned_watchpoint): New check.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+       * i386-low.c (i386_update_inferior_debug_regs) <inf_state>:
+       Renamed to state.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+       * i386-low.c (i386_length_and_rw_bits): Use internal_error
+       instead of fatal and error.
+       (i386_handle_nonaligned_watchpoint): Likewise.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+       * i386-low.c (i386_get_debug_register_length): New macro.
+       (TARGET_HAS_DR_LEN_8): Remove conditional.  Use above macro.
+       (i386_show_dr): Use debug_printf instead of fprintf.  Use
+       phex to format values.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+       * i386-low.h: Comment changes.
+       * i386-low.c: Likewise.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+       * i386-low.c: Whitespace changes.
+
+2014-06-12  Tom Tromey  <tromey@redhat.com>
+
+       * utils.c (freeargv): Remove.
+
+2014-06-12  Tom Tromey  <tromey@redhat.com>
+
+       * debug.c (debug_printf): Remove HAVE_GETTIMEOFDAY checks.
+       * server.c (monitor_show_help): Remove HAVE_GETTIMEOFDAY check.
+       (parse_debug_format_options): Likewise.
+       (gdbserver_usage): Likewise.
+       * Makefile.in (LIBIBERTY_BUILDDIR, LIBIBERTY): New variables.
+       (SUBDIRS, REQUIRED_SUBDIRS): Add libiberty.
+       (gdbserver$(EXEEXT), gdbreplay$(EXEEXT)): Depend on and link
+       against libiberty.
+       ($(LIBGNU)): Depend on libiberty.
+       (all-lib): Recurse into all subdirs.
+       (install-only): Invoke "install" target in subdirs.
+       (vasprintf.o, vsnprintf.o, safe-ctype.o, lbasename.o): Remove
+       targets.
+       * configure: Rebuild.
+       * configure.ac: Add ACX_CONFIGURE_DIR for libiberty.  Don't check
+       for vasprintf, vsnprintf, or gettimeofday.
+       * configure.srv: Don't add safe-ctype.o or lbasename.o to
+       srv_tgtobj.
+
+2014-06-05  Joel Brobecker  <brobecker@adacore.com>
+
+       * development.sh: Delete.
+       * Makefile.in (config.status): Adjust dependency on development.sh.
+       * configure.ac: Adjust development.sh source call.
+       * configure: Regenerate.
+
+2014-06-02  Pedro Alves  <palves@redhat.com>
+
+       * ax.c (gdb_free_agent_expr): New function.
+       * ax.h (gdb_free_agent_expr): New declaration.
+       * mem-break.c (delete_gdb_breakpoint_1): Also clear the commands
+       list.
+       (clear_breakpoint_conditions, clear_breakpoint_commands): Make
+       static.
+       (clear_breakpoint_conditions_and_commands): New function.
+       * mem-break.h (clear_breakpoint_conditions): Delete declaration.
+       (clear_breakpoint_conditions_and_commands): New declaration.
+
+2014-05-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+       * linux-aarch64-low.c (asm/ptrace.h): Include.
+
+2014-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Fix TLS access for -static -pthread.
+       * gdbserver/thread-db.c (struct thread_db): Add td_thr_tlsbase_p.
+       (thread_db_get_tls_address): Call it if LOAD_MODULE is zero.
+       (thread_db_load_search, try_thread_db_load_1): Initialize it.
+
+2014-05-20  Pedro Alves  <palves@redhat.com>
+
+       * linux-aarch64-low.c (aarch64_insert_point)
+       (aarch64_remove_point): No longer check whether the type is
+       supported here.  Adjust to new interface.
+       (the_low_target): Install aarch64_supports_z_point_type as
+       supports_z_point_type method.
+       * linux-arm-low.c (raw_bkpt_type_to_arm_hwbp_type): New function.
+       (arm_linux_hw_point_initialize): Take an enum raw_bkpt_type
+       instead of a Z packet char.  Adjust.
+       (arm_supports_z_point_type): New function.
+       (arm_insert_point, arm_remove_point): Adjust to new interface.
+       (the_low_target): Install arm_supports_z_point_type.
+       * linux-crisv32-low.c (cris_supports_z_point_type): New function.
+       (cris_insert_point, cris_remove_point): Adjust to new interface.
+       Don't check whether the type is supported here.
+       (the_low_target): Install cris_supports_z_point_type.
+       * linux-low.c (linux_supports_z_point_type): New function.
+       (linux_insert_point, linux_remove_point): Adjust to new interface.
+       * linux-low.h (struct linux_target_ops) <insert_point,
+       remove_point>: Take an enum raw_bkpt_type instead of a char.  Add
+       raw_breakpoint pointer parameter.
+       <supports_z_point_type>: New method.
+       * linux-mips-low.c (mips_supports_z_point_type): New function.
+       (mips_insert_point, mips_remove_point): Adjust to new interface.
+       Use mips_supports_z_point_type.
+       (the_low_target): Install mips_supports_z_point_type.
+       * linux-ppc-low.c (the_low_target): Install NULL as
+       supports_z_point_type method.
+       * linux-s390-low.c (the_low_target): Install NULL as
+       supports_z_point_type method.
+       * linux-sparc-low.c (the_low_target): Install NULL as
+       supports_z_point_type method.
+       * linux-x86-low.c (x86_supports_z_point_type): New function.
+       (x86_insert_point): Adjust to new insert_point interface.  Use
+       insert_memory_breakpoint.  Adjust to new
+       i386_low_insert_watchpoint interface.
+       (x86_remove_point): Adjust to remove_point interface.  Use
+       remove_memory_breakpoint.  Adjust to new
+       i386_low_remove_watchpoint interface.
+       (the_low_target): Install x86_supports_z_point_type.
+       * lynx-low.c (lynx_target_ops): Install NULL as
+       supports_z_point_type callback.
+       * nto-low.c (nto_supports_z_point_type): New.
+       (nto_insert_point, nto_remove_point): Adjust to new interface.
+       (nto_target_ops): Install nto_supports_z_point_type.
+       * mem-break.c: Adjust intro comment.
+       (struct raw_breakpoint) <raw_type, size>: New fields.
+       <inserted>: Update comment.
+       <shlib_disabled>: Delete field.
+       (enum bkpt_type) <gdb_breakpoint>: Delete value.
+       <gdb_breakpoint_Z0, gdb_breakpoint_Z1, gdb_breakpoint_Z2,
+       gdb_breakpoint_Z3, gdb_breakpoint_Z4>: New values.
+       (raw_bkpt_type_to_target_hw_bp_type): New function.
+       (find_enabled_raw_code_breakpoint_at): New function.
+       (find_raw_breakpoint_at): New type and size parameters.  Use them.
+       (insert_memory_breakpoint): New function, based off
+       set_raw_breakpoint_at.
+       (remove_memory_breakpoint): New function.
+       (set_raw_breakpoint_at): Reimplement.
+       (set_breakpoint): New, based on set_breakpoint_at.
+       (set_breakpoint_at): Reimplement.
+       (delete_raw_breakpoint): Go through the_target->remove_point
+       instead of assuming memory breakpoints.
+       (find_gdb_breakpoint_at): Delete.
+       (Z_packet_to_bkpt_type, Z_packet_to_raw_bkpt_type): New functions.
+       (find_gdb_breakpoint): New function.
+       (set_gdb_breakpoint_at): Delete.
+       (z_type_supported): New function.
+       (set_gdb_breakpoint_1): New function, loosely based off
+       set_gdb_breakpoint_at.
+       (check_gdb_bp_preconditions, set_gdb_breakpoint): New functions.
+       (delete_gdb_breakpoint_at): Delete.
+       (delete_gdb_breakpoint_1): New function, loosely based off
+       delete_gdb_breakpoint_at.
+       (delete_gdb_breakpoint): New function.
+       (clear_gdb_breakpoint_conditions): Rename to ...
+       (clear_breakpoint_conditions): ... this.  Don't handle a NULL
+       breakpoint.
+       (add_condition_to_breakpoint): Make static.
+       (add_breakpoint_condition): Take a struct breakpoint pointer
+       instead of an address.  Adjust.
+       (gdb_condition_true_at_breakpoint): Rename to ...
+       (gdb_condition_true_at_breakpoint_z_type): ... this, and add
+       z_type parameter.
+       (gdb_condition_true_at_breakpoint): Reimplement.
+       (add_breakpoint_commands): Take a struct breakpoint pointer
+       instead of an address.  Adjust.
+       (gdb_no_commands_at_breakpoint): Rename to ...
+       (gdb_no_commands_at_breakpoint_z_type): ... this.  Add z_type
+       parameter.  Return true if no breakpoint was found.  Change debug
+       output.
+       (gdb_no_commands_at_breakpoint): Reimplement.
+       (run_breakpoint_commands): Rename to ...
+       (run_breakpoint_commands_z_type): ... this.  Add z_type parameter,
+       and change return type to boolean.
+       (run_breakpoint_commands): New function.
+       (gdb_breakpoint_here): Also check for Z1 breakpoints.
+       (uninsert_raw_breakpoint): Don't try to reinsert a disabled
+       breakpoint.  Go through the_target->remove_point instead of
+       assuming memory breakpoint.
+       (uninsert_breakpoints_at, uninsert_all_breakpoints): Uninsert
+       software and hardware breakpoints.
+       (reinsert_raw_breakpoint): Go through the_target->insert_point
+       instead of assuming memory breakpoint.
+       (reinsert_breakpoints_at, reinsert_all_breakpoints): Reinsert
+       software and hardware breakpoints.
+       (check_breakpoints, breakpoint_here, breakpoint_inserted_here):
+       Check both software and hardware breakpoints.
+       (validate_inserted_breakpoint): Assert the breakpoint is a
+       software breakpoint.  Set the inserted flag to -1 instead of
+       setting shlib_disabled.
+       (delete_disabled_breakpoints): Adjust.
+       (validate_breakpoints): Only validate software breakpoints.
+       Adjust to inserted flag change.
+       (check_mem_read, check_mem_write): Skip breakpoint types other
+       than software breakpoints.  Adjust to inserted flag change.
+       * mem-break.h (enum raw_bkpt_type): New enum.
+       (raw_breakpoint, struct process_info): Forward declare.
+       (Z_packet_to_target_hw_bp_type): Delete declaration.
+       (raw_bkpt_type_to_target_hw_bp_type, Z_packet_to_raw_bkpt_type)
+       (set_gdb_breakpoint, delete_gdb_breakpoint)
+       (clear_breakpoint_conditions): New declarations.
+       (set_gdb_breakpoint_at, clear_gdb_breakpoint_conditions): Delete.
+       (breakpoint_inserted_here): Update comment.
+       (add_breakpoint_condition, add_breakpoint_commands): Replace
+       address parameter with a breakpoint pointer parameter.
+       (gdb_breakpoint_here): Update comment.
+       (delete_gdb_breakpoint_at): Delete.
+       (insert_memory_breakpoint, remove_memory_breakpoint): Declare.
+       * server.c (process_point_options): Take a struct breakpoint
+       pointer instead of an address.  Adjust.
+       (process_serial_event) <Z/z packets>: Use set_gdb_breakpoint and
+       delete_gdb_breakpoint.
+       * spu-low.c (spu_target_ops): Install NULL as
+       supports_z_point_type method.
+       * target.h: Include mem-break.h.
+       (struct target_ops) <prepare_to_access_memory>: Update comment.
+       <supports_z_point_type>: New field.
+       <insert_point, remove_point>: Take an enum raw_bkpt_type argument
+       instead of a char.  Also take a raw breakpoint pointer.
+       * win32-arm-low.c (the_low_target): Install NULL as
+       supports_z_point_type.
+       * win32-i386-low.c (i386_supports_z_point_type): New function.
+       (i386_insert_point, i386_remove_point): Adjust to new interface.
+       (the_low_target): Install i386_supports_z_point_type.
+       * win32-low.c (win32_supports_z_point_type): New function.
+       (win32_insert_point, win32_remove_point): Adjust to new interface.
+       (win32_target_ops): Install win32_supports_z_point_type.
+       * win32-low.h (struct win32_target_ops):
+       <supports_z_point_type>: New method.
+       <insert_point, remove_point>: Take an enum raw_bkpt_type argument
+       instead of a char.  Also take a raw breakpoint pointer.
+
+2014-05-20  Pedro Alves  <palves@redhat.com>
+
+       * mem-break.h: Include break-common.h.
+       (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP)
+       (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): New defines.
+       (Z_packet_to_target_hw_bp_type): New declaration.
+       * mem-break.c (Z_packet_to_target_hw_bp_type): New function.
+       * i386-low.c (Z_PACKET_HW_BP, Z_PACKET_WRITE_WP, Z_PACKET_READ_WP)
+       (Z_PACKET_ACCESS_WP): Delete macros.
+       (Z_packet_to_hw_type): Delete function.
+       * i386-low.h: Don't include break-common.h here.
+       (Z_packet_to_hw_type): Delete declaration.
+       * linux-x86-low.c (x86_insert_point, x86_insert_point): Call
+       Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type.
+       * win32-i386-low.c (i386_insert_point, i386_remove_point): Call
+       Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type.
+       * linux-aarch64-low.c: Don't include break-common.h here.
+       (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP)
+       (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): Delete macros.
+       (Z_packet_to_target_hw_bp_type): Delete function.
+       * linux-mips-low.c (rsp_bp_type_to_target_hw_bp_type): Delete
+       function.
+       (mips_insert_point, mips_remove_point): Use
+       Z_packet_to_target_hw_bp_type.
+
+2014-05-20  Pedro Alves  <palves@redhat.com>
+
+       * linux-aarch64-low.c: Include break-common.h.
+       (enum target_point_type): Delete.
+       (Z_packet_to_point_type): Rename to ...
+       (Z_packet_to_target_hw_bp_type): ... this, and return a
+       target_hw_bp_type instead.
+       (aarch64_show_debug_reg_state): Take an enum target_hw_bp_type
+       instead of an enum target_point_type.
+       (aarch64_point_encode_ctrl_reg): Likewise.  Compute type mask from
+       breakpoint type.
+       (aarch64_dr_state_insert_one_point)
+       (aarch64_dr_state_remove_one_point, aarch64_handle_breakpoint)
+       (aarch64_handle_aligned_watchpoint)
+       (aarch64_handle_unaligned_watchpoint, aarch64_handle_watchpoint):
+       Take an enum target_hw_bp_type instead of an enum
+       target_point_type.
+       (aarch64_supports_z_point_type): New function.
+       (aarch64_insert_point, aarch64_remove_point): Use it.  Adjust to
+       use Z_packet_to_target_hw_bp_type.
+
+2014-05-20  Joel Brobecker  <brobecker@adacore.com>
+
+       * configure.ac: Only use -Werror by default when DEVELOPMENT
+       is true.
+       * configure: Regenerate.
+
+2014-05-19  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Fix gdbserver qGetTLSAddr for x86_64 -m32.
+       * linux-x86-low.c (X86_64_USER_REGS): New.
+       (x86_fill_gregset): Call memset for BUF first in x86_64 -m32 case.
+
+2014-04-28  Yao Qi  <yao@codesourcery.com>
+
+       * Makefile.in (i386-avx512.c): Fix the typo of generated file
+       name.
+
+2014-04-25  Pedro Alves  <palves@redhat.com>
+
+       PR server/16255
+       * linux-low.c (linux_attach_fail_reason_string): New function.
+       (linux_attach_lwp): Delete.
+       (linux_attach_lwp_1): Rename to ...
+       (linux_attach_lwp): ... this.  Take a ptid instead of a pid as
+       argument.  Remove "initial" parameter.  Return int instead of
+       void.  Don't error or warn here.
+       (linux_attach): Adjust to call linux_attach_lwp.  Call error on
+       failure to attach to the tgid.  Call warning when failing to
+       attach to an lwp.
+       * linux-low.h (linux_attach_lwp): Take a ptid instead of a pid as
+       argument.  Remove "initial" parameter.  Return int instead of
+       void.  Don't error or warn here.
+       (linux_attach_fail_reason_string): New declaration.
+       * thread-db.c (attach_thread): Adjust to linux_attach_lwp's
+       interface change.  Use linux_attach_fail_reason_string.
+
+2014-04-24  Michael Sturm  <michael.sturm@mintel.com>
+           Walfred Tedeschi  <walfred.tedeschi@intel.com>
+
+       * Makefile.in: Added rules to handle new files
+       i386-avx512.c i386-avx512-linux.c amd64-avx512.c
+       amd64-avx512-linux.c x32-avx512.c x32-avx512-linux.c.
+       * configure.srv (srv_i386_regobj): Add i386-avx512.o.
+       (srv_i386_linux_regobj): Add i386-avx512-linux.o.
+       (srv_amd64_regobj): Add amd64-avx512.o and x32-avx512.o.
+       (srv_amd64_linux_regobj): Add amd64-avx512-linux.o and
+       x32-avx512-linux.o.
+       (srv_i386_32bit_xmlfiles): Add i386/32bit-avx512.xml.
+       (srv_i386_64bit_xmlfiles): Add i386/64bit-avx512.xml.
+       (srv_amd64_xmlfiles): Add i386/amd64-avx512.xml and
+       i386/x32-avx512.xml.
+       (srv_i386_linux_xmlfiles): Add i386/i386-avx512-linux.xml.
+       (srv_amd64_linux_xmlfiles): Add i386/amd64-avx512-linux.xml and
+       i386/x32-avx512-linux.xml.
+       * i387-fp.c (num_avx512_k_registers): New constant for number
+       of K registers.
+       (num_avx512_zmmh_low_registers): New constant for number of
+       lower ZMM registers (0-15).
+       (num_avx512_zmmh_high_registers): New constant for number of
+       higher ZMM registers (16-31).
+       (num_avx512_ymmh_registers): New contant for number of higher
+       YMM registers (ymm16-31 added by avx521 on x86_64).
+       (num_avx512_xmm_registers): New constant for number of higher
+       XMM registers (xmm16-31 added by AVX512 on x86_64).
+       (struct i387_xsave): Add space for AVX512 registers.
+       (i387_cache_to_xsave): Change raw buffer size to 64 characters.
+       Add code to handle AVX512 registers.
+       (i387_xsave_to_cache): Add code to handle AVX512 registers.
+       * linux-x86-low.c (init_registers_amd64_avx512_linux): New
+       prototypei from generated file.
+       (tdesc_amd64_avx512_linux): Likewise.
+       (init_registers_x32_avx512_linux): Likewise.
+       (tdesc_x32_avx512_linux): Likewise.
+       (init_registers_i386_avx512_linux): Likewise.
+       (tdesc_i386_avx512_linux): Likewise.
+       (x86_64_regmap): Add AVX512 registers.
+       (x86_linux_read_description): Add code to handle AVX512 XSTATE
+       mask.
+       (initialize_low_arch): Add code to initialize AVX512 registers.
+
+2014-04-23  Pedro Alves  <palves@redhat.com>
+
+       * mem-break.c (find_gdb_breakpoint_at): Make static.
+       * mem-break.h (find_gdb_breakpoint_at): Delete declaration.
+
+2014-04-23  Pedro Alves  <palves@redhat.com>
+
+       * i386-low.c: Don't include break-common.h here.
+       (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change
+       prototype to take target_hw_bp_type as argument instead of a Z
+       packet char.
+       * i386-low.h: Include break-common.h here.
+       (Z_packet_to_hw_type): Declare.
+       (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change
+       prototypes.
+       * linux-x86-low.c (x86_insert_point): Convert the packet number to
+       a target_hw_bp_type before calling i386_low_insert_watchpoint.
+       (x86_remove_point): Convert the packet number to a
+       target_hw_bp_type before calling i386_low_remove_watchpoint.
+       * win32-i386-low.c (i386_insert_point): Convert the packet number
+       to a target_hw_bp_type before calling i386_low_insert_watchpoint.
+       (i386_remove_point): Convert the packet number to a
+       target_hw_bp_type before calling i386_low_remove_watchpoint.
+
+2014-04-23  Pedro Alves  <palves@redhat.com>
+
+       * utils.h (perror_with_name): Add ATTRIBUTE_NORETURN.
+
+2014-04-10  Pedro Alves  <palves@redhat.com>
+
+       * mem-break.c (add_breakpoint_condition, add_breakpoint_commands):
+       Check if the condition or command is NULL before checking if the
+       breakpoint is known.  On success, return true.
+       * mem-break.h (add_breakpoint_condition): Document return.
+       (add_breakpoint_commands): Add describing comment.
+       * server.c (skip_to_semicolon): New function.
+       (process_point_options): Use it.
+
+2014-04-09  Pedro Alves  <palves@redhat.com>
+
+       * linux-low.c (linux_read_loadmap): Pass current_inferior directly
+       to lwpid_of.
+
+2014-02-27  Pedro Alves  <palves@redhat.com>
+
+       PR 12702
+       * inferiors.h (A_I_NEXT, ALL_INFERIORS_TYPE, ALL_PROCESSES): New
+       macros.
+       * linux-low.c (delete_lwp, handle_extended_wait): Add debug
+       output.
+       (last_thread_of_process_p): Take a PID argument instead of a
+       thread pointer.
+       (linux_wait_for_lwp): Delete.
+       (num_lwps, check_zombie_leaders, not_stopped_callback): New
+       functions.
+       (linux_low_filter_event): New function, party factored out from
+       linux_wait_for_event.
+       (linux_wait_for_event): Rename to ...
+       (linux_wait_for_event_filtered): ... this.  Add new filter ptid
+       argument.  Partly rewrite.  Always use waitpid(-1, WNOHANG) and
+       sigsuspend.  Check for zombie leaders.
+       (linux_wait_for_event): Reimplement as wrapper around
+       linux_wait_for_event_filtered.
+       (linux_wait_1): Handle TARGET_WAITKIND_NO_RESUMED.  Assume that if
+       a normal or signal exit is seen, it's the whole process exiting.
+       (wait_for_sigstop): No longer a for_each_inferior callback.
+       Rewrite on top of linux_wait_for_event_filtered.
+       (stop_all_lwps): Call wait_for_sigstop directly.
+       * server.c (resume, handle_target_event): Handle
+       TARGET_WAITKIND_NO_RESUMED.
+
+2014-02-26  Joel Brobecker  <brobecker@adacore.com>
+
+       * win32-low.c (psapi_get_dll_name,
+       * win32_CreateToolhelp32Snapshot): Delete.
+       (win32_CreateToolhelp32Snapshot, win32_Module32First)
+       (win32_Module32Next, load_toolhelp, toolhelp_get_dll_name):
+       Delete.
+       (handle_load_dll): Add function description.
+       Remove code using psapi_get_dll_name and toolhelp_get_dll_name.
+
+2014-02-26  Joel Brobecker  <brobecker@adacore.com>
+
+       * win32-low.c (win32_add_one_solib): Add 0x1000 to load_addr.
+       Add comment.
+       (win32_add_all_dlls): Remove 0x1000 offset applied to DLL
+       base address when calling win32_add_one_solib.
+       (handle_load_dll): Delete local variable load_addr.
+       Remove 0x1000 offset applied to DLL base address when calling
+       win32_add_one_solib.
+       (handle_unload_dll): Add comment.
+
+2014-02-26  Joel Brobecker  <brobecker@adacore.com>
+
+       * win32-low.c (win32_add_all_dlls): Renames
+       win32_ensure_ntdll_loaded.  Rewrite function documentation.
+       Adjust implementation to always load all DLLs.
+       Add 0x1000 offset to DLL base address when calling
+       win32_add_one_solib.
+       (child_initialization_done): New static global.
+       (do_initial_child_stuff): Set child_initialization_done to
+       zero during child initialization, and 1 after.  Replace call
+       to win32_ensure_ntdll_loaded by call to win32_add_all_dlls.
+       Add comment.
+       (match_dll_by_basename, dll_is_loaded_by_basename): Delete.
+       (handle_unload_dll): Add function documentation.
+       (get_child_debug_event): Ignore load and unload DLL events
+       during child initialization.
+
 2014-02-20  Doug Evans  <dje@google.com>
 
        Remove global all_lwps.
This page took 0.052148 seconds and 4 git commands to generate.