b21097118f0b65bbc07cbb723723dd6eb07ffdc5
[external/binutils.git] / gdb / gdbserver / ChangeLog
1 2016-03-18  Yao Qi  <yao.qi@linaro.org>
2
3         * linux-low.c (linux_resume_one_lwp_throw): Set 'signal' to
4         0 if signal is enqueued.  Remove 'signal' from one debugging
5         message.  Move one debugging message to some lines below.
6         Remove code setting 'signal' to 0.
7
8 2016-03-18  Yao Qi  <yao.qi@linaro.org>
9
10         * linux-low.c (linux_low_filter_event): Remove redundant
11         WIFSTOPPED check together with linux_wstatus_maybe_breakpoint.
12
13 2016-03-09  Marcin Kościelnicki  <koriakin@0x04.net>
14
15         * linux-ppc-low.c (ppc_supports_tracepoints): New function.
16         (struct linux_target_ops): Wire in the above.
17
18 2016-03-03  Yao Qi  <yao.qi@linaro.org>
19
20         * linux-low.c: Update comments to start_step_over.
21
22 2016-03-03  Yao Qi  <yao.qi@linaro.org>
23
24         PR server/19736
25         * linux-low.c (handle_extended_wait): Set child suspended
26         if event_lwp->bp_reinsert isn't zero.
27
28 2016-03-02  Yao Qi  <yao.qi@linaro.org>
29
30         * linux-low.c (linux_resume_one_lwp_throw): Replace code with
31         enqueue_pending_signal.
32
33 2016-03-02  Marcin Kościelnicki  <koriakin@0x04.net>
34
35         * tracepoint.c (cmd_qtstart): Only set ipa_tdesc_idx if agent
36         is actually loaded.
37
38 2016-02-25  Marcin Kościelnicki  <koriakin@0x04.net>
39
40         * linux-s390-low.c (s390_num_regs_3264): Define on 31-bit too.
41         (s390_regmap_3264) [!__s390x__]: New global.
42         (s390_collect_ptrace_register): Skip map entries containing -1.
43         (s390_supply_ptrace_register): Ditto.
44         (s390_fill_gprs_high): New function.
45         (s390_store_gprs_high): New function.
46         (s390_regsets): Add NT_S390_HIGH_GPRS.
47         (s390_get_hwcap): Enable on 31-bit.
48         (have_hwcap_s390_high_gprs): Enable on 31-bit.
49         (s390_arch_setup): Enable detection of high GPRs, TDB, VX on 31-bit.
50         Detect NT_S390_HIGH_GPRS.
51         (s390_usrregs_info_3264): Enable on 31-bit.
52         (s390_regs_info): Enable regs_info_3264 on 31-bit.
53         (initialize_low_arch): Initialize s390_regsets_info_3264 on 31-bit.
54
55 2016-02-25  Marcin Kościelnicki  <koriakin@0x04.net>
56
57         PR gdb/13808
58         * Makefile.in: Add i386-*-linux-ipa.o and amd64-*-linux-ipa.o.
59         * configure.srv: Ditto.
60         * linux-aarch64-ipa.c (get_ipa_tdesc): New function.
61         (initialize_low_tracepoint): Remove ipa_tdesc assignment.
62         * linux-amd64-ipa.c: Add "linux-x86-tdesc.h" include.
63         (init_registers_amd64_linux): Remove prototype.
64         (tdesc_amd64_linux): Remove declaration.
65         (get_ipa_tdesc): New function.
66         (initialize_low_tracepoint): Remove ipa_tdesc assignment,
67         initialize remaining tdescs.
68         * linux-i386-ipa.c: Add "linux-x86-tdesc.h" include.
69         (init_registers_i386_linux): Remove prototype.
70         (tdesc_i386_linux): Remove declaration.
71         (get_ipa_tdesc): New function.
72         (initialize_low_tracepoint): Remove ipa_tdesc assignment,
73         initialize remaining tdescs.
74         * linux-low.c (linux_get_ipa_tdesc_idx): New function.
75         (linux_target_ops): wire in linux_get_ipa_tdesc_idx.
76         * linux-low.h (struct linux_target_ops): Add get_ipa_tdesc_idx.
77         * linux-x86-low.c: Move tdesc declarations to linux-x86-tdesc.h.
78         (x86_get_ipa_tdesc_idx): New function.
79         (the_low_target): Wire in x86_get_ipa_tdesc_idx.
80         * linux-x86-tdesc.h: New file.
81         * target.h (struct target_ops): Add get_ipa_tdesc_idx.
82         (target_get_ipa_tdesc_idx): New macro.
83         * tracepoint.c (ipa_tdesc_idx): New macro.
84         (struct ipa_sym_addresses): Add addr_ipa_tdesc_idx.
85         (symbol_list): Add ipa_tdesc_idx.
86         (cmd_qtstart): Write ipa_tdesc_idx in the target.
87         (ipa_tdesc): Remove.
88         (ipa_tdesc_idx): New variable.
89         (get_context_regcache): Use get_ipa_tdesc.
90         (gdb_collect): Ditto.
91         (gdb_probe): Ditto.
92         * tracepoint.h (get_ipa_tdesc): New prototype.
93         (ipa_tdesc): Remove.
94
95 2016-02-24  Pedro Alves  <palves@redhat.com>
96
97         * linux-low.c (check_stopped_by_breakpoint): Rename to ...
98         (save_stop_reason): ... this.  Use GDB_ARCH_IS_TRAP_HWBKPT and
99         handle ambiguous GDB_ARCH_IS_TRAP_BRKPT / GDB_ARCH_IS_TRAP_HWBKPT.
100         Factor out common code between the USE_SIGTRAP_SIGINFO and
101         !USE_SIGTRAP_SIGINFO blocks.
102         (linux_low_filter_event): Call save_stop_reason instead of
103         check_stopped_by_breakpoint and check_stopped_by_watchpoint.
104         Update comments.
105         (linux_wait_1): Update comments.
106
107 2016-02-24  Wei-cheng Wang  <cole945@gmail.com>
108
109         * linux-ppc-low.c (ppc_supports_z_point_type): New function:
110         (ppc_insert_point, ppc_remove_point): Insert/remove z-packet breakpoints.
111         (ppc64_emit_ops_vector): Add target ops - ppc_supports_z_point_type,
112         ppc_insert_point, ppc_remove_point.
113
114 2016-02-17  Marcin Kościelnicki  <koriakin@0x04.net>
115
116         * linux-s390-low.c (s390_supports_z_point_type): New function.
117         (struct linux_target_ops): Wire s390_supports_z_point_type in.
118
119 2016-02-16  Yao Qi  <yao.qi@linaro.org>
120
121         * linux-arm-low.c (get_next_pcs_syscall_next_pc): Remove argument
122         PC.  Get pc from regcache_read_pc.
123
124 2016-02-12  Yao Qi  <yao.qi@linaro.org>
125
126         * linux-aarch64-low.c (aarch64_get_pc): Call linux_get_pc_64bit
127         or linux_get_pc_32bit.
128         (aarch64_set_pc): Call linux_set_pc_64bit or linux_set_pc_32bit.
129
130 2016-02-12  Yao Qi  <yao.qi@linaro.org>
131
132         * linux-arm-low.c (get_next_pcs_ops): Initialize it with
133         arm_linux_get_next_pcs_fixup.
134
135 2016-02-12  Marcin Kościelnicki  <koriakin@0x04.net>
136
137         * tracepoint.c (x_tracepoint_action_download): Change
138         write_inferior_data_ptr to write_inferior_data_pointer.
139         (cmd_qtstart): Likewise.
140         (write_inferior_data_ptr): Remove.
141         (download_agent_expr): Change write_inferior_data_ptr to
142         write_inferior_data_pointer.
143         (download_tracepoint_1): Likewise.
144         (download_tracepoint): Likewise.
145         (download_trace_state_variables): Likewise.
146
147 2016-02-11  Wei-cheng Wang  <cole945@gmail.com>
148             Marcin Kościelnicki  <koriakin@0x04.net>
149
150         * tracepoint.c (struct tracepoint_action_ops): Remove.
151         (struct tracepoint_action): Remove ops.
152         (m_tracepoint_action_download, r_tracepoint_action_download)
153         (x_tracepoint_action_download, l_tracepoint_action_download): Adjust
154         size and offset accordingly.
155         (m_tracepoint_action_ops, r_tracepoint_action_ops)
156         (x_tracepoint_action_ops, l_tracepoint_action_ops): Remove.
157         (tracepoint_action_send, tracepoint_action_download): New functions.
158         Helpers for trace action handlers.
159         (add_tracepoint_action): Remove setup actions ops.
160         (download_tracepoint_1, tracepoint_send_agent): Call helper functions.
161
162 2016-02-10  Yao Qi  <yao.qi@linaro.org>
163
164         * regcache.c (regcache_raw_read_unsigned): Clear *VAL.
165
166 2016-02-09  Simon Marchi  <simon.marchi@ericsson.com>
167
168         * configure.ac: Use AC_CONFIG_FILES instead of passing arguments
169         to AC_OUTPUT.
170         * configure: Regenerate.
171
172 2016-02-09  Simon Marchi  <simon.marchi@ericsson.com>
173
174         * linux-aarch64-low.c (aarch64_linux_siginfo_fixup): Change
175         void * to gdb_byte *.
176         * linux-low.c (siginfo_fixup): Likewise.
177         (linux_xfer_siginfo): Likewise.
178         * linux-low.h (struct linux_target_ops) <siginfo_fixup>:
179         Likewise.
180         * linux-x86-low.c (x86_siginfo_fixup): Likewise.
181
182 2016-02-02  Walfred Tedeschi  <walfred.tedeschi@intel.com>
183
184         * configure.srv (x86_64-*-linux*): Add amd64-linux-siginfo.o
185         to srv_tgtobj.
186         (i[34567]86-*-linux*): Add amd64-linux-siginfo.o
187         to srv_tgtobj.
188         * linux-x86-low.c [__x86_64__]: Include
189         "nat/amd64-linux-siginfo.h".
190         (compat_siginfo_from_siginfo, siginfo_from_compat_siginfo)
191         (compat_x32_siginfo_from_siginfo, siginfo_from_compat_x32_siginfo)
192         (compat_timeval, compat_sigval, compat_x32_clock, cpt_si_pid)
193         (cpt_si_uid, cpt_si_timerid, cpt_si_overrun, cpt_si_status)
194         (cpt_si_utime, cpt_si_stime, cpt_si_ptr, cpt_si_addr, cpt_si_band)
195         (cpt_si_fd, si_timerid, si_overrun): Move from
196         nat/amd64-linux-siginfo.c.
197         * Makefile.in (amd64-linux-siginfo.o:): New rule.
198
199 2016-01-28  Simon Marchi  <simon.marchi@ericsson.com>
200
201         * server.c (skip_to_semicolon):  Remove.
202         (process_point_options): Use strchrnul instead of
203         skip_to_semicolon.
204
205 2016-01-26  Yao Qi  <yao.qi@linaro.org>
206
207         * linux-arm-low.c (arm_gdbserver_get_next_pcs): Remove argument pc.
208         * linux-low.c (install_software_single_step_breakpoints): Don't
209         call regcache_read_pc.
210         * linux-low.h (struct linux_target_ops) <get_next_pcs>: Remove
211         argument pc.
212
213 2016-01-26  Yao Qi  <yao.qi@linaro.org>
214
215         * linux-low.c (install_software_single_step_breakpoints): Call
216         regcache_read_pc instead of get_pc.
217
218 2016-01-26  Yao Qi  <yao.qi@linaro.org>
219
220         * remote-utils.c (remote_close) [!USE_WIN32API]: Ignore SIGIO.
221         (unblock_async_io): Rename to ...
222         (block_unblock_async_io): ... it.  New function.
223         (enable_async_io): Don't install SIGIO handler.  Unblock it
224         instead.
225         (disable_async_io): Don't ignore SIGIO.  Block it instead.
226         (initialize_async_io): Install SIGIO handler.  Don't call
227         unblock_async_io.
228
229 2016-01-26  Yao Qi  <yao.qi@linaro.org>
230
231         * remote-utils.c (getpkt): If the buffer isn't empty, and the
232         first character is '\003', call *the_target->request_interrupt.
233
234 2016-01-25  Yao Qi  <yao.qi@linaro.org>
235
236         * remote-utils.c (new_thread_notify): Remove.
237         (dead_thread_notify): Likewise.
238         * remote-utils.h (new_thread_notify): Remove declaration.
239         (dead_thread_notify): Likewise.
240
241 2016-01-23  Marcin Kościelnicki  <koriakin@0x04.net>
242
243         * gdb.trace/pending.exp: Fix expected message on continue.
244
245 2016-01-22  Marcin Kościelnicki  <koriakin@0x04.net>
246
247         * tracepoint.c (write_inferior_data_ptr): Cast to uintptr_t, so that
248         it works properly on big-endian machines where sizeof (CORE_ADDR)
249         != sizeof (void *).
250
251 2016-01-21  Pedro Alves  <palves@redhat.com>
252
253         * Makefile.in (COMPILER_CFLAGS, CXXFLAGS): New.
254         (INTERNAL_CFLAGS_BASE): Use COMPILER_CFLAGS instead of CFLAGS.
255         * configure: Regenerate.
256
257 2016-01-21  Yao Qi  <yao.qi@linaro.org>
258
259         * linux-arm-low.c (arm_sigreturn_next_pc): Add parameter
260         is_thumb and set it according to CPSR saved on the stack.
261         (get_next_pcs_syscall_next_pc): Pass is_thumb to
262         arm_sigreturn_next_pc.
263
264 2016-01-18  Yao Qi  <yao.qi@linaro.org>
265
266         * linux-low.c (linux_set_pc_64bit): New function.
267         (linux_get_pc_64bit): New function.
268         * linux-low.h (linux_set_pc_64bit, linux_get_pc_64bit):
269         Declare.
270         * linux-sparc-low.c (debug_threads): Remove declaration.
271         (sparc_get_pc): Remove.
272         (the_low_target): Use linux_get_pc_64bit instead of
273         sparc_get_pc.
274         * linux-tile-low.c (tile_get_pc, tile_set_pc): Remove.
275         (the_low_target): Use linux_get_pc_64bit and
276         linux_set_pc_64bit.
277
278 2016-01-18  Yao Qi  <yao.qi@linaro.org>
279
280         * linux-arm-low.c (debug_threads): Remove declaration.
281         (arm_get_pc, arm_set_pc): Remove.
282         (the_low_target): Use linux_get_pc_32bit and
283         linux_set_pc_32bit.
284         * linux-bfin-low.c (bfin_get_pc, bfin_set_pc): Remove.
285         (the_low_target): Use linux_get_pc_32bit and
286         linux_set_pc_32bit.
287         * linux-cris-low.c (debug_threads): Remove declaration.
288         (cris_get_pc, cris_set_pc,): Remove.
289         (the_low_target): Use linux_get_pc_32bit and
290         linux_set_pc_32bit.
291         * linux-crisv32-low.c (debug_threads): Remove declaration.
292         (cris_get_pc, cris_set_pc): Remove.
293         (the_low_target): Use linux_get_pc_32bit and
294         linux_set_pc_32bit.
295         * linux-low.c: Include inttypes.h.
296         (linux_get_pc_32bit, linux_set_pc_32bit): New functions.
297         * linux-low.h (linux_get_pc_32bit, linux_set_pc_32bit): Declare.
298         * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Remove.
299         (the_low_target): Use linux_get_pc_32bit and
300         linux_set_pc_32bit.
301         * linux-m68k-low.c (m68k_get_pc, m68k_set_pc): Remove.
302         (the_low_target): Use linux_get_pc_32bit and
303         linux_set_pc_32bit.
304         * linux-nios2-low.c (nios2_get_pc, nios2_set_pc): Remove.
305         (the_low_target): Use linux_get_pc_32bit and
306         linux_set_pc_32bit.
307         * linux-sh-low.c (sh_get_pc, sh_set_pc): Remove.
308         (the_low_target): Use linux_get_pc_32bit and
309         linux_set_pc_32bit.
310         * linux-xtensa-low.c (xtensa_get_pc, xtensa_set_pc): Remove.
311         (the_low_target): Use linux_get_pc_32bit and
312         linux_set_pc_32bit.
313
314 2016-01-18  Gary Benson  <gbenson@redhat.com>
315
316         * configure.ac (AC_FUNC_FORK): New check.
317         * config.in: Regenerate.
318         * configure: Likewise.
319
320 2016-01-14  Yao Qi  <yao.qi@linaro.org>
321
322         * linux-aarch32-low.c (thumb2_breakpoint): Make it static.
323         * linux-aarch32-low.h (thumb2_breakpoint): Remove declaration.
324         * linux-arm-low.c (arm_gdbserver_get_next_pcs): Pass 1 to
325         arm_get_next_pcs_ctor.
326
327 2016-01-12  Josh Stone  <jistone@redhat.com>
328             Philippe Waroquiers  <philippe.waroquiers@skynet.be>
329
330         * inferiors.h: Include "gdb_vecs.h".
331         (struct process_info): Add syscalls_to_catch.
332         * inferiors.c (remove_process): Free syscalls_to_catch.
333         * remote-utils.c (prepare_resume_reply): Report syscall_entry and
334         syscall_return stops.
335         * server.h (UNKNOWN_SYSCALL, ANY_SYSCALL): Define.
336         * server.c (handle_general_set): Handle QCatchSyscalls.
337         (handle_query): Report support for QCatchSyscalls.
338         * target.h (struct target_ops): Add supports_catch_syscall.
339         (target_supports_catch_syscall): New macro.
340         * linux-low.h (struct linux_target_ops): Add get_syscall_trapinfo.
341         (struct lwp_info): Add syscall_state.
342         * linux-low.c (handle_extended_wait): Mark syscall_state as an entry.
343         Maintain syscall_state and syscalls_to_catch across exec.
344         (get_syscall_trapinfo): New function, proxy to the_low_target.
345         (linux_low_ptrace_options): Enable PTRACE_O_TRACESYSGOOD.
346         (linux_low_filter_event): Toggle syscall_state entry/return for
347         syscall traps, and set it ignored for all others.
348         (gdb_catching_syscalls_p): New function.
349         (gdb_catch_this_syscall_p): New function.
350         (linux_wait_1): Handle SYSCALL_SIGTRAP.
351         (linux_resume_one_lwp_throw): Add PTRACE_SYSCALL possibility.
352         (linux_supports_catch_syscall): New function.
353         (linux_target_ops): Install it.
354         * linux-x86-low.c (x86_get_syscall_trapinfo): New function.
355         (the_low_target): Install it.
356
357 2016-01-12  Mike Frysinger  <vapier@gentoo.org>
358
359         * acinclude.m4: Include new ../warning.m4 file.
360         * configure: Regenerated.
361         * configure.ac: Replace all warning logic with AM_GDB_WARNINGS.
362
363 2016-01-12  Mike Frysinger  <vapier@gentoo.org>
364
365         * ax.c (is_goto_target): Mark static.
366         * linux-low.c (register_addr): Likewise.
367         (linux_fetch_registers, linux_store_registers): Likewise.
368         * mem-break.c (any_persistent_commands): Fix old prototype.
369         (add_commands_to_breakpoint): Mark static.
370         * regcache.c (find_register_by_name): Delete unused func.
371         * remote-utils.c (hex_or_minus_one): Mark static.
372         * server.c (monitor_show_help): Mark static.
373         (handle_query, handle_v_cont, handle_v_attach, handle_v_kill,
374         handle_v_requests): Likewise.
375
376 2016-01-12  Pedro Alves  <palves@redhat.com>
377
378         Remove use of the registered trademark symbol throughout.
379
380 2016-01-08  Yao Qi  <yao.qi@linaro.org>
381
382         * remote-utils.c (getpkt): If c is '\003', call target hook
383         request_interrupt.
384
385 2016-01-06  Yao Qi  <yao.qi@linaro.org>
386
387         * linux-aarch32-low.h (arm_abi_breakpoint): Move to
388         linux-aarch32-low.c.
389         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
390         (arm_breakpoint_len, thumb_breakpoint_len): Likewise.
391         (thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
392         (thumb2_breakpoint): Declare.
393         * linux-aarch32-low.c (arm_abi_breakpoint): Moved from
394         linux-aarch32-low.h.
395         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
396         (arm_breakpoint_len, thumb_breakpoint_len): Likewise.
397         (thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
398
399 2016-01-01  Joel Brobecker  <brobecker@adacore.com>
400
401         * gdbreplay.c (gdbreplay_version): Change copyright year in
402         version message.
403         * server.c (gdbserver_version): Likewise.
404
405 2015-12-28  Patrick Palka  <patrick@parcs.ath.cx>
406
407         * server.c (crc32_table): Delete.
408         (crc32): Use libiberty's xcrc32 function.
409
410 2015-12-22  Joel Brobecker  <brobecker@adacore.com>
411
412         * lynx-low.c (lynx_delete_thread_callback): New function.
413         (lynx_mourn): Properly delete our process and all of its
414         threads.  Remove call to clear_inferiors.
415
416 2015-12-22  Joel Brobecker  <brobecker@adacore.com>
417
418         * target.c (thread_search_callback): Add check that
419         the thread_stopped target callback is not NULL before
420         calling it.
421
422 2015-12-21  Yao Qi  <yao.qi@linaro.org>
423
424         * linux-aarch32-low.h [__aarch64__]: Use arm_abi_breakpoint
425         arm breakpoint.
426
427 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
428
429         * server.c (handle_query): Call target_supports_software_single_step.
430
431 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
432
433         * linux-low.c (single_step): New function.
434         (linux_resume_one_lwp_throw): Call single_step.
435         (start_step_over): Likewise.
436
437 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
438
439         * Makefile.in (SFILES): Append arch/arm-linux.c,
440         arch/arm-get-next-pcs.c.
441         (arm-linux.o): New rule.
442         (arm-get-next-pcs.o): New rule.
443         * configure.srv (arm*-*-linux*): Add arm-get-next-pcs.o,
444         arm-linux.o.
445         * linux-aarch32-low.c (arm_abi_breakpoint): Remove macro.  Moved
446         to linux-aarch32-low.c.
447         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
448         (arm_breakpoint_len, thumb_breakpoint): Likewise.
449         (thumb_breakpoint_len, thumb2_breakpoint): Likewise.
450         (thumb2_breakpoint_len): Likewise.
451         (arm_is_thumb_mode): Make non-static.
452         * linux-aarch32-low.h (arm_abi_breakpoint): New macro.  Moved
453         from linux-aarch32-low.c.
454         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
455         (arm_breakpoint_len, thumb_breakpoint): Likewise.
456         (thumb_breakpoint_len, thumb2_breakpoint): Likewise.
457         (thumb2_breakpoint_len): Likewise.
458         (arm_is_thumb_mode): New declaration.
459         * linux-arm-low.c: Include arch/arm-linux.h
460         aarch/arm-get-next-pcs.h, sys/syscall.h.
461         (get_next_pcs_ops): New struct.
462         (get_next_pcs_addr_bits_remove): New function.
463         (get_next_pcs_is_thumb): New function.
464         (get_next_pcs_read_memory_unsigned_integer): Likewise.
465         (arm_sigreturn_next_pc): Likewise.
466         (get_next_pcs_syscall_next_pc): Likewise.
467         (arm_gdbserver_get_next_pcs): Likewise.
468         (struct linux_target_ops) <arm_gdbserver_get_next_pcs>:
469         Initialize.
470         * linux-low.h: Move CORE_ADDR vector definition to gdb_vecs.h.
471         * server.h: Include gdb_vecs.h.
472
473 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
474
475         * Makefile.in (SFILES): Append common/common-regcache.c.
476         (OBS): Append common-regcache.o.
477         (common-regcache.o): New rule.
478         * regcache.c (init_register_cache): Initialize cache to
479         REG_UNAVAILABLE.
480         (regcache_raw_read_unsigned): New function.
481         * regcache.h (REG_UNAVAILABLE, REG_VALID): Replaced by shared
482         register_status enum.
483
484 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
485
486         * linux-aarch64-low.c (the_low_targets): Rename
487         breakpoint_reinsert_addr to get_next_pcs.
488         * linux-arm-low.c (the_low_targets): Likewise.
489         * linux-bfin-low.c (the_low_targets): Likewise.
490         * linux-cris-low.c (the_low_targets): Likewise.
491         * linux-crisv32-low.c (the_low_targets): Likewise.
492         * linux-low.c (can_software_single_step): Likewise.
493         (install_software_single_step_breakpoints): New function.
494         (start_step_over): Use install_software_single_step_breakpoints.
495         * linux-low.h: New CORE_ADDR vector.
496         (struct linux_target_ops) Rename breakpoint_reinsert_addr to
497         get_next_pcs.
498         * linux-mips-low.c (the_low_targets): Likewise.
499         * linux-nios2-low.c (the_low_targets): Likewise.
500         * linux-sparc-low.c (the_low_targets): Likewise.
501
502 2015-12-17  Pedro Alves  <palves@redhat.com>
503
504         * linux-low.c (linux_kill_one_lwp): Remove references to
505         LinuxThreads.
506         (kill_lwp): Remove HAVE_TKILL_SYSCALL check.  No longer fall back
507         to 'kill'.
508         (linux_init_signals): Delete.
509         (initialize_low): Adjust.
510         * thread-db.c (thread_db_init): Remove LinuxThreads reference.
511
512 2015-12-16  Pedro Alves  <palves@redhat.com>
513
514         * configure.ac (compiler warning flags): When testing a
515         -Wno-foo option, check whether -Wfoo works instead.
516         * configure: Regenerate.
517
518 2015-12-11  Don Breazeal  <donb@codesourcery.com>
519
520         * server.c (process_serial_event): Don't exit from gdbserver
521         in remote mode if there are still active inferiors.
522
523 2015-12-11  Yao Qi  <yao.qi@linaro.org>
524
525         * linux-aarch64-low.c (aarch64_breakpoint_at): Call
526         arm_breakpoint_at if the process is 32-bit.
527
528 2015-12-11  Yao Qi  <yao.qi@linaro.org>
529
530         * linux-aarch32-low.c [__aarch64__]: Use arm_abi_breakpoint
531         arm breakpoint.
532
533 2015-12-07  Yao Qi  <yao.qi@linaro.org>
534
535         * configure.srv: Append arm.o to srv_tgtobj for
536         aarch64*-*-linux* target.
537         * linux-aarch32-low.c (arm_abi_breakpoint): New macro.  Moved
538         from linux-arm-low.c.
539         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
540         (arm_breakpoint_len, thumb_breakpoint): Likewise.
541         (thumb_breakpoint_len, thumb2_breakpoint): Likewise.
542         (thumb2_breakpoint_len): Likewise.
543         (arm_is_thumb_mode, arm_breakpoint_at): Likewise.
544         (arm_breakpoint_kinds): Likewise.
545         (arm_breakpoint_kind_from_pc): Likewise.
546         (arm_sw_breakpoint_from_kind): Likewise.
547         (arm_breakpoint_kind_from_current_state): Likewise.
548         * linux-aarch32-low.h (arm_breakpoint_kind_from_pc): Declare.
549         (arm_sw_breakpoint_from_kind): Declare.
550         (arm_breakpoint_kind_from_current_state): Declare.
551         (arm_breakpoint_at): Declare.
552         * linux-aarch64-low.c (aarch64_sw_breakpoint_from_kind): Call
553         arm_sw_breakpoint_from_kind if process is 32-bit.
554         (aarch64_breakpoint_kind_from_pc): New function.
555         (aarch64_breakpoint_kind_from_current_state): New function.
556         (the_low_target): Initialize fields breakpoint_kind_from_pc
557         and breakpoint_kind_from_current_state.
558         * linux-arm-low.c (arm_breakpoint_kinds): Move to
559         linux-aarch32-low.c.
560         (arm_abi_breakpoint, arm_eabi_breakpoint): Likewise.
561         (arm_breakpoint, arm_breakpoint_len): Likewise.
562         (thumb_breakpoint, thumb_breakpoint_len): Likewise.
563         (thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
564         (arm_is_thumb_mode): Likewise.
565         (arm_breakpoint_at): Likewise.
566         (arm_breakpoint_kind_from_pc): Likewise.
567         (arm_sw_breakpoint_from_kind): Likewise.
568         (arm_breakpoint_kind_from_current_state): Likewise.
569
570         Revert:
571         2015-08-04  Yao Qi  <yao.qi@linaro.org>
572
573         * linux-aarch64-low.c (aarch64_supports_z_point_type): Return
574         0 for Z_PACKET_SW_BP if it may be used in multi-arch debugging.
575         * server.c (extended_protocol): Remove "static".
576         * server.h (extended_protocol): Declare it.
577
578 2015-12-04  Josh Stone  <jistone@redhat.com>
579
580         * target.h (struct target_ops) <arch_setup>: Rename to ...
581         (struct target_ops) <post_create_inferior>: ... this.
582         (target_arch_setup): Rename to ...
583         (target_post_create_inferior): ... this, calling post_create_inferior.
584         * server.c (start_inferior): Update target_arch_setup calls to
585         target_post_create_inferior.
586         * linux-low.c (linux_low_ptrace_options): Forward declare.
587         (linux_arch_setup): Update its comment for general use.
588         (linux_post_create_inferior): New, run arch_setup and setup ptrace.
589         (struct linux_target_ops): Use linux_post_create_inferior.
590         * lynx-low.c (struct lynx_target_ops): Update arch_setup stub comment
591         to post_create_inferior.
592         * nto-low.c (struct nto_target_ops): Likewise.
593         * spu-low.c (struct spu_target_ops): Likewise.
594         * win32-low.c (struct win32_target_ops): Likewise.
595
596 2015-12-03  Antoine Tremblay  <antoine.tremblay@ericsson.com>
597
598         * linux-arm-low.c: Remove duplicate arch/arm.h include.
599
600 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
601
602         * linux-arm-low.c (arm_reinsert_addr): Remove function.
603         (struct linux_target_ops <breakpoint_reinsert_addr>: Set to NULL.
604         * linux-cris-low.c (cris_reinsert_addr> Remove function.
605         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
606         * linux-crisv32-low.c (cris_reinsert_addr): Remove function.
607         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
608         * linux-mips-low.c (mips_reinsert_addr): Remove function.
609         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
610         * linux-nios2-low.c (nios2_reinsert_addr): Remove function.
611         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
612         * linux-sparc-low.c (sparc_reinsert_addr): Remove function.
613         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
614
615 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
616
617         * linux-low.c (linux_look_up_symbols): Don't call
618         linux_supports_traceclone.
619         * linux-low.h (thread_db_init): Remove use_events argument.
620         * thread-db.c (thread_db_use_event): Remove global variable.
621         (struct thread_db) <td_thr_event_enable_p>: Remove field.
622         (struct thread_db) <td_create_bp>: Remove field.
623         (thread_db_create_event): Remove function.
624         (thread_db_enable_reporting): Likewise.
625         (find_one_thread): Don't check for thread_db_use_events.
626         (attach_thread): Likewise.
627         (thread_db_load_search): Remove td_thr_event_enable_p initialization.
628         (try_thread_db_load_1): Don't check for thread_db_use_events.
629         (thread_db_init): Remove use_events argument and thread events
630         handling.
631         (remove_thread_event_breakpoints): Remove function.
632         (thread_db_detach): Remove call to remove_thred_event_breakpoints.
633
634 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
635
636         * linux-aarch64-low.c (aarch64_supports_hardware_single_step):
637         New function.
638         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
639         * linux-arm-low.c (arm_supports_hardware_single_step): New function.
640         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
641         * linux-bfin-low.c (bfin_supports_hardware_single_step): New function.
642         (struct linux_target_ops) <bfin_supports_hardware_single_step>:
643         Initialize.
644         * linux-crisv32-low.c (cris_supports_hardware_single_step):
645         New function.
646         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
647         * linux-low.c (can_hardware_single_step): Use
648         supports_hardware_single_step.
649         (can_software_single_step): New function.
650         (start_step_over): Call can_software_single_step.
651         (linux_supports_hardware_single_step): New function.
652         (struct target_ops) <supports_software_single_step>: Initialize.
653         * linux-low.h (struct linux_target_ops)
654         <supports_hardware_single_step>: Initialize.
655         * linux-m32r-low.c (m32r_supports_hardware_single_step): New function.
656         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
657         * linux-ppc-low.c (ppc_supports_hardware_single_step): New function.
658         (struct linux_target_ops) <supports_hardware_single_step> Initialize.
659         * linux-s390-low.c (s390_supports_hardware_single_step): New function.
660         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
661         * linux-sh-low.c (sh_supports_hardware_single_step): New function.
662         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
663         * linux-tic6x-low.c (tic6x_supports_hardware_single_step): New function.
664         (struct linux_target_ops) <tic6x_supports_hardware_single_step>:
665         Initialize.
666         * linux-tile-low.c (tile_supports_hardware_single_step): New function.
667         (struct linux_target_ops) <tile_supports_hardware_single_step>:
668         Initialize.
669         * linux-x86-low.c (x86_supports_hardware_single_step) New function.
670         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
671         * linux-xtensa-low.c (xtensa_supports_hardware_single_step):
672         New function.
673         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
674         * target.h (struct target_ops): <supports_software_single_step>:
675         New field.
676         (target_supports_software_single_step): New macro.
677
678 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
679
680         * linux-low.c (linux_wait_1): Fix pc advance condition.
681         * mem-break.c (reinsert_breakpoint_inserted_here): New function.
682         * mem-break.h (reinsert_breakpoint_inserted_here): New declaration.
683
684 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
685
686         * linux-arm-low.c (arm_is_thumb_mode): New function.
687         (arm_breakpoint_at): Use arm_is_thumb_mode.
688         (arm_breakpoint_kind_from_current_state): New function.
689         (struct linux_target_ops) <breakpoint_kind_from_current_state>:
690         Initialize.
691         * linux-low.c (linux_wait_1): Call breakpoint_kind_from_current_state.
692         (linux_breakpoint_kind_from_current_state): New function.
693         (struct target_ops <breakpoint_kind_from_current_state>: Initialize.
694         * linux-low.h (struct linux_target_ops)
695         <breakpoint_kind_from_current_state>: New field.
696         * target.h (struct target_ops): Likewise.
697         (target_breakpoint_kind_from_current_state): New macro.
698
699 2015-11-30  Pedro Alves  <palves@redhat.com>
700
701         * linux-low.c (linux_resume): Wake up the event loop before
702         returning.
703
704 2015-11-30  Pedro Alves  <palves@redhat.com>
705
706         * mem-break.c (check_gdb_bp_preconditions): Remove current_thread
707         check.
708         (set_gdb_breakpoint): If prepare_to_access_memory fails, set *ERR
709         to -1.
710         * target.c (struct thread_search): New structure.
711         (thread_search_callback): New function.
712         (prev_general_thread): New global.
713         (prepare_to_access_memory, done_accessing_memory): New functions.
714         * target.h (prepare_to_access_memory, done_accessing_memory):
715         Replace macros with function declarations.
716
717 2015-11-30  Pedro Alves  <palves@redhat.com>
718
719         PR 14618
720         * linux-low.c (linux_wait_1): If the last resumed thread is gone,
721         report TARGET_WAITKIND_NO_RESUMED.
722         * remote-utils.c (prepare_resume_reply): Handle
723         TARGET_WAITKIND_NO_RESUMED.
724         * server.c (report_no_resumed): New global.
725         (handle_query) <qSupported>: Handle "no-resumed+".  Report
726         "no-resumed+" support.
727         (resume): When the target reports TARGET_WAITKIND_NO_RESUMED, only
728         return error if the client doesn't support no-resumed events.
729         (push_stop_notification): New function.
730         (handle_target_event): Use it.  Report TARGET_WAITKIND_NO_RESUMED
731         events if the client supports them.
732
733 2015-11-30  Pedro Alves  <palves@redhat.com>
734
735         * linux-low.c (thread_still_has_status_pending_p): Don't check
736         vCont;t here.
737         (lwp_resumed): New function.
738         (status_pending_p_callback): Return early if the LWP is not
739         supposed to be resumed.
740
741 2015-11-30  Pedro Alves  <palves@redhat.com>
742
743         * linux-low.c (handle_extended_wait): Assert that the LWP's
744         waitstatus is TARGET_WAITKIND_IGNORE.  If GDB wants to hear about
745         thread create events, leave the new child's status pending.
746         (linux_low_filter_event): If GDB wants to hear about thread exit
747         events, leave the LWP marked dead and don't delete it.
748         (linux_wait_for_event_filtered): Don't check for thread exit.
749         (filter_exit_event): New function.
750         (linux_wait_1): Use it, when returning an exit event.
751         (linux_resume_one_lwp_throw): Assert that the LWP's
752         waitstatus is TARGET_WAITKIND_IGNORE.
753         * remote-utils.c (prepare_resume_reply): Handle
754         TARGET_WAITKIND_THREAD_CREATED and TARGET_WAITKIND_THREAD_EXITED.
755         * server.c (report_thread_events): New global.
756         (handle_general_set): Handle QThreadEvents.
757         (handle_query) <qSupported>: Handle and report QThreadEvents+;
758         (handle_target_event): Handle TARGET_WAITKIND_THREAD_CREATED and
759         TARGET_WAITKIND_THREAD_EXITED.
760         * server.h (report_thread_events): Declare.
761
762 2015-11-30  Pedro Alves  <palves@redhat.com>
763
764         * linux-low.c (resume_stopped_resumed_lwps): Don't check whether
765         the thread's last_resume_kind was resume_stop.
766
767 2015-11-30  Pedro Alves  <palves@redhat.com>
768
769         * linux-low.c (linux_attach): In non-stop mode, wait for one stop
770         before returning.
771
772 2015-11-30  Pedro Alves  <palves@redhat.com>
773
774         * server.c (handle_v_requests): Handle vCtrlC.
775
776 2015-11-30  Pedro Alves  <palves@redhat.com>
777
778         * gdbthread.h (find_any_thread_of_pid): Declare.
779         * inferiors.c (thread_of_pid, find_any_thread_of_pid): New
780         functions.
781         * server.c (handle_query): If current_thread is NULL, look for
782         another thread of the selected process.
783
784 2015-11-26  Daniel Colascione  <dancol@dancol.org>
785             Simon Marchi  <simon.marchi@ericsson.com>
786
787         * linux-low.c (linux_target_ops): Use linux_proc_tid_get_name.
788         * server.c (handle_qxfer_threads_worker): Refactor to include thread
789         name in reply.
790         * target.h (struct target_ops) <thread_name>: New field.
791         (target_thread_name): New macro.
792
793 2015-11-23  Joel Brobecker  <brobecker@adacore.com>
794
795         * regcache.h (regcache_invalidate_pid): Add declaration.
796         * regcache.c (regcache_invalidate_pid): New function, extracted
797         from regcache_invalidate.
798         (regcache_invalidate): Reimplement using regcache_invalidate_pid.
799         Add trivial documentation comment.
800         * lynx-low.c: Use regcache_invalidate_pid instead of
801         regcache_invalidate.
802
803 2015-11-23  Joel Brobecker  <brobecker@adacore.com>
804
805         * configure.ac: Do not call AC_CHECK_TYPES for Elf32_auxv_t
806         and Elf64_auxv_t if the target is Android.
807
808 2015-11-22  Doug Evans  <xdje42@gmail.com>
809
810         * target.h: #include <sys/types.h>.
811
812 2015-11-19  Pedro Alves  <palves@redhat.com>
813
814         * linux-low.c (linux_process_qsupported): Change prototype.
815         Adjust.
816         * linux-low.h (struct linux_target_ops) <process_qsupported>:
817         Change prototype.
818         * linux-x86-low.c (x86_linux_process_qsupported): Change prototype
819         and adjust to loop over all features.
820         * server.c (handle_query) <qSupported>: Adjust to call
821         target_process_qsupported once, passing it a vector of unprocessed
822         features.
823         * target.h (struct target_ops) <process_qsupported>: Change
824         prototype.
825         (target_process_qsupported): Adjust.
826
827 2015-11-19  Pedro Alves  <palves@redhat.com>
828
829         * configure.ac (ERROR_ON_WARNING): Don't check whether in C++
830         mode.
831         * configure: Regenerate.
832
833 2015-11-19  Pedro Alves  <palves@redhat.com>
834
835         * configure: Regenerate.
836
837 2015-11-19  Yao Qi  <yao.qi@linaro.org>
838
839         * linux-aarch64-low.c (emit_data_processing_reg): Change opcode
840         type to uint32_t.
841
842 2015-11-19  Yao Qi  <yao.qi@linaro.org>
843
844         * linux-aarch64-low.c (enum aarch64_operand_type): New.
845         (struct aarch64_operand): Move enum out.
846
847 2015-11-19  Yao Qi  <yao.qi@linaro.org>
848
849         * linux-aarch64-low.c (aarch64_fill_fpregset): Cast buf to
850         struct user_fpsimd_state *.
851         (aarch64_store_fpregset): Likewise.
852
853 2015-11-19  Yao Qi  <yao.qi@linaro.org>
854
855         * linux-aarch64-low.c (aarch64_fill_gregset): Cast buf to
856         struct user_pt_regs *.
857         (aarch64_store_gregset): Likewise.
858
859 2015-11-18  Pedro Alves  <palves@redhat.com>
860
861         * Makefile.in (all_object_files): Add $IPA_OBJS.
862
863 2015-11-17  Pedro Alves  <palves@redhat.com>
864
865         * win32-low.c (win32_resume): Use gdb_signal_from_host,
866         GDB_SIGNAL_0 and gdb_signal_to_string.
867
868 2015-11-17  Pedro Alves  <palves@redhat.com>
869
870         * win32-low.c (handle_output_debug_string): Remove parameter.
871         (win32_kill): Remove our_status local and adjust call to
872         handle_output_debug_string.
873         (get_child_debug_event): Adjust call to
874         handle_output_debug_string.
875
876 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
877
878         * linux-mips-low.c (mips_fill_gregset): Add cast.
879         (mips_store_gregset): Likewise.
880         (mips_fill_fpregset): Likewise.
881         (mips_store_fpregset): Likewise.
882
883 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
884
885         * linux-mips-low.c (mips_add_watchpoint): Rename private to
886         priv.
887
888 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
889
890         * linux-mips-low.c (mips_linux_new_thread): Change type of
891         watch_type to enum target_hw_bp_type.
892
893 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
894
895                 * linux-arm-low.c (raw_bkpt_type_to_arm_hwbp_type):
896                 Change return type to arm_hwbp_type.
897
898 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
899
900         * linux-aarch32-low.c (arm_fill_gregset): Add cast.
901         (arm_store_gregset): Likewise.
902         * linux-arm-low.c (arm_get_hwcap): Likewise.
903         (arm_read_description): Likewise.
904
905 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
906
907         * linux-aarch32-low.c (aarch32_regsets): Use NULL_REGSET.
908
909 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
910
911         * linux-ppc-low.c (ppc_get_hwcap): Add cast.
912         (ppc_fill_vsxregset): Likewise.
913         (ppc_store_vsxregset): Likewise.
914         (ppc_fill_vrregset): Likewise.
915         (ppc_store_vrregset): Likewise.
916         (ppc_fill_evrregset): Likewise.
917         (ppc_store_evrregset): Likewise.
918
919 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
920
921         * linux-ppc-low.c (ppc_usrregs_info): Remove
922         forward-declaration.
923         (ppc_arch_setup): Move lower in file.
924
925 2015-10-30  Simon Marchi  <simon.marchi@ericsson.com>
926
927         * proc-service.c (ps_pdread): Change CORE_ADDR cast to uintptr_t.
928         (ps_pdwrite): Likewise.
929
930 2015-10-29 Henrik Wallin <henrik.wallin@windriver.com>
931
932         * linux-arm-low.c (arm_new_thread): Move pointer dereference
933         to after assert checks.
934
935 2015-10-29  Simon Marchi  <simon.marchi@ericsson.com>
936
937         * proc-service.c (ps_pdread): Add/adjust casts.
938         (ps_pdwrite): Add/adjust casts.
939
940 2015-10-29  Simon Marchi  <simon.marchi@polymtl.ca>
941
942         * server.c (handle_search_memory_1): Cast return value of
943         memmem.
944
945 2015-10-29  Simon Marchi  <simon.marchi@polymtl.ca>
946
947         * server.c (write_qxfer_response): Change type of data to
948         gdb_byte *.
949
950 2015-10-29  Pedro Alves  <palves@redhat.com>
951
952         * mem-break.c (Z_packet_to_bkpt_type): Add cast.
953
954 2015-10-29  Pedro Alves  <palves@redhat.com>
955
956         * tracepoint.c (clear_installed_tracepoints): Add casts.
957
958 2015-10-29  Pedro Alves  <palves@redhat.com>
959
960         * server.c (handle_v_cont, process_serial_event): Add enum
961         gdb_signal casts to signal parsing code.
962
963 2015-10-29  Pedro Alves  <palves@redhat.com>
964
965         * linux-low.h (NULL_REGSET): Define.
966         * linux-aarch64-low.c (aarch64_regsets): Use NULL_REGSET.
967         * linux-arm-low.c (arm_regsets): Likewise.
968         * linux-crisv32-low.c (cris_regsets): Likewise.
969         * linux-m68k-low.c (m68k_regsets): Likewise.
970         * linux-mips-low.c (mips_regsets): Likewise.
971         * linux-nios2-low.c (nios2_regsets): Likewise.
972         * linux-ppc-low.c (ppc_regsets): Likewise.
973         * linux-s390-low.c (s390_regsets): Likewise.
974         * linux-sh-low.c (sh_regsets): Likewise.
975         * linux-sparc-low.c (sparc_regsets): Likewise.
976         * linux-tic6x-low.c (tic6x_regsets): Likewise.
977         * linux-tile-low.c (tile_regsets): Likewise.
978         * linux-x86-low.c (x86_regsets): Likewise.
979         * linux-xtensa-low.c (xtensa_regsets): Likewise.
980
981 2015-10-29  Pedro Alves  <palves@redhat.com>
982
983         * linux-low.h (NULL_REGSET): Define.
984         * linux-aarch64-low.c (aarch64_regsets): Use NULL_REGSET.
985         * linux-arm-low.c (arm_regsets): Likewise.
986         * linux-crisv32-low.c (cris_regsets): Likewise.
987         * linux-m68k-low.c (m68k_regsets): Likewise.
988         * linux-mips-low.c (mips_regsets): Likewise.
989         * linux-nios2-low.c (nios2_regsets): Likewise.
990         * linux-ppc-low.c (ppc_regsets): Likewise.
991         * linux-s390-low.c (s390_regsets): Likewise.
992         * linux-sh-low.c (sh_regsets): Likewise.
993         * linux-sparc-low.c (sparc_regsets): Likewise.
994         * linux-tic6x-low.c (tic6x_regsets): Likewise.
995         * linux-tile-low.c (tile_regsets): Likewise.
996         * linux-x86-low.c (x86_regsets): Likewise.
997         * linux-xtensa-low.c (xtensa_regsets): Likewise.
998
999 2015-10-26  Doug Evans  <dje@google.com>
1000
1001         * linux-low.c (__SIGRTMIN): Move to nat/linux-nat.h.
1002
1003 2015-10-26  Doug Evans  <dje@google.com>
1004
1005         * linux-low.c (W_STOPCODE): Moved to common/gdb_wait.h.
1006
1007 2015-10-26  Doug Evans  <dje@google.com>
1008
1009         * thread-db.c (find_one_thread): Cast ti.ti_tid to unsigned long
1010         for debug_printf.
1011         (attach_thread, find_new_threads_callback): Ditto.
1012
1013 2015-10-23  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1014
1015         * mem-break.h (set_breakpoint_data): Remove.
1016
1017 2015-10-23  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1018
1019         * nto-low.c (nto_sw_breakpoint_from_kind): New function.
1020         (struct target_ops) <sw_breakpoint_from_kind>: Initialize.
1021         (initialize_low): Remove set_breakpoint_data call.
1022         * spu-low.c (spu_sw_breakpoint_from_kind): New function.
1023         (struct target_ops) <sw_breakpoint_from_kind>: Iniitalize.
1024         (initialize_low): Remove set_breakpoint_data call.
1025         * win32-low.c (win32_sw_breakpoint_from_kind): New function.
1026         (struct target_ops) <sw_breakpoint_from_kind>: Initialize.
1027         (initialize_low): Remove set_breakpoint_data call.
1028
1029 2015-10-23  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1030
1031         * linux-low.c (default_breakpoint_kind_from_pc): Move to target.c.
1032         * mem-break.c (set_breakpoint_at): Use target_breakpoint_kind_from_pc.
1033         * target.c (default_breakpoint_kind_from_pc): Moved from linux-low.c
1034         * target.h (target_breakpoint_kind_from_pc): New macro.
1035
1036 2015-10-22  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1037
1038         * linux-low.c (default_breakpoint_kind_from_pc): New function.
1039         (linux_breakpoint_kind_from_pc): Use default_breakpoint_kind_from_pc for
1040         the default breakpoint kind.
1041
1042 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1043
1044         * linux-arm-low.c (arm_supports_z_point_type): Add software
1045         breakpoint support.
1046
1047 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1048
1049         * linux-arm-low.c: Refactor breakpoint definitions.
1050         (arm_breakpoint_at): Adjust for arm_abi_breakpoint.
1051         (arm_sw_breakpoint_from_kind): Adjust for arm_breakpoint.
1052
1053 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1054
1055         * Makefile.in: Add arm.c/o.
1056         * configure.srv: Likewise.
1057         * linux-arm-low.c (arm_breakpoint_kinds): New enum.
1058         (arm_breakpoint_kind_from_pc): New function.
1059         (arm_sw_breakpoint_from_kind): Return proper kind.
1060         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize.
1061
1062 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1063
1064         * linux-low.c (initialize_low): Ajdust for breakpoint global variables
1065         removal.
1066         * mem-break.c : Remove breakpoint_data/breakpoint_len global variables.
1067         (struct raw_breakpoint) <size>: Remove.
1068         (struct raw_breakpoint) <kind>: Add.
1069         (bp_size): New function.
1070         (bp_opcode): Likewise.
1071         (find_raw_breakpoint_at): Adjust for kind.
1072         (insert_memory_breakpoint): Adjust for kind call bp_size,bp_opcode.
1073         (remove_memory_breakpoint): Adjust for kind call bp_size.
1074         (set_raw_breakpoint_at): Adjust for kind.
1075         (set_breakpoint): Likewise.
1076         (set_breakpoint_at): Call breakpoint_kind_from_pc.
1077         (delete_raw_breakpoint): Adjust for kind.
1078         (delete_breakpoint): Likewise.
1079         (find_gdb_breakpoint): Likewise.
1080         (set_gdb_breakpoint_1): Likewise.
1081         (set_gdb_breakpoint): Likewise.
1082         (delete_gdb_breakpoint_1): Likewise.
1083         (delete_gdb_breakpoint): Likewise.
1084         (uninsert_raw_breakpoint): Likewise.
1085         (reinsert_raw_breakpoint): Likewise.
1086         (set_breakpoint_data): Remove.
1087         (validate_inserted_breakpoint): Adjust for kind call bp_size,bp_opcode.
1088         (check_mem_read): Adjust for kind call bp_size.
1089         (check_mem_write): Adjust for kind call bp_size,bp_opcode.
1090         (clone_one_breakpoint): Adjust for kind.
1091         * mem-break.h (set_gdb_breakpoint): Likewise.
1092         (delete_gdb_breakpoint): Likewise.
1093         * server.c (process_serial_event): Likewise.
1094
1095 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1096
1097         * linux-aarch64-low.c (aarch64_sw_breakpoint_from_kind): New function.
1098         (struct linux_target_ops) <breakpoint>: Remove.
1099         (struct linux_target_ops) <breakpoint_len>: Remove.
1100         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1101         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1102         * linux-arm-low.c (arm_breakpoint_kind_from_pc): New function.
1103         (arm_sw_breakpoint_from_kind): New function.
1104         * linux-bfin-low.c (bfin_sw_breakpoint_from_kind): New function.
1105         (struct linux_target_ops) <breakpoint>: Remove.
1106         (struct linux_target_ops) <breakpoint_len>: Remove.
1107         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1108         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1109         * linux-cris-low.c (cris_sw_breakpoint_from_kind): New function.
1110         (struct linux_target_ops) <breakpoint>: Remove.
1111         (struct linux_target_ops) <breakpoint_len>: Remove.
1112         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1113         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1114         * linux-crisv32-low.c (cris_sw_breakpoint_from_kind): New function.
1115         (struct linux_target_ops) <breakpoint>: Remove.
1116         (struct linux_target_ops) <breakpoint_len>: Remove.
1117         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1118         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1119         * linux-low.c (linux_wait_1): Call breakpoint_kind_from_pc
1120         and sw_breakpoint_from_kind to increment the pc.
1121         (linux_breakpoint_kind_from_pc): New function.
1122         (linux_sw_breakpoint_from_kind): New function.
1123         (struct target_ops) <sw_breakpoint_from_kind>: Initialize field.
1124         (initialize_low): Call breakpoint_kind_from_pc and
1125         sw_breakpoint_from_kind to replace breakpoint_data/len.
1126         * linux-low.h (struct linux_target_ops) <breakpoint_kind_from_pc>:
1127         New field.
1128         (struct linux_target_ops) <sw_breakpoint_from_kind>: Likewise.
1129         * linux-m32r-low.c (m32r_sw_breakpoint_from_kind): New function.
1130         (struct linux_target_ops) <breakpoint>: Remove.
1131         (struct linux_target_ops) <breakpoint_len>: Remove.
1132         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1133         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1134         * linux-m68k-low.c (m68k_sw_breakpoint_from_kind): New function.
1135         (struct linux_target_ops) <breakpoint>: Remove.
1136         (struct linux_target_ops) <breakpoint_len>: Remove.
1137         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1138         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1139         * linux-mips-low.c (mips_sw_breakpoint_from_kind): New function.
1140         (struct linux_target_ops) <breakpoint>: Remove.
1141         (struct linux_target_ops) <breakpoint_len>: Remove.
1142         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1143         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1144         * linux-nios2-low.c (nios2_sw_breakpoint_from_kind): New function.
1145         (struct linux_target_ops) <breakpoint>: Remove.
1146         (struct linux_target_ops) <breakpoint_len>: Remove.
1147         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1148         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1149         * linux-ppc-low.c (ppc_sw_breakpoint_from_kind): New function.
1150         (struct linux_target_ops) <breakpoint>: Remove.
1151         (struct linux_target_ops) <breakpoint_len>: Remove.
1152         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1153         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1154         * linux-s390-low.c (s390_sw_breakpoint_from_kind): New function.
1155         (struct linux_target_ops) <breakpoint>: Remove.
1156         (struct linux_target_ops) <breakpoint_len>: Remove.
1157         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1158         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1159         * linux-sh-low.c (sh_sw_breakpoint_from_kind): New function.
1160         (struct linux_target_ops) <breakpoint>: Remove.
1161         (struct linux_target_ops) <breakpoint_len>: Remove.
1162         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1163         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1164         * linux-sparc-low.c (sparc_sw_breakpoint_from_kind): New function.
1165         (struct linux_target_ops) <breakpoint>: Remove.
1166         (struct linux_target_ops) <breakpoint_len>: Remove.
1167         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1168         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1169         * linux-tic6x-low.c (tic6x_sw_breakpoint_from_kind): New function.
1170         (struct linux_target_ops) <breakpoint>: Remove.
1171         (struct linux_target_ops) <breakpoint_len>: Remove.
1172         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1173         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1174         * linux-tile-low.c (tile_sw_breakpoint_from_kind): New function.
1175         * linux-x86-low.c (x86_sw_breakpoint_from_kind): New function.
1176         (struct linux_target_ops) <breakpoint>: Remove.
1177         (struct linux_target_ops) <breakpoint_len>: Remove.
1178         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1179         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1180         * linux-xtensa-low.c (xtensa_sw_breakpoint_from_kind) New function.
1181         (struct linux_target_ops) <breakpoint>: Remove.
1182         (struct linux_target_ops) <breakpoint_len>: Remove.
1183         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1184         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1185
1186 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1187
1188         * linux-cris-low.c (cris_get_pc): Remove void arg.
1189
1190 2015-10-16  Aleksandar Ristovski  <aristovski@qnx.com>
1191
1192         * gdbserver/nto-low.c (nto_insert_point, nto_remove_point): Fix
1193         variable name.
1194
1195 2015-10-16  Aleksandar Ristovski  <aristovski@qnx.com>
1196
1197         * inferiors.c (thread_pid_matches_callback): New function.
1198         (find_thread_process): New function.
1199         (remove_thread): Reset current_thread.
1200         (remove_process): Assert threads have been removed first.
1201
1202 2015-10-15  Yao Qi  <yao.qi@linaro.org>
1203
1204         * linux-aarch64-low.c (aarch64_insert_point): Set len to 2
1205         if it is 3.
1206         (aarch64_remove_point): Likewise.
1207         * regcache.c (regcache_register_size): New function.
1208
1209 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1210
1211         * linux-aarch64-low.c: Update all callers as emit_load_store
1212         is renamed to aarch64_emit_load_store.
1213
1214 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1215
1216         * linux-aarch64-low.c: Update all callers of function renaming
1217         from emit_insn to aarch64_emit_insn.
1218
1219 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1220
1221         * linux-aarch64-low.c (enum aarch64_opcodes): Move to
1222         arch/aarch64-insn.h.
1223         (struct aarch64_memory_operand): Likewise.
1224         (ENCODE): Likewise.
1225         (emit_insn): Move to arch/aarch64-insn.c.
1226         (emit_b, emit_bcond, emit_cb, emit_tb): Remove.
1227         (emit_load_store): Move to arch/aarch64-insn.c.
1228         (emit_ldr, emit_ldrb, emit_ldrsw, emit_nop): Remove.
1229         (can_encode_int32): Remove.
1230
1231 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1232
1233         * linux-aarch64-low.c (extract_signed_bitfield): Remove.
1234         (aarch64_decode_ldr_literal): Move to gdb/arch/aarch64-insn.c.
1235         (aarch64_relocate_instruction): Likewise.
1236         (struct aarch64_insn_data): Move to gdb/arch/aarch64-insn.h.
1237         (struct aarch64_insn_visitor): Likewise.
1238
1239 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1240
1241         * linux-aarch64-low.c (struct aarch64_insn_data): New.
1242         (struct aarch64_insn_visitor): New.
1243         (struct aarch64_insn_relocation_data): New.
1244         (aarch64_ftrace_insn_reloc_b): New function.
1245         (aarch64_ftrace_insn_reloc_b_cond): Likewise.
1246         (aarch64_ftrace_insn_reloc_cb): Likewise.
1247         (aarch64_ftrace_insn_reloc_tb): Likewise.
1248         (aarch64_ftrace_insn_reloc_adr): Likewise.
1249         (aarch64_ftrace_insn_reloc_ldr_literal): Likewise.
1250         (aarch64_ftrace_insn_reloc_others): Likewise.
1251         (visitor): New.
1252         (aarch64_relocate_instruction): Use visitor.
1253
1254 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1255
1256         * linux-aarch64-low.c (aarch64_relocate_instruction): Return
1257         int.  Add argument buf.
1258         (aarch64_install_fast_tracepoint_jump_pad): Pass buf to
1259         aarch64_relocate_instruction.
1260
1261 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1262
1263         * linux-aarch64-low.c (aarch64_relocate_instruction): Add
1264         argument insn.  Remove local variable insn.  Don't call
1265         target_read_uint32.
1266         (aarch64_install_fast_tracepoint_jump_pad): Call
1267         target_read_uint32.
1268
1269 2015-09-30  Yao Qi  <yao.qi@linaro.org>
1270
1271         * linux-aarch64-low.c (emit_movk): Shorten a long line.
1272         (emit_load_store_pair): Likewise.
1273
1274 2015-09-25  Simon Marchi  <simon.marchi@ericsson.com>
1275
1276         * dll.c (match_dll): Add cast(s).
1277         (unloaded_dll): Likewise.
1278         * linux-low.c (second_thread_of_pid_p): Likewise.
1279         (delete_lwp_callback): Likewise.
1280         (count_events_callback): Likewise.
1281         (select_event_lwp_callback): Likewise.
1282         (linux_set_resume_request): Likewise.
1283         * server.c (accumulate_file_name_length): Likewise.
1284         (emit_dll_description): Likewise.
1285         (handle_qxfer_threads_worker): Likewise.
1286         (visit_actioned_threads): Likewise.
1287         * thread-db.c (any_thread_of): Likewise.
1288         * tracepoint.c (same_process_p): Likewise.
1289         (match_blocktype): Likewise.
1290         (build_traceframe_info_xml): Likewise.
1291
1292 2015-09-25  Simon Marchi  <simon.marchi@ericsson.com>
1293
1294         * ax.c (gdb_parse_agent_expr): Add cast to allocation result
1295         assignment.
1296         (gdb_unparse_agent_expr): Likewise.
1297         * hostio.c (require_data): Likewise.
1298         (handle_pread): Likewise.
1299         * linux-low.c (disable_regset): Likewise.
1300         (fetch_register): Likewise.
1301         (store_register): Likewise.
1302         (get_dynamic): Likewise.
1303         (linux_qxfer_libraries_svr4): Likewise.
1304         * mem-break.c (delete_fast_tracepoint_jump): Likewise.
1305         (set_fast_tracepoint_jump): Likewise.
1306         (uninsert_fast_tracepoint_jumps_at): Likewise.
1307         (reinsert_fast_tracepoint_jumps_at): Likewise.
1308         (validate_inserted_breakpoint): Likewise.
1309         (clone_agent_expr): Likewise.
1310         * regcache.c (init_register_cache): Likewise.
1311         * remote-utils.c (putpkt_binary_1): Likewise.
1312         (decode_M_packet): Likewise.
1313         (decode_X_packet): Likewise.
1314         (look_up_one_symbol): Likewise.
1315         (relocate_instruction): Likewise.
1316         (monitor_output): Likewise.
1317         * server.c (handle_search_memory): Likewise.
1318         (handle_qxfer_exec_file): Likewise.
1319         (handle_qxfer_libraries): Likewise.
1320         (handle_qxfer): Likewise.
1321         (handle_query): Likewise.
1322         (handle_v_cont): Likewise.
1323         (handle_v_run): Likewise.
1324         (captured_main): Likewise.
1325         * target.c (write_inferior_memory): Likewise.
1326         * thread-db.c (try_thread_db_load_from_dir): Likewise.
1327         * tracepoint.c (init_trace_buffer): Likewise.
1328         (add_tracepoint_action): Likewise.
1329         (add_traceframe): Likewise.
1330         (add_traceframe_block): Likewise.
1331         (cmd_qtdpsrc): Likewise.
1332         (cmd_qtdv): Likewise.
1333         (cmd_qtstatus): Likewise.
1334         (response_source): Likewise.
1335         (response_tsv): Likewise.
1336         (cmd_qtnotes): Likewise.
1337         (gdb_collect): Likewise.
1338         (initialize_tracepoint): Likewise.
1339
1340 2015-09-21  Pierre Langlois  <pierre.langlois@arm.com>
1341
1342         * linux-aarch64-low-.c: Include ax.h and tracepoint.h.
1343         (enum aarch64_opcodes) <RET>, <SUBS>, <AND>, <ORR>, <ORN>,
1344         <EOR>, <LSLV>, <LSRV>, <ASRV>, <SBFM>, <UBFM>, <CSINC>, <MUL>,
1345         <NOP>: New.
1346         (enum aarch64_condition_codes): New enum.
1347         (w0): New static global.
1348         (fp): Likewise.
1349         (lr): Likewise.
1350         (struct aarch64_memory_operand) <type>: New
1351         MEMORY_OPERAND_POSTINDEX type.
1352         (postindex_memory_operand): New helper function.
1353         (emit_ret): New function.
1354         (emit_load_store_pair): New function, factored out of emit_stp
1355         with support for MEMORY_OPERAND_POSTINDEX.
1356         (emit_stp): Rewrite using emit_load_store_pair.
1357         (emit_ldp): New function.
1358         (emit_load_store): Likewise.
1359         (emit_ldr): Mention post-index instruction in comment.
1360         (emit_ldrh): New function.
1361         (emit_ldrb): New function.
1362         (emit_ldrsw): Mention post-index instruction in comment.
1363         (emit_str): Likewise.
1364         (emit_subs): New function.
1365         (emit_cmp): Likewise.
1366         (emit_and): Likewise.
1367         (emit_orr): Likewise.
1368         (emit_orn): Likewise.
1369         (emit_eor): Likewise.
1370         (emit_mvn): Likewise.
1371         (emit_lslv): Likewise.
1372         (emit_lsrv): Likewise.
1373         (emit_asrv): Likewise.
1374         (emit_mul): Likewise.
1375         (emit_sbfm): Likewise.
1376         (emit_sbfx): Likewise.
1377         (emit_ubfm): Likewise.
1378         (emit_ubfx): Likewise.
1379         (emit_csinc): Likewise.
1380         (emit_cset): Likewise.
1381         (emit_nop): Likewise.
1382         (emit_ops_insns): New helper function.
1383         (emit_pop): Likewise.
1384         (emit_push): Likewise.
1385         (aarch64_emit_prologue): New function.
1386         (aarch64_emit_epilogue): Likewise.
1387         (aarch64_emit_add): Likewise.
1388         (aarch64_emit_sub): Likewise.
1389         (aarch64_emit_mul): Likewise.
1390         (aarch64_emit_lsh): Likewise.
1391         (aarch64_emit_rsh_signed): Likewise.
1392         (aarch64_emit_rsh_unsigned): Likewise.
1393         (aarch64_emit_ext): Likewise.
1394         (aarch64_emit_log_not): Likewise.
1395         (aarch64_emit_bit_and): Likewise.
1396         (aarch64_emit_bit_or): Likewise.
1397         (aarch64_emit_bit_xor): Likewise.
1398         (aarch64_emit_bit_not): Likewise.
1399         (aarch64_emit_equal): Likewise.
1400         (aarch64_emit_less_signed): Likewise.
1401         (aarch64_emit_less_unsigned): Likewise.
1402         (aarch64_emit_ref): Likewise.
1403         (aarch64_emit_if_goto): Likewise.
1404         (aarch64_emit_goto): Likewise.
1405         (aarch64_write_goto_address): Likewise.
1406         (aarch64_emit_const): Likewise.
1407         (aarch64_emit_call): Likewise.
1408         (aarch64_emit_reg): Likewise.
1409         (aarch64_emit_pop): Likewise.
1410         (aarch64_emit_stack_flush): Likewise.
1411         (aarch64_emit_zero_ext): Likewise.
1412         (aarch64_emit_swap): Likewise.
1413         (aarch64_emit_stack_adjust): Likewise.
1414         (aarch64_emit_int_call_1): Likewise.
1415         (aarch64_emit_void_call_2): Likewise.
1416         (aarch64_emit_eq_goto): Likewise.
1417         (aarch64_emit_ne_goto): Likewise.
1418         (aarch64_emit_lt_goto): Likewise.
1419         (aarch64_emit_le_goto): Likewise.
1420         (aarch64_emit_gt_goto): Likewise.
1421         (aarch64_emit_ge_got): Likewise.
1422         (aarch64_emit_ops_impl): New static global variable.
1423         (aarch64_emit_ops): New target function, return
1424         &aarch64_emit_ops_impl.
1425         (struct linux_target_ops): Install it.
1426
1427 2015-09-21  Pierre Langlois  <pierre.langlois@arm.com>
1428
1429         * Makefile.in (linux-aarch64-ipa.o, aarch64-ipa.o): New rules.
1430         * configure.srv (aarch64*-*-linux*): Add linux-aarch64-ipa.o and
1431         aarch64-ipa.o.
1432         * linux-aarch64-ipa.c: New file.
1433         * linux-aarch64-low.c: Include arch/aarch64-insn.h, inttypes.h
1434         and endian.h.
1435         (aarch64_get_thread_area): New target method.
1436         (extract_signed_bitfield): New helper function.
1437         (aarch64_decode_ldr_literal): New function.
1438         (enum aarch64_opcodes): New enum.
1439         (struct aarch64_register): New struct.
1440         (struct aarch64_operand): New struct.
1441         (x0): New static global.
1442         (x1): Likewise.
1443         (x2): Likewise.
1444         (x3): Likewise.
1445         (x4): Likewise.
1446         (w2): Likewise.
1447         (ip0): Likewise.
1448         (sp): Likewise.
1449         (xzr): Likewise.
1450         (aarch64_register): New helper function.
1451         (register_operand): Likewise.
1452         (immediate_operand): Likewise.
1453         (struct aarch64_memory_operand): New struct.
1454         (offset_memory_operand): New helper function.
1455         (preindex_memory_operand): Likewise.
1456         (enum aarch64_system_control_registers): New enum.
1457         (ENCODE): New macro.
1458         (emit_insn): New helper function.
1459         (emit_b): New function.
1460         (emit_bcond): Likewise.
1461         (emit_cb): Likewise.
1462         (emit_tb): Likewise.
1463         (emit_blr): Likewise.
1464         (emit_stp): Likewise.
1465         (emit_ldp_q_offset): Likewise.
1466         (emit_stp_q_offset): Likewise.
1467         (emit_load_store): Likewise.
1468         (emit_ldr): Likewise.
1469         (emit_ldrsw): Likewise.
1470         (emit_str): Likewise.
1471         (emit_ldaxr): Likewise.
1472         (emit_stxr): Likewise.
1473         (emit_stlr): Likewise.
1474         (emit_data_processing_reg): Likewise.
1475         (emit_data_processing): Likewise.
1476         (emit_add): Likewise.
1477         (emit_sub): Likewise.
1478         (emit_mov): Likewise.
1479         (emit_movk): Likewise.
1480         (emit_mov_addr): Likewise.
1481         (emit_mrs): Likewise.
1482         (emit_msr): Likewise.
1483         (emit_sevl): Likewise.
1484         (emit_wfe): Likewise.
1485         (append_insns): Likewise.
1486         (can_encode_int32_in): New helper function.
1487         (aarch64_relocate_instruction): New function.
1488         (aarch64_install_fast_tracepoint_jump_pad): Likewise.
1489         (aarch64_get_min_fast_tracepoint_insn_len): Likewise.
1490         (struct linux_target_ops): Install aarch64_get_thread_area,
1491         aarch64_install_fast_tracepoint_jump_pad and
1492         aarch64_get_min_fast_tracepoint_insn_len.
1493
1494 2015-09-21  Pierre Langlois  <pierre.langlois@arm.com>
1495
1496         * Makefile.in (aarch64-insn.o): New rule.
1497         * configure.srv (aarch64*-*-linux*): Add aarch64-insn.o.
1498
1499 2015-09-21  Yao Qi  <yao.qi@linaro.org>
1500
1501         * ax.c [!IN_PROCESS_AGENT] (gdb_agent_op_sizes): Define it.
1502
1503 2015-09-21  Yao Qi  <yao.qi@linaro.org>
1504
1505         * tracepoint.c (max_jump_pad_size): Remove.
1506
1507 2015-09-18  Yao Qi  <yao.qi@linaro.org>
1508
1509         * linux-aarch64-low.c: Don't include sys/uio.h.
1510         (ps_get_thread_area): Call aarch64_ps_get_thread_area.
1511
1512 2015-09-16  Wei-cheng Wang  <cole945@gmail.com>
1513
1514         * tracepoint.c (eval_result_type): Change prototype.
1515         (condition_true_at_tracepoint): Fix argument to compiled_cond.
1516
1517 2015-09-15  Pedro Alves  <palves@redhat.com>
1518
1519         * remote-utils.c (prepare_resume_reply) <TARGET_WAITKIND_EXECD>:
1520         Check whether to report exec events instead of checking whether
1521         multiprocess is enabled.
1522
1523 2015-09-15  Pedro Alves  <palves@redhat.com>
1524
1525         PR remote/18965
1526         * remote-utils.c (prepare_resume_reply): Merge
1527         TARGET_WAITKIND_VFORK_DONE switch case with the
1528         TARGET_WAITKIND_FORKED case.
1529
1530 2015-09-15  Yao Qi  <yao.qi@linaro.org>
1531
1532         * server.c (handle_query): Check string comparison using
1533         "else if" instead of "if".
1534
1535 2015-09-15  Yao Qi  <yao.qi@linaro.org>
1536
1537         * server.c (vCont_supported): New global variable.
1538         (handle_query): Set vCont_supported to 1 if "vContSupported+"
1539         matches.  Append ";vContSupported+" to own_buf.
1540         (handle_v_requests): Append ";s;S" to own_buf if target supports
1541         hardware single step or vCont_supported is false.
1542         (capture_main): Set vCont_supported to zero.
1543
1544 2015-09-15  Yao Qi  <yao.qi@linaro.org>
1545
1546         * linux-low.c (linux_supports_conditional_breakpoints): Rename
1547         it to ...
1548         (linux_supports_hardware_single_step): ... New function.
1549         (linux_target_ops): Update.
1550         * lynx-low.c (lynx_target_ops): Set field
1551         supports_hardware_single_step to target_can_do_hardware_single_step.
1552         * nto-low.c (nto_target_ops): Likewise.
1553         * spu-low.c (spu_target_ops): Likewise.
1554         * win32-low.c (win32_target_ops): Likewise.
1555         * target.c (target_can_do_hardware_single_step): New function.
1556         * target.h (struct target_ops) <supports_conditional_breakpoints>:
1557         Remove.  <supports_hardware_single_step>: New field.
1558         (target_supports_conditional_breakpoints): Remove.
1559         (target_supports_hardware_single_step): New macro.
1560         (target_can_do_hardware_single_step): Declare.
1561         * server.c (handle_query): Use target_supports_hardware_single_step
1562         instead of target_supports_conditional_breakpoints.
1563
1564 2015-09-15  Yao Qi  <yao.qi@linaro.org>
1565
1566         * linux-aarch64-low.c (aarch64_linux_siginfo_fixup): New
1567         function.
1568         (struct linux_target_ops the_low_target): Install
1569         aarch64_linux_siginfo_fixup.
1570
1571 2015-09-11  Don Breazeal  <donb@codesourcery.com>
1572             Luis Machado  <lgustavo@codesourcery.com>
1573
1574         * linux-low.c (linux_mourn): Static declaration.
1575         (linux_arch_setup): Move in front of
1576         handle_extended_wait.
1577         (linux_arch_setup_thread): New function.
1578         (handle_extended_wait): Handle exec events.  Call
1579         linux_arch_setup_thread.  Make event_lwp argument a
1580         pointer-to-a-pointer.
1581         (check_zombie_leaders): Do not check stopped threads.
1582         (linux_low_ptrace_options): Add PTRACE_O_TRACEEXEC.
1583         (linux_low_filter_event): Add lwp and thread for exec'ing
1584         non-leader thread if leader thread has been deleted.
1585         Refactor code into linux_arch_setup_thread and call it.
1586         Pass child lwp pointer by reference to handle_extended_wait.
1587         (linux_wait_for_event_filtered): Update comment.
1588         (linux_wait_1): Prevent clobbering exec event status.
1589         (linux_supports_exec_events): New function.
1590         (linux_target_ops) <supports_exec_events>: Initialize new member.
1591         * lynx-low.c (lynx_target_ops) <supports_exec_events>: Initialize
1592         new member.
1593         * remote-utils.c (prepare_resume_reply): New stop reason 'exec'.
1594         * server.c (report_exec_events): New global variable.
1595         (handle_query): Handle qSupported query for exec-events feature.
1596         (captured_main): Initialize report_exec_events.
1597         * server.h (report_exec_events): Declare new global variable.
1598         * target.h (struct target_ops) <supports_exec_events>: New
1599         member.
1600         (target_supports_exec_events): New macro.
1601         * win32-low.c (win32_target_ops) <supports_exec_events>:
1602         Initialize new member.
1603
1604 2015-09-09  Markus Metzger  <markus.t.metzger@intel.com>
1605
1606         * linux-low.c (linux_low_enable_btrace): Remove.
1607         (linux_target_ops): Replace linux_low_enable_btrace with
1608         linux_enable_btrace.
1609
1610 2015-09-03  Yao Qi  <yao.qi@linaro.org>
1611
1612         * linux-aarch64-low.c (aarch64_insert_point): Call
1613         aarch64_handle_watchpoint if aarch64_linux_region_ok_for_watchpoint
1614         returns true.
1615
1616 2015-08-27  Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1617
1618         * linux-low.c (check_stopped_by_breakpoint): Use
1619         GDB_ARCH_IS_TRAP_BRKPT instead of GDB_ARCH_TRAP_BRKPT.
1620
1621 2015-08-27  Pedro Alves  <palves@redhat.com>
1622
1623         * proc-service.c (ps_pdwrite): Return PS_ERR/PS_OK explicily.
1624
1625 2015-08-26  Simon Marchi  <simon.marchi@ericsson.com>
1626
1627         * ax.c (gdb_parse_agent_expr): Replace xmalloc-family function with
1628         the XNEW-family equivalent.
1629         (compile_bytecodes): Likewise.
1630         * dll.c (loaded_dll): Likewise.
1631         * event-loop.c (append_callback_event): Likewise.
1632         (create_file_handler): Likewise.
1633         (create_file_event): Likewise.
1634         * hostio.c (handle_open): Likewise.
1635         * inferiors.c (add_thread): Likewise.
1636         (add_process): Likewise.
1637         * linux-aarch64-low.c (aarch64_linux_new_process): Likewise.
1638         * linux-arm-low.c (arm_new_process): Likewise.
1639         (arm_new_thread): Likewise.
1640         * linux-low.c (add_to_pid_list): Likewise.
1641         (linux_add_process): Likewise.
1642         (handle_extended_wait): Likewise.
1643         (add_lwp): Likewise.
1644         (enqueue_one_deferred_signal): Likewise.
1645         (enqueue_pending_signal): Likewise.
1646         (linux_resume_one_lwp_throw): Likewise.
1647         (linux_resume_one_thread): Likewise.
1648         (linux_read_memory): Likewise.
1649         (linux_write_memory): Likewise.
1650         * linux-mips-low.c (mips_linux_new_process): Likewise.
1651         (mips_linux_new_thread): Likewise.
1652         (mips_add_watchpoint): Likewise.
1653         * linux-x86-low.c (initialize_low_arch): Likewise.
1654         * lynx-low.c (lynx_add_process): Likewise.
1655         * mem-break.c (set_raw_breakpoint_at): Likewise.
1656         (set_breakpoint): Likewise.
1657         (add_condition_to_breakpoint): Likewise.
1658         (add_commands_to_breakpoint): Likewise.
1659         (clone_agent_expr): Likewise.
1660         (clone_one_breakpoint): Likewise.
1661         * regcache.c (new_register_cache): Likewise.
1662         * remote-utils.c (look_up_one_symbol): Likewise.
1663         * server.c (queue_stop_reply): Likewise.
1664         (start_inferior): Likewise.
1665         (queue_stop_reply_callback): Likewise.
1666         (handle_target_event): Likewise.
1667         * spu-low.c (fetch_ppc_memory): Likewise.
1668         (store_ppc_memory): Likewise.
1669         * target.c (set_target_ops): Likewise.
1670         * thread-db.c (thread_db_load_search): Likewise.
1671         (try_thread_db_load_1): Likewise.
1672         * tracepoint.c (add_tracepoint): Likewise.
1673         (add_tracepoint_action): Likewise.
1674         (create_trace_state_variable): Likewise.
1675         (cmd_qtdpsrc): Likewise.
1676         (cmd_qtro): Likewise.
1677         (add_while_stepping_state): Likewise.
1678         * win32-low.c (child_add_thread): Likewise.
1679         (get_image_name): Likewise.
1680
1681 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1682
1683         * linux-aarch64-low.c (aarch64_linux_new_thread): Remove.
1684
1685 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1686
1687         * Makefile.in (aarch64-linux.o): New rule.
1688         * configure.srv (aarch64*-*-linux*): Append aarch64-linux.o to
1689         srv_tgtobj.
1690         * linux-aarch64-low.c: Include nat/aarch64-linux.h.
1691         (aarch64_init_debug_reg_state): Make it extern.
1692         (aarch64_linux_prepare_to_resume): Remove.
1693
1694 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1695
1696         * linux-aarch64-low.c (aarch64_linux_prepare_to_resume): Use
1697         lwp_arch_private_info and ptid_of_lwp.
1698
1699 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1700
1701         * linux-aarch64-low.c (aarch64_get_debug_reg_state): Add argument pid.
1702         Find proc_info by find_process_pid.  All callers updated.
1703
1704 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1705
1706         * linux-aarch64-low.c (struct arch64_dr_update_callback_param):
1707         Remove.
1708         (debug_reg_change_callback): Remove.
1709         (aarch64_notify_debug_reg_change): Remove.
1710
1711 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1712
1713         * linux-aarch64-low.c (aarch64_notify_debug_reg_change):
1714         Call current_lwp_ptid.
1715
1716 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1717
1718         * linux-aarch64-low.c (debug_reg_change_callback): Use
1719         debug_printf.
1720
1721 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1722
1723         * linux-aarch64-low.c (debug_reg_change_callback): Use phex.
1724
1725 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1726
1727         * linux-aarch64-low.c (debug_reg_change_callback): Remove comments.
1728
1729 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1730
1731         * linux-aarch64-low.c (debug_reg_change_callback): Re-indent
1732         the code.
1733
1734 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1735
1736         * linux-aarch64-low.c (aarch64_dr_update_callback_param) <pid>:
1737         Remove.
1738         (debug_reg_change_callback): Remove argument entry and add argument
1739         lwp.  Remove local variable thread.  Don't print thread id in the
1740         debugging output.  Don't check whether pid of thread equals to pid.
1741         (aarch64_notify_debug_reg_change): Don't set param.pid.  Call
1742         iterate_over_lwps instead find_inferior.
1743
1744 2015-08-24  Pedro Alves  <palves@redhat.com>
1745
1746         * inferiors.c (get_first_process): New function.
1747         * inferiors.h (get_first_process): New declaration.
1748         * remote-utils.c (read_ptid): Default to the first process in the
1749         list, instead of to the current thread's process.
1750
1751 2015-08-24  Pedro Alves  <palves@redhat.com>
1752
1753         * debug.c: Include gdb_sys_time.h instead of sys/time.h.
1754         * event-loop.c: Likewise.
1755         * remote-utils.c: Likewise.
1756         * tracepoint.c: Likewise.
1757
1758 2015-08-24  Pedro Alves  <palves@redhat.com>
1759
1760         * spu-low.c (spu_request_interrupt): Use lwpid_of instead of
1761         ptid_get_lwp.
1762
1763 2015-08-21  Pedro Alves  <palves@redhat.com>
1764
1765         * ax.c (gdb_eval_agent_expr): Return expr_eval_unhandled_opcode
1766         instead of literal 1.
1767
1768 2015-08-21  Pedro Alves  <palves@redhat.com>
1769
1770         * tdesc.c (default_description): Explicitly zero-initialize.
1771
1772 2015-08-21  Pedro Alves  <palves@redhat.com>
1773
1774         PR gdb/18749
1775         * inferiors.c (remove_thread): Discard any pending stop reply for
1776         this thread.
1777         * server.c (remove_all_on_match_pid): Rename to ...
1778         (remove_all_on_match_ptid): ... this.  Work with a filter ptid
1779         instead of a pid.
1780         (discard_queued_stop_replies): Change parameter to a ptid.  Now
1781         extern.
1782         (handle_v_kill, kill_inferior_callback, captured_main)
1783         (process_serial_event): Adjust.
1784         * server.h (discard_queued_stop_replies): Declare.
1785
1786 2015-08-21  Pedro Alves  <palves@redhat.com>
1787
1788         * linux-low.c (wait_for_sigstop): Always switch to no thread
1789         selected if the previously current thread dies.
1790         * lynx-low.c (lynx_request_interrupt): Use the first thread's
1791         process instead of the current thread's.
1792         * remote-utils.c (input_interrupt): Don't check if there's no
1793         current thread.
1794         * server.c (gdb_read_memory, gdb_write_memory): If setting the
1795         current thread to the general thread fails, error out.
1796         (handle_qxfer_auxv, handle_qxfer_libraries)
1797         (handle_qxfer_libraries_svr4, handle_qxfer_siginfo)
1798         (handle_qxfer_spu, handle_qxfer_statictrace, handle_qxfer_fdpic)
1799         (handle_query): Check if there's a thread selected instead of
1800         checking whether there's any thread in the thread list.
1801         (handle_qxfer_threads, handle_qxfer_btrace)
1802         (handle_qxfer_btrace_conf): Don't error out early if there's no
1803         thread in the thread list.
1804         (handle_v_cont, myresume): Don't set the current thread to the
1805         continue thread.
1806         (process_serial_event) <Hg handling>: Also set thread_id if the
1807         previous general thread is still alive.
1808         (process_serial_event) <g/G handling>: If setting the current
1809         thread to the general thread fails, error out.
1810         * spu-low.c (spu_resume, spu_request_interrupt): Use the first
1811         thread's lwp instead of the current thread's.
1812         * target.c (set_desired_thread): If the desired thread was not
1813         found, leave the current thread pointing to NULL.  Return an int
1814         (boolean) indicating success.
1815         * target.h (set_desired_thread): Change return type to int.
1816
1817 2015-08-20  Max Filippov  <jcmvbkbc@gmail.com>
1818
1819         * configure.srv (xtensa*-*-linux*): Add srv_linux_thread_db=yes.
1820         * linux-xtensa-low.c (arch/xtensa.h gdb_proc_service.h): New
1821         #includes.
1822         (ps_get_thread_area): New function.
1823
1824 2015-08-19  Gary Benson  <gbenson@redhat.com>
1825
1826         * hostio.c (handle_pread): Do not attempt to read more data
1827         than hostio_reply_with_data can fit in a packet.
1828
1829 2015-08-18  Joel Brobecker  <brobecker@adacore.com>
1830
1831         * linux-aarch32-low.c (NT_ARM_VFP): Define if not already defined.
1832
1833 2015-08-14  Matthew Fortune  <matthew.fortune@imgtec.com>
1834
1835         * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP_REL.
1836
1837 2015-08-06  Pedro Alves  <palves@redhat.com>
1838
1839         * tracepoint.c (expr_eval_result): Now an int.
1840
1841 2015-08-06  Pedro Alves  <palves@redhat.com>
1842
1843         * gdbthread.h (struct regcache): Forward declare.
1844         (struct thread_info) <regcache_data>: Now a struct regcache
1845         pointer.
1846         * inferiors.c (inferior_regcache_data)
1847         (set_inferior_regcache_data): Now work with struct regcache
1848         pointers.
1849         * inferiors.h (struct regcache): Forward declare.
1850         (inferior_regcache_data, set_inferior_regcache_data): Now work
1851         with struct regcache pointers.
1852         * regcache.c (get_thread_regcache, regcache_invalidate_thread)
1853         (free_register_cache_thread): Remove struct regcache pointer
1854         casts.
1855
1856 2015-08-06  Pedro Alves  <palves@redhat.com>
1857
1858         * server.c (captured_main): On error, print the exception message
1859         to stderr, and if run_once is set, throw a quit.
1860
1861 2015-08-06  Pedro Alves  <palves@redhat.com>
1862
1863         * linux-low.c (move_out_of_jump_pad_callback): Temporarily switch
1864         the current thread.
1865
1866 2015-08-06  Pedro Alves  <palves@redhat.com>
1867
1868         * linux-low.c (linux_write_memory): Rewrite debug output to avoid
1869         reading beyond the passed in buffer length.
1870
1871 2015-08-06  Pierre Langlois  <pierre.langlois@arm.com>
1872
1873         * tracepoint.c (symbol_list) <required>: Remove.
1874
1875 2015-08-06  Pedro Alves  <palves@redhat.com>
1876
1877         * linux-low.c (handle_extended_wait): Set the fork child's suspend
1878         count if stopping and suspending threads.
1879         (check_stopped_by_breakpoint): If stopped by trace, set the LWP's
1880         stop reason to TARGET_STOPPED_BY_SINGLE_STEP.
1881         (linux_detach): Complete an ongoing step-over.
1882         (lwp_suspended_inc, lwp_suspended_decr): New functions.  Use
1883         throughout.
1884         (resume_stopped_resumed_lwps): Don't resume a suspended thread.
1885         (linux_wait_1): If passing a signal to the inferior after
1886         finishing a step-over, unsuspend and re-resume all lwps.  If we
1887         see a single-step event but the thread should be continuing, don't
1888         pass the trap to gdb.
1889         (stuck_in_jump_pad_callback, move_out_of_jump_pad_callback): Use
1890         internal_error instead of gdb_assert.
1891         (enqueue_pending_signal): New function.
1892         (check_ptrace_stopped_lwp_gone): Add debug output.
1893         (start_step_over): Use internal_error instead of gdb_assert.
1894         (complete_ongoing_step_over): New function.
1895         (linux_resume_one_thread): Don't resume a suspended thread.
1896         (proceed_one_lwp): If the LWP is stepping over a breakpoint, reset
1897         it stepping.
1898
1899 2015-08-06  Pedro Alves  <palves@redhat.com>
1900
1901         * linux-low.c (add_lwp): Set waitstatus to TARGET_WAITKIND_IGNORE.
1902         (linux_thread_alive): Use lwp_is_marked_dead.
1903         (extended_event_reported): Delete.
1904         (linux_wait_1): Check if waitstatus is TARGET_WAITKIND_IGNORE
1905         instead of extended_event_reported.
1906         (mark_lwp_dead): Don't set the 'dead' flag.  Store the waitstatus
1907         as well.
1908         (lwp_is_marked_dead): New function.
1909         (lwp_running): Use lwp_is_marked_dead.
1910         * linux-low.h: Delete 'dead' field, and update 'waitstatus's
1911         comment.
1912
1913 2015-08-06  Pedro Alves  <palves@redhat.com>
1914
1915         * linux-low.c (linux_wait_1): Move fork event output out of the
1916         !report_to_gdb check.  Pass event_child->waitstatus to
1917         target_waitstatus_to_string instead of ourstatus.
1918
1919 2015-08-04  Yao Qi  <yao.qi@linaro.org>
1920
1921         * linux-aarch64-low.c (aarch64_supports_tracepoints): Return 0
1922         if current_thread is 32 bit.
1923
1924 2015-08-04  Yao Qi  <yao.qi@linaro.org>
1925
1926         * linux-aarch64-low.c (aarch64_supports_z_point_type): Return
1927         0 for Z_PACKET_SW_BP if it may be used in multi-arch debugging.
1928         * server.c (extended_protocol): Remove "static".
1929         * server.h (extended_protocol): Declare it.
1930
1931 2015-08-04  Yao Qi  <yao.qi@linaro.org>
1932
1933         * linux-aarch64-low.c (aarch64_get_pc): Get PC register on
1934         both aarch64 and aarch32.
1935         (aarch64_set_pc): Likewise.
1936
1937 2015-08-04  Yao Qi  <yao.qi@linaro.org>
1938
1939         * configure.srv (case aarch64*-*-linux*): Append arm-with-neon.o
1940         to srv_regobj and append arm-core.xml arm-vfpv3.xml and
1941         arm-with-neon.xml to srv_xmlfiles.
1942         * linux-aarch64-low.c: Include linux-aarch32-low.h.
1943         (is_64bit_tdesc): New function.
1944         (aarch64_linux_read_description): New function.
1945         (aarch64_arch_setup): Call aarch64_linux_read_description.
1946         (regs_info): Rename to regs_info_aarch64.
1947         (aarch64_regs_info): Return right regs_info.
1948         (initialize_low_arch): Call initialize_low_arch_aarch32.
1949
1950 2015-08-04  Yao Qi  <yao.qi@linaro.org>
1951
1952         * configure.srv (srv_tgtobj): Add linux-aarch32-low.o.
1953         * linux-aarch32-low.c: New file.
1954         * linux-aarch32-low.h: New file.
1955         * linux-arm-low.c (arm_fill_gregset): Move it to
1956         linux-aarch32-low.c.
1957         (arm_store_gregset): Likewise.
1958         (arm_fill_vfpregset): Call arm_fill_vfpregset_num
1959         (arm_store_vfpregset): Call arm_store_vfpregset_num.
1960         (arm_arch_setup): Check if PTRACE_GETREGSET works.
1961         (regs_info): Rename to regs_info_arm.
1962         (arm_regs_info): Return regs_info_aarch32 if
1963         have_ptrace_getregset is 1 and target description is
1964         arm_with_neon or arm_with_vfpv3.
1965         (initialize_low_arch): Don't call init_registers_arm_with_neon.
1966         Call initialize_low_arch_aarch32 instead.
1967
1968 2015-08-04  Yao Qi  <yao.qi@linaro.org>
1969
1970         * linux-x86-low.c (have_ptrace_getregset): Move it to ...
1971         * linux-low.c: ... here.
1972         * linux-low.h (have_ptrace_getregset): Declare it.
1973
1974 2015-08-04  Pedro Alves  <palves@redhat.com>
1975
1976         * thread-db.c (struct thread_db): Use new typedefs.
1977         (try_thread_db_load_1): Define local TDB_DLSYM macro and use it in
1978         CHK calls.
1979         (disable_thread_event_reporting): Cast result of dlsym to
1980         destination function pointer type.
1981         (thread_db_mourn): Use td_ta_delete_ftype.
1982
1983 2015-08-03  Sandra Loosemore  <sandra@codesourcery.com>
1984
1985         * linux-nios2-low.c (NIOS2_BREAKPOINT): Conditionalize for
1986         arch variant.
1987         (CDX_BREAKPOINT): Define for R2.
1988         (nios2_breakpoint_at): Check for CDX_BREAKPOINT when R2.
1989         (the_low_target): Add comments.
1990
1991 2015-07-30  Yao Qi  <yao.qi@linaro.org>
1992
1993         * linux-arm-low.c (arm_hwcap): Remove it.
1994         (arm_read_description): New local variable arm_hwcap.  Don't
1995         set arm_hwcap to zero.
1996
1997 2015-07-30  Yao Qi  <yao.qi@linaro.org>
1998
1999         * linux-arm-low.c (arm_fill_wmmxregset): Don't use arm_hwcap.
2000         Use regcache->tdesc instead.
2001         (arm_store_wmmxregset): Likewise.
2002         (arm_fill_vfpregset): Likewise.
2003         (arm_store_vfpregset): Likewise.
2004
2005 2015-07-30  Yao Qi  <yao.qi@linaro.org>
2006
2007         * linux-arm-low.c: Include arch/arm.h.
2008         (arm_fill_gregset): Don't use arm_num_regs and arm_regmap.
2009         (arm_store_gregset): Likewise.
2010
2011 2015-07-29  Simon Marchi  <simon.marchi@ericsson.com>
2012
2013         * linux-mips-low.c (mips_linux_prepare_to_resume): Add NULL as
2014         ptrace's 4th parameter.
2015
2016 2015-07-27  Yao Qi  <yao.qi@linaro.org>
2017
2018         * configure.srv (case aarch64*-*-linux*): Don't set
2019         srv_linux_usrregs.
2020
2021 2015-07-24  Pedro Alves  <palves@redhat.c: Likewise.om>
2022
2023         * linux-aarch64-low.c: Include nat/gdb_ptrace.h instead of
2024         sys/ptrace.h.
2025         * linux-arm-low.c: Likewise.
2026         * linux-cris-low.c: Likewise.
2027         * linux-crisv32-low.c: Likewise.
2028         * linux-low.c: Likewise.
2029         * linux-m68k-low.c: Likewise.
2030         * linux-mips-low.c: Likewise.
2031         * linux-nios2-low.c: Likewise.
2032         * linux-s390-low.c: Likewise.
2033         * linux-sparc-low.c: Likewise.
2034         * linux-tic6x-low.c: Likewise.
2035         * linux-tile-low.c: Likewise.
2036         * linux-x86-low.c: Likewise.
2037
2038 2015-07-24  Pedro Alves  <palves@redhat.com>
2039
2040         * config.in: Regenerate.
2041         * configure: Regenerate.
2042
2043 2015-07-24  Pedro Alves  <palves@redhat.com>
2044
2045         * acinclude.m4: Include ../ptrace.m4.
2046         * configure.ac: Call GDB_AC_PTRACE.
2047         * config.in, configure: Regenerate.
2048
2049 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2050
2051         * linux-low.c (linux_create_inferior): Remove setting to
2052         proc->priv->new_inferior.
2053         (linux_attach): Likewise.
2054         (linux_low_filter_event): Likewise.
2055         * linux-low.h (struct process_info_private) <new_inferior>: Remove.
2056
2057 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2058
2059         * linux-low.c (linux_arch_setup): New function.
2060         (linux_low_filter_event): If proc->tdesc is NULL and
2061         proc->attached is true, call the_low_target.arch_setup.
2062         Otherwise, keep status pending, and return.
2063         (linux_resume_one_lwp_throw): Don't call get_pc if
2064         thread->while_stepping isn't NULL.  Don't call
2065         get_thread_regcache if proc->tdesc is NULL.
2066         (need_step_over_p): Return 0 if proc->tdesc is NULL.
2067         (linux_target_ops): Install arch_setup.
2068         * server.c (start_inferior): Call the_target->arch_setup.
2069         * target.h (struct target_ops) <arch_setup>: New field.
2070         (target_arch_setup): New marco.
2071         * lynx-low.c (lynx_target_ops): Update.
2072         * nto-low.c (nto_target_ops): Update.
2073         * spu-low.c (spu_target_ops): Update.
2074         * win32-low.c (win32_target_ops): Update.
2075
2076 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2077
2078         * linux-low.c (linux_add_process): Don't set
2079         proc->priv->new_inferior.
2080         (linux_create_inferior): Set proc->priv->new_inferior to 1.
2081         (linux_attach): Likewise.
2082
2083 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2084
2085         * server.c (start_inferior): Code refactor.
2086
2087 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2088
2089         * server.c (process_serial_event): Set general_thread.
2090
2091 2015-07-21  Yao Qi  <yao.qi@linaro.org>
2092
2093         * linux-aarch64-low.c (aarch64_arch_setup): Remove code and call
2094         aarch64_linux_get_debug_reg_capacity.
2095
2096 2015-07-17  Yao Qi  <yao.qi@linaro.org>
2097
2098         * Makefile.in (aarch64-linux-hw-point.o): New rule.
2099         * configure.srv (srv_tgtobj): Append aarch64-linux-hw-point.o.
2100         * linux-aarch64-low.c: Include nat/aarch64-linux-hw-point.h.
2101         (AARCH64_HBP_MAX_NUM): Move to nat/aarch64-linux-hw-point.h.
2102         (AARCH64_HWP_MAX_NUM, AARCH64_HBP_ALIGNMENT): Likewise.
2103         (AARCH64_HWP_ALIGNMENT): Likewise.
2104         (AARCH64_HWP_MAX_LEN_PER_REG): Likewise.
2105         (AARCH64_DEBUG_NUM_SLOTS, AARCH64_DEBUG_ARCH): Likewise.
2106         (aarch64_num_bp_regs, aarch64_num_wp_regs): Likewise.
2107         (AARCH64_DEBUG_ARCH_V8, DR_MARK_ALL_CHANGED): Likewise.
2108         (DR_MARK_N_CHANGED, DR_CLEAR_CHANGED): Likewise.
2109         (DR_HAS_CHANGED, DR_N_HAS_CHANGE): Likewise.
2110         (struct aarch64_debug_reg_state): Likewise.
2111         (struct arch_lwp_info): Likewise.
2112         (aarch64_align_watchpoint): Likewise.
2113         (DR_CONTROL_ENABLED, DR_CONTROL_LENGTH): Likewise.
2114         (aarch64_watchpoint_length): Likewise.
2115         (aarch64_point_encode_ctrl_reg): Likewise
2116         (aarch64_point_is_aligned): Likewise.
2117         (aarch64_align_watchpoint): Likewise.
2118         (aarch64_linux_set_debug_regs):
2119         (aarch64_dr_state_insert_one_point): Likewise.
2120         (aarch64_dr_state_remove_one_point): Likewise.
2121         (aarch64_handle_breakpoint): Likewise.
2122         (aarch64_handle_aligned_watchpoint): Likewise.
2123         (aarch64_handle_unaligned_watchpoint): Likewise.
2124         (aarch64_handle_watchpoint): Likewise.
2125
2126 2015-07-17  Yao Qi  <yao.qi@linaro.org>
2127
2128         * linux-aarch64-low.c (aarch64_handle_breakpoint): Add argument state
2129         and don't aarch64_get_debug_reg_state.  All callers update.
2130         (aarch64_handle_aligned_watchpoint): Likewise.
2131         (aarch64_handle_unaligned_watchpoint): Likewise.
2132         (aarch64_handle_watchpoint): Likewise.
2133         (aarch64_insert_point): Call aarch64_get_debug_reg_state earlier.
2134         (aarch64_remove_point): Likewise.
2135
2136 2015-07-17  Yao Qi  <yao.qi@linaro.org>
2137
2138         * linux-aarch64-low.c (aarch64_show_debug_reg_state): Use
2139         debug_printf.
2140         (aarch64_handle_unaligned_watchpoint): Likewise.
2141
2142 2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
2143
2144         Revert the previous 3 commits:
2145         Move gdb_regex* to common/
2146         Move linux_find_memory_regions_full & co.
2147         gdbserver build-id attribute generator
2148
2149 2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
2150             Jan Kratochvil  <jan.kratochvil@redhat.com>
2151
2152         gdbserver build-id attribute generator.
2153         * linux-low.c (nat/linux-maps.h, search.h, rsp-low.h): Include.
2154         (ElfXX_Ehdr, ElfXX_Phdr, ElfXX_Nhdr): New.
2155         (ELFXX_FLD, ELFXX_SIZEOF, ELFXX_ROUNDUP, BUILD_ID_INVALID): New.
2156         (find_phdr): New.
2157         (get_dynamic): Use find_pdhr to traverse program headers.
2158         (struct mapping_entry, mapping_entry_s, free_mapping_entry_vec)
2159         (compare_mapping_entry_range, struct find_memory_region_callback_data)
2160         (read_build_id, find_memory_region_callback, lrfind_mapping_entry)
2161         (get_hex_build_id): New.
2162         (linux_qxfer_libraries_svr4): Add optional build-id attribute
2163         to reply XML document.
2164
2165 2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
2166             Jan Kratochvil  <jan.kratochvil@redhat.com>
2167
2168         * target.c: Include target/target-utils.h and fcntl.h.
2169         (target_fileio_read_stralloc_1_pread, target_fileio_read_stralloc_1)
2170         (target_fileio_read_stralloc): New functions.
2171
2172 2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
2173
2174         * Makefile.in (OBS): Add gdb_regex.o.
2175         (gdb_regex.o): New.
2176         * config.in: Rebuilt.
2177         * configure: Rebuilt.
2178
2179 2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
2180             Jan Kratochvil  <jan.kratochvil@redhat.com>
2181
2182         Create empty nat/linux-maps.[ch] and common/target-utils.[ch].
2183         * Makefile.in (OBS): Add target-utils.o.
2184         (linux-maps.o, target-utils.o): New.
2185         * configure.srv (srv_linux_obj): Add linux-maps.o.
2186
2187 2015-07-15  Pierre Langlois  <pierre.langlois@arm.com>
2188
2189         * linux-aarch64-low.c (aarch64_supports_range_stepping): New
2190         function, return 1.
2191         (the_low_target): Install it.
2192
2193 2015-07-14  Pedro Alves  <palves@redhat.com>
2194
2195         * linux-low.c (kill_wait_lwp): Don't assert if waitpid fails.
2196         Instead, ignore ECHILD, and throw an error for other errnos.
2197
2198 2015-07-10  Pedro Alves  <palves@redhat.com>
2199
2200         * event-loop.c (struct callback_event) <data>: Change type to
2201         gdb_client_data instance instead of gdb_client_data pointer.
2202         (append_callback_event): Adjust.
2203
2204 2015-07-10  Pierre Langlois  <pierre.langlois@arm.com>
2205
2206         * linux-aarch64-low.c: Add comments for each linux_target_ops
2207         method.  Remove comments already covered in target_ops and
2208         linux_target_ops definitions.
2209         (the_low_target): Add comments for each unimplemented method.
2210
2211 2015-07-09  Yao Qi  <yao.qi@linaro.org>
2212
2213         * linux-aarch64-low.c (aarch64_regmap): Remove.
2214         (aarch64_usrregs_info): Remove.
2215         (regs_info): Set field usrregs to NULL.
2216
2217 2015-07-02  Markus Metzger  <markus.t.metzger@intel.com>
2218
2219         * linux-low.c: Include "rsp-low.h"
2220         (linux_low_encode_pt_config, linux_low_encode_raw): New.
2221         (linux_low_read_btrace): Support BTRACE_FORMAT_PT.
2222         (linux_low_btrace_conf): Support BTRACE_FORMAT_PT.
2223         (handle_btrace_enable_pt): New.
2224         (handle_btrace_general_set): Support "pt".
2225         (handle_btrace_conf_general_set): Support "pt:size".
2226
2227 2015-06-29  Pierre Langlois  <pierre.langlois@arm.com>
2228
2229         * linux-aarch64-low.c (aarch64_supports_z_point_type): Enable for
2230         Z_PACKET_SW_BP.
2231
2232 2015-06-29  Pierre Langlois  <pierre.langlois@arm.com>
2233
2234         * linux-aarch64-low.c: Remove comment about endianness.
2235         (aarch64_breakpoint): Change type to gdb_byte[].  Set to "brk #0".
2236         (aarch64_breakpoint_at): Change type of insn to gdb_byte[].  Use
2237         memcmp.
2238
2239 2015-06-24  Gary Benson  <gbenson@redhat.com>
2240
2241         * linux-i386-ipa.c (stdint.h): Do not include.
2242         * lynx-i386-low.c (stdint.h): Likewise.
2243         * lynx-ppc-low.c (stdint.h): Likewise.
2244         * mem-break.c (stdint.h): Likewise.
2245         * thread-db.c (stdint.h): Likewise.
2246         * tracepoint.c (stdint.h): Likewise.
2247         * win32-low.c (stdint.h): Likewise.
2248
2249 2015-06-18  Simon Marchi  <simon.marchi@ericsson.com>
2250
2251         * server.c (write_qxfer_response): Update call to
2252         remote_escape_output.
2253
2254 2015-06-15  Aleksandar Ristovski  <aristovski@qnx.com
2255             Jan Kratochvil  <jan.kratochvil@redhat.com>
2256
2257         Merge multiple hex conversions.
2258         * gdbreplay.c (tohex): Rename to 'fromhex'.
2259         (logchar): Use fromhex.
2260
2261 2015-06-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
2262
2263         * server.c (handle_qxfer_libraries): Set `version' attribute for
2264         <library-list>.
2265
2266 2015-06-10  Gary Benson  <gbenson@redhat.com>
2267
2268         * target.h (struct target_ops) <multifs_open>: New field.
2269         <multifs_unlink>: Likewise.
2270         <multifs_readlink>: Likewise.
2271         * linux-low.c (nat/linux-namespaces.h): New include.
2272         (linux_target_ops): Initialize the_target->multifs_open,
2273         the_target->multifs_unlink and the_target->multifs_readlink.
2274         * hostio.h (hostio_handle_new_gdb_connection): New declaration.
2275         * hostio.c (hostio_fs_pid): New static variable.
2276         (hostio_handle_new_gdb_connection): New function.
2277         (handle_setfs): Likewise.
2278         (handle_open): Use the_target->multifs_open as appropriate.
2279         (handle_unlink): Use the_target->multifs_unlink as appropriate.
2280         (handle_readlink): Use the_target->multifs_readlink as
2281         appropriate.
2282         (handle_vFile): Handle vFile:setfs packets.
2283         * server.c (handle_query): Call hostio_handle_new_gdb_connection
2284         after target_handle_new_gdb_connection.
2285
2286 2015-06-10  Gary Benson  <gbenson@redhat.com>
2287
2288         * configure.ac (AC_CHECK_FUNCS): Add setns.
2289         * config.in: Regenerate.
2290         * configure: Likewise.
2291         * Makefile.in (SFILES): Add nat/linux-namespaces.c.
2292         (linux-namespaces.o): New rule.
2293         * configure.srv (srv_linux_obj): Add linux-namespaces.o.
2294
2295 2015-06-09  Gary Benson <gbenson@redhat.com>
2296
2297         * hostio.c (handle_open): Process mode argument with
2298         fileio_to_host_mode.
2299
2300 2015-06-01  Yao Qi  <yao.qi@linaro.org>
2301
2302         * linux-s390-low.c (PTRACE_GETREGSET, PTRACE_SETREGSET): Remove.
2303         * linux-x86-low.c: Likewise.
2304
2305 2015-05-28  Don Breazeal  <donb@codesourcery.com>
2306
2307         * linux-low.c (handle_extended_wait): Initialize
2308         thread_info.last_resume_kind for new fork children.
2309
2310 2015-05-15  Pedro Alves  <palves@redhat.com>
2311
2312         * target.h (target_handle_new_gdb_connection): Rewrite using if
2313         wrapped in do/while.
2314
2315 2015-05-14  Joel Brobecker  <brobecker@adacore.com>
2316
2317         * configure.ac: Add prfpregset_t BFD_HAVE_SYS_PROCFS_TYPE check.
2318         * configure, config.in: Regenerate.
2319         * gdb_proc_service.h [HAVE_PRFPREGSET_T] (prfpregset_t):
2320         Declare typedef.
2321
2322 2015-05-12  Don Breazeal  <donb@codesourcery.com>
2323
2324         * linux-low.c (handle_extended_wait): Handle PTRACE_EVENT_FORK and
2325         PTRACE_EVENT_VFORK_DONE.
2326         (linux_low_ptrace_options, extended_event_reported): Add vfork
2327         events.
2328         * remote-utils.c (prepare_resume_reply): New stop reasons "vfork"
2329         and "vforkdone" for RSP 'T' Stop Reply Packet.
2330         * server.h (report_vfork_events): Declare
2331         global variable.
2332
2333 2015-05-12  Don Breazeal  <donb@codesourcery.com>
2334
2335         * linux-aarch64-low.c (aarch64_linux_new_fork): New function.
2336         (the_low_target) <new_fork>: Initialize new member.
2337         * linux-arm-low.c (arm_new_fork): New function.
2338         (the_low_target) <new_fork>: Initialize new member.
2339         * linux-low.c (handle_extended_wait): Call new target function
2340         new_fork.
2341         * linux-low.h (struct linux_target_ops) <new_fork>: New member.
2342         * linux-mips-low.c (mips_add_watchpoint): New function
2343         extracted from mips_insert_point.
2344         (the_low_target) <new_fork>: Initialize new member.
2345         (mips_linux_new_fork): New function.
2346         (mips_insert_point): Call mips_add_watchpoint.
2347         * linux-x86-low.c (x86_linux_new_fork): New function.
2348         (the_low_target) <new_fork>: Initialize new member.
2349
2350 2015-05-12  Don Breazeal  <donb@codesourcery.com>
2351
2352         * linux-low.c (handle_extended_wait): Implement return value,
2353         rename argument 'event_child' to 'event_lwp', handle
2354         PTRACE_EVENT_FORK, call internal_error for unrecognized event.
2355         (linux_low_ptrace_options): New function.
2356         (linux_low_filter_event): Call linux_low_ptrace_options,
2357         use different argument fo linux_enable_event_reporting,
2358         use return value from handle_extended_wait.
2359         (extended_event_reported): New function.
2360         (linux_wait_1): Call extended_event_reported and set
2361         status to report fork events.
2362         (linux_write_memory): Add pid to debug message.
2363         (reset_lwp_ptrace_options_callback): New function.
2364         (linux_handle_new_gdb_connection): New function.
2365         (linux_target_ops): Initialize new structure member.
2366         * linux-low.h (struct lwp_info) <waitstatus>: New member.
2367         * lynx-low.c: Initialize new structure member.
2368         * remote-utils.c (prepare_resume_reply): Implement stop reason
2369         "fork" for "T" stop message.
2370         * server.c (handle_query): Call handle_new_gdb_connection.
2371         * server.h (report_fork_events): Declare global flag.
2372         * target.h (struct target_ops) <handle_new_gdb_connection>:
2373         New member.
2374         (target_handle_new_gdb_connection): New macro.
2375         * win32-low.c: Initialize new structure member.
2376
2377 2015-05-12  Don Breazeal  <donb@codesourcery.com>
2378
2379         * mem-break.c (APPEND_TO_LIST): Define macro.
2380         (clone_agent_expr): New function.
2381         (clone_one_breakpoint): New function.
2382         (clone_all_breakpoints): New function.
2383         * mem-break.h: Declare new functions.
2384
2385 2015-05-12  Don Breazeal  <donb@codesourcery.com>
2386
2387         * linux-low.c (linux_supports_fork_events): New function.
2388         (linux_supports_vfork_events): New function.
2389         (linux_target_ops): Initialize new structure members.
2390         (initialize_low): Call linux_check_ptrace_features.
2391         * lynx-low.c (lynx_target_ops): Initialize new structure
2392         members.
2393         * server.c (report_fork_events, report_vfork_events):
2394         New global flags.
2395         (handle_query): Add new features to qSupported packet and
2396         response.
2397         (captured_main): Initialize new global variables.
2398         * target.h (struct target_ops) <supports_fork_events>:
2399         New member.
2400         <supports_vfork_events>: New member.
2401         (target_supports_fork_events): New macro.
2402         (target_supports_vfork_events): New macro.
2403         * win32-low.c (win32_target_ops): Initialize new structure
2404         members.
2405
2406 2015-05-12  Gary Benson <gbenson@redhat.com>
2407
2408         * server.c (handle_qxfer_exec_file): Use current process
2409         if annex is empty.
2410
2411 2015-05-08  Sandra Loosemore  <sandra@codesourcery.com>
2412
2413         * linux-nios2-low.c: Include elf/common.h.  Adjust comments.
2414         Remove HAVE_PTRACE_GETREGS conditionals.
2415         (nios2_regsets): Use PTRACE_GETREGSET and PTRACE_SETREGSET
2416         instead of PTRACE_GETREGS and PTRACE_SETREGS.
2417
2418 2015-05-08  Yao Qi  <yao.qi@linaro.org>
2419
2420         * linux-low.c (linux_supports_conditional_breakpoints): New
2421         function.
2422         (linux_target_ops): Install new target method.
2423         * lynx-low.c (lynx_target_ops): Install NULL hook for
2424         supports_conditional_breakpoints.
2425         * nto-low.c (nto_target_ops): Likewise.
2426         * spu-low.c (spu_target_ops): Likewise.
2427         * win32-low.c (win32_target_ops): Likewise.
2428         * server.c (handle_query): Check
2429         target_supports_conditional_breakpoints.
2430         * target.h (struct target_ops) <supports_conditional_breakpoints>:
2431         New field.
2432         (target_supports_conditional_breakpoints): New macro.
2433
2434 2015-05-06  Pedro Alves  <palves@redhat.com>
2435
2436         PR server/18081
2437         * server.c (start_inferior): If the process exits, mourn it.
2438
2439 2015-04-21  Gary Benson <gbenson@redhat.com>
2440
2441         * hostio.c (fileio_open_flags_to_host): Factored out to
2442         fileio_to_host_openflags in common/fileio.c.  Single use
2443         updated.
2444
2445 2015-04-17  Max Filippov  <jcmvbkbc@gmail.com>
2446
2447         * linux-xtensa-low.c (xtensa_fill_gregset)
2448         (xtensa_store_gregset): Check XCHAL_HAVE_LOOPS instead of
2449         XCHAL_HAVE_LOOP.
2450
2451 2015-04-17  Max Filippov  <jcmvbkbc@gmail.com>
2452
2453         * linux-xtensa-low.c (xtensa_usrregs_info): Remove.
2454         (regs_info): Replace usrregs pointer with NULL.
2455
2456 2015-04-17  Gary Benson  <gbenson@redhat.com>
2457
2458         * target.h (struct target_ops) <pid_to_exec_file>: New field.
2459         * linux-low.c (linux_target_ops): Initialize pid_to_exec_file.
2460         * server.c (handle_qxfer_exec_file): New function.
2461         (qxfer_packets): Add exec-file entry.
2462         (handle_query): Report qXfer:exec-file:read as supported packet.
2463
2464 2015-04-14  Romain Naour <romain.naour@openwide.fr>  (tiny change)
2465
2466         * linux-low.c (linux_read_offsets): Remove get_thread_lwp.
2467
2468 2015-04-09  Gary Benson <gbenson@redhat.com>
2469
2470         * hostio-errno.c (errno_to_fileio_error): Remove function.
2471         Update caller to use remote_fileio_to_fio_error.
2472
2473 2015-04-09  Yao Qi  <yao.qi@linaro.org>
2474
2475         * linux-low.c (linux_insert_point): Call
2476         insert_memory_breakpoint if TYPE is raw_bkpt_type_sw.
2477         (linux_remove_point): Call remove_memory_breakpoint if type is
2478         raw_bkpt_type_sw.
2479         * linux-x86-low.c (x86_insert_point): Don't call
2480         insert_memory_breakpoint.
2481         (x86_remove_point): Don't call remove_memory_breakpoint.
2482
2483 2015-04-01  Pedro Alves  <palves@redhat.com>
2484             Cleber Rosa  <crosa@redhat.com>
2485
2486         * server.c (gdbserver_usage): Reorganize and extend the usage
2487         message.
2488
2489 2015-03-24  Pedro Alves  <palves@redhat.com>
2490
2491         * linux-low.c (check_stopped_by_breakpoint): Tweak debug log
2492         output.  Also dump TRAP_TRACE.
2493         (linux_low_filter_event): In debug output, distinguish a
2494         resume_stop SIGSTOP from a delayed SIGSTOP.
2495
2496 2015-03-24  Gary Benson  <gbenson@redhat.com>
2497
2498         * linux-x86-low.c (x86_linux_new_thread): Moved to
2499         nat/x86-linux.c.
2500         (x86_linux_prepare_to_resume): Likewise.
2501
2502 2015-03-24  Gary Benson  <gbenson@redhat.com>
2503
2504         * Makefile.in (x86-linux-dregs.o): New rule.
2505         * configure.srv: Add x86-linux-dregs.o to relevant targets.
2506         * linux-x86-low.c: Include nat/x86-linux-dregs.h.
2507         (u_debugreg_offset): Moved to nat/x86-linux-dregs.c.
2508         (x86_linux_dr_get): Likewise.
2509         (x86_linux_dr_set): Likewise.
2510         (update_debug_registers_callback): Likewise.
2511         (x86_linux_dr_set_addr): Likewise.
2512         (x86_linux_dr_get_addr): Likewise.
2513         (x86_linux_dr_set_control): Likewise.
2514         (x86_linux_dr_get_control): Likewise.
2515         (x86_linux_dr_get_status): Likewise.
2516         (x86_linux_update_debug_registers): Likewise.
2517
2518 2015-03-24  Gary Benson  <gbenson@redhat.com>
2519
2520         * linux-x86-low.c (x86_linux_update_debug_registers):
2521         New function, factored out from...
2522         (x86_linux_prepare_to_resume): ...this.
2523
2524 2015-03-24  Gary Benson  <gbenson@redhat.com>
2525
2526         * linux-x86-low.c (x86_linux_dr_get): Update comments.
2527         (x86_linux_dr_set): Likewise.
2528         (update_debug_registers_callback): Likewise.
2529         (x86_linux_dr_set_addr): Likewise.
2530         (x86_linux_dr_get_addr): Likewise.
2531         (x86_linux_dr_set_control): Likewise.
2532         (x86_linux_dr_get_control): Likewise.
2533         (x86_linux_dr_get_status): Likewise.
2534         (x86_linux_prepare_to_resume): Likewise.
2535
2536 2015-03-24  Gary Benson  <gbenson@redhat.com>
2537
2538         * linux-x86-low.c (x86_linux_dr_get): Add assertion.
2539         Use perror_with_name.  Pass string through gettext.
2540         (x86_linux_dr_set): Likewise.
2541
2542 2015-03-24  Gary Benson  <gbenson@redhat.com>
2543
2544         * linux-x86-low.c (x86_dr_low_set_addr): Rename to...
2545         (x86_linux_dr_set_addr): ...this.
2546         (x86_dr_low_get_addr): Rename to...
2547         (x86_linux_dr_get_addr): ...this.
2548         (x86_dr_low_set_control): Rename to...
2549         (x86_linux_dr_set_control): ...this.
2550         (x86_dr_low_get_control): Rename to...
2551         (x86_linux_dr_get_control): ...this.
2552         (x86_dr_low_get_status): Rename to...
2553         (x86_linux_dr_get_status): ...this.
2554         (x86_dr_low): Update with new function names.
2555
2556 2015-03-24  Gary Benson  <gbenson@redhat.com>
2557
2558         * Makefile.in (x86-linux.o): New rule.
2559         * configure.srv: Add x86-linux.o to relevant targets.
2560         * linux-low.c (lwp_set_arch_private_info): New function.
2561         (lwp_arch_private_info): Likewise.
2562         * linux-x86-low.c: Include nat/x86-linux.h.
2563         (arch_lwp_info): Removed structure.
2564         (update_debug_registers_callback):
2565         Use lwp_set_debug_registers_changed.
2566         (x86_linux_prepare_to_resume): Use lwp_debug_registers_changed
2567         and lwp_set_debug_registers_changed.
2568         (x86_linux_new_thread): Use lwp_set_debug_registers_changed.
2569
2570 2015-03-24  Gary Benson  <gbenson@redhat.com>
2571
2572         * linux-low.h (linux_target_ops) <new_thread>: Changed signature.
2573         * linux-arm-low.c (arm_new_thread): Likewise.
2574         * linux-aarch64-low.c (aarch64_linux_new_thread): Likewise.
2575         * linux-mips-low.c (mips_linux_new_thread): Likewise.
2576         * linux-x86-low.c (x86_linux_new_thread): Likewise.
2577         * linux-low.c (add_lwp): Update the_low_target.new_thread call.
2578
2579 2015-03-24  Gary Benson  <gbenson@redhat.com>
2580
2581         * linux-low.c (ptid_of_lwp): New function.
2582         (lwp_is_stopped): Likewise.
2583         (lwp_stop_reason): Likewise.
2584         * linux-x86-low.c (update_debug_registers_callback):
2585         Use lwp_is_stopped.
2586         (x86_linux_prepare_to_resume): Use ptid_of_lwp and
2587         lwp_stop_reason.
2588
2589 2015-03-24  Gary Benson  <gbenson@redhat.com>
2590
2591         * linux-low.h (linux_stop_lwp): Remove declaration.
2592
2593 2015-03-24  Gary Benson  <gbenson@redhat.com>
2594
2595         * linux-low.h: Include nat/linux-nat.h.
2596         * linux-low.c (iterate_over_lwps_args): New structure.
2597         (iterate_over_lwps_filter): New function.
2598         (iterate_over_lwps): Likewise.
2599         * linux-x86-low.c (update_debug_registers_callback):
2600         Update signature to what iterate_over_lwps expects.
2601         Remove PID check that iterate_over_lwps now performs.
2602         (x86_dr_low_set_addr): Use iterate_over_lwps.
2603         (x86_dr_low_set_control): Likewise.
2604
2605 2015-03-24  Gary Benson  <gbenson@redhat.com>
2606
2607         * linux-x86-low.c (x86_debug_reg_state): New function.
2608         (x86_linux_prepare_to_resume): Use the above.
2609
2610 2015-03-24  Gary Benson  <gbenson@redhat.com>
2611
2612         * linux-low.c (current_lwp_ptid): New function.
2613         * linux-x86-low.c: Include nat/linux-nat.h.
2614         (x86_dr_low_get_addr): Use current_lwp_ptid.
2615         (x86_dr_low_get_control): Likewise.
2616         (x86_dr_low_get_status): Likewise.
2617
2618 2015-03-20  Pedro Alves  <palves@redhat.com>
2619
2620         * tracepoint.c (cmd_qtstatus): Make "str" const.
2621
2622 2015-03-20  Pedro Alves  <palves@redhat.com>
2623
2624         * server.c (handle_general_set): Make "req_str" const.
2625
2626 2015-03-19  Pedro Alves  <palves@redhat.com>
2627
2628         * linux-low.c (linux_resume_one_lwp): Rename to ...
2629         (linux_resume_one_lwp_throw): ... this.  Don't handle ESRCH here,
2630         instead call perror_with_name.
2631         (check_ptrace_stopped_lwp_gone): New function.
2632         (linux_resume_one_lwp): Reimplement as wrapper around
2633         linux_resume_one_lwp_throw that swallows errors if the LWP is
2634         gone.
2635
2636 2015-03-19  Pedro Alves  <palves@redhat.com>
2637
2638         * linux-low.c (count_events_callback, select_event_lwp_callback):
2639         No longer check whether the thread has resume_stop as last resume
2640         kind.
2641
2642 2015-03-19 Pedro Alves  <palves@redhat.com>
2643
2644         * linux-low.c (count_events_callback, select_event_lwp_callback):
2645         Use the lwp's status_pending_p field, not the thread's.
2646
2647 2015-03-19  Pedro Alves  <palves@redhat.com>
2648
2649         * linux-low.c (select_event_lwp_callback): Update comments to
2650         no longer mention SIGTRAP.
2651
2652 2015-03-18  Gary Benson  <gbenson@redhat.com>
2653
2654         * server.c (handle_query): Do not report vFile:fstat as supported.
2655
2656 2015-03-11  Gary Benson  <gbenson@redhat.com>
2657
2658         * hostio.c (sys/types.h): New include.
2659         (sys/stat.h): Likewise.
2660         (common-remote-fileio.h): Likewise.
2661         (handle_fstat): New function.
2662         (handle_vFile): Handle vFile:fstat packets.
2663
2664 2015-03-11  Gary Benson  <gbenson@redhat.com>
2665
2666         * configure.ac (AC_CHECK_MEMBERS): Add checks for
2667         struct stat.st_blocks and struct stat.st_blksize.
2668         * configure: Regenerate.
2669         * config.in: Likewise.
2670         * Makefile.in (SFILES): Add common/common-remote-fileio.c.
2671         (OBS): Add common-remote-fileio.o.
2672         (common-remote-fileio.o): New rule.
2673
2674 2015-03-09  Pedro Alves  <palves@redhat.com>
2675
2676         * tracepoint.c (gdb_agent_helper_thread): Cast '&sockaddr' to
2677         'struct sockaddr' pointer in 'accept' call.
2678
2679 2015-03-09  Pedro Alves  <palves@redhat.com>
2680
2681         Revert:
2682         2015-03-07  Pedro Alves  <palves@redhat.com>
2683         * gdbreplay.c: No longer include <netinet/in.h>, <sys/socket.h>,
2684         or <winsock2.h> here.  Instead include "gdb_socket.h".
2685         (remote_open): Use union gdb_sockaddr_u.
2686         * remote-utils.c: No longer include <netinet/in.h>, <sys/socket.h>
2687         or <winsock2.h> here.  Instead include "gdb_socket.h".
2688         (handle_accept_event, remote_prepare): Use union gdb_sockaddr_u.
2689         * tracepoint.c: Include "gdb_socket.h" instead of <sys/socket.h>
2690         or <sys/un.h>.
2691         (init_named_socket, gdb_agent_helper_thread): Use union
2692         gdb_sockaddr_u.
2693
2694 2015-03-07  Pedro Alves  <palves@redhat.com>
2695
2696         * configure.ac (build_warnings): Move
2697         -Wdeclaration-after-statement to the C-specific set.
2698         * configure: Regenerate.
2699
2700 2015-03-07  Pedro Alves  <palves@redhat.com>
2701
2702         * gdbreplay.c: No longer include <netinet/in.h>, <sys/socket.h>,
2703         or <winsock2.h> here.  Instead include "gdb_socket.h".
2704         (remote_open): Use union gdb_sockaddr_u.
2705         * remote-utils.c: No longer include <netinet/in.h>, <sys/socket.h>
2706         or <winsock2.h> here.  Instead include "gdb_socket.h".
2707         (handle_accept_event, remote_prepare): Use union gdb_sockaddr_u.
2708         * tracepoint.c: Include "gdb_socket.h" instead of <sys/socket.h>
2709         or <sys/un.h>.
2710         (init_named_socket, gdb_agent_helper_thread): Use union
2711         gdb_sockaddr_u.
2712
2713 2015-03-07  Pedro Alves  <palves@redhat.com>
2714
2715         Adjust all callers of TRY_CATCH to use TRY/CATCH/END_CATCH
2716         instead.
2717
2718 2015-03-06  Yao Qi  <yao.qi@linaro.org>
2719
2720         * linux-aarch64-low.c (aarch64_insert_point): Use
2721         show_debug_regs as a boolean.
2722         (aarch64_remove_point): Likewise.
2723
2724 2015-03-05  Pedro Alves  <palves@redhat.com>
2725
2726         * lynx-low.c (lynx_target_ops): Install NULL hooks for
2727         stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
2728         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint.
2729         * nto-low.c (nto_target_ops): Likewise.
2730         * spu-low.c (spu_target_ops): Likewise.
2731         * win32-low.c (win32_target_ops): Likewise.
2732
2733 2015-03-04  Pedro Alves  <palves@redhat.com>
2734
2735         * linux-low.c (check_stopped_by_breakpoint) [USE_SIGTRAP_SIGINFO]:
2736         Decide whether a breakpoint triggered based on the SIGTRAP's
2737         siginfo.si_code.
2738         (thread_still_has_status_pending_p) [USE_SIGTRAP_SIGINFO]: Don't check whether a
2739         breakpoint is inserted if relying on SIGTRAP's siginfo.si_code.
2740         (linux_low_filter_event): Check for breakpoints before checking
2741         watchpoints.
2742         (linux_wait_1): Don't re-increment the PC if relying on SIGTRAP's
2743         siginfo.si_code.
2744         (linux_stopped_by_sw_breakpoint)
2745         (linux_supports_stopped_by_sw_breakpoint)
2746         (linux_stopped_by_hw_breakpoint)
2747         (linux_supports_stopped_by_hw_breakpoint): New functions.
2748         (linux_target_ops): Install new target methods.
2749
2750 2015-03-04  Pedro Alves  <palves@redhat.com>
2751
2752         * remote-utils.c (prepare_resume_reply): Report swbreak/hbreak.
2753         * server.c (swbreak_feature, hwbreak_feature): New globals.
2754         (handle_query) <qSupported>: Handle "swbreak+" and "hwbreak+".
2755         (captured_main): Clear swbreak_feature and hwbreak_feature.
2756         * server.h (swbreak_feature, hwbreak_feature): Declare.
2757         * target.h (struct target_ops) <stopped_by_sw_breakpoint,
2758         supports_stopped_by_sw_breakpoint, stopped_by_hw_breakpoint,
2759         supports_stopped_by_hw_breakpoint>: New fields.
2760         (target_supports_stopped_by_sw_breakpoint)
2761         (target_stopped_by_sw_breakpoint)
2762         (target_supports_stopped_by_hw_breakpoint)
2763         (target_stopped_by_hw_breakpoint): Declare.
2764
2765 2015-03-04  Pedro Alves  <palves@redhat.com>
2766
2767         enum lwp_stop_reason -> enum target_stop_reason
2768         * linux-low.c (check_stopped_by_breakpoint): Adjust.
2769         (thread_still_has_status_pending_p, check_stopped_by_watchpoint)
2770         (linux_wait_1, stuck_in_jump_pad_callback)
2771         (move_out_of_jump_pad_callback, linux_resume_one_lwp)
2772         (linux_stopped_by_watchpoint):
2773         * linux-low.h (enum lwp_stop_reason): Delete.
2774         (struct lwp_info) <stop_reason>: Now an enum target_stop_reason.
2775         * linux-x86-low.c (x86_linux_prepare_to_resume): Adjust.
2776
2777 2015-03-04  Yao Qi  <yao.qi@linaro.org>
2778
2779         * Makefile.in (SFILES): Add linux-aarch64-low.c.
2780
2781 2015-03-03  Gary Benson  <gbenson@redhat.com>
2782
2783         * hostio.c (handle_vFile): Fix prefix lengths.
2784
2785 2015-03-03  Markus Metzger  <markus.t.metzger@intel.com>
2786
2787         * linux-low.c (linux_low_enable_btrace): Do not overwrite non-zero
2788         ptr_bits.
2789
2790 2015-03-02  Andreas Arnez  <arnez@linux.vnet.ibm.com>
2791
2792         * Makefile.in (s390-vx-linux64.c, s390-tevx-linux64.c)
2793         (s390x-vx-linux64.c, s390x-tevx-linux64.c): New rules.
2794         (clean): Add "rm -f" for above C files.
2795         * configure.srv (srv_regobj): Add s390-vx-linux64.o,
2796         s390-tevx-linux64.o, s390x-vx-linux64.o, and s390x-tevx-linux64.o.
2797         (srv_xmlfiles): Add s390-vx-linux64.xml, s390-tevx-linux64.xml,
2798         s390x-vx-linux64.xml, s390x-tevx-linux64.xml, and s390-vx.xml.
2799         * linux-s390-low.c (HWCAP_S390_VX): New macro.
2800         (init_registers_s390_vx_linux64, init_registers_s390_tevx_linux64)
2801         (init_registers_s390x_vx_linux64)
2802         (init_registers_s390x_tevx_linux64)
2803         (tdesc_s390_vx_linux64, tdesc_s390_tevx_linux64)
2804         (tdesc_s390x_vx_linux64, tdesc_s390x_tevx_linux64): New extern
2805         declarations.
2806         (s390_fill_vxrs_low, s390_store_vxrs_low, s390_fill_vxrs_high)
2807         (s390_store_vxrs_high): New functions.
2808         (s390_regsets): Add entries for NT_S390_VXRS_LOW and
2809         NT_S390_VXRS_HIGH.
2810         (s390_arch_setup): Add logic for selecting one of the new target
2811         descriptions.  Activate the new vector regsets if applicable.
2812         (initialize_low_arch): Also invoke init_registers_s390_vx_linux64,
2813         init_registers_s390_tevx_linux64, init_registers_s390x_vx_linux64,
2814         and init_registers_s390x_tevx_linux64.
2815
2816 2015-03-01  Pedro Alves  <palves@redhat.com>
2817
2818         * linux-i386-ipa.c (gdb_agent_get_raw_reg): Constify 'raw_regs'
2819         parameter.
2820
2821 2015-02-27  Pedro Alves  <palves@redhat.com>
2822
2823         * linux-x86-low.c (u_debugreg_offset): New function.
2824         (x86_linux_dr_get, x86_linux_dr_set): Use it.
2825
2826 2015-02-27  Pedro Alves  <palves@redhat.com>
2827
2828         * gdb_proc_service.h: Wrap with EXTERN_C_PUSH/EXTERN_C_POP.
2829         [!HAVE_PROC_SERVICE_H] (struct ps_prochandle): Forward declare.
2830         [!HAVE_PROC_SERVICE_H] (ps_pdread, ps_pdwrite, ps_ptread)
2831         ps_ptwrite, ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
2832         (ps_lsetfpregs, ps_getpid)
2833         (ps_get_thread_area, ps_pglobal_lookup, ps_pstop, ps_pcontinue)
2834         (ps_lstop, ps_lcontinue, ps_lgetxregsize, ps_lgetxregs)
2835         (ps_lsetxregs, ps_plog): Declare.
2836
2837 2015-02-27  Pedro Alves  <palves@redhat.com>
2838
2839         * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Use
2840         IP_AGENT_EXPORT_FUNC.
2841         * linux-i386-ipa.c (gdb_agent_get_raw_reg): Use
2842         IP_AGENT_EXPORT_FUNC.
2843         * tracepoint.c (ATTR_USED, ATTR_NOINLINE, ATTR_CONSTRUCTOR)
2844         (IP_AGENT_EXPORT): Delete.
2845         (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
2846         (gdb_trampoline_buffer, gdb_trampoline_buffer_end)
2847         (gdb_trampoline_buffer_error, collecting, gdb_collect)
2848         (stop_tracing, flush_trace_buffer, about_to_request_buffer_space)
2849         (trace_buffer_is_full, stopping_tracepoint, expr_eval_result)
2850         (error_tracepoint, tracepoints, tracing, trace_buffer_ctrl)
2851         (trace_buffer_ctrl_curr, trace_buffer_lo, trace_buffer_hi)
2852         (traceframe_read_count, traceframe_write_count)
2853         (traceframes_created, trace_state_variables, get_raw_reg)
2854         (get_trace_state_variable_value, set_trace_state_variable_value)
2855         (ust_loaded, helper_thread_id, cmd_buf): Use
2856         IPA_SYM_EXPORTED_NAME.
2857         (stop_tracing, flush_trace_buffer): Use IP_AGENT_EXPORT_FUNC.
2858         (tracepoints) Use IP_AGENT_EXPORT_VAR.
2859         (stopping_tracepoint, trace_buffer_is_full, expr_eval_result): Use
2860         IP_AGENT_EXPORT_VAR and wrap in EXTERN_C_PUSH/EXTERN_C_POP.
2861         (last_tracepoint): Move into !IN_PROCESS_AGENT block.
2862         (error_tracepoint): Use IP_AGENT_EXPORT_VAR and wrap in
2863         EXTERN_C_PUSH/EXTERN_C_POP.
2864         (trace_state_variables): Use IP_AGENT_EXPORT_VAR.
2865         (trace_buffer_lo, trace_buffer_hi): Use IP_AGENT_EXPORT_VAR and
2866         wrap in EXTERN_C_PUSH/EXTERN_C_POP.
2867         (trace_buffer_ctrl, trace_buffer_ctrl_curr)
2868         (traceframe_write_count, traceframe_read_count)
2869         (traceframes_created, tracing): Use IP_AGENT_EXPORT_VAR.
2870         (about_to_request_buffer_space, get_trace_state_variable_value)
2871         (set_trace_state_variable_value): Use IP_AGENT_EXPORT_FUNC.
2872         (collecting): Use IP_AGENT_EXPORT_VAR and wrap in
2873         EXTERN_C_PUSH/EXTERN_C_POP.
2874         (gdb_collect): Use IP_AGENT_EXPORT_FUNC.
2875         (ust_loaded, cmd_buf): Use IP_AGENT_EXPORT_VAR.
2876         (helper_thread_id, gdb_agent_capability): Use IP_AGENT_EXPORT_VAR
2877         and wrap in EXTERN_C_PUSH/EXTERN_C_POP.
2878         (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
2879         (gdb_trampoline_buffer, gdb_trampoline_buffer_end)
2880         (gdb_trampoline_buffer_error): Use IP_AGENT_EXPORT_VAR.
2881         * tracepoint.h (ATTR_USED, ATTR_NOINLINE, EXPORTED_SYMBOL):
2882         Define.
2883         (IP_AGENT_EXPORT_FUNC, IP_AGENT_EXPORT_VAR)
2884         (IP_AGENT_EXPORT_VAR_DECL): Define.
2885         (tracing): Declare.
2886         (gdb_agent_get_raw_reg): Declare.
2887
2888 2015-02-27  Tom Tromey  <tromey@redhat.com>
2889             Pedro Alves  <palves@redhat.com>
2890
2891         Rename symbols whose names are reserved C++ keywords throughout.
2892
2893 2015-02-27  Pedro Alves  <palves@redhat.com>
2894
2895         * Makefile.in (COMPILER): New, get it from autoconf.
2896         (CXX): Get from autoconf instead.
2897         (COMPILE.pre): Use COMPILER.
2898         (CC-LD): Rename to ...
2899         (CC_LD): ... this.  Use COMPILER.
2900         (gdbserver$(EXEEXT), gdbreplay$(EXEEXT), $(IPA_LIB)): Adjust.
2901         (CXX_FOR_TARGET): Default to g++ instead of gcc.
2902         * acinclude.m4: Include build-with-cxx.m4.
2903         * configure.ac: Call AC_PROG_CXX and GDB_AC_BUILD_WITH_CXX.
2904         Disable -Werror by default if building in C++ mode.
2905         (build_warnings): Add -Wno-sign-compare, -Wno-write-strings and
2906         -Wno-narrowing in C++ mode. Run supported-warning-flags tests with
2907         the C++ compiler.  Save/restore CXXFLAGS too.
2908         * configure: Regenerate.
2909
2910 2015-02-27  Pedro Alves  <palves@redhat.com>
2911
2912         * acinclude.m4: Include libiberty.m4.
2913         * configure.ac: Call libiberty_INIT.
2914         * config.in, configure: Regenerate.
2915
2916 2015-02-26  Pedro Alves  <palves@redhat.com>
2917
2918         * linux-low.c (linux_wait_1): When incrementing the PC past a
2919         program breakpoint always use the_low_target.breakpoint_len as
2920         increment, rather than the maximum between that and
2921         the_low_target.decr_pc_after_break.
2922
2923 2015-02-23  Pedro Alves  <palves@redhat.com>
2924
2925         * linux-low.c (check_stopped_by_breakpoint): Don't check if the
2926         thread was doing a step-over; always adjust the PC if
2927         we stepped over a permanent breakpoint.
2928         (linux_wait_1): If we stepped over breakpoint that was on top of a
2929         permanent breakpoint, manually advance the PC past it.
2930
2931 2015-02-23  Pedro Alves  <palves@redhat.com>
2932
2933         * linux-x86-low.c (REGSIZE): Define in both 32-bit and 64-bit
2934         modes.
2935         (x86_fill_gregset, x86_store_gregset): Use it when handling
2936         $orig_eax.
2937
2938 2015-02-20  Pedro Alves  <palves@redhat.com>
2939
2940         * thread-db.c: Include "nat/linux-procfs.h".
2941         (thread_db_init): Skip listing new threads if the kernel supports
2942         PTRACE_EVENT_CLONE and /proc/PID/task/ is accessible.
2943
2944 2015-02-20  Pedro Alves  <palves@redhat.com>
2945
2946         * linux-low.c (status_pending_p_callback): Use ptid_match.
2947
2948 2015-02-19  Antoine Tremblay  <antoine.tremblay@ericsson.com>
2949
2950         PR breakpoints/16812
2951         * linux-low.c (wstatus_maybe_breakpoint): Remove.
2952         (linux_low_filter_event): Update wstatus_maybe_breakpoint name.
2953         (linux_wait_1): Report SIGTRAP,SIGILL,SIGSEGV.
2954
2955 2015-02-10  Antoine Tremblay <antoine.tremblay@ericsson.com>
2956
2957         PR breakpoints/15956
2958         * tracepoint.c (cmd_qtinit): Add check for current_thread.
2959
2960 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
2961
2962         * linux-low.c (linux_low_btrace_conf): Print size.
2963         * server.c (handle_btrace_conf_general_set): New.
2964         (hanle_general_set): Call handle_btrace_conf_general_set.
2965         (handle_query): Report Qbtrace-conf:bts:size as supported.
2966
2967 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
2968
2969         * linux-low.c (linux_low_enable_btrace): Update parameters.
2970         (linux_low_btrace_conf): New.
2971         (linux_target_ops)<to_btrace_conf>: Initialize.
2972         * server.c (current_btrace_conf): New.
2973         (handle_btrace_enable): Rename to ...
2974         (handle_btrace_enable_bts): ... this.  Pass &current_btrace_conf
2975         to target_enable_btrace.  Update comment.  Update users.
2976         (handle_qxfer_btrace_conf): New.
2977         (qxfer_packets): Add btrace-conf entry.
2978         (handle_query): Report qXfer:btrace-conf:read as supported packet.
2979         * target.h (target_ops)<enable_btrace>: Update parameters and comment.
2980         (target_ops)<read_btrace_conf>: New.
2981         (target_enable_btrace): Update parameters.
2982         (target_read_btrace_conf): New.
2983
2984 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
2985
2986         * server.c (handle_btrace_general_set): Remove call to
2987         target_supports_btrace.
2988         (supported_btrace_packets): New.
2989         (handle_query): Call supported_btrace_packets.
2990         * target.h: include btrace-common.h.
2991         (btrace_target_info): Removed.
2992         (supports_btrace, target_supports_btrace): Update parameters.
2993
2994 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
2995
2996         * Makefile.in (SFILES): Add common/btrace-common.c.
2997         (OBS): Add common/btrace-common.o.
2998         (btrace-common.o): Add build rules.
2999         * linux-low: Include btrace-common.h.
3000         (linux_low_read_btrace): Use struct btrace_data.  Call
3001         btrace_data_init and btrace_data_fini.
3002
3003 2015-02-06  Pedro Alves  <palves@redhat.com>
3004
3005         * thread-db.c (find_new_threads_callback): Add debug output.
3006
3007 2015-02-04  Pedro Alves  <palves@redhat.com>
3008
3009         * linux-low.c (handle_extended_wait): Don't resume LWPs here.
3010         (resume_stopped_resumed_lwps): New function.
3011         (linux_wait_for_event_filtered): Use it.
3012
3013 2015-01-15  Sergio Durigan Junior  <sergiodj@redhat.com>
3014
3015         * Makefile.in (SFILES): Add linux-personality.c.
3016         (linux-personality.o): New rule.
3017         * configure.srv (srv_linux_obj): Add linux-personality.o to the
3018         list of objects to be built.
3019         * linux-low.c: Include nat/linux-personality.h.
3020         (linux_create_inferior): Remove code to disable address space
3021         randomization (moved to ../nat/linux-personality.c).  Create
3022         cleanup to disable address space randomization.
3023
3024 2015-01-15  Sergio Durigan Junior  <sergiodj@redhat.com>
3025
3026         * Makefile.in (posix-strerror.o): New rule.
3027         (mingw-strerror.o): Likewise.
3028         * configure: Regenerated.
3029         * configure.ac: Source file ../common/common.host.  Initialize new
3030         variable srv_host_obs.  Add srv_host_obs to GDBSERVER_DEPFILES.
3031
3032 2015-01-14  Yao Qi  <yao@codesourcery.com>
3033
3034         * Makefile.in (SFILES): Add nat/ppc-linux.c.
3035         (ppc-linux.o): New rule.
3036         * configure.srv (powerpc*-*-linux*): Add ppc-linux.o.
3037         * configure.ac: AC_CHECK_FUNCS(getauxval).
3038         * config.in: Re-generated.
3039         * configure: Re-generated.
3040         * linux-ppc-low.c (ppc_arch_setup) [__powerpc64__]: Call
3041         ppc64_64bit_inferior_p
3042
3043 2015-01-14  Yao Qi  <yao@codesourcery.com>
3044
3045         * linux-ppc-low.c: Include "nat/ppc-linux.h".
3046          (PPC_FEATURE_HAS_VSX): Move to nat/ppc-linux.h.
3047         (PPC_FEATURE_HAS_ALTIVEC,  PPC_FEATURE_HAS_SPE): Likewise.
3048         (PT_ORIG_R3, PT_TRAP): Likewise.
3049         (PTRACE_GETVSXREGS, PTRACE_SETVSXREGS): Likewise.
3050         (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Likewise.
3051         (PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): Likewise.
3052
3053 2015-01-10  Joel Brobecker  <brobecker@adacore.com>
3054
3055         * i387-fp.c (i387_cache_to_xsave): In look over
3056         num_avx512_zmmh_high_registers, replace use of struct i387_xsave
3057         zmmh_low_space field by use of zmmh_high_space.
3058
3059 2015-01-09  Pedro Alves  <palves@redhat.com>
3060
3061         * linux-low.c (step_over_bkpt): Move higher up in the file.
3062         (handle_extended_wait): Don't store the stop_pc here.
3063         (get_stop_pc): Adjust comments and rename to ...
3064         (check_stopped_by_breakpoint): ... this.  Record whether the LWP
3065         stopped for a software breakpoint or hardware breakpoint.
3066         (thread_still_has_status_pending_p): New function.
3067         (status_pending_p_callback): Use
3068         thread_still_has_status_pending_p.  If the event is no longer
3069         interesting, resume the LWP.
3070         (handle_tracepoints): Add assert.
3071         (maybe_move_out_of_jump_pad): Remove cancel_breakpoints call.
3072         (wstatus_maybe_breakpoint): New function.
3073         (cancel_breakpoint): Delete function.
3074         (check_stopped_by_watchpoint): New function, factored out from
3075         linux_low_filter_event.
3076         (lp_status_maybe_breakpoint): Delete function.
3077         (linux_low_filter_event): Remove filter_ptid argument.
3078         Leave thread group exits pending here.  Store the LWP's stop PC.
3079         Always leave events pending.
3080         (linux_wait_for_event_filtered): Pull all events out of the
3081         kernel, and leave them all pending.
3082         (count_events_callback, select_event_lwp_callback): Consider all
3083         events.
3084         (cancel_breakpoints_callback, linux_cancel_breakpoints): Delete.
3085         (select_event_lwp): Only give preference to the stepping LWP in
3086         all-stop mode.  Adjust comments.
3087         (ignore_event): New function.
3088         (linux_wait_1): Delete 'retry' label.  Use ignore_event.  Remove
3089         references to cancel_breakpoints.  Adjust to renames.  Also give
3090         equal priority to all LWPs that have had events in non-stop mode.
3091         If reporting a software breakpoint event, unadjust the LWP's PC.
3092         (linux_wait): If linux_wait_1 returned an ignored event, retry.
3093         (stuck_in_jump_pad_callback, move_out_of_jump_pad_callback):
3094         Adjust.
3095         (linux_resume_one_lwp): Store the LWP's PC.  Adjust.
3096         (resume_status_pending_p): Use thread_still_has_status_pending_p.
3097         (linux_stopped_by_watchpoint): Adjust.
3098         (linux_target_ops): Remove reference to linux_cancel_breakpoints.
3099         * linux-low.h (enum lwp_stop_reason): New.
3100         (struct lwp_info) <stop_pc>: Adjust comment.
3101         <stopped_by_watchpoint>: Delete field.
3102         <stop_reason>: New field.
3103         * linux-x86-low.c (x86_linux_prepare_to_resume): Adjust.
3104         * mem-break.c (software_breakpoint_inserted_here)
3105         (hardware_breakpoint_inserted_here): New function.
3106         * mem-break.h (software_breakpoint_inserted_here)
3107         (hardware_breakpoint_inserted_here): Declare.
3108         * target.h (struct target_ops) <cancel_breakpoints>: Remove field.
3109         (cancel_breakpoints): Delete.
3110         * tracepoint.c (clear_installed_tracepoints, stop_tracing)
3111         (upload_fast_traceframes): Remove references to
3112         cancel_breakpoints.
3113
3114 2015-01-09  Pedro Alves  <palves@redhat.com>
3115
3116         * thread-db.c (find_new_threads_callback): Ignore thread if the
3117         kernel thread ID is -1.
3118
3119 2015-01-09  Pedro Alves  <palves@redhat.com>
3120
3121         * linux-low.c (linux_attach_fail_reason_string): Move to
3122         nat/linux-ptrace.c, and rename.
3123         (linux_attach_lwp): Update comment.
3124         (attach_proc_task_lwp_callback): New function.
3125         (linux_attach): Adjust to rename and use
3126         linux_proc_attach_tgid_threads.
3127         (linux_attach_fail_reason_string): Delete declaration.
3128
3129 2015-01-01  Joel Brobecker  <brobecker@adacore.com>
3130
3131         * gdbreplay.c (gdbreplay_version): Update copyright year to 2015.
3132         * server.c (gdbserver_version): Likewise.
3133
3134 2014-12-29  Sergio Durigan Junior  <sergiodj@redhat.com>
3135
3136         * remote-utils.c: Include ctype.h.
3137         (input_interrupt): Explicitly handle the case when the char
3138         received is the NUL byte.  Improve the printing of non-ASCII
3139         characters.
3140
3141 2014-12-16  Joel Brobecker  <brobecker@adacore.com>
3142
3143         * linux-low.c (linux_low_filter_event): Update call to
3144         linux_enable_event_reporting following the addition of
3145         a new parameter to that function.
3146
3147 2014-12-16  Catalin Udma  <catalin.udma@freescale.com>
3148
3149         PR server/17457
3150         * linux-aarch64-low.c (AARCH64_FPSR_REGNO): New define.
3151         (AARCH64_FPCR_REGNO): Likewise.
3152         (AARCH64_NUM_REGS): Update to include fpsr/fpcr registers.
3153         (aarch64_fill_fpregset): Add missing fpsr/fpcr registers.
3154         (aarch64_store_fpregset): Likewise.
3155
3156 2014-12-15  Joel Brobecker  <brobecker@adacore.com>
3157
3158         * lynx-low.c (lynx_resume): Use PTRACE_SINGLESTEP_ONE if N == 1.
3159         Remove FIXME comment about assumption about N.
3160
3161 2014-12-13  Joel Brobecker  <brobecker@adacore.com>
3162
3163         * configure.ac: If large-file support is disabled in GDBserver,
3164         pass --disable-largefile to ACX_CONFIGURE_DIR call for "gnulib".
3165         * configure: Regenerate.
3166
3167 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3168
3169         * linux-low.c (regsets_fetch_inferior_registers): Suppress the
3170         warning upon ENODATA from ptrace.
3171         * linux-s390-low.c (s390_store_tdb): New.
3172         (s390_regsets): Add regset for NT_S390_TDB.
3173
3174 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3175
3176         * linux-low.c (regsets_store_inferior_registers): Skip regsets
3177         without a fill_function.
3178         * linux-s390-low.c (s390_fill_last_break): Remove.
3179         (s390_regsets): Set fill_function to NULL for NT_S390_LAST_BREAK.
3180         (s390_arch_setup): Use regset's size instead of fill_function for
3181         loop end condition.
3182
3183 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3184
3185         * linux-low.c (regsets_fetch_inferior_registers): Do not invoke
3186         the regset's store function when ptrace returned an error.
3187         * regcache.c (get_thread_regcache): Invalidate register cache
3188         before fetching inferior's registers.
3189
3190 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3191
3192         * linux-low.c (regsets_fetch_inferior_registers): Rephrase
3193         while-loop as for-loop.
3194         (regsets_store_inferior_registers): Likewise.
3195
3196 2014-11-28  Yao Qi  <yao@codesourcery.com>
3197
3198         * configure.ac(AC_CHECK_FUNCS): Remove readlink.
3199         * config.in, configure: Re-generate.
3200         * hostio.c (handle_unlink): Remove code checking HAVE_READLINK
3201         is defined.
3202
3203 2014-11-21  Yao Qi  <yao@codesourcery.com>
3204
3205         * configure.ac: Don't invoke AC_FUNC_ALLOCA.
3206         (AC_CHECK_HEADERS): Remove malloc.h.
3207         * configure: Re-generated.
3208         * config.in: Re-generated.
3209         * server.h: Don't include alloca.h and malloc.h.
3210         * gdbreplay.c: Don't check HAVE_ALLOCA_H is defined.
3211         Don't include malloc.h.
3212
3213 2014-11-17  Joel Brobecker  <brobecker@adacore.com>
3214
3215         * lynx-low.c (lynx_write_memory): Put lynx_read_memory and
3216         corresponding ERRNO check in same block.
3217
3218 2014-11-12  Pedro Alves  <palves@redhat.com>
3219
3220         * server.c (cont_thread): Update comment.
3221         (start_inferior, attach_inferior): No longer clear cont_thread.
3222         (handle_v_cont): No longer set cont_thread.
3223         (captured_main): Clear cont_thread each time a GDB connects.
3224
3225 2014-11-12  Pedro Alves  <palves@redhat.com>
3226
3227         * linux-low.c (linux_wait_1): Don't force a wait for the Hc
3228         thread, and don't resume all threads if the Hc thread has exited.
3229
3230 2014-11-12  Pedro Alves  <palves@redhat.com>
3231
3232         * linux-low.c (linux_request_interrupt): Always send a SIGINT to
3233         the process group instead of to a specific LWP.
3234
3235 2014-10-15  Pedro Alves  <palves@redhat.com>
3236
3237         PR server/17487
3238         * win32-arm-low.c (arm_set_thread_context): Remove current_event
3239         parameter.
3240         (arm_set_thread_context): Delete.
3241         (the_low_target): Adjust.
3242         * win32-i386-low.c (debug_registers_changed)
3243         (debug_registers_used): Delete.
3244         (update_debug_registers_callback): New function.
3245         (x86_dr_low_set_addr, x86_dr_low_set_control): Mark all threads as
3246         needing to update their debug registers.
3247         (win32_get_current_dr): New function.
3248         (x86_dr_low_get_addr, x86_dr_low_get_control)
3249         (x86_dr_low_get_status): Fetch the debug register from the thread
3250         record's context.
3251         (i386_initial_stuff): Adjust.
3252         (i386_get_thread_context): Remove current_event parameter.  Don't
3253         clear debug_registers_changed nor copy DR values to
3254         debug_reg_state.
3255         (i386_set_thread_context): Delete.
3256         (i386_prepare_to_resume): New function.
3257         (i386_thread_added): Mark the thread as needing to update irs
3258         debug registers.
3259         (the_low_target): Remove i386_set_thread_context and install
3260         i386_prepare_to_resume.
3261         * win32-low.c (win32_get_thread_context): Adjust.
3262         (win32_set_thread_context): Use SetThreadContext
3263         directly.
3264         (win32_prepare_to_resume): New function.
3265         (win32_require_context): New function, factored out from ...
3266         (thread_rec): ... this.
3267         (continue_one_thread): Call win32_prepare_to_resume on each thread
3268         we're about to continue.
3269         (win32_resume): Call win32_prepare_to_resume on the event thread.
3270         * win32-low.h (struct win32_thread_info)
3271         <debug_registers_changed>: New field.
3272         (struct win32_target_ops): Change prototype of set_thread_context,
3273         delete set_thread_context and add prepare_to_resume.
3274         (win32_require_context): New declaration.
3275
3276 2014-10-08  Gary Benson  <gbenson@redhat.com>
3277
3278         * server.h: Do not include common-exceptions.h.
3279
3280 2014-10-08  Gary Benson  <gbenson@redhat.com>
3281
3282         * server.h: Do not include cleanups.h.
3283
3284 2014-09-30  James Hogan  <james.hogan@imgtec.com>
3285
3286         * Makefile.in (clean): Add rm -f commands for mips-dsp-linux.c and
3287         mips64-dsp-linux.c.
3288
3289 2014-09-23  Yao Qi  <yao@codesourcery.com>
3290
3291         * linux-low.c (lp_status_maybe_breakpoint): New function.
3292         (linux_low_filter_event): Call lp_status_maybe_breakpoint.
3293         (count_events_callback): Likewise.
3294         (select_event_lwp_callback): Likewise.
3295         (cancel_breakpoints_callback): Likewise.
3296
3297 2014-09-19  Don Breazeal  <donb@codesourcery.com>
3298
3299         * linux-low.c (handle_extended_wait): Call
3300         linux_ptrace_get_extended_event.
3301         (get_stop_pc, get_detach_signal, linux_low_filter_event): Call
3302         linux_is_extended_waitstatus.
3303
3304 2014-09-16  Joel Brobecker  <brobecker@adacore.com>
3305
3306         * Makefile.in (CPPFLAGS): Define.
3307         (INTERNAL_CFLAGS_BASE): Add ${CPPFLAGS}.
3308         (IPAGENT_CFLAGS): Remove ${CPPFLAGS}.
3309
3310 2014-09-16  Gary Benson  <gbenson@redhat.com>
3311
3312         * inferiors.h (current_inferior): Renamed as...
3313         (current_thread): New variable.  All uses updated.
3314         * linux-low.c (get_pc): Renamed saved_inferior as saved_thread.
3315         (maybe_move_out_of_jump_pad): Likewise.
3316         (cancel_breakpoint): Likewise.
3317         (linux_low_filter_event): Likewise.
3318         (wait_for_sigstop): Likewise.
3319         (linux_resume_one_lwp): Likewise.
3320         (need_step_over_p): Likewise.
3321         (start_step_over): Likewise.
3322         (linux_stabilize_threads): Renamed save_inferior as saved_thread.
3323         * linux-x86-low.c (x86_linux_update_xmltarget): Likewise.
3324         * proc-service.c (ps_lgetregs): Renamed reg_inferior as reg_thread
3325         and save_inferior as saved_thread.
3326         * regcache.c (get_thread_regcache): Renamed saved_inferior as
3327         saved_thread.
3328         (regcache_invalidate_thread): Likewise.
3329         * remote-utils.c (prepare_resume_reply): Likewise.
3330         * thread-db.c (thread_db_get_tls_address): Likewise.
3331         (disable_thread_event_reporting): Likewise.
3332         (remove_thread_event_breakpoints): Likewise.
3333         * tracepoint.c (gdb_agent_about_to_close): Renamed save_inferior
3334         as saved_thread.
3335         * target.h (set_desired_inferior): Renamed as...
3336         (set_desired_thread): New declaration.  All uses updated.
3337         * server.c (myresume): Updated comment to reference thread instead
3338         of inferior.
3339         (handle_serial_event): Likewise.
3340         (handle_target_event): Likewise.
3341
3342 2014-09-12  Tom Tromey  <tromey@redhat.com>
3343             Gary Benson  <gbenson@redhat.com>
3344
3345         * regcache.h: Include common-regcache.h.
3346         (regcache_read_pc): Don't declare.
3347         * regcache.c (get_thread_regcache_for_ptid): New function.
3348
3349 2014-09-11  Tom Tromey  <tromey@redhat.com>
3350             Gary Benson  <gbenson@redhat.com>
3351
3352         * symbol.c: New file.
3353         * Makefile.in (SFILES): Add symbol.c.
3354         (OBS): Add symbol.o.
3355
3356 2014-09-11  Gary Benson  <gbenson@redhat.com>
3357
3358         * target.c (target_stop_ptid, target_continue_ptid): New
3359         functions.
3360
3361 2014-09-11  Tom Tromey  <tromey@redhat.com>
3362             Gary Benson  <gbenson@redhat.com>
3363
3364         * target.h: Include target/target.h.
3365         * target.c (target_read_memory, target_read_uint32)
3366         (target_write_memory): New functions.
3367
3368 2014-09-11  Gary Benson  <gbenson@redhat.com>
3369
3370         * server.h (debug_hw_points): Don't declare.
3371         * server.c (debug_hw_points): Don't define.  Replace all uses
3372         with show_debug_regs.
3373         * linux-aarch64-low.c (debug_hw_points): Don't define.  Replace
3374         all uses with show_debug_regs.
3375
3376 2014-09-08  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
3377
3378         * linux-ppc-low.c (ppc_collect_ptrace_register): Adjust routine to take
3379         endianness into account.
3380         (ppc_supply_ptrace_register): Likewise.
3381
3382 2014-09-03  James Hogan  <james.hogan@imgtec.com>
3383
3384         * linux-mips-low.c (mips_read_description): Reset errno to 0 prior
3385         to reading DSP_CONTROL with PTRACE_PEEKUSER ptrace call.
3386
3387 2014-09-03  Gary Benson  <gbenson@redhat.com>
3388
3389         * linux-x86-low.c (x86_linux_prepare_to_resume): Use
3390         ALL_DEBUG_ADDRESS_REGISTERS.
3391
3392 2014-09-02  Gary Benson  <gbenson@redhat.com>
3393
3394         * i386-low.h: Renamed as...
3395         * x86-low.h: New file.  All type, function and variable name
3396         prefixes changed from "i386_" to "x86_".  All references updated.
3397         * i386-low.c: Renamed as...
3398         * x86-low.c: New file.  All type, function and variable name
3399         prefixes changed from "i386_" to "x86_".  All references updated.
3400
3401 2014-09-02  Gary Benson  <gbenson@redhat.com>
3402
3403         * linux-x86-low.c (x86_linux_new_process): Use XCNEW.
3404         (x86_linux_new_thread): Likewise.
3405
3406 2014-08-29  Gary Benson  <gbenson@redhat.com>
3407
3408         * server.h (setjmp.h): Do not include.
3409         (toplevel): Do not declare.
3410         (common-exceptions.h): Include.
3411         (cleanups.h): Likewise.
3412         * server.c (toplevel): Do not define.
3413         (exit_code): New static global.
3414         (detach_or_kill_for_exit_cleanup): New function.
3415         (main): New function.  Original main renamed to...
3416         (captured_main): New function.
3417         * utils.c (verror) [!IN_PROCESS_AGENT]: Use throw_verror.
3418
3419 2014-08-29  Gary Benson  <gbenson@redhat.com>
3420
3421         * Makefile.in (SFILES): Add common/common-exceptions.c.
3422         (OBS): Add common-exceptions.o.
3423         (common-exceptions.o): New rule.
3424         * utils.c (prepare_to_throw_exception): New function.
3425
3426 2014-08-29  Gary Benson  <gbenson@redhat.com>
3427
3428         * config.in: Regenerate.
3429         * configure: Likewise.
3430
3431 2014-08-29  Gary Benson  <gbenson@redhat.com>
3432
3433         * Makefile.in (SFILES): Add common/cleanups.c.
3434         (OBS): cleanups.o.
3435         (cleanups.o): New rule.
3436
3437 2014-08-29  Gary Benson  <gbenson@redhat.com>
3438
3439         * utils.c (internal_vwarning): New function.
3440
3441 2014-08-28  Gary Benson  <gbenson@redhat.com>
3442
3443         * utils.h (fatal): Remove declaration.
3444         * utils.c (fatal): Remove function.
3445
3446 2014-08-28  Gary Benson  <gbenson@redhat.com>
3447
3448         * tracepoint.c (gdb_agent_init): Replace fatal with
3449         perror_with_name.
3450         (initialize_tracepoint): Likewise.
3451
3452 2014-08-28  Gary Benson  <gbenson@redhat.com>
3453
3454         * remote-utils.c (remote_prepare): Replace fatal with error.
3455
3456 2014-08-28  Gary Benson  <gbenson@redhat.com>
3457
3458         * linux-low.c (linux_async): Replace fatal with warning.
3459         Tidy up and return.
3460         (linux_start_non_stop): Return -1 if linux_async failed.
3461
3462 2014-08-28  Gary Benson  <gbenson@redhat.com>
3463
3464         * linux-x86-low.c (i386_dr_low_set_addr): Replace check with
3465         gdb_assert.
3466         (i386_dr_low_get_addr): Remove vague comment.
3467         * win32-i386-low.c (i386_dr_low_set_addr): Replace check with
3468         gdb_assert.
3469
3470 2014-08-28  Gary Benson  <gbenson@redhat.com>
3471
3472         * inferiors.c (get_thread_process): Replace check with gdb_assert.
3473         * linux-low.c (linux_wait_for_event_filtered): Replace fatal with
3474         internal_error.
3475         (linux_resume_one_lwp): Likewise.
3476         * linux-x86-low.c (x86_siginfo_fixup): Replace checks with
3477         gdb_assert.
3478         * mem-break.c (raw_bkpt_type_to_target_hw_bp_type): Replace fatal
3479         with internal_error.
3480         * regcache.c (get_thread_regcache): Replace check with gdb_assert.
3481         (init_register_cache): Replace fatal with gdb_assert_not_reached.
3482         (find_register_by_name): Replace fatal with internal_error.
3483         (find_regno): Likewise.
3484         * tdesc.c (init_target_desc): Replace check with gdb_assert.
3485         * thread-db.c (thread_db_create_event): Likewise.
3486         (thread_db_load_search): Likewise.
3487         (try_thread_db_load_1): Likewise.
3488         * tracepoint.c (get_jump_space_head): Replace fatal with
3489         internal_error.
3490         (claim_trampoline_space): Likewise.
3491         (have_fast_tracepoint_trampoline_buffer): Likewise.
3492         (cmd_qtstart): Likewise.
3493         (stop_tracing): Likewise.
3494         (fast_tracepoint_collecting): Likewise.
3495         (target_malloc): Likewise.
3496         (download_tracepoint): Likewise.
3497         (download_trace_state_variables): Replace check with gdb_assert.
3498         (upload_fast_traceframes): Replace fatal with internal_error.
3499
3500 2014-08-19  Tom Tromey  <tromey@redhat.com>
3501             Gary Benson  <gbenson@redhat.com>
3502
3503         * Makefile.in (SFILES): Add common/common-debug.c.
3504         (OBS): Add common-debug.o.
3505         (common-debug.o): New rule.
3506         * debug.h (debug_printf): Don't declare.
3507         * debug.c (debug_printf): Renamed and rewritten as...
3508         (debug_vprintf): New function.
3509
3510 2014-08-19  Gary Benson  <gbenson@redhat.com>
3511
3512         * utils.h: Do not include print-utils.h.
3513
3514 2014-08-19  Tom Tromey  <tromey@redhat.com>
3515             Gary Benson  <gbenson@redhat.com>
3516
3517         * server.h: Add static assertion.
3518         (gdb_byte, CORE_ADDR, LONGEST, ULONGEST): Remove.
3519
3520 2014-08-19  Tom Tromey  <tromey@redhat.com>
3521             Gary Benson  <gbenson@redhat.com>
3522
3523         * Makefile.in (SFILES): Add common/errors.c.
3524         (OBS): Add errors.o.
3525         (IPA_OBS): Add errors-ipa.o.
3526         (errors.o): New rule.
3527         (errors-ipa.o): Likewise.
3528         * utils.h (perror_with_name, error, warning): Don't declare.
3529         * utils.c (warning): Renamed and rewritten as...
3530         (vwarning): New function.
3531         (error): Renamed and rewritten as...
3532         (verror): New function.
3533         (internal_error): Renamed and rewritten as...
3534         (internal_verror): New function.
3535
3536 2014-08-07  Gary Benson  <gbenson@redhat.com>
3537
3538         * configure.ac (AC_CHECK_HEADERS): Remove errno.h.
3539         * configure: Regenerate.
3540         * config.in: Likewise.
3541         * server.h: Do not include errno.h.
3542         * event-loop.c: Likewise.
3543         * hostio-errno.c: Likewise.
3544         * linux-low.c: Likewise.
3545         * remote-utils.c: Likewise.
3546         * spu-low.c: Likewise.
3547         * utils.c: Likewise.
3548         * gdbreplay.c: Unconditionally include errno.h.
3549
3550 2014-08-07  Gary Benson  <gbenson@redhat.com>
3551
3552         * server.h: Do not include string.h.
3553         * event-loop.c: Likewise.
3554         * linux-low.c: Likewise.
3555         * regcache.c: Likewise.
3556         * remote-utils.c: Likewise.
3557         * spu-low.c: Likewise.
3558         * utils.c: Likewise.
3559
3560 2014-08-07  Gary Benson  <gbenson@redhat.com>
3561
3562         * server.h: Do not include gdb_assert.h.
3563
3564 2014-08-07  Gary Benson  <gbenson@redhat.com>
3565
3566         * server.h: Do not include common-utils.h.
3567
3568 2014-08-07  Gary Benson  <gbenson@redhat.com>
3569
3570         * server.h: Do not include ptid.h.
3571         * notif.h: Likewise.
3572
3573 2014-08-07  Gary Benson  <gbenson@redhat.com>
3574
3575         * server.h: Do not include gdb_locale.h.
3576
3577 2014-08-07  Gary Benson  <gbenson@redhat.com>
3578
3579         * server.h: Do not include gdb/signals.h.
3580         * win32-low.c: Likewise.
3581
3582 2014-08-07  Gary Benson  <gbenson@redhat.com>
3583
3584         * server.h: Do not include pathmax.h.
3585
3586 2014-08-07  Gary Benson  <gbenson@redhat.com>
3587
3588         * server.h: Do not include libiberty.h.
3589         * linux-bfin-low.c: Likewise.
3590
3591 2014-08-07  Gary Benson  <gbenson@redhat.com>
3592
3593         * server.h: Do not include ansidecl.h.
3594
3595 2014-08-07  Gary Benson  <gbenson@redhat.com>
3596
3597         * linux-x86-low.c: Do not include stddef.h.
3598         * lynx-ppc-low.c: Likewise.
3599         * tracepoint.c: Likewise.
3600
3601 2014-08-07  Gary Benson  <gbenson@redhat.com>
3602
3603         * server.h: Do not include stdarg.h.
3604         * nto-low.c: Likewise.
3605
3606 2014-08-07  Gary Benson  <gbenson@redhat.com>
3607
3608         * server.h: Do not include stdlib.h.
3609         * inferiors.c: Likewise.
3610         * linux-low.c: Likewise.
3611         * regcache.c: Likewise.
3612         * spu-low.c: Likewise.
3613         * tracepoint.c: Likewise.
3614         * utils.c: Likewise.
3615
3616 2014-08-07  Gary Benson  <gbenson@redhat.com>
3617
3618         * server.h: Do not include stdio.h.
3619         * linux-low.c: Likewise.
3620         * remote-utils.c: Likewise.
3621         * spu-low.c: Likewise.
3622         * utils.c: Likewise.
3623         * wincecompat.c: Likewise.
3624
3625 2014-08-06  Gary Benson  <gbenson@redhat.com>
3626
3627         * regcache.c (init_register_cache): Move conditionals inside if.
3628
3629 2014-08-06  Gary Benson  <gbenson@redhat.com>
3630
3631         * linux-low.c (linux_supports_non_stop): Use target_is_async_p.
3632
3633 2014-07-31  Gary Benson  <gbenson@redhat.com>
3634
3635         * ax.h: Do not include server.h.
3636         * gdbthread.h: Likewise.
3637         * lynx-low.h: Likewise.
3638         * notif.h: Likewise.
3639
3640 2014-07-30  Gary Benson  <gbenson@redhat.com>
3641
3642         * server.h: Include common-defs.h.
3643         Do not include config.h or build-gnulib-gdbserver/config.h.
3644
3645 2014-07-30  Gary Benson  <gbenson@redhat.com>
3646
3647         * hostio-errno.c: Move server.h to top of includes list.
3648         * inferiors.c: Likewise.
3649         * linux-x86-low.c: Likewise.
3650         * notif.c: Include server.h.
3651
3652 2014-07-24  Tom Tromey  <tromey@redhat.com>
3653             Gary Benson  <gbenson@redhat.com>
3654
3655         * server.h (CORE_ADDR): Now unsigned.
3656
3657 2014-07-16  Pedro Alves  <palves@redhat.com>
3658
3659         * linux-low.c (linux_kill_one_lwp): Use kill_lwp, not kill.
3660
3661 2014-07-15  Pedro Alves  <palves@redhat.com>
3662
3663         * linux-low.c (linux_kill_one_lwp): Save errno and work with saved
3664         copy.
3665
3666 2014-07-11  Pedro Alves  <palves@redhat.com>
3667
3668         * linux-low.c (kill_wait_lwp): New function, based on
3669         kill_one_lwp_callback, but use my_waitpid directly.
3670         (kill_one_lwp_callback, linux_kill): Use it.
3671
3672 2014-06-23  Pedro Alves  <palves@redhat.com>
3673
3674         * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR_CONTROL
3675         before setting DR0..DR3.
3676
3677 2014-06-20  Gary Benson  <gbenson@redhat.com>
3678
3679         * configure.ac (AC_REPLACE_FUNCS) <vasprintf, vsnprintf>: Removed.
3680         * configure: Regenerated.
3681         * config.in: Likewise.
3682
3683 2014-06-20  Gary Benson  <gbenson@redhat.com>
3684
3685         * Makefile.in (SFILES): Update locations for files moved
3686         from common to nat.
3687         (object file files): Reordered.
3688
3689 2014-06-20  Gary Benson  <gbenson@redhat.com>
3690
3691         * i386-low.h (i386_dr_low_can_set_addr): Removed.
3692         (i386_dr_low_set_addr): Likewise.
3693         (i386_dr_low_get_addr): Likewise.
3694         (i386_dr_low_can_set_control): Likewise.
3695         (i386_dr_low_set_control): Likewise.
3696         (i386_dr_low_get_control): Likewise.
3697         (i386_dr_low_get_status): Likewise.
3698         (i386_get_debug_register_length): Likewise.
3699         * linux-x86-low.c (i386_dr_low_set_addr):
3700         Changed signature.  Made static.
3701         (i386_dr_low_get_addr): Likewise.
3702         (i386_dr_low_set_control): Likewise.
3703         (i386_dr_low_get_control): Likewise.
3704         (i386_dr_low_get_status): Likewise.
3705         (i386_dr_low): New global variable.
3706         * win32-i386-low.c (i386_dr_low_set_addr):
3707         Changed signature.  Made static.
3708         (i386_dr_low_get_addr): Likewise.
3709         (i386_dr_low_set_control): Likewise.
3710         (i386_dr_low_get_control): Likewise.
3711         (i386_dr_low_get_status): Likewise.
3712         (i386_dr_low): New global variable.
3713
3714 2014-06-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
3715
3716         * configure.ac: Invoke. AC_CHECK_TOOL(AR, ar).
3717         * Makefile.in (AR, AR_FLAGS): Define.
3718         * configure: Regenerate.
3719
3720 2014-06-19  Gary Benson  <gbenson@redhat.com>
3721
3722         * Makefile.in (i386-dregs.o): New rule.
3723         * configure.srv: Add i386-dregs.o to all targets using i386-low.o.
3724         * i386-low.c (target.h): Remove include.
3725         (TARGET_HAS_DR_LEN_8): Now in i386-dregs.c.
3726         (DR_CONTROL_SHIFT): Likewise.
3727         (DR_CONTROL_SIZE): Likewise.
3728         (DR_RW_EXECUTE): Likewise.
3729         (DR_RW_WRITE): Likewise.
3730         (DR_RW_READ): Likewise.
3731         (DR_RW_IORW): Likewise.
3732         (DR_LEN_1): Likewise.
3733         (DR_LEN_2): Likewise.
3734         (DR_LEN_4): Likewise.
3735         (DR_LEN_8): Likewise.
3736         (DR_LOCAL_ENABLE_SHIFT): Likewise.
3737         (DR_GLOBAL_ENABLE_SHIFT): Likewise.
3738         (DR_ENABLE_SIZE): Likewise.
3739         (DR_LOCAL_SLOWDOWN): Likewise.
3740         (DR_GLOBAL_SLOWDOWN): Likewise.
3741         (DR_CONTROL_RESERVED): Likewise.
3742         (I386_DR_CONTROL_MASK): Likewise.
3743         (I386_DR_VACANT): Likewise.
3744         (I386_DR_LOCAL_ENABLE): Likewise.
3745         (I386_DR_GLOBAL_ENABLE): Likewise.
3746         (I386_DR_DISABLE): Likewise.
3747         (I386_DR_SET_RW_LEN): Likewise.
3748         (I386_DR_GET_RW_LEN): Likewise.
3749         (I386_DR_WATCH_HIT): Likewise.
3750         (i386_wp_op_t): Likewise.
3751         (i386_show_dr): Likewise.
3752         (i386_length_and_rw_bits): Likewise.
3753         (i386_insert_aligned_watchpoint): Likewise.
3754         (i386_remove_aligned_watchpoint): Likewise.
3755         (i386_handle_nonaligned_watchpoint): Likewise.
3756         i386_update_inferior_debug_regs(): Likewise.
3757         (i386_dr_insert_watchpoint): Likewise.
3758         (i386_dr_remove_watchpoint): Likewise.
3759         (i386_dr_region_ok_for_watchpoint): Likewise.
3760         (i386_dr_stopped_data_address): Likewise.
3761         (i386_dr_stopped_by_watchpoint): Likewise.
3762
3763 2014-06-19  Gary Benson  <gbenson@redhat.com>
3764
3765         * i386-low.c (i386_dr_show): Renamed to
3766         i386_show_dr and made static.  All uses updated.
3767         (i386_dr_length_and_rw_bits): Renamed to
3768         i386_length_and_rw_bits and made static.
3769         All uses updated.
3770         (i386_dr_insert_aligned_watchpoint): Renamed to
3771         i386_insert_aligned_watchpoint and made static.
3772         All uses updated.
3773         (i386_dr_remove_aligned_watchpoint): Renamed to
3774         i386_remove_aligned_watchpoint and made static.
3775         All uses updated.
3776         (i386_dr_update_inferior_debug_regs): Renamed to
3777         i386_update_inferior_debug_regs and made static.
3778         All uses updated.
3779
3780 2014-06-18  Gary Benson  <gbenson@redhat.com>
3781
3782         * i386-low.h (i386_dr_low_can_set_addr): New macro.
3783         (i386_dr_low_can_set_control): Likewise.
3784         (i386_get_debug_register_length): Likewise.
3785         * i386-low.c (i386_dr_low_can_set_addr): Now in i386-low.h.
3786         (i386_dr_low_can_set_control): Likewise.
3787         (i386_get_debug_register_length): Likewise.
3788
3789 2014-06-17  Gary Benson  <gbenson@redhat.com>
3790
3791         * i386-low.h (i386-dregs.h): New include.
3792         (DR_FIRSTADDR): Now in i386-dregs.h.
3793         (DR_LASTADDR): Likewise.
3794         (DR_NADDR): Likewise.
3795         (DR_STATUS): Likewise.
3796         (DR_CONTROL): Likewise.
3797         (i386_debug_reg_state): Likewise.
3798         (i386_dr_insert_watchpoint): Likewise.
3799         (i386_dr_remove_watchpoint): Likewise.
3800         (i386_dr_region_ok_for_watchpoint): Likewise.
3801         (i386_dr_stopped_data_address): Likewise.
3802         (i386_dr_stopped_by_watchpoint): Likewise.
3803         * i386-low.c (ALL_DEBUG_REGISTERS): Likewise.
3804
3805 2014-06-18  Gary Benson  <gbenson@redhat.com>
3806
3807         * i386-low.h (i386_low_insert_watchpoint): Renamed to
3808         i386_dr_insert_watchpoint.
3809         (i386_low_remove_watchpoint): Renamed to
3810         i386_dr_remove_watchpoint.
3811         (i386_low_region_ok_for_watchpoint): Renamed to
3812         i386_dr_region_ok_for_watchpoint.
3813         (i386_low_stopped_data_address): Renamed to
3814         i386_dr_stopped_data_address.
3815         (i386_low_stopped_by_watchpoint): Renamed to
3816         i386_dr_stopped_by_watchpoint.
3817         * i386-low.c (i386_show_dr): Renamed to
3818         i386_dr_show and made nonstatic.  All uses updated.
3819         (i386_length_and_rw_bits): Renamed to
3820         i386_dr_length_and_rw_bits and made nonstatic.
3821         All uses updated.
3822         (i386_insert_aligned_watchpoint): Renamed to
3823         i386_dr_insert_aligned_watchpoint and made nonstatic.
3824         All uses updated.
3825         (i386_remove_aligned_watchpoint): Renamed to
3826         i386_dr_remove_aligned_watchpoint and made nonstatic.
3827         All uses updated.
3828         (i386_update_inferior_debug_regs): Renamed to
3829         i386_dr_update_inferior_debug_regs and made nonstatic.
3830         All uses updated.
3831         (i386_low_insert_watchpoint): Renamed to
3832         i386_dr_insert_watchpoint.  All uses updated.
3833         (i386_low_remove_watchpoint): Renamed to
3834         i386_dr_remove_watchpoint.  All uses updated.
3835         (i386_low_region_ok_for_watchpoint): Renamed to
3836         i386_dr_region_ok_for_watchpoint.  All uses updated.
3837         (i386_low_stopped_data_address): Renamed to
3838         i386_dr_stopped_data_address.  All uses updated.
3839         (i386_low_stopped_by_watchpoint): Renamed to
3840         i386_dr_stopped_by_watchpoint.  All uses updated.
3841
3842 2014-06-18  Gary Benson  <gbenson@redhat.com>
3843
3844         * i386-low.c (i386_dr_low_can_set_addr): New macro.
3845         (i386_dr_low_can_set_control): Likewise.
3846         (i386_insert_aligned_watchpoint): New check.
3847
3848 2014-06-18  Gary Benson  <gbenson@redhat.com>
3849
3850         * i386-low.c (i386_update_inferior_debug_regs) <inf_state>:
3851         Renamed to state.
3852
3853 2014-06-18  Gary Benson  <gbenson@redhat.com>
3854
3855         * i386-low.c (i386_length_and_rw_bits): Use internal_error
3856         instead of fatal and error.
3857         (i386_handle_nonaligned_watchpoint): Likewise.
3858
3859 2014-06-18  Gary Benson  <gbenson@redhat.com>
3860
3861         * i386-low.c (i386_get_debug_register_length): New macro.
3862         (TARGET_HAS_DR_LEN_8): Remove conditional.  Use above macro.
3863         (i386_show_dr): Use debug_printf instead of fprintf.  Use
3864         phex to format values.
3865
3866 2014-06-18  Gary Benson  <gbenson@redhat.com>
3867
3868         * i386-low.h: Comment changes.
3869         * i386-low.c: Likewise.
3870
3871 2014-06-18  Gary Benson  <gbenson@redhat.com>
3872
3873         * i386-low.c: Whitespace changes.
3874
3875 2014-06-12  Tom Tromey  <tromey@redhat.com>
3876
3877         * utils.c (freeargv): Remove.
3878
3879 2014-06-12  Tom Tromey  <tromey@redhat.com>
3880
3881         * debug.c (debug_printf): Remove HAVE_GETTIMEOFDAY checks.
3882         * server.c (monitor_show_help): Remove HAVE_GETTIMEOFDAY check.
3883         (parse_debug_format_options): Likewise.
3884         (gdbserver_usage): Likewise.
3885         * Makefile.in (LIBIBERTY_BUILDDIR, LIBIBERTY): New variables.
3886         (SUBDIRS, REQUIRED_SUBDIRS): Add libiberty.
3887         (gdbserver$(EXEEXT), gdbreplay$(EXEEXT)): Depend on and link
3888         against libiberty.
3889         ($(LIBGNU)): Depend on libiberty.
3890         (all-lib): Recurse into all subdirs.
3891         (install-only): Invoke "install" target in subdirs.
3892         (vasprintf.o, vsnprintf.o, safe-ctype.o, lbasename.o): Remove
3893         targets.
3894         * configure: Rebuild.
3895         * configure.ac: Add ACX_CONFIGURE_DIR for libiberty.  Don't check
3896         for vasprintf, vsnprintf, or gettimeofday.
3897         * configure.srv: Don't add safe-ctype.o or lbasename.o to
3898         srv_tgtobj.
3899
3900 2014-06-05  Joel Brobecker  <brobecker@adacore.com>
3901
3902         * development.sh: Delete.
3903         * Makefile.in (config.status): Adjust dependency on development.sh.
3904         * configure.ac: Adjust development.sh source call.
3905         * configure: Regenerate.
3906
3907 2014-06-02  Pedro Alves  <palves@redhat.com>
3908
3909         * ax.c (gdb_free_agent_expr): New function.
3910         * ax.h (gdb_free_agent_expr): New declaration.
3911         * mem-break.c (delete_gdb_breakpoint_1): Also clear the commands
3912         list.
3913         (clear_breakpoint_conditions, clear_breakpoint_commands): Make
3914         static.
3915         (clear_breakpoint_conditions_and_commands): New function.
3916         * mem-break.h (clear_breakpoint_conditions): Delete declaration.
3917         (clear_breakpoint_conditions_and_commands): New declaration.
3918
3919 2014-05-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3920
3921         * linux-aarch64-low.c (asm/ptrace.h): Include.
3922
3923 2014-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
3924
3925         Fix TLS access for -static -pthread.
3926         * gdbserver/thread-db.c (struct thread_db): Add td_thr_tlsbase_p.
3927         (thread_db_get_tls_address): Call it if LOAD_MODULE is zero.
3928         (thread_db_load_search, try_thread_db_load_1): Initialize it.
3929
3930 2014-05-20  Pedro Alves  <palves@redhat.com>
3931
3932         * linux-aarch64-low.c (aarch64_insert_point)
3933         (aarch64_remove_point): No longer check whether the type is
3934         supported here.  Adjust to new interface.
3935         (the_low_target): Install aarch64_supports_z_point_type as
3936         supports_z_point_type method.
3937         * linux-arm-low.c (raw_bkpt_type_to_arm_hwbp_type): New function.
3938         (arm_linux_hw_point_initialize): Take an enum raw_bkpt_type
3939         instead of a Z packet char.  Adjust.
3940         (arm_supports_z_point_type): New function.
3941         (arm_insert_point, arm_remove_point): Adjust to new interface.
3942         (the_low_target): Install arm_supports_z_point_type.
3943         * linux-crisv32-low.c (cris_supports_z_point_type): New function.
3944         (cris_insert_point, cris_remove_point): Adjust to new interface.
3945         Don't check whether the type is supported here.
3946         (the_low_target): Install cris_supports_z_point_type.
3947         * linux-low.c (linux_supports_z_point_type): New function.
3948         (linux_insert_point, linux_remove_point): Adjust to new interface.
3949         * linux-low.h (struct linux_target_ops) <insert_point,
3950         remove_point>: Take an enum raw_bkpt_type instead of a char.  Add
3951         raw_breakpoint pointer parameter.
3952         <supports_z_point_type>: New method.
3953         * linux-mips-low.c (mips_supports_z_point_type): New function.
3954         (mips_insert_point, mips_remove_point): Adjust to new interface.
3955         Use mips_supports_z_point_type.
3956         (the_low_target): Install mips_supports_z_point_type.
3957         * linux-ppc-low.c (the_low_target): Install NULL as
3958         supports_z_point_type method.
3959         * linux-s390-low.c (the_low_target): Install NULL as
3960         supports_z_point_type method.
3961         * linux-sparc-low.c (the_low_target): Install NULL as
3962         supports_z_point_type method.
3963         * linux-x86-low.c (x86_supports_z_point_type): New function.
3964         (x86_insert_point): Adjust to new insert_point interface.  Use
3965         insert_memory_breakpoint.  Adjust to new
3966         i386_low_insert_watchpoint interface.
3967         (x86_remove_point): Adjust to remove_point interface.  Use
3968         remove_memory_breakpoint.  Adjust to new
3969         i386_low_remove_watchpoint interface.
3970         (the_low_target): Install x86_supports_z_point_type.
3971         * lynx-low.c (lynx_target_ops): Install NULL as
3972         supports_z_point_type callback.
3973         * nto-low.c (nto_supports_z_point_type): New.
3974         (nto_insert_point, nto_remove_point): Adjust to new interface.
3975         (nto_target_ops): Install nto_supports_z_point_type.
3976         * mem-break.c: Adjust intro comment.
3977         (struct raw_breakpoint) <raw_type, size>: New fields.
3978         <inserted>: Update comment.
3979         <shlib_disabled>: Delete field.
3980         (enum bkpt_type) <gdb_breakpoint>: Delete value.
3981         <gdb_breakpoint_Z0, gdb_breakpoint_Z1, gdb_breakpoint_Z2,
3982         gdb_breakpoint_Z3, gdb_breakpoint_Z4>: New values.
3983         (raw_bkpt_type_to_target_hw_bp_type): New function.
3984         (find_enabled_raw_code_breakpoint_at): New function.
3985         (find_raw_breakpoint_at): New type and size parameters.  Use them.
3986         (insert_memory_breakpoint): New function, based off
3987         set_raw_breakpoint_at.
3988         (remove_memory_breakpoint): New function.
3989         (set_raw_breakpoint_at): Reimplement.
3990         (set_breakpoint): New, based on set_breakpoint_at.
3991         (set_breakpoint_at): Reimplement.
3992         (delete_raw_breakpoint): Go through the_target->remove_point
3993         instead of assuming memory breakpoints.
3994         (find_gdb_breakpoint_at): Delete.
3995         (Z_packet_to_bkpt_type, Z_packet_to_raw_bkpt_type): New functions.
3996         (find_gdb_breakpoint): New function.
3997         (set_gdb_breakpoint_at): Delete.
3998         (z_type_supported): New function.
3999         (set_gdb_breakpoint_1): New function, loosely based off
4000         set_gdb_breakpoint_at.
4001         (check_gdb_bp_preconditions, set_gdb_breakpoint): New functions.
4002         (delete_gdb_breakpoint_at): Delete.
4003         (delete_gdb_breakpoint_1): New function, loosely based off
4004         delete_gdb_breakpoint_at.
4005         (delete_gdb_breakpoint): New function.
4006         (clear_gdb_breakpoint_conditions): Rename to ...
4007         (clear_breakpoint_conditions): ... this.  Don't handle a NULL
4008         breakpoint.
4009         (add_condition_to_breakpoint): Make static.
4010         (add_breakpoint_condition): Take a struct breakpoint pointer
4011         instead of an address.  Adjust.
4012         (gdb_condition_true_at_breakpoint): Rename to ...
4013         (gdb_condition_true_at_breakpoint_z_type): ... this, and add
4014         z_type parameter.
4015         (gdb_condition_true_at_breakpoint): Reimplement.
4016         (add_breakpoint_commands): Take a struct breakpoint pointer
4017         instead of an address.  Adjust.
4018         (gdb_no_commands_at_breakpoint): Rename to ...
4019         (gdb_no_commands_at_breakpoint_z_type): ... this.  Add z_type
4020         parameter.  Return true if no breakpoint was found.  Change debug
4021         output.
4022         (gdb_no_commands_at_breakpoint): Reimplement.
4023         (run_breakpoint_commands): Rename to ...
4024         (run_breakpoint_commands_z_type): ... this.  Add z_type parameter,
4025         and change return type to boolean.
4026         (run_breakpoint_commands): New function.
4027         (gdb_breakpoint_here): Also check for Z1 breakpoints.
4028         (uninsert_raw_breakpoint): Don't try to reinsert a disabled
4029         breakpoint.  Go through the_target->remove_point instead of
4030         assuming memory breakpoint.
4031         (uninsert_breakpoints_at, uninsert_all_breakpoints): Uninsert
4032         software and hardware breakpoints.
4033         (reinsert_raw_breakpoint): Go through the_target->insert_point
4034         instead of assuming memory breakpoint.
4035         (reinsert_breakpoints_at, reinsert_all_breakpoints): Reinsert
4036         software and hardware breakpoints.
4037         (check_breakpoints, breakpoint_here, breakpoint_inserted_here):
4038         Check both software and hardware breakpoints.
4039         (validate_inserted_breakpoint): Assert the breakpoint is a
4040         software breakpoint.  Set the inserted flag to -1 instead of
4041         setting shlib_disabled.
4042         (delete_disabled_breakpoints): Adjust.
4043         (validate_breakpoints): Only validate software breakpoints.
4044         Adjust to inserted flag change.
4045         (check_mem_read, check_mem_write): Skip breakpoint types other
4046         than software breakpoints.  Adjust to inserted flag change.
4047         * mem-break.h (enum raw_bkpt_type): New enum.
4048         (raw_breakpoint, struct process_info): Forward declare.
4049         (Z_packet_to_target_hw_bp_type): Delete declaration.
4050         (raw_bkpt_type_to_target_hw_bp_type, Z_packet_to_raw_bkpt_type)
4051         (set_gdb_breakpoint, delete_gdb_breakpoint)
4052         (clear_breakpoint_conditions): New declarations.
4053         (set_gdb_breakpoint_at, clear_gdb_breakpoint_conditions): Delete.
4054         (breakpoint_inserted_here): Update comment.
4055         (add_breakpoint_condition, add_breakpoint_commands): Replace
4056         address parameter with a breakpoint pointer parameter.
4057         (gdb_breakpoint_here): Update comment.
4058         (delete_gdb_breakpoint_at): Delete.
4059         (insert_memory_breakpoint, remove_memory_breakpoint): Declare.
4060         * server.c (process_point_options): Take a struct breakpoint
4061         pointer instead of an address.  Adjust.
4062         (process_serial_event) <Z/z packets>: Use set_gdb_breakpoint and
4063         delete_gdb_breakpoint.
4064         * spu-low.c (spu_target_ops): Install NULL as
4065         supports_z_point_type method.
4066         * target.h: Include mem-break.h.
4067         (struct target_ops) <prepare_to_access_memory>: Update comment.
4068         <supports_z_point_type>: New field.
4069         <insert_point, remove_point>: Take an enum raw_bkpt_type argument
4070         instead of a char.  Also take a raw breakpoint pointer.
4071         * win32-arm-low.c (the_low_target): Install NULL as
4072         supports_z_point_type.
4073         * win32-i386-low.c (i386_supports_z_point_type): New function.
4074         (i386_insert_point, i386_remove_point): Adjust to new interface.
4075         (the_low_target): Install i386_supports_z_point_type.
4076         * win32-low.c (win32_supports_z_point_type): New function.
4077         (win32_insert_point, win32_remove_point): Adjust to new interface.
4078         (win32_target_ops): Install win32_supports_z_point_type.
4079         * win32-low.h (struct win32_target_ops):
4080         <supports_z_point_type>: New method.
4081         <insert_point, remove_point>: Take an enum raw_bkpt_type argument
4082         instead of a char.  Also take a raw breakpoint pointer.
4083
4084 2014-05-20  Pedro Alves  <palves@redhat.com>
4085
4086         * mem-break.h: Include break-common.h.
4087         (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP)
4088         (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): New defines.
4089         (Z_packet_to_target_hw_bp_type): New declaration.
4090         * mem-break.c (Z_packet_to_target_hw_bp_type): New function.
4091         * i386-low.c (Z_PACKET_HW_BP, Z_PACKET_WRITE_WP, Z_PACKET_READ_WP)
4092         (Z_PACKET_ACCESS_WP): Delete macros.
4093         (Z_packet_to_hw_type): Delete function.
4094         * i386-low.h: Don't include break-common.h here.
4095         (Z_packet_to_hw_type): Delete declaration.
4096         * linux-x86-low.c (x86_insert_point, x86_insert_point): Call
4097         Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type.
4098         * win32-i386-low.c (i386_insert_point, i386_remove_point): Call
4099         Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type.
4100         * linux-aarch64-low.c: Don't include break-common.h here.
4101         (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP)
4102         (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): Delete macros.
4103         (Z_packet_to_target_hw_bp_type): Delete function.
4104         * linux-mips-low.c (rsp_bp_type_to_target_hw_bp_type): Delete
4105         function.
4106         (mips_insert_point, mips_remove_point): Use
4107         Z_packet_to_target_hw_bp_type.
4108
4109 2014-05-20  Pedro Alves  <palves@redhat.com>
4110
4111         * linux-aarch64-low.c: Include break-common.h.
4112         (enum target_point_type): Delete.
4113         (Z_packet_to_point_type): Rename to ...
4114         (Z_packet_to_target_hw_bp_type): ... this, and return a
4115         target_hw_bp_type instead.
4116         (aarch64_show_debug_reg_state): Take an enum target_hw_bp_type
4117         instead of an enum target_point_type.
4118         (aarch64_point_encode_ctrl_reg): Likewise.  Compute type mask from
4119         breakpoint type.
4120         (aarch64_dr_state_insert_one_point)
4121         (aarch64_dr_state_remove_one_point, aarch64_handle_breakpoint)
4122         (aarch64_handle_aligned_watchpoint)
4123         (aarch64_handle_unaligned_watchpoint, aarch64_handle_watchpoint):
4124         Take an enum target_hw_bp_type instead of an enum
4125         target_point_type.
4126         (aarch64_supports_z_point_type): New function.
4127         (aarch64_insert_point, aarch64_remove_point): Use it.  Adjust to
4128         use Z_packet_to_target_hw_bp_type.
4129
4130 2014-05-20  Joel Brobecker  <brobecker@adacore.com>
4131
4132         * configure.ac: Only use -Werror by default when DEVELOPMENT
4133         is true.
4134         * configure: Regenerate.
4135
4136 2014-05-19  Jan Kratochvil  <jan.kratochvil@redhat.com>
4137
4138         Fix gdbserver qGetTLSAddr for x86_64 -m32.
4139         * linux-x86-low.c (X86_64_USER_REGS): New.
4140         (x86_fill_gregset): Call memset for BUF first in x86_64 -m32 case.
4141
4142 2014-04-28  Yao Qi  <yao@codesourcery.com>
4143
4144         * Makefile.in (i386-avx512.c): Fix the typo of generated file
4145         name.
4146
4147 2014-04-25  Pedro Alves  <palves@redhat.com>
4148
4149         PR server/16255
4150         * linux-low.c (linux_attach_fail_reason_string): New function.
4151         (linux_attach_lwp): Delete.
4152         (linux_attach_lwp_1): Rename to ...
4153         (linux_attach_lwp): ... this.  Take a ptid instead of a pid as
4154         argument.  Remove "initial" parameter.  Return int instead of
4155         void.  Don't error or warn here.
4156         (linux_attach): Adjust to call linux_attach_lwp.  Call error on
4157         failure to attach to the tgid.  Call warning when failing to
4158         attach to an lwp.
4159         * linux-low.h (linux_attach_lwp): Take a ptid instead of a pid as
4160         argument.  Remove "initial" parameter.  Return int instead of
4161         void.  Don't error or warn here.
4162         (linux_attach_fail_reason_string): New declaration.
4163         * thread-db.c (attach_thread): Adjust to linux_attach_lwp's
4164         interface change.  Use linux_attach_fail_reason_string.
4165
4166 2014-04-24  Michael Sturm  <michael.sturm@mintel.com>
4167             Walfred Tedeschi  <walfred.tedeschi@intel.com>
4168
4169         * Makefile.in: Added rules to handle new files
4170         i386-avx512.c i386-avx512-linux.c amd64-avx512.c
4171         amd64-avx512-linux.c x32-avx512.c x32-avx512-linux.c.
4172         * configure.srv (srv_i386_regobj): Add i386-avx512.o.
4173         (srv_i386_linux_regobj): Add i386-avx512-linux.o.
4174         (srv_amd64_regobj): Add amd64-avx512.o and x32-avx512.o.
4175         (srv_amd64_linux_regobj): Add amd64-avx512-linux.o and
4176         x32-avx512-linux.o.
4177         (srv_i386_32bit_xmlfiles): Add i386/32bit-avx512.xml.
4178         (srv_i386_64bit_xmlfiles): Add i386/64bit-avx512.xml.
4179         (srv_amd64_xmlfiles): Add i386/amd64-avx512.xml and
4180         i386/x32-avx512.xml.
4181         (srv_i386_linux_xmlfiles): Add i386/i386-avx512-linux.xml.
4182         (srv_amd64_linux_xmlfiles): Add i386/amd64-avx512-linux.xml and
4183         i386/x32-avx512-linux.xml.
4184         * i387-fp.c (num_avx512_k_registers): New constant for number
4185         of K registers.
4186         (num_avx512_zmmh_low_registers): New constant for number of
4187         lower ZMM registers (0-15).
4188         (num_avx512_zmmh_high_registers): New constant for number of
4189         higher ZMM registers (16-31).
4190         (num_avx512_ymmh_registers): New contant for number of higher
4191         YMM registers (ymm16-31 added by avx521 on x86_64).
4192         (num_avx512_xmm_registers): New constant for number of higher
4193         XMM registers (xmm16-31 added by AVX512 on x86_64).
4194         (struct i387_xsave): Add space for AVX512 registers.
4195         (i387_cache_to_xsave): Change raw buffer size to 64 characters.
4196         Add code to handle AVX512 registers.
4197         (i387_xsave_to_cache): Add code to handle AVX512 registers.
4198         * linux-x86-low.c (init_registers_amd64_avx512_linux): New
4199         prototypei from generated file.
4200         (tdesc_amd64_avx512_linux): Likewise.
4201         (init_registers_x32_avx512_linux): Likewise.
4202         (tdesc_x32_avx512_linux): Likewise.
4203         (init_registers_i386_avx512_linux): Likewise.
4204         (tdesc_i386_avx512_linux): Likewise.
4205         (x86_64_regmap): Add AVX512 registers.
4206         (x86_linux_read_description): Add code to handle AVX512 XSTATE
4207         mask.
4208         (initialize_low_arch): Add code to initialize AVX512 registers.
4209
4210 2014-04-23  Pedro Alves  <palves@redhat.com>
4211
4212         * mem-break.c (find_gdb_breakpoint_at): Make static.
4213         * mem-break.h (find_gdb_breakpoint_at): Delete declaration.
4214
4215 2014-04-23  Pedro Alves  <palves@redhat.com>
4216
4217         * i386-low.c: Don't include break-common.h here.
4218         (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change
4219         prototype to take target_hw_bp_type as argument instead of a Z
4220         packet char.
4221         * i386-low.h: Include break-common.h here.
4222         (Z_packet_to_hw_type): Declare.
4223         (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change
4224         prototypes.
4225         * linux-x86-low.c (x86_insert_point): Convert the packet number to
4226         a target_hw_bp_type before calling i386_low_insert_watchpoint.
4227         (x86_remove_point): Convert the packet number to a
4228         target_hw_bp_type before calling i386_low_remove_watchpoint.
4229         * win32-i386-low.c (i386_insert_point): Convert the packet number
4230         to a target_hw_bp_type before calling i386_low_insert_watchpoint.
4231         (i386_remove_point): Convert the packet number to a
4232         target_hw_bp_type before calling i386_low_remove_watchpoint.
4233
4234 2014-04-23  Pedro Alves  <palves@redhat.com>
4235
4236         * utils.h (perror_with_name): Add ATTRIBUTE_NORETURN.
4237
4238 2014-04-10  Pedro Alves  <palves@redhat.com>
4239
4240         * mem-break.c (add_breakpoint_condition, add_breakpoint_commands):
4241         Check if the condition or command is NULL before checking if the
4242         breakpoint is known.  On success, return true.
4243         * mem-break.h (add_breakpoint_condition): Document return.
4244         (add_breakpoint_commands): Add describing comment.
4245         * server.c (skip_to_semicolon): New function.
4246         (process_point_options): Use it.
4247
4248 2014-04-09  Pedro Alves  <palves@redhat.com>
4249
4250         * linux-low.c (linux_read_loadmap): Pass current_inferior directly
4251         to lwpid_of.
4252
4253 2014-02-27  Pedro Alves  <palves@redhat.com>
4254
4255         PR 12702
4256         * inferiors.h (A_I_NEXT, ALL_INFERIORS_TYPE, ALL_PROCESSES): New
4257         macros.
4258         * linux-low.c (delete_lwp, handle_extended_wait): Add debug
4259         output.
4260         (last_thread_of_process_p): Take a PID argument instead of a
4261         thread pointer.
4262         (linux_wait_for_lwp): Delete.
4263         (num_lwps, check_zombie_leaders, not_stopped_callback): New
4264         functions.
4265         (linux_low_filter_event): New function, party factored out from
4266         linux_wait_for_event.
4267         (linux_wait_for_event): Rename to ...
4268         (linux_wait_for_event_filtered): ... this.  Add new filter ptid
4269         argument.  Partly rewrite.  Always use waitpid(-1, WNOHANG) and
4270         sigsuspend.  Check for zombie leaders.
4271         (linux_wait_for_event): Reimplement as wrapper around
4272         linux_wait_for_event_filtered.
4273         (linux_wait_1): Handle TARGET_WAITKIND_NO_RESUMED.  Assume that if
4274         a normal or signal exit is seen, it's the whole process exiting.
4275         (wait_for_sigstop): No longer a for_each_inferior callback.
4276         Rewrite on top of linux_wait_for_event_filtered.
4277         (stop_all_lwps): Call wait_for_sigstop directly.
4278         * server.c (resume, handle_target_event): Handle
4279         TARGET_WAITKIND_NO_RESUMED.
4280
4281 2014-02-26  Joel Brobecker  <brobecker@adacore.com>
4282
4283         * win32-low.c (psapi_get_dll_name,
4284         * win32_CreateToolhelp32Snapshot): Delete.
4285         (win32_CreateToolhelp32Snapshot, win32_Module32First)
4286         (win32_Module32Next, load_toolhelp, toolhelp_get_dll_name):
4287         Delete.
4288         (handle_load_dll): Add function description.
4289         Remove code using psapi_get_dll_name and toolhelp_get_dll_name.
4290
4291 2014-02-26  Joel Brobecker  <brobecker@adacore.com>
4292
4293         * win32-low.c (win32_add_one_solib): Add 0x1000 to load_addr.
4294         Add comment.
4295         (win32_add_all_dlls): Remove 0x1000 offset applied to DLL
4296         base address when calling win32_add_one_solib.
4297         (handle_load_dll): Delete local variable load_addr.
4298         Remove 0x1000 offset applied to DLL base address when calling
4299         win32_add_one_solib.
4300         (handle_unload_dll): Add comment.
4301
4302 2014-02-26  Joel Brobecker  <brobecker@adacore.com>
4303
4304         * win32-low.c (win32_add_all_dlls): Renames
4305         win32_ensure_ntdll_loaded.  Rewrite function documentation.
4306         Adjust implementation to always load all DLLs.
4307         Add 0x1000 offset to DLL base address when calling
4308         win32_add_one_solib.
4309         (child_initialization_done): New static global.
4310         (do_initial_child_stuff): Set child_initialization_done to
4311         zero during child initialization, and 1 after.  Replace call
4312         to win32_ensure_ntdll_loaded by call to win32_add_all_dlls.
4313         Add comment.
4314         (match_dll_by_basename, dll_is_loaded_by_basename): Delete.
4315         (handle_unload_dll): Add function documentation.
4316         (get_child_debug_event): Ignore load and unload DLL events
4317         during child initialization.
4318
4319 2014-02-20  Doug Evans  <dje@google.com>
4320
4321         Remove global all_lwps.
4322         * inferiors.h (ptid_of): Move here from linux-low.h.
4323         (pid_of, lwpid_of): Ditto.
4324         * linux-aarch64-low.c (debug_reg_change_callback): Update, "entry"
4325         parameter is a struct thread_info * now.
4326         (aarch64_notify_debug_reg_change): Fetch pid from current_inferior
4327         directly.  Pass &all_threads to find_inferior instead of &all_lwps.
4328         (aarch64_stopped_data_address): Fetch lwpid from current_inferior
4329         directly.
4330         (aarch64_linux_prepare_to_resume): Fetch ptid from thread.
4331         (aarch64_arch_setup): Fetch lwpid from current_inferior directly.
4332         * linux-arm-low.c (update_registers_callback): Update, "entry"
4333         parameter is a struct thread_info * now.
4334         Fetch lwpid from current_inferior directly.
4335         (arm_insert_point): Pass &all_threads to find_inferior instead of
4336         &all_lwps.
4337         (arm_remove_point): Ditto.
4338         (arm_stopped_by_watchpoint): Fetch lwp from current_inferior.
4339         (arm_prepare_to_resume): Fetch pid from thread.
4340         (arm_read_description): Fetch lwpid from current_inferior directly.
4341         * linux-low.c (all_lwps): Delete.
4342         (delete_lwp): Delete call to remove_inferior.
4343         (handle_extended_wait): Fetch lwpid from thread.
4344         (add_lwp): Don't set lwp->entry.id.  Remove call to
4345         add_inferior_to_list.
4346         (linux_attach_lwp_1): Fetch pid from current_inferior directly.
4347         (linux_kill_one_lwp): Fetch ptid,lwpid from thread.
4348         (kill_one_lwp_callback): Ditto.
4349         (linux_kill): Don't dereference NULL pointer.
4350         Fetch ptid,lwpid from thread.
4351         (get_detach_signal): Fetch ptid from thread.
4352         (linux_detach_one_lwp): Fetch ptid,lwpid from thread.
4353         Simplify call to regcache_invalidate_thread.
4354         (delete_lwp_callback): Update, "entry" parameter is a
4355         struct thread_info * now.  Fetch pid from thread.
4356         (linux_mourn): Pass &all_threads to find_inferior instead of &all_lwps.
4357         (status_pending_p_callback): Update, "entry" parameter is a
4358         struct thread_info * now.  Fetch ptid from thread.
4359         (find_lwp_pid): Update, "entry" parameter is a
4360         struct thread_info * now.
4361         (linux_wait_for_lwp): Fetch pid from thread.
4362         (linux_fast_tracepoint_collecting): Fetch lwpid from thread.
4363         (maybe_move_out_of_jump_pad): Fetch lwpid from current_inferior.
4364         (enqueue_one_deferred_signal): Fetch lwpid from thread.
4365         (dequeue_one_deferred_signal): Ditto.
4366         (cancel_breakpoint): Fetch ptid from current_inferior.
4367         (linux_wait_for_event): Pass &all_threads to find_inferior,
4368         not &all_lwps.  Fetch ptid, lwpid from thread.
4369         (count_events_callback): Update, "entry" parameter is a
4370         struct thread_info * now.
4371         (select_singlestep_lwp_callback): Ditto.
4372         (select_event_lwp_callback): Ditto.
4373         (cancel_breakpoints_callback): Ditto.
4374         (linux_cancel_breakpoints): Pass &all_threads to find_inferior,
4375         not &all_lwps.
4376         (select_event_lwp): Ditto.  Fetch ptid from event_thread.
4377         (unsuspend_one_lwp): Update, "entry" parameter is a
4378         struct thread_info * now.
4379         (unsuspend_all_lwps): Pass &all_threads to find_inferior,
4380         not &all_lwps.
4381         (linux_stabilize_threads): Ditto.  And for for_each_inferior.
4382         Fetch lwpid from thread, not lwp.
4383         (linux_wait_1): Fetch ptid, lwpid from current_inferior.
4384         Pass &all_threads to find_inferior, not &all_lwps.
4385         (send_sigstop): Fetch lwpid from thread, not lwp.
4386         (send_sigstop_callback): Update, "entry" parameter is a
4387         struct thread_info * now.
4388         (suspend_and_send_sigstop_callback): Ditto.
4389         (wait_for_sigstop): Ditto.  Fetch ptid, lwpid from thread, lwp.
4390         (stuck_in_jump_pad_callback): Update, "entry" parameter is a
4391         struct thread_info * now.
4392         (move_out_of_jump_pad_callback): Ditto.  Fetch ptid, lwpid
4393         from thread, lwp.
4394         (lwp_running): Update, "entry" parameter is a
4395         struct thread_info * now.
4396         (stop_all_lwps): Fetch ptid from thread.
4397         Pass &all_threads to find_inferior, for_each_inferior, not &all_lwps.
4398         (linux_resume_one_lwp): Fetch lwpid from thread.
4399         (linux_set_resume_request): Update, "entry" parameter is a
4400         struct thread_info * now.  Fetch pid, lwpid from thread.
4401         (resume_status_pending_p): Update, "entry" parameter is a
4402         struct thread_info * now.
4403         (need_step_over_p): Ditto.  Fetch lwpid from thread.
4404         (start_step_over): Fetch lwpid from thread.
4405         (linux_resume_one_thread): Update, "entry" parameter is a
4406         struct thread_info * now.  Fetch lwpid from thread.
4407         (linux_resume): Pass &all_threads to find_inferior, not &all_lwps.
4408         (proceed_one_lwp): Update, "entry" parameter is a
4409         struct thread_info * now.  Fetch lwpid from thread.
4410         (unsuspend_and_proceed_one_lwp): Update, "entry" parameter is a
4411         struct thread_info * now.
4412         (proceed_all_lwps): Pass &all_threads to find_inferior, not &all_lwps.
4413         (unstop_all_lwps): Ditto.  Fetch lwpid from thread.
4414         (regsets_fetch_inferior_registers): Fetch lwpid from current_inferior
4415         directly.
4416         (regsets_store_inferior_registers): Ditto.
4417         (fetch_register, store_register): Ditto.
4418         (linux_read_memory, linux_write_memory): Ditto.
4419         (linux_request_interrupt): Ditto.
4420         (linux_read_auxv): Ditto.
4421         (linux_xfer_siginfo): Ditto.
4422         (linux_qxfer_spu): Ditto.
4423         (linux_qxfer_libraries_svr4): Ditto.
4424         * linux-low.h (ptid_of, pid_of, lwpid_of): Delete,
4425         moved to inferiors.h.
4426         (get_lwp): Delete.
4427         (get_thread_lwp): Update.
4428         (struct lwp_info): Delete member "entry".  Simplify comment for
4429         member "thread".
4430         (all_lwps): Delete.
4431         * linux-mips-low.c (mips_read_description): Fetch lwpid from
4432         current_inferior directly.
4433         (update_watch_registers_callback): Update, "entry" parameter is a
4434         struct thread_info * now.  Fetch pid from thread.
4435         (mips_linux_prepare_to_resume): Fetch ptid from thread.
4436         (mips_insert_point): Fetch lwpid from current_inferior.
4437         Pass &all_threads to find_inferior, not &all_lwps.
4438         (mips_remove_point): Pass &all_threads to find_inferior, not &all_lwps.
4439         (mips_stopped_by_watchpoint): Fetch lwpid from current_inferior
4440         directly.
4441         (mips_stopped_data_address): Ditto.
4442         * linux-s390-low.c (s390_arch_setup): Fetch pid from current_inferior
4443         directly.
4444         * linux-tile-low.c (tile_arch_setup): Ditto.
4445         * linux-x86-low.c (x86_get_thread_area): Fetch lwpid from thread.
4446         (update_debug_registers_callback): Update, "entry" parameter is a
4447         struct thread_info * now.  Fetch pid from thread.
4448         (i386_dr_low_set_addr): Fetch pid from current_inferior directly.
4449         Pass &all_threads to find_inferior, not &all_lwps.
4450         (i386_dr_low_get_addr): Fetch ptid from current_inferior directly.
4451         (i386_dr_low_set_control): Fetch pid from current_inferior directly.
4452         Pass &all_threads to find_inferior, not &all_lwps.
4453         (i386_dr_low_get_control): Fetch ptid from current_inferior directly.
4454         (i386_dr_low_get_status): Ditto.
4455         (x86_linux_prepare_to_resume): Fetch ptid from thread.
4456         (x86_siginfo_fixup): Fetch lwpid from current_inferior directly.
4457         (x86_linux_read_description): Ditto.
4458         * proc-service.c (ps_getpid): Fetch pid from current_inferior directly.
4459
4460 2014-02-20  Doug Evans  <dje@google.com>
4461
4462         * inferiors.c (get_first_inferior): Fix buglet.
4463
4464 2014-02-19  Doug Evans  <dje@google.com>
4465
4466         * gdbthread.h (add_thread): Change result type to struct thread_info *.
4467         * inferiors.c (add_thread): Change result type to struct thread_info *.
4468         All callers updated.
4469         (add_lwp): Call add_thread here instead of in callers.
4470         All callers updated.
4471         * linux-low.h (get_lwp_thread): Rewrite.
4472         (struct lwp_info): New member "thread".
4473
4474 2014-02-19  Doug Evans  <dje@google.com>
4475
4476         * linux-low.c (add_lwp): Change result to struct lwp_info *.
4477         All callers updated.
4478
4479 2014-02-19  Doug Evans  <dje@google.com>
4480
4481         * inferiors.c (add_thread): Fix whitespace.
4482
4483 2014-02-19  Doug Evans  <dje@google.com>
4484
4485         * dll.c (clear_dlls): Replace accessing list implemention details
4486         with API function.
4487         * gdbthread.h (get_first_thread): Declare.
4488         * inferiors.c (for_each_inferior_with_data): New function.
4489         (get_first_thread): New function.
4490         (find_thread_ptid): Simplify.
4491         (get_first_inferior): New function.
4492         (clear_list): Delete.
4493         (one_inferior_p): New function.
4494         (clear_inferior_list): New function.
4495         (clear_inferiors): Update.
4496         * inferiors.h (for_each_inferior_with_data): Declare.
4497         (clear_inferior_list): Declare.
4498         (one_inferior_p): Declare.
4499         (get_first_inferior): Declare.
4500         * linux-low.c (linux_wait_for_event): Replace accessing list
4501         implemention details with API function.
4502         * server.c (target_running): Ditto.
4503         (accumulate_file_name_length): New function.
4504         (emit_dll_description): New function.
4505         (handle_qxfer_libraries): Replace accessing list implemention
4506         details with API function.
4507         (handle_qxfer_threads_worker): New function.
4508         (handle_qxfer_threads_proper): Replace accessing list implemention
4509         details with API function.
4510         (handle_query): Ditto.
4511         (visit_actioned_threads_callback_ftype): New typedef.
4512         (visit_actioned_threads_data): New struct.
4513         (visit_actioned_threads): Rewrite to be find_inferior callback.
4514         (resume): Call find_inferior.
4515         (handle_status): Replace accessing list implemention
4516         details with API function.
4517         (process_serial_event): Replace accessing list implemention details
4518         with API function.
4519         * target.c (set_desired_inferior): Replace accessing list implemention
4520         details with API function.
4521         * tracepoint.c (same_process_p): New function.
4522         (gdb_agent_about_to_close): Replace accessing list implemention
4523         details with API function.
4524         * win32-low.c (child_delete_thread): Replace accessing list
4525         implemention details with API function.
4526         (match_dll_by_basename): New function.
4527         (dll_is_loaded_by_basename): New function.
4528         (win32_ensure_ntdll_loaded): Replace accessing list implemention
4529         details call to dll_is_loaded_by_basename.
4530
4531 2014-02-19  Doug Evans  <dje@google.com>
4532
4533         * dll.h (struct dll_info): Add comment.
4534         * gdbthread.h (struct thread_info): Add comment.
4535         (current_ptid): Simplify.
4536         * inferiors.c (add_process): Update.
4537         (remove_process): Update.
4538         * inferiors.h (struct process_info): Rename member "head" to "entry".
4539         * linux-low.c (delete_lwp): Update.
4540         (add_lwp): Update.
4541         (last_thread_of_process_p): Update.
4542         (kill_one_lwp_callback, linux_kill): Update.
4543         (status_pending_p_callback): Update.
4544         (wait_for_sigstop): Update.  Simplify read of ptid.
4545         (start_step_over): Update.
4546         * linux-low.h (ptid_of, pid_of, lwpid_of): Update.
4547         (get_lwp_thread): Update.
4548         (struct lwp_info): Rename member "head" to "entry".
4549         * regcache.h (inferior_list_entry): Delete.
4550         * server.c (kill_inferior_callback): Update.
4551         (detach_or_kill_inferior_callback): Update.
4552         (print_started_pid): Update.
4553         (print_attached_pid): Update.
4554         (process_serial_event): Simplify read of ptid.
4555         * thread-db.c (thread_db_create_event): Update.
4556         (thread_db_get_tls_address): Update.
4557         * win32-low.c (current_inferior_ptid): Simplify.
4558
4559 2014-02-19  Tom Tromey  <tromey@redhat.com>
4560
4561         * target.h (struct target_ops) <supports_btrace>: Add target_ops
4562         argument.
4563         (target_supports_btrace): Update.
4564
4565 2014-02-14  Yao Qi  <yao@codesourcery.com>
4566
4567         * Makefile.in (IPA_OBJS): Append rsp-low-ipa.o.
4568         (rsp-low-ipa.o): New target.
4569
4570 2014-02-12  Tom Tromey  <tromey@redhat.com>
4571
4572         * ax.c (gdb_parse_agent_expr): Use hex2bin, not
4573         convert_ascii_to_int.
4574         * regcache.c (registers_to_string): Likewise.
4575         * remote-utils.c (decode_M_packet): Likewise.
4576         * server.c (process_serial_event): Likewise.
4577
4578 2014-02-12  Tom Tromey  <tromey@redhat.com>
4579
4580         * server.c (handle_query, handle_v_run): Use hex2bin, not
4581         unhexify.
4582         * tracepoint.c (cmd_qtdpsrc, cmd_qtdv, cmd_qtnotes): Likewise.
4583
4584 2014-02-12  Tom Tromey  <tromey@redhat.com>
4585
4586         * ax.c (gdb_unparse_agent_expr): Use bin2hex, not
4587         convert_int_to_ascii.
4588         * regcache.c (registers_to_string, collect_register_as_string):
4589         Likewise.
4590         * remote-utils.c (look_up_one_symbol, relocate_instruction):
4591         Likewise.
4592         * server.c (process_serial_event): Likewise.
4593         * tracepoint.c (cmd_qtstatus, response_source, response_tsv)
4594         (cmd_qtbuffer, cstr_to_hexstr): Likewise.
4595
4596 2014-02-12  Tom Tromey  <tromey@redhat.com>
4597
4598         * remote-utils.c (look_up_one_symbol, monitor_output): Use
4599         bin2hex, not hexify.
4600         * tracepoint.c (cmd_qtstatus): Likewise.
4601
4602 2014-02-12  Tom Tromey  <tromey@redhat.com>
4603
4604         * remote-utils.c (monitor_output): Pass explicit length to
4605         hexify.
4606
4607 2014-02-12  Tom Tromey  <tromey@redhat.com>
4608
4609         * tracepoint.c: Include rsp-low.h.
4610         * server.c: Include rsp-low.h.
4611         * remote-utils.h (convert_ascii_to_int, convert_int_to_ascii)
4612         (unhexify, hexify, remote_escape_output, unpack_varlen_hex): Don't
4613         declare.
4614         * remote-utils.c: Include rsp-low.h.
4615         (fromhex, hexchars, ishex, unhexify, tohex, hexify)
4616         (remote_escape_output, remote_unescape_input, unpack_varlen_hex)
4617         (convert_int_to_ascii, convert_ascii_to_int): Move to
4618         common/rsp-low.c.
4619         * regcache.c: Include rsp-low.h.
4620         * ax.c: Include rsp-low.h.
4621         * Makefile.in (SFILES): Add common/rsp-low.c.
4622         (OBS): Add rsp-low.o.
4623         (rsp-low.o): New target.
4624
4625 2014-02-12  Tom Tromey  <tromey@redhat.com>
4626
4627         * utils.h (pulongest, plongest, phex_nz): Don't declare.
4628         Include print-utils.h.
4629         * utils.c (NUMCELLS, CELLSIZE, get_cell, decimal2str, pulongest)
4630         (plongest, thirty_two, phex_nz): Remove.
4631         * Makefile.in (SFILES): Add common/print-utils.c.
4632         (OBS): Add print-utils.o.
4633         (print-utils-ipa.o): New target.
4634         (print-utils.o): New target.
4635         (IPA_OBJS): Add print-utils-ipa.o.
4636
4637 2014-02-06  Tom Tromey  <tromey@redhat.com>
4638
4639         * Makefile.in (SFILES): Fix indentation.
4640
4641 2014-02-05  Doug Evans  <dje@google.com>
4642
4643         * linux-low.c (linux_wait_for_event): Improve comment.
4644         (linux_wait_1): Keep current_inferior in sync with event_child.
4645
4646 2014-01-22  Doug Evans  <dje@google.com>
4647
4648         * gdbthread.h (gdb_id_to_thread): Delete, unused.
4649
4650 2014-01-22  Doug Evans  <dje@google.com>
4651
4652         * configure.ac (AC_CHECK_FUNCS): Add test for gettimeofday.
4653         * configure: Regenerate.
4654         * config.in: Regenerate.
4655         * Makefile.in (SFILES): Add debug.c.
4656         (OBS): Add debug.o.
4657         * debug.c: New file.
4658         * debug.h: New file.
4659         * linux-aarch64-low.c (*): Update all debugging printfs to use
4660         debug_printf instead of fprintf.
4661         * linux-arm-low.c (*): Ditto.
4662         * linux-cris-low.c (*): Ditto.
4663         * linux-crisv32-low.c (*): Ditto.
4664         * linux-m32r-low.c (*): Ditto.
4665         * linux-sparc-low.c (*): Ditto.
4666         * linux-x86.c (*): Ditto.
4667         * linux-low.c (*): Ditto.
4668         (linux_wait_1): Add calls to debug_enter, debug_exit.
4669         (linux_wait): Remove redundant debugging printf.
4670         (stop_all_lwps): Add calls to debug_enter, debug_exit.
4671         (linux_resume, unstop_all_lwps): Ditto.
4672         * mem-break.c (*): Update all debugging printfs to use
4673         debug_printf instead of fprintf.
4674         * remote-utils.c (*): Ditto.
4675         * thread-db.c (*): Ditto.
4676         * server.c #include <ctype.h>, "gdb_vecs.h".
4677         (debug_threads): Moved to debug.c.
4678         (*): Update all debugging printfs to use debug_printf instead of
4679         fprintf.
4680         (start_inferior): Replace call to fflush with call to debug_flush.
4681         (monitor_show_help): Mention set debug-format.
4682         (parse_debug_format_options): New function.
4683         (handle_monitor_command): Handle "monitor set debug-format".
4684         (gdbserver_usage): Mention --debug-format.
4685         (main): Parse --debug-format.
4686         * server.h (debug_threads): Declaration moved to debug.h.
4687         #include "debug.h".
4688         * tracepoint.c (trace_debug_1) [!IN_PROCESS_AGENT]: Add version of
4689         trace_debug_1 that uses debug_printf.
4690         (tracepoint_look_up_symbols): Update all debugging printfs to use
4691         debug_printf instead of fprintf.
4692
4693 2014-01-20  Baruch Siach  <baruch@tkos.co.il>
4694
4695         * linux-xtensa-low.c: Include asm/ptrace.h instead of
4696         sys/ptrace.h.
4697
4698 2014-01-17  Pedro Alves  <palves@redhat.com>
4699
4700         PR build/16445
4701         * linux-x86-low.c: Don't include elf/common.h if ELFMAG0 is
4702         defined after including gdb_proc_service.h.
4703
4704 2014-01-16  Doug Evans  <dje@google.com>
4705
4706         * dll.c (UNSPECIFIED_CORE_ADDR): New macro.
4707         (match_dll): Use it.
4708
4709 2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
4710
4711         * target.h (target_ops) <read_btrace>: Change parameters and
4712         return type to allow error reporting.
4713         * server.c (handle_qxfer_btrace): Support delta reads.  Pass
4714         trace reading errors on.
4715         * linux-low.c (linux_low_read_btrace): Pass trace reading
4716         errors on.
4717         (linux_low_disable_btrace): New.
4718
4719 2014-01-15  Doug Evans  <dje@google.com>
4720
4721         * inferiors.c (thread_id_to_gdb_id): Delete.
4722         * inferiors.h (thread_id_to_gdb_id): Delete.
4723
4724 2014-01-13  Eli Zaretskii  <eliz@gnu.org>
4725
4726         * Makefile.in (INCLUDE_CFLAGS): Remove trailing slash from
4727         "-I$(srcdir)/../".  Fixes MinGW compilation errors with old GCC
4728         versions.
4729
4730 2014-01-08  Pedro Alves  <palves@redhat.com>
4731
4732         * server.c (handle_status): Don't discard previous queued stop
4733         replies or thread's pending status here.
4734         (main) <disconnection>: Do it here instead.
4735
4736 2014-01-08  Pedro Alves  <palves@redhat.com>
4737
4738         * gdbthread.h (struct thread_info) <status_pending_p>: New field.
4739         * server.c (visit_actioned_threads, handle_pending_status): New
4740         function.
4741         (handle_v_cont): Factor out parts to ...
4742         (resume): ... this new function.  If in all-stop, and a thread
4743         being resumed has a pending status, report it without actually
4744         resuming.
4745         (myresume): Adjust to use the new 'resume' function.
4746         (clear_pending_status_callback, set_pending_status_callback)
4747         (find_status_pending_thread_callback): New functions.
4748         (handle_status): Handle the case of multiple threads having
4749         interesting statuses to report.  Report threads' real last signal
4750         instead of always reporting GDB_SIGNAL_TRAP.  Look for a thread
4751         with an interesting thread to report the status for, instead of
4752         always reporting the status of the first thread.
4753
4754 2014-01-01  Joel Brobecker  <brobecker@adacore.com>
4755
4756         * gdbserver.c (gdbserver_version): Set copyright year to 2014.
4757         * gdbreplay.c (gdbreplay_version): Likewise.
4758
4759 2013-12-18  Yufeng Zhang  <yufeng.zhang@arm.com>
4760
4761         * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Set
4762         iov.iov_len with the real length in use.
4763
4764 2013-12-13  Joel Brobecker  <brobecker@adacore.com>
4765
4766         * Makefile.in (safe-ctype.o, lbasename.o): New rules.
4767         * configure.srv: Add safe-ctype.o and lbasename.o to srv_tgtobj
4768         for all targets that use win32-low.c.
4769         * win32-low.c (win32_ensure_ntdll_loaded): New function.
4770         (do_initial_child_stuff): Add call to win32_ensure_ntdll_loaded.
4771
4772 2013-12-13  Pedro Alves  <palves@redhat.com>
4773
4774         * target.c (mywait): Set OURSTATUS->KIND to TARGET_WAITKIND_STOPPED
4775         if equal to TARGET_WAITKIND_LOADED.
4776         * win32-low.c (cached_status): New static global.
4777         (win32_wait): Add declaration.
4778         (do_initial_child_stuff): Flush all initial pending debug events
4779         up to the initial breakpoint.
4780         (win32_wait): If CACHED_STATUS was set, return that instead
4781         of doing a real wait.  Remove the code resuming the execution
4782         of the inferior after receiving a TARGET_WAITKIND_LOADED event
4783         during the initial phase.  Also remove the code changing
4784         OURSTATUS->KIND from TARGET_WAITKIND_LOADED to
4785         TARGET_WAITKIND_STOPPED.
4786
4787 2013-12-11  Yao Qi  <yao@codesourcery.com>
4788
4789         * notif.c (handle_notif_ack): Return 0 if no notification
4790         matches.
4791
4792 2013-11-20  Doug Evans  <dje@google.com>
4793
4794         * linux-low.c (linux_set_resume_request): Fix comment.
4795
4796 2013-11-20  Doug Evans  <dje@google.com>
4797
4798         * linux-low.c (resume_status_pending_p): Tweak comment.
4799
4800 2013-11-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
4801
4802         * Makefile.in: Add i386-mpx.c, i386-mpx-linux.c, amd64-mpx.c,
4803         amd64-mpx-linux.c, x32-mpx.c and x32-mpx-linux.c generation.
4804         * configure.srv (srv_i386_regobj): Add i386-mpx.o.
4805         (srv_i386_linux_regobj): Add i386-mpx-linux.o.
4806         (srv_amd64_regobj): Add amd64-mpx.o.
4807         (srv_amd64_linux_regobj): Add amd64-mpx-linux.o.
4808         (srv_i386_32bit_xmlfiles): Add i386/32bit-mpx.xml.
4809         (srv_i386_64bit_xmlfiles): Add i386/64bit-mpx.xml.
4810         * i387-fp.c (num_pl_bnd_register) Added constant.
4811         (num_pl_bnd_cfg_registers) Added constant.
4812         (struct i387_xsave) Added reserved area and MPX fields.
4813         (i387_cache_to_xsave, i387_xsave_to_cache) Add MPX.
4814         * linux-x86-low.c (init_registers_i386_mpx_linux): Declare new
4815         function.
4816         (tdesc_i386_mpx_linux): Add MPX amd64 target.
4817         (init_registers_amd64_mpx_linux): Declare new function.
4818         (tdesc_amd64_mpx_linux): Add MPX amd64 target.
4819         (x86_64_regmap): Add MPX registers.
4820         (x86_linux_read_description): Add MPX case.
4821         (initialize_low_arch): Initialize MPX targets.
4822
4823 2013-11-18  Tom Tromey  <tromey@redhat.com>
4824
4825         * configure: Rebuild.
4826         * configure.ac: Don't check for stdlib.h.
4827         * gdbreplay.c: Unconditionally include stdlib.h.
4828
4829 2013-11-18  Tom Tromey  <tromey@redhat.com>
4830
4831         * config.in: Rebuild.
4832         * configure: Rebuild.
4833         * configure.ac: Don't use AC_HEADER_DIRENT.
4834
4835 2013-11-18  Tom Tromey  <tromey@redhat.com>
4836
4837         * server.h: Don't check HAVE_STRING_H.
4838         * gdbreplay.c: Don't check HAVE_STRING_H.
4839         * configure: Rebuild.
4840
4841 2013-11-18  Tom Tromey  <tromey@redhat.com>
4842
4843         * Makefile.in (gdbreplay$(EXEEXT)): Depend on and link against
4844         LIBGNU.
4845
4846 2013-11-08  Tom Tromey  <tromey@redhat.com>
4847
4848         * configure, config.in: Rebuild.
4849         * configure.ac: Remove unused configury.
4850
4851 2013-11-08  Tom Tromey  <tromey@redhat.com>
4852
4853         * acinclude.m4: Include common.m4, codeset.m4.
4854         * configure, config.in: Rebuild.
4855         * configure.ac: Use GDB_AC_COMMON.
4856
4857 2013-11-06  Andreas Arnez  <arnez@linux.vnet.ibm.com>
4858
4859         * linux-s390-low.c (HWCAP_S390_TE): New define.
4860         (s390_arch_setup): Consider the TE field in the HWCAP for
4861         determining 'have_regset_tdb'.
4862
4863 2013-10-16  Sergio Durigan Junior  <sergiodj@redhat.com>
4864
4865         PR gdb/16014
4866         * tracepoint.c (download_tracepoint_1): Remove unnecessary double
4867         call to sizeof.
4868
4869 2013-10-02  Pedro Alves  <palves@redhat.com>
4870
4871         * server.c (process_serial_event): Don't output "GDBserver
4872         exiting" if GDB is connected through stdio.
4873         * target.c (mywait): Likewise, be silent if GDB is connected
4874         through stdio.
4875
4876 2013-10-01  Joel Brobecker  <brobecker@adacore.com>
4877
4878         * lynx-low.c (lynx_add_threads_after_attach): New function.
4879         (lynx_attach): Remove call to add_thread.  Add call to
4880         lynx_add_threads_after_attach instead.
4881
4882 2013-09-28  Mike Frysinger  <vapier@gentoo.org>
4883
4884         * configure.ac (AC_CHECK_HEADERS): Add sys/syscall.h
4885         * config.in, configure: Regenerated.
4886
4887 2013-09-18  Yao Qi  <yao@codesourcery.com>
4888
4889         PR server/15959
4890         * server.c (start_inferior): Clear 'resume_info'.
4891
4892 2013-09-16  Jiong Wang  <jiwang@tilera.com>
4893
4894         * linux-tile-low.c (tile_regsets): Modify the size field to 64-bit
4895         for each register.
4896
4897 2013-09-16  Jiong Wang  <jiwang@tilera.com>
4898
4899         * configure.srv <tilegx*-*-linux*>: Remove linux-osdata.o from and add
4900         linux-tile-low.o to srv_tgtobj.
4901
4902 2013-09-16  Will Newton  <will.newton@linaro.org>
4903
4904         * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Zero
4905         out regs.
4906
4907 2013-09-06  Pedro Alves  <palves@redhat.com>
4908
4909         * Makefile.in (gdb_proc_service_h, regdef_h, regcache_h)
4910         (signals_def, signals_h, ptid_h, ax_h, agent_h, linux_btrace_h)
4911         (linux_osdata_h, vec_h, gdb_vecs_h, host_defs_h, libiberty_h)
4912         (server_h, gdbthread_h, linux_low_h, linux_ptrace_h)
4913         (gdb_thread_db_h, linux_procfs_h, lynx_low_h, nto_low_h)
4914         (mips_linux_watch_h, i386_low_h, win32_low_h): Delete.
4915
4916 2013-09-06  Pedro Alves  <palves@redhat.com>
4917
4918         * Makefile.in (linux-btrace.o, mips-linux-watch.o): Remove
4919         explicit header dependencies and use $COMPILE/$POSTCOMPILE.
4920
4921 2013-09-06  Pedro Alves  <palves@redhat.com>
4922
4923         * linux-amd64-ipa.c: Include tracepoint.h.
4924         * linux-i386-ipa.c: Include tracepoint.h.
4925
4926 2013-09-06  Ricard Wanderlof  <ricardw@axis.com>
4927
4928         * linux-crisv32-low.c (PTRACE_GET_THREAD_AREA): New macro.
4929         (ps_get_thread_area): New function.
4930
4931 2013-09-06  Ricard Wanderlof  <ricardw@axis.com>
4932
4933         * linux-crisv32-low.c (elf_gregset_t): Delete typedef.
4934         (initialize_low_arch): Call init_registers_crisv32 rather than
4935         init_register_crisv32.
4936
4937 2013-09-05  Pedro Alves  <palves@redhat.com>
4938
4939         * server.h (handle_vFile, hostio_last_error_from_errno): Move
4940         to ...
4941         * hostio.h: ... this new file.
4942         * hostio.c, server.c, linux-low.c, nto-low.c, spu-low,
4943         win32-low.c: Include hostio.h.
4944
4945 2013-09-05  Pedro Alves  <palves@redhat.com>
4946
4947         * server.h (gdb_client_data, handler_func, callback_handler_func)
4948         (delete_file_handler, add_file_handler, append_callback_event)
4949         (delete_callback_event, start_event_loop, initialize_event_loop):
4950         Move to event-loop.h and include it.
4951         * event-loop.h: New file.
4952
4953 2013-09-05  Pedro Alves  <palves@redhat.com>
4954
4955         * dll.c, inferiors.c, remote-utils.c, server.c: Include "dll.h".
4956         * server.h (struct dll_info, all_dlls, dlls_changed, clear_dlls)
4957         (loaded_dll, unloaded_dll): Move to ...
4958         * dll.h: ... this new file.
4959         * inferiors.c, remote-utils.c, win32-low.c: Include "dll.h".
4960
4961 2013-09-05  Pedro Alves  <palves@redhat.com>
4962
4963         * server.h (current_process, get_thread_process, all_processes)
4964         (add_inferior_to_list, for_each_inferior, current_inferior)
4965         (remove_inferior, add_process, remove_process, find_process_pid)
4966         (have_started_inferiors_p, have_attached_inferiors_p)
4967         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id)
4968         (clear_inferiors, find_inferior, find_inferior_id)
4969         (inferior_target_data, set_inferior_target_data)
4970         (inferior_regcache_data, set_inferior_regcache_data): Move to
4971         inferiors.h, and include it.
4972         * inferiors.h: New file.
4973
4974 2013-09-05  Pedro Alves  <palves@redhat.com>
4975
4976         * server.h (struct emit_ops, current_insn_ptr, emit_error):
4977         Move ...
4978         * ax.h: ... here.
4979
4980 2013-09-05  Pedro Alves  <palves@redhat.com>
4981
4982         * ax.c, linux-low.c, linux-x86-low.c, server.c: Include
4983         tracepoint.h.
4984         * server.h (IPA_BUFSIZ, initialize_tracepoint, tracing)
4985         (disconnected_tracing, tracepoint_look_up_symbols, stop_tracing
4986         (handle_tracepoint_general_set, handle_tracepoint_query)
4987         (tracepoint_finished_step, tracepoint_was_hit)
4988         (release_while_stepping_state_list, current_traceframe)
4989         (in_readonly_region, traceframe_read_mem)
4990         (fetch_traceframe_registers, traceframe_read_sdata)
4991         (traceframe_read_info, struct fast_tpoint_collect_status)
4992         (fast_tracepoint_collecting, force_unlock_trace_buffer)
4993         (handle_tracepoit_bkpts, initialize_low_tracepoint)
4994         (supply_fast_tracepoint_registers)
4995         (supply_static_tracepoint_registers, set_trampoline_buffer_space)
4996         (ipa_tdesc, claim_trampoline_space)
4997         (have_fast_tracepoint_trampoline_buffer, gdb_agent_about_to_close)
4998         (agent_mem_read, agent_get_trace_state_variable_value)
4999         (agent_set_trace_state_variable_value, agent_tsv_read)
5000         (agent_mem_read_string, get_raw_reg_func_addr)
5001         (get_get_tsv_func_addr, get_set_tsv_func_addr): Move to ...
5002         * tracepoint.h: ... this new file.
5003
5004 2013-09-05  Pedro Alves  <palves@redhat.com>
5005
5006         * server.h (perror_with_name, error, fatal, warning, paddress)
5007         (pulongest, plongest, phex_nz, pfildes): Move to utils.h, and
5008         include it.
5009         * utils.h: New file.
5010
5011 2013-09-05  Pedro Alves  <palves@redhat.com>
5012
5013         * server.h (remote_debug, noack_mode, transport_is_reliable)
5014         (gdb_connected, STDIO_CONNECTION_NAME, remote_connection_is_stdio)
5015         (read_ptid, write_ptid, putpkt, putpkt_binary, putpkt_notif)
5016         (getpkt, remote_prepare, remote_open, remote_close, write_ok)
5017         (write_enn, initialize_async_io, enable_async_io)
5018         (disable_async_io, check_remote_input_interrupt_request)
5019         (convert_ascii_to_int, convert_int_to_ascii, new_thread_notify)
5020         (dead_thread_notify, prepare_resume_reply)
5021         (decode_address_to_semicolon, decode_address, decode_m_packet)
5022         (decode_M_packet, decode_X_packet, decode_xfer_write)
5023         (decode_search_memory_packet, unhexify, hexify)
5024         (remote_escape_output, unpack_varlen_hex, clear_symbol_cache)
5025         (look_up_one_symbol, relocate_instruction)
5026         (monitor_output): Move to remote-utils.h, and include it.
5027         * remote-utils.h: New file.
5028
5029 2013-09-05  Pedro Alves  <palves@redhat.com>
5030
5031         * server.h (_): Delete.
5032
5033 2013-09-02  Pedro Alves  <palves@redhat.com>
5034
5035         * tracepoint.c (TRACEFRAME_EOB_MARKER_SIZE): New macro.
5036         (init_trace_buffer): Ensure at least TRACEFRAME_EOB_MARKER_SIZE is
5037         allocated.
5038         (trace_buffer_alloc): Use TRACEFRAME_EOB_MARKER_SIZE.
5039
5040 2013-09-02  Pierre Muller  <muller@sourceware.org>
5041
5042         * win32-low.c (child_xfer_memory): Check if ReadProcessMemory
5043         or WriteProcessMemory complete successfully and handle
5044         ERROR_PARTIAL_COPY error.
5045
5046 2013-09-02  Pedro Alves  <palves@redhat.com>
5047
5048         * server.c (gdb_read_memory): Return -1 on traceframe memory read
5049         error instead of EIO.
5050
5051 2013-08-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
5052
5053         PR server/15604
5054         * linux-low.c: Include filestuff.h.
5055         (linux_create_inferior) <pid == 0>: Call close_most_fds.
5056         * lynx-low.c: Include filestuff.h.
5057         (lynx_create_inferior) <pid == 0>: Call close_most_fds.
5058         * server.c: Include filestuff.h.
5059         (main): Call notice_open_fds.
5060         * spu-low.c: Include filestuff.h.
5061         (spu_create_inferior) <pid == 0>: Call close_most_fds.
5062
5063 2013-08-22  Luis Machado  <lgustavo@codesourcery.com>
5064
5065         * Makefile.in: Explain why ../target and ../nat are not
5066         listed as include file search paths.
5067         (linux-waitpid.o): New object file rule.
5068         * configure.srv (srv_native_linux_obj): New variable.
5069         Replace all occurrences of linux native object files with
5070         $srv_native_linux_obj.
5071         * linux-low.c: Include nat/linux-nat.h and nat/linux-waitpid.h.
5072         (HAS_NOMMU): Move defining logic to common/linux-ptrace.c.
5073         (linux_enable_event_reporting): Remove declaration.
5074         (my_waitpid): Moved to common/linux-waitpid.c.
5075         (linux_wait_for_event): Pass ptid when calling
5076         linux_enable_event_reporting.
5077         (linux_supports_tracefork_flag): Remove.
5078         (linux_enable_event_reporting): Likewise.
5079         (linux_tracefork_grandchild): Remove.
5080         (STACK_SIZE): Moved to common/linux-ptrace.c.
5081         (linux_tracefork_child): Remove.
5082         (linux_test_for_tracefork): Remove.
5083         (linux_look_up_symbols): Call linux_supports_traceclone.
5084         (initialize_low): Remove call to linux_test_for_tracefork.
5085         * linux-low.h (PTRACE_TYPE_ARG3): Move to
5086         common/linux-ptrace.h.
5087         (PTRACE_TYPE_ARG4): Likewise.
5088         Include linux-ptrace.h.
5089
5090 2013-08-21  Pedro Alves  <palves@redhat.com>
5091
5092         * config.in: Renegerate.
5093
5094 2013-08-19  Luis Machado  <lgustavo@codesourcery.com>
5095
5096         * Makefile.in (INCLUDE_CFLAGS): Include -I$(srcdir)/../.
5097         (SFILES): Remove $(srcdir)/common/target-common.c and
5098         add $(srcdir)/target/waitstatus.c.
5099         (OBS): Remove target-common.o and add waitstatus.o.
5100         (server_h): Remove $(srcdir)/../common/target-common.h and
5101         add $(srcdir)/../target/resume.h, $(srcdir)/../target/wait.h
5102         and $(srcdir)/../target/waitstatus.h.
5103         (target-common.o): Remove.
5104         (waitstatus.o): New target object file.
5105         * target.h: Do not include target-common.h and
5106         include target/resume.h, target/wait.h and
5107         target/waitstatus.h.
5108
5109 2013-08-13  Luis Machado  <lgustavo@codesourcery.com>
5110
5111         * linux-arm-low.c: Rename all occurrences of PTRACE_ARG3_TYPE
5112         to PTRACE_TYPE_ARG3.
5113         * linux-low.c: Rename all occurrences of PTRACE_ARG3_TYPE
5114         to PTRACE_TYPE_ARG3 and PTRACE_ARG4_TYPE to
5115         PTRACE_TYPE_ARG4.
5116         * linux-low.h (PTRACE_ARG3_TYPE): Rename to PTRACE_TYPE_ARG3.
5117         (PTRACE_ARG4_TYPE): Rename to PTRACE_TYPE_ARG4.
5118
5119 2013-07-27  Jie Zhang  <jie@codesourcery.com>
5120             Daniel Jacobowitz  <dan@codesourcery.com>
5121             Yao Qi  <yao@codesourcery.com>
5122
5123         * Makefile.in (SFILES): Add common/mips-linux-watch.c.
5124         (mips-linux-watch.o): New rule.
5125         (mips_linux_watch_h): New variable.
5126         * configure.srv <mips*-*-linux*>: Add mips-linux-watch.o to
5127         srv_tgtobj.
5128         * linux-mips-low.c: Include mips-linux-watch.h.
5129         (struct arch_process_info, struct arch_lwp_info): New.
5130         (update_watch_registers_callback): New function.
5131         (mips_linux_new_process, mips_linux_new_thread) New functions.
5132         (mips_linux_prepare_to_resume, mips_insert_point): New
5133         functions.
5134         (mips_remove_point, mips_stopped_by_watchpoint): New
5135         functions.
5136         (rsp_bp_type_to_target_hw_bp_type): New function.
5137         (mips_stopped_data_address): New function.
5138         (the_low_target): Add watchpoint support functions.
5139
5140 2013-07-27  Yao Qi  <yao@codesourcery.com>
5141
5142         * i386-low.c: Include break-common.h.
5143         (enum target_hw_bp_type): Remove.
5144
5145 2013-07-24  Luis Machado  <lgustavo@codesourcery.com>
5146
5147         * Makefile.in (SFILES): /common/target-common.c.
5148         (OBS): Add target-common.o.
5149         (server_h): Add $(srcdir)/../common/target-common.h.
5150         (target-common.o): New target.
5151         * server.c (queue_stop_reply_callback): Free
5152         status string after use.
5153         * target.c (target_waitstatus_to_string): Remove.
5154         * target.h: Include target-common.h.
5155         (resume_kind): Likewise.
5156         (target_waitkind): Likewise.
5157         (target_waitstatus): Likewise.
5158         (TARGET_WNOHANG): Likewise.
5159
5160 2013-07-04  Yao Qi  <yao@codesourcery.com>
5161
5162         * Makefile.in (host_alias): Use @host_noncanonical@.
5163         (target_alias): Use @target_noncanonical@.
5164         * configure.ac: Use ACX_NONCANONICAL_TARGET and
5165         ACX_NONCANONICAL_HOST.
5166         * configure: Regenerated.
5167
5168         Revert:
5169         2013-06-28  Mircea Gherzan  <mircea.gherzan@intel.com>
5170
5171         * configure.ac (version_host, version_target): Set and AC_SUBST them.
5172         * configure: Rebuild.
5173         * Makefile.in (version_host, version_target): Get from configure.
5174         (version.c): Use $(version_host) and $(version_target).
5175
5176 2013-07-03  Pedro Alves  <palves@redhat.com>
5177
5178         * Makefile.in (config.status): Depend on development.sh.
5179         * acinclude.m4: Include libmcheck.m4.
5180         * configure: Regenerate.
5181
5182 2013-07-02  Mircea Gherzan  <mircea.gherzan@intel.com>
5183
5184         * win32-low.c (winapi_DebugActiveProcessStop): Move the WINAPI
5185         attribute inside the parentheses.
5186         (winapi_DebugSetProcessKillOnExit): Ditto.
5187         (winapi_DebugBreakProcess): Ditto.
5188         (winapi_GenerateConsoleCtrlEvent): Ditto.
5189
5190 2013-07-02  Mircea Gherzan  <mircea.gherzan@intel.com>
5191
5192         * notif.h (notif_event): Add a dummy member to avoid compiler
5193         errors.
5194
5195 2013-07-01  Pedro Alves  <palves@redhat.com>
5196
5197         * hostio.c (HOSTIO_PATH_MAX): Define.
5198         (require_filename, handle_open, handle_unlink, handle_readlink):
5199         Use it.
5200
5201 2013-07-01  Pedro Alves  <palves@redhat.com>
5202
5203         * server.h: Include "pathmax.h".
5204         * linux-low.c: Don't include sys/param.h.
5205         (linux_pid_exe_is_elf_64_file): Use PATH_MAX instead of
5206         MAXPATHLEN.
5207         * win32-low.c: Don't include sys/param.h.
5208         (win32_create_inferior): Use PATH_MAX instead of MAXPATHLEN.
5209
5210 2013-07-01  Pedro Alves  <palves@redhat.com>
5211
5212         * event-loop.c: Don't check HAVE_UNISTD_H before including
5213         <unistd.h>.
5214         * gdbreplay.c: Likewise.
5215         * remote-utils.c: Likewise.
5216         * server.c: Likewise.
5217         * configure.ac: Don't check for unistd.h.
5218         * configure: Regenerate.
5219
5220 2013-06-28  Tom Tromey  <tromey@redhat.com>
5221
5222         * Makefile.in (version.c): Use version.in, not
5223         common/version.in.
5224
5225 2013-06-28  Mircea Gherzan  <mircea.gherzan@intel.com>
5226
5227         * configure.ac (version_host, version_target): Set and AC_SUBST them.
5228         * configure: Rebuild.
5229         * Makefile.in (version_host, version_target): Get from configure.
5230         (version.c): Use $(version_host) and $(version_target).
5231
5232 2013-06-10  Dmitry Kozlov <ddk@codesourcery.com>
5233
5234         Fix trace-status to output user name without trailing colon.
5235         * tracepoint.c (cmd_qtstatus): Remove unnecessary colon from user name.
5236
5237 2013-06-10  Dmitry Kozlov <ddk@codesourcery.com>
5238
5239         Fix trace-status to output proper start-time and stop-time.
5240         * tracepoint.c (cmd_qtstatus): Modify trace-status output to
5241         output start time and stop time in hex as gdb expects.
5242
5243 2013-06-26  Pedro Alves  <pedro@codesourcery.com>
5244
5245         * tracepoint.c (build_traceframe_info_xml): Output trace state
5246         variables present in the trace buffer.
5247
5248 2013-06-24  Tom Tromey  <tromey@redhat.com>
5249
5250         * Makefile.in (version.c): Use bfd/version.h, common/version.in,
5251         create-version.sh.
5252         (version.o): Remove.
5253         * gdbreplay.c: Include version.h.
5254         (version, host_name): Don't declare.
5255         * server.h: Include version.h.
5256         (version, host_name): Don't declare.
5257
5258 2013-06-12  Pedro Alves  <palves@redhat.com>
5259
5260         * linux-x86-low.c (linux_is_elf64): Delete global.
5261         (x86_siginfo_fixup): Replace reference to `linux_is_elf64' global
5262         with local linux_pid_exe_is_elf_64_file use.
5263
5264 2013-06-11  Pedro Alves  <palves@redhat.com>
5265
5266         * linux-low.c (regset_disabled, disable_regset): New functions.
5267         (regsets_fetch_inferior_registers)
5268         (regsets_store_inferior_registers): Use them.
5269         (initialize_regsets_info); Don't allocate the disabled_regsets
5270         array here.
5271         * linux-low.h (struct regsets_info) <disabled_regsets>: Extend
5272         comment.
5273
5274 2013-06-11  Pedro Alves  <palves@redhat.com>
5275
5276         * linux-low.c (initialize_regsets_info): Use xcalloc instead of
5277         xmalloc.
5278
5279 2013-06-11  Pedro Alves  <palves@redhat.com>
5280
5281         * linux-x86-low.c (initialize_low_arch): Call
5282         init_registers_x32_avx_linux.
5283
5284 2013-06-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
5285
5286         Fix compatibility with Android Bionic.
5287         * linux-low.c (linux_qxfer_libraries_svr4): Ignore first entry even if
5288         it is not empty.
5289
5290 2013-06-07  Pedro Alves  <palves@redhat.com>
5291
5292         PR server/14823
5293         * Makefile.in (OBS): Add tdesc.o.
5294         (IPA_OBJS): Add tdesc-ipa.o.
5295         (tdesc-ipa.o): New rule.
5296         * ax.c (gdb_eval_agent_expr): Adjust register_size call to new
5297         interface.
5298         * linux-low.c (new_inferior): Delete.
5299         (disabled_regsets, num_regsets): Delete.
5300         (linux_add_process): Adjust to set the new per-process
5301         new_inferior flag.
5302         (linux_detach_one_lwp): Adjust to call regcache_invalidate_thread.
5303         (linux_wait_for_lwp): Adjust.  Only call arch_setup if the event
5304         was a stop.  When calling arch_setup, switch the current inferior
5305         to the thread that got an event.
5306         (linux_resume_one_lwp): Adjust to call regcache_invalidate_thread.
5307         (regsets_fetch_inferior_registers)
5308         (regsets_store_inferior_registers): New regsets_info parameter.
5309         Adjust to use it.
5310         (linux_register_in_regsets): New regs_info parameter.  Adjust to
5311         use it.
5312         (register_addr, fetch_register, store_register): New usrregs_info
5313         parameter.  Adjust to use it.
5314         (usr_fetch_inferior_registers, usr_store_inferior_registers): New
5315         parameter regs_info.  Adjust to use it.
5316         (linux_fetch_registers): Get the current inferior's regs_info, and
5317         adjust to use it.
5318         (linux_store_registers): Ditto.
5319         [HAVE_LINUX_REGSETS] (initialize_regsets_info): New.
5320         (initialize_low): Don't initialize the target_regsets here.  Call
5321         initialize_low_arch.
5322         * linux-low.h (target_regsets): Delete declaration.
5323         (struct regsets_info): New.
5324         (struct usrregs_info): New.
5325         (struct regs_info): New.
5326         (struct process_info_private) <new_inferior>: New field.
5327         (struct linux_target_ops): Delete the num_regs, regmap, and
5328         regset_bitmap fields.  New field regs_info.
5329         [HAVE_LINUX_REGSETS] (initialize_regsets_info): Declare.
5330         * i387-fp.c (num_xmm_registers): Delete.
5331         (i387_cache_to_fsave, i387_fsave_to_cache): Adjust find_regno
5332         calls to new interface.
5333         (i387_cache_to_fxsave, i387_cache_to_xsave, i387_fxsave_to_cache)
5334         (i387_xsave_to_cache): Adjust find_regno calls to new interface.
5335         Infer the number of xmm registers from the regcache's target
5336         description.
5337         * i387-fp.h (num_xmm_registers): Delete.
5338         * inferiors.c (add_thread): Don't install the thread's regcache
5339         here.
5340         * proc-service.c (gregset_info): Fetch the current inferior's
5341         regs_info.  Adjust to use it.
5342         * regcache.c: Include tdesc.h.
5343         (register_bytes, reg_defs, num_registers)
5344         (gdbserver_expedite_regs): Delete.
5345         (get_thread_regcache): If the thread doesn't have a regcache yet,
5346         create one, instead of aborting gdbserver.
5347         (regcache_invalidate_one): Rename to ...
5348         (regcache_invalidate_thread): ... this.
5349         (regcache_invalidate_one): New.
5350         (regcache_invalidate): Only invalidate registers of the current
5351         process.
5352         (init_register_cache): Add target_desc parameter, and use it.
5353         (new_register_cache): Ditto.  Assert the target description has a
5354         non zero registers_size.
5355         (regcache_cpy): Add assertions.  Adjust.
5356         (realloc_register_cache, set_register_cache): Delete.
5357         (registers_to_string, registers_from_string): Adjust.
5358         (find_register_by_name, find_regno, find_register_by_number)
5359         (register_cache_size): Add target_desc parameter, and use it.
5360         (free_register_cache_thread, free_register_cache_thread_one)
5361         (regcache_release, register_cache_size): New.
5362         (register_size): Add target_desc parameter, and use it.
5363         (register_data, supply_register, supply_register_zeroed)
5364         (supply_regblock, supply_register_by_name, collect_register)
5365         (collect_register_as_string, collect_register_by_name): Adjust.
5366         * regcache.h (struct target_desc): Forward declare.
5367         (struct regcache) <tdesc>: New field.
5368         (init_register_cache, new_register_cache): Add target_desc
5369         parameter.
5370         (regcache_invalidate_thread): Declare.
5371         (regcache_invalidate_one): Delete declaration.
5372         (regcache_release): Declare.
5373         (find_register_by_number, register_cache_size, register_size)
5374         (find_regno): Add target_desc parameter.
5375         (gdbserver_expedite_regs, gdbserver_xmltarget): Delete
5376         declarations.
5377         * remote-utils.c: Include tdesc.h.
5378         (outreg, prepare_resume_reply): Adjust.
5379         * server.c: Include tdesc.h.
5380         (gdbserver_xmltarget): Delete declaration.
5381         (get_features_xml, process_serial_event): Adjust.
5382         * server.h [IN_PROCESS_AGENT] (struct target_desc): Forward
5383         declare.
5384         (struct process_info) <tdesc>: New field.
5385         (ipa_tdesc): Declare.
5386         * tdesc.c: New file.
5387         * tdesc.h: New file.
5388         * tracepoint.c: Include tdesc.h.
5389         [IN_PROCESS_AGENT] (ipa_tdesc): Define.
5390         (get_context_regcache): Adjust to pass ipa_tdesc down.
5391         (do_action_at_tracepoint): Adjust to get the register cache size
5392         from the context regcache's description.
5393         (traceframe_walk_blocks): Adjust to get the register cache size
5394         from the current trace frame's description.
5395         (traceframe_get_pc): Adjust to get current trace frame's
5396         description and pass it down.
5397         (gdb_collect): Adjust to get the register cache size from the
5398         IPA's description.
5399         * linux-amd64-ipa.c (tdesc_amd64_linux): Declare.
5400         (gdbserver_xmltarget): Delete.
5401         (initialize_low_tracepoint): Set the ipa's target description.
5402         * linux-i386-ipa.c (tdesc_i386_linux): Declare.
5403         (initialize_low_tracepoint): Set the ipa's target description.
5404         * linux-x86-low.c: Include tdesc.h.
5405         [__x86_64__] (is_64bit_tdesc): New.
5406         (ps_get_thread_area, x86_get_thread_area): Use it.
5407         (i386_cannot_store_register): Rename to ...
5408         (x86_cannot_store_register): ... this.  Use is_64bit_tdesc.
5409         (i386_cannot_fetch_register): Rename to ...
5410         (x86_cannot_fetch_register): ... this.  Use is_64bit_tdesc.
5411         (x86_fill_gregset, x86_store_gregset): Adjust register_size calls
5412         to new interface.
5413         (target_regsets): Rename to ...
5414         (x86_regsets): ... this.
5415         (x86_get_pc, x86_set_pc): Adjust register_size calls to new
5416         interface.
5417         (x86_siginfo_fixup): Use is_64bit_tdesc.
5418         [__x86_64__] (tdesc_amd64_linux, tdesc_amd64_avx_linux)
5419         (tdesc_x32_avx_linux, tdesc_x32_linux)
5420         (tdesc_i386_linux, tdesc_i386_mmx_linux, tdesc_i386_avx_linux):
5421         Declare.
5422         (x86_linux_update_xmltarget): Delete.
5423         (I386_LINUX_XSAVE_XCR0_OFFSET): Define.
5424         (have_ptrace_getfpxregs, have_ptrace_getregset): New.
5425         (AMD64_LINUX_USER64_CS): New.
5426         (x86_linux_read_description): New, based on
5427         x86_linux_update_xmltarget.
5428         (same_process_callback): New.
5429         (x86_arch_setup_process_callback): New.
5430         (x86_linux_update_xmltarget): New.
5431         (x86_regsets_info): New.
5432         (amd64_linux_regs_info): New.
5433         (i386_linux_usrregs_info): New.
5434         (i386_linux_regs_info): New.
5435         (x86_linux_regs_info): New.
5436         (x86_arch_setup): Reimplement.
5437         (x86_install_fast_tracepoint_jump_pad): Use is_64bit_tdesc.
5438         (x86_emit_ops): Ditto.
5439         (the_low_target): Adjust.  Install x86_linux_regs_info,
5440         x86_cannot_fetch_register, and x86_cannot_store_register.
5441         (initialize_low_arch): New.
5442         * linux-ia64-low.c (tdesc_ia64): Declare.
5443         (ia64_fetch_register): Adjust.
5444         (ia64_usrregs_info, regs_info): New globals.
5445         (ia64_regs_info): New function.
5446         (the_low_target): Adjust.
5447         (initialize_low_arch): New function.
5448         * linux-sparc-low.c (tdesc_sparc64): Declare.
5449         (sparc_fill_gregset_to_stack, sparc_store_gregset_from_stack):
5450         Adjust.
5451         (sparc_arch_setup): New function.
5452         (sparc_regsets_info, sparc_usrregs_info, regs_info): New globals.
5453         (the_low_target): Adjust.
5454         (initialize_low_arch): New function.
5455         * linux-ppc-low.c (tdesc_powerpc_32l, tdesc_powerpc_altivec32l)
5456         (tdesc_powerpc_cell32l, tdesc_powerpc_vsx32l)
5457         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_altivec32l)
5458         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_e500l)
5459         (tdesc_powerpc_64l, tdesc_powerpc_altivec64l)
5460         (tdesc_powerpc_cell64l, tdesc_powerpc_vsx64l)
5461         (tdesc_powerpc_isa205_64l, tdesc_powerpc_isa205_altivec64l)
5462         (tdesc_powerpc_isa205_vsx64l): Declare.
5463         (ppc_cannot_store_register, ppc_collect_ptrace_register)
5464         (ppc_supply_ptrace_register, parse_spufs_run, ppc_get_pc)
5465         (ppc_set_pc, ppc_get_hwcap): Adjust.
5466         (ppc_usrregs_info): Forward declare.
5467         (!__powerpc64__) ppc_regmap_adjusted: New global.
5468         (ppc_arch_setup): Adjust to the current process'es target
5469         description.
5470         (ppc_fill_vsxregset, ppc_store_vsxregset, ppc_fill_vrregset)
5471         (ppc_store_vrregset, ppc_fill_evrregset, ppc_store_evrregse)
5472         (ppc_store_evrregset): Adjust.
5473         (target_regsets): Rename to ...
5474         (ppc_regsets): ... this, and make static.
5475         (ppc_usrregs_info, ppc_regsets_info, regs_info): New globals.
5476         (ppc_regs_info): New function.
5477         (the_low_target): Adjust.
5478         (initialize_low_arch): New function.
5479         * linux-s390-low.c (tdesc_s390_linux32, tdesc_s390_linux32v1)
5480         (tdesc_s390_linux32v2, tdesc_s390_linux64, tdesc_s390_linux64v1)
5481         (tdesc_s390_linux64v2, tdesc_s390x_linux64, tdesc_s390x_linux64v1)
5482         (tdesc_s390x_linux64v2): Declare.
5483         (s390_collect_ptrace_register, s390_supply_ptrace_register)
5484         (s390_fill_gregset, s390_store_last_break): Adjust.
5485         (target_regsets): Rename to ...
5486         (s390_regsets): ... this, and make static.
5487         (s390_get_pc, s390_set_pc): Adjust.
5488         (s390_get_hwcap): New target_desc parameter, and use it.
5489         [__s390x__] (have_hwcap_s390_high_gprs): New global.
5490         (s390_arch_setup): Adjust to set the current process'es target
5491         description.  Don't adjust the regmap.
5492         (s390_usrregs_info, s390_regsets_info, regs_info): New globals.
5493         [__s390x__] (s390_usrregs_info_3264, s390_regsets_info_3264)
5494         (regs_info_3264): New globals.
5495         (s390_regs_info): New function.
5496         (the_low_target): Adjust.
5497         (initialize_low_arch): New function.
5498         * linux-mips-low.c (tdesc_mips_linux, tdesc_mips_dsp_linux)
5499         (tdesc_mips64_linux, tdesc_mips64_dsp_linux): Declare.
5500         [__mips64] (init_registers_mips_linux)
5501         (init_registers_mips_dsp_linux): Delete defines.
5502         [__mips64] (tdesc_mips_linux, tdesc_mips_dsp_linux): New defines.
5503         (have_dsp): New global.
5504         (mips_read_description): New, based on mips_arch_setup.
5505         (mips_arch_setup): Reimplement.
5506         (get_usrregs_info): New function.
5507         (mips_cannot_fetch_register, mips_cannot_store_register)
5508         (mips_get_pc, mips_set_pc, mips_fill_gregset, mips_store_gregset)
5509         (mips_fill_fpregset, mips_store_fpregset): Adjust.
5510         (target_regsets): Rename to ...
5511         (mips_regsets): ... this, and make static.
5512         (mips_regsets_info, mips_dsp_usrregs_info, mips_usrregs_info)
5513         (dsp_regs_info, regs_info): New globals.
5514         (mips_regs_info): New function.
5515         (the_low_target): Adjust.
5516         (initialize_low_arch): New function.
5517         * linux-arm-low.c (tdesc_arm, tdesc_arm_with_iwmmxt)
5518         (tdesc_arm_with_vfpv2, tdesc_arm_with_vfpv3, tdesc_arm_with_neon):
5519         Declare.
5520         (arm_fill_vfpregset, arm_store_vfpregset): Adjust.
5521         (arm_read_description): New, with bits factored from
5522         arm_arch_setup.
5523         (arm_arch_setup): Reimplement.
5524         (target_regsets): Rename to ...
5525         (arm_regsets): ... this, and make static.
5526         (arm_regsets_info, arm_usrregs_info, regs_info): New globals.
5527         (arm_regs_info): New function.
5528         (the_low_target): Adjust.
5529         (initialize_low_arch): New function.
5530         * linux-m68k-low.c (tdesc_m68k): Declare.
5531         (target_regsets): Rename to ...
5532         (m68k_regsets): ... this, and make static.
5533         (m68k_regsets_info, m68k_usrregs_info, regs_info): New globals.
5534         (m68k_regs_info): New function.
5535         (m68k_arch_setup): New function.
5536         (the_low_target): Adjust.
5537         (initialize_low_arch): New function.
5538         * linux-sh-low.c (tdesc_sharch): Declare.
5539         (target_regsets): Rename to ...
5540         (sh_regsets): ... this, and make static.
5541         (sh_regsets_info, sh_usrregs_info, regs_info): New globals.
5542         (sh_regs_info, sh_arch_setup): New functions.
5543         (the_low_target): Adjust.
5544         (initialize_low_arch): New function.
5545         * linux-bfin-low.c (tdesc_bfin): Declare.
5546         (bfin_arch_setup): New function.
5547         (bfin_usrregs_info, regs_info): New globals.
5548         (bfin_regs_info): New function.
5549         (the_low_target): Adjust.
5550         (initialize_low_arch): New function.
5551         * linux-cris-low.c (tdesc_cris): Declare.
5552         (cris_arch_setup): New function.
5553         (cris_usrregs_info, regs_info): New globals.
5554         (cris_regs_info): New function.
5555         (the_low_target): Adjust.
5556         (initialize_low_arch): New function.
5557         * linux-cris-low.c (tdesc_crisv32): Declare.
5558         (cris_arch_setup): New function.
5559         (cris_regsets_info, cris_usrregs_info, regs_info): New globals.
5560         (cris_regs_info): New function.
5561         (the_low_target): Adjust.
5562         (initialize_low_arch): New function.
5563         * linux-m32r-low.c (tdesc_m32r): Declare.
5564         (m32r_arch_setup): New function.
5565         (m32r_usrregs_info, regs_info): New globals.
5566         (m32r_regs_info): Adjust.
5567         (initialize_low_arch): New function.
5568         * linux-tic6x-low.c (tdesc_tic6x_c64xp_linux)
5569         (tdesc_tic6x_c64x_linux, tdesc_tic6x_c62x_linux): Declare.
5570         (tic6x_usrregs_info): Forward declare.
5571         (tic6x_read_description): New function, based on ...
5572         (tic6x_arch_setup): ... this.  Reimplement.
5573         (target_regsets): Rename to ...
5574         (tic6x_regsets): ... this, and make static.
5575         (tic6x_regsets_info, tic6x_usrregs_info, regs_info): New globals.
5576         (tic6x_regs_info): New function.
5577         (the_low_target): Adjust.
5578         (initialize_low_arch): New function.
5579         * linux-xtensa-low.c (tdesc_xtensa): Declare.
5580         (xtensa_fill_gregset, xtensa_store_gregset): Adjust.
5581         (target_regsets): Rename to ...
5582         (xtensa_regsets): ... this, and make static.
5583         (xtensa_regsets_info, xtensa_usrregs_info, regs_info): New
5584         globals.
5585         (xtensa_arch_setup, xtensa_regs_info): New functions.
5586         (the_low_target): Adjust.
5587         (initialize_low_arch): New function.
5588         * linux-nios2-low.c (tdesc_nios2_linux): Declare.
5589         (nios2_arch_setup): Set the current process'es tdesc.
5590         (target_regsets): Rename to ...
5591         (nios2_regsets): ... this.
5592         (nios2_regsets_info, nios2_usrregs_info, regs_info): New globals.
5593         (nios2_regs_info): New function.
5594         (the_low_target): Adjust.
5595         (initialize_low_arch): New function.
5596         * linux-aarch64-low.c (tdesc_aarch64): Declare.
5597         (aarch64_arch_setup): Set the current process'es tdesc.
5598         (target_regsets): Rename to ...
5599         (aarch64_regsets): ... this.
5600         (aarch64_regsets_info, aarch64_usrregs_info, regs_info): New globals.
5601         (aarch64_regs_info): New function.
5602         (the_low_target): Adjust.
5603         (initialize_low_arch): New function.
5604         * linux-tile-low.c (tdesc_tilegx, tdesc_tilegx32): Declare
5605         globals.
5606         (target_regsets): Rename to ...
5607         (tile_regsets): ... this.
5608         (tile_regsets_info, tile_usrregs_info, regs_info): New globals.
5609         (tile_regs_info): New function.
5610         (tile_arch_setup): Set the current process'es tdesc.
5611         (the_low_target): Adjust.
5612         (initialize_low_arch): New function.
5613         * spu-low.c (tdesc_spu): Declare.
5614         (spu_create_inferior, spu_attach): Set the new process'es tdesc.
5615         * win32-arm-low.c (tdesc_arm): Declare.
5616         (arm_arch_setup): New function.
5617         (the_low_target): Install arm_arch_setup instead of
5618         init_registers_arm.
5619         * win32-i386-low.c (tdesc_i386, tdesc_amd64): Declare.
5620         (init_windows_x86): Rename to ...
5621         (i386_arch_setup): ... this.  Set `win32_tdesc'.
5622         (the_low_target): Adjust.
5623         * win32-low.c (win32_tdesc): New global.
5624         (child_add_thread): Don't create the thread cache here.
5625         (do_initial_child_stuff): Set the new process'es tdesc.
5626         * win32-low.h (struct target_desc): Forward declare.
5627         (win32_tdesc): Declare.
5628         * lynx-i386-low.c (tdesc_i386): Declare global.
5629         (lynx_i386_arch_setup): Set `lynx_tdesc'.
5630         * lynx-low.c (lynx_tdesc): New global.
5631         (lynx_add_process): Set the new process'es tdesc.
5632         * lynx-low.h (struct target_desc): Forward declare.
5633         (lynx_tdesc): Declare global.
5634         * lynx-ppc-low.c (tdesc_powerpc_32): Declare global.
5635         (lynx_ppc_arch_setup): Set `lynx_tdesc'.
5636         * nto-low.c (nto_tdesc): New global.
5637         (do_attach): Set the new process'es tdesc.
5638         * nto-low.h (struct target_desc): Forward declare.
5639         (nto_tdesc): Declare.
5640         * nto-x86-low.c (tdesc_i386): Declare.
5641         (nto_x86_arch_setup): Set `nto_tdesc'.
5642
5643 2013-06-04  Gary Benson  <gbenson@redhat.com>
5644
5645         * server.c (handle_query): Add "augmented-libraries-svr4-read+"
5646         to qSupported response when appropriate.
5647         (handle_qxfer_libraries_svr4): Allow qXfer:libraries-svr4:read
5648         with nonzero-length annex.
5649         * linux-low.c (linux_qxfer_libraries_svr4): Parse and handle
5650         arguments supplied in annex.
5651
5652 2013-05-31  Doug Evans  <dje@google.com>
5653
5654         PR server/15594
5655         * linux-x86-low.c (ps_get_thread_area): Properly extend address to
5656         64 bits in 64-cross-32 environment.
5657
5658 2013-05-28  Pedro Alves  <palves@redhat.com>
5659
5660         * Makefile.in (clean): Remove reference to aarch64-without-fpu.c.
5661         (aarch64-without-fpu.c): Delete rule.
5662         * configure.srv (aarch64*-*-linux*): Remove references to
5663         aarch64-without-fpu.o and aarch64-without-fpu.xml.
5664         * linux-aarch64-low.c (init_registers_aarch64_without_fpu): Remove
5665         declaration.
5666
5667 2013-05-24  Pedro Alves  <palves@redhat.com>
5668
5669         * server.c (handle_v_cont) <vCont;r>: Use unpack_varlen_hex
5670         instead of strchr/decode_address.  Error if the range isn't split
5671         with a ','.  Don't assume there's be a ':' in the action.
5672
5673 2013-05-23  Yao Qi  <yao@codesourcery.com>
5674             Pedro Alves  <palves@redhat.com>
5675
5676         * linux-low.c (lwp_in_step_range): New function.
5677         (linux_wait_1): If the thread was range stepping and stopped
5678         outside the stepping range, report the stop to GDB.  Otherwise,
5679         continue stepping.  Add range stepping debug output.
5680         (linux_set_resume_request): Copy the step range from the resume
5681         request to the lwp.
5682         (linux_supports_range_stepping): New.
5683         (linux_target_ops) <supports_range_stepping>: Set to
5684         linux_supports_range_stepping.
5685         * linux-low.h (struct linux_target_ops)
5686         <supports_range_stepping>: New field.
5687         (struct lwp_info) <step_range_start, step_range_end>: New fields.
5688         * linux-x86-low.c (x86_supports_range_stepping): New.
5689         (the_low_target) <supports_range_stepping>: Set to
5690         x86_supports_range_stepping.
5691         * server.c (handle_v_cont): Handle 'r' action.
5692         (handle_v_requests): Append ";r" if the target supports range
5693         stepping.
5694         * target.h (struct thread_resume) <step_range_start,
5695         step_range_end>: New fields.
5696         (struct target_ops) <supports_range_stepping>:
5697         New field.
5698         (target_supports_range_stepping): New macro.
5699
5700 2013-05-17  Joel Brobecker  <brobecker@adacore.com>
5701
5702         * lynx-low.c (lynx_resume): Fix null_ptid/minus_one_ptid
5703         confusion in comment.
5704
5705 2013-05-17  Joel Brobecker  <brobecker@adacore.com>
5706
5707         * lynx-low.c (struct process_info_private): New type.
5708         (lynx_add_process): New function.
5709         (lynx_create_inferior, lynx_attach): Replace calls to
5710         add_process by calls to lynx_add_process.
5711         (lynx_resume): If PTID is null, then try using
5712         current_process()->private->last_wait_event_ptid.
5713         Add comments.
5714         (lynx_clear_inferiors): Delete.  The contents of that function
5715         has been inlined in lynx_mourn;
5716         (lynx_wait_1): Save the ptid in the process's private data.
5717         (lynx_mourn): Free the process' private data.  Replace call
5718         to lynx_clear_inferiors by call to clear_inferiors.
5719
5720 2013-05-17  Yao Qi  <yao@codesourcery.com>
5721
5722         * i386-low.c (i386_length_and_rw_bits): Move the comment to
5723         the right place.
5724
5725 2013-05-16  Luis Machado  <lgustavo@codesourcery.com>
5726
5727         * linux-low.c: Move definition checks upwards for PT_TEXT_ADDR,
5728         PT_DATA_ADDR and PT_TEXT_END_ADDR.  Update comments.
5729         (linux_read_offsets): Remove PT_TEXT_ADDR, PT_DATA_ADDR and
5730         PT_TEXT_END_ADDR guards.  Update comments.
5731         (linux_target_op) <read_offsets>: Conditionally define to
5732         linux_read_offsets if the target is UCLIBC and if it defines
5733         PT_TEXT_ADDR, PT_DATA_ADDR and PT_TEXT_END_ADDR.
5734
5735 2013-05-06  Sandra Loosemore  <sandra@codesourcery.com>
5736             Andrew Jenner  <andrew@codesourcery.com>
5737
5738         * Makefile.in (SFILES): Add linux-nios2-low.c.
5739         (clean): Add action to delete nios2-linux.c.
5740         (nios2-linux.c): New rule.
5741         * configure.srv: Add nios2*-*-linux*.
5742         * linux-nios2-low.c: New.
5743
5744 2013-05-03  Hafiz Abid Qadeer  <abidh@codesourcery.com>
5745
5746         * tracepoint.c (cmd_qtinit): Call 'stop_tracing'.
5747
5748 2013-04-25  Hui Zhu  <hui@codesourcery.com>
5749
5750         PR gdb/15186
5751         * ax.c (ax_printf): Add fflush.
5752
5753 2013-04-22  Tom Tromey  <tromey@redhat.com>
5754
5755         * Makefile.in (SFILES): Add filestuff.c.
5756         (OBS): Add filestuff.o.
5757         (filestuff.o): New target.
5758         * config.in, configure: Rebuild.
5759         * configure.ac: Check for fdwalk, pipe2.
5760
5761 2013-04-17  Pedro Alves  <palves@redhat.com>
5762
5763         * configure.ac (USE_THREAD_DB): Delete variable.
5764         (if test "$srv_linux_thread_db" = "yes"): AC_DEFINE USE_THREAD_DB.
5765         Don't AC_SUBST USE_THREAD_DB.
5766         * Makefile.in (INTERNAL_CFLAGS): Remove @USE_THREAD_DB@.
5767         * config.in, configure: Regenerate.
5768
5769 2013-04-16  Pedro Alves  <palves@redhat.com>
5770
5771         * linux-low.h (struct lwp_info) <thread_known>: Move under
5772         the USE_THREAD_DB #ifdef.
5773
5774 2013-04-16  Pedro Alves  <palves@redhat.com>
5775
5776         * Makefile.in (INTERNAL_CFLAGS): Add @USE_THREAD_DB@.
5777         (linux-low.o): Delete rule.
5778         * linux-low.h: Always include "gdb_thread_db.h" instead of
5779         conditionally including thread_db.h.
5780         (struct lwp_info) <th>: Guard with #ifdef USE_THREAD_DB instead of
5781         HAVE_THREAD_DB_H.
5782
5783 2013-04-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
5784
5785         * Makefile.in (install-only): Fix make install regression.
5786
5787 2013-04-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
5788
5789         Convert man pages to texinfo, new gdbinit.5 texinfo page.
5790         * Makefile.in (install-only): Remove $(man1dir) and gdbserver.1
5791         installation.
5792         * gdbserver.1: Remove.
5793
5794 2013-03-22  Pedro Alves  <palves@redhat.com>
5795
5796         * linux-low.c (handle_extended_wait): Don't call
5797         linux_enable_event_reporting.
5798
5799 2013-03-15  Tony Theodore  <tonyt@logyst.com>
5800
5801         PR build/9098:
5802         * Makefile.in (SHELL): Use @SHELL@.
5803
5804 2013-03-14  Sergio Durigan Junior  <sergiodj@redhat.com>
5805
5806         * tracepoint.c (cmd_qtv): Initialize `val' with zero, silencing
5807         compiler warning.
5808
5809 2013-03-13  Joel Brobecker  <brobecker@adacore.com>
5810
5811         * linux-low.c (linux_target_ops) [!HAVE_LINUX_BTRACE]:
5812         Remove extraneous NULL element.
5813
5814 2013-03-13  Yao Qi  <yao@codesourcery.com>
5815
5816         * tracepoint.c (traceframe_read_tsv): Look for the last matched
5817         'V' block in trace frame.
5818
5819 2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
5820
5821         * target.h (struct target_ops): Add btrace ops.
5822         (target_supports_btrace): New macro.
5823         (target_enable_btrace): New macro.
5824         (target_disable_btrace): New macro.
5825         (target_read_btrace): New macro.
5826         * gdbthread.h (struct thread_info): Add btrace field.
5827         * server.c: Include btrace-common.h.
5828         (handle_btrace_general_set): New function.
5829         (handle_btrace_enable): New function.
5830         (handle_btrace_disable): New function.
5831         (handle_general_set): Call handle_btrace_general_set.
5832         (handle_qxfer_btrace): New function.
5833         (struct qxfer qxfer_packets[]): Add btrace entry.
5834         * inferiors.c (remove_thread): Disable btrace.
5835         * linux-low: Include linux-btrace.h.
5836         (linux_low_enable_btrace): New function.
5837         (linux_low_read_btrace): New function.
5838         (linux_target_ops): Add btrace ops.
5839         * configure.srv (i[34567]86-*-linux*): Add linux-btrace.o.
5840         Add srv_linux_btrace=yes.
5841         (x86_64-*-linux*): Add linux-btrace.o.
5842         Add srv_linux_btrace=yes.
5843         * configure.ac: Define HAVE_LINUX_BTRACE.
5844         * config.in: Regenerated.
5845         * configure: Regenerated.
5846
5847 2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
5848
5849         * server.c (handle_qxfer): Preserve error message if -3 is
5850         returned.
5851         (qxfer): Document the -3 return value.
5852
5853 2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
5854
5855         * Makefile.in (SFILES): Add $(srcdir)/common/linux-btrace.c.
5856         (linux_btrace_h): New variable.
5857         (linux-btrace.o): New rule.
5858
5859 2013-03-08  Stan Shebs  <stan@codesourcery.com>
5860             Hafiz Abid Qadeer  <abidh@codesourcery.com>
5861
5862         * tracepoint.c (trace_buffer_size): New global.
5863         (DEFAULT_TRACE_BUFFER_SIZE): New define.
5864         (init_trace_buffer): Change to one-argument function. Allocate
5865         trace buffer memory.
5866         (handle_tracepoint_general_set): Call cmd_bigqtbuffer_size to
5867         handle QTBuffer:size packet.
5868         (cmd_bigqtbuffer_size): New function.
5869         (initialize_tracepoint): Call init_trace_buffer with
5870         DEFAULT_TRACE_BUFFER_SIZE.
5871         * server.c (handle_query): Add QTBuffer:size in the
5872         supported packets.
5873
5874 2013-03-07  Yao Qi  <yao@codesourcery.com>
5875
5876         * tracepoint.c (cur_action, cur_step_action): Make them unsigned.
5877         (cmd_qtfp): Initialize cur_action and cur_step_action 0 instead
5878         of -1.
5879         (cmd_qtsp): Adjust condition.  Do post increment.
5880         Set cur_action and cur_step_action back to 0.
5881
5882 2013-03-07  Jeremy Bennett  <jeremy.bennett@embecosm.com>
5883
5884         PR server/15236
5885         * linux-low.c (linux_write_memory): Return early success if LEN is
5886         zero.
5887
5888 2013-03-05  Corinna Vinschen  <vinschen@redhat.de>
5889
5890         * configure.srv: Add x86_64-*-cygwin* as target.
5891
5892 2013-02-28  Tom Tromey  <tromey@redhat.com>
5893
5894         * configure.ac: Invoke AC_SYS_LARGEFILE.
5895         * configure, config.in: Rebuild.
5896
5897 2013-02-28  Corinna Vinschen  <vinschen@redhat.com>
5898
5899         * win32-low.c: Throughout, fix format strings and casts of
5900         printf-like functions to avoid type related warnings on all
5901         platforms.
5902         (get_child_debug_event): Print dwDebugEventCode as hex since
5903         that's how it's usually documented.
5904
5905 2013-02-28  Yao Qi  <yao@codesourcery.com>
5906
5907         * tracepoint.c (cmd_qtbuffer): Call phex_nz instead of
5908         pulongest.
5909
5910 2013-02-27  Jiong Wang  <jiwang@tilera.com>
5911
5912         * Makefile.in (clean): Remove reg-tilegx.c, reg-tilegx32.c.
5913         (reg-tilegx32.c): New rule.
5914         * configure.srv (tilegx-*-linux*): Add reg-tilegx32.o to srv_regobj.
5915         * linux-tile-low.c (tile_arch_setup): New function.  Invoke
5916         different register info initializer according to elf class.
5917         (init_registers_tilgx32): New function.  The tilegx32 register info
5918         initializer.
5919         (tile_fill_gregset): Use "uint_reg_t" to represent register size.
5920         (tile_store_gregset): Likewise.
5921
5922 2013-02-27  Yao Qi  <yao@codesourcery.com>
5923
5924         * server.c (process_point_options): Print debug message when
5925         debug_threads is true.
5926
5927 2013-02-26  Yao Qi  <yao@codesourcery.com>
5928
5929         * tracepoint.c (cmd_qtbuffer): Don't set '\0' in OWN_BUF.
5930
5931 2013-02-19  Pedro Alves  <palves@redhat.com>
5932             Kai Tietz <ktietz@redhat.com>
5933
5934         PR gdb/15161
5935
5936         * server.c (handle_query) <CRC check>: Use unpack_varlen_hex
5937         instead of strtoul to extract address from packet.
5938         (process_serial_event) <'z'>: Likewise.
5939
5940 2013-02-18  Yao Qi  <yao@codesourcery.com>
5941
5942         * linux-bfin-low.c (the_low_target): Use NULL instead of 0.
5943
5944 2013-02-14  Pedro Alves  <palves@redhat.com>
5945
5946         Plug memory leak.
5947
5948         * tracepoint.c (cmd_qtnotes): Free TRACING_USER_NAME,
5949         TRACING_NOTES and TRACING_STOP_NOTE before clobbering.
5950
5951 2013-02-14  Pedro Alves  <palves@redhat.com>
5952
5953         * tracepoint.c (cmd_qtdpsrc): Use savestring.
5954
5955 2013-02-14  Pedro Alves  <palves@redhat.com>
5956
5957         * tracepoint.c (save_string): Delete.
5958         (add_tracepoint_action): Use savestring instead of save_string.
5959
5960 2013-02-12  Pedro Alves  <palves@redhat.com>
5961
5962         * linux-xtensa-low.c: Ditto.
5963         * xtensa-xtregs.c: Ditto.
5964
5965 2013-02-12  Sanimir Agovic  <sanimir.agovic@intel.com>
5966
5967         * thread-db.c (thread_db_get_tls_address): NULL pointer check
5968         thread_db.
5969
5970 2013-02-07  Marcus Shawcroft  <marcus.shawcroft@arm.com>
5971
5972         * linux-aarch64-low.c (aarch64_arch_setup): Clamp
5973         aarch64_num_wp_regs and aarch64_num_bp_regs to
5974         AARCH64_HWP_MAX_NUM and AARCH64_HBP_MAX_NUM respectively.
5975
5976 2013-02-07  Marcus Shawcroft  <marcus.shawcroft@arm.com>
5977
5978         * linux-aarch64-low.c (ps_get_thread_area): Replace
5979         PTRACE_GET_THREAD_AREA with PTRACE_GETREGSET.
5980
5981 2013-02-04  Jim MacArthur  <jim.macarthur@arm.com>
5982             Marcus Shawcroft  <marcus.shawcroft@arm.com>
5983             Nigel Stephens  <nigel.stephens@arm.com>
5984             Yufeng Zhang  <yufeng.zhang@arm.com>
5985
5986         * Makefile.in (clean): Remove aarch64.c and aarch64-without-fpu.c.
5987         (aarch64.c, aarch64-without-fpu.c): New targets.
5988         * configure.srv (aarch64*-*-linux*): New.
5989         * linux-aarch64-low.c: New file.
5990
5991 2013-02-04  Marcus Shawcroft  <marcus.shawcroft@arm.com>
5992
5993         * linux-low.c (handle_extended_wait, linux_create_inferior)
5994         (linux_attach_lwp_1, linux_kill_one_lwp, linux_attach_one_lwp)
5995         (dequeue_one_deferred_signal, linux_resume_one_thread)
5996         (fetch_register, linux_write_memory, linux_enable_event_reporting)
5997         (linux_tracefork_grandchild, linux_test_for_tracefork)
5998         (linux_read_offsets, linux_xfer_siginfo, linux_xfer_siginfo): Add
5999         PTRACE_ARG3_TYPE and PTRACE_ARG4_TYPE cast to ptrace arguments
6000         where the argument is 0.
6001
6002 2013-01-25  Yao Qi  <yao@codesourcery.com>
6003
6004         * event-loop.c: Include "queue.h".
6005         (gdb_event_p): New typedef.
6006         (struct gdb_event) <next_event>: Remove.
6007         (event_queue): Change to QUEUE(gdb_event_p).
6008         (async_queue_event): Remove.
6009         (gdb_event_xfree): New.
6010         (initialize_event_loop): New.
6011         (process_event): Use API from QUEUE.
6012         (wait_for_event): Likewise.
6013         * server.c (main): Call initialize_event_loop.
6014         * server.h (initialize_event_loop): Declare.
6015
6016 2013-01-18  Yao Qi  <yao@codesourcery.com>
6017
6018         * ax.h (struct eval_agent_expr_context): New.
6019         (gdb_eval_agent_expr): Update declaration.
6020         * ax.c (gdb_eval_agent_expr): Remove argument REGCACHE and
6021         TFRAME.  Add new argument CTX.
6022         * server.h (struct eval_agent_expr_context): Declare.
6023         (agent_mem_read, agent_tsv_read): Update declaration.
6024         (agent_mem_read_string): Likewise.
6025         * tracepoint.c (eval_tracepoint_agent_expr): Remove.
6026         (add_traceframe_block): Add new argument TPOINT.
6027         Increase TPOINT->traceframe_usage.
6028         (do_action_at_tracepoint): Call gdb_eval_agent_expr instead of
6029         eval_tracepoint_agent_expr.
6030         (condition_true_at_tracepoint): Likewise.
6031         (agent_mem_read): Remove argument TFRAME.  Add argument CTX.
6032         (agent_mem_read_string, agent_tsv_read): Likewise.
6033
6034 2013-01-16  Yao Qi  <yao@codesourcery.com>
6035
6036         * linux-low.c (linux_resume_one_lwp): Don't check
6037         'lwp->bp_reinsert != 0'.
6038
6039 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6040             Pedro Alves  <palves@redhat.com>
6041
6042         * lynx-low.c (ptrace_request_to_str): Define a temporary
6043         macro and use it to simplify this function's implementation.
6044
6045 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6046
6047         * lynx-low.c (lynx_resume): Call perror_with_name if lynx_ptrace
6048         sets errno.
6049
6050 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6051
6052         * configure.srv (i[34567]86-*-lynxos*): Set srv_xmlfiles.
6053
6054 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6055
6056         * configure.srv (powerpc-*-lynxos*): Set srv_xmlfiles.
6057
6058 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6059
6060         * lynx-low.c (lynx_resume): Use the resume_info parameter
6061         to determine the ptid for the lynx_ptrace call, unless
6062         it is equal to minus_one_ptid, in which case we use the
6063         ptid of the current_inferior.
6064         (lynx_wait_1): After having received a thread create/exit
6065         event, resume the inferior's execution using the signaling
6066         thread's ptid, rather than the old ptid.
6067
6068 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6069
6070         * lynx-low.c (lynx_resume): Delete variable ret.
6071
6072 2013-01-01  Joel Brobecker  <brobecker@adacore.com>
6073
6074         * gdbreplay.c (gdbreplay_version): Update copyright year.
6075         * server.c (gdbserver_version): Likewise.
6076
6077 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6078
6079         * lynx-low.c (lynx_wait_1): Add debug trace before adding
6080         new thread.
6081
6082 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6083
6084         * lynx-low.c (ptrace_request_to_str): Add handling for
6085         PTRACE_GETTRACESIG.
6086
6087 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6088
6089         * lynx-low.c (lynx_attach): Delete variable new_process.
6090
6091 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6092
6093         * lynx-low.c (lynx_create_inferior): Delete variable
6094         new_process.
6095
6096 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6097
6098         * lynx-low.c (ptrace_request_to_str): Do not handle
6099         PTRACE_GETTHREADLIST if this macro does not exist.
6100
6101 2012-12-15  Yao Qi  <yao@codesourcery.com>
6102
6103         * Makefile.in (OBS): Add notif.o.
6104         * notif.c, notif.h: New.
6105         * server.c: Include "notif.h".
6106         (struct vstop_notif) <next>: Remove.
6107         <base>: New field.
6108         (queue_stop_reply): Update.
6109         (push_event, send_next_stop_reply): Remove.
6110         (discard_queued_stop_replies): Update.
6111         (notif_stop): New variable.
6112         (handle_v_stopped): Remove.
6113         (handle_v_requests): Don't call handle_v_stopped.  Call
6114         handle_ack_notif instead.
6115         (queue_stop_reply_callback): Call notif_event_enque instead
6116         of queue_stop_reply.
6117         (handle_status): Don't call send_next_stop_reply, call
6118         notif_write_event instead.
6119         (kill_inferior_callback): Likewise.
6120         (detach_or_kill_inferior_callback): Likewise.
6121         (main): Call initialize_notif.
6122         (process_serial_event): Call QUEUE_is_empty.
6123         (handle_target_event): Call notif_push instead of push event.
6124         * server.h (push_event): Remove declaration.
6125
6126 2012-12-10  Tom Tromey  <tromey@redhat.com>
6127
6128         * Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.pre)
6129         (COMPILE.post, COMPILE, POSTCOMPILE, IPAGENT_COMPILE): New
6130         macros.
6131         (.c.o): Rewrite.
6132         (ax-ipa.o, tracepoint-ipa.o, utils-ipa.o, format-ipa.o)
6133         (common-utils-ipa.o, remote-utils-ipa.o, regcache-ipa.o)
6134         (i386-linux-ipa.o, linux-i386-ipa.o, linux-amd64-ipa.o)
6135         (amd64-linux-ipa.o, ax.o): Rewrite.
6136         (event-loop.o, hostio.o, hostio-errno.o, inferiors.o, mem-break.o)
6137         (proc-service.o, regcache.o, remote-utils.o, server.o, target.o)
6138         (thread-db.o, tracepoint.o, utils.o, gdbreplay.o, dll.o): Remove.
6139         (signals.o, linux-procfs.o, linux-ptrace.o, common-utils.o, vec.o)
6140         (gdb_vecs.o, xml-utils.o, linux-osdata.o, ptid.o, buffer.o)
6141         (format.o, agent.o, vasprintf.o, vsnprintf.o): Rewrite.
6142         (i386-low.o, i387-fp.o, linux-low.o, linux-arm-low.o)
6143         (linux-bfin-low.o, linux-cris-low.o, linux-crisv32-low.o)
6144         (linux-ia64-low.o, linux-m32r-low.o, linux-mips-low.o)
6145         (linux-ppc-low.o, linux-s390-low.o, linux-sh-low.o)
6146         (linux-tic6x-low.o, linux-x86-low.o, linux-xtensa-low.o)
6147         (linux-tile-low.o, lynx-low.o, lynx-ppc-low.o, nto-low.o)
6148         (nto-x86-low.o, linux-low.o, win32-low.o, win32-arm-low.o)
6149         (win32-i386-low.o, spu-low.o, reg-arm.o, arm-with-iwmmxt.o)
6150         (arm-with-vfpv2.o, arm-with-vfpv3.o, arm-with-neon.o, reg-bfin.o)
6151         (reg-cris.o, reg-crisv32.o, i386.o, i386-linux.o, i386-avx.o)
6152         (i386-avx-linux.o, i386-mmx.o, i386-mmx-linux.o, reg-ia64.o)
6153         (reg-m32r.o, reg-m68k.o, reg-cf.o, mips-linux.o, mips-dsp-linux.o)
6154         (mips64-linux.o, mips64-dsp-linux.o, powerpc-32.o, powerpc-32l.o)
6155         (powerpc-altivec32l.o, powerpc-cell32l.o, powerpc-vsx32l.o)
6156         (powerpc-isa205-32l.o, powerpc-isa205-altivec32l.o)
6157         (powerpc-isa205-vsx32l.o, powerpc-e500l.o, powerpc-64l.o)
6158         (powerpc-altivec64l.o, powerpc-cell64l.o, powerpc-vsx64l.o)
6159         (powerpc-isa205-64l.o, powerpc-isa205-altivec64l.o)
6160         (powerpc-isa205-vsx64l.o, s390-linux32.o, s390-linux32v1.o)
6161         (s390-linux32v2.o, s390-linux64.o, s390-linux64v1.o)
6162         (s390-linux64v2.o, s390x-linux64.o, s390x-linux64v1.o)
6163         (s390x-linux64v2.o, tic6x-c64xp-linux.o, tic6x-c64x-linux.o)
6164         (tic6x-c62x-linux.o, reg-sh.o, reg-sparc64.o, reg-spu.o, amd64.o)
6165         (amd64-linux.o, amd64-avx.o, amd64-avx-linux.o, x32.o)
6166         (x32-linux.o, x32-avx.o, x32-avx-linux.o, reg-xtensa.o)
6167         (reg-tilegx.o): Remove.
6168         (all_object_files): New macro.
6169         Include .deps files.
6170         * aclocal.m4, configure: Rebuild.
6171         * acinclude.m4: Include depstand.m4, lead-dot.m4.
6172         * configure.ac: Invoke ZW_CREATE_DEPDIR,
6173         ZW_PROG_COMPILER_DEPENDENCIES.  Compute GMAKE condition.
6174
6175 2012-12-05  Tom Tromey  <tromey@redhat.com>
6176
6177         PR gdb/14917:
6178         * server.h (current_insn_ptr, emit_error): Declare 'extern'.
6179
6180 2012-11-28  Markus Metzger  <markus.t.metzger@intel.com>
6181
6182         * configure.ac: Check for linux/perf_event.h.
6183         * config.in: Regenerated.
6184         * configure: Regenerated.
6185
6186 2012-11-26  Maxime Villard  <rustyBSD@gmx.fr>
6187
6188         * hostio.c (handle_readlink): Decrease buffer size
6189         parameter passed to readlink by one byte.
6190
6191 2012-11-26  Yao Qi  <yao@codesourcery.com>
6192
6193         * configure.ac (build_warnings): Append '-Wempty-body'.
6194         * configure: Regenerated.
6195         * linux-low.c (linux_create_inferior): Use braces for empty 'if'
6196         body.
6197
6198 2012-11-15  Pierre Muller  <muller@sourceware.org>
6199
6200         * configure.ac (AC_CHECK_HEADERS): Add wait.h header.
6201         * config.in: Regenerate.
6202         * configure: Regenerate.
6203         * linux-low.c: Use "gdb_stat.h" header instead of <sys/stat.h> header.
6204         Use "gdb_wait.h" header instead of <sys/wait.h> header.
6205         * lynx-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
6206         * remote-utils.c: Use "gdb_stat.h" header instead of <sys/stat.h>
6207         header.
6208         * server.c: Remove HAVE_WAIT_H conditional.  Use "gdb_wait.h" header
6209         instead of <sys/wait.h> header.
6210         * spu-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
6211
6212 2012-11-13 Markus Metzger  <markus.t.metzger@intel.com>
6213
6214         * Makefile.in: (INTERNAL_CFLAGS): Add -DGDBSERVER
6215         (various make rules): Remove -DGDBSERVER
6216
6217 2012-11-09  Yao Qi  <yao@codesourcery.com>
6218
6219         * spu-low.c (current_ptid): Move it to ..
6220         * gdbthread.h: ... here.  New.
6221         * remote-utils.c (read_ptid): Use macro 'current_ptid'.
6222         * server.c (myresume, process_serial_event): Likewise.
6223         * thread-db.c (thread_db_find_new_threads): Likewise.
6224         * tracepoint.c (run_inferior_command): Likewise.
6225
6226 2012-10-01  Andrew Burgess  <aburgess@broadcom.com>
6227
6228         * server.c (handle_search_memory_1): Include access length in
6229         warning message.
6230
6231 2012-09-05  Michael Brandt  <michael.brandt@axis.com>
6232
6233         * linux-crisv32-low.c: Fix compile errors.
6234
6235 2012-09-04  Yao Qi  <yao@codesourcery.com>
6236
6237         * tracepoint.c (cmd_qtsv): Adjust debug message.
6238         Don't check CUR_TPOINT.
6239
6240 2012-08-28  Yao Qi  <yao@codesourcery.com>
6241
6242         * ax.c, tracepoint.c: Replace ATTR_FORMAT with ATTRIBUTE_PRINTF.
6243         * server.h: Include 'libiberty.h' and 'ansidecl.h'.
6244         (ATTR_NORETURN, ATTR_FORMAT, ATTR_MALLOC): Remove.
6245         Remove declarations of xmalloc, xreallloc, xstrdup and
6246         freeargv.
6247         * Makefile.in (libiberty_h): New.
6248         (server_h): Append dependencies 'libiberty.h' and 'ansidecl.h'.
6249         (linux-bfin-low.o): Append dependency 'libiberty.h'.
6250
6251 2012-08-23  Yao Qi  <yao@codesourcery.com>
6252
6253         * server.h: Remove declaration of 'xsnprintf'.
6254
6255 2012-08-22  Keith Seitz  <keiths@redhat.com>
6256
6257         * server.h: Include build-gnulib-gbserver/config.h.
6258         * gdbreplay.c: Likewise.
6259
6260 2012-08-08  Doug Evans  <dje@google.com>
6261
6262         * Makefile.in (SFILES): Add gdb_vecs.c.
6263         (OBS): Add gdb_vecs.o.
6264         (gdb_vecs_h, host_defs_h): New variables.
6265         (thread-db.o): Add $(gdb_vecs_h) dependency.
6266         (gdb_vecs.o): New rule.
6267         * thread-db.c: #include "gdb_vecs.h".
6268         (thread_db_load_search): Use a vector to iterate over path elements.
6269         Handle text appearing after "$pdir".
6270
6271         * configure.ac: Add check for strstr.
6272         * config.in: Regenerate.
6273         * configure: Regenerate.
6274
6275 2012-08-02  Ulrich Weigand  <ulrich.weigand@linaro.org>
6276
6277         * hostio.c (handle_pread): If pread fails, fall back to attempting
6278         lseek/read.
6279         (handle_pwrite): Likewise for pwrite.
6280
6281 2012-08-01  Ulrich Weigand  <ulrich.weigand@linaro.org>
6282
6283         * linux-arm-low.c (arm_linux_hw_point_initialize): Distinguish
6284         between unsupported TYPE and unimplementable ADDR/LEN combination.
6285         (arm_insert_point): Act on new return value.
6286
6287 2012-07-31  Pedro Alves  <palves@redhat.com>
6288
6289         * server.c (process_point_options): Only skip tokens if we find
6290         one that is unrecognized.  Don't treat 'X' specially while
6291         skipping unrecognized tokens.
6292
6293 2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
6294
6295         * linux-arm-low.c (arm_linux_hw_point_initialize): Do not attempt
6296         to 4-byte-align HW breakpoint addresses for Thumb.
6297
6298 2012-07-27  Yao Qi  <yao@codesourcery.com>
6299
6300         PR remote/14161.
6301
6302         * server.h: Declare gdb_agent_about_to_close.
6303         * target.c (kill_inferior): Include "agent.h".
6304         New.  Send command 'kill'.
6305         * target.h (kill_inferior): Removed macro.
6306         * tracepoint.c (gdb_agent_about_to_close): New.
6307         (gdb_agent_helper_thread): Handle command 'close'.
6308         Wait endlessly until the inferior stops.
6309         Install gdb_agent_remove_socket to atexit hook.
6310         (agent_socket_name): New static variable.
6311         (gdb_agent_socket_init): Replace local variable 'name' with
6312         'agent_socket_name'.
6313         (gdb_agent_remove_socket): New.
6314
6315 2012-07-27  Yao Qi  <yao@codesourcery.com>
6316
6317         * server.c (process_point_options): Stop at 'X' when parsing.
6318
6319 2012-07-19  Michael Eager  <eager@eagercon.com>
6320
6321         * i386-low.c (Z_packet_to_hw_type): Add Z_PACKET_HW_BP, translate
6322         to hw_execute.
6323         * linux-x86-low.c (x86_insert_point, x86_remove_point):
6324         Call i386_low_insert_watchpoint, i386_low_remove_watchpoint to add/del
6325         hardware breakpoint.
6326
6327 2012-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
6328
6329         * gdbserver/linux-low.c (initialize_low): Call
6330         linux_ptrace_init_warnings.
6331
6332 2012-07-02  Doug Evans  <dje@google.com>
6333
6334         * mem-break.c (gdb_no_commands_at_breakpoint): Fix cast from
6335         pointer to int.
6336
6337 2012-07-02  Stan Shebs  <stan@codesourcery.com>
6338
6339         * Makefile.in (WARN_CFLAGS_NO_FORMAT): Define.
6340         (ax.o): Add it to build rule.
6341         (ax-ipa.o): Ditto.
6342         (OBS): Add format.o.
6343         (IPA_OBS): Add format.o.
6344         * server.c (handle_query): Claim support for breakpoint commands.
6345         (process_point_options): Add command case.
6346         (process_serial_event): Leave running if there are printfs in
6347         effect.
6348         * mem-break.h (any_persistent_commands): Declare.
6349         (add_breakpoint_commands): Declare.
6350         (gdb_no_commands_at_breakpoint): Declare.
6351         (run_breakpoint_commands): Declare.
6352         * mem-break.c (struct point_command_list): New struct.
6353         (struct breakpoint): New field command_list.
6354         (any_persistent_commands): New function.
6355         (add_commands_to_breakpoint): New function.
6356         (add_breakpoint_commands): New function.
6357         (gdb_no_commands_at_breakpoint): New function.
6358         (run_breakpoint_commands): New function.
6359         * linux-low.c (linux_wait_1): Test for and run breakpoint commands
6360         locally.
6361         * ax.c: Include format.h.
6362         (ax_printf): New function.
6363         (gdb_eval_agent_expr): Add printf opcode.
6364
6365 2012-06-13  Yao Qi  <yao@codesourcery.com>
6366
6367         * server.c (start_inferior): Remove duplicated writes to fields
6368         'last_resume_kind' and 'last_status' of 'current_inferior'.
6369
6370 2012-06-12  Yao Qi  <yao@codesourcery.com>
6371             Pedro Alves  <palves@redhat.com>
6372
6373         * linux-low.c (linux_set_resume_request): Simplify predicate.  Add
6374         comment.
6375         * server.c (handle_v_cont): Extend comment.
6376
6377 2012-06-11  Yao Qi  <yao@codesourcery.com>
6378
6379         * linux-low.c (linux_attach): Add 'static'.
6380
6381 2012-06-06  Yao Qi  <yao@codesourcery.com>
6382
6383         * ax.c (gdb_eval_agent_expr): Print `top' in hex.
6384
6385 2012-06-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
6386
6387         Fix gcc -flto compilation warning.
6388         * server.c (main): Make variable multi_mode and attach volatile.
6389
6390 2012-05-30  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
6391
6392         * linux-low.c (get_r_debug): Disable code using DT_MIPS_RLD_MAP
6393         if the platform doesn't know about it.
6394
6395 2012-05-30  Jeff Kenton  <jkenton@tilera.com>
6396
6397         * Makefile.in (SFILES): Add linux-tile-low.c.
6398         (linux-tile-low.o, reg-tilegx.o, reg-tilegx.c): New rules.
6399         * configure.srv: Handle tilegx-*-linux*.
6400         * linux-tile-low.c: New file.
6401
6402 2012-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
6403
6404         * linux-low.c (linux_qxfer_libraries_svr4): Return -1 if R_DEBUG is -1.
6405
6406 2012-05-24  Pedro Alves  <palves@redhat.com>
6407
6408         PR gdb/7205
6409
6410         Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
6411
6412 2012-05-24  Pedro Alves  <palves@redhat.com>
6413
6414         PR gdb/7205
6415
6416         Replace target_signal with gdb_signal throughout.
6417
6418 2012-05-22  Maciej W. Rozycki  <macro@codesourcery.com>
6419
6420         * linux-low.c (linux_store_registers): Avoid the copying sequence
6421         when no data has been retrieved by ptrace.
6422
6423 2012-05-22  Will Deacon  <will.deacon@arm.com>
6424
6425         * linux-low (__UCLIBC__ && !(__UCLIBC_HAS_MMU__ || __ARCH_HAS_MMU__)):
6426         Include asm/ptrace.h.
6427         (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define only if not
6428         already defined.
6429
6430 2012-05-21  Maciej W. Rozycki  <macro@codesourcery.com>
6431
6432         * linux-low.c (linux_store_registers): Don't re-retrieve data
6433         with ptrace that has already been obtained from /proc.  Always
6434         copy any data retrieved with ptrace to the buffer supplied.
6435
6436 2012-05-11  Yao Qi  <yao@codesourcery.com>
6437             Pedro Alves  <palves@redhat.com>
6438
6439         * linux-low.c (enum stopping_threads_kind): New.
6440         (stopping_threads): Change type to `enum stopping_threads_kind'.
6441         (handle_extended_wait): If stopping and suspending threads, leave
6442         the new_lwp suspended too.
6443         (linux_wait_for_event): Adjust.
6444         (stop_all_lwps): Set `stopping_threads' to
6445         STOPPING_AND_SUSPENDING_THREADS or STOPPING_THREADS depending on
6446         whether we're suspending threads or just stopping them.  Assert no
6447         recursion happens.
6448
6449 2012-04-29  Yao Qi  <yao@codesourcery.com>
6450
6451         * server.h: Move some code to ...
6452         * gdbthread.h: ... here.  New.
6453         * Makefile.in (inferiors.o, regcache.o): Depends on gdbthread.h
6454         (remote-utils.o, server.o, target.o tracepoint.o): Likewise.
6455         (nto-low.o, win32-low.o): Likewise.
6456         * inferiors.c, linux-low.h, nto-low.c: Include gdbthread.h.
6457         * regcache.c, remote-utils.c, server.c: Likewise.
6458         * target.c, tracepoint.c, win32-low.c: Likewise.
6459
6460 2012-04-24  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
6461
6462         * linux-low.h (PTRACE_ARG3_TYPE): Move macro from linux-low.c.
6463         (PTRACE_ARG4_TYPE): Likewise.
6464         (PTRACE_XFER_TYPE): Likewise.
6465         * linux-arm-low.c (arm_prepare_to_resume): Cast third argument of
6466         ptrace to PTRACE_ARG3_TYPE.
6467         * linux-low.c (PTRACE_ARG3_TYPE): Move macro to linux-low.h.
6468         (PTRACE_ARG4_TYPE): Likewise.
6469         (PTRACE_XFER_TYPE): Likewise.
6470         (linux_detach_one_lwp): Cast fourth argument of
6471         ptrace to long then PTRACE_ARG4_TYPE.
6472         (regsets_fetch_inferior_registers): Cast third argument of
6473         ptrace to long then PTRACE_ARG3_TYPE.
6474         (regsets_store_inferior_registers): Likewise.
6475
6476 2012-04-20  Pedro Alves  <palves@redhat.com>
6477
6478         * configure: Regenerate.
6479
6480 2012-04-19  Pedro Alves  <palves@redhat.com>
6481
6482         * Makefile.in (GNULIB_BUILDDIR): New.
6483         (LIBGNU, INCGNU, GNULIB_H): Adjust.
6484         (SUBDIRS, CLEANDIRS, REQUIRED_SUBDIRS): New.
6485         (all, install-only, uninstall, clean-info, all-lib, clean): No
6486         longer pass GNULIB_FLAGS_TO_PASS.  Use subdir_do.
6487         (maintainer-clean realclean distclean): Use subdir_do.
6488         (subdir_do): New.
6489         (gnulib/import/Makefile): Adjust.  Replace gnulib/import with
6490         $(GNULIB_BUILDDIR).  Don't pass argument to config.status.
6491         * acinclude.m4: Include acx_configure_dir.m4.
6492         * configure.ac: Remove gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE
6493         calls.  Call AC_PROG_RANLIB.  Configure gnulib using
6494         ACX_CONFIGURE_DIR.
6495         (GNULIB): New.
6496         (GNULIB_STDINT_H): Adjust.
6497         (AC_OUTPUT): Don't output gnulib/Makefile anymore.
6498         * gdbreplay.c: Include build-gnulib/config.h.
6499         * server.h: Likewise.
6500         * aclocal.m4: Regenerate.
6501         * config.in: Regenerate.
6502         * configure: Regenerate.
6503
6504 2012-04-19  Pedro Alves  <palves@redhat.com>
6505
6506         * Makefile.in (LIBGNU, INCGNU): Adjust.
6507         (GNULIB_FLAGS_TO_PASS, GNULIB_H): Adjust.
6508         (all, install-only, uninstall, clean-info, all-lib, clean)
6509         (maintainer-clean, Makefile, gnulib/Makefile): Adjust.
6510         * configure.ac: Adjust AC_OUTPUT output.
6511         * aclocal.m4: Regenerate.
6512         * configure: Regenerate.
6513
6514 2012-04-19  Pedro Alves  <palves@redhat.com>
6515
6516         * Makefile.in (generated_files): New.
6517         (server_h): Remove the explicit dependency on config.h, and depend
6518         on $generated_files.
6519
6520 2012-04-19  Pedro Alves  <palves@redhat.com>
6521
6522         * Makefile.in (INCGNU): Add -Ignulib.
6523
6524 2012-04-19  Pedro Alves  <palves@redhat.com>
6525
6526         * Makefile.in (GNULIB_INCLUDE_DIR): Rename to ...
6527         (INCGNU): ... this, and spell out -I here.
6528         (GNULIB_LIB): Rename to ...
6529         (LIBGNU): ... this.
6530         (INCLUDE_CFLAGS, gdbserver$(EXEEXT), $(GNULIB_LIB) rule): Adjust.
6531
6532 2012-04-19  Pedro Alves  <palves@redhat.com>
6533
6534         * config.in: Regenerate.
6535
6536 2012-04-19  Pedro Alves  <palves@redhat.com>
6537
6538         * configure.ac: Remove AC_CHECK_DECLS check for memmem.
6539         * server.h (memmem): Remove declaration.
6540         * config.in: Regenerate.
6541         * configure: Regenerate.
6542
6543 2012-04-19  Yao Qi  <yao@codesourcery.com>
6544
6545         * Makefile.in (SFILES): Add common/vec.c.
6546         (OBS): Add vec.o.
6547         (vec.o): New rule.
6548
6549 2012-04-19  Yao Qi  <yao@codesourcery.com>
6550
6551         * remote-utils.c (prepare_resume_reply): Replace with macro
6552         target_core_of_thread.
6553         * server.c (handle_qxfer_threads_proper): Likewise.
6554         * target.h (traget_core_of_thread): New macro.
6555
6556 2012-04-18  Pedro Alves  <palves@redhat.com>
6557
6558         * aclocal.m4: Regenerate.
6559         * configure: Regenerate.
6560
6561 2012-04-16  Yao Qi  <yao@codesourcery.com>
6562
6563         * tracepoint.c (cmd_qtstart): Download tracepoints even when they are
6564         duplicated on address.
6565
6566 2012-04-16  Yao Qi  <yao@codesourcery.com>
6567
6568         * tracepoint.c (COPY_FIELD_TO_BUF): New macro.
6569         (struct tracepoint_action_ops) <send>: New field.
6570         (m_tracepoint_action_send, r_tracepoint_action_send): New.
6571         (agent_expr_send, x_tracepoint_action_send): New.
6572         (l_tracepoint_action_send): New.
6573         (cmd_qtdp): Download and install tracepoint
6574         according to `use_agent'.
6575         (run_inferior_command): Add one more parameter `len'.
6576         Update callers.
6577         (tracepoint_send_agent): New.
6578         (cmd_qtdp, cmd_qtstart): Call tracepoint_send_agent.
6579
6580 2012-04-16  Yao Qi  <yao@codesourcery.com>
6581
6582         * tracepoint.c (download_tracepoints): Moved to ...
6583         (cmd_qtstart): ... here.
6584
6585 2012-04-14  Yao Qi  <yao@codesourcery.com>
6586
6587         * tracepoint.c: Include inttypes.h.
6588         (struct collect_memory_action): Use sized types.
6589         (struct tracepoint): Likewise.
6590         (cmd_qtdp, stop_tracing): Update print specifiers.
6591         (cmd_qtp, response_tracepoint): Likewise.
6592         (collect_data_at_tracepoint): Likewise.
6593         (collect_data_at_step): Likewise.
6594
6595 2012-04-14  Yao Qi  <yao@codesourcery.com>
6596
6597         Import gnulib module inttypes.
6598         * aclocal.m4, config.in, configure: Regenerated.
6599
6600 2012-04-14  Yao Qi  <yao@codesourcery.com>
6601
6602         * Makefile.in (maintainer-clean, realclean, distclean): Remove
6603         Makefile and config.status at last.
6604
6605 2012-04-13  Yao Qi  <yao@codesourcery.com>
6606
6607         * tracepoint.c: Include stdint.h unconditionally.
6608
6609 2012-04-13  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
6610
6611         * acinclude.m4 (GDBSERVER_HAVE_THREAD_DB_TYPE): New macro based
6612         on BFD_HAVE_SYS_PROCFS_TYPE.
6613         * configure.ac: Look for lwpid_t and psaddr_t in libthread_db.h.
6614         * configure: Regenerate.
6615         * config.in: Likewise.
6616
6617 2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
6618
6619         * Makefile.in (clean): Also remove x32.c x32-linux.c
6620         x32-avx.c x32-avx-linux.c.
6621         (x32.o): New target.
6622         (x32.c): Likewise.
6623         (x32-linux.o): Likewise.
6624         (x32-linux.c): Likewise.
6625         (x32-avx.o): Likewise.
6626         (x32-avx.c): Likewise.
6627         (x32-avx-linux.o): Likewise.
6628         (x32-avx-linux.c): Likewise.
6629
6630         * configure.srv (srv_amd64_regobj): Add x32.o x32-avx.o.
6631         (srv_amd64_linux_regobj): Add x32-linux.o x32-avx-linux.o.
6632         (srv_i386_64bit_xmlfiles): Add i386/x32-core.xml.
6633         (srv_amd64_xmlfiles): Add i386/x32.xml i386/x32-avx.xml.
6634         (srv_amd64_linux_xmlfiles): Add i386/x32-linux.xml
6635         i386/x32-avx-linux.xml.
6636
6637         * linux-x86-low.c (init_registers_x32_linux): New prototype.
6638         (init_registers_x32_avx_linux): Likwise.
6639         (x86_linux_update_xmltarget): Call init_registers_x32_linux
6640         or init_registers_x32_avx_linux if linux_is_elf64 is false.
6641
6642 2012-04-13  Pedro Alves  <palves@redhat.com>
6643
6644         * Makefile.in (GNULIB_FLAGS_TO_PASS): New.
6645         (FLAGS_TO_PASS): Don't change or set $top_srcdir, $srcdir and VPATH.
6646         (all, uninstall, clean-info, all-lib, clean, maintainer-clean)
6647         (realclean, distclean): Explicitly pass $GNULIB_FLAGS_TO_PASS to
6648         the sub-make.
6649
6650 2012-04-12  H.J. Lu  <hongjiu.lu@intel.com>
6651
6652         * linux-x86-low.c (compat_x32_clock_t): New.
6653         (compat_x32_siginfo_t): Likewise.
6654         (compat_x32_siginfo_from_siginfo): Likewise.
6655         (siginfo_from_compat_x32_siginfo): Likewise.
6656         (linux_is_elf64): Likewise.
6657         (x86_siginfo_fixup): Call compat_x32_siginfo_from_siginfo
6658         and siginfo_from_compat_x32_siginfo for x32.
6659         (x86_arch_setup): Set linux_is_elf64.
6660
6661 2012-04-12  H.J. Lu  <hongjiu.lu@intel.com>
6662
6663         PR gdb/13969
6664         * linux-low.c (linux_pid_exe_is_elf_64_file): Also return the
6665         e_machine field.
6666         (linux_qxfer_libraries_svr4): Update call to elf_64_file_p.
6667         * linux-low.h (linux_pid_exe_is_elf_64_file): Updated.
6668         * linux-x86-low.c (x86_arch_setup): Check if GDBserver is
6669         compatible with process.
6670
6671 2012-04-12  Yao Qi  <yao@codesourcery.com>
6672
6673         * Makefile.in: Define abs_top_srcdir and abs_srcdir.
6674         (INCLUDE_CFLAGS): Append GNULIB_INCLUDE_DIR.
6675         (install-only, install-info, clean): Handle sub dir gnulib.
6676         (all-lib, am--refresh): New targets.
6677         (memmem.o): Remove target.
6678         * configure.ac: Remove AC_CONFIG_LIBOBJ_DIR.
6679         Invoke gl_EARLY.  Invoke AC_CHECK_PROGS for make.
6680         (AC_REPLACE_FUNCS): Remove memmem.
6681         Invoke gl_INIT and AM_INIT_AUTOMAKE.
6682         (AC_OUTPUT): Generate Makefile in gnulib/.
6683         * aclocal.m4, config.in, configure: Regenerated.
6684
6685 2012-04-10  Maciej W. Rozycki  <macro@codesourcery.com>
6686
6687         * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP.
6688
6689 2012-04-05  Pedro Alves  <palves@redhat.com>
6690
6691         -Werror=strict-aliasing
6692
6693         * spu-low.c (parse_spufs_run): Avoid dereferencing type-punned
6694         pointer.
6695
6696 2012-04-04  Pedro Alves  <palves@redhat.com>
6697
6698         * linux-sparc-low.c (sparc_fill_gregset_to_stack)
6699         (sparc_store_gregset_from_stack, sparc_store_gregset)
6700         (sparc_breakpoint_at): Fix formatting.
6701
6702 2012-03-30  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
6703
6704         * configure.ac: Check whether Elf32_auxv_t and Elf64_auxv_t
6705         are available.
6706         * linux-low.c [HAVE_ELF32_AUXV_T] (Elf32_auxv_t): Add typedef.
6707         [HAVE_ELF64_AUXV_T] (Elf64_auxv_t): Likewise.
6708         * config.in: Regenerate.
6709         * configure: Likewise.
6710
6711 2012-03-29  Pedro Alves  <palves@redhat.com>
6712
6713         * linux-low.c (regsets_store_inferior_registers) [__sparc__]:
6714         Correct ptrace arguments.
6715
6716 2012-03-28  Pedro Alves  <palves@redhat.com>
6717
6718         * linux-ia64-low.c (ia64_regmap): Map IA64_EC_REGNUM to PT_AR_EC.
6719         (IA64_GR0_REGNUM, IA64_FR0_REGNUM)
6720         (IA64_FR1_REGNUM): New defines.
6721         (ia64_fetch_register): New.
6722         (the_low_target): Install it.
6723         * linux-low.h (struct linux_target_ops) <fetch_register>: New
6724         field.
6725         * linux-low.c (linux_fetch_registers): Try the
6726         the_low_target.fetch_register hook first.
6727
6728         * linux-arm-low.c (the_low_target): Adjust.
6729         * linux-bfin-low.c (the_low_target): Adjust.
6730         * linux-cris-low.c (the_low_target): Adjust.
6731         * linux-crisv32-low.c (the_low_target): Adjust.
6732         * linux-m32r-low.c (the_low_target): Adjust.
6733         * linux-m68k-low.c (the_low_target): Adjust.
6734         * linux-mips-low.c (the_low_target): Adjust.
6735         * linux-ppc-low.c (the_low_target): Adjust.
6736         * linux-s390-low.c (the_low_target): Adjust.
6737         * linux-sh-low.c (the_low_target): Adjust.
6738         * linux-sparc-low.c (the_low_target): Adjust.
6739         * linux-tic6x-low.c (the_low_target): Adjust.
6740         * linux-x86-low.c (the_low_target): Adjust.
6741         * linux-xtensa-low.c (the_low_target): Adjust.
6742
6743 2012-03-26  Pedro Alves  <palves@redhat.com>
6744
6745         * server.c (handle_qxfer_libraries): Don't bail early if
6746         the_target->qxfer_libraries_svr4 is not NULL.
6747
6748 2012-03-26  Pedro Alves  <palves@redhat.com>
6749
6750         * linux-low.c (linux_qxfer_libraries_svr4): Fix pasto in comment.
6751
6752 2012-03-23  Pedro Alves  <palves@redhat.com>
6753
6754         * linux-low.c (linux_qxfer_libraries_svr4): Terminate the
6755         "library-list-svr4" element's start tag when the the DSO list is
6756         empty.
6757
6758 2012-03-23  Pedro Alves  <palves@redhat.com>
6759
6760         * linux-low.c (read_one_ptr): Read the inferior's pointer through
6761         a variable whose type size is the same as the inferior's pointer
6762         size.
6763
6764 2012-03-21  Thomas Schwinge  <thomas@codesourcery.com>
6765
6766         * linux-arm-low.c (arm_stopped_by_watchpoint): Use siginfo_t instead of
6767         struct siginfo.
6768         * linux-low.c (siginfo_fixup, linux_xfer_siginfo): Likewise.
6769         * linux-x86-low.c (x86_siginfo_fixup): Likewise.
6770         * linux-low.h: Include <signal.h>.
6771         (struct siginfo): Remove forward declaration.
6772         (struct linux_target_ops) <siginfo_fixup>: Use siginfo_t instead of
6773         struct siginfo.
6774
6775 2012-03-21  Mike Frysinger  <vapier@gentoo.org>
6776
6777         * .gitignore: Ignore more files.
6778
6779 2012-03-19  Pedro Alves  <palves@redhat.com>
6780             Jan Kratochvil  <jan.kratochvil@redhat.com>
6781
6782         * server.c (cont_thread, general_thread): Add describing comments.
6783         (start_inferior): Clear `cont_thread'.
6784         (handle_v_cont): Don't set `cont_thread' if resuming all threads
6785         of a process.
6786
6787 2012-03-15  Yao Qi  <yao@codesourcery.com>
6788
6789         * tracepoint.c (install_tracepoint): Move duplicated tracepoint
6790         handling to ...
6791         (cmd_qtdp): ... here.
6792
6793 2012-03-15  Yao Qi  <yao@codesourcery.com>
6794
6795         * tracepoint.c (struct tracepoint_action_ops): New.
6796         (struct tracepoint_action) [!IN_PROCESS_AGENT] <ops>: New field.
6797         (m_tracepoint_action_download): New.
6798         (r_tracepoint_action_download): New.
6799         (x_tracepoint_action_download): New.
6800         (l_tracepoint_action_download): New.
6801         (add_tracepoint_action): Install `action->ops' according type.
6802         (download_tracepoint_1): Move code `download' function pointer
6803         of various tracepoint_action_ops.
6804
6805 2012-03-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
6806
6807         * linux-low.c (linux_attach_lwp_1): New variable buffer.  Call
6808         linux_ptrace_attach_warnings.
6809
6810 2012-03-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
6811
6812         * Makefile.in (linux-ptrace.o): New.
6813         * configure.srv (arm*-*-linux*, bfin-*-*linux*, crisv32-*-linux*)
6814         (cris-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*)
6815         (m68*-*-linux*, m68*-*-uclinux*, mips*-*-linux*, powerpc*-*-linux*)
6816         (s390*-*-linux*, sh*-*-linux*, sparc*-*-linux*, tic6x-*-uclinux)
6817         (x86_64-*-linux*, xtensa*-*-linux*): Add linux-ptrace.o to SRV_TGTOBJ
6818         of these targets.
6819         * linux-low.c (linux_attach_lwp_1): Remove redundent else clause.
6820
6821 2012-03-08  Yao Qi  <yao@codesourcery.com>
6822             Pedro Alves  <palves@redhat.com>
6823
6824         Fix PR server/13392.
6825         * linux-x86-low.c (amd64_install_fast_tracepoint_jump_pad): Check
6826         offset of JMP insn.
6827         * tracepoint.c (remove_tracepoint): New.
6828         (cmd_qtdp): Call remove_tracepoint when failed to install.
6829
6830 2012-03-07  Pedro Alves  <palves@redhat.com>
6831
6832         * linux-low.c (get_detach_signal): New.
6833         (linux_detach_one_lwp): Get rid of a pending SIGSTOP with SIGCONT.
6834         Pass on pending signals to PTRACE_DETACH.  Check the result of the
6835         ptrace call.
6836         * server.c (program_signals, program_signals_p): New.
6837         (handle_general_set): Handle QProgramSignals.
6838         * server.h (program_signals, program_signals_p): Declare.
6839
6840 2012-03-05  Pedro Alves  <palves@redhat.com>
6841             Jan Kratochvil  <jan.kratochvil@redhat.com>
6842
6843         * linux-low.c (get_dynamic): Don't warn when PT_PHDR isn't found.
6844         New comment why.
6845
6846 2012-03-03  Yao Qi  <yao@codesourcery.com>
6847
6848         * tracepoint.c (tracepoint_look_up_symbols): Update call to
6849         agent_look_up_symbols.
6850
6851 2012-03-03  Yao Qi  <yao@codesourcery.com>
6852
6853         * Makefile.in (linux-low.o): Keep dependence on agent.h.
6854         (linux-x86-low.o): Likewise.
6855         * server.h: Remove in_process_agent_loaded.
6856         * tracepoint.c (in_process_agent_loaded): Removed.  Moved it
6857         common/agent.c.
6858         Update callers.
6859
6860 2012-03-03  Yao Qi  <yao@codesourcery.com>
6861
6862         * tracepoint.c (gdb_agent_capability): New global.
6863         (in_process_agent_loaded_ust): Renamed to
6864         `in_process_agent_supports_ust'.
6865         Update callers.
6866         (in_process_agent_supports_ust): Call agent_capability_check.
6867         (clear_installed_tracepoints): Assert that agent supports
6868         agent.
6869
6870 2012-03-03  Yao Qi  <yao@codesourcery.com>
6871
6872         * linux-low.c (linux_supports_agent): New.
6873         (linux_target_ops): Initialize field `supports_agent' with
6874         linux_supports_agent.
6875         * target.h (struct target_ops) <supports_agent>: New.
6876         (target_supports_agent): New macro.
6877         * server.c (handle_general_set): Handle packet 'QAgent'.
6878         (handle_query): Send `QAgent+'.
6879         * Makefile.in (server.o): Depends on agent.h.
6880
6881 2012-03-03  Yao Qi  <yao@codesourcery.com>
6882
6883         * Makefile.in (OBS): Add agent.o.
6884         Add new rule for agent.o.
6885         Track dependence of tracepoint.c on agent.h.
6886         * tracepoint.c (run_inferior_command_1):
6887         (run_inferior_command): Call agent_run_command.
6888         (gdb_ust_connect_sync_socket): Deleted.  Move it to
6889         common/agent.c.
6890         (resume_thread, stop_thread): Likewise.
6891         (gdb_ust_socket_init): Renamed to ...
6892         (gdb_agent_socket_init): ... New.
6893         (gdb_ust_thread): Renamed to ...
6894         (gdb_agent_helper_thread): ... New.
6895         (gdb_ust_init): Move some code to ...
6896         (gdb_agent_init): ... here.  New.
6897         [HAVE_UST]: Call gdb_ust_init.
6898         (initialize_tracepoint_ftlib):  Call gdb_agent_init.
6899         * configure.ac: Add `sys/un.h' to AC_CHECK_HEADERS.
6900         * config.in, configure: Regenerated.
6901
6902 2012-03-02  Pedro Alves  <palves@redhat.com>
6903
6904         * inferiors.c (add_pid_to_list, pull_pid_from_list): Delete.
6905         * linux-low.c (struct simple_pid_list): New.
6906         (stopped_pids): New a struct simple_pid_list pointer.
6907         (add_to_pid_list, pull_pid_from_list): New.
6908         (handle_extended_wait): Don't assume the first signal new children
6909         report is SIGSTOP.  Adjust call to pull_pid_from_list.
6910         (linux_wait_for_lwp): Adjust.
6911
6912 2012-03-02  Yao Qi  <yao@codesourcery.com>
6913
6914         * tracepoint.c (do_action_at_tracepoint): Write `stop_pc' in
6915         debug log.
6916
6917 2012-03-02  Yao Qi  <yao@codesourcery.com>
6918
6919         * tracepoint.c (collect_ust_data_at_tracepoint): Remove parameters
6920         `stop_pc' and `tpoint'.  Update caller.
6921
6922 2012-03-01  Maciej W. Rozycki  <macro@codesourcery.com>
6923
6924         * linux-low.h (linux_target_ops): Add regset_bitmap member.
6925         * linux-low.c (use_linux_regsets): New macro.
6926         [!HAVE_LINUX_REGSETS] (regsets_fetch_inferior_registers): Likewise.
6927         [!HAVE_LINUX_REGSETS] (regsets_store_inferior_registers): Likewise.
6928         (linux_register_in_regsets): New function.
6929         (usr_fetch_inferior_registers): Skip registers covered by
6930         regsets.
6931         (usr_store_inferior_registers): Likewise.
6932         (usr_fetch_inferior_registers): New macro.
6933         (usr_store_inferior_registers): Likewise.
6934         (linux_fetch_registers): Handle mixed regset/non-regset targets.
6935         (linux_store_registers): Likewise.
6936         * linux-mips-low.c (init_registers_mips_dsp_linux): New
6937         prototype.
6938         (init_registers_mips64_dsp_linux): Likewise.
6939         (init_registers_mips_linux): New macro.
6940         (init_registers_mips_dsp_linux): Likewise.
6941         (mips_dsp_num_regs): Likewise.
6942         (DSP_BASE, DSP_CONTROL): New fallback macros.
6943         (mips_base_regs): New macro.
6944         (mips_regmap): Use it.  Fix the size.
6945         (mips_dsp_regmap): New variable.
6946         (mips_dsp_regset_bitmap): Likewise.
6947         (mips_arch_setup): New function.
6948         (mips_cannot_fetch_register): Use the_low_target.regmap rather
6949         than mips_regmap.
6950         (mips_cannot_store_register): Likewise.
6951         (the_low_target): Update .arch_setup, .num_regs and .regmap
6952         initializers.  Add .regset_bitmap initializer.
6953         * linux-arm-low.c (the_low_target): Add .regset_bitmap
6954         initializer.
6955         * linux-bfin-low.c (the_low_target): Likewise.
6956         * linux-cris-low.c (the_low_target): Likewise.
6957         * linux-crisv32-low.c (the_low_target): Likewise.
6958         * linux-ia64-low.c (the_low_target): Likewise.
6959         * linux-m32r-low.c (the_low_target): Likewise.
6960         * linux-m68k-low.c (the_low_target): Likewise.
6961         * linux-ppc-low.c (the_low_target): Likewise.
6962         * linux-s390-low.c (the_low_target): Likewise.
6963         * linux-sh-low.c (the_low_target): Likewise.
6964         * linux-sparc-low.c (the_low_target): Likewise.
6965         * linux-tic6x-low.c (the_low_target): Likewise.
6966         * linux-x86-low.c (the_low_target): Likewise.
6967         * linux-xtensa-low.c (the_low_target): Likewise.
6968         * configure.srv <mips*-*-linux*>: Add mips-dsp-linux.o and
6969         mips64-dsp-linux.o to srv_regobj.  Add mips-dsp-linux.xml,
6970         mips64-dsp-linux.xml, mips-dsp.xml and mips64-dsp.xml to
6971         srv_xmlfiles.
6972         * Makefile.in (mips-dsp-linux.o, mips-dsp-linux.c): New targets.
6973         (mips64-dsp-linux.o, mips64-dsp-linux.c): Likewise.
6974
6975 2012-02-29  Yao Qi  <yao@codesourcery.com>
6976             Pedro Alves  <palves@redhat.com>
6977
6978         * linux-low.c: (linux_wait_1): Call unsuspend_all_lwps when
6979         `step_over_finished' is true.
6980
6981 2012-02-27  Pedro Alves  <palves@redhat.com>
6982
6983         * linux-low.c (pid_is_stopped): Delete, moved to common/.
6984         (linux_attach_lwp_1): Adjust to use linux_proc_pid_is_stopped.
6985
6986 2012-02-27  Pedro Alves  <palves@redhat.com>
6987
6988         PR server/9684
6989         * linux-low.c (pid_is_stopped): New.
6990         (linux_attach_lwp_1): Handle attaching to 'T (stopped)' processes.
6991
6992 2012-02-25  Luis Machado  <lgustavo@codesourcery.com>
6993
6994         * mem-break.c (clear_gdb_breakpoint_conditions): Fix de-allocation
6995         of conditions.
6996
6997 2012-02-24  Maciej W. Rozycki  <macro@codesourcery.com>
6998
6999         * linux-mips-low.c (mips_regmap): Correct the index of $f9.
7000
7001 2012-02-24  Luis Machado  <lgustavo@codesourcery>
7002
7003         * server.c (handle_query): Advertise support for target-side
7004         breakpoint condition evaluation.
7005         (process_point_options): New function.
7006         (process_serial_event): When inserting a breakpoint, check for
7007         a target-side condition that should be evaluated.
7008
7009         * mem-break.c: Include regcache.h and ax.h.
7010         (point_cond_list_t): New data structure.
7011         (breakpoint) <cond_list>: New field.
7012         (find_gdb_breakpoint_at): Make non-static.
7013         (delete_gdb_breakpoint_at): Clear any target-side
7014         conditions.
7015         (clear_gdb_breakpoint_conditions): New function.
7016         (add_condition_to_breakpoint): Likewise.
7017         (add_breakpoint_condition): Likewise.
7018         (gdb_condition_true_at_breakpoint): Likewise.
7019         (gdb_breakpoint_here): Return result directly instead
7020         of going through a local variable.
7021
7022         * mem-break.h (find_gdb_breakpoint_at): New prototype.
7023         (clear_gdb_breakpoint_conditions): Likewise.
7024         (add_breakpoint_condition): Likewise.
7025         (gdb_condition_true_at_breakpoint): Likewise.
7026
7027         * linux-low.c (linux_wait_1): Evaluate target-side breakpoint condition.
7028         (need_step_over_p): Take target-side breakpoint condition into
7029         consideration.
7030
7031 2012-02-24  Luis Machado  <lgustavo@codesourcery>
7032
7033         * server.h: Include tracepoint.h.
7034         (agent_mem_read, agent_get_trace_state_variable_value,
7035         agent_set_trace_state_variable_value,
7036         agent_tsv_read, agent_mem_read_string, get_get_tsv_func_addr,
7037         get_set_tsv_func_addr): New prototypes.
7038
7039         * ax.h: New include file.
7040         * ax.c: New source file.
7041
7042         * tracepoint.c: Include ax.h.
7043         (gdb_agent_op, gdb_agent_op_names, gdb_agent_op_sizes,
7044         agent_expr, eval_result_type): Move to ax.h.
7045         (parse_agent_expr): Rename to ...
7046         (gdb_parse_agent_expr): ... this, make it non-static and move
7047         to ax.h.
7048         (unparse_agent_expr) Rename to ...
7049         (gdb_unparse_agent_expr): ... this, make it non-static and move
7050         to ax.h.
7051         (eval_agent_expr): Rename to ...
7052         (eval_tracepoint_agent_expr): ... this.
7053         (agent_mem_read, agent_mem_read_string, agent_tsv_read): Remove
7054         forward declarations.
7055         (add_tracepoint_action): Call gdb_parse_agent_expr (...).
7056         (agent_get_trace_state_variable_value): New function.
7057         (agent_set_trace_state_variable_value): New function.
7058         (cmd_qtdp): Call gdb_parse_agent_expr (...).
7059         (response_tracepoint): Call gdb_unparse_agent_expr (...).
7060         (do_action_at_tracepoint): Call eval_tracepoint_agent_expr (...).
7061         (condition_true_at_tracepoint): Likewise.
7062         (parse_agent_expr): Rename to ...
7063         (gdb_parse_agent_expr): ... this and move to ax.c.
7064         (unparse_agent_expr): Rename to ...
7065         (gdb_unparse_agent_expr): ... this and move to ax.c.
7066         (gdb_agent_op_name): Move to ax.c.
7067         (eval_agent_expr): Rename to ...
7068         (gdb_eval_agent_expr): ... this, use regcache passed as parameter
7069         and move to ax.c.
7070         (eval_tracepoint_agent_expr): New function.
7071         (agent_mem_read, agent_mem_read_string, agent_tsv_read): Make
7072         non-static.
7073         (current_insn_ptr, emit_error, struct bytecode_address): Move to
7074         ax.c.
7075         (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul, emit_lsh,
7076         emit_rsh_signed, emit_rsh_unsigned, emit_ext, emit_log_not,
7077         emit_bit_and, emit_bit_or, emit_bit_xor, emit_bit_not, emit_equal,
7078         emit_less_signed, emit_less_unsigned, emit_ref, emit_if_goto,
7079         emit_goto, write_goto_address, emit_const, emit_reg, emit_pop,
7080         emit_stack, emit_zero_ext, emit_swap, emit_stack_adjust,
7081         emit_int_call_1, emit_void_call_2, emit_eq_goto, emit_ne_goto,
7082         emit_lt_goto, emit_ge_goto, emit_gt_goto, emit_le_goto): Move to ax.c.
7083         (get_get_tsv_func_addr, get_set_tsv_func_addr): New functions.
7084         (compile_bytecodes): Remove forward declaration.
7085         (is_goto_target): Move to ax.c.
7086         (compile_bytecodes): Move to ax.c and call
7087         agent_get_trace_state_variable_value (...) and
7088         agent_set_trace_state_variable_value (...).
7089
7090         * Makefile.in: Update ax.c and IPA dependencies.
7091
7092 2012-02-24  Pedro Alves  <palves@redhat.com>
7093
7094         * tracepoint.c (cmd_bigqtbuffer): Rename as ...
7095         (cmd_bigqtbuffer_circular): ... this.  Only handle
7096         'QTBuffer:circular:'.
7097         (handle_tracepoint_general_set): Adjust.
7098
7099 2012-02-16  Yao Qi  <yao@codesourcery.com>
7100
7101         * inferiors.c: Move code to ...
7102         * dll.c: .... here.  New.
7103         * server.h: Declare clear_dlls.
7104         * Makefile.in (SFILES): Add dll.c.
7105         (OBS): Add dll.o
7106         (dll.o): New rule.
7107
7108 2012-02-11  Yao Qi  <yao@codesourcery.com>
7109
7110         * server.c: (handle_monitor_command): Add a new parameter
7111         `own_buf'.
7112         (handle_query): Update caller.
7113
7114 2012-02-09  Joel Brobecker  <brobecker@adacore.com>
7115
7116         * configure.ac: Add readlink to AC_CHECK_FUNCS list.
7117         * configure, config.in: Regenerate.
7118         * hostio.c: Provide an alternate implementation if HAVE_READLINK
7119         is not defined.
7120
7121 2012-02-02  Pedro Alves  <palves@redhat.com>
7122
7123         Try SIGKILL first, then PTRACE_KILL.
7124         * linux-low.c (linux_kill_one_lwp): New.
7125         (linux_kill_one_lwp): Rename to ...
7126         (kill_one_lwp_callback): ... this.  Use the new
7127         linux_kill_one_lwp.
7128
7129 2012-02-02  Pedro Alves  <palves@redhat.com>
7130
7131         * tracepoint.c (cmd_qtminftpilen): Return 0 if there's no current
7132         inferior.
7133
7134 2012-01-27  Pedro Alves  <palves@redhat.com>
7135
7136         * linux-low.c (linux_child_pid_to_exec_file): Delete.
7137         (elf_64_file_p): Make static.
7138         (linux_pid_exe_is_elf_64_file): New.
7139         * linux-low.h (linux_child_pid_to_exec_file, elf_64_file_p):
7140         Delete declarations.
7141         (linux_pid_exe_is_elf_64_file): Declare.
7142         * linux-x86-low.c (x86_arch_setup): Use
7143         linux_pid_exe_is_elf_64_file.
7144
7145 2012-01-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
7146
7147         * linux-low.c (linux_wait_for_event_1): Rename to ...
7148         (linux_wait_for_event): ... here and merge it with former
7149         linux_wait_for_event - new variable wait_ptid, use it.
7150         (linux_wait_for_event): Remove - merge it to linux_wait_for_event_1.
7151
7152 2012-01-23  Pedro Alves  <palves@redhat.com>
7153
7154         * server.c (main): Avoid yet another case of infinite loop while
7155         detaching/killing after a longjmp.
7156
7157 2012-01-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
7158
7159         Code cleanup.
7160         * linux-low.c (linux_wait_for_event_1): Use ptid_is_pid.
7161
7162 2012-01-20  Ulrich Weigand  <ulrich.weigand@linaro.org>
7163
7164         * hostio.c (handle_readlink): New function.
7165         (handle_vFile): Call it to handle "vFile:readlink" packets.
7166
7167 2012-01-20  Pedro Alves  <palves@redhat.com>
7168             Ulrich Weigand  <ulrich.weigand@linaro.org>
7169
7170         * server.c (handle_v_requests): Only support vAttach and vRun to
7171         start multiple processes when in extended protocol mode.
7172
7173 2012-01-17  Pedro Alves  <palves@redhat.com>
7174
7175         * tracepoint.c (initialize_tracepoint): Use mmap instead of
7176         memalign plus mprotect to allocate the scratch buffer.
7177
7178 2012-01-13  Pedro Alves  <palves@redhat.com>
7179
7180         * server.c (attach_inferior): Clear `cont_thread'.
7181
7182 2012-01-13  Pedro Alves  <palves@redhat.com>
7183
7184         * server.c (main): Avoid infinite loop while detaching/killing
7185         after a longjmp.
7186
7187 2012-01-09  Doug Evans  <dje@google.com>
7188
7189         * server.c (start_inferior): Set last_ptid in --wrapper case.
7190
7191 2012-01-06  Yao Qi  <yao@codesourcery.com>
7192
7193         * tracepoint.c [IN_PROCESS_AGENT] (debug_threads): Macro
7194         defined.
7195         [IN_PROCESS_AGENT] (debug_agent): New global variable.
7196
7197 2012-01-04  Yao Qi  <yao@codesourcery.com>
7198
7199         * tracepoint.c (cmd_qtdp): Print debug message
7200         for static tracepoint.
7201
7202 2012-01-04  Yao Qi  <yao@codesourcery.com>
7203
7204         * tracepoint.c (trace_vdebug): Differentiate debug message
7205         between gdbserver and IPA.
7206
7207 2012-01-03  Yao Qi  <yao@codesourcery.com>
7208
7209         * tracepoint.c (tracepoint_was_hit): Don't collect for
7210         static tracepoint.
7211
7212 2012-01-02  Joel Brobecker  <brobecker@adacore.com>
7213
7214         * terminal.h: Reformat copyright header.
7215
7216 2012-01-02  Joel Brobecker  <brobecker@adacore.com>
7217
7218         * server.c (gdbserver_version): Update copyright year.
7219         * gdbreplay.c (gdbreplay_version): Likewise.
7220
7221 2011-12-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
7222
7223         * linux-low.c (linux_create_inferior): Put empty if clause for write.
7224
7225         Revert:
7226         2011-12-18  Hui Zhu  <teawater@gmail.com>
7227         * linux-low.c (linux_create_inferior): Save return value to ret.
7228
7229 2011-12-18  Hui Zhu  <teawater@gmail.com>
7230
7231         * linux-low.c (linux_create_inferior): Save return value to ret.
7232
7233 2011-12-16  Doug Evans  <dje@google.com>
7234
7235         * linux-low.c (linux_create_inferior): If stdio connection,
7236         redirect stdin from /dev/null, stdout to stderr.
7237         * remote-utils.c (remote_is_stdio): New static global.
7238         (remote_connection_is_stdio): New function.
7239         (remote_prepare): Handle stdio connection.
7240         (remote_open): Ditto.
7241         (remote_close): Don't close stdin for stdio connections.
7242         (read_prim,write_prim): New functions.  Replace all calls to
7243         read/write to these.
7244         * server.c (main): Watch for "-" argument.  Move call to
7245         remote_prepare before start_inferior.
7246         * server.h (STDIO_CONNECTION_NAME): New macro.
7247         (remote_connection_is_stdio): Declare.
7248
7249         * remote-utils.c (prepare_resume_reply): Remove extraneous \n
7250         in debugging output.
7251
7252 2011-12-15  Yao Qi  <yao@codesourcery.com>
7253
7254         * tracepoint.c: Include sys/syscall.h.
7255         (gdb_ust_thread): Remove preprocessor conditional.
7256
7257 2011-12-14  Pedro Alves  <pedro@codesourcery.com>
7258
7259         * linux-low.c (linux_detach_one_lwp): Call
7260         the_low_target.prepare_to_resume before detaching.
7261
7262 2011-12-14  Yao Qi  <yao@codesourcery.com>
7263
7264         * tracepoint.c (gdb_ust_thread): Don't ignore return value
7265         of write.
7266
7267 2011-12-14  Yao Qi  <yao@codesourcery.com>
7268
7269         * i386-low.c (i386_low_stopped_data_address): Initialize local
7270         variable `control'.
7271
7272 2011-12-13  Pedro Alves  <pedro@codesourcery.com>
7273
7274         PR remote/13492
7275
7276         * i386-low.c (i386_low_stopped_data_address): Avoid fetching
7277         DR_CONTROL unless necessary.  Extend comments.
7278         * linux-x86-low.c (x86_linux_prepare_to_resume): Don't write to
7279         DR0-3 if not used.  If any watchpoint was set, clear DR_STATUS.
7280
7281 2011-12-13  Yao Qi  <yao@codesourcery.com>
7282
7283         * tracepoint.c (trace_buffer_alloc): Replace magic numbers with
7284         macros.
7285         (upload_fast_traceframes, upload_fast_traceframes): Likewise.
7286
7287 2011-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
7288
7289         * linux-low.c (linux_kill): Skip PTRACE_KILL if LWP does not exist.
7290         Print new debug message for such case.
7291
7292 2011-12-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
7293
7294         Fix overlapping memcpy.
7295         * mem-break.c (set_raw_breakpoint_at): New variable buf.  Use it for
7296         the read_inferior_memory transfer.
7297         (delete_fast_tracepoint_jump): New variable buf.  Use it for the
7298         write_inferior_memory transfer.
7299         (set_fast_tracepoint_jump): New variable buf.  Use it for the
7300         read_inferior_memory and write_inferior_memory transfers.
7301         (uninsert_fast_tracepoint_jumps_at, reinsert_fast_tracepoint_jumps_at)
7302         (delete_raw_breakpoint, uninsert_raw_breakpoint): New variable buf.
7303         Use it for the write_inferior_memory transfer.
7304         (check_mem_read, check_mem_write): New gdb_asserts for overlapping
7305         buffers.
7306
7307 2011-12-06  Maciej W. Rozycki  <macro@codesourcery.com>
7308
7309         * linux-low.c (fetch_register, store_register): Make code
7310         consistent, fix formatting.
7311
7312 2011-12-06  Maciej W. Rozycki  <macro@codesourcery.com>
7313
7314         * linux-low.c (usr_store_inferior_registers): Factor out code
7315         to handle individual registers into...
7316         (store_register): ... this new function.
7317
7318 2011-12-06  Ulrich Weigand  <uweigand@de.ibm.com>
7319
7320         * Makefile.in (s390-linux32v1.o, s390-linux32v1.c): New rules.
7321         (s390-linux32v2.o, s390-linux32v2.c): Likewise.
7322         (s390-linux64v1.o, s390-linux64v1.c): Likewise.
7323         (s390-linux64v2.o, s390-linux64v2.c): Likewise.
7324         (s390x-linux64v1.o, s390x-linux64v1.c): Likewise.
7325         (s390x-linux64v2.o, s390x-linux64v2.c): Likewise.
7326         * configure.srv [s390*-*-linux*] (srv_regobj): Add new objects.
7327         (srv_xmlfiles): Add new XML files.
7328
7329         * linux-s390-low.c: Include "elf/common.h", <sys/ptrace.h>,
7330         and <sys/uio.h>.
7331         (PTRACE_GETREGSET, PTRACE_SETREGSET): Define if undefined.
7332         (init_registers_s390_linux32v1): Add prototype.
7333         (init_registers_s390_linux32v2): Likewise.
7334         (init_registers_s390_linux64v1): Likewise.
7335         (init_registers_s390_linux64v2): Likewise.
7336         (init_registers_s390x_linux64v1): Likewise.
7337         (init_registers_s390x_linux64v2): Likewise.
7338         (s390_num_regs): Increment to 52.
7339         (s390_regmap): Add orig_r2 register.
7340         (s390_num_regs_3264): Increment to 68.
7341         (s390_regmap_3264): Add orig_r2 register.
7342         (s390_collect_ptrace_register): Handle orig_r2 register.
7343         (s390_supply_ptrace_register): Likewise.
7344         (s390_fill_last_break): New function.
7345         (s390_store_last_break): Likewise.
7346         (s390_fill_system_call): New function.
7347         (s390_store_system_call): Likewise.
7348         (target_regsets): Handle NT_S390_LAST_BREAK and NT_S390_SYSTEM_CALL
7349         register sets.
7350         (s390_check_regset): New function.
7351         (s390_arch_setup): Check for presence of NT_S390_LAST_BREAK and
7352         NT_S390_SYSTEM_CALL regsets and use appropriate description.
7353         Update target_regsets for available register sets.
7354
7355 2011-12-02  Paul Pluzhnikov  <ppluzhnikov@google.com>
7356             Jan Kratochvil  <jan.kratochvil@redhat.com>
7357
7358         * linux-low.c (get_phdr_phnum_from_proc_auxv, get_dynamic, get_r_debug)
7359         (read_one_ptr, struct link_map_offsets, linux_qxfer_libraries_svr4):
7360         New.
7361         (struct linux_target_ops): Install linux_qxfer_libraries_svr4.
7362         * linux-low.h (struct process_info_private): New member r_debug.
7363         * server.c (handle_qxfer_libraries): Call
7364         the_target->qxfer_libraries_svr4.
7365         (handle_qxfer_libraries_svr4): New function.
7366         (qxfer_packets): New entry "libraries-svr4".
7367         (handle_query): Check QXFER_LIBRARIES_SVR4 and report libraries-svr4.
7368         * target.h (struct target_ops): New member qxfer_libraries_svr4.
7369         * remote.c (remote_xfer_partial): Call add_packet_config_cmd for
7370         PACKET_qXfer_libraries_svr4.
7371
7372 2011-11-30  Ulrich Weigand  <uweigand@de.ibm.com>
7373
7374         * linux-s390-low.c (s390_collect_ptrace_register): Fully convert
7375         PSW address/mask between 8-byte and 16-byte formats.
7376         (s390_supply_ptrace_register): Likewise.
7377         (s390_get_pc, s390_set_pc): 4-byte PSW address always includes
7378         basic addressing mode bit.
7379
7380 2011-11-24  Stan Shebs  <stan@codesourcery.com>
7381
7382         * tracepoint.c (cmd_qtstatus): Use plongest instead of %llx.
7383
7384 2011-11-17  Stan Shebs  <stan@codesourcery.com>
7385
7386         * tracepoint.c (struct tracepoint): New field traceframe_usage.
7387         (tracing_start_time): New global.
7388         (tracing_stop_time): New global.
7389         (tracing_user_name): New global.
7390         (tracing_notes): New global.
7391         (tracing_stop_note): New global.
7392         (cmd_qtstart): Set traceframe_usage, start_time.
7393         (stop_tracing): Set stop_time.
7394         (cmd_qtstatus): Report additional status.
7395         (cmd_qtp): New function.
7396         (handle_tracepoint_query): Call it.
7397         (cmd_qtnotes): New function.
7398         (handle_tracepoint_general_set): Call it.
7399         (get_timestamp): Rename from tsv_get_timestamp.
7400
7401 2011-11-14  Stan Shebs  <stan@codesourcery.com>
7402             Kwok Cheung Yeung  <kcy@codesourcery.com>
7403
7404         * linux-x86-low.c (small_jump_insn): New.
7405         (i386_install_fast_tracepoint_jump_pad): Add arguments for
7406         trampoline and error message, build a trampoline and issue a small
7407         jump instruction to it.
7408         (x86_install_fast_tracepoint_jump_pad): Add arguments for
7409         trampoline and error message.
7410         (x86_get_min_fast_tracepoint_insn_len): New.
7411         (the_low_target): Add call to x86_get_min_fast_tracepoint_insn_len.
7412         * linux-low.h (struct linux_target_ops): Add arguments to
7413         install_fast_tracepoint_jump_pad operation, add new operation.
7414         * linux-low.c (linux_install_fast_tracepoint_jump_pad): Add
7415         arguments.
7416         (linux_get_min_fast_tracepoint_insn_len): New function.
7417         (linux_target_op): Add new operation.
7418         * tracepoint.c (gdb_trampoline_buffer): New IPA variable.
7419         (gdb_trampoline_buffer_end): Ditto.
7420         (gdb_trampoline_buffer_error): Ditto.
7421         (struct ipa_sym_addresses): Add fields for new IPA variables.
7422         (symbol_list): Add entries for new IPA variables.
7423         (struct tracepoint): Add fields to hold the address range of the
7424         trampoline used by the tracepoint.
7425         (trampoline_buffer_head): New static variable.
7426         (trampoline_buffer_tail): Ditto.
7427         (claim_trampoline_space): New function.
7428         (have_fast_tracepoint_trampoline_buffer): New function.
7429         (clone_fast_tracepoint): Fill in trampoline fields of tracepoint
7430         structure.
7431         (install_fast_tracepoint): Ditto, also add error buffer argument.
7432         (cmd_qtminftpilen): New function.
7433         (handle_tracepoint_query): Add response to qTMinFTPILen packet.
7434         (fast_tracepoint_from_trampoline_address): New function.
7435         (fast_tracepoint_collecting): Handle trampoline as part of jump
7436         pad space.
7437         (set_trampoline_buffer_space): New function.
7438         (initialize_tracepoint): Initialize new IPA variables.
7439         * target.h (struct target_ops): Add arguments to
7440         install_fast_tracepoint_jump_pad operation, add new
7441         get_min_fast_tracepoint_insn_len operation.
7442         (target_get_min_fast_tracepoint_insn_len): New.
7443         (install_fast_tracepoint_jump_pad): Add arguments.
7444         * server.h (IPA_BUFSIZ): Define.
7445         * linux-i386-ipa.c: Include extra header files.
7446         (initialize_fast_tracepoint_trampoline_buffer): New function.
7447         (initialize_low_tracepoint): Call it.
7448         * server.h (set_trampoline_buffer_space): Declare.
7449         (claim_trampoline_space): Ditto.
7450         (have_fast_tracepoint_trampoline_buffer): Ditto.
7451
7452 2011-11-14  Yao Qi  <yao@codesourcery.com>
7453
7454         * server.c (handle_query): Handle InstallInTrace for qSupported.
7455         * tracepoint.c (add_tracepoint): Sort list.
7456         (install_tracepoint, download_tracepoint): New.
7457         (cmd_qtdp): Call them to install and download tracepoints.
7458         (sort_tracepoints): Removed.
7459         (cmd_qtstart): Update.
7460
7461 2011-11-14  Yao Qi  <yao@codesourcery.com>
7462
7463         * mem-break.c (inc_ref_fast_tracepoint_jump): New.
7464         * mem-break.h: Declare.
7465         * tracepoint.c (cmd_qtstart): Move some code to ...
7466         (clone_fast_tracepoint, install_fast_tracepoint): ... here.
7467         New.
7468         (download_tracepoints): Move some code to ...
7469         (download_tracepoint_1): ... here.  New.
7470
7471 2011-11-08  Yao Qi  <yao@codesourcery.com>
7472
7473         * remote-utils.c (relocate_instruction): A comment fix.
7474
7475 2011-11-07  Joel Brobecker  <brobecker@adacore.com>
7476
7477         * win32-i386-low.c (dr_status_mirror, dr_control_mirror): Delete.
7478         (i386_dr_low_get_control, i386_dr_low_get_status): Use
7479         dr_status_mirror and dr_control_mirror from debug_reg_state.
7480         (i386_dr_low_get_status): Use debug_reg_state.dr_status_mirror
7481         (i386_initial_stuff): Remove use of deleted globals.
7482         (i386_get_thread_context, i386_set_thread_context,
7483         i386_thread_added): Use dr_status_mirror and dr_control_mirror
7484         from debug_reg_state.
7485
7486 2011-11-05  Yao Qi  <yao@codesourcery.com>
7487
7488         * tracepoint.c (gdb_collect): Loop over tracepoints of same
7489         address as TPOINT's.
7490
7491 2011-11-02  Stan Shebs  <stan@codesourcery.com>
7492
7493         * tracepoint.c (agent_mem_read_string): New function.
7494         (eval_agent_expr): Call it for tracenz.
7495         * server.c (handle_query): Report support for tracenz.
7496
7497 2011-11-02  Yao Qi  <yao@codesourcery.com>
7498
7499         * tracepoint.c (cmd_qtstart): Remove unused local variables.
7500
7501 2011-11-02  Yao Qi  <yao@codesourcery.com>
7502
7503         * target.h: Fix a typo in comment.
7504
7505 2011-10-31  Pedro Alves  <pedro@codesourcery.com>
7506
7507         * mem-break.c (check_mem_write): Add `myaddr' parameter.  Don't
7508         clobber the breakpoints' shadows with fast tracepoint jumps.
7509         * mem-break.h (check_mem_write): Add `myaddr' parameter.
7510         * target.c (write_inferior_memory): Also pass MYADDR down to
7511         check_mem_write.
7512
7513 2011-10-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
7514
7515         * configure.ac: Check support for personality routine.
7516         * configure: Regenerate.
7517         * config.in: Likewise.
7518         * linux-low.c: Include <sys/personality.h>.
7519         Define ADDR_NO_RANDOMIZE if necessary.
7520         (linux_create_inferior): Disable address space randomization when
7521         forking inferior, if requested.
7522         (linux_supports_disable_randomization): New function.
7523         (linux_target_ops): Install it.
7524         * server.h (disable_randomization): Declare.
7525         * server.c (disable_randomization): New global variable.
7526         (handle_general_set): Handle QDisableRandomization.
7527         (handle_query): Likewise for qSupported.
7528         (main): Support --disable-randomization and --no-disable-randomization
7529         command line arguments.
7530         * target.h (struct target_ops): Add supports_disable_randomization.
7531         (target_supports_disable_randomization): New macro.
7532
7533 2011-09-29  Mike Frysinger  <vapier@gentoo.org>
7534
7535         * linux-low.c (target_loadseg): Add defined PTRACE_GETFDPIC to the
7536         ifdef check.
7537         [PT_GETDSBT] (target_loadmap): Wrap in a defined PT_GETDSBT check.
7538         [!PT_GETDSBT] (target_loadmap): New definition.
7539         (LINUX_LOADMAP, LINUX_LOADMAP_EXEC, LINUX_LOADMAP_INTERP): Define.
7540         (linux_read_loadmap): Change PTRACE_GETDSBT_EXEC to
7541         LINUX_LOADMAP_EXEC, PTRACE_GETDSBT_INTERP to LINUX_LOADMAP_INTERP,
7542         and PT_GETDSBT to LINUX_LOADMAP.
7543         [!PT_GETDSBT] (linux_read_loadmap): Define to NULL.
7544         (linux_target_ops): Delete unnecessary ifdef PT_GETDSBT check.
7545
7546 2011-09-21  Ulrich Weigand  <ulrich.weigand@linaro.org>
7547
7548         * linux-arm-low.c (struct arm_linux_hwbp_cap): Remove.
7549         (arm_linux_hwbp_cap): New static variable.
7550         (arm_linux_get_hwbp_cap): Replace by ...
7551         (arm_linux_init_hwbp_cap): ... this new function.
7552         (arm_linux_get_hw_breakpoint_count): Use arm_linux_hwbp_cap.
7553         (arm_linux_get_hw_watchpoint_count): Likewise.
7554         (arm_linux_get_hw_watchpoint_max_length): Likewise.
7555         (arm_arch_setup): Call arm_linux_init_hwbp_cap.
7556         (arm_prepare_to_resume): Use perror_with_name instead of error.
7557
7558 2011-09-21  Ulrich Weigand  <ulrich.weigand@linaro.org>
7559
7560         * linux-arm-low.c: Include <signal.h>.
7561         (PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define if necessary.
7562         (struct arm_linux_hwbp_cap): New data type.
7563         (arm_hwbp_type, arm_hwbp_control_t): New typedefs.
7564         (struct arm_linux_hw_breakpoint): New data type.
7565         (MAX_BPTS, MAX_WPTS): Define.
7566         (struct arch_process_info, struct arch_lwp_info): New data types.
7567         (arm_linux_get_hwbp_cap): New function.
7568         (arm_linux_get_hw_breakpoint_count): Likewise.
7569         (arm_linux_get_hw_watchpoint_count): Likewise.
7570         (arm_linux_get_hw_watchpoint_max_length): Likewise.
7571         (arm_hwbp_control_initialize): Likewise.
7572         (arm_hwbp_control_is_enabled): Likewise.
7573         (arm_hwbp_control_is_initialized): Likewise.
7574         (arm_hwbp_control_disable): Likewise.
7575         (arm_linux_hw_breakpoint_equal): Likewise.
7576         (arm_linux_hw_point_initialize): Likewise.
7577         (struct update_registers_data): New data structure.
7578         (update_registers_callback: New function.
7579         (arm_insert_point): Likewise.
7580         (arm_remove_point): Likewise.
7581         (arm_stopped_by_watchpoint): Likewise.
7582         (arm_stopped_data_address): Likewise.
7583         (arm_new_process): Likewise.
7584         (arm_new_thread): Likewise.
7585         (arm_prepare_to_resume): Likewise.
7586         (the_low_target): Register arm_insert_point, arm_remove_point,
7587         arm_stopped_by_watchpoint, arm_stopped_data_address, arm_new_process,
7588         arm_new_thread, and arm_prepare_to_resume.
7589
7590 2011-09-15  Stan Shebs  <stan@codesourcery.com>
7591
7592         * server.h (struct emit_ops): Add compare-goto fields.
7593         * tracepoint.c (gdb_agent_op_sizes): New table.
7594         (emit_eq_goto): New function.
7595         (emit_ne_goto): New function.
7596         (emit_lt_goto): New function.
7597         (emit_le_goto): New function.
7598         (emit_gt_goto): New function.
7599         (emit_ge_goto): New function.
7600         (is_goto_target): New function.
7601         (compile_bytecodes): Recognize special cases of compare-goto
7602         combinations and call specialized emitters for them.
7603         * linux-x86-low.c (amd64_emit_eq_goto): New function.
7604         (amd64_emit_ne_goto): New function.
7605         (amd64_emit_lt_goto): New function.
7606         (amd64_emit_le_goto): New function.
7607         (amd64_emit_gt_goto): New function.
7608         (amd64_emit_ge_goto): New function.
7609         (amd64_emit_ops): Add the new functions.
7610         (i386_emit_eq_goto): New function.
7611         (i386_emit_ne_goto): New function.
7612         (i386_emit_lt_goto): New function.
7613         (i386_emit_le_goto): New function.
7614         (i386_emit_gt_goto): New function.
7615         (i386_emit_ge_goto): New function.
7616         (i386_emit_ops): Add the new functions.
7617
7618 2011-09-08  Stan Shebs  <stan@codesourcery.com>
7619
7620         * linux-x86-low.c (i386_emit_prologue): Save %ebx.
7621         (i386_emit_epilogue): Restore %ebx.
7622
7623 2011-08-31  Jie Zhang  <jzhang918@gmail.com>
7624
7625         * server.c (step_thread): Remove definition.
7626         (process_serial_event): Don't handle Hs.
7627         * server.h (step_thread): Remove declaration.
7628         * target.c (set_desired_inferior): Remove use of step_thread.
7629
7630 2011-08-24  Luis Machado  <lgustavo@codesourcery.com>
7631
7632         * linux-low.c: Include linux-procfs.h.
7633         (linux_attach_lwp_1): Update comments.
7634         (linux_attach): Scan for existing threads when attaching to a
7635         process that is the tgid.
7636         * Makefile.in: Update dependencies.
7637
7638 2011-08-24  Luis Machado  <lgustavo@codesourcery.com>
7639
7640         * configure.srv: Add linux-procfs.o dependencies.
7641
7642 2011-08-14  Yao Qi  <yao@codesourcery.com>
7643
7644         * target.h (struct target_ops): Fix indent.
7645         * win32-low.c (win32_target_ops): Fix comment.
7646
7647 2011-08-14  Andrew Jenner  <andrew@codesourcery.com>
7648             Yao Qi  <yao@codesourcery.com>
7649
7650         * Makefile.in (clean): Remove tic6x-*.c files.
7651         (linux-tic6x-low.o, tic6x-c62x-linux.o, tic6x-c64x-linux.o): New rules.
7652         (tic6x-c64xp-linux.o, tic6x-c62x-linux.c, tic6x-c64x-linux.c): Likewise.
7653         (tic6x-c64xp-linux.c): Likewise.
7654         * configure.srv: Add support for tic6x-*-uclinux.
7655         * linux-tic6x-low.c: New.
7656         * linux-low.c (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define.
7657
7658 2011-08-14  Andrew Stubbs <ams@codesourcery.com>
7659             Yao Qi  <yao@codesourcery.com>
7660
7661         * target.h (struct target_ops): Add read_loadmap.
7662         * linux-low.c (struct target_loadseg): New type.
7663         (struct target_loadmap): New type.
7664         (linux_read_loadmap): New function.
7665         (linux_target_ops): Add linux_read_loadmap.
7666         * server.c (handle_query): Support qXfer:fdpic:read packet.
7667         * win32-low.c (win32_target_ops): Initialize field `read_loadmap'
7668         to NULL.
7669
7670 2011-08-05  Eli Zaretskii  <eliz@gnu.org>
7671
7672         * win32-low.c: Include <stdint.h>.
7673
7674 2011-07-22  Pedro Alves  <pedro@codesourcery.com>
7675
7676         * i386-low.c (i386_insert_aligned_watchpoint): Don't pass the info
7677         to the inferior here.
7678         (i386_remove_aligned_watchpoint): Ditto.
7679         (i386_handle_nonaligned_watchpoint): Return immediate on fail to
7680         fit part of the watchpoint in the debug registers.
7681         (i386_update_inferior_debug_regs): New.
7682         (i386_low_insert_watchpoint): Work on a local mirror of the debug
7683         registers, and only update the inferior on success.
7684         (i386_low_remove_watchpoint): Ditto.
7685
7686 2011-07-22  Kwok Cheung Yeung  <kcy@codesourcery.com>
7687
7688         * linux-low.c (compare_ints, unique, list_threads, show_process,
7689         linux_core_of_thread): Delete.
7690         (linux_target_ops): Change linux_core_of_thread to
7691         linux_common_core_of_thread.
7692         (linux_qxfer_osdata): Defer to linux_common_xfer_osdata.
7693         * utils.c (malloc_failure): Change type of argument.
7694         (xmalloc, xrealloc, xcalloc, xsnprintf): Delete.
7695         * Makefile.in (SFILES): Add common/common-utils.c, common/xml-utils.c,
7696         common/linux-osdata.c, common/ptid.c and common/buffer.c.
7697         (OBS): Add xml-utils.o, common-utils.o, ptid.o and buffer.o.
7698         (IPA_OBJS): Add common-utils-ipa.o.
7699         (ptid_h, linux_osdata_h): New macros.
7700         (server_h): Add common/common-utils.h, common/xml-utils.h,
7701         common/buffer.h, common/gdb_assert.h, common/gdb_locale.h and
7702         common/ptid.h.
7703         (common-utils-ipa.o, common-utils.o, xml-utils.o, linux-osdata.o,
7704         ptid.o, buffer.o): New rules.
7705         (linux-low.o): Add common/linux-osdata.h as a dependency.
7706         * configure.srv (srv_tgtobj): Add linux-osdata.o to Linux targets.
7707         * configure.ac: Add AC_HEADER_DIRENT check.
7708         * config.in: Regenerate.
7709         * configure: Regenerate.
7710         * remote-utils.c (xml_escape_text): Delete.
7711         (buffer_grow, buffer_free, buffer_init, buffer_finish,
7712         buffer_xml_printf): Move to common/buffer.c.
7713         * server.c (main): Remove call to initialize_inferiors.
7714         * server.h (struct ptid, ptid_t, minus_one_ptid, null_ptid,
7715         ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid,
7716         ptid_equal, ptid_is_pid, initialize_inferiors, xml_escape_text,
7717         internal_error, gdb_assert, gdb_assert_fail): Delete.
7718         (struct buffer, buffer_grow, buffer_free, buffer_init, buffer_finish,
7719         buffer_xml_printf, buffer_grow_str, buffer_grow_str0): Move to
7720         common/buffer.h.
7721         * inferiors.c (null_ptid, minus_one_ptid, ptid_build, pid_to_ptid,
7722         ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid,
7723         initialize_inferiors): Delete.
7724
7725 2011-07-20  Pedro Alves  <pedro@codesourcery.com>
7726
7727         * tracepoint.c (tracepoint_look_up_symbols): Return upon the first
7728         symbol error.
7729
7730 2011-05-31  Pedro Alves  <pedro@codesourcery.com>
7731
7732         * linux-x86-low.c (i386_dr_low_get_addr): Fix off by one in
7733         assertion.
7734         * win32-i386-low.c (i386_dr_low_get_addr): Ditto.
7735
7736 2011-05-26  Yao Qi  <yao@codesourcery.com>
7737
7738         * Makefile.in (thread-db.o): Track dependence to
7739         common/gdb_thread_db.h.
7740         * thread-db.c: include gdb_thread_db.h from right place.
7741
7742 2011-05-16  Adrian Cornish  <gnu@bluedreamer.com>
7743
7744         * linux-i386-ipa.c (supply_static_tracepoint_registers): Pass
7745         __FILE__ and __LINE__ to internal_error.
7746
7747 2011-05-13  Doug Evans  <dje@google.com>
7748
7749         * thread-db.c (try_thread_db_load_from_sdir): New function.
7750         (try_thread_db_load_from_dir): New function.
7751         (thread_db_load_search): Handle $sdir, ignore $pdir.
7752         Remove trying of system directories if search of
7753         libthread-db-search-path fails, that is now done via $sdir.
7754
7755 2011-05-12  Kwok Cheung Yeung  <kcy@codesourcery.com>
7756
7757         * server.c (handle_query): Add EnableDisableTracepoints to the list
7758         of supported features.
7759         * tracepoint.c (clear_installed_tracepoints): Uninstall disabled
7760         tracepoints.
7761         (cmd_qtenable_disable): New.
7762         (cmd_qtstart): Install tracepoints even if disabled.
7763         (handle_tracepoint_general_set): Add call to cmd_qtenable_disable on
7764         receiving a QTEnable or QTDisable packet.
7765         (gdb_collect): Skip data collection if fast tracepoint is disabled.
7766         (ust_marker_to_static_tracepoint): Do not ignore disabled static
7767         tracepoints.
7768         (gdb_probe): Skip data collection if static tracepoint is disabled.
7769
7770 2011-05-10  Doug Evans  <dje@google.com>
7771
7772         * thread-db.c (thread_db_handle_monitor_command): Handle elided path.
7773
7774 2011-05-04  Doug Evans  <dje@google.com>
7775
7776         * linux-low.c (linux_join): Skip process lookup.
7777         * spu-low.c (spu_join): Ditto.
7778         * server.c (join_inferiors_callback): Delete.
7779         (process_serial_event): For 'D' packet (detach) call join_inferior
7780         directly.
7781
7782 2011-05-04  Joseph Myers  <joseph@codesourcery.com>
7783
7784         * README: Don't mention xscale*-*-linux*.
7785         * configure.srv (xscale*-*-linux*): Don't handle target.
7786
7787 2011-04-27  Nathan Froyd  <froydnj@codesourcery.com>
7788
7789         * linux-x86-low.c (amd64_emit_const): Call memcpy instead of
7790         casting pointers.
7791         (amd64_emit_reg, amd64_emit_int_call_1, amd64_emit_void_call_2):
7792         (i386_emit_const, i386_emit_reg, i386_emit_int_call_1):
7793         (i386_emit_void_call_2): Likewise.
7794
7795 2011-04-26  Yao Qi  <yao@codesourcery.com>
7796
7797         * linux-low.c: Move common macros to linux-ptrace.h.
7798         Include linux-ptrace.h.
7799         * Makefile.in (linux_ptrace_h): New.
7800         (linux-low.o): Depends on linux-ptrace.h.
7801
7802 2011-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
7803
7804         * remote-utils.c (handle_accept_event): Close LISTEN_DESC only if
7805         RUN_ONCE.  Comment for the LISTEN_DESC delete_file_handler call.
7806         (remote_prepare): New function with most of the TCP code from ...
7807         (remote_open): ... here.  Detect PORT here unconditionally.  Move also
7808         setting transport_is_reliable.
7809         * server.c (run_once): New variable.
7810         (gdbserver_usage): Document it.
7811         (main): Set run_once for `--once'.  Call remote_prepare.  Exit after
7812         the first run if RUN_ONCE.
7813         * server.h (run_once, remote_prepare): New declarations.
7814
7815 2011-04-19  Tom Tromey  <tromey@redhat.com>
7816
7817         * win32-low.c (handle_load_dll): Remove duplicate "the".
7818
7819 2011-04-07  Pierre Muller  <muller@ics.u-strasbg.fr>
7820
7821         Remove support for old Cygwin 1.5 versions.
7822         * win32-low.c (win32_create_inferior): Use new cygwin_path_list
7823         function to avoid warning.
7824         (win32_add_one_solib): Use cygwin_conv_path function to avoid
7825         warning.
7826
7827 2011-03-18  Pierre Muller  <muller@ics.u-strasbg.fr>
7828
7829         * gdbserver/server.h (Macro _): Define it if not available.
7830
7831 2011-03-14  Michael Snyder  <msnyder@vmware.com>
7832
7833         * hostio.c (handle_close): Remove unnecessary null test.
7834
7835 2011-03-10  Joel Brobecker  <brobecker@adacore.com>
7836
7837         * Makefile.in (maintainer-clean realclean distclean): Remove
7838         "make ...  subdir_do" command.
7839
7840 2011-03-10  Michael Snyder  <msnyder@vmware.com>
7841
7842         * tracepoint.c (tracepoint_finish_step): Fix loop variable.
7843
7844         * server.c (handle_v_run): Free alloced buffer on early return.
7845
7846 2011-03-09  Yao Qi  <yao@codesourcery.com>
7847
7848         Revert:
7849         2011-03-04  Yao Qi  <yao@codesourcery.com>
7850
7851         * Makefile.in: Remove GNU make feature --directory.
7852
7853         2011-03-05  Yao Qi  <yao@codesourcery.com>
7854
7855         * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable.
7856         (subdir_do): New make target.  Copied from gdb/Makefile.
7857         (maintainer-clean, realclean, distclean, clean): Call corresponding
7858         make targets in common/Makefile.
7859
7860         2011-02-11  Yao Qi  <yao@codesourcery.com>
7861
7862         * configure.ac: Call AC_PROG_RANLIB.
7863         * Makefile.in: Remove signals.o from OBS.  Link libcommon.a.
7864         * configure: Regenerate.
7865
7866 2011-03-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
7867
7868         * remote-utils.c (putpkt_binary_1): Calculate BUF2 size dynamically.
7869
7870 2011-03-06  Yao Qi  <yao@codesourcery.com>
7871
7872         * Makefile.in (REQUIRED_SUBDIRS): Remove $(LIBCOMMON_DIR).
7873
7874 2011-03-05  Yao Qi  <yao@codesourcery.com>
7875
7876         * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable.
7877         (subdir_do): New make target.  Copied from gdb/Makefile.
7878         (maintainer-clean, realclean, distclean, clean): Call corresponding
7879         make targets in common/Makefile.
7880
7881 2011-03-04  Yao Qi  <yao@codesourcery.com>
7882
7883         * Makefile.in: Remove GNU make feature --directory.
7884
7885 2011-03-04  Michael Snyder  <msnyder@vmware.com>
7886
7887         * server.c (queue_stop_reply): Call xmalloc not malloc.
7888
7889 2011-03-02  Michael Snyder  <msnyder@vmware.com>
7890
7891         * linux-arm-low.c (arm_arch_setup): Replace malloc with xmalloc.
7892
7893 2011-02-28  Michael Snyder  <msnyder@vmware.com>
7894
7895         * tracepoint.c (cmd_qtv): Discard unused value 'packet'.
7896         (cmd_qtframe): Ditto.
7897         (cmd_qtbuffer): Ditto.
7898         (cmd_bigqtbuffer): Ditto.
7899
7900         * utils.c (decimal2str): Initialize 'width' to nine, then
7901         don't mess with it.
7902
7903 2011-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
7904
7905         * hostio.c (require_data): Free *data, not data.
7906
7907 2011-02-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
7908
7909         * hostio.c (require_data): Use free, not xfree.
7910
7911 2011-02-27  Michael Snyder  <msnyder@vmware.com>
7912
7913         * server.c (handle_query): Discard unused value.
7914
7915         * hostio.c (require_data): Free malloc memory before returning
7916         error.
7917
7918 2011-02-26  Michael Snyder  <msnyder@vmware.com>
7919
7920         * linux-low.c (list_threads): Call closedir for dirent.
7921
7922 2011-02-27  Michael Snyder  <msnyder@vmware.com>
7923
7924         * i386-low.c (i386-length_and_rw_bits): Comment the fact that
7925         a case statement falls through.
7926
7927         * linux-low.c (linux_xfer_siginfo): Fix fencepost error.
7928
7929         * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Fix fencepost error
7930         in comparison.
7931
7932 2011-02-26  Michael Snyder  <msnyder@vmware.com>
7933
7934         * utils.c (decimal2str): Eliminate dead code and dead param.
7935         (pulongest): Drop dead param from call to decimal2str.
7936         (plongest): Ditto.
7937
7938 2011-02-24  Joel Brobecker  <brobecker@adacore.com>
7939
7940         Revert the following patch (not approved yet):
7941         2011-02-21  Hui Zhu  <teawater@gmail.com>
7942         * tracepoint.c (tp_printf): New function.
7943         (eval_agent_expr): Handle gdb_agent_op_printf.
7944
7945 2011-02-21  Hui Zhu  <teawater@gmail.com>
7946
7947         * tracepoint.c (tp_printf): New function.
7948         (eval_agent_expr): Handle gdb_agent_op_printf.
7949
7950 2011-02-18  Tom Tromey  <tromey@redhat.com>
7951
7952         * Makefile.in (tracepoint-ipa.o): Depend on ax.def.
7953         (tracepoint.o): Likewise.
7954         * tracepoint.c (enum gdb_agent_op): Use ax.def.
7955         (gdb_agent_op_names): Likewise.
7956
7957 2011-02-18  Tom Tromey  <tromey@redhat.com>
7958
7959         * tracepoint.c (enum gdb_agent_op) <gdb_agent_op_pick,
7960         gdb_agent_op_rot>: New constants.
7961         (gdb_agent_op_names): Add pick and roll.
7962         (eval_agent_expr) <gdb_agent_op_pick, gdb_agent_op_rot>: New
7963         cases.
7964
7965 2011-02-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
7966
7967         * aclocal.m4: Regenerated with aclocal-1.11.1.
7968
7969 2011-02-14  Pedro Alves  <pedro@codesourcery.com>
7970
7971         * server.c (handle_qxfer_traceframe_info): New.
7972         (qxfer_packets): Register "traceframe-info".
7973         (handle_query): Report support for qXfer:traceframe-info:read+.
7974         * tracepoint.c (match_blocktype): New.
7975         (traceframe_find_block_type): Rename to ...
7976         (traceframe_walk_blocks): ... this.  Add callback filter argument,
7977         and use it.
7978         (traceframe_find_block_type): New, reimplemented on top of
7979         traceframe_walk_blocks.
7980         (build_traceframe_info_xml): New.
7981         (traceframe_read_info): New.
7982         * server.h (traceframe_read_info): Declare.
7983
7984 2011-02-11  Yao Qi  <yao@codesourcery.com>
7985
7986         * configure.ac: Call AC_PROG_RANLIB.
7987         * Makefile.in: Remove signals.o from OBS.  Link libcommon.a.
7988         * configure: Regenerate.
7989
7990 2011-02-07  Pedro Alves  <pedro@codesourcery.com>
7991
7992         * server.c (gdb_read_memory): Change return semantics to allow
7993         partial transfers.
7994         (handle_search_memory_1): Adjust.
7995         (process_serial_event) <'m' packet>: Handle partial transfers.
7996         * tracepoint.c (traceframe_read_mem): Handle partial transfers.
7997
7998 2011-01-28  Pedro Alves  <pedro@codesourcery.com>
7999
8000         * regcache.c (init_register_cache): Initialize
8001         regcache->register_status.
8002         (free_register_cache): Release regcache->register_status.
8003         (regcache_cpy): Copy register_status.
8004         (registers_to_string): Print 'x's for unavailable registers.
8005         (supply_register): Mark the register's status valid or
8006         unavailable, depending on whether a buffer was passed in or not.
8007         (supply_register_zeroed): New.
8008         (supply_regblock): Mark the registers' status valid or
8009         unavailable, depending on whether a buffer was passed in or not.
8010         * regcache.h (REG_UNAVAILABLE, REG_VALID): New defines.
8011         (struct regcache): New `register_status' field.
8012         (supply_register_zeroed): Declare.
8013         * i387-fp.c (i387_xsave_to_cache): Zero out registers using
8014         supply_register_zeroed, rather than passing a NULL buffer to
8015         supply_register.
8016         * tracepoint.c (fetch_traceframe_registers): Update comment.
8017
8018 2011-01-28  Pedro Alves  <pedro@codesourcery.com>
8019
8020         * i387-fp.c (i387_xsave_to_cache): Make passing NULL as register
8021         buffer explicit.
8022
8023 2011-01-25  Pedro Alves  <pedro@codesourcery.com>
8024
8025         * server.h (decode_xfer_write): Change prototype.
8026         * remote-utils.c (decode_xfer_write): Remove `annex' parameter,
8027         and don't extract the annex here.
8028         * server.c (decode_xfer_read): Remove `annex' parameter,
8029         and don't extract the annex here.
8030         (decode_xfer): New.
8031         (struct qxfer): New.
8032         (handle_qxfer_auxv, handle_qxfer_features, handle_qxfer_libraries)
8033         (handle_qxfer_osdata, handle_qxfer_siginfo, handle_qxfer_spu)
8034         (handle_qxfer_statictrace): New functions, abstracted out from
8035         handle_query, and made to use the struct qxfer interface.
8036         (handle_threads_qxfer_proper): Rename to ...
8037         (handle_qxfer_threads_proper): ... this.
8038         (handle_threads_qxfer): Rename to ...
8039         (handle_qxfer_threads): ... this.  Adjust.
8040         (qxfer_packets): New array.
8041         (handle_qxfer): New function.
8042         (handle_query): Use handle_qxfer.
8043
8044 2011-01-05  Michael Snyder  <msnyder@msnyder-server.eng.vmware.com>
8045
8046         * gdbreplay.c: Shorten lines of >= 80 columns.
8047         * linux-low.c: Ditto.
8048         * linux-ppc-low.c: Ditto.
8049         * linux-s390-low.c: Ditto.
8050         * linux-sparc-low.c: Ditto.
8051         * linux-x86-low.c: Ditto.
8052         * linux-xtensa-low.c: Ditto.
8053         * mem-break.c: Ditto.
8054         * nto-low.c: Ditto.
8055         * regcache.h: Ditto.
8056         * remote-utils.c: Ditto.
8057         * server.c: Ditto.
8058         * server.h: Ditto.
8059         * thread-db.c: Ditto.
8060         * tracepoint.c: Ditto.
8061         * utils.c: Ditto.
8062         * win32-low.h: Ditto.
8063
8064 2011-01-05  Joel Brobecker  <brobecker@adacore.com>
8065
8066         * gdbserver/configure.ac, gdbserver/gdbserver.1: Copyright year
8067         update.
8068
8069 2011-01-01  Joel Brobecker  <brobecker@adacore.com>
8070
8071         * server.c (gdbserver_version): Update copyright year in version
8072         output.
8073         * gdbreplay.c (gdbreplay_version): Ditto.
8074
8075 2010-12-29  Jie Zhang  <jie.zhang@analog.com>
8076
8077         * configure.srv (bfin-*-*linux*): Handle Blackfin/Linux targets.
8078         * linux-bfin-low.c: New file.
8079         * linux-low.c: Define PT_TEXT_ADDR, PT_TEXT_END_ADDR, and
8080         PT_DATA_ADDR for BFIN targets.
8081         * Makefile.in (SFILES): Add linux-bfin-low.c.
8082         (clean): Remove reg-bfin.c.
8083         (linux-bfin-low.o, reg-bfin.o, reg-bfin.c): New targets.
8084         * README: Mention supported Blackfin targets.
8085
8086 2010-12-23  Mike Frysinger  <vapier@gentoo.org>
8087
8088         * .gitignore: New file.
8089
8090 2010-11-16  Mike Frysinger  <vapier@gentoo.org>
8091
8092         * linux-low.c (linux_tracefork_child): Add char* cast to arg.
8093
8094 2010-10-22  Jie Zhang  <jie@codesourcery.com>
8095
8096         * Makefile.in: Add FLAGS_TO_PASS variable.
8097         (install): Remove dependency of install-only and recursively
8098         invoke make for install-only.
8099
8100 2010-10-04  Doug Evans  <dje@google.com>
8101
8102         * Makefile.in (uninstall): Use $(DESTDIR).
8103
8104 2010-09-24  Pedro Alves  <pedro@codesourcery.com>
8105
8106         PR gdb/11842
8107
8108         * linux-x86-low.c (compat_siginfo_from_siginfo)
8109         (siginfo_from_compat_siginfo): Also copy si_pid and si_uid when
8110         si_code is < 0.  Check for si_code == SI_TIMER before checking for
8111         si_code < 0.
8112
8113 2010-09-13  Joel Brobecker  <brobecker@adacore.com>
8114
8115         * lynx-i386-low.c: New file.
8116         * configure.srv: Add handling of i[34567]86-*-lynxos* targets.
8117
8118 2010-09-13  Joel Brobecker  <brobecker@adacore.com>
8119
8120         * lynx-low.c (ptrace_request_to_str): Remove handling for
8121         request values that have been removed in LynxOS 5.x.
8122
8123 2010-09-13  Joel Brobecker  <brobecker@adacore.com>
8124
8125         * lynx-low.c, lynx-ppc-loc.c: Include <sys/ptrace.h> instead of
8126         <ptrace.h>
8127
8128 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
8129
8130         * configure.ac: Add --enable-inprocess-agent option.
8131         * configure: Rebuilt.
8132
8133 2010-09-06  Yao Qi  <yao@codesourcery.com>
8134
8135         * linux-low.c (linux_kill): Remove unused variable.
8136         (linux_stabilize_threads): Likewise.
8137         * server.c (start_inferior): Likewise.
8138         (queue_stop_reply_callback): Likewise.
8139         * tracepoint.c (do_action_at_tracepoint): Likewise.
8140
8141 2010-09-06  Yao Qi  <yao@codesourcery.com>
8142
8143         * linux-low.c (maybe_move_out_of_jump_pad): Restore current_inferior
8144         on return.
8145
8146 2010-09-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
8147
8148         * target.c (mywait) <TARGET_WAITKIND_EXITED>: Fix to use INTEGER.
8149
8150 2010-09-06  Pedro Alves  <pedro@codesourcery.com>
8151
8152         * Makefile.in (install-only): Replace $IPA_DEPFILES with
8153         "$(IPA_DEPFILES)".
8154
8155 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8156
8157         * gdbserver/lynx-low.c, gdbserver/lynx-low.h,
8158         gdbserver/lynx-ppc-low.c: New files.
8159         * Makefile.in (lynx_low_h): New variable.
8160         (lynx-low.o, lynx-ppc-low.o): New rules.
8161         * configure.ac: On LynxOS, link with -lnetinet.
8162         * configure.srv: Add handling of powerpc-*-lynxos* targets.
8163         * configure: regenerate.
8164
8165 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8166
8167         * Makefile.in (vasprintf.o, vsnprintf.o): New rules.
8168         * configure.ac: Add check for vasprintf and vsnprintf.
8169         * configure, config.in: Regenerate.
8170         * server.h (vasprintf, vsnprintf): Add conditional declarations.
8171
8172 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8173
8174         * gdbreplay.c: Move include of alloca.h up, next to include of
8175         malloc.h.
8176         * server.h: Add include of malloc.h.
8177         * mem-break.c: Remove include of malloc.h.
8178         * server.c, tracepoint.c, utils.c, win32-low.c: Likewise.
8179
8180 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8181
8182         * Makefile.in (memmem.o): Build with -Wno-error.
8183
8184 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8185
8186         * utils.c (xsnprintf): Make non-static.
8187         * server.h: Add xsnprintf declaration.
8188         * linux-low.c, nto-low.c, target.c, thread-db.c, tracepoint.c:
8189         replace calls to snprintf by calls to xsnprintf throughout.
8190
8191 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8192
8193         * configure.ac: Add configure check for alloca.
8194         * configure, config.in: Regenerate.
8195         * server.h: Include alloca.h if it exists.
8196         * gdbreplay.c: Include alloca.h if it exists.
8197
8198 2010-08-28  Pedro Alves  <pedro@codesourcery.com>
8199
8200         * linux-low.c (__SIGRTMIN): Define if not already defined.
8201         (linux_create_inferior): Check for __ANDROID__ rather than
8202         __SIGRTMIN.
8203         (enqueue_one_deferred_signal): Don't requeue non-RT signals that
8204         are already deferred.
8205         (linux_wait_1): Check for __ANDROID__ rather than __SIGRTMIN.
8206         (linux_resume_one_thread): Don't queue a SIGSTOP if the lwp is
8207         stopped and already has a pending signal to report.
8208         (proceed_one_lwp): : Don't queue a SIGSTOP if the lwp already has
8209         a pending signal to report or is moving out of a jump pad.
8210         (linux_init_signals): Check for __ANDROID__ rather than
8211         __SIGRTMIN.
8212
8213 2010-08-28  Pedro Alves  <pedro@codesourcery.com>
8214
8215         * linux-low.c (linux_stabilize_threads): Wrap debug output in a
8216         debug_threads check.  Avoid a linear search when not doing debug
8217         output.
8218
8219 2010-08-27  Pedro Alves  <pedro@codesourcery.com>
8220
8221         * event-loop.c (event_handle_func): Adjust to use gdb_fildes_t.
8222         (struct gdb_event) <fd>: Change type to gdb_fildes_t.
8223         (struct file_handler) <fd>: Change type to gdb_fildes_t.
8224         (process_event): Change local fd's type to gdb_fildes_t.
8225         (create_file_handler): Adjust prototype.
8226         (delete_file_handler): Adjust prototype.
8227         (handle_file_event): Adjust prototype.  Use pfildes.
8228         (create_file_event): Adjsut prototype.
8229         * remote-utils.c (remote_desc, listen_desc): Change type to
8230         gdb_fildes_t.
8231         * server.h: New gdb_fildes_t typedef.
8232         [USE_WIN32API]: Include winsock2.h.
8233         (delete_file_handler, add_file_handler): Adjust prototypes.
8234         (pfildes): Declare.
8235         * utils.c (pfildes): New.
8236
8237 2010-08-27  Pedro Alves  <pedro@codesourcery.com>
8238
8239         * configure.ac (build_warnings): Add -Wno-char-subscripts.
8240         * configure: Regenerate.
8241
8242 2010-08-27  Pedro Alves  <pedro@codesourcery.com>
8243
8244         * linux-low.c (linux_unprepare_to_access_memory): Rename to ...
8245         (linux_done_accessing_memory): ... this.
8246         (linux_target_ops): Adjust.
8247         * linux-x86-low.c (x86_insert_point, x86_remove_point): Adjust.
8248         * nto-low.c (nto_target_ops): Adjust comment.
8249         * server.c (gdb_read_memory, gdb_write_memory): Adjust.
8250         * spu-low.c (spu_target_ops): Adjust comment.
8251         * target.h (target_ops): Rename unprepare_to_access_memory field
8252         to done_accessing_memory.
8253         (unprepare_to_access_memory): Rename to ...
8254         (done_accessing_memory): ... this.
8255
8256 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
8257
8258         * linux-low.c (linux_prepare_to_access_memory): New.
8259         (linux_unprepare_to_access_memory): New.
8260         (linux_target_ops): Install them.
8261         * server.c (read_memory): Rename to ...
8262         (gdb_read_memory): ... this.  Use
8263         prepare_to_access_memory/prepare_to_access_memory.
8264         (write_memory): Rename to ...
8265         (gdb_write_memory): ... this.  Use
8266         prepare_to_access_memory/prepare_to_access_memory.
8267         (handle_search_memory_1): Adjust.
8268         (process_serial_event): Adjust.
8269         * target.h (struct target_ops): New fields
8270         prepare_to_access_memory and unprepare_to_access_memory.
8271         (prepare_to_access_memory, unprepare_to_access_memory): New.
8272         * linux-x86-low.c (x86_insert_point, x86_remove_point): Use
8273         prepare_to_access_memory/prepare_to_access_memory.
8274         * nto-low.c (nto_target_ops): Adjust.
8275         * spu-low.c (spu_target_ops): Adjust.
8276         * win32-low.c (win32_target_ops): Adjust.
8277
8278 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
8279
8280         * Makefile.in (WARN_CFLAGS): Get it from configure.
8281         (WERROR_CFLAGS): New.
8282         (INTERNAL_CFLAGS): Add WERROR_CFLAGS.
8283         * configure.ac: Introduce --enable-werror, which adds -Werror to
8284         the compiler command line.  Enabled by default.  Disable with
8285         --disable-werror.  Add -Wdeclaration-after-statement
8286         Wpointer-arith and -Wformat-nonliteral to warning flags.
8287         * configure: Regenerate.
8288
8289 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
8290
8291         * mem-break.c [HAVE_MALLOC_H]: Include malloc.h.
8292
8293 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
8294
8295         * gdbreplay.c (remote_error): New.
8296         (gdbchar): New.
8297         (expect): Use gdbchar.  Check for error reading from GDB.
8298         Clarify sync error output.
8299         (play): Check for errors writing to GDB.
8300         * linux-low.c (sigchld_handler): Really ignore `write' errors.
8301         * remote-utils.c (getpkt): Check for errors writing to the remote
8302         descriptor.
8303
8304 2010-08-25  Pedro Alves  <pedro@codesourcery.com>
8305
8306         * linux-low.c (linux_wait_1): Move non-debugging code out of
8307         `debug_threads' control.
8308
8309 2010-08-25  Pedro Alves  <pedro@codesourcery.com>
8310
8311         * linux-low.c (linux_wait_1): Don't set last_status here.
8312         * server.c (push_event, queue_stop_reply_callback): Assert we're
8313         not pushing a TARGET_WAITKIND_IGNORE event.
8314         (start_inferior, start_inferior, attach_inferior, handle_v_cont)
8315         (myresume, handle_target_event): Set the thread's last_resume_kind
8316         and last_status from the target returned status.
8317
8318 2010-08-25  Pedro Alves  <pedro@codesourcery.com>
8319
8320         PR threads/10729
8321
8322         * linux-x86-low.c (update_debug_registers_callback): New.
8323         (i386_dr_low_set_addr): Use it.
8324         (i386_dr_low_get_addr): New.
8325         (i386_dr_low_set_control): Use update_debug_registers_callback.
8326         (i386_dr_low_get_control): New.
8327         (i386_dr_low_get_status): Adjust.
8328         * linux-low.c (linux_stop_lwp): New.
8329         * linux-low.h (linux_stop_lwp): Declare.
8330
8331         * i386-low.c (I386_DR_GET_RW_LEN): Take the dr7 contents as
8332         argument instead of a i386_debug_reg_state.
8333         (I386_DR_WATCH_HIT): Take the dr6 contents as argument instead of
8334         a i386_debug_reg_state.
8335         (i386_insert_aligned_watchpoint): Adjust.
8336         (i386_remove_aligned_watchpoint): Adjust.
8337         (i386_low_stopped_data_address): Read the debug registers from the
8338         inferior instead of from the mirrors.
8339         * i386-low.h (struct i386_debug_reg_state): Extend comment.
8340         (i386_dr_low_get_addr): Declare.
8341         (i386_dr_low_get_control): Declare.
8342         (i386_dr_low_get_status): Change prototype.
8343
8344         * win32-i386-low.c (dr_status_mirror, dr_control_mirror): New globals.
8345         (i386_dr_low_get_addr): New.
8346         (i386_dr_low_get_control): New.
8347         (i386_dr_low_get_status): Adjust prototype.  Return
8348         dr_status_mirror.
8349         (i386_initial_stuff): Clear dr_status_mirror and
8350         dr_control_mirror.
8351         (i386_get_thread_context): Adjust.
8352         (i386_set_thread_context): Adjust.
8353         (i386_thread_added): Adjust.
8354
8355 2010-08-24  Pedro Alves  <pedro@codesourcery.com>
8356
8357         * linux-low.h (linux_thread_area): Delete declaration.
8358
8359 2010-08-11  Thomas Schwinge  <thomas@codesourcery.com>
8360
8361         * linux-low.c (linux_wait_1): Correctly return the ptid of the child
8362         after its termination.
8363
8364 2010-08-09  Pedro Alves  <pedro@codesourcery.com>
8365
8366         * linux-low.c (gdb_wants_lwp_stopped): Delete.
8367         (gdb_wants_all_stopped): Delete.
8368         (linux_wait_1): Don't call them.
8369         * server.c (handle_v_cont): Tag all threads as want-stopped.
8370         (gdb_wants_thread_stopped): Fix comments.  Tag the thread that
8371         stopped as "client-wants-stopped".
8372
8373 2010-07-31  Pedro Alves  <pedro@codesourcery.com>
8374
8375         * Makefile.in (signals_h): New.
8376         (server_h): Depend on it.
8377         (server.o): Don't depend on $(signals_def).
8378         (signals.o): Depend on $(signals_def).
8379
8380 2010-07-31  Jan Kratochvil  <jan.kratochvil@redhat.com>
8381
8382         * Makefile.in (signals_def): New.
8383         (server_h): Append include/gdb/signals.h and signals_def.
8384         (server.o): Append signals_def.
8385
8386 2010-07-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
8387
8388         * server.c (handle_target_event): Use target_signal_to_host for
8389         resume_info.sig initialization.
8390         * target.h (struct thread_resume) <sig>: New comment.
8391
8392 2010-07-20  Ozkan Sezer  <sezeroz@gmail.com>
8393
8394         * server.c (handle_query): strcpy() the returned string from paddress()
8395         instead of sprintf().
8396         * utils.c (paddress): Return phex_nz().
8397
8398 2010-07-07  Joel Brobecker  <brobecker@adacore.com>
8399
8400         * server.c (handle_v_cont): Call mourn_inferior if process
8401         just exited.
8402         (myresume): Likewise.
8403
8404 2010-07-01  Pedro Alves  <pedro@codesourcery.com>
8405
8406         Static tracepoints, and integration with UST.
8407
8408         * configure.ac: Handle --with-ust.  substitute ustlibs and ustinc.
8409         * mem-break.c (uninsert_all_breakpoints)
8410         (reinsert_all_breakpoints): New.
8411         * mem-break.h (reinsert_all_breakpoints, uninsert_all_breakpoints):
8412         * tracepoint.c (ust_loaded, helper_thread_id, cmd_buf): New.
8413         (gdb_agent_ust_loaded, helper_thread_id)
8414         (gdb_agent_helper_thread_id): New macros.
8415         (struct ipa_sym_addresses): Add addr_ust_loaded,
8416         addr_helper_thread_id, addr_cmd_buf.
8417         (symbol_list): Add ust_loaded, helper_thread_id, cmd_buf.
8418         (in_process_agent_loaded_ust): New.
8419         (write_e_ust_not_loaded): New.
8420         (maybe_write_ipa_ust_not_loaded): New.
8421         (struct collect_static_trace_data_action): New.
8422         (enum tracepoint_type) <static_tracepoint>: New.
8423         (struct tracepoint) <handle>: Mention static tracepoints.
8424         (struct static_tracepoint_ctx): New.
8425         (CMD_BUF_SIZE): New.
8426         (add_tracepoint_action): Handle static tracepoint actions.
8427         (unprobe_marker_at): New.
8428         (clear_installed_tracepoints): Handle static tracepoints.
8429         (cmd_qtdp): Handle static tracepoints.
8430         (probe_marker_at): New.
8431         (cmd_qtstart): Handle static tracepoints.
8432         (response_tracepoint): Handle static tracepoints.
8433         (cmd_qtfstm, cmd_qtsstm, cmd_qtstmat): New.
8434         (handle_tracepoint_query): Handle qTfSTM, qTsSTM and qTSTMat.
8435         (get_context_regcache): Handle static tracepoints.
8436         (do_action_at_tracepoint): Handle static tracepoint actions.
8437         (traceframe_find_block_type): Handle static trace data blocks.
8438         (traceframe_read_sdata): New.
8439         (download_tracepoints): Download static tracepoint actions.
8440         [HAVE_UST] Include ust/ust.h, dlfcn.h, sys/socket.h, and sys/un.h.
8441         (GDB_PROBE_NAME): New.
8442         (ust_ops): New.
8443         (GET_UST_SYM): New.
8444         (USTF): New.
8445         (dlsym_ust): New.
8446         (ust_marker_to_static_tracepoint): New.
8447         (gdb_probe): New.
8448         (collect_ust_data_at_tracepoint): New.
8449         (gdb_ust_probe): New.
8450         (UNIX_PATH_MAX, SOCK_DIR): New.
8451         (gdb_ust_connect_sync_socket): New.
8452         (resume_thread, stop_thread): New.
8453         (run_inferior_command): New.
8454         (init_named_socket): New.
8455         (gdb_ust_socket_init): New.
8456         (cstr_to_hexstr): New.
8457         (next_st): New.
8458         (first_marker, next_marker): New.
8459         (response_ust_marker): New.
8460         (cmd_qtfstm, cmd_qtsstm): New.
8461         (unprobe_marker_at, probe_marker_at): New.
8462         (cmd_qtstmat, gdb_ust_thread): New.
8463         (gdb_ust_init): New.
8464         (initialize_tracepoint_ftlib): Call gdb_ust_init.
8465         * linux-amd64-ipa.c [HAVE_UST]: Include ust/processor.h
8466         (ST_REGENTRY): New.
8467         (x86_64_st_collect_regmap): New.
8468         (X86_64_NUM_ST_COLLECT_GREGS): New.
8469         (AMD64_RIP_REGNUM): New.
8470         (supply_static_tracepoint_registers): New.
8471         * linux-i386-ipa.c [HAVE_UST]: Include ust/processor.h
8472         (ST_REGENTRY): New.
8473         (i386_st_collect_regmap): New.
8474         (i386_NUM_ST_COLLECT_GREGS): New.
8475         (supply_static_tracepoint_registers): New.
8476         * server.c (handle_query): Handle qXfer:statictrace:read.
8477         <qSupported>: Report support for StaticTracepoints, and
8478         qXfer:statictrace:read features.
8479         * server.h (traceframe_read_sdata)
8480         (supply_static_tracepoint_registers): Declare.
8481         * remote-utils.c (convert_int_to_ascii, hexchars, ishex, tohex)
8482         (unpack_varlen_hex): Include in IPA build.
8483         * Makefile.in (ustlibs, ustinc): New.
8484         (IPA_OBJS): Add remote-utils-ipa.o.
8485         ($(IPA_LIB)): Link -ldl and -lpthread.
8486         (UST_CFLAGS): New.
8487         (IPAGENT_CFLAGS): Add UST_CFLAGS.
8488         * config.in, configure: Regenerate.
8489
8490 2010-06-20  Ian Lance Taylor  <iant@google.com>
8491             Pedro Alves  <pedro@codesourcery.com>
8492
8493         * linux-x86-low.c (always_true): Delete.
8494         (EMIT_ASM, EMIT_ASM32): Use an uncondition asm jmp instead of
8495         trying to fool the compiler with always_true.
8496
8497 2010-06-20  Pedro Alves  <pedro@codesourcery.com>
8498
8499         * tracepoint.c (condition_true_at_tracepoint): Don't run compiled
8500         conditions in gdbserver.
8501
8502 2010-06-19  Ulrich Weigand  <uweigand@de.ibm.com>
8503
8504         * spu-low.c (spu_read_memory): Wrap around local store limit.
8505         (spu_write_memory): Likewise.
8506
8507 2010-06-15  Pedro Alves  <pedro@codesourcery.com>
8508
8509         * linux-x86-low.c (amd64_emit_const, amd64_emit_void_call_2)
8510         (i386_emit_const, i386_emit_void_call_2): Replace int64_t uses with
8511         LONGEST uses.
8512         * server.h (struct emit_ops): Replace int64_t uses with LONGEST
8513         uses.
8514         * tracepoint.c (emit_const, emit_void_call_2): Replace int64_t
8515         uses with LONGEST uses.
8516
8517 2010-06-14  Stan Shebs  <stan@codesourcery.com>
8518             Pedro Alves  <pedro@codesourcery.com>
8519
8520         Bytecode compiler.
8521
8522         * linux-x86-low.c: Include limits.h.
8523         (add_insns): New.
8524         (always_true): New.
8525         (EMIT_ASM): New.
8526         (EMIT_ASM32): New.
8527         (amd64_emit_prologue, amd64_emit_epilogue, amd64_emit_add)
8528         (amd64_emit_sub, amd64_emit_mul, amd64_emit_lsh)
8529         (amd64_emit_rsh_signed, amd64_emit_rsh_unsigned, amd64_emit_ext,
8530         (amd64_emit_log_not, amd64_emit_bit_and, amd64_emit_bit_or)
8531         (amd64_emit_bit_xor, amd64_emit_bit_not, amd64_emit_equal,
8532         (amd64_emit_less_signed, amd64_emit_less_unsigned, amd64_emit_ref,
8533         (amd64_emit_if_goto, amd64_emit_goto, amd64_write_goto_address)
8534         (amd64_emit_const, amd64_emit_call, amd64_emit_reg)
8535         (amd64_emit_pop, amd64_emit_stack_flush, amd64_emit_zero_ext)
8536         (amd64_emit_swap, amd64_emit_stack_adjust, amd64_emit_int_call_1)
8537         (amd64_emit_void_call_2): New.
8538         (amd64_emit_ops): New.
8539         (i386_emit_prologue, i386_emit_epilogue, i386_emit_add)
8540         (i386_emit_sub,i386_emit_mul, i386_emit_lsh, i386_emit_rsh_signed)
8541         (i386_emit_rsh_unsigned, i386_emit_ext, i386_emit_log_not)
8542         (i386_emit_bit_and, i386_emit_bit_or, i386_emit_bit_xor)
8543         (i386_emit_bit_not, i386_emit_equal, i386_emit_less_signed)
8544         (i386_emit_less_unsigned, i386_emit_ref, i386_emit_if_goto)
8545         (i386_emit_goto, i386_write_goto_address, i386_emit_const)
8546         (i386_emit_call, i386_emit_reg, i386_emit_pop)
8547         (i386_emit_stack_flush, i386_emit_zero_ext, i386_emit_swap)
8548         (i386_emit_stack_adjust, i386_emit_int_call_1)
8549         (i386_emit_void_call_2): New.
8550         (i386_emit_ops): New.
8551         (x86_emit_ops): New.
8552         (the_low_target): Install x86_emit_ops.
8553         * server.h (struct emit_ops): New.
8554         (get_raw_reg_func_addr): Declare.
8555         (current_insn_ptr, emit_error): Declare.
8556         * tracepoint.c (get_raw_reg, get_trace_state_variable_value)
8557         (set_trace_state_variable_value): New defines.
8558         (struct ipa_sym_addresses): New fields addr_get_raw_reg,
8559         addr_get_trace_state_variable_value and
8560         addr_set_trace_state_variable_value.
8561         (symbol_list): New fields for get_raw_reg,
8562         get_trace_state_variable_value and set_trace_state_variable_value.
8563         (condfn): New typedef.
8564         (struct tracepoint): New field `compiled_cond'.
8565         (do_action_at_tracepoint): Clear compiled_cond.
8566         (get_trace_state_variable_value, set_trace_state_variable_value):
8567         Export in the IPA.
8568         (condition_true_at_tracepoint): If there's a compiled condition,
8569         run that.
8570         (current_insn_ptr, emit_error): New globals.
8571         (struct bytecode_address): New.
8572         (get_raw_reg_func_addr): New.
8573         (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul)
8574         (emit_lsh, emit_rsh_signed, emit_rsh_unsigned, emit_ext)
8575         (emit_log_not, emit_bit_and, emit_bit_or, emit_bit_xor)
8576         (emit_bit_not, emit_equal, emit_less_signed, emit_less_unsigned)
8577         (emit_ref, emit_if_goto, emit_goto, write_goto_address, emit_const)
8578         (emit_reg, emit_pop, emit_stack_flush, emit_zero_ext, emit_swap)
8579         (emit_stack_adjust, emit_int_call_1, emit_void_call_2): New.
8580         (compile_tracepoint_condition, compile_bytecodes): New.
8581         * target.h (emit_ops): Forward declare.
8582         (struct target_ops): New field emit_ops.
8583         (target_emit_ops): New.
8584         * linux-amd64-ipa.c (gdb_agent_get_raw_reg): New.
8585         * linux-i386-ipa.c (gdb_agent_get_raw_reg): New.
8586         * linux-low.c (linux_emit_ops): New.
8587         (linux_target_ops): Install it.
8588         * linux-low.h (struct linux_target_ops): New field emit_ops.
8589
8590 2010-06-14  Ulrich Weigand  <uweigand@de.ibm.com>
8591
8592         * linux-ppc-low.c (ppc_arch_setup): Use private regcache to test MSR.
8593         * linux-s390-low.c (ppc_arch_setup): Use private regcache to test PSW.
8594
8595 2010-06-01  Pedro Alves  <pedro@codesourcery.com>
8596             Stan Shebs  <stan@codesourcery.com>
8597
8598         * Makefile.in (IPA_DEPFILES, extra_libraries): New.
8599         (all): Depend on $(extra_libraries).
8600         (install-only): Install the IPA.
8601         (IPA_OBJS, IPA_LIB): New.
8602         (clean): Remove the IPA lib.
8603         (IPAGENT_CFLAGS): New.
8604         (tracepoint-ipa.o, utils-ipa.o, remote-utils-ipa.o)
8605         (regcache-ipa.o, i386-linux-ipa.o, linux-i386-ipa.o)
8606         (linux-amd64-ipa.o, amd64-linux-ipa.o): New rules.
8607         * linux-amd64-ipa.c, linux-i386-ipa.c: New files.
8608         * configure.ac: Check for atomic builtins support in the compiler.
8609         (IPA_DEPFILES, extra_libraries): Define.
8610         * configure.srv (ipa_obj): Add description.
8611         (ipa_i386_linux_regobj, ipa_amd64_linux_regobj): Define.
8612         (i[34567]86-*-linux*): Set ipa_obj.
8613         (x86_64-*-linux*): Set ipa_obj.
8614         * linux-low.c (stabilizing_threads): New.
8615         (supports_fast_tracepoints): New.
8616         (linux_detach): Stabilize threads before detaching.
8617         (handle_tracepoints): Handle internal tracing breakpoints.  Assert
8618         the lwp is either not stabilizing, or is moving out of a jump pad.
8619         (linux_fast_tracepoint_collecting): New.
8620         (maybe_move_out_of_jump_pad): New.
8621         (enqueue_one_deferred_signal): New.
8622         (dequeue_one_deferred_signal): New.
8623         (linux_wait_for_event_1): If moving out of a jump pad, defer
8624         pending signals to later.
8625         (linux_stabilize_threads): New.
8626         (linux_wait_1): Check if threads need moving out of jump pads, and
8627         do it if so.
8628         (stuck_in_jump_pad_callback): New.
8629         (move_out_of_jump_pad_callback): New.
8630         (lwp_running): New.
8631         (linux_resume_one_lwp): Handle moving out of jump pads.
8632         (linux_set_resume_request): Dequeue deferred signals.
8633         (need_step_over_p): Also step over fast tracepoint jumps.
8634         (start_step_over): Also uninsert fast tracepoint jumps.
8635         (finish_step_over): Also reinsert fast tracepoint jumps.
8636         (linux_install_fast_tracepoint_jump): New.
8637         (linux_target_ops): Install linux_stabilize_threads and
8638         linux_install_fast_tracepoint_jump_pad.
8639         * linux-low.h (linux_target_ops) <get_thread_area,
8640         install_fast_tracepoint_jump_pad>: New fields.
8641         (struct lwp_info) <collecting_fast_tracepoint,
8642         pending_signals_to_report, exit_jump_pad_bkpt>: New fields.
8643         (linux_get_thread_area): Declare.
8644         * linux-x86-low.c (jump_insn): New.
8645         (x86_get_thread_area): New.
8646         (append_insns): New.
8647         (push_opcode): New.
8648         (amd64_install_fast_tracepoint_jump_pad): New.
8649         (i386_install_fast_tracepoint_jump_pad): New.
8650         (x86_install_fast_tracepoint_jump_pad): New.
8651         (the_low_target): Install x86_get_thread_area and
8652         x86_install_fast_tracepoint_jump_pad.
8653         * mem-break.c (set_raw_breakpoint_at): Use read_inferior_memory.
8654         (struct fast_tracepoint_jump): New.
8655         (fast_tracepoint_jump_insn): New.
8656         (fast_tracepoint_jump_shadow): New.
8657         (find_fast_tracepoint_jump_at): New.
8658         (fast_tracepoint_jump_here): New.
8659         (delete_fast_tracepoint_jump): New.
8660         (set_fast_tracepoint_jump): New.
8661         (uninsert_fast_tracepoint_jumps_at): New.
8662         (reinsert_fast_tracepoint_jumps_at): New.
8663         (set_breakpoint_at): Use write_inferior_memory.
8664         (uninsert_raw_breakpoint): Use write_inferior_memory.
8665         (check_mem_read): Mask out fast tracepoint jumps.
8666         (check_mem_write): Mask out fast tracepoint jumps.
8667         * mem-break.h (struct fast_tracepoint_jump): Forward declare.
8668         (set_fast_tracepoint_jump): Declare.
8669         (delete_fast_tracepoint_jump)
8670         (fast_tracepoint_jump_here, uninsert_fast_tracepoint_jumps_at)
8671         (reinsert_fast_tracepoint_jumps_at): Declare.
8672         * regcache.c: Don't compile many functions when building the
8673         in-process agent library.
8674         (init_register_cache) [IN_PROCESS_AGENT]: Don't allow allocating
8675         the register buffer in the heap.
8676         (free_register_cache): If the register buffer isn't owned by the
8677         regcache, don't free it.
8678         (set_register_cache) [IN_PROCESS_AGENT]: Don't re-alocate
8679         pre-existing register caches.
8680         * remote-utils.c (convert_int_to_ascii): Constify `from' parameter
8681         type.
8682         (convert_ascii_to_int): : Constify `from' parameter type.
8683         (decode_M_packet, decode_X_packet): Replace the `to' parameter by
8684         a `to_p' pointer to pointer parameter.  If TO_P is NULL, malloc
8685         the needed buffer in-place.
8686         (relocate_instruction): New.
8687         * server.c (handle_query) <qSymbols>: If the target supports
8688         tracepoints, give it a chance of looking up symbols.  Report
8689         support for fast tracepoints.
8690         (handle_status): Stabilize threads.
8691         (process_serial_event): Adjust.
8692         * server.h (struct fast_tracepoint_jump): Forward declare.
8693         (struct process_info) <fast_tracepoint_jumps>: New field.
8694         (convert_ascii_to_int, convert_int_to_ascii): Adjust.
8695         (decode_X_packet, decode_M_packet): Adjust.
8696         (relocate_instruction): Declare.
8697         (in_process_agent_loaded): Declare.
8698         (tracepoint_look_up_symbols): Declare.
8699         (struct fast_tpoint_collect_status): Declare.
8700         (fast_tracepoint_collecting): Declare.
8701         (force_unlock_trace_buffer): Declare.
8702         (handle_tracepoint_bkpts): Declare.
8703         (initialize_low_tracepoint)
8704         (supply_fast_tracepoint_registers) [IN_PROCESS_AGENT]: Declare.
8705         * target.h (struct target_ops) <stabilize_threads,
8706         install_fast_tracepoint_jump_pad>: New fields.
8707         (stabilize_threads, install_fast_tracepoint_jump_pad): New.
8708         * tracepoint.c [HAVE_MALLOC_H]: Include malloc.h.
8709         [HAVE_STDINT_H]: Include stdint.h.
8710         (trace_debug_1): Rename to ...
8711         (trace_vdebug): ... this.
8712         (trace_debug): Rename to ...
8713         (trace_debug_1): ... this.  Add `level' parameter.
8714         (trace_debug): New.
8715         (ATTR_USED, ATTR_NOINLINE): New.
8716         (IP_AGENT_EXPORT): New.
8717         (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
8718         (collecting, gdb_collect, stop_tracing, flush_trace_buffer)
8719         (about_to_request_buffer_space, trace_buffer_is_full)
8720         (stopping_tracepoint, expr_eval_result, error_tracepoint)
8721         (tracepoints, tracing, trace_buffer_ctrl, trace_buffer_ctrl_curr)
8722         (trace_buffer_lo, trace_buffer_hi, traceframe_read_count)
8723         (traceframe_write_count, traceframes_created)
8724         (trace_state_variables)
8725         New renaming defines.
8726         (struct ipa_sym_addresses): New.
8727         (STRINGIZE_1, STRINGIZE, IPA_SYM): New.
8728         (symbol_list): New.
8729         (ipa_sym_addrs): New.
8730         (all_tracepoint_symbols_looked_up): New.
8731         (in_process_agent_loaded): New.
8732         (write_e_ipa_not_loaded): New.
8733         (maybe_write_ipa_not_loaded): New.
8734         (tracepoint_look_up_symbols): New.
8735         (debug_threads) [IN_PROCESS_AGENT]: New.
8736         (read_inferior_memory) [IN_PROCESS_AGENT]: New.
8737         (UNKNOWN_SIDE_EFFECTS): New.
8738         (stop_tracing): New.
8739         (flush_trace_buffer): New.
8740         (stop_tracing_bkpt): New.
8741         (flush_trace_buffer_bkpt): New.
8742         (read_inferior_integer): New.
8743         (read_inferior_uinteger): New.
8744         (read_inferior_data_pointer): New.
8745         (write_inferior_data_pointer): New.
8746         (write_inferior_integer): New.
8747         (write_inferior_uinteger): New.
8748         (struct collect_static_trace_data_action): Delete.
8749         (enum tracepoint_type): New.
8750         (struct tracepoint) <type>: New field `type'.
8751         <actions_str, step_actions, step_actions_str>: Only include in
8752         GDBserver.
8753         <orig_size, obj_addr_on_target, adjusted_insn_addr>
8754         <adjusted_insn_addr_end, jump_pad, jump_pad_end>: New fields.
8755         (tracepoints): Use IP_AGENT_EXPORT.
8756         (last_tracepoint): Don't include in the IPA.
8757         (stopping_tracepoint): Use IP_AGENT_EXPORT.
8758         (trace_buffer_is_full): Use IP_AGENT_EXPORT.
8759         (alloced_trace_state_variables): New.
8760         (trace_state_variables): Use IP_AGENT_EXPORT.
8761         (traceframe_t): Delete unused variable.
8762         (circular_trace_buffer): Don't include in the IPA.
8763         (trace_buffer_start): Delete.
8764         (struct trace_buffer_control): New.
8765         (trace_buffer_free): Delete.
8766         (struct ipa_trace_buffer_control): New.
8767         (GDBSERVER_FLUSH_COUNT_MASK, GDBSERVER_FLUSH_COUNT_MASK_PREV)
8768         (GDBSERVER_FLUSH_COUNT_MASK_CURR, GDBSERVER_UPDATED_FLUSH_COUNT_BIT):
8769         New.
8770         (trace_buffer_ctrl): New.
8771         (TRACE_BUFFER_CTRL_CURR): New.
8772         (trace_buffer_start, trace_buffer_free, trace_buffer_end_free):
8773         Reimplement as macros.
8774         (trace_buffer_wrap): Delete.
8775         (traceframe_write_count, traceframe_read_count)
8776         (traceframes_created, tracing): Use IP_AGENT_EXPORT.
8777         (struct tracepoint_hit_ctx) <type>: New field.
8778         (struct fast_tracepoint_ctx): New.
8779         (memory_barrier): New.
8780         (cmpxchg): New.
8781         (record_tracepoint_error): Update atomically in the IPA.
8782         (clear_inferior_trace_buffer): New.
8783         (about_to_request_buffer_space): New.
8784         (trace_buffer_alloc): Handle GDBserver and inferior simulatenous
8785         updating the same buffer.
8786         (add_tracepoint): Default the tracepoint's type to trap
8787         tracepoint, and orig_size to -1.
8788         (get_trace_state_variable) [IN_PROCESS_AGENT]: Handle allocated
8789         internal variables.
8790         (create_trace_state_variable): New parameter `gdb'.  Handle it.
8791         (clear_installed_tracepoints): Clear fast tracepoint jumps.
8792         (cmd_qtdp): Handle fast tracepoints.
8793         (cmd_qtdv): Adjust.
8794         (max_jump_pad_size): New.
8795         (gdb_jump_pad_head): New.
8796         (get_jump_space_head): New.
8797         (claim_jump_space): New.
8798         (sort_tracepoints): New.
8799         (MAX_JUMP_SIZE): New.
8800         (cmd_qtstart): Handle fast tracepoints.  Sync tracepoints with the
8801         IPA.
8802         (stop_tracing) [IN_PROCESS_AGENT]: Don't include the tdisconnected
8803         support.  Upload fast traceframes, and delete internal IPA
8804         breakpoints.
8805         (stop_tracing_handler): New.
8806         (flush_trace_buffer_handler): New.
8807         (cmd_qtstop): Upload fast tracepoints.
8808         (response_tracepoint): Handle fast tracepoints.
8809         (tracepoint_finished_step): Upload fast traceframes.  Set the
8810         tracepoint hit context's tracepoint type.
8811         (handle_tracepoint_bkpts): New.
8812         (tracepoint_was_hit): Set the tracepoint hit context's tracepoint
8813         type.  Add comment about fast tracepoints.
8814         (collect_data_at_tracepoint) [IN_PROCESS_AGENT]: Don't access the
8815         non-existing action_str field.
8816         (get_context_regcache): Handle fast tracepoints.
8817         (do_action_at_tracepoint) [!IN_PROCESS_AGENT]: Don't write the PC
8818         to the regcache.
8819         (fast_tracepoint_from_jump_pad_address): New.
8820         (fast_tracepoint_from_ipa_tpoint_address): New.
8821         (collecting_t): New.
8822         (force_unlock_trace_buffer): New.
8823         (fast_tracepoint_collecting): New.
8824         (collecting): New.
8825         (gdb_collect): New.
8826         (write_inferior_data_ptr): New.
8827         (target_tp_heap): New.
8828         (target_malloc): New.
8829         (download_agent_expr): New.
8830         (UALIGN): New.
8831         (download_tracepoints): New.
8832         (download_trace_state_variables): New.
8833         (upload_fast_traceframes): New.
8834         (IPA_FIRST_TRACEFRAME): New.
8835         (IPA_NEXT_TRACEFRAME_1): New.
8836         (IPA_NEXT_TRACEFRAME): New.
8837         [IN_PROCESS_AGENT]: Include sys/mman.h and fcntl.h.
8838         [IN_PROCESS_AGENT] (gdb_tp_heap_buffer, gdb_jump_pad_buffer)
8839         (gdb_jump_pad_buffer_end): New.
8840         [IN_PROCESS_AGENT] (initialize_tracepoint_ftlib): New.
8841         (initialize_tracepoint): Adjust.
8842         [IN_PROCESS_AGENT]: Allocate the IPA heap, and jump pad scratch
8843         buffer.  Initialize the low module.
8844         * utils.c (PREFIX, TOOLNAME): New.
8845         (malloc_failure): Use PREFIX.
8846         (error): In the IPA, an error causes an exit.
8847         (fatal, warning): Use PREFIX.
8848         (internal_error): Use TOOLNAME.
8849         (NUMCELLS): Increase to 10.
8850         * configure, config.in: Regenerate.
8851
8852 2010-06-01  Pedro Alves  <pedro@codesourcery.com>
8853
8854         * server.c (handle_query) <qSupported>: Do two passes over the
8855         qSupported string to avoid nesting strtok.
8856
8857 2010-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
8858
8859         * Makefile.in (SFILES): Add $(srcdir)/proc-service.list.
8860         (CDEPS): New.
8861         * configure.ac (RDYNAMIC): New AC_MSG_CHECKING wrapping.  Test also
8862         -Wl,--dynamic-list.
8863         * configure: Regenerate.
8864         * proc-service.list: New.
8865
8866 2010-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
8867
8868         * linux-low.c (linux_core_of_thread): Fix crash on invalid CONTENT.
8869         New comment.
8870
8871 2010-05-26  Ozkan Sezer  <sezeroz@gmail.com>
8872
8873         * gdbreplay.c (remote_open): Check error return from socket() call by
8874         its equality to -1 not by it being negative.
8875         * remote-utils.c (remote_open): Likewise.
8876
8877 2010-05-23  Pedro Alves  <pedro@codesourcery.com>
8878
8879         * config.h: Regenerate.
8880
8881 2010-05-19  Maxim Kuvyrkov  <maxim@codesourcery.com>
8882
8883         * linux-m68k-low.c (ps_get_thread_area): Don't define if kernel
8884         doesn't provide PTRACE_GET_THREAD_AREA.
8885
8886 2010-05-19  Maxim Kuvyrkov  <maxim@codesourcery.com>
8887
8888         * linux-m68k-low.c: Include <asm/ptrace.h>
8889         (ps_get_thread_area): Implement.
8890
8891 2010-05-03  Doug Evans  <dje@google.com>
8892
8893         * event-loop.c (struct callback_event): New struct.
8894         (callback_list): New global.
8895         (append_callback_event, delete_callback_event): New functions.
8896         (process_callback): New function.
8897         (start_event_loop): Call it.
8898         * remote-utils.c (NOT_SCHEDULED): Define.
8899         (readchar_buf, readchar_bufcnt, readchar_bufp): New static globals,
8900         moved out of readchar.
8901         (readchar): Rewrite.  Call reschedule before returning.
8902         (reset_readchar): New function.
8903         (remote_close): Call it.
8904         (process_remaining, reschedule): New functions.
8905         * server.h (callback_handler_func): New typedef.
8906         (append_callback_event, delete_callback_event): Declare.
8907
8908 2010-05-03  Pedro Alves  <pedro@codesourcery.com>
8909
8910         * proc-service.c (ps_pglobal_lookup): Use
8911         thread_db_look_up_one_symbol.
8912         * remote-utils.c (look_up_one_symbol): Add new `may_ask_gdb'
8913         parameter.  Use it instead of all_symbols_looked_up.
8914         * server.h (struct process_info) <all_symbols_looked_up>: Delete
8915         field.
8916         (all_symbols_looked_up): Don't declare.
8917         (look_up_one_symbol): Add new `may_ask_gdb' parameter.
8918         * thread-db.c (struct thread_db) <all_symbols_looked_up>: New
8919         field.
8920         (thread_db_look_up_symbols): Adjust call to look_up_one_symbol.
8921         Set all_symbols_looked_up here.
8922         (thread_db_look_up_one_symbol): New.
8923         (thread_db_get_tls_address): Adjust.
8924         (thread_db_load_search, try_thread_db_load_1): Always allocate the
8925         thread_db object on the heap, and tentatively set it in the
8926         process structure.
8927         (thread_db_init): Don't set all_symbols_looked_up here.
8928         * linux-low.h (thread_db_look_up_one_symbol): Declare.
8929
8930 2010-05-03  Pedro Alves  <pedro@codesourcery.com>
8931
8932         * linux-low.c (linux_kill, linux_detach): Adjust.
8933         (status_pending_p_callback): Remove redundant statement.  Check
8934         for !TARGET_WAITIKIND_IGNORE, instead of
8935         TARGET_WAITKIND_STOPPED.
8936         (handle_tracepoints): Make sure LWP is locked.  Adjust.
8937         (linux_wait_for_event_1): Adjust.
8938         (linux_cancel_breakpoints): New.
8939         (unsuspend_one_lwp): New.
8940         (unsuspend_all_lwps): New.
8941         (linux_wait_1): If finishing a step-over, unsuspend all lwps.
8942         (send_sigstop_callback): Change return type to int, add new
8943         `except' parameter and handle it.
8944         (suspend_and_send_sigstop_callback): New.
8945         (stop_all_lwps): Add new `suspend' and `expect' parameters, and
8946         pass them down.  If SUSPEND, also increment the lwp's suspend
8947         count.
8948         (linux_resume_one_lwp): Add notice about resuming a suspended LWP.
8949         (need_step_over_p): Don't consider suspended LWPs.
8950         (start_step_over): Adjust.
8951         (proceed_one_lwp): Change return type to int, add new `except'
8952         parameter and handle it.
8953         (unsuspend_and_proceed_one_lwp): New.
8954         (proceed_all_lwps): Use find_inferior instead of
8955         for_each_inferior.
8956         (unstop_all_lwps): Add `unsuspend' parameter.  If UNSUSPEND, them
8957         also decrement the suspend count of LWPs.  Pass `except' down,
8958         instead of hacking its suspend count.
8959         (linux_pause_all): Add `freeze' parameter.  Adjust.
8960         (linux_unpause_all): New.
8961         (linux_target_ops): Install linux_unpause_all.
8962         * server.c (handle_status): Adjust.
8963         * target.h (struct target_ops): New fields `unpause_all' and
8964         `cancel_breakpoints'.  Add new parameter to `pause_all'.
8965         (pause_all): Add new `freeze' parameter.
8966         (unpause_all): New.
8967         (cancel_breakpoints): New.
8968         * tracepoint.c (clear_installed_tracepoints): Pause threads, and
8969         cancel breakpoints.
8970         (cmd_qtstart): Pause threads.
8971         (stop_tracing): Pause threads, and cancel breakpoints.
8972         * win32-low.c (win32_target_ops): Adjust.
8973
8974 2010-05-03  Pedro Alves  <pedro@codesourcery.com>
8975
8976         * linux-low.c (linux_wait_for_event_1): Move passing the signal to
8977         the inferior right away from here...
8978         (linux_wait_1): ... to here, and adjust to check the thread's
8979         last_resume_kind instead of the lwp's step or stop_expected flags.
8980
8981 2010-05-02  Pedro Alves  <pedro@codesourcery.com>
8982
8983         * README: Use consistent `GDB' and `GDBserver' spellings.
8984
8985 2010-05-02  Pedro Alves  <pedro@codesourcery.com>
8986
8987         * linux-low.c (linux_kill_one_lwp): Assume the lwp is stopped.
8988         (linux_kill): Stop all lwps here.  Don't delete the main lwp here.
8989         (linux_detach_one_lwp): Assume the lwp is stopped.
8990         (any_thread_of): Delete.
8991         (linux_detach): Stop all lwps here.  Don't blindly delete all
8992         breakpoints.
8993         (delete_lwp_callback): New.
8994         (linux_mourn): Delete all lwps of the process that is gone.
8995         (linux_wait_1): Don't delete the last lwp of the process here.
8996         * mem-break.h (mark_breakpoints_out): Declare.
8997         * mem-break.c (mark_breakpoints_out): New.
8998         (free_all_breakpoints): Use it.
8999         * server.c (handle_target_event): If the process is gone, mark
9000         breakpoints out.
9001         * thread-db.c (struct thread_db) <create_bp>: New field.
9002         (thread_db_enable_reporting): Fix prototype.  Store a thread event
9003         breakpoint reference in the thread_db struct.
9004         (thread_db_load_search): Clear the thread_db object.
9005         (try_thread_db_load_1): Ditto.
9006         (switch_to_process): New.
9007         (disable_thread_event_reporting): Use it.
9008         (remove_thread_event_breakpoints): New.
9009         (thread_db_detach, thread_db_mourn): Use it.
9010
9011 2010-05-01  Pedro Alves  <pedro@codesourcery.com>
9012
9013         * linux-low.c (linux_enable_event_reporting): New.
9014         (linux_wait_for_event_1, handle_extended_wait): Use it.
9015
9016 2010-04-30  Pedro Alves  <pedro@codesourcery.com>
9017
9018         * linux-low.c (linux_kill_one_lwp, linux_kill)
9019         (linux_detach_one_lwp): Adjust to send_sigstop interface change.
9020         (send_sigstop): Take an lwp_info as parameter instead.  Queue a
9021         SIGSTOP even if the LWP is stopped.
9022         (send_sigstop_callback): New.
9023         (stop_all_lwps): Use send_sigstop_callback instead.
9024         (linux_resume_one_thread): Adjust.
9025         (proceed_one_lwp): Still proceed an LWP that the client has
9026         requested to stop, if we haven't reported it as stopped yet.  Make
9027         sure that LWPs the client want stopped, have a pending SIGSTOP.
9028
9029 2010-04-26  Doug Evans  <dje@google.com>
9030
9031         * server.c (handle_general_set): Make static.
9032
9033         * remote-utils.c (putpkt_binary_1): Call readchar instead of read.
9034         Print received char after testing for error/eof instead of before.
9035         (input_interrupt): Tweak comment.
9036
9037 2010-04-23  Doug Evans  <dje@google.com>
9038
9039         * server.c (start_inferior): Print inferior argv if --debug.
9040
9041 2010-04-21  Aleksandar Ristovski  <aristovski@qnx.com>
9042
9043         * Makefile.in (nto_low_h nto-low.o nto-x86-low.o): New dependency lists.
9044         * nto-x86-low.c: Include server.h
9045
9046 2010-04-20  Pierre Muller  <muller@ics.u-strasbg.fr>
9047
9048         * win32-i386-low.c: Use __x86_64__ macro instead of __x86_64 to
9049         be consistent with other sources of this directory.
9050         (init_registers_amd64): Correct name of source file of this function
9051         in the comment.
9052
9053 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
9054
9055         * configure.srv (x86_64-*-mingw*): New configuration for Windows
9056         64-bit executables.
9057
9058 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
9059
9060         * win32-i386-low.c: Add 64-bit support.
9061         (CONTEXT_EXTENDED_REGISTERS): Set macro to zero if not exisiting.
9062         (init_registers_amd64): Declare.
9063         (mappings): Add 64-bit version of array.
9064         (init_windows_x86): New function.
9065         (the_low_target): Change init_arch field to init_windows_x86.
9066
9067 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
9068
9069         * win32-low.c: Adapt to support also 64-bit architecture.
9070         (child_xfer_memory): Use uintptr_t type for local variable `addr'.
9071         (get_image_name): Use SIZE_T type for local variable `done'.
9072         (psapi_get_dll_name): Use LPVOID type for parameter `BaseAddress'.
9073         (toolhelp_get_dll_name): Idem.
9074         (handle_load_dll): Use CORE_ADDR type for local variable `load_addr'.
9075         Use uintptr_t typecast to avoid warning.
9076         (handle_unload_dll): Use uintptr_t typecast to avoid warning.
9077         (handle_exception): Use phex_nz to avoid warning.
9078         (win32_wait): Remove unused local variable `process'.
9079
9080 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
9081
9082         * configure.srv (srv_amd64_regobj): Replace `x86-64-avx.o' by
9083         `amd64-avx.o'.
9084
9085 2010-04-17  Pierre Muller  <muller@ics.u-strasbg.fr>
9086
9087         * configure.ac: Use `ws2_32' library for srv_mingw.
9088         * configure: Regenerate.
9089         * gdbreplay.c: Include winsock2.h instead of winsock.h.
9090         * remote-utils.c: Likewise.
9091
9092 2010-04-17  H.J. Lu  <hongjiu.lu@intel.com>
9093
9094         * linux-x86-low.c (xmltarget_amd64_linux_no_xml): Define only
9095         if __x86_64__ is defined.
9096
9097 2010-04-16  Pierre Muller  <muller@ics.u-strasbg.fr>
9098
9099         * configure: Regenerate.
9100
9101 2010-04-16  Pierre Muller  <muller@ics.u-strasbg.fr>
9102
9103         * server.c (handle_query): Handle 'qGetTIBAddr' query.
9104         * target.h (target_ops): New get_tib_address field.
9105         * win32-low.h (win32_thread_info): Add thread_local_base field.
9106         * win32-low.c (child_add_thread): Add tlb argument.
9107         Set thread_local_base field to TLB.
9108         (get_child_debug_event): Adapt to child_add_thread change.
9109         (win32_get_tib_address): New function.
9110         (win32_target_ops): Set get_tib_address field to
9111         win32_get_tib_address.
9112         * linux-low.c (linux_target_ops): Set get_tib_address field to NULL.
9113
9114 2010-04-12  Pedro Alves  <pedro@codesourcery.com>
9115
9116         * linux-low.c (linux_mourn): Also remove the process.
9117         * server.c (handle_target_event): Don't remove the process here.
9118         * nto-low.c (nto_mourn): New.
9119         (nto_target_ops): Install it.
9120         * spu-low.c (spu_mourn): New.
9121         (spu_target_ops): Install it.
9122         * win32-low.c (win32_mourn): New.
9123         (win32_target_ops): Install it.
9124
9125 2010-04-12  Pedro Alves  <pedro@codesourcery.com>
9126
9127         * server.h (buffer_xml_printf): Remove redundant `;'.
9128
9129 2010-04-12  Pedro Alves  <pedro@codesourcery.com>
9130
9131         * regcache.c (set_register_cache): Invalidate regcaches before
9132         changing the register cache layout.
9133         (regcache_invalidate_one): Allow a NULL regcache.
9134         * linux-x86-low.c (x86_linux_update_xmltarget): Invalidate
9135         regcaches before changing the register cache layout or the target
9136         regsets.
9137
9138 2010-04-12  H.J. Lu  <hongjiu.lu@intel.com>
9139
9140         * linux-x86-low.c (x86_linux_update_xmltarget): Avoid unused
9141         variable warning on Linux/x86-64.
9142
9143 2010-04-11  Pedro Alves  <pedro@codesourcery.com>
9144
9145         GDBserver disconnected tracing support.
9146
9147         * linux-low.c (linux_remove_process): Delete.
9148         (add_lwp): Don't set last_resume_kind here.
9149         (linux_kill): Use `mourn'.
9150         (linux_detach): Use `thread_db_detach', and `mourn'.
9151         (linux_mourn): New.
9152         (linux_attach_lwp_1): Adjust comment.
9153         (linux_attach): last_resume_kind moved the thread_info; adjust.
9154         (status_pending_p_callback): Adjust.
9155         (linux_wait_for_event_1): Adjust.
9156         (count_events_callback, select_singlestep_lwp_callback)
9157         (select_event_lwp_callback, cancel_breakpoints_callback)
9158         (db_wants_lwp_stopped, linux_wait_1, need_step_over_p)
9159         (proceed_one_lwp): Adjust.
9160         (linux_async): Add debug output.
9161         (linux_thread_stopped): New.
9162         (linux_pause_all): New.
9163         (linux_target_ops): Install linux_mourn, linux_thread_stopped and
9164         linux_pause_all.
9165         * linux-low.h (struct lwp_info): Delete last_resume_kind field.
9166         (thread_db_free): Delete declaration.
9167         (thread_db_detach, thread_db_mourn): Declare.
9168         * thread-db.c (thread_db_init): Use thread_db_mourn.
9169         (thread_db_free): Delete, split in two.
9170         (disable_thread_event_reporting): New.
9171         (thread_db_detach): New.
9172         (thread_db_mourn): New.
9173
9174         * server.h (struct thread_info) <last_resume_kind>: New field.
9175         <attached>: Add comment.
9176         <gdb_detached>: New field.
9177         (handler_func): Change return type to int.
9178         (handle_serial_event, handle_target_event): Ditto.
9179         (gdb_connected): Declare.
9180         (tracing): Delete.
9181         (disconnected_tracing): Declare.
9182         (stop_tracing): Declare.
9183
9184         * server.c (handle_query) <qSupported>: Report support for
9185         disconnected tracing.
9186         (queue_stop_reply_callback): Account for running threads.
9187         (gdb_wants_thread_stopped): New.
9188         (gdb_wants_all_threads_stopped): New.
9189         (gdb_reattached_process): New.
9190         (handle_status): Clear the `gdb_detached' flag of all processes.
9191         In all-stop, stop all threads.
9192         (main): Be sure to leave tfind mode.  Handle disconnected tracing.
9193         (process_serial_event): If the remote connection breaks, or if an
9194         exit was forced with "monitor exit", force an event loop exit.
9195         Handle disconnected tracing on detach.
9196         (handle_serial_event): Adjust.
9197         (handle_target_event): If GDB isn't connected, forward events back
9198         to the inferior, unless the last process exited, in which case,
9199         exit gdbserver.  Adjust interface.
9200
9201         * remote-utils.c (remote_open): Don't block in accept.  Instead
9202         register an event loop source on the listen socket file
9203         descriptor.  Refactor bits into ...
9204         (listen_desc): ... this new global.
9205         (gdb_connected): ... this new function.
9206         (enable_async_notification): ... this new function.
9207         (handle_accept_event): ... this new function.
9208         (remote_close): Clear remote_desc.
9209
9210         * inferiors.c (add_thread): Set the new thread's last_resume_kind.
9211
9212         * target.h (struct target_ops) <mourn, thread_stopped, pause_all>:
9213         New fields.
9214         (mourn_inferior): Define.
9215         (target_process_qsupported): Avoid the dangling else problem.
9216         (thread_stopped): Define.
9217         (pause_all): Define.
9218         (target_waitstatus_to_string): Declare.
9219         * target.c (target_waitstatus_to_string): New.
9220
9221         * tracepoint.c (tracing): Make extern.
9222         (disconnected_tracing): New.
9223         (stop_tracing): Make extern.  Handle tracing stops due to GDB
9224         disconnecting.
9225         (cmd_qtdisconnected): New.
9226         (cmd_qtstatus): Report disconnected tracing status in trace reply.
9227         (handle_tracepoint_general_set): Handle QTDisconnected.
9228
9229         * event-loop.c (event_handler_func): Change return type to int.
9230         (process_event): Bail out if the event handler wants the event
9231         loop to stop.
9232         (handle_file_event): Ditto.
9233         (start_event_loop): Bail out if the event handler wants the event
9234         loop to stop.
9235
9236         * nto-low.c (nto_target_ops): Adjust.
9237         * spu-low.c (spu_wait): Don't remove the process here.
9238         (spu_target_ops): Adjust.
9239         * win32-low.c (win32_wait): Don't remove the process here.
9240         (win32_target_ops): Adjust.
9241
9242 2010-04-11  Pedro Alves  <pedro@codesourcery.com>
9243
9244         * regcache.c (realloc_register_cache): Invalidate inferior's
9245         regcache before recreating it.
9246
9247 2010-04-09  Pedro Alves  <pedro@codesourcery.com>
9248
9249         * tracepoint.c (cmd_qtstatus): Report trace buffer circularity.
9250
9251 2010-04-09  Stan Shebs  <stan@codesourcery.com>
9252             Pedro Alves  <pedro@codesourcery.com>
9253
9254         * server.h (LONGEST): New.
9255         (struct thread_info) <while_stepping>: New field.
9256         (unpack_varlen_hex, xrealloc, pulongest, plongest, phex_nz):
9257         Declare.
9258         (initialize_tracepoint, handle_tracepoint_general_set)
9259         (handle_tracepoint_query, tracepoint_finished_step)
9260         (tracepoint_was_hit, release_while_stepping_state_list):
9261         (current_traceframe): Declare.
9262         * server.c (handle_general_set): Handle tracepoint packets.
9263         (read_memory): New.
9264         (write_memory): New.
9265         (handle_search_memory_1): Use read_memory.
9266         (handle_query): Report support for conditional tracepoints, trace
9267         state variables, and tracepoint sources.  Handle tracepoint
9268         queries.
9269         (main): Initialize the tracepoints module.
9270         (process_serial_event): Handle traceframe reads/writes.
9271
9272         * linux-low.c (handle_tracepoints): New.
9273         (linux_wait_1): Call it.
9274         (linux_resume_one_lwp): Handle while-stepping.
9275         (linux_supports_tracepoints, linux_read_pc, linux_write_pc): New.
9276         (linux_target_ops): Install them.
9277         * linux-low.h (struct linux_target_ops) <supports_tracepoints>:
9278         New field.
9279         * linux-x86-low.c (x86_supports_tracepoints): New.
9280         (the_low_target). Install it.
9281
9282         * mem-break.h (delete_breakpoint): Declare.
9283         * mem-break.c (delete_breakpoint): Make external.
9284
9285         * target.h (struct target_ops): Add `supports_tracepoints',
9286         `read_pc', and `write_pc' fields.
9287         (target_supports_tracepoints): Define.
9288         * utils.c (xrealloc, decimal2str, pulongest, plongest, thirty_two)
9289         (phex_nz): New.
9290
9291         * regcache.h (struct regcache) <registers_owned>: New field.
9292         (init_register_cache, regcache_cpy): Declare.
9293         (regcache_read_pc, regcache_write_pc): Declare.
9294         (register_cache_size): Declare.
9295         (supply_regblock): Declare.
9296         * regcache.c (init_register_cache): New.
9297         (new_register_cache): Use it.
9298         (regcache_cpy): New.
9299         (register_cache_size): New.
9300         (supply_regblock): New.
9301         (regcache_read_pc, regcache_write_pc): New.
9302
9303         * tracepoint.c: New.
9304
9305         * Makefile.in (OBS): Add tracepoint.o.
9306         (tracepoint.o): New rule.
9307
9308 2010-04-08  H.J. Lu  <hongjiu.lu@intel.com>
9309
9310         * Makefile.in (clean): Also remove i386-mmx.c i386-mmx-linux.c.
9311         (i386-mmx.o): New.
9312         (i386-mmx.c): Likewise.
9313         (i386-mmx-linux.o): Likewise.
9314         (i386-mmx-linux.c): Likewise.
9315
9316         * configure.srv (srv_i386_regobj): Add i386-mmx.o.
9317         (srv_i386_linux_regobj): Add i386-mmx-linux.o.
9318         (srv_i386_xmlfiles): Add i386/i386-mmx.xml.
9319         (srv_i386_linux_xmlfiles): Add i386/i386-mmx-linux.xml.
9320
9321         * linux-x86-low.c (init_registers_i386_mmx_linux): New.
9322         (x86_linux_update_xmltarget): Call init_registers_i386_mmx_linux
9323         and return if ptrace PTRACE_GETFPXREGS failed in 32bit.
9324
9325 2010-04-07  H.J. Lu  <hongjiu.lu@intel.com>
9326
9327         * Makefile.in (clean): Updated.
9328         (i386-avx.o): New.
9329         (i386-avx.c): Likewise.
9330         (i386-avx-linux.o): Likewise.
9331         (i386-avx-linux.c): Likewise.
9332         (amd64-avx.o): Likewise.
9333         (amd64-avx.c): Likewise.
9334         (amd64-avx-linux.o): Likewise.
9335         (amd64-avx-linux.c): Likewise.
9336
9337         * configure.srv (srv_i386_regobj): Add i386-avx.o.
9338         (srv_i386_linux_regobj): Add i386-avx-linux.o.
9339         (srv_amd64_regobj): Add amd64-avx.o.
9340         (srv_amd64_linux_regobj): Add amd64-avx-linux.o.
9341         (srv_i386_32bit_xmlfiles): Add i386/32bit-avx.xml.
9342         (srv_i386_64bit_xmlfiles): Add i386/64bit-avx.xml.
9343         (srv_i386_xmlfiles): Add i386/i386-avx.xml.
9344         (srv_amd64_xmlfiles): Add i386/amd64-avx.xml.
9345         (srv_i386_linux_xmlfiles): Add i386/i386-avx-linux.xml.
9346         (srv_amd64_linux_xmlfiles): Add i386/amd64-avx-linux.xml.
9347
9348         * i387-fp.c: Include "i386-xstate.h".
9349         (i387_xsave): New.
9350         (i387_cache_to_xsave): Likewise.
9351         (i387_xsave_to_cache): Likewise.
9352         (x86_xcr0): Likewise.
9353
9354         * i387-fp.h (i387_cache_to_xsave): Likewise.
9355         (i387_xsave_to_cache): Likewise.
9356         (x86_xcr0): Likewise.
9357
9358         * linux-arm-low.c (target_regsets): Initialize nt_type to 0.
9359         * linux-crisv32-low.c (target_regsets): Likewise.
9360         * linux-m68k-low.c (target_regsets): Likewise.
9361         * linux-mips-low.c (target_regsets): Likewise.
9362         * linux-ppc-low.c (target_regsets): Likewise.
9363         * linux-s390-low.c (target_regsets): Likewise.
9364         * linux-sh-low.c (target_regsets): Likewise.
9365         * linux-sparc-low.c (target_regsets): Likewise.
9366         * linux-xtensa-low.c (target_regsets): Likewise.
9367
9368         * linux-low.c: Include <sys/uio.h>.
9369         (regsets_fetch_inferior_registers): Support nt_type.
9370         (regsets_store_inferior_registers): Likewise.
9371         (linux_process_qsupported): New.
9372         (linux_target_ops): Add linux_process_qsupported.
9373
9374         * linux-low.h (regset_info): Add nt_type.
9375         (linux_target_ops): Add process_qsupported.
9376
9377         * linux-x86-low.c: Include "i386-xstate.h", "elf/common.h"
9378         and <sys/uio.h>.
9379         (init_registers_i386_avx_linux): New.
9380         (init_registers_amd64_avx_linux): Likewise.
9381         (xmltarget_i386_linux_no_xml): Likewise.
9382         (xmltarget_amd64_linux_no_xml): Likewise.
9383         (PTRACE_GETREGSET): Likewise.
9384         (PTRACE_SETREGSET): Likewise.
9385         (x86_fill_xstateregset): Likewise.
9386         (x86_store_xstateregset): Likewise.
9387         (use_xml): Likewise.
9388         (x86_linux_update_xmltarget): Likewise.
9389         (x86_linux_process_qsupported): Likewise.
9390         (target_regsets): Add NT_X86_XSTATE entry and Initialize nt_type.
9391         (x86_arch_setup): Don't call init_registers_amd64_linux nor
9392         init_registers_i386_linux here.  Call
9393         x86_linux_update_xmltarget.
9394         (the_low_target): Add x86_linux_process_qsupported.
9395
9396         * server.c (handle_query): Call target_process_qsupported.
9397
9398         * target.h (target_ops): Add process_qsupported.
9399         (target_process_qsupported): New.
9400
9401 2010-04-03  Pedro Alves  <pedro@codesourcery.com>
9402
9403         * inferiors.c (add_thread): Set last_status kind to
9404         TARGET_WAITKIND_IGNORE.
9405         * linux-low.c (cancel_breakpoint): Remove unnecessary regcache
9406         fetch.  Use ptid_of.  Avoid unnecessary get_lwp_thread calls.
9407         (linux_wait_1): Move `thread' local definition to block that uses
9408         it.  Don't NULL initialize `event_child'.
9409         (linux_resume_one_thread): Avoid unnecessary get_lwp_thread calls.
9410         Alway set the thread's last_status to TARGET_WAITKIND_IGNORE.
9411         * linux-x86-low.c (x86_breakpoint_at): Read raw memory.
9412
9413 2010-04-01  Pedro Alves  <pedro@codesourcery.com>
9414
9415         * linux-low.c (get_stop_pc): Don't adjust the PC if stopped with
9416         an extended waitstatus, or by a watchpoint.
9417         (cancel_breakpoints_callback): Don't cancel a breakpoint if the
9418         thread was stepping or has been stopped by a watchpoint.
9419
9420 2010-04-01  Pedro Alves  <pedro@codesourcery.com>
9421
9422         * mem-break.c (struct raw_breakpoint): New field shlib_disabled.
9423         (set_gdb_breakpoint_at): If GDB is inserting a breakpoint on top
9424         of another, then delete the previous, and validate all
9425         breakpoints.
9426         (validate_inserted_breakpoint): New.
9427         (delete_disabled_breakpoints): New.
9428         (validate_breakpoints): New.
9429         (check_mem_read): Validate breakpoints before trusting their
9430         shadow.  Delete disabled breakpoints.
9431         (check_mem_write): Validate breakpoints before trusting they
9432         should be inserted.  Delete disabled breakpoints.
9433         * mem-break.h (validate_breakpoints):
9434         * server.c (handle_query): Validate breakpoints when we see a
9435         qSymbol query.
9436
9437 2010-04-01  Pedro Alves  <pedro@codesourcery.com>
9438
9439         * linux-low.c (linux_wait_1): Avoid setting need_step_over is
9440         there's a GDB breakpoint at stop_pc.  Always report a trap to GDB
9441         if we could tell there's a GDB breakpoint at stop_pc.
9442         (need_step_over_p): Don't do a step over if we find a GDB
9443         breakpoint at the resume PC.
9444
9445         * mem-break.c (struct raw_breakpoint): New.
9446         (enum bkpt_type): New type `gdb_breakpoint'.
9447         (struct breakpoint): Delete the `PC', `old_data' and `inserted'
9448         fields.  New field `raw'.
9449         (find_raw_breakpoint_at): New.
9450         (set_raw_breakpoint_at): Handle refcounting.  Create a raw
9451         breakpoint instead.
9452         (set_breakpoint_at): Adjust.
9453         (delete_raw_breakpoint): New.
9454         (release_breakpoint): New.
9455         (delete_breakpoint): Rename to...
9456         (delete_breakpoint_1): ... this.  Add proc parameter.  Use
9457         release_breakpoint.  Return ENOENT.
9458         (delete_breakpoint): Reimplement.
9459         (find_breakpoint_at): Delete.
9460         (find_gdb_breakpoint_at): New.
9461         (delete_breakpoint_at): Delete.
9462         (set_gdb_breakpoint_at): New.
9463         (delete_gdb_breakpoint_at): New.
9464         (gdb_breakpoint_here): New.
9465         (set_reinsert_breakpoint): Use release_breakpoint.
9466         (uninsert_breakpoint): Rename to ...
9467         (uninsert_raw_breakpoint): ... this.
9468         (uninsert_breakpoints_at): Adjust to handle raw breakpoints.
9469         (reinsert_raw_breakpoint): Change parameter type to
9470         raw_breakpoint.
9471         (reinsert_breakpoints_at): Adjust to handle raw breakpoints
9472         instead.
9473         (check_breakpoints): Adjust.  Use release_breakpoint.
9474         (breakpoint_here): Rewrite using find_raw_breakpoint_at.
9475         (breakpoint_inserted_here): Ditto.
9476         (check_mem_read): Adjust to iterate over raw breakpoints instead.
9477         Don't trust the breakpoint's shadow if it is not inserted.
9478         (check_mem_write): Adjust to iterate over raw breakpoints instead.
9479         (delete_all_breakpoints): Adjust.
9480         (free_all_breakpoints): Mark all breakpoints as uninserted, and
9481         use delete_breakpoint_1.
9482
9483         * mem-break.h (breakpoints_supported): Delete declaration.
9484         (set_gdb_breakpoint_at): Declare.
9485         (gdb_breakpoint_here): Declare.
9486         (delete_breakpoint_at): Delete.
9487         (delete_gdb_breakpoint_at): Declare.
9488
9489         * server.h (struct raw_breakpoint): Forward declare.
9490         (struct process_info): New field `raw_breakpoints'.
9491
9492         * linux-x86-low.c (x86_insert_point, x86_remote_point): Handle Z0
9493         breakpoints.
9494
9495 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
9496
9497         * linux-low.c (status_pending_p_callback): Fix comment.
9498         (linux_wait_for_event_1): Move most of the internal breakpoint
9499         handling from here...
9500         (linux_wait_1): ... to here.
9501         (count_events_callback): New.
9502         (select_singlestep_lwp_callback): New.
9503         (select_event_lwp_callback): New.
9504         (cancel_breakpoints_callback): New.
9505         (select_event_lwp): New.
9506         (linux_wait_1): Simplify internal breakpoint handling.  Give equal
9507         priority to all LWPs that have had events that should be reported
9508         to the client.  Cancel breakpoints when about to reporting the
9509         event to the client, not while stopping lwps.  No longer cancel
9510         finished single-steps here.
9511         (cancel_finished_single_step): Delete.
9512         (cancel_finished_single_steps): Delete.
9513
9514 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
9515
9516         * mem-break.c (enum bkpt_type): New.
9517         (struct breakpoint): New field `type'.
9518         (set_breakpoint_at): Change return type to struct breakpoint
9519         pointer.  Set type to `other_breakpoint' by default.
9520         (delete_breakpoint): Rewrite, supporting more than one breakpoint
9521         in the breakpoint list.
9522         (delete_reinsert_breakpoints): Only delete reinsert breakpoints.
9523         (reinsert_breakpoint): Rename to ...
9524         (reinsert_raw_breakpoint): ... this.
9525         (reinsert_breakpoints_at): Adjust.
9526         * mem-break.h (struct breakpoint): Declare.
9527         (set_breakpoint_at): Change return type to struct breakpoint
9528         pointer.
9529
9530 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
9531
9532         * server.c (handle_query): Assign, not compare.
9533
9534 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
9535
9536         Teach linux gdbserver to step-over-breakpoints.
9537
9538         * linux-low.c (can_hardware_single_step): New.
9539         (supports_breakpoints): New.
9540         (handle_extended_wait): If stopping threads, read the stop pc of
9541         the new cloned LWP.
9542         (get_pc): New.
9543         (get_stop_pc): Add `lwp' parameter.  Handle it.  Bail out if the
9544         low target doesn't support retrieving the PC.
9545         (add_lwp): Set last_resume_kind to resume_continue.
9546         (linux_attach_lwp_1): Adjust comments.  Always set stop_expected.
9547         (linux_attach): Don't clear stop_expected.  Set the lwp's
9548         last_resume_kind to resume_stop.
9549         (linux_detach_one_lwp): Don't check for removed breakpoints.
9550         (check_removed_breakpoint): Delete.
9551         (status_pending_p): Rename to ...
9552         (status_pending_p_callback): ... this.  Don't check for removed
9553         breakpoints.  Don't consider threads that are stopped from GDB's
9554         perspective.
9555         (linux_wait_for_lwp): Always read the stop_pc here.
9556         (cancel_breakpoint): New.
9557         (step_over_bkpt): New global.
9558         (linux_wait_for_event_1): Implement stepping over breakpoints.
9559         (gdb_wants_lwp_stopped): New.
9560         (gdb_wants_all_stopped): New.
9561         (linux_wait_1): Tag threads as gdb-wants-stopped.  Cancel finished
9562         single-step traps here.  Store the thread's last reported target
9563         wait status.
9564         (send_sigstop): Don't clear stop_expected.  Always set it,
9565         instead.
9566         (mark_lwp_dead): Remove reference to pending_is_breakpoint.
9567         (cancel_finished_single_step): New.
9568         (cancel_finished_single_steps): New.
9569         (wait_for_sigstop): Don't cancel finished single-step traps here.
9570         (linux_resume_one_lwp): Don't check for removed breakpoints.
9571         Don't set `step' on non-hardware step archs.
9572         (linux_set_resume_request): Ignore resume_stop requests if already
9573         stopping or stopped.  Set the lwp's last_resume_kind.
9574         (resume_status_pending_p): Don't check for removed breakpoints.
9575         (need_step_over_p): New.
9576         (start_step_over): New.
9577         (finish_step_over): New.
9578         (linux_resume_one_thread): Always queue a sigstop for resume_stop
9579         requests.  Clear the thread's last reported target waitstatus.
9580         Don't use the `suspended' flag.  Don't consider pending breakpoints.
9581         (linux_resume): Start a step-over if necessary.
9582         (proceed_one_lwp): New.
9583         (proceed_all_lwps): New.
9584         (unstop_all_lwps): New.
9585         * linux-low.h (struct lwp_info): Rewrite comment for the
9586         `suspended' flag.  Add the `stop_pc' field.  Delete the
9587         `pending_stop_pc' field.  Tweak the `stepping' flag's comment.
9588         Add `'last_resume_kind' and `need_step_over' fields.
9589         * inferiors.c (struct thread_info): Delete, moved elsewhere.
9590         * mem-break.c (struct breakpoint): Delete `reinserting' flag.
9591         Delete `breakpoint_to_reinsert' field.  New flag `inserted'.
9592         (set_raw_breakpoint_at): New.
9593         (set_breakpoint_at): Rewrite to use it.
9594         (reinsert_breakpoint_handler): Delete.
9595         (set_reinsert_breakpoint): New.
9596         (reinsert_breakpoint_by_bp): Delete.
9597         (delete_reinsert_breakpoints): New.
9598         (uninsert_breakpoint): Rewrite.
9599         (uninsert_breakpoints_at): New.
9600         (reinsert_breakpoint): Rewrite.
9601         (reinsert_breakpoints_at): New.
9602         (check_breakpoints): Rewrite.
9603         (breakpoint_here): New.
9604         (breakpoint_inserted_here): New.
9605         (check_mem_read): Adjust.
9606         * mem-break.h (breakpoints_supported, breakpoint_here)
9607         (breakpoint_inserted_here, set_reinsert_breakpoint): Declare.
9608         (reinsert_breakpoint_by_bp): Delete declaration.
9609         (delete_reinsert_breakpoints): Declare.
9610         (reinsert_breakpoint): Delete declaration.
9611         (reinsert_breakpoints_at): Declare.
9612         (uninsert_breakpoint): Delete declaration.
9613         (uninsert_breakpoints_at): Declare.
9614         (check_breakpoints): Adjust prototype.
9615         * server.h: Adjust include order.
9616         (struct thread_info): Declare here.  Add a `last_status' field.
9617
9618 2010-03-23  Michael Snyder  <msnyder@vmware.com>
9619
9620         * server.c (crc32): New function.
9621         (handle_query): Add handling for 'qCRC:' request.
9622
9623 2010-03-23  Pedro Alves  <pedro@codesourcery.com>
9624
9625         * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR6 if the
9626         lwp had been stopped by a watchpoint.
9627
9628 2010-03-16  Pedro Alves  <pedro@codesourcery.com>
9629
9630         * server.h (internal_error): Declare.
9631         (gdb_assert, ASSERT_FUNCTION, gdb_assert_fail): Define.
9632         * utils.c (internal_error): New function.
9633
9634 2010-03-15  Andreas Schwab  <schwab@redhat.com>
9635
9636         * configure.srv: Fix typo setting srv_regobj.
9637
9638 2010-03-15  Pedro Alves  <pedro@codesourcery.com>
9639
9640         * linux-low.c (fetch_register): Avoid passing a non string literal
9641         format to `error'.
9642         (usr_store_inferior_registers): Ditto.
9643
9644 2010-03-14  Pedro Alves  <pedro@codesourcery.com>
9645
9646         * linux-low.c (linux_write_memory): Bail out early if peeking
9647         memory failed.
9648
9649 2010-03-14  Pedro Alves  <pedro@codesourcery.com>
9650
9651         * linux-low.h (struct lwp_info): New fields
9652         `stopped_by_watchpoint' and `stopped_data_address'.
9653         * linux-low.c (linux_wait_for_lwp): Check for watchpoint triggers
9654         here, and cache them in the lwp object.
9655         (wait_for_sigstop): Check stopped_by_watchpoint lwp field
9656         directly.
9657         (linux_resume_one_lwp): Clear the lwp's stopped_by_watchpoint
9658         field.
9659         (linux_stopped_by_watchpoint): Rewrite.
9660         (linux_stopped_data_address): Rewrite.
9661
9662 2010-03-06  Simo Melenius  <simo.melenius@iki.fi>
9663
9664         * linux-low.c (linux_wait_for_lwp): Fetch the regcache after
9665         switching the current inferior, not before.
9666
9667 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
9668
9669         * Makefile.in (clean): Replace reg-i386.c, reg-x86-64.c,
9670         reg-i386-linux.c and reg-x86-64-linux.c with i386.c, amd64.c,
9671         i386-linux.c and amd64-linux.c.
9672         (reg-i386.o): Removed.
9673         (reg-i386.c): Likewise.
9674         (reg-i386-linux.o): Likewise.
9675         (reg-i386-linux.c): Likewise.
9676         (reg-x86-64.o): Likewise.
9677         (reg-x86-64.c): Likewise.
9678         (reg-x86-64-linux.o): Likewise.
9679         (reg-x86-64-linux.c): Likewise.
9680         (i386.o): New.
9681         (i386.c): Likewise.
9682         (i386-linux.o): Likewise.
9683         (i386-linux.c): Likewise.
9684         (amd64.o): Likewise.
9685         (amd64.c): Likewise.
9686         (amd64-linux.o): Likewise.
9687         (amd64-linux.c): Likewise.
9688
9689         * configure.srv (srv_i386_regobj): New.
9690         (srv_i386_linux_regobj): Likewise.
9691         (srv_amd64_regobj): Likewise.
9692         (srv_amd64_linux_regobj): Likewise.
9693         (srv_i386_32bit_xmlfiles): Likewise.
9694         (srv_i386_64bit_xmlfiles): Likewise.
9695         (srv_i386_xmlfiles): Likewise.
9696         (srv_amd64_xmlfiles): Likewise.
9697         (srv_i386_linux_xmlfiles): Likewise.
9698         (srv_amd64_linux_xmlfiles): Likewise.
9699         (i[34567]86-*-cygwin*): Set srv_regobj to $srv_i386_regobj.  Set
9700         srv_xmlfiles to $srv_i386_xmlfiles.
9701         (i[34567]86-*-mingw32ce*): Likewise.
9702         (i[34567]86-*-mingw*): Likewise.
9703         (i[34567]86-*-nto*): Likewise.
9704         (i[34567]86-*-linux*): Set srv_regobj to $srv_i386_linux_regobj
9705         and $srv_amd64_linux_regobj.  Set srv_xmlfiles to
9706         $srv_i386_linux_xmlfiles and $srv_amd64_linux_xmlfiles.
9707         (x86_64-*-linux*): Likewise.
9708
9709         * linux-x86-low.c (init_registers_x86_64_linux): Removed.
9710         (init_registers_amd64_linux): New.
9711         (x86_arch_setup): Replace init_registers_x86_64_linux with
9712         init_registers_amd64_linux.
9713
9714 2010-02-23  Maxim Kuvyrkov  <maxim@codesourcery.com>
9715
9716         * configure.ac: Check for libdl.  If it is not available link against
9717         static libthread_db.
9718         * configure: Regenerate.
9719
9720 2010-02-22  Pedro Alves  <pedro@codesourcery.com>
9721
9722         PR9605
9723
9724         * i386-low.c (i386_length_and_rw_bits): Throw a fatal error if
9725         handing a read watchpoint.
9726         (i386_low_insert_watchpoint): Read watchpoints aren't supported.
9727
9728 2010-02-12  Doug Evans  <dje@google.com>
9729
9730         * linux-low.c (linux_supports_tracefork_flag): Document.
9731         (linux_look_up_symbols): Add comment.
9732
9733 2010-02-03  H.J. Lu  <hongjiu.lu@intel.com>
9734
9735         * regcache.c (supply_register): Clear regcache if buf is NULL.
9736
9737 2010-02-02  Nicolas Roche  <roche@sourceware.org>
9738             Joel Brobecker  <brobecker@adacore.com>
9739
9740         * inferiors.c (find_inferior): Add function documentation.
9741         (unloaded_dll): Handle the case where the unloaded dll has not
9742         been previously registered in the dll list.
9743
9744 2010-02-01  Daniel Jacobowitz  <dan@codesourcery.com>
9745
9746         * linux-arm-low.c (thumb_breakpoint_len): Delete.
9747         (thumb2_breakpoint): New.
9748         (arm_breakpoint_at): Check for Thumb-2 breakpoints.
9749
9750 2010-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
9751
9752         * linux-low.c (get_stop_pc): Check for SIGTRAP.
9753         (linux_wait_for_event_1): Handle SIGILL and SIGSEGV as possible
9754         breakpoints.
9755
9756 2010-01-21  Pedro Alves  <pedro@codesourcery.com>
9757
9758         * linux-ppc-low.c (ppc_arch_setup): Adjust to regcache changes.
9759
9760 2010-01-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
9761
9762         * linux-s390-low.c (s390_collect_ptrace_register)
9763         (s390_supply_ptrace_register): Adjust it for the new regcache parameter.
9764
9765 2010-01-21  Doug Evans  <dje@google.com>
9766
9767         * linux-low.c (PTRACE_ARG3_TYPE): Change from long to void*.
9768         (PTRACE_ARG4_TYPE): New macro.
9769         (handle_extended_wait): Cast ptrace arg4 to PTRACE_ARG4_TYPE.
9770         (linux_wait_for_event_1, linux_resume_one_lwp): Ditto.
9771         (fetch_register): Cast to uintptr_t before casting to PTRACE_ARG3_TYPE.
9772         (usr_store_inferior_registers): Ditto.
9773         (linux_read_memory, linux_write_memory): Ditto.
9774         (linux_test_for_tracefork): Ditto.
9775
9776         * linux-arm-low.c: Remove redundant include of gdb_proc_service.h.
9777         Only include elf.h if gdb_proc_service.h didn't include linux/elf.h.
9778
9779 2010-01-21  Pedro Alves  <pedro@codesourcery.com>
9780
9781         * proc-service.c (ps_lgetregs): Don't refetch registers from the
9782         target.
9783
9784 2010-01-21  Pedro Alves  <pedro@codesourcery.com>
9785
9786         * spu-low.c (spu_fetch_registers, spu_store_registers): Change
9787         prototype to take a regcache.  Adjust.
9788
9789 2010-01-20  Pedro Alves  <pedro@codesourcery.com>
9790
9791         * regcache.h (struct thread_info): Forward declare.
9792         (struct regcache): New.
9793         (new_register_cache): Adjust prototype.
9794         (get_thread_regcache): Declare.
9795         (free_register_cache): Adjust prototype.
9796         (registers_to_string, registers_from_string): Ditto.
9797         (supply_register, supply_register_by_name, collect_register)
9798         (collect_register_as_string, collect_register_by_name): Ditto.
9799         * regcache.c (struct inferior_regcache_data): Delete.
9800         (get_regcache): Rename to ...
9801         (get_thread_regcache): ... this.  Adjust.  Switch inferior before
9802         fetching registers.
9803         (regcache_invalidate_one): Adjust.
9804         (regcache_invalidate): Fix prototype.
9805         (new_register_cache): Return the new register cache.
9806         (free_register_cache): Change prototype.
9807         (realloc_register_cache): Adjust.
9808         (registers_to_string): Change prototype to take a regcache.  Adjust.
9809         (registers_from_string): Ditto.
9810         (register_data): Ditto.
9811         (supply_register): Ditto.
9812         (supply_register_by_name): Ditto.
9813         (collect_register): Ditto.
9814         (collect_register_as_string): Ditto.
9815         (collect_register_by_name): Ditto.
9816         * server.c (process_serial_event): Adjust.
9817         * linux-low.h (regset_fill_func, regset_store_func): Change
9818         prototype.
9819         (get_pc, set_pc, collect_ptrace_register, supply_ptrace_register):
9820         Change prototype.
9821         * linux-low.c (get_stop_pc): Adjust.
9822         (check_removed_breakpoint): Adjust.
9823         (linux_wait_for_event): Adjust.
9824         (linux_resume_one_lwp): Adjust.
9825         (fetch_register): Add regcache parameter.  Adjust.
9826         (usr_store_inferior_registers): Ditto.
9827         (regsets_fetch_inferior_registers): Ditto.
9828         (regsets_store_inferior_registers): Ditto.
9829         (linux_fetch_registers, linux_store_registers): Ditto.
9830         * i387-fp.c (i387_cache_to_fsave): Change prototype to take a
9831         regcache.  Adjust.
9832         (i387_fsave_to_cache, i387_cache_to_fxsave, i387_fxsave_to_cache):
9833         Ditto.
9834         * i387-fp.h (i387_cache_to_fsave, i387_fsave_to_cache): Change
9835         prototype to take a regcache.
9836         (i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto.
9837         * remote-utils.c (convert_ascii_to_int, outreg)
9838         (prepare_resume_reply): Change prototype to take a regcache.
9839         Adjust.
9840         * target.h (struct target_ops) <fetch_registers, store_registers>:
9841         Change prototype to take a regcache.
9842         (fetch_inferior_registers, store_inferior_registers): Change
9843         prototype to take a regcache.  Adjust.
9844         * proc-service.c (ps_lgetregs): Adjust.
9845         * linux-x86-low.c (x86_fill_gregset, x86_store_gregset)
9846         (x86_fill_fpregset, x86_store_fpregset, x86_fill_fpxregset)
9847         (x86_store_fpxregset, x86_get_pc, x86_set_pc): Change prototype to
9848         take a regcache.  Adjust.
9849         * linux-arm-low.c (arm_fill_gregset, arm_store_gregset)
9850         (arm_fill_wmmxregset, arm_store_wmmxregset, arm_fill_vfpregset)
9851         (arm_store_vfpregset, arm_get_pc, arm_set_pc):
9852         (arm_breakpoint_at): Change prototype to take a regcache.  Adjust.
9853         * linux-cris-low.c (cris_get_pc, cris_set_pc)
9854         (cris_cannot_fetch_register):
9855         (cris_breakpoint_at): Change prototype to take a regcache.
9856         Adjust.
9857         * linux-crisv32-low.c (cris_get_pc, cris_set_pc,
9858         cris_reinsert_addr, cris_write_data_breakpoint): Change prototype
9859         to take a regcache.  Adjust.
9860         (cris_breakpoint_at, cris_insert_point, cris_remove_point):
9861         Adjust.
9862         * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Change prototype to
9863         take a regcache.  Adjust.
9864         * linux-m68k-low.c (m68k_fill_gregset, m68k_store_gregset)
9865         (m68k_fill_fpregset, m68k_store_fpregset, m68k_get_pc,
9866         (m68k_set_pc): Change prototype to take a regcache.  Adjust.
9867         * linux-mips-low.c (mips_get_pc):
9868         (mips_set_pc): Change prototype to take a regcache.  Adjust.
9869         (mips_reinsert_addr): Adjust.
9870         (mips_collect_register): Change prototype to take a regcache.
9871         Adjust.
9872         (mips_supply_register):
9873         (mips_collect_register_32bit, mips_supply_register_32bit)
9874         (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
9875         (mips_store_fpregset): Ditto.
9876         * linux-ppc-low.c (ppc_supply_ptrace_register)
9877         (ppc_supply_ptrace_register): Ditto.
9878         (parse_spufs_run): Adjust.
9879         (ppc_get_pc, ppc_set_pc, ppc_fill_gregset, ppc_fill_vsxregset)
9880         (ppc_store_vsxregset, ppc_fill_vrregset, ppc_store_vrregset)
9881         (ppc_fill_evrregset, ppc_store_evrregset): Change prototype to
9882         take a regcache.  Adjust.
9883         * linux-s390-low.c (s390_collect_ptrace_register)
9884         (s390_supply_ptrace_register, s390_fill_gregset, s390_get_pc)
9885         (s390_set_pc): Change prototype to take a regcache.  Adjust.
9886         (s390_arch_setup): Adjust.
9887         * linux-sh-low.c (sh_get_pc, sh_breakpoint_at)
9888         (sh_fill_gregset): Change prototype to take a regcache.  Adjust.
9889         * linux-sparc-low.c (sparc_fill_gregset_to_stack)
9890         (sparc_fill_gregset, sparc_store_gregset_from_stack)
9891         (sparc_store_gregset, sparc_get_pc): Change prototype to take a
9892         regcache.  Adjust.
9893         (sparc_breakpoint_at): Adjust.
9894         * linux-xtensa-low.c (xtensa_fill_gregset):
9895         (xtensa_store_gregset):
9896         (xtensa_fill_xtregset, xtensa_store_xtregset, xtensa_get_pc)
9897         (xtensa_set_pc): Change prototype to take a regcache.  Adjust.
9898         * nto-low.c (nto_fetch_registers, nto_store_registers): Change
9899         prototype to take a regcache.  Adjust.
9900         * win32-arm-low.c (arm_fetch_inferior_register)
9901         (arm_store_inferior_register): Change prototype to take a
9902         regcache.  Adjust.
9903         * win32-i386-low.c (i386_fetch_inferior_register)
9904         (i386_store_inferior_register): Change prototype to take a
9905         regcache.  Adjust.
9906         * win32-low.c (child_fetch_inferior_registers)
9907         (child_store_inferior_registers): Change prototype to take a
9908         regcache.  Adjust.
9909         (win32_wait): Adjust.
9910         (win32_fetch_inferior_registers): Change prototype to take a
9911         regcache.  Adjust.
9912         (win32_store_inferior_registers): Adjust.
9913         * win32-low.h (struct win32_target_ops) <fetch_inferior_register,
9914         store_inferior_register>: Change prototype to take a regcache.
9915
9916 2010-01-20  Doug Evans  <dje@google.com>
9917
9918         * linux-low.c (linux_create_inferior): Wrap use of __SIGRTMIN in
9919         #ifdef.
9920         (linux_wait_for_event1, linux_init_signals): Ditto.
9921         (W_STOPCODE): Provide definition if missing.
9922
9923 2010-01-13  Vladimir Prus  <vladimir@codesourcery.com>
9924
9925         * linux-low.c (linux_core_of_thread): New.
9926         (compare_ints, show_process, list_threads): New.
9927         (linux_qxfer_osdata): Report threads and cores.
9928         (linux_target_op): Register linux_core_of_thread.
9929         * remote-utils.c (prepare_resume_reply): Report the core.
9930         (buffer_xml_printf): Support %d specifier.
9931         * server.c (handle_threads_qxfer_proper, handle_threads_qxfer):
9932         New.
9933         (handle_query): Handle qXfer:threads.  Announce availability
9934         thereof.
9935         * target.h (struct target_ops): New field core_of_thread.
9936
9937 2010-01-04  Ulrich Weigand  <uweigand@de.ibm.com>
9938
9939         * Makefile.in (clean): Remove new generated files.
9940         (reg-s390.o, reg-s390.c): Remove rules.
9941         (reg-s390x.o, reg-s390x.c): Likewise.
9942         (s390-linux32.o, s390-linux32.c): Add rules.
9943         (s390-linux64.o, s390-linux64.c): Likewise.
9944         (s390x-linux64.o, s390x-linux64.c): Likewise.
9945         * configure.srv (s390*-*-linux*): Update srv_regobj and srv_xmlfiles.
9946         * linux-s390-low.c: Include <elf.h>.
9947         (HWCAP_S390_HIGH_GPRS): Define if undefined.
9948         (init_registers_s390): Remove prototype.
9949         (init_registers_s390x): Likewise.
9950         (init_registers_s390_linux32): Add prototype.
9951         (init_registers_s390_linux64): Likewise.
9952         (init_registers_s390x_linux64): Likewise.
9953         (s390_num_regs_3264): New define.
9954         (s390_regmap_3264): New global variable.
9955         (s390_cannot_fetch_register): Remove obsolete check.
9956         (s390_cannot_store_register): Likewise.
9957         (s390_collect_ptrace_register): Handle upper/lower register halves.
9958         (s390_supply_ptrace_register): Likewise.
9959         (s390_fill_gregset): Update to register number changes.
9960         (s390_get_hwcap): New routine.
9961         (s390_arch_setup): Detect 32-bit process running on 64-bit system.
9962         Install appropriate regmap and register set.
9963
9964 2010-01-01  Joel Brobecker  <brobecker@adacore.com>
9965
9966         * server.c (gdbserver_version): Update copyright year to 2010.
9967         * gdbreplay.c (gdbreplay_version): Likewise.
9968
9969 2009-12-28  Doug Evans  <dje@google.com>
9970
9971         * linux-low.c: Delete inclusion of ansidecl.h, elf/common.h,
9972         elf/external.h.  Include <elf.h> instead but only if necessary.
9973
9974 2009-12-28  Pedro Alves  <pedro@codesourcery.com>
9975
9976         * linux-low.c (linux_remove_process): Remove `detaching'
9977         parameter.  Don't release/detach from thread_db here.
9978         (linux_kill): Release/detach from thread_db here, ...
9979         (linux_detach): ... and here, before actually detaching.
9980         (linux_wait_1): ... and here, when a process exits.
9981         * thread-db.c (any_thread_of): New.
9982         (thread_db_free): Switch the current inferior to a thread of the
9983         passed in process.
9984
9985 2009-12-21  Doug Evans  <dje@google.com>
9986
9987         * linux-x86-low.c: Delete outdated comment about Elf32_Phdr.
9988
9989         * linux-low.c (kill_lwp): Use __NR_tkill instead of SYS_tkill.
9990         Move definition of tkill_failed to ifdef __NR_tkill to avoid gcc
9991         warning ifndef __NR_tkill.  Move setting of errno there too.
9992         Delete unnecessary resetting of errno after syscall.
9993         Minor comment changes to match gdb/linux-nat.c:kill_lwp.
9994
9995         * configure.ac: Check for dladdr.
9996         * config.in: Regenerate.
9997         * configure: Regenerate.
9998         * thread-db.c (dladdr_to_soname): Only define ifdef HAVE_DLADDR.
9999         (try_thread_db_load): Update.
10000
10001         * linux-low.c (my_waitpid): Delete unnecessary prototype.
10002
10003 2009-12-18  Doug Evans  <dje@google.com>
10004
10005         * event-loop.c: Include unistd.h if it exists.
10006
10007         * linux-low.c (my_waitpid): Move definition away from being in
10008         between linux_tracefork_child/linux_test_for_tracefork.
10009
10010         * gdb_proc_service.h (psaddr_t): Fix type.
10011         * thread-db.c (thread_db_info.td_thr_tls_get_addr_p): Fix
10012         signature to match glibc.
10013
10014 2009-12-16  Doug Evans  <dje@google.com>
10015
10016         * linux-low.c (linux_read_memory): Fix argument to read.
10017
10018 2009-11-26  Pedro Alves  <pedro@codesourcery.com>
10019
10020         * win32-low.c (get_child_debug_event): On EXIT_THREAD_DEBUG_EVENT
10021         events, don't leave current_inferior pointing at null.
10022
10023 2009-11-26  Pedro Alves  <pedro@codesourcery.com>
10024
10025         * win32-low.c (LOG): Delete.
10026         (OUTMSG): Output to stderr.
10027         (OUTMSG2): Conditionalize on `debug_threads' variable, instead of
10028         on compile time LOG macro.
10029         (win32_wait): Fix debug output.
10030
10031 2009-11-26  Pedro Alves  <pedro@codesourcery.com>
10032
10033         * win32-low.c (win32_add_one_solib): If the dll name is
10034         "ntdll.dll", prepend the system directory to the dll path.
10035
10036 2009-11-17  Daniel Jacobowitz  <dan@codesourcery.com>
10037
10038         * m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization.
10039
10040 2009-11-17  Nathan Sidwell  <nathan@codesourcery.com>
10041             Vladimir Prus  <vladimir@codesourcery.com>
10042
10043         * Makefile.in (reg-cf.o, reg-cf.c): New targets.
10044         * configure.ac: Check for __mcoldfire__ and set
10045         gdb_cv_m68k_is_coldfire.
10046         * configure.srv: Use gdb_cv_m68k_is_coldfire to select between
10047         reg-cf.o and reg-m68k.o.
10048         * configure: Regenerated.
10049
10050 2009-11-16  Pedro Alves  <pedro@codesourcery.com>
10051
10052         * linux-low.c (linux_remove_process): Add `detaching' parameter.
10053         Pass it to thread_db_free.
10054         (linux_kill, linux_detach, linux_wait_1): Adjust to pass the
10055         proper `detaching' argument to linux_remove_process.
10056         * linux-low.h (thread_db_free): Add `detaching' parameter.
10057         * thread-db.c (thread_db_init): Pass false as `detaching' argument
10058         to thread_db_free.
10059         (thread_db_free): Add `detaching' parameter.  Only
10060         call td_ta_clear_event if detaching from process.
10061
10062 2009-11-12  Maxim Kuvyrkov  <maxim@codesourcery.com>
10063
10064         * thread-db.c (thread_db_free): Fix typo.
10065
10066 2009-11-11  Paul Pluzhnikov  <ppluzhnikov@google.com>
10067
10068         PR gdb/10838
10069         * thread-db.c (thread_db_free): Call td_ta_clear_event.
10070
10071 2009-11-03  Nathan Sidwell  <nathan@codesourcery.com>
10072
10073         * configure.ac (i[34567]86-*): Check if we're targetting x86-64
10074         with an i686 compiler.
10075         * configure.srv (i[34567]86-*-linux*): Pull in x86-64 handling if
10076         needed.
10077         * configure: Rebuilt.
10078
10079 2009-10-29  Sandra Loosemore  <sandra@codesourcery.com>
10080
10081         PR gdb/10783
10082
10083         * server.c (handle_search_memory_1): Correct read_addr initialization
10084         in loop for searching subsequent chunks.
10085
10086 2009-10-29  Paul Pluzhnikov  <ppluzhnikov@google.com>
10087
10088         * configure.ac: New --with-libthread-db option.
10089         * thread-db.c: Allow direct dependence on libthread_db.
10090         (thread_db_free): Adjust.
10091         * config.in: Regenerate.
10092         * configure: Likewise.
10093
10094 2009-10-28  Paul Pluzhnikov  <ppluzhnikov@google.com>
10095
10096         PR gdb/10757
10097         * thread-db.c (attach_thread): New function.
10098         (maybe_attach_thread): Return success/failure.
10099         (find_new_threads_callback): Adjust.
10100         (thread_db_find_new_threads): Loop until no new threads.
10101
10102 2009-10-13  Pedro Alves  <pedro@codesourcery.com>
10103
10104         * proc-service.c (ps_lgetregs): Formatting.
10105
10106 2009-10-08  Paul Pluzhnikov  <ppluzhnikov@google.com>
10107
10108         * acinclude.m4: (SRV_CHECK_THREAD_DB, SRV_CHECK_TLS_GET_ADDR): Remove.
10109         * configure.ac: Adjust.
10110         * linux-low.h (struct process_info_private): Move members to struct
10111         thread_db.
10112         (thread_db_free, thread_db_handle_monitor_command): New prototype.
10113         * linux-low.c (linux_remove_process): Adjust.
10114         (linux_wait_for_event_1, linux_look_up_symbols): Likewise.
10115         * server.c (handle_query): Move code ...
10116         (handle_monitor_command): ... here. New function.
10117         * target.h (struct target_ops): New member.
10118         * thread-db.c (struct thread_db): New.
10119         (libthread_db_search_path): New variable.
10120         (thread_db_create_event, thread_db_enable_reporting)
10121         (find_one_thread, maybe_attach_thread, find_new_threads_callback)
10122         (thread_db_find_new_threads, (thread_db_get_tls_address): Adjust.
10123         (try_thread_db_load_1, dladdr_to_soname): New functions.
10124         (try_thread_db_load, thread_db_load_search): New functions.
10125         (thread_db_init): Search for libthread_db.
10126         (thread_db_free): New function.
10127         (thread_db_handle_monitor_command): Likewise.
10128         * config.in: Regenerate.
10129         * configure: Regenerate.
10130
10131 2009-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
10132
10133         * spu-low.c (spu_kill): Wait for inferior to terminate.
10134         Call clear_inferiors.
10135         (spu_detach): Call clear_inferiors.
10136
10137 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10138
10139         * aclocal.m4: Regenerate.
10140         * config.in: Likewise.
10141         * configure: Likewise.
10142
10143 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
10144
10145         * linux-ppc-low.c (INSTR_SC, NR_spu_run): Define.
10146         (parse_spufs_run): New function.
10147         (ppc_get_pc, ppc_set_pc): Detect and handle SPU PC.
10148         (ppc_breakpoint_at): Handle SPU breakpoints.
10149
10150 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
10151
10152         * linux-low.c: Include <sys/stat.h> and <sys/vfs.h>.
10153         (SPUFS_MAGIC): Define.
10154         (spu_enumerate_spu_ids): New function.
10155         (linux_qxfer_spu): New function.
10156         (linux_target_ops): Install linux_qxfer_spu.
10157
10158 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
10159
10160         * configure.srv (powerpc*-*-linux*): Add powerpc-cell32l.o
10161         and powerpc-cell64l.o to srv_regobj.  Add rs6000/powerpc-cell32l.xml
10162         and rs6000/powerpc-cell64l.xml to srv_xmlfiles.
10163         * Makefile.in (powerpc-cell32l.o, powerpc-cell32l.c): New rules.
10164         (powerpc-cell64l.o, powerpc-cell64l.c): Likewise.
10165         (clean): Handle powerpc-cell32l.c and powerpc-cell64l.c.
10166         * linux-ppc-low.c (PPC_FEATURE_CELL): Define.
10167         (init_registers_powerpc_cell32l): Add prototype.
10168         (init_registers_powerpc_cell64l): Likewise.
10169         (ppc_arch_setup): Detect Cell/B.E. architecture.
10170
10171 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10172
10173         * Makefile.in (datarootdir): New variable.
10174
10175 2009-07-28  Daniel Jacobowitz  <dan@codesourcery.com>
10176
10177         * linux-low.c (linux_write_memory): Update debugging output.
10178         * Makefile.in (clean): Add new descriptions.
10179         (arm-with-vfpv2.o, arm-with-vfpv2.c, arm-with-vfpv3.o)
10180         (arm-with-vfpv3.c, arm-with-neon.o, arm-with-neon.c): New rules.
10181         * configure.srv: Add new files for arm*-*-linux*.
10182         * linux-arm-low.c: Add new declarations.
10183         (PTRACE_GETVFPREGS, PTRACE_SETVFPREGS): Define if undefined.
10184         (arm_hwcap, HWCAP_VFP, HWCAP_IWMMXT, HWCAP_NEON, HWCAP_VFPv3)
10185         (HWCAP_VFPv3D16): New.
10186         (arm_fill_wmmxregset, arm_store_wmmxregset): Check HWCAP_IWMMXT
10187         instead of __IWMMXT__.
10188         (arm_fill_vfpregset, arm_store_vfpregset, arm_get_hwcap)
10189         (arm_arch_setup): New.
10190         (target_regsets): Remove #ifdef.  Add VFP regset.
10191         (the_low_target): Use arm_arch_setup.
10192
10193 2009-07-28  Daniel Jacobowitz  <dan@codesourcery.com>
10194
10195         * linux-low.c (linux_kill_one_lwp): Adjust kernel workaround to skip
10196         the main thread again.
10197
10198 2009-07-06  Aleksandar Ristovski  <aristovski@qnx.com>
10199
10200         Adding Neutrino gdbserver.
10201         * configure: Regenerated.
10202         * configure.ac: Add case for srv_qnx and set LIBS accordingly.
10203         * configure.srv (i[34567]86-*-nto*): New target.
10204         * nto-low.c, nto-low.h, nto-x86-low.c: New files.
10205         * remote-utils.c [__QNX__]: Include sys/iomgr.h
10206         (nto_comctrl) [__QNX__]: New function.
10207         (enable_async_io, disable_async_io) [__QNX__]: Call nto_comctrl.
10208
10209 2009-07-05  Danny Backx  <dannybackx@users.sourceforge.net>
10210
10211         * configure.srv (i[34567]86-*-mingw32ce*): Add i386-low.o to
10212         srv_tgtobj.
10213
10214 2009-07-04  Danny Backx  <dannybackx@users.sourceforge.net>
10215             Pedro Alves  <pedro@codesourcery.com>
10216
10217         * win32-i386-low.c (i386_get_thread_context): Handle systems that
10218         don't support CONTEXT_EXTENDED_REGISTERS.
10219         (i386_win32_breakpoint, i386_win32_breakpoint_len): New.
10220         (the_low_target): Install them.
10221         * win32-low.c (get_child_debug_event): Handle WaitForDebugEvent
10222         failing with ERROR_PIPE_NOT_CONNECTED.
10223
10224 2009-06-30  Doug Evans  <dje@google.com>
10225             Pierre Muller  <muller@ics.u-strasbg.fr>
10226
10227         Add h/w watchpoint support to x86-linux, win32-i386.
10228         * Makefile.in (SFILES): Add i386-low.c
10229         (i386_low_h): Define.
10230         (i386-low.o): Add dependencies.
10231         (linux-x86-low.o): Add i386-low.h dependency.
10232         (win32-i386-low.o): Ditto.
10233         * i386-low.c: New file.
10234         * i386-low.h: New file.
10235         * configure.srv (i[34567]86-*-cygwin*): Add i386-low.o to srv_tgtobj.
10236         (i[34567]86-*-linux*, i[34567]86-*-mingw*, x86_64-*-linux*): Ditto.
10237         * linux-low.c (linux_add_process): Initialize arch_private.
10238         (linux_remove_process): Free arch_private.
10239         (add_lwp): Initialize arch_private.
10240         (delete_lwp): Free arch_private.
10241         (linux_resume_one_lwp): Call the_low_target.prepare_to_resume if
10242         provided.
10243         * linux-low.h (process_info_private): New member arch_private.
10244         (lwp_info): New member arch_private.
10245         (linux_target_ops): New members new_process, new_thread,
10246         prepare_to_resume.
10247         (ptid_of): New macro.
10248         * linux-x86-low.c: Include stddef.h, i386-low.h.
10249         (arch_process_info): New struct.
10250         (arch_lwp_info): New struct.
10251         (x86_linux_dr_get, x86_linux_dr_set): New functions.
10252         (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
10253         (i386_dr_low_get_status): New function.
10254         (x86_insert_point, x86_remove_point): New functions.
10255         (x86_stopped_by_watchpoint): New function.
10256         (x86_stopped_data_address): New function.
10257         (x86_linux_new_process, x86_linux_new_thread): New functions.
10258         (x86_linux_prepare_to_resume): New function.
10259         (the_low_target): Add entries for insert_point, remove_point,
10260         stopped_by_watchpoint, stopped_data_address, new_process, new_thread,
10261         prepare_to_resume.
10262         * server.c (debug_hw_points): New global.
10263         (monitor_show_help): Document set debug-hw-points.
10264         (handle_query): Process "set debug-hw-points".
10265         * server.h (debug_hw_points): Declare.
10266         (paddress): Declare.
10267         * utils.c (NUMCELLS, CELLSIZE): New macros.
10268         (get_sell, xsnprintf, paddress): New functions.
10269         * win32-arm-low.c (the_low_target): Add entries for insert_point,
10270         remove_point, stopped_by_watchpoint, stopped_data_address.
10271         * win32-i386-low.c: Include i386-low.h.
10272         (debug_reg_state): Replaces dr.
10273         (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
10274         (i386_dr_low_get_status): New function.
10275         (i386_insert_point, i386_remove_point): New functions.
10276         (i386_stopped_by_watchpoint): New function.
10277         (i386_stopped_data_address): New function.
10278         (i386_initial_stuff): Update.
10279         (get_thread_context,set_thread_context,i386_thread_added): Update.
10280         (the_low_target): Add entries for insert_point,
10281         remove_point, stopped_by_watchpoint, stopped_data_address.
10282         * win32-low.c (win32_insert_watchpoint): New function.
10283         (win32_remove_watchpoint): New function.
10284         (win32_stopped_by_watchpoint): New function.
10285         (win32_stopped_data_address): New function.
10286         (win32_target_ops): Add entries for insert_watchpoint,
10287         remove_watchpoint, stopped_by_watchpoint, stopped_data_address.
10288         * win32-low.h (win32_target_ops): New members insert_point,
10289         remove_point, stopped_by_watchpoint, stopped_data_address.
10290
10291 2009-06-25  Pedro Alves  <pedro@codesourcery.com>
10292
10293         * server.c (process_serial_event): Re-return unsupported, not
10294         error, if the type isn't recognized.  Re-allow supporting only
10295         insert or remove packets.  Also call require_running for
10296         breakpoints.  Add missing break statement to default case.  Tidy.
10297         * target.h (struct target_ops): Rename insert_watchpoint to
10298         insert_point, and remove_watchpoint to remove_point.
10299
10300         * linux-low.h (struct linux_target_ops): Likewise.
10301         * linux-low.c (linux_insert_watchpoint): Rename to ...
10302         (linux_insert_point): ... this.  Adjust.
10303         (linux_remove_watchpoint): Rename to ...
10304         (linux_remove_point): ... this.  Adjust.
10305         (linux_target_ops): Adjust.
10306         * linux-crisv32-low.c (cris_insert_watchpoint): Rename to ...
10307         (cris_insert_point): ... this.
10308         (cris_remove_watchpoint): Rename to ...
10309         (cris_remove_point): ... this.
10310         (the_low_target): Adjust.
10311
10312 2009-06-24  Pierre Muller  <muller@ics.u-strasbg.fr>
10313
10314         * server.c (handle_v_kill): Pass signal_pid to
10315         kill_inferior if multi_process is zero.
10316
10317 2009-06-23  Aleksandar Ristovski  <aristovski@qnx.com>
10318
10319         * server.c (process_serial_event): Add support for Z0 and Z1 packet.
10320         * target.h (target_ops): Comment for *_watchpoint to make it clear
10321         the functions can get types '0' and '1'.
10322
10323 2009-06-22  Aleksandar Ristovski  <aristovski@qnx.com>
10324
10325         * linux-low.c (usr_fetch_inferior_registers): Remove check for regno 0.
10326         * proc-service.c (ps_lgetregs): Pass -1 to fetch all registers.
10327         * regcache.c (get_regcache): Likewise.
10328         * spu-low.c (spu_fetch_registers): Remove 0 to -1 conversion.
10329         * win32-low.c (child_fetch_inferior_registers): Remove check for
10330         regno 0.
10331
10332 2009-06-19  Aleksandar Ristovski  <aristovski@qnx.com>
10333             Pedro Alves <pedro@codesourcery.com>
10334
10335         * target.h (struct target_ops) <supports_multi_process>: New
10336         callback.
10337         (target_supports_multi_process): New.
10338         * server.c (handle_query): Even if GDB reports support, only
10339         enable multi-process if the target also supports it.  Report
10340         multi-process support only if the target backend supports it.
10341         * linux-low.c (linux_supports_multi_process): New function.
10342         (linux_target_ops): Install it as target_supports_multi_process
10343         callback.
10344
10345 2009-05-24  Doug Evans  <dje@google.com>
10346
10347         Global renaming of find_thread_pid to find_thread_ptid.
10348         * server.h (find_thread_ptid): Renamed from find_thread_pid.
10349         * inferiors.c (find_thread_ptid): Renamed from find_thread_pid.
10350         All callers updated.
10351
10352         * linux-low.c (handle_extended_wait): Use linux_resume_one_lwp
10353         to resume the newly created thread, don't call ptrace (PTRACE_CONT)
10354         directly.
10355
10356         * linux-low.c (get_stop_pc): Print pc if debug_threads.
10357         (check_removed_breakpoint, linux_wait_for_lwp): Ditto.
10358         (linux_resume_one_lwp): Ditto.
10359
10360 2009-05-23  Doug Evans  <dje@google.com>
10361
10362         * linux-low.c (linux_resume_one_lwp): Change type of first arg
10363         from struct inferior_list_entry * to struct lwp_info *.
10364         All callers updated.
10365
10366 2009-05-13  Doug Evans  <dje@google.com>
10367
10368         * linux-x86-low.c: Don't include assert.h.
10369         (x86_siginfo_fixup): Use fatal, not assert.
10370         (x86_arch_setup): Fix comment.
10371
10372 2009-05-12  Doug Evans  <dje@google.com>
10373
10374         Biarch support for i386/amd64 gdbserver.
10375         * Makefile.in (SFILES): Remove linux-i386-low.c, linux-x86-64-low.c.
10376         Add linux-x86-low.c.
10377         (linux-i386-low.o, linux-x86-64-low.o): Delete.
10378         (linux-x86-low.o): Add.
10379         * linux-x86-64-low.c: Delete.
10380         * linux-i386-low.c: Delete.
10381         * linux-x86-low.c: New file.
10382         * configure.srv (i?86-linux srv_tgtobj): Replace linux-i386-low.o with
10383         linux-x86-low.o.
10384         (x86_64-linux srv_tgtobj): Replace linux-x86-64-low.o with
10385         linux-x86-low.o.
10386         (x86_64-linux srv_regobj): Add reg-i386-linux.o.
10387         * linux-low.c: Include ansidecl.h, elf/common.h, elf/external.h.
10388         (linux_child_pid_to_exec_file): New function.
10389         (elf_64_header_p, elf_64_file_p): New functions.
10390         (siginfo_fixup): New function.
10391         (linux_xfer_siginfo): New local inf_siginfo.  Call siginfo_fixup to
10392         give target a chance to convert layout.
10393         * linux-low.h (linux_target_ops): New member siginfo_fixup.
10394         (linux_child_pid_to_exec_file, elf_64_file_p): Declare.
10395
10396 2009-05-07  Doug Evans  <dje@google.com>
10397
10398         * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak.
10399         (regsets_store_inferior_registers): Ditto.
10400
10401 2009-05-06  Pedro Alves  <pedro@codesourcery.com>
10402
10403         PR server/10048
10404
10405         * linux-low.c (must_set_ptrace_flags): Delete.
10406         (linux_create_inferior): Set `lwp->must_set_ptrace_flags' instead
10407         of the global.
10408         (linux_attach_lwp_1): Don't set PTRACE_SETOPTIONS here.  Set
10409         `lwp->must_set_ptrace_flags' instead.
10410         (linux_wait_for_event_1): Set ptrace options here.
10411         (linux_wait_1): ... not here.
10412
10413 2009-04-30  Doug Evans  <dje@google.com>
10414
10415         * inferiors.c (started_inferior_callback): New function.
10416         (attached_inferior_callback): New function.
10417         (have_started_inferiors_p, have_attached_inferiors_p): New functions.
10418         * server.c (print_started_pid, print_attached_pid): New functions.
10419         (detach_or_kill_for_exit): New function.
10420         (main): Call it instead of for_each_inferior (kill_inferior_callback).
10421         * server.h (have_started_inferiors_p): Declare.
10422         (have_attached_inferiors_p): Declare.
10423
10424         * inferiors.c (remove_process): Fix memory leak, free process.
10425         * linux-low.c (linux_remove_process): New function.
10426         (linux_kill): Call it instead of remove_process.
10427         (linux_detach, linux_wait_1): Ditto.
10428
10429 2009-04-19  Danny Backx  <dannybackx@users.sourceforge.net>
10430
10431         * configure.srv: Add x86 Windows CE target.
10432
10433 2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
10434
10435         * inferiors.c (get_thread_process): Make global.
10436         * server.h (get_thread_process): Add prototype.
10437         * thread-db.c (find_one_thread): Use get_thread_process
10438         instead of current_process.
10439         (thread_db_get_tls_address): Do not crash if called when
10440         thread layer is not yet initialized.
10441
10442 2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
10443
10444         * remote-utils.c (prepare_resume_reply): Null-terminate packet.
10445         * spu-low.c (current_tid): Rename to ...
10446         (current_ptid): ... this.
10447         (fetch_ppc_register, fetch_ppc_memory, store_ppc_memory,
10448         spu_proc_xfer_spu, spu_resume, spu_request_interrupt): Use
10449         ptid_get_lwp (current_ptid) instead of current_tid.
10450         (spu_kill, spu_detach, spu_join, spu_wait): Use pid argument
10451         instead of current_tid.  Use find_process_pid to verify pid
10452         argument is valid.  Pass proper argument to remove_process.
10453         (spu_thread_alive): Compare current_ptid instead of current_tid.
10454         (spu_resume): Likewise.
10455
10456 2009-04-02  Pedro Alves  <pedro@codesourcery.com>
10457
10458         * linux-low.c (usr_store_inferior_registers): Declare local `pid'
10459         variable.
10460
10461 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
10462
10463         Implement the multiprocess extensions, and add linux multiprocess
10464         support.
10465
10466         * server.h (ULONGEST): Declare.
10467         (struct ptid, ptid_t): New.
10468         (minus_one_ptid, null_ptid): Declare.
10469         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
10470         (ptid_get_tid, ptid_equal, ptid_is_pid): Declare.
10471         (struct inferior_list_entry): Change `id' type from unsigned from
10472         to ptid_t.
10473         (struct sym_cache, struct breakpoint, struct
10474         process_info_private): Forward declare.
10475         (struct process_info): Declare.
10476         (current_process): Declare.
10477         (all_processes): Declare.
10478         (initialize_inferiors): Declare.
10479         (add_thread): Adjust to use ptid_t.
10480         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): Ditto.
10481         (add_process, remove_process, find_thread_pid): Declare.
10482         (find_inferior_id): Adjust to use ptid_t.
10483         (cont_thread, general_thread, step_thread): Change type to ptid_t.
10484         (multi_process): Declare.
10485         (push_event): Adjust to use ptid_t.
10486         (read_ptid, write_ptid): Declare.
10487         (prepare_resume_reply): Adjust to use ptid_t.
10488         (clear_symbol_cache): Declare.
10489         * inferiors.c (all_processes): New.
10490         (null_ptid, minus_one_ptid): New.
10491         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
10492         (ptid_get_tid, ptid_equal, ptid_is_pid): New.
10493         (add_thread): Change unsigned long to ptid.  Remove gdb_id
10494         parameter.  Adjust.
10495         (thread_id_to_gdb_id, thread_to_gdb_id): Change unsigned long to ptid.
10496         (gdb_id_to_thread): Rename to ...
10497         (find_thread_pid): ... this.  Change unsigned long to ptid.
10498         (gdb_id_to_thread_id, find_inferior_id): Change unsigned long to ptid.
10499         (loaded_dll, pull_pid_from_list): Adjust.
10500         (add_process, remove_process, find_process_pid)
10501         (get_thread_process, current_process, initialize_inferiors): New.
10502         * target.h (struct thread_resume) <thread>: Change type to ptid_t.
10503         (struct target_waitstatus) <related_pid>: Ditto.
10504         (struct target_ops) <kill, detach>: Add `pid' argument.  Change
10505         return type to int.
10506         (struct target_ops) <join>: Add `pid' argument.
10507         (struct target_ops) <thread_alive>: Change pid's type to ptid_t.
10508         (struct target_ops) <wait>: Add `ptid' field.  Change return type
10509         to ptid.
10510         (kill_inferior, detach_inferior, join_inferior): Add `pid' argument.
10511         (mywait): Add `ptid' argument.  Change return type to ptid_t.
10512         (target_pid_to_str): Declare.
10513         * target.c (set_desired_inferior): Adjust to use ptids.
10514         (mywait): Add new `ptid' argument.  Adjust.
10515         (target_pid_to_str): New.
10516         * mem-break.h (free_all_breakpoints): Declare.
10517         * mem-break.c (breakpoints): Delelete.
10518         (set_breakpoint_at, delete_breakpoint, find_breakpoint_at)
10519         (check_mem_read, check_mem_write, delete_all_breakpoints): Adjust
10520         to use per-process breakpoint list.
10521         (free_all_breakpoints): New.
10522         * remote-utils.c (struct sym_cache) <name>: Drop `const'.
10523         (symbol_cache, all_symbols_looked_up): Delete.
10524         (hexchars): New.
10525         (ishex, unpack_varlen_hex, write_ptid, hex_or_minus_one,
10526         read_ptid): New.
10527         (prepare_resume_reply): Change ptid argument's type from unsigned
10528         long to ptid_t.  Adjust.  Implement W;process and X;process.
10529         (free_sym_cache, clear_symbol_cache): New.
10530         (look_up_one_symbol): Adjust to per-process symbol cache.  *
10531         * server.c (cont_thread, general_thread, step_thread): Change type
10532         to ptid_t.
10533         (attached): Delete.
10534         (multi_process): New.
10535         (last_ptid): Change type to ptid_t.
10536         (struct vstop_notif) <ptid>: Change type to ptid_t.
10537         (queue_stop_reply, push_event): Change `ptid' argument's type to
10538         ptid_t.
10539         (discard_queued_stop_replies): Add `pid' argument.
10540         (start_inferior): Adjust to use ptids.  Adjust to mywait interface
10541         changes.  Don't reference the `attached' global.
10542         (attach_inferior): Adjust to mywait interface changes.
10543         (handle_query): Adjust to use ptids.  Parse GDB's qSupported
10544         features.  Handle and report "multiprocess+".  Handle
10545         "qAttached:PID".
10546         (handle_v_cont): Adjust to use ptids.  Adjust to mywait interface
10547         changes.
10548         (handle_v_kill): New.
10549         (handle_v_stopped): Adjust to use target_pid_to_str.
10550         (handle_v_requests): Allow multiple attaches and runs when
10551         multiprocess extensions are in effect.  Handle "vKill".
10552         (myresume): Adjust to use ptids.
10553         (queue_stop_reply_callback): Add `arg' parameter.  Handle it.
10554         (handle_status): Adjust to discard_queued_stop_replies interface
10555         change.
10556         (first_thread_of, kill_inferior_callback)
10557         (detach_or_kill_inferior_callback, join_inferiors_callback): New.
10558         (main): Call initialize_inferiors.  Adjust to use ptids, killing
10559         and detaching from all inferiors.  Handle multiprocess packet
10560         variants.
10561         * linux-low.h: Include gdb_proc_service.h.
10562         (struct process_info_private): New.
10563         (struct linux_target_ops) <pid_of>: Use ptid_get_pid.
10564         <lwpid_of>: Use ptid_get_lwp.
10565         (get_lwp_thread): Adjust.
10566         (struct lwp_info): Add `dead' member.
10567         (find_lwp_pid): Declare.
10568         * linux-low.c (thread_db_active): Delete.
10569         (new_inferior): Adjust comment.
10570         (inferior_pid): Delete.
10571         (linux_add_process): New.
10572         (handle_extended_wait): Adjust.
10573         (add_lwp): Change unsigned long to ptid.
10574         (linux_create_inferior): Add process to processes table.  Adjust
10575         to use ptids.  Don't set new_inferior here.
10576         (linux_attach_lwp): Rename to ...
10577         (linux_attach_lwp_1): ... this.  Add `initial' argument.  Handle
10578         it.  Adjust to use ptids.
10579         (linux_attach_lwp): New.
10580         (linux_attach): Add process to processes table.  Don't set
10581         new_inferior here.
10582         (struct counter): New.
10583         (second_thread_of_pid_p, last_thread_of_process_p): New.
10584         (linux_kill_one_lwp): Add `args' parameter.  Handle it.  Adjust to
10585         multiple processes.
10586         (linux_kill): Add `pid' argument.  Handle it.  Adjust to multiple
10587         processes.  Remove process from process table.
10588         (linux_detach_one_lwp): Add `args' parameter.  Handle it.  Adjust
10589         to multiple processes.
10590         (any_thread_of): New.
10591         (linux_detach): Add `pid' argument, and handle it.  Remove process
10592         from processes table.
10593         (linux_join): Add `pid' argument.  Handle it.
10594         (linux_thread_alive): Change unsighed long argument to ptid_t.
10595         Consider dead lwps as not being alive.
10596         (status_pending_p): Rename `dummy' argument to `arg'.  Filter out
10597         threads we're not interested in.
10598         (same_lwp, find_lwp_pid): New.
10599         (linux_wait_for_lwp): Change `pid' argument's type from int to
10600         ptid_t.  Adjust.
10601         (linux_wait_for_event): Rename to ...
10602         (linux_wait_for_event_1): ... this.  Change `pid' argument's type
10603         from int to ptid_t.  Adjust.
10604         (linux_wait_for_event): New.
10605         (linux_wait_1): Add `ptid' argument.  Change return type to
10606         ptid_t.  Adjust.  Use last_thread_of_process_p.  Remove processes
10607         that exit from the process table.
10608         (linux_wait): Add `ptid' argument.  Change return type to ptid_t.
10609         Adjust.
10610         (mark_lwp_dead): New.
10611         (wait_for_sigstop): Adjust to use ptids.  If a process exits while
10612         stopping all threads, mark its main lwp as dead.
10613         (linux_set_resume_request, linux_resume_one_thread): Adjust to use
10614         ptids.
10615         (fetch_register, usr_store_inferior_registers)
10616         (regsets_fetch_inferior_registers)
10617         (regsets_store_inferior_registers, linux_read_memory)
10618         (linux_write_memory): Inline `inferior_pid'.
10619         (linux_look_up_symbols): Adjust to use per-process
10620         `thread_db_active'.
10621         (linux_request_interrupt): Adjust to use ptids.
10622         (linux_read_auxv): Inline `inferior_pid'.
10623         (initialize_low): Don't reference thread_db_active.
10624         * gdb_proc_service.h (struct ps_prochandle) <pid>: Remove.
10625         * proc-service.c (ps_lgetregs): Use find_lwp_pid.
10626         (ps_getpid): Return the pid of the current inferior.
10627         * thread-db.c (proc_handle, thread_agent): Delete.
10628         (thread_db_create_event, thread_db_enable_reporting): Adjust to
10629         per-process data.
10630         (find_one_thread): Change argument type to ptid_t.  Adjust to
10631         per-process data.
10632         (maybe_attach_thread): Adjust to per-process data and ptids.
10633         (thread_db_find_new_threads): Ditto.
10634         (thread_db_init): Ditto.
10635         * spu-low.c (spu_create_inferior, spu_attach): Add process to
10636         processes table.  Adjust to use ptids.
10637         (spu_kill, spu_detach): Adjust interface.  Remove process from
10638         processes table.
10639         (spu_join, spu_thread_alive): Adjust interface.
10640         (spu_wait): Adjust interface.  Remove process from processes
10641         table.  Adjust to use ptids.
10642         * win32-low.c (current_inferior_tid): Delete.
10643         (current_inferior_ptid): New.
10644         (debug_event_ptid): New.
10645         (thread_rec): Take a ptid.  Adjust.
10646         (child_add_thread): Add `pid' argument.  Adjust to use ptids.
10647         (child_delete_thread): Ditto.
10648         (do_initial_child_stuff): Add `attached' argument.  Add process to
10649         processes table.
10650         (child_fetch_inferior_registers, child_store_inferior_registers):
10651         Adjust.
10652         (win32_create_inferior): Pass 0 to do_initial_child_stuff.
10653         (win32_attach): Pass 1 to do_initial_child_stuff.
10654         (win32_kill): Adjust interface.  Remove process from processes
10655         table.
10656         (win32_detach): Ditto.
10657         (win32_join): Adjust interface.
10658         (win32_thread_alive): Take a ptid.
10659         (win32_resume): Adjust to use ptids.
10660         (get_child_debug_event): Ditto.
10661         (win32_wait): Adjust interface.  Remove exiting process from
10662         processes table.
10663
10664 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
10665
10666         Non-stop mode support.
10667
10668         * server.h (non_stop): Declare.
10669         (gdb_client_data, handler_func): Declare.
10670         (delete_file_handler, add_file_handler, start_event_loop):
10671         Declare.
10672         (handle_serial_event, handle_target_event, push_event)
10673         (putpkt_notif): Declare.
10674         * target.h (enum resume_kind): New.
10675         (struct thread_resume): Replace `step' field by `kind' field.
10676         (TARGET_WNOHANG): Define.
10677         (struct target_ops) <wait>: Add `options' argument.
10678         <supports_non_stop, async, start_non_stop>: New fields.
10679         (target_supports_non_stop, target_async): New.
10680         (start_non_stop): Declare.
10681         (mywait): Add `options' argument.
10682         * target.c (mywait): Add `options' argument.  Print child exit
10683         notifications here.
10684         (start_non_stop): New.
10685         * server.c (non_stop, own_buf, mem_buf): New globals.
10686         (struct vstop_notif): New.
10687         (notif_queue): New global.
10688         (queue_stop_reply, push_event, discard_queued_stop_replies)
10689         (send_next_stop_reply): New.
10690         (start_inferior): Adjust to use resume_kind.  Adjust to mywait
10691         interface changes.
10692         (attach_inferior): In non-stop mode, don't wait for the target
10693         here.
10694         (handle_general_set): Handle QNonStop.
10695         (handle_query): When handling qC, return the current general
10696         thread, instead of the first thread of the list.
10697         (handle_query): If the backend supports non-stop mode, include
10698         QNonStop+ in the qSupported query response.
10699         (handle_v_cont): Adjust to use resume_kind.  Handle resume_stop
10700         and non-stop mode.
10701         (handle_v_attach, handle_v_run): Handle non-stop mode.
10702         (handle_v_stopped): New.
10703         (handle_v_requests): Report support for vCont;t.  Handle vStopped.
10704         (myresume): Adjust to use resume_kind.  Handle non-stop.
10705         (queue_stop_reply_callback): New.
10706         (handle_status): Handle non-stop mode.
10707         (main): Clear non_stop flag on reconnection.  Use the event-loop.
10708         Refactor serial protocol handling from here ...
10709         (process_serial_event): ... to this new function.  When GDB
10710         selects any thread, select one here.  In non-stop mode, wait until
10711         GDB acks all pending events before exiting.
10712         (handle_serial_event, handle_target_event): New.
10713         * remote-utils.c (remote_open): Install remote_desc in the event
10714         loop.
10715         (remote_close): Remove remote_desc from the event loop.
10716         (putpkt_binary): Rename to...
10717         (putpkt_binary_1): ... this.  Add `is_notic' argument.  Handle it.
10718         (putpkt_binary): New as wrapper around putpkt_binary_1.
10719         (putpkt_notif): New.
10720         (prepare_resume_reply): In non-stop mode, don't change the
10721         general_thread.
10722         * event-loop.c: New.
10723         * Makefile.in (OBJ): Add event-loop.o.
10724         (event-loop.o): New rule.
10725
10726         * linux-low.h (pid_of): Moved here.
10727         (lwpid_of): New.
10728         (get_lwp_thread): Use lwpid_of.
10729         (struct lwp_info): Delete `lwpid' field.  Add `suspended' field.
10730         * linux-low.c (pid_of): Delete.
10731         (inferior_pid): Use lwpid_of.
10732         (linux_event_pipe): New.
10733         (target_is_async_p): New.
10734         (delete_lwp): New.
10735         (handle_extended_wait): Use lwpid_of.
10736         (add_lwp): Don't set lwpid field.
10737         (linux_attach_lwp): Adjust debug output.  Use lwpid_of.
10738         (linux_kill_one_lwp): If killing a running lwp, stop it first.
10739         Use lwpid_of.  Adjust to linux_wait_for_event interface changes.
10740         (linux_detach_one_lwp): If detaching from a running lwp, stop it
10741         first.  Adjust to linux_wait_for_event interface changes.  Use
10742         lwpid_of.
10743         (linux_detach): Don't delete the main lwp here.
10744         (linux_join): Use my_waitpid.  Avoid signal_pid.  Use lwpid_of.
10745         (status_pending_p): Don't consider explicitly suspended lwps.
10746         (linux_wait_for_lwp): Take an integer pid instead of a lwp_info
10747         pointer.  Add OPTIONS argument.  Change return type to int.  Use
10748         my_waitpid instead of sleeping.  Handle WNOHANG.  Use lwpid_of.
10749         (linux_wait_for_event): Take an integer pid instead of a lwp_info
10750         pointer.  Add status pointer argument.  Return a pid instead of a
10751         status.  Use lwpid_of.  Adjust to linux_wait_for_lwp interface
10752         changes.  In non-stop mode, don't switch to a random thread.
10753         (linux_wait): Rename to...
10754         (linux_wait_1): ... this.  Add target_options argument, and handle
10755         it.  Adjust to use resume_kind.  Use lwpid_of.  In non-stop mode,
10756         don't handle the continue thread.  Handle TARGET_WNOHANG.  Merge
10757         clean exit and signal exit code.  Don't stop all threads in
10758         non-stop mode.  In all-stop mode, only stop all threads when
10759         reporting a stop to GDB.  Handle explicit thread stop requests.
10760         (async_file_flush, async_file_mark): New.
10761         (linux_wait): New.
10762         (send_sigstop): Use lwpid_of.
10763         (wait_for_sigstop): Use lwpid_of.  Adjust to linux_wait_for_event
10764         interface changes.  In non-stop mode, don't switch to a random
10765         thread.
10766         (linux_resume_one_lwp): Use lwpid_of.
10767         (linux_continue_one_thread, linux_queue_one_thread): Merge into ...
10768         (linux_resume_one_thread): ... this.  Handle resume_stop.  In
10769         non-stop mode, don't look for pending flag in all threads.
10770         (resume_status_pending_p): Don't consider explicitly suspended
10771         threads.
10772         (my_waitpid): Reimplement.  Emulate __WALL.
10773         (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
10774         Use lwpid_of.
10775         (sigchld_handler, linux_supports_non_stop, linux_async)
10776         (linux_start_non_stop): New.
10777         (linux_target_ops): Register linux_supports_non_stop, linux_async
10778         and linux_start_non_stop.
10779         (initialize_low): Install SIGCHLD handler.
10780         * thread-db.c (thread_db_create_event, find_one_thread)
10781         (thread_db_get_tls_address): Use lwpid_of.
10782         * win32-low.c (win32_detach): Adjust to use resume_kind.
10783         (win32_wait): Add `options' argument.
10784         * spu-low.c (spu_resume): Adjust to use resume_kind.
10785         (spu_wait): Add `options' argument.
10786
10787 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
10788
10789         Decouple target code from remote protocol.
10790
10791         * target.h (enum target_waitkind): New.
10792         (struct target_waitstatus): New.
10793         (struct target_ops) <wait>: Return an unsigned long.  Take a
10794         target_waitstatus pointer instead of a char pointer.
10795         (mywait): Likewise.
10796         * target.c (mywait): Change prototype to return an unsigned long.
10797         Take a target_waitstatus pointer instead of a char pointer.  Adjust.
10798         * server.h (thread_from_wait, old_thread_from_wait): Delete
10799         declarations.
10800         (prepare_resume_reply): Change prototype to take a
10801         target_waitstatus.
10802         * server.c (thread_from_wait, old_thread_from_wait): Delete.
10803         (last_status, last_ptid): New.
10804         (start_inferior): Remove "statusptr" argument.  Adjust.  Return a
10805         pid instead of a signal.
10806         (attach_inferior): Remove "status" and "signal" parameters.
10807         Adjust.
10808         (handle_query): For qGetTLSAddr, parse the thread id with strtol,
10809         not as an address.
10810         (handle_v_cont, handle_v_attach, handle_v_run, handle_v_kill)
10811         (handle_v_requests, myresume): Remove "status" and "signal"
10812         parameters.  Adjust.
10813         (handle_status): New.
10814         (main): Delete local `status'.  Adjust.
10815         * remote-utils.c: Include target.h.
10816         (prepare_resume_reply): Change prototype to take a
10817         target_waitstatus.  Adjust.
10818
10819         * linux-low.c (linux_wait): Adjust to new target_ops->wait
10820         interface.
10821         * spu-low.c (spu_wait): Adjust.
10822         * win32-low.c (enum target_waitkind, struct target_waitstatus):
10823         Delete.
10824         (win32_wait): Adjust.
10825
10826 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
10827
10828         * target.h (struct thread_resume): Delete leave_stopped member.
10829         (struct target_ops): Add a `n' argument to the `resume' callback.
10830         * server.c (start_inferior): Adjust.
10831         (handle_v_cont, myresume): Adjust.
10832         * linux-low.c (check_removed_breakpoint): Adjust to resume
10833         interface change, and to removed leave_stopped field.
10834         (resume_ptr): Delete.
10835         (struct thread_resume_array): New.
10836         (linux_set_resume_request): Add new `arg' parameter.  Adjust to
10837         resume interface change.
10838         (linux_continue_one_thread, linux_queue_one_thread)
10839         (resume_status_pending_p): Check if the resume field is NULL
10840         instead of checking the leave_stopped member.
10841         (linux_resume): Adjust to the target resume interface change.
10842         * spu-low.c (spu_resume): Adjust to the target resume interface
10843         change.
10844         * win32-low.c (win32_detach, win32_resume): Ditto.
10845
10846 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
10847
10848         * linux-low.c (linux_wait_for_event): Don't clear the `stepping'
10849         flag.
10850         (wait_for_sigstop): Don't leave a finished single-step SIGTRAP
10851         pending.
10852         (linux_continue_one_thread): Only preserve the stepping flag if
10853         there's a pending breakpoint.
10854
10855 2009-03-31  Pedro Alves  <pedro@codesourcery.com>
10856
10857         * server.c (main): After the inferior having exited, call
10858         remote_close before exiting gdbserver.
10859
10860 2009-03-25  Thiago Jung Bauermann  <bauerman@br.ibm.com>
10861
10862         Fix size of FPSCR in Power 7 processors.
10863         * linux-ppc-low.c (PPC_FEATURE_ARCH_2_05): Remove #define.
10864         (PPC_FEATURE_HAS_DFP): New #define.
10865         (ppc_arch_setup): Check for DFP feature instead of ISA 2.05 to decide on
10866         size of the FPSCR.
10867
10868 2009-03-23  Pedro Alves  <pedro@codesourcery.com>
10869
10870         * server.c (handle_query) Whitespace and formatting.
10871
10872 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
10873
10874         * i387-fp.c, linux-arm-low.c, linux-cris-low.c,
10875         linux-crisv32-low.c, linux-i386-low.c, linux-low.c,
10876         linux-mips-low.c, linux-s390-low.c, linux-sparc-low.c,
10877         linux-x86-64-low.c, linux-xtensa-low.c, proc-service.c,
10878         regcache.c, remote-utils.c, server.c, spu-low.c, target.h,
10879         thread-db.c, win32-low.c, xtensa-xtregs.c, gdbreplay.c,
10880         Makefile.in, configure.ac: Fix whitespace throughout.
10881         * configure: Regenerate.
10882
10883 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
10884
10885         * inferiors.c (find_inferior): Make it safe for the callback
10886         function to delete the currently iterated inferior.
10887
10888 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
10889
10890         * Makefile.in (linuw_low_h): Move higher.
10891         (thread-db.o): Depend on $(linux_low_h).
10892
10893 2009-03-17  Pedro Alves  <pedro@codesourcery.com>
10894
10895         Rename "process" to "lwp" throughout.
10896
10897         * linux-low.c (all_processes): Rename to...
10898         (all_lwps): ... this.
10899         (inferior_pid, handle_extended_wait, get_stop_pc): Adjust.
10900         (add_process): Rename to ...
10901         (add_lwp): ... this.  Adjust.
10902         (linux_create_inferior): Adjust.
10903         (linux_attach_lwp): Adjust.
10904         (linux_attach): Adjust.
10905         (linux_kill_one_process): Rename to ...
10906         (linux_kill_one_lwp): ... this.  Adjust.
10907         (linux_kill): Adjust.
10908         (linux_detach_one_process): Rename to ...
10909         (linux_detach_one_lwp): ... this.  Adjust.
10910         (linux_detach): Adjust.
10911         (check_removed_breakpoint): Adjust.
10912         (status_pending_p): Adjust.
10913         (linux_wait_for_process): Rename to ...
10914         (linux_wait_for_lwp): ... this.  Adjust.
10915         (linux_wait_for_event): Adjust.
10916         (send_sigstop): Adjust.
10917         (wait_for_sigstop): Adjust.
10918         (stop_all_processes): Rename to ...
10919         (stop_all_lwps): ... this.
10920         (linux_resume_one_process): Rename to ...
10921         (linux_resume_one_lwp): ... this.  Adjust.
10922         (linux_set_resume_request, linux_continue_one_thread)
10923         (linux_queue_one_thread, resume_status_pending_p)
10924         (usr_store_inferior_registers, regsets_store_inferior_registers)
10925         (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
10926         Adjust.
10927         * linux-low.h (get_process): Rename to ...
10928         (get_lwp): ... this.  Adjust.
10929         (get_thread_process): Rename to ...
10930         (get_thread_lwp): ... this.  Adjust.
10931         (get_process_thread): Rename to ...
10932         (get_lwp_thread): ... this.  Adjust.
10933         (struct process_info): Rename to ...
10934         (struct lwp_info): ... this.
10935         (all_processes): Rename to ...
10936         (all_lwps): ... this.
10937         * proc-service.c (ps_lgetregs): Adjust.
10938         * thread-db.c (thread_db_create_event, find_one_thread)
10939         (maybe_attach_thread, thread_db_get_tls_address): Adjust.
10940
10941 2009-03-14  Pedro Alves  <pedro@codesourcery.com>
10942
10943         * server.c (handle_query): Handle "qAttached".
10944
10945 2009-03-13  Nathan Sidwell  <nathan@codesourcery.com>
10946
10947         * Makefile.in, hostio-errno.c, errno.c, xtensa-xtregs.c: Change to
10948         GPLv3, update license URL.
10949
10950 2009-03-01  Doug Evans  <dje@google.com>
10951
10952         * Makefile.in (INCLUDE_CFLAGS): Add -I$(srcdir)/../common.
10953         (server_h): Add gdb_signals.h.
10954         (signals.o): Update.
10955         * server.h (target_signal_from_host,target_signal_to_host_p)
10956         (target_signal_to_host,target_signal_to_name): Moved to gdb_signals.h.
10957
10958 2009-02-14  Pierre Muller  <muller@ics.u-strasbg.fr>
10959
10960         * remote-utils.c (getpkt): Also generate remote-debug
10961         information if noack_mode is set.
10962
10963 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
10964
10965         * server.c (handle_query): Report qXfer:siginfo:read and
10966         qXfer:siginfo:write as supported and handle them.
10967         * target.h (struct target_ops) <qxfer_siginfo>: New field.
10968         * linux-low.c (linux_xfer_siginfo): New.
10969         (linux_target_ops): Set it.
10970
10971 2009-01-26  Pedro Alves  <pedro@codesourcery.com>
10972
10973         * server.c (gdbserver_usage): Mention --remote-debug.
10974         (main): Accept '--remote-debug' switch.
10975
10976 2009-01-18  Doug Evans  <dje@google.com>
10977
10978         * regcache.c (new_register_cache): No need to check result of xcalloc.
10979         * server.c (handle_search_memory): Back out calls to xmalloc,
10980         result is checked and error is returned to user upon failure.
10981         (handle_query): Ditto.  Add more checks for result of malloc.
10982         (handle_v_cont): Check result of malloc, report error back to
10983         user upon failure.
10984         (handle_v_run): Ditto.  Call freeargv.
10985         * server.h (freeargv): Declare.
10986         * utils.c (freeargv): New fn.
10987
10988 2009-01-15  Doug Evans  <dje@google.com>
10989
10990         * gdbreplay.c (perror_with_name): Make arg const char *.
10991         * server.h (target_signal_to_name): Make return type const char *.
10992         * thread-db.c (thread_db_err_str): Make return type const char *.
10993         * utils.c (perror_with_name): Make arg const char *.
10994
10995 2009-01-14  Pedro Alves  <pedro@codesourcery.com>
10996
10997         * win32-low.c (get_child_debug_event): Issue a final DBG_CONTINUE
10998         when handling a EXIT_PROCESS_DEBUG_EVENT.
10999
11000 2009-01-06  Joel Brobecker  <brobecker@adacore.com>
11001
11002         * gdbreplay.c (gdbreplay_version): Update copyright year.
11003         * server.c (gdbserver_version): Likewise.
11004
11005 2009-01-05  Doug Evans  <dje@google.com>
11006
11007         * linux-low.c (linux_attach_lwp): Add some comments/fixmes.
11008         (handle_extended_wait): Improve comment.
11009
11010 2008-12-13  Doug Evans  <dje@google.com>
11011
11012         * utils.c (xmalloc,xcalloc,xstrdup): New fns.
11013         * server.h (ATTR_MALLOC): New macro.
11014         (xmalloc,xcalloc,xstrdup): Declare.
11015         * hostio.c: Replace malloc,calloc,strdup with xmalloc,xcalloc,xstrdup.
11016         * inferiors.c: Ditto.
11017         * linux-low.c: Ditto.
11018         * mem-break.c: Ditto.
11019         * regcache.c: Ditto.
11020         * remote-utils.c: Ditto.
11021         * server.c: Ditto.
11022         * target.c: Ditto.
11023         * win32-low.c: Ditto.
11024
11025 2008-12-12  Doug Evans  <dje@google.com>
11026
11027         * linux-low.c (linux_wait_for_process): Don't clobber current_inferior
11028         in debugging printf.
11029
11030         * linux-low.c (handle_extended_wait): Simplify, use my_waitpid.
11031
11032 2008-12-09  Doug Evans  <dje@google.com>
11033
11034         * linux-low.h (struct process_info): Delete member tid, unused.
11035         * thread-db.c (find_one_thread): Update.
11036         (maybe_attach_thread): Update.
11037
11038 2008-12-02  Pedro Alves  <pedro@codesourcery.com>
11039
11040         * target.h (struct target_ops): Add qxfer_osdata member.
11041         * linux-low.c: Include ctype.h and pwd.h and sys/types.h
11042         and dirent.h.
11043         (linux_qxfer_osdata): New functions.
11044         (linux_target_ops): Register linux_qxfer_osdata as qxfer_osdata
11045         callback.
11046         * server.c (handle_query): Handle "qXfer:osdata:read:".
11047         * remote-utils.c (buffer_grow, buffer_free, buffer_init, buffer_finish)
11048         (buffer_xml_printf): New functions.
11049         * server.h (struct buffer): New.
11050         (buffer_grow_str, buffer_grow_str0): New macros.
11051         (buffer_grow, buffer_free, buffer_init, buffer_finish)
11052         (buffer_xml_printf): Declare.
11053
11054 2008-11-24  Doug Evans  <dje@google.com>
11055
11056         * Makefile.in (VERSION,DIST,LINT,LINTFLAGS): Delete, unused.
11057
11058 2008-11-24  Daniel Jacobowitz  <dan@codesourcery.com>
11059
11060         * server.c (handle_v_run): Always use the supplied argument list.
11061
11062 2008-11-19  Bob Wilson  <bob.wilson@acm.org>
11063
11064         * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4.
11065         (xtensa_regmap_table): Add entry for scompare1.
11066
11067 2008-11-18  Thiago Jung Bauermann  <bauerman@br.ibm.com>
11068
11069         * Makefile.in (powerpc-isa205-32l.o, powerpc-isa205-32l.c,
11070         powerpc-isa205-altivec32l.o, powerpc-isa205-altivec32l.c,
11071         powerpc-isa205-vsx32l.o, powerpc-isa205-vsx32l.c,
11072         powerpc-isa205-64l.o, powerpc-isa205-64l.c,
11073         powerpc-isa205-altivec64l.o, powerpc-isa205-altivec64l.c,
11074         powerpc-isa205-vsx64l.o, powerpc-isa205-vsx64l.c): New targets.
11075         * configure.srv (powerpc*-*-linux*): Add ISA 2.05 object files and
11076         XML target descriptions.
11077         * linux-ppc-low.c (ppc_arch_setup): Init registers with 64-bit FPSCR
11078         when inferior is running on an ISA 2.05 or later processor.  Add
11079         special case to return offset for full 64-bit slot of FPSCR when
11080         in 32-bits.
11081
11082 2008-11-14  Daniel Gutson  <dgutson@codesourcery.com>
11083
11084         * Makefile.in (SFILES, clean): Added sparc64 files.
11085         (reg-sparc64.o, reg-sparc64.c): New.
11086         * configure.srv (sparc*-*-linux*): New configuration.
11087         * linux-low.c (regsets_fetch_inferior_registers): Swap ptrace
11088         syscall arguments for SPARC.
11089         (regsets_store_inferior_registers): Likewise.
11090         * linux-sparc-low.c: New file.
11091
11092 2008-10-21  Doug Evans  <dje@google.com>
11093
11094         * Makefile.in (BFD_DIR,BFD,BFD_SRC,BFD_CFLAGS): Delete.
11095         (READLINE_DIR,READLINE_DEP): Delete.
11096         (INTERNAL_CFLAGS): Update.
11097         (LINTFLAGS): Update.
11098
11099 2008-10-10  Pedro Alves  <pedro@codesourcery.com>
11100
11101         * server.c (handle_v_run): If GDB didn't specify an argv, use the
11102         whole argv from the last run, not just argv[0].
11103
11104 2008-09-08  Pedro Alves  <pedro@codesourcery.com>
11105
11106         * regcache.c (new_register_cache): Return NULL if the register
11107         cache size isn't known yet.
11108         (free_register_cache): Avoid dereferencing a NULL regcache.
11109
11110 2008-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
11111
11112         * configure.srv: Merge MIPS and MIPS64.
11113
11114 2008-08-24  Maciej W. Rozycki  <macro@linux-mips.org>
11115
11116         * Makefile.in (uninstall): Apply $(EXEEXT) too.
11117
11118 2008-08-18  Luis Machado  <luisgpm@br.ibm.com>
11119
11120         * Makefile.in: Add required vsx dependencies.
11121
11122         * linux-ppc-low: Define PPC_FEATURE_HAS_VSX.
11123         Declare init_registers_powerpc_vsx32l.
11124         Declare init_registers_powerpc_vsx64l.
11125         Define PTRACE_GETVSXREGS and PTRACE_SETVSXREGS.
11126         (ppc_arch_setup): Check for VSX in hwcap.
11127         (ppc_fill_vsxregset): New function.
11128         (ppc_store_vsxregset): New function.
11129         Add new VSX entry in regset_info target_regsets.
11130
11131         * configure.srv: Add new VSX dependencies.
11132
11133 2008-08-12  Pedro Alves  <pedro@codesourcery.com>
11134
11135         * remote-utils.c (noack_mode, transport_is_reliable): New globals.
11136         (remote_open): Set or clear transport_is_reliable.
11137         (putpkt_binary): Don't expect acks in noack mode.
11138         (getpkt): Don't send ack/nac in noack mode.
11139         * server.c (handle_general_set): Handle QStartNoAckMode.
11140         (handle_query): If connected by tcp pass QStartNoAckMode+ in
11141         qSupported.
11142         (main): Reset noack_mode on every connection.
11143         * server.h (noack_mode): Declare.
11144
11145 2008-08-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11146
11147         * Makefile.in (GDBREPLAY_OBS): New variable.
11148         (gdbreplay$(EXEEXT)): Use it to avoid unportable $^.
11149
11150 2008-08-05  Ulrich Weigand  <uweigand@de.ibm.com>
11151             Daniel Jacobowitz  <dan@codesourcery.com>
11152
11153         * linux-low.c (linux_resume_one_process): Ignore ESRCH.
11154         (usr_store_inferior_registers): Likewise.
11155         (regsets_store_inferior_registers): Likewise.
11156
11157 2008-07-31  Rolf Jansen  <rj@surtec.com>
11158             Pedro Alves  <pedro@codesourcery.com>
11159
11160         * configure.ac: Check for memmem declaration.
11161         * server.c [HAVE_MALLOC_H]: Include malloc.h.
11162         (disable_packet_vCont, disable_packet_Tthread, disable_packet_qC)
11163         (disable_packet_qfThreadInfo): Unconditionally compile.
11164         * server.h [!HAVE_DECL_MEMMEM]: Declare memmem.
11165         * configure, config.in: Regenerate.
11166
11167 2008-07-28  Doug Kwan  <dougkwan@google.com>
11168
11169         * linux-low.c (sys/dir.h, sys/user.h): Remove includes.
11170         (linux_write_memory): Remove declaration of errno.
11171
11172 2008-07-12  Ulrich Weigand  <uweigand@de.ibm.com>
11173
11174         * linux-low.c (handle_extended_wait): Do not use "status"
11175         variable uninitialized.
11176
11177 2008-07-07  Pedro Alves  <pedro@codesourcery.com>
11178
11179         * server.c (handle_v_attach): Inhibit reporting dll changes.
11180
11181 2008-06-27  Pedro Alves  <pedro@codesourcery.com>
11182
11183         * remote-utils.c (prepare_resume_reply): If requested, don't
11184         output "thread:TID" in the T stop reply.
11185
11186         * server.c (disable_packet_vCont, disable_packet_Tthread)
11187         (disable_packet_qC, disable_packet_qfThreadInfo): New globals.
11188         (handle_query): If requested, disable support for qC, qfThreadInfo
11189         and qsThreadInfo.
11190         (handle_v_requests): If requested, disable support for vCont.
11191         (gdbserver_show_disableable): New.
11192         (main): Handle --disable-packet and --disable-packet=LIST.
11193
11194         * server.h (disable_packet_vCont, disable_packet_Tthread)
11195         (disable_packet_qC, disable_packet_qfThreadInfo): Declare.
11196
11197 2008-06-20  Carlos O'Donell  <carlos@codesourcery.com>
11198
11199         * server.c (gdbserver_usage): Mention --version.
11200
11201 2008-06-06  Daniel Jacobowitz  <dan@codesourcery.com>
11202
11203         * Makefile.in (gdbreplay.o): New rule.
11204
11205 2008-06-06  Joseph Myers  <joseph@codesourcery.com>
11206
11207         * gdbreplay.c (gdbreplay_version): Say gdbreplay in version
11208         message, not gdbserver.
11209
11210 2008-06-05  Vladimir Prus  <vladimir@codesourcery.com>
11211             Nathan Sidwell  <nathan@codesourcery.com>
11212             Joseph Myers  <joseph@codesourcery.com>
11213
11214         * acinclude.m4: Include ../../config/acx.m4.
11215         * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
11216         * configure, config.in: Regenerate.
11217         * Makefile.in (gdbreplay$(EXEEXT)): Add version.o.
11218         * server.c (gdbserver_version): Print PKGVERSION.
11219         (gdbsrever_usage): Add stream parameter.  Print REPORT_BUGS_TO.
11220         (main): Adjust gdbserver_usage calls.
11221         * gdbreplay.c (version, host_name): Add declarations.
11222         (gdbreplay_version, gdbreplay_usage): New.
11223         (main): Accept --version and --help options.
11224
11225 2008-06-04  Daniel Jacobowitz  <dan@codesourcery.com>
11226
11227         * linux-arm-low.c (thumb_breakpoint, thumb_breakpoint_len): New.
11228         (arm_breakpoint_at): Handle Thumb.
11229         (the_low_target): Add comment.
11230
11231 2008-05-29  Ulrich Weigand  <uweigand@de.ibm.com>
11232
11233         * linux-ppc-low.c (ppc_collect_ptrace_register): Clear buffer.
11234
11235 2008-05-09  Doug Evans  <dje@google.com>
11236
11237         * server.h (decode_search_memory_packet): Declare.
11238         * remote-utils.c (decode_search_memory_packet): New fn.
11239         * server.c (handle_search_memory_1): New fn.
11240         (handle_search_memory): New fn.
11241         (handle_query): Process qSearch:memory packets.
11242
11243 2008-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
11244
11245         * regcache.c (registers_length): Remove.
11246         (set_register_cache): Verify that PBUFSIZ is large enough to hold a
11247         full register packet.
11248         * regcache.h (registers_length): Remove prototype.
11249         * server.h (PBUFSIZ): Define to 16384.
11250
11251 2008-05-03  Ulrich Weigand  <uweigand@de.ibm.com>
11252
11253         * configure.srv (powerpc*-*-linux*): Set srv_regobj to
11254         powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o,
11255         powerpc-64l.o, and powerpc-altivec64l.o.
11256         Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and
11257         rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml,
11258         rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml,
11259         rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml,
11260         rs6000/power-linux.xml, and rs6000/power64-linux.xml
11261         to srv_xmlfiles.
11262
11263         * Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ...
11264         (powerpc-32l.o, powerpc-32l.c): ... these new rules.
11265         (powerpc-32.o, powerpc-32.c): Remove, replace by ...
11266         (powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules.
11267         (powerpc-e500.o, powerpc-e500.c): Remove, replace by ...
11268         (powerpc-e500l.o, powerpc-e500l.c): ... these new rules.
11269         (reg-ppc64.o, reg-ppc64.c): Remove, replace by ...
11270         (powerpc-64l.o, powerpc-64l.c): ... these new rules.
11271         (powerpc-64.o, powerpc-64.c): Remove, replace by ...
11272         (powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules.
11273         (clean): Update.
11274
11275         * linux-ppc-low.c (init_registers_ppc): Remove, replace by ...
11276         (init_registers_powerpc_32l): ... this new prototype.
11277         (init_registers_powerpc_32): Remove, replace by ...
11278         (init_registers_powerpc_altivec32l): ... this new prototype.
11279         (init_registers_powerpc_e500): Remove, replace by ...
11280         (init_registers_powerpc_e500l): ... this new prototype.
11281         (init_registers_ppc64): Remove, replace by ...
11282         (init_registers_powerpc_64l): ... this new prototype.
11283         (init_registers_powerpc_64): Remove, replace by ...
11284         (init_registers_powerpc_altivec64l): ... this new prototype.
11285         (ppc_num_regs): Set to 73.
11286         (PT_ORIG_R3, PT_TRAP): Define if necessary.
11287         (ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap.
11288         (ppc_cannot_store_register): Handle orig_r3 and trap.
11289         (ppc_arch_setup): Update init_registers_... calls.
11290         (ppc_fill_gregset): Handle orig_r3 and trap.
11291
11292         * inferiors.c (clear_inferiors): Reset current_inferior.
11293
11294 2008-04-23  Paolo Bonzini  <bonzini@gnu.org>
11295
11296         * acinclude.m4: Add override.m4.
11297         * configure: Regenerate.
11298
11299 2008-04-21  Ulrich Weigand  <uweigand@de.ibm.com>
11300
11301         * linux-ppc-low.c (ppc_arch_setup): Reset ppc_hwcap after the
11302         initial call to init_register_ppc64.
11303
11304 2008-04-21  Ulrich Weigand  <uweigand@de.ibm.com>
11305
11306         * configure.srv (powerpc64-*-linux*, powerpc-*-linux*): Merge into
11307         single powerpc*-*-linux* case.
11308         (s390-*-linux*, s390x-*-linux*): Merge into single s390*-*-linux* case.
11309
11310 2008-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
11311
11312         * configure.srv [powerpc64-*-linux*]: Remove powerpc-e500.o from
11313         srv_regobj.  Remove rs6000/powerpc-e500.xml and rs6000/power-spe.xml
11314         from reg_xmlfiles.
11315         * linux-ppc-low.c: Include <elf.h>.
11316         (PPC_FEATURE_HAS_ALTIVEC, PPC_FEATURE_HAS_SPE): Define.
11317         (ppc_hwcap): New global variable.
11318         (ppc_regmap): Remove __SPE__ #ifdef sections.
11319         (ppc_regmap_e500): New global variable.
11320         (ppc_cannot_store_register): Update __SPE__ special case.
11321         (ppc_get_hwcap): New function.
11322         (ppc_arch_setup): Use it to determine whether inferior supports
11323         AltiVec or SPE registers.  Set the_low_target.regmap if appropriate.
11324         (ppc_fill_vrregset, ppc_store_vrregset): Define unconditionally.
11325         Do not access registers if target does not support AltiVec.
11326         (ppc_fill_evrregset, ppc_store_evrregset): Define unconditionally.
11327         Do not access registers if target does not support SPE.
11328         (target_regsets): Unconditionally include AltiVec and SPE regsets.
11329
11330 2008-04-17  Daniel Jacobowitz  <dan@codesourcery.com>
11331
11332         * linux-low.c (disabled_regsets, num_regsets): New.
11333         (use_regsets_p): Delete.
11334         (linux_wait_for_process): Clear disabled_regsets.
11335         (regsets_fetch_inferior_registers): Check and set it.
11336         (regsets_store_inferior_registers): Likewise.
11337         (linux_fetch_registers, linux_store_registers): Do not use
11338         use_regsets_p.
11339         (initialize_low): Allocate disabled_regsets.
11340
11341 2008-04-14  Daniel Jacobowitz  <dan@codesourcery.com>
11342
11343         * Makefile.in (LIBOBJS): New.
11344         (OBS): Use LIBOBJS.
11345         (memmem.o): New rule.
11346         * configure.ac: Use AC_CONFIG_LIBOBJ_DIR and check for memmem.
11347         * configure: Regenerated.
11348
11349 2008-04-04  Ulrich Weigand  <uweigand@de.ibm.com>
11350
11351         * server.c (handle_query): Never return "unsupported" for
11352         qXfer:features:read queries.
11353
11354 2008-03-27  Ulrich Weigand  <uweigand@de.ibm.com>
11355
11356         * server.c (get_features_xml): Fix inverted condition.
11357         (handle_query): Always support qXfer:feature:read.
11358
11359 2008-03-10  Daniel Jacobowitz  <dan@codesourcery.com>
11360
11361         * server.c (wrapper_argv): New.
11362         (start_inferior): Handle wrapper_argv.  If set, expect an extra
11363         trap.
11364         (gdbserver_usage): Document --wrapper.
11365         (main): Parse --wrapper.
11366
11367 2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
11368
11369         * configure.srv [powerpc64-*-linux*]: Add all files mentioned for
11370         powerpc-*-linux* to srv_regobj and reg_xmlfiles.
11371         * linux-ppc-low.c (ppc_get_pc): Support bi-arch operation.
11372         (ppc_set_pc): Likewise.
11373         (ppc_arch_setup): New function.
11374         (ppc_fill_gregset): Call ppc_collect_ptrace_register instead
11375         of collect_register.
11376         (the_low_target): Use ppc_arch_setup as arch_setup initializer.
11377
11378 2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
11379
11380         * configure.srv [powerpc64-*-linux*]: Use linux-ppc-low.o
11381         instead of linux-ppc64-low.o.
11382         * linux-ppc64-low.c: Remove file.
11383         * Makefile.in (SFILES): Remove linux-ppc64-low.c.
11384         (linux-ppc64-low.o): Remove rule.
11385
11386         * linux-ppc-low.c (init_registers_ppc64): Add prototype.
11387         (init_registers_powerpc_64): Likewise.
11388         (ppc_regmap): Conditionally define depending on __powerpc64__.
11389         (ppc_cannot_store_register): Do not special-case "fpscr" when
11390         compiled on __powerpc64__.
11391         (ppc_collect_ptrace_register): New function.
11392         (ppc_supply_ptrace_register): New function.
11393         (ppc_breakpoint): Change type to "unsigned int".
11394         (ppc_breakpoint_at): Change type of "insn" to "unsigned int".
11395         (the_low_target): Conditionally provide initializers for the
11396         arch_setup member depending on __powerpc64__.  Install
11397         collect_ptrace_register and supply_ptrace_register members.
11398
11399 2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
11400
11401         * regcache.h (gdbserver_xmltarget): Add extern declaration.
11402         * server.c (gdbserver_xmltarget): Define.
11403         (get_features_xml): Use it to replace "target.xml" and arch_string.
11404
11405         * configure.srv: Remove srv_xmltarget.  Add XML files that were
11406         mentioned there to srv_xmlfiles instead.  Remove conditional tests
11407         on gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe; set
11408         srv_xmlfiles and srv_regobj to include all possible choices.
11409         * configure.ac (srv_xmltarget): Remove.
11410         (srv_xmlfiles): Do not add "target.xml".
11411         (gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe): Remove
11412         checks for supplementary target information.
11413         * configure: Regenerate.
11414         * Makefile.in (XML_TARGET): Remove.
11415         (target.xml): Remove rule.
11416         (clean): Do not clean up target.xml.
11417         (.PRECIOUS): Do not mention target.xml.
11418
11419         * target.h (struct target_ops): Remove arch_string member.
11420         * linux-low.c (linux_arch_string): Remove.
11421         (linux_target_ops): Remove arch_string initializer.
11422         * linux-low.h (struct linux_target_ops): Remove arch_string member.
11423         * linux-i386-low.c (the_low_target): Remove arch_string initializer.
11424         * linux-x86-64-low.c (the_low_target): Remove arch_string initializer.
11425         * spu-low.c (spu_arch_string): Remove.
11426         (spu_target_ops): Remove arch_string initializer.
11427         * win32-low.c (win32_arch_string): Remove.
11428         (win32_target_ops): Remove arch_string initializer.
11429         * win32-low.h (struct win32_target_ops): Remove arch_string member.
11430         * win32-arm-low.c (the_low_target): Remove arch_string initializer.
11431         * win32-i368-low.c (the_low_target): Remove arch_string initializer.
11432
11433 2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
11434
11435         * linux-low.h (struct linux_target_ops): Replace left_pad_xfer field
11436         by collect_ptrace_register and supply_ptrace_register hooks.
11437         * linux-low.c (fetch_register): Use supply_ptrace_register callback
11438         instead of checking for the_low_target.left_pad_xfer.
11439         (usr_store_inferior_registers): Use collect_ptrace_register callback
11440         instead of checking for the_low_target.left_pad_xfer.
11441
11442         * linux-s390-low.c (s390_collect_ptrace_register): New function.
11443         (s390_supply_ptrace_register): Likewise.
11444         (s390_fill_gregset): Call s390_collect_ptrace_register.
11445         (the_low_target): Update.
11446
11447         * linux-ppc64-low.c (ppc_collect_ptrace_register): New function.
11448         (ppc_supply_ptrace_register): Likewise.
11449         (the_low_target): Update.
11450
11451         * linux-i386-low.c (the_low_target): Update.
11452         * linux-x86-64-low.c (the_low_target): Update.
11453
11454 2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
11455
11456         * configure.srv [s390x-*-linux*]: Set srv_regobj to include both
11457         reg-s390.o and reg-s390x.o.
11458
11459         * linux-low.c (new_inferior): New global variable.
11460         (linux_create_inferior, linux_attach): Set it.
11461         (linux_wait_for_process): Call the_low_target.arch_setup after the
11462         target has stopped for the first time.
11463         (initialize_low): Do not call the_low_target.arch_setup.
11464
11465         * linux-s390-low.c (s390_get_pc): Support bi-arch operation.
11466         (s390_set_pc): Likewise.
11467         (s390_arch_setup): New function.
11468         (the_low_target): Use s390_arch_setup as arch_setup routine.
11469
11470         * regcache.c (realloc_register_cache): New function.
11471         (set_register_cache): Call it for each existing regcache.
11472
11473 2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
11474
11475         * server.h (init_registers): Remove prototype.
11476
11477         * linux-low.h (struct linux_target_ops): Add arch_setup field.
11478         * linux-low.c (initialize_low): Call the_low_target.arch_setup ()
11479         instead of init_registers ().
11480         * linux-arm-low.c (init_registers_arm): Add prototype.
11481         (init_registers_arm_with_iwmmxt): Likewise.
11482         (the_low_target): Add initializer for arch_setup field.
11483         * linux-cris-low.c (init_registers_cris): Add prototype.
11484         (the_low_target): Add initializer for arch_setup field.
11485         * linux-crisv32-low.c (init_registers_crisv32): Add prototype.
11486         (the_low_target): Add initializer for arch_setup field.
11487         * linux-i386-low.c (init_registers_i386_linux): Add prototype.
11488         (the_low_target): Add initializer for arch_setup field.
11489         * linux-ia64-low.c (init_registers_ia64): Add prototype.
11490         (the_low_target): Add initializer for arch_setup field.
11491         * linux-m32r-low.c (init_registers_m32r): Add prototype.
11492         (the_low_target): Add initializer for arch_setup field.
11493         * linux-m68k-low.c (init_registers_m68k): Add prototype.
11494         (the_low_target): Add initializer for arch_setup field.
11495         * linux-mips-low.c (init_registers_mips_linux): Add prototype.
11496         (init_registers_mips64_linux): Likewise.
11497         (the_low_target): Add initializer for arch_setup field.
11498         * linux-ppc-low.c (init_registers_ppc): Add prototype.
11499         (init_registers_powerpc_32, init_registers_powerpc_e500): Likewise.
11500         (the_low_target): Add initializer for arch_setup field.
11501         * linux-ppc64-low.c (init_registers_ppc64): Add prototype.
11502         (init_registers_powerpc_64): Likewise.
11503         (the_low_target): Add initializer for arch_setup field.
11504         * linux-s390-low.c (init_registers_s390): Add prototype.
11505         (init_registers_s390x): Likewise.
11506         (the_low_target): Add initializer for arch_setup field.
11507         * linux-sh-low.c (init_registers_sh): Add prototype.
11508         (the_low_target): Add initializer for arch_setup field.
11509         * linux-x86-64-low.c (init_registers_x86_64_linux): Add prototype.
11510         (the_low_target): Add initializer for arch_setup field.
11511         * linux-xtensa-low.c (init_registers_xtensa): Add prototype.
11512         (the_low_target): Add initializer for arch_setup field.
11513
11514         * win32-low.h (struct win32_target_ops): Add arch_setup field.
11515         * win32-low.c (initialize_low): Call the_low_target.arch_setup ()
11516         instead of init_registers ().
11517         * win32-arm-low.c (init_registers_arm): Add prototype.
11518         (the_low_target): Add initializer for arch_setup field.
11519         * win32-i386-low.c (init_registers_i386): Add prototype.
11520         (the_low_target): Add initializer for arch_setup field.
11521
11522         * spu-low.c (init_registers_spu): Add prototype.
11523         (initialize_low): Call initialie_registers_spu () instead of
11524         initialize_registers ().
11525
11526 2008-02-19  Pedro Alves  <pedro@codesourcery.com>
11527
11528         * server.c (handle_v_requests): When handling the vRun and vAttach
11529         packets, if already debugging a process, don't kill it.  Return an
11530         error instead.
11531
11532 2008-02-17  Daniel Jacobowitz  <dan@codesourcery.com>
11533
11534         * server.c (handle_query): Correct length check.
11535
11536 2008-02-14  Pedro Alves  <pedro_alves@portugalmail.pt>
11537
11538         * win32-low.c (do_initial_child_stuff): Add process handle
11539         parameter.  Set current_process_handle and current_process_id from the
11540         parameters. Clear globals.
11541         (win32_create_inferior): Don't set current_process_handle and
11542         current_process_id here.  Instead pass them on the call to
11543         do_initial_child_stuff.
11544         (win32_attach): Likewise.
11545         (win32_clear_inferiors): New.
11546         (win32_kill): Don't close the current process handle or the
11547         current thread handle here.  Instead call win32_clear_inferiors.
11548         (win32_detach): Don't open a new handle to the process.  Call
11549         win32_clear_inferiors.
11550         (win32_join): Don't rely on current_process_handle; open a new
11551         handle using the process id.
11552         (win32_wait): Call win32_clear_inferiors when the inferior process
11553         has exited.
11554
11555 2008-02-14  Daniel Jacobowitz  <dan@codesourcery.com>
11556
11557         * server.c (monitor_show_help): Add "exit".
11558
11559 2008-02-11  Maxim Grigoriev  <maxim2405@gmail.com>
11560
11561         * Makefile.in (SFILES): Add linux-xtensa-low.c.
11562         (clean): Add reg-xtensa.c.
11563         (linux-xtensa-low.o, reg-xtensa.o, reg-xtensa.c): New dependencies.
11564         * configure.srv (xtensa*-*-linux*) New target.
11565         * linux-xtensa-low.c: New.
11566         * xtensa-xtregs.c: New.
11567
11568 2008-02-01  Pedro Alves  <pedro_alves@portugalmail.pt>
11569
11570         * hostio.c: Don't include errno.h.
11571         (errno_to_fileio_errno): Move to hostio-errno.
11572         * hostio.c: (hostio_error): Remove the error parameter.  Defer the
11573         error number outputting to the target->hostio_last_error callback.
11574         (hostio_packet_error): Use FILEIO_EINVAL directly.
11575         (handle_open, handle_pread, hostio_error, handle_unlink): Update
11576         calls to hostio_error.
11577         * hostio-errno.c: New.
11578         * server.h (hostio_last_error_from_errno): Declare.
11579         * target.h (target_ops): Add hostio_last_error member.
11580         * linux-low.c (linux_target_op): Register hostio_last_error_from_errno
11581         as hostio_last_error handler.
11582         * spu-low.c (spu_target_ops): Likewise.
11583         * win32-low.c [_WIN32_WCE] (win32_error_to_fileio_error)
11584         (wince_hostio_last_error): New functions.
11585         (win32_target_ops) [_WIN32_WCE]: Register wince_hostio_last_error
11586         as hostio_last_error handler.
11587         (win32_target_ops) [!_WIN32_WCE]: Register
11588         hostio_last_error_from_errno as hostio_last_error handler.
11589         * Makefile.in (SFILES): Add hostio.c and hostio-errno.c.
11590         (hostio-errno.o): New rule.
11591         * configure.ac (GDBSERVER_DEPFILES): Add $srv_hostio_err_objs.
11592         * configure.srv (srv_hostio_err_objs): New variable.  Default to
11593         hostio-errno.o.
11594         (arm*-*-mingw32ce*): Set srv_hostio_err_objs to "".
11595         * configure: Regenerate.
11596
11597 2008-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
11598
11599         * linux-low.c (linux_attach_lwp): Do not _exit after errors.
11600         (linux_kill, linux_detach): Clean up the process list.
11601         * remote-utils.c (remote_open): Improve port number parsing.
11602         (putpkt_binary, input_interrupt): Only send interrupts if the target
11603         is running.
11604         * server.c (extended_protocol): Make static.
11605         (attached): Define earlier.
11606         (exit_requested, response_needed, program_argv): New variables.
11607         (target_running): New.
11608         (start_inferior): Clear attached here.
11609         (attach_inferior): Set attached here.
11610         (require_running): Define.
11611         (handle_query): Use require_running and target_running.  Implement
11612         "monitor exit".
11613         (handle_v_attach, handle_v_run): New.
11614         (handle_v_requests): Use require_running.  Handle vAttach and vRun.
11615         (gdbserver_usage): Update.
11616         (main): Redo argument parsing.  Handle --debug and --multi.  Handle
11617         --attach along with other options or after the port.  Save
11618         program_argv.  Support no initial program.  Resynchronize
11619         communication with GDB after an error.  Handle "monitor exit".
11620         Use require_running and target_running.  Always allow the extended
11621         protocol.  Do not error out for Hc0 or Hc-1.  Do not automatically
11622         restart in extended mode.
11623         * README: Refer to the GDB manual.  Update --attach usage.
11624
11625 2007-12-20  Andreas Schwab  <schwab@suse.de>
11626
11627         * linux-low.c (STACK_SIZE): Define.
11628         (linux_tracefork_child): Use it.  Use __clone2 on ia64.
11629         (linux_test_for_tracefork): Likewise.
11630
11631 2007-12-18  Daniel Jacobowitz  <dan@codesourcery.com>
11632
11633         * linux-low.c (linux_wait_for_event): Update messages.  Do not
11634         reinsert auto-delete breakpoints.
11635         * mem-break.c (struct breakpoint): Change return type of handler to
11636         int.
11637         (set_breakpoint_at): Update handler type.
11638         (reinsert_breakpoint_handler): Return 1 instead of calling
11639         delete_breakpoint.
11640         (reinsert_breakpoint_by_bp): Check for the original breakpoint before
11641         setting a new one.
11642         (check_breakpoints): Delete auto-delete breakpoints and return 2.
11643         * mem-break.h (set_breakpoint_at): Update handler type.
11644         * thread-db.c (thread_db_create_event, thread_db_create_event): Update.
11645         * win32-low.c (auto_delete_breakpoint): New.
11646         (get_child_debug_event): Use it.
11647
11648 2007-12-16  Daniel Jacobowitz  <dan@codesourcery.com>
11649
11650         * configure.ac: Check for pread and pwrite.
11651         * hostio.c (handle_pread): Fall back to lseek and read.
11652         (handle_pwrite): Fall back to lseek and write.
11653         * config.in, configure: Regenerated.
11654
11655 2007-12-07  Daniel Jacobowitz  <dan@codesourcery.com>
11656
11657         * server.c (myresume): Add own_buf argument.
11658         (main): Update calls.
11659
11660 2007-12-06  Daniel Jacobowitz  <dan@codesourcery.com>
11661
11662         * linux-low.c (linux_wait, linux_resume): Do not handle async I/O.
11663         * remote-utils.c (remote_open): Do not call disable_async_io.
11664         (block_async_io): Delete.
11665         (unblock_async_io): Make static.
11666         (initialize_async_io): New.
11667         * server.c (handle_v_cont): Handle async I/O here.
11668         (myresume): Likewise.  Move other common resume tasks here...
11669         (main): ... from here.  Call initialize_async_io.  Disable async
11670         I/O before the main loop.
11671         * server.h (initialize_async_io): Declare.
11672         (block_async_io, unblock_async_io): Delete prototypes.
11673         * spu-low.c (spu_resume, spu_wait): Do not handle async I/O here.
11674
11675 2007-12-06  Mick Davis  <mickd@goanna.iinet.net.au>
11676
11677         * remote-utils.c (readchar): Allow binary data in received messages.
11678
11679 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11680
11681         * win32-low.c (attaching): New global.
11682         (win32_create_inferior): Clear the `attaching' global.
11683         (win32_attach): Set the `attaching' global.
11684         (get_child_debug_event) [_WIN32_WCE]: Stop the inferior when
11685         attaching.  Only set a breakpoint at the entry point if not
11686         attaching.
11687
11688 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11689
11690         * server.c (main): Don't report dll events on the initial
11691         connection on attaches.
11692
11693 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11694
11695         * server.c (main): Relax numerical bases supported for the pid of
11696         the --attach command line argument.
11697
11698 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11699
11700         * win32-low.c (win32_attach): Call OpenProcess before
11701         DebugActiveProcess, not after.  Add last error output to error
11702         call.
11703
11704 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11705
11706         * win32-low.c (win32_get_thread_context)
11707         (win32_set_thread_context): New functions.
11708         (thread_rec): Use win32_get_thread_context.
11709         (continue_one_thread, win32_resume): Use win32_set_thread_context.
11710         * win32-low.h (win32_thread_info) [_WIN32_WCE]: Add `base_context'
11711         field.
11712
11713 2007-12-03  Leo Zayas
11714             Pedro Alves  <pedro_alves@portugalmail.pt>
11715
11716         * win32-low.c (soft_interrupt_requested, faked_breakpoint): New
11717         global variables.
11718         (child_add_thread): Minor cleanup.
11719         (child_continue): Resume artificially suspended threads before
11720         calling ContinueDebugEvent.
11721         (suspend_one_thread): New.
11722         (fake_breakpoint_event): New.
11723         (get_child_debug_event): Change return type to int.  Check here if
11724         gdb sent an interrupt request.  If a soft interrupt was requested,
11725         fake a breakpoint event.  Return 0 if there is no event to handle,
11726         and 1 otherwise.
11727         (win32_wait): Don't check here if gdb sent an interrupt request.
11728         Ensure there is a valid event to handle.
11729         (win32_request_interrupt): Add soft interruption method as last
11730         resort.
11731
11732 2007-12-03  Leo Zayas
11733             Pedro Alves  <pedro_alves@portugalmail.pt>
11734
11735         * win32-low.h (win32_thread_info): Add descriptions to the
11736         structure members.  Replace `suspend_count' counter by a
11737         `suspended' flag.
11738         * win32-low.c (thread_rec): Update condition of when to get the
11739         context from the inferior.  Rely on ContextFlags being set if it
11740         has already been retrieved.  Only suspend the inferior thread if
11741         we haven't already.  Warn if that fails.
11742         (continue_one_thread): s/suspend_count/suspended/.  Only call
11743         ResumeThread once.  Warn if that fails.
11744
11745 2007-12-02  Pedro Alves  <pedro_alves@portugalmail.pt>
11746
11747         * win32-low.c (win32_wait): Don't read from the inferior when it
11748         has already exited.
11749
11750 2007-12-02  Pedro Alves  <pedro_alves@portugalmail.pt>
11751
11752         * Makefile.in (win32_low_h): New variable.
11753         (win32-low.o): Add dependency on $(win32_low_h).
11754         (win32-arm-low.o, win32-i386-low.o): New rules.
11755
11756 2007-11-30  Daniel Jacobowitz  <dan@codesourcery.com>
11757
11758         * hostio.c: Correct copyright year.
11759
11760 2007-11-30  Daniel Jacobowitz  <dan@codesourcery.com>
11761
11762         * Makefile.in (OBS): Add hostio.o.
11763         (hostio.o): New rule.
11764         * server.h (handle_vFile): Declare.
11765         * hostio.c: New file.
11766         * server.c (handle_v_requests): Take packet_len and new_packet_len
11767         for binary packets.  Call handle_vFile.
11768         (main): Update call to handle_v_requests.
11769
11770 2007-11-05  Daniel Jacobowitz  <dan@codesourcery.com>
11771
11772         * linux-low.c: Include <sched.h>.
11773
11774 2007-11-01  Daniel Jacobowitz  <dan@codesourcery.com>
11775
11776         * linux-low.c (linux_tracefork_grandchild): New.
11777         (linux_tracefork_child): Use clone.
11778         (linux_test_for_tracefork): Use clone; allocate and free a stack.
11779
11780 2007-10-31  Joel Brobecker  <brobecker@adacore.com>
11781
11782         * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh.
11783
11784 2007-10-24  Daniel Jacobowitz  <dan@codesourcery.com>
11785
11786         * linux-low.c (handle_extended_wait): Handle unexpected signals.
11787
11788 2007-10-23  Daniel Jacobowitz  <dan@codesourcery.com>
11789
11790         * inferiors.c (change_inferior_id): Delete.
11791         (add_pid_to_list, pull_pid_from_list): New.
11792         * linux-low.c (PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG)
11793         (PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK)
11794         (PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC, PTRACE_O_TRACEVFORKDONE)
11795         (PTRACE_O_TRACEEXIT, PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK)
11796         (PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE)
11797         (PTRACE_EVENT_EXIT, __WALL): Provide default definitions.
11798         (stopped_pids, thread_db_active, must_set_ptrace_flags): New variables.
11799         (using_threads): Always set to 1.
11800         (handle_extended_wait): New.
11801         (add_process): Do not set TID.
11802         (linux_create_inferior): Set must_set_ptrace_flags.
11803         (linux_attach_lwp): Remove TID argument.  Do not check using_threads.
11804         Use PTRACE_SETOPTIONS.  Call new_thread_notify.  Update all callers.
11805         (linux_thread_alive): Rename TID argument to LWPID.
11806         (linux_wait_for_process): Handle unknown processes.  Do not use TID.
11807         (linux_wait_for_event): Do not use TID or check using_threads.  Update
11808         call to dead_thread_notify.  Call handle_extended_wait.
11809         (linux_create_inferior): Use PTRACE_SETOPTIONS.
11810         (send_sigstop): Delete sigstop_sent.
11811         (wait_for_sigstop): Avoid TID.
11812         (linux_supports_tracefork_flag, linux_tracefork_child, my_waitpid)
11813         (linux_test_for_tracefork): New.
11814         (linux_lookup_signals): Use thread_db_active and
11815         linux_supports_tracefork_flag.
11816         (initialize_low): Use thread_db_active and linux_test_for_tracefork.
11817         * linux-low.h (get_process_thread): Avoid TID.
11818         (struct process_ifo): Move thread_known and tid to the end.  Remove
11819         sigstop_sent.
11820         (linux_attach_lwp, thread_db_init): Update prototypes.
11821         * server.h (change_inferior_id): Delete prototype.
11822         (add_pid_to_list, pull_pid_from_list): New prototypes.
11823         * thread-db.c (thread_db_use_events): New.
11824         (find_first_thread): Rename to...
11825         (find_one_thread): ...this.  Update callers and messages.  Do not
11826         call fatal.  Check thread_db_use_events.  Do not call
11827         change_inferior_id or new_thread_notify.
11828         (maybe_attach_thread): Update.  Do not call new_thread_notify.
11829         (thread_db_init): Set thread_db_use_events.  Check use_events.
11830         * utils.c (fatal, warning): Correct message prefix.
11831
11832 2007-10-15  Daniel Jacobowitz  <dan@codesourcery.com>
11833
11834         * Makefile.in (clean): Remove new files.
11835         (powerpc-32.o, powerpc-32.c, powerpc-e500.o, powerpc-e500.c)
11836         (powerpc-64.o, powerpc-64.c): New rules.
11837         * configure.srv: Use alternate register sets for powerpc64-*-linux*
11838         with AltiVec, powerpc-*-linux* with AltiVec, and powerpc-*-linux*
11839         with SPE.
11840         * linux-ppc-low.c (ppc_regmap): Do not fetch the FP registers for
11841         SPE targets.
11842         (ppc_cannot_store_register): Do not check for FPSCR for SPE targets.
11843         (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS, ppc_fill_vrregset)
11844         (ppc_store_vrregset, PTRACE_GETEVRREGS, PTRACE_SETEVRREGS)
11845         (struct gdb_evrregset_t, ppc_fill_evrregset, ppc_store_evrregset): New.
11846         (target_regsets): Add AltiVec and SPE register sets.
11847         * configure.ac: Check for AltiVec and SPE.
11848         * linux-ppc64-low.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS)
11849         (ppc_fill_vrregset, ppc_store_vrregset): New.
11850         (target_regsets): Add AltiVec register set.
11851         * configure: Regenerated.
11852
11853 2007-09-19  Daniel Jacobowitz  <dan@codesourcery.com>
11854
11855         * linux-low.c (O_LARGEFILE): Define.
11856         (linux_read_memory): Use /proc/PID/mem.
11857         * configure.ac: Use AC_GNU_SOURCE.  Check for pread64.
11858         * configure, config.in: Regenerated.
11859
11860 2007-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
11861
11862         * linux-low.c (linux_wait_for_event): Do not pass signals while
11863         single-stepping.
11864
11865 2007-09-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11866
11867         * win32-low.c (create_process): New.
11868         (win32_create_inferior): Use create_process instead of
11869         CreateProcess.  If create_process failed retry appending an ".exe"
11870         suffix.  Store the GetLastError result immediatelly after
11871         create_process calls and use it on the call to error.
11872
11873 2007-09-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11874
11875         * win32-low.c (handle_load_dll): Don't use toolhelp when waiting.
11876
11877 2007-08-23  Joel Brobecker  <brobecker@adacore.com>
11878
11879         * configure.ac: Switch license to GPLv3.
11880
11881 2007-08-01  Michael Snyder  <msnyder@access-company.com>
11882
11883         * remote-utils.c (putpkt_binary): Memory leak, free buf2.
11884
11885 2007-07-31  Pedro Alves  <pedro_alves@portugalmail.pt>
11886
11887         * win32-low.c (winapi_CloseToolhelp32Snapshot) [_WIN32_WCE]: New
11888         typedef.
11889         (win32_CloseToolhelp32Snapshot) [_WIN32_WCE]: New global var.
11890         (load_toolhelp) [_WIN32_WCE]: Load TOOLHELP.DLL.  Get
11891         CloseToolhelp32Snapshot.
11892         (toolhelp_get_dll_name) [_WIN32_WCE]: Close the snapshot with
11893         CloseToolhelp32Snapshot.
11894
11895 2007-07-27  Michael Snyder  <michael.snyder@access-company.com>
11896
11897         * server.c (main): Check for inferior exit before main loop.
11898
11899 2007-07-18  Pedro Alves  <pedro_alves@portugalmail.pt>
11900
11901         * remote-utils.c (remote_open): Set SO_KEEPALIVE on remote_desc
11902         instead of on tmp_desc.
11903
11904 2007-07-17  Pedro Alves  <pedro_alves@portugalmail.pt>
11905             Daniel Jacobowitz  <dan@codesourcery.com>
11906
11907         * inferiors.c (all_dlls, dlls_changed, get_dll): New.
11908         (add_thread): Minor cleanups.
11909         (clear_inferiors): Move lower in the file.  Clear the DLL
11910         list.
11911         (free_one_dll, match_dll, loaded_dll, unloaded_dll, clear_list): New.
11912         * remote-utils.c (prepare_resume_reply): Check dlls_changed.
11913         (xml_escape_text): New.
11914         * server.c (handle_query): Handle qXfer:libraries:read.  Report it
11915         for qSupported.
11916         (handle_v_cont): Report errors.
11917         (gdbserver_version): Update.
11918         (main): Correct size of own_buf.  Do not report initial DLL events.
11919         * server.h (struct dll_info, all_dlls, dlls_changed, loaded_dll)
11920         (unloaded_dll, xml_escape_text): New.
11921         * win32-low.c (enum target_waitkind): Update comments.
11922         (win32_add_one_solib, get_image_name, winapi_EnumProcessModules)
11923         (winapi_GetModuleInformation, winapi_GetModuleFileNameExA)
11924         (win32_EnumProcessModules, win32_GetModuleInformation)
11925         (win32_GetModuleFileNameExA, load_psapi, psapi_get_dll_name)
11926         (winapi_CreateToolhelp32Snapshot, winapi_Module32First)
11927         (winapi_Module32Next, win32_CreateToolhelp32Snapshot)
11928         (win32_Module32First, win32_Module32Next, load_toolhelp)
11929         (toolhelp_get_dll_name, handle_load_dll, handle_unload_dll): New.
11930         (get_child_debug_event): Handle DLL events.
11931         (win32_wait): Likewise.
11932
11933 2007-07-12  Daniel Jacobowitz  <dan@codesourcery.com>
11934
11935         * configure.srv: Set srv_linux_regsets for sh*-*-linux*.
11936         * linux-sh-low.c (sh_fill_gregset, target_regsets): New.
11937
11938 2007-07-08  Pedro Alves  <pedro_alves@portugalmail.pt>
11939
11940         * win32-low.c (handle_output_debug_string): Ignore event if not
11941         waiting.
11942
11943 2007-07-08  Pedro Alves  <pedro_alves@portugalmail.pt>
11944
11945         * win32-arm-low.c (arm_wince_breakpoint): Fix typo.
11946
11947 2007-07-03  Daniel Jacobowitz  <dan@codesourcery.com>
11948
11949         * remote-utils.c (look_up_one_symbol): Handle 'm' packets.
11950
11951 2007-07-02  Daniel Jacobowitz  <dan@codesourcery.com>
11952
11953         * inferiors.c (change_inferior_id): Add comment.
11954         * linux-low.c (check_removed_breakpoint): Add an early
11955         prototype.  Improve debug output.
11956         (linux_attach): Doc update.
11957         (linux_detach_one_process, linux_detach): Clean up before releasing
11958         each process.
11959         (send_sigstop, wait_for_sigstop): Improve comments and debug output.
11960         * linux-low.h (struct process_info): Doc improvement.
11961         * mem-break.c (delete_all_breakpoints): New.
11962         * mem-break.h (delete_all_breakpoints): New prototype.
11963         * thread-db.c (find_first_thread): New.
11964         (thread_db_create_event): Call it instead of
11965         thread_db_find_new_threads.  Clean up unused variables.
11966         (maybe_attach_thread): Remove first thread handling.
11967         (thread_db_find_new_threads): Use find_first_thread.
11968         (thread_db_get_tls_address): Likewise.
11969
11970 2007-06-27  Daniel Jacobowitz  <dan@codesourcery.com>
11971
11972         * thread-db.c (thread_db_find_new_threads): Add prototype.
11973         (thread_db_create_event): Check for the main thread before adding
11974         a new thread.
11975         (maybe_attach_thread): Only enable event reporting if TID == 0.
11976         (thread_db_get_tls_address): Check for new threads.
11977
11978 2007-06-20  Daniel Jacobowitz  <dan@codesourcery.com>
11979
11980         * linux-low.c (linux_create_inferior): Try execv before execvp.
11981         * spu-low.c (spu_create_inferior): Likewise.
11982
11983 2007-06-13  Mike Frysinger  <vapier@gentoo.org>
11984
11985         * linux-low.c (linux_create_inferior): Change execv to execvp.
11986         * spu-low.c (spu_create_inferior): Likewies.
11987
11988 2007-06-13  Daniel Jacobowitz  <dan@codesourcery.com>
11989
11990         * Makefile.in (clean): Clean new files instead of deleted ones.
11991         (reg-mips.o, reg-mips.c, reg-mips64.o, reg-mips64.c): Delete.
11992         (mips-linux.o, mips-linux.c, mips64-linux.o, mips64-linux.c): New
11993         rules.
11994         * configure.srv: Specify XML files and new regformats for MIPS and
11995         MIPS64 GNU/Linux.
11996         * linux-mips-low.c (mips_num_regs): Set to only used registers.
11997         (mips_regmap): Do not fetch $0.  Remove unused registers.  Add
11998         an entry for the restart register.
11999         (mips_cannot_fetch_register, mips_cannot_store_register)
12000         (mips_reinsert_addr, mips_fill_fpregset, mips_store_fpregset): Update
12001         register names to match the XML descriptions.
12002         (mips_fill_gregset, mips_store_gregset): Likewise.  Handle the
12003         restart register instead of $0.
12004
12005 2007-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
12006             Markus Deuling  <deuling@de.ibm.com>
12007
12008         * remote-utils.c (decode_xfer_write): New function.
12009         * server.h (decode_xfer_write): Add prototype.
12010         * server.c (handle_query): Add PACKET_LEN argument.  Support
12011         qXfer:spu:read and qXfer:spu:write packets.
12012         (main): Pass packet_len to handle_query.
12013         * spu-low.c (spu_target_ops): Add spu_proc_xfer_spu.
12014         * target.h (target_ops): Add qxfer_spu.
12015
12016 2007-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
12017
12018         * spu-low.c (spu_proc_xfer_spu): Do not return failure when
12019         accessing non-seekable spufs files.
12020
12021 2007-05-16  Markus Deuling  <deuling@de.ibm.com>
12022
12023         * server.c (handle_query): Add reply for qC packet.
12024
12025 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12026             Leo Zayas  <lerele@champenstudios@com>
12027
12028         * server.h (check_remote_input_interrupt_request): New function.
12029         * remote_utils.c (INVALID_DESCRIPTOR): New define.
12030         (remote_desc): Initialize with INVALID_DESCRIPTOR.
12031         (input_interrupt): Expose on USE_WIN32API too.  Fix whitespace.
12032         (check_remote_input_interrupt_request): New function.
12033         * server.h (check_remote_input_interrupt_request): Declare.
12034         * win32-low.c (winapi_DebugBreakProcess,
12035         winapi_GenerateConsoleCtrlEvent): New typedefs.
12036         (get_child_debug_event): Lower Win32 debug event polling from 1 sec
12037         to 250 ms.
12038         (win32_wait): Check for remote interrupt request
12039         with check_remote_input_interrupt_request.
12040         (win32_request_interrupt): New function.
12041         (win32_target_op): Set request_interrupt to win32_request_interrupt.
12042
12043 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12044
12045         * win32-low.c (debug_registers_changed,
12046         debug_registers_used, CONTEXT_EXTENDED_REGISTERS,
12047         CONTEXT_FLOATING_POINT, CONTEXT_DEBUG_REGISTERS,
12048         CONTEXT_DEBUGGER, CONTEXT_DEBUGGER_DR): Delete.
12049         (thread_rec): Get context using the low target.
12050         (child_add_thread): Call thread_added on the low target,
12051         which does the same thing.
12052         (regptr): Delete.
12053         (do_initial_child_stuff): Remove debug registers references.
12054         Set context using the low target.  Resume threads after
12055         setting the contexts.
12056         (child_continue): Remove dead variable.  Remove debug
12057         registers references.
12058         (child_fetch_inferior_registers): Go through the low target.
12059         (do_child_store_inferior_registers): Remove.
12060         (child_store_inferior_registers): Go through the low target.
12061         (win32_resume): Remove debug registers references.
12062         Set context using the low target.
12063         (handle_exception): Change return type to void.  Don't record
12064         context here.  Set status to TARGET_WAITKIND_SPURIOUS on a
12065         first chance exception.
12066         (get_child_debug_event): Change return type to void.  Remove
12067         goto loop.  Always return after waiting for debug event.
12068         (win32_wait): Convert to switch statement.  Handle spurious
12069         events.
12070
12071         * win32-i386-low.c (debug_registers_changed,
12072         debug_registers_used): New.
12073         (initial_stuff): Rename to ...
12074         (i386_initial_stuff): ... this.  Clear debug registers
12075         state variables.
12076         (store_debug_registers): Delete.
12077         (i386_get_thread_context): New.
12078         (load_debug_registers): Delete.
12079         (i386_set_thread_context): New.
12080         (i386_thread_added): New.
12081         (single_step): Rename to ...
12082         (i386_single_step): ... this.
12083         (do_fetch_inferior_registers): Rename to ...
12084         (i386_fetch_inferior_register): ... this.
12085         (i386_store_inferior_register): New.
12086         (the_low_target): Adapt to new interface.
12087
12088         * win32-arm-low.c (CONTEXT_FLOATING_POINT): Define.
12089         (arm_get_thread_context): New.
12090         (arm_set_thread_context): New.
12091         (regptr): New.
12092         (do_fetch_inferior_registers): Rename to ...
12093         (arm_fetch_inferior_register): ... this.
12094         (arm_store_inferior_register): New.
12095         (arm_wince_breakpoint): Reimplement as unsigned long.
12096         (arm_wince_breakpoint_len): Define.
12097         (the_low_target): Adapt to new interface.
12098
12099         * win32-low.h (target_ops): Remove regmap, store_debug_registers and
12100         load_debug_registers.  Add get_thread_context, set_thread_context,
12101         thread_added and store_inferior_register.  Rename
12102         fetch_inferior_registers to fetch_inferior_register.
12103         (regptr): Remove declaration.
12104
12105 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12106
12107         * linux-low.c (linux_detach): Change return type to int.  Return 0.
12108         * spu-low.c (spu_detach): Likewise.
12109
12110 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12111
12112         * target.h (target_ops): Change return type of detach to int.
12113         Add join.
12114         (join_inferior): New.
12115         * server.c (main): Don't skip detach support on mingw32.
12116         If the inferior doesn't support detaching return error.
12117         Call join_inferior instead of using waitpid.
12118         * linux-low.c (linux_join): New.
12119         (linux_target_op): Add linux_join.
12120         * spu-low.c (spu_join): New.
12121         (spu_target_ops): Add spu_join.
12122         * win32-low.c (win32_detach): Adapt to new interface.
12123         Reopen current_process_handle before detaching.  Issue a child
12124         resume before detaching.
12125         (win32_join): New.
12126         (win32_target_op): Add win32_join.
12127
12128 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12129
12130         * win32-low.c (win32-attach): Fix return value.
12131         * target.h (target_ops): Describe ATTACH return values.
12132
12133 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12134
12135         * win32-low.c (GETPROCADDRESS): Define.
12136         (winapi_DebugActiveProcessStop): Add WINAPI.  typedef as pointer.
12137         (winapi_DebugSetProcessKillOnExit): Likewise.
12138         (win32_create_inferior): Force usage of ansi CreateProcessA.
12139         (win32_attach): Use GETPROCADDRESS.
12140         (win32_detach): Likewise.
12141
12142 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12143
12144         * win32-low.c (win32_wait): Don't use WSTOPSIG.
12145
12146 2007-03-30  Pedro Alves  <pedro_alves@portugalmail.pt>
12147
12148         * win32-low.c: Commit leftover changes from 2007-03-29.
12149
12150 2007-03-30  Daniel Jacobowitz  <dan@codesourcery.com>
12151
12152         * i387-fp.c (struct i387_fsave, struct i387_fxsave): Make 16-bit
12153         fields short instead of int.  Add explicit padding.
12154         (i387_cache_to_fsave): Remove unnecessary casts.
12155         (i387_fsave_to_cache): Doc fix.
12156         (i387_cache_to_fxsave): Remove unnecessary casts and masking.
12157
12158 2007-03-30  Daniel Jacobowitz  <dan@codesourcery.com>
12159
12160         * i387-fp.c (i387_cache_to_fxsave): Reinitialize val2 before use.
12161         (i387_fxsave_to_cache): Check fp->ftag while building ftag value.
12162
12163 2007-03-29  Pedro Alves  <pedro_alves@portugalmail.pt>
12164
12165         * configure.srv (arm*-*-mingw32ce*): Move near the other
12166         arm targets.
12167
12168 2007-03-29  Pedro Alves  <pedro_alves@portugalmail.pt>
12169
12170         * configure.ac: Add errno checking.
12171         (AC_CHECK_HEADERS): Add errno.h, fcntl.h, signal.h,
12172         sys/file.h and malloc.h.
12173         (AC_CHECK_DECLS): Add perror.
12174         (srv_mingwce): Handle.
12175         * configure.srv (i[34567]86-*-cygwin*): Add
12176         win32-i386-low.o to srv_tgtobj.
12177         (i[34567]86-*-mingw*): Likewise.
12178         (arm*-*-mingw32ce*): Add case.
12179         * gdbreplay.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
12180         HAVE_FCNTL_H, HAVE_ERRNO_H, HAVE_MALLOC_H]: Check.
12181         [__MINGW32CE__] (strerror): New function.
12182         [__MINGW32CE__] (errno): Define to GetLastError.
12183         [__MINGW32CE__] (COUNTOF): New macro.
12184         (remote_open): Remove extra close call.
12185         * mem-break.c (delete_breakpoint_at): New function.
12186         * mem-break.h (delete_breakpoint_at): Declare.
12187         * remote-utils.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
12188         HAVE_FCNTL_H, HAVE_UNISTD_H, HAVE_ERRNO_H]: Check.
12189         [USE_WIN32API] (read, write): Add char* casts.
12190         * server.c [HAVE_UNISTD_H, HAVE_SIGNAL_H]: Check.
12191         * server.h: Include wincecompat.h on Windows CE.
12192         [HAVE_ERRNO_H]: Check.
12193         (perror): Declare if not declared.
12194         * utils.c: Add stdlib.h, errno.h and malloc.h includes.
12195         (perror_with_name): Remove errno declaration.
12196         * wincecompat.h: New.
12197         * wincecompat.c: New.
12198         * win32-low.h: New.
12199         * win32-arm-low.c: New.
12200         * win32-i386-low.c: New.
12201         (win32-low.c): Include mem-break.h and win32-low.h, and winnt.h.
12202         (OUTMSG2): Make it safe.
12203         (_T): New macro.
12204         (COUNTOF): New macro.
12205         (NUM_REGS): Get it from the low target.
12206         (CONTEXT_EXTENDED_REGISTERS, CONTEXT_FLOATING_POINT,
12207         CONTEXT_DEBUG_REGISTERS): Add fallbacks to 0.
12208         (thread_rec): Let low target handle debug registers.
12209         (child_add_thread): Likewise.
12210         (child_init_thread_list): Likewise.
12211         (continue_one_thread): Likewise.
12212         (regptr): New.
12213         (do_child_fetch_inferior_registers): Move to ...
12214         * win32-i386-low.c: ... here, and rename to ...
12215         (do_fetch_inferior_registers): ... this.
12216         * win32-low.c (child_fetch_inferior_registers):
12217         Go through the low target.
12218         (do_child_store_inferior_registers): Use regptr.
12219         (strwinerror): New function.
12220         (win32_create_inferior): Handle Windows CE.
12221         Use strwinerror instead of strerror on Windows error
12222         codes.  Add program to the error output.
12223         Don't close the main thread handle on Windows CE.
12224         (win32_attach): Use coredll.dll on Windows CE.
12225         (win32_kill): Close current process and current
12226         thread handles.
12227         (win32_detach): Use coredll.dll on Windows CE.
12228         (win32_resume): Let low target handle debug registers, and
12229         step request.
12230         (handle_exception): Add/Remove initial breakpoint.  Avoid
12231         non-existant WSTOPSIG on Windows CE.
12232         (win32_read_inferior_memory): Cast to remove warning.
12233         (win32_arch_string): Go through the low target.
12234         (initialize_low): Call set_breakpoint_data with the low
12235         target's breakpoint.
12236         * win32-low.c (dr, FLAG_TRACE_BIT, FCS_REGNUM,
12237         FOP_REGNUM, mappings): Move to ...
12238         * win32-i386-low.c: ... here.
12239         * win32-low.c (win32_thread_info): Move to ...
12240         * win32-low.h: ... here.
12241         * Makefile.in (SFILES): Add win32-low.c, win32-i386-low.c,
12242         win32-arm-low.c and wincecompat.c.
12243         (all:): Add $EXEEXT.
12244         (install-only:): Likewise.
12245         (gdbserver:): Likewise.
12246         (gdbreplay:): Likewise.
12247         * config.in: Regenerate.
12248         * configure: Regenerate.
12249
12250 2007-03-28  Pedro Alves  <pedro_alves@portugalmail.pt>
12251
12252         * win32-low.c: Rename typedef thread_info to
12253         win32_thread_info throughout.
12254
12255 2007-03-28  Pedro Alves  <pedro_alves@portugalmail.pt>
12256
12257         * win32-i386-low.c: Rename to ...
12258         * win32-low.c: ... this.
12259         * configure.srv: Replace win32-i386-low.o with win32-low.o.
12260         * Makefile.in: Likewise.
12261
12262 2007-03-27  Pedro Alves  <pedro_alves@portugalmail.pt>
12263
12264         * remote-utils.c (monitor_output): Constify msg parameter.
12265         * server.h (monitor_output): Likewise.
12266         * win32-i386-low.c (handle_output_debug_string): New.
12267         (win32_kill): Handle OUTPUT_DEBUG_STRING_EVENT events using
12268         handle_output_debug_string.
12269         (get_child_debug_event): Likewise.
12270
12271 2007-03-27  Mat Hostetter  <mat@lcs.mit.edu>
12272
12273         * server.c (main): Correct strtoul check.
12274
12275 2007-03-27  Jon Ringle  <jon@ringle.org>
12276
12277         * linux-low.c: Check __ARCH_HAS_MMU__ also.
12278
12279 2007-03-27  Brooks Moses  <brooks.moses@codesourcery.com>
12280
12281         * Makefile.in: Add dummy "pdf" and "install-pdf" targets.
12282
12283 2007-02-27  Daniel Jacobowitz  <dan@codesourcery.com>
12284
12285         * terminal.h: Check HAVE_SGTTY_H.
12286
12287 2007-02-27  Mat Hostetter  <mat@lcs.mit.edu>
12288
12289         * remote-utils.c (remote_open): Print out the assigned port number.
12290
12291 2007-02-26  Daniel Jacobowitz  <dan@codesourcery.com>
12292
12293         * remote-utils.c (monitor_output): New function.
12294         * server.c (debug_threads): Define here.
12295         (monitor_show_help): New function.
12296         (handle_query): Handle qRcmd.
12297         (main): Do not handle 'd' packet.
12298         * server.h (debug_threads, remote_debug, monitor_output): Declare.
12299         * linux-low.c, spu-low.c, win32-i386-low.c: Remove definitions
12300         of debug_threads.
12301
12302 2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>
12303
12304         * Makefile.in (EXEEXT): New.
12305         (clean): Use $(EXEEXT).
12306
12307 2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>
12308
12309         * target.h (target_ops): Rename send_signal to request_interrupt,
12310         and remove enum target_signal parameter.
12311         * linux-low.c (linux_request_interrupt): Rename from
12312         linux_send_signal, and always send SIGINT.
12313         * spu-low.c (spu_request_interrupt): Rename from spu_send_signal,
12314         and always send SIGINT.
12315         * remote-utils.c (putpkt_binary): Call request_interrupt, instead
12316         of send_signal.
12317         (input_interrupt): Likewise.
12318
12319 2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>
12320
12321         * server.c (get_features_xml): Check if target implemented
12322         arch_string.
12323         * win32-i386-low.c (win32_arch_string): New.
12324         (win32_target_ops): Add win32_arch_string as arch_string member.
12325
12326 2007-02-22  Markus Deuling  <deuling@de.ibm.com>
12327
12328         * spu-low.c (spu_arch_string): New.
12329         (spu_target_ops): Add spu_arch_string.
12330
12331 2007-02-16  Daniel Jacobowitz  <dan@codesourcery.com>
12332
12333         * remote-utils.c: Remove HAVE_TERMINAL_H check.
12334         * configure.ac: Do not check for terminal.h.
12335         * configure, config.in: Regenerated.
12336
12337 2007-02-08  Daniel Jacobowitz  <dan@codesourcery.com>
12338
12339         * Makefile.in (OBS): Add $(XML_BUILTIN).
12340         (XML_DIR, XML_TARGET, XML_FILES, XML_BUILTIN): New.
12341         (clean): Update.
12342         (target.xml, xml-builtin.c, stamp-xml, arm-with-iwmmxt.o)
12343         (arm-with-iwmmxt.c): New.
12344         * config.in, configure: Regenerate.
12345         * configure.ac: Check for iWMMXt.  Handle srv_xmltarget,
12346         srv_xmlbuiltin, and srv_xmlfiles.  Define USE_XML.
12347         * configure.srv: Mention srv_xmltarget and srv_xmlfiles.
12348         (arm*-*-linux*): Add iWMMXt and regset support.
12349         * linux-arm-low.c (PTRACE_GETWMMXREGS, PTRACE_SETWMMXREGS): Define.
12350         (arm_fill_gregset, arm_store_gregset, arm_fill_wmmxregset)
12351         (arm_store_wmmxregset, target_regsets): New.
12352         * server.c (get_features_xml): Take annex argument.  Check builtin
12353         XML documents.
12354         (handle_query): Handle multiple annexes.
12355
12356 2007-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
12357
12358         * remote-utils.c [USE_WIN32API] (read, write): Define.
12359         (putpkt_binary, input_interrupt, readchar, getpkt): Use read and
12360         write.
12361
12362 2007-01-09  Daniel Jacobowitz  <dan@codesourcery.com>
12363
12364         * linux-i386-low.c (the_low_target): Set arch_string.
12365         * linux-x86-64-low.c (the_low_target): Likewise.
12366         * linux-low.c (linux_arch_string): New.
12367         (linux_target_ops): Add it.
12368         * linux-low.h (struct linux_target_ops): Add arch_string.
12369         * server.c (write_qxfer_response): Use const void * for DATA.
12370         (get_features_xml): New.
12371         (handle_query): Handle qXfer:features:read.  Report it for qSupported.
12372         * target.h (struct target_ops): Add arch_string method.
12373
12374 2007-01-03  Denis Pilat  <denis.pilat@st.com>
12375             Daniel Jacobowitz  <dan@codesourcery.com>
12376
12377         * linux-low.c (linux_kill): Handle being called with no threads.
12378         * win32-i386-low.c (win32_kill): Likewise.
12379         (get_child_debug_event): Clear current_process_handle.
12380
12381 2006-12-30  Denis PILAT  <denis.pilat@st.com>
12382             Daniel Jacobowitz  <dan@codesourcery.com>
12383
12384         * remote-utils.c (remote_open): Check the type of specified
12385         serial port devices before opening them.
12386         * server.c (main): Kill the inferior if an error occurs during
12387         the first remote_open.
12388
12389 2006-12-05  Markus Deuling  <deuling@de.ibm.com>
12390
12391         * README: Update supported targets.
12392
12393 2006-11-28  Daniel Jacobowitz  <dan@codesourcery.com>
12394
12395         * Makefile.in (clean): Remove reg-mips64.c.
12396         (reg-mips64.c, reg-mips64.o): New rules.
12397         * configure.srv: Handle mips64.  Include regset support for mips.
12398         * linux-mips-low.c (union mips_register): New.
12399         (mips_get_pc, mips_set_pc, mips_reinsert_addr): Use it.
12400         (mips_breakpoint, mips_breakpoint_at): Use int.
12401         (mips_collect_register, mips_supply_register)
12402         (mips_collect_register_32bit, mips_supply_register_32bit)
12403         (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
12404         (mips_store_fpregset, target_regsets): New.
12405         * thread-db.c (thread_db_get_tls_address): Use uintptr_t.
12406
12407 2006-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
12408
12409         * configure.srv: Add target "spu*-*-*".
12410         * Makefile.in (clean): Remove reg-spu.c.
12411         (reg-spu.c, reg-spu.o, spu-low.o): Add dependencies.
12412         * spu-low.c: New file.
12413
12414 2006-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
12415
12416         * configure.ac: Correct td_thr_tls_get_addr test.
12417         * configure: Regenerated.
12418
12419 2006-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
12420
12421         * linux-low.c (linux_wait_for_event): Reformat.  Use the
12422         pass_signals array.
12423         * remote-utils.c (decode_address_to_semicolon): New.
12424         * server.c (pass_signals, handle_general_set): New.
12425         (handle_query): Mention QPassSignals for qSupported.
12426         (main): Call handle_general_set.
12427         * server.h (pass_signals, decode_address_to_semicolon): New.
12428
12429 2006-11-06  Daniel Jacobowitz  <dan@codesourcery.com>
12430
12431         * server.c (handle_query): Correct error handling for read_auxv.
12432
12433 2005-10-19  Ulrich Weigand  <uweigand@de.ibm.com>
12434
12435         * configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets
12436         and srv_linux_thread_db to yes.
12437         * linux-s390-low.c (s390_fill_gregset): New function.
12438         (target_regsets): Define data structure.
12439
12440 2006-10-17  Daniel Jacobowitz  <dan@codesourcery.com>
12441
12442         * acinclude.m4 (SRV_CHECK_TLS_GET_ADDR): New.
12443         * configure.ac: Use it.  Define HAVE_TD_THR_TLS_GET_ADDR.
12444         * config.in, configure: Regenerated.
12445         * inferiors.c (gdb_id_to_thread): New function.
12446         (gdb_id_to_thread_id): Use it.
12447         * linux-low.c (linux_target_ops): Use thread_db_get_tls_address.
12448         * linux-low.h (struct process_info): Add th member.
12449         (thread_db_get_tls_address): New prototype.
12450         * remote-utils.c (decode_address): Make non-static.
12451         * server.c (handle_query): Handle qGetTLSAddr.
12452         * server.h (gdb_id_to_thread, decode_address): New prototypes.
12453         * target.h (struct target_ops): Add get_tls_address.
12454         * thread-db.c (maybe_attach_thread): Save the thread handle.
12455         (thread_db_get_tls_address): New.
12456
12457 2006-09-28  Daniel Jacobowitz  <dan@codesourcery.com>
12458
12459         * linux-low.c (PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
12460         (linux_resume_one_process): Take a siginfo_t *.  Update all
12461         callers.  Queue it if necessary.  Use PTRACE_SETSIGINFO.
12462         (struct pending_signals): Add a siginfo_t.
12463         (linux_wait_for_process): Always set last_status.
12464         (linux_wait_for_event): Use PTRACE_GETSIGINFO.
12465         (linux_queue_one_thread): Use PTRACE_GETSIGINFO.
12466         * linux-low.h (struct process_info): Add last_status.
12467
12468 2006-09-21  Daniel Jacobowitz  <dan@codesourcery.com>
12469
12470         * remote-utils.c (try_rle): New function.
12471         (putpkt_binary): Use it.
12472
12473 2006-08-19  Daniel Jacobowitz  <dan@codesourcery.com>
12474
12475         * Makefile.in (clean): Clean reg-x86-64-linux.c.
12476         (reg-x86-64-linux.o, reg-x86-64-linux.c): New.
12477         * configure.srv (x86_64-*-linux*): Use reg-x86-64-linux.o.
12478         * linux-x86-64-low.c (x86_64_regmap): Include ORIG_RAX.
12479         (x86_64_fill_gregset, x86_64_store_gregset): Skip floating
12480         point registers.
12481
12482 2006-08-08  Richard Sandiford  <richard@codesourcery.com>
12483
12484         * server.c (terminal_fd): New variable.
12485         (old_foreground_pgrp): Likewise.
12486         (restore_old_foreground_pgrp): New function.
12487         (start_inferior): Record the terminal file descriptor in terminal_fd
12488         and its original foreground group in old_foreground_pgrp.  Register
12489         restore_old_foreground_pgrp with atexit().
12490
12491 2006-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
12492
12493         * server.c (handle_query): Correct qPart to qXfer.
12494
12495 2006-07-22  Daniel Jacobowitz  <dan@codesourcery.com>
12496
12497         * configure.ac: Check for more headers which are missing on
12498         Windows.  Automatically supply -lwsock32 and USE_WIN32API.
12499         * configure.srv: Add Cygwin and mingw32.
12500         * remote-utils.c: Don't include headers unconditionally which
12501         are missing on mingw32.  Include <winsock.h> for mingw32.
12502         (remote_open): Adjust for mingw32 support.  Flush
12503         standard error after writing to it.
12504         (remote_close, putpkt_binary, input_interrupt, block_async_io)
12505         (unblock_async_io, enable_async_io, disable_async_io)
12506         (readchar, getpkt): Update for Winsock support.
12507         (prepare_resume_reply): Expect a protocol signal number.
12508         * server.c: Disable <sys/wait.h> on mingw32.
12509         (start_inferior): Adjust for mingw32 support.  Flush
12510         standard error after writing to it.
12511         (attach_inferior): Likewise.  Use protocol signal
12512         numbers.
12513         (main): Skip 'D' packet on mingw32.  Use protocol signal numbers
12514         and names.
12515         * win32-i386-low.c: New file.
12516         * Makefile.in (XM_CLIBS): Set.
12517         (gdbserver, gdbreplay): Use $(INTERNAL_CFLAGS).
12518         (win32-i386-low.o): New dependency rule.
12519         * linux-low.c (linux_wait): Use target signal numbers.
12520         * target.h (struct target_ops): Doc fix.
12521         * server.h (target_signal_to_name): New prototype.
12522         * gdbreplay.c: Don't include headers unconditionally which
12523         are missing on mingw32.  Include <winsock.h> for mingw32.
12524         (remote_close, remote_open): Adjust for Winsock support.
12525         * configure, config.in: Regenerated.
12526
12527 2006-07-12  Daniel Jacobowitz  <dan@codesourcery.com>
12528
12529         * server.c (decode_xfer_read, write_qxfer_response): New.
12530         (handle_query): Take a packet length argument.  Handle
12531         qXfer:auxv:read instead of qPart:auxv:read.  Mention it in
12532         the qSupported response.
12533         (main): Update call to handle_query.
12534
12535 2006-06-22  Daniel Jacobowitz  <dan@codesourcery.com>
12536
12537         * remote-utils.c (remote_escape_output, remote_unescape_input): New.
12538         (putpkt_binary): Renamed from putpkt and adjusted for binary
12539         data.
12540         (putpkt): New wrapper for putpkt_binary.
12541         (readchar): Don't mask off the high bit.
12542         (decode_X_packet): New function.
12543         * server.c (main): Call putpkt_binary if a handler sets the packet
12544         length.  Save the length of the incoming packet.  Handle 'X'.
12545         * server.h (gdb_byte, remote_escape_output, decode_X_packet): New.
12546
12547 2006-06-21  Daniel Jacobowitz  <dan@codesourcery.com>
12548
12549         * server.c (handle_query): Handle qSupported.
12550
12551 2006-05-30  Daniel Jacobowitz  <dan@codesourcery.com>
12552
12553         * remote-utils.c (all_symbols_looked_up): New variable.
12554         (look_up_one_symbol): Check it.
12555         * server.h (look_up_one_symbol): New declaration.
12556         * thread-db.c (thread_db_init): Set all_symbols_looked_up.
12557
12558 2006-05-30  Daniel Jacobowitz  <dan@codesourcery.com>
12559
12560         * Makefile.in (linux-arm-low.o): Update dependencies.
12561         * linux-arm-low.c: Include "gdb_proc_service.h".
12562         (PTRACE_GET_THREAD_AREA): Define.
12563         (ps_get_thread_area): New function.
12564
12565 2006-05-09  Nathan Sidwell  <nathan@codesourcery.com>
12566
12567         * configure.srv (m68k*-*-uclinux*): New target.
12568         * linux-low.c (linux_create_inferior): Use vfork on mmuless systems.
12569         (linux_resume_one_process): Remove extraneous cast.
12570         (linux_read_offsets): New.
12571         (linux_target_op): Add linux_read_offsets on mmuless systems.
12572         * server.c (handle_query): Add qOffsets logic.
12573         * target.h (struct target_ops): Add read_offsets.
12574
12575 2006-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
12576
12577         * linux-mips-low.c: Include <sys/ptrace.h> and "gdb_proc_service.h".
12578         (PTRACE_GET_THREAD_AREA): Define.
12579         (ps_get_thread_area): New function.
12580         * Makefile.in (linux-i386-low.o, linux-mips-low.o)
12581         (linux-x86-64-low.o): Update.
12582
12583 2006-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
12584
12585         * configure.ac: Remove checks for prfpregset_t.
12586         * gdb_proc_service.h: New file.
12587         * linux-i386-low.c, linux-x86-64-low.c, thread-db.c: Use the
12588         new "gdb_proc_service.h".
12589         * proc-service.c: Likewise.
12590         (ps_pglobal_lookup, ps_pdread, ps_pdwrite): Use psaddr_t.
12591         (ps_lgetfpregs, ps_lsetfpregs): Use a void* argument.
12592         * Makefile.in (gdb_proc_service_h): Updated.
12593         * configure, config.in: Regenerated.
12594
12595 2006-03-03  Daniel Jacobowitz  <dan@codesourcery.com>
12596
12597         * remote-utils.c (prepare_resume_reply): Move declaration
12598         of gdb_id_from_wait to the top of the block.
12599
12600 2006-02-15  Daniel Jacobowitz  <dan@codesourcery.com>
12601
12602         * linux-low.c (regsets_store_inferior_registers): Read the regset
12603         from the target before filling it.
12604
12605 2006-02-08  Daniel Jacobowitz  <dan@codesourcery.com>
12606
12607         * server.c (attach_inferior): Return SIGTRAP for a successful
12608         attach.
12609
12610 2006-02-01  Daniel Jacobowitz  <dan@codesourcery.com>
12611
12612         * Makefile.in (OBS): Add version.o.
12613         (STAGESTUFF): Delete.
12614         (version.o): Add dependencies.
12615         (version.c): Replace rule.
12616         (clean): Remove version.c.
12617         * server.c (gdbserver_version): New.
12618         (gdbserver_usage): Use printf.
12619         (main): Handle --version and --help.
12620         * server.h (version, host_name): Add declarations.
12621
12622 2005-12-23  Eli Zaretskii  <eliz@gnu.org>
12623
12624         * linux-arm-low.c:
12625         * linux-arm-low.c:
12626         * inferiors.c:
12627         * i387-fp.h:
12628         * i387-fp.c:
12629         * gdbreplay.c:
12630         * regcache.c:
12631         * proc-service.c:
12632         * mem-break.h:
12633         * mem-break.c:
12634         * linux-x86-64-low.c:
12635         * linux-sh-low.c:
12636         * linux-s390-low.c:
12637         * linux-ppc64-low.c:
12638         * linux-ppc-low.c:
12639         * linux-mips-low.c:
12640         * linux-m68k-low.c:
12641         * linux-m32r-low.c:
12642         * linux-low.h:
12643         * linux-low.c:
12644         * linux-ia64-low.c:
12645         * linux-i386-low.c:
12646         * linux-crisv32-low.c:
12647         * thread-db.c:
12648         * terminal.h:
12649         * target.h:
12650         * target.c:
12651         * server.h:
12652         * server.c:
12653         * remote-utils.c:
12654         * regcache.h:
12655         * utils.c:
12656         * Makefile.in:
12657         * configure.ac:
12658         * gdbserver.1: Add (C) after Copyright.  Update the FSF
12659         address.
12660
12661 2005-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
12662
12663         * linux-arm-low.c (arm_eabi_breakpoint): New variable.
12664         (arm_breakpoint_at): Recognize both breakpoints.
12665         (the_low_target): Use the correct breakpoint instruction.
12666
12667 2005-11-02  Daniel Jacobowitz  <dan@codesourcery.com>
12668
12669         * configure.srv (x86_64-*-linux*): Turn on thread_db support.
12670         * linux-x86-64-low.c (x86_64_breakpoint, x86_64_breakpoint_len)
12671         (x86_64_get_pc, x86_64_set_pc, x86_64_breakpoint_at): New.
12672         (the_low_target): Update.
12673
12674 2005-10-25  Andreas Schwab  <schwab@suse.de>
12675
12676         * server.c (main): Allocate mem_buf with PBUFSIZ bytes.
12677
12678         * linux-ia64-low.c (ia64_regmap): Remove NAT registers.
12679         (ia64_num_regs): Reduce to 462.
12680
12681 2005-09-17  Daniel Jacobowitz  <dan@codesourcery.com>
12682
12683         * acinclude.m4: Correct quoting.
12684         * aclocal.m4: Regenerated.
12685
12686         Suggested by SZOKOVACS Robert <szo@ies.hu>:
12687         * thread-db.c (thread_db_err_str): Handle TD_VERSION.
12688         (thread_db_init): Call thread_db_err_str.
12689         * configure.ac: Check for TD_VERSION.
12690         * config.in, configure: Regenerated.
12691
12692 2005-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12693
12694         * server.h (error, fatal, warning): Add ATTR_FORMAT.
12695
12696 2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>
12697
12698         * configure.ac: Define HAVE_LINUX_REGSETS even if PTRACE_GETREGS
12699         is not available.  Define HAVE_PTRACE_GETREGS if it is.
12700         * config.in, configure: Regenerated.
12701         * configure.srv: Set srv_linux_regsets for PowerPC and PowerPC64.
12702         * linux-i386-low.c, linux-m68k-low.c: Update to use
12703         HAVE_PTRACE_GETREGS.
12704         * linux-low.c (regsets_fetch_inferior_registers)
12705         (regsets_store_inferior_registers): Only return 0 if we processed
12706         GENERAL_REGS.
12707         * linux-ppc-low.c (ppc_fill_gregset, target_regsets): New.
12708         * linux-ppc64-low.c (ppc_fill_gregset, target_regsets): New.
12709
12710 2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>
12711
12712         * inferiors.c (struct thread_info): Add gdb_id.
12713         (add_thread): Add gdb_id argument.
12714         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New.
12715         * linux-low.c (linux_create_inferior, linux_attach_lwp): Update
12716         calls to add_thread.
12717         * remote-utils.c (prepare_resume_reply: Use thread_to_gdb_id.
12718         * server.c (handle_query): Use thread_to_gdb_id.
12719         (handle_v_cont, main): Use gdb_id_to_thread_id.
12720         * server.h (add_thread): Update prototype.
12721         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New
12722         prototypes.
12723
12724 2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>
12725
12726         * linux-low.c (fetch_register, usr_store_inferior_registers): Handle
12727         left-padded registers.
12728         * linux-low.h (struct linux_target_ops): Add left_pad_xfer.
12729         * linux-ppc64-low.c (the_low_target): Set left_pad_xfer.
12730
12731 2005-07-01  Steve Ellcey  <sje@cup.hp.com>
12732
12733         * configure.ac (BFD_NEED_DECLARATION): Replace with AC_CHECK_DECLS.
12734         * configure: Regenerate.
12735         * config.in: Regenerate.
12736         * server.h (NEED_DECLARATION_STRERROR):
12737         Replace with !HAVE_DECL_STRERROR.
12738
12739 2005-06-16  Daniel Jacobowitz  <dan@codesourcery.com>
12740
12741         * linux-low.c (linux_wait, linux_send_signal): Don't test
12742         an unsigned long variable for > 0 if it could be MAX_ULONG.
12743         * server.c (myresume): Likewise.
12744         * target.c (set_desired_inferior): Likewise.
12745
12746 2005-06-13  Mark Kettenis  <kettenis@gnu.org>
12747
12748         * configure.ac: Simplify and improve check for socklen_t.
12749         * configure, config.in: Regenerate.
12750
12751 2005-06-12  Daniel Jacobowitz  <dan@codesourcery.com>
12752
12753         * acconfig.h: Remove.
12754         * configure.ac: Add a test for socklen_t.  Use three-argument
12755         AC_DEFINE throughout.
12756         * config.in: Regenerated using autoheader 2.59.
12757         * configure: Regenerated.
12758
12759         * gdbreplay.c (socklen_t): Provide a default.
12760         (remote_open): Use socklen_t.
12761         * remote-utils.c (socklen_t): Provide a default.
12762         (remote_open): Use socklen_t.
12763         (convert_int_to_ascii, convert_ascii_to_int, decode_M_packet): Use
12764         unsigned char.
12765
12766         * i387-fp.c (struct i387_fsave, struct i387_fxsave): Use unsigned
12767         char for buffers.
12768         * linux-low.c (linux_read_memory, linux_write_memory)
12769         (linux_read_auxv): Likewise.
12770         * mem-break.c (breakpoint_data, set_breakpoint_data, check_mem_read)
12771         (check_mem_write): Likewise.
12772         * mem-break.h (set_breakpoint_data, check_mem_read, check_mem_write):
12773         Likewise.
12774         * regcache.c (struct inferior_rgcache_data, registers_to_string)
12775         (registers_from_string, register_data): Likewise.
12776         * server.c (handle_query, main): Likewise.
12777         * server.h (convert_ascii_to_int, convert_int_to_ascii)
12778         (decode_M_packet): Likewise.
12779         * target.c (read_inferior_memory, write_inferior_memory): Likewise.
12780         * target.h (struct target_ops): Update read_memory, write_memory,
12781         and read_auxv.
12782         (read_inferior_memory, write_inferior_memory): Update.
12783         * linux-low.h (struct linux_target_ops): Change type of breakpoint
12784         to unsigned char *.
12785         * linux-arm-low.c, linux-cris-low.c, linux-crisv32-low.c,
12786         linux-i386-low.c, linux-m32r-low.c, linux-m68k-low.c,
12787         linux-mips-low.c, linux-ppc-low.c, linux-ppc64-low.c,
12788         linux-s390-low.c, linux-sh-low.c: Update for changes in
12789         read_inferior_memory and the_low_target->breakpoint.
12790
12791 2005-05-28  Daniel Jacobowitz  <dan@codesourcery.com>
12792
12793         * Makefile.in (SFILES): Add linux-ppc64-low.c.
12794         (linux-ppc64-low.o, reg-ppc64.c, reg-ppc64.o): New targets.
12795         * configure.srv: Add powerpc64-*-linux*.
12796         * linux-ppc64-low.c: New file.
12797
12798 2005-05-23  Orjan Friberg  <orjanf@axis.com>
12799
12800         * linux-cris-low.c: New file with support for CRIS.
12801         * linux-crisv32-low.c: Ditto for CRISv32.
12802         * Makefile.in (SFILES): Add linux-cris-low.c, linux-crisv32-low.c.
12803         (clean): Add reg-cris.c and reg-crisv32.c.
12804         Add linux-cris-low.o, linux-crisv32-low.o, reg-cris.o, reg-cris.c,
12805         reg-crisv32.o, and reg-crisv32.c to make rules.
12806         * configure.srv: Add cris-*-linux* and crisv32-*-linux* to list of
12807         recognized targets.
12808
12809 2005-05-16  Ulrich Weigand  <uweigand@de.ibm.com>
12810
12811         * linux-low.c (fetch_register): Ensure buffer size is a multiple
12812         of sizeof (PTRACE_XFER_TYPE).
12813         (usr_store_inferior_registers): Likewise.  Zero out excess bytes.
12814
12815 2005-05-12  Orjan Friberg  <orjanf@axis.com>
12816
12817         * target.h (struct target_ops): Add insert_watchpoint,
12818         remove_watchpoint, stopped_by_watchpoint, stopped_data_address function
12819         pointers for hardware watchpoint support.
12820         * linux-low.h (struct linux_target_ops): Ditto.
12821         * linux-low.c (linux_insert_watchpoint, linux_remove_watchpoint)
12822         (linux_stopped_by_watchpoint, linux_stopped_data_address): New.  Add
12823         to linux_target_ops.
12824         * remote-utils.c (prepare_resume_reply): Add watchpoint information to
12825         reply packet.
12826         * server.c (main): Recognize 'Z' and 'z' packets.
12827
12828 2005-05-10  Ulrich Weigand  <uweigand@de.ibm.com>
12829
12830         * linux-s390-low.c (s390_breakpoint, s390_breakpoint_len): Define.
12831         (s390_get_pc, s390_set_pc, s390_breakpoint_at): New functions.
12832         (the_low_target): Add new members.
12833
12834 2005-05-04  Daniel Jacobowitz  <dan@codesourcery.com>
12835
12836         * proc-service.c (ps_lgetregs): Search all_processes instead of
12837         all_threads.
12838
12839 2005-05-04  Daniel Jacobowitz  <dan@codesourcery.com>
12840
12841         * server.c (start_inferior): Change return type to int.
12842         (attach_inferior): Change sigptr to int *.
12843         (handle_v_cont, handle_v_requests): Change signal to int *.
12844         (main): Change signal to int.
12845
12846 2005-04-15  Kei Sakamoto  <sakamoto.kei@renesas.com>
12847
12848         * Makefile.in: Add linux-m32r-low.o, reg-m32r.c and reg-m32r.o.
12849         * configure.srv: Add m32r*-*-linux*.
12850         * linux-m32r-low.c: New file.
12851
12852 2005-03-04  Daniel Jacobowitz  <dan@codesourcery.com>
12853
12854         * Makefile.in (stamp-h): Set CONFIG_HEADERS explicitly.
12855
12856 2005-03-03  Daniel Jacobowitz  <dan@codesourcery.com>
12857
12858         * inferiors.c (change_inferior_id, add_thread, find_inferior_id):
12859         Take unsigned long arguments for PIDs.
12860         * linux-low.c (add_process, linux_attach_lwp, linux_attach)
12861         (linux_thread_alive, linux_wait_for_event, kill_lwp, send_sigstop)
12862         (wait_for_sigstop, linux_resume_one_process)
12863         (regsets_fetch_inferior_registers, linux_send_signal)
12864         (linux_read_auxv): Likewise.  Update the types of variables holding
12865         PIDs.  Update format string specifiers.
12866         * linux-low.h (struct process_info, linux_attach_lwp): Likewise.
12867         * remote-utils.c (prepare_resume_reply): Likewise.
12868         * server.c (cont_thread, general_thread, step_thread)
12869         (thread_from_wait, old_thread_from_wait, signal_pid): Change type to
12870         unsigned long.
12871         (handle_query): Update format specifiers.
12872         (handle_v_cont, main): Use strtoul for thread IDs.
12873         * server.h (struct inferior_list_entry): Use unsigned long for ID.
12874         (add_thread, find_inferior_id, change_inferior_id, cont_thread)
12875         (general_thread, step_thread, thread_from_wait)
12876         (old_thread_from_wait): Update.
12877         * target.h (struct thread_resume): Use unsigned long for THREAD.
12878         (struct target_ops): Use unsigned long for arguments to attach and
12879         thread_alive.
12880
12881 2005-02-24  Daniel Jacobowitz  <dan@codesourcery.com>
12882
12883         * acinclude.m4: Include bfd/bfd.m4 directly.
12884         * configure.ac: Use AC_ARG_PROGRAM.  Suggested by Aron Griffis
12885         <agriffis@toolchain.org>.
12886         * aclocal.m4, configure: Regenerated.
12887
12888 2005-01-07  Andrew Cagney  <cagney@gnu.org>
12889
12890         * configure.ac: Rename configure.in, require autoconf 2.59.
12891         * configure: Re-generate.
12892
12893 2004-12-08  Daniel Jacobowitz  <dan@debian.org>
12894
12895         * acinclude.m4 (SRV_CHECK_THREAD_DB): Add ps_get_thread_area.  Reset
12896         LIBS when finished.
12897         * aclocal.m4: Regenerated.
12898         * configure: Regenerated.
12899
12900 2004-11-21  Andreas Schwab  <schwab@suse.de>
12901
12902         * linux-m68k-low.c (m68k_num_gregs): Define.
12903         (m68k_fill_gregset, m68k_store_gregset, m68k_fill_fpregset)
12904         (m68k_store_fpregset, target_regsets) [HAVE_LINUX_REGSETS]: New.
12905         (m68k_breakpoint, m68k_breakpoint_len, m68k_get_pc, m68k_set_pc)
12906         (m68k_breakpoint_at): New.  Add to the_low_target.
12907
12908         * configure.srv (m68*-*-linux*): Set srv_linux_regsets and
12909         srv_linux_thread_db to yes.
12910
12911 2004-10-20  Joel Brobecker  <brobecker@gnat.com>
12912
12913         * linux-x86-64-low.c (ARCH_SET_GS): Add definition if missing.
12914         (ARCH_SET_FS): Likewise.
12915         (ARCH_GET_FS): Likewise.
12916         (ARCH_GET_GS): Likewise.
12917
12918 2004-10-16  Daniel Jacobowitz  <dan@debian.org>
12919
12920         * linux-i386-low.c (ps_get_thread_area): New.
12921         * linux-x86-64-low.c (ps_get_thread_area): New.
12922         * linux-low.c: Include <sys/syscall.h>.
12923         (linux_kill_one_process): Don't kill the first thread here.
12924         (linux_kill): Kill the first thread here.
12925         (kill_lwp): New function.
12926         (send_sigstop, linux_send_signal): Use it.
12927         * proc-service.c: Clean up #ifdefs.
12928         (fpregset_info): Delete.
12929         (ps_lgetregs): Update and enable implementation.
12930         (ps_lsetregs, ps_lgetfpregs, ps_lsetfpregs): Remove disabled
12931         implementations.
12932         * remote-utils.c (struct sym_cache, symbol_cache): New.
12933         (input_interrupt): Print a clearer message.
12934         (async_io_enabled): New variable.
12935         (enable_async_io, disable_async_io): Use it.  Update comments.
12936         (look_up_one_symbol): Use the symbol cache.
12937         * thread-db.c (thread_db_look_up_symbols): New function.
12938         (thread_db_init): Update comments.  Call thread_db_look_up_symbols.
12939
12940 2004-10-16  Daniel Jacobowitz  <dan@debian.org>
12941
12942         * configure.in: Test for -rdynamic.
12943         * configure: Regenerated.
12944         * Makefile (INTERNAL_LDFLAGS): New.
12945         (gdbserver, gdbreplay): Use it.
12946
12947 2004-09-02  Andrew Cagney  <cagney@gnu.org>
12948
12949         * Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE.
12950
12951 2004-03-23  Daniel Jacobowitz  <drow@mvista.com>
12952
12953         * linux-low.c (linux_wait): Clear all_processes list also.
12954
12955 2004-03-12  Daniel Jacobowitz  <drow@mvista.com>
12956
12957         * linux-low.c: Include <errno.h>.  Remove extern declaration of
12958         errno.
12959
12960 2004-03-12  Daniel Jacobowitz  <drow@mvista.com>
12961
12962         * gdbreplay.c, server.h, utils.c: Update copyright years.
12963
12964 2004-03-04  Nathan J. Williams  <nathanw@wasabisystems.com>
12965
12966         * server.c (main): Print child status or termination signal from
12967         variable 'signal', not 'sig'.
12968
12969 2004-03-04  Nathan J. Williams  <nathanw@wasabisystems.com>
12970
12971         * linux-low.c (linux_read_memory): Change return type to
12972         int.  Check for and return error from ptrace().
12973         * target.c (read_inferior_memory): Change return type to int.  Pass
12974         back return status from the_target->read_memory().
12975         * target.h (struct target_ops): Adapt *read_memory() prototype.
12976         Update comment.
12977         (read_inferior_memory): Adapt prototype.
12978         * server.c (main): Return an error packet if
12979         read_inferior_memory() returns an error.
12980
12981 2004-03-04  Daniel Jacobowitz  <drow@mvista.com>
12982
12983         * Makefile.in (distclean): Remove config.h, stamp-h, and config.log.
12984         Unify with other clean targets.
12985
12986 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
12987
12988         * server.c (handle_v_cont): Call set_desired_inferior.
12989
12990 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
12991
12992         * remote-utils.c (prepare_resume_reply): Always supply "thread:".
12993
12994 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
12995
12996         * linux-low.c (linux_wait): Unblock async I/O.
12997         (linux_resume): Block and enable async I/O.
12998         * remote-utils.c (block_async_io, unblock_async_io): New functions.
12999         * server.h (block_async_io, unblock_async_io): Add prototypes.
13000
13001 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
13002
13003         * remote-utils.c (remote_open): Print a status notice after
13004         opening a TCP port.
13005         * server.c (attach_inferior): Print a status notice after
13006         attaching.
13007
13008 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
13009
13010         * linux-arm-low.c (arm_get_pc): Print out stop PC in debug mode.
13011
13012 2004-02-26  Daniel Jacobowitz  <drow@mvista.com>
13013
13014         * remote-utils.c (write_enn): Use "E01" instead of "ENN" for the
13015         error packet.
13016         * server.c, target.h: Update copyright years.
13017
13018 2004-02-25  Roland McGrath  <roland@redhat.com>
13019
13020         * target.h (struct target_ops): New member `read_auxv'.
13021         * server.c (handle_query): Handle qPart:auxv:read: query using that.
13022         * linux-low.c (linux_read_auxv): New function.
13023         (linux_target_ops): Initialize `read_auxv' member to that.
13024
13025 2004-02-17  Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13026
13027         Committed by Jim Blandy  <jimb@redhat.com>.
13028
13029         * linux-s390-low.c (s390_num_regs): Update.
13030         (s390_regmap): Remove control registers.  Use __s390x__ predefine
13031         instead of GPR_SIZE to distiguish s390 and s390x targets.
13032
13033 2004-01-31  Daniel Jacobowitz  <drow@mvista.com>
13034
13035         * linux-low.c: Update copyright year.
13036         (check_removed_breakpoint): Clear pending_is_breakpoint.
13037         (linux_set_resume_request, linux_queue_one_thread)
13038         (resume_status_pending_p): New functions.
13039         (linux_continue_one_thread): Use process->resume.
13040         (linux_resume): Only resume threads if there are no pending events.
13041         * linux-low.h (struct process_info): Add resume request
13042         pointer.
13043
13044 2004-01-30  Daniel Jacobowitz  <drow@mvista.com>
13045
13046         * regcache.c (new_register_cache): Clear the allocated register
13047         buffer.  Suggested by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.
13048
13049 2003-10-13  Daniel Jacobowitz  <drow@mvista.com>
13050
13051         * linux-low.c (linux_resume): Take a struct thread_resume *
13052         argument.
13053         (linux_wait): Update call.
13054         (resume_ptr): New static variable.
13055         (linux_continue_one_thread): Renamed from
13056         linux_continue_one_process.  Use resume_ptr.
13057         (linux_resume): Use linux_continue_one_thread.
13058         * server.c (handle_v_cont, handle_v_requests): New functions.
13059         (myresume): New function.
13060         (main): Handle 'v' case.
13061         * target.h (struct thread_resume): New type.
13062         (struct target_ops): Change argument of "resume" to struct
13063         thread_resume *.
13064         (myresume): Delete macro.
13065
13066 2003-08-08  H.J. Lu  <hongjiu.lu@intel.com>
13067
13068         * Makefile.in (install-only): Create dest dir. Support DESTDIR.
13069         (uninstall): Support DESTDIR.
13070
13071 Mon Jul 21 20:09:34 UTC 2003  Brendan Conoboy  <blc@redhat.com>
13072
13073         * configure.srv: Add xscale*linux copy of arm*linux entry.
13074
13075 2003-07-24  Daniel Jacobowitz  <drow@mvista.com>
13076
13077         * linux-arm-low.c (arm_reinsert_addr): New function.
13078         (the_low_target): Add arm_reinsert_addr.
13079
13080 2003-07-08  Mark Kettenis  <kettenis@gnu.org>
13081
13082         * mem-break.c: Remove whitespace at end of file.
13083
13084 2003-06-28  Daniel Jacobowitz  <drow@mvista.com>
13085
13086         * configure.in: Check whether we need to prototype strerror.
13087         * server.h: Optionally prototype strerror.
13088         * gdbreplay.c (perror_with_name): Use strerror.
13089         * linux-low.c (linux_attach_lwp): Use strerror.
13090         * utils.c (perror_with_name): Use strerror.
13091         * config.in, configure: Regenerated.
13092
13093 2003-06-28  Daniel Jacobowitz  <drow@mvista.com>
13094
13095         * linux-sh-low.c (sh_regmap): Fix FP register offsets, reported by
13096         SUGIOKA Toshinobu <sugioka@itonet.co.jp>.
13097
13098 2003-06-20  Daniel Jacobowitz  <drow@mvista.com>
13099
13100         * Makefile.in (SFILES): Update.
13101         * low-hppabsd.c, low-lynx.c, low-nbsd.c, low-sim.c, low-sparc.c,
13102         low-sun3.c: Remove files.
13103
13104 2003-06-17  Daniel Jacobowitz  <drow@mvista.com>
13105
13106         * linux-low.c: Move comment to linux_thread_alive where it belonged.
13107         (linux_detach_one_process, linux_detach): New functions.
13108         (linux_target_ops): Add linux_detach.
13109         * server.c (main): Handle 'D' packet.
13110         * target.h (struct target_ops): Add "detach" member.
13111         (detach_inferior): Define.
13112
13113 2003-06-13  Mark Kettenis  <kettenis@gnu.org>
13114
13115         From Kelley Cook  <kelleycook@wideopenwest.com>:
13116         * configure.srv: Accept i[34567]86 variants.
13117
13118 2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
13119
13120         * linux-low.c (linux_wait_for_event): Correct comment typos.
13121         (linux_resume_one_process): Call check_removed_breakpoint.
13122         (linux_send_signal): New function.
13123         (linux_target_ops): Add linux_send_signal.
13124         * remote-utils.c (putpkt, input_interrupt): Use send_signal instead
13125         of kill.
13126         * target.h (struct target_ops): Add send_signal.
13127
13128 2003-05-29  Jim Blandy  <jimb@redhat.com>
13129
13130         * linux-low.c (usr_store_inferior_registers): Transfer buf in
13131         PTRACE_XFER_TYPE-sized chunks, not int-sized chunks.  Otherwise,
13132         if 'int' is smaller than PTRACE_XFER_TYPE, you end up throwing
13133         away part of the register's value.
13134
13135 2003-03-26  Daniel Jacobowitz  <drow@mvista.com>
13136
13137         * linux-low.c (linux_create_inferior): Use __SIGRTMIN.
13138         (linux_wait_for_event, linux_init_signals): Likewise.
13139
13140 2003-03-17  Daniel Jacobowitz  <drow@mvista.com>
13141
13142         * configure.in: Check for stdlib.h.
13143         * configure: Regenerated.
13144         * config.in: Regenerated.
13145
13146 2003-01-04  Andreas Schwab  <schwab@suse.de>
13147
13148         * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31.
13149
13150 2003-01-02  Andrew Cagney  <ac131313@redhat.com>
13151
13152         * Makefile.in: Remove obsolete code.
13153
13154 2002-11-20  Daniel Jacobowitz  <drow@mvista.com>
13155
13156         * linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of
13157         defined(PT_FPR0_HI).
13158
13159 2002-11-17  Stuart Hughes  <seh@zee2.com>
13160
13161         * linux-arm-low.c (arm_num_regs): Increase.
13162         (arm_regmap): Include status register.
13163
13164 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
13165
13166         * linux-low.c (register_addr): Remove incorrect -1 check.
13167
13168 2002-08-29  Daniel Jacobowitz  <drow@mvista.com>
13169
13170         * linux-low.c (linux_create_inferior): Call setpgid.  Return
13171         the new PID.
13172         (unstopped_p, linux_signal_pid): Remove.
13173         (linux_target_ops): Remove linux_signal_pid.
13174         * remote-utils.c (putpkt, input_interrupt): Use signal_pid
13175         global instead of target method.
13176         * target.h (struct target_ops): Remove signal_pid.  Update comment
13177         for create_inferior.
13178         * server.c (signal_pid): New variable.
13179         (create_inferior): Set signal_pid.  Block SIGTTOU and SIGTTIN in
13180         gdbserver.  Set the child to be the foreground process group.
13181         (attach_inferior): Set signal_pid.
13182
13183 2002-08-23  Daniel Jacobowitz  <drow@mvista.com>
13184
13185         * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2.
13186
13187 2002-08-20  Jim Blandy  <jimb@redhat.com>
13188
13189         * Makefile.in (LDFLAGS): Allow the configure script to establish a
13190         default for this.
13191
13192 2002-08-01  Andrew Cagney  <cagney@redhat.com>
13193
13194         * Makefile.in: Make chill references obsolete.
13195
13196 2002-07-24  Kevin Buettner  <kevinb@redhat.com>
13197
13198         * configure.in (unistd.h): Add to AC_CHECK_HEADERS list.
13199         * configure: Regenerate.
13200         * config.in: Regenerate.
13201
13202 2002-07-09  David O'Brien  <obrien@FreeBSD.org>
13203
13204         * gdbreplay.c (stdlib.h, unistd.h): Conditionaly include.
13205         (perror_with_name, remote_close, remote_open, expect, play): Static.
13206
13207 2002-07-04  Michal Ludvig  <mludvig@suse.cz>
13208
13209         * linux-x86-64-low.c (x86_64_regmap): Make it an array of
13210         byte offsets instead of an array of indexes.
13211         (x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.
13212
13213 2002-06-13  Daniel Jacobowitz  <drow@mvista.com>
13214
13215         * regcache.c: Add comment.
13216
13217 2002-06-11  Daniel Jacobowitz  <drow@mvista.com>
13218
13219         * thread-db.c: New file.
13220         * proc-service.c: New file.
13221         * acinclude.m4: New file.
13222         * Makefile.in: Add GDBSERVER_LIBS, gdb_proc_service_h,
13223         proc-service.o, and thread-db.o.
13224         (linux-low.o): Add USE_THREAD_DB.
13225         * acconfig.h: Add HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T,
13226         HAVE_LWPID_T, HAVE_PSADDR_T, and PRFPREGSET_T_BROKEN.
13227         * aclocal.m4: Regenerated.
13228         * config.in: Regenerated.
13229         * configure: Regenerated.
13230         * configure.in: Check for proc_service.h, sys/procfs.h,
13231         thread_db.h, and linux/elf.h headrs.
13232         Check for lwpid_t, psaddr_t, prgregset_t, prfpregset_t, and
13233         PRFPREGSET_T_BROKEN.  Introduce srv_thread_depfiles and USE_THREAD_DB.
13234         Check for -lthread_db and thread support.
13235         * configure.srv: Enable thread_db support for ARM, i386, MIPS,
13236         PowerPC, and SuperH.
13237         * i387-fp.c: Constify arguments.
13238         * i387-fp.h: Likewise.
13239         * inferiors.c: (struct thread_info): Renamed from
13240         `struct inferior_info'.  Remove PID member.  Use generic inferior
13241         list header.  All uses updated.
13242         (inferiors, signal_pid): Removed.
13243         (all_threads): New variable.
13244         (get_thread): Define.
13245         (add_inferior_to_list): New function.
13246         (for_each_inferior): New function.
13247         (change_inferior_id): New function.
13248         (add_inferior): Removed.
13249         (remove_inferior): New function.
13250         (add_thread): New function.
13251         (free_one_thread): New function.
13252         (remove_thread): New function.
13253         (clear_inferiors): Use for_each_inferior and free_one_thread.
13254         (find_inferior): New function.
13255         (find_inferior_id): New function.
13256         (inferior_target_data): Update argument type.
13257         (set_inferior_target_data): Likewise.
13258         (inferior_regcache_data): Likewise.
13259         (set_inferior_regcache_data): Likewise.
13260         * linux-low.c (linux_bp_reinsert): Remove.
13261         (all_processes, stopping_threads, using_thrads)
13262         (struct pending_signals, debug_threads, pid_of): New.
13263         (inferior_pid): Replace with macro.
13264         (struct inferior_linux_data): Remove.
13265         (get_stop_pc, add_process): New functions.
13266         (linux_create_inferior): Restore SIGRTMIN+1 before calling exec.
13267         Use add_process and add_thread.
13268         (linux_attach_lwp): New function, based on old linux_attach.  Use
13269         add_process and add_thread.  Set stop_expected for new threads.
13270         (linux_attach): New function.
13271         (linux_kill_one_process): New function.
13272         (linux_kill): Kill all LWPs.
13273         (linux_thread_alive): Use find_inferior_id.
13274         (check_removed_breakpoints, status_pending_p): New functions.
13275         (linux_wait_for_process): Renamed from linux_wait_for_one_inferior.
13276         Update.  Use WNOHANG.  Wait for cloned processes also.  Update process
13277         struct for the found process.
13278         (linux_wait_for_event): New function.
13279         (linux_wait): Use it.  Support LWPs.
13280         (send_sigstop, wait_for_sigstop, stop_all_processes)
13281         (linux_resume_one_process, linux_continue_one_process): New functions.
13282         (linux_resume): Support LWPs.
13283         (REGISTER_RAW_SIZE): Remove.
13284         (fetch_register): Use register_size instead.  Call supply_register.
13285         (usr_store_inferior_registers): Likewise.  Call collect_register.
13286         Fix recursive case.
13287         (regsets_fetch_inferior_registers): Improve error message.
13288         (regsets_store_inferior_registers): Add debugging.
13289         (linux_look_up_symbols): Call thread_db_init if USE_THREAD_DB.
13290         (unstopped_p, linux_signal_pid): New functions.
13291         (linux_target_ops): Add linux_signal_pid.
13292         (linux_init_signals): New function.
13293         (initialize_low): Call it.  Initialize using_threads.
13294         * regcache.c (inferior_regcache_data): Add valid
13295         flag.
13296         (get_regcache): Fetch registers lazily.  Add fetch argument
13297         and update all callers.
13298         (regcache_invalidate_one, regcache_invalidate): New
13299         functions.
13300         (new_register_cache): Renamed from create_register_cache.
13301         Return the new regcache.
13302         (free_register_cache): Change argument to a void *.
13303         (registers_to_string, registers_from_string): Call get_regcache
13304         with fetch flag set.
13305         (register_data): Make static.  Pass fetch flag to get_regcache.
13306         (supply_register): Call get_regcache with fetch flag clear.
13307         (collect_register): Call get_regcache with fetch flag set.
13308         (collect_register_as_string): New function.
13309         * regcache.h: Update.
13310         * remote-utils.c (putpkt): Flush after debug output and use
13311         stderr.
13312         Handle input interrupts while waiting for an ACK.
13313         (input_interrupt): Use signal_pid method.
13314         (getpkt): Flush after debug output and use stderr.
13315         (outreg): Use collect_register_as_string.
13316         (new_thread_notify, dead_thread_notify): New functions.
13317         (prepare_resume_reply): Check using_threads.  Set thread_from_wait
13318         and general_thread.
13319         (look_up_one_symbol): Flush after debug output.
13320         * server.c (step_thread, server_waiting): New variables.
13321         (start_inferior): Don't use signal_pid.  Update call to mywait.
13322         (attach_inferior): Update call to mywait.
13323         (handle_query): Handle qfThreadInfo and qsThreadInfo.
13324         (main): Don't fetch/store registers explicitly.  Use
13325         set_desired_inferior.  Support proposed ``Hs'' packet.  Update
13326         calls to mywait.
13327         * server.h: Update.
13328         (struct inferior_list, struct_inferior_list_entry): New.
13329         * target.c (set_desired_inferior): New.
13330         (write_inferior_memory): Constify.
13331         (mywait): New function.
13332         * target.h: Update.
13333         (struct target_ops): New signal_pid method.
13334         (mywait): Removed macro, added prototype.
13335
13336         * linux-low.h (regset_func): Removed.
13337         (regset_fill_func, regset_store_func): New.
13338         (enum regset_type): New.
13339         (struct regset_info): Add type field.  Use new operation types.
13340         (struct linux_target_ops): stop_pc renamed to get_pc.
13341         Add decr_pc_after_break and breakpoint_at.
13342         (get_process, get_thread_proess, get_process_thread)
13343         (strut process_info, all_processes, linux_attach_lwp)
13344         (thread_db_init): New.
13345
13346         * linux-arm-low.c (arm_get_pc, arm_set_pc,
13347         arm_breakpoint, arm_breakpoint_len, arm_breakpoint_at): New.
13348         (the_low_target): Add new members.
13349         * linux-i386-low.c (i386_store_gregset, i386_store_fpregset)
13350         (i386_store_fpxregset): Constify.
13351         (target_regsets): Add new kind identifier.
13352         (i386_get_pc): Renamed from i386_stop_pc.  Simplify.
13353         (i386_set_pc): Add debugging.
13354         (i386_breakpoint_at): New function.
13355         (the_low_target): Add new members.
13356         * linux-mips-low.c (mips_get_pc, mips_set_pc)
13357         (mips_breakpoint, mips_breakpoint_len, mips_reinsert_addr)
13358         (mips_breakpoint_at): New.
13359         (the_low_target): Add new members.
13360         * linux-ppc-low.c (ppc_get_pc, ppc_set_pc)
13361         (ppc_breakpoint, ppc_breakpoint_len, ppc_breakpoint_at): New.
13362         (the_low_target): Add new members.
13363         * linux-sh-low.c (sh_get_pc, sh_set_pc)
13364         (sh_breakpoint, sh_breakpoint_len, sh_breakpoint_at): New.
13365         (the_low_target): Add new members.
13366         * linux-x86-64-low.c (target_regsets): Add new kind
13367         identifier.
13368
13369 2002-05-15  Daniel Jacobowitz  <drow@mvista.com>
13370
13371         From Martin Pool <mbp@samba.org>:
13372         * server.c (gdbserver_usage): New function.
13373         (main): Call it.
13374
13375 2002-05-14  Daniel Jacobowitz  <drow@mvista.com>
13376
13377         * mem-break.c (reinsert_breakpoint_by_bp): Correct typo
13378         stop_at -> stop_pc.
13379
13380 2002-05-04  Andrew Cagney  <ac131313@redhat.com>
13381
13382         * Makefile.in: Remove obsolete code.
13383
13384 2002-04-24  Michal Ludvig  <mludvig@suse.cz>
13385
13386         * linux-low.c (regsets_fetch_inferior_registers),
13387         (regsets_store_inferior_registers): Removed cast to int from
13388         ptrace() calls.
13389         * regcache.h: Added declaration of struct inferior_info.
13390
13391 2002-04-20  Daniel Jacobowitz  <drow@mvista.com>
13392
13393         * inferiors.c (struct inferior_info): Add regcache_data.
13394         (add_inferior): Call create_register_cache.
13395         (clear_inferiors): Call free_register_cache.
13396         (inferior_regcache_data, set_inferior_regcache_data): New functions.
13397         * regcache.c (struct inferior_regcache_data): New.
13398         (registers): Remove.
13399         (get_regcache): New function.
13400         (create_register_cache, free_register_cache): New functions.
13401         (set_register_cache): Don't initialize the register cache here.
13402         (registers_to_string, registers_from_string, register_data): Call
13403         get_regcache.
13404         * regcache.h: Add prototypes.
13405         * server.h: Likewise.
13406
13407 2002-04-20  Daniel Jacobowitz  <drow@mvista.com>
13408
13409         * mem-break.c: New file.
13410         * mem-break.h: New file.
13411         * Makefile.in: Add mem-break.o rule; update server.h
13412         dependencies.
13413         * inferiors.c (struct inferior_info): Add target_data
13414         member.
13415         (clear_inferiors): Free target_data member if set.
13416         (inferior_target_data, set_inferior_target_data): New functions.
13417         * linux-i386-low.c (i386_breakpoint, i386_breakpoint_len)
13418         (i386_stop_pc, i386_set_pc): New.  Add to the_low_target.
13419         * linux-low.c (linux_bp_reinsert): New variable.
13420         (struct inferior_linux_data): New.
13421         (linux_create_inferior): Use set_inferior_target_data.
13422         (linux_attach): Likewise.  Call add_inferior.
13423         (linux_wait_for_one_inferior): New function.
13424         (linux_wait): Call it.
13425         (linux_write_memory): Add const.
13426         (initialize_low): Call set_breakpoint_data.
13427         * linux-low.h (struct linux_target_ops): Add breakpoint
13428         handling members.
13429         * server.c (attach_inferior): Remove extra add_inferior
13430         call.
13431         * server.h: Include mem-break.h.  Update inferior.c
13432         prototypes.
13433         * target.c (read_inferior_memory)
13434         (write_inferior_memory): New functions.
13435         * target.h (read_inferior_memory)
13436         (write_inferior_memory): Change macros to prototypes.
13437         (struct target_ops): Update comments.  Add const to write_memory
13438         definition.
13439
13440 2002-04-11  Daniel Jacobowitz  <drow@mvista.com>
13441
13442         * linux-low.c (usr_store_inferior_registers): Support
13443         registers which are allowed to fail to store.
13444         * linux-low.h (linux_target_ops): Likewise.
13445         * linux-ppc-low.c (ppc_regmap): Support FPSCR.
13446         (ppc_cannot_store_register): FPSCR may not be storable.
13447
13448 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
13449
13450         * server.h: Include <string.h> if HAVE_STRING_H.
13451         * ChangeLog: Correct paths in last ChangeLog entry.
13452
13453 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
13454
13455         * linux-low.h: Remove obsolete prototypes.
13456         (struct linux_target_ops): New.
13457         (extern the_low_target): New.
13458         * linux-low.c (num_regs, regmap): Remove declarations.
13459         (register_addr): Use the_low_target explicitly.
13460         (fetch_register): Likewise.
13461         (usr_fetch_inferior_registers): Likewise.
13462         (usr_store_inferior_registers): Likewise.
13463         * linux-arm-low.c (num_regs): Remove.
13464         (arm_num_regs): Define.
13465         (arm_regmap): Renamed from regmap, made static.
13466         (arm_cannot_fetch_register): Renamed from cannot_fetch_register,
13467         made static.
13468         (arm_cannot_store_register): Renamed from cannot_store_register,
13469         made static.
13470         (the_low_target): New.
13471         * linux-i386-low.c (num_regs): Remove.
13472         (i386_num_regs): Define.
13473         (i386_regmap): Renamed from regmap, made static.
13474         (i386_cannot_fetch_register): Renamed from cannot_fetch_register,
13475         made static.
13476         (i386_cannot_store_register): Renamed from cannot_store_register,
13477         made static.
13478         (the_low_target): New.
13479         * linux-ia64-low.c (num_regs): Remove.
13480         (ia64_num_regs): Define.
13481         (ia64_regmap): Renamed from regmap, made static.
13482         (ia64_cannot_fetch_register): Renamed from cannot_fetch_register,
13483         made static.
13484         (ia64_cannot_store_register): Renamed from cannot_store_register,
13485         made static.
13486         (the_low_target): New.
13487         * linux-m68k-low.c (num_regs): Remove.
13488         (m68k_num_regs): Define.
13489         (m68k_regmap): Renamed from regmap, made static.
13490         (m68k_cannot_fetch_register): Renamed from cannot_fetch_register,
13491         made static.
13492         (m68k_cannot_store_register): Renamed from cannot_store_register,
13493         made static.
13494         (the_low_target): New.
13495         * linux-mips-low.c (num_regs): Remove.
13496         (mips_num_regs): Define.
13497         (mips_regmap): Renamed from regmap, made static.
13498         (mips_cannot_fetch_register): Renamed from cannot_fetch_register,
13499         made static.
13500         (mips_cannot_store_register): Renamed from cannot_store_register,
13501         made static.
13502         (the_low_target): New.
13503         * linux-ppc-low.c (num_regs): Remove.
13504         (ppc_num_regs): Define.
13505         (ppc_regmap): Renamed from regmap, made static.
13506         (ppc_cannot_fetch_register): Renamed from cannot_fetch_register,
13507         made static.
13508         (ppc_cannot_store_register): Renamed from cannot_store_register,
13509         made static.
13510         (the_low_target): New.
13511         * linux-s390-low.c (num_regs): Remove.
13512         (s390_num_regs): Define.
13513         (s390_regmap): Renamed from regmap, made static.
13514         (s390_cannot_fetch_register): Renamed from cannot_fetch_register,
13515         made static.
13516         (s390_cannot_store_register): Renamed from cannot_store_register,
13517         made static.
13518         (the_low_target): New.
13519         * linux-sh-low.c (num_regs): Remove.
13520         (sh_num_regs): Define.
13521         (sh_regmap): Renamed from regmap, made static.
13522         (sh_cannot_fetch_register): Renamed from cannot_fetch_register,
13523         made static.
13524         (sh_cannot_store_register): Renamed from cannot_store_register,
13525         made static.
13526         (the_low_target): New.
13527         * linux-x86-64-low.c (x86_64_regmap): Renamed from regmap.
13528         (the_low_target): New.
13529
13530 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
13531
13532         * Makefile.in: Add stamp-h target.
13533         * configure.in: Create stamp-h.
13534         * configure: Regenerated.
13535
13536 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
13537
13538         * inferiors.c: New file.
13539         * target.c: New file.
13540         * target.h: New file.
13541         * Makefile.in:  Add target.o and inferiors.o.  Update
13542         dependencies.
13543         * linux-low.c (inferior_pid): New static variable,
13544         moved from server.c.
13545         (linux_create_inferior): Renamed from create_inferior.
13546         Call add_inferior.  Return 0 on success instead of a PID.
13547         (linux_attach): Renamed from myattach.
13548         (linux_kill): Renamed from kill_inferior.  Call clear_inferiors ().
13549         (linux_thread_alive): Renamed from mythread_alive.
13550         (linux_wait): Renamed from mywait.  Call clear_inferiors () if the
13551         child dies.
13552         (linux_resume): Renamed from myresume.  Add missing ``return 0''.
13553         (regsets_store_inferior_registers): Correct error message.
13554         Add missing ``return 0''.
13555         (linux_fetch_registers): Renamed from fetch_inferior_registers.
13556         (linux_store_registers): Renamed from store_inferior_registers.
13557         (linux_read_memory): Renamed from read_inferior_memory.
13558         (linux_write_memory): Renamed from write_inferior_memory.
13559         (linux_target_ops): New structure.
13560         (initialize_low): Call set_target_ops ().
13561         * remote-utils.c (unhexify): New function.
13562         (hexify): New function.
13563         (input_interrupt): Send signals to ``signal_pid''.
13564         * server.c (inferior_pid): Remove.
13565         (start_inferior): Update create_inferior call.
13566         (attach_inferior): Call add_inferior.
13567         (handle_query): New function.
13568         (main): Call handle_query for `q' packets.
13569         * server.h: Include "target.h".  Remove obsolete prototypes.
13570         Add prototypes for "inferiors.c", "target.c", hexify, and unhexify.
13571
13572 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
13573
13574         * Makefile.in: Add WARN_CFLAGS.  Update configury
13575         dependencies.
13576         * configure.in: Check for <string.h>
13577         * configure: Regenerate.
13578         * config.in: Regenerate.
13579         * gdbreplay.c: Include needed system headers.
13580         (remote_open): Remove strchr prototype.
13581         * linux-low.h: Correct #ifdef to HAVE_LINUX_USRREGS.
13582         * regcache.c (supply_register): Change buf argument to const void *.
13583         (supply_register_by_name): Likewise.
13584         (collect_register): Change buf argument to void *.
13585         (collect_register_by_name): Likewise.
13586         * regcache.h: Add missing prototypes.
13587         * remote-utils.c: Include <arpa/inet.h> for inet_ntoa.
13588         * server.c (handle_query): New function.
13589         (attached): New static variable, moved out of main.
13590         (main): Quiet longjmp clobber warnings.
13591         * server.h: Add ATTR_NORETURN and ATTR_FORMAT.  Update prototypes.
13592         * utils.c (error): Remove NORETURN.
13593         (fatal): Likewise.