ecc5281a995c72c1a486061b7577443f44a8c8b5
[external/binutils.git] / gdb / gdbserver / ChangeLog
1 2016-03-18  Yao Qi  <yao.qi@linaro.org>
2
3         * linux-low.c (linux_low_filter_event): Remove redundant
4         WIFSTOPPED check together with linux_wstatus_maybe_breakpoint.
5
6 2016-03-09  Marcin Kościelnicki  <koriakin@0x04.net>
7
8         * linux-ppc-low.c (ppc_supports_tracepoints): New function.
9         (struct linux_target_ops): Wire in the above.
10
11 2016-03-03  Yao Qi  <yao.qi@linaro.org>
12
13         * linux-low.c: Update comments to start_step_over.
14
15 2016-03-03  Yao Qi  <yao.qi@linaro.org>
16
17         PR server/19736
18         * linux-low.c (handle_extended_wait): Set child suspended
19         if event_lwp->bp_reinsert isn't zero.
20
21 2016-03-02  Yao Qi  <yao.qi@linaro.org>
22
23         * linux-low.c (linux_resume_one_lwp_throw): Replace code with
24         enqueue_pending_signal.
25
26 2016-03-02  Marcin Kościelnicki  <koriakin@0x04.net>
27
28         * tracepoint.c (cmd_qtstart): Only set ipa_tdesc_idx if agent
29         is actually loaded.
30
31 2016-02-25  Marcin Kościelnicki  <koriakin@0x04.net>
32
33         * linux-s390-low.c (s390_num_regs_3264): Define on 31-bit too.
34         (s390_regmap_3264) [!__s390x__]: New global.
35         (s390_collect_ptrace_register): Skip map entries containing -1.
36         (s390_supply_ptrace_register): Ditto.
37         (s390_fill_gprs_high): New function.
38         (s390_store_gprs_high): New function.
39         (s390_regsets): Add NT_S390_HIGH_GPRS.
40         (s390_get_hwcap): Enable on 31-bit.
41         (have_hwcap_s390_high_gprs): Enable on 31-bit.
42         (s390_arch_setup): Enable detection of high GPRs, TDB, VX on 31-bit.
43         Detect NT_S390_HIGH_GPRS.
44         (s390_usrregs_info_3264): Enable on 31-bit.
45         (s390_regs_info): Enable regs_info_3264 on 31-bit.
46         (initialize_low_arch): Initialize s390_regsets_info_3264 on 31-bit.
47
48 2016-02-25  Marcin Kościelnicki  <koriakin@0x04.net>
49
50         PR gdb/13808
51         * Makefile.in: Add i386-*-linux-ipa.o and amd64-*-linux-ipa.o.
52         * configure.srv: Ditto.
53         * linux-aarch64-ipa.c (get_ipa_tdesc): New function.
54         (initialize_low_tracepoint): Remove ipa_tdesc assignment.
55         * linux-amd64-ipa.c: Add "linux-x86-tdesc.h" include.
56         (init_registers_amd64_linux): Remove prototype.
57         (tdesc_amd64_linux): Remove declaration.
58         (get_ipa_tdesc): New function.
59         (initialize_low_tracepoint): Remove ipa_tdesc assignment,
60         initialize remaining tdescs.
61         * linux-i386-ipa.c: Add "linux-x86-tdesc.h" include.
62         (init_registers_i386_linux): Remove prototype.
63         (tdesc_i386_linux): Remove declaration.
64         (get_ipa_tdesc): New function.
65         (initialize_low_tracepoint): Remove ipa_tdesc assignment,
66         initialize remaining tdescs.
67         * linux-low.c (linux_get_ipa_tdesc_idx): New function.
68         (linux_target_ops): wire in linux_get_ipa_tdesc_idx.
69         * linux-low.h (struct linux_target_ops): Add get_ipa_tdesc_idx.
70         * linux-x86-low.c: Move tdesc declarations to linux-x86-tdesc.h.
71         (x86_get_ipa_tdesc_idx): New function.
72         (the_low_target): Wire in x86_get_ipa_tdesc_idx.
73         * linux-x86-tdesc.h: New file.
74         * target.h (struct target_ops): Add get_ipa_tdesc_idx.
75         (target_get_ipa_tdesc_idx): New macro.
76         * tracepoint.c (ipa_tdesc_idx): New macro.
77         (struct ipa_sym_addresses): Add addr_ipa_tdesc_idx.
78         (symbol_list): Add ipa_tdesc_idx.
79         (cmd_qtstart): Write ipa_tdesc_idx in the target.
80         (ipa_tdesc): Remove.
81         (ipa_tdesc_idx): New variable.
82         (get_context_regcache): Use get_ipa_tdesc.
83         (gdb_collect): Ditto.
84         (gdb_probe): Ditto.
85         * tracepoint.h (get_ipa_tdesc): New prototype.
86         (ipa_tdesc): Remove.
87
88 2016-02-24  Pedro Alves  <palves@redhat.com>
89
90         * linux-low.c (check_stopped_by_breakpoint): Rename to ...
91         (save_stop_reason): ... this.  Use GDB_ARCH_IS_TRAP_HWBKPT and
92         handle ambiguous GDB_ARCH_IS_TRAP_BRKPT / GDB_ARCH_IS_TRAP_HWBKPT.
93         Factor out common code between the USE_SIGTRAP_SIGINFO and
94         !USE_SIGTRAP_SIGINFO blocks.
95         (linux_low_filter_event): Call save_stop_reason instead of
96         check_stopped_by_breakpoint and check_stopped_by_watchpoint.
97         Update comments.
98         (linux_wait_1): Update comments.
99
100 2016-02-24  Wei-cheng Wang  <cole945@gmail.com>
101
102         * linux-ppc-low.c (ppc_supports_z_point_type): New function:
103         (ppc_insert_point, ppc_remove_point): Insert/remove z-packet breakpoints.
104         (ppc64_emit_ops_vector): Add target ops - ppc_supports_z_point_type,
105         ppc_insert_point, ppc_remove_point.
106
107 2016-02-17  Marcin Kościelnicki  <koriakin@0x04.net>
108
109         * linux-s390-low.c (s390_supports_z_point_type): New function.
110         (struct linux_target_ops): Wire s390_supports_z_point_type in.
111
112 2016-02-16  Yao Qi  <yao.qi@linaro.org>
113
114         * linux-arm-low.c (get_next_pcs_syscall_next_pc): Remove argument
115         PC.  Get pc from regcache_read_pc.
116
117 2016-02-12  Yao Qi  <yao.qi@linaro.org>
118
119         * linux-aarch64-low.c (aarch64_get_pc): Call linux_get_pc_64bit
120         or linux_get_pc_32bit.
121         (aarch64_set_pc): Call linux_set_pc_64bit or linux_set_pc_32bit.
122
123 2016-02-12  Yao Qi  <yao.qi@linaro.org>
124
125         * linux-arm-low.c (get_next_pcs_ops): Initialize it with
126         arm_linux_get_next_pcs_fixup.
127
128 2016-02-12  Marcin Kościelnicki  <koriakin@0x04.net>
129
130         * tracepoint.c (x_tracepoint_action_download): Change
131         write_inferior_data_ptr to write_inferior_data_pointer.
132         (cmd_qtstart): Likewise.
133         (write_inferior_data_ptr): Remove.
134         (download_agent_expr): Change write_inferior_data_ptr to
135         write_inferior_data_pointer.
136         (download_tracepoint_1): Likewise.
137         (download_tracepoint): Likewise.
138         (download_trace_state_variables): Likewise.
139
140 2016-02-11  Wei-cheng Wang  <cole945@gmail.com>
141             Marcin Kościelnicki  <koriakin@0x04.net>
142
143         * tracepoint.c (struct tracepoint_action_ops): Remove.
144         (struct tracepoint_action): Remove ops.
145         (m_tracepoint_action_download, r_tracepoint_action_download)
146         (x_tracepoint_action_download, l_tracepoint_action_download): Adjust
147         size and offset accordingly.
148         (m_tracepoint_action_ops, r_tracepoint_action_ops)
149         (x_tracepoint_action_ops, l_tracepoint_action_ops): Remove.
150         (tracepoint_action_send, tracepoint_action_download): New functions.
151         Helpers for trace action handlers.
152         (add_tracepoint_action): Remove setup actions ops.
153         (download_tracepoint_1, tracepoint_send_agent): Call helper functions.
154
155 2016-02-10  Yao Qi  <yao.qi@linaro.org>
156
157         * regcache.c (regcache_raw_read_unsigned): Clear *VAL.
158
159 2016-02-09  Simon Marchi  <simon.marchi@ericsson.com>
160
161         * configure.ac: Use AC_CONFIG_FILES instead of passing arguments
162         to AC_OUTPUT.
163         * configure: Regenerate.
164
165 2016-02-09  Simon Marchi  <simon.marchi@ericsson.com>
166
167         * linux-aarch64-low.c (aarch64_linux_siginfo_fixup): Change
168         void * to gdb_byte *.
169         * linux-low.c (siginfo_fixup): Likewise.
170         (linux_xfer_siginfo): Likewise.
171         * linux-low.h (struct linux_target_ops) <siginfo_fixup>:
172         Likewise.
173         * linux-x86-low.c (x86_siginfo_fixup): Likewise.
174
175 2016-02-02  Walfred Tedeschi  <walfred.tedeschi@intel.com>
176
177         * configure.srv (x86_64-*-linux*): Add amd64-linux-siginfo.o
178         to srv_tgtobj.
179         (i[34567]86-*-linux*): Add amd64-linux-siginfo.o
180         to srv_tgtobj.
181         * linux-x86-low.c [__x86_64__]: Include
182         "nat/amd64-linux-siginfo.h".
183         (compat_siginfo_from_siginfo, siginfo_from_compat_siginfo)
184         (compat_x32_siginfo_from_siginfo, siginfo_from_compat_x32_siginfo)
185         (compat_timeval, compat_sigval, compat_x32_clock, cpt_si_pid)
186         (cpt_si_uid, cpt_si_timerid, cpt_si_overrun, cpt_si_status)
187         (cpt_si_utime, cpt_si_stime, cpt_si_ptr, cpt_si_addr, cpt_si_band)
188         (cpt_si_fd, si_timerid, si_overrun): Move from
189         nat/amd64-linux-siginfo.c.
190         * Makefile.in (amd64-linux-siginfo.o:): New rule.
191
192 2016-01-28  Simon Marchi  <simon.marchi@ericsson.com>
193
194         * server.c (skip_to_semicolon):  Remove.
195         (process_point_options): Use strchrnul instead of
196         skip_to_semicolon.
197
198 2016-01-26  Yao Qi  <yao.qi@linaro.org>
199
200         * linux-arm-low.c (arm_gdbserver_get_next_pcs): Remove argument pc.
201         * linux-low.c (install_software_single_step_breakpoints): Don't
202         call regcache_read_pc.
203         * linux-low.h (struct linux_target_ops) <get_next_pcs>: Remove
204         argument pc.
205
206 2016-01-26  Yao Qi  <yao.qi@linaro.org>
207
208         * linux-low.c (install_software_single_step_breakpoints): Call
209         regcache_read_pc instead of get_pc.
210
211 2016-01-26  Yao Qi  <yao.qi@linaro.org>
212
213         * remote-utils.c (remote_close) [!USE_WIN32API]: Ignore SIGIO.
214         (unblock_async_io): Rename to ...
215         (block_unblock_async_io): ... it.  New function.
216         (enable_async_io): Don't install SIGIO handler.  Unblock it
217         instead.
218         (disable_async_io): Don't ignore SIGIO.  Block it instead.
219         (initialize_async_io): Install SIGIO handler.  Don't call
220         unblock_async_io.
221
222 2016-01-26  Yao Qi  <yao.qi@linaro.org>
223
224         * remote-utils.c (getpkt): If the buffer isn't empty, and the
225         first character is '\003', call *the_target->request_interrupt.
226
227 2016-01-25  Yao Qi  <yao.qi@linaro.org>
228
229         * remote-utils.c (new_thread_notify): Remove.
230         (dead_thread_notify): Likewise.
231         * remote-utils.h (new_thread_notify): Remove declaration.
232         (dead_thread_notify): Likewise.
233
234 2016-01-23  Marcin Kościelnicki  <koriakin@0x04.net>
235
236         * gdb.trace/pending.exp: Fix expected message on continue.
237
238 2016-01-22  Marcin Kościelnicki  <koriakin@0x04.net>
239
240         * tracepoint.c (write_inferior_data_ptr): Cast to uintptr_t, so that
241         it works properly on big-endian machines where sizeof (CORE_ADDR)
242         != sizeof (void *).
243
244 2016-01-21  Pedro Alves  <palves@redhat.com>
245
246         * Makefile.in (COMPILER_CFLAGS, CXXFLAGS): New.
247         (INTERNAL_CFLAGS_BASE): Use COMPILER_CFLAGS instead of CFLAGS.
248         * configure: Regenerate.
249
250 2016-01-21  Yao Qi  <yao.qi@linaro.org>
251
252         * linux-arm-low.c (arm_sigreturn_next_pc): Add parameter
253         is_thumb and set it according to CPSR saved on the stack.
254         (get_next_pcs_syscall_next_pc): Pass is_thumb to
255         arm_sigreturn_next_pc.
256
257 2016-01-18  Yao Qi  <yao.qi@linaro.org>
258
259         * linux-low.c (linux_set_pc_64bit): New function.
260         (linux_get_pc_64bit): New function.
261         * linux-low.h (linux_set_pc_64bit, linux_get_pc_64bit):
262         Declare.
263         * linux-sparc-low.c (debug_threads): Remove declaration.
264         (sparc_get_pc): Remove.
265         (the_low_target): Use linux_get_pc_64bit instead of
266         sparc_get_pc.
267         * linux-tile-low.c (tile_get_pc, tile_set_pc): Remove.
268         (the_low_target): Use linux_get_pc_64bit and
269         linux_set_pc_64bit.
270
271 2016-01-18  Yao Qi  <yao.qi@linaro.org>
272
273         * linux-arm-low.c (debug_threads): Remove declaration.
274         (arm_get_pc, arm_set_pc): Remove.
275         (the_low_target): Use linux_get_pc_32bit and
276         linux_set_pc_32bit.
277         * linux-bfin-low.c (bfin_get_pc, bfin_set_pc): Remove.
278         (the_low_target): Use linux_get_pc_32bit and
279         linux_set_pc_32bit.
280         * linux-cris-low.c (debug_threads): Remove declaration.
281         (cris_get_pc, cris_set_pc,): Remove.
282         (the_low_target): Use linux_get_pc_32bit and
283         linux_set_pc_32bit.
284         * linux-crisv32-low.c (debug_threads): Remove declaration.
285         (cris_get_pc, cris_set_pc): Remove.
286         (the_low_target): Use linux_get_pc_32bit and
287         linux_set_pc_32bit.
288         * linux-low.c: Include inttypes.h.
289         (linux_get_pc_32bit, linux_set_pc_32bit): New functions.
290         * linux-low.h (linux_get_pc_32bit, linux_set_pc_32bit): Declare.
291         * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Remove.
292         (the_low_target): Use linux_get_pc_32bit and
293         linux_set_pc_32bit.
294         * linux-m68k-low.c (m68k_get_pc, m68k_set_pc): Remove.
295         (the_low_target): Use linux_get_pc_32bit and
296         linux_set_pc_32bit.
297         * linux-nios2-low.c (nios2_get_pc, nios2_set_pc): Remove.
298         (the_low_target): Use linux_get_pc_32bit and
299         linux_set_pc_32bit.
300         * linux-sh-low.c (sh_get_pc, sh_set_pc): Remove.
301         (the_low_target): Use linux_get_pc_32bit and
302         linux_set_pc_32bit.
303         * linux-xtensa-low.c (xtensa_get_pc, xtensa_set_pc): Remove.
304         (the_low_target): Use linux_get_pc_32bit and
305         linux_set_pc_32bit.
306
307 2016-01-18  Gary Benson  <gbenson@redhat.com>
308
309         * configure.ac (AC_FUNC_FORK): New check.
310         * config.in: Regenerate.
311         * configure: Likewise.
312
313 2016-01-14  Yao Qi  <yao.qi@linaro.org>
314
315         * linux-aarch32-low.c (thumb2_breakpoint): Make it static.
316         * linux-aarch32-low.h (thumb2_breakpoint): Remove declaration.
317         * linux-arm-low.c (arm_gdbserver_get_next_pcs): Pass 1 to
318         arm_get_next_pcs_ctor.
319
320 2016-01-12  Josh Stone  <jistone@redhat.com>
321             Philippe Waroquiers  <philippe.waroquiers@skynet.be>
322
323         * inferiors.h: Include "gdb_vecs.h".
324         (struct process_info): Add syscalls_to_catch.
325         * inferiors.c (remove_process): Free syscalls_to_catch.
326         * remote-utils.c (prepare_resume_reply): Report syscall_entry and
327         syscall_return stops.
328         * server.h (UNKNOWN_SYSCALL, ANY_SYSCALL): Define.
329         * server.c (handle_general_set): Handle QCatchSyscalls.
330         (handle_query): Report support for QCatchSyscalls.
331         * target.h (struct target_ops): Add supports_catch_syscall.
332         (target_supports_catch_syscall): New macro.
333         * linux-low.h (struct linux_target_ops): Add get_syscall_trapinfo.
334         (struct lwp_info): Add syscall_state.
335         * linux-low.c (handle_extended_wait): Mark syscall_state as an entry.
336         Maintain syscall_state and syscalls_to_catch across exec.
337         (get_syscall_trapinfo): New function, proxy to the_low_target.
338         (linux_low_ptrace_options): Enable PTRACE_O_TRACESYSGOOD.
339         (linux_low_filter_event): Toggle syscall_state entry/return for
340         syscall traps, and set it ignored for all others.
341         (gdb_catching_syscalls_p): New function.
342         (gdb_catch_this_syscall_p): New function.
343         (linux_wait_1): Handle SYSCALL_SIGTRAP.
344         (linux_resume_one_lwp_throw): Add PTRACE_SYSCALL possibility.
345         (linux_supports_catch_syscall): New function.
346         (linux_target_ops): Install it.
347         * linux-x86-low.c (x86_get_syscall_trapinfo): New function.
348         (the_low_target): Install it.
349
350 2016-01-12  Mike Frysinger  <vapier@gentoo.org>
351
352         * acinclude.m4: Include new ../warning.m4 file.
353         * configure: Regenerated.
354         * configure.ac: Replace all warning logic with AM_GDB_WARNINGS.
355
356 2016-01-12  Mike Frysinger  <vapier@gentoo.org>
357
358         * ax.c (is_goto_target): Mark static.
359         * linux-low.c (register_addr): Likewise.
360         (linux_fetch_registers, linux_store_registers): Likewise.
361         * mem-break.c (any_persistent_commands): Fix old prototype.
362         (add_commands_to_breakpoint): Mark static.
363         * regcache.c (find_register_by_name): Delete unused func.
364         * remote-utils.c (hex_or_minus_one): Mark static.
365         * server.c (monitor_show_help): Mark static.
366         (handle_query, handle_v_cont, handle_v_attach, handle_v_kill,
367         handle_v_requests): Likewise.
368
369 2016-01-12  Pedro Alves  <palves@redhat.com>
370
371         Remove use of the registered trademark symbol throughout.
372
373 2016-01-08  Yao Qi  <yao.qi@linaro.org>
374
375         * remote-utils.c (getpkt): If c is '\003', call target hook
376         request_interrupt.
377
378 2016-01-06  Yao Qi  <yao.qi@linaro.org>
379
380         * linux-aarch32-low.h (arm_abi_breakpoint): Move to
381         linux-aarch32-low.c.
382         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
383         (arm_breakpoint_len, thumb_breakpoint_len): Likewise.
384         (thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
385         (thumb2_breakpoint): Declare.
386         * linux-aarch32-low.c (arm_abi_breakpoint): Moved from
387         linux-aarch32-low.h.
388         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
389         (arm_breakpoint_len, thumb_breakpoint_len): Likewise.
390         (thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
391
392 2016-01-01  Joel Brobecker  <brobecker@adacore.com>
393
394         * gdbreplay.c (gdbreplay_version): Change copyright year in
395         version message.
396         * server.c (gdbserver_version): Likewise.
397
398 2015-12-28  Patrick Palka  <patrick@parcs.ath.cx>
399
400         * server.c (crc32_table): Delete.
401         (crc32): Use libiberty's xcrc32 function.
402
403 2015-12-22  Joel Brobecker  <brobecker@adacore.com>
404
405         * lynx-low.c (lynx_delete_thread_callback): New function.
406         (lynx_mourn): Properly delete our process and all of its
407         threads.  Remove call to clear_inferiors.
408
409 2015-12-22  Joel Brobecker  <brobecker@adacore.com>
410
411         * target.c (thread_search_callback): Add check that
412         the thread_stopped target callback is not NULL before
413         calling it.
414
415 2015-12-21  Yao Qi  <yao.qi@linaro.org>
416
417         * linux-aarch32-low.h [__aarch64__]: Use arm_abi_breakpoint
418         arm breakpoint.
419
420 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
421
422         * server.c (handle_query): Call target_supports_software_single_step.
423
424 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
425
426         * linux-low.c (single_step): New function.
427         (linux_resume_one_lwp_throw): Call single_step.
428         (start_step_over): Likewise.
429
430 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
431
432         * Makefile.in (SFILES): Append arch/arm-linux.c,
433         arch/arm-get-next-pcs.c.
434         (arm-linux.o): New rule.
435         (arm-get-next-pcs.o): New rule.
436         * configure.srv (arm*-*-linux*): Add arm-get-next-pcs.o,
437         arm-linux.o.
438         * linux-aarch32-low.c (arm_abi_breakpoint): Remove macro.  Moved
439         to linux-aarch32-low.c.
440         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
441         (arm_breakpoint_len, thumb_breakpoint): Likewise.
442         (thumb_breakpoint_len, thumb2_breakpoint): Likewise.
443         (thumb2_breakpoint_len): Likewise.
444         (arm_is_thumb_mode): Make non-static.
445         * linux-aarch32-low.h (arm_abi_breakpoint): New macro.  Moved
446         from 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): New declaration.
452         * linux-arm-low.c: Include arch/arm-linux.h
453         aarch/arm-get-next-pcs.h, sys/syscall.h.
454         (get_next_pcs_ops): New struct.
455         (get_next_pcs_addr_bits_remove): New function.
456         (get_next_pcs_is_thumb): New function.
457         (get_next_pcs_read_memory_unsigned_integer): Likewise.
458         (arm_sigreturn_next_pc): Likewise.
459         (get_next_pcs_syscall_next_pc): Likewise.
460         (arm_gdbserver_get_next_pcs): Likewise.
461         (struct linux_target_ops) <arm_gdbserver_get_next_pcs>:
462         Initialize.
463         * linux-low.h: Move CORE_ADDR vector definition to gdb_vecs.h.
464         * server.h: Include gdb_vecs.h.
465
466 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
467
468         * Makefile.in (SFILES): Append common/common-regcache.c.
469         (OBS): Append common-regcache.o.
470         (common-regcache.o): New rule.
471         * regcache.c (init_register_cache): Initialize cache to
472         REG_UNAVAILABLE.
473         (regcache_raw_read_unsigned): New function.
474         * regcache.h (REG_UNAVAILABLE, REG_VALID): Replaced by shared
475         register_status enum.
476
477 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
478
479         * linux-aarch64-low.c (the_low_targets): Rename
480         breakpoint_reinsert_addr to get_next_pcs.
481         * linux-arm-low.c (the_low_targets): Likewise.
482         * linux-bfin-low.c (the_low_targets): Likewise.
483         * linux-cris-low.c (the_low_targets): Likewise.
484         * linux-crisv32-low.c (the_low_targets): Likewise.
485         * linux-low.c (can_software_single_step): Likewise.
486         (install_software_single_step_breakpoints): New function.
487         (start_step_over): Use install_software_single_step_breakpoints.
488         * linux-low.h: New CORE_ADDR vector.
489         (struct linux_target_ops) Rename breakpoint_reinsert_addr to
490         get_next_pcs.
491         * linux-mips-low.c (the_low_targets): Likewise.
492         * linux-nios2-low.c (the_low_targets): Likewise.
493         * linux-sparc-low.c (the_low_targets): Likewise.
494
495 2015-12-17  Pedro Alves  <palves@redhat.com>
496
497         * linux-low.c (linux_kill_one_lwp): Remove references to
498         LinuxThreads.
499         (kill_lwp): Remove HAVE_TKILL_SYSCALL check.  No longer fall back
500         to 'kill'.
501         (linux_init_signals): Delete.
502         (initialize_low): Adjust.
503         * thread-db.c (thread_db_init): Remove LinuxThreads reference.
504
505 2015-12-16  Pedro Alves  <palves@redhat.com>
506
507         * configure.ac (compiler warning flags): When testing a
508         -Wno-foo option, check whether -Wfoo works instead.
509         * configure: Regenerate.
510
511 2015-12-11  Don Breazeal  <donb@codesourcery.com>
512
513         * server.c (process_serial_event): Don't exit from gdbserver
514         in remote mode if there are still active inferiors.
515
516 2015-12-11  Yao Qi  <yao.qi@linaro.org>
517
518         * linux-aarch64-low.c (aarch64_breakpoint_at): Call
519         arm_breakpoint_at if the process is 32-bit.
520
521 2015-12-11  Yao Qi  <yao.qi@linaro.org>
522
523         * linux-aarch32-low.c [__aarch64__]: Use arm_abi_breakpoint
524         arm breakpoint.
525
526 2015-12-07  Yao Qi  <yao.qi@linaro.org>
527
528         * configure.srv: Append arm.o to srv_tgtobj for
529         aarch64*-*-linux* target.
530         * linux-aarch32-low.c (arm_abi_breakpoint): New macro.  Moved
531         from linux-arm-low.c.
532         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
533         (arm_breakpoint_len, thumb_breakpoint): Likewise.
534         (thumb_breakpoint_len, thumb2_breakpoint): Likewise.
535         (thumb2_breakpoint_len): Likewise.
536         (arm_is_thumb_mode, arm_breakpoint_at): Likewise.
537         (arm_breakpoint_kinds): Likewise.
538         (arm_breakpoint_kind_from_pc): Likewise.
539         (arm_sw_breakpoint_from_kind): Likewise.
540         (arm_breakpoint_kind_from_current_state): Likewise.
541         * linux-aarch32-low.h (arm_breakpoint_kind_from_pc): Declare.
542         (arm_sw_breakpoint_from_kind): Declare.
543         (arm_breakpoint_kind_from_current_state): Declare.
544         (arm_breakpoint_at): Declare.
545         * linux-aarch64-low.c (aarch64_sw_breakpoint_from_kind): Call
546         arm_sw_breakpoint_from_kind if process is 32-bit.
547         (aarch64_breakpoint_kind_from_pc): New function.
548         (aarch64_breakpoint_kind_from_current_state): New function.
549         (the_low_target): Initialize fields breakpoint_kind_from_pc
550         and breakpoint_kind_from_current_state.
551         * linux-arm-low.c (arm_breakpoint_kinds): Move to
552         linux-aarch32-low.c.
553         (arm_abi_breakpoint, arm_eabi_breakpoint): Likewise.
554         (arm_breakpoint, arm_breakpoint_len): Likewise.
555         (thumb_breakpoint, thumb_breakpoint_len): Likewise.
556         (thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
557         (arm_is_thumb_mode): Likewise.
558         (arm_breakpoint_at): Likewise.
559         (arm_breakpoint_kind_from_pc): Likewise.
560         (arm_sw_breakpoint_from_kind): Likewise.
561         (arm_breakpoint_kind_from_current_state): Likewise.
562
563         Revert:
564         2015-08-04  Yao Qi  <yao.qi@linaro.org>
565
566         * linux-aarch64-low.c (aarch64_supports_z_point_type): Return
567         0 for Z_PACKET_SW_BP if it may be used in multi-arch debugging.
568         * server.c (extended_protocol): Remove "static".
569         * server.h (extended_protocol): Declare it.
570
571 2015-12-04  Josh Stone  <jistone@redhat.com>
572
573         * target.h (struct target_ops) <arch_setup>: Rename to ...
574         (struct target_ops) <post_create_inferior>: ... this.
575         (target_arch_setup): Rename to ...
576         (target_post_create_inferior): ... this, calling post_create_inferior.
577         * server.c (start_inferior): Update target_arch_setup calls to
578         target_post_create_inferior.
579         * linux-low.c (linux_low_ptrace_options): Forward declare.
580         (linux_arch_setup): Update its comment for general use.
581         (linux_post_create_inferior): New, run arch_setup and setup ptrace.
582         (struct linux_target_ops): Use linux_post_create_inferior.
583         * lynx-low.c (struct lynx_target_ops): Update arch_setup stub comment
584         to post_create_inferior.
585         * nto-low.c (struct nto_target_ops): Likewise.
586         * spu-low.c (struct spu_target_ops): Likewise.
587         * win32-low.c (struct win32_target_ops): Likewise.
588
589 2015-12-03  Antoine Tremblay  <antoine.tremblay@ericsson.com>
590
591         * linux-arm-low.c: Remove duplicate arch/arm.h include.
592
593 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
594
595         * linux-arm-low.c (arm_reinsert_addr): Remove function.
596         (struct linux_target_ops <breakpoint_reinsert_addr>: Set to NULL.
597         * linux-cris-low.c (cris_reinsert_addr> Remove function.
598         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
599         * linux-crisv32-low.c (cris_reinsert_addr): Remove function.
600         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
601         * linux-mips-low.c (mips_reinsert_addr): Remove function.
602         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
603         * linux-nios2-low.c (nios2_reinsert_addr): Remove function.
604         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
605         * linux-sparc-low.c (sparc_reinsert_addr): Remove function.
606         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
607
608 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
609
610         * linux-low.c (linux_look_up_symbols): Don't call
611         linux_supports_traceclone.
612         * linux-low.h (thread_db_init): Remove use_events argument.
613         * thread-db.c (thread_db_use_event): Remove global variable.
614         (struct thread_db) <td_thr_event_enable_p>: Remove field.
615         (struct thread_db) <td_create_bp>: Remove field.
616         (thread_db_create_event): Remove function.
617         (thread_db_enable_reporting): Likewise.
618         (find_one_thread): Don't check for thread_db_use_events.
619         (attach_thread): Likewise.
620         (thread_db_load_search): Remove td_thr_event_enable_p initialization.
621         (try_thread_db_load_1): Don't check for thread_db_use_events.
622         (thread_db_init): Remove use_events argument and thread events
623         handling.
624         (remove_thread_event_breakpoints): Remove function.
625         (thread_db_detach): Remove call to remove_thred_event_breakpoints.
626
627 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
628
629         * linux-aarch64-low.c (aarch64_supports_hardware_single_step):
630         New function.
631         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
632         * linux-arm-low.c (arm_supports_hardware_single_step): New function.
633         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
634         * linux-bfin-low.c (bfin_supports_hardware_single_step): New function.
635         (struct linux_target_ops) <bfin_supports_hardware_single_step>:
636         Initialize.
637         * linux-crisv32-low.c (cris_supports_hardware_single_step):
638         New function.
639         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
640         * linux-low.c (can_hardware_single_step): Use
641         supports_hardware_single_step.
642         (can_software_single_step): New function.
643         (start_step_over): Call can_software_single_step.
644         (linux_supports_hardware_single_step): New function.
645         (struct target_ops) <supports_software_single_step>: Initialize.
646         * linux-low.h (struct linux_target_ops)
647         <supports_hardware_single_step>: Initialize.
648         * linux-m32r-low.c (m32r_supports_hardware_single_step): New function.
649         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
650         * linux-ppc-low.c (ppc_supports_hardware_single_step): New function.
651         (struct linux_target_ops) <supports_hardware_single_step> Initialize.
652         * linux-s390-low.c (s390_supports_hardware_single_step): New function.
653         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
654         * linux-sh-low.c (sh_supports_hardware_single_step): New function.
655         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
656         * linux-tic6x-low.c (tic6x_supports_hardware_single_step): New function.
657         (struct linux_target_ops) <tic6x_supports_hardware_single_step>:
658         Initialize.
659         * linux-tile-low.c (tile_supports_hardware_single_step): New function.
660         (struct linux_target_ops) <tile_supports_hardware_single_step>:
661         Initialize.
662         * linux-x86-low.c (x86_supports_hardware_single_step) New function.
663         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
664         * linux-xtensa-low.c (xtensa_supports_hardware_single_step):
665         New function.
666         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
667         * target.h (struct target_ops): <supports_software_single_step>:
668         New field.
669         (target_supports_software_single_step): New macro.
670
671 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
672
673         * linux-low.c (linux_wait_1): Fix pc advance condition.
674         * mem-break.c (reinsert_breakpoint_inserted_here): New function.
675         * mem-break.h (reinsert_breakpoint_inserted_here): New declaration.
676
677 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
678
679         * linux-arm-low.c (arm_is_thumb_mode): New function.
680         (arm_breakpoint_at): Use arm_is_thumb_mode.
681         (arm_breakpoint_kind_from_current_state): New function.
682         (struct linux_target_ops) <breakpoint_kind_from_current_state>:
683         Initialize.
684         * linux-low.c (linux_wait_1): Call breakpoint_kind_from_current_state.
685         (linux_breakpoint_kind_from_current_state): New function.
686         (struct target_ops <breakpoint_kind_from_current_state>: Initialize.
687         * linux-low.h (struct linux_target_ops)
688         <breakpoint_kind_from_current_state>: New field.
689         * target.h (struct target_ops): Likewise.
690         (target_breakpoint_kind_from_current_state): New macro.
691
692 2015-11-30  Pedro Alves  <palves@redhat.com>
693
694         * linux-low.c (linux_resume): Wake up the event loop before
695         returning.
696
697 2015-11-30  Pedro Alves  <palves@redhat.com>
698
699         * mem-break.c (check_gdb_bp_preconditions): Remove current_thread
700         check.
701         (set_gdb_breakpoint): If prepare_to_access_memory fails, set *ERR
702         to -1.
703         * target.c (struct thread_search): New structure.
704         (thread_search_callback): New function.
705         (prev_general_thread): New global.
706         (prepare_to_access_memory, done_accessing_memory): New functions.
707         * target.h (prepare_to_access_memory, done_accessing_memory):
708         Replace macros with function declarations.
709
710 2015-11-30  Pedro Alves  <palves@redhat.com>
711
712         PR 14618
713         * linux-low.c (linux_wait_1): If the last resumed thread is gone,
714         report TARGET_WAITKIND_NO_RESUMED.
715         * remote-utils.c (prepare_resume_reply): Handle
716         TARGET_WAITKIND_NO_RESUMED.
717         * server.c (report_no_resumed): New global.
718         (handle_query) <qSupported>: Handle "no-resumed+".  Report
719         "no-resumed+" support.
720         (resume): When the target reports TARGET_WAITKIND_NO_RESUMED, only
721         return error if the client doesn't support no-resumed events.
722         (push_stop_notification): New function.
723         (handle_target_event): Use it.  Report TARGET_WAITKIND_NO_RESUMED
724         events if the client supports them.
725
726 2015-11-30  Pedro Alves  <palves@redhat.com>
727
728         * linux-low.c (thread_still_has_status_pending_p): Don't check
729         vCont;t here.
730         (lwp_resumed): New function.
731         (status_pending_p_callback): Return early if the LWP is not
732         supposed to be resumed.
733
734 2015-11-30  Pedro Alves  <palves@redhat.com>
735
736         * linux-low.c (handle_extended_wait): Assert that the LWP's
737         waitstatus is TARGET_WAITKIND_IGNORE.  If GDB wants to hear about
738         thread create events, leave the new child's status pending.
739         (linux_low_filter_event): If GDB wants to hear about thread exit
740         events, leave the LWP marked dead and don't delete it.
741         (linux_wait_for_event_filtered): Don't check for thread exit.
742         (filter_exit_event): New function.
743         (linux_wait_1): Use it, when returning an exit event.
744         (linux_resume_one_lwp_throw): Assert that the LWP's
745         waitstatus is TARGET_WAITKIND_IGNORE.
746         * remote-utils.c (prepare_resume_reply): Handle
747         TARGET_WAITKIND_THREAD_CREATED and TARGET_WAITKIND_THREAD_EXITED.
748         * server.c (report_thread_events): New global.
749         (handle_general_set): Handle QThreadEvents.
750         (handle_query) <qSupported>: Handle and report QThreadEvents+;
751         (handle_target_event): Handle TARGET_WAITKIND_THREAD_CREATED and
752         TARGET_WAITKIND_THREAD_EXITED.
753         * server.h (report_thread_events): Declare.
754
755 2015-11-30  Pedro Alves  <palves@redhat.com>
756
757         * linux-low.c (resume_stopped_resumed_lwps): Don't check whether
758         the thread's last_resume_kind was resume_stop.
759
760 2015-11-30  Pedro Alves  <palves@redhat.com>
761
762         * linux-low.c (linux_attach): In non-stop mode, wait for one stop
763         before returning.
764
765 2015-11-30  Pedro Alves  <palves@redhat.com>
766
767         * server.c (handle_v_requests): Handle vCtrlC.
768
769 2015-11-30  Pedro Alves  <palves@redhat.com>
770
771         * gdbthread.h (find_any_thread_of_pid): Declare.
772         * inferiors.c (thread_of_pid, find_any_thread_of_pid): New
773         functions.
774         * server.c (handle_query): If current_thread is NULL, look for
775         another thread of the selected process.
776
777 2015-11-26  Daniel Colascione  <dancol@dancol.org>
778             Simon Marchi  <simon.marchi@ericsson.com>
779
780         * linux-low.c (linux_target_ops): Use linux_proc_tid_get_name.
781         * server.c (handle_qxfer_threads_worker): Refactor to include thread
782         name in reply.
783         * target.h (struct target_ops) <thread_name>: New field.
784         (target_thread_name): New macro.
785
786 2015-11-23  Joel Brobecker  <brobecker@adacore.com>
787
788         * regcache.h (regcache_invalidate_pid): Add declaration.
789         * regcache.c (regcache_invalidate_pid): New function, extracted
790         from regcache_invalidate.
791         (regcache_invalidate): Reimplement using regcache_invalidate_pid.
792         Add trivial documentation comment.
793         * lynx-low.c: Use regcache_invalidate_pid instead of
794         regcache_invalidate.
795
796 2015-11-23  Joel Brobecker  <brobecker@adacore.com>
797
798         * configure.ac: Do not call AC_CHECK_TYPES for Elf32_auxv_t
799         and Elf64_auxv_t if the target is Android.
800
801 2015-11-22  Doug Evans  <xdje42@gmail.com>
802
803         * target.h: #include <sys/types.h>.
804
805 2015-11-19  Pedro Alves  <palves@redhat.com>
806
807         * linux-low.c (linux_process_qsupported): Change prototype.
808         Adjust.
809         * linux-low.h (struct linux_target_ops) <process_qsupported>:
810         Change prototype.
811         * linux-x86-low.c (x86_linux_process_qsupported): Change prototype
812         and adjust to loop over all features.
813         * server.c (handle_query) <qSupported>: Adjust to call
814         target_process_qsupported once, passing it a vector of unprocessed
815         features.
816         * target.h (struct target_ops) <process_qsupported>: Change
817         prototype.
818         (target_process_qsupported): Adjust.
819
820 2015-11-19  Pedro Alves  <palves@redhat.com>
821
822         * configure.ac (ERROR_ON_WARNING): Don't check whether in C++
823         mode.
824         * configure: Regenerate.
825
826 2015-11-19  Pedro Alves  <palves@redhat.com>
827
828         * configure: Regenerate.
829
830 2015-11-19  Yao Qi  <yao.qi@linaro.org>
831
832         * linux-aarch64-low.c (emit_data_processing_reg): Change opcode
833         type to uint32_t.
834
835 2015-11-19  Yao Qi  <yao.qi@linaro.org>
836
837         * linux-aarch64-low.c (enum aarch64_operand_type): New.
838         (struct aarch64_operand): Move enum out.
839
840 2015-11-19  Yao Qi  <yao.qi@linaro.org>
841
842         * linux-aarch64-low.c (aarch64_fill_fpregset): Cast buf to
843         struct user_fpsimd_state *.
844         (aarch64_store_fpregset): Likewise.
845
846 2015-11-19  Yao Qi  <yao.qi@linaro.org>
847
848         * linux-aarch64-low.c (aarch64_fill_gregset): Cast buf to
849         struct user_pt_regs *.
850         (aarch64_store_gregset): Likewise.
851
852 2015-11-18  Pedro Alves  <palves@redhat.com>
853
854         * Makefile.in (all_object_files): Add $IPA_OBJS.
855
856 2015-11-17  Pedro Alves  <palves@redhat.com>
857
858         * win32-low.c (win32_resume): Use gdb_signal_from_host,
859         GDB_SIGNAL_0 and gdb_signal_to_string.
860
861 2015-11-17  Pedro Alves  <palves@redhat.com>
862
863         * win32-low.c (handle_output_debug_string): Remove parameter.
864         (win32_kill): Remove our_status local and adjust call to
865         handle_output_debug_string.
866         (get_child_debug_event): Adjust call to
867         handle_output_debug_string.
868
869 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
870
871         * linux-mips-low.c (mips_fill_gregset): Add cast.
872         (mips_store_gregset): Likewise.
873         (mips_fill_fpregset): Likewise.
874         (mips_store_fpregset): Likewise.
875
876 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
877
878         * linux-mips-low.c (mips_add_watchpoint): Rename private to
879         priv.
880
881 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
882
883         * linux-mips-low.c (mips_linux_new_thread): Change type of
884         watch_type to enum target_hw_bp_type.
885
886 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
887
888                 * linux-arm-low.c (raw_bkpt_type_to_arm_hwbp_type):
889                 Change return type to arm_hwbp_type.
890
891 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
892
893         * linux-aarch32-low.c (arm_fill_gregset): Add cast.
894         (arm_store_gregset): Likewise.
895         * linux-arm-low.c (arm_get_hwcap): Likewise.
896         (arm_read_description): Likewise.
897
898 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
899
900         * linux-aarch32-low.c (aarch32_regsets): Use NULL_REGSET.
901
902 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
903
904         * linux-ppc-low.c (ppc_get_hwcap): Add cast.
905         (ppc_fill_vsxregset): Likewise.
906         (ppc_store_vsxregset): Likewise.
907         (ppc_fill_vrregset): Likewise.
908         (ppc_store_vrregset): Likewise.
909         (ppc_fill_evrregset): Likewise.
910         (ppc_store_evrregset): Likewise.
911
912 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
913
914         * linux-ppc-low.c (ppc_usrregs_info): Remove
915         forward-declaration.
916         (ppc_arch_setup): Move lower in file.
917
918 2015-10-30  Simon Marchi  <simon.marchi@ericsson.com>
919
920         * proc-service.c (ps_pdread): Change CORE_ADDR cast to uintptr_t.
921         (ps_pdwrite): Likewise.
922
923 2015-10-29 Henrik Wallin <henrik.wallin@windriver.com>
924
925         * linux-arm-low.c (arm_new_thread): Move pointer dereference
926         to after assert checks.
927
928 2015-10-29  Simon Marchi  <simon.marchi@ericsson.com>
929
930         * proc-service.c (ps_pdread): Add/adjust casts.
931         (ps_pdwrite): Add/adjust casts.
932
933 2015-10-29  Simon Marchi  <simon.marchi@polymtl.ca>
934
935         * server.c (handle_search_memory_1): Cast return value of
936         memmem.
937
938 2015-10-29  Simon Marchi  <simon.marchi@polymtl.ca>
939
940         * server.c (write_qxfer_response): Change type of data to
941         gdb_byte *.
942
943 2015-10-29  Pedro Alves  <palves@redhat.com>
944
945         * mem-break.c (Z_packet_to_bkpt_type): Add cast.
946
947 2015-10-29  Pedro Alves  <palves@redhat.com>
948
949         * tracepoint.c (clear_installed_tracepoints): Add casts.
950
951 2015-10-29  Pedro Alves  <palves@redhat.com>
952
953         * server.c (handle_v_cont, process_serial_event): Add enum
954         gdb_signal casts to signal parsing code.
955
956 2015-10-29  Pedro Alves  <palves@redhat.com>
957
958         * linux-low.h (NULL_REGSET): Define.
959         * linux-aarch64-low.c (aarch64_regsets): Use NULL_REGSET.
960         * linux-arm-low.c (arm_regsets): Likewise.
961         * linux-crisv32-low.c (cris_regsets): Likewise.
962         * linux-m68k-low.c (m68k_regsets): Likewise.
963         * linux-mips-low.c (mips_regsets): Likewise.
964         * linux-nios2-low.c (nios2_regsets): Likewise.
965         * linux-ppc-low.c (ppc_regsets): Likewise.
966         * linux-s390-low.c (s390_regsets): Likewise.
967         * linux-sh-low.c (sh_regsets): Likewise.
968         * linux-sparc-low.c (sparc_regsets): Likewise.
969         * linux-tic6x-low.c (tic6x_regsets): Likewise.
970         * linux-tile-low.c (tile_regsets): Likewise.
971         * linux-x86-low.c (x86_regsets): Likewise.
972         * linux-xtensa-low.c (xtensa_regsets): Likewise.
973
974 2015-10-29  Pedro Alves  <palves@redhat.com>
975
976         * linux-low.h (NULL_REGSET): Define.
977         * linux-aarch64-low.c (aarch64_regsets): Use NULL_REGSET.
978         * linux-arm-low.c (arm_regsets): Likewise.
979         * linux-crisv32-low.c (cris_regsets): Likewise.
980         * linux-m68k-low.c (m68k_regsets): Likewise.
981         * linux-mips-low.c (mips_regsets): Likewise.
982         * linux-nios2-low.c (nios2_regsets): Likewise.
983         * linux-ppc-low.c (ppc_regsets): Likewise.
984         * linux-s390-low.c (s390_regsets): Likewise.
985         * linux-sh-low.c (sh_regsets): Likewise.
986         * linux-sparc-low.c (sparc_regsets): Likewise.
987         * linux-tic6x-low.c (tic6x_regsets): Likewise.
988         * linux-tile-low.c (tile_regsets): Likewise.
989         * linux-x86-low.c (x86_regsets): Likewise.
990         * linux-xtensa-low.c (xtensa_regsets): Likewise.
991
992 2015-10-26  Doug Evans  <dje@google.com>
993
994         * linux-low.c (__SIGRTMIN): Move to nat/linux-nat.h.
995
996 2015-10-26  Doug Evans  <dje@google.com>
997
998         * linux-low.c (W_STOPCODE): Moved to common/gdb_wait.h.
999
1000 2015-10-26  Doug Evans  <dje@google.com>
1001
1002         * thread-db.c (find_one_thread): Cast ti.ti_tid to unsigned long
1003         for debug_printf.
1004         (attach_thread, find_new_threads_callback): Ditto.
1005
1006 2015-10-23  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1007
1008         * mem-break.h (set_breakpoint_data): Remove.
1009
1010 2015-10-23  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1011
1012         * nto-low.c (nto_sw_breakpoint_from_kind): New function.
1013         (struct target_ops) <sw_breakpoint_from_kind>: Initialize.
1014         (initialize_low): Remove set_breakpoint_data call.
1015         * spu-low.c (spu_sw_breakpoint_from_kind): New function.
1016         (struct target_ops) <sw_breakpoint_from_kind>: Iniitalize.
1017         (initialize_low): Remove set_breakpoint_data call.
1018         * win32-low.c (win32_sw_breakpoint_from_kind): New function.
1019         (struct target_ops) <sw_breakpoint_from_kind>: Initialize.
1020         (initialize_low): Remove set_breakpoint_data call.
1021
1022 2015-10-23  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1023
1024         * linux-low.c (default_breakpoint_kind_from_pc): Move to target.c.
1025         * mem-break.c (set_breakpoint_at): Use target_breakpoint_kind_from_pc.
1026         * target.c (default_breakpoint_kind_from_pc): Moved from linux-low.c
1027         * target.h (target_breakpoint_kind_from_pc): New macro.
1028
1029 2015-10-22  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1030
1031         * linux-low.c (default_breakpoint_kind_from_pc): New function.
1032         (linux_breakpoint_kind_from_pc): Use default_breakpoint_kind_from_pc for
1033         the default breakpoint kind.
1034
1035 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1036
1037         * linux-arm-low.c (arm_supports_z_point_type): Add software
1038         breakpoint support.
1039
1040 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1041
1042         * linux-arm-low.c: Refactor breakpoint definitions.
1043         (arm_breakpoint_at): Adjust for arm_abi_breakpoint.
1044         (arm_sw_breakpoint_from_kind): Adjust for arm_breakpoint.
1045
1046 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1047
1048         * Makefile.in: Add arm.c/o.
1049         * configure.srv: Likewise.
1050         * linux-arm-low.c (arm_breakpoint_kinds): New enum.
1051         (arm_breakpoint_kind_from_pc): New function.
1052         (arm_sw_breakpoint_from_kind): Return proper kind.
1053         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize.
1054
1055 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1056
1057         * linux-low.c (initialize_low): Ajdust for breakpoint global variables
1058         removal.
1059         * mem-break.c : Remove breakpoint_data/breakpoint_len global variables.
1060         (struct raw_breakpoint) <size>: Remove.
1061         (struct raw_breakpoint) <kind>: Add.
1062         (bp_size): New function.
1063         (bp_opcode): Likewise.
1064         (find_raw_breakpoint_at): Adjust for kind.
1065         (insert_memory_breakpoint): Adjust for kind call bp_size,bp_opcode.
1066         (remove_memory_breakpoint): Adjust for kind call bp_size.
1067         (set_raw_breakpoint_at): Adjust for kind.
1068         (set_breakpoint): Likewise.
1069         (set_breakpoint_at): Call breakpoint_kind_from_pc.
1070         (delete_raw_breakpoint): Adjust for kind.
1071         (delete_breakpoint): Likewise.
1072         (find_gdb_breakpoint): Likewise.
1073         (set_gdb_breakpoint_1): Likewise.
1074         (set_gdb_breakpoint): Likewise.
1075         (delete_gdb_breakpoint_1): Likewise.
1076         (delete_gdb_breakpoint): Likewise.
1077         (uninsert_raw_breakpoint): Likewise.
1078         (reinsert_raw_breakpoint): Likewise.
1079         (set_breakpoint_data): Remove.
1080         (validate_inserted_breakpoint): Adjust for kind call bp_size,bp_opcode.
1081         (check_mem_read): Adjust for kind call bp_size.
1082         (check_mem_write): Adjust for kind call bp_size,bp_opcode.
1083         (clone_one_breakpoint): Adjust for kind.
1084         * mem-break.h (set_gdb_breakpoint): Likewise.
1085         (delete_gdb_breakpoint): Likewise.
1086         * server.c (process_serial_event): Likewise.
1087
1088 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1089
1090         * linux-aarch64-low.c (aarch64_sw_breakpoint_from_kind): New function.
1091         (struct linux_target_ops) <breakpoint>: Remove.
1092         (struct linux_target_ops) <breakpoint_len>: Remove.
1093         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1094         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1095         * linux-arm-low.c (arm_breakpoint_kind_from_pc): New function.
1096         (arm_sw_breakpoint_from_kind): New function.
1097         * linux-bfin-low.c (bfin_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-cris-low.c (cris_sw_breakpoint_from_kind): New function.
1103         (struct linux_target_ops) <breakpoint>: Remove.
1104         (struct linux_target_ops) <breakpoint_len>: Remove.
1105         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1106         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1107         * linux-crisv32-low.c (cris_sw_breakpoint_from_kind): New function.
1108         (struct linux_target_ops) <breakpoint>: Remove.
1109         (struct linux_target_ops) <breakpoint_len>: Remove.
1110         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1111         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1112         * linux-low.c (linux_wait_1): Call breakpoint_kind_from_pc
1113         and sw_breakpoint_from_kind to increment the pc.
1114         (linux_breakpoint_kind_from_pc): New function.
1115         (linux_sw_breakpoint_from_kind): New function.
1116         (struct target_ops) <sw_breakpoint_from_kind>: Initialize field.
1117         (initialize_low): Call breakpoint_kind_from_pc and
1118         sw_breakpoint_from_kind to replace breakpoint_data/len.
1119         * linux-low.h (struct linux_target_ops) <breakpoint_kind_from_pc>:
1120         New field.
1121         (struct linux_target_ops) <sw_breakpoint_from_kind>: Likewise.
1122         * linux-m32r-low.c (m32r_sw_breakpoint_from_kind): New function.
1123         (struct linux_target_ops) <breakpoint>: Remove.
1124         (struct linux_target_ops) <breakpoint_len>: Remove.
1125         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1126         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1127         * linux-m68k-low.c (m68k_sw_breakpoint_from_kind): New function.
1128         (struct linux_target_ops) <breakpoint>: Remove.
1129         (struct linux_target_ops) <breakpoint_len>: Remove.
1130         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1131         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1132         * linux-mips-low.c (mips_sw_breakpoint_from_kind): New function.
1133         (struct linux_target_ops) <breakpoint>: Remove.
1134         (struct linux_target_ops) <breakpoint_len>: Remove.
1135         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1136         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1137         * linux-nios2-low.c (nios2_sw_breakpoint_from_kind): New function.
1138         (struct linux_target_ops) <breakpoint>: Remove.
1139         (struct linux_target_ops) <breakpoint_len>: Remove.
1140         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1141         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1142         * linux-ppc-low.c (ppc_sw_breakpoint_from_kind): New function.
1143         (struct linux_target_ops) <breakpoint>: Remove.
1144         (struct linux_target_ops) <breakpoint_len>: Remove.
1145         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1146         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1147         * linux-s390-low.c (s390_sw_breakpoint_from_kind): New function.
1148         (struct linux_target_ops) <breakpoint>: Remove.
1149         (struct linux_target_ops) <breakpoint_len>: Remove.
1150         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1151         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1152         * linux-sh-low.c (sh_sw_breakpoint_from_kind): New function.
1153         (struct linux_target_ops) <breakpoint>: Remove.
1154         (struct linux_target_ops) <breakpoint_len>: Remove.
1155         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1156         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1157         * linux-sparc-low.c (sparc_sw_breakpoint_from_kind): New function.
1158         (struct linux_target_ops) <breakpoint>: Remove.
1159         (struct linux_target_ops) <breakpoint_len>: Remove.
1160         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1161         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1162         * linux-tic6x-low.c (tic6x_sw_breakpoint_from_kind): New function.
1163         (struct linux_target_ops) <breakpoint>: Remove.
1164         (struct linux_target_ops) <breakpoint_len>: Remove.
1165         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1166         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1167         * linux-tile-low.c (tile_sw_breakpoint_from_kind): New function.
1168         * linux-x86-low.c (x86_sw_breakpoint_from_kind): New function.
1169         (struct linux_target_ops) <breakpoint>: Remove.
1170         (struct linux_target_ops) <breakpoint_len>: Remove.
1171         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1172         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1173         * linux-xtensa-low.c (xtensa_sw_breakpoint_from_kind) New function.
1174         (struct linux_target_ops) <breakpoint>: Remove.
1175         (struct linux_target_ops) <breakpoint_len>: Remove.
1176         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1177         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1178
1179 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1180
1181         * linux-cris-low.c (cris_get_pc): Remove void arg.
1182
1183 2015-10-16  Aleksandar Ristovski  <aristovski@qnx.com>
1184
1185         * gdbserver/nto-low.c (nto_insert_point, nto_remove_point): Fix
1186         variable name.
1187
1188 2015-10-16  Aleksandar Ristovski  <aristovski@qnx.com>
1189
1190         * inferiors.c (thread_pid_matches_callback): New function.
1191         (find_thread_process): New function.
1192         (remove_thread): Reset current_thread.
1193         (remove_process): Assert threads have been removed first.
1194
1195 2015-10-15  Yao Qi  <yao.qi@linaro.org>
1196
1197         * linux-aarch64-low.c (aarch64_insert_point): Set len to 2
1198         if it is 3.
1199         (aarch64_remove_point): Likewise.
1200         * regcache.c (regcache_register_size): New function.
1201
1202 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1203
1204         * linux-aarch64-low.c: Update all callers as emit_load_store
1205         is renamed to aarch64_emit_load_store.
1206
1207 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1208
1209         * linux-aarch64-low.c: Update all callers of function renaming
1210         from emit_insn to aarch64_emit_insn.
1211
1212 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1213
1214         * linux-aarch64-low.c (enum aarch64_opcodes): Move to
1215         arch/aarch64-insn.h.
1216         (struct aarch64_memory_operand): Likewise.
1217         (ENCODE): Likewise.
1218         (emit_insn): Move to arch/aarch64-insn.c.
1219         (emit_b, emit_bcond, emit_cb, emit_tb): Remove.
1220         (emit_load_store): Move to arch/aarch64-insn.c.
1221         (emit_ldr, emit_ldrb, emit_ldrsw, emit_nop): Remove.
1222         (can_encode_int32): Remove.
1223
1224 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1225
1226         * linux-aarch64-low.c (extract_signed_bitfield): Remove.
1227         (aarch64_decode_ldr_literal): Move to gdb/arch/aarch64-insn.c.
1228         (aarch64_relocate_instruction): Likewise.
1229         (struct aarch64_insn_data): Move to gdb/arch/aarch64-insn.h.
1230         (struct aarch64_insn_visitor): Likewise.
1231
1232 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1233
1234         * linux-aarch64-low.c (struct aarch64_insn_data): New.
1235         (struct aarch64_insn_visitor): New.
1236         (struct aarch64_insn_relocation_data): New.
1237         (aarch64_ftrace_insn_reloc_b): New function.
1238         (aarch64_ftrace_insn_reloc_b_cond): Likewise.
1239         (aarch64_ftrace_insn_reloc_cb): Likewise.
1240         (aarch64_ftrace_insn_reloc_tb): Likewise.
1241         (aarch64_ftrace_insn_reloc_adr): Likewise.
1242         (aarch64_ftrace_insn_reloc_ldr_literal): Likewise.
1243         (aarch64_ftrace_insn_reloc_others): Likewise.
1244         (visitor): New.
1245         (aarch64_relocate_instruction): Use visitor.
1246
1247 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1248
1249         * linux-aarch64-low.c (aarch64_relocate_instruction): Return
1250         int.  Add argument buf.
1251         (aarch64_install_fast_tracepoint_jump_pad): Pass buf to
1252         aarch64_relocate_instruction.
1253
1254 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1255
1256         * linux-aarch64-low.c (aarch64_relocate_instruction): Add
1257         argument insn.  Remove local variable insn.  Don't call
1258         target_read_uint32.
1259         (aarch64_install_fast_tracepoint_jump_pad): Call
1260         target_read_uint32.
1261
1262 2015-09-30  Yao Qi  <yao.qi@linaro.org>
1263
1264         * linux-aarch64-low.c (emit_movk): Shorten a long line.
1265         (emit_load_store_pair): Likewise.
1266
1267 2015-09-25  Simon Marchi  <simon.marchi@ericsson.com>
1268
1269         * dll.c (match_dll): Add cast(s).
1270         (unloaded_dll): Likewise.
1271         * linux-low.c (second_thread_of_pid_p): Likewise.
1272         (delete_lwp_callback): Likewise.
1273         (count_events_callback): Likewise.
1274         (select_event_lwp_callback): Likewise.
1275         (linux_set_resume_request): Likewise.
1276         * server.c (accumulate_file_name_length): Likewise.
1277         (emit_dll_description): Likewise.
1278         (handle_qxfer_threads_worker): Likewise.
1279         (visit_actioned_threads): Likewise.
1280         * thread-db.c (any_thread_of): Likewise.
1281         * tracepoint.c (same_process_p): Likewise.
1282         (match_blocktype): Likewise.
1283         (build_traceframe_info_xml): Likewise.
1284
1285 2015-09-25  Simon Marchi  <simon.marchi@ericsson.com>
1286
1287         * ax.c (gdb_parse_agent_expr): Add cast to allocation result
1288         assignment.
1289         (gdb_unparse_agent_expr): Likewise.
1290         * hostio.c (require_data): Likewise.
1291         (handle_pread): Likewise.
1292         * linux-low.c (disable_regset): Likewise.
1293         (fetch_register): Likewise.
1294         (store_register): Likewise.
1295         (get_dynamic): Likewise.
1296         (linux_qxfer_libraries_svr4): Likewise.
1297         * mem-break.c (delete_fast_tracepoint_jump): Likewise.
1298         (set_fast_tracepoint_jump): Likewise.
1299         (uninsert_fast_tracepoint_jumps_at): Likewise.
1300         (reinsert_fast_tracepoint_jumps_at): Likewise.
1301         (validate_inserted_breakpoint): Likewise.
1302         (clone_agent_expr): Likewise.
1303         * regcache.c (init_register_cache): Likewise.
1304         * remote-utils.c (putpkt_binary_1): Likewise.
1305         (decode_M_packet): Likewise.
1306         (decode_X_packet): Likewise.
1307         (look_up_one_symbol): Likewise.
1308         (relocate_instruction): Likewise.
1309         (monitor_output): Likewise.
1310         * server.c (handle_search_memory): Likewise.
1311         (handle_qxfer_exec_file): Likewise.
1312         (handle_qxfer_libraries): Likewise.
1313         (handle_qxfer): Likewise.
1314         (handle_query): Likewise.
1315         (handle_v_cont): Likewise.
1316         (handle_v_run): Likewise.
1317         (captured_main): Likewise.
1318         * target.c (write_inferior_memory): Likewise.
1319         * thread-db.c (try_thread_db_load_from_dir): Likewise.
1320         * tracepoint.c (init_trace_buffer): Likewise.
1321         (add_tracepoint_action): Likewise.
1322         (add_traceframe): Likewise.
1323         (add_traceframe_block): Likewise.
1324         (cmd_qtdpsrc): Likewise.
1325         (cmd_qtdv): Likewise.
1326         (cmd_qtstatus): Likewise.
1327         (response_source): Likewise.
1328         (response_tsv): Likewise.
1329         (cmd_qtnotes): Likewise.
1330         (gdb_collect): Likewise.
1331         (initialize_tracepoint): Likewise.
1332
1333 2015-09-21  Pierre Langlois  <pierre.langlois@arm.com>
1334
1335         * linux-aarch64-low-.c: Include ax.h and tracepoint.h.
1336         (enum aarch64_opcodes) <RET>, <SUBS>, <AND>, <ORR>, <ORN>,
1337         <EOR>, <LSLV>, <LSRV>, <ASRV>, <SBFM>, <UBFM>, <CSINC>, <MUL>,
1338         <NOP>: New.
1339         (enum aarch64_condition_codes): New enum.
1340         (w0): New static global.
1341         (fp): Likewise.
1342         (lr): Likewise.
1343         (struct aarch64_memory_operand) <type>: New
1344         MEMORY_OPERAND_POSTINDEX type.
1345         (postindex_memory_operand): New helper function.
1346         (emit_ret): New function.
1347         (emit_load_store_pair): New function, factored out of emit_stp
1348         with support for MEMORY_OPERAND_POSTINDEX.
1349         (emit_stp): Rewrite using emit_load_store_pair.
1350         (emit_ldp): New function.
1351         (emit_load_store): Likewise.
1352         (emit_ldr): Mention post-index instruction in comment.
1353         (emit_ldrh): New function.
1354         (emit_ldrb): New function.
1355         (emit_ldrsw): Mention post-index instruction in comment.
1356         (emit_str): Likewise.
1357         (emit_subs): New function.
1358         (emit_cmp): Likewise.
1359         (emit_and): Likewise.
1360         (emit_orr): Likewise.
1361         (emit_orn): Likewise.
1362         (emit_eor): Likewise.
1363         (emit_mvn): Likewise.
1364         (emit_lslv): Likewise.
1365         (emit_lsrv): Likewise.
1366         (emit_asrv): Likewise.
1367         (emit_mul): Likewise.
1368         (emit_sbfm): Likewise.
1369         (emit_sbfx): Likewise.
1370         (emit_ubfm): Likewise.
1371         (emit_ubfx): Likewise.
1372         (emit_csinc): Likewise.
1373         (emit_cset): Likewise.
1374         (emit_nop): Likewise.
1375         (emit_ops_insns): New helper function.
1376         (emit_pop): Likewise.
1377         (emit_push): Likewise.
1378         (aarch64_emit_prologue): New function.
1379         (aarch64_emit_epilogue): Likewise.
1380         (aarch64_emit_add): Likewise.
1381         (aarch64_emit_sub): Likewise.
1382         (aarch64_emit_mul): Likewise.
1383         (aarch64_emit_lsh): Likewise.
1384         (aarch64_emit_rsh_signed): Likewise.
1385         (aarch64_emit_rsh_unsigned): Likewise.
1386         (aarch64_emit_ext): Likewise.
1387         (aarch64_emit_log_not): Likewise.
1388         (aarch64_emit_bit_and): Likewise.
1389         (aarch64_emit_bit_or): Likewise.
1390         (aarch64_emit_bit_xor): Likewise.
1391         (aarch64_emit_bit_not): Likewise.
1392         (aarch64_emit_equal): Likewise.
1393         (aarch64_emit_less_signed): Likewise.
1394         (aarch64_emit_less_unsigned): Likewise.
1395         (aarch64_emit_ref): Likewise.
1396         (aarch64_emit_if_goto): Likewise.
1397         (aarch64_emit_goto): Likewise.
1398         (aarch64_write_goto_address): Likewise.
1399         (aarch64_emit_const): Likewise.
1400         (aarch64_emit_call): Likewise.
1401         (aarch64_emit_reg): Likewise.
1402         (aarch64_emit_pop): Likewise.
1403         (aarch64_emit_stack_flush): Likewise.
1404         (aarch64_emit_zero_ext): Likewise.
1405         (aarch64_emit_swap): Likewise.
1406         (aarch64_emit_stack_adjust): Likewise.
1407         (aarch64_emit_int_call_1): Likewise.
1408         (aarch64_emit_void_call_2): Likewise.
1409         (aarch64_emit_eq_goto): Likewise.
1410         (aarch64_emit_ne_goto): Likewise.
1411         (aarch64_emit_lt_goto): Likewise.
1412         (aarch64_emit_le_goto): Likewise.
1413         (aarch64_emit_gt_goto): Likewise.
1414         (aarch64_emit_ge_got): Likewise.
1415         (aarch64_emit_ops_impl): New static global variable.
1416         (aarch64_emit_ops): New target function, return
1417         &aarch64_emit_ops_impl.
1418         (struct linux_target_ops): Install it.
1419
1420 2015-09-21  Pierre Langlois  <pierre.langlois@arm.com>
1421
1422         * Makefile.in (linux-aarch64-ipa.o, aarch64-ipa.o): New rules.
1423         * configure.srv (aarch64*-*-linux*): Add linux-aarch64-ipa.o and
1424         aarch64-ipa.o.
1425         * linux-aarch64-ipa.c: New file.
1426         * linux-aarch64-low.c: Include arch/aarch64-insn.h, inttypes.h
1427         and endian.h.
1428         (aarch64_get_thread_area): New target method.
1429         (extract_signed_bitfield): New helper function.
1430         (aarch64_decode_ldr_literal): New function.
1431         (enum aarch64_opcodes): New enum.
1432         (struct aarch64_register): New struct.
1433         (struct aarch64_operand): New struct.
1434         (x0): New static global.
1435         (x1): Likewise.
1436         (x2): Likewise.
1437         (x3): Likewise.
1438         (x4): Likewise.
1439         (w2): Likewise.
1440         (ip0): Likewise.
1441         (sp): Likewise.
1442         (xzr): Likewise.
1443         (aarch64_register): New helper function.
1444         (register_operand): Likewise.
1445         (immediate_operand): Likewise.
1446         (struct aarch64_memory_operand): New struct.
1447         (offset_memory_operand): New helper function.
1448         (preindex_memory_operand): Likewise.
1449         (enum aarch64_system_control_registers): New enum.
1450         (ENCODE): New macro.
1451         (emit_insn): New helper function.
1452         (emit_b): New function.
1453         (emit_bcond): Likewise.
1454         (emit_cb): Likewise.
1455         (emit_tb): Likewise.
1456         (emit_blr): Likewise.
1457         (emit_stp): Likewise.
1458         (emit_ldp_q_offset): Likewise.
1459         (emit_stp_q_offset): Likewise.
1460         (emit_load_store): Likewise.
1461         (emit_ldr): Likewise.
1462         (emit_ldrsw): Likewise.
1463         (emit_str): Likewise.
1464         (emit_ldaxr): Likewise.
1465         (emit_stxr): Likewise.
1466         (emit_stlr): Likewise.
1467         (emit_data_processing_reg): Likewise.
1468         (emit_data_processing): Likewise.
1469         (emit_add): Likewise.
1470         (emit_sub): Likewise.
1471         (emit_mov): Likewise.
1472         (emit_movk): Likewise.
1473         (emit_mov_addr): Likewise.
1474         (emit_mrs): Likewise.
1475         (emit_msr): Likewise.
1476         (emit_sevl): Likewise.
1477         (emit_wfe): Likewise.
1478         (append_insns): Likewise.
1479         (can_encode_int32_in): New helper function.
1480         (aarch64_relocate_instruction): New function.
1481         (aarch64_install_fast_tracepoint_jump_pad): Likewise.
1482         (aarch64_get_min_fast_tracepoint_insn_len): Likewise.
1483         (struct linux_target_ops): Install aarch64_get_thread_area,
1484         aarch64_install_fast_tracepoint_jump_pad and
1485         aarch64_get_min_fast_tracepoint_insn_len.
1486
1487 2015-09-21  Pierre Langlois  <pierre.langlois@arm.com>
1488
1489         * Makefile.in (aarch64-insn.o): New rule.
1490         * configure.srv (aarch64*-*-linux*): Add aarch64-insn.o.
1491
1492 2015-09-21  Yao Qi  <yao.qi@linaro.org>
1493
1494         * ax.c [!IN_PROCESS_AGENT] (gdb_agent_op_sizes): Define it.
1495
1496 2015-09-21  Yao Qi  <yao.qi@linaro.org>
1497
1498         * tracepoint.c (max_jump_pad_size): Remove.
1499
1500 2015-09-18  Yao Qi  <yao.qi@linaro.org>
1501
1502         * linux-aarch64-low.c: Don't include sys/uio.h.
1503         (ps_get_thread_area): Call aarch64_ps_get_thread_area.
1504
1505 2015-09-16  Wei-cheng Wang  <cole945@gmail.com>
1506
1507         * tracepoint.c (eval_result_type): Change prototype.
1508         (condition_true_at_tracepoint): Fix argument to compiled_cond.
1509
1510 2015-09-15  Pedro Alves  <palves@redhat.com>
1511
1512         * remote-utils.c (prepare_resume_reply) <TARGET_WAITKIND_EXECD>:
1513         Check whether to report exec events instead of checking whether
1514         multiprocess is enabled.
1515
1516 2015-09-15  Pedro Alves  <palves@redhat.com>
1517
1518         PR remote/18965
1519         * remote-utils.c (prepare_resume_reply): Merge
1520         TARGET_WAITKIND_VFORK_DONE switch case with the
1521         TARGET_WAITKIND_FORKED case.
1522
1523 2015-09-15  Yao Qi  <yao.qi@linaro.org>
1524
1525         * server.c (handle_query): Check string comparison using
1526         "else if" instead of "if".
1527
1528 2015-09-15  Yao Qi  <yao.qi@linaro.org>
1529
1530         * server.c (vCont_supported): New global variable.
1531         (handle_query): Set vCont_supported to 1 if "vContSupported+"
1532         matches.  Append ";vContSupported+" to own_buf.
1533         (handle_v_requests): Append ";s;S" to own_buf if target supports
1534         hardware single step or vCont_supported is false.
1535         (capture_main): Set vCont_supported to zero.
1536
1537 2015-09-15  Yao Qi  <yao.qi@linaro.org>
1538
1539         * linux-low.c (linux_supports_conditional_breakpoints): Rename
1540         it to ...
1541         (linux_supports_hardware_single_step): ... New function.
1542         (linux_target_ops): Update.
1543         * lynx-low.c (lynx_target_ops): Set field
1544         supports_hardware_single_step to target_can_do_hardware_single_step.
1545         * nto-low.c (nto_target_ops): Likewise.
1546         * spu-low.c (spu_target_ops): Likewise.
1547         * win32-low.c (win32_target_ops): Likewise.
1548         * target.c (target_can_do_hardware_single_step): New function.
1549         * target.h (struct target_ops) <supports_conditional_breakpoints>:
1550         Remove.  <supports_hardware_single_step>: New field.
1551         (target_supports_conditional_breakpoints): Remove.
1552         (target_supports_hardware_single_step): New macro.
1553         (target_can_do_hardware_single_step): Declare.
1554         * server.c (handle_query): Use target_supports_hardware_single_step
1555         instead of target_supports_conditional_breakpoints.
1556
1557 2015-09-15  Yao Qi  <yao.qi@linaro.org>
1558
1559         * linux-aarch64-low.c (aarch64_linux_siginfo_fixup): New
1560         function.
1561         (struct linux_target_ops the_low_target): Install
1562         aarch64_linux_siginfo_fixup.
1563
1564 2015-09-11  Don Breazeal  <donb@codesourcery.com>
1565             Luis Machado  <lgustavo@codesourcery.com>
1566
1567         * linux-low.c (linux_mourn): Static declaration.
1568         (linux_arch_setup): Move in front of
1569         handle_extended_wait.
1570         (linux_arch_setup_thread): New function.
1571         (handle_extended_wait): Handle exec events.  Call
1572         linux_arch_setup_thread.  Make event_lwp argument a
1573         pointer-to-a-pointer.
1574         (check_zombie_leaders): Do not check stopped threads.
1575         (linux_low_ptrace_options): Add PTRACE_O_TRACEEXEC.
1576         (linux_low_filter_event): Add lwp and thread for exec'ing
1577         non-leader thread if leader thread has been deleted.
1578         Refactor code into linux_arch_setup_thread and call it.
1579         Pass child lwp pointer by reference to handle_extended_wait.
1580         (linux_wait_for_event_filtered): Update comment.
1581         (linux_wait_1): Prevent clobbering exec event status.
1582         (linux_supports_exec_events): New function.
1583         (linux_target_ops) <supports_exec_events>: Initialize new member.
1584         * lynx-low.c (lynx_target_ops) <supports_exec_events>: Initialize
1585         new member.
1586         * remote-utils.c (prepare_resume_reply): New stop reason 'exec'.
1587         * server.c (report_exec_events): New global variable.
1588         (handle_query): Handle qSupported query for exec-events feature.
1589         (captured_main): Initialize report_exec_events.
1590         * server.h (report_exec_events): Declare new global variable.
1591         * target.h (struct target_ops) <supports_exec_events>: New
1592         member.
1593         (target_supports_exec_events): New macro.
1594         * win32-low.c (win32_target_ops) <supports_exec_events>:
1595         Initialize new member.
1596
1597 2015-09-09  Markus Metzger  <markus.t.metzger@intel.com>
1598
1599         * linux-low.c (linux_low_enable_btrace): Remove.
1600         (linux_target_ops): Replace linux_low_enable_btrace with
1601         linux_enable_btrace.
1602
1603 2015-09-03  Yao Qi  <yao.qi@linaro.org>
1604
1605         * linux-aarch64-low.c (aarch64_insert_point): Call
1606         aarch64_handle_watchpoint if aarch64_linux_region_ok_for_watchpoint
1607         returns true.
1608
1609 2015-08-27  Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1610
1611         * linux-low.c (check_stopped_by_breakpoint): Use
1612         GDB_ARCH_IS_TRAP_BRKPT instead of GDB_ARCH_TRAP_BRKPT.
1613
1614 2015-08-27  Pedro Alves  <palves@redhat.com>
1615
1616         * proc-service.c (ps_pdwrite): Return PS_ERR/PS_OK explicily.
1617
1618 2015-08-26  Simon Marchi  <simon.marchi@ericsson.com>
1619
1620         * ax.c (gdb_parse_agent_expr): Replace xmalloc-family function with
1621         the XNEW-family equivalent.
1622         (compile_bytecodes): Likewise.
1623         * dll.c (loaded_dll): Likewise.
1624         * event-loop.c (append_callback_event): Likewise.
1625         (create_file_handler): Likewise.
1626         (create_file_event): Likewise.
1627         * hostio.c (handle_open): Likewise.
1628         * inferiors.c (add_thread): Likewise.
1629         (add_process): Likewise.
1630         * linux-aarch64-low.c (aarch64_linux_new_process): Likewise.
1631         * linux-arm-low.c (arm_new_process): Likewise.
1632         (arm_new_thread): Likewise.
1633         * linux-low.c (add_to_pid_list): Likewise.
1634         (linux_add_process): Likewise.
1635         (handle_extended_wait): Likewise.
1636         (add_lwp): Likewise.
1637         (enqueue_one_deferred_signal): Likewise.
1638         (enqueue_pending_signal): Likewise.
1639         (linux_resume_one_lwp_throw): Likewise.
1640         (linux_resume_one_thread): Likewise.
1641         (linux_read_memory): Likewise.
1642         (linux_write_memory): Likewise.
1643         * linux-mips-low.c (mips_linux_new_process): Likewise.
1644         (mips_linux_new_thread): Likewise.
1645         (mips_add_watchpoint): Likewise.
1646         * linux-x86-low.c (initialize_low_arch): Likewise.
1647         * lynx-low.c (lynx_add_process): Likewise.
1648         * mem-break.c (set_raw_breakpoint_at): Likewise.
1649         (set_breakpoint): Likewise.
1650         (add_condition_to_breakpoint): Likewise.
1651         (add_commands_to_breakpoint): Likewise.
1652         (clone_agent_expr): Likewise.
1653         (clone_one_breakpoint): Likewise.
1654         * regcache.c (new_register_cache): Likewise.
1655         * remote-utils.c (look_up_one_symbol): Likewise.
1656         * server.c (queue_stop_reply): Likewise.
1657         (start_inferior): Likewise.
1658         (queue_stop_reply_callback): Likewise.
1659         (handle_target_event): Likewise.
1660         * spu-low.c (fetch_ppc_memory): Likewise.
1661         (store_ppc_memory): Likewise.
1662         * target.c (set_target_ops): Likewise.
1663         * thread-db.c (thread_db_load_search): Likewise.
1664         (try_thread_db_load_1): Likewise.
1665         * tracepoint.c (add_tracepoint): Likewise.
1666         (add_tracepoint_action): Likewise.
1667         (create_trace_state_variable): Likewise.
1668         (cmd_qtdpsrc): Likewise.
1669         (cmd_qtro): Likewise.
1670         (add_while_stepping_state): Likewise.
1671         * win32-low.c (child_add_thread): Likewise.
1672         (get_image_name): Likewise.
1673
1674 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1675
1676         * linux-aarch64-low.c (aarch64_linux_new_thread): Remove.
1677
1678 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1679
1680         * Makefile.in (aarch64-linux.o): New rule.
1681         * configure.srv (aarch64*-*-linux*): Append aarch64-linux.o to
1682         srv_tgtobj.
1683         * linux-aarch64-low.c: Include nat/aarch64-linux.h.
1684         (aarch64_init_debug_reg_state): Make it extern.
1685         (aarch64_linux_prepare_to_resume): Remove.
1686
1687 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1688
1689         * linux-aarch64-low.c (aarch64_linux_prepare_to_resume): Use
1690         lwp_arch_private_info and ptid_of_lwp.
1691
1692 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1693
1694         * linux-aarch64-low.c (aarch64_get_debug_reg_state): Add argument pid.
1695         Find proc_info by find_process_pid.  All callers updated.
1696
1697 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1698
1699         * linux-aarch64-low.c (struct arch64_dr_update_callback_param):
1700         Remove.
1701         (debug_reg_change_callback): Remove.
1702         (aarch64_notify_debug_reg_change): Remove.
1703
1704 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1705
1706         * linux-aarch64-low.c (aarch64_notify_debug_reg_change):
1707         Call current_lwp_ptid.
1708
1709 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1710
1711         * linux-aarch64-low.c (debug_reg_change_callback): Use
1712         debug_printf.
1713
1714 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1715
1716         * linux-aarch64-low.c (debug_reg_change_callback): Use phex.
1717
1718 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1719
1720         * linux-aarch64-low.c (debug_reg_change_callback): Remove comments.
1721
1722 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1723
1724         * linux-aarch64-low.c (debug_reg_change_callback): Re-indent
1725         the code.
1726
1727 2015-08-25  Yao Qi  <yao.qi@linaro.org>
1728
1729         * linux-aarch64-low.c (aarch64_dr_update_callback_param) <pid>:
1730         Remove.
1731         (debug_reg_change_callback): Remove argument entry and add argument
1732         lwp.  Remove local variable thread.  Don't print thread id in the
1733         debugging output.  Don't check whether pid of thread equals to pid.
1734         (aarch64_notify_debug_reg_change): Don't set param.pid.  Call
1735         iterate_over_lwps instead find_inferior.
1736
1737 2015-08-24  Pedro Alves  <palves@redhat.com>
1738
1739         * inferiors.c (get_first_process): New function.
1740         * inferiors.h (get_first_process): New declaration.
1741         * remote-utils.c (read_ptid): Default to the first process in the
1742         list, instead of to the current thread's process.
1743
1744 2015-08-24  Pedro Alves  <palves@redhat.com>
1745
1746         * debug.c: Include gdb_sys_time.h instead of sys/time.h.
1747         * event-loop.c: Likewise.
1748         * remote-utils.c: Likewise.
1749         * tracepoint.c: Likewise.
1750
1751 2015-08-24  Pedro Alves  <palves@redhat.com>
1752
1753         * spu-low.c (spu_request_interrupt): Use lwpid_of instead of
1754         ptid_get_lwp.
1755
1756 2015-08-21  Pedro Alves  <palves@redhat.com>
1757
1758         * ax.c (gdb_eval_agent_expr): Return expr_eval_unhandled_opcode
1759         instead of literal 1.
1760
1761 2015-08-21  Pedro Alves  <palves@redhat.com>
1762
1763         * tdesc.c (default_description): Explicitly zero-initialize.
1764
1765 2015-08-21  Pedro Alves  <palves@redhat.com>
1766
1767         PR gdb/18749
1768         * inferiors.c (remove_thread): Discard any pending stop reply for
1769         this thread.
1770         * server.c (remove_all_on_match_pid): Rename to ...
1771         (remove_all_on_match_ptid): ... this.  Work with a filter ptid
1772         instead of a pid.
1773         (discard_queued_stop_replies): Change parameter to a ptid.  Now
1774         extern.
1775         (handle_v_kill, kill_inferior_callback, captured_main)
1776         (process_serial_event): Adjust.
1777         * server.h (discard_queued_stop_replies): Declare.
1778
1779 2015-08-21  Pedro Alves  <palves@redhat.com>
1780
1781         * linux-low.c (wait_for_sigstop): Always switch to no thread
1782         selected if the previously current thread dies.
1783         * lynx-low.c (lynx_request_interrupt): Use the first thread's
1784         process instead of the current thread's.
1785         * remote-utils.c (input_interrupt): Don't check if there's no
1786         current thread.
1787         * server.c (gdb_read_memory, gdb_write_memory): If setting the
1788         current thread to the general thread fails, error out.
1789         (handle_qxfer_auxv, handle_qxfer_libraries)
1790         (handle_qxfer_libraries_svr4, handle_qxfer_siginfo)
1791         (handle_qxfer_spu, handle_qxfer_statictrace, handle_qxfer_fdpic)
1792         (handle_query): Check if there's a thread selected instead of
1793         checking whether there's any thread in the thread list.
1794         (handle_qxfer_threads, handle_qxfer_btrace)
1795         (handle_qxfer_btrace_conf): Don't error out early if there's no
1796         thread in the thread list.
1797         (handle_v_cont, myresume): Don't set the current thread to the
1798         continue thread.
1799         (process_serial_event) <Hg handling>: Also set thread_id if the
1800         previous general thread is still alive.
1801         (process_serial_event) <g/G handling>: If setting the current
1802         thread to the general thread fails, error out.
1803         * spu-low.c (spu_resume, spu_request_interrupt): Use the first
1804         thread's lwp instead of the current thread's.
1805         * target.c (set_desired_thread): If the desired thread was not
1806         found, leave the current thread pointing to NULL.  Return an int
1807         (boolean) indicating success.
1808         * target.h (set_desired_thread): Change return type to int.
1809
1810 2015-08-20  Max Filippov  <jcmvbkbc@gmail.com>
1811
1812         * configure.srv (xtensa*-*-linux*): Add srv_linux_thread_db=yes.
1813         * linux-xtensa-low.c (arch/xtensa.h gdb_proc_service.h): New
1814         #includes.
1815         (ps_get_thread_area): New function.
1816
1817 2015-08-19  Gary Benson  <gbenson@redhat.com>
1818
1819         * hostio.c (handle_pread): Do not attempt to read more data
1820         than hostio_reply_with_data can fit in a packet.
1821
1822 2015-08-18  Joel Brobecker  <brobecker@adacore.com>
1823
1824         * linux-aarch32-low.c (NT_ARM_VFP): Define if not already defined.
1825
1826 2015-08-14  Matthew Fortune  <matthew.fortune@imgtec.com>
1827
1828         * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP_REL.
1829
1830 2015-08-06  Pedro Alves  <palves@redhat.com>
1831
1832         * tracepoint.c (expr_eval_result): Now an int.
1833
1834 2015-08-06  Pedro Alves  <palves@redhat.com>
1835
1836         * gdbthread.h (struct regcache): Forward declare.
1837         (struct thread_info) <regcache_data>: Now a struct regcache
1838         pointer.
1839         * inferiors.c (inferior_regcache_data)
1840         (set_inferior_regcache_data): Now work with struct regcache
1841         pointers.
1842         * inferiors.h (struct regcache): Forward declare.
1843         (inferior_regcache_data, set_inferior_regcache_data): Now work
1844         with struct regcache pointers.
1845         * regcache.c (get_thread_regcache, regcache_invalidate_thread)
1846         (free_register_cache_thread): Remove struct regcache pointer
1847         casts.
1848
1849 2015-08-06  Pedro Alves  <palves@redhat.com>
1850
1851         * server.c (captured_main): On error, print the exception message
1852         to stderr, and if run_once is set, throw a quit.
1853
1854 2015-08-06  Pedro Alves  <palves@redhat.com>
1855
1856         * linux-low.c (move_out_of_jump_pad_callback): Temporarily switch
1857         the current thread.
1858
1859 2015-08-06  Pedro Alves  <palves@redhat.com>
1860
1861         * linux-low.c (linux_write_memory): Rewrite debug output to avoid
1862         reading beyond the passed in buffer length.
1863
1864 2015-08-06  Pierre Langlois  <pierre.langlois@arm.com>
1865
1866         * tracepoint.c (symbol_list) <required>: Remove.
1867
1868 2015-08-06  Pedro Alves  <palves@redhat.com>
1869
1870         * linux-low.c (handle_extended_wait): Set the fork child's suspend
1871         count if stopping and suspending threads.
1872         (check_stopped_by_breakpoint): If stopped by trace, set the LWP's
1873         stop reason to TARGET_STOPPED_BY_SINGLE_STEP.
1874         (linux_detach): Complete an ongoing step-over.
1875         (lwp_suspended_inc, lwp_suspended_decr): New functions.  Use
1876         throughout.
1877         (resume_stopped_resumed_lwps): Don't resume a suspended thread.
1878         (linux_wait_1): If passing a signal to the inferior after
1879         finishing a step-over, unsuspend and re-resume all lwps.  If we
1880         see a single-step event but the thread should be continuing, don't
1881         pass the trap to gdb.
1882         (stuck_in_jump_pad_callback, move_out_of_jump_pad_callback): Use
1883         internal_error instead of gdb_assert.
1884         (enqueue_pending_signal): New function.
1885         (check_ptrace_stopped_lwp_gone): Add debug output.
1886         (start_step_over): Use internal_error instead of gdb_assert.
1887         (complete_ongoing_step_over): New function.
1888         (linux_resume_one_thread): Don't resume a suspended thread.
1889         (proceed_one_lwp): If the LWP is stepping over a breakpoint, reset
1890         it stepping.
1891
1892 2015-08-06  Pedro Alves  <palves@redhat.com>
1893
1894         * linux-low.c (add_lwp): Set waitstatus to TARGET_WAITKIND_IGNORE.
1895         (linux_thread_alive): Use lwp_is_marked_dead.
1896         (extended_event_reported): Delete.
1897         (linux_wait_1): Check if waitstatus is TARGET_WAITKIND_IGNORE
1898         instead of extended_event_reported.
1899         (mark_lwp_dead): Don't set the 'dead' flag.  Store the waitstatus
1900         as well.
1901         (lwp_is_marked_dead): New function.
1902         (lwp_running): Use lwp_is_marked_dead.
1903         * linux-low.h: Delete 'dead' field, and update 'waitstatus's
1904         comment.
1905
1906 2015-08-06  Pedro Alves  <palves@redhat.com>
1907
1908         * linux-low.c (linux_wait_1): Move fork event output out of the
1909         !report_to_gdb check.  Pass event_child->waitstatus to
1910         target_waitstatus_to_string instead of ourstatus.
1911
1912 2015-08-04  Yao Qi  <yao.qi@linaro.org>
1913
1914         * linux-aarch64-low.c (aarch64_supports_tracepoints): Return 0
1915         if current_thread is 32 bit.
1916
1917 2015-08-04  Yao Qi  <yao.qi@linaro.org>
1918
1919         * linux-aarch64-low.c (aarch64_supports_z_point_type): Return
1920         0 for Z_PACKET_SW_BP if it may be used in multi-arch debugging.
1921         * server.c (extended_protocol): Remove "static".
1922         * server.h (extended_protocol): Declare it.
1923
1924 2015-08-04  Yao Qi  <yao.qi@linaro.org>
1925
1926         * linux-aarch64-low.c (aarch64_get_pc): Get PC register on
1927         both aarch64 and aarch32.
1928         (aarch64_set_pc): Likewise.
1929
1930 2015-08-04  Yao Qi  <yao.qi@linaro.org>
1931
1932         * configure.srv (case aarch64*-*-linux*): Append arm-with-neon.o
1933         to srv_regobj and append arm-core.xml arm-vfpv3.xml and
1934         arm-with-neon.xml to srv_xmlfiles.
1935         * linux-aarch64-low.c: Include linux-aarch32-low.h.
1936         (is_64bit_tdesc): New function.
1937         (aarch64_linux_read_description): New function.
1938         (aarch64_arch_setup): Call aarch64_linux_read_description.
1939         (regs_info): Rename to regs_info_aarch64.
1940         (aarch64_regs_info): Return right regs_info.
1941         (initialize_low_arch): Call initialize_low_arch_aarch32.
1942
1943 2015-08-04  Yao Qi  <yao.qi@linaro.org>
1944
1945         * configure.srv (srv_tgtobj): Add linux-aarch32-low.o.
1946         * linux-aarch32-low.c: New file.
1947         * linux-aarch32-low.h: New file.
1948         * linux-arm-low.c (arm_fill_gregset): Move it to
1949         linux-aarch32-low.c.
1950         (arm_store_gregset): Likewise.
1951         (arm_fill_vfpregset): Call arm_fill_vfpregset_num
1952         (arm_store_vfpregset): Call arm_store_vfpregset_num.
1953         (arm_arch_setup): Check if PTRACE_GETREGSET works.
1954         (regs_info): Rename to regs_info_arm.
1955         (arm_regs_info): Return regs_info_aarch32 if
1956         have_ptrace_getregset is 1 and target description is
1957         arm_with_neon or arm_with_vfpv3.
1958         (initialize_low_arch): Don't call init_registers_arm_with_neon.
1959         Call initialize_low_arch_aarch32 instead.
1960
1961 2015-08-04  Yao Qi  <yao.qi@linaro.org>
1962
1963         * linux-x86-low.c (have_ptrace_getregset): Move it to ...
1964         * linux-low.c: ... here.
1965         * linux-low.h (have_ptrace_getregset): Declare it.
1966
1967 2015-08-04  Pedro Alves  <palves@redhat.com>
1968
1969         * thread-db.c (struct thread_db): Use new typedefs.
1970         (try_thread_db_load_1): Define local TDB_DLSYM macro and use it in
1971         CHK calls.
1972         (disable_thread_event_reporting): Cast result of dlsym to
1973         destination function pointer type.
1974         (thread_db_mourn): Use td_ta_delete_ftype.
1975
1976 2015-08-03  Sandra Loosemore  <sandra@codesourcery.com>
1977
1978         * linux-nios2-low.c (NIOS2_BREAKPOINT): Conditionalize for
1979         arch variant.
1980         (CDX_BREAKPOINT): Define for R2.
1981         (nios2_breakpoint_at): Check for CDX_BREAKPOINT when R2.
1982         (the_low_target): Add comments.
1983
1984 2015-07-30  Yao Qi  <yao.qi@linaro.org>
1985
1986         * linux-arm-low.c (arm_hwcap): Remove it.
1987         (arm_read_description): New local variable arm_hwcap.  Don't
1988         set arm_hwcap to zero.
1989
1990 2015-07-30  Yao Qi  <yao.qi@linaro.org>
1991
1992         * linux-arm-low.c (arm_fill_wmmxregset): Don't use arm_hwcap.
1993         Use regcache->tdesc instead.
1994         (arm_store_wmmxregset): Likewise.
1995         (arm_fill_vfpregset): Likewise.
1996         (arm_store_vfpregset): Likewise.
1997
1998 2015-07-30  Yao Qi  <yao.qi@linaro.org>
1999
2000         * linux-arm-low.c: Include arch/arm.h.
2001         (arm_fill_gregset): Don't use arm_num_regs and arm_regmap.
2002         (arm_store_gregset): Likewise.
2003
2004 2015-07-29  Simon Marchi  <simon.marchi@ericsson.com>
2005
2006         * linux-mips-low.c (mips_linux_prepare_to_resume): Add NULL as
2007         ptrace's 4th parameter.
2008
2009 2015-07-27  Yao Qi  <yao.qi@linaro.org>
2010
2011         * configure.srv (case aarch64*-*-linux*): Don't set
2012         srv_linux_usrregs.
2013
2014 2015-07-24  Pedro Alves  <palves@redhat.c: Likewise.om>
2015
2016         * linux-aarch64-low.c: Include nat/gdb_ptrace.h instead of
2017         sys/ptrace.h.
2018         * linux-arm-low.c: Likewise.
2019         * linux-cris-low.c: Likewise.
2020         * linux-crisv32-low.c: Likewise.
2021         * linux-low.c: Likewise.
2022         * linux-m68k-low.c: Likewise.
2023         * linux-mips-low.c: Likewise.
2024         * linux-nios2-low.c: Likewise.
2025         * linux-s390-low.c: Likewise.
2026         * linux-sparc-low.c: Likewise.
2027         * linux-tic6x-low.c: Likewise.
2028         * linux-tile-low.c: Likewise.
2029         * linux-x86-low.c: Likewise.
2030
2031 2015-07-24  Pedro Alves  <palves@redhat.com>
2032
2033         * config.in: Regenerate.
2034         * configure: Regenerate.
2035
2036 2015-07-24  Pedro Alves  <palves@redhat.com>
2037
2038         * acinclude.m4: Include ../ptrace.m4.
2039         * configure.ac: Call GDB_AC_PTRACE.
2040         * config.in, configure: Regenerate.
2041
2042 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2043
2044         * linux-low.c (linux_create_inferior): Remove setting to
2045         proc->priv->new_inferior.
2046         (linux_attach): Likewise.
2047         (linux_low_filter_event): Likewise.
2048         * linux-low.h (struct process_info_private) <new_inferior>: Remove.
2049
2050 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2051
2052         * linux-low.c (linux_arch_setup): New function.
2053         (linux_low_filter_event): If proc->tdesc is NULL and
2054         proc->attached is true, call the_low_target.arch_setup.
2055         Otherwise, keep status pending, and return.
2056         (linux_resume_one_lwp_throw): Don't call get_pc if
2057         thread->while_stepping isn't NULL.  Don't call
2058         get_thread_regcache if proc->tdesc is NULL.
2059         (need_step_over_p): Return 0 if proc->tdesc is NULL.
2060         (linux_target_ops): Install arch_setup.
2061         * server.c (start_inferior): Call the_target->arch_setup.
2062         * target.h (struct target_ops) <arch_setup>: New field.
2063         (target_arch_setup): New marco.
2064         * lynx-low.c (lynx_target_ops): Update.
2065         * nto-low.c (nto_target_ops): Update.
2066         * spu-low.c (spu_target_ops): Update.
2067         * win32-low.c (win32_target_ops): Update.
2068
2069 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2070
2071         * linux-low.c (linux_add_process): Don't set
2072         proc->priv->new_inferior.
2073         (linux_create_inferior): Set proc->priv->new_inferior to 1.
2074         (linux_attach): Likewise.
2075
2076 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2077
2078         * server.c (start_inferior): Code refactor.
2079
2080 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2081
2082         * server.c (process_serial_event): Set general_thread.
2083
2084 2015-07-21  Yao Qi  <yao.qi@linaro.org>
2085
2086         * linux-aarch64-low.c (aarch64_arch_setup): Remove code and call
2087         aarch64_linux_get_debug_reg_capacity.
2088
2089 2015-07-17  Yao Qi  <yao.qi@linaro.org>
2090
2091         * Makefile.in (aarch64-linux-hw-point.o): New rule.
2092         * configure.srv (srv_tgtobj): Append aarch64-linux-hw-point.o.
2093         * linux-aarch64-low.c: Include nat/aarch64-linux-hw-point.h.
2094         (AARCH64_HBP_MAX_NUM): Move to nat/aarch64-linux-hw-point.h.
2095         (AARCH64_HWP_MAX_NUM, AARCH64_HBP_ALIGNMENT): Likewise.
2096         (AARCH64_HWP_ALIGNMENT): Likewise.
2097         (AARCH64_HWP_MAX_LEN_PER_REG): Likewise.
2098         (AARCH64_DEBUG_NUM_SLOTS, AARCH64_DEBUG_ARCH): Likewise.
2099         (aarch64_num_bp_regs, aarch64_num_wp_regs): Likewise.
2100         (AARCH64_DEBUG_ARCH_V8, DR_MARK_ALL_CHANGED): Likewise.
2101         (DR_MARK_N_CHANGED, DR_CLEAR_CHANGED): Likewise.
2102         (DR_HAS_CHANGED, DR_N_HAS_CHANGE): Likewise.
2103         (struct aarch64_debug_reg_state): Likewise.
2104         (struct arch_lwp_info): Likewise.
2105         (aarch64_align_watchpoint): Likewise.
2106         (DR_CONTROL_ENABLED, DR_CONTROL_LENGTH): Likewise.
2107         (aarch64_watchpoint_length): Likewise.
2108         (aarch64_point_encode_ctrl_reg): Likewise
2109         (aarch64_point_is_aligned): Likewise.
2110         (aarch64_align_watchpoint): Likewise.
2111         (aarch64_linux_set_debug_regs):
2112         (aarch64_dr_state_insert_one_point): Likewise.
2113         (aarch64_dr_state_remove_one_point): Likewise.
2114         (aarch64_handle_breakpoint): Likewise.
2115         (aarch64_handle_aligned_watchpoint): Likewise.
2116         (aarch64_handle_unaligned_watchpoint): Likewise.
2117         (aarch64_handle_watchpoint): Likewise.
2118
2119 2015-07-17  Yao Qi  <yao.qi@linaro.org>
2120
2121         * linux-aarch64-low.c (aarch64_handle_breakpoint): Add argument state
2122         and don't aarch64_get_debug_reg_state.  All callers update.
2123         (aarch64_handle_aligned_watchpoint): Likewise.
2124         (aarch64_handle_unaligned_watchpoint): Likewise.
2125         (aarch64_handle_watchpoint): Likewise.
2126         (aarch64_insert_point): Call aarch64_get_debug_reg_state earlier.
2127         (aarch64_remove_point): Likewise.
2128
2129 2015-07-17  Yao Qi  <yao.qi@linaro.org>
2130
2131         * linux-aarch64-low.c (aarch64_show_debug_reg_state): Use
2132         debug_printf.
2133         (aarch64_handle_unaligned_watchpoint): Likewise.
2134
2135 2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
2136
2137         Revert the previous 3 commits:
2138         Move gdb_regex* to common/
2139         Move linux_find_memory_regions_full & co.
2140         gdbserver build-id attribute generator
2141
2142 2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
2143             Jan Kratochvil  <jan.kratochvil@redhat.com>
2144
2145         gdbserver build-id attribute generator.
2146         * linux-low.c (nat/linux-maps.h, search.h, rsp-low.h): Include.
2147         (ElfXX_Ehdr, ElfXX_Phdr, ElfXX_Nhdr): New.
2148         (ELFXX_FLD, ELFXX_SIZEOF, ELFXX_ROUNDUP, BUILD_ID_INVALID): New.
2149         (find_phdr): New.
2150         (get_dynamic): Use find_pdhr to traverse program headers.
2151         (struct mapping_entry, mapping_entry_s, free_mapping_entry_vec)
2152         (compare_mapping_entry_range, struct find_memory_region_callback_data)
2153         (read_build_id, find_memory_region_callback, lrfind_mapping_entry)
2154         (get_hex_build_id): New.
2155         (linux_qxfer_libraries_svr4): Add optional build-id attribute
2156         to reply XML document.
2157
2158 2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
2159             Jan Kratochvil  <jan.kratochvil@redhat.com>
2160
2161         * target.c: Include target/target-utils.h and fcntl.h.
2162         (target_fileio_read_stralloc_1_pread, target_fileio_read_stralloc_1)
2163         (target_fileio_read_stralloc): New functions.
2164
2165 2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
2166
2167         * Makefile.in (OBS): Add gdb_regex.o.
2168         (gdb_regex.o): New.
2169         * config.in: Rebuilt.
2170         * configure: Rebuilt.
2171
2172 2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
2173             Jan Kratochvil  <jan.kratochvil@redhat.com>
2174
2175         Create empty nat/linux-maps.[ch] and common/target-utils.[ch].
2176         * Makefile.in (OBS): Add target-utils.o.
2177         (linux-maps.o, target-utils.o): New.
2178         * configure.srv (srv_linux_obj): Add linux-maps.o.
2179
2180 2015-07-15  Pierre Langlois  <pierre.langlois@arm.com>
2181
2182         * linux-aarch64-low.c (aarch64_supports_range_stepping): New
2183         function, return 1.
2184         (the_low_target): Install it.
2185
2186 2015-07-14  Pedro Alves  <palves@redhat.com>
2187
2188         * linux-low.c (kill_wait_lwp): Don't assert if waitpid fails.
2189         Instead, ignore ECHILD, and throw an error for other errnos.
2190
2191 2015-07-10  Pedro Alves  <palves@redhat.com>
2192
2193         * event-loop.c (struct callback_event) <data>: Change type to
2194         gdb_client_data instance instead of gdb_client_data pointer.
2195         (append_callback_event): Adjust.
2196
2197 2015-07-10  Pierre Langlois  <pierre.langlois@arm.com>
2198
2199         * linux-aarch64-low.c: Add comments for each linux_target_ops
2200         method.  Remove comments already covered in target_ops and
2201         linux_target_ops definitions.
2202         (the_low_target): Add comments for each unimplemented method.
2203
2204 2015-07-09  Yao Qi  <yao.qi@linaro.org>
2205
2206         * linux-aarch64-low.c (aarch64_regmap): Remove.
2207         (aarch64_usrregs_info): Remove.
2208         (regs_info): Set field usrregs to NULL.
2209
2210 2015-07-02  Markus Metzger  <markus.t.metzger@intel.com>
2211
2212         * linux-low.c: Include "rsp-low.h"
2213         (linux_low_encode_pt_config, linux_low_encode_raw): New.
2214         (linux_low_read_btrace): Support BTRACE_FORMAT_PT.
2215         (linux_low_btrace_conf): Support BTRACE_FORMAT_PT.
2216         (handle_btrace_enable_pt): New.
2217         (handle_btrace_general_set): Support "pt".
2218         (handle_btrace_conf_general_set): Support "pt:size".
2219
2220 2015-06-29  Pierre Langlois  <pierre.langlois@arm.com>
2221
2222         * linux-aarch64-low.c (aarch64_supports_z_point_type): Enable for
2223         Z_PACKET_SW_BP.
2224
2225 2015-06-29  Pierre Langlois  <pierre.langlois@arm.com>
2226
2227         * linux-aarch64-low.c: Remove comment about endianness.
2228         (aarch64_breakpoint): Change type to gdb_byte[].  Set to "brk #0".
2229         (aarch64_breakpoint_at): Change type of insn to gdb_byte[].  Use
2230         memcmp.
2231
2232 2015-06-24  Gary Benson  <gbenson@redhat.com>
2233
2234         * linux-i386-ipa.c (stdint.h): Do not include.
2235         * lynx-i386-low.c (stdint.h): Likewise.
2236         * lynx-ppc-low.c (stdint.h): Likewise.
2237         * mem-break.c (stdint.h): Likewise.
2238         * thread-db.c (stdint.h): Likewise.
2239         * tracepoint.c (stdint.h): Likewise.
2240         * win32-low.c (stdint.h): Likewise.
2241
2242 2015-06-18  Simon Marchi  <simon.marchi@ericsson.com>
2243
2244         * server.c (write_qxfer_response): Update call to
2245         remote_escape_output.
2246
2247 2015-06-15  Aleksandar Ristovski  <aristovski@qnx.com
2248             Jan Kratochvil  <jan.kratochvil@redhat.com>
2249
2250         Merge multiple hex conversions.
2251         * gdbreplay.c (tohex): Rename to 'fromhex'.
2252         (logchar): Use fromhex.
2253
2254 2015-06-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
2255
2256         * server.c (handle_qxfer_libraries): Set `version' attribute for
2257         <library-list>.
2258
2259 2015-06-10  Gary Benson  <gbenson@redhat.com>
2260
2261         * target.h (struct target_ops) <multifs_open>: New field.
2262         <multifs_unlink>: Likewise.
2263         <multifs_readlink>: Likewise.
2264         * linux-low.c (nat/linux-namespaces.h): New include.
2265         (linux_target_ops): Initialize the_target->multifs_open,
2266         the_target->multifs_unlink and the_target->multifs_readlink.
2267         * hostio.h (hostio_handle_new_gdb_connection): New declaration.
2268         * hostio.c (hostio_fs_pid): New static variable.
2269         (hostio_handle_new_gdb_connection): New function.
2270         (handle_setfs): Likewise.
2271         (handle_open): Use the_target->multifs_open as appropriate.
2272         (handle_unlink): Use the_target->multifs_unlink as appropriate.
2273         (handle_readlink): Use the_target->multifs_readlink as
2274         appropriate.
2275         (handle_vFile): Handle vFile:setfs packets.
2276         * server.c (handle_query): Call hostio_handle_new_gdb_connection
2277         after target_handle_new_gdb_connection.
2278
2279 2015-06-10  Gary Benson  <gbenson@redhat.com>
2280
2281         * configure.ac (AC_CHECK_FUNCS): Add setns.
2282         * config.in: Regenerate.
2283         * configure: Likewise.
2284         * Makefile.in (SFILES): Add nat/linux-namespaces.c.
2285         (linux-namespaces.o): New rule.
2286         * configure.srv (srv_linux_obj): Add linux-namespaces.o.
2287
2288 2015-06-09  Gary Benson <gbenson@redhat.com>
2289
2290         * hostio.c (handle_open): Process mode argument with
2291         fileio_to_host_mode.
2292
2293 2015-06-01  Yao Qi  <yao.qi@linaro.org>
2294
2295         * linux-s390-low.c (PTRACE_GETREGSET, PTRACE_SETREGSET): Remove.
2296         * linux-x86-low.c: Likewise.
2297
2298 2015-05-28  Don Breazeal  <donb@codesourcery.com>
2299
2300         * linux-low.c (handle_extended_wait): Initialize
2301         thread_info.last_resume_kind for new fork children.
2302
2303 2015-05-15  Pedro Alves  <palves@redhat.com>
2304
2305         * target.h (target_handle_new_gdb_connection): Rewrite using if
2306         wrapped in do/while.
2307
2308 2015-05-14  Joel Brobecker  <brobecker@adacore.com>
2309
2310         * configure.ac: Add prfpregset_t BFD_HAVE_SYS_PROCFS_TYPE check.
2311         * configure, config.in: Regenerate.
2312         * gdb_proc_service.h [HAVE_PRFPREGSET_T] (prfpregset_t):
2313         Declare typedef.
2314
2315 2015-05-12  Don Breazeal  <donb@codesourcery.com>
2316
2317         * linux-low.c (handle_extended_wait): Handle PTRACE_EVENT_FORK and
2318         PTRACE_EVENT_VFORK_DONE.
2319         (linux_low_ptrace_options, extended_event_reported): Add vfork
2320         events.
2321         * remote-utils.c (prepare_resume_reply): New stop reasons "vfork"
2322         and "vforkdone" for RSP 'T' Stop Reply Packet.
2323         * server.h (report_vfork_events): Declare
2324         global variable.
2325
2326 2015-05-12  Don Breazeal  <donb@codesourcery.com>
2327
2328         * linux-aarch64-low.c (aarch64_linux_new_fork): New function.
2329         (the_low_target) <new_fork>: Initialize new member.
2330         * linux-arm-low.c (arm_new_fork): New function.
2331         (the_low_target) <new_fork>: Initialize new member.
2332         * linux-low.c (handle_extended_wait): Call new target function
2333         new_fork.
2334         * linux-low.h (struct linux_target_ops) <new_fork>: New member.
2335         * linux-mips-low.c (mips_add_watchpoint): New function
2336         extracted from mips_insert_point.
2337         (the_low_target) <new_fork>: Initialize new member.
2338         (mips_linux_new_fork): New function.
2339         (mips_insert_point): Call mips_add_watchpoint.
2340         * linux-x86-low.c (x86_linux_new_fork): New function.
2341         (the_low_target) <new_fork>: Initialize new member.
2342
2343 2015-05-12  Don Breazeal  <donb@codesourcery.com>
2344
2345         * linux-low.c (handle_extended_wait): Implement return value,
2346         rename argument 'event_child' to 'event_lwp', handle
2347         PTRACE_EVENT_FORK, call internal_error for unrecognized event.
2348         (linux_low_ptrace_options): New function.
2349         (linux_low_filter_event): Call linux_low_ptrace_options,
2350         use different argument fo linux_enable_event_reporting,
2351         use return value from handle_extended_wait.
2352         (extended_event_reported): New function.
2353         (linux_wait_1): Call extended_event_reported and set
2354         status to report fork events.
2355         (linux_write_memory): Add pid to debug message.
2356         (reset_lwp_ptrace_options_callback): New function.
2357         (linux_handle_new_gdb_connection): New function.
2358         (linux_target_ops): Initialize new structure member.
2359         * linux-low.h (struct lwp_info) <waitstatus>: New member.
2360         * lynx-low.c: Initialize new structure member.
2361         * remote-utils.c (prepare_resume_reply): Implement stop reason
2362         "fork" for "T" stop message.
2363         * server.c (handle_query): Call handle_new_gdb_connection.
2364         * server.h (report_fork_events): Declare global flag.
2365         * target.h (struct target_ops) <handle_new_gdb_connection>:
2366         New member.
2367         (target_handle_new_gdb_connection): New macro.
2368         * win32-low.c: Initialize new structure member.
2369
2370 2015-05-12  Don Breazeal  <donb@codesourcery.com>
2371
2372         * mem-break.c (APPEND_TO_LIST): Define macro.
2373         (clone_agent_expr): New function.
2374         (clone_one_breakpoint): New function.
2375         (clone_all_breakpoints): New function.
2376         * mem-break.h: Declare new functions.
2377
2378 2015-05-12  Don Breazeal  <donb@codesourcery.com>
2379
2380         * linux-low.c (linux_supports_fork_events): New function.
2381         (linux_supports_vfork_events): New function.
2382         (linux_target_ops): Initialize new structure members.
2383         (initialize_low): Call linux_check_ptrace_features.
2384         * lynx-low.c (lynx_target_ops): Initialize new structure
2385         members.
2386         * server.c (report_fork_events, report_vfork_events):
2387         New global flags.
2388         (handle_query): Add new features to qSupported packet and
2389         response.
2390         (captured_main): Initialize new global variables.
2391         * target.h (struct target_ops) <supports_fork_events>:
2392         New member.
2393         <supports_vfork_events>: New member.
2394         (target_supports_fork_events): New macro.
2395         (target_supports_vfork_events): New macro.
2396         * win32-low.c (win32_target_ops): Initialize new structure
2397         members.
2398
2399 2015-05-12  Gary Benson <gbenson@redhat.com>
2400
2401         * server.c (handle_qxfer_exec_file): Use current process
2402         if annex is empty.
2403
2404 2015-05-08  Sandra Loosemore  <sandra@codesourcery.com>
2405
2406         * linux-nios2-low.c: Include elf/common.h.  Adjust comments.
2407         Remove HAVE_PTRACE_GETREGS conditionals.
2408         (nios2_regsets): Use PTRACE_GETREGSET and PTRACE_SETREGSET
2409         instead of PTRACE_GETREGS and PTRACE_SETREGS.
2410
2411 2015-05-08  Yao Qi  <yao.qi@linaro.org>
2412
2413         * linux-low.c (linux_supports_conditional_breakpoints): New
2414         function.
2415         (linux_target_ops): Install new target method.
2416         * lynx-low.c (lynx_target_ops): Install NULL hook for
2417         supports_conditional_breakpoints.
2418         * nto-low.c (nto_target_ops): Likewise.
2419         * spu-low.c (spu_target_ops): Likewise.
2420         * win32-low.c (win32_target_ops): Likewise.
2421         * server.c (handle_query): Check
2422         target_supports_conditional_breakpoints.
2423         * target.h (struct target_ops) <supports_conditional_breakpoints>:
2424         New field.
2425         (target_supports_conditional_breakpoints): New macro.
2426
2427 2015-05-06  Pedro Alves  <palves@redhat.com>
2428
2429         PR server/18081
2430         * server.c (start_inferior): If the process exits, mourn it.
2431
2432 2015-04-21  Gary Benson <gbenson@redhat.com>
2433
2434         * hostio.c (fileio_open_flags_to_host): Factored out to
2435         fileio_to_host_openflags in common/fileio.c.  Single use
2436         updated.
2437
2438 2015-04-17  Max Filippov  <jcmvbkbc@gmail.com>
2439
2440         * linux-xtensa-low.c (xtensa_fill_gregset)
2441         (xtensa_store_gregset): Check XCHAL_HAVE_LOOPS instead of
2442         XCHAL_HAVE_LOOP.
2443
2444 2015-04-17  Max Filippov  <jcmvbkbc@gmail.com>
2445
2446         * linux-xtensa-low.c (xtensa_usrregs_info): Remove.
2447         (regs_info): Replace usrregs pointer with NULL.
2448
2449 2015-04-17  Gary Benson  <gbenson@redhat.com>
2450
2451         * target.h (struct target_ops) <pid_to_exec_file>: New field.
2452         * linux-low.c (linux_target_ops): Initialize pid_to_exec_file.
2453         * server.c (handle_qxfer_exec_file): New function.
2454         (qxfer_packets): Add exec-file entry.
2455         (handle_query): Report qXfer:exec-file:read as supported packet.
2456
2457 2015-04-14  Romain Naour <romain.naour@openwide.fr>  (tiny change)
2458
2459         * linux-low.c (linux_read_offsets): Remove get_thread_lwp.
2460
2461 2015-04-09  Gary Benson <gbenson@redhat.com>
2462
2463         * hostio-errno.c (errno_to_fileio_error): Remove function.
2464         Update caller to use remote_fileio_to_fio_error.
2465
2466 2015-04-09  Yao Qi  <yao.qi@linaro.org>
2467
2468         * linux-low.c (linux_insert_point): Call
2469         insert_memory_breakpoint if TYPE is raw_bkpt_type_sw.
2470         (linux_remove_point): Call remove_memory_breakpoint if type is
2471         raw_bkpt_type_sw.
2472         * linux-x86-low.c (x86_insert_point): Don't call
2473         insert_memory_breakpoint.
2474         (x86_remove_point): Don't call remove_memory_breakpoint.
2475
2476 2015-04-01  Pedro Alves  <palves@redhat.com>
2477             Cleber Rosa  <crosa@redhat.com>
2478
2479         * server.c (gdbserver_usage): Reorganize and extend the usage
2480         message.
2481
2482 2015-03-24  Pedro Alves  <palves@redhat.com>
2483
2484         * linux-low.c (check_stopped_by_breakpoint): Tweak debug log
2485         output.  Also dump TRAP_TRACE.
2486         (linux_low_filter_event): In debug output, distinguish a
2487         resume_stop SIGSTOP from a delayed SIGSTOP.
2488
2489 2015-03-24  Gary Benson  <gbenson@redhat.com>
2490
2491         * linux-x86-low.c (x86_linux_new_thread): Moved to
2492         nat/x86-linux.c.
2493         (x86_linux_prepare_to_resume): Likewise.
2494
2495 2015-03-24  Gary Benson  <gbenson@redhat.com>
2496
2497         * Makefile.in (x86-linux-dregs.o): New rule.
2498         * configure.srv: Add x86-linux-dregs.o to relevant targets.
2499         * linux-x86-low.c: Include nat/x86-linux-dregs.h.
2500         (u_debugreg_offset): Moved to nat/x86-linux-dregs.c.
2501         (x86_linux_dr_get): Likewise.
2502         (x86_linux_dr_set): Likewise.
2503         (update_debug_registers_callback): Likewise.
2504         (x86_linux_dr_set_addr): Likewise.
2505         (x86_linux_dr_get_addr): Likewise.
2506         (x86_linux_dr_set_control): Likewise.
2507         (x86_linux_dr_get_control): Likewise.
2508         (x86_linux_dr_get_status): Likewise.
2509         (x86_linux_update_debug_registers): Likewise.
2510
2511 2015-03-24  Gary Benson  <gbenson@redhat.com>
2512
2513         * linux-x86-low.c (x86_linux_update_debug_registers):
2514         New function, factored out from...
2515         (x86_linux_prepare_to_resume): ...this.
2516
2517 2015-03-24  Gary Benson  <gbenson@redhat.com>
2518
2519         * linux-x86-low.c (x86_linux_dr_get): Update comments.
2520         (x86_linux_dr_set): Likewise.
2521         (update_debug_registers_callback): Likewise.
2522         (x86_linux_dr_set_addr): Likewise.
2523         (x86_linux_dr_get_addr): Likewise.
2524         (x86_linux_dr_set_control): Likewise.
2525         (x86_linux_dr_get_control): Likewise.
2526         (x86_linux_dr_get_status): Likewise.
2527         (x86_linux_prepare_to_resume): Likewise.
2528
2529 2015-03-24  Gary Benson  <gbenson@redhat.com>
2530
2531         * linux-x86-low.c (x86_linux_dr_get): Add assertion.
2532         Use perror_with_name.  Pass string through gettext.
2533         (x86_linux_dr_set): Likewise.
2534
2535 2015-03-24  Gary Benson  <gbenson@redhat.com>
2536
2537         * linux-x86-low.c (x86_dr_low_set_addr): Rename to...
2538         (x86_linux_dr_set_addr): ...this.
2539         (x86_dr_low_get_addr): Rename to...
2540         (x86_linux_dr_get_addr): ...this.
2541         (x86_dr_low_set_control): Rename to...
2542         (x86_linux_dr_set_control): ...this.
2543         (x86_dr_low_get_control): Rename to...
2544         (x86_linux_dr_get_control): ...this.
2545         (x86_dr_low_get_status): Rename to...
2546         (x86_linux_dr_get_status): ...this.
2547         (x86_dr_low): Update with new function names.
2548
2549 2015-03-24  Gary Benson  <gbenson@redhat.com>
2550
2551         * Makefile.in (x86-linux.o): New rule.
2552         * configure.srv: Add x86-linux.o to relevant targets.
2553         * linux-low.c (lwp_set_arch_private_info): New function.
2554         (lwp_arch_private_info): Likewise.
2555         * linux-x86-low.c: Include nat/x86-linux.h.
2556         (arch_lwp_info): Removed structure.
2557         (update_debug_registers_callback):
2558         Use lwp_set_debug_registers_changed.
2559         (x86_linux_prepare_to_resume): Use lwp_debug_registers_changed
2560         and lwp_set_debug_registers_changed.
2561         (x86_linux_new_thread): Use lwp_set_debug_registers_changed.
2562
2563 2015-03-24  Gary Benson  <gbenson@redhat.com>
2564
2565         * linux-low.h (linux_target_ops) <new_thread>: Changed signature.
2566         * linux-arm-low.c (arm_new_thread): Likewise.
2567         * linux-aarch64-low.c (aarch64_linux_new_thread): Likewise.
2568         * linux-mips-low.c (mips_linux_new_thread): Likewise.
2569         * linux-x86-low.c (x86_linux_new_thread): Likewise.
2570         * linux-low.c (add_lwp): Update the_low_target.new_thread call.
2571
2572 2015-03-24  Gary Benson  <gbenson@redhat.com>
2573
2574         * linux-low.c (ptid_of_lwp): New function.
2575         (lwp_is_stopped): Likewise.
2576         (lwp_stop_reason): Likewise.
2577         * linux-x86-low.c (update_debug_registers_callback):
2578         Use lwp_is_stopped.
2579         (x86_linux_prepare_to_resume): Use ptid_of_lwp and
2580         lwp_stop_reason.
2581
2582 2015-03-24  Gary Benson  <gbenson@redhat.com>
2583
2584         * linux-low.h (linux_stop_lwp): Remove declaration.
2585
2586 2015-03-24  Gary Benson  <gbenson@redhat.com>
2587
2588         * linux-low.h: Include nat/linux-nat.h.
2589         * linux-low.c (iterate_over_lwps_args): New structure.
2590         (iterate_over_lwps_filter): New function.
2591         (iterate_over_lwps): Likewise.
2592         * linux-x86-low.c (update_debug_registers_callback):
2593         Update signature to what iterate_over_lwps expects.
2594         Remove PID check that iterate_over_lwps now performs.
2595         (x86_dr_low_set_addr): Use iterate_over_lwps.
2596         (x86_dr_low_set_control): Likewise.
2597
2598 2015-03-24  Gary Benson  <gbenson@redhat.com>
2599
2600         * linux-x86-low.c (x86_debug_reg_state): New function.
2601         (x86_linux_prepare_to_resume): Use the above.
2602
2603 2015-03-24  Gary Benson  <gbenson@redhat.com>
2604
2605         * linux-low.c (current_lwp_ptid): New function.
2606         * linux-x86-low.c: Include nat/linux-nat.h.
2607         (x86_dr_low_get_addr): Use current_lwp_ptid.
2608         (x86_dr_low_get_control): Likewise.
2609         (x86_dr_low_get_status): Likewise.
2610
2611 2015-03-20  Pedro Alves  <palves@redhat.com>
2612
2613         * tracepoint.c (cmd_qtstatus): Make "str" const.
2614
2615 2015-03-20  Pedro Alves  <palves@redhat.com>
2616
2617         * server.c (handle_general_set): Make "req_str" const.
2618
2619 2015-03-19  Pedro Alves  <palves@redhat.com>
2620
2621         * linux-low.c (linux_resume_one_lwp): Rename to ...
2622         (linux_resume_one_lwp_throw): ... this.  Don't handle ESRCH here,
2623         instead call perror_with_name.
2624         (check_ptrace_stopped_lwp_gone): New function.
2625         (linux_resume_one_lwp): Reimplement as wrapper around
2626         linux_resume_one_lwp_throw that swallows errors if the LWP is
2627         gone.
2628
2629 2015-03-19  Pedro Alves  <palves@redhat.com>
2630
2631         * linux-low.c (count_events_callback, select_event_lwp_callback):
2632         No longer check whether the thread has resume_stop as last resume
2633         kind.
2634
2635 2015-03-19 Pedro Alves  <palves@redhat.com>
2636
2637         * linux-low.c (count_events_callback, select_event_lwp_callback):
2638         Use the lwp's status_pending_p field, not the thread's.
2639
2640 2015-03-19  Pedro Alves  <palves@redhat.com>
2641
2642         * linux-low.c (select_event_lwp_callback): Update comments to
2643         no longer mention SIGTRAP.
2644
2645 2015-03-18  Gary Benson  <gbenson@redhat.com>
2646
2647         * server.c (handle_query): Do not report vFile:fstat as supported.
2648
2649 2015-03-11  Gary Benson  <gbenson@redhat.com>
2650
2651         * hostio.c (sys/types.h): New include.
2652         (sys/stat.h): Likewise.
2653         (common-remote-fileio.h): Likewise.
2654         (handle_fstat): New function.
2655         (handle_vFile): Handle vFile:fstat packets.
2656
2657 2015-03-11  Gary Benson  <gbenson@redhat.com>
2658
2659         * configure.ac (AC_CHECK_MEMBERS): Add checks for
2660         struct stat.st_blocks and struct stat.st_blksize.
2661         * configure: Regenerate.
2662         * config.in: Likewise.
2663         * Makefile.in (SFILES): Add common/common-remote-fileio.c.
2664         (OBS): Add common-remote-fileio.o.
2665         (common-remote-fileio.o): New rule.
2666
2667 2015-03-09  Pedro Alves  <palves@redhat.com>
2668
2669         * tracepoint.c (gdb_agent_helper_thread): Cast '&sockaddr' to
2670         'struct sockaddr' pointer in 'accept' call.
2671
2672 2015-03-09  Pedro Alves  <palves@redhat.com>
2673
2674         Revert:
2675         2015-03-07  Pedro Alves  <palves@redhat.com>
2676         * gdbreplay.c: No longer include <netinet/in.h>, <sys/socket.h>,
2677         or <winsock2.h> here.  Instead include "gdb_socket.h".
2678         (remote_open): Use union gdb_sockaddr_u.
2679         * remote-utils.c: No longer include <netinet/in.h>, <sys/socket.h>
2680         or <winsock2.h> here.  Instead include "gdb_socket.h".
2681         (handle_accept_event, remote_prepare): Use union gdb_sockaddr_u.
2682         * tracepoint.c: Include "gdb_socket.h" instead of <sys/socket.h>
2683         or <sys/un.h>.
2684         (init_named_socket, gdb_agent_helper_thread): Use union
2685         gdb_sockaddr_u.
2686
2687 2015-03-07  Pedro Alves  <palves@redhat.com>
2688
2689         * configure.ac (build_warnings): Move
2690         -Wdeclaration-after-statement to the C-specific set.
2691         * configure: Regenerate.
2692
2693 2015-03-07  Pedro Alves  <palves@redhat.com>
2694
2695         * gdbreplay.c: No longer include <netinet/in.h>, <sys/socket.h>,
2696         or <winsock2.h> here.  Instead include "gdb_socket.h".
2697         (remote_open): Use union gdb_sockaddr_u.
2698         * remote-utils.c: No longer include <netinet/in.h>, <sys/socket.h>
2699         or <winsock2.h> here.  Instead include "gdb_socket.h".
2700         (handle_accept_event, remote_prepare): Use union gdb_sockaddr_u.
2701         * tracepoint.c: Include "gdb_socket.h" instead of <sys/socket.h>
2702         or <sys/un.h>.
2703         (init_named_socket, gdb_agent_helper_thread): Use union
2704         gdb_sockaddr_u.
2705
2706 2015-03-07  Pedro Alves  <palves@redhat.com>
2707
2708         Adjust all callers of TRY_CATCH to use TRY/CATCH/END_CATCH
2709         instead.
2710
2711 2015-03-06  Yao Qi  <yao.qi@linaro.org>
2712
2713         * linux-aarch64-low.c (aarch64_insert_point): Use
2714         show_debug_regs as a boolean.
2715         (aarch64_remove_point): Likewise.
2716
2717 2015-03-05  Pedro Alves  <palves@redhat.com>
2718
2719         * lynx-low.c (lynx_target_ops): Install NULL hooks for
2720         stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
2721         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint.
2722         * nto-low.c (nto_target_ops): Likewise.
2723         * spu-low.c (spu_target_ops): Likewise.
2724         * win32-low.c (win32_target_ops): Likewise.
2725
2726 2015-03-04  Pedro Alves  <palves@redhat.com>
2727
2728         * linux-low.c (check_stopped_by_breakpoint) [USE_SIGTRAP_SIGINFO]:
2729         Decide whether a breakpoint triggered based on the SIGTRAP's
2730         siginfo.si_code.
2731         (thread_still_has_status_pending_p) [USE_SIGTRAP_SIGINFO]: Don't check whether a
2732         breakpoint is inserted if relying on SIGTRAP's siginfo.si_code.
2733         (linux_low_filter_event): Check for breakpoints before checking
2734         watchpoints.
2735         (linux_wait_1): Don't re-increment the PC if relying on SIGTRAP's
2736         siginfo.si_code.
2737         (linux_stopped_by_sw_breakpoint)
2738         (linux_supports_stopped_by_sw_breakpoint)
2739         (linux_stopped_by_hw_breakpoint)
2740         (linux_supports_stopped_by_hw_breakpoint): New functions.
2741         (linux_target_ops): Install new target methods.
2742
2743 2015-03-04  Pedro Alves  <palves@redhat.com>
2744
2745         * remote-utils.c (prepare_resume_reply): Report swbreak/hbreak.
2746         * server.c (swbreak_feature, hwbreak_feature): New globals.
2747         (handle_query) <qSupported>: Handle "swbreak+" and "hwbreak+".
2748         (captured_main): Clear swbreak_feature and hwbreak_feature.
2749         * server.h (swbreak_feature, hwbreak_feature): Declare.
2750         * target.h (struct target_ops) <stopped_by_sw_breakpoint,
2751         supports_stopped_by_sw_breakpoint, stopped_by_hw_breakpoint,
2752         supports_stopped_by_hw_breakpoint>: New fields.
2753         (target_supports_stopped_by_sw_breakpoint)
2754         (target_stopped_by_sw_breakpoint)
2755         (target_supports_stopped_by_hw_breakpoint)
2756         (target_stopped_by_hw_breakpoint): Declare.
2757
2758 2015-03-04  Pedro Alves  <palves@redhat.com>
2759
2760         enum lwp_stop_reason -> enum target_stop_reason
2761         * linux-low.c (check_stopped_by_breakpoint): Adjust.
2762         (thread_still_has_status_pending_p, check_stopped_by_watchpoint)
2763         (linux_wait_1, stuck_in_jump_pad_callback)
2764         (move_out_of_jump_pad_callback, linux_resume_one_lwp)
2765         (linux_stopped_by_watchpoint):
2766         * linux-low.h (enum lwp_stop_reason): Delete.
2767         (struct lwp_info) <stop_reason>: Now an enum target_stop_reason.
2768         * linux-x86-low.c (x86_linux_prepare_to_resume): Adjust.
2769
2770 2015-03-04  Yao Qi  <yao.qi@linaro.org>
2771
2772         * Makefile.in (SFILES): Add linux-aarch64-low.c.
2773
2774 2015-03-03  Gary Benson  <gbenson@redhat.com>
2775
2776         * hostio.c (handle_vFile): Fix prefix lengths.
2777
2778 2015-03-03  Markus Metzger  <markus.t.metzger@intel.com>
2779
2780         * linux-low.c (linux_low_enable_btrace): Do not overwrite non-zero
2781         ptr_bits.
2782
2783 2015-03-02  Andreas Arnez  <arnez@linux.vnet.ibm.com>
2784
2785         * Makefile.in (s390-vx-linux64.c, s390-tevx-linux64.c)
2786         (s390x-vx-linux64.c, s390x-tevx-linux64.c): New rules.
2787         (clean): Add "rm -f" for above C files.
2788         * configure.srv (srv_regobj): Add s390-vx-linux64.o,
2789         s390-tevx-linux64.o, s390x-vx-linux64.o, and s390x-tevx-linux64.o.
2790         (srv_xmlfiles): Add s390-vx-linux64.xml, s390-tevx-linux64.xml,
2791         s390x-vx-linux64.xml, s390x-tevx-linux64.xml, and s390-vx.xml.
2792         * linux-s390-low.c (HWCAP_S390_VX): New macro.
2793         (init_registers_s390_vx_linux64, init_registers_s390_tevx_linux64)
2794         (init_registers_s390x_vx_linux64)
2795         (init_registers_s390x_tevx_linux64)
2796         (tdesc_s390_vx_linux64, tdesc_s390_tevx_linux64)
2797         (tdesc_s390x_vx_linux64, tdesc_s390x_tevx_linux64): New extern
2798         declarations.
2799         (s390_fill_vxrs_low, s390_store_vxrs_low, s390_fill_vxrs_high)
2800         (s390_store_vxrs_high): New functions.
2801         (s390_regsets): Add entries for NT_S390_VXRS_LOW and
2802         NT_S390_VXRS_HIGH.
2803         (s390_arch_setup): Add logic for selecting one of the new target
2804         descriptions.  Activate the new vector regsets if applicable.
2805         (initialize_low_arch): Also invoke init_registers_s390_vx_linux64,
2806         init_registers_s390_tevx_linux64, init_registers_s390x_vx_linux64,
2807         and init_registers_s390x_tevx_linux64.
2808
2809 2015-03-01  Pedro Alves  <palves@redhat.com>
2810
2811         * linux-i386-ipa.c (gdb_agent_get_raw_reg): Constify 'raw_regs'
2812         parameter.
2813
2814 2015-02-27  Pedro Alves  <palves@redhat.com>
2815
2816         * linux-x86-low.c (u_debugreg_offset): New function.
2817         (x86_linux_dr_get, x86_linux_dr_set): Use it.
2818
2819 2015-02-27  Pedro Alves  <palves@redhat.com>
2820
2821         * gdb_proc_service.h: Wrap with EXTERN_C_PUSH/EXTERN_C_POP.
2822         [!HAVE_PROC_SERVICE_H] (struct ps_prochandle): Forward declare.
2823         [!HAVE_PROC_SERVICE_H] (ps_pdread, ps_pdwrite, ps_ptread)
2824         ps_ptwrite, ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
2825         (ps_lsetfpregs, ps_getpid)
2826         (ps_get_thread_area, ps_pglobal_lookup, ps_pstop, ps_pcontinue)
2827         (ps_lstop, ps_lcontinue, ps_lgetxregsize, ps_lgetxregs)
2828         (ps_lsetxregs, ps_plog): Declare.
2829
2830 2015-02-27  Pedro Alves  <palves@redhat.com>
2831
2832         * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Use
2833         IP_AGENT_EXPORT_FUNC.
2834         * linux-i386-ipa.c (gdb_agent_get_raw_reg): Use
2835         IP_AGENT_EXPORT_FUNC.
2836         * tracepoint.c (ATTR_USED, ATTR_NOINLINE, ATTR_CONSTRUCTOR)
2837         (IP_AGENT_EXPORT): Delete.
2838         (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
2839         (gdb_trampoline_buffer, gdb_trampoline_buffer_end)
2840         (gdb_trampoline_buffer_error, collecting, gdb_collect)
2841         (stop_tracing, flush_trace_buffer, about_to_request_buffer_space)
2842         (trace_buffer_is_full, stopping_tracepoint, expr_eval_result)
2843         (error_tracepoint, tracepoints, tracing, trace_buffer_ctrl)
2844         (trace_buffer_ctrl_curr, trace_buffer_lo, trace_buffer_hi)
2845         (traceframe_read_count, traceframe_write_count)
2846         (traceframes_created, trace_state_variables, get_raw_reg)
2847         (get_trace_state_variable_value, set_trace_state_variable_value)
2848         (ust_loaded, helper_thread_id, cmd_buf): Use
2849         IPA_SYM_EXPORTED_NAME.
2850         (stop_tracing, flush_trace_buffer): Use IP_AGENT_EXPORT_FUNC.
2851         (tracepoints) Use IP_AGENT_EXPORT_VAR.
2852         (stopping_tracepoint, trace_buffer_is_full, expr_eval_result): Use
2853         IP_AGENT_EXPORT_VAR and wrap in EXTERN_C_PUSH/EXTERN_C_POP.
2854         (last_tracepoint): Move into !IN_PROCESS_AGENT block.
2855         (error_tracepoint): Use IP_AGENT_EXPORT_VAR and wrap in
2856         EXTERN_C_PUSH/EXTERN_C_POP.
2857         (trace_state_variables): Use IP_AGENT_EXPORT_VAR.
2858         (trace_buffer_lo, trace_buffer_hi): Use IP_AGENT_EXPORT_VAR and
2859         wrap in EXTERN_C_PUSH/EXTERN_C_POP.
2860         (trace_buffer_ctrl, trace_buffer_ctrl_curr)
2861         (traceframe_write_count, traceframe_read_count)
2862         (traceframes_created, tracing): Use IP_AGENT_EXPORT_VAR.
2863         (about_to_request_buffer_space, get_trace_state_variable_value)
2864         (set_trace_state_variable_value): Use IP_AGENT_EXPORT_FUNC.
2865         (collecting): Use IP_AGENT_EXPORT_VAR and wrap in
2866         EXTERN_C_PUSH/EXTERN_C_POP.
2867         (gdb_collect): Use IP_AGENT_EXPORT_FUNC.
2868         (ust_loaded, cmd_buf): Use IP_AGENT_EXPORT_VAR.
2869         (helper_thread_id, gdb_agent_capability): Use IP_AGENT_EXPORT_VAR
2870         and wrap in EXTERN_C_PUSH/EXTERN_C_POP.
2871         (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
2872         (gdb_trampoline_buffer, gdb_trampoline_buffer_end)
2873         (gdb_trampoline_buffer_error): Use IP_AGENT_EXPORT_VAR.
2874         * tracepoint.h (ATTR_USED, ATTR_NOINLINE, EXPORTED_SYMBOL):
2875         Define.
2876         (IP_AGENT_EXPORT_FUNC, IP_AGENT_EXPORT_VAR)
2877         (IP_AGENT_EXPORT_VAR_DECL): Define.
2878         (tracing): Declare.
2879         (gdb_agent_get_raw_reg): Declare.
2880
2881 2015-02-27  Tom Tromey  <tromey@redhat.com>
2882             Pedro Alves  <palves@redhat.com>
2883
2884         Rename symbols whose names are reserved C++ keywords throughout.
2885
2886 2015-02-27  Pedro Alves  <palves@redhat.com>
2887
2888         * Makefile.in (COMPILER): New, get it from autoconf.
2889         (CXX): Get from autoconf instead.
2890         (COMPILE.pre): Use COMPILER.
2891         (CC-LD): Rename to ...
2892         (CC_LD): ... this.  Use COMPILER.
2893         (gdbserver$(EXEEXT), gdbreplay$(EXEEXT), $(IPA_LIB)): Adjust.
2894         (CXX_FOR_TARGET): Default to g++ instead of gcc.
2895         * acinclude.m4: Include build-with-cxx.m4.
2896         * configure.ac: Call AC_PROG_CXX and GDB_AC_BUILD_WITH_CXX.
2897         Disable -Werror by default if building in C++ mode.
2898         (build_warnings): Add -Wno-sign-compare, -Wno-write-strings and
2899         -Wno-narrowing in C++ mode. Run supported-warning-flags tests with
2900         the C++ compiler.  Save/restore CXXFLAGS too.
2901         * configure: Regenerate.
2902
2903 2015-02-27  Pedro Alves  <palves@redhat.com>
2904
2905         * acinclude.m4: Include libiberty.m4.
2906         * configure.ac: Call libiberty_INIT.
2907         * config.in, configure: Regenerate.
2908
2909 2015-02-26  Pedro Alves  <palves@redhat.com>
2910
2911         * linux-low.c (linux_wait_1): When incrementing the PC past a
2912         program breakpoint always use the_low_target.breakpoint_len as
2913         increment, rather than the maximum between that and
2914         the_low_target.decr_pc_after_break.
2915
2916 2015-02-23  Pedro Alves  <palves@redhat.com>
2917
2918         * linux-low.c (check_stopped_by_breakpoint): Don't check if the
2919         thread was doing a step-over; always adjust the PC if
2920         we stepped over a permanent breakpoint.
2921         (linux_wait_1): If we stepped over breakpoint that was on top of a
2922         permanent breakpoint, manually advance the PC past it.
2923
2924 2015-02-23  Pedro Alves  <palves@redhat.com>
2925
2926         * linux-x86-low.c (REGSIZE): Define in both 32-bit and 64-bit
2927         modes.
2928         (x86_fill_gregset, x86_store_gregset): Use it when handling
2929         $orig_eax.
2930
2931 2015-02-20  Pedro Alves  <palves@redhat.com>
2932
2933         * thread-db.c: Include "nat/linux-procfs.h".
2934         (thread_db_init): Skip listing new threads if the kernel supports
2935         PTRACE_EVENT_CLONE and /proc/PID/task/ is accessible.
2936
2937 2015-02-20  Pedro Alves  <palves@redhat.com>
2938
2939         * linux-low.c (status_pending_p_callback): Use ptid_match.
2940
2941 2015-02-19  Antoine Tremblay  <antoine.tremblay@ericsson.com>
2942
2943         PR breakpoints/16812
2944         * linux-low.c (wstatus_maybe_breakpoint): Remove.
2945         (linux_low_filter_event): Update wstatus_maybe_breakpoint name.
2946         (linux_wait_1): Report SIGTRAP,SIGILL,SIGSEGV.
2947
2948 2015-02-10  Antoine Tremblay <antoine.tremblay@ericsson.com>
2949
2950         PR breakpoints/15956
2951         * tracepoint.c (cmd_qtinit): Add check for current_thread.
2952
2953 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
2954
2955         * linux-low.c (linux_low_btrace_conf): Print size.
2956         * server.c (handle_btrace_conf_general_set): New.
2957         (hanle_general_set): Call handle_btrace_conf_general_set.
2958         (handle_query): Report Qbtrace-conf:bts:size as supported.
2959
2960 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
2961
2962         * linux-low.c (linux_low_enable_btrace): Update parameters.
2963         (linux_low_btrace_conf): New.
2964         (linux_target_ops)<to_btrace_conf>: Initialize.
2965         * server.c (current_btrace_conf): New.
2966         (handle_btrace_enable): Rename to ...
2967         (handle_btrace_enable_bts): ... this.  Pass &current_btrace_conf
2968         to target_enable_btrace.  Update comment.  Update users.
2969         (handle_qxfer_btrace_conf): New.
2970         (qxfer_packets): Add btrace-conf entry.
2971         (handle_query): Report qXfer:btrace-conf:read as supported packet.
2972         * target.h (target_ops)<enable_btrace>: Update parameters and comment.
2973         (target_ops)<read_btrace_conf>: New.
2974         (target_enable_btrace): Update parameters.
2975         (target_read_btrace_conf): New.
2976
2977 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
2978
2979         * server.c (handle_btrace_general_set): Remove call to
2980         target_supports_btrace.
2981         (supported_btrace_packets): New.
2982         (handle_query): Call supported_btrace_packets.
2983         * target.h: include btrace-common.h.
2984         (btrace_target_info): Removed.
2985         (supports_btrace, target_supports_btrace): Update parameters.
2986
2987 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
2988
2989         * Makefile.in (SFILES): Add common/btrace-common.c.
2990         (OBS): Add common/btrace-common.o.
2991         (btrace-common.o): Add build rules.
2992         * linux-low: Include btrace-common.h.
2993         (linux_low_read_btrace): Use struct btrace_data.  Call
2994         btrace_data_init and btrace_data_fini.
2995
2996 2015-02-06  Pedro Alves  <palves@redhat.com>
2997
2998         * thread-db.c (find_new_threads_callback): Add debug output.
2999
3000 2015-02-04  Pedro Alves  <palves@redhat.com>
3001
3002         * linux-low.c (handle_extended_wait): Don't resume LWPs here.
3003         (resume_stopped_resumed_lwps): New function.
3004         (linux_wait_for_event_filtered): Use it.
3005
3006 2015-01-15  Sergio Durigan Junior  <sergiodj@redhat.com>
3007
3008         * Makefile.in (SFILES): Add linux-personality.c.
3009         (linux-personality.o): New rule.
3010         * configure.srv (srv_linux_obj): Add linux-personality.o to the
3011         list of objects to be built.
3012         * linux-low.c: Include nat/linux-personality.h.
3013         (linux_create_inferior): Remove code to disable address space
3014         randomization (moved to ../nat/linux-personality.c).  Create
3015         cleanup to disable address space randomization.
3016
3017 2015-01-15  Sergio Durigan Junior  <sergiodj@redhat.com>
3018
3019         * Makefile.in (posix-strerror.o): New rule.
3020         (mingw-strerror.o): Likewise.
3021         * configure: Regenerated.
3022         * configure.ac: Source file ../common/common.host.  Initialize new
3023         variable srv_host_obs.  Add srv_host_obs to GDBSERVER_DEPFILES.
3024
3025 2015-01-14  Yao Qi  <yao@codesourcery.com>
3026
3027         * Makefile.in (SFILES): Add nat/ppc-linux.c.
3028         (ppc-linux.o): New rule.
3029         * configure.srv (powerpc*-*-linux*): Add ppc-linux.o.
3030         * configure.ac: AC_CHECK_FUNCS(getauxval).
3031         * config.in: Re-generated.
3032         * configure: Re-generated.
3033         * linux-ppc-low.c (ppc_arch_setup) [__powerpc64__]: Call
3034         ppc64_64bit_inferior_p
3035
3036 2015-01-14  Yao Qi  <yao@codesourcery.com>
3037
3038         * linux-ppc-low.c: Include "nat/ppc-linux.h".
3039          (PPC_FEATURE_HAS_VSX): Move to nat/ppc-linux.h.
3040         (PPC_FEATURE_HAS_ALTIVEC,  PPC_FEATURE_HAS_SPE): Likewise.
3041         (PT_ORIG_R3, PT_TRAP): Likewise.
3042         (PTRACE_GETVSXREGS, PTRACE_SETVSXREGS): Likewise.
3043         (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Likewise.
3044         (PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): Likewise.
3045
3046 2015-01-10  Joel Brobecker  <brobecker@adacore.com>
3047
3048         * i387-fp.c (i387_cache_to_xsave): In look over
3049         num_avx512_zmmh_high_registers, replace use of struct i387_xsave
3050         zmmh_low_space field by use of zmmh_high_space.
3051
3052 2015-01-09  Pedro Alves  <palves@redhat.com>
3053
3054         * linux-low.c (step_over_bkpt): Move higher up in the file.
3055         (handle_extended_wait): Don't store the stop_pc here.
3056         (get_stop_pc): Adjust comments and rename to ...
3057         (check_stopped_by_breakpoint): ... this.  Record whether the LWP
3058         stopped for a software breakpoint or hardware breakpoint.
3059         (thread_still_has_status_pending_p): New function.
3060         (status_pending_p_callback): Use
3061         thread_still_has_status_pending_p.  If the event is no longer
3062         interesting, resume the LWP.
3063         (handle_tracepoints): Add assert.
3064         (maybe_move_out_of_jump_pad): Remove cancel_breakpoints call.
3065         (wstatus_maybe_breakpoint): New function.
3066         (cancel_breakpoint): Delete function.
3067         (check_stopped_by_watchpoint): New function, factored out from
3068         linux_low_filter_event.
3069         (lp_status_maybe_breakpoint): Delete function.
3070         (linux_low_filter_event): Remove filter_ptid argument.
3071         Leave thread group exits pending here.  Store the LWP's stop PC.
3072         Always leave events pending.
3073         (linux_wait_for_event_filtered): Pull all events out of the
3074         kernel, and leave them all pending.
3075         (count_events_callback, select_event_lwp_callback): Consider all
3076         events.
3077         (cancel_breakpoints_callback, linux_cancel_breakpoints): Delete.
3078         (select_event_lwp): Only give preference to the stepping LWP in
3079         all-stop mode.  Adjust comments.
3080         (ignore_event): New function.
3081         (linux_wait_1): Delete 'retry' label.  Use ignore_event.  Remove
3082         references to cancel_breakpoints.  Adjust to renames.  Also give
3083         equal priority to all LWPs that have had events in non-stop mode.
3084         If reporting a software breakpoint event, unadjust the LWP's PC.
3085         (linux_wait): If linux_wait_1 returned an ignored event, retry.
3086         (stuck_in_jump_pad_callback, move_out_of_jump_pad_callback):
3087         Adjust.
3088         (linux_resume_one_lwp): Store the LWP's PC.  Adjust.
3089         (resume_status_pending_p): Use thread_still_has_status_pending_p.
3090         (linux_stopped_by_watchpoint): Adjust.
3091         (linux_target_ops): Remove reference to linux_cancel_breakpoints.
3092         * linux-low.h (enum lwp_stop_reason): New.
3093         (struct lwp_info) <stop_pc>: Adjust comment.
3094         <stopped_by_watchpoint>: Delete field.
3095         <stop_reason>: New field.
3096         * linux-x86-low.c (x86_linux_prepare_to_resume): Adjust.
3097         * mem-break.c (software_breakpoint_inserted_here)
3098         (hardware_breakpoint_inserted_here): New function.
3099         * mem-break.h (software_breakpoint_inserted_here)
3100         (hardware_breakpoint_inserted_here): Declare.
3101         * target.h (struct target_ops) <cancel_breakpoints>: Remove field.
3102         (cancel_breakpoints): Delete.
3103         * tracepoint.c (clear_installed_tracepoints, stop_tracing)
3104         (upload_fast_traceframes): Remove references to
3105         cancel_breakpoints.
3106
3107 2015-01-09  Pedro Alves  <palves@redhat.com>
3108
3109         * thread-db.c (find_new_threads_callback): Ignore thread if the
3110         kernel thread ID is -1.
3111
3112 2015-01-09  Pedro Alves  <palves@redhat.com>
3113
3114         * linux-low.c (linux_attach_fail_reason_string): Move to
3115         nat/linux-ptrace.c, and rename.
3116         (linux_attach_lwp): Update comment.
3117         (attach_proc_task_lwp_callback): New function.
3118         (linux_attach): Adjust to rename and use
3119         linux_proc_attach_tgid_threads.
3120         (linux_attach_fail_reason_string): Delete declaration.
3121
3122 2015-01-01  Joel Brobecker  <brobecker@adacore.com>
3123
3124         * gdbreplay.c (gdbreplay_version): Update copyright year to 2015.
3125         * server.c (gdbserver_version): Likewise.
3126
3127 2014-12-29  Sergio Durigan Junior  <sergiodj@redhat.com>
3128
3129         * remote-utils.c: Include ctype.h.
3130         (input_interrupt): Explicitly handle the case when the char
3131         received is the NUL byte.  Improve the printing of non-ASCII
3132         characters.
3133
3134 2014-12-16  Joel Brobecker  <brobecker@adacore.com>
3135
3136         * linux-low.c (linux_low_filter_event): Update call to
3137         linux_enable_event_reporting following the addition of
3138         a new parameter to that function.
3139
3140 2014-12-16  Catalin Udma  <catalin.udma@freescale.com>
3141
3142         PR server/17457
3143         * linux-aarch64-low.c (AARCH64_FPSR_REGNO): New define.
3144         (AARCH64_FPCR_REGNO): Likewise.
3145         (AARCH64_NUM_REGS): Update to include fpsr/fpcr registers.
3146         (aarch64_fill_fpregset): Add missing fpsr/fpcr registers.
3147         (aarch64_store_fpregset): Likewise.
3148
3149 2014-12-15  Joel Brobecker  <brobecker@adacore.com>
3150
3151         * lynx-low.c (lynx_resume): Use PTRACE_SINGLESTEP_ONE if N == 1.
3152         Remove FIXME comment about assumption about N.
3153
3154 2014-12-13  Joel Brobecker  <brobecker@adacore.com>
3155
3156         * configure.ac: If large-file support is disabled in GDBserver,
3157         pass --disable-largefile to ACX_CONFIGURE_DIR call for "gnulib".
3158         * configure: Regenerate.
3159
3160 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3161
3162         * linux-low.c (regsets_fetch_inferior_registers): Suppress the
3163         warning upon ENODATA from ptrace.
3164         * linux-s390-low.c (s390_store_tdb): New.
3165         (s390_regsets): Add regset for NT_S390_TDB.
3166
3167 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3168
3169         * linux-low.c (regsets_store_inferior_registers): Skip regsets
3170         without a fill_function.
3171         * linux-s390-low.c (s390_fill_last_break): Remove.
3172         (s390_regsets): Set fill_function to NULL for NT_S390_LAST_BREAK.
3173         (s390_arch_setup): Use regset's size instead of fill_function for
3174         loop end condition.
3175
3176 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3177
3178         * linux-low.c (regsets_fetch_inferior_registers): Do not invoke
3179         the regset's store function when ptrace returned an error.
3180         * regcache.c (get_thread_regcache): Invalidate register cache
3181         before fetching inferior's registers.
3182
3183 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3184
3185         * linux-low.c (regsets_fetch_inferior_registers): Rephrase
3186         while-loop as for-loop.
3187         (regsets_store_inferior_registers): Likewise.
3188
3189 2014-11-28  Yao Qi  <yao@codesourcery.com>
3190
3191         * configure.ac(AC_CHECK_FUNCS): Remove readlink.
3192         * config.in, configure: Re-generate.
3193         * hostio.c (handle_unlink): Remove code checking HAVE_READLINK
3194         is defined.
3195
3196 2014-11-21  Yao Qi  <yao@codesourcery.com>
3197
3198         * configure.ac: Don't invoke AC_FUNC_ALLOCA.
3199         (AC_CHECK_HEADERS): Remove malloc.h.
3200         * configure: Re-generated.
3201         * config.in: Re-generated.
3202         * server.h: Don't include alloca.h and malloc.h.
3203         * gdbreplay.c: Don't check HAVE_ALLOCA_H is defined.
3204         Don't include malloc.h.
3205
3206 2014-11-17  Joel Brobecker  <brobecker@adacore.com>
3207
3208         * lynx-low.c (lynx_write_memory): Put lynx_read_memory and
3209         corresponding ERRNO check in same block.
3210
3211 2014-11-12  Pedro Alves  <palves@redhat.com>
3212
3213         * server.c (cont_thread): Update comment.
3214         (start_inferior, attach_inferior): No longer clear cont_thread.
3215         (handle_v_cont): No longer set cont_thread.
3216         (captured_main): Clear cont_thread each time a GDB connects.
3217
3218 2014-11-12  Pedro Alves  <palves@redhat.com>
3219
3220         * linux-low.c (linux_wait_1): Don't force a wait for the Hc
3221         thread, and don't resume all threads if the Hc thread has exited.
3222
3223 2014-11-12  Pedro Alves  <palves@redhat.com>
3224
3225         * linux-low.c (linux_request_interrupt): Always send a SIGINT to
3226         the process group instead of to a specific LWP.
3227
3228 2014-10-15  Pedro Alves  <palves@redhat.com>
3229
3230         PR server/17487
3231         * win32-arm-low.c (arm_set_thread_context): Remove current_event
3232         parameter.
3233         (arm_set_thread_context): Delete.
3234         (the_low_target): Adjust.
3235         * win32-i386-low.c (debug_registers_changed)
3236         (debug_registers_used): Delete.
3237         (update_debug_registers_callback): New function.
3238         (x86_dr_low_set_addr, x86_dr_low_set_control): Mark all threads as
3239         needing to update their debug registers.
3240         (win32_get_current_dr): New function.
3241         (x86_dr_low_get_addr, x86_dr_low_get_control)
3242         (x86_dr_low_get_status): Fetch the debug register from the thread
3243         record's context.
3244         (i386_initial_stuff): Adjust.
3245         (i386_get_thread_context): Remove current_event parameter.  Don't
3246         clear debug_registers_changed nor copy DR values to
3247         debug_reg_state.
3248         (i386_set_thread_context): Delete.
3249         (i386_prepare_to_resume): New function.
3250         (i386_thread_added): Mark the thread as needing to update irs
3251         debug registers.
3252         (the_low_target): Remove i386_set_thread_context and install
3253         i386_prepare_to_resume.
3254         * win32-low.c (win32_get_thread_context): Adjust.
3255         (win32_set_thread_context): Use SetThreadContext
3256         directly.
3257         (win32_prepare_to_resume): New function.
3258         (win32_require_context): New function, factored out from ...
3259         (thread_rec): ... this.
3260         (continue_one_thread): Call win32_prepare_to_resume on each thread
3261         we're about to continue.
3262         (win32_resume): Call win32_prepare_to_resume on the event thread.
3263         * win32-low.h (struct win32_thread_info)
3264         <debug_registers_changed>: New field.
3265         (struct win32_target_ops): Change prototype of set_thread_context,
3266         delete set_thread_context and add prepare_to_resume.
3267         (win32_require_context): New declaration.
3268
3269 2014-10-08  Gary Benson  <gbenson@redhat.com>
3270
3271         * server.h: Do not include common-exceptions.h.
3272
3273 2014-10-08  Gary Benson  <gbenson@redhat.com>
3274
3275         * server.h: Do not include cleanups.h.
3276
3277 2014-09-30  James Hogan  <james.hogan@imgtec.com>
3278
3279         * Makefile.in (clean): Add rm -f commands for mips-dsp-linux.c and
3280         mips64-dsp-linux.c.
3281
3282 2014-09-23  Yao Qi  <yao@codesourcery.com>
3283
3284         * linux-low.c (lp_status_maybe_breakpoint): New function.
3285         (linux_low_filter_event): Call lp_status_maybe_breakpoint.
3286         (count_events_callback): Likewise.
3287         (select_event_lwp_callback): Likewise.
3288         (cancel_breakpoints_callback): Likewise.
3289
3290 2014-09-19  Don Breazeal  <donb@codesourcery.com>
3291
3292         * linux-low.c (handle_extended_wait): Call
3293         linux_ptrace_get_extended_event.
3294         (get_stop_pc, get_detach_signal, linux_low_filter_event): Call
3295         linux_is_extended_waitstatus.
3296
3297 2014-09-16  Joel Brobecker  <brobecker@adacore.com>
3298
3299         * Makefile.in (CPPFLAGS): Define.
3300         (INTERNAL_CFLAGS_BASE): Add ${CPPFLAGS}.
3301         (IPAGENT_CFLAGS): Remove ${CPPFLAGS}.
3302
3303 2014-09-16  Gary Benson  <gbenson@redhat.com>
3304
3305         * inferiors.h (current_inferior): Renamed as...
3306         (current_thread): New variable.  All uses updated.
3307         * linux-low.c (get_pc): Renamed saved_inferior as saved_thread.
3308         (maybe_move_out_of_jump_pad): Likewise.
3309         (cancel_breakpoint): Likewise.
3310         (linux_low_filter_event): Likewise.
3311         (wait_for_sigstop): Likewise.
3312         (linux_resume_one_lwp): Likewise.
3313         (need_step_over_p): Likewise.
3314         (start_step_over): Likewise.
3315         (linux_stabilize_threads): Renamed save_inferior as saved_thread.
3316         * linux-x86-low.c (x86_linux_update_xmltarget): Likewise.
3317         * proc-service.c (ps_lgetregs): Renamed reg_inferior as reg_thread
3318         and save_inferior as saved_thread.
3319         * regcache.c (get_thread_regcache): Renamed saved_inferior as
3320         saved_thread.
3321         (regcache_invalidate_thread): Likewise.
3322         * remote-utils.c (prepare_resume_reply): Likewise.
3323         * thread-db.c (thread_db_get_tls_address): Likewise.
3324         (disable_thread_event_reporting): Likewise.
3325         (remove_thread_event_breakpoints): Likewise.
3326         * tracepoint.c (gdb_agent_about_to_close): Renamed save_inferior
3327         as saved_thread.
3328         * target.h (set_desired_inferior): Renamed as...
3329         (set_desired_thread): New declaration.  All uses updated.
3330         * server.c (myresume): Updated comment to reference thread instead
3331         of inferior.
3332         (handle_serial_event): Likewise.
3333         (handle_target_event): Likewise.
3334
3335 2014-09-12  Tom Tromey  <tromey@redhat.com>
3336             Gary Benson  <gbenson@redhat.com>
3337
3338         * regcache.h: Include common-regcache.h.
3339         (regcache_read_pc): Don't declare.
3340         * regcache.c (get_thread_regcache_for_ptid): New function.
3341
3342 2014-09-11  Tom Tromey  <tromey@redhat.com>
3343             Gary Benson  <gbenson@redhat.com>
3344
3345         * symbol.c: New file.
3346         * Makefile.in (SFILES): Add symbol.c.
3347         (OBS): Add symbol.o.
3348
3349 2014-09-11  Gary Benson  <gbenson@redhat.com>
3350
3351         * target.c (target_stop_ptid, target_continue_ptid): New
3352         functions.
3353
3354 2014-09-11  Tom Tromey  <tromey@redhat.com>
3355             Gary Benson  <gbenson@redhat.com>
3356
3357         * target.h: Include target/target.h.
3358         * target.c (target_read_memory, target_read_uint32)
3359         (target_write_memory): New functions.
3360
3361 2014-09-11  Gary Benson  <gbenson@redhat.com>
3362
3363         * server.h (debug_hw_points): Don't declare.
3364         * server.c (debug_hw_points): Don't define.  Replace all uses
3365         with show_debug_regs.
3366         * linux-aarch64-low.c (debug_hw_points): Don't define.  Replace
3367         all uses with show_debug_regs.
3368
3369 2014-09-08  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
3370
3371         * linux-ppc-low.c (ppc_collect_ptrace_register): Adjust routine to take
3372         endianness into account.
3373         (ppc_supply_ptrace_register): Likewise.
3374
3375 2014-09-03  James Hogan  <james.hogan@imgtec.com>
3376
3377         * linux-mips-low.c (mips_read_description): Reset errno to 0 prior
3378         to reading DSP_CONTROL with PTRACE_PEEKUSER ptrace call.
3379
3380 2014-09-03  Gary Benson  <gbenson@redhat.com>
3381
3382         * linux-x86-low.c (x86_linux_prepare_to_resume): Use
3383         ALL_DEBUG_ADDRESS_REGISTERS.
3384
3385 2014-09-02  Gary Benson  <gbenson@redhat.com>
3386
3387         * i386-low.h: Renamed as...
3388         * x86-low.h: New file.  All type, function and variable name
3389         prefixes changed from "i386_" to "x86_".  All references updated.
3390         * i386-low.c: Renamed as...
3391         * x86-low.c: New file.  All type, function and variable name
3392         prefixes changed from "i386_" to "x86_".  All references updated.
3393
3394 2014-09-02  Gary Benson  <gbenson@redhat.com>
3395
3396         * linux-x86-low.c (x86_linux_new_process): Use XCNEW.
3397         (x86_linux_new_thread): Likewise.
3398
3399 2014-08-29  Gary Benson  <gbenson@redhat.com>
3400
3401         * server.h (setjmp.h): Do not include.
3402         (toplevel): Do not declare.
3403         (common-exceptions.h): Include.
3404         (cleanups.h): Likewise.
3405         * server.c (toplevel): Do not define.
3406         (exit_code): New static global.
3407         (detach_or_kill_for_exit_cleanup): New function.
3408         (main): New function.  Original main renamed to...
3409         (captured_main): New function.
3410         * utils.c (verror) [!IN_PROCESS_AGENT]: Use throw_verror.
3411
3412 2014-08-29  Gary Benson  <gbenson@redhat.com>
3413
3414         * Makefile.in (SFILES): Add common/common-exceptions.c.
3415         (OBS): Add common-exceptions.o.
3416         (common-exceptions.o): New rule.
3417         * utils.c (prepare_to_throw_exception): New function.
3418
3419 2014-08-29  Gary Benson  <gbenson@redhat.com>
3420
3421         * config.in: Regenerate.
3422         * configure: Likewise.
3423
3424 2014-08-29  Gary Benson  <gbenson@redhat.com>
3425
3426         * Makefile.in (SFILES): Add common/cleanups.c.
3427         (OBS): cleanups.o.
3428         (cleanups.o): New rule.
3429
3430 2014-08-29  Gary Benson  <gbenson@redhat.com>
3431
3432         * utils.c (internal_vwarning): New function.
3433
3434 2014-08-28  Gary Benson  <gbenson@redhat.com>
3435
3436         * utils.h (fatal): Remove declaration.
3437         * utils.c (fatal): Remove function.
3438
3439 2014-08-28  Gary Benson  <gbenson@redhat.com>
3440
3441         * tracepoint.c (gdb_agent_init): Replace fatal with
3442         perror_with_name.
3443         (initialize_tracepoint): Likewise.
3444
3445 2014-08-28  Gary Benson  <gbenson@redhat.com>
3446
3447         * remote-utils.c (remote_prepare): Replace fatal with error.
3448
3449 2014-08-28  Gary Benson  <gbenson@redhat.com>
3450
3451         * linux-low.c (linux_async): Replace fatal with warning.
3452         Tidy up and return.
3453         (linux_start_non_stop): Return -1 if linux_async failed.
3454
3455 2014-08-28  Gary Benson  <gbenson@redhat.com>
3456
3457         * linux-x86-low.c (i386_dr_low_set_addr): Replace check with
3458         gdb_assert.
3459         (i386_dr_low_get_addr): Remove vague comment.
3460         * win32-i386-low.c (i386_dr_low_set_addr): Replace check with
3461         gdb_assert.
3462
3463 2014-08-28  Gary Benson  <gbenson@redhat.com>
3464
3465         * inferiors.c (get_thread_process): Replace check with gdb_assert.
3466         * linux-low.c (linux_wait_for_event_filtered): Replace fatal with
3467         internal_error.
3468         (linux_resume_one_lwp): Likewise.
3469         * linux-x86-low.c (x86_siginfo_fixup): Replace checks with
3470         gdb_assert.
3471         * mem-break.c (raw_bkpt_type_to_target_hw_bp_type): Replace fatal
3472         with internal_error.
3473         * regcache.c (get_thread_regcache): Replace check with gdb_assert.
3474         (init_register_cache): Replace fatal with gdb_assert_not_reached.
3475         (find_register_by_name): Replace fatal with internal_error.
3476         (find_regno): Likewise.
3477         * tdesc.c (init_target_desc): Replace check with gdb_assert.
3478         * thread-db.c (thread_db_create_event): Likewise.
3479         (thread_db_load_search): Likewise.
3480         (try_thread_db_load_1): Likewise.
3481         * tracepoint.c (get_jump_space_head): Replace fatal with
3482         internal_error.
3483         (claim_trampoline_space): Likewise.
3484         (have_fast_tracepoint_trampoline_buffer): Likewise.
3485         (cmd_qtstart): Likewise.
3486         (stop_tracing): Likewise.
3487         (fast_tracepoint_collecting): Likewise.
3488         (target_malloc): Likewise.
3489         (download_tracepoint): Likewise.
3490         (download_trace_state_variables): Replace check with gdb_assert.
3491         (upload_fast_traceframes): Replace fatal with internal_error.
3492
3493 2014-08-19  Tom Tromey  <tromey@redhat.com>
3494             Gary Benson  <gbenson@redhat.com>
3495
3496         * Makefile.in (SFILES): Add common/common-debug.c.
3497         (OBS): Add common-debug.o.
3498         (common-debug.o): New rule.
3499         * debug.h (debug_printf): Don't declare.
3500         * debug.c (debug_printf): Renamed and rewritten as...
3501         (debug_vprintf): New function.
3502
3503 2014-08-19  Gary Benson  <gbenson@redhat.com>
3504
3505         * utils.h: Do not include print-utils.h.
3506
3507 2014-08-19  Tom Tromey  <tromey@redhat.com>
3508             Gary Benson  <gbenson@redhat.com>
3509
3510         * server.h: Add static assertion.
3511         (gdb_byte, CORE_ADDR, LONGEST, ULONGEST): Remove.
3512
3513 2014-08-19  Tom Tromey  <tromey@redhat.com>
3514             Gary Benson  <gbenson@redhat.com>
3515
3516         * Makefile.in (SFILES): Add common/errors.c.
3517         (OBS): Add errors.o.
3518         (IPA_OBS): Add errors-ipa.o.
3519         (errors.o): New rule.
3520         (errors-ipa.o): Likewise.
3521         * utils.h (perror_with_name, error, warning): Don't declare.
3522         * utils.c (warning): Renamed and rewritten as...
3523         (vwarning): New function.
3524         (error): Renamed and rewritten as...
3525         (verror): New function.
3526         (internal_error): Renamed and rewritten as...
3527         (internal_verror): New function.
3528
3529 2014-08-07  Gary Benson  <gbenson@redhat.com>
3530
3531         * configure.ac (AC_CHECK_HEADERS): Remove errno.h.
3532         * configure: Regenerate.
3533         * config.in: Likewise.
3534         * server.h: Do not include errno.h.
3535         * event-loop.c: Likewise.
3536         * hostio-errno.c: Likewise.
3537         * linux-low.c: Likewise.
3538         * remote-utils.c: Likewise.
3539         * spu-low.c: Likewise.
3540         * utils.c: Likewise.
3541         * gdbreplay.c: Unconditionally include errno.h.
3542
3543 2014-08-07  Gary Benson  <gbenson@redhat.com>
3544
3545         * server.h: Do not include string.h.
3546         * event-loop.c: Likewise.
3547         * linux-low.c: Likewise.
3548         * regcache.c: Likewise.
3549         * remote-utils.c: Likewise.
3550         * spu-low.c: Likewise.
3551         * utils.c: Likewise.
3552
3553 2014-08-07  Gary Benson  <gbenson@redhat.com>
3554
3555         * server.h: Do not include gdb_assert.h.
3556
3557 2014-08-07  Gary Benson  <gbenson@redhat.com>
3558
3559         * server.h: Do not include common-utils.h.
3560
3561 2014-08-07  Gary Benson  <gbenson@redhat.com>
3562
3563         * server.h: Do not include ptid.h.
3564         * notif.h: Likewise.
3565
3566 2014-08-07  Gary Benson  <gbenson@redhat.com>
3567
3568         * server.h: Do not include gdb_locale.h.
3569
3570 2014-08-07  Gary Benson  <gbenson@redhat.com>
3571
3572         * server.h: Do not include gdb/signals.h.
3573         * win32-low.c: Likewise.
3574
3575 2014-08-07  Gary Benson  <gbenson@redhat.com>
3576
3577         * server.h: Do not include pathmax.h.
3578
3579 2014-08-07  Gary Benson  <gbenson@redhat.com>
3580
3581         * server.h: Do not include libiberty.h.
3582         * linux-bfin-low.c: Likewise.
3583
3584 2014-08-07  Gary Benson  <gbenson@redhat.com>
3585
3586         * server.h: Do not include ansidecl.h.
3587
3588 2014-08-07  Gary Benson  <gbenson@redhat.com>
3589
3590         * linux-x86-low.c: Do not include stddef.h.
3591         * lynx-ppc-low.c: Likewise.
3592         * tracepoint.c: Likewise.
3593
3594 2014-08-07  Gary Benson  <gbenson@redhat.com>
3595
3596         * server.h: Do not include stdarg.h.
3597         * nto-low.c: Likewise.
3598
3599 2014-08-07  Gary Benson  <gbenson@redhat.com>
3600
3601         * server.h: Do not include stdlib.h.
3602         * inferiors.c: Likewise.
3603         * linux-low.c: Likewise.
3604         * regcache.c: Likewise.
3605         * spu-low.c: Likewise.
3606         * tracepoint.c: Likewise.
3607         * utils.c: Likewise.
3608
3609 2014-08-07  Gary Benson  <gbenson@redhat.com>
3610
3611         * server.h: Do not include stdio.h.
3612         * linux-low.c: Likewise.
3613         * remote-utils.c: Likewise.
3614         * spu-low.c: Likewise.
3615         * utils.c: Likewise.
3616         * wincecompat.c: Likewise.
3617
3618 2014-08-06  Gary Benson  <gbenson@redhat.com>
3619
3620         * regcache.c (init_register_cache): Move conditionals inside if.
3621
3622 2014-08-06  Gary Benson  <gbenson@redhat.com>
3623
3624         * linux-low.c (linux_supports_non_stop): Use target_is_async_p.
3625
3626 2014-07-31  Gary Benson  <gbenson@redhat.com>
3627
3628         * ax.h: Do not include server.h.
3629         * gdbthread.h: Likewise.
3630         * lynx-low.h: Likewise.
3631         * notif.h: Likewise.
3632
3633 2014-07-30  Gary Benson  <gbenson@redhat.com>
3634
3635         * server.h: Include common-defs.h.
3636         Do not include config.h or build-gnulib-gdbserver/config.h.
3637
3638 2014-07-30  Gary Benson  <gbenson@redhat.com>
3639
3640         * hostio-errno.c: Move server.h to top of includes list.
3641         * inferiors.c: Likewise.
3642         * linux-x86-low.c: Likewise.
3643         * notif.c: Include server.h.
3644
3645 2014-07-24  Tom Tromey  <tromey@redhat.com>
3646             Gary Benson  <gbenson@redhat.com>
3647
3648         * server.h (CORE_ADDR): Now unsigned.
3649
3650 2014-07-16  Pedro Alves  <palves@redhat.com>
3651
3652         * linux-low.c (linux_kill_one_lwp): Use kill_lwp, not kill.
3653
3654 2014-07-15  Pedro Alves  <palves@redhat.com>
3655
3656         * linux-low.c (linux_kill_one_lwp): Save errno and work with saved
3657         copy.
3658
3659 2014-07-11  Pedro Alves  <palves@redhat.com>
3660
3661         * linux-low.c (kill_wait_lwp): New function, based on
3662         kill_one_lwp_callback, but use my_waitpid directly.
3663         (kill_one_lwp_callback, linux_kill): Use it.
3664
3665 2014-06-23  Pedro Alves  <palves@redhat.com>
3666
3667         * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR_CONTROL
3668         before setting DR0..DR3.
3669
3670 2014-06-20  Gary Benson  <gbenson@redhat.com>
3671
3672         * configure.ac (AC_REPLACE_FUNCS) <vasprintf, vsnprintf>: Removed.
3673         * configure: Regenerated.
3674         * config.in: Likewise.
3675
3676 2014-06-20  Gary Benson  <gbenson@redhat.com>
3677
3678         * Makefile.in (SFILES): Update locations for files moved
3679         from common to nat.
3680         (object file files): Reordered.
3681
3682 2014-06-20  Gary Benson  <gbenson@redhat.com>
3683
3684         * i386-low.h (i386_dr_low_can_set_addr): Removed.
3685         (i386_dr_low_set_addr): Likewise.
3686         (i386_dr_low_get_addr): Likewise.
3687         (i386_dr_low_can_set_control): Likewise.
3688         (i386_dr_low_set_control): Likewise.
3689         (i386_dr_low_get_control): Likewise.
3690         (i386_dr_low_get_status): Likewise.
3691         (i386_get_debug_register_length): Likewise.
3692         * linux-x86-low.c (i386_dr_low_set_addr):
3693         Changed signature.  Made static.
3694         (i386_dr_low_get_addr): Likewise.
3695         (i386_dr_low_set_control): Likewise.
3696         (i386_dr_low_get_control): Likewise.
3697         (i386_dr_low_get_status): Likewise.
3698         (i386_dr_low): New global variable.
3699         * win32-i386-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
3707 2014-06-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
3708
3709         * configure.ac: Invoke. AC_CHECK_TOOL(AR, ar).
3710         * Makefile.in (AR, AR_FLAGS): Define.
3711         * configure: Regenerate.
3712
3713 2014-06-19  Gary Benson  <gbenson@redhat.com>
3714
3715         * Makefile.in (i386-dregs.o): New rule.
3716         * configure.srv: Add i386-dregs.o to all targets using i386-low.o.
3717         * i386-low.c (target.h): Remove include.
3718         (TARGET_HAS_DR_LEN_8): Now in i386-dregs.c.
3719         (DR_CONTROL_SHIFT): Likewise.
3720         (DR_CONTROL_SIZE): Likewise.
3721         (DR_RW_EXECUTE): Likewise.
3722         (DR_RW_WRITE): Likewise.
3723         (DR_RW_READ): Likewise.
3724         (DR_RW_IORW): Likewise.
3725         (DR_LEN_1): Likewise.
3726         (DR_LEN_2): Likewise.
3727         (DR_LEN_4): Likewise.
3728         (DR_LEN_8): Likewise.
3729         (DR_LOCAL_ENABLE_SHIFT): Likewise.
3730         (DR_GLOBAL_ENABLE_SHIFT): Likewise.
3731         (DR_ENABLE_SIZE): Likewise.
3732         (DR_LOCAL_SLOWDOWN): Likewise.
3733         (DR_GLOBAL_SLOWDOWN): Likewise.
3734         (DR_CONTROL_RESERVED): Likewise.
3735         (I386_DR_CONTROL_MASK): Likewise.
3736         (I386_DR_VACANT): Likewise.
3737         (I386_DR_LOCAL_ENABLE): Likewise.
3738         (I386_DR_GLOBAL_ENABLE): Likewise.
3739         (I386_DR_DISABLE): Likewise.
3740         (I386_DR_SET_RW_LEN): Likewise.
3741         (I386_DR_GET_RW_LEN): Likewise.
3742         (I386_DR_WATCH_HIT): Likewise.
3743         (i386_wp_op_t): Likewise.
3744         (i386_show_dr): Likewise.
3745         (i386_length_and_rw_bits): Likewise.
3746         (i386_insert_aligned_watchpoint): Likewise.
3747         (i386_remove_aligned_watchpoint): Likewise.
3748         (i386_handle_nonaligned_watchpoint): Likewise.
3749         i386_update_inferior_debug_regs(): Likewise.
3750         (i386_dr_insert_watchpoint): Likewise.
3751         (i386_dr_remove_watchpoint): Likewise.
3752         (i386_dr_region_ok_for_watchpoint): Likewise.
3753         (i386_dr_stopped_data_address): Likewise.
3754         (i386_dr_stopped_by_watchpoint): Likewise.
3755
3756 2014-06-19  Gary Benson  <gbenson@redhat.com>
3757
3758         * i386-low.c (i386_dr_show): Renamed to
3759         i386_show_dr and made static.  All uses updated.
3760         (i386_dr_length_and_rw_bits): Renamed to
3761         i386_length_and_rw_bits and made static.
3762         All uses updated.
3763         (i386_dr_insert_aligned_watchpoint): Renamed to
3764         i386_insert_aligned_watchpoint and made static.
3765         All uses updated.
3766         (i386_dr_remove_aligned_watchpoint): Renamed to
3767         i386_remove_aligned_watchpoint and made static.
3768         All uses updated.
3769         (i386_dr_update_inferior_debug_regs): Renamed to
3770         i386_update_inferior_debug_regs and made static.
3771         All uses updated.
3772
3773 2014-06-18  Gary Benson  <gbenson@redhat.com>
3774
3775         * i386-low.h (i386_dr_low_can_set_addr): New macro.
3776         (i386_dr_low_can_set_control): Likewise.
3777         (i386_get_debug_register_length): Likewise.
3778         * i386-low.c (i386_dr_low_can_set_addr): Now in i386-low.h.
3779         (i386_dr_low_can_set_control): Likewise.
3780         (i386_get_debug_register_length): Likewise.
3781
3782 2014-06-17  Gary Benson  <gbenson@redhat.com>
3783
3784         * i386-low.h (i386-dregs.h): New include.
3785         (DR_FIRSTADDR): Now in i386-dregs.h.
3786         (DR_LASTADDR): Likewise.
3787         (DR_NADDR): Likewise.
3788         (DR_STATUS): Likewise.
3789         (DR_CONTROL): Likewise.
3790         (i386_debug_reg_state): Likewise.
3791         (i386_dr_insert_watchpoint): Likewise.
3792         (i386_dr_remove_watchpoint): Likewise.
3793         (i386_dr_region_ok_for_watchpoint): Likewise.
3794         (i386_dr_stopped_data_address): Likewise.
3795         (i386_dr_stopped_by_watchpoint): Likewise.
3796         * i386-low.c (ALL_DEBUG_REGISTERS): Likewise.
3797
3798 2014-06-18  Gary Benson  <gbenson@redhat.com>
3799
3800         * i386-low.h (i386_low_insert_watchpoint): Renamed to
3801         i386_dr_insert_watchpoint.
3802         (i386_low_remove_watchpoint): Renamed to
3803         i386_dr_remove_watchpoint.
3804         (i386_low_region_ok_for_watchpoint): Renamed to
3805         i386_dr_region_ok_for_watchpoint.
3806         (i386_low_stopped_data_address): Renamed to
3807         i386_dr_stopped_data_address.
3808         (i386_low_stopped_by_watchpoint): Renamed to
3809         i386_dr_stopped_by_watchpoint.
3810         * i386-low.c (i386_show_dr): Renamed to
3811         i386_dr_show and made nonstatic.  All uses updated.
3812         (i386_length_and_rw_bits): Renamed to
3813         i386_dr_length_and_rw_bits and made nonstatic.
3814         All uses updated.
3815         (i386_insert_aligned_watchpoint): Renamed to
3816         i386_dr_insert_aligned_watchpoint and made nonstatic.
3817         All uses updated.
3818         (i386_remove_aligned_watchpoint): Renamed to
3819         i386_dr_remove_aligned_watchpoint and made nonstatic.
3820         All uses updated.
3821         (i386_update_inferior_debug_regs): Renamed to
3822         i386_dr_update_inferior_debug_regs and made nonstatic.
3823         All uses updated.
3824         (i386_low_insert_watchpoint): Renamed to
3825         i386_dr_insert_watchpoint.  All uses updated.
3826         (i386_low_remove_watchpoint): Renamed to
3827         i386_dr_remove_watchpoint.  All uses updated.
3828         (i386_low_region_ok_for_watchpoint): Renamed to
3829         i386_dr_region_ok_for_watchpoint.  All uses updated.
3830         (i386_low_stopped_data_address): Renamed to
3831         i386_dr_stopped_data_address.  All uses updated.
3832         (i386_low_stopped_by_watchpoint): Renamed to
3833         i386_dr_stopped_by_watchpoint.  All uses updated.
3834
3835 2014-06-18  Gary Benson  <gbenson@redhat.com>
3836
3837         * i386-low.c (i386_dr_low_can_set_addr): New macro.
3838         (i386_dr_low_can_set_control): Likewise.
3839         (i386_insert_aligned_watchpoint): New check.
3840
3841 2014-06-18  Gary Benson  <gbenson@redhat.com>
3842
3843         * i386-low.c (i386_update_inferior_debug_regs) <inf_state>:
3844         Renamed to state.
3845
3846 2014-06-18  Gary Benson  <gbenson@redhat.com>
3847
3848         * i386-low.c (i386_length_and_rw_bits): Use internal_error
3849         instead of fatal and error.
3850         (i386_handle_nonaligned_watchpoint): Likewise.
3851
3852 2014-06-18  Gary Benson  <gbenson@redhat.com>
3853
3854         * i386-low.c (i386_get_debug_register_length): New macro.
3855         (TARGET_HAS_DR_LEN_8): Remove conditional.  Use above macro.
3856         (i386_show_dr): Use debug_printf instead of fprintf.  Use
3857         phex to format values.
3858
3859 2014-06-18  Gary Benson  <gbenson@redhat.com>
3860
3861         * i386-low.h: Comment changes.
3862         * i386-low.c: Likewise.
3863
3864 2014-06-18  Gary Benson  <gbenson@redhat.com>
3865
3866         * i386-low.c: Whitespace changes.
3867
3868 2014-06-12  Tom Tromey  <tromey@redhat.com>
3869
3870         * utils.c (freeargv): Remove.
3871
3872 2014-06-12  Tom Tromey  <tromey@redhat.com>
3873
3874         * debug.c (debug_printf): Remove HAVE_GETTIMEOFDAY checks.
3875         * server.c (monitor_show_help): Remove HAVE_GETTIMEOFDAY check.
3876         (parse_debug_format_options): Likewise.
3877         (gdbserver_usage): Likewise.
3878         * Makefile.in (LIBIBERTY_BUILDDIR, LIBIBERTY): New variables.
3879         (SUBDIRS, REQUIRED_SUBDIRS): Add libiberty.
3880         (gdbserver$(EXEEXT), gdbreplay$(EXEEXT)): Depend on and link
3881         against libiberty.
3882         ($(LIBGNU)): Depend on libiberty.
3883         (all-lib): Recurse into all subdirs.
3884         (install-only): Invoke "install" target in subdirs.
3885         (vasprintf.o, vsnprintf.o, safe-ctype.o, lbasename.o): Remove
3886         targets.
3887         * configure: Rebuild.
3888         * configure.ac: Add ACX_CONFIGURE_DIR for libiberty.  Don't check
3889         for vasprintf, vsnprintf, or gettimeofday.
3890         * configure.srv: Don't add safe-ctype.o or lbasename.o to
3891         srv_tgtobj.
3892
3893 2014-06-05  Joel Brobecker  <brobecker@adacore.com>
3894
3895         * development.sh: Delete.
3896         * Makefile.in (config.status): Adjust dependency on development.sh.
3897         * configure.ac: Adjust development.sh source call.
3898         * configure: Regenerate.
3899
3900 2014-06-02  Pedro Alves  <palves@redhat.com>
3901
3902         * ax.c (gdb_free_agent_expr): New function.
3903         * ax.h (gdb_free_agent_expr): New declaration.
3904         * mem-break.c (delete_gdb_breakpoint_1): Also clear the commands
3905         list.
3906         (clear_breakpoint_conditions, clear_breakpoint_commands): Make
3907         static.
3908         (clear_breakpoint_conditions_and_commands): New function.
3909         * mem-break.h (clear_breakpoint_conditions): Delete declaration.
3910         (clear_breakpoint_conditions_and_commands): New declaration.
3911
3912 2014-05-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3913
3914         * linux-aarch64-low.c (asm/ptrace.h): Include.
3915
3916 2014-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
3917
3918         Fix TLS access for -static -pthread.
3919         * gdbserver/thread-db.c (struct thread_db): Add td_thr_tlsbase_p.
3920         (thread_db_get_tls_address): Call it if LOAD_MODULE is zero.
3921         (thread_db_load_search, try_thread_db_load_1): Initialize it.
3922
3923 2014-05-20  Pedro Alves  <palves@redhat.com>
3924
3925         * linux-aarch64-low.c (aarch64_insert_point)
3926         (aarch64_remove_point): No longer check whether the type is
3927         supported here.  Adjust to new interface.
3928         (the_low_target): Install aarch64_supports_z_point_type as
3929         supports_z_point_type method.
3930         * linux-arm-low.c (raw_bkpt_type_to_arm_hwbp_type): New function.
3931         (arm_linux_hw_point_initialize): Take an enum raw_bkpt_type
3932         instead of a Z packet char.  Adjust.
3933         (arm_supports_z_point_type): New function.
3934         (arm_insert_point, arm_remove_point): Adjust to new interface.
3935         (the_low_target): Install arm_supports_z_point_type.
3936         * linux-crisv32-low.c (cris_supports_z_point_type): New function.
3937         (cris_insert_point, cris_remove_point): Adjust to new interface.
3938         Don't check whether the type is supported here.
3939         (the_low_target): Install cris_supports_z_point_type.
3940         * linux-low.c (linux_supports_z_point_type): New function.
3941         (linux_insert_point, linux_remove_point): Adjust to new interface.
3942         * linux-low.h (struct linux_target_ops) <insert_point,
3943         remove_point>: Take an enum raw_bkpt_type instead of a char.  Add
3944         raw_breakpoint pointer parameter.
3945         <supports_z_point_type>: New method.
3946         * linux-mips-low.c (mips_supports_z_point_type): New function.
3947         (mips_insert_point, mips_remove_point): Adjust to new interface.
3948         Use mips_supports_z_point_type.
3949         (the_low_target): Install mips_supports_z_point_type.
3950         * linux-ppc-low.c (the_low_target): Install NULL as
3951         supports_z_point_type method.
3952         * linux-s390-low.c (the_low_target): Install NULL as
3953         supports_z_point_type method.
3954         * linux-sparc-low.c (the_low_target): Install NULL as
3955         supports_z_point_type method.
3956         * linux-x86-low.c (x86_supports_z_point_type): New function.
3957         (x86_insert_point): Adjust to new insert_point interface.  Use
3958         insert_memory_breakpoint.  Adjust to new
3959         i386_low_insert_watchpoint interface.
3960         (x86_remove_point): Adjust to remove_point interface.  Use
3961         remove_memory_breakpoint.  Adjust to new
3962         i386_low_remove_watchpoint interface.
3963         (the_low_target): Install x86_supports_z_point_type.
3964         * lynx-low.c (lynx_target_ops): Install NULL as
3965         supports_z_point_type callback.
3966         * nto-low.c (nto_supports_z_point_type): New.
3967         (nto_insert_point, nto_remove_point): Adjust to new interface.
3968         (nto_target_ops): Install nto_supports_z_point_type.
3969         * mem-break.c: Adjust intro comment.
3970         (struct raw_breakpoint) <raw_type, size>: New fields.
3971         <inserted>: Update comment.
3972         <shlib_disabled>: Delete field.
3973         (enum bkpt_type) <gdb_breakpoint>: Delete value.
3974         <gdb_breakpoint_Z0, gdb_breakpoint_Z1, gdb_breakpoint_Z2,
3975         gdb_breakpoint_Z3, gdb_breakpoint_Z4>: New values.
3976         (raw_bkpt_type_to_target_hw_bp_type): New function.
3977         (find_enabled_raw_code_breakpoint_at): New function.
3978         (find_raw_breakpoint_at): New type and size parameters.  Use them.
3979         (insert_memory_breakpoint): New function, based off
3980         set_raw_breakpoint_at.
3981         (remove_memory_breakpoint): New function.
3982         (set_raw_breakpoint_at): Reimplement.
3983         (set_breakpoint): New, based on set_breakpoint_at.
3984         (set_breakpoint_at): Reimplement.
3985         (delete_raw_breakpoint): Go through the_target->remove_point
3986         instead of assuming memory breakpoints.
3987         (find_gdb_breakpoint_at): Delete.
3988         (Z_packet_to_bkpt_type, Z_packet_to_raw_bkpt_type): New functions.
3989         (find_gdb_breakpoint): New function.
3990         (set_gdb_breakpoint_at): Delete.
3991         (z_type_supported): New function.
3992         (set_gdb_breakpoint_1): New function, loosely based off
3993         set_gdb_breakpoint_at.
3994         (check_gdb_bp_preconditions, set_gdb_breakpoint): New functions.
3995         (delete_gdb_breakpoint_at): Delete.
3996         (delete_gdb_breakpoint_1): New function, loosely based off
3997         delete_gdb_breakpoint_at.
3998         (delete_gdb_breakpoint): New function.
3999         (clear_gdb_breakpoint_conditions): Rename to ...
4000         (clear_breakpoint_conditions): ... this.  Don't handle a NULL
4001         breakpoint.
4002         (add_condition_to_breakpoint): Make static.
4003         (add_breakpoint_condition): Take a struct breakpoint pointer
4004         instead of an address.  Adjust.
4005         (gdb_condition_true_at_breakpoint): Rename to ...
4006         (gdb_condition_true_at_breakpoint_z_type): ... this, and add
4007         z_type parameter.
4008         (gdb_condition_true_at_breakpoint): Reimplement.
4009         (add_breakpoint_commands): Take a struct breakpoint pointer
4010         instead of an address.  Adjust.
4011         (gdb_no_commands_at_breakpoint): Rename to ...
4012         (gdb_no_commands_at_breakpoint_z_type): ... this.  Add z_type
4013         parameter.  Return true if no breakpoint was found.  Change debug
4014         output.
4015         (gdb_no_commands_at_breakpoint): Reimplement.
4016         (run_breakpoint_commands): Rename to ...
4017         (run_breakpoint_commands_z_type): ... this.  Add z_type parameter,
4018         and change return type to boolean.
4019         (run_breakpoint_commands): New function.
4020         (gdb_breakpoint_here): Also check for Z1 breakpoints.
4021         (uninsert_raw_breakpoint): Don't try to reinsert a disabled
4022         breakpoint.  Go through the_target->remove_point instead of
4023         assuming memory breakpoint.
4024         (uninsert_breakpoints_at, uninsert_all_breakpoints): Uninsert
4025         software and hardware breakpoints.
4026         (reinsert_raw_breakpoint): Go through the_target->insert_point
4027         instead of assuming memory breakpoint.
4028         (reinsert_breakpoints_at, reinsert_all_breakpoints): Reinsert
4029         software and hardware breakpoints.
4030         (check_breakpoints, breakpoint_here, breakpoint_inserted_here):
4031         Check both software and hardware breakpoints.
4032         (validate_inserted_breakpoint): Assert the breakpoint is a
4033         software breakpoint.  Set the inserted flag to -1 instead of
4034         setting shlib_disabled.
4035         (delete_disabled_breakpoints): Adjust.
4036         (validate_breakpoints): Only validate software breakpoints.
4037         Adjust to inserted flag change.
4038         (check_mem_read, check_mem_write): Skip breakpoint types other
4039         than software breakpoints.  Adjust to inserted flag change.
4040         * mem-break.h (enum raw_bkpt_type): New enum.
4041         (raw_breakpoint, struct process_info): Forward declare.
4042         (Z_packet_to_target_hw_bp_type): Delete declaration.
4043         (raw_bkpt_type_to_target_hw_bp_type, Z_packet_to_raw_bkpt_type)
4044         (set_gdb_breakpoint, delete_gdb_breakpoint)
4045         (clear_breakpoint_conditions): New declarations.
4046         (set_gdb_breakpoint_at, clear_gdb_breakpoint_conditions): Delete.
4047         (breakpoint_inserted_here): Update comment.
4048         (add_breakpoint_condition, add_breakpoint_commands): Replace
4049         address parameter with a breakpoint pointer parameter.
4050         (gdb_breakpoint_here): Update comment.
4051         (delete_gdb_breakpoint_at): Delete.
4052         (insert_memory_breakpoint, remove_memory_breakpoint): Declare.
4053         * server.c (process_point_options): Take a struct breakpoint
4054         pointer instead of an address.  Adjust.
4055         (process_serial_event) <Z/z packets>: Use set_gdb_breakpoint and
4056         delete_gdb_breakpoint.
4057         * spu-low.c (spu_target_ops): Install NULL as
4058         supports_z_point_type method.
4059         * target.h: Include mem-break.h.
4060         (struct target_ops) <prepare_to_access_memory>: Update comment.
4061         <supports_z_point_type>: New field.
4062         <insert_point, remove_point>: Take an enum raw_bkpt_type argument
4063         instead of a char.  Also take a raw breakpoint pointer.
4064         * win32-arm-low.c (the_low_target): Install NULL as
4065         supports_z_point_type.
4066         * win32-i386-low.c (i386_supports_z_point_type): New function.
4067         (i386_insert_point, i386_remove_point): Adjust to new interface.
4068         (the_low_target): Install i386_supports_z_point_type.
4069         * win32-low.c (win32_supports_z_point_type): New function.
4070         (win32_insert_point, win32_remove_point): Adjust to new interface.
4071         (win32_target_ops): Install win32_supports_z_point_type.
4072         * win32-low.h (struct win32_target_ops):
4073         <supports_z_point_type>: New method.
4074         <insert_point, remove_point>: Take an enum raw_bkpt_type argument
4075         instead of a char.  Also take a raw breakpoint pointer.
4076
4077 2014-05-20  Pedro Alves  <palves@redhat.com>
4078
4079         * mem-break.h: Include break-common.h.
4080         (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP)
4081         (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): New defines.
4082         (Z_packet_to_target_hw_bp_type): New declaration.
4083         * mem-break.c (Z_packet_to_target_hw_bp_type): New function.
4084         * i386-low.c (Z_PACKET_HW_BP, Z_PACKET_WRITE_WP, Z_PACKET_READ_WP)
4085         (Z_PACKET_ACCESS_WP): Delete macros.
4086         (Z_packet_to_hw_type): Delete function.
4087         * i386-low.h: Don't include break-common.h here.
4088         (Z_packet_to_hw_type): Delete declaration.
4089         * linux-x86-low.c (x86_insert_point, x86_insert_point): Call
4090         Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type.
4091         * win32-i386-low.c (i386_insert_point, i386_remove_point): Call
4092         Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type.
4093         * linux-aarch64-low.c: Don't include break-common.h here.
4094         (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP)
4095         (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): Delete macros.
4096         (Z_packet_to_target_hw_bp_type): Delete function.
4097         * linux-mips-low.c (rsp_bp_type_to_target_hw_bp_type): Delete
4098         function.
4099         (mips_insert_point, mips_remove_point): Use
4100         Z_packet_to_target_hw_bp_type.
4101
4102 2014-05-20  Pedro Alves  <palves@redhat.com>
4103
4104         * linux-aarch64-low.c: Include break-common.h.
4105         (enum target_point_type): Delete.
4106         (Z_packet_to_point_type): Rename to ...
4107         (Z_packet_to_target_hw_bp_type): ... this, and return a
4108         target_hw_bp_type instead.
4109         (aarch64_show_debug_reg_state): Take an enum target_hw_bp_type
4110         instead of an enum target_point_type.
4111         (aarch64_point_encode_ctrl_reg): Likewise.  Compute type mask from
4112         breakpoint type.
4113         (aarch64_dr_state_insert_one_point)
4114         (aarch64_dr_state_remove_one_point, aarch64_handle_breakpoint)
4115         (aarch64_handle_aligned_watchpoint)
4116         (aarch64_handle_unaligned_watchpoint, aarch64_handle_watchpoint):
4117         Take an enum target_hw_bp_type instead of an enum
4118         target_point_type.
4119         (aarch64_supports_z_point_type): New function.
4120         (aarch64_insert_point, aarch64_remove_point): Use it.  Adjust to
4121         use Z_packet_to_target_hw_bp_type.
4122
4123 2014-05-20  Joel Brobecker  <brobecker@adacore.com>
4124
4125         * configure.ac: Only use -Werror by default when DEVELOPMENT
4126         is true.
4127         * configure: Regenerate.
4128
4129 2014-05-19  Jan Kratochvil  <jan.kratochvil@redhat.com>
4130
4131         Fix gdbserver qGetTLSAddr for x86_64 -m32.
4132         * linux-x86-low.c (X86_64_USER_REGS): New.
4133         (x86_fill_gregset): Call memset for BUF first in x86_64 -m32 case.
4134
4135 2014-04-28  Yao Qi  <yao@codesourcery.com>
4136
4137         * Makefile.in (i386-avx512.c): Fix the typo of generated file
4138         name.
4139
4140 2014-04-25  Pedro Alves  <palves@redhat.com>
4141
4142         PR server/16255
4143         * linux-low.c (linux_attach_fail_reason_string): New function.
4144         (linux_attach_lwp): Delete.
4145         (linux_attach_lwp_1): Rename to ...
4146         (linux_attach_lwp): ... this.  Take a ptid instead of a pid as
4147         argument.  Remove "initial" parameter.  Return int instead of
4148         void.  Don't error or warn here.
4149         (linux_attach): Adjust to call linux_attach_lwp.  Call error on
4150         failure to attach to the tgid.  Call warning when failing to
4151         attach to an lwp.
4152         * linux-low.h (linux_attach_lwp): Take a ptid instead of a pid as
4153         argument.  Remove "initial" parameter.  Return int instead of
4154         void.  Don't error or warn here.
4155         (linux_attach_fail_reason_string): New declaration.
4156         * thread-db.c (attach_thread): Adjust to linux_attach_lwp's
4157         interface change.  Use linux_attach_fail_reason_string.
4158
4159 2014-04-24  Michael Sturm  <michael.sturm@mintel.com>
4160             Walfred Tedeschi  <walfred.tedeschi@intel.com>
4161
4162         * Makefile.in: Added rules to handle new files
4163         i386-avx512.c i386-avx512-linux.c amd64-avx512.c
4164         amd64-avx512-linux.c x32-avx512.c x32-avx512-linux.c.
4165         * configure.srv (srv_i386_regobj): Add i386-avx512.o.
4166         (srv_i386_linux_regobj): Add i386-avx512-linux.o.
4167         (srv_amd64_regobj): Add amd64-avx512.o and x32-avx512.o.
4168         (srv_amd64_linux_regobj): Add amd64-avx512-linux.o and
4169         x32-avx512-linux.o.
4170         (srv_i386_32bit_xmlfiles): Add i386/32bit-avx512.xml.
4171         (srv_i386_64bit_xmlfiles): Add i386/64bit-avx512.xml.
4172         (srv_amd64_xmlfiles): Add i386/amd64-avx512.xml and
4173         i386/x32-avx512.xml.
4174         (srv_i386_linux_xmlfiles): Add i386/i386-avx512-linux.xml.
4175         (srv_amd64_linux_xmlfiles): Add i386/amd64-avx512-linux.xml and
4176         i386/x32-avx512-linux.xml.
4177         * i387-fp.c (num_avx512_k_registers): New constant for number
4178         of K registers.
4179         (num_avx512_zmmh_low_registers): New constant for number of
4180         lower ZMM registers (0-15).
4181         (num_avx512_zmmh_high_registers): New constant for number of
4182         higher ZMM registers (16-31).
4183         (num_avx512_ymmh_registers): New contant for number of higher
4184         YMM registers (ymm16-31 added by avx521 on x86_64).
4185         (num_avx512_xmm_registers): New constant for number of higher
4186         XMM registers (xmm16-31 added by AVX512 on x86_64).
4187         (struct i387_xsave): Add space for AVX512 registers.
4188         (i387_cache_to_xsave): Change raw buffer size to 64 characters.
4189         Add code to handle AVX512 registers.
4190         (i387_xsave_to_cache): Add code to handle AVX512 registers.
4191         * linux-x86-low.c (init_registers_amd64_avx512_linux): New
4192         prototypei from generated file.
4193         (tdesc_amd64_avx512_linux): Likewise.
4194         (init_registers_x32_avx512_linux): Likewise.
4195         (tdesc_x32_avx512_linux): Likewise.
4196         (init_registers_i386_avx512_linux): Likewise.
4197         (tdesc_i386_avx512_linux): Likewise.
4198         (x86_64_regmap): Add AVX512 registers.
4199         (x86_linux_read_description): Add code to handle AVX512 XSTATE
4200         mask.
4201         (initialize_low_arch): Add code to initialize AVX512 registers.
4202
4203 2014-04-23  Pedro Alves  <palves@redhat.com>
4204
4205         * mem-break.c (find_gdb_breakpoint_at): Make static.
4206         * mem-break.h (find_gdb_breakpoint_at): Delete declaration.
4207
4208 2014-04-23  Pedro Alves  <palves@redhat.com>
4209
4210         * i386-low.c: Don't include break-common.h here.
4211         (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change
4212         prototype to take target_hw_bp_type as argument instead of a Z
4213         packet char.
4214         * i386-low.h: Include break-common.h here.
4215         (Z_packet_to_hw_type): Declare.
4216         (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change
4217         prototypes.
4218         * linux-x86-low.c (x86_insert_point): Convert the packet number to
4219         a target_hw_bp_type before calling i386_low_insert_watchpoint.
4220         (x86_remove_point): Convert the packet number to a
4221         target_hw_bp_type before calling i386_low_remove_watchpoint.
4222         * win32-i386-low.c (i386_insert_point): Convert the packet number
4223         to a target_hw_bp_type before calling i386_low_insert_watchpoint.
4224         (i386_remove_point): Convert the packet number to a
4225         target_hw_bp_type before calling i386_low_remove_watchpoint.
4226
4227 2014-04-23  Pedro Alves  <palves@redhat.com>
4228
4229         * utils.h (perror_with_name): Add ATTRIBUTE_NORETURN.
4230
4231 2014-04-10  Pedro Alves  <palves@redhat.com>
4232
4233         * mem-break.c (add_breakpoint_condition, add_breakpoint_commands):
4234         Check if the condition or command is NULL before checking if the
4235         breakpoint is known.  On success, return true.
4236         * mem-break.h (add_breakpoint_condition): Document return.
4237         (add_breakpoint_commands): Add describing comment.
4238         * server.c (skip_to_semicolon): New function.
4239         (process_point_options): Use it.
4240
4241 2014-04-09  Pedro Alves  <palves@redhat.com>
4242
4243         * linux-low.c (linux_read_loadmap): Pass current_inferior directly
4244         to lwpid_of.
4245
4246 2014-02-27  Pedro Alves  <palves@redhat.com>
4247
4248         PR 12702
4249         * inferiors.h (A_I_NEXT, ALL_INFERIORS_TYPE, ALL_PROCESSES): New
4250         macros.
4251         * linux-low.c (delete_lwp, handle_extended_wait): Add debug
4252         output.
4253         (last_thread_of_process_p): Take a PID argument instead of a
4254         thread pointer.
4255         (linux_wait_for_lwp): Delete.
4256         (num_lwps, check_zombie_leaders, not_stopped_callback): New
4257         functions.
4258         (linux_low_filter_event): New function, party factored out from
4259         linux_wait_for_event.
4260         (linux_wait_for_event): Rename to ...
4261         (linux_wait_for_event_filtered): ... this.  Add new filter ptid
4262         argument.  Partly rewrite.  Always use waitpid(-1, WNOHANG) and
4263         sigsuspend.  Check for zombie leaders.
4264         (linux_wait_for_event): Reimplement as wrapper around
4265         linux_wait_for_event_filtered.
4266         (linux_wait_1): Handle TARGET_WAITKIND_NO_RESUMED.  Assume that if
4267         a normal or signal exit is seen, it's the whole process exiting.
4268         (wait_for_sigstop): No longer a for_each_inferior callback.
4269         Rewrite on top of linux_wait_for_event_filtered.
4270         (stop_all_lwps): Call wait_for_sigstop directly.
4271         * server.c (resume, handle_target_event): Handle
4272         TARGET_WAITKIND_NO_RESUMED.
4273
4274 2014-02-26  Joel Brobecker  <brobecker@adacore.com>
4275
4276         * win32-low.c (psapi_get_dll_name,
4277         * win32_CreateToolhelp32Snapshot): Delete.
4278         (win32_CreateToolhelp32Snapshot, win32_Module32First)
4279         (win32_Module32Next, load_toolhelp, toolhelp_get_dll_name):
4280         Delete.
4281         (handle_load_dll): Add function description.
4282         Remove code using psapi_get_dll_name and toolhelp_get_dll_name.
4283
4284 2014-02-26  Joel Brobecker  <brobecker@adacore.com>
4285
4286         * win32-low.c (win32_add_one_solib): Add 0x1000 to load_addr.
4287         Add comment.
4288         (win32_add_all_dlls): Remove 0x1000 offset applied to DLL
4289         base address when calling win32_add_one_solib.
4290         (handle_load_dll): Delete local variable load_addr.
4291         Remove 0x1000 offset applied to DLL base address when calling
4292         win32_add_one_solib.
4293         (handle_unload_dll): Add comment.
4294
4295 2014-02-26  Joel Brobecker  <brobecker@adacore.com>
4296
4297         * win32-low.c (win32_add_all_dlls): Renames
4298         win32_ensure_ntdll_loaded.  Rewrite function documentation.
4299         Adjust implementation to always load all DLLs.
4300         Add 0x1000 offset to DLL base address when calling
4301         win32_add_one_solib.
4302         (child_initialization_done): New static global.
4303         (do_initial_child_stuff): Set child_initialization_done to
4304         zero during child initialization, and 1 after.  Replace call
4305         to win32_ensure_ntdll_loaded by call to win32_add_all_dlls.
4306         Add comment.
4307         (match_dll_by_basename, dll_is_loaded_by_basename): Delete.
4308         (handle_unload_dll): Add function documentation.
4309         (get_child_debug_event): Ignore load and unload DLL events
4310         during child initialization.
4311
4312 2014-02-20  Doug Evans  <dje@google.com>
4313
4314         Remove global all_lwps.
4315         * inferiors.h (ptid_of): Move here from linux-low.h.
4316         (pid_of, lwpid_of): Ditto.
4317         * linux-aarch64-low.c (debug_reg_change_callback): Update, "entry"
4318         parameter is a struct thread_info * now.
4319         (aarch64_notify_debug_reg_change): Fetch pid from current_inferior
4320         directly.  Pass &all_threads to find_inferior instead of &all_lwps.
4321         (aarch64_stopped_data_address): Fetch lwpid from current_inferior
4322         directly.
4323         (aarch64_linux_prepare_to_resume): Fetch ptid from thread.
4324         (aarch64_arch_setup): Fetch lwpid from current_inferior directly.
4325         * linux-arm-low.c (update_registers_callback): Update, "entry"
4326         parameter is a struct thread_info * now.
4327         Fetch lwpid from current_inferior directly.
4328         (arm_insert_point): Pass &all_threads to find_inferior instead of
4329         &all_lwps.
4330         (arm_remove_point): Ditto.
4331         (arm_stopped_by_watchpoint): Fetch lwp from current_inferior.
4332         (arm_prepare_to_resume): Fetch pid from thread.
4333         (arm_read_description): Fetch lwpid from current_inferior directly.
4334         * linux-low.c (all_lwps): Delete.
4335         (delete_lwp): Delete call to remove_inferior.
4336         (handle_extended_wait): Fetch lwpid from thread.
4337         (add_lwp): Don't set lwp->entry.id.  Remove call to
4338         add_inferior_to_list.
4339         (linux_attach_lwp_1): Fetch pid from current_inferior directly.
4340         (linux_kill_one_lwp): Fetch ptid,lwpid from thread.
4341         (kill_one_lwp_callback): Ditto.
4342         (linux_kill): Don't dereference NULL pointer.
4343         Fetch ptid,lwpid from thread.
4344         (get_detach_signal): Fetch ptid from thread.
4345         (linux_detach_one_lwp): Fetch ptid,lwpid from thread.
4346         Simplify call to regcache_invalidate_thread.
4347         (delete_lwp_callback): Update, "entry" parameter is a
4348         struct thread_info * now.  Fetch pid from thread.
4349         (linux_mourn): Pass &all_threads to find_inferior instead of &all_lwps.
4350         (status_pending_p_callback): Update, "entry" parameter is a
4351         struct thread_info * now.  Fetch ptid from thread.
4352         (find_lwp_pid): Update, "entry" parameter is a
4353         struct thread_info * now.
4354         (linux_wait_for_lwp): Fetch pid from thread.
4355         (linux_fast_tracepoint_collecting): Fetch lwpid from thread.
4356         (maybe_move_out_of_jump_pad): Fetch lwpid from current_inferior.
4357         (enqueue_one_deferred_signal): Fetch lwpid from thread.
4358         (dequeue_one_deferred_signal): Ditto.
4359         (cancel_breakpoint): Fetch ptid from current_inferior.
4360         (linux_wait_for_event): Pass &all_threads to find_inferior,
4361         not &all_lwps.  Fetch ptid, lwpid from thread.
4362         (count_events_callback): Update, "entry" parameter is a
4363         struct thread_info * now.
4364         (select_singlestep_lwp_callback): Ditto.
4365         (select_event_lwp_callback): Ditto.
4366         (cancel_breakpoints_callback): Ditto.
4367         (linux_cancel_breakpoints): Pass &all_threads to find_inferior,
4368         not &all_lwps.
4369         (select_event_lwp): Ditto.  Fetch ptid from event_thread.
4370         (unsuspend_one_lwp): Update, "entry" parameter is a
4371         struct thread_info * now.
4372         (unsuspend_all_lwps): Pass &all_threads to find_inferior,
4373         not &all_lwps.
4374         (linux_stabilize_threads): Ditto.  And for for_each_inferior.
4375         Fetch lwpid from thread, not lwp.
4376         (linux_wait_1): Fetch ptid, lwpid from current_inferior.
4377         Pass &all_threads to find_inferior, not &all_lwps.
4378         (send_sigstop): Fetch lwpid from thread, not lwp.
4379         (send_sigstop_callback): Update, "entry" parameter is a
4380         struct thread_info * now.
4381         (suspend_and_send_sigstop_callback): Ditto.
4382         (wait_for_sigstop): Ditto.  Fetch ptid, lwpid from thread, lwp.
4383         (stuck_in_jump_pad_callback): Update, "entry" parameter is a
4384         struct thread_info * now.
4385         (move_out_of_jump_pad_callback): Ditto.  Fetch ptid, lwpid
4386         from thread, lwp.
4387         (lwp_running): Update, "entry" parameter is a
4388         struct thread_info * now.
4389         (stop_all_lwps): Fetch ptid from thread.
4390         Pass &all_threads to find_inferior, for_each_inferior, not &all_lwps.
4391         (linux_resume_one_lwp): Fetch lwpid from thread.
4392         (linux_set_resume_request): Update, "entry" parameter is a
4393         struct thread_info * now.  Fetch pid, lwpid from thread.
4394         (resume_status_pending_p): Update, "entry" parameter is a
4395         struct thread_info * now.
4396         (need_step_over_p): Ditto.  Fetch lwpid from thread.
4397         (start_step_over): Fetch lwpid from thread.
4398         (linux_resume_one_thread): Update, "entry" parameter is a
4399         struct thread_info * now.  Fetch lwpid from thread.
4400         (linux_resume): Pass &all_threads to find_inferior, not &all_lwps.
4401         (proceed_one_lwp): Update, "entry" parameter is a
4402         struct thread_info * now.  Fetch lwpid from thread.
4403         (unsuspend_and_proceed_one_lwp): Update, "entry" parameter is a
4404         struct thread_info * now.
4405         (proceed_all_lwps): Pass &all_threads to find_inferior, not &all_lwps.
4406         (unstop_all_lwps): Ditto.  Fetch lwpid from thread.
4407         (regsets_fetch_inferior_registers): Fetch lwpid from current_inferior
4408         directly.
4409         (regsets_store_inferior_registers): Ditto.
4410         (fetch_register, store_register): Ditto.
4411         (linux_read_memory, linux_write_memory): Ditto.
4412         (linux_request_interrupt): Ditto.
4413         (linux_read_auxv): Ditto.
4414         (linux_xfer_siginfo): Ditto.
4415         (linux_qxfer_spu): Ditto.
4416         (linux_qxfer_libraries_svr4): Ditto.
4417         * linux-low.h (ptid_of, pid_of, lwpid_of): Delete,
4418         moved to inferiors.h.
4419         (get_lwp): Delete.
4420         (get_thread_lwp): Update.
4421         (struct lwp_info): Delete member "entry".  Simplify comment for
4422         member "thread".
4423         (all_lwps): Delete.
4424         * linux-mips-low.c (mips_read_description): Fetch lwpid from
4425         current_inferior directly.
4426         (update_watch_registers_callback): Update, "entry" parameter is a
4427         struct thread_info * now.  Fetch pid from thread.
4428         (mips_linux_prepare_to_resume): Fetch ptid from thread.
4429         (mips_insert_point): Fetch lwpid from current_inferior.
4430         Pass &all_threads to find_inferior, not &all_lwps.
4431         (mips_remove_point): Pass &all_threads to find_inferior, not &all_lwps.
4432         (mips_stopped_by_watchpoint): Fetch lwpid from current_inferior
4433         directly.
4434         (mips_stopped_data_address): Ditto.
4435         * linux-s390-low.c (s390_arch_setup): Fetch pid from current_inferior
4436         directly.
4437         * linux-tile-low.c (tile_arch_setup): Ditto.
4438         * linux-x86-low.c (x86_get_thread_area): Fetch lwpid from thread.
4439         (update_debug_registers_callback): Update, "entry" parameter is a
4440         struct thread_info * now.  Fetch pid from thread.
4441         (i386_dr_low_set_addr): Fetch pid from current_inferior directly.
4442         Pass &all_threads to find_inferior, not &all_lwps.
4443         (i386_dr_low_get_addr): Fetch ptid from current_inferior directly.
4444         (i386_dr_low_set_control): Fetch pid from current_inferior directly.
4445         Pass &all_threads to find_inferior, not &all_lwps.
4446         (i386_dr_low_get_control): Fetch ptid from current_inferior directly.
4447         (i386_dr_low_get_status): Ditto.
4448         (x86_linux_prepare_to_resume): Fetch ptid from thread.
4449         (x86_siginfo_fixup): Fetch lwpid from current_inferior directly.
4450         (x86_linux_read_description): Ditto.
4451         * proc-service.c (ps_getpid): Fetch pid from current_inferior directly.
4452
4453 2014-02-20  Doug Evans  <dje@google.com>
4454
4455         * inferiors.c (get_first_inferior): Fix buglet.
4456
4457 2014-02-19  Doug Evans  <dje@google.com>
4458
4459         * gdbthread.h (add_thread): Change result type to struct thread_info *.
4460         * inferiors.c (add_thread): Change result type to struct thread_info *.
4461         All callers updated.
4462         (add_lwp): Call add_thread here instead of in callers.
4463         All callers updated.
4464         * linux-low.h (get_lwp_thread): Rewrite.
4465         (struct lwp_info): New member "thread".
4466
4467 2014-02-19  Doug Evans  <dje@google.com>
4468
4469         * linux-low.c (add_lwp): Change result to struct lwp_info *.
4470         All callers updated.
4471
4472 2014-02-19  Doug Evans  <dje@google.com>
4473
4474         * inferiors.c (add_thread): Fix whitespace.
4475
4476 2014-02-19  Doug Evans  <dje@google.com>
4477
4478         * dll.c (clear_dlls): Replace accessing list implemention details
4479         with API function.
4480         * gdbthread.h (get_first_thread): Declare.
4481         * inferiors.c (for_each_inferior_with_data): New function.
4482         (get_first_thread): New function.
4483         (find_thread_ptid): Simplify.
4484         (get_first_inferior): New function.
4485         (clear_list): Delete.
4486         (one_inferior_p): New function.
4487         (clear_inferior_list): New function.
4488         (clear_inferiors): Update.
4489         * inferiors.h (for_each_inferior_with_data): Declare.
4490         (clear_inferior_list): Declare.
4491         (one_inferior_p): Declare.
4492         (get_first_inferior): Declare.
4493         * linux-low.c (linux_wait_for_event): Replace accessing list
4494         implemention details with API function.
4495         * server.c (target_running): Ditto.
4496         (accumulate_file_name_length): New function.
4497         (emit_dll_description): New function.
4498         (handle_qxfer_libraries): Replace accessing list implemention
4499         details with API function.
4500         (handle_qxfer_threads_worker): New function.
4501         (handle_qxfer_threads_proper): Replace accessing list implemention
4502         details with API function.
4503         (handle_query): Ditto.
4504         (visit_actioned_threads_callback_ftype): New typedef.
4505         (visit_actioned_threads_data): New struct.
4506         (visit_actioned_threads): Rewrite to be find_inferior callback.
4507         (resume): Call find_inferior.
4508         (handle_status): Replace accessing list implemention
4509         details with API function.
4510         (process_serial_event): Replace accessing list implemention details
4511         with API function.
4512         * target.c (set_desired_inferior): Replace accessing list implemention
4513         details with API function.
4514         * tracepoint.c (same_process_p): New function.
4515         (gdb_agent_about_to_close): Replace accessing list implemention
4516         details with API function.
4517         * win32-low.c (child_delete_thread): Replace accessing list
4518         implemention details with API function.
4519         (match_dll_by_basename): New function.
4520         (dll_is_loaded_by_basename): New function.
4521         (win32_ensure_ntdll_loaded): Replace accessing list implemention
4522         details call to dll_is_loaded_by_basename.
4523
4524 2014-02-19  Doug Evans  <dje@google.com>
4525
4526         * dll.h (struct dll_info): Add comment.
4527         * gdbthread.h (struct thread_info): Add comment.
4528         (current_ptid): Simplify.
4529         * inferiors.c (add_process): Update.
4530         (remove_process): Update.
4531         * inferiors.h (struct process_info): Rename member "head" to "entry".
4532         * linux-low.c (delete_lwp): Update.
4533         (add_lwp): Update.
4534         (last_thread_of_process_p): Update.
4535         (kill_one_lwp_callback, linux_kill): Update.
4536         (status_pending_p_callback): Update.
4537         (wait_for_sigstop): Update.  Simplify read of ptid.
4538         (start_step_over): Update.
4539         * linux-low.h (ptid_of, pid_of, lwpid_of): Update.
4540         (get_lwp_thread): Update.
4541         (struct lwp_info): Rename member "head" to "entry".
4542         * regcache.h (inferior_list_entry): Delete.
4543         * server.c (kill_inferior_callback): Update.
4544         (detach_or_kill_inferior_callback): Update.
4545         (print_started_pid): Update.
4546         (print_attached_pid): Update.
4547         (process_serial_event): Simplify read of ptid.
4548         * thread-db.c (thread_db_create_event): Update.
4549         (thread_db_get_tls_address): Update.
4550         * win32-low.c (current_inferior_ptid): Simplify.
4551
4552 2014-02-19  Tom Tromey  <tromey@redhat.com>
4553
4554         * target.h (struct target_ops) <supports_btrace>: Add target_ops
4555         argument.
4556         (target_supports_btrace): Update.
4557
4558 2014-02-14  Yao Qi  <yao@codesourcery.com>
4559
4560         * Makefile.in (IPA_OBJS): Append rsp-low-ipa.o.
4561         (rsp-low-ipa.o): New target.
4562
4563 2014-02-12  Tom Tromey  <tromey@redhat.com>
4564
4565         * ax.c (gdb_parse_agent_expr): Use hex2bin, not
4566         convert_ascii_to_int.
4567         * regcache.c (registers_to_string): Likewise.
4568         * remote-utils.c (decode_M_packet): Likewise.
4569         * server.c (process_serial_event): Likewise.
4570
4571 2014-02-12  Tom Tromey  <tromey@redhat.com>
4572
4573         * server.c (handle_query, handle_v_run): Use hex2bin, not
4574         unhexify.
4575         * tracepoint.c (cmd_qtdpsrc, cmd_qtdv, cmd_qtnotes): Likewise.
4576
4577 2014-02-12  Tom Tromey  <tromey@redhat.com>
4578
4579         * ax.c (gdb_unparse_agent_expr): Use bin2hex, not
4580         convert_int_to_ascii.
4581         * regcache.c (registers_to_string, collect_register_as_string):
4582         Likewise.
4583         * remote-utils.c (look_up_one_symbol, relocate_instruction):
4584         Likewise.
4585         * server.c (process_serial_event): Likewise.
4586         * tracepoint.c (cmd_qtstatus, response_source, response_tsv)
4587         (cmd_qtbuffer, cstr_to_hexstr): Likewise.
4588
4589 2014-02-12  Tom Tromey  <tromey@redhat.com>
4590
4591         * remote-utils.c (look_up_one_symbol, monitor_output): Use
4592         bin2hex, not hexify.
4593         * tracepoint.c (cmd_qtstatus): Likewise.
4594
4595 2014-02-12  Tom Tromey  <tromey@redhat.com>
4596
4597         * remote-utils.c (monitor_output): Pass explicit length to
4598         hexify.
4599
4600 2014-02-12  Tom Tromey  <tromey@redhat.com>
4601
4602         * tracepoint.c: Include rsp-low.h.
4603         * server.c: Include rsp-low.h.
4604         * remote-utils.h (convert_ascii_to_int, convert_int_to_ascii)
4605         (unhexify, hexify, remote_escape_output, unpack_varlen_hex): Don't
4606         declare.
4607         * remote-utils.c: Include rsp-low.h.
4608         (fromhex, hexchars, ishex, unhexify, tohex, hexify)
4609         (remote_escape_output, remote_unescape_input, unpack_varlen_hex)
4610         (convert_int_to_ascii, convert_ascii_to_int): Move to
4611         common/rsp-low.c.
4612         * regcache.c: Include rsp-low.h.
4613         * ax.c: Include rsp-low.h.
4614         * Makefile.in (SFILES): Add common/rsp-low.c.
4615         (OBS): Add rsp-low.o.
4616         (rsp-low.o): New target.
4617
4618 2014-02-12  Tom Tromey  <tromey@redhat.com>
4619
4620         * utils.h (pulongest, plongest, phex_nz): Don't declare.
4621         Include print-utils.h.
4622         * utils.c (NUMCELLS, CELLSIZE, get_cell, decimal2str, pulongest)
4623         (plongest, thirty_two, phex_nz): Remove.
4624         * Makefile.in (SFILES): Add common/print-utils.c.
4625         (OBS): Add print-utils.o.
4626         (print-utils-ipa.o): New target.
4627         (print-utils.o): New target.
4628         (IPA_OBJS): Add print-utils-ipa.o.
4629
4630 2014-02-06  Tom Tromey  <tromey@redhat.com>
4631
4632         * Makefile.in (SFILES): Fix indentation.
4633
4634 2014-02-05  Doug Evans  <dje@google.com>
4635
4636         * linux-low.c (linux_wait_for_event): Improve comment.
4637         (linux_wait_1): Keep current_inferior in sync with event_child.
4638
4639 2014-01-22  Doug Evans  <dje@google.com>
4640
4641         * gdbthread.h (gdb_id_to_thread): Delete, unused.
4642
4643 2014-01-22  Doug Evans  <dje@google.com>
4644
4645         * configure.ac (AC_CHECK_FUNCS): Add test for gettimeofday.
4646         * configure: Regenerate.
4647         * config.in: Regenerate.
4648         * Makefile.in (SFILES): Add debug.c.
4649         (OBS): Add debug.o.
4650         * debug.c: New file.
4651         * debug.h: New file.
4652         * linux-aarch64-low.c (*): Update all debugging printfs to use
4653         debug_printf instead of fprintf.
4654         * linux-arm-low.c (*): Ditto.
4655         * linux-cris-low.c (*): Ditto.
4656         * linux-crisv32-low.c (*): Ditto.
4657         * linux-m32r-low.c (*): Ditto.
4658         * linux-sparc-low.c (*): Ditto.
4659         * linux-x86.c (*): Ditto.
4660         * linux-low.c (*): Ditto.
4661         (linux_wait_1): Add calls to debug_enter, debug_exit.
4662         (linux_wait): Remove redundant debugging printf.
4663         (stop_all_lwps): Add calls to debug_enter, debug_exit.
4664         (linux_resume, unstop_all_lwps): Ditto.
4665         * mem-break.c (*): Update all debugging printfs to use
4666         debug_printf instead of fprintf.
4667         * remote-utils.c (*): Ditto.
4668         * thread-db.c (*): Ditto.
4669         * server.c #include <ctype.h>, "gdb_vecs.h".
4670         (debug_threads): Moved to debug.c.
4671         (*): Update all debugging printfs to use debug_printf instead of
4672         fprintf.
4673         (start_inferior): Replace call to fflush with call to debug_flush.
4674         (monitor_show_help): Mention set debug-format.
4675         (parse_debug_format_options): New function.
4676         (handle_monitor_command): Handle "monitor set debug-format".
4677         (gdbserver_usage): Mention --debug-format.
4678         (main): Parse --debug-format.
4679         * server.h (debug_threads): Declaration moved to debug.h.
4680         #include "debug.h".
4681         * tracepoint.c (trace_debug_1) [!IN_PROCESS_AGENT]: Add version of
4682         trace_debug_1 that uses debug_printf.
4683         (tracepoint_look_up_symbols): Update all debugging printfs to use
4684         debug_printf instead of fprintf.
4685
4686 2014-01-20  Baruch Siach  <baruch@tkos.co.il>
4687
4688         * linux-xtensa-low.c: Include asm/ptrace.h instead of
4689         sys/ptrace.h.
4690
4691 2014-01-17  Pedro Alves  <palves@redhat.com>
4692
4693         PR build/16445
4694         * linux-x86-low.c: Don't include elf/common.h if ELFMAG0 is
4695         defined after including gdb_proc_service.h.
4696
4697 2014-01-16  Doug Evans  <dje@google.com>
4698
4699         * dll.c (UNSPECIFIED_CORE_ADDR): New macro.
4700         (match_dll): Use it.
4701
4702 2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
4703
4704         * target.h (target_ops) <read_btrace>: Change parameters and
4705         return type to allow error reporting.
4706         * server.c (handle_qxfer_btrace): Support delta reads.  Pass
4707         trace reading errors on.
4708         * linux-low.c (linux_low_read_btrace): Pass trace reading
4709         errors on.
4710         (linux_low_disable_btrace): New.
4711
4712 2014-01-15  Doug Evans  <dje@google.com>
4713
4714         * inferiors.c (thread_id_to_gdb_id): Delete.
4715         * inferiors.h (thread_id_to_gdb_id): Delete.
4716
4717 2014-01-13  Eli Zaretskii  <eliz@gnu.org>
4718
4719         * Makefile.in (INCLUDE_CFLAGS): Remove trailing slash from
4720         "-I$(srcdir)/../".  Fixes MinGW compilation errors with old GCC
4721         versions.
4722
4723 2014-01-08  Pedro Alves  <palves@redhat.com>
4724
4725         * server.c (handle_status): Don't discard previous queued stop
4726         replies or thread's pending status here.
4727         (main) <disconnection>: Do it here instead.
4728
4729 2014-01-08  Pedro Alves  <palves@redhat.com>
4730
4731         * gdbthread.h (struct thread_info) <status_pending_p>: New field.
4732         * server.c (visit_actioned_threads, handle_pending_status): New
4733         function.
4734         (handle_v_cont): Factor out parts to ...
4735         (resume): ... this new function.  If in all-stop, and a thread
4736         being resumed has a pending status, report it without actually
4737         resuming.
4738         (myresume): Adjust to use the new 'resume' function.
4739         (clear_pending_status_callback, set_pending_status_callback)
4740         (find_status_pending_thread_callback): New functions.
4741         (handle_status): Handle the case of multiple threads having
4742         interesting statuses to report.  Report threads' real last signal
4743         instead of always reporting GDB_SIGNAL_TRAP.  Look for a thread
4744         with an interesting thread to report the status for, instead of
4745         always reporting the status of the first thread.
4746
4747 2014-01-01  Joel Brobecker  <brobecker@adacore.com>
4748
4749         * gdbserver.c (gdbserver_version): Set copyright year to 2014.
4750         * gdbreplay.c (gdbreplay_version): Likewise.
4751
4752 2013-12-18  Yufeng Zhang  <yufeng.zhang@arm.com>
4753
4754         * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Set
4755         iov.iov_len with the real length in use.
4756
4757 2013-12-13  Joel Brobecker  <brobecker@adacore.com>
4758
4759         * Makefile.in (safe-ctype.o, lbasename.o): New rules.
4760         * configure.srv: Add safe-ctype.o and lbasename.o to srv_tgtobj
4761         for all targets that use win32-low.c.
4762         * win32-low.c (win32_ensure_ntdll_loaded): New function.
4763         (do_initial_child_stuff): Add call to win32_ensure_ntdll_loaded.
4764
4765 2013-12-13  Pedro Alves  <palves@redhat.com>
4766
4767         * target.c (mywait): Set OURSTATUS->KIND to TARGET_WAITKIND_STOPPED
4768         if equal to TARGET_WAITKIND_LOADED.
4769         * win32-low.c (cached_status): New static global.
4770         (win32_wait): Add declaration.
4771         (do_initial_child_stuff): Flush all initial pending debug events
4772         up to the initial breakpoint.
4773         (win32_wait): If CACHED_STATUS was set, return that instead
4774         of doing a real wait.  Remove the code resuming the execution
4775         of the inferior after receiving a TARGET_WAITKIND_LOADED event
4776         during the initial phase.  Also remove the code changing
4777         OURSTATUS->KIND from TARGET_WAITKIND_LOADED to
4778         TARGET_WAITKIND_STOPPED.
4779
4780 2013-12-11  Yao Qi  <yao@codesourcery.com>
4781
4782         * notif.c (handle_notif_ack): Return 0 if no notification
4783         matches.
4784
4785 2013-11-20  Doug Evans  <dje@google.com>
4786
4787         * linux-low.c (linux_set_resume_request): Fix comment.
4788
4789 2013-11-20  Doug Evans  <dje@google.com>
4790
4791         * linux-low.c (resume_status_pending_p): Tweak comment.
4792
4793 2013-11-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
4794
4795         * Makefile.in: Add i386-mpx.c, i386-mpx-linux.c, amd64-mpx.c,
4796         amd64-mpx-linux.c, x32-mpx.c and x32-mpx-linux.c generation.
4797         * configure.srv (srv_i386_regobj): Add i386-mpx.o.
4798         (srv_i386_linux_regobj): Add i386-mpx-linux.o.
4799         (srv_amd64_regobj): Add amd64-mpx.o.
4800         (srv_amd64_linux_regobj): Add amd64-mpx-linux.o.
4801         (srv_i386_32bit_xmlfiles): Add i386/32bit-mpx.xml.
4802         (srv_i386_64bit_xmlfiles): Add i386/64bit-mpx.xml.
4803         * i387-fp.c (num_pl_bnd_register) Added constant.
4804         (num_pl_bnd_cfg_registers) Added constant.
4805         (struct i387_xsave) Added reserved area and MPX fields.
4806         (i387_cache_to_xsave, i387_xsave_to_cache) Add MPX.
4807         * linux-x86-low.c (init_registers_i386_mpx_linux): Declare new
4808         function.
4809         (tdesc_i386_mpx_linux): Add MPX amd64 target.
4810         (init_registers_amd64_mpx_linux): Declare new function.
4811         (tdesc_amd64_mpx_linux): Add MPX amd64 target.
4812         (x86_64_regmap): Add MPX registers.
4813         (x86_linux_read_description): Add MPX case.
4814         (initialize_low_arch): Initialize MPX targets.
4815
4816 2013-11-18  Tom Tromey  <tromey@redhat.com>
4817
4818         * configure: Rebuild.
4819         * configure.ac: Don't check for stdlib.h.
4820         * gdbreplay.c: Unconditionally include stdlib.h.
4821
4822 2013-11-18  Tom Tromey  <tromey@redhat.com>
4823
4824         * config.in: Rebuild.
4825         * configure: Rebuild.
4826         * configure.ac: Don't use AC_HEADER_DIRENT.
4827
4828 2013-11-18  Tom Tromey  <tromey@redhat.com>
4829
4830         * server.h: Don't check HAVE_STRING_H.
4831         * gdbreplay.c: Don't check HAVE_STRING_H.
4832         * configure: Rebuild.
4833
4834 2013-11-18  Tom Tromey  <tromey@redhat.com>
4835
4836         * Makefile.in (gdbreplay$(EXEEXT)): Depend on and link against
4837         LIBGNU.
4838
4839 2013-11-08  Tom Tromey  <tromey@redhat.com>
4840
4841         * configure, config.in: Rebuild.
4842         * configure.ac: Remove unused configury.
4843
4844 2013-11-08  Tom Tromey  <tromey@redhat.com>
4845
4846         * acinclude.m4: Include common.m4, codeset.m4.
4847         * configure, config.in: Rebuild.
4848         * configure.ac: Use GDB_AC_COMMON.
4849
4850 2013-11-06  Andreas Arnez  <arnez@linux.vnet.ibm.com>
4851
4852         * linux-s390-low.c (HWCAP_S390_TE): New define.
4853         (s390_arch_setup): Consider the TE field in the HWCAP for
4854         determining 'have_regset_tdb'.
4855
4856 2013-10-16  Sergio Durigan Junior  <sergiodj@redhat.com>
4857
4858         PR gdb/16014
4859         * tracepoint.c (download_tracepoint_1): Remove unnecessary double
4860         call to sizeof.
4861
4862 2013-10-02  Pedro Alves  <palves@redhat.com>
4863
4864         * server.c (process_serial_event): Don't output "GDBserver
4865         exiting" if GDB is connected through stdio.
4866         * target.c (mywait): Likewise, be silent if GDB is connected
4867         through stdio.
4868
4869 2013-10-01  Joel Brobecker  <brobecker@adacore.com>
4870
4871         * lynx-low.c (lynx_add_threads_after_attach): New function.
4872         (lynx_attach): Remove call to add_thread.  Add call to
4873         lynx_add_threads_after_attach instead.
4874
4875 2013-09-28  Mike Frysinger  <vapier@gentoo.org>
4876
4877         * configure.ac (AC_CHECK_HEADERS): Add sys/syscall.h
4878         * config.in, configure: Regenerated.
4879
4880 2013-09-18  Yao Qi  <yao@codesourcery.com>
4881
4882         PR server/15959
4883         * server.c (start_inferior): Clear 'resume_info'.
4884
4885 2013-09-16  Jiong Wang  <jiwang@tilera.com>
4886
4887         * linux-tile-low.c (tile_regsets): Modify the size field to 64-bit
4888         for each register.
4889
4890 2013-09-16  Jiong Wang  <jiwang@tilera.com>
4891
4892         * configure.srv <tilegx*-*-linux*>: Remove linux-osdata.o from and add
4893         linux-tile-low.o to srv_tgtobj.
4894
4895 2013-09-16  Will Newton  <will.newton@linaro.org>
4896
4897         * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Zero
4898         out regs.
4899
4900 2013-09-06  Pedro Alves  <palves@redhat.com>
4901
4902         * Makefile.in (gdb_proc_service_h, regdef_h, regcache_h)
4903         (signals_def, signals_h, ptid_h, ax_h, agent_h, linux_btrace_h)
4904         (linux_osdata_h, vec_h, gdb_vecs_h, host_defs_h, libiberty_h)
4905         (server_h, gdbthread_h, linux_low_h, linux_ptrace_h)
4906         (gdb_thread_db_h, linux_procfs_h, lynx_low_h, nto_low_h)
4907         (mips_linux_watch_h, i386_low_h, win32_low_h): Delete.
4908
4909 2013-09-06  Pedro Alves  <palves@redhat.com>
4910
4911         * Makefile.in (linux-btrace.o, mips-linux-watch.o): Remove
4912         explicit header dependencies and use $COMPILE/$POSTCOMPILE.
4913
4914 2013-09-06  Pedro Alves  <palves@redhat.com>
4915
4916         * linux-amd64-ipa.c: Include tracepoint.h.
4917         * linux-i386-ipa.c: Include tracepoint.h.
4918
4919 2013-09-06  Ricard Wanderlof  <ricardw@axis.com>
4920
4921         * linux-crisv32-low.c (PTRACE_GET_THREAD_AREA): New macro.
4922         (ps_get_thread_area): New function.
4923
4924 2013-09-06  Ricard Wanderlof  <ricardw@axis.com>
4925
4926         * linux-crisv32-low.c (elf_gregset_t): Delete typedef.
4927         (initialize_low_arch): Call init_registers_crisv32 rather than
4928         init_register_crisv32.
4929
4930 2013-09-05  Pedro Alves  <palves@redhat.com>
4931
4932         * server.h (handle_vFile, hostio_last_error_from_errno): Move
4933         to ...
4934         * hostio.h: ... this new file.
4935         * hostio.c, server.c, linux-low.c, nto-low.c, spu-low,
4936         win32-low.c: Include hostio.h.
4937
4938 2013-09-05  Pedro Alves  <palves@redhat.com>
4939
4940         * server.h (gdb_client_data, handler_func, callback_handler_func)
4941         (delete_file_handler, add_file_handler, append_callback_event)
4942         (delete_callback_event, start_event_loop, initialize_event_loop):
4943         Move to event-loop.h and include it.
4944         * event-loop.h: New file.
4945
4946 2013-09-05  Pedro Alves  <palves@redhat.com>
4947
4948         * dll.c, inferiors.c, remote-utils.c, server.c: Include "dll.h".
4949         * server.h (struct dll_info, all_dlls, dlls_changed, clear_dlls)
4950         (loaded_dll, unloaded_dll): Move to ...
4951         * dll.h: ... this new file.
4952         * inferiors.c, remote-utils.c, win32-low.c: Include "dll.h".
4953
4954 2013-09-05  Pedro Alves  <palves@redhat.com>
4955
4956         * server.h (current_process, get_thread_process, all_processes)
4957         (add_inferior_to_list, for_each_inferior, current_inferior)
4958         (remove_inferior, add_process, remove_process, find_process_pid)
4959         (have_started_inferiors_p, have_attached_inferiors_p)
4960         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id)
4961         (clear_inferiors, find_inferior, find_inferior_id)
4962         (inferior_target_data, set_inferior_target_data)
4963         (inferior_regcache_data, set_inferior_regcache_data): Move to
4964         inferiors.h, and include it.
4965         * inferiors.h: New file.
4966
4967 2013-09-05  Pedro Alves  <palves@redhat.com>
4968
4969         * server.h (struct emit_ops, current_insn_ptr, emit_error):
4970         Move ...
4971         * ax.h: ... here.
4972
4973 2013-09-05  Pedro Alves  <palves@redhat.com>
4974
4975         * ax.c, linux-low.c, linux-x86-low.c, server.c: Include
4976         tracepoint.h.
4977         * server.h (IPA_BUFSIZ, initialize_tracepoint, tracing)
4978         (disconnected_tracing, tracepoint_look_up_symbols, stop_tracing
4979         (handle_tracepoint_general_set, handle_tracepoint_query)
4980         (tracepoint_finished_step, tracepoint_was_hit)
4981         (release_while_stepping_state_list, current_traceframe)
4982         (in_readonly_region, traceframe_read_mem)
4983         (fetch_traceframe_registers, traceframe_read_sdata)
4984         (traceframe_read_info, struct fast_tpoint_collect_status)
4985         (fast_tracepoint_collecting, force_unlock_trace_buffer)
4986         (handle_tracepoit_bkpts, initialize_low_tracepoint)
4987         (supply_fast_tracepoint_registers)
4988         (supply_static_tracepoint_registers, set_trampoline_buffer_space)
4989         (ipa_tdesc, claim_trampoline_space)
4990         (have_fast_tracepoint_trampoline_buffer, gdb_agent_about_to_close)
4991         (agent_mem_read, agent_get_trace_state_variable_value)
4992         (agent_set_trace_state_variable_value, agent_tsv_read)
4993         (agent_mem_read_string, get_raw_reg_func_addr)
4994         (get_get_tsv_func_addr, get_set_tsv_func_addr): Move to ...
4995         * tracepoint.h: ... this new file.
4996
4997 2013-09-05  Pedro Alves  <palves@redhat.com>
4998
4999         * server.h (perror_with_name, error, fatal, warning, paddress)
5000         (pulongest, plongest, phex_nz, pfildes): Move to utils.h, and
5001         include it.
5002         * utils.h: New file.
5003
5004 2013-09-05  Pedro Alves  <palves@redhat.com>
5005
5006         * server.h (remote_debug, noack_mode, transport_is_reliable)
5007         (gdb_connected, STDIO_CONNECTION_NAME, remote_connection_is_stdio)
5008         (read_ptid, write_ptid, putpkt, putpkt_binary, putpkt_notif)
5009         (getpkt, remote_prepare, remote_open, remote_close, write_ok)
5010         (write_enn, initialize_async_io, enable_async_io)
5011         (disable_async_io, check_remote_input_interrupt_request)
5012         (convert_ascii_to_int, convert_int_to_ascii, new_thread_notify)
5013         (dead_thread_notify, prepare_resume_reply)
5014         (decode_address_to_semicolon, decode_address, decode_m_packet)
5015         (decode_M_packet, decode_X_packet, decode_xfer_write)
5016         (decode_search_memory_packet, unhexify, hexify)
5017         (remote_escape_output, unpack_varlen_hex, clear_symbol_cache)
5018         (look_up_one_symbol, relocate_instruction)
5019         (monitor_output): Move to remote-utils.h, and include it.
5020         * remote-utils.h: New file.
5021
5022 2013-09-05  Pedro Alves  <palves@redhat.com>
5023
5024         * server.h (_): Delete.
5025
5026 2013-09-02  Pedro Alves  <palves@redhat.com>
5027
5028         * tracepoint.c (TRACEFRAME_EOB_MARKER_SIZE): New macro.
5029         (init_trace_buffer): Ensure at least TRACEFRAME_EOB_MARKER_SIZE is
5030         allocated.
5031         (trace_buffer_alloc): Use TRACEFRAME_EOB_MARKER_SIZE.
5032
5033 2013-09-02  Pierre Muller  <muller@sourceware.org>
5034
5035         * win32-low.c (child_xfer_memory): Check if ReadProcessMemory
5036         or WriteProcessMemory complete successfully and handle
5037         ERROR_PARTIAL_COPY error.
5038
5039 2013-09-02  Pedro Alves  <palves@redhat.com>
5040
5041         * server.c (gdb_read_memory): Return -1 on traceframe memory read
5042         error instead of EIO.
5043
5044 2013-08-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
5045
5046         PR server/15604
5047         * linux-low.c: Include filestuff.h.
5048         (linux_create_inferior) <pid == 0>: Call close_most_fds.
5049         * lynx-low.c: Include filestuff.h.
5050         (lynx_create_inferior) <pid == 0>: Call close_most_fds.
5051         * server.c: Include filestuff.h.
5052         (main): Call notice_open_fds.
5053         * spu-low.c: Include filestuff.h.
5054         (spu_create_inferior) <pid == 0>: Call close_most_fds.
5055
5056 2013-08-22  Luis Machado  <lgustavo@codesourcery.com>
5057
5058         * Makefile.in: Explain why ../target and ../nat are not
5059         listed as include file search paths.
5060         (linux-waitpid.o): New object file rule.
5061         * configure.srv (srv_native_linux_obj): New variable.
5062         Replace all occurrences of linux native object files with
5063         $srv_native_linux_obj.
5064         * linux-low.c: Include nat/linux-nat.h and nat/linux-waitpid.h.
5065         (HAS_NOMMU): Move defining logic to common/linux-ptrace.c.
5066         (linux_enable_event_reporting): Remove declaration.
5067         (my_waitpid): Moved to common/linux-waitpid.c.
5068         (linux_wait_for_event): Pass ptid when calling
5069         linux_enable_event_reporting.
5070         (linux_supports_tracefork_flag): Remove.
5071         (linux_enable_event_reporting): Likewise.
5072         (linux_tracefork_grandchild): Remove.
5073         (STACK_SIZE): Moved to common/linux-ptrace.c.
5074         (linux_tracefork_child): Remove.
5075         (linux_test_for_tracefork): Remove.
5076         (linux_look_up_symbols): Call linux_supports_traceclone.
5077         (initialize_low): Remove call to linux_test_for_tracefork.
5078         * linux-low.h (PTRACE_TYPE_ARG3): Move to
5079         common/linux-ptrace.h.
5080         (PTRACE_TYPE_ARG4): Likewise.
5081         Include linux-ptrace.h.
5082
5083 2013-08-21  Pedro Alves  <palves@redhat.com>
5084
5085         * config.in: Renegerate.
5086
5087 2013-08-19  Luis Machado  <lgustavo@codesourcery.com>
5088
5089         * Makefile.in (INCLUDE_CFLAGS): Include -I$(srcdir)/../.
5090         (SFILES): Remove $(srcdir)/common/target-common.c and
5091         add $(srcdir)/target/waitstatus.c.
5092         (OBS): Remove target-common.o and add waitstatus.o.
5093         (server_h): Remove $(srcdir)/../common/target-common.h and
5094         add $(srcdir)/../target/resume.h, $(srcdir)/../target/wait.h
5095         and $(srcdir)/../target/waitstatus.h.
5096         (target-common.o): Remove.
5097         (waitstatus.o): New target object file.
5098         * target.h: Do not include target-common.h and
5099         include target/resume.h, target/wait.h and
5100         target/waitstatus.h.
5101
5102 2013-08-13  Luis Machado  <lgustavo@codesourcery.com>
5103
5104         * linux-arm-low.c: Rename all occurrences of PTRACE_ARG3_TYPE
5105         to PTRACE_TYPE_ARG3.
5106         * linux-low.c: Rename all occurrences of PTRACE_ARG3_TYPE
5107         to PTRACE_TYPE_ARG3 and PTRACE_ARG4_TYPE to
5108         PTRACE_TYPE_ARG4.
5109         * linux-low.h (PTRACE_ARG3_TYPE): Rename to PTRACE_TYPE_ARG3.
5110         (PTRACE_ARG4_TYPE): Rename to PTRACE_TYPE_ARG4.
5111
5112 2013-07-27  Jie Zhang  <jie@codesourcery.com>
5113             Daniel Jacobowitz  <dan@codesourcery.com>
5114             Yao Qi  <yao@codesourcery.com>
5115
5116         * Makefile.in (SFILES): Add common/mips-linux-watch.c.
5117         (mips-linux-watch.o): New rule.
5118         (mips_linux_watch_h): New variable.
5119         * configure.srv <mips*-*-linux*>: Add mips-linux-watch.o to
5120         srv_tgtobj.
5121         * linux-mips-low.c: Include mips-linux-watch.h.
5122         (struct arch_process_info, struct arch_lwp_info): New.
5123         (update_watch_registers_callback): New function.
5124         (mips_linux_new_process, mips_linux_new_thread) New functions.
5125         (mips_linux_prepare_to_resume, mips_insert_point): New
5126         functions.
5127         (mips_remove_point, mips_stopped_by_watchpoint): New
5128         functions.
5129         (rsp_bp_type_to_target_hw_bp_type): New function.
5130         (mips_stopped_data_address): New function.
5131         (the_low_target): Add watchpoint support functions.
5132
5133 2013-07-27  Yao Qi  <yao@codesourcery.com>
5134
5135         * i386-low.c: Include break-common.h.
5136         (enum target_hw_bp_type): Remove.
5137
5138 2013-07-24  Luis Machado  <lgustavo@codesourcery.com>
5139
5140         * Makefile.in (SFILES): /common/target-common.c.
5141         (OBS): Add target-common.o.
5142         (server_h): Add $(srcdir)/../common/target-common.h.
5143         (target-common.o): New target.
5144         * server.c (queue_stop_reply_callback): Free
5145         status string after use.
5146         * target.c (target_waitstatus_to_string): Remove.
5147         * target.h: Include target-common.h.
5148         (resume_kind): Likewise.
5149         (target_waitkind): Likewise.
5150         (target_waitstatus): Likewise.
5151         (TARGET_WNOHANG): Likewise.
5152
5153 2013-07-04  Yao Qi  <yao@codesourcery.com>
5154
5155         * Makefile.in (host_alias): Use @host_noncanonical@.
5156         (target_alias): Use @target_noncanonical@.
5157         * configure.ac: Use ACX_NONCANONICAL_TARGET and
5158         ACX_NONCANONICAL_HOST.
5159         * configure: Regenerated.
5160
5161         Revert:
5162         2013-06-28  Mircea Gherzan  <mircea.gherzan@intel.com>
5163
5164         * configure.ac (version_host, version_target): Set and AC_SUBST them.
5165         * configure: Rebuild.
5166         * Makefile.in (version_host, version_target): Get from configure.
5167         (version.c): Use $(version_host) and $(version_target).
5168
5169 2013-07-03  Pedro Alves  <palves@redhat.com>
5170
5171         * Makefile.in (config.status): Depend on development.sh.
5172         * acinclude.m4: Include libmcheck.m4.
5173         * configure: Regenerate.
5174
5175 2013-07-02  Mircea Gherzan  <mircea.gherzan@intel.com>
5176
5177         * win32-low.c (winapi_DebugActiveProcessStop): Move the WINAPI
5178         attribute inside the parentheses.
5179         (winapi_DebugSetProcessKillOnExit): Ditto.
5180         (winapi_DebugBreakProcess): Ditto.
5181         (winapi_GenerateConsoleCtrlEvent): Ditto.
5182
5183 2013-07-02  Mircea Gherzan  <mircea.gherzan@intel.com>
5184
5185         * notif.h (notif_event): Add a dummy member to avoid compiler
5186         errors.
5187
5188 2013-07-01  Pedro Alves  <palves@redhat.com>
5189
5190         * hostio.c (HOSTIO_PATH_MAX): Define.
5191         (require_filename, handle_open, handle_unlink, handle_readlink):
5192         Use it.
5193
5194 2013-07-01  Pedro Alves  <palves@redhat.com>
5195
5196         * server.h: Include "pathmax.h".
5197         * linux-low.c: Don't include sys/param.h.
5198         (linux_pid_exe_is_elf_64_file): Use PATH_MAX instead of
5199         MAXPATHLEN.
5200         * win32-low.c: Don't include sys/param.h.
5201         (win32_create_inferior): Use PATH_MAX instead of MAXPATHLEN.
5202
5203 2013-07-01  Pedro Alves  <palves@redhat.com>
5204
5205         * event-loop.c: Don't check HAVE_UNISTD_H before including
5206         <unistd.h>.
5207         * gdbreplay.c: Likewise.
5208         * remote-utils.c: Likewise.
5209         * server.c: Likewise.
5210         * configure.ac: Don't check for unistd.h.
5211         * configure: Regenerate.
5212
5213 2013-06-28  Tom Tromey  <tromey@redhat.com>
5214
5215         * Makefile.in (version.c): Use version.in, not
5216         common/version.in.
5217
5218 2013-06-28  Mircea Gherzan  <mircea.gherzan@intel.com>
5219
5220         * configure.ac (version_host, version_target): Set and AC_SUBST them.
5221         * configure: Rebuild.
5222         * Makefile.in (version_host, version_target): Get from configure.
5223         (version.c): Use $(version_host) and $(version_target).
5224
5225 2013-06-10  Dmitry Kozlov <ddk@codesourcery.com>
5226
5227         Fix trace-status to output user name without trailing colon.
5228         * tracepoint.c (cmd_qtstatus): Remove unnecessary colon from user name.
5229
5230 2013-06-10  Dmitry Kozlov <ddk@codesourcery.com>
5231
5232         Fix trace-status to output proper start-time and stop-time.
5233         * tracepoint.c (cmd_qtstatus): Modify trace-status output to
5234         output start time and stop time in hex as gdb expects.
5235
5236 2013-06-26  Pedro Alves  <pedro@codesourcery.com>
5237
5238         * tracepoint.c (build_traceframe_info_xml): Output trace state
5239         variables present in the trace buffer.
5240
5241 2013-06-24  Tom Tromey  <tromey@redhat.com>
5242
5243         * Makefile.in (version.c): Use bfd/version.h, common/version.in,
5244         create-version.sh.
5245         (version.o): Remove.
5246         * gdbreplay.c: Include version.h.
5247         (version, host_name): Don't declare.
5248         * server.h: Include version.h.
5249         (version, host_name): Don't declare.
5250
5251 2013-06-12  Pedro Alves  <palves@redhat.com>
5252
5253         * linux-x86-low.c (linux_is_elf64): Delete global.
5254         (x86_siginfo_fixup): Replace reference to `linux_is_elf64' global
5255         with local linux_pid_exe_is_elf_64_file use.
5256
5257 2013-06-11  Pedro Alves  <palves@redhat.com>
5258
5259         * linux-low.c (regset_disabled, disable_regset): New functions.
5260         (regsets_fetch_inferior_registers)
5261         (regsets_store_inferior_registers): Use them.
5262         (initialize_regsets_info); Don't allocate the disabled_regsets
5263         array here.
5264         * linux-low.h (struct regsets_info) <disabled_regsets>: Extend
5265         comment.
5266
5267 2013-06-11  Pedro Alves  <palves@redhat.com>
5268
5269         * linux-low.c (initialize_regsets_info): Use xcalloc instead of
5270         xmalloc.
5271
5272 2013-06-11  Pedro Alves  <palves@redhat.com>
5273
5274         * linux-x86-low.c (initialize_low_arch): Call
5275         init_registers_x32_avx_linux.
5276
5277 2013-06-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
5278
5279         Fix compatibility with Android Bionic.
5280         * linux-low.c (linux_qxfer_libraries_svr4): Ignore first entry even if
5281         it is not empty.
5282
5283 2013-06-07  Pedro Alves  <palves@redhat.com>
5284
5285         PR server/14823
5286         * Makefile.in (OBS): Add tdesc.o.
5287         (IPA_OBJS): Add tdesc-ipa.o.
5288         (tdesc-ipa.o): New rule.
5289         * ax.c (gdb_eval_agent_expr): Adjust register_size call to new
5290         interface.
5291         * linux-low.c (new_inferior): Delete.
5292         (disabled_regsets, num_regsets): Delete.
5293         (linux_add_process): Adjust to set the new per-process
5294         new_inferior flag.
5295         (linux_detach_one_lwp): Adjust to call regcache_invalidate_thread.
5296         (linux_wait_for_lwp): Adjust.  Only call arch_setup if the event
5297         was a stop.  When calling arch_setup, switch the current inferior
5298         to the thread that got an event.
5299         (linux_resume_one_lwp): Adjust to call regcache_invalidate_thread.
5300         (regsets_fetch_inferior_registers)
5301         (regsets_store_inferior_registers): New regsets_info parameter.
5302         Adjust to use it.
5303         (linux_register_in_regsets): New regs_info parameter.  Adjust to
5304         use it.
5305         (register_addr, fetch_register, store_register): New usrregs_info
5306         parameter.  Adjust to use it.
5307         (usr_fetch_inferior_registers, usr_store_inferior_registers): New
5308         parameter regs_info.  Adjust to use it.
5309         (linux_fetch_registers): Get the current inferior's regs_info, and
5310         adjust to use it.
5311         (linux_store_registers): Ditto.
5312         [HAVE_LINUX_REGSETS] (initialize_regsets_info): New.
5313         (initialize_low): Don't initialize the target_regsets here.  Call
5314         initialize_low_arch.
5315         * linux-low.h (target_regsets): Delete declaration.
5316         (struct regsets_info): New.
5317         (struct usrregs_info): New.
5318         (struct regs_info): New.
5319         (struct process_info_private) <new_inferior>: New field.
5320         (struct linux_target_ops): Delete the num_regs, regmap, and
5321         regset_bitmap fields.  New field regs_info.
5322         [HAVE_LINUX_REGSETS] (initialize_regsets_info): Declare.
5323         * i387-fp.c (num_xmm_registers): Delete.
5324         (i387_cache_to_fsave, i387_fsave_to_cache): Adjust find_regno
5325         calls to new interface.
5326         (i387_cache_to_fxsave, i387_cache_to_xsave, i387_fxsave_to_cache)
5327         (i387_xsave_to_cache): Adjust find_regno calls to new interface.
5328         Infer the number of xmm registers from the regcache's target
5329         description.
5330         * i387-fp.h (num_xmm_registers): Delete.
5331         * inferiors.c (add_thread): Don't install the thread's regcache
5332         here.
5333         * proc-service.c (gregset_info): Fetch the current inferior's
5334         regs_info.  Adjust to use it.
5335         * regcache.c: Include tdesc.h.
5336         (register_bytes, reg_defs, num_registers)
5337         (gdbserver_expedite_regs): Delete.
5338         (get_thread_regcache): If the thread doesn't have a regcache yet,
5339         create one, instead of aborting gdbserver.
5340         (regcache_invalidate_one): Rename to ...
5341         (regcache_invalidate_thread): ... this.
5342         (regcache_invalidate_one): New.
5343         (regcache_invalidate): Only invalidate registers of the current
5344         process.
5345         (init_register_cache): Add target_desc parameter, and use it.
5346         (new_register_cache): Ditto.  Assert the target description has a
5347         non zero registers_size.
5348         (regcache_cpy): Add assertions.  Adjust.
5349         (realloc_register_cache, set_register_cache): Delete.
5350         (registers_to_string, registers_from_string): Adjust.
5351         (find_register_by_name, find_regno, find_register_by_number)
5352         (register_cache_size): Add target_desc parameter, and use it.
5353         (free_register_cache_thread, free_register_cache_thread_one)
5354         (regcache_release, register_cache_size): New.
5355         (register_size): Add target_desc parameter, and use it.
5356         (register_data, supply_register, supply_register_zeroed)
5357         (supply_regblock, supply_register_by_name, collect_register)
5358         (collect_register_as_string, collect_register_by_name): Adjust.
5359         * regcache.h (struct target_desc): Forward declare.
5360         (struct regcache) <tdesc>: New field.
5361         (init_register_cache, new_register_cache): Add target_desc
5362         parameter.
5363         (regcache_invalidate_thread): Declare.
5364         (regcache_invalidate_one): Delete declaration.
5365         (regcache_release): Declare.
5366         (find_register_by_number, register_cache_size, register_size)
5367         (find_regno): Add target_desc parameter.
5368         (gdbserver_expedite_regs, gdbserver_xmltarget): Delete
5369         declarations.
5370         * remote-utils.c: Include tdesc.h.
5371         (outreg, prepare_resume_reply): Adjust.
5372         * server.c: Include tdesc.h.
5373         (gdbserver_xmltarget): Delete declaration.
5374         (get_features_xml, process_serial_event): Adjust.
5375         * server.h [IN_PROCESS_AGENT] (struct target_desc): Forward
5376         declare.
5377         (struct process_info) <tdesc>: New field.
5378         (ipa_tdesc): Declare.
5379         * tdesc.c: New file.
5380         * tdesc.h: New file.
5381         * tracepoint.c: Include tdesc.h.
5382         [IN_PROCESS_AGENT] (ipa_tdesc): Define.
5383         (get_context_regcache): Adjust to pass ipa_tdesc down.
5384         (do_action_at_tracepoint): Adjust to get the register cache size
5385         from the context regcache's description.
5386         (traceframe_walk_blocks): Adjust to get the register cache size
5387         from the current trace frame's description.
5388         (traceframe_get_pc): Adjust to get current trace frame's
5389         description and pass it down.
5390         (gdb_collect): Adjust to get the register cache size from the
5391         IPA's description.
5392         * linux-amd64-ipa.c (tdesc_amd64_linux): Declare.
5393         (gdbserver_xmltarget): Delete.
5394         (initialize_low_tracepoint): Set the ipa's target description.
5395         * linux-i386-ipa.c (tdesc_i386_linux): Declare.
5396         (initialize_low_tracepoint): Set the ipa's target description.
5397         * linux-x86-low.c: Include tdesc.h.
5398         [__x86_64__] (is_64bit_tdesc): New.
5399         (ps_get_thread_area, x86_get_thread_area): Use it.
5400         (i386_cannot_store_register): Rename to ...
5401         (x86_cannot_store_register): ... this.  Use is_64bit_tdesc.
5402         (i386_cannot_fetch_register): Rename to ...
5403         (x86_cannot_fetch_register): ... this.  Use is_64bit_tdesc.
5404         (x86_fill_gregset, x86_store_gregset): Adjust register_size calls
5405         to new interface.
5406         (target_regsets): Rename to ...
5407         (x86_regsets): ... this.
5408         (x86_get_pc, x86_set_pc): Adjust register_size calls to new
5409         interface.
5410         (x86_siginfo_fixup): Use is_64bit_tdesc.
5411         [__x86_64__] (tdesc_amd64_linux, tdesc_amd64_avx_linux)
5412         (tdesc_x32_avx_linux, tdesc_x32_linux)
5413         (tdesc_i386_linux, tdesc_i386_mmx_linux, tdesc_i386_avx_linux):
5414         Declare.
5415         (x86_linux_update_xmltarget): Delete.
5416         (I386_LINUX_XSAVE_XCR0_OFFSET): Define.
5417         (have_ptrace_getfpxregs, have_ptrace_getregset): New.
5418         (AMD64_LINUX_USER64_CS): New.
5419         (x86_linux_read_description): New, based on
5420         x86_linux_update_xmltarget.
5421         (same_process_callback): New.
5422         (x86_arch_setup_process_callback): New.
5423         (x86_linux_update_xmltarget): New.
5424         (x86_regsets_info): New.
5425         (amd64_linux_regs_info): New.
5426         (i386_linux_usrregs_info): New.
5427         (i386_linux_regs_info): New.
5428         (x86_linux_regs_info): New.
5429         (x86_arch_setup): Reimplement.
5430         (x86_install_fast_tracepoint_jump_pad): Use is_64bit_tdesc.
5431         (x86_emit_ops): Ditto.
5432         (the_low_target): Adjust.  Install x86_linux_regs_info,
5433         x86_cannot_fetch_register, and x86_cannot_store_register.
5434         (initialize_low_arch): New.
5435         * linux-ia64-low.c (tdesc_ia64): Declare.
5436         (ia64_fetch_register): Adjust.
5437         (ia64_usrregs_info, regs_info): New globals.
5438         (ia64_regs_info): New function.
5439         (the_low_target): Adjust.
5440         (initialize_low_arch): New function.
5441         * linux-sparc-low.c (tdesc_sparc64): Declare.
5442         (sparc_fill_gregset_to_stack, sparc_store_gregset_from_stack):
5443         Adjust.
5444         (sparc_arch_setup): New function.
5445         (sparc_regsets_info, sparc_usrregs_info, regs_info): New globals.
5446         (the_low_target): Adjust.
5447         (initialize_low_arch): New function.
5448         * linux-ppc-low.c (tdesc_powerpc_32l, tdesc_powerpc_altivec32l)
5449         (tdesc_powerpc_cell32l, tdesc_powerpc_vsx32l)
5450         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_altivec32l)
5451         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_e500l)
5452         (tdesc_powerpc_64l, tdesc_powerpc_altivec64l)
5453         (tdesc_powerpc_cell64l, tdesc_powerpc_vsx64l)
5454         (tdesc_powerpc_isa205_64l, tdesc_powerpc_isa205_altivec64l)
5455         (tdesc_powerpc_isa205_vsx64l): Declare.
5456         (ppc_cannot_store_register, ppc_collect_ptrace_register)
5457         (ppc_supply_ptrace_register, parse_spufs_run, ppc_get_pc)
5458         (ppc_set_pc, ppc_get_hwcap): Adjust.
5459         (ppc_usrregs_info): Forward declare.
5460         (!__powerpc64__) ppc_regmap_adjusted: New global.
5461         (ppc_arch_setup): Adjust to the current process'es target
5462         description.
5463         (ppc_fill_vsxregset, ppc_store_vsxregset, ppc_fill_vrregset)
5464         (ppc_store_vrregset, ppc_fill_evrregset, ppc_store_evrregse)
5465         (ppc_store_evrregset): Adjust.
5466         (target_regsets): Rename to ...
5467         (ppc_regsets): ... this, and make static.
5468         (ppc_usrregs_info, ppc_regsets_info, regs_info): New globals.
5469         (ppc_regs_info): New function.
5470         (the_low_target): Adjust.
5471         (initialize_low_arch): New function.
5472         * linux-s390-low.c (tdesc_s390_linux32, tdesc_s390_linux32v1)
5473         (tdesc_s390_linux32v2, tdesc_s390_linux64, tdesc_s390_linux64v1)
5474         (tdesc_s390_linux64v2, tdesc_s390x_linux64, tdesc_s390x_linux64v1)
5475         (tdesc_s390x_linux64v2): Declare.
5476         (s390_collect_ptrace_register, s390_supply_ptrace_register)
5477         (s390_fill_gregset, s390_store_last_break): Adjust.
5478         (target_regsets): Rename to ...
5479         (s390_regsets): ... this, and make static.
5480         (s390_get_pc, s390_set_pc): Adjust.
5481         (s390_get_hwcap): New target_desc parameter, and use it.
5482         [__s390x__] (have_hwcap_s390_high_gprs): New global.
5483         (s390_arch_setup): Adjust to set the current process'es target
5484         description.  Don't adjust the regmap.
5485         (s390_usrregs_info, s390_regsets_info, regs_info): New globals.
5486         [__s390x__] (s390_usrregs_info_3264, s390_regsets_info_3264)
5487         (regs_info_3264): New globals.
5488         (s390_regs_info): New function.
5489         (the_low_target): Adjust.
5490         (initialize_low_arch): New function.
5491         * linux-mips-low.c (tdesc_mips_linux, tdesc_mips_dsp_linux)
5492         (tdesc_mips64_linux, tdesc_mips64_dsp_linux): Declare.
5493         [__mips64] (init_registers_mips_linux)
5494         (init_registers_mips_dsp_linux): Delete defines.
5495         [__mips64] (tdesc_mips_linux, tdesc_mips_dsp_linux): New defines.
5496         (have_dsp): New global.
5497         (mips_read_description): New, based on mips_arch_setup.
5498         (mips_arch_setup): Reimplement.
5499         (get_usrregs_info): New function.
5500         (mips_cannot_fetch_register, mips_cannot_store_register)
5501         (mips_get_pc, mips_set_pc, mips_fill_gregset, mips_store_gregset)
5502         (mips_fill_fpregset, mips_store_fpregset): Adjust.
5503         (target_regsets): Rename to ...
5504         (mips_regsets): ... this, and make static.
5505         (mips_regsets_info, mips_dsp_usrregs_info, mips_usrregs_info)
5506         (dsp_regs_info, regs_info): New globals.
5507         (mips_regs_info): New function.
5508         (the_low_target): Adjust.
5509         (initialize_low_arch): New function.
5510         * linux-arm-low.c (tdesc_arm, tdesc_arm_with_iwmmxt)
5511         (tdesc_arm_with_vfpv2, tdesc_arm_with_vfpv3, tdesc_arm_with_neon):
5512         Declare.
5513         (arm_fill_vfpregset, arm_store_vfpregset): Adjust.
5514         (arm_read_description): New, with bits factored from
5515         arm_arch_setup.
5516         (arm_arch_setup): Reimplement.
5517         (target_regsets): Rename to ...
5518         (arm_regsets): ... this, and make static.
5519         (arm_regsets_info, arm_usrregs_info, regs_info): New globals.
5520         (arm_regs_info): New function.
5521         (the_low_target): Adjust.
5522         (initialize_low_arch): New function.
5523         * linux-m68k-low.c (tdesc_m68k): Declare.
5524         (target_regsets): Rename to ...
5525         (m68k_regsets): ... this, and make static.
5526         (m68k_regsets_info, m68k_usrregs_info, regs_info): New globals.
5527         (m68k_regs_info): New function.
5528         (m68k_arch_setup): New function.
5529         (the_low_target): Adjust.
5530         (initialize_low_arch): New function.
5531         * linux-sh-low.c (tdesc_sharch): Declare.
5532         (target_regsets): Rename to ...
5533         (sh_regsets): ... this, and make static.
5534         (sh_regsets_info, sh_usrregs_info, regs_info): New globals.
5535         (sh_regs_info, sh_arch_setup): New functions.
5536         (the_low_target): Adjust.
5537         (initialize_low_arch): New function.
5538         * linux-bfin-low.c (tdesc_bfin): Declare.
5539         (bfin_arch_setup): New function.
5540         (bfin_usrregs_info, regs_info): New globals.
5541         (bfin_regs_info): New function.
5542         (the_low_target): Adjust.
5543         (initialize_low_arch): New function.
5544         * linux-cris-low.c (tdesc_cris): Declare.
5545         (cris_arch_setup): New function.
5546         (cris_usrregs_info, regs_info): New globals.
5547         (cris_regs_info): New function.
5548         (the_low_target): Adjust.
5549         (initialize_low_arch): New function.
5550         * linux-cris-low.c (tdesc_crisv32): Declare.
5551         (cris_arch_setup): New function.
5552         (cris_regsets_info, cris_usrregs_info, regs_info): New globals.
5553         (cris_regs_info): New function.
5554         (the_low_target): Adjust.
5555         (initialize_low_arch): New function.
5556         * linux-m32r-low.c (tdesc_m32r): Declare.
5557         (m32r_arch_setup): New function.
5558         (m32r_usrregs_info, regs_info): New globals.
5559         (m32r_regs_info): Adjust.
5560         (initialize_low_arch): New function.
5561         * linux-tic6x-low.c (tdesc_tic6x_c64xp_linux)
5562         (tdesc_tic6x_c64x_linux, tdesc_tic6x_c62x_linux): Declare.
5563         (tic6x_usrregs_info): Forward declare.
5564         (tic6x_read_description): New function, based on ...
5565         (tic6x_arch_setup): ... this.  Reimplement.
5566         (target_regsets): Rename to ...
5567         (tic6x_regsets): ... this, and make static.
5568         (tic6x_regsets_info, tic6x_usrregs_info, regs_info): New globals.
5569         (tic6x_regs_info): New function.
5570         (the_low_target): Adjust.
5571         (initialize_low_arch): New function.
5572         * linux-xtensa-low.c (tdesc_xtensa): Declare.
5573         (xtensa_fill_gregset, xtensa_store_gregset): Adjust.
5574         (target_regsets): Rename to ...
5575         (xtensa_regsets): ... this, and make static.
5576         (xtensa_regsets_info, xtensa_usrregs_info, regs_info): New
5577         globals.
5578         (xtensa_arch_setup, xtensa_regs_info): New functions.
5579         (the_low_target): Adjust.
5580         (initialize_low_arch): New function.
5581         * linux-nios2-low.c (tdesc_nios2_linux): Declare.
5582         (nios2_arch_setup): Set the current process'es tdesc.
5583         (target_regsets): Rename to ...
5584         (nios2_regsets): ... this.
5585         (nios2_regsets_info, nios2_usrregs_info, regs_info): New globals.
5586         (nios2_regs_info): New function.
5587         (the_low_target): Adjust.
5588         (initialize_low_arch): New function.
5589         * linux-aarch64-low.c (tdesc_aarch64): Declare.
5590         (aarch64_arch_setup): Set the current process'es tdesc.
5591         (target_regsets): Rename to ...
5592         (aarch64_regsets): ... this.
5593         (aarch64_regsets_info, aarch64_usrregs_info, regs_info): New globals.
5594         (aarch64_regs_info): New function.
5595         (the_low_target): Adjust.
5596         (initialize_low_arch): New function.
5597         * linux-tile-low.c (tdesc_tilegx, tdesc_tilegx32): Declare
5598         globals.
5599         (target_regsets): Rename to ...
5600         (tile_regsets): ... this.
5601         (tile_regsets_info, tile_usrregs_info, regs_info): New globals.
5602         (tile_regs_info): New function.
5603         (tile_arch_setup): Set the current process'es tdesc.
5604         (the_low_target): Adjust.
5605         (initialize_low_arch): New function.
5606         * spu-low.c (tdesc_spu): Declare.
5607         (spu_create_inferior, spu_attach): Set the new process'es tdesc.
5608         * win32-arm-low.c (tdesc_arm): Declare.
5609         (arm_arch_setup): New function.
5610         (the_low_target): Install arm_arch_setup instead of
5611         init_registers_arm.
5612         * win32-i386-low.c (tdesc_i386, tdesc_amd64): Declare.
5613         (init_windows_x86): Rename to ...
5614         (i386_arch_setup): ... this.  Set `win32_tdesc'.
5615         (the_low_target): Adjust.
5616         * win32-low.c (win32_tdesc): New global.
5617         (child_add_thread): Don't create the thread cache here.
5618         (do_initial_child_stuff): Set the new process'es tdesc.
5619         * win32-low.h (struct target_desc): Forward declare.
5620         (win32_tdesc): Declare.
5621         * lynx-i386-low.c (tdesc_i386): Declare global.
5622         (lynx_i386_arch_setup): Set `lynx_tdesc'.
5623         * lynx-low.c (lynx_tdesc): New global.
5624         (lynx_add_process): Set the new process'es tdesc.
5625         * lynx-low.h (struct target_desc): Forward declare.
5626         (lynx_tdesc): Declare global.
5627         * lynx-ppc-low.c (tdesc_powerpc_32): Declare global.
5628         (lynx_ppc_arch_setup): Set `lynx_tdesc'.
5629         * nto-low.c (nto_tdesc): New global.
5630         (do_attach): Set the new process'es tdesc.
5631         * nto-low.h (struct target_desc): Forward declare.
5632         (nto_tdesc): Declare.
5633         * nto-x86-low.c (tdesc_i386): Declare.
5634         (nto_x86_arch_setup): Set `nto_tdesc'.
5635
5636 2013-06-04  Gary Benson  <gbenson@redhat.com>
5637
5638         * server.c (handle_query): Add "augmented-libraries-svr4-read+"
5639         to qSupported response when appropriate.
5640         (handle_qxfer_libraries_svr4): Allow qXfer:libraries-svr4:read
5641         with nonzero-length annex.
5642         * linux-low.c (linux_qxfer_libraries_svr4): Parse and handle
5643         arguments supplied in annex.
5644
5645 2013-05-31  Doug Evans  <dje@google.com>
5646
5647         PR server/15594
5648         * linux-x86-low.c (ps_get_thread_area): Properly extend address to
5649         64 bits in 64-cross-32 environment.
5650
5651 2013-05-28  Pedro Alves  <palves@redhat.com>
5652
5653         * Makefile.in (clean): Remove reference to aarch64-without-fpu.c.
5654         (aarch64-without-fpu.c): Delete rule.
5655         * configure.srv (aarch64*-*-linux*): Remove references to
5656         aarch64-without-fpu.o and aarch64-without-fpu.xml.
5657         * linux-aarch64-low.c (init_registers_aarch64_without_fpu): Remove
5658         declaration.
5659
5660 2013-05-24  Pedro Alves  <palves@redhat.com>
5661
5662         * server.c (handle_v_cont) <vCont;r>: Use unpack_varlen_hex
5663         instead of strchr/decode_address.  Error if the range isn't split
5664         with a ','.  Don't assume there's be a ':' in the action.
5665
5666 2013-05-23  Yao Qi  <yao@codesourcery.com>
5667             Pedro Alves  <palves@redhat.com>
5668
5669         * linux-low.c (lwp_in_step_range): New function.
5670         (linux_wait_1): If the thread was range stepping and stopped
5671         outside the stepping range, report the stop to GDB.  Otherwise,
5672         continue stepping.  Add range stepping debug output.
5673         (linux_set_resume_request): Copy the step range from the resume
5674         request to the lwp.
5675         (linux_supports_range_stepping): New.
5676         (linux_target_ops) <supports_range_stepping>: Set to
5677         linux_supports_range_stepping.
5678         * linux-low.h (struct linux_target_ops)
5679         <supports_range_stepping>: New field.
5680         (struct lwp_info) <step_range_start, step_range_end>: New fields.
5681         * linux-x86-low.c (x86_supports_range_stepping): New.
5682         (the_low_target) <supports_range_stepping>: Set to
5683         x86_supports_range_stepping.
5684         * server.c (handle_v_cont): Handle 'r' action.
5685         (handle_v_requests): Append ";r" if the target supports range
5686         stepping.
5687         * target.h (struct thread_resume) <step_range_start,
5688         step_range_end>: New fields.
5689         (struct target_ops) <supports_range_stepping>:
5690         New field.
5691         (target_supports_range_stepping): New macro.
5692
5693 2013-05-17  Joel Brobecker  <brobecker@adacore.com>
5694
5695         * lynx-low.c (lynx_resume): Fix null_ptid/minus_one_ptid
5696         confusion in comment.
5697
5698 2013-05-17  Joel Brobecker  <brobecker@adacore.com>
5699
5700         * lynx-low.c (struct process_info_private): New type.
5701         (lynx_add_process): New function.
5702         (lynx_create_inferior, lynx_attach): Replace calls to
5703         add_process by calls to lynx_add_process.
5704         (lynx_resume): If PTID is null, then try using
5705         current_process()->private->last_wait_event_ptid.
5706         Add comments.
5707         (lynx_clear_inferiors): Delete.  The contents of that function
5708         has been inlined in lynx_mourn;
5709         (lynx_wait_1): Save the ptid in the process's private data.
5710         (lynx_mourn): Free the process' private data.  Replace call
5711         to lynx_clear_inferiors by call to clear_inferiors.
5712
5713 2013-05-17  Yao Qi  <yao@codesourcery.com>
5714
5715         * i386-low.c (i386_length_and_rw_bits): Move the comment to
5716         the right place.
5717
5718 2013-05-16  Luis Machado  <lgustavo@codesourcery.com>
5719
5720         * linux-low.c: Move definition checks upwards for PT_TEXT_ADDR,
5721         PT_DATA_ADDR and PT_TEXT_END_ADDR.  Update comments.
5722         (linux_read_offsets): Remove PT_TEXT_ADDR, PT_DATA_ADDR and
5723         PT_TEXT_END_ADDR guards.  Update comments.
5724         (linux_target_op) <read_offsets>: Conditionally define to
5725         linux_read_offsets if the target is UCLIBC and if it defines
5726         PT_TEXT_ADDR, PT_DATA_ADDR and PT_TEXT_END_ADDR.
5727
5728 2013-05-06  Sandra Loosemore  <sandra@codesourcery.com>
5729             Andrew Jenner  <andrew@codesourcery.com>
5730
5731         * Makefile.in (SFILES): Add linux-nios2-low.c.
5732         (clean): Add action to delete nios2-linux.c.
5733         (nios2-linux.c): New rule.
5734         * configure.srv: Add nios2*-*-linux*.
5735         * linux-nios2-low.c: New.
5736
5737 2013-05-03  Hafiz Abid Qadeer  <abidh@codesourcery.com>
5738
5739         * tracepoint.c (cmd_qtinit): Call 'stop_tracing'.
5740
5741 2013-04-25  Hui Zhu  <hui@codesourcery.com>
5742
5743         PR gdb/15186
5744         * ax.c (ax_printf): Add fflush.
5745
5746 2013-04-22  Tom Tromey  <tromey@redhat.com>
5747
5748         * Makefile.in (SFILES): Add filestuff.c.
5749         (OBS): Add filestuff.o.
5750         (filestuff.o): New target.
5751         * config.in, configure: Rebuild.
5752         * configure.ac: Check for fdwalk, pipe2.
5753
5754 2013-04-17  Pedro Alves  <palves@redhat.com>
5755
5756         * configure.ac (USE_THREAD_DB): Delete variable.
5757         (if test "$srv_linux_thread_db" = "yes"): AC_DEFINE USE_THREAD_DB.
5758         Don't AC_SUBST USE_THREAD_DB.
5759         * Makefile.in (INTERNAL_CFLAGS): Remove @USE_THREAD_DB@.
5760         * config.in, configure: Regenerate.
5761
5762 2013-04-16  Pedro Alves  <palves@redhat.com>
5763
5764         * linux-low.h (struct lwp_info) <thread_known>: Move under
5765         the USE_THREAD_DB #ifdef.
5766
5767 2013-04-16  Pedro Alves  <palves@redhat.com>
5768
5769         * Makefile.in (INTERNAL_CFLAGS): Add @USE_THREAD_DB@.
5770         (linux-low.o): Delete rule.
5771         * linux-low.h: Always include "gdb_thread_db.h" instead of
5772         conditionally including thread_db.h.
5773         (struct lwp_info) <th>: Guard with #ifdef USE_THREAD_DB instead of
5774         HAVE_THREAD_DB_H.
5775
5776 2013-04-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
5777
5778         * Makefile.in (install-only): Fix make install regression.
5779
5780 2013-04-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
5781
5782         Convert man pages to texinfo, new gdbinit.5 texinfo page.
5783         * Makefile.in (install-only): Remove $(man1dir) and gdbserver.1
5784         installation.
5785         * gdbserver.1: Remove.
5786
5787 2013-03-22  Pedro Alves  <palves@redhat.com>
5788
5789         * linux-low.c (handle_extended_wait): Don't call
5790         linux_enable_event_reporting.
5791
5792 2013-03-15  Tony Theodore  <tonyt@logyst.com>
5793
5794         PR build/9098:
5795         * Makefile.in (SHELL): Use @SHELL@.
5796
5797 2013-03-14  Sergio Durigan Junior  <sergiodj@redhat.com>
5798
5799         * tracepoint.c (cmd_qtv): Initialize `val' with zero, silencing
5800         compiler warning.
5801
5802 2013-03-13  Joel Brobecker  <brobecker@adacore.com>
5803
5804         * linux-low.c (linux_target_ops) [!HAVE_LINUX_BTRACE]:
5805         Remove extraneous NULL element.
5806
5807 2013-03-13  Yao Qi  <yao@codesourcery.com>
5808
5809         * tracepoint.c (traceframe_read_tsv): Look for the last matched
5810         'V' block in trace frame.
5811
5812 2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
5813
5814         * target.h (struct target_ops): Add btrace ops.
5815         (target_supports_btrace): New macro.
5816         (target_enable_btrace): New macro.
5817         (target_disable_btrace): New macro.
5818         (target_read_btrace): New macro.
5819         * gdbthread.h (struct thread_info): Add btrace field.
5820         * server.c: Include btrace-common.h.
5821         (handle_btrace_general_set): New function.
5822         (handle_btrace_enable): New function.
5823         (handle_btrace_disable): New function.
5824         (handle_general_set): Call handle_btrace_general_set.
5825         (handle_qxfer_btrace): New function.
5826         (struct qxfer qxfer_packets[]): Add btrace entry.
5827         * inferiors.c (remove_thread): Disable btrace.
5828         * linux-low: Include linux-btrace.h.
5829         (linux_low_enable_btrace): New function.
5830         (linux_low_read_btrace): New function.
5831         (linux_target_ops): Add btrace ops.
5832         * configure.srv (i[34567]86-*-linux*): Add linux-btrace.o.
5833         Add srv_linux_btrace=yes.
5834         (x86_64-*-linux*): Add linux-btrace.o.
5835         Add srv_linux_btrace=yes.
5836         * configure.ac: Define HAVE_LINUX_BTRACE.
5837         * config.in: Regenerated.
5838         * configure: Regenerated.
5839
5840 2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
5841
5842         * server.c (handle_qxfer): Preserve error message if -3 is
5843         returned.
5844         (qxfer): Document the -3 return value.
5845
5846 2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
5847
5848         * Makefile.in (SFILES): Add $(srcdir)/common/linux-btrace.c.
5849         (linux_btrace_h): New variable.
5850         (linux-btrace.o): New rule.
5851
5852 2013-03-08  Stan Shebs  <stan@codesourcery.com>
5853             Hafiz Abid Qadeer  <abidh@codesourcery.com>
5854
5855         * tracepoint.c (trace_buffer_size): New global.
5856         (DEFAULT_TRACE_BUFFER_SIZE): New define.
5857         (init_trace_buffer): Change to one-argument function. Allocate
5858         trace buffer memory.
5859         (handle_tracepoint_general_set): Call cmd_bigqtbuffer_size to
5860         handle QTBuffer:size packet.
5861         (cmd_bigqtbuffer_size): New function.
5862         (initialize_tracepoint): Call init_trace_buffer with
5863         DEFAULT_TRACE_BUFFER_SIZE.
5864         * server.c (handle_query): Add QTBuffer:size in the
5865         supported packets.
5866
5867 2013-03-07  Yao Qi  <yao@codesourcery.com>
5868
5869         * tracepoint.c (cur_action, cur_step_action): Make them unsigned.
5870         (cmd_qtfp): Initialize cur_action and cur_step_action 0 instead
5871         of -1.
5872         (cmd_qtsp): Adjust condition.  Do post increment.
5873         Set cur_action and cur_step_action back to 0.
5874
5875 2013-03-07  Jeremy Bennett  <jeremy.bennett@embecosm.com>
5876
5877         PR server/15236
5878         * linux-low.c (linux_write_memory): Return early success if LEN is
5879         zero.
5880
5881 2013-03-05  Corinna Vinschen  <vinschen@redhat.de>
5882
5883         * configure.srv: Add x86_64-*-cygwin* as target.
5884
5885 2013-02-28  Tom Tromey  <tromey@redhat.com>
5886
5887         * configure.ac: Invoke AC_SYS_LARGEFILE.
5888         * configure, config.in: Rebuild.
5889
5890 2013-02-28  Corinna Vinschen  <vinschen@redhat.com>
5891
5892         * win32-low.c: Throughout, fix format strings and casts of
5893         printf-like functions to avoid type related warnings on all
5894         platforms.
5895         (get_child_debug_event): Print dwDebugEventCode as hex since
5896         that's how it's usually documented.
5897
5898 2013-02-28  Yao Qi  <yao@codesourcery.com>
5899
5900         * tracepoint.c (cmd_qtbuffer): Call phex_nz instead of
5901         pulongest.
5902
5903 2013-02-27  Jiong Wang  <jiwang@tilera.com>
5904
5905         * Makefile.in (clean): Remove reg-tilegx.c, reg-tilegx32.c.
5906         (reg-tilegx32.c): New rule.
5907         * configure.srv (tilegx-*-linux*): Add reg-tilegx32.o to srv_regobj.
5908         * linux-tile-low.c (tile_arch_setup): New function.  Invoke
5909         different register info initializer according to elf class.
5910         (init_registers_tilgx32): New function.  The tilegx32 register info
5911         initializer.
5912         (tile_fill_gregset): Use "uint_reg_t" to represent register size.
5913         (tile_store_gregset): Likewise.
5914
5915 2013-02-27  Yao Qi  <yao@codesourcery.com>
5916
5917         * server.c (process_point_options): Print debug message when
5918         debug_threads is true.
5919
5920 2013-02-26  Yao Qi  <yao@codesourcery.com>
5921
5922         * tracepoint.c (cmd_qtbuffer): Don't set '\0' in OWN_BUF.
5923
5924 2013-02-19  Pedro Alves  <palves@redhat.com>
5925             Kai Tietz <ktietz@redhat.com>
5926
5927         PR gdb/15161
5928
5929         * server.c (handle_query) <CRC check>: Use unpack_varlen_hex
5930         instead of strtoul to extract address from packet.
5931         (process_serial_event) <'z'>: Likewise.
5932
5933 2013-02-18  Yao Qi  <yao@codesourcery.com>
5934
5935         * linux-bfin-low.c (the_low_target): Use NULL instead of 0.
5936
5937 2013-02-14  Pedro Alves  <palves@redhat.com>
5938
5939         Plug memory leak.
5940
5941         * tracepoint.c (cmd_qtnotes): Free TRACING_USER_NAME,
5942         TRACING_NOTES and TRACING_STOP_NOTE before clobbering.
5943
5944 2013-02-14  Pedro Alves  <palves@redhat.com>
5945
5946         * tracepoint.c (cmd_qtdpsrc): Use savestring.
5947
5948 2013-02-14  Pedro Alves  <palves@redhat.com>
5949
5950         * tracepoint.c (save_string): Delete.
5951         (add_tracepoint_action): Use savestring instead of save_string.
5952
5953 2013-02-12  Pedro Alves  <palves@redhat.com>
5954
5955         * linux-xtensa-low.c: Ditto.
5956         * xtensa-xtregs.c: Ditto.
5957
5958 2013-02-12  Sanimir Agovic  <sanimir.agovic@intel.com>
5959
5960         * thread-db.c (thread_db_get_tls_address): NULL pointer check
5961         thread_db.
5962
5963 2013-02-07  Marcus Shawcroft  <marcus.shawcroft@arm.com>
5964
5965         * linux-aarch64-low.c (aarch64_arch_setup): Clamp
5966         aarch64_num_wp_regs and aarch64_num_bp_regs to
5967         AARCH64_HWP_MAX_NUM and AARCH64_HBP_MAX_NUM respectively.
5968
5969 2013-02-07  Marcus Shawcroft  <marcus.shawcroft@arm.com>
5970
5971         * linux-aarch64-low.c (ps_get_thread_area): Replace
5972         PTRACE_GET_THREAD_AREA with PTRACE_GETREGSET.
5973
5974 2013-02-04  Jim MacArthur  <jim.macarthur@arm.com>
5975             Marcus Shawcroft  <marcus.shawcroft@arm.com>
5976             Nigel Stephens  <nigel.stephens@arm.com>
5977             Yufeng Zhang  <yufeng.zhang@arm.com>
5978
5979         * Makefile.in (clean): Remove aarch64.c and aarch64-without-fpu.c.
5980         (aarch64.c, aarch64-without-fpu.c): New targets.
5981         * configure.srv (aarch64*-*-linux*): New.
5982         * linux-aarch64-low.c: New file.
5983
5984 2013-02-04  Marcus Shawcroft  <marcus.shawcroft@arm.com>
5985
5986         * linux-low.c (handle_extended_wait, linux_create_inferior)
5987         (linux_attach_lwp_1, linux_kill_one_lwp, linux_attach_one_lwp)
5988         (dequeue_one_deferred_signal, linux_resume_one_thread)
5989         (fetch_register, linux_write_memory, linux_enable_event_reporting)
5990         (linux_tracefork_grandchild, linux_test_for_tracefork)
5991         (linux_read_offsets, linux_xfer_siginfo, linux_xfer_siginfo): Add
5992         PTRACE_ARG3_TYPE and PTRACE_ARG4_TYPE cast to ptrace arguments
5993         where the argument is 0.
5994
5995 2013-01-25  Yao Qi  <yao@codesourcery.com>
5996
5997         * event-loop.c: Include "queue.h".
5998         (gdb_event_p): New typedef.
5999         (struct gdb_event) <next_event>: Remove.
6000         (event_queue): Change to QUEUE(gdb_event_p).
6001         (async_queue_event): Remove.
6002         (gdb_event_xfree): New.
6003         (initialize_event_loop): New.
6004         (process_event): Use API from QUEUE.
6005         (wait_for_event): Likewise.
6006         * server.c (main): Call initialize_event_loop.
6007         * server.h (initialize_event_loop): Declare.
6008
6009 2013-01-18  Yao Qi  <yao@codesourcery.com>
6010
6011         * ax.h (struct eval_agent_expr_context): New.
6012         (gdb_eval_agent_expr): Update declaration.
6013         * ax.c (gdb_eval_agent_expr): Remove argument REGCACHE and
6014         TFRAME.  Add new argument CTX.
6015         * server.h (struct eval_agent_expr_context): Declare.
6016         (agent_mem_read, agent_tsv_read): Update declaration.
6017         (agent_mem_read_string): Likewise.
6018         * tracepoint.c (eval_tracepoint_agent_expr): Remove.
6019         (add_traceframe_block): Add new argument TPOINT.
6020         Increase TPOINT->traceframe_usage.
6021         (do_action_at_tracepoint): Call gdb_eval_agent_expr instead of
6022         eval_tracepoint_agent_expr.
6023         (condition_true_at_tracepoint): Likewise.
6024         (agent_mem_read): Remove argument TFRAME.  Add argument CTX.
6025         (agent_mem_read_string, agent_tsv_read): Likewise.
6026
6027 2013-01-16  Yao Qi  <yao@codesourcery.com>
6028
6029         * linux-low.c (linux_resume_one_lwp): Don't check
6030         'lwp->bp_reinsert != 0'.
6031
6032 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6033             Pedro Alves  <palves@redhat.com>
6034
6035         * lynx-low.c (ptrace_request_to_str): Define a temporary
6036         macro and use it to simplify this function's implementation.
6037
6038 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6039
6040         * lynx-low.c (lynx_resume): Call perror_with_name if lynx_ptrace
6041         sets errno.
6042
6043 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6044
6045         * configure.srv (i[34567]86-*-lynxos*): Set srv_xmlfiles.
6046
6047 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6048
6049         * configure.srv (powerpc-*-lynxos*): Set srv_xmlfiles.
6050
6051 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6052
6053         * lynx-low.c (lynx_resume): Use the resume_info parameter
6054         to determine the ptid for the lynx_ptrace call, unless
6055         it is equal to minus_one_ptid, in which case we use the
6056         ptid of the current_inferior.
6057         (lynx_wait_1): After having received a thread create/exit
6058         event, resume the inferior's execution using the signaling
6059         thread's ptid, rather than the old ptid.
6060
6061 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6062
6063         * lynx-low.c (lynx_resume): Delete variable ret.
6064
6065 2013-01-01  Joel Brobecker  <brobecker@adacore.com>
6066
6067         * gdbreplay.c (gdbreplay_version): Update copyright year.
6068         * server.c (gdbserver_version): Likewise.
6069
6070 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6071
6072         * lynx-low.c (lynx_wait_1): Add debug trace before adding
6073         new thread.
6074
6075 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6076
6077         * lynx-low.c (ptrace_request_to_str): Add handling for
6078         PTRACE_GETTRACESIG.
6079
6080 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6081
6082         * lynx-low.c (lynx_attach): Delete variable new_process.
6083
6084 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6085
6086         * lynx-low.c (lynx_create_inferior): Delete variable
6087         new_process.
6088
6089 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6090
6091         * lynx-low.c (ptrace_request_to_str): Do not handle
6092         PTRACE_GETTHREADLIST if this macro does not exist.
6093
6094 2012-12-15  Yao Qi  <yao@codesourcery.com>
6095
6096         * Makefile.in (OBS): Add notif.o.
6097         * notif.c, notif.h: New.
6098         * server.c: Include "notif.h".
6099         (struct vstop_notif) <next>: Remove.
6100         <base>: New field.
6101         (queue_stop_reply): Update.
6102         (push_event, send_next_stop_reply): Remove.
6103         (discard_queued_stop_replies): Update.
6104         (notif_stop): New variable.
6105         (handle_v_stopped): Remove.
6106         (handle_v_requests): Don't call handle_v_stopped.  Call
6107         handle_ack_notif instead.
6108         (queue_stop_reply_callback): Call notif_event_enque instead
6109         of queue_stop_reply.
6110         (handle_status): Don't call send_next_stop_reply, call
6111         notif_write_event instead.
6112         (kill_inferior_callback): Likewise.
6113         (detach_or_kill_inferior_callback): Likewise.
6114         (main): Call initialize_notif.
6115         (process_serial_event): Call QUEUE_is_empty.
6116         (handle_target_event): Call notif_push instead of push event.
6117         * server.h (push_event): Remove declaration.
6118
6119 2012-12-10  Tom Tromey  <tromey@redhat.com>
6120
6121         * Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.pre)
6122         (COMPILE.post, COMPILE, POSTCOMPILE, IPAGENT_COMPILE): New
6123         macros.
6124         (.c.o): Rewrite.
6125         (ax-ipa.o, tracepoint-ipa.o, utils-ipa.o, format-ipa.o)
6126         (common-utils-ipa.o, remote-utils-ipa.o, regcache-ipa.o)
6127         (i386-linux-ipa.o, linux-i386-ipa.o, linux-amd64-ipa.o)
6128         (amd64-linux-ipa.o, ax.o): Rewrite.
6129         (event-loop.o, hostio.o, hostio-errno.o, inferiors.o, mem-break.o)
6130         (proc-service.o, regcache.o, remote-utils.o, server.o, target.o)
6131         (thread-db.o, tracepoint.o, utils.o, gdbreplay.o, dll.o): Remove.
6132         (signals.o, linux-procfs.o, linux-ptrace.o, common-utils.o, vec.o)
6133         (gdb_vecs.o, xml-utils.o, linux-osdata.o, ptid.o, buffer.o)
6134         (format.o, agent.o, vasprintf.o, vsnprintf.o): Rewrite.
6135         (i386-low.o, i387-fp.o, linux-low.o, linux-arm-low.o)
6136         (linux-bfin-low.o, linux-cris-low.o, linux-crisv32-low.o)
6137         (linux-ia64-low.o, linux-m32r-low.o, linux-mips-low.o)
6138         (linux-ppc-low.o, linux-s390-low.o, linux-sh-low.o)
6139         (linux-tic6x-low.o, linux-x86-low.o, linux-xtensa-low.o)
6140         (linux-tile-low.o, lynx-low.o, lynx-ppc-low.o, nto-low.o)
6141         (nto-x86-low.o, linux-low.o, win32-low.o, win32-arm-low.o)
6142         (win32-i386-low.o, spu-low.o, reg-arm.o, arm-with-iwmmxt.o)
6143         (arm-with-vfpv2.o, arm-with-vfpv3.o, arm-with-neon.o, reg-bfin.o)
6144         (reg-cris.o, reg-crisv32.o, i386.o, i386-linux.o, i386-avx.o)
6145         (i386-avx-linux.o, i386-mmx.o, i386-mmx-linux.o, reg-ia64.o)
6146         (reg-m32r.o, reg-m68k.o, reg-cf.o, mips-linux.o, mips-dsp-linux.o)
6147         (mips64-linux.o, mips64-dsp-linux.o, powerpc-32.o, powerpc-32l.o)
6148         (powerpc-altivec32l.o, powerpc-cell32l.o, powerpc-vsx32l.o)
6149         (powerpc-isa205-32l.o, powerpc-isa205-altivec32l.o)
6150         (powerpc-isa205-vsx32l.o, powerpc-e500l.o, powerpc-64l.o)
6151         (powerpc-altivec64l.o, powerpc-cell64l.o, powerpc-vsx64l.o)
6152         (powerpc-isa205-64l.o, powerpc-isa205-altivec64l.o)
6153         (powerpc-isa205-vsx64l.o, s390-linux32.o, s390-linux32v1.o)
6154         (s390-linux32v2.o, s390-linux64.o, s390-linux64v1.o)
6155         (s390-linux64v2.o, s390x-linux64.o, s390x-linux64v1.o)
6156         (s390x-linux64v2.o, tic6x-c64xp-linux.o, tic6x-c64x-linux.o)
6157         (tic6x-c62x-linux.o, reg-sh.o, reg-sparc64.o, reg-spu.o, amd64.o)
6158         (amd64-linux.o, amd64-avx.o, amd64-avx-linux.o, x32.o)
6159         (x32-linux.o, x32-avx.o, x32-avx-linux.o, reg-xtensa.o)
6160         (reg-tilegx.o): Remove.
6161         (all_object_files): New macro.
6162         Include .deps files.
6163         * aclocal.m4, configure: Rebuild.
6164         * acinclude.m4: Include depstand.m4, lead-dot.m4.
6165         * configure.ac: Invoke ZW_CREATE_DEPDIR,
6166         ZW_PROG_COMPILER_DEPENDENCIES.  Compute GMAKE condition.
6167
6168 2012-12-05  Tom Tromey  <tromey@redhat.com>
6169
6170         PR gdb/14917:
6171         * server.h (current_insn_ptr, emit_error): Declare 'extern'.
6172
6173 2012-11-28  Markus Metzger  <markus.t.metzger@intel.com>
6174
6175         * configure.ac: Check for linux/perf_event.h.
6176         * config.in: Regenerated.
6177         * configure: Regenerated.
6178
6179 2012-11-26  Maxime Villard  <rustyBSD@gmx.fr>
6180
6181         * hostio.c (handle_readlink): Decrease buffer size
6182         parameter passed to readlink by one byte.
6183
6184 2012-11-26  Yao Qi  <yao@codesourcery.com>
6185
6186         * configure.ac (build_warnings): Append '-Wempty-body'.
6187         * configure: Regenerated.
6188         * linux-low.c (linux_create_inferior): Use braces for empty 'if'
6189         body.
6190
6191 2012-11-15  Pierre Muller  <muller@sourceware.org>
6192
6193         * configure.ac (AC_CHECK_HEADERS): Add wait.h header.
6194         * config.in: Regenerate.
6195         * configure: Regenerate.
6196         * linux-low.c: Use "gdb_stat.h" header instead of <sys/stat.h> header.
6197         Use "gdb_wait.h" header instead of <sys/wait.h> header.
6198         * lynx-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
6199         * remote-utils.c: Use "gdb_stat.h" header instead of <sys/stat.h>
6200         header.
6201         * server.c: Remove HAVE_WAIT_H conditional.  Use "gdb_wait.h" header
6202         instead of <sys/wait.h> header.
6203         * spu-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
6204
6205 2012-11-13 Markus Metzger  <markus.t.metzger@intel.com>
6206
6207         * Makefile.in: (INTERNAL_CFLAGS): Add -DGDBSERVER
6208         (various make rules): Remove -DGDBSERVER
6209
6210 2012-11-09  Yao Qi  <yao@codesourcery.com>
6211
6212         * spu-low.c (current_ptid): Move it to ..
6213         * gdbthread.h: ... here.  New.
6214         * remote-utils.c (read_ptid): Use macro 'current_ptid'.
6215         * server.c (myresume, process_serial_event): Likewise.
6216         * thread-db.c (thread_db_find_new_threads): Likewise.
6217         * tracepoint.c (run_inferior_command): Likewise.
6218
6219 2012-10-01  Andrew Burgess  <aburgess@broadcom.com>
6220
6221         * server.c (handle_search_memory_1): Include access length in
6222         warning message.
6223
6224 2012-09-05  Michael Brandt  <michael.brandt@axis.com>
6225
6226         * linux-crisv32-low.c: Fix compile errors.
6227
6228 2012-09-04  Yao Qi  <yao@codesourcery.com>
6229
6230         * tracepoint.c (cmd_qtsv): Adjust debug message.
6231         Don't check CUR_TPOINT.
6232
6233 2012-08-28  Yao Qi  <yao@codesourcery.com>
6234
6235         * ax.c, tracepoint.c: Replace ATTR_FORMAT with ATTRIBUTE_PRINTF.
6236         * server.h: Include 'libiberty.h' and 'ansidecl.h'.
6237         (ATTR_NORETURN, ATTR_FORMAT, ATTR_MALLOC): Remove.
6238         Remove declarations of xmalloc, xreallloc, xstrdup and
6239         freeargv.
6240         * Makefile.in (libiberty_h): New.
6241         (server_h): Append dependencies 'libiberty.h' and 'ansidecl.h'.
6242         (linux-bfin-low.o): Append dependency 'libiberty.h'.
6243
6244 2012-08-23  Yao Qi  <yao@codesourcery.com>
6245
6246         * server.h: Remove declaration of 'xsnprintf'.
6247
6248 2012-08-22  Keith Seitz  <keiths@redhat.com>
6249
6250         * server.h: Include build-gnulib-gbserver/config.h.
6251         * gdbreplay.c: Likewise.
6252
6253 2012-08-08  Doug Evans  <dje@google.com>
6254
6255         * Makefile.in (SFILES): Add gdb_vecs.c.
6256         (OBS): Add gdb_vecs.o.
6257         (gdb_vecs_h, host_defs_h): New variables.
6258         (thread-db.o): Add $(gdb_vecs_h) dependency.
6259         (gdb_vecs.o): New rule.
6260         * thread-db.c: #include "gdb_vecs.h".
6261         (thread_db_load_search): Use a vector to iterate over path elements.
6262         Handle text appearing after "$pdir".
6263
6264         * configure.ac: Add check for strstr.
6265         * config.in: Regenerate.
6266         * configure: Regenerate.
6267
6268 2012-08-02  Ulrich Weigand  <ulrich.weigand@linaro.org>
6269
6270         * hostio.c (handle_pread): If pread fails, fall back to attempting
6271         lseek/read.
6272         (handle_pwrite): Likewise for pwrite.
6273
6274 2012-08-01  Ulrich Weigand  <ulrich.weigand@linaro.org>
6275
6276         * linux-arm-low.c (arm_linux_hw_point_initialize): Distinguish
6277         between unsupported TYPE and unimplementable ADDR/LEN combination.
6278         (arm_insert_point): Act on new return value.
6279
6280 2012-07-31  Pedro Alves  <palves@redhat.com>
6281
6282         * server.c (process_point_options): Only skip tokens if we find
6283         one that is unrecognized.  Don't treat 'X' specially while
6284         skipping unrecognized tokens.
6285
6286 2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
6287
6288         * linux-arm-low.c (arm_linux_hw_point_initialize): Do not attempt
6289         to 4-byte-align HW breakpoint addresses for Thumb.
6290
6291 2012-07-27  Yao Qi  <yao@codesourcery.com>
6292
6293         PR remote/14161.
6294
6295         * server.h: Declare gdb_agent_about_to_close.
6296         * target.c (kill_inferior): Include "agent.h".
6297         New.  Send command 'kill'.
6298         * target.h (kill_inferior): Removed macro.
6299         * tracepoint.c (gdb_agent_about_to_close): New.
6300         (gdb_agent_helper_thread): Handle command 'close'.
6301         Wait endlessly until the inferior stops.
6302         Install gdb_agent_remove_socket to atexit hook.
6303         (agent_socket_name): New static variable.
6304         (gdb_agent_socket_init): Replace local variable 'name' with
6305         'agent_socket_name'.
6306         (gdb_agent_remove_socket): New.
6307
6308 2012-07-27  Yao Qi  <yao@codesourcery.com>
6309
6310         * server.c (process_point_options): Stop at 'X' when parsing.
6311
6312 2012-07-19  Michael Eager  <eager@eagercon.com>
6313
6314         * i386-low.c (Z_packet_to_hw_type): Add Z_PACKET_HW_BP, translate
6315         to hw_execute.
6316         * linux-x86-low.c (x86_insert_point, x86_remove_point):
6317         Call i386_low_insert_watchpoint, i386_low_remove_watchpoint to add/del
6318         hardware breakpoint.
6319
6320 2012-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
6321
6322         * gdbserver/linux-low.c (initialize_low): Call
6323         linux_ptrace_init_warnings.
6324
6325 2012-07-02  Doug Evans  <dje@google.com>
6326
6327         * mem-break.c (gdb_no_commands_at_breakpoint): Fix cast from
6328         pointer to int.
6329
6330 2012-07-02  Stan Shebs  <stan@codesourcery.com>
6331
6332         * Makefile.in (WARN_CFLAGS_NO_FORMAT): Define.
6333         (ax.o): Add it to build rule.
6334         (ax-ipa.o): Ditto.
6335         (OBS): Add format.o.
6336         (IPA_OBS): Add format.o.
6337         * server.c (handle_query): Claim support for breakpoint commands.
6338         (process_point_options): Add command case.
6339         (process_serial_event): Leave running if there are printfs in
6340         effect.
6341         * mem-break.h (any_persistent_commands): Declare.
6342         (add_breakpoint_commands): Declare.
6343         (gdb_no_commands_at_breakpoint): Declare.
6344         (run_breakpoint_commands): Declare.
6345         * mem-break.c (struct point_command_list): New struct.
6346         (struct breakpoint): New field command_list.
6347         (any_persistent_commands): New function.
6348         (add_commands_to_breakpoint): New function.
6349         (add_breakpoint_commands): New function.
6350         (gdb_no_commands_at_breakpoint): New function.
6351         (run_breakpoint_commands): New function.
6352         * linux-low.c (linux_wait_1): Test for and run breakpoint commands
6353         locally.
6354         * ax.c: Include format.h.
6355         (ax_printf): New function.
6356         (gdb_eval_agent_expr): Add printf opcode.
6357
6358 2012-06-13  Yao Qi  <yao@codesourcery.com>
6359
6360         * server.c (start_inferior): Remove duplicated writes to fields
6361         'last_resume_kind' and 'last_status' of 'current_inferior'.
6362
6363 2012-06-12  Yao Qi  <yao@codesourcery.com>
6364             Pedro Alves  <palves@redhat.com>
6365
6366         * linux-low.c (linux_set_resume_request): Simplify predicate.  Add
6367         comment.
6368         * server.c (handle_v_cont): Extend comment.
6369
6370 2012-06-11  Yao Qi  <yao@codesourcery.com>
6371
6372         * linux-low.c (linux_attach): Add 'static'.
6373
6374 2012-06-06  Yao Qi  <yao@codesourcery.com>
6375
6376         * ax.c (gdb_eval_agent_expr): Print `top' in hex.
6377
6378 2012-06-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
6379
6380         Fix gcc -flto compilation warning.
6381         * server.c (main): Make variable multi_mode and attach volatile.
6382
6383 2012-05-30  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
6384
6385         * linux-low.c (get_r_debug): Disable code using DT_MIPS_RLD_MAP
6386         if the platform doesn't know about it.
6387
6388 2012-05-30  Jeff Kenton  <jkenton@tilera.com>
6389
6390         * Makefile.in (SFILES): Add linux-tile-low.c.
6391         (linux-tile-low.o, reg-tilegx.o, reg-tilegx.c): New rules.
6392         * configure.srv: Handle tilegx-*-linux*.
6393         * linux-tile-low.c: New file.
6394
6395 2012-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
6396
6397         * linux-low.c (linux_qxfer_libraries_svr4): Return -1 if R_DEBUG is -1.
6398
6399 2012-05-24  Pedro Alves  <palves@redhat.com>
6400
6401         PR gdb/7205
6402
6403         Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
6404
6405 2012-05-24  Pedro Alves  <palves@redhat.com>
6406
6407         PR gdb/7205
6408
6409         Replace target_signal with gdb_signal throughout.
6410
6411 2012-05-22  Maciej W. Rozycki  <macro@codesourcery.com>
6412
6413         * linux-low.c (linux_store_registers): Avoid the copying sequence
6414         when no data has been retrieved by ptrace.
6415
6416 2012-05-22  Will Deacon  <will.deacon@arm.com>
6417
6418         * linux-low (__UCLIBC__ && !(__UCLIBC_HAS_MMU__ || __ARCH_HAS_MMU__)):
6419         Include asm/ptrace.h.
6420         (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define only if not
6421         already defined.
6422
6423 2012-05-21  Maciej W. Rozycki  <macro@codesourcery.com>
6424
6425         * linux-low.c (linux_store_registers): Don't re-retrieve data
6426         with ptrace that has already been obtained from /proc.  Always
6427         copy any data retrieved with ptrace to the buffer supplied.
6428
6429 2012-05-11  Yao Qi  <yao@codesourcery.com>
6430             Pedro Alves  <palves@redhat.com>
6431
6432         * linux-low.c (enum stopping_threads_kind): New.
6433         (stopping_threads): Change type to `enum stopping_threads_kind'.
6434         (handle_extended_wait): If stopping and suspending threads, leave
6435         the new_lwp suspended too.
6436         (linux_wait_for_event): Adjust.
6437         (stop_all_lwps): Set `stopping_threads' to
6438         STOPPING_AND_SUSPENDING_THREADS or STOPPING_THREADS depending on
6439         whether we're suspending threads or just stopping them.  Assert no
6440         recursion happens.
6441
6442 2012-04-29  Yao Qi  <yao@codesourcery.com>
6443
6444         * server.h: Move some code to ...
6445         * gdbthread.h: ... here.  New.
6446         * Makefile.in (inferiors.o, regcache.o): Depends on gdbthread.h
6447         (remote-utils.o, server.o, target.o tracepoint.o): Likewise.
6448         (nto-low.o, win32-low.o): Likewise.
6449         * inferiors.c, linux-low.h, nto-low.c: Include gdbthread.h.
6450         * regcache.c, remote-utils.c, server.c: Likewise.
6451         * target.c, tracepoint.c, win32-low.c: Likewise.
6452
6453 2012-04-24  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
6454
6455         * linux-low.h (PTRACE_ARG3_TYPE): Move macro from linux-low.c.
6456         (PTRACE_ARG4_TYPE): Likewise.
6457         (PTRACE_XFER_TYPE): Likewise.
6458         * linux-arm-low.c (arm_prepare_to_resume): Cast third argument of
6459         ptrace to PTRACE_ARG3_TYPE.
6460         * linux-low.c (PTRACE_ARG3_TYPE): Move macro to linux-low.h.
6461         (PTRACE_ARG4_TYPE): Likewise.
6462         (PTRACE_XFER_TYPE): Likewise.
6463         (linux_detach_one_lwp): Cast fourth argument of
6464         ptrace to long then PTRACE_ARG4_TYPE.
6465         (regsets_fetch_inferior_registers): Cast third argument of
6466         ptrace to long then PTRACE_ARG3_TYPE.
6467         (regsets_store_inferior_registers): Likewise.
6468
6469 2012-04-20  Pedro Alves  <palves@redhat.com>
6470
6471         * configure: Regenerate.
6472
6473 2012-04-19  Pedro Alves  <palves@redhat.com>
6474
6475         * Makefile.in (GNULIB_BUILDDIR): New.
6476         (LIBGNU, INCGNU, GNULIB_H): Adjust.
6477         (SUBDIRS, CLEANDIRS, REQUIRED_SUBDIRS): New.
6478         (all, install-only, uninstall, clean-info, all-lib, clean): No
6479         longer pass GNULIB_FLAGS_TO_PASS.  Use subdir_do.
6480         (maintainer-clean realclean distclean): Use subdir_do.
6481         (subdir_do): New.
6482         (gnulib/import/Makefile): Adjust.  Replace gnulib/import with
6483         $(GNULIB_BUILDDIR).  Don't pass argument to config.status.
6484         * acinclude.m4: Include acx_configure_dir.m4.
6485         * configure.ac: Remove gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE
6486         calls.  Call AC_PROG_RANLIB.  Configure gnulib using
6487         ACX_CONFIGURE_DIR.
6488         (GNULIB): New.
6489         (GNULIB_STDINT_H): Adjust.
6490         (AC_OUTPUT): Don't output gnulib/Makefile anymore.
6491         * gdbreplay.c: Include build-gnulib/config.h.
6492         * server.h: Likewise.
6493         * aclocal.m4: Regenerate.
6494         * config.in: Regenerate.
6495         * configure: Regenerate.
6496
6497 2012-04-19  Pedro Alves  <palves@redhat.com>
6498
6499         * Makefile.in (LIBGNU, INCGNU): Adjust.
6500         (GNULIB_FLAGS_TO_PASS, GNULIB_H): Adjust.
6501         (all, install-only, uninstall, clean-info, all-lib, clean)
6502         (maintainer-clean, Makefile, gnulib/Makefile): Adjust.
6503         * configure.ac: Adjust AC_OUTPUT output.
6504         * aclocal.m4: Regenerate.
6505         * configure: Regenerate.
6506
6507 2012-04-19  Pedro Alves  <palves@redhat.com>
6508
6509         * Makefile.in (generated_files): New.
6510         (server_h): Remove the explicit dependency on config.h, and depend
6511         on $generated_files.
6512
6513 2012-04-19  Pedro Alves  <palves@redhat.com>
6514
6515         * Makefile.in (INCGNU): Add -Ignulib.
6516
6517 2012-04-19  Pedro Alves  <palves@redhat.com>
6518
6519         * Makefile.in (GNULIB_INCLUDE_DIR): Rename to ...
6520         (INCGNU): ... this, and spell out -I here.
6521         (GNULIB_LIB): Rename to ...
6522         (LIBGNU): ... this.
6523         (INCLUDE_CFLAGS, gdbserver$(EXEEXT), $(GNULIB_LIB) rule): Adjust.
6524
6525 2012-04-19  Pedro Alves  <palves@redhat.com>
6526
6527         * config.in: Regenerate.
6528
6529 2012-04-19  Pedro Alves  <palves@redhat.com>
6530
6531         * configure.ac: Remove AC_CHECK_DECLS check for memmem.
6532         * server.h (memmem): Remove declaration.
6533         * config.in: Regenerate.
6534         * configure: Regenerate.
6535
6536 2012-04-19  Yao Qi  <yao@codesourcery.com>
6537
6538         * Makefile.in (SFILES): Add common/vec.c.
6539         (OBS): Add vec.o.
6540         (vec.o): New rule.
6541
6542 2012-04-19  Yao Qi  <yao@codesourcery.com>
6543
6544         * remote-utils.c (prepare_resume_reply): Replace with macro
6545         target_core_of_thread.
6546         * server.c (handle_qxfer_threads_proper): Likewise.
6547         * target.h (traget_core_of_thread): New macro.
6548
6549 2012-04-18  Pedro Alves  <palves@redhat.com>
6550
6551         * aclocal.m4: Regenerate.
6552         * configure: Regenerate.
6553
6554 2012-04-16  Yao Qi  <yao@codesourcery.com>
6555
6556         * tracepoint.c (cmd_qtstart): Download tracepoints even when they are
6557         duplicated on address.
6558
6559 2012-04-16  Yao Qi  <yao@codesourcery.com>
6560
6561         * tracepoint.c (COPY_FIELD_TO_BUF): New macro.
6562         (struct tracepoint_action_ops) <send>: New field.
6563         (m_tracepoint_action_send, r_tracepoint_action_send): New.
6564         (agent_expr_send, x_tracepoint_action_send): New.
6565         (l_tracepoint_action_send): New.
6566         (cmd_qtdp): Download and install tracepoint
6567         according to `use_agent'.
6568         (run_inferior_command): Add one more parameter `len'.
6569         Update callers.
6570         (tracepoint_send_agent): New.
6571         (cmd_qtdp, cmd_qtstart): Call tracepoint_send_agent.
6572
6573 2012-04-16  Yao Qi  <yao@codesourcery.com>
6574
6575         * tracepoint.c (download_tracepoints): Moved to ...
6576         (cmd_qtstart): ... here.
6577
6578 2012-04-14  Yao Qi  <yao@codesourcery.com>
6579
6580         * tracepoint.c: Include inttypes.h.
6581         (struct collect_memory_action): Use sized types.
6582         (struct tracepoint): Likewise.
6583         (cmd_qtdp, stop_tracing): Update print specifiers.
6584         (cmd_qtp, response_tracepoint): Likewise.
6585         (collect_data_at_tracepoint): Likewise.
6586         (collect_data_at_step): Likewise.
6587
6588 2012-04-14  Yao Qi  <yao@codesourcery.com>
6589
6590         Import gnulib module inttypes.
6591         * aclocal.m4, config.in, configure: Regenerated.
6592
6593 2012-04-14  Yao Qi  <yao@codesourcery.com>
6594
6595         * Makefile.in (maintainer-clean, realclean, distclean): Remove
6596         Makefile and config.status at last.
6597
6598 2012-04-13  Yao Qi  <yao@codesourcery.com>
6599
6600         * tracepoint.c: Include stdint.h unconditionally.
6601
6602 2012-04-13  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
6603
6604         * acinclude.m4 (GDBSERVER_HAVE_THREAD_DB_TYPE): New macro based
6605         on BFD_HAVE_SYS_PROCFS_TYPE.
6606         * configure.ac: Look for lwpid_t and psaddr_t in libthread_db.h.
6607         * configure: Regenerate.
6608         * config.in: Likewise.
6609
6610 2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
6611
6612         * Makefile.in (clean): Also remove x32.c x32-linux.c
6613         x32-avx.c x32-avx-linux.c.
6614         (x32.o): New target.
6615         (x32.c): Likewise.
6616         (x32-linux.o): Likewise.
6617         (x32-linux.c): Likewise.
6618         (x32-avx.o): Likewise.
6619         (x32-avx.c): Likewise.
6620         (x32-avx-linux.o): Likewise.
6621         (x32-avx-linux.c): Likewise.
6622
6623         * configure.srv (srv_amd64_regobj): Add x32.o x32-avx.o.
6624         (srv_amd64_linux_regobj): Add x32-linux.o x32-avx-linux.o.
6625         (srv_i386_64bit_xmlfiles): Add i386/x32-core.xml.
6626         (srv_amd64_xmlfiles): Add i386/x32.xml i386/x32-avx.xml.
6627         (srv_amd64_linux_xmlfiles): Add i386/x32-linux.xml
6628         i386/x32-avx-linux.xml.
6629
6630         * linux-x86-low.c (init_registers_x32_linux): New prototype.
6631         (init_registers_x32_avx_linux): Likwise.
6632         (x86_linux_update_xmltarget): Call init_registers_x32_linux
6633         or init_registers_x32_avx_linux if linux_is_elf64 is false.
6634
6635 2012-04-13  Pedro Alves  <palves@redhat.com>
6636
6637         * Makefile.in (GNULIB_FLAGS_TO_PASS): New.
6638         (FLAGS_TO_PASS): Don't change or set $top_srcdir, $srcdir and VPATH.
6639         (all, uninstall, clean-info, all-lib, clean, maintainer-clean)
6640         (realclean, distclean): Explicitly pass $GNULIB_FLAGS_TO_PASS to
6641         the sub-make.
6642
6643 2012-04-12  H.J. Lu  <hongjiu.lu@intel.com>
6644
6645         * linux-x86-low.c (compat_x32_clock_t): New.
6646         (compat_x32_siginfo_t): Likewise.
6647         (compat_x32_siginfo_from_siginfo): Likewise.
6648         (siginfo_from_compat_x32_siginfo): Likewise.
6649         (linux_is_elf64): Likewise.
6650         (x86_siginfo_fixup): Call compat_x32_siginfo_from_siginfo
6651         and siginfo_from_compat_x32_siginfo for x32.
6652         (x86_arch_setup): Set linux_is_elf64.
6653
6654 2012-04-12  H.J. Lu  <hongjiu.lu@intel.com>
6655
6656         PR gdb/13969
6657         * linux-low.c (linux_pid_exe_is_elf_64_file): Also return the
6658         e_machine field.
6659         (linux_qxfer_libraries_svr4): Update call to elf_64_file_p.
6660         * linux-low.h (linux_pid_exe_is_elf_64_file): Updated.
6661         * linux-x86-low.c (x86_arch_setup): Check if GDBserver is
6662         compatible with process.
6663
6664 2012-04-12  Yao Qi  <yao@codesourcery.com>
6665
6666         * Makefile.in: Define abs_top_srcdir and abs_srcdir.
6667         (INCLUDE_CFLAGS): Append GNULIB_INCLUDE_DIR.
6668         (install-only, install-info, clean): Handle sub dir gnulib.
6669         (all-lib, am--refresh): New targets.
6670         (memmem.o): Remove target.
6671         * configure.ac: Remove AC_CONFIG_LIBOBJ_DIR.
6672         Invoke gl_EARLY.  Invoke AC_CHECK_PROGS for make.
6673         (AC_REPLACE_FUNCS): Remove memmem.
6674         Invoke gl_INIT and AM_INIT_AUTOMAKE.
6675         (AC_OUTPUT): Generate Makefile in gnulib/.
6676         * aclocal.m4, config.in, configure: Regenerated.
6677
6678 2012-04-10  Maciej W. Rozycki  <macro@codesourcery.com>
6679
6680         * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP.
6681
6682 2012-04-05  Pedro Alves  <palves@redhat.com>
6683
6684         -Werror=strict-aliasing
6685
6686         * spu-low.c (parse_spufs_run): Avoid dereferencing type-punned
6687         pointer.
6688
6689 2012-04-04  Pedro Alves  <palves@redhat.com>
6690
6691         * linux-sparc-low.c (sparc_fill_gregset_to_stack)
6692         (sparc_store_gregset_from_stack, sparc_store_gregset)
6693         (sparc_breakpoint_at): Fix formatting.
6694
6695 2012-03-30  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
6696
6697         * configure.ac: Check whether Elf32_auxv_t and Elf64_auxv_t
6698         are available.
6699         * linux-low.c [HAVE_ELF32_AUXV_T] (Elf32_auxv_t): Add typedef.
6700         [HAVE_ELF64_AUXV_T] (Elf64_auxv_t): Likewise.
6701         * config.in: Regenerate.
6702         * configure: Likewise.
6703
6704 2012-03-29  Pedro Alves  <palves@redhat.com>
6705
6706         * linux-low.c (regsets_store_inferior_registers) [__sparc__]:
6707         Correct ptrace arguments.
6708
6709 2012-03-28  Pedro Alves  <palves@redhat.com>
6710
6711         * linux-ia64-low.c (ia64_regmap): Map IA64_EC_REGNUM to PT_AR_EC.
6712         (IA64_GR0_REGNUM, IA64_FR0_REGNUM)
6713         (IA64_FR1_REGNUM): New defines.
6714         (ia64_fetch_register): New.
6715         (the_low_target): Install it.
6716         * linux-low.h (struct linux_target_ops) <fetch_register>: New
6717         field.
6718         * linux-low.c (linux_fetch_registers): Try the
6719         the_low_target.fetch_register hook first.
6720
6721         * linux-arm-low.c (the_low_target): Adjust.
6722         * linux-bfin-low.c (the_low_target): Adjust.
6723         * linux-cris-low.c (the_low_target): Adjust.
6724         * linux-crisv32-low.c (the_low_target): Adjust.
6725         * linux-m32r-low.c (the_low_target): Adjust.
6726         * linux-m68k-low.c (the_low_target): Adjust.
6727         * linux-mips-low.c (the_low_target): Adjust.
6728         * linux-ppc-low.c (the_low_target): Adjust.
6729         * linux-s390-low.c (the_low_target): Adjust.
6730         * linux-sh-low.c (the_low_target): Adjust.
6731         * linux-sparc-low.c (the_low_target): Adjust.
6732         * linux-tic6x-low.c (the_low_target): Adjust.
6733         * linux-x86-low.c (the_low_target): Adjust.
6734         * linux-xtensa-low.c (the_low_target): Adjust.
6735
6736 2012-03-26  Pedro Alves  <palves@redhat.com>
6737
6738         * server.c (handle_qxfer_libraries): Don't bail early if
6739         the_target->qxfer_libraries_svr4 is not NULL.
6740
6741 2012-03-26  Pedro Alves  <palves@redhat.com>
6742
6743         * linux-low.c (linux_qxfer_libraries_svr4): Fix pasto in comment.
6744
6745 2012-03-23  Pedro Alves  <palves@redhat.com>
6746
6747         * linux-low.c (linux_qxfer_libraries_svr4): Terminate the
6748         "library-list-svr4" element's start tag when the the DSO list is
6749         empty.
6750
6751 2012-03-23  Pedro Alves  <palves@redhat.com>
6752
6753         * linux-low.c (read_one_ptr): Read the inferior's pointer through
6754         a variable whose type size is the same as the inferior's pointer
6755         size.
6756
6757 2012-03-21  Thomas Schwinge  <thomas@codesourcery.com>
6758
6759         * linux-arm-low.c (arm_stopped_by_watchpoint): Use siginfo_t instead of
6760         struct siginfo.
6761         * linux-low.c (siginfo_fixup, linux_xfer_siginfo): Likewise.
6762         * linux-x86-low.c (x86_siginfo_fixup): Likewise.
6763         * linux-low.h: Include <signal.h>.
6764         (struct siginfo): Remove forward declaration.
6765         (struct linux_target_ops) <siginfo_fixup>: Use siginfo_t instead of
6766         struct siginfo.
6767
6768 2012-03-21  Mike Frysinger  <vapier@gentoo.org>
6769
6770         * .gitignore: Ignore more files.
6771
6772 2012-03-19  Pedro Alves  <palves@redhat.com>
6773             Jan Kratochvil  <jan.kratochvil@redhat.com>
6774
6775         * server.c (cont_thread, general_thread): Add describing comments.
6776         (start_inferior): Clear `cont_thread'.
6777         (handle_v_cont): Don't set `cont_thread' if resuming all threads
6778         of a process.
6779
6780 2012-03-15  Yao Qi  <yao@codesourcery.com>
6781
6782         * tracepoint.c (install_tracepoint): Move duplicated tracepoint
6783         handling to ...
6784         (cmd_qtdp): ... here.
6785
6786 2012-03-15  Yao Qi  <yao@codesourcery.com>
6787
6788         * tracepoint.c (struct tracepoint_action_ops): New.
6789         (struct tracepoint_action) [!IN_PROCESS_AGENT] <ops>: New field.
6790         (m_tracepoint_action_download): New.
6791         (r_tracepoint_action_download): New.
6792         (x_tracepoint_action_download): New.
6793         (l_tracepoint_action_download): New.
6794         (add_tracepoint_action): Install `action->ops' according type.
6795         (download_tracepoint_1): Move code `download' function pointer
6796         of various tracepoint_action_ops.
6797
6798 2012-03-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
6799
6800         * linux-low.c (linux_attach_lwp_1): New variable buffer.  Call
6801         linux_ptrace_attach_warnings.
6802
6803 2012-03-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
6804
6805         * Makefile.in (linux-ptrace.o): New.
6806         * configure.srv (arm*-*-linux*, bfin-*-*linux*, crisv32-*-linux*)
6807         (cris-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*)
6808         (m68*-*-linux*, m68*-*-uclinux*, mips*-*-linux*, powerpc*-*-linux*)
6809         (s390*-*-linux*, sh*-*-linux*, sparc*-*-linux*, tic6x-*-uclinux)
6810         (x86_64-*-linux*, xtensa*-*-linux*): Add linux-ptrace.o to SRV_TGTOBJ
6811         of these targets.
6812         * linux-low.c (linux_attach_lwp_1): Remove redundent else clause.
6813
6814 2012-03-08  Yao Qi  <yao@codesourcery.com>
6815             Pedro Alves  <palves@redhat.com>
6816
6817         Fix PR server/13392.
6818         * linux-x86-low.c (amd64_install_fast_tracepoint_jump_pad): Check
6819         offset of JMP insn.
6820         * tracepoint.c (remove_tracepoint): New.
6821         (cmd_qtdp): Call remove_tracepoint when failed to install.
6822
6823 2012-03-07  Pedro Alves  <palves@redhat.com>
6824
6825         * linux-low.c (get_detach_signal): New.
6826         (linux_detach_one_lwp): Get rid of a pending SIGSTOP with SIGCONT.
6827         Pass on pending signals to PTRACE_DETACH.  Check the result of the
6828         ptrace call.
6829         * server.c (program_signals, program_signals_p): New.
6830         (handle_general_set): Handle QProgramSignals.
6831         * server.h (program_signals, program_signals_p): Declare.
6832
6833 2012-03-05  Pedro Alves  <palves@redhat.com>
6834             Jan Kratochvil  <jan.kratochvil@redhat.com>
6835
6836         * linux-low.c (get_dynamic): Don't warn when PT_PHDR isn't found.
6837         New comment why.
6838
6839 2012-03-03  Yao Qi  <yao@codesourcery.com>
6840
6841         * tracepoint.c (tracepoint_look_up_symbols): Update call to
6842         agent_look_up_symbols.
6843
6844 2012-03-03  Yao Qi  <yao@codesourcery.com>
6845
6846         * Makefile.in (linux-low.o): Keep dependence on agent.h.
6847         (linux-x86-low.o): Likewise.
6848         * server.h: Remove in_process_agent_loaded.
6849         * tracepoint.c (in_process_agent_loaded): Removed.  Moved it
6850         common/agent.c.
6851         Update callers.
6852
6853 2012-03-03  Yao Qi  <yao@codesourcery.com>
6854
6855         * tracepoint.c (gdb_agent_capability): New global.
6856         (in_process_agent_loaded_ust): Renamed to
6857         `in_process_agent_supports_ust'.
6858         Update callers.
6859         (in_process_agent_supports_ust): Call agent_capability_check.
6860         (clear_installed_tracepoints): Assert that agent supports
6861         agent.
6862
6863 2012-03-03  Yao Qi  <yao@codesourcery.com>
6864
6865         * linux-low.c (linux_supports_agent): New.
6866         (linux_target_ops): Initialize field `supports_agent' with
6867         linux_supports_agent.
6868         * target.h (struct target_ops) <supports_agent>: New.
6869         (target_supports_agent): New macro.
6870         * server.c (handle_general_set): Handle packet 'QAgent'.
6871         (handle_query): Send `QAgent+'.
6872         * Makefile.in (server.o): Depends on agent.h.
6873
6874 2012-03-03  Yao Qi  <yao@codesourcery.com>
6875
6876         * Makefile.in (OBS): Add agent.o.
6877         Add new rule for agent.o.
6878         Track dependence of tracepoint.c on agent.h.
6879         * tracepoint.c (run_inferior_command_1):
6880         (run_inferior_command): Call agent_run_command.
6881         (gdb_ust_connect_sync_socket): Deleted.  Move it to
6882         common/agent.c.
6883         (resume_thread, stop_thread): Likewise.
6884         (gdb_ust_socket_init): Renamed to ...
6885         (gdb_agent_socket_init): ... New.
6886         (gdb_ust_thread): Renamed to ...
6887         (gdb_agent_helper_thread): ... New.
6888         (gdb_ust_init): Move some code to ...
6889         (gdb_agent_init): ... here.  New.
6890         [HAVE_UST]: Call gdb_ust_init.
6891         (initialize_tracepoint_ftlib):  Call gdb_agent_init.
6892         * configure.ac: Add `sys/un.h' to AC_CHECK_HEADERS.
6893         * config.in, configure: Regenerated.
6894
6895 2012-03-02  Pedro Alves  <palves@redhat.com>
6896
6897         * inferiors.c (add_pid_to_list, pull_pid_from_list): Delete.
6898         * linux-low.c (struct simple_pid_list): New.
6899         (stopped_pids): New a struct simple_pid_list pointer.
6900         (add_to_pid_list, pull_pid_from_list): New.
6901         (handle_extended_wait): Don't assume the first signal new children
6902         report is SIGSTOP.  Adjust call to pull_pid_from_list.
6903         (linux_wait_for_lwp): Adjust.
6904
6905 2012-03-02  Yao Qi  <yao@codesourcery.com>
6906
6907         * tracepoint.c (do_action_at_tracepoint): Write `stop_pc' in
6908         debug log.
6909
6910 2012-03-02  Yao Qi  <yao@codesourcery.com>
6911
6912         * tracepoint.c (collect_ust_data_at_tracepoint): Remove parameters
6913         `stop_pc' and `tpoint'.  Update caller.
6914
6915 2012-03-01  Maciej W. Rozycki  <macro@codesourcery.com>
6916
6917         * linux-low.h (linux_target_ops): Add regset_bitmap member.
6918         * linux-low.c (use_linux_regsets): New macro.
6919         [!HAVE_LINUX_REGSETS] (regsets_fetch_inferior_registers): Likewise.
6920         [!HAVE_LINUX_REGSETS] (regsets_store_inferior_registers): Likewise.
6921         (linux_register_in_regsets): New function.
6922         (usr_fetch_inferior_registers): Skip registers covered by
6923         regsets.
6924         (usr_store_inferior_registers): Likewise.
6925         (usr_fetch_inferior_registers): New macro.
6926         (usr_store_inferior_registers): Likewise.
6927         (linux_fetch_registers): Handle mixed regset/non-regset targets.
6928         (linux_store_registers): Likewise.
6929         * linux-mips-low.c (init_registers_mips_dsp_linux): New
6930         prototype.
6931         (init_registers_mips64_dsp_linux): Likewise.
6932         (init_registers_mips_linux): New macro.
6933         (init_registers_mips_dsp_linux): Likewise.
6934         (mips_dsp_num_regs): Likewise.
6935         (DSP_BASE, DSP_CONTROL): New fallback macros.
6936         (mips_base_regs): New macro.
6937         (mips_regmap): Use it.  Fix the size.
6938         (mips_dsp_regmap): New variable.
6939         (mips_dsp_regset_bitmap): Likewise.
6940         (mips_arch_setup): New function.
6941         (mips_cannot_fetch_register): Use the_low_target.regmap rather
6942         than mips_regmap.
6943         (mips_cannot_store_register): Likewise.
6944         (the_low_target): Update .arch_setup, .num_regs and .regmap
6945         initializers.  Add .regset_bitmap initializer.
6946         * linux-arm-low.c (the_low_target): Add .regset_bitmap
6947         initializer.
6948         * linux-bfin-low.c (the_low_target): Likewise.
6949         * linux-cris-low.c (the_low_target): Likewise.
6950         * linux-crisv32-low.c (the_low_target): Likewise.
6951         * linux-ia64-low.c (the_low_target): Likewise.
6952         * linux-m32r-low.c (the_low_target): Likewise.
6953         * linux-m68k-low.c (the_low_target): Likewise.
6954         * linux-ppc-low.c (the_low_target): Likewise.
6955         * linux-s390-low.c (the_low_target): Likewise.
6956         * linux-sh-low.c (the_low_target): Likewise.
6957         * linux-sparc-low.c (the_low_target): Likewise.
6958         * linux-tic6x-low.c (the_low_target): Likewise.
6959         * linux-x86-low.c (the_low_target): Likewise.
6960         * linux-xtensa-low.c (the_low_target): Likewise.
6961         * configure.srv <mips*-*-linux*>: Add mips-dsp-linux.o and
6962         mips64-dsp-linux.o to srv_regobj.  Add mips-dsp-linux.xml,
6963         mips64-dsp-linux.xml, mips-dsp.xml and mips64-dsp.xml to
6964         srv_xmlfiles.
6965         * Makefile.in (mips-dsp-linux.o, mips-dsp-linux.c): New targets.
6966         (mips64-dsp-linux.o, mips64-dsp-linux.c): Likewise.
6967
6968 2012-02-29  Yao Qi  <yao@codesourcery.com>
6969             Pedro Alves  <palves@redhat.com>
6970
6971         * linux-low.c: (linux_wait_1): Call unsuspend_all_lwps when
6972         `step_over_finished' is true.
6973
6974 2012-02-27  Pedro Alves  <palves@redhat.com>
6975
6976         * linux-low.c (pid_is_stopped): Delete, moved to common/.
6977         (linux_attach_lwp_1): Adjust to use linux_proc_pid_is_stopped.
6978
6979 2012-02-27  Pedro Alves  <palves@redhat.com>
6980
6981         PR server/9684
6982         * linux-low.c (pid_is_stopped): New.
6983         (linux_attach_lwp_1): Handle attaching to 'T (stopped)' processes.
6984
6985 2012-02-25  Luis Machado  <lgustavo@codesourcery.com>
6986
6987         * mem-break.c (clear_gdb_breakpoint_conditions): Fix de-allocation
6988         of conditions.
6989
6990 2012-02-24  Maciej W. Rozycki  <macro@codesourcery.com>
6991
6992         * linux-mips-low.c (mips_regmap): Correct the index of $f9.
6993
6994 2012-02-24  Luis Machado  <lgustavo@codesourcery>
6995
6996         * server.c (handle_query): Advertise support for target-side
6997         breakpoint condition evaluation.
6998         (process_point_options): New function.
6999         (process_serial_event): When inserting a breakpoint, check for
7000         a target-side condition that should be evaluated.
7001
7002         * mem-break.c: Include regcache.h and ax.h.
7003         (point_cond_list_t): New data structure.
7004         (breakpoint) <cond_list>: New field.
7005         (find_gdb_breakpoint_at): Make non-static.
7006         (delete_gdb_breakpoint_at): Clear any target-side
7007         conditions.
7008         (clear_gdb_breakpoint_conditions): New function.
7009         (add_condition_to_breakpoint): Likewise.
7010         (add_breakpoint_condition): Likewise.
7011         (gdb_condition_true_at_breakpoint): Likewise.
7012         (gdb_breakpoint_here): Return result directly instead
7013         of going through a local variable.
7014
7015         * mem-break.h (find_gdb_breakpoint_at): New prototype.
7016         (clear_gdb_breakpoint_conditions): Likewise.
7017         (add_breakpoint_condition): Likewise.
7018         (gdb_condition_true_at_breakpoint): Likewise.
7019
7020         * linux-low.c (linux_wait_1): Evaluate target-side breakpoint condition.
7021         (need_step_over_p): Take target-side breakpoint condition into
7022         consideration.
7023
7024 2012-02-24  Luis Machado  <lgustavo@codesourcery>
7025
7026         * server.h: Include tracepoint.h.
7027         (agent_mem_read, agent_get_trace_state_variable_value,
7028         agent_set_trace_state_variable_value,
7029         agent_tsv_read, agent_mem_read_string, get_get_tsv_func_addr,
7030         get_set_tsv_func_addr): New prototypes.
7031
7032         * ax.h: New include file.
7033         * ax.c: New source file.
7034
7035         * tracepoint.c: Include ax.h.
7036         (gdb_agent_op, gdb_agent_op_names, gdb_agent_op_sizes,
7037         agent_expr, eval_result_type): Move to ax.h.
7038         (parse_agent_expr): Rename to ...
7039         (gdb_parse_agent_expr): ... this, make it non-static and move
7040         to ax.h.
7041         (unparse_agent_expr) Rename to ...
7042         (gdb_unparse_agent_expr): ... this, make it non-static and move
7043         to ax.h.
7044         (eval_agent_expr): Rename to ...
7045         (eval_tracepoint_agent_expr): ... this.
7046         (agent_mem_read, agent_mem_read_string, agent_tsv_read): Remove
7047         forward declarations.
7048         (add_tracepoint_action): Call gdb_parse_agent_expr (...).
7049         (agent_get_trace_state_variable_value): New function.
7050         (agent_set_trace_state_variable_value): New function.
7051         (cmd_qtdp): Call gdb_parse_agent_expr (...).
7052         (response_tracepoint): Call gdb_unparse_agent_expr (...).
7053         (do_action_at_tracepoint): Call eval_tracepoint_agent_expr (...).
7054         (condition_true_at_tracepoint): Likewise.
7055         (parse_agent_expr): Rename to ...
7056         (gdb_parse_agent_expr): ... this and move to ax.c.
7057         (unparse_agent_expr): Rename to ...
7058         (gdb_unparse_agent_expr): ... this and move to ax.c.
7059         (gdb_agent_op_name): Move to ax.c.
7060         (eval_agent_expr): Rename to ...
7061         (gdb_eval_agent_expr): ... this, use regcache passed as parameter
7062         and move to ax.c.
7063         (eval_tracepoint_agent_expr): New function.
7064         (agent_mem_read, agent_mem_read_string, agent_tsv_read): Make
7065         non-static.
7066         (current_insn_ptr, emit_error, struct bytecode_address): Move to
7067         ax.c.
7068         (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul, emit_lsh,
7069         emit_rsh_signed, emit_rsh_unsigned, emit_ext, emit_log_not,
7070         emit_bit_and, emit_bit_or, emit_bit_xor, emit_bit_not, emit_equal,
7071         emit_less_signed, emit_less_unsigned, emit_ref, emit_if_goto,
7072         emit_goto, write_goto_address, emit_const, emit_reg, emit_pop,
7073         emit_stack, emit_zero_ext, emit_swap, emit_stack_adjust,
7074         emit_int_call_1, emit_void_call_2, emit_eq_goto, emit_ne_goto,
7075         emit_lt_goto, emit_ge_goto, emit_gt_goto, emit_le_goto): Move to ax.c.
7076         (get_get_tsv_func_addr, get_set_tsv_func_addr): New functions.
7077         (compile_bytecodes): Remove forward declaration.
7078         (is_goto_target): Move to ax.c.
7079         (compile_bytecodes): Move to ax.c and call
7080         agent_get_trace_state_variable_value (...) and
7081         agent_set_trace_state_variable_value (...).
7082
7083         * Makefile.in: Update ax.c and IPA dependencies.
7084
7085 2012-02-24  Pedro Alves  <palves@redhat.com>
7086
7087         * tracepoint.c (cmd_bigqtbuffer): Rename as ...
7088         (cmd_bigqtbuffer_circular): ... this.  Only handle
7089         'QTBuffer:circular:'.
7090         (handle_tracepoint_general_set): Adjust.
7091
7092 2012-02-16  Yao Qi  <yao@codesourcery.com>
7093
7094         * inferiors.c: Move code to ...
7095         * dll.c: .... here.  New.
7096         * server.h: Declare clear_dlls.
7097         * Makefile.in (SFILES): Add dll.c.
7098         (OBS): Add dll.o
7099         (dll.o): New rule.
7100
7101 2012-02-11  Yao Qi  <yao@codesourcery.com>
7102
7103         * server.c: (handle_monitor_command): Add a new parameter
7104         `own_buf'.
7105         (handle_query): Update caller.
7106
7107 2012-02-09  Joel Brobecker  <brobecker@adacore.com>
7108
7109         * configure.ac: Add readlink to AC_CHECK_FUNCS list.
7110         * configure, config.in: Regenerate.
7111         * hostio.c: Provide an alternate implementation if HAVE_READLINK
7112         is not defined.
7113
7114 2012-02-02  Pedro Alves  <palves@redhat.com>
7115
7116         Try SIGKILL first, then PTRACE_KILL.
7117         * linux-low.c (linux_kill_one_lwp): New.
7118         (linux_kill_one_lwp): Rename to ...
7119         (kill_one_lwp_callback): ... this.  Use the new
7120         linux_kill_one_lwp.
7121
7122 2012-02-02  Pedro Alves  <palves@redhat.com>
7123
7124         * tracepoint.c (cmd_qtminftpilen): Return 0 if there's no current
7125         inferior.
7126
7127 2012-01-27  Pedro Alves  <palves@redhat.com>
7128
7129         * linux-low.c (linux_child_pid_to_exec_file): Delete.
7130         (elf_64_file_p): Make static.
7131         (linux_pid_exe_is_elf_64_file): New.
7132         * linux-low.h (linux_child_pid_to_exec_file, elf_64_file_p):
7133         Delete declarations.
7134         (linux_pid_exe_is_elf_64_file): Declare.
7135         * linux-x86-low.c (x86_arch_setup): Use
7136         linux_pid_exe_is_elf_64_file.
7137
7138 2012-01-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
7139
7140         * linux-low.c (linux_wait_for_event_1): Rename to ...
7141         (linux_wait_for_event): ... here and merge it with former
7142         linux_wait_for_event - new variable wait_ptid, use it.
7143         (linux_wait_for_event): Remove - merge it to linux_wait_for_event_1.
7144
7145 2012-01-23  Pedro Alves  <palves@redhat.com>
7146
7147         * server.c (main): Avoid yet another case of infinite loop while
7148         detaching/killing after a longjmp.
7149
7150 2012-01-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
7151
7152         Code cleanup.
7153         * linux-low.c (linux_wait_for_event_1): Use ptid_is_pid.
7154
7155 2012-01-20  Ulrich Weigand  <ulrich.weigand@linaro.org>
7156
7157         * hostio.c (handle_readlink): New function.
7158         (handle_vFile): Call it to handle "vFile:readlink" packets.
7159
7160 2012-01-20  Pedro Alves  <palves@redhat.com>
7161             Ulrich Weigand  <ulrich.weigand@linaro.org>
7162
7163         * server.c (handle_v_requests): Only support vAttach and vRun to
7164         start multiple processes when in extended protocol mode.
7165
7166 2012-01-17  Pedro Alves  <palves@redhat.com>
7167
7168         * tracepoint.c (initialize_tracepoint): Use mmap instead of
7169         memalign plus mprotect to allocate the scratch buffer.
7170
7171 2012-01-13  Pedro Alves  <palves@redhat.com>
7172
7173         * server.c (attach_inferior): Clear `cont_thread'.
7174
7175 2012-01-13  Pedro Alves  <palves@redhat.com>
7176
7177         * server.c (main): Avoid infinite loop while detaching/killing
7178         after a longjmp.
7179
7180 2012-01-09  Doug Evans  <dje@google.com>
7181
7182         * server.c (start_inferior): Set last_ptid in --wrapper case.
7183
7184 2012-01-06  Yao Qi  <yao@codesourcery.com>
7185
7186         * tracepoint.c [IN_PROCESS_AGENT] (debug_threads): Macro
7187         defined.
7188         [IN_PROCESS_AGENT] (debug_agent): New global variable.
7189
7190 2012-01-04  Yao Qi  <yao@codesourcery.com>
7191
7192         * tracepoint.c (cmd_qtdp): Print debug message
7193         for static tracepoint.
7194
7195 2012-01-04  Yao Qi  <yao@codesourcery.com>
7196
7197         * tracepoint.c (trace_vdebug): Differentiate debug message
7198         between gdbserver and IPA.
7199
7200 2012-01-03  Yao Qi  <yao@codesourcery.com>
7201
7202         * tracepoint.c (tracepoint_was_hit): Don't collect for
7203         static tracepoint.
7204
7205 2012-01-02  Joel Brobecker  <brobecker@adacore.com>
7206
7207         * terminal.h: Reformat copyright header.
7208
7209 2012-01-02  Joel Brobecker  <brobecker@adacore.com>
7210
7211         * server.c (gdbserver_version): Update copyright year.
7212         * gdbreplay.c (gdbreplay_version): Likewise.
7213
7214 2011-12-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
7215
7216         * linux-low.c (linux_create_inferior): Put empty if clause for write.
7217
7218         Revert:
7219         2011-12-18  Hui Zhu  <teawater@gmail.com>
7220         * linux-low.c (linux_create_inferior): Save return value to ret.
7221
7222 2011-12-18  Hui Zhu  <teawater@gmail.com>
7223
7224         * linux-low.c (linux_create_inferior): Save return value to ret.
7225
7226 2011-12-16  Doug Evans  <dje@google.com>
7227
7228         * linux-low.c (linux_create_inferior): If stdio connection,
7229         redirect stdin from /dev/null, stdout to stderr.
7230         * remote-utils.c (remote_is_stdio): New static global.
7231         (remote_connection_is_stdio): New function.
7232         (remote_prepare): Handle stdio connection.
7233         (remote_open): Ditto.
7234         (remote_close): Don't close stdin for stdio connections.
7235         (read_prim,write_prim): New functions.  Replace all calls to
7236         read/write to these.
7237         * server.c (main): Watch for "-" argument.  Move call to
7238         remote_prepare before start_inferior.
7239         * server.h (STDIO_CONNECTION_NAME): New macro.
7240         (remote_connection_is_stdio): Declare.
7241
7242         * remote-utils.c (prepare_resume_reply): Remove extraneous \n
7243         in debugging output.
7244
7245 2011-12-15  Yao Qi  <yao@codesourcery.com>
7246
7247         * tracepoint.c: Include sys/syscall.h.
7248         (gdb_ust_thread): Remove preprocessor conditional.
7249
7250 2011-12-14  Pedro Alves  <pedro@codesourcery.com>
7251
7252         * linux-low.c (linux_detach_one_lwp): Call
7253         the_low_target.prepare_to_resume before detaching.
7254
7255 2011-12-14  Yao Qi  <yao@codesourcery.com>
7256
7257         * tracepoint.c (gdb_ust_thread): Don't ignore return value
7258         of write.
7259
7260 2011-12-14  Yao Qi  <yao@codesourcery.com>
7261
7262         * i386-low.c (i386_low_stopped_data_address): Initialize local
7263         variable `control'.
7264
7265 2011-12-13  Pedro Alves  <pedro@codesourcery.com>
7266
7267         PR remote/13492
7268
7269         * i386-low.c (i386_low_stopped_data_address): Avoid fetching
7270         DR_CONTROL unless necessary.  Extend comments.
7271         * linux-x86-low.c (x86_linux_prepare_to_resume): Don't write to
7272         DR0-3 if not used.  If any watchpoint was set, clear DR_STATUS.
7273
7274 2011-12-13  Yao Qi  <yao@codesourcery.com>
7275
7276         * tracepoint.c (trace_buffer_alloc): Replace magic numbers with
7277         macros.
7278         (upload_fast_traceframes, upload_fast_traceframes): Likewise.
7279
7280 2011-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
7281
7282         * linux-low.c (linux_kill): Skip PTRACE_KILL if LWP does not exist.
7283         Print new debug message for such case.
7284
7285 2011-12-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
7286
7287         Fix overlapping memcpy.
7288         * mem-break.c (set_raw_breakpoint_at): New variable buf.  Use it for
7289         the read_inferior_memory transfer.
7290         (delete_fast_tracepoint_jump): New variable buf.  Use it for the
7291         write_inferior_memory transfer.
7292         (set_fast_tracepoint_jump): New variable buf.  Use it for the
7293         read_inferior_memory and write_inferior_memory transfers.
7294         (uninsert_fast_tracepoint_jumps_at, reinsert_fast_tracepoint_jumps_at)
7295         (delete_raw_breakpoint, uninsert_raw_breakpoint): New variable buf.
7296         Use it for the write_inferior_memory transfer.
7297         (check_mem_read, check_mem_write): New gdb_asserts for overlapping
7298         buffers.
7299
7300 2011-12-06  Maciej W. Rozycki  <macro@codesourcery.com>
7301
7302         * linux-low.c (fetch_register, store_register): Make code
7303         consistent, fix formatting.
7304
7305 2011-12-06  Maciej W. Rozycki  <macro@codesourcery.com>
7306
7307         * linux-low.c (usr_store_inferior_registers): Factor out code
7308         to handle individual registers into...
7309         (store_register): ... this new function.
7310
7311 2011-12-06  Ulrich Weigand  <uweigand@de.ibm.com>
7312
7313         * Makefile.in (s390-linux32v1.o, s390-linux32v1.c): New rules.
7314         (s390-linux32v2.o, s390-linux32v2.c): Likewise.
7315         (s390-linux64v1.o, s390-linux64v1.c): Likewise.
7316         (s390-linux64v2.o, s390-linux64v2.c): Likewise.
7317         (s390x-linux64v1.o, s390x-linux64v1.c): Likewise.
7318         (s390x-linux64v2.o, s390x-linux64v2.c): Likewise.
7319         * configure.srv [s390*-*-linux*] (srv_regobj): Add new objects.
7320         (srv_xmlfiles): Add new XML files.
7321
7322         * linux-s390-low.c: Include "elf/common.h", <sys/ptrace.h>,
7323         and <sys/uio.h>.
7324         (PTRACE_GETREGSET, PTRACE_SETREGSET): Define if undefined.
7325         (init_registers_s390_linux32v1): Add prototype.
7326         (init_registers_s390_linux32v2): Likewise.
7327         (init_registers_s390_linux64v1): Likewise.
7328         (init_registers_s390_linux64v2): Likewise.
7329         (init_registers_s390x_linux64v1): Likewise.
7330         (init_registers_s390x_linux64v2): Likewise.
7331         (s390_num_regs): Increment to 52.
7332         (s390_regmap): Add orig_r2 register.
7333         (s390_num_regs_3264): Increment to 68.
7334         (s390_regmap_3264): Add orig_r2 register.
7335         (s390_collect_ptrace_register): Handle orig_r2 register.
7336         (s390_supply_ptrace_register): Likewise.
7337         (s390_fill_last_break): New function.
7338         (s390_store_last_break): Likewise.
7339         (s390_fill_system_call): New function.
7340         (s390_store_system_call): Likewise.
7341         (target_regsets): Handle NT_S390_LAST_BREAK and NT_S390_SYSTEM_CALL
7342         register sets.
7343         (s390_check_regset): New function.
7344         (s390_arch_setup): Check for presence of NT_S390_LAST_BREAK and
7345         NT_S390_SYSTEM_CALL regsets and use appropriate description.
7346         Update target_regsets for available register sets.
7347
7348 2011-12-02  Paul Pluzhnikov  <ppluzhnikov@google.com>
7349             Jan Kratochvil  <jan.kratochvil@redhat.com>
7350
7351         * linux-low.c (get_phdr_phnum_from_proc_auxv, get_dynamic, get_r_debug)
7352         (read_one_ptr, struct link_map_offsets, linux_qxfer_libraries_svr4):
7353         New.
7354         (struct linux_target_ops): Install linux_qxfer_libraries_svr4.
7355         * linux-low.h (struct process_info_private): New member r_debug.
7356         * server.c (handle_qxfer_libraries): Call
7357         the_target->qxfer_libraries_svr4.
7358         (handle_qxfer_libraries_svr4): New function.
7359         (qxfer_packets): New entry "libraries-svr4".
7360         (handle_query): Check QXFER_LIBRARIES_SVR4 and report libraries-svr4.
7361         * target.h (struct target_ops): New member qxfer_libraries_svr4.
7362         * remote.c (remote_xfer_partial): Call add_packet_config_cmd for
7363         PACKET_qXfer_libraries_svr4.
7364
7365 2011-11-30  Ulrich Weigand  <uweigand@de.ibm.com>
7366
7367         * linux-s390-low.c (s390_collect_ptrace_register): Fully convert
7368         PSW address/mask between 8-byte and 16-byte formats.
7369         (s390_supply_ptrace_register): Likewise.
7370         (s390_get_pc, s390_set_pc): 4-byte PSW address always includes
7371         basic addressing mode bit.
7372
7373 2011-11-24  Stan Shebs  <stan@codesourcery.com>
7374
7375         * tracepoint.c (cmd_qtstatus): Use plongest instead of %llx.
7376
7377 2011-11-17  Stan Shebs  <stan@codesourcery.com>
7378
7379         * tracepoint.c (struct tracepoint): New field traceframe_usage.
7380         (tracing_start_time): New global.
7381         (tracing_stop_time): New global.
7382         (tracing_user_name): New global.
7383         (tracing_notes): New global.
7384         (tracing_stop_note): New global.
7385         (cmd_qtstart): Set traceframe_usage, start_time.
7386         (stop_tracing): Set stop_time.
7387         (cmd_qtstatus): Report additional status.
7388         (cmd_qtp): New function.
7389         (handle_tracepoint_query): Call it.
7390         (cmd_qtnotes): New function.
7391         (handle_tracepoint_general_set): Call it.
7392         (get_timestamp): Rename from tsv_get_timestamp.
7393
7394 2011-11-14  Stan Shebs  <stan@codesourcery.com>
7395             Kwok Cheung Yeung  <kcy@codesourcery.com>
7396
7397         * linux-x86-low.c (small_jump_insn): New.
7398         (i386_install_fast_tracepoint_jump_pad): Add arguments for
7399         trampoline and error message, build a trampoline and issue a small
7400         jump instruction to it.
7401         (x86_install_fast_tracepoint_jump_pad): Add arguments for
7402         trampoline and error message.
7403         (x86_get_min_fast_tracepoint_insn_len): New.
7404         (the_low_target): Add call to x86_get_min_fast_tracepoint_insn_len.
7405         * linux-low.h (struct linux_target_ops): Add arguments to
7406         install_fast_tracepoint_jump_pad operation, add new operation.
7407         * linux-low.c (linux_install_fast_tracepoint_jump_pad): Add
7408         arguments.
7409         (linux_get_min_fast_tracepoint_insn_len): New function.
7410         (linux_target_op): Add new operation.
7411         * tracepoint.c (gdb_trampoline_buffer): New IPA variable.
7412         (gdb_trampoline_buffer_end): Ditto.
7413         (gdb_trampoline_buffer_error): Ditto.
7414         (struct ipa_sym_addresses): Add fields for new IPA variables.
7415         (symbol_list): Add entries for new IPA variables.
7416         (struct tracepoint): Add fields to hold the address range of the
7417         trampoline used by the tracepoint.
7418         (trampoline_buffer_head): New static variable.
7419         (trampoline_buffer_tail): Ditto.
7420         (claim_trampoline_space): New function.
7421         (have_fast_tracepoint_trampoline_buffer): New function.
7422         (clone_fast_tracepoint): Fill in trampoline fields of tracepoint
7423         structure.
7424         (install_fast_tracepoint): Ditto, also add error buffer argument.
7425         (cmd_qtminftpilen): New function.
7426         (handle_tracepoint_query): Add response to qTMinFTPILen packet.
7427         (fast_tracepoint_from_trampoline_address): New function.
7428         (fast_tracepoint_collecting): Handle trampoline as part of jump
7429         pad space.
7430         (set_trampoline_buffer_space): New function.
7431         (initialize_tracepoint): Initialize new IPA variables.
7432         * target.h (struct target_ops): Add arguments to
7433         install_fast_tracepoint_jump_pad operation, add new
7434         get_min_fast_tracepoint_insn_len operation.
7435         (target_get_min_fast_tracepoint_insn_len): New.
7436         (install_fast_tracepoint_jump_pad): Add arguments.
7437         * server.h (IPA_BUFSIZ): Define.
7438         * linux-i386-ipa.c: Include extra header files.
7439         (initialize_fast_tracepoint_trampoline_buffer): New function.
7440         (initialize_low_tracepoint): Call it.
7441         * server.h (set_trampoline_buffer_space): Declare.
7442         (claim_trampoline_space): Ditto.
7443         (have_fast_tracepoint_trampoline_buffer): Ditto.
7444
7445 2011-11-14  Yao Qi  <yao@codesourcery.com>
7446
7447         * server.c (handle_query): Handle InstallInTrace for qSupported.
7448         * tracepoint.c (add_tracepoint): Sort list.
7449         (install_tracepoint, download_tracepoint): New.
7450         (cmd_qtdp): Call them to install and download tracepoints.
7451         (sort_tracepoints): Removed.
7452         (cmd_qtstart): Update.
7453
7454 2011-11-14  Yao Qi  <yao@codesourcery.com>
7455
7456         * mem-break.c (inc_ref_fast_tracepoint_jump): New.
7457         * mem-break.h: Declare.
7458         * tracepoint.c (cmd_qtstart): Move some code to ...
7459         (clone_fast_tracepoint, install_fast_tracepoint): ... here.
7460         New.
7461         (download_tracepoints): Move some code to ...
7462         (download_tracepoint_1): ... here.  New.
7463
7464 2011-11-08  Yao Qi  <yao@codesourcery.com>
7465
7466         * remote-utils.c (relocate_instruction): A comment fix.
7467
7468 2011-11-07  Joel Brobecker  <brobecker@adacore.com>
7469
7470         * win32-i386-low.c (dr_status_mirror, dr_control_mirror): Delete.
7471         (i386_dr_low_get_control, i386_dr_low_get_status): Use
7472         dr_status_mirror and dr_control_mirror from debug_reg_state.
7473         (i386_dr_low_get_status): Use debug_reg_state.dr_status_mirror
7474         (i386_initial_stuff): Remove use of deleted globals.
7475         (i386_get_thread_context, i386_set_thread_context,
7476         i386_thread_added): Use dr_status_mirror and dr_control_mirror
7477         from debug_reg_state.
7478
7479 2011-11-05  Yao Qi  <yao@codesourcery.com>
7480
7481         * tracepoint.c (gdb_collect): Loop over tracepoints of same
7482         address as TPOINT's.
7483
7484 2011-11-02  Stan Shebs  <stan@codesourcery.com>
7485
7486         * tracepoint.c (agent_mem_read_string): New function.
7487         (eval_agent_expr): Call it for tracenz.
7488         * server.c (handle_query): Report support for tracenz.
7489
7490 2011-11-02  Yao Qi  <yao@codesourcery.com>
7491
7492         * tracepoint.c (cmd_qtstart): Remove unused local variables.
7493
7494 2011-11-02  Yao Qi  <yao@codesourcery.com>
7495
7496         * target.h: Fix a typo in comment.
7497
7498 2011-10-31  Pedro Alves  <pedro@codesourcery.com>
7499
7500         * mem-break.c (check_mem_write): Add `myaddr' parameter.  Don't
7501         clobber the breakpoints' shadows with fast tracepoint jumps.
7502         * mem-break.h (check_mem_write): Add `myaddr' parameter.
7503         * target.c (write_inferior_memory): Also pass MYADDR down to
7504         check_mem_write.
7505
7506 2011-10-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
7507
7508         * configure.ac: Check support for personality routine.
7509         * configure: Regenerate.
7510         * config.in: Likewise.
7511         * linux-low.c: Include <sys/personality.h>.
7512         Define ADDR_NO_RANDOMIZE if necessary.
7513         (linux_create_inferior): Disable address space randomization when
7514         forking inferior, if requested.
7515         (linux_supports_disable_randomization): New function.
7516         (linux_target_ops): Install it.
7517         * server.h (disable_randomization): Declare.
7518         * server.c (disable_randomization): New global variable.
7519         (handle_general_set): Handle QDisableRandomization.
7520         (handle_query): Likewise for qSupported.
7521         (main): Support --disable-randomization and --no-disable-randomization
7522         command line arguments.
7523         * target.h (struct target_ops): Add supports_disable_randomization.
7524         (target_supports_disable_randomization): New macro.
7525
7526 2011-09-29  Mike Frysinger  <vapier@gentoo.org>
7527
7528         * linux-low.c (target_loadseg): Add defined PTRACE_GETFDPIC to the
7529         ifdef check.
7530         [PT_GETDSBT] (target_loadmap): Wrap in a defined PT_GETDSBT check.
7531         [!PT_GETDSBT] (target_loadmap): New definition.
7532         (LINUX_LOADMAP, LINUX_LOADMAP_EXEC, LINUX_LOADMAP_INTERP): Define.
7533         (linux_read_loadmap): Change PTRACE_GETDSBT_EXEC to
7534         LINUX_LOADMAP_EXEC, PTRACE_GETDSBT_INTERP to LINUX_LOADMAP_INTERP,
7535         and PT_GETDSBT to LINUX_LOADMAP.
7536         [!PT_GETDSBT] (linux_read_loadmap): Define to NULL.
7537         (linux_target_ops): Delete unnecessary ifdef PT_GETDSBT check.
7538
7539 2011-09-21  Ulrich Weigand  <ulrich.weigand@linaro.org>
7540
7541         * linux-arm-low.c (struct arm_linux_hwbp_cap): Remove.
7542         (arm_linux_hwbp_cap): New static variable.
7543         (arm_linux_get_hwbp_cap): Replace by ...
7544         (arm_linux_init_hwbp_cap): ... this new function.
7545         (arm_linux_get_hw_breakpoint_count): Use arm_linux_hwbp_cap.
7546         (arm_linux_get_hw_watchpoint_count): Likewise.
7547         (arm_linux_get_hw_watchpoint_max_length): Likewise.
7548         (arm_arch_setup): Call arm_linux_init_hwbp_cap.
7549         (arm_prepare_to_resume): Use perror_with_name instead of error.
7550
7551 2011-09-21  Ulrich Weigand  <ulrich.weigand@linaro.org>
7552
7553         * linux-arm-low.c: Include <signal.h>.
7554         (PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define if necessary.
7555         (struct arm_linux_hwbp_cap): New data type.
7556         (arm_hwbp_type, arm_hwbp_control_t): New typedefs.
7557         (struct arm_linux_hw_breakpoint): New data type.
7558         (MAX_BPTS, MAX_WPTS): Define.
7559         (struct arch_process_info, struct arch_lwp_info): New data types.
7560         (arm_linux_get_hwbp_cap): New function.
7561         (arm_linux_get_hw_breakpoint_count): Likewise.
7562         (arm_linux_get_hw_watchpoint_count): Likewise.
7563         (arm_linux_get_hw_watchpoint_max_length): Likewise.
7564         (arm_hwbp_control_initialize): Likewise.
7565         (arm_hwbp_control_is_enabled): Likewise.
7566         (arm_hwbp_control_is_initialized): Likewise.
7567         (arm_hwbp_control_disable): Likewise.
7568         (arm_linux_hw_breakpoint_equal): Likewise.
7569         (arm_linux_hw_point_initialize): Likewise.
7570         (struct update_registers_data): New data structure.
7571         (update_registers_callback: New function.
7572         (arm_insert_point): Likewise.
7573         (arm_remove_point): Likewise.
7574         (arm_stopped_by_watchpoint): Likewise.
7575         (arm_stopped_data_address): Likewise.
7576         (arm_new_process): Likewise.
7577         (arm_new_thread): Likewise.
7578         (arm_prepare_to_resume): Likewise.
7579         (the_low_target): Register arm_insert_point, arm_remove_point,
7580         arm_stopped_by_watchpoint, arm_stopped_data_address, arm_new_process,
7581         arm_new_thread, and arm_prepare_to_resume.
7582
7583 2011-09-15  Stan Shebs  <stan@codesourcery.com>
7584
7585         * server.h (struct emit_ops): Add compare-goto fields.
7586         * tracepoint.c (gdb_agent_op_sizes): New table.
7587         (emit_eq_goto): New function.
7588         (emit_ne_goto): New function.
7589         (emit_lt_goto): New function.
7590         (emit_le_goto): New function.
7591         (emit_gt_goto): New function.
7592         (emit_ge_goto): New function.
7593         (is_goto_target): New function.
7594         (compile_bytecodes): Recognize special cases of compare-goto
7595         combinations and call specialized emitters for them.
7596         * linux-x86-low.c (amd64_emit_eq_goto): New function.
7597         (amd64_emit_ne_goto): New function.
7598         (amd64_emit_lt_goto): New function.
7599         (amd64_emit_le_goto): New function.
7600         (amd64_emit_gt_goto): New function.
7601         (amd64_emit_ge_goto): New function.
7602         (amd64_emit_ops): Add the new functions.
7603         (i386_emit_eq_goto): New function.
7604         (i386_emit_ne_goto): New function.
7605         (i386_emit_lt_goto): New function.
7606         (i386_emit_le_goto): New function.
7607         (i386_emit_gt_goto): New function.
7608         (i386_emit_ge_goto): New function.
7609         (i386_emit_ops): Add the new functions.
7610
7611 2011-09-08  Stan Shebs  <stan@codesourcery.com>
7612
7613         * linux-x86-low.c (i386_emit_prologue): Save %ebx.
7614         (i386_emit_epilogue): Restore %ebx.
7615
7616 2011-08-31  Jie Zhang  <jzhang918@gmail.com>
7617
7618         * server.c (step_thread): Remove definition.
7619         (process_serial_event): Don't handle Hs.
7620         * server.h (step_thread): Remove declaration.
7621         * target.c (set_desired_inferior): Remove use of step_thread.
7622
7623 2011-08-24  Luis Machado  <lgustavo@codesourcery.com>
7624
7625         * linux-low.c: Include linux-procfs.h.
7626         (linux_attach_lwp_1): Update comments.
7627         (linux_attach): Scan for existing threads when attaching to a
7628         process that is the tgid.
7629         * Makefile.in: Update dependencies.
7630
7631 2011-08-24  Luis Machado  <lgustavo@codesourcery.com>
7632
7633         * configure.srv: Add linux-procfs.o dependencies.
7634
7635 2011-08-14  Yao Qi  <yao@codesourcery.com>
7636
7637         * target.h (struct target_ops): Fix indent.
7638         * win32-low.c (win32_target_ops): Fix comment.
7639
7640 2011-08-14  Andrew Jenner  <andrew@codesourcery.com>
7641             Yao Qi  <yao@codesourcery.com>
7642
7643         * Makefile.in (clean): Remove tic6x-*.c files.
7644         (linux-tic6x-low.o, tic6x-c62x-linux.o, tic6x-c64x-linux.o): New rules.
7645         (tic6x-c64xp-linux.o, tic6x-c62x-linux.c, tic6x-c64x-linux.c): Likewise.
7646         (tic6x-c64xp-linux.c): Likewise.
7647         * configure.srv: Add support for tic6x-*-uclinux.
7648         * linux-tic6x-low.c: New.
7649         * linux-low.c (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define.
7650
7651 2011-08-14  Andrew Stubbs <ams@codesourcery.com>
7652             Yao Qi  <yao@codesourcery.com>
7653
7654         * target.h (struct target_ops): Add read_loadmap.
7655         * linux-low.c (struct target_loadseg): New type.
7656         (struct target_loadmap): New type.
7657         (linux_read_loadmap): New function.
7658         (linux_target_ops): Add linux_read_loadmap.
7659         * server.c (handle_query): Support qXfer:fdpic:read packet.
7660         * win32-low.c (win32_target_ops): Initialize field `read_loadmap'
7661         to NULL.
7662
7663 2011-08-05  Eli Zaretskii  <eliz@gnu.org>
7664
7665         * win32-low.c: Include <stdint.h>.
7666
7667 2011-07-22  Pedro Alves  <pedro@codesourcery.com>
7668
7669         * i386-low.c (i386_insert_aligned_watchpoint): Don't pass the info
7670         to the inferior here.
7671         (i386_remove_aligned_watchpoint): Ditto.
7672         (i386_handle_nonaligned_watchpoint): Return immediate on fail to
7673         fit part of the watchpoint in the debug registers.
7674         (i386_update_inferior_debug_regs): New.
7675         (i386_low_insert_watchpoint): Work on a local mirror of the debug
7676         registers, and only update the inferior on success.
7677         (i386_low_remove_watchpoint): Ditto.
7678
7679 2011-07-22  Kwok Cheung Yeung  <kcy@codesourcery.com>
7680
7681         * linux-low.c (compare_ints, unique, list_threads, show_process,
7682         linux_core_of_thread): Delete.
7683         (linux_target_ops): Change linux_core_of_thread to
7684         linux_common_core_of_thread.
7685         (linux_qxfer_osdata): Defer to linux_common_xfer_osdata.
7686         * utils.c (malloc_failure): Change type of argument.
7687         (xmalloc, xrealloc, xcalloc, xsnprintf): Delete.
7688         * Makefile.in (SFILES): Add common/common-utils.c, common/xml-utils.c,
7689         common/linux-osdata.c, common/ptid.c and common/buffer.c.
7690         (OBS): Add xml-utils.o, common-utils.o, ptid.o and buffer.o.
7691         (IPA_OBJS): Add common-utils-ipa.o.
7692         (ptid_h, linux_osdata_h): New macros.
7693         (server_h): Add common/common-utils.h, common/xml-utils.h,
7694         common/buffer.h, common/gdb_assert.h, common/gdb_locale.h and
7695         common/ptid.h.
7696         (common-utils-ipa.o, common-utils.o, xml-utils.o, linux-osdata.o,
7697         ptid.o, buffer.o): New rules.
7698         (linux-low.o): Add common/linux-osdata.h as a dependency.
7699         * configure.srv (srv_tgtobj): Add linux-osdata.o to Linux targets.
7700         * configure.ac: Add AC_HEADER_DIRENT check.
7701         * config.in: Regenerate.
7702         * configure: Regenerate.
7703         * remote-utils.c (xml_escape_text): Delete.
7704         (buffer_grow, buffer_free, buffer_init, buffer_finish,
7705         buffer_xml_printf): Move to common/buffer.c.
7706         * server.c (main): Remove call to initialize_inferiors.
7707         * server.h (struct ptid, ptid_t, minus_one_ptid, null_ptid,
7708         ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid,
7709         ptid_equal, ptid_is_pid, initialize_inferiors, xml_escape_text,
7710         internal_error, gdb_assert, gdb_assert_fail): Delete.
7711         (struct buffer, buffer_grow, buffer_free, buffer_init, buffer_finish,
7712         buffer_xml_printf, buffer_grow_str, buffer_grow_str0): Move to
7713         common/buffer.h.
7714         * inferiors.c (null_ptid, minus_one_ptid, ptid_build, pid_to_ptid,
7715         ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid,
7716         initialize_inferiors): Delete.
7717
7718 2011-07-20  Pedro Alves  <pedro@codesourcery.com>
7719
7720         * tracepoint.c (tracepoint_look_up_symbols): Return upon the first
7721         symbol error.
7722
7723 2011-05-31  Pedro Alves  <pedro@codesourcery.com>
7724
7725         * linux-x86-low.c (i386_dr_low_get_addr): Fix off by one in
7726         assertion.
7727         * win32-i386-low.c (i386_dr_low_get_addr): Ditto.
7728
7729 2011-05-26  Yao Qi  <yao@codesourcery.com>
7730
7731         * Makefile.in (thread-db.o): Track dependence to
7732         common/gdb_thread_db.h.
7733         * thread-db.c: include gdb_thread_db.h from right place.
7734
7735 2011-05-16  Adrian Cornish  <gnu@bluedreamer.com>
7736
7737         * linux-i386-ipa.c (supply_static_tracepoint_registers): Pass
7738         __FILE__ and __LINE__ to internal_error.
7739
7740 2011-05-13  Doug Evans  <dje@google.com>
7741
7742         * thread-db.c (try_thread_db_load_from_sdir): New function.
7743         (try_thread_db_load_from_dir): New function.
7744         (thread_db_load_search): Handle $sdir, ignore $pdir.
7745         Remove trying of system directories if search of
7746         libthread-db-search-path fails, that is now done via $sdir.
7747
7748 2011-05-12  Kwok Cheung Yeung  <kcy@codesourcery.com>
7749
7750         * server.c (handle_query): Add EnableDisableTracepoints to the list
7751         of supported features.
7752         * tracepoint.c (clear_installed_tracepoints): Uninstall disabled
7753         tracepoints.
7754         (cmd_qtenable_disable): New.
7755         (cmd_qtstart): Install tracepoints even if disabled.
7756         (handle_tracepoint_general_set): Add call to cmd_qtenable_disable on
7757         receiving a QTEnable or QTDisable packet.
7758         (gdb_collect): Skip data collection if fast tracepoint is disabled.
7759         (ust_marker_to_static_tracepoint): Do not ignore disabled static
7760         tracepoints.
7761         (gdb_probe): Skip data collection if static tracepoint is disabled.
7762
7763 2011-05-10  Doug Evans  <dje@google.com>
7764
7765         * thread-db.c (thread_db_handle_monitor_command): Handle elided path.
7766
7767 2011-05-04  Doug Evans  <dje@google.com>
7768
7769         * linux-low.c (linux_join): Skip process lookup.
7770         * spu-low.c (spu_join): Ditto.
7771         * server.c (join_inferiors_callback): Delete.
7772         (process_serial_event): For 'D' packet (detach) call join_inferior
7773         directly.
7774
7775 2011-05-04  Joseph Myers  <joseph@codesourcery.com>
7776
7777         * README: Don't mention xscale*-*-linux*.
7778         * configure.srv (xscale*-*-linux*): Don't handle target.
7779
7780 2011-04-27  Nathan Froyd  <froydnj@codesourcery.com>
7781
7782         * linux-x86-low.c (amd64_emit_const): Call memcpy instead of
7783         casting pointers.
7784         (amd64_emit_reg, amd64_emit_int_call_1, amd64_emit_void_call_2):
7785         (i386_emit_const, i386_emit_reg, i386_emit_int_call_1):
7786         (i386_emit_void_call_2): Likewise.
7787
7788 2011-04-26  Yao Qi  <yao@codesourcery.com>
7789
7790         * linux-low.c: Move common macros to linux-ptrace.h.
7791         Include linux-ptrace.h.
7792         * Makefile.in (linux_ptrace_h): New.
7793         (linux-low.o): Depends on linux-ptrace.h.
7794
7795 2011-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
7796
7797         * remote-utils.c (handle_accept_event): Close LISTEN_DESC only if
7798         RUN_ONCE.  Comment for the LISTEN_DESC delete_file_handler call.
7799         (remote_prepare): New function with most of the TCP code from ...
7800         (remote_open): ... here.  Detect PORT here unconditionally.  Move also
7801         setting transport_is_reliable.
7802         * server.c (run_once): New variable.
7803         (gdbserver_usage): Document it.
7804         (main): Set run_once for `--once'.  Call remote_prepare.  Exit after
7805         the first run if RUN_ONCE.
7806         * server.h (run_once, remote_prepare): New declarations.
7807
7808 2011-04-19  Tom Tromey  <tromey@redhat.com>
7809
7810         * win32-low.c (handle_load_dll): Remove duplicate "the".
7811
7812 2011-04-07  Pierre Muller  <muller@ics.u-strasbg.fr>
7813
7814         Remove support for old Cygwin 1.5 versions.
7815         * win32-low.c (win32_create_inferior): Use new cygwin_path_list
7816         function to avoid warning.
7817         (win32_add_one_solib): Use cygwin_conv_path function to avoid
7818         warning.
7819
7820 2011-03-18  Pierre Muller  <muller@ics.u-strasbg.fr>
7821
7822         * gdbserver/server.h (Macro _): Define it if not available.
7823
7824 2011-03-14  Michael Snyder  <msnyder@vmware.com>
7825
7826         * hostio.c (handle_close): Remove unnecessary null test.
7827
7828 2011-03-10  Joel Brobecker  <brobecker@adacore.com>
7829
7830         * Makefile.in (maintainer-clean realclean distclean): Remove
7831         "make ...  subdir_do" command.
7832
7833 2011-03-10  Michael Snyder  <msnyder@vmware.com>
7834
7835         * tracepoint.c (tracepoint_finish_step): Fix loop variable.
7836
7837         * server.c (handle_v_run): Free alloced buffer on early return.
7838
7839 2011-03-09  Yao Qi  <yao@codesourcery.com>
7840
7841         Revert:
7842         2011-03-04  Yao Qi  <yao@codesourcery.com>
7843
7844         * Makefile.in: Remove GNU make feature --directory.
7845
7846         2011-03-05  Yao Qi  <yao@codesourcery.com>
7847
7848         * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable.
7849         (subdir_do): New make target.  Copied from gdb/Makefile.
7850         (maintainer-clean, realclean, distclean, clean): Call corresponding
7851         make targets in common/Makefile.
7852
7853         2011-02-11  Yao Qi  <yao@codesourcery.com>
7854
7855         * configure.ac: Call AC_PROG_RANLIB.
7856         * Makefile.in: Remove signals.o from OBS.  Link libcommon.a.
7857         * configure: Regenerate.
7858
7859 2011-03-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
7860
7861         * remote-utils.c (putpkt_binary_1): Calculate BUF2 size dynamically.
7862
7863 2011-03-06  Yao Qi  <yao@codesourcery.com>
7864
7865         * Makefile.in (REQUIRED_SUBDIRS): Remove $(LIBCOMMON_DIR).
7866
7867 2011-03-05  Yao Qi  <yao@codesourcery.com>
7868
7869         * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable.
7870         (subdir_do): New make target.  Copied from gdb/Makefile.
7871         (maintainer-clean, realclean, distclean, clean): Call corresponding
7872         make targets in common/Makefile.
7873
7874 2011-03-04  Yao Qi  <yao@codesourcery.com>
7875
7876         * Makefile.in: Remove GNU make feature --directory.
7877
7878 2011-03-04  Michael Snyder  <msnyder@vmware.com>
7879
7880         * server.c (queue_stop_reply): Call xmalloc not malloc.
7881
7882 2011-03-02  Michael Snyder  <msnyder@vmware.com>
7883
7884         * linux-arm-low.c (arm_arch_setup): Replace malloc with xmalloc.
7885
7886 2011-02-28  Michael Snyder  <msnyder@vmware.com>
7887
7888         * tracepoint.c (cmd_qtv): Discard unused value 'packet'.
7889         (cmd_qtframe): Ditto.
7890         (cmd_qtbuffer): Ditto.
7891         (cmd_bigqtbuffer): Ditto.
7892
7893         * utils.c (decimal2str): Initialize 'width' to nine, then
7894         don't mess with it.
7895
7896 2011-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
7897
7898         * hostio.c (require_data): Free *data, not data.
7899
7900 2011-02-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
7901
7902         * hostio.c (require_data): Use free, not xfree.
7903
7904 2011-02-27  Michael Snyder  <msnyder@vmware.com>
7905
7906         * server.c (handle_query): Discard unused value.
7907
7908         * hostio.c (require_data): Free malloc memory before returning
7909         error.
7910
7911 2011-02-26  Michael Snyder  <msnyder@vmware.com>
7912
7913         * linux-low.c (list_threads): Call closedir for dirent.
7914
7915 2011-02-27  Michael Snyder  <msnyder@vmware.com>
7916
7917         * i386-low.c (i386-length_and_rw_bits): Comment the fact that
7918         a case statement falls through.
7919
7920         * linux-low.c (linux_xfer_siginfo): Fix fencepost error.
7921
7922         * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Fix fencepost error
7923         in comparison.
7924
7925 2011-02-26  Michael Snyder  <msnyder@vmware.com>
7926
7927         * utils.c (decimal2str): Eliminate dead code and dead param.
7928         (pulongest): Drop dead param from call to decimal2str.
7929         (plongest): Ditto.
7930
7931 2011-02-24  Joel Brobecker  <brobecker@adacore.com>
7932
7933         Revert the following patch (not approved yet):
7934         2011-02-21  Hui Zhu  <teawater@gmail.com>
7935         * tracepoint.c (tp_printf): New function.
7936         (eval_agent_expr): Handle gdb_agent_op_printf.
7937
7938 2011-02-21  Hui Zhu  <teawater@gmail.com>
7939
7940         * tracepoint.c (tp_printf): New function.
7941         (eval_agent_expr): Handle gdb_agent_op_printf.
7942
7943 2011-02-18  Tom Tromey  <tromey@redhat.com>
7944
7945         * Makefile.in (tracepoint-ipa.o): Depend on ax.def.
7946         (tracepoint.o): Likewise.
7947         * tracepoint.c (enum gdb_agent_op): Use ax.def.
7948         (gdb_agent_op_names): Likewise.
7949
7950 2011-02-18  Tom Tromey  <tromey@redhat.com>
7951
7952         * tracepoint.c (enum gdb_agent_op) <gdb_agent_op_pick,
7953         gdb_agent_op_rot>: New constants.
7954         (gdb_agent_op_names): Add pick and roll.
7955         (eval_agent_expr) <gdb_agent_op_pick, gdb_agent_op_rot>: New
7956         cases.
7957
7958 2011-02-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
7959
7960         * aclocal.m4: Regenerated with aclocal-1.11.1.
7961
7962 2011-02-14  Pedro Alves  <pedro@codesourcery.com>
7963
7964         * server.c (handle_qxfer_traceframe_info): New.
7965         (qxfer_packets): Register "traceframe-info".
7966         (handle_query): Report support for qXfer:traceframe-info:read+.
7967         * tracepoint.c (match_blocktype): New.
7968         (traceframe_find_block_type): Rename to ...
7969         (traceframe_walk_blocks): ... this.  Add callback filter argument,
7970         and use it.
7971         (traceframe_find_block_type): New, reimplemented on top of
7972         traceframe_walk_blocks.
7973         (build_traceframe_info_xml): New.
7974         (traceframe_read_info): New.
7975         * server.h (traceframe_read_info): Declare.
7976
7977 2011-02-11  Yao Qi  <yao@codesourcery.com>
7978
7979         * configure.ac: Call AC_PROG_RANLIB.
7980         * Makefile.in: Remove signals.o from OBS.  Link libcommon.a.
7981         * configure: Regenerate.
7982
7983 2011-02-07  Pedro Alves  <pedro@codesourcery.com>
7984
7985         * server.c (gdb_read_memory): Change return semantics to allow
7986         partial transfers.
7987         (handle_search_memory_1): Adjust.
7988         (process_serial_event) <'m' packet>: Handle partial transfers.
7989         * tracepoint.c (traceframe_read_mem): Handle partial transfers.
7990
7991 2011-01-28  Pedro Alves  <pedro@codesourcery.com>
7992
7993         * regcache.c (init_register_cache): Initialize
7994         regcache->register_status.
7995         (free_register_cache): Release regcache->register_status.
7996         (regcache_cpy): Copy register_status.
7997         (registers_to_string): Print 'x's for unavailable registers.
7998         (supply_register): Mark the register's status valid or
7999         unavailable, depending on whether a buffer was passed in or not.
8000         (supply_register_zeroed): New.
8001         (supply_regblock): Mark the registers' status valid or
8002         unavailable, depending on whether a buffer was passed in or not.
8003         * regcache.h (REG_UNAVAILABLE, REG_VALID): New defines.
8004         (struct regcache): New `register_status' field.
8005         (supply_register_zeroed): Declare.
8006         * i387-fp.c (i387_xsave_to_cache): Zero out registers using
8007         supply_register_zeroed, rather than passing a NULL buffer to
8008         supply_register.
8009         * tracepoint.c (fetch_traceframe_registers): Update comment.
8010
8011 2011-01-28  Pedro Alves  <pedro@codesourcery.com>
8012
8013         * i387-fp.c (i387_xsave_to_cache): Make passing NULL as register
8014         buffer explicit.
8015
8016 2011-01-25  Pedro Alves  <pedro@codesourcery.com>
8017
8018         * server.h (decode_xfer_write): Change prototype.
8019         * remote-utils.c (decode_xfer_write): Remove `annex' parameter,
8020         and don't extract the annex here.
8021         * server.c (decode_xfer_read): Remove `annex' parameter,
8022         and don't extract the annex here.
8023         (decode_xfer): New.
8024         (struct qxfer): New.
8025         (handle_qxfer_auxv, handle_qxfer_features, handle_qxfer_libraries)
8026         (handle_qxfer_osdata, handle_qxfer_siginfo, handle_qxfer_spu)
8027         (handle_qxfer_statictrace): New functions, abstracted out from
8028         handle_query, and made to use the struct qxfer interface.
8029         (handle_threads_qxfer_proper): Rename to ...
8030         (handle_qxfer_threads_proper): ... this.
8031         (handle_threads_qxfer): Rename to ...
8032         (handle_qxfer_threads): ... this.  Adjust.
8033         (qxfer_packets): New array.
8034         (handle_qxfer): New function.
8035         (handle_query): Use handle_qxfer.
8036
8037 2011-01-05  Michael Snyder  <msnyder@msnyder-server.eng.vmware.com>
8038
8039         * gdbreplay.c: Shorten lines of >= 80 columns.
8040         * linux-low.c: Ditto.
8041         * linux-ppc-low.c: Ditto.
8042         * linux-s390-low.c: Ditto.
8043         * linux-sparc-low.c: Ditto.
8044         * linux-x86-low.c: Ditto.
8045         * linux-xtensa-low.c: Ditto.
8046         * mem-break.c: Ditto.
8047         * nto-low.c: Ditto.
8048         * regcache.h: Ditto.
8049         * remote-utils.c: Ditto.
8050         * server.c: Ditto.
8051         * server.h: Ditto.
8052         * thread-db.c: Ditto.
8053         * tracepoint.c: Ditto.
8054         * utils.c: Ditto.
8055         * win32-low.h: Ditto.
8056
8057 2011-01-05  Joel Brobecker  <brobecker@adacore.com>
8058
8059         * gdbserver/configure.ac, gdbserver/gdbserver.1: Copyright year
8060         update.
8061
8062 2011-01-01  Joel Brobecker  <brobecker@adacore.com>
8063
8064         * server.c (gdbserver_version): Update copyright year in version
8065         output.
8066         * gdbreplay.c (gdbreplay_version): Ditto.
8067
8068 2010-12-29  Jie Zhang  <jie.zhang@analog.com>
8069
8070         * configure.srv (bfin-*-*linux*): Handle Blackfin/Linux targets.
8071         * linux-bfin-low.c: New file.
8072         * linux-low.c: Define PT_TEXT_ADDR, PT_TEXT_END_ADDR, and
8073         PT_DATA_ADDR for BFIN targets.
8074         * Makefile.in (SFILES): Add linux-bfin-low.c.
8075         (clean): Remove reg-bfin.c.
8076         (linux-bfin-low.o, reg-bfin.o, reg-bfin.c): New targets.
8077         * README: Mention supported Blackfin targets.
8078
8079 2010-12-23  Mike Frysinger  <vapier@gentoo.org>
8080
8081         * .gitignore: New file.
8082
8083 2010-11-16  Mike Frysinger  <vapier@gentoo.org>
8084
8085         * linux-low.c (linux_tracefork_child): Add char* cast to arg.
8086
8087 2010-10-22  Jie Zhang  <jie@codesourcery.com>
8088
8089         * Makefile.in: Add FLAGS_TO_PASS variable.
8090         (install): Remove dependency of install-only and recursively
8091         invoke make for install-only.
8092
8093 2010-10-04  Doug Evans  <dje@google.com>
8094
8095         * Makefile.in (uninstall): Use $(DESTDIR).
8096
8097 2010-09-24  Pedro Alves  <pedro@codesourcery.com>
8098
8099         PR gdb/11842
8100
8101         * linux-x86-low.c (compat_siginfo_from_siginfo)
8102         (siginfo_from_compat_siginfo): Also copy si_pid and si_uid when
8103         si_code is < 0.  Check for si_code == SI_TIMER before checking for
8104         si_code < 0.
8105
8106 2010-09-13  Joel Brobecker  <brobecker@adacore.com>
8107
8108         * lynx-i386-low.c: New file.
8109         * configure.srv: Add handling of i[34567]86-*-lynxos* targets.
8110
8111 2010-09-13  Joel Brobecker  <brobecker@adacore.com>
8112
8113         * lynx-low.c (ptrace_request_to_str): Remove handling for
8114         request values that have been removed in LynxOS 5.x.
8115
8116 2010-09-13  Joel Brobecker  <brobecker@adacore.com>
8117
8118         * lynx-low.c, lynx-ppc-loc.c: Include <sys/ptrace.h> instead of
8119         <ptrace.h>
8120
8121 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
8122
8123         * configure.ac: Add --enable-inprocess-agent option.
8124         * configure: Rebuilt.
8125
8126 2010-09-06  Yao Qi  <yao@codesourcery.com>
8127
8128         * linux-low.c (linux_kill): Remove unused variable.
8129         (linux_stabilize_threads): Likewise.
8130         * server.c (start_inferior): Likewise.
8131         (queue_stop_reply_callback): Likewise.
8132         * tracepoint.c (do_action_at_tracepoint): Likewise.
8133
8134 2010-09-06  Yao Qi  <yao@codesourcery.com>
8135
8136         * linux-low.c (maybe_move_out_of_jump_pad): Restore current_inferior
8137         on return.
8138
8139 2010-09-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
8140
8141         * target.c (mywait) <TARGET_WAITKIND_EXITED>: Fix to use INTEGER.
8142
8143 2010-09-06  Pedro Alves  <pedro@codesourcery.com>
8144
8145         * Makefile.in (install-only): Replace $IPA_DEPFILES with
8146         "$(IPA_DEPFILES)".
8147
8148 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8149
8150         * gdbserver/lynx-low.c, gdbserver/lynx-low.h,
8151         gdbserver/lynx-ppc-low.c: New files.
8152         * Makefile.in (lynx_low_h): New variable.
8153         (lynx-low.o, lynx-ppc-low.o): New rules.
8154         * configure.ac: On LynxOS, link with -lnetinet.
8155         * configure.srv: Add handling of powerpc-*-lynxos* targets.
8156         * configure: regenerate.
8157
8158 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8159
8160         * Makefile.in (vasprintf.o, vsnprintf.o): New rules.
8161         * configure.ac: Add check for vasprintf and vsnprintf.
8162         * configure, config.in: Regenerate.
8163         * server.h (vasprintf, vsnprintf): Add conditional declarations.
8164
8165 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8166
8167         * gdbreplay.c: Move include of alloca.h up, next to include of
8168         malloc.h.
8169         * server.h: Add include of malloc.h.
8170         * mem-break.c: Remove include of malloc.h.
8171         * server.c, tracepoint.c, utils.c, win32-low.c: Likewise.
8172
8173 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8174
8175         * Makefile.in (memmem.o): Build with -Wno-error.
8176
8177 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8178
8179         * utils.c (xsnprintf): Make non-static.
8180         * server.h: Add xsnprintf declaration.
8181         * linux-low.c, nto-low.c, target.c, thread-db.c, tracepoint.c:
8182         replace calls to snprintf by calls to xsnprintf throughout.
8183
8184 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8185
8186         * configure.ac: Add configure check for alloca.
8187         * configure, config.in: Regenerate.
8188         * server.h: Include alloca.h if it exists.
8189         * gdbreplay.c: Include alloca.h if it exists.
8190
8191 2010-08-28  Pedro Alves  <pedro@codesourcery.com>
8192
8193         * linux-low.c (__SIGRTMIN): Define if not already defined.
8194         (linux_create_inferior): Check for __ANDROID__ rather than
8195         __SIGRTMIN.
8196         (enqueue_one_deferred_signal): Don't requeue non-RT signals that
8197         are already deferred.
8198         (linux_wait_1): Check for __ANDROID__ rather than __SIGRTMIN.
8199         (linux_resume_one_thread): Don't queue a SIGSTOP if the lwp is
8200         stopped and already has a pending signal to report.
8201         (proceed_one_lwp): : Don't queue a SIGSTOP if the lwp already has
8202         a pending signal to report or is moving out of a jump pad.
8203         (linux_init_signals): Check for __ANDROID__ rather than
8204         __SIGRTMIN.
8205
8206 2010-08-28  Pedro Alves  <pedro@codesourcery.com>
8207
8208         * linux-low.c (linux_stabilize_threads): Wrap debug output in a
8209         debug_threads check.  Avoid a linear search when not doing debug
8210         output.
8211
8212 2010-08-27  Pedro Alves  <pedro@codesourcery.com>
8213
8214         * event-loop.c (event_handle_func): Adjust to use gdb_fildes_t.
8215         (struct gdb_event) <fd>: Change type to gdb_fildes_t.
8216         (struct file_handler) <fd>: Change type to gdb_fildes_t.
8217         (process_event): Change local fd's type to gdb_fildes_t.
8218         (create_file_handler): Adjust prototype.
8219         (delete_file_handler): Adjust prototype.
8220         (handle_file_event): Adjust prototype.  Use pfildes.
8221         (create_file_event): Adjsut prototype.
8222         * remote-utils.c (remote_desc, listen_desc): Change type to
8223         gdb_fildes_t.
8224         * server.h: New gdb_fildes_t typedef.
8225         [USE_WIN32API]: Include winsock2.h.
8226         (delete_file_handler, add_file_handler): Adjust prototypes.
8227         (pfildes): Declare.
8228         * utils.c (pfildes): New.
8229
8230 2010-08-27  Pedro Alves  <pedro@codesourcery.com>
8231
8232         * configure.ac (build_warnings): Add -Wno-char-subscripts.
8233         * configure: Regenerate.
8234
8235 2010-08-27  Pedro Alves  <pedro@codesourcery.com>
8236
8237         * linux-low.c (linux_unprepare_to_access_memory): Rename to ...
8238         (linux_done_accessing_memory): ... this.
8239         (linux_target_ops): Adjust.
8240         * linux-x86-low.c (x86_insert_point, x86_remove_point): Adjust.
8241         * nto-low.c (nto_target_ops): Adjust comment.
8242         * server.c (gdb_read_memory, gdb_write_memory): Adjust.
8243         * spu-low.c (spu_target_ops): Adjust comment.
8244         * target.h (target_ops): Rename unprepare_to_access_memory field
8245         to done_accessing_memory.
8246         (unprepare_to_access_memory): Rename to ...
8247         (done_accessing_memory): ... this.
8248
8249 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
8250
8251         * linux-low.c (linux_prepare_to_access_memory): New.
8252         (linux_unprepare_to_access_memory): New.
8253         (linux_target_ops): Install them.
8254         * server.c (read_memory): Rename to ...
8255         (gdb_read_memory): ... this.  Use
8256         prepare_to_access_memory/prepare_to_access_memory.
8257         (write_memory): Rename to ...
8258         (gdb_write_memory): ... this.  Use
8259         prepare_to_access_memory/prepare_to_access_memory.
8260         (handle_search_memory_1): Adjust.
8261         (process_serial_event): Adjust.
8262         * target.h (struct target_ops): New fields
8263         prepare_to_access_memory and unprepare_to_access_memory.
8264         (prepare_to_access_memory, unprepare_to_access_memory): New.
8265         * linux-x86-low.c (x86_insert_point, x86_remove_point): Use
8266         prepare_to_access_memory/prepare_to_access_memory.
8267         * nto-low.c (nto_target_ops): Adjust.
8268         * spu-low.c (spu_target_ops): Adjust.
8269         * win32-low.c (win32_target_ops): Adjust.
8270
8271 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
8272
8273         * Makefile.in (WARN_CFLAGS): Get it from configure.
8274         (WERROR_CFLAGS): New.
8275         (INTERNAL_CFLAGS): Add WERROR_CFLAGS.
8276         * configure.ac: Introduce --enable-werror, which adds -Werror to
8277         the compiler command line.  Enabled by default.  Disable with
8278         --disable-werror.  Add -Wdeclaration-after-statement
8279         Wpointer-arith and -Wformat-nonliteral to warning flags.
8280         * configure: Regenerate.
8281
8282 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
8283
8284         * mem-break.c [HAVE_MALLOC_H]: Include malloc.h.
8285
8286 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
8287
8288         * gdbreplay.c (remote_error): New.
8289         (gdbchar): New.
8290         (expect): Use gdbchar.  Check for error reading from GDB.
8291         Clarify sync error output.
8292         (play): Check for errors writing to GDB.
8293         * linux-low.c (sigchld_handler): Really ignore `write' errors.
8294         * remote-utils.c (getpkt): Check for errors writing to the remote
8295         descriptor.
8296
8297 2010-08-25  Pedro Alves  <pedro@codesourcery.com>
8298
8299         * linux-low.c (linux_wait_1): Move non-debugging code out of
8300         `debug_threads' control.
8301
8302 2010-08-25  Pedro Alves  <pedro@codesourcery.com>
8303
8304         * linux-low.c (linux_wait_1): Don't set last_status here.
8305         * server.c (push_event, queue_stop_reply_callback): Assert we're
8306         not pushing a TARGET_WAITKIND_IGNORE event.
8307         (start_inferior, start_inferior, attach_inferior, handle_v_cont)
8308         (myresume, handle_target_event): Set the thread's last_resume_kind
8309         and last_status from the target returned status.
8310
8311 2010-08-25  Pedro Alves  <pedro@codesourcery.com>
8312
8313         PR threads/10729
8314
8315         * linux-x86-low.c (update_debug_registers_callback): New.
8316         (i386_dr_low_set_addr): Use it.
8317         (i386_dr_low_get_addr): New.
8318         (i386_dr_low_set_control): Use update_debug_registers_callback.
8319         (i386_dr_low_get_control): New.
8320         (i386_dr_low_get_status): Adjust.
8321         * linux-low.c (linux_stop_lwp): New.
8322         * linux-low.h (linux_stop_lwp): Declare.
8323
8324         * i386-low.c (I386_DR_GET_RW_LEN): Take the dr7 contents as
8325         argument instead of a i386_debug_reg_state.
8326         (I386_DR_WATCH_HIT): Take the dr6 contents as argument instead of
8327         a i386_debug_reg_state.
8328         (i386_insert_aligned_watchpoint): Adjust.
8329         (i386_remove_aligned_watchpoint): Adjust.
8330         (i386_low_stopped_data_address): Read the debug registers from the
8331         inferior instead of from the mirrors.
8332         * i386-low.h (struct i386_debug_reg_state): Extend comment.
8333         (i386_dr_low_get_addr): Declare.
8334         (i386_dr_low_get_control): Declare.
8335         (i386_dr_low_get_status): Change prototype.
8336
8337         * win32-i386-low.c (dr_status_mirror, dr_control_mirror): New globals.
8338         (i386_dr_low_get_addr): New.
8339         (i386_dr_low_get_control): New.
8340         (i386_dr_low_get_status): Adjust prototype.  Return
8341         dr_status_mirror.
8342         (i386_initial_stuff): Clear dr_status_mirror and
8343         dr_control_mirror.
8344         (i386_get_thread_context): Adjust.
8345         (i386_set_thread_context): Adjust.
8346         (i386_thread_added): Adjust.
8347
8348 2010-08-24  Pedro Alves  <pedro@codesourcery.com>
8349
8350         * linux-low.h (linux_thread_area): Delete declaration.
8351
8352 2010-08-11  Thomas Schwinge  <thomas@codesourcery.com>
8353
8354         * linux-low.c (linux_wait_1): Correctly return the ptid of the child
8355         after its termination.
8356
8357 2010-08-09  Pedro Alves  <pedro@codesourcery.com>
8358
8359         * linux-low.c (gdb_wants_lwp_stopped): Delete.
8360         (gdb_wants_all_stopped): Delete.
8361         (linux_wait_1): Don't call them.
8362         * server.c (handle_v_cont): Tag all threads as want-stopped.
8363         (gdb_wants_thread_stopped): Fix comments.  Tag the thread that
8364         stopped as "client-wants-stopped".
8365
8366 2010-07-31  Pedro Alves  <pedro@codesourcery.com>
8367
8368         * Makefile.in (signals_h): New.
8369         (server_h): Depend on it.
8370         (server.o): Don't depend on $(signals_def).
8371         (signals.o): Depend on $(signals_def).
8372
8373 2010-07-31  Jan Kratochvil  <jan.kratochvil@redhat.com>
8374
8375         * Makefile.in (signals_def): New.
8376         (server_h): Append include/gdb/signals.h and signals_def.
8377         (server.o): Append signals_def.
8378
8379 2010-07-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
8380
8381         * server.c (handle_target_event): Use target_signal_to_host for
8382         resume_info.sig initialization.
8383         * target.h (struct thread_resume) <sig>: New comment.
8384
8385 2010-07-20  Ozkan Sezer  <sezeroz@gmail.com>
8386
8387         * server.c (handle_query): strcpy() the returned string from paddress()
8388         instead of sprintf().
8389         * utils.c (paddress): Return phex_nz().
8390
8391 2010-07-07  Joel Brobecker  <brobecker@adacore.com>
8392
8393         * server.c (handle_v_cont): Call mourn_inferior if process
8394         just exited.
8395         (myresume): Likewise.
8396
8397 2010-07-01  Pedro Alves  <pedro@codesourcery.com>
8398
8399         Static tracepoints, and integration with UST.
8400
8401         * configure.ac: Handle --with-ust.  substitute ustlibs and ustinc.
8402         * mem-break.c (uninsert_all_breakpoints)
8403         (reinsert_all_breakpoints): New.
8404         * mem-break.h (reinsert_all_breakpoints, uninsert_all_breakpoints):
8405         * tracepoint.c (ust_loaded, helper_thread_id, cmd_buf): New.
8406         (gdb_agent_ust_loaded, helper_thread_id)
8407         (gdb_agent_helper_thread_id): New macros.
8408         (struct ipa_sym_addresses): Add addr_ust_loaded,
8409         addr_helper_thread_id, addr_cmd_buf.
8410         (symbol_list): Add ust_loaded, helper_thread_id, cmd_buf.
8411         (in_process_agent_loaded_ust): New.
8412         (write_e_ust_not_loaded): New.
8413         (maybe_write_ipa_ust_not_loaded): New.
8414         (struct collect_static_trace_data_action): New.
8415         (enum tracepoint_type) <static_tracepoint>: New.
8416         (struct tracepoint) <handle>: Mention static tracepoints.
8417         (struct static_tracepoint_ctx): New.
8418         (CMD_BUF_SIZE): New.
8419         (add_tracepoint_action): Handle static tracepoint actions.
8420         (unprobe_marker_at): New.
8421         (clear_installed_tracepoints): Handle static tracepoints.
8422         (cmd_qtdp): Handle static tracepoints.
8423         (probe_marker_at): New.
8424         (cmd_qtstart): Handle static tracepoints.
8425         (response_tracepoint): Handle static tracepoints.
8426         (cmd_qtfstm, cmd_qtsstm, cmd_qtstmat): New.
8427         (handle_tracepoint_query): Handle qTfSTM, qTsSTM and qTSTMat.
8428         (get_context_regcache): Handle static tracepoints.
8429         (do_action_at_tracepoint): Handle static tracepoint actions.
8430         (traceframe_find_block_type): Handle static trace data blocks.
8431         (traceframe_read_sdata): New.
8432         (download_tracepoints): Download static tracepoint actions.
8433         [HAVE_UST] Include ust/ust.h, dlfcn.h, sys/socket.h, and sys/un.h.
8434         (GDB_PROBE_NAME): New.
8435         (ust_ops): New.
8436         (GET_UST_SYM): New.
8437         (USTF): New.
8438         (dlsym_ust): New.
8439         (ust_marker_to_static_tracepoint): New.
8440         (gdb_probe): New.
8441         (collect_ust_data_at_tracepoint): New.
8442         (gdb_ust_probe): New.
8443         (UNIX_PATH_MAX, SOCK_DIR): New.
8444         (gdb_ust_connect_sync_socket): New.
8445         (resume_thread, stop_thread): New.
8446         (run_inferior_command): New.
8447         (init_named_socket): New.
8448         (gdb_ust_socket_init): New.
8449         (cstr_to_hexstr): New.
8450         (next_st): New.
8451         (first_marker, next_marker): New.
8452         (response_ust_marker): New.
8453         (cmd_qtfstm, cmd_qtsstm): New.
8454         (unprobe_marker_at, probe_marker_at): New.
8455         (cmd_qtstmat, gdb_ust_thread): New.
8456         (gdb_ust_init): New.
8457         (initialize_tracepoint_ftlib): Call gdb_ust_init.
8458         * linux-amd64-ipa.c [HAVE_UST]: Include ust/processor.h
8459         (ST_REGENTRY): New.
8460         (x86_64_st_collect_regmap): New.
8461         (X86_64_NUM_ST_COLLECT_GREGS): New.
8462         (AMD64_RIP_REGNUM): New.
8463         (supply_static_tracepoint_registers): New.
8464         * linux-i386-ipa.c [HAVE_UST]: Include ust/processor.h
8465         (ST_REGENTRY): New.
8466         (i386_st_collect_regmap): New.
8467         (i386_NUM_ST_COLLECT_GREGS): New.
8468         (supply_static_tracepoint_registers): New.
8469         * server.c (handle_query): Handle qXfer:statictrace:read.
8470         <qSupported>: Report support for StaticTracepoints, and
8471         qXfer:statictrace:read features.
8472         * server.h (traceframe_read_sdata)
8473         (supply_static_tracepoint_registers): Declare.
8474         * remote-utils.c (convert_int_to_ascii, hexchars, ishex, tohex)
8475         (unpack_varlen_hex): Include in IPA build.
8476         * Makefile.in (ustlibs, ustinc): New.
8477         (IPA_OBJS): Add remote-utils-ipa.o.
8478         ($(IPA_LIB)): Link -ldl and -lpthread.
8479         (UST_CFLAGS): New.
8480         (IPAGENT_CFLAGS): Add UST_CFLAGS.
8481         * config.in, configure: Regenerate.
8482
8483 2010-06-20  Ian Lance Taylor  <iant@google.com>
8484             Pedro Alves  <pedro@codesourcery.com>
8485
8486         * linux-x86-low.c (always_true): Delete.
8487         (EMIT_ASM, EMIT_ASM32): Use an uncondition asm jmp instead of
8488         trying to fool the compiler with always_true.
8489
8490 2010-06-20  Pedro Alves  <pedro@codesourcery.com>
8491
8492         * tracepoint.c (condition_true_at_tracepoint): Don't run compiled
8493         conditions in gdbserver.
8494
8495 2010-06-19  Ulrich Weigand  <uweigand@de.ibm.com>
8496
8497         * spu-low.c (spu_read_memory): Wrap around local store limit.
8498         (spu_write_memory): Likewise.
8499
8500 2010-06-15  Pedro Alves  <pedro@codesourcery.com>
8501
8502         * linux-x86-low.c (amd64_emit_const, amd64_emit_void_call_2)
8503         (i386_emit_const, i386_emit_void_call_2): Replace int64_t uses with
8504         LONGEST uses.
8505         * server.h (struct emit_ops): Replace int64_t uses with LONGEST
8506         uses.
8507         * tracepoint.c (emit_const, emit_void_call_2): Replace int64_t
8508         uses with LONGEST uses.
8509
8510 2010-06-14  Stan Shebs  <stan@codesourcery.com>
8511             Pedro Alves  <pedro@codesourcery.com>
8512
8513         Bytecode compiler.
8514
8515         * linux-x86-low.c: Include limits.h.
8516         (add_insns): New.
8517         (always_true): New.
8518         (EMIT_ASM): New.
8519         (EMIT_ASM32): New.
8520         (amd64_emit_prologue, amd64_emit_epilogue, amd64_emit_add)
8521         (amd64_emit_sub, amd64_emit_mul, amd64_emit_lsh)
8522         (amd64_emit_rsh_signed, amd64_emit_rsh_unsigned, amd64_emit_ext,
8523         (amd64_emit_log_not, amd64_emit_bit_and, amd64_emit_bit_or)
8524         (amd64_emit_bit_xor, amd64_emit_bit_not, amd64_emit_equal,
8525         (amd64_emit_less_signed, amd64_emit_less_unsigned, amd64_emit_ref,
8526         (amd64_emit_if_goto, amd64_emit_goto, amd64_write_goto_address)
8527         (amd64_emit_const, amd64_emit_call, amd64_emit_reg)
8528         (amd64_emit_pop, amd64_emit_stack_flush, amd64_emit_zero_ext)
8529         (amd64_emit_swap, amd64_emit_stack_adjust, amd64_emit_int_call_1)
8530         (amd64_emit_void_call_2): New.
8531         (amd64_emit_ops): New.
8532         (i386_emit_prologue, i386_emit_epilogue, i386_emit_add)
8533         (i386_emit_sub,i386_emit_mul, i386_emit_lsh, i386_emit_rsh_signed)
8534         (i386_emit_rsh_unsigned, i386_emit_ext, i386_emit_log_not)
8535         (i386_emit_bit_and, i386_emit_bit_or, i386_emit_bit_xor)
8536         (i386_emit_bit_not, i386_emit_equal, i386_emit_less_signed)
8537         (i386_emit_less_unsigned, i386_emit_ref, i386_emit_if_goto)
8538         (i386_emit_goto, i386_write_goto_address, i386_emit_const)
8539         (i386_emit_call, i386_emit_reg, i386_emit_pop)
8540         (i386_emit_stack_flush, i386_emit_zero_ext, i386_emit_swap)
8541         (i386_emit_stack_adjust, i386_emit_int_call_1)
8542         (i386_emit_void_call_2): New.
8543         (i386_emit_ops): New.
8544         (x86_emit_ops): New.
8545         (the_low_target): Install x86_emit_ops.
8546         * server.h (struct emit_ops): New.
8547         (get_raw_reg_func_addr): Declare.
8548         (current_insn_ptr, emit_error): Declare.
8549         * tracepoint.c (get_raw_reg, get_trace_state_variable_value)
8550         (set_trace_state_variable_value): New defines.
8551         (struct ipa_sym_addresses): New fields addr_get_raw_reg,
8552         addr_get_trace_state_variable_value and
8553         addr_set_trace_state_variable_value.
8554         (symbol_list): New fields for get_raw_reg,
8555         get_trace_state_variable_value and set_trace_state_variable_value.
8556         (condfn): New typedef.
8557         (struct tracepoint): New field `compiled_cond'.
8558         (do_action_at_tracepoint): Clear compiled_cond.
8559         (get_trace_state_variable_value, set_trace_state_variable_value):
8560         Export in the IPA.
8561         (condition_true_at_tracepoint): If there's a compiled condition,
8562         run that.
8563         (current_insn_ptr, emit_error): New globals.
8564         (struct bytecode_address): New.
8565         (get_raw_reg_func_addr): New.
8566         (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul)
8567         (emit_lsh, emit_rsh_signed, emit_rsh_unsigned, emit_ext)
8568         (emit_log_not, emit_bit_and, emit_bit_or, emit_bit_xor)
8569         (emit_bit_not, emit_equal, emit_less_signed, emit_less_unsigned)
8570         (emit_ref, emit_if_goto, emit_goto, write_goto_address, emit_const)
8571         (emit_reg, emit_pop, emit_stack_flush, emit_zero_ext, emit_swap)
8572         (emit_stack_adjust, emit_int_call_1, emit_void_call_2): New.
8573         (compile_tracepoint_condition, compile_bytecodes): New.
8574         * target.h (emit_ops): Forward declare.
8575         (struct target_ops): New field emit_ops.
8576         (target_emit_ops): New.
8577         * linux-amd64-ipa.c (gdb_agent_get_raw_reg): New.
8578         * linux-i386-ipa.c (gdb_agent_get_raw_reg): New.
8579         * linux-low.c (linux_emit_ops): New.
8580         (linux_target_ops): Install it.
8581         * linux-low.h (struct linux_target_ops): New field emit_ops.
8582
8583 2010-06-14  Ulrich Weigand  <uweigand@de.ibm.com>
8584
8585         * linux-ppc-low.c (ppc_arch_setup): Use private regcache to test MSR.
8586         * linux-s390-low.c (ppc_arch_setup): Use private regcache to test PSW.
8587
8588 2010-06-01  Pedro Alves  <pedro@codesourcery.com>
8589             Stan Shebs  <stan@codesourcery.com>
8590
8591         * Makefile.in (IPA_DEPFILES, extra_libraries): New.
8592         (all): Depend on $(extra_libraries).
8593         (install-only): Install the IPA.
8594         (IPA_OBJS, IPA_LIB): New.
8595         (clean): Remove the IPA lib.
8596         (IPAGENT_CFLAGS): New.
8597         (tracepoint-ipa.o, utils-ipa.o, remote-utils-ipa.o)
8598         (regcache-ipa.o, i386-linux-ipa.o, linux-i386-ipa.o)
8599         (linux-amd64-ipa.o, amd64-linux-ipa.o): New rules.
8600         * linux-amd64-ipa.c, linux-i386-ipa.c: New files.
8601         * configure.ac: Check for atomic builtins support in the compiler.
8602         (IPA_DEPFILES, extra_libraries): Define.
8603         * configure.srv (ipa_obj): Add description.
8604         (ipa_i386_linux_regobj, ipa_amd64_linux_regobj): Define.
8605         (i[34567]86-*-linux*): Set ipa_obj.
8606         (x86_64-*-linux*): Set ipa_obj.
8607         * linux-low.c (stabilizing_threads): New.
8608         (supports_fast_tracepoints): New.
8609         (linux_detach): Stabilize threads before detaching.
8610         (handle_tracepoints): Handle internal tracing breakpoints.  Assert
8611         the lwp is either not stabilizing, or is moving out of a jump pad.
8612         (linux_fast_tracepoint_collecting): New.
8613         (maybe_move_out_of_jump_pad): New.
8614         (enqueue_one_deferred_signal): New.
8615         (dequeue_one_deferred_signal): New.
8616         (linux_wait_for_event_1): If moving out of a jump pad, defer
8617         pending signals to later.
8618         (linux_stabilize_threads): New.
8619         (linux_wait_1): Check if threads need moving out of jump pads, and
8620         do it if so.
8621         (stuck_in_jump_pad_callback): New.
8622         (move_out_of_jump_pad_callback): New.
8623         (lwp_running): New.
8624         (linux_resume_one_lwp): Handle moving out of jump pads.
8625         (linux_set_resume_request): Dequeue deferred signals.
8626         (need_step_over_p): Also step over fast tracepoint jumps.
8627         (start_step_over): Also uninsert fast tracepoint jumps.
8628         (finish_step_over): Also reinsert fast tracepoint jumps.
8629         (linux_install_fast_tracepoint_jump): New.
8630         (linux_target_ops): Install linux_stabilize_threads and
8631         linux_install_fast_tracepoint_jump_pad.
8632         * linux-low.h (linux_target_ops) <get_thread_area,
8633         install_fast_tracepoint_jump_pad>: New fields.
8634         (struct lwp_info) <collecting_fast_tracepoint,
8635         pending_signals_to_report, exit_jump_pad_bkpt>: New fields.
8636         (linux_get_thread_area): Declare.
8637         * linux-x86-low.c (jump_insn): New.
8638         (x86_get_thread_area): New.
8639         (append_insns): New.
8640         (push_opcode): New.
8641         (amd64_install_fast_tracepoint_jump_pad): New.
8642         (i386_install_fast_tracepoint_jump_pad): New.
8643         (x86_install_fast_tracepoint_jump_pad): New.
8644         (the_low_target): Install x86_get_thread_area and
8645         x86_install_fast_tracepoint_jump_pad.
8646         * mem-break.c (set_raw_breakpoint_at): Use read_inferior_memory.
8647         (struct fast_tracepoint_jump): New.
8648         (fast_tracepoint_jump_insn): New.
8649         (fast_tracepoint_jump_shadow): New.
8650         (find_fast_tracepoint_jump_at): New.
8651         (fast_tracepoint_jump_here): New.
8652         (delete_fast_tracepoint_jump): New.
8653         (set_fast_tracepoint_jump): New.
8654         (uninsert_fast_tracepoint_jumps_at): New.
8655         (reinsert_fast_tracepoint_jumps_at): New.
8656         (set_breakpoint_at): Use write_inferior_memory.
8657         (uninsert_raw_breakpoint): Use write_inferior_memory.
8658         (check_mem_read): Mask out fast tracepoint jumps.
8659         (check_mem_write): Mask out fast tracepoint jumps.
8660         * mem-break.h (struct fast_tracepoint_jump): Forward declare.
8661         (set_fast_tracepoint_jump): Declare.
8662         (delete_fast_tracepoint_jump)
8663         (fast_tracepoint_jump_here, uninsert_fast_tracepoint_jumps_at)
8664         (reinsert_fast_tracepoint_jumps_at): Declare.
8665         * regcache.c: Don't compile many functions when building the
8666         in-process agent library.
8667         (init_register_cache) [IN_PROCESS_AGENT]: Don't allow allocating
8668         the register buffer in the heap.
8669         (free_register_cache): If the register buffer isn't owned by the
8670         regcache, don't free it.
8671         (set_register_cache) [IN_PROCESS_AGENT]: Don't re-alocate
8672         pre-existing register caches.
8673         * remote-utils.c (convert_int_to_ascii): Constify `from' parameter
8674         type.
8675         (convert_ascii_to_int): : Constify `from' parameter type.
8676         (decode_M_packet, decode_X_packet): Replace the `to' parameter by
8677         a `to_p' pointer to pointer parameter.  If TO_P is NULL, malloc
8678         the needed buffer in-place.
8679         (relocate_instruction): New.
8680         * server.c (handle_query) <qSymbols>: If the target supports
8681         tracepoints, give it a chance of looking up symbols.  Report
8682         support for fast tracepoints.
8683         (handle_status): Stabilize threads.
8684         (process_serial_event): Adjust.
8685         * server.h (struct fast_tracepoint_jump): Forward declare.
8686         (struct process_info) <fast_tracepoint_jumps>: New field.
8687         (convert_ascii_to_int, convert_int_to_ascii): Adjust.
8688         (decode_X_packet, decode_M_packet): Adjust.
8689         (relocate_instruction): Declare.
8690         (in_process_agent_loaded): Declare.
8691         (tracepoint_look_up_symbols): Declare.
8692         (struct fast_tpoint_collect_status): Declare.
8693         (fast_tracepoint_collecting): Declare.
8694         (force_unlock_trace_buffer): Declare.
8695         (handle_tracepoint_bkpts): Declare.
8696         (initialize_low_tracepoint)
8697         (supply_fast_tracepoint_registers) [IN_PROCESS_AGENT]: Declare.
8698         * target.h (struct target_ops) <stabilize_threads,
8699         install_fast_tracepoint_jump_pad>: New fields.
8700         (stabilize_threads, install_fast_tracepoint_jump_pad): New.
8701         * tracepoint.c [HAVE_MALLOC_H]: Include malloc.h.
8702         [HAVE_STDINT_H]: Include stdint.h.
8703         (trace_debug_1): Rename to ...
8704         (trace_vdebug): ... this.
8705         (trace_debug): Rename to ...
8706         (trace_debug_1): ... this.  Add `level' parameter.
8707         (trace_debug): New.
8708         (ATTR_USED, ATTR_NOINLINE): New.
8709         (IP_AGENT_EXPORT): New.
8710         (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
8711         (collecting, gdb_collect, stop_tracing, flush_trace_buffer)
8712         (about_to_request_buffer_space, trace_buffer_is_full)
8713         (stopping_tracepoint, expr_eval_result, error_tracepoint)
8714         (tracepoints, tracing, trace_buffer_ctrl, trace_buffer_ctrl_curr)
8715         (trace_buffer_lo, trace_buffer_hi, traceframe_read_count)
8716         (traceframe_write_count, traceframes_created)
8717         (trace_state_variables)
8718         New renaming defines.
8719         (struct ipa_sym_addresses): New.
8720         (STRINGIZE_1, STRINGIZE, IPA_SYM): New.
8721         (symbol_list): New.
8722         (ipa_sym_addrs): New.
8723         (all_tracepoint_symbols_looked_up): New.
8724         (in_process_agent_loaded): New.
8725         (write_e_ipa_not_loaded): New.
8726         (maybe_write_ipa_not_loaded): New.
8727         (tracepoint_look_up_symbols): New.
8728         (debug_threads) [IN_PROCESS_AGENT]: New.
8729         (read_inferior_memory) [IN_PROCESS_AGENT]: New.
8730         (UNKNOWN_SIDE_EFFECTS): New.
8731         (stop_tracing): New.
8732         (flush_trace_buffer): New.
8733         (stop_tracing_bkpt): New.
8734         (flush_trace_buffer_bkpt): New.
8735         (read_inferior_integer): New.
8736         (read_inferior_uinteger): New.
8737         (read_inferior_data_pointer): New.
8738         (write_inferior_data_pointer): New.
8739         (write_inferior_integer): New.
8740         (write_inferior_uinteger): New.
8741         (struct collect_static_trace_data_action): Delete.
8742         (enum tracepoint_type): New.
8743         (struct tracepoint) <type>: New field `type'.
8744         <actions_str, step_actions, step_actions_str>: Only include in
8745         GDBserver.
8746         <orig_size, obj_addr_on_target, adjusted_insn_addr>
8747         <adjusted_insn_addr_end, jump_pad, jump_pad_end>: New fields.
8748         (tracepoints): Use IP_AGENT_EXPORT.
8749         (last_tracepoint): Don't include in the IPA.
8750         (stopping_tracepoint): Use IP_AGENT_EXPORT.
8751         (trace_buffer_is_full): Use IP_AGENT_EXPORT.
8752         (alloced_trace_state_variables): New.
8753         (trace_state_variables): Use IP_AGENT_EXPORT.
8754         (traceframe_t): Delete unused variable.
8755         (circular_trace_buffer): Don't include in the IPA.
8756         (trace_buffer_start): Delete.
8757         (struct trace_buffer_control): New.
8758         (trace_buffer_free): Delete.
8759         (struct ipa_trace_buffer_control): New.
8760         (GDBSERVER_FLUSH_COUNT_MASK, GDBSERVER_FLUSH_COUNT_MASK_PREV)
8761         (GDBSERVER_FLUSH_COUNT_MASK_CURR, GDBSERVER_UPDATED_FLUSH_COUNT_BIT):
8762         New.
8763         (trace_buffer_ctrl): New.
8764         (TRACE_BUFFER_CTRL_CURR): New.
8765         (trace_buffer_start, trace_buffer_free, trace_buffer_end_free):
8766         Reimplement as macros.
8767         (trace_buffer_wrap): Delete.
8768         (traceframe_write_count, traceframe_read_count)
8769         (traceframes_created, tracing): Use IP_AGENT_EXPORT.
8770         (struct tracepoint_hit_ctx) <type>: New field.
8771         (struct fast_tracepoint_ctx): New.
8772         (memory_barrier): New.
8773         (cmpxchg): New.
8774         (record_tracepoint_error): Update atomically in the IPA.
8775         (clear_inferior_trace_buffer): New.
8776         (about_to_request_buffer_space): New.
8777         (trace_buffer_alloc): Handle GDBserver and inferior simulatenous
8778         updating the same buffer.
8779         (add_tracepoint): Default the tracepoint's type to trap
8780         tracepoint, and orig_size to -1.
8781         (get_trace_state_variable) [IN_PROCESS_AGENT]: Handle allocated
8782         internal variables.
8783         (create_trace_state_variable): New parameter `gdb'.  Handle it.
8784         (clear_installed_tracepoints): Clear fast tracepoint jumps.
8785         (cmd_qtdp): Handle fast tracepoints.
8786         (cmd_qtdv): Adjust.
8787         (max_jump_pad_size): New.
8788         (gdb_jump_pad_head): New.
8789         (get_jump_space_head): New.
8790         (claim_jump_space): New.
8791         (sort_tracepoints): New.
8792         (MAX_JUMP_SIZE): New.
8793         (cmd_qtstart): Handle fast tracepoints.  Sync tracepoints with the
8794         IPA.
8795         (stop_tracing) [IN_PROCESS_AGENT]: Don't include the tdisconnected
8796         support.  Upload fast traceframes, and delete internal IPA
8797         breakpoints.
8798         (stop_tracing_handler): New.
8799         (flush_trace_buffer_handler): New.
8800         (cmd_qtstop): Upload fast tracepoints.
8801         (response_tracepoint): Handle fast tracepoints.
8802         (tracepoint_finished_step): Upload fast traceframes.  Set the
8803         tracepoint hit context's tracepoint type.
8804         (handle_tracepoint_bkpts): New.
8805         (tracepoint_was_hit): Set the tracepoint hit context's tracepoint
8806         type.  Add comment about fast tracepoints.
8807         (collect_data_at_tracepoint) [IN_PROCESS_AGENT]: Don't access the
8808         non-existing action_str field.
8809         (get_context_regcache): Handle fast tracepoints.
8810         (do_action_at_tracepoint) [!IN_PROCESS_AGENT]: Don't write the PC
8811         to the regcache.
8812         (fast_tracepoint_from_jump_pad_address): New.
8813         (fast_tracepoint_from_ipa_tpoint_address): New.
8814         (collecting_t): New.
8815         (force_unlock_trace_buffer): New.
8816         (fast_tracepoint_collecting): New.
8817         (collecting): New.
8818         (gdb_collect): New.
8819         (write_inferior_data_ptr): New.
8820         (target_tp_heap): New.
8821         (target_malloc): New.
8822         (download_agent_expr): New.
8823         (UALIGN): New.
8824         (download_tracepoints): New.
8825         (download_trace_state_variables): New.
8826         (upload_fast_traceframes): New.
8827         (IPA_FIRST_TRACEFRAME): New.
8828         (IPA_NEXT_TRACEFRAME_1): New.
8829         (IPA_NEXT_TRACEFRAME): New.
8830         [IN_PROCESS_AGENT]: Include sys/mman.h and fcntl.h.
8831         [IN_PROCESS_AGENT] (gdb_tp_heap_buffer, gdb_jump_pad_buffer)
8832         (gdb_jump_pad_buffer_end): New.
8833         [IN_PROCESS_AGENT] (initialize_tracepoint_ftlib): New.
8834         (initialize_tracepoint): Adjust.
8835         [IN_PROCESS_AGENT]: Allocate the IPA heap, and jump pad scratch
8836         buffer.  Initialize the low module.
8837         * utils.c (PREFIX, TOOLNAME): New.
8838         (malloc_failure): Use PREFIX.
8839         (error): In the IPA, an error causes an exit.
8840         (fatal, warning): Use PREFIX.
8841         (internal_error): Use TOOLNAME.
8842         (NUMCELLS): Increase to 10.
8843         * configure, config.in: Regenerate.
8844
8845 2010-06-01  Pedro Alves  <pedro@codesourcery.com>
8846
8847         * server.c (handle_query) <qSupported>: Do two passes over the
8848         qSupported string to avoid nesting strtok.
8849
8850 2010-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
8851
8852         * Makefile.in (SFILES): Add $(srcdir)/proc-service.list.
8853         (CDEPS): New.
8854         * configure.ac (RDYNAMIC): New AC_MSG_CHECKING wrapping.  Test also
8855         -Wl,--dynamic-list.
8856         * configure: Regenerate.
8857         * proc-service.list: New.
8858
8859 2010-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
8860
8861         * linux-low.c (linux_core_of_thread): Fix crash on invalid CONTENT.
8862         New comment.
8863
8864 2010-05-26  Ozkan Sezer  <sezeroz@gmail.com>
8865
8866         * gdbreplay.c (remote_open): Check error return from socket() call by
8867         its equality to -1 not by it being negative.
8868         * remote-utils.c (remote_open): Likewise.
8869
8870 2010-05-23  Pedro Alves  <pedro@codesourcery.com>
8871
8872         * config.h: Regenerate.
8873
8874 2010-05-19  Maxim Kuvyrkov  <maxim@codesourcery.com>
8875
8876         * linux-m68k-low.c (ps_get_thread_area): Don't define if kernel
8877         doesn't provide PTRACE_GET_THREAD_AREA.
8878
8879 2010-05-19  Maxim Kuvyrkov  <maxim@codesourcery.com>
8880
8881         * linux-m68k-low.c: Include <asm/ptrace.h>
8882         (ps_get_thread_area): Implement.
8883
8884 2010-05-03  Doug Evans  <dje@google.com>
8885
8886         * event-loop.c (struct callback_event): New struct.
8887         (callback_list): New global.
8888         (append_callback_event, delete_callback_event): New functions.
8889         (process_callback): New function.
8890         (start_event_loop): Call it.
8891         * remote-utils.c (NOT_SCHEDULED): Define.
8892         (readchar_buf, readchar_bufcnt, readchar_bufp): New static globals,
8893         moved out of readchar.
8894         (readchar): Rewrite.  Call reschedule before returning.
8895         (reset_readchar): New function.
8896         (remote_close): Call it.
8897         (process_remaining, reschedule): New functions.
8898         * server.h (callback_handler_func): New typedef.
8899         (append_callback_event, delete_callback_event): Declare.
8900
8901 2010-05-03  Pedro Alves  <pedro@codesourcery.com>
8902
8903         * proc-service.c (ps_pglobal_lookup): Use
8904         thread_db_look_up_one_symbol.
8905         * remote-utils.c (look_up_one_symbol): Add new `may_ask_gdb'
8906         parameter.  Use it instead of all_symbols_looked_up.
8907         * server.h (struct process_info) <all_symbols_looked_up>: Delete
8908         field.
8909         (all_symbols_looked_up): Don't declare.
8910         (look_up_one_symbol): Add new `may_ask_gdb' parameter.
8911         * thread-db.c (struct thread_db) <all_symbols_looked_up>: New
8912         field.
8913         (thread_db_look_up_symbols): Adjust call to look_up_one_symbol.
8914         Set all_symbols_looked_up here.
8915         (thread_db_look_up_one_symbol): New.
8916         (thread_db_get_tls_address): Adjust.
8917         (thread_db_load_search, try_thread_db_load_1): Always allocate the
8918         thread_db object on the heap, and tentatively set it in the
8919         process structure.
8920         (thread_db_init): Don't set all_symbols_looked_up here.
8921         * linux-low.h (thread_db_look_up_one_symbol): Declare.
8922
8923 2010-05-03  Pedro Alves  <pedro@codesourcery.com>
8924
8925         * linux-low.c (linux_kill, linux_detach): Adjust.
8926         (status_pending_p_callback): Remove redundant statement.  Check
8927         for !TARGET_WAITIKIND_IGNORE, instead of
8928         TARGET_WAITKIND_STOPPED.
8929         (handle_tracepoints): Make sure LWP is locked.  Adjust.
8930         (linux_wait_for_event_1): Adjust.
8931         (linux_cancel_breakpoints): New.
8932         (unsuspend_one_lwp): New.
8933         (unsuspend_all_lwps): New.
8934         (linux_wait_1): If finishing a step-over, unsuspend all lwps.
8935         (send_sigstop_callback): Change return type to int, add new
8936         `except' parameter and handle it.
8937         (suspend_and_send_sigstop_callback): New.
8938         (stop_all_lwps): Add new `suspend' and `expect' parameters, and
8939         pass them down.  If SUSPEND, also increment the lwp's suspend
8940         count.
8941         (linux_resume_one_lwp): Add notice about resuming a suspended LWP.
8942         (need_step_over_p): Don't consider suspended LWPs.
8943         (start_step_over): Adjust.
8944         (proceed_one_lwp): Change return type to int, add new `except'
8945         parameter and handle it.
8946         (unsuspend_and_proceed_one_lwp): New.
8947         (proceed_all_lwps): Use find_inferior instead of
8948         for_each_inferior.
8949         (unstop_all_lwps): Add `unsuspend' parameter.  If UNSUSPEND, them
8950         also decrement the suspend count of LWPs.  Pass `except' down,
8951         instead of hacking its suspend count.
8952         (linux_pause_all): Add `freeze' parameter.  Adjust.
8953         (linux_unpause_all): New.
8954         (linux_target_ops): Install linux_unpause_all.
8955         * server.c (handle_status): Adjust.
8956         * target.h (struct target_ops): New fields `unpause_all' and
8957         `cancel_breakpoints'.  Add new parameter to `pause_all'.
8958         (pause_all): Add new `freeze' parameter.
8959         (unpause_all): New.
8960         (cancel_breakpoints): New.
8961         * tracepoint.c (clear_installed_tracepoints): Pause threads, and
8962         cancel breakpoints.
8963         (cmd_qtstart): Pause threads.
8964         (stop_tracing): Pause threads, and cancel breakpoints.
8965         * win32-low.c (win32_target_ops): Adjust.
8966
8967 2010-05-03  Pedro Alves  <pedro@codesourcery.com>
8968
8969         * linux-low.c (linux_wait_for_event_1): Move passing the signal to
8970         the inferior right away from here...
8971         (linux_wait_1): ... to here, and adjust to check the thread's
8972         last_resume_kind instead of the lwp's step or stop_expected flags.
8973
8974 2010-05-02  Pedro Alves  <pedro@codesourcery.com>
8975
8976         * README: Use consistent `GDB' and `GDBserver' spellings.
8977
8978 2010-05-02  Pedro Alves  <pedro@codesourcery.com>
8979
8980         * linux-low.c (linux_kill_one_lwp): Assume the lwp is stopped.
8981         (linux_kill): Stop all lwps here.  Don't delete the main lwp here.
8982         (linux_detach_one_lwp): Assume the lwp is stopped.
8983         (any_thread_of): Delete.
8984         (linux_detach): Stop all lwps here.  Don't blindly delete all
8985         breakpoints.
8986         (delete_lwp_callback): New.
8987         (linux_mourn): Delete all lwps of the process that is gone.
8988         (linux_wait_1): Don't delete the last lwp of the process here.
8989         * mem-break.h (mark_breakpoints_out): Declare.
8990         * mem-break.c (mark_breakpoints_out): New.
8991         (free_all_breakpoints): Use it.
8992         * server.c (handle_target_event): If the process is gone, mark
8993         breakpoints out.
8994         * thread-db.c (struct thread_db) <create_bp>: New field.
8995         (thread_db_enable_reporting): Fix prototype.  Store a thread event
8996         breakpoint reference in the thread_db struct.
8997         (thread_db_load_search): Clear the thread_db object.
8998         (try_thread_db_load_1): Ditto.
8999         (switch_to_process): New.
9000         (disable_thread_event_reporting): Use it.
9001         (remove_thread_event_breakpoints): New.
9002         (thread_db_detach, thread_db_mourn): Use it.
9003
9004 2010-05-01  Pedro Alves  <pedro@codesourcery.com>
9005
9006         * linux-low.c (linux_enable_event_reporting): New.
9007         (linux_wait_for_event_1, handle_extended_wait): Use it.
9008
9009 2010-04-30  Pedro Alves  <pedro@codesourcery.com>
9010
9011         * linux-low.c (linux_kill_one_lwp, linux_kill)
9012         (linux_detach_one_lwp): Adjust to send_sigstop interface change.
9013         (send_sigstop): Take an lwp_info as parameter instead.  Queue a
9014         SIGSTOP even if the LWP is stopped.
9015         (send_sigstop_callback): New.
9016         (stop_all_lwps): Use send_sigstop_callback instead.
9017         (linux_resume_one_thread): Adjust.
9018         (proceed_one_lwp): Still proceed an LWP that the client has
9019         requested to stop, if we haven't reported it as stopped yet.  Make
9020         sure that LWPs the client want stopped, have a pending SIGSTOP.
9021
9022 2010-04-26  Doug Evans  <dje@google.com>
9023
9024         * server.c (handle_general_set): Make static.
9025
9026         * remote-utils.c (putpkt_binary_1): Call readchar instead of read.
9027         Print received char after testing for error/eof instead of before.
9028         (input_interrupt): Tweak comment.
9029
9030 2010-04-23  Doug Evans  <dje@google.com>
9031
9032         * server.c (start_inferior): Print inferior argv if --debug.
9033
9034 2010-04-21  Aleksandar Ristovski  <aristovski@qnx.com>
9035
9036         * Makefile.in (nto_low_h nto-low.o nto-x86-low.o): New dependency lists.
9037         * nto-x86-low.c: Include server.h
9038
9039 2010-04-20  Pierre Muller  <muller@ics.u-strasbg.fr>
9040
9041         * win32-i386-low.c: Use __x86_64__ macro instead of __x86_64 to
9042         be consistent with other sources of this directory.
9043         (init_registers_amd64): Correct name of source file of this function
9044         in the comment.
9045
9046 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
9047
9048         * configure.srv (x86_64-*-mingw*): New configuration for Windows
9049         64-bit executables.
9050
9051 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
9052
9053         * win32-i386-low.c: Add 64-bit support.
9054         (CONTEXT_EXTENDED_REGISTERS): Set macro to zero if not exisiting.
9055         (init_registers_amd64): Declare.
9056         (mappings): Add 64-bit version of array.
9057         (init_windows_x86): New function.
9058         (the_low_target): Change init_arch field to init_windows_x86.
9059
9060 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
9061
9062         * win32-low.c: Adapt to support also 64-bit architecture.
9063         (child_xfer_memory): Use uintptr_t type for local variable `addr'.
9064         (get_image_name): Use SIZE_T type for local variable `done'.
9065         (psapi_get_dll_name): Use LPVOID type for parameter `BaseAddress'.
9066         (toolhelp_get_dll_name): Idem.
9067         (handle_load_dll): Use CORE_ADDR type for local variable `load_addr'.
9068         Use uintptr_t typecast to avoid warning.
9069         (handle_unload_dll): Use uintptr_t typecast to avoid warning.
9070         (handle_exception): Use phex_nz to avoid warning.
9071         (win32_wait): Remove unused local variable `process'.
9072
9073 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
9074
9075         * configure.srv (srv_amd64_regobj): Replace `x86-64-avx.o' by
9076         `amd64-avx.o'.
9077
9078 2010-04-17  Pierre Muller  <muller@ics.u-strasbg.fr>
9079
9080         * configure.ac: Use `ws2_32' library for srv_mingw.
9081         * configure: Regenerate.
9082         * gdbreplay.c: Include winsock2.h instead of winsock.h.
9083         * remote-utils.c: Likewise.
9084
9085 2010-04-17  H.J. Lu  <hongjiu.lu@intel.com>
9086
9087         * linux-x86-low.c (xmltarget_amd64_linux_no_xml): Define only
9088         if __x86_64__ is defined.
9089
9090 2010-04-16  Pierre Muller  <muller@ics.u-strasbg.fr>
9091
9092         * configure: Regenerate.
9093
9094 2010-04-16  Pierre Muller  <muller@ics.u-strasbg.fr>
9095
9096         * server.c (handle_query): Handle 'qGetTIBAddr' query.
9097         * target.h (target_ops): New get_tib_address field.
9098         * win32-low.h (win32_thread_info): Add thread_local_base field.
9099         * win32-low.c (child_add_thread): Add tlb argument.
9100         Set thread_local_base field to TLB.
9101         (get_child_debug_event): Adapt to child_add_thread change.
9102         (win32_get_tib_address): New function.
9103         (win32_target_ops): Set get_tib_address field to
9104         win32_get_tib_address.
9105         * linux-low.c (linux_target_ops): Set get_tib_address field to NULL.
9106
9107 2010-04-12  Pedro Alves  <pedro@codesourcery.com>
9108
9109         * linux-low.c (linux_mourn): Also remove the process.
9110         * server.c (handle_target_event): Don't remove the process here.
9111         * nto-low.c (nto_mourn): New.
9112         (nto_target_ops): Install it.
9113         * spu-low.c (spu_mourn): New.
9114         (spu_target_ops): Install it.
9115         * win32-low.c (win32_mourn): New.
9116         (win32_target_ops): Install it.
9117
9118 2010-04-12  Pedro Alves  <pedro@codesourcery.com>
9119
9120         * server.h (buffer_xml_printf): Remove redundant `;'.
9121
9122 2010-04-12  Pedro Alves  <pedro@codesourcery.com>
9123
9124         * regcache.c (set_register_cache): Invalidate regcaches before
9125         changing the register cache layout.
9126         (regcache_invalidate_one): Allow a NULL regcache.
9127         * linux-x86-low.c (x86_linux_update_xmltarget): Invalidate
9128         regcaches before changing the register cache layout or the target
9129         regsets.
9130
9131 2010-04-12  H.J. Lu  <hongjiu.lu@intel.com>
9132
9133         * linux-x86-low.c (x86_linux_update_xmltarget): Avoid unused
9134         variable warning on Linux/x86-64.
9135
9136 2010-04-11  Pedro Alves  <pedro@codesourcery.com>
9137
9138         GDBserver disconnected tracing support.
9139
9140         * linux-low.c (linux_remove_process): Delete.
9141         (add_lwp): Don't set last_resume_kind here.
9142         (linux_kill): Use `mourn'.
9143         (linux_detach): Use `thread_db_detach', and `mourn'.
9144         (linux_mourn): New.
9145         (linux_attach_lwp_1): Adjust comment.
9146         (linux_attach): last_resume_kind moved the thread_info; adjust.
9147         (status_pending_p_callback): Adjust.
9148         (linux_wait_for_event_1): Adjust.
9149         (count_events_callback, select_singlestep_lwp_callback)
9150         (select_event_lwp_callback, cancel_breakpoints_callback)
9151         (db_wants_lwp_stopped, linux_wait_1, need_step_over_p)
9152         (proceed_one_lwp): Adjust.
9153         (linux_async): Add debug output.
9154         (linux_thread_stopped): New.
9155         (linux_pause_all): New.
9156         (linux_target_ops): Install linux_mourn, linux_thread_stopped and
9157         linux_pause_all.
9158         * linux-low.h (struct lwp_info): Delete last_resume_kind field.
9159         (thread_db_free): Delete declaration.
9160         (thread_db_detach, thread_db_mourn): Declare.
9161         * thread-db.c (thread_db_init): Use thread_db_mourn.
9162         (thread_db_free): Delete, split in two.
9163         (disable_thread_event_reporting): New.
9164         (thread_db_detach): New.
9165         (thread_db_mourn): New.
9166
9167         * server.h (struct thread_info) <last_resume_kind>: New field.
9168         <attached>: Add comment.
9169         <gdb_detached>: New field.
9170         (handler_func): Change return type to int.
9171         (handle_serial_event, handle_target_event): Ditto.
9172         (gdb_connected): Declare.
9173         (tracing): Delete.
9174         (disconnected_tracing): Declare.
9175         (stop_tracing): Declare.
9176
9177         * server.c (handle_query) <qSupported>: Report support for
9178         disconnected tracing.
9179         (queue_stop_reply_callback): Account for running threads.
9180         (gdb_wants_thread_stopped): New.
9181         (gdb_wants_all_threads_stopped): New.
9182         (gdb_reattached_process): New.
9183         (handle_status): Clear the `gdb_detached' flag of all processes.
9184         In all-stop, stop all threads.
9185         (main): Be sure to leave tfind mode.  Handle disconnected tracing.
9186         (process_serial_event): If the remote connection breaks, or if an
9187         exit was forced with "monitor exit", force an event loop exit.
9188         Handle disconnected tracing on detach.
9189         (handle_serial_event): Adjust.
9190         (handle_target_event): If GDB isn't connected, forward events back
9191         to the inferior, unless the last process exited, in which case,
9192         exit gdbserver.  Adjust interface.
9193
9194         * remote-utils.c (remote_open): Don't block in accept.  Instead
9195         register an event loop source on the listen socket file
9196         descriptor.  Refactor bits into ...
9197         (listen_desc): ... this new global.
9198         (gdb_connected): ... this new function.
9199         (enable_async_notification): ... this new function.
9200         (handle_accept_event): ... this new function.
9201         (remote_close): Clear remote_desc.
9202
9203         * inferiors.c (add_thread): Set the new thread's last_resume_kind.
9204
9205         * target.h (struct target_ops) <mourn, thread_stopped, pause_all>:
9206         New fields.
9207         (mourn_inferior): Define.
9208         (target_process_qsupported): Avoid the dangling else problem.
9209         (thread_stopped): Define.
9210         (pause_all): Define.
9211         (target_waitstatus_to_string): Declare.
9212         * target.c (target_waitstatus_to_string): New.
9213
9214         * tracepoint.c (tracing): Make extern.
9215         (disconnected_tracing): New.
9216         (stop_tracing): Make extern.  Handle tracing stops due to GDB
9217         disconnecting.
9218         (cmd_qtdisconnected): New.
9219         (cmd_qtstatus): Report disconnected tracing status in trace reply.
9220         (handle_tracepoint_general_set): Handle QTDisconnected.
9221
9222         * event-loop.c (event_handler_func): Change return type to int.
9223         (process_event): Bail out if the event handler wants the event
9224         loop to stop.
9225         (handle_file_event): Ditto.
9226         (start_event_loop): Bail out if the event handler wants the event
9227         loop to stop.
9228
9229         * nto-low.c (nto_target_ops): Adjust.
9230         * spu-low.c (spu_wait): Don't remove the process here.
9231         (spu_target_ops): Adjust.
9232         * win32-low.c (win32_wait): Don't remove the process here.
9233         (win32_target_ops): Adjust.
9234
9235 2010-04-11  Pedro Alves  <pedro@codesourcery.com>
9236
9237         * regcache.c (realloc_register_cache): Invalidate inferior's
9238         regcache before recreating it.
9239
9240 2010-04-09  Pedro Alves  <pedro@codesourcery.com>
9241
9242         * tracepoint.c (cmd_qtstatus): Report trace buffer circularity.
9243
9244 2010-04-09  Stan Shebs  <stan@codesourcery.com>
9245             Pedro Alves  <pedro@codesourcery.com>
9246
9247         * server.h (LONGEST): New.
9248         (struct thread_info) <while_stepping>: New field.
9249         (unpack_varlen_hex, xrealloc, pulongest, plongest, phex_nz):
9250         Declare.
9251         (initialize_tracepoint, handle_tracepoint_general_set)
9252         (handle_tracepoint_query, tracepoint_finished_step)
9253         (tracepoint_was_hit, release_while_stepping_state_list):
9254         (current_traceframe): Declare.
9255         * server.c (handle_general_set): Handle tracepoint packets.
9256         (read_memory): New.
9257         (write_memory): New.
9258         (handle_search_memory_1): Use read_memory.
9259         (handle_query): Report support for conditional tracepoints, trace
9260         state variables, and tracepoint sources.  Handle tracepoint
9261         queries.
9262         (main): Initialize the tracepoints module.
9263         (process_serial_event): Handle traceframe reads/writes.
9264
9265         * linux-low.c (handle_tracepoints): New.
9266         (linux_wait_1): Call it.
9267         (linux_resume_one_lwp): Handle while-stepping.
9268         (linux_supports_tracepoints, linux_read_pc, linux_write_pc): New.
9269         (linux_target_ops): Install them.
9270         * linux-low.h (struct linux_target_ops) <supports_tracepoints>:
9271         New field.
9272         * linux-x86-low.c (x86_supports_tracepoints): New.
9273         (the_low_target). Install it.
9274
9275         * mem-break.h (delete_breakpoint): Declare.
9276         * mem-break.c (delete_breakpoint): Make external.
9277
9278         * target.h (struct target_ops): Add `supports_tracepoints',
9279         `read_pc', and `write_pc' fields.
9280         (target_supports_tracepoints): Define.
9281         * utils.c (xrealloc, decimal2str, pulongest, plongest, thirty_two)
9282         (phex_nz): New.
9283
9284         * regcache.h (struct regcache) <registers_owned>: New field.
9285         (init_register_cache, regcache_cpy): Declare.
9286         (regcache_read_pc, regcache_write_pc): Declare.
9287         (register_cache_size): Declare.
9288         (supply_regblock): Declare.
9289         * regcache.c (init_register_cache): New.
9290         (new_register_cache): Use it.
9291         (regcache_cpy): New.
9292         (register_cache_size): New.
9293         (supply_regblock): New.
9294         (regcache_read_pc, regcache_write_pc): New.
9295
9296         * tracepoint.c: New.
9297
9298         * Makefile.in (OBS): Add tracepoint.o.
9299         (tracepoint.o): New rule.
9300
9301 2010-04-08  H.J. Lu  <hongjiu.lu@intel.com>
9302
9303         * Makefile.in (clean): Also remove i386-mmx.c i386-mmx-linux.c.
9304         (i386-mmx.o): New.
9305         (i386-mmx.c): Likewise.
9306         (i386-mmx-linux.o): Likewise.
9307         (i386-mmx-linux.c): Likewise.
9308
9309         * configure.srv (srv_i386_regobj): Add i386-mmx.o.
9310         (srv_i386_linux_regobj): Add i386-mmx-linux.o.
9311         (srv_i386_xmlfiles): Add i386/i386-mmx.xml.
9312         (srv_i386_linux_xmlfiles): Add i386/i386-mmx-linux.xml.
9313
9314         * linux-x86-low.c (init_registers_i386_mmx_linux): New.
9315         (x86_linux_update_xmltarget): Call init_registers_i386_mmx_linux
9316         and return if ptrace PTRACE_GETFPXREGS failed in 32bit.
9317
9318 2010-04-07  H.J. Lu  <hongjiu.lu@intel.com>
9319
9320         * Makefile.in (clean): Updated.
9321         (i386-avx.o): New.
9322         (i386-avx.c): Likewise.
9323         (i386-avx-linux.o): Likewise.
9324         (i386-avx-linux.c): Likewise.
9325         (amd64-avx.o): Likewise.
9326         (amd64-avx.c): Likewise.
9327         (amd64-avx-linux.o): Likewise.
9328         (amd64-avx-linux.c): Likewise.
9329
9330         * configure.srv (srv_i386_regobj): Add i386-avx.o.
9331         (srv_i386_linux_regobj): Add i386-avx-linux.o.
9332         (srv_amd64_regobj): Add amd64-avx.o.
9333         (srv_amd64_linux_regobj): Add amd64-avx-linux.o.
9334         (srv_i386_32bit_xmlfiles): Add i386/32bit-avx.xml.
9335         (srv_i386_64bit_xmlfiles): Add i386/64bit-avx.xml.
9336         (srv_i386_xmlfiles): Add i386/i386-avx.xml.
9337         (srv_amd64_xmlfiles): Add i386/amd64-avx.xml.
9338         (srv_i386_linux_xmlfiles): Add i386/i386-avx-linux.xml.
9339         (srv_amd64_linux_xmlfiles): Add i386/amd64-avx-linux.xml.
9340
9341         * i387-fp.c: Include "i386-xstate.h".
9342         (i387_xsave): New.
9343         (i387_cache_to_xsave): Likewise.
9344         (i387_xsave_to_cache): Likewise.
9345         (x86_xcr0): Likewise.
9346
9347         * i387-fp.h (i387_cache_to_xsave): Likewise.
9348         (i387_xsave_to_cache): Likewise.
9349         (x86_xcr0): Likewise.
9350
9351         * linux-arm-low.c (target_regsets): Initialize nt_type to 0.
9352         * linux-crisv32-low.c (target_regsets): Likewise.
9353         * linux-m68k-low.c (target_regsets): Likewise.
9354         * linux-mips-low.c (target_regsets): Likewise.
9355         * linux-ppc-low.c (target_regsets): Likewise.
9356         * linux-s390-low.c (target_regsets): Likewise.
9357         * linux-sh-low.c (target_regsets): Likewise.
9358         * linux-sparc-low.c (target_regsets): Likewise.
9359         * linux-xtensa-low.c (target_regsets): Likewise.
9360
9361         * linux-low.c: Include <sys/uio.h>.
9362         (regsets_fetch_inferior_registers): Support nt_type.
9363         (regsets_store_inferior_registers): Likewise.
9364         (linux_process_qsupported): New.
9365         (linux_target_ops): Add linux_process_qsupported.
9366
9367         * linux-low.h (regset_info): Add nt_type.
9368         (linux_target_ops): Add process_qsupported.
9369
9370         * linux-x86-low.c: Include "i386-xstate.h", "elf/common.h"
9371         and <sys/uio.h>.
9372         (init_registers_i386_avx_linux): New.
9373         (init_registers_amd64_avx_linux): Likewise.
9374         (xmltarget_i386_linux_no_xml): Likewise.
9375         (xmltarget_amd64_linux_no_xml): Likewise.
9376         (PTRACE_GETREGSET): Likewise.
9377         (PTRACE_SETREGSET): Likewise.
9378         (x86_fill_xstateregset): Likewise.
9379         (x86_store_xstateregset): Likewise.
9380         (use_xml): Likewise.
9381         (x86_linux_update_xmltarget): Likewise.
9382         (x86_linux_process_qsupported): Likewise.
9383         (target_regsets): Add NT_X86_XSTATE entry and Initialize nt_type.
9384         (x86_arch_setup): Don't call init_registers_amd64_linux nor
9385         init_registers_i386_linux here.  Call
9386         x86_linux_update_xmltarget.
9387         (the_low_target): Add x86_linux_process_qsupported.
9388
9389         * server.c (handle_query): Call target_process_qsupported.
9390
9391         * target.h (target_ops): Add process_qsupported.
9392         (target_process_qsupported): New.
9393
9394 2010-04-03  Pedro Alves  <pedro@codesourcery.com>
9395
9396         * inferiors.c (add_thread): Set last_status kind to
9397         TARGET_WAITKIND_IGNORE.
9398         * linux-low.c (cancel_breakpoint): Remove unnecessary regcache
9399         fetch.  Use ptid_of.  Avoid unnecessary get_lwp_thread calls.
9400         (linux_wait_1): Move `thread' local definition to block that uses
9401         it.  Don't NULL initialize `event_child'.
9402         (linux_resume_one_thread): Avoid unnecessary get_lwp_thread calls.
9403         Alway set the thread's last_status to TARGET_WAITKIND_IGNORE.
9404         * linux-x86-low.c (x86_breakpoint_at): Read raw memory.
9405
9406 2010-04-01  Pedro Alves  <pedro@codesourcery.com>
9407
9408         * linux-low.c (get_stop_pc): Don't adjust the PC if stopped with
9409         an extended waitstatus, or by a watchpoint.
9410         (cancel_breakpoints_callback): Don't cancel a breakpoint if the
9411         thread was stepping or has been stopped by a watchpoint.
9412
9413 2010-04-01  Pedro Alves  <pedro@codesourcery.com>
9414
9415         * mem-break.c (struct raw_breakpoint): New field shlib_disabled.
9416         (set_gdb_breakpoint_at): If GDB is inserting a breakpoint on top
9417         of another, then delete the previous, and validate all
9418         breakpoints.
9419         (validate_inserted_breakpoint): New.
9420         (delete_disabled_breakpoints): New.
9421         (validate_breakpoints): New.
9422         (check_mem_read): Validate breakpoints before trusting their
9423         shadow.  Delete disabled breakpoints.
9424         (check_mem_write): Validate breakpoints before trusting they
9425         should be inserted.  Delete disabled breakpoints.
9426         * mem-break.h (validate_breakpoints):
9427         * server.c (handle_query): Validate breakpoints when we see a
9428         qSymbol query.
9429
9430 2010-04-01  Pedro Alves  <pedro@codesourcery.com>
9431
9432         * linux-low.c (linux_wait_1): Avoid setting need_step_over is
9433         there's a GDB breakpoint at stop_pc.  Always report a trap to GDB
9434         if we could tell there's a GDB breakpoint at stop_pc.
9435         (need_step_over_p): Don't do a step over if we find a GDB
9436         breakpoint at the resume PC.
9437
9438         * mem-break.c (struct raw_breakpoint): New.
9439         (enum bkpt_type): New type `gdb_breakpoint'.
9440         (struct breakpoint): Delete the `PC', `old_data' and `inserted'
9441         fields.  New field `raw'.
9442         (find_raw_breakpoint_at): New.
9443         (set_raw_breakpoint_at): Handle refcounting.  Create a raw
9444         breakpoint instead.
9445         (set_breakpoint_at): Adjust.
9446         (delete_raw_breakpoint): New.
9447         (release_breakpoint): New.
9448         (delete_breakpoint): Rename to...
9449         (delete_breakpoint_1): ... this.  Add proc parameter.  Use
9450         release_breakpoint.  Return ENOENT.
9451         (delete_breakpoint): Reimplement.
9452         (find_breakpoint_at): Delete.
9453         (find_gdb_breakpoint_at): New.
9454         (delete_breakpoint_at): Delete.
9455         (set_gdb_breakpoint_at): New.
9456         (delete_gdb_breakpoint_at): New.
9457         (gdb_breakpoint_here): New.
9458         (set_reinsert_breakpoint): Use release_breakpoint.
9459         (uninsert_breakpoint): Rename to ...
9460         (uninsert_raw_breakpoint): ... this.
9461         (uninsert_breakpoints_at): Adjust to handle raw breakpoints.
9462         (reinsert_raw_breakpoint): Change parameter type to
9463         raw_breakpoint.
9464         (reinsert_breakpoints_at): Adjust to handle raw breakpoints
9465         instead.
9466         (check_breakpoints): Adjust.  Use release_breakpoint.
9467         (breakpoint_here): Rewrite using find_raw_breakpoint_at.
9468         (breakpoint_inserted_here): Ditto.
9469         (check_mem_read): Adjust to iterate over raw breakpoints instead.
9470         Don't trust the breakpoint's shadow if it is not inserted.
9471         (check_mem_write): Adjust to iterate over raw breakpoints instead.
9472         (delete_all_breakpoints): Adjust.
9473         (free_all_breakpoints): Mark all breakpoints as uninserted, and
9474         use delete_breakpoint_1.
9475
9476         * mem-break.h (breakpoints_supported): Delete declaration.
9477         (set_gdb_breakpoint_at): Declare.
9478         (gdb_breakpoint_here): Declare.
9479         (delete_breakpoint_at): Delete.
9480         (delete_gdb_breakpoint_at): Declare.
9481
9482         * server.h (struct raw_breakpoint): Forward declare.
9483         (struct process_info): New field `raw_breakpoints'.
9484
9485         * linux-x86-low.c (x86_insert_point, x86_remote_point): Handle Z0
9486         breakpoints.
9487
9488 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
9489
9490         * linux-low.c (status_pending_p_callback): Fix comment.
9491         (linux_wait_for_event_1): Move most of the internal breakpoint
9492         handling from here...
9493         (linux_wait_1): ... to here.
9494         (count_events_callback): New.
9495         (select_singlestep_lwp_callback): New.
9496         (select_event_lwp_callback): New.
9497         (cancel_breakpoints_callback): New.
9498         (select_event_lwp): New.
9499         (linux_wait_1): Simplify internal breakpoint handling.  Give equal
9500         priority to all LWPs that have had events that should be reported
9501         to the client.  Cancel breakpoints when about to reporting the
9502         event to the client, not while stopping lwps.  No longer cancel
9503         finished single-steps here.
9504         (cancel_finished_single_step): Delete.
9505         (cancel_finished_single_steps): Delete.
9506
9507 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
9508
9509         * mem-break.c (enum bkpt_type): New.
9510         (struct breakpoint): New field `type'.
9511         (set_breakpoint_at): Change return type to struct breakpoint
9512         pointer.  Set type to `other_breakpoint' by default.
9513         (delete_breakpoint): Rewrite, supporting more than one breakpoint
9514         in the breakpoint list.
9515         (delete_reinsert_breakpoints): Only delete reinsert breakpoints.
9516         (reinsert_breakpoint): Rename to ...
9517         (reinsert_raw_breakpoint): ... this.
9518         (reinsert_breakpoints_at): Adjust.
9519         * mem-break.h (struct breakpoint): Declare.
9520         (set_breakpoint_at): Change return type to struct breakpoint
9521         pointer.
9522
9523 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
9524
9525         * server.c (handle_query): Assign, not compare.
9526
9527 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
9528
9529         Teach linux gdbserver to step-over-breakpoints.
9530
9531         * linux-low.c (can_hardware_single_step): New.
9532         (supports_breakpoints): New.
9533         (handle_extended_wait): If stopping threads, read the stop pc of
9534         the new cloned LWP.
9535         (get_pc): New.
9536         (get_stop_pc): Add `lwp' parameter.  Handle it.  Bail out if the
9537         low target doesn't support retrieving the PC.
9538         (add_lwp): Set last_resume_kind to resume_continue.
9539         (linux_attach_lwp_1): Adjust comments.  Always set stop_expected.
9540         (linux_attach): Don't clear stop_expected.  Set the lwp's
9541         last_resume_kind to resume_stop.
9542         (linux_detach_one_lwp): Don't check for removed breakpoints.
9543         (check_removed_breakpoint): Delete.
9544         (status_pending_p): Rename to ...
9545         (status_pending_p_callback): ... this.  Don't check for removed
9546         breakpoints.  Don't consider threads that are stopped from GDB's
9547         perspective.
9548         (linux_wait_for_lwp): Always read the stop_pc here.
9549         (cancel_breakpoint): New.
9550         (step_over_bkpt): New global.
9551         (linux_wait_for_event_1): Implement stepping over breakpoints.
9552         (gdb_wants_lwp_stopped): New.
9553         (gdb_wants_all_stopped): New.
9554         (linux_wait_1): Tag threads as gdb-wants-stopped.  Cancel finished
9555         single-step traps here.  Store the thread's last reported target
9556         wait status.
9557         (send_sigstop): Don't clear stop_expected.  Always set it,
9558         instead.
9559         (mark_lwp_dead): Remove reference to pending_is_breakpoint.
9560         (cancel_finished_single_step): New.
9561         (cancel_finished_single_steps): New.
9562         (wait_for_sigstop): Don't cancel finished single-step traps here.
9563         (linux_resume_one_lwp): Don't check for removed breakpoints.
9564         Don't set `step' on non-hardware step archs.
9565         (linux_set_resume_request): Ignore resume_stop requests if already
9566         stopping or stopped.  Set the lwp's last_resume_kind.
9567         (resume_status_pending_p): Don't check for removed breakpoints.
9568         (need_step_over_p): New.
9569         (start_step_over): New.
9570         (finish_step_over): New.
9571         (linux_resume_one_thread): Always queue a sigstop for resume_stop
9572         requests.  Clear the thread's last reported target waitstatus.
9573         Don't use the `suspended' flag.  Don't consider pending breakpoints.
9574         (linux_resume): Start a step-over if necessary.
9575         (proceed_one_lwp): New.
9576         (proceed_all_lwps): New.
9577         (unstop_all_lwps): New.
9578         * linux-low.h (struct lwp_info): Rewrite comment for the
9579         `suspended' flag.  Add the `stop_pc' field.  Delete the
9580         `pending_stop_pc' field.  Tweak the `stepping' flag's comment.
9581         Add `'last_resume_kind' and `need_step_over' fields.
9582         * inferiors.c (struct thread_info): Delete, moved elsewhere.
9583         * mem-break.c (struct breakpoint): Delete `reinserting' flag.
9584         Delete `breakpoint_to_reinsert' field.  New flag `inserted'.
9585         (set_raw_breakpoint_at): New.
9586         (set_breakpoint_at): Rewrite to use it.
9587         (reinsert_breakpoint_handler): Delete.
9588         (set_reinsert_breakpoint): New.
9589         (reinsert_breakpoint_by_bp): Delete.
9590         (delete_reinsert_breakpoints): New.
9591         (uninsert_breakpoint): Rewrite.
9592         (uninsert_breakpoints_at): New.
9593         (reinsert_breakpoint): Rewrite.
9594         (reinsert_breakpoints_at): New.
9595         (check_breakpoints): Rewrite.
9596         (breakpoint_here): New.
9597         (breakpoint_inserted_here): New.
9598         (check_mem_read): Adjust.
9599         * mem-break.h (breakpoints_supported, breakpoint_here)
9600         (breakpoint_inserted_here, set_reinsert_breakpoint): Declare.
9601         (reinsert_breakpoint_by_bp): Delete declaration.
9602         (delete_reinsert_breakpoints): Declare.
9603         (reinsert_breakpoint): Delete declaration.
9604         (reinsert_breakpoints_at): Declare.
9605         (uninsert_breakpoint): Delete declaration.
9606         (uninsert_breakpoints_at): Declare.
9607         (check_breakpoints): Adjust prototype.
9608         * server.h: Adjust include order.
9609         (struct thread_info): Declare here.  Add a `last_status' field.
9610
9611 2010-03-23  Michael Snyder  <msnyder@vmware.com>
9612
9613         * server.c (crc32): New function.
9614         (handle_query): Add handling for 'qCRC:' request.
9615
9616 2010-03-23  Pedro Alves  <pedro@codesourcery.com>
9617
9618         * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR6 if the
9619         lwp had been stopped by a watchpoint.
9620
9621 2010-03-16  Pedro Alves  <pedro@codesourcery.com>
9622
9623         * server.h (internal_error): Declare.
9624         (gdb_assert, ASSERT_FUNCTION, gdb_assert_fail): Define.
9625         * utils.c (internal_error): New function.
9626
9627 2010-03-15  Andreas Schwab  <schwab@redhat.com>
9628
9629         * configure.srv: Fix typo setting srv_regobj.
9630
9631 2010-03-15  Pedro Alves  <pedro@codesourcery.com>
9632
9633         * linux-low.c (fetch_register): Avoid passing a non string literal
9634         format to `error'.
9635         (usr_store_inferior_registers): Ditto.
9636
9637 2010-03-14  Pedro Alves  <pedro@codesourcery.com>
9638
9639         * linux-low.c (linux_write_memory): Bail out early if peeking
9640         memory failed.
9641
9642 2010-03-14  Pedro Alves  <pedro@codesourcery.com>
9643
9644         * linux-low.h (struct lwp_info): New fields
9645         `stopped_by_watchpoint' and `stopped_data_address'.
9646         * linux-low.c (linux_wait_for_lwp): Check for watchpoint triggers
9647         here, and cache them in the lwp object.
9648         (wait_for_sigstop): Check stopped_by_watchpoint lwp field
9649         directly.
9650         (linux_resume_one_lwp): Clear the lwp's stopped_by_watchpoint
9651         field.
9652         (linux_stopped_by_watchpoint): Rewrite.
9653         (linux_stopped_data_address): Rewrite.
9654
9655 2010-03-06  Simo Melenius  <simo.melenius@iki.fi>
9656
9657         * linux-low.c (linux_wait_for_lwp): Fetch the regcache after
9658         switching the current inferior, not before.
9659
9660 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
9661
9662         * Makefile.in (clean): Replace reg-i386.c, reg-x86-64.c,
9663         reg-i386-linux.c and reg-x86-64-linux.c with i386.c, amd64.c,
9664         i386-linux.c and amd64-linux.c.
9665         (reg-i386.o): Removed.
9666         (reg-i386.c): Likewise.
9667         (reg-i386-linux.o): Likewise.
9668         (reg-i386-linux.c): Likewise.
9669         (reg-x86-64.o): Likewise.
9670         (reg-x86-64.c): Likewise.
9671         (reg-x86-64-linux.o): Likewise.
9672         (reg-x86-64-linux.c): Likewise.
9673         (i386.o): New.
9674         (i386.c): Likewise.
9675         (i386-linux.o): Likewise.
9676         (i386-linux.c): Likewise.
9677         (amd64.o): Likewise.
9678         (amd64.c): Likewise.
9679         (amd64-linux.o): Likewise.
9680         (amd64-linux.c): Likewise.
9681
9682         * configure.srv (srv_i386_regobj): New.
9683         (srv_i386_linux_regobj): Likewise.
9684         (srv_amd64_regobj): Likewise.
9685         (srv_amd64_linux_regobj): Likewise.
9686         (srv_i386_32bit_xmlfiles): Likewise.
9687         (srv_i386_64bit_xmlfiles): Likewise.
9688         (srv_i386_xmlfiles): Likewise.
9689         (srv_amd64_xmlfiles): Likewise.
9690         (srv_i386_linux_xmlfiles): Likewise.
9691         (srv_amd64_linux_xmlfiles): Likewise.
9692         (i[34567]86-*-cygwin*): Set srv_regobj to $srv_i386_regobj.  Set
9693         srv_xmlfiles to $srv_i386_xmlfiles.
9694         (i[34567]86-*-mingw32ce*): Likewise.
9695         (i[34567]86-*-mingw*): Likewise.
9696         (i[34567]86-*-nto*): Likewise.
9697         (i[34567]86-*-linux*): Set srv_regobj to $srv_i386_linux_regobj
9698         and $srv_amd64_linux_regobj.  Set srv_xmlfiles to
9699         $srv_i386_linux_xmlfiles and $srv_amd64_linux_xmlfiles.
9700         (x86_64-*-linux*): Likewise.
9701
9702         * linux-x86-low.c (init_registers_x86_64_linux): Removed.
9703         (init_registers_amd64_linux): New.
9704         (x86_arch_setup): Replace init_registers_x86_64_linux with
9705         init_registers_amd64_linux.
9706
9707 2010-02-23  Maxim Kuvyrkov  <maxim@codesourcery.com>
9708
9709         * configure.ac: Check for libdl.  If it is not available link against
9710         static libthread_db.
9711         * configure: Regenerate.
9712
9713 2010-02-22  Pedro Alves  <pedro@codesourcery.com>
9714
9715         PR9605
9716
9717         * i386-low.c (i386_length_and_rw_bits): Throw a fatal error if
9718         handing a read watchpoint.
9719         (i386_low_insert_watchpoint): Read watchpoints aren't supported.
9720
9721 2010-02-12  Doug Evans  <dje@google.com>
9722
9723         * linux-low.c (linux_supports_tracefork_flag): Document.
9724         (linux_look_up_symbols): Add comment.
9725
9726 2010-02-03  H.J. Lu  <hongjiu.lu@intel.com>
9727
9728         * regcache.c (supply_register): Clear regcache if buf is NULL.
9729
9730 2010-02-02  Nicolas Roche  <roche@sourceware.org>
9731             Joel Brobecker  <brobecker@adacore.com>
9732
9733         * inferiors.c (find_inferior): Add function documentation.
9734         (unloaded_dll): Handle the case where the unloaded dll has not
9735         been previously registered in the dll list.
9736
9737 2010-02-01  Daniel Jacobowitz  <dan@codesourcery.com>
9738
9739         * linux-arm-low.c (thumb_breakpoint_len): Delete.
9740         (thumb2_breakpoint): New.
9741         (arm_breakpoint_at): Check for Thumb-2 breakpoints.
9742
9743 2010-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
9744
9745         * linux-low.c (get_stop_pc): Check for SIGTRAP.
9746         (linux_wait_for_event_1): Handle SIGILL and SIGSEGV as possible
9747         breakpoints.
9748
9749 2010-01-21  Pedro Alves  <pedro@codesourcery.com>
9750
9751         * linux-ppc-low.c (ppc_arch_setup): Adjust to regcache changes.
9752
9753 2010-01-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
9754
9755         * linux-s390-low.c (s390_collect_ptrace_register)
9756         (s390_supply_ptrace_register): Adjust it for the new regcache parameter.
9757
9758 2010-01-21  Doug Evans  <dje@google.com>
9759
9760         * linux-low.c (PTRACE_ARG3_TYPE): Change from long to void*.
9761         (PTRACE_ARG4_TYPE): New macro.
9762         (handle_extended_wait): Cast ptrace arg4 to PTRACE_ARG4_TYPE.
9763         (linux_wait_for_event_1, linux_resume_one_lwp): Ditto.
9764         (fetch_register): Cast to uintptr_t before casting to PTRACE_ARG3_TYPE.
9765         (usr_store_inferior_registers): Ditto.
9766         (linux_read_memory, linux_write_memory): Ditto.
9767         (linux_test_for_tracefork): Ditto.
9768
9769         * linux-arm-low.c: Remove redundant include of gdb_proc_service.h.
9770         Only include elf.h if gdb_proc_service.h didn't include linux/elf.h.
9771
9772 2010-01-21  Pedro Alves  <pedro@codesourcery.com>
9773
9774         * proc-service.c (ps_lgetregs): Don't refetch registers from the
9775         target.
9776
9777 2010-01-21  Pedro Alves  <pedro@codesourcery.com>
9778
9779         * spu-low.c (spu_fetch_registers, spu_store_registers): Change
9780         prototype to take a regcache.  Adjust.
9781
9782 2010-01-20  Pedro Alves  <pedro@codesourcery.com>
9783
9784         * regcache.h (struct thread_info): Forward declare.
9785         (struct regcache): New.
9786         (new_register_cache): Adjust prototype.
9787         (get_thread_regcache): Declare.
9788         (free_register_cache): Adjust prototype.
9789         (registers_to_string, registers_from_string): Ditto.
9790         (supply_register, supply_register_by_name, collect_register)
9791         (collect_register_as_string, collect_register_by_name): Ditto.
9792         * regcache.c (struct inferior_regcache_data): Delete.
9793         (get_regcache): Rename to ...
9794         (get_thread_regcache): ... this.  Adjust.  Switch inferior before
9795         fetching registers.
9796         (regcache_invalidate_one): Adjust.
9797         (regcache_invalidate): Fix prototype.
9798         (new_register_cache): Return the new register cache.
9799         (free_register_cache): Change prototype.
9800         (realloc_register_cache): Adjust.
9801         (registers_to_string): Change prototype to take a regcache.  Adjust.
9802         (registers_from_string): Ditto.
9803         (register_data): Ditto.
9804         (supply_register): Ditto.
9805         (supply_register_by_name): Ditto.
9806         (collect_register): Ditto.
9807         (collect_register_as_string): Ditto.
9808         (collect_register_by_name): Ditto.
9809         * server.c (process_serial_event): Adjust.
9810         * linux-low.h (regset_fill_func, regset_store_func): Change
9811         prototype.
9812         (get_pc, set_pc, collect_ptrace_register, supply_ptrace_register):
9813         Change prototype.
9814         * linux-low.c (get_stop_pc): Adjust.
9815         (check_removed_breakpoint): Adjust.
9816         (linux_wait_for_event): Adjust.
9817         (linux_resume_one_lwp): Adjust.
9818         (fetch_register): Add regcache parameter.  Adjust.
9819         (usr_store_inferior_registers): Ditto.
9820         (regsets_fetch_inferior_registers): Ditto.
9821         (regsets_store_inferior_registers): Ditto.
9822         (linux_fetch_registers, linux_store_registers): Ditto.
9823         * i387-fp.c (i387_cache_to_fsave): Change prototype to take a
9824         regcache.  Adjust.
9825         (i387_fsave_to_cache, i387_cache_to_fxsave, i387_fxsave_to_cache):
9826         Ditto.
9827         * i387-fp.h (i387_cache_to_fsave, i387_fsave_to_cache): Change
9828         prototype to take a regcache.
9829         (i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto.
9830         * remote-utils.c (convert_ascii_to_int, outreg)
9831         (prepare_resume_reply): Change prototype to take a regcache.
9832         Adjust.
9833         * target.h (struct target_ops) <fetch_registers, store_registers>:
9834         Change prototype to take a regcache.
9835         (fetch_inferior_registers, store_inferior_registers): Change
9836         prototype to take a regcache.  Adjust.
9837         * proc-service.c (ps_lgetregs): Adjust.
9838         * linux-x86-low.c (x86_fill_gregset, x86_store_gregset)
9839         (x86_fill_fpregset, x86_store_fpregset, x86_fill_fpxregset)
9840         (x86_store_fpxregset, x86_get_pc, x86_set_pc): Change prototype to
9841         take a regcache.  Adjust.
9842         * linux-arm-low.c (arm_fill_gregset, arm_store_gregset)
9843         (arm_fill_wmmxregset, arm_store_wmmxregset, arm_fill_vfpregset)
9844         (arm_store_vfpregset, arm_get_pc, arm_set_pc):
9845         (arm_breakpoint_at): Change prototype to take a regcache.  Adjust.
9846         * linux-cris-low.c (cris_get_pc, cris_set_pc)
9847         (cris_cannot_fetch_register):
9848         (cris_breakpoint_at): Change prototype to take a regcache.
9849         Adjust.
9850         * linux-crisv32-low.c (cris_get_pc, cris_set_pc,
9851         cris_reinsert_addr, cris_write_data_breakpoint): Change prototype
9852         to take a regcache.  Adjust.
9853         (cris_breakpoint_at, cris_insert_point, cris_remove_point):
9854         Adjust.
9855         * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Change prototype to
9856         take a regcache.  Adjust.
9857         * linux-m68k-low.c (m68k_fill_gregset, m68k_store_gregset)
9858         (m68k_fill_fpregset, m68k_store_fpregset, m68k_get_pc,
9859         (m68k_set_pc): Change prototype to take a regcache.  Adjust.
9860         * linux-mips-low.c (mips_get_pc):
9861         (mips_set_pc): Change prototype to take a regcache.  Adjust.
9862         (mips_reinsert_addr): Adjust.
9863         (mips_collect_register): Change prototype to take a regcache.
9864         Adjust.
9865         (mips_supply_register):
9866         (mips_collect_register_32bit, mips_supply_register_32bit)
9867         (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
9868         (mips_store_fpregset): Ditto.
9869         * linux-ppc-low.c (ppc_supply_ptrace_register)
9870         (ppc_supply_ptrace_register): Ditto.
9871         (parse_spufs_run): Adjust.
9872         (ppc_get_pc, ppc_set_pc, ppc_fill_gregset, ppc_fill_vsxregset)
9873         (ppc_store_vsxregset, ppc_fill_vrregset, ppc_store_vrregset)
9874         (ppc_fill_evrregset, ppc_store_evrregset): Change prototype to
9875         take a regcache.  Adjust.
9876         * linux-s390-low.c (s390_collect_ptrace_register)
9877         (s390_supply_ptrace_register, s390_fill_gregset, s390_get_pc)
9878         (s390_set_pc): Change prototype to take a regcache.  Adjust.
9879         (s390_arch_setup): Adjust.
9880         * linux-sh-low.c (sh_get_pc, sh_breakpoint_at)
9881         (sh_fill_gregset): Change prototype to take a regcache.  Adjust.
9882         * linux-sparc-low.c (sparc_fill_gregset_to_stack)
9883         (sparc_fill_gregset, sparc_store_gregset_from_stack)
9884         (sparc_store_gregset, sparc_get_pc): Change prototype to take a
9885         regcache.  Adjust.
9886         (sparc_breakpoint_at): Adjust.
9887         * linux-xtensa-low.c (xtensa_fill_gregset):
9888         (xtensa_store_gregset):
9889         (xtensa_fill_xtregset, xtensa_store_xtregset, xtensa_get_pc)
9890         (xtensa_set_pc): Change prototype to take a regcache.  Adjust.
9891         * nto-low.c (nto_fetch_registers, nto_store_registers): Change
9892         prototype to take a regcache.  Adjust.
9893         * win32-arm-low.c (arm_fetch_inferior_register)
9894         (arm_store_inferior_register): Change prototype to take a
9895         regcache.  Adjust.
9896         * win32-i386-low.c (i386_fetch_inferior_register)
9897         (i386_store_inferior_register): Change prototype to take a
9898         regcache.  Adjust.
9899         * win32-low.c (child_fetch_inferior_registers)
9900         (child_store_inferior_registers): Change prototype to take a
9901         regcache.  Adjust.
9902         (win32_wait): Adjust.
9903         (win32_fetch_inferior_registers): Change prototype to take a
9904         regcache.  Adjust.
9905         (win32_store_inferior_registers): Adjust.
9906         * win32-low.h (struct win32_target_ops) <fetch_inferior_register,
9907         store_inferior_register>: Change prototype to take a regcache.
9908
9909 2010-01-20  Doug Evans  <dje@google.com>
9910
9911         * linux-low.c (linux_create_inferior): Wrap use of __SIGRTMIN in
9912         #ifdef.
9913         (linux_wait_for_event1, linux_init_signals): Ditto.
9914         (W_STOPCODE): Provide definition if missing.
9915
9916 2010-01-13  Vladimir Prus  <vladimir@codesourcery.com>
9917
9918         * linux-low.c (linux_core_of_thread): New.
9919         (compare_ints, show_process, list_threads): New.
9920         (linux_qxfer_osdata): Report threads and cores.
9921         (linux_target_op): Register linux_core_of_thread.
9922         * remote-utils.c (prepare_resume_reply): Report the core.
9923         (buffer_xml_printf): Support %d specifier.
9924         * server.c (handle_threads_qxfer_proper, handle_threads_qxfer):
9925         New.
9926         (handle_query): Handle qXfer:threads.  Announce availability
9927         thereof.
9928         * target.h (struct target_ops): New field core_of_thread.
9929
9930 2010-01-04  Ulrich Weigand  <uweigand@de.ibm.com>
9931
9932         * Makefile.in (clean): Remove new generated files.
9933         (reg-s390.o, reg-s390.c): Remove rules.
9934         (reg-s390x.o, reg-s390x.c): Likewise.
9935         (s390-linux32.o, s390-linux32.c): Add rules.
9936         (s390-linux64.o, s390-linux64.c): Likewise.
9937         (s390x-linux64.o, s390x-linux64.c): Likewise.
9938         * configure.srv (s390*-*-linux*): Update srv_regobj and srv_xmlfiles.
9939         * linux-s390-low.c: Include <elf.h>.
9940         (HWCAP_S390_HIGH_GPRS): Define if undefined.
9941         (init_registers_s390): Remove prototype.
9942         (init_registers_s390x): Likewise.
9943         (init_registers_s390_linux32): Add prototype.
9944         (init_registers_s390_linux64): Likewise.
9945         (init_registers_s390x_linux64): Likewise.
9946         (s390_num_regs_3264): New define.
9947         (s390_regmap_3264): New global variable.
9948         (s390_cannot_fetch_register): Remove obsolete check.
9949         (s390_cannot_store_register): Likewise.
9950         (s390_collect_ptrace_register): Handle upper/lower register halves.
9951         (s390_supply_ptrace_register): Likewise.
9952         (s390_fill_gregset): Update to register number changes.
9953         (s390_get_hwcap): New routine.
9954         (s390_arch_setup): Detect 32-bit process running on 64-bit system.
9955         Install appropriate regmap and register set.
9956
9957 2010-01-01  Joel Brobecker  <brobecker@adacore.com>
9958
9959         * server.c (gdbserver_version): Update copyright year to 2010.
9960         * gdbreplay.c (gdbreplay_version): Likewise.
9961
9962 2009-12-28  Doug Evans  <dje@google.com>
9963
9964         * linux-low.c: Delete inclusion of ansidecl.h, elf/common.h,
9965         elf/external.h.  Include <elf.h> instead but only if necessary.
9966
9967 2009-12-28  Pedro Alves  <pedro@codesourcery.com>
9968
9969         * linux-low.c (linux_remove_process): Remove `detaching'
9970         parameter.  Don't release/detach from thread_db here.
9971         (linux_kill): Release/detach from thread_db here, ...
9972         (linux_detach): ... and here, before actually detaching.
9973         (linux_wait_1): ... and here, when a process exits.
9974         * thread-db.c (any_thread_of): New.
9975         (thread_db_free): Switch the current inferior to a thread of the
9976         passed in process.
9977
9978 2009-12-21  Doug Evans  <dje@google.com>
9979
9980         * linux-x86-low.c: Delete outdated comment about Elf32_Phdr.
9981
9982         * linux-low.c (kill_lwp): Use __NR_tkill instead of SYS_tkill.
9983         Move definition of tkill_failed to ifdef __NR_tkill to avoid gcc
9984         warning ifndef __NR_tkill.  Move setting of errno there too.
9985         Delete unnecessary resetting of errno after syscall.
9986         Minor comment changes to match gdb/linux-nat.c:kill_lwp.
9987
9988         * configure.ac: Check for dladdr.
9989         * config.in: Regenerate.
9990         * configure: Regenerate.
9991         * thread-db.c (dladdr_to_soname): Only define ifdef HAVE_DLADDR.
9992         (try_thread_db_load): Update.
9993
9994         * linux-low.c (my_waitpid): Delete unnecessary prototype.
9995
9996 2009-12-18  Doug Evans  <dje@google.com>
9997
9998         * event-loop.c: Include unistd.h if it exists.
9999
10000         * linux-low.c (my_waitpid): Move definition away from being in
10001         between linux_tracefork_child/linux_test_for_tracefork.
10002
10003         * gdb_proc_service.h (psaddr_t): Fix type.
10004         * thread-db.c (thread_db_info.td_thr_tls_get_addr_p): Fix
10005         signature to match glibc.
10006
10007 2009-12-16  Doug Evans  <dje@google.com>
10008
10009         * linux-low.c (linux_read_memory): Fix argument to read.
10010
10011 2009-11-26  Pedro Alves  <pedro@codesourcery.com>
10012
10013         * win32-low.c (get_child_debug_event): On EXIT_THREAD_DEBUG_EVENT
10014         events, don't leave current_inferior pointing at null.
10015
10016 2009-11-26  Pedro Alves  <pedro@codesourcery.com>
10017
10018         * win32-low.c (LOG): Delete.
10019         (OUTMSG): Output to stderr.
10020         (OUTMSG2): Conditionalize on `debug_threads' variable, instead of
10021         on compile time LOG macro.
10022         (win32_wait): Fix debug output.
10023
10024 2009-11-26  Pedro Alves  <pedro@codesourcery.com>
10025
10026         * win32-low.c (win32_add_one_solib): If the dll name is
10027         "ntdll.dll", prepend the system directory to the dll path.
10028
10029 2009-11-17  Daniel Jacobowitz  <dan@codesourcery.com>
10030
10031         * m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization.
10032
10033 2009-11-17  Nathan Sidwell  <nathan@codesourcery.com>
10034             Vladimir Prus  <vladimir@codesourcery.com>
10035
10036         * Makefile.in (reg-cf.o, reg-cf.c): New targets.
10037         * configure.ac: Check for __mcoldfire__ and set
10038         gdb_cv_m68k_is_coldfire.
10039         * configure.srv: Use gdb_cv_m68k_is_coldfire to select between
10040         reg-cf.o and reg-m68k.o.
10041         * configure: Regenerated.
10042
10043 2009-11-16  Pedro Alves  <pedro@codesourcery.com>
10044
10045         * linux-low.c (linux_remove_process): Add `detaching' parameter.
10046         Pass it to thread_db_free.
10047         (linux_kill, linux_detach, linux_wait_1): Adjust to pass the
10048         proper `detaching' argument to linux_remove_process.
10049         * linux-low.h (thread_db_free): Add `detaching' parameter.
10050         * thread-db.c (thread_db_init): Pass false as `detaching' argument
10051         to thread_db_free.
10052         (thread_db_free): Add `detaching' parameter.  Only
10053         call td_ta_clear_event if detaching from process.
10054
10055 2009-11-12  Maxim Kuvyrkov  <maxim@codesourcery.com>
10056
10057         * thread-db.c (thread_db_free): Fix typo.
10058
10059 2009-11-11  Paul Pluzhnikov  <ppluzhnikov@google.com>
10060
10061         PR gdb/10838
10062         * thread-db.c (thread_db_free): Call td_ta_clear_event.
10063
10064 2009-11-03  Nathan Sidwell  <nathan@codesourcery.com>
10065
10066         * configure.ac (i[34567]86-*): Check if we're targetting x86-64
10067         with an i686 compiler.
10068         * configure.srv (i[34567]86-*-linux*): Pull in x86-64 handling if
10069         needed.
10070         * configure: Rebuilt.
10071
10072 2009-10-29  Sandra Loosemore  <sandra@codesourcery.com>
10073
10074         PR gdb/10783
10075
10076         * server.c (handle_search_memory_1): Correct read_addr initialization
10077         in loop for searching subsequent chunks.
10078
10079 2009-10-29  Paul Pluzhnikov  <ppluzhnikov@google.com>
10080
10081         * configure.ac: New --with-libthread-db option.
10082         * thread-db.c: Allow direct dependence on libthread_db.
10083         (thread_db_free): Adjust.
10084         * config.in: Regenerate.
10085         * configure: Likewise.
10086
10087 2009-10-28  Paul Pluzhnikov  <ppluzhnikov@google.com>
10088
10089         PR gdb/10757
10090         * thread-db.c (attach_thread): New function.
10091         (maybe_attach_thread): Return success/failure.
10092         (find_new_threads_callback): Adjust.
10093         (thread_db_find_new_threads): Loop until no new threads.
10094
10095 2009-10-13  Pedro Alves  <pedro@codesourcery.com>
10096
10097         * proc-service.c (ps_lgetregs): Formatting.
10098
10099 2009-10-08  Paul Pluzhnikov  <ppluzhnikov@google.com>
10100
10101         * acinclude.m4: (SRV_CHECK_THREAD_DB, SRV_CHECK_TLS_GET_ADDR): Remove.
10102         * configure.ac: Adjust.
10103         * linux-low.h (struct process_info_private): Move members to struct
10104         thread_db.
10105         (thread_db_free, thread_db_handle_monitor_command): New prototype.
10106         * linux-low.c (linux_remove_process): Adjust.
10107         (linux_wait_for_event_1, linux_look_up_symbols): Likewise.
10108         * server.c (handle_query): Move code ...
10109         (handle_monitor_command): ... here. New function.
10110         * target.h (struct target_ops): New member.
10111         * thread-db.c (struct thread_db): New.
10112         (libthread_db_search_path): New variable.
10113         (thread_db_create_event, thread_db_enable_reporting)
10114         (find_one_thread, maybe_attach_thread, find_new_threads_callback)
10115         (thread_db_find_new_threads, (thread_db_get_tls_address): Adjust.
10116         (try_thread_db_load_1, dladdr_to_soname): New functions.
10117         (try_thread_db_load, thread_db_load_search): New functions.
10118         (thread_db_init): Search for libthread_db.
10119         (thread_db_free): New function.
10120         (thread_db_handle_monitor_command): Likewise.
10121         * config.in: Regenerate.
10122         * configure: Regenerate.
10123
10124 2009-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
10125
10126         * spu-low.c (spu_kill): Wait for inferior to terminate.
10127         Call clear_inferiors.
10128         (spu_detach): Call clear_inferiors.
10129
10130 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10131
10132         * aclocal.m4: Regenerate.
10133         * config.in: Likewise.
10134         * configure: Likewise.
10135
10136 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
10137
10138         * linux-ppc-low.c (INSTR_SC, NR_spu_run): Define.
10139         (parse_spufs_run): New function.
10140         (ppc_get_pc, ppc_set_pc): Detect and handle SPU PC.
10141         (ppc_breakpoint_at): Handle SPU breakpoints.
10142
10143 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
10144
10145         * linux-low.c: Include <sys/stat.h> and <sys/vfs.h>.
10146         (SPUFS_MAGIC): Define.
10147         (spu_enumerate_spu_ids): New function.
10148         (linux_qxfer_spu): New function.
10149         (linux_target_ops): Install linux_qxfer_spu.
10150
10151 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
10152
10153         * configure.srv (powerpc*-*-linux*): Add powerpc-cell32l.o
10154         and powerpc-cell64l.o to srv_regobj.  Add rs6000/powerpc-cell32l.xml
10155         and rs6000/powerpc-cell64l.xml to srv_xmlfiles.
10156         * Makefile.in (powerpc-cell32l.o, powerpc-cell32l.c): New rules.
10157         (powerpc-cell64l.o, powerpc-cell64l.c): Likewise.
10158         (clean): Handle powerpc-cell32l.c and powerpc-cell64l.c.
10159         * linux-ppc-low.c (PPC_FEATURE_CELL): Define.
10160         (init_registers_powerpc_cell32l): Add prototype.
10161         (init_registers_powerpc_cell64l): Likewise.
10162         (ppc_arch_setup): Detect Cell/B.E. architecture.
10163
10164 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10165
10166         * Makefile.in (datarootdir): New variable.
10167
10168 2009-07-28  Daniel Jacobowitz  <dan@codesourcery.com>
10169
10170         * linux-low.c (linux_write_memory): Update debugging output.
10171         * Makefile.in (clean): Add new descriptions.
10172         (arm-with-vfpv2.o, arm-with-vfpv2.c, arm-with-vfpv3.o)
10173         (arm-with-vfpv3.c, arm-with-neon.o, arm-with-neon.c): New rules.
10174         * configure.srv: Add new files for arm*-*-linux*.
10175         * linux-arm-low.c: Add new declarations.
10176         (PTRACE_GETVFPREGS, PTRACE_SETVFPREGS): Define if undefined.
10177         (arm_hwcap, HWCAP_VFP, HWCAP_IWMMXT, HWCAP_NEON, HWCAP_VFPv3)
10178         (HWCAP_VFPv3D16): New.
10179         (arm_fill_wmmxregset, arm_store_wmmxregset): Check HWCAP_IWMMXT
10180         instead of __IWMMXT__.
10181         (arm_fill_vfpregset, arm_store_vfpregset, arm_get_hwcap)
10182         (arm_arch_setup): New.
10183         (target_regsets): Remove #ifdef.  Add VFP regset.
10184         (the_low_target): Use arm_arch_setup.
10185
10186 2009-07-28  Daniel Jacobowitz  <dan@codesourcery.com>
10187
10188         * linux-low.c (linux_kill_one_lwp): Adjust kernel workaround to skip
10189         the main thread again.
10190
10191 2009-07-06  Aleksandar Ristovski  <aristovski@qnx.com>
10192
10193         Adding Neutrino gdbserver.
10194         * configure: Regenerated.
10195         * configure.ac: Add case for srv_qnx and set LIBS accordingly.
10196         * configure.srv (i[34567]86-*-nto*): New target.
10197         * nto-low.c, nto-low.h, nto-x86-low.c: New files.
10198         * remote-utils.c [__QNX__]: Include sys/iomgr.h
10199         (nto_comctrl) [__QNX__]: New function.
10200         (enable_async_io, disable_async_io) [__QNX__]: Call nto_comctrl.
10201
10202 2009-07-05  Danny Backx  <dannybackx@users.sourceforge.net>
10203
10204         * configure.srv (i[34567]86-*-mingw32ce*): Add i386-low.o to
10205         srv_tgtobj.
10206
10207 2009-07-04  Danny Backx  <dannybackx@users.sourceforge.net>
10208             Pedro Alves  <pedro@codesourcery.com>
10209
10210         * win32-i386-low.c (i386_get_thread_context): Handle systems that
10211         don't support CONTEXT_EXTENDED_REGISTERS.
10212         (i386_win32_breakpoint, i386_win32_breakpoint_len): New.
10213         (the_low_target): Install them.
10214         * win32-low.c (get_child_debug_event): Handle WaitForDebugEvent
10215         failing with ERROR_PIPE_NOT_CONNECTED.
10216
10217 2009-06-30  Doug Evans  <dje@google.com>
10218             Pierre Muller  <muller@ics.u-strasbg.fr>
10219
10220         Add h/w watchpoint support to x86-linux, win32-i386.
10221         * Makefile.in (SFILES): Add i386-low.c
10222         (i386_low_h): Define.
10223         (i386-low.o): Add dependencies.
10224         (linux-x86-low.o): Add i386-low.h dependency.
10225         (win32-i386-low.o): Ditto.
10226         * i386-low.c: New file.
10227         * i386-low.h: New file.
10228         * configure.srv (i[34567]86-*-cygwin*): Add i386-low.o to srv_tgtobj.
10229         (i[34567]86-*-linux*, i[34567]86-*-mingw*, x86_64-*-linux*): Ditto.
10230         * linux-low.c (linux_add_process): Initialize arch_private.
10231         (linux_remove_process): Free arch_private.
10232         (add_lwp): Initialize arch_private.
10233         (delete_lwp): Free arch_private.
10234         (linux_resume_one_lwp): Call the_low_target.prepare_to_resume if
10235         provided.
10236         * linux-low.h (process_info_private): New member arch_private.
10237         (lwp_info): New member arch_private.
10238         (linux_target_ops): New members new_process, new_thread,
10239         prepare_to_resume.
10240         (ptid_of): New macro.
10241         * linux-x86-low.c: Include stddef.h, i386-low.h.
10242         (arch_process_info): New struct.
10243         (arch_lwp_info): New struct.
10244         (x86_linux_dr_get, x86_linux_dr_set): New functions.
10245         (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
10246         (i386_dr_low_get_status): New function.
10247         (x86_insert_point, x86_remove_point): New functions.
10248         (x86_stopped_by_watchpoint): New function.
10249         (x86_stopped_data_address): New function.
10250         (x86_linux_new_process, x86_linux_new_thread): New functions.
10251         (x86_linux_prepare_to_resume): New function.
10252         (the_low_target): Add entries for insert_point, remove_point,
10253         stopped_by_watchpoint, stopped_data_address, new_process, new_thread,
10254         prepare_to_resume.
10255         * server.c (debug_hw_points): New global.
10256         (monitor_show_help): Document set debug-hw-points.
10257         (handle_query): Process "set debug-hw-points".
10258         * server.h (debug_hw_points): Declare.
10259         (paddress): Declare.
10260         * utils.c (NUMCELLS, CELLSIZE): New macros.
10261         (get_sell, xsnprintf, paddress): New functions.
10262         * win32-arm-low.c (the_low_target): Add entries for insert_point,
10263         remove_point, stopped_by_watchpoint, stopped_data_address.
10264         * win32-i386-low.c: Include i386-low.h.
10265         (debug_reg_state): Replaces dr.
10266         (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
10267         (i386_dr_low_get_status): New function.
10268         (i386_insert_point, i386_remove_point): New functions.
10269         (i386_stopped_by_watchpoint): New function.
10270         (i386_stopped_data_address): New function.
10271         (i386_initial_stuff): Update.
10272         (get_thread_context,set_thread_context,i386_thread_added): Update.
10273         (the_low_target): Add entries for insert_point,
10274         remove_point, stopped_by_watchpoint, stopped_data_address.
10275         * win32-low.c (win32_insert_watchpoint): New function.
10276         (win32_remove_watchpoint): New function.
10277         (win32_stopped_by_watchpoint): New function.
10278         (win32_stopped_data_address): New function.
10279         (win32_target_ops): Add entries for insert_watchpoint,
10280         remove_watchpoint, stopped_by_watchpoint, stopped_data_address.
10281         * win32-low.h (win32_target_ops): New members insert_point,
10282         remove_point, stopped_by_watchpoint, stopped_data_address.
10283
10284 2009-06-25  Pedro Alves  <pedro@codesourcery.com>
10285
10286         * server.c (process_serial_event): Re-return unsupported, not
10287         error, if the type isn't recognized.  Re-allow supporting only
10288         insert or remove packets.  Also call require_running for
10289         breakpoints.  Add missing break statement to default case.  Tidy.
10290         * target.h (struct target_ops): Rename insert_watchpoint to
10291         insert_point, and remove_watchpoint to remove_point.
10292
10293         * linux-low.h (struct linux_target_ops): Likewise.
10294         * linux-low.c (linux_insert_watchpoint): Rename to ...
10295         (linux_insert_point): ... this.  Adjust.
10296         (linux_remove_watchpoint): Rename to ...
10297         (linux_remove_point): ... this.  Adjust.
10298         (linux_target_ops): Adjust.
10299         * linux-crisv32-low.c (cris_insert_watchpoint): Rename to ...
10300         (cris_insert_point): ... this.
10301         (cris_remove_watchpoint): Rename to ...
10302         (cris_remove_point): ... this.
10303         (the_low_target): Adjust.
10304
10305 2009-06-24  Pierre Muller  <muller@ics.u-strasbg.fr>
10306
10307         * server.c (handle_v_kill): Pass signal_pid to
10308         kill_inferior if multi_process is zero.
10309
10310 2009-06-23  Aleksandar Ristovski  <aristovski@qnx.com>
10311
10312         * server.c (process_serial_event): Add support for Z0 and Z1 packet.
10313         * target.h (target_ops): Comment for *_watchpoint to make it clear
10314         the functions can get types '0' and '1'.
10315
10316 2009-06-22  Aleksandar Ristovski  <aristovski@qnx.com>
10317
10318         * linux-low.c (usr_fetch_inferior_registers): Remove check for regno 0.
10319         * proc-service.c (ps_lgetregs): Pass -1 to fetch all registers.
10320         * regcache.c (get_regcache): Likewise.
10321         * spu-low.c (spu_fetch_registers): Remove 0 to -1 conversion.
10322         * win32-low.c (child_fetch_inferior_registers): Remove check for
10323         regno 0.
10324
10325 2009-06-19  Aleksandar Ristovski  <aristovski@qnx.com>
10326             Pedro Alves <pedro@codesourcery.com>
10327
10328         * target.h (struct target_ops) <supports_multi_process>: New
10329         callback.
10330         (target_supports_multi_process): New.
10331         * server.c (handle_query): Even if GDB reports support, only
10332         enable multi-process if the target also supports it.  Report
10333         multi-process support only if the target backend supports it.
10334         * linux-low.c (linux_supports_multi_process): New function.
10335         (linux_target_ops): Install it as target_supports_multi_process
10336         callback.
10337
10338 2009-05-24  Doug Evans  <dje@google.com>
10339
10340         Global renaming of find_thread_pid to find_thread_ptid.
10341         * server.h (find_thread_ptid): Renamed from find_thread_pid.
10342         * inferiors.c (find_thread_ptid): Renamed from find_thread_pid.
10343         All callers updated.
10344
10345         * linux-low.c (handle_extended_wait): Use linux_resume_one_lwp
10346         to resume the newly created thread, don't call ptrace (PTRACE_CONT)
10347         directly.
10348
10349         * linux-low.c (get_stop_pc): Print pc if debug_threads.
10350         (check_removed_breakpoint, linux_wait_for_lwp): Ditto.
10351         (linux_resume_one_lwp): Ditto.
10352
10353 2009-05-23  Doug Evans  <dje@google.com>
10354
10355         * linux-low.c (linux_resume_one_lwp): Change type of first arg
10356         from struct inferior_list_entry * to struct lwp_info *.
10357         All callers updated.
10358
10359 2009-05-13  Doug Evans  <dje@google.com>
10360
10361         * linux-x86-low.c: Don't include assert.h.
10362         (x86_siginfo_fixup): Use fatal, not assert.
10363         (x86_arch_setup): Fix comment.
10364
10365 2009-05-12  Doug Evans  <dje@google.com>
10366
10367         Biarch support for i386/amd64 gdbserver.
10368         * Makefile.in (SFILES): Remove linux-i386-low.c, linux-x86-64-low.c.
10369         Add linux-x86-low.c.
10370         (linux-i386-low.o, linux-x86-64-low.o): Delete.
10371         (linux-x86-low.o): Add.
10372         * linux-x86-64-low.c: Delete.
10373         * linux-i386-low.c: Delete.
10374         * linux-x86-low.c: New file.
10375         * configure.srv (i?86-linux srv_tgtobj): Replace linux-i386-low.o with
10376         linux-x86-low.o.
10377         (x86_64-linux srv_tgtobj): Replace linux-x86-64-low.o with
10378         linux-x86-low.o.
10379         (x86_64-linux srv_regobj): Add reg-i386-linux.o.
10380         * linux-low.c: Include ansidecl.h, elf/common.h, elf/external.h.
10381         (linux_child_pid_to_exec_file): New function.
10382         (elf_64_header_p, elf_64_file_p): New functions.
10383         (siginfo_fixup): New function.
10384         (linux_xfer_siginfo): New local inf_siginfo.  Call siginfo_fixup to
10385         give target a chance to convert layout.
10386         * linux-low.h (linux_target_ops): New member siginfo_fixup.
10387         (linux_child_pid_to_exec_file, elf_64_file_p): Declare.
10388
10389 2009-05-07  Doug Evans  <dje@google.com>
10390
10391         * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak.
10392         (regsets_store_inferior_registers): Ditto.
10393
10394 2009-05-06  Pedro Alves  <pedro@codesourcery.com>
10395
10396         PR server/10048
10397
10398         * linux-low.c (must_set_ptrace_flags): Delete.
10399         (linux_create_inferior): Set `lwp->must_set_ptrace_flags' instead
10400         of the global.
10401         (linux_attach_lwp_1): Don't set PTRACE_SETOPTIONS here.  Set
10402         `lwp->must_set_ptrace_flags' instead.
10403         (linux_wait_for_event_1): Set ptrace options here.
10404         (linux_wait_1): ... not here.
10405
10406 2009-04-30  Doug Evans  <dje@google.com>
10407
10408         * inferiors.c (started_inferior_callback): New function.
10409         (attached_inferior_callback): New function.
10410         (have_started_inferiors_p, have_attached_inferiors_p): New functions.
10411         * server.c (print_started_pid, print_attached_pid): New functions.
10412         (detach_or_kill_for_exit): New function.
10413         (main): Call it instead of for_each_inferior (kill_inferior_callback).
10414         * server.h (have_started_inferiors_p): Declare.
10415         (have_attached_inferiors_p): Declare.
10416
10417         * inferiors.c (remove_process): Fix memory leak, free process.
10418         * linux-low.c (linux_remove_process): New function.
10419         (linux_kill): Call it instead of remove_process.
10420         (linux_detach, linux_wait_1): Ditto.
10421
10422 2009-04-19  Danny Backx  <dannybackx@users.sourceforge.net>
10423
10424         * configure.srv: Add x86 Windows CE target.
10425
10426 2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
10427
10428         * inferiors.c (get_thread_process): Make global.
10429         * server.h (get_thread_process): Add prototype.
10430         * thread-db.c (find_one_thread): Use get_thread_process
10431         instead of current_process.
10432         (thread_db_get_tls_address): Do not crash if called when
10433         thread layer is not yet initialized.
10434
10435 2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
10436
10437         * remote-utils.c (prepare_resume_reply): Null-terminate packet.
10438         * spu-low.c (current_tid): Rename to ...
10439         (current_ptid): ... this.
10440         (fetch_ppc_register, fetch_ppc_memory, store_ppc_memory,
10441         spu_proc_xfer_spu, spu_resume, spu_request_interrupt): Use
10442         ptid_get_lwp (current_ptid) instead of current_tid.
10443         (spu_kill, spu_detach, spu_join, spu_wait): Use pid argument
10444         instead of current_tid.  Use find_process_pid to verify pid
10445         argument is valid.  Pass proper argument to remove_process.
10446         (spu_thread_alive): Compare current_ptid instead of current_tid.
10447         (spu_resume): Likewise.
10448
10449 2009-04-02  Pedro Alves  <pedro@codesourcery.com>
10450
10451         * linux-low.c (usr_store_inferior_registers): Declare local `pid'
10452         variable.
10453
10454 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
10455
10456         Implement the multiprocess extensions, and add linux multiprocess
10457         support.
10458
10459         * server.h (ULONGEST): Declare.
10460         (struct ptid, ptid_t): New.
10461         (minus_one_ptid, null_ptid): Declare.
10462         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
10463         (ptid_get_tid, ptid_equal, ptid_is_pid): Declare.
10464         (struct inferior_list_entry): Change `id' type from unsigned from
10465         to ptid_t.
10466         (struct sym_cache, struct breakpoint, struct
10467         process_info_private): Forward declare.
10468         (struct process_info): Declare.
10469         (current_process): Declare.
10470         (all_processes): Declare.
10471         (initialize_inferiors): Declare.
10472         (add_thread): Adjust to use ptid_t.
10473         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): Ditto.
10474         (add_process, remove_process, find_thread_pid): Declare.
10475         (find_inferior_id): Adjust to use ptid_t.
10476         (cont_thread, general_thread, step_thread): Change type to ptid_t.
10477         (multi_process): Declare.
10478         (push_event): Adjust to use ptid_t.
10479         (read_ptid, write_ptid): Declare.
10480         (prepare_resume_reply): Adjust to use ptid_t.
10481         (clear_symbol_cache): Declare.
10482         * inferiors.c (all_processes): New.
10483         (null_ptid, minus_one_ptid): New.
10484         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
10485         (ptid_get_tid, ptid_equal, ptid_is_pid): New.
10486         (add_thread): Change unsigned long to ptid.  Remove gdb_id
10487         parameter.  Adjust.
10488         (thread_id_to_gdb_id, thread_to_gdb_id): Change unsigned long to ptid.
10489         (gdb_id_to_thread): Rename to ...
10490         (find_thread_pid): ... this.  Change unsigned long to ptid.
10491         (gdb_id_to_thread_id, find_inferior_id): Change unsigned long to ptid.
10492         (loaded_dll, pull_pid_from_list): Adjust.
10493         (add_process, remove_process, find_process_pid)
10494         (get_thread_process, current_process, initialize_inferiors): New.
10495         * target.h (struct thread_resume) <thread>: Change type to ptid_t.
10496         (struct target_waitstatus) <related_pid>: Ditto.
10497         (struct target_ops) <kill, detach>: Add `pid' argument.  Change
10498         return type to int.
10499         (struct target_ops) <join>: Add `pid' argument.
10500         (struct target_ops) <thread_alive>: Change pid's type to ptid_t.
10501         (struct target_ops) <wait>: Add `ptid' field.  Change return type
10502         to ptid.
10503         (kill_inferior, detach_inferior, join_inferior): Add `pid' argument.
10504         (mywait): Add `ptid' argument.  Change return type to ptid_t.
10505         (target_pid_to_str): Declare.
10506         * target.c (set_desired_inferior): Adjust to use ptids.
10507         (mywait): Add new `ptid' argument.  Adjust.
10508         (target_pid_to_str): New.
10509         * mem-break.h (free_all_breakpoints): Declare.
10510         * mem-break.c (breakpoints): Delelete.
10511         (set_breakpoint_at, delete_breakpoint, find_breakpoint_at)
10512         (check_mem_read, check_mem_write, delete_all_breakpoints): Adjust
10513         to use per-process breakpoint list.
10514         (free_all_breakpoints): New.
10515         * remote-utils.c (struct sym_cache) <name>: Drop `const'.
10516         (symbol_cache, all_symbols_looked_up): Delete.
10517         (hexchars): New.
10518         (ishex, unpack_varlen_hex, write_ptid, hex_or_minus_one,
10519         read_ptid): New.
10520         (prepare_resume_reply): Change ptid argument's type from unsigned
10521         long to ptid_t.  Adjust.  Implement W;process and X;process.
10522         (free_sym_cache, clear_symbol_cache): New.
10523         (look_up_one_symbol): Adjust to per-process symbol cache.  *
10524         * server.c (cont_thread, general_thread, step_thread): Change type
10525         to ptid_t.
10526         (attached): Delete.
10527         (multi_process): New.
10528         (last_ptid): Change type to ptid_t.
10529         (struct vstop_notif) <ptid>: Change type to ptid_t.
10530         (queue_stop_reply, push_event): Change `ptid' argument's type to
10531         ptid_t.
10532         (discard_queued_stop_replies): Add `pid' argument.
10533         (start_inferior): Adjust to use ptids.  Adjust to mywait interface
10534         changes.  Don't reference the `attached' global.
10535         (attach_inferior): Adjust to mywait interface changes.
10536         (handle_query): Adjust to use ptids.  Parse GDB's qSupported
10537         features.  Handle and report "multiprocess+".  Handle
10538         "qAttached:PID".
10539         (handle_v_cont): Adjust to use ptids.  Adjust to mywait interface
10540         changes.
10541         (handle_v_kill): New.
10542         (handle_v_stopped): Adjust to use target_pid_to_str.
10543         (handle_v_requests): Allow multiple attaches and runs when
10544         multiprocess extensions are in effect.  Handle "vKill".
10545         (myresume): Adjust to use ptids.
10546         (queue_stop_reply_callback): Add `arg' parameter.  Handle it.
10547         (handle_status): Adjust to discard_queued_stop_replies interface
10548         change.
10549         (first_thread_of, kill_inferior_callback)
10550         (detach_or_kill_inferior_callback, join_inferiors_callback): New.
10551         (main): Call initialize_inferiors.  Adjust to use ptids, killing
10552         and detaching from all inferiors.  Handle multiprocess packet
10553         variants.
10554         * linux-low.h: Include gdb_proc_service.h.
10555         (struct process_info_private): New.
10556         (struct linux_target_ops) <pid_of>: Use ptid_get_pid.
10557         <lwpid_of>: Use ptid_get_lwp.
10558         (get_lwp_thread): Adjust.
10559         (struct lwp_info): Add `dead' member.
10560         (find_lwp_pid): Declare.
10561         * linux-low.c (thread_db_active): Delete.
10562         (new_inferior): Adjust comment.
10563         (inferior_pid): Delete.
10564         (linux_add_process): New.
10565         (handle_extended_wait): Adjust.
10566         (add_lwp): Change unsigned long to ptid.
10567         (linux_create_inferior): Add process to processes table.  Adjust
10568         to use ptids.  Don't set new_inferior here.
10569         (linux_attach_lwp): Rename to ...
10570         (linux_attach_lwp_1): ... this.  Add `initial' argument.  Handle
10571         it.  Adjust to use ptids.
10572         (linux_attach_lwp): New.
10573         (linux_attach): Add process to processes table.  Don't set
10574         new_inferior here.
10575         (struct counter): New.
10576         (second_thread_of_pid_p, last_thread_of_process_p): New.
10577         (linux_kill_one_lwp): Add `args' parameter.  Handle it.  Adjust to
10578         multiple processes.
10579         (linux_kill): Add `pid' argument.  Handle it.  Adjust to multiple
10580         processes.  Remove process from process table.
10581         (linux_detach_one_lwp): Add `args' parameter.  Handle it.  Adjust
10582         to multiple processes.
10583         (any_thread_of): New.
10584         (linux_detach): Add `pid' argument, and handle it.  Remove process
10585         from processes table.
10586         (linux_join): Add `pid' argument.  Handle it.
10587         (linux_thread_alive): Change unsighed long argument to ptid_t.
10588         Consider dead lwps as not being alive.
10589         (status_pending_p): Rename `dummy' argument to `arg'.  Filter out
10590         threads we're not interested in.
10591         (same_lwp, find_lwp_pid): New.
10592         (linux_wait_for_lwp): Change `pid' argument's type from int to
10593         ptid_t.  Adjust.
10594         (linux_wait_for_event): Rename to ...
10595         (linux_wait_for_event_1): ... this.  Change `pid' argument's type
10596         from int to ptid_t.  Adjust.
10597         (linux_wait_for_event): New.
10598         (linux_wait_1): Add `ptid' argument.  Change return type to
10599         ptid_t.  Adjust.  Use last_thread_of_process_p.  Remove processes
10600         that exit from the process table.
10601         (linux_wait): Add `ptid' argument.  Change return type to ptid_t.
10602         Adjust.
10603         (mark_lwp_dead): New.
10604         (wait_for_sigstop): Adjust to use ptids.  If a process exits while
10605         stopping all threads, mark its main lwp as dead.
10606         (linux_set_resume_request, linux_resume_one_thread): Adjust to use
10607         ptids.
10608         (fetch_register, usr_store_inferior_registers)
10609         (regsets_fetch_inferior_registers)
10610         (regsets_store_inferior_registers, linux_read_memory)
10611         (linux_write_memory): Inline `inferior_pid'.
10612         (linux_look_up_symbols): Adjust to use per-process
10613         `thread_db_active'.
10614         (linux_request_interrupt): Adjust to use ptids.
10615         (linux_read_auxv): Inline `inferior_pid'.
10616         (initialize_low): Don't reference thread_db_active.
10617         * gdb_proc_service.h (struct ps_prochandle) <pid>: Remove.
10618         * proc-service.c (ps_lgetregs): Use find_lwp_pid.
10619         (ps_getpid): Return the pid of the current inferior.
10620         * thread-db.c (proc_handle, thread_agent): Delete.
10621         (thread_db_create_event, thread_db_enable_reporting): Adjust to
10622         per-process data.
10623         (find_one_thread): Change argument type to ptid_t.  Adjust to
10624         per-process data.
10625         (maybe_attach_thread): Adjust to per-process data and ptids.
10626         (thread_db_find_new_threads): Ditto.
10627         (thread_db_init): Ditto.
10628         * spu-low.c (spu_create_inferior, spu_attach): Add process to
10629         processes table.  Adjust to use ptids.
10630         (spu_kill, spu_detach): Adjust interface.  Remove process from
10631         processes table.
10632         (spu_join, spu_thread_alive): Adjust interface.
10633         (spu_wait): Adjust interface.  Remove process from processes
10634         table.  Adjust to use ptids.
10635         * win32-low.c (current_inferior_tid): Delete.
10636         (current_inferior_ptid): New.
10637         (debug_event_ptid): New.
10638         (thread_rec): Take a ptid.  Adjust.
10639         (child_add_thread): Add `pid' argument.  Adjust to use ptids.
10640         (child_delete_thread): Ditto.
10641         (do_initial_child_stuff): Add `attached' argument.  Add process to
10642         processes table.
10643         (child_fetch_inferior_registers, child_store_inferior_registers):
10644         Adjust.
10645         (win32_create_inferior): Pass 0 to do_initial_child_stuff.
10646         (win32_attach): Pass 1 to do_initial_child_stuff.
10647         (win32_kill): Adjust interface.  Remove process from processes
10648         table.
10649         (win32_detach): Ditto.
10650         (win32_join): Adjust interface.
10651         (win32_thread_alive): Take a ptid.
10652         (win32_resume): Adjust to use ptids.
10653         (get_child_debug_event): Ditto.
10654         (win32_wait): Adjust interface.  Remove exiting process from
10655         processes table.
10656
10657 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
10658
10659         Non-stop mode support.
10660
10661         * server.h (non_stop): Declare.
10662         (gdb_client_data, handler_func): Declare.
10663         (delete_file_handler, add_file_handler, start_event_loop):
10664         Declare.
10665         (handle_serial_event, handle_target_event, push_event)
10666         (putpkt_notif): Declare.
10667         * target.h (enum resume_kind): New.
10668         (struct thread_resume): Replace `step' field by `kind' field.
10669         (TARGET_WNOHANG): Define.
10670         (struct target_ops) <wait>: Add `options' argument.
10671         <supports_non_stop, async, start_non_stop>: New fields.
10672         (target_supports_non_stop, target_async): New.
10673         (start_non_stop): Declare.
10674         (mywait): Add `options' argument.
10675         * target.c (mywait): Add `options' argument.  Print child exit
10676         notifications here.
10677         (start_non_stop): New.
10678         * server.c (non_stop, own_buf, mem_buf): New globals.
10679         (struct vstop_notif): New.
10680         (notif_queue): New global.
10681         (queue_stop_reply, push_event, discard_queued_stop_replies)
10682         (send_next_stop_reply): New.
10683         (start_inferior): Adjust to use resume_kind.  Adjust to mywait
10684         interface changes.
10685         (attach_inferior): In non-stop mode, don't wait for the target
10686         here.
10687         (handle_general_set): Handle QNonStop.
10688         (handle_query): When handling qC, return the current general
10689         thread, instead of the first thread of the list.
10690         (handle_query): If the backend supports non-stop mode, include
10691         QNonStop+ in the qSupported query response.
10692         (handle_v_cont): Adjust to use resume_kind.  Handle resume_stop
10693         and non-stop mode.
10694         (handle_v_attach, handle_v_run): Handle non-stop mode.
10695         (handle_v_stopped): New.
10696         (handle_v_requests): Report support for vCont;t.  Handle vStopped.
10697         (myresume): Adjust to use resume_kind.  Handle non-stop.
10698         (queue_stop_reply_callback): New.
10699         (handle_status): Handle non-stop mode.
10700         (main): Clear non_stop flag on reconnection.  Use the event-loop.
10701         Refactor serial protocol handling from here ...
10702         (process_serial_event): ... to this new function.  When GDB
10703         selects any thread, select one here.  In non-stop mode, wait until
10704         GDB acks all pending events before exiting.
10705         (handle_serial_event, handle_target_event): New.
10706         * remote-utils.c (remote_open): Install remote_desc in the event
10707         loop.
10708         (remote_close): Remove remote_desc from the event loop.
10709         (putpkt_binary): Rename to...
10710         (putpkt_binary_1): ... this.  Add `is_notic' argument.  Handle it.
10711         (putpkt_binary): New as wrapper around putpkt_binary_1.
10712         (putpkt_notif): New.
10713         (prepare_resume_reply): In non-stop mode, don't change the
10714         general_thread.
10715         * event-loop.c: New.
10716         * Makefile.in (OBJ): Add event-loop.o.
10717         (event-loop.o): New rule.
10718
10719         * linux-low.h (pid_of): Moved here.
10720         (lwpid_of): New.
10721         (get_lwp_thread): Use lwpid_of.
10722         (struct lwp_info): Delete `lwpid' field.  Add `suspended' field.
10723         * linux-low.c (pid_of): Delete.
10724         (inferior_pid): Use lwpid_of.
10725         (linux_event_pipe): New.
10726         (target_is_async_p): New.
10727         (delete_lwp): New.
10728         (handle_extended_wait): Use lwpid_of.
10729         (add_lwp): Don't set lwpid field.
10730         (linux_attach_lwp): Adjust debug output.  Use lwpid_of.
10731         (linux_kill_one_lwp): If killing a running lwp, stop it first.
10732         Use lwpid_of.  Adjust to linux_wait_for_event interface changes.
10733         (linux_detach_one_lwp): If detaching from a running lwp, stop it
10734         first.  Adjust to linux_wait_for_event interface changes.  Use
10735         lwpid_of.
10736         (linux_detach): Don't delete the main lwp here.
10737         (linux_join): Use my_waitpid.  Avoid signal_pid.  Use lwpid_of.
10738         (status_pending_p): Don't consider explicitly suspended lwps.
10739         (linux_wait_for_lwp): Take an integer pid instead of a lwp_info
10740         pointer.  Add OPTIONS argument.  Change return type to int.  Use
10741         my_waitpid instead of sleeping.  Handle WNOHANG.  Use lwpid_of.
10742         (linux_wait_for_event): Take an integer pid instead of a lwp_info
10743         pointer.  Add status pointer argument.  Return a pid instead of a
10744         status.  Use lwpid_of.  Adjust to linux_wait_for_lwp interface
10745         changes.  In non-stop mode, don't switch to a random thread.
10746         (linux_wait): Rename to...
10747         (linux_wait_1): ... this.  Add target_options argument, and handle
10748         it.  Adjust to use resume_kind.  Use lwpid_of.  In non-stop mode,
10749         don't handle the continue thread.  Handle TARGET_WNOHANG.  Merge
10750         clean exit and signal exit code.  Don't stop all threads in
10751         non-stop mode.  In all-stop mode, only stop all threads when
10752         reporting a stop to GDB.  Handle explicit thread stop requests.
10753         (async_file_flush, async_file_mark): New.
10754         (linux_wait): New.
10755         (send_sigstop): Use lwpid_of.
10756         (wait_for_sigstop): Use lwpid_of.  Adjust to linux_wait_for_event
10757         interface changes.  In non-stop mode, don't switch to a random
10758         thread.
10759         (linux_resume_one_lwp): Use lwpid_of.
10760         (linux_continue_one_thread, linux_queue_one_thread): Merge into ...
10761         (linux_resume_one_thread): ... this.  Handle resume_stop.  In
10762         non-stop mode, don't look for pending flag in all threads.
10763         (resume_status_pending_p): Don't consider explicitly suspended
10764         threads.
10765         (my_waitpid): Reimplement.  Emulate __WALL.
10766         (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
10767         Use lwpid_of.
10768         (sigchld_handler, linux_supports_non_stop, linux_async)
10769         (linux_start_non_stop): New.
10770         (linux_target_ops): Register linux_supports_non_stop, linux_async
10771         and linux_start_non_stop.
10772         (initialize_low): Install SIGCHLD handler.
10773         * thread-db.c (thread_db_create_event, find_one_thread)
10774         (thread_db_get_tls_address): Use lwpid_of.
10775         * win32-low.c (win32_detach): Adjust to use resume_kind.
10776         (win32_wait): Add `options' argument.
10777         * spu-low.c (spu_resume): Adjust to use resume_kind.
10778         (spu_wait): Add `options' argument.
10779
10780 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
10781
10782         Decouple target code from remote protocol.
10783
10784         * target.h (enum target_waitkind): New.
10785         (struct target_waitstatus): New.
10786         (struct target_ops) <wait>: Return an unsigned long.  Take a
10787         target_waitstatus pointer instead of a char pointer.
10788         (mywait): Likewise.
10789         * target.c (mywait): Change prototype to return an unsigned long.
10790         Take a target_waitstatus pointer instead of a char pointer.  Adjust.
10791         * server.h (thread_from_wait, old_thread_from_wait): Delete
10792         declarations.
10793         (prepare_resume_reply): Change prototype to take a
10794         target_waitstatus.
10795         * server.c (thread_from_wait, old_thread_from_wait): Delete.
10796         (last_status, last_ptid): New.
10797         (start_inferior): Remove "statusptr" argument.  Adjust.  Return a
10798         pid instead of a signal.
10799         (attach_inferior): Remove "status" and "signal" parameters.
10800         Adjust.
10801         (handle_query): For qGetTLSAddr, parse the thread id with strtol,
10802         not as an address.
10803         (handle_v_cont, handle_v_attach, handle_v_run, handle_v_kill)
10804         (handle_v_requests, myresume): Remove "status" and "signal"
10805         parameters.  Adjust.
10806         (handle_status): New.
10807         (main): Delete local `status'.  Adjust.
10808         * remote-utils.c: Include target.h.
10809         (prepare_resume_reply): Change prototype to take a
10810         target_waitstatus.  Adjust.
10811
10812         * linux-low.c (linux_wait): Adjust to new target_ops->wait
10813         interface.
10814         * spu-low.c (spu_wait): Adjust.
10815         * win32-low.c (enum target_waitkind, struct target_waitstatus):
10816         Delete.
10817         (win32_wait): Adjust.
10818
10819 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
10820
10821         * target.h (struct thread_resume): Delete leave_stopped member.
10822         (struct target_ops): Add a `n' argument to the `resume' callback.
10823         * server.c (start_inferior): Adjust.
10824         (handle_v_cont, myresume): Adjust.
10825         * linux-low.c (check_removed_breakpoint): Adjust to resume
10826         interface change, and to removed leave_stopped field.
10827         (resume_ptr): Delete.
10828         (struct thread_resume_array): New.
10829         (linux_set_resume_request): Add new `arg' parameter.  Adjust to
10830         resume interface change.
10831         (linux_continue_one_thread, linux_queue_one_thread)
10832         (resume_status_pending_p): Check if the resume field is NULL
10833         instead of checking the leave_stopped member.
10834         (linux_resume): Adjust to the target resume interface change.
10835         * spu-low.c (spu_resume): Adjust to the target resume interface
10836         change.
10837         * win32-low.c (win32_detach, win32_resume): Ditto.
10838
10839 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
10840
10841         * linux-low.c (linux_wait_for_event): Don't clear the `stepping'
10842         flag.
10843         (wait_for_sigstop): Don't leave a finished single-step SIGTRAP
10844         pending.
10845         (linux_continue_one_thread): Only preserve the stepping flag if
10846         there's a pending breakpoint.
10847
10848 2009-03-31  Pedro Alves  <pedro@codesourcery.com>
10849
10850         * server.c (main): After the inferior having exited, call
10851         remote_close before exiting gdbserver.
10852
10853 2009-03-25  Thiago Jung Bauermann  <bauerman@br.ibm.com>
10854
10855         Fix size of FPSCR in Power 7 processors.
10856         * linux-ppc-low.c (PPC_FEATURE_ARCH_2_05): Remove #define.
10857         (PPC_FEATURE_HAS_DFP): New #define.
10858         (ppc_arch_setup): Check for DFP feature instead of ISA 2.05 to decide on
10859         size of the FPSCR.
10860
10861 2009-03-23  Pedro Alves  <pedro@codesourcery.com>
10862
10863         * server.c (handle_query) Whitespace and formatting.
10864
10865 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
10866
10867         * i387-fp.c, linux-arm-low.c, linux-cris-low.c,
10868         linux-crisv32-low.c, linux-i386-low.c, linux-low.c,
10869         linux-mips-low.c, linux-s390-low.c, linux-sparc-low.c,
10870         linux-x86-64-low.c, linux-xtensa-low.c, proc-service.c,
10871         regcache.c, remote-utils.c, server.c, spu-low.c, target.h,
10872         thread-db.c, win32-low.c, xtensa-xtregs.c, gdbreplay.c,
10873         Makefile.in, configure.ac: Fix whitespace throughout.
10874         * configure: Regenerate.
10875
10876 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
10877
10878         * inferiors.c (find_inferior): Make it safe for the callback
10879         function to delete the currently iterated inferior.
10880
10881 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
10882
10883         * Makefile.in (linuw_low_h): Move higher.
10884         (thread-db.o): Depend on $(linux_low_h).
10885
10886 2009-03-17  Pedro Alves  <pedro@codesourcery.com>
10887
10888         Rename "process" to "lwp" throughout.
10889
10890         * linux-low.c (all_processes): Rename to...
10891         (all_lwps): ... this.
10892         (inferior_pid, handle_extended_wait, get_stop_pc): Adjust.
10893         (add_process): Rename to ...
10894         (add_lwp): ... this.  Adjust.
10895         (linux_create_inferior): Adjust.
10896         (linux_attach_lwp): Adjust.
10897         (linux_attach): Adjust.
10898         (linux_kill_one_process): Rename to ...
10899         (linux_kill_one_lwp): ... this.  Adjust.
10900         (linux_kill): Adjust.
10901         (linux_detach_one_process): Rename to ...
10902         (linux_detach_one_lwp): ... this.  Adjust.
10903         (linux_detach): Adjust.
10904         (check_removed_breakpoint): Adjust.
10905         (status_pending_p): Adjust.
10906         (linux_wait_for_process): Rename to ...
10907         (linux_wait_for_lwp): ... this.  Adjust.
10908         (linux_wait_for_event): Adjust.
10909         (send_sigstop): Adjust.
10910         (wait_for_sigstop): Adjust.
10911         (stop_all_processes): Rename to ...
10912         (stop_all_lwps): ... this.
10913         (linux_resume_one_process): Rename to ...
10914         (linux_resume_one_lwp): ... this.  Adjust.
10915         (linux_set_resume_request, linux_continue_one_thread)
10916         (linux_queue_one_thread, resume_status_pending_p)
10917         (usr_store_inferior_registers, regsets_store_inferior_registers)
10918         (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
10919         Adjust.
10920         * linux-low.h (get_process): Rename to ...
10921         (get_lwp): ... this.  Adjust.
10922         (get_thread_process): Rename to ...
10923         (get_thread_lwp): ... this.  Adjust.
10924         (get_process_thread): Rename to ...
10925         (get_lwp_thread): ... this.  Adjust.
10926         (struct process_info): Rename to ...
10927         (struct lwp_info): ... this.
10928         (all_processes): Rename to ...
10929         (all_lwps): ... this.
10930         * proc-service.c (ps_lgetregs): Adjust.
10931         * thread-db.c (thread_db_create_event, find_one_thread)
10932         (maybe_attach_thread, thread_db_get_tls_address): Adjust.
10933
10934 2009-03-14  Pedro Alves  <pedro@codesourcery.com>
10935
10936         * server.c (handle_query): Handle "qAttached".
10937
10938 2009-03-13  Nathan Sidwell  <nathan@codesourcery.com>
10939
10940         * Makefile.in, hostio-errno.c, errno.c, xtensa-xtregs.c: Change to
10941         GPLv3, update license URL.
10942
10943 2009-03-01  Doug Evans  <dje@google.com>
10944
10945         * Makefile.in (INCLUDE_CFLAGS): Add -I$(srcdir)/../common.
10946         (server_h): Add gdb_signals.h.
10947         (signals.o): Update.
10948         * server.h (target_signal_from_host,target_signal_to_host_p)
10949         (target_signal_to_host,target_signal_to_name): Moved to gdb_signals.h.
10950
10951 2009-02-14  Pierre Muller  <muller@ics.u-strasbg.fr>
10952
10953         * remote-utils.c (getpkt): Also generate remote-debug
10954         information if noack_mode is set.
10955
10956 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
10957
10958         * server.c (handle_query): Report qXfer:siginfo:read and
10959         qXfer:siginfo:write as supported and handle them.
10960         * target.h (struct target_ops) <qxfer_siginfo>: New field.
10961         * linux-low.c (linux_xfer_siginfo): New.
10962         (linux_target_ops): Set it.
10963
10964 2009-01-26  Pedro Alves  <pedro@codesourcery.com>
10965
10966         * server.c (gdbserver_usage): Mention --remote-debug.
10967         (main): Accept '--remote-debug' switch.
10968
10969 2009-01-18  Doug Evans  <dje@google.com>
10970
10971         * regcache.c (new_register_cache): No need to check result of xcalloc.
10972         * server.c (handle_search_memory): Back out calls to xmalloc,
10973         result is checked and error is returned to user upon failure.
10974         (handle_query): Ditto.  Add more checks for result of malloc.
10975         (handle_v_cont): Check result of malloc, report error back to
10976         user upon failure.
10977         (handle_v_run): Ditto.  Call freeargv.
10978         * server.h (freeargv): Declare.
10979         * utils.c (freeargv): New fn.
10980
10981 2009-01-15  Doug Evans  <dje@google.com>
10982
10983         * gdbreplay.c (perror_with_name): Make arg const char *.
10984         * server.h (target_signal_to_name): Make return type const char *.
10985         * thread-db.c (thread_db_err_str): Make return type const char *.
10986         * utils.c (perror_with_name): Make arg const char *.
10987
10988 2009-01-14  Pedro Alves  <pedro@codesourcery.com>
10989
10990         * win32-low.c (get_child_debug_event): Issue a final DBG_CONTINUE
10991         when handling a EXIT_PROCESS_DEBUG_EVENT.
10992
10993 2009-01-06  Joel Brobecker  <brobecker@adacore.com>
10994
10995         * gdbreplay.c (gdbreplay_version): Update copyright year.
10996         * server.c (gdbserver_version): Likewise.
10997
10998 2009-01-05  Doug Evans  <dje@google.com>
10999
11000         * linux-low.c (linux_attach_lwp): Add some comments/fixmes.
11001         (handle_extended_wait): Improve comment.
11002
11003 2008-12-13  Doug Evans  <dje@google.com>
11004
11005         * utils.c (xmalloc,xcalloc,xstrdup): New fns.
11006         * server.h (ATTR_MALLOC): New macro.
11007         (xmalloc,xcalloc,xstrdup): Declare.
11008         * hostio.c: Replace malloc,calloc,strdup with xmalloc,xcalloc,xstrdup.
11009         * inferiors.c: Ditto.
11010         * linux-low.c: Ditto.
11011         * mem-break.c: Ditto.
11012         * regcache.c: Ditto.
11013         * remote-utils.c: Ditto.
11014         * server.c: Ditto.
11015         * target.c: Ditto.
11016         * win32-low.c: Ditto.
11017
11018 2008-12-12  Doug Evans  <dje@google.com>
11019
11020         * linux-low.c (linux_wait_for_process): Don't clobber current_inferior
11021         in debugging printf.
11022
11023         * linux-low.c (handle_extended_wait): Simplify, use my_waitpid.
11024
11025 2008-12-09  Doug Evans  <dje@google.com>
11026
11027         * linux-low.h (struct process_info): Delete member tid, unused.
11028         * thread-db.c (find_one_thread): Update.
11029         (maybe_attach_thread): Update.
11030
11031 2008-12-02  Pedro Alves  <pedro@codesourcery.com>
11032
11033         * target.h (struct target_ops): Add qxfer_osdata member.
11034         * linux-low.c: Include ctype.h and pwd.h and sys/types.h
11035         and dirent.h.
11036         (linux_qxfer_osdata): New functions.
11037         (linux_target_ops): Register linux_qxfer_osdata as qxfer_osdata
11038         callback.
11039         * server.c (handle_query): Handle "qXfer:osdata:read:".
11040         * remote-utils.c (buffer_grow, buffer_free, buffer_init, buffer_finish)
11041         (buffer_xml_printf): New functions.
11042         * server.h (struct buffer): New.
11043         (buffer_grow_str, buffer_grow_str0): New macros.
11044         (buffer_grow, buffer_free, buffer_init, buffer_finish)
11045         (buffer_xml_printf): Declare.
11046
11047 2008-11-24  Doug Evans  <dje@google.com>
11048
11049         * Makefile.in (VERSION,DIST,LINT,LINTFLAGS): Delete, unused.
11050
11051 2008-11-24  Daniel Jacobowitz  <dan@codesourcery.com>
11052
11053         * server.c (handle_v_run): Always use the supplied argument list.
11054
11055 2008-11-19  Bob Wilson  <bob.wilson@acm.org>
11056
11057         * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4.
11058         (xtensa_regmap_table): Add entry for scompare1.
11059
11060 2008-11-18  Thiago Jung Bauermann  <bauerman@br.ibm.com>
11061
11062         * Makefile.in (powerpc-isa205-32l.o, powerpc-isa205-32l.c,
11063         powerpc-isa205-altivec32l.o, powerpc-isa205-altivec32l.c,
11064         powerpc-isa205-vsx32l.o, powerpc-isa205-vsx32l.c,
11065         powerpc-isa205-64l.o, powerpc-isa205-64l.c,
11066         powerpc-isa205-altivec64l.o, powerpc-isa205-altivec64l.c,
11067         powerpc-isa205-vsx64l.o, powerpc-isa205-vsx64l.c): New targets.
11068         * configure.srv (powerpc*-*-linux*): Add ISA 2.05 object files and
11069         XML target descriptions.
11070         * linux-ppc-low.c (ppc_arch_setup): Init registers with 64-bit FPSCR
11071         when inferior is running on an ISA 2.05 or later processor.  Add
11072         special case to return offset for full 64-bit slot of FPSCR when
11073         in 32-bits.
11074
11075 2008-11-14  Daniel Gutson  <dgutson@codesourcery.com>
11076
11077         * Makefile.in (SFILES, clean): Added sparc64 files.
11078         (reg-sparc64.o, reg-sparc64.c): New.
11079         * configure.srv (sparc*-*-linux*): New configuration.
11080         * linux-low.c (regsets_fetch_inferior_registers): Swap ptrace
11081         syscall arguments for SPARC.
11082         (regsets_store_inferior_registers): Likewise.
11083         * linux-sparc-low.c: New file.
11084
11085 2008-10-21  Doug Evans  <dje@google.com>
11086
11087         * Makefile.in (BFD_DIR,BFD,BFD_SRC,BFD_CFLAGS): Delete.
11088         (READLINE_DIR,READLINE_DEP): Delete.
11089         (INTERNAL_CFLAGS): Update.
11090         (LINTFLAGS): Update.
11091
11092 2008-10-10  Pedro Alves  <pedro@codesourcery.com>
11093
11094         * server.c (handle_v_run): If GDB didn't specify an argv, use the
11095         whole argv from the last run, not just argv[0].
11096
11097 2008-09-08  Pedro Alves  <pedro@codesourcery.com>
11098
11099         * regcache.c (new_register_cache): Return NULL if the register
11100         cache size isn't known yet.
11101         (free_register_cache): Avoid dereferencing a NULL regcache.
11102
11103 2008-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
11104
11105         * configure.srv: Merge MIPS and MIPS64.
11106
11107 2008-08-24  Maciej W. Rozycki  <macro@linux-mips.org>
11108
11109         * Makefile.in (uninstall): Apply $(EXEEXT) too.
11110
11111 2008-08-18  Luis Machado  <luisgpm@br.ibm.com>
11112
11113         * Makefile.in: Add required vsx dependencies.
11114
11115         * linux-ppc-low: Define PPC_FEATURE_HAS_VSX.
11116         Declare init_registers_powerpc_vsx32l.
11117         Declare init_registers_powerpc_vsx64l.
11118         Define PTRACE_GETVSXREGS and PTRACE_SETVSXREGS.
11119         (ppc_arch_setup): Check for VSX in hwcap.
11120         (ppc_fill_vsxregset): New function.
11121         (ppc_store_vsxregset): New function.
11122         Add new VSX entry in regset_info target_regsets.
11123
11124         * configure.srv: Add new VSX dependencies.
11125
11126 2008-08-12  Pedro Alves  <pedro@codesourcery.com>
11127
11128         * remote-utils.c (noack_mode, transport_is_reliable): New globals.
11129         (remote_open): Set or clear transport_is_reliable.
11130         (putpkt_binary): Don't expect acks in noack mode.
11131         (getpkt): Don't send ack/nac in noack mode.
11132         * server.c (handle_general_set): Handle QStartNoAckMode.
11133         (handle_query): If connected by tcp pass QStartNoAckMode+ in
11134         qSupported.
11135         (main): Reset noack_mode on every connection.
11136         * server.h (noack_mode): Declare.
11137
11138 2008-08-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11139
11140         * Makefile.in (GDBREPLAY_OBS): New variable.
11141         (gdbreplay$(EXEEXT)): Use it to avoid unportable $^.
11142
11143 2008-08-05  Ulrich Weigand  <uweigand@de.ibm.com>
11144             Daniel Jacobowitz  <dan@codesourcery.com>
11145
11146         * linux-low.c (linux_resume_one_process): Ignore ESRCH.
11147         (usr_store_inferior_registers): Likewise.
11148         (regsets_store_inferior_registers): Likewise.
11149
11150 2008-07-31  Rolf Jansen  <rj@surtec.com>
11151             Pedro Alves  <pedro@codesourcery.com>
11152
11153         * configure.ac: Check for memmem declaration.
11154         * server.c [HAVE_MALLOC_H]: Include malloc.h.
11155         (disable_packet_vCont, disable_packet_Tthread, disable_packet_qC)
11156         (disable_packet_qfThreadInfo): Unconditionally compile.
11157         * server.h [!HAVE_DECL_MEMMEM]: Declare memmem.
11158         * configure, config.in: Regenerate.
11159
11160 2008-07-28  Doug Kwan  <dougkwan@google.com>
11161
11162         * linux-low.c (sys/dir.h, sys/user.h): Remove includes.
11163         (linux_write_memory): Remove declaration of errno.
11164
11165 2008-07-12  Ulrich Weigand  <uweigand@de.ibm.com>
11166
11167         * linux-low.c (handle_extended_wait): Do not use "status"
11168         variable uninitialized.
11169
11170 2008-07-07  Pedro Alves  <pedro@codesourcery.com>
11171
11172         * server.c (handle_v_attach): Inhibit reporting dll changes.
11173
11174 2008-06-27  Pedro Alves  <pedro@codesourcery.com>
11175
11176         * remote-utils.c (prepare_resume_reply): If requested, don't
11177         output "thread:TID" in the T stop reply.
11178
11179         * server.c (disable_packet_vCont, disable_packet_Tthread)
11180         (disable_packet_qC, disable_packet_qfThreadInfo): New globals.
11181         (handle_query): If requested, disable support for qC, qfThreadInfo
11182         and qsThreadInfo.
11183         (handle_v_requests): If requested, disable support for vCont.
11184         (gdbserver_show_disableable): New.
11185         (main): Handle --disable-packet and --disable-packet=LIST.
11186
11187         * server.h (disable_packet_vCont, disable_packet_Tthread)
11188         (disable_packet_qC, disable_packet_qfThreadInfo): Declare.
11189
11190 2008-06-20  Carlos O'Donell  <carlos@codesourcery.com>
11191
11192         * server.c (gdbserver_usage): Mention --version.
11193
11194 2008-06-06  Daniel Jacobowitz  <dan@codesourcery.com>
11195
11196         * Makefile.in (gdbreplay.o): New rule.
11197
11198 2008-06-06  Joseph Myers  <joseph@codesourcery.com>
11199
11200         * gdbreplay.c (gdbreplay_version): Say gdbreplay in version
11201         message, not gdbserver.
11202
11203 2008-06-05  Vladimir Prus  <vladimir@codesourcery.com>
11204             Nathan Sidwell  <nathan@codesourcery.com>
11205             Joseph Myers  <joseph@codesourcery.com>
11206
11207         * acinclude.m4: Include ../../config/acx.m4.
11208         * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
11209         * configure, config.in: Regenerate.
11210         * Makefile.in (gdbreplay$(EXEEXT)): Add version.o.
11211         * server.c (gdbserver_version): Print PKGVERSION.
11212         (gdbsrever_usage): Add stream parameter.  Print REPORT_BUGS_TO.
11213         (main): Adjust gdbserver_usage calls.
11214         * gdbreplay.c (version, host_name): Add declarations.
11215         (gdbreplay_version, gdbreplay_usage): New.
11216         (main): Accept --version and --help options.
11217
11218 2008-06-04  Daniel Jacobowitz  <dan@codesourcery.com>
11219
11220         * linux-arm-low.c (thumb_breakpoint, thumb_breakpoint_len): New.
11221         (arm_breakpoint_at): Handle Thumb.
11222         (the_low_target): Add comment.
11223
11224 2008-05-29  Ulrich Weigand  <uweigand@de.ibm.com>
11225
11226         * linux-ppc-low.c (ppc_collect_ptrace_register): Clear buffer.
11227
11228 2008-05-09  Doug Evans  <dje@google.com>
11229
11230         * server.h (decode_search_memory_packet): Declare.
11231         * remote-utils.c (decode_search_memory_packet): New fn.
11232         * server.c (handle_search_memory_1): New fn.
11233         (handle_search_memory): New fn.
11234         (handle_query): Process qSearch:memory packets.
11235
11236 2008-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
11237
11238         * regcache.c (registers_length): Remove.
11239         (set_register_cache): Verify that PBUFSIZ is large enough to hold a
11240         full register packet.
11241         * regcache.h (registers_length): Remove prototype.
11242         * server.h (PBUFSIZ): Define to 16384.
11243
11244 2008-05-03  Ulrich Weigand  <uweigand@de.ibm.com>
11245
11246         * configure.srv (powerpc*-*-linux*): Set srv_regobj to
11247         powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o,
11248         powerpc-64l.o, and powerpc-altivec64l.o.
11249         Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and
11250         rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml,
11251         rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml,
11252         rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml,
11253         rs6000/power-linux.xml, and rs6000/power64-linux.xml
11254         to srv_xmlfiles.
11255
11256         * Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ...
11257         (powerpc-32l.o, powerpc-32l.c): ... these new rules.
11258         (powerpc-32.o, powerpc-32.c): Remove, replace by ...
11259         (powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules.
11260         (powerpc-e500.o, powerpc-e500.c): Remove, replace by ...
11261         (powerpc-e500l.o, powerpc-e500l.c): ... these new rules.
11262         (reg-ppc64.o, reg-ppc64.c): Remove, replace by ...
11263         (powerpc-64l.o, powerpc-64l.c): ... these new rules.
11264         (powerpc-64.o, powerpc-64.c): Remove, replace by ...
11265         (powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules.
11266         (clean): Update.
11267
11268         * linux-ppc-low.c (init_registers_ppc): Remove, replace by ...
11269         (init_registers_powerpc_32l): ... this new prototype.
11270         (init_registers_powerpc_32): Remove, replace by ...
11271         (init_registers_powerpc_altivec32l): ... this new prototype.
11272         (init_registers_powerpc_e500): Remove, replace by ...
11273         (init_registers_powerpc_e500l): ... this new prototype.
11274         (init_registers_ppc64): Remove, replace by ...
11275         (init_registers_powerpc_64l): ... this new prototype.
11276         (init_registers_powerpc_64): Remove, replace by ...
11277         (init_registers_powerpc_altivec64l): ... this new prototype.
11278         (ppc_num_regs): Set to 73.
11279         (PT_ORIG_R3, PT_TRAP): Define if necessary.
11280         (ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap.
11281         (ppc_cannot_store_register): Handle orig_r3 and trap.
11282         (ppc_arch_setup): Update init_registers_... calls.
11283         (ppc_fill_gregset): Handle orig_r3 and trap.
11284
11285         * inferiors.c (clear_inferiors): Reset current_inferior.
11286
11287 2008-04-23  Paolo Bonzini  <bonzini@gnu.org>
11288
11289         * acinclude.m4: Add override.m4.
11290         * configure: Regenerate.
11291
11292 2008-04-21  Ulrich Weigand  <uweigand@de.ibm.com>
11293
11294         * linux-ppc-low.c (ppc_arch_setup): Reset ppc_hwcap after the
11295         initial call to init_register_ppc64.
11296
11297 2008-04-21  Ulrich Weigand  <uweigand@de.ibm.com>
11298
11299         * configure.srv (powerpc64-*-linux*, powerpc-*-linux*): Merge into
11300         single powerpc*-*-linux* case.
11301         (s390-*-linux*, s390x-*-linux*): Merge into single s390*-*-linux* case.
11302
11303 2008-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
11304
11305         * configure.srv [powerpc64-*-linux*]: Remove powerpc-e500.o from
11306         srv_regobj.  Remove rs6000/powerpc-e500.xml and rs6000/power-spe.xml
11307         from reg_xmlfiles.
11308         * linux-ppc-low.c: Include <elf.h>.
11309         (PPC_FEATURE_HAS_ALTIVEC, PPC_FEATURE_HAS_SPE): Define.
11310         (ppc_hwcap): New global variable.
11311         (ppc_regmap): Remove __SPE__ #ifdef sections.
11312         (ppc_regmap_e500): New global variable.
11313         (ppc_cannot_store_register): Update __SPE__ special case.
11314         (ppc_get_hwcap): New function.
11315         (ppc_arch_setup): Use it to determine whether inferior supports
11316         AltiVec or SPE registers.  Set the_low_target.regmap if appropriate.
11317         (ppc_fill_vrregset, ppc_store_vrregset): Define unconditionally.
11318         Do not access registers if target does not support AltiVec.
11319         (ppc_fill_evrregset, ppc_store_evrregset): Define unconditionally.
11320         Do not access registers if target does not support SPE.
11321         (target_regsets): Unconditionally include AltiVec and SPE regsets.
11322
11323 2008-04-17  Daniel Jacobowitz  <dan@codesourcery.com>
11324
11325         * linux-low.c (disabled_regsets, num_regsets): New.
11326         (use_regsets_p): Delete.
11327         (linux_wait_for_process): Clear disabled_regsets.
11328         (regsets_fetch_inferior_registers): Check and set it.
11329         (regsets_store_inferior_registers): Likewise.
11330         (linux_fetch_registers, linux_store_registers): Do not use
11331         use_regsets_p.
11332         (initialize_low): Allocate disabled_regsets.
11333
11334 2008-04-14  Daniel Jacobowitz  <dan@codesourcery.com>
11335
11336         * Makefile.in (LIBOBJS): New.
11337         (OBS): Use LIBOBJS.
11338         (memmem.o): New rule.
11339         * configure.ac: Use AC_CONFIG_LIBOBJ_DIR and check for memmem.
11340         * configure: Regenerated.
11341
11342 2008-04-04  Ulrich Weigand  <uweigand@de.ibm.com>
11343
11344         * server.c (handle_query): Never return "unsupported" for
11345         qXfer:features:read queries.
11346
11347 2008-03-27  Ulrich Weigand  <uweigand@de.ibm.com>
11348
11349         * server.c (get_features_xml): Fix inverted condition.
11350         (handle_query): Always support qXfer:feature:read.
11351
11352 2008-03-10  Daniel Jacobowitz  <dan@codesourcery.com>
11353
11354         * server.c (wrapper_argv): New.
11355         (start_inferior): Handle wrapper_argv.  If set, expect an extra
11356         trap.
11357         (gdbserver_usage): Document --wrapper.
11358         (main): Parse --wrapper.
11359
11360 2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
11361
11362         * configure.srv [powerpc64-*-linux*]: Add all files mentioned for
11363         powerpc-*-linux* to srv_regobj and reg_xmlfiles.
11364         * linux-ppc-low.c (ppc_get_pc): Support bi-arch operation.
11365         (ppc_set_pc): Likewise.
11366         (ppc_arch_setup): New function.
11367         (ppc_fill_gregset): Call ppc_collect_ptrace_register instead
11368         of collect_register.
11369         (the_low_target): Use ppc_arch_setup as arch_setup initializer.
11370
11371 2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
11372
11373         * configure.srv [powerpc64-*-linux*]: Use linux-ppc-low.o
11374         instead of linux-ppc64-low.o.
11375         * linux-ppc64-low.c: Remove file.
11376         * Makefile.in (SFILES): Remove linux-ppc64-low.c.
11377         (linux-ppc64-low.o): Remove rule.
11378
11379         * linux-ppc-low.c (init_registers_ppc64): Add prototype.
11380         (init_registers_powerpc_64): Likewise.
11381         (ppc_regmap): Conditionally define depending on __powerpc64__.
11382         (ppc_cannot_store_register): Do not special-case "fpscr" when
11383         compiled on __powerpc64__.
11384         (ppc_collect_ptrace_register): New function.
11385         (ppc_supply_ptrace_register): New function.
11386         (ppc_breakpoint): Change type to "unsigned int".
11387         (ppc_breakpoint_at): Change type of "insn" to "unsigned int".
11388         (the_low_target): Conditionally provide initializers for the
11389         arch_setup member depending on __powerpc64__.  Install
11390         collect_ptrace_register and supply_ptrace_register members.
11391
11392 2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
11393
11394         * regcache.h (gdbserver_xmltarget): Add extern declaration.
11395         * server.c (gdbserver_xmltarget): Define.
11396         (get_features_xml): Use it to replace "target.xml" and arch_string.
11397
11398         * configure.srv: Remove srv_xmltarget.  Add XML files that were
11399         mentioned there to srv_xmlfiles instead.  Remove conditional tests
11400         on gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe; set
11401         srv_xmlfiles and srv_regobj to include all possible choices.
11402         * configure.ac (srv_xmltarget): Remove.
11403         (srv_xmlfiles): Do not add "target.xml".
11404         (gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe): Remove
11405         checks for supplementary target information.
11406         * configure: Regenerate.
11407         * Makefile.in (XML_TARGET): Remove.
11408         (target.xml): Remove rule.
11409         (clean): Do not clean up target.xml.
11410         (.PRECIOUS): Do not mention target.xml.
11411
11412         * target.h (struct target_ops): Remove arch_string member.
11413         * linux-low.c (linux_arch_string): Remove.
11414         (linux_target_ops): Remove arch_string initializer.
11415         * linux-low.h (struct linux_target_ops): Remove arch_string member.
11416         * linux-i386-low.c (the_low_target): Remove arch_string initializer.
11417         * linux-x86-64-low.c (the_low_target): Remove arch_string initializer.
11418         * spu-low.c (spu_arch_string): Remove.
11419         (spu_target_ops): Remove arch_string initializer.
11420         * win32-low.c (win32_arch_string): Remove.
11421         (win32_target_ops): Remove arch_string initializer.
11422         * win32-low.h (struct win32_target_ops): Remove arch_string member.
11423         * win32-arm-low.c (the_low_target): Remove arch_string initializer.
11424         * win32-i368-low.c (the_low_target): Remove arch_string initializer.
11425
11426 2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
11427
11428         * linux-low.h (struct linux_target_ops): Replace left_pad_xfer field
11429         by collect_ptrace_register and supply_ptrace_register hooks.
11430         * linux-low.c (fetch_register): Use supply_ptrace_register callback
11431         instead of checking for the_low_target.left_pad_xfer.
11432         (usr_store_inferior_registers): Use collect_ptrace_register callback
11433         instead of checking for the_low_target.left_pad_xfer.
11434
11435         * linux-s390-low.c (s390_collect_ptrace_register): New function.
11436         (s390_supply_ptrace_register): Likewise.
11437         (s390_fill_gregset): Call s390_collect_ptrace_register.
11438         (the_low_target): Update.
11439
11440         * linux-ppc64-low.c (ppc_collect_ptrace_register): New function.
11441         (ppc_supply_ptrace_register): Likewise.
11442         (the_low_target): Update.
11443
11444         * linux-i386-low.c (the_low_target): Update.
11445         * linux-x86-64-low.c (the_low_target): Update.
11446
11447 2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
11448
11449         * configure.srv [s390x-*-linux*]: Set srv_regobj to include both
11450         reg-s390.o and reg-s390x.o.
11451
11452         * linux-low.c (new_inferior): New global variable.
11453         (linux_create_inferior, linux_attach): Set it.
11454         (linux_wait_for_process): Call the_low_target.arch_setup after the
11455         target has stopped for the first time.
11456         (initialize_low): Do not call the_low_target.arch_setup.
11457
11458         * linux-s390-low.c (s390_get_pc): Support bi-arch operation.
11459         (s390_set_pc): Likewise.
11460         (s390_arch_setup): New function.
11461         (the_low_target): Use s390_arch_setup as arch_setup routine.
11462
11463         * regcache.c (realloc_register_cache): New function.
11464         (set_register_cache): Call it for each existing regcache.
11465
11466 2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
11467
11468         * server.h (init_registers): Remove prototype.
11469
11470         * linux-low.h (struct linux_target_ops): Add arch_setup field.
11471         * linux-low.c (initialize_low): Call the_low_target.arch_setup ()
11472         instead of init_registers ().
11473         * linux-arm-low.c (init_registers_arm): Add prototype.
11474         (init_registers_arm_with_iwmmxt): Likewise.
11475         (the_low_target): Add initializer for arch_setup field.
11476         * linux-cris-low.c (init_registers_cris): Add prototype.
11477         (the_low_target): Add initializer for arch_setup field.
11478         * linux-crisv32-low.c (init_registers_crisv32): Add prototype.
11479         (the_low_target): Add initializer for arch_setup field.
11480         * linux-i386-low.c (init_registers_i386_linux): Add prototype.
11481         (the_low_target): Add initializer for arch_setup field.
11482         * linux-ia64-low.c (init_registers_ia64): Add prototype.
11483         (the_low_target): Add initializer for arch_setup field.
11484         * linux-m32r-low.c (init_registers_m32r): Add prototype.
11485         (the_low_target): Add initializer for arch_setup field.
11486         * linux-m68k-low.c (init_registers_m68k): Add prototype.
11487         (the_low_target): Add initializer for arch_setup field.
11488         * linux-mips-low.c (init_registers_mips_linux): Add prototype.
11489         (init_registers_mips64_linux): Likewise.
11490         (the_low_target): Add initializer for arch_setup field.
11491         * linux-ppc-low.c (init_registers_ppc): Add prototype.
11492         (init_registers_powerpc_32, init_registers_powerpc_e500): Likewise.
11493         (the_low_target): Add initializer for arch_setup field.
11494         * linux-ppc64-low.c (init_registers_ppc64): Add prototype.
11495         (init_registers_powerpc_64): Likewise.
11496         (the_low_target): Add initializer for arch_setup field.
11497         * linux-s390-low.c (init_registers_s390): Add prototype.
11498         (init_registers_s390x): Likewise.
11499         (the_low_target): Add initializer for arch_setup field.
11500         * linux-sh-low.c (init_registers_sh): Add prototype.
11501         (the_low_target): Add initializer for arch_setup field.
11502         * linux-x86-64-low.c (init_registers_x86_64_linux): Add prototype.
11503         (the_low_target): Add initializer for arch_setup field.
11504         * linux-xtensa-low.c (init_registers_xtensa): Add prototype.
11505         (the_low_target): Add initializer for arch_setup field.
11506
11507         * win32-low.h (struct win32_target_ops): Add arch_setup field.
11508         * win32-low.c (initialize_low): Call the_low_target.arch_setup ()
11509         instead of init_registers ().
11510         * win32-arm-low.c (init_registers_arm): Add prototype.
11511         (the_low_target): Add initializer for arch_setup field.
11512         * win32-i386-low.c (init_registers_i386): Add prototype.
11513         (the_low_target): Add initializer for arch_setup field.
11514
11515         * spu-low.c (init_registers_spu): Add prototype.
11516         (initialize_low): Call initialie_registers_spu () instead of
11517         initialize_registers ().
11518
11519 2008-02-19  Pedro Alves  <pedro@codesourcery.com>
11520
11521         * server.c (handle_v_requests): When handling the vRun and vAttach
11522         packets, if already debugging a process, don't kill it.  Return an
11523         error instead.
11524
11525 2008-02-17  Daniel Jacobowitz  <dan@codesourcery.com>
11526
11527         * server.c (handle_query): Correct length check.
11528
11529 2008-02-14  Pedro Alves  <pedro_alves@portugalmail.pt>
11530
11531         * win32-low.c (do_initial_child_stuff): Add process handle
11532         parameter.  Set current_process_handle and current_process_id from the
11533         parameters. Clear globals.
11534         (win32_create_inferior): Don't set current_process_handle and
11535         current_process_id here.  Instead pass them on the call to
11536         do_initial_child_stuff.
11537         (win32_attach): Likewise.
11538         (win32_clear_inferiors): New.
11539         (win32_kill): Don't close the current process handle or the
11540         current thread handle here.  Instead call win32_clear_inferiors.
11541         (win32_detach): Don't open a new handle to the process.  Call
11542         win32_clear_inferiors.
11543         (win32_join): Don't rely on current_process_handle; open a new
11544         handle using the process id.
11545         (win32_wait): Call win32_clear_inferiors when the inferior process
11546         has exited.
11547
11548 2008-02-14  Daniel Jacobowitz  <dan@codesourcery.com>
11549
11550         * server.c (monitor_show_help): Add "exit".
11551
11552 2008-02-11  Maxim Grigoriev  <maxim2405@gmail.com>
11553
11554         * Makefile.in (SFILES): Add linux-xtensa-low.c.
11555         (clean): Add reg-xtensa.c.
11556         (linux-xtensa-low.o, reg-xtensa.o, reg-xtensa.c): New dependencies.
11557         * configure.srv (xtensa*-*-linux*) New target.
11558         * linux-xtensa-low.c: New.
11559         * xtensa-xtregs.c: New.
11560
11561 2008-02-01  Pedro Alves  <pedro_alves@portugalmail.pt>
11562
11563         * hostio.c: Don't include errno.h.
11564         (errno_to_fileio_errno): Move to hostio-errno.
11565         * hostio.c: (hostio_error): Remove the error parameter.  Defer the
11566         error number outputting to the target->hostio_last_error callback.
11567         (hostio_packet_error): Use FILEIO_EINVAL directly.
11568         (handle_open, handle_pread, hostio_error, handle_unlink): Update
11569         calls to hostio_error.
11570         * hostio-errno.c: New.
11571         * server.h (hostio_last_error_from_errno): Declare.
11572         * target.h (target_ops): Add hostio_last_error member.
11573         * linux-low.c (linux_target_op): Register hostio_last_error_from_errno
11574         as hostio_last_error handler.
11575         * spu-low.c (spu_target_ops): Likewise.
11576         * win32-low.c [_WIN32_WCE] (win32_error_to_fileio_error)
11577         (wince_hostio_last_error): New functions.
11578         (win32_target_ops) [_WIN32_WCE]: Register wince_hostio_last_error
11579         as hostio_last_error handler.
11580         (win32_target_ops) [!_WIN32_WCE]: Register
11581         hostio_last_error_from_errno as hostio_last_error handler.
11582         * Makefile.in (SFILES): Add hostio.c and hostio-errno.c.
11583         (hostio-errno.o): New rule.
11584         * configure.ac (GDBSERVER_DEPFILES): Add $srv_hostio_err_objs.
11585         * configure.srv (srv_hostio_err_objs): New variable.  Default to
11586         hostio-errno.o.
11587         (arm*-*-mingw32ce*): Set srv_hostio_err_objs to "".
11588         * configure: Regenerate.
11589
11590 2008-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
11591
11592         * linux-low.c (linux_attach_lwp): Do not _exit after errors.
11593         (linux_kill, linux_detach): Clean up the process list.
11594         * remote-utils.c (remote_open): Improve port number parsing.
11595         (putpkt_binary, input_interrupt): Only send interrupts if the target
11596         is running.
11597         * server.c (extended_protocol): Make static.
11598         (attached): Define earlier.
11599         (exit_requested, response_needed, program_argv): New variables.
11600         (target_running): New.
11601         (start_inferior): Clear attached here.
11602         (attach_inferior): Set attached here.
11603         (require_running): Define.
11604         (handle_query): Use require_running and target_running.  Implement
11605         "monitor exit".
11606         (handle_v_attach, handle_v_run): New.
11607         (handle_v_requests): Use require_running.  Handle vAttach and vRun.
11608         (gdbserver_usage): Update.
11609         (main): Redo argument parsing.  Handle --debug and --multi.  Handle
11610         --attach along with other options or after the port.  Save
11611         program_argv.  Support no initial program.  Resynchronize
11612         communication with GDB after an error.  Handle "monitor exit".
11613         Use require_running and target_running.  Always allow the extended
11614         protocol.  Do not error out for Hc0 or Hc-1.  Do not automatically
11615         restart in extended mode.
11616         * README: Refer to the GDB manual.  Update --attach usage.
11617
11618 2007-12-20  Andreas Schwab  <schwab@suse.de>
11619
11620         * linux-low.c (STACK_SIZE): Define.
11621         (linux_tracefork_child): Use it.  Use __clone2 on ia64.
11622         (linux_test_for_tracefork): Likewise.
11623
11624 2007-12-18  Daniel Jacobowitz  <dan@codesourcery.com>
11625
11626         * linux-low.c (linux_wait_for_event): Update messages.  Do not
11627         reinsert auto-delete breakpoints.
11628         * mem-break.c (struct breakpoint): Change return type of handler to
11629         int.
11630         (set_breakpoint_at): Update handler type.
11631         (reinsert_breakpoint_handler): Return 1 instead of calling
11632         delete_breakpoint.
11633         (reinsert_breakpoint_by_bp): Check for the original breakpoint before
11634         setting a new one.
11635         (check_breakpoints): Delete auto-delete breakpoints and return 2.
11636         * mem-break.h (set_breakpoint_at): Update handler type.
11637         * thread-db.c (thread_db_create_event, thread_db_create_event): Update.
11638         * win32-low.c (auto_delete_breakpoint): New.
11639         (get_child_debug_event): Use it.
11640
11641 2007-12-16  Daniel Jacobowitz  <dan@codesourcery.com>
11642
11643         * configure.ac: Check for pread and pwrite.
11644         * hostio.c (handle_pread): Fall back to lseek and read.
11645         (handle_pwrite): Fall back to lseek and write.
11646         * config.in, configure: Regenerated.
11647
11648 2007-12-07  Daniel Jacobowitz  <dan@codesourcery.com>
11649
11650         * server.c (myresume): Add own_buf argument.
11651         (main): Update calls.
11652
11653 2007-12-06  Daniel Jacobowitz  <dan@codesourcery.com>
11654
11655         * linux-low.c (linux_wait, linux_resume): Do not handle async I/O.
11656         * remote-utils.c (remote_open): Do not call disable_async_io.
11657         (block_async_io): Delete.
11658         (unblock_async_io): Make static.
11659         (initialize_async_io): New.
11660         * server.c (handle_v_cont): Handle async I/O here.
11661         (myresume): Likewise.  Move other common resume tasks here...
11662         (main): ... from here.  Call initialize_async_io.  Disable async
11663         I/O before the main loop.
11664         * server.h (initialize_async_io): Declare.
11665         (block_async_io, unblock_async_io): Delete prototypes.
11666         * spu-low.c (spu_resume, spu_wait): Do not handle async I/O here.
11667
11668 2007-12-06  Mick Davis  <mickd@goanna.iinet.net.au>
11669
11670         * remote-utils.c (readchar): Allow binary data in received messages.
11671
11672 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11673
11674         * win32-low.c (attaching): New global.
11675         (win32_create_inferior): Clear the `attaching' global.
11676         (win32_attach): Set the `attaching' global.
11677         (get_child_debug_event) [_WIN32_WCE]: Stop the inferior when
11678         attaching.  Only set a breakpoint at the entry point if not
11679         attaching.
11680
11681 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11682
11683         * server.c (main): Don't report dll events on the initial
11684         connection on attaches.
11685
11686 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11687
11688         * server.c (main): Relax numerical bases supported for the pid of
11689         the --attach command line argument.
11690
11691 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11692
11693         * win32-low.c (win32_attach): Call OpenProcess before
11694         DebugActiveProcess, not after.  Add last error output to error
11695         call.
11696
11697 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11698
11699         * win32-low.c (win32_get_thread_context)
11700         (win32_set_thread_context): New functions.
11701         (thread_rec): Use win32_get_thread_context.
11702         (continue_one_thread, win32_resume): Use win32_set_thread_context.
11703         * win32-low.h (win32_thread_info) [_WIN32_WCE]: Add `base_context'
11704         field.
11705
11706 2007-12-03  Leo Zayas
11707             Pedro Alves  <pedro_alves@portugalmail.pt>
11708
11709         * win32-low.c (soft_interrupt_requested, faked_breakpoint): New
11710         global variables.
11711         (child_add_thread): Minor cleanup.
11712         (child_continue): Resume artificially suspended threads before
11713         calling ContinueDebugEvent.
11714         (suspend_one_thread): New.
11715         (fake_breakpoint_event): New.
11716         (get_child_debug_event): Change return type to int.  Check here if
11717         gdb sent an interrupt request.  If a soft interrupt was requested,
11718         fake a breakpoint event.  Return 0 if there is no event to handle,
11719         and 1 otherwise.
11720         (win32_wait): Don't check here if gdb sent an interrupt request.
11721         Ensure there is a valid event to handle.
11722         (win32_request_interrupt): Add soft interruption method as last
11723         resort.
11724
11725 2007-12-03  Leo Zayas
11726             Pedro Alves  <pedro_alves@portugalmail.pt>
11727
11728         * win32-low.h (win32_thread_info): Add descriptions to the
11729         structure members.  Replace `suspend_count' counter by a
11730         `suspended' flag.
11731         * win32-low.c (thread_rec): Update condition of when to get the
11732         context from the inferior.  Rely on ContextFlags being set if it
11733         has already been retrieved.  Only suspend the inferior thread if
11734         we haven't already.  Warn if that fails.
11735         (continue_one_thread): s/suspend_count/suspended/.  Only call
11736         ResumeThread once.  Warn if that fails.
11737
11738 2007-12-02  Pedro Alves  <pedro_alves@portugalmail.pt>
11739
11740         * win32-low.c (win32_wait): Don't read from the inferior when it
11741         has already exited.
11742
11743 2007-12-02  Pedro Alves  <pedro_alves@portugalmail.pt>
11744
11745         * Makefile.in (win32_low_h): New variable.
11746         (win32-low.o): Add dependency on $(win32_low_h).
11747         (win32-arm-low.o, win32-i386-low.o): New rules.
11748
11749 2007-11-30  Daniel Jacobowitz  <dan@codesourcery.com>
11750
11751         * hostio.c: Correct copyright year.
11752
11753 2007-11-30  Daniel Jacobowitz  <dan@codesourcery.com>
11754
11755         * Makefile.in (OBS): Add hostio.o.
11756         (hostio.o): New rule.
11757         * server.h (handle_vFile): Declare.
11758         * hostio.c: New file.
11759         * server.c (handle_v_requests): Take packet_len and new_packet_len
11760         for binary packets.  Call handle_vFile.
11761         (main): Update call to handle_v_requests.
11762
11763 2007-11-05  Daniel Jacobowitz  <dan@codesourcery.com>
11764
11765         * linux-low.c: Include <sched.h>.
11766
11767 2007-11-01  Daniel Jacobowitz  <dan@codesourcery.com>
11768
11769         * linux-low.c (linux_tracefork_grandchild): New.
11770         (linux_tracefork_child): Use clone.
11771         (linux_test_for_tracefork): Use clone; allocate and free a stack.
11772
11773 2007-10-31  Joel Brobecker  <brobecker@adacore.com>
11774
11775         * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh.
11776
11777 2007-10-24  Daniel Jacobowitz  <dan@codesourcery.com>
11778
11779         * linux-low.c (handle_extended_wait): Handle unexpected signals.
11780
11781 2007-10-23  Daniel Jacobowitz  <dan@codesourcery.com>
11782
11783         * inferiors.c (change_inferior_id): Delete.
11784         (add_pid_to_list, pull_pid_from_list): New.
11785         * linux-low.c (PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG)
11786         (PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK)
11787         (PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC, PTRACE_O_TRACEVFORKDONE)
11788         (PTRACE_O_TRACEEXIT, PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK)
11789         (PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE)
11790         (PTRACE_EVENT_EXIT, __WALL): Provide default definitions.
11791         (stopped_pids, thread_db_active, must_set_ptrace_flags): New variables.
11792         (using_threads): Always set to 1.
11793         (handle_extended_wait): New.
11794         (add_process): Do not set TID.
11795         (linux_create_inferior): Set must_set_ptrace_flags.
11796         (linux_attach_lwp): Remove TID argument.  Do not check using_threads.
11797         Use PTRACE_SETOPTIONS.  Call new_thread_notify.  Update all callers.
11798         (linux_thread_alive): Rename TID argument to LWPID.
11799         (linux_wait_for_process): Handle unknown processes.  Do not use TID.
11800         (linux_wait_for_event): Do not use TID or check using_threads.  Update
11801         call to dead_thread_notify.  Call handle_extended_wait.
11802         (linux_create_inferior): Use PTRACE_SETOPTIONS.
11803         (send_sigstop): Delete sigstop_sent.
11804         (wait_for_sigstop): Avoid TID.
11805         (linux_supports_tracefork_flag, linux_tracefork_child, my_waitpid)
11806         (linux_test_for_tracefork): New.
11807         (linux_lookup_signals): Use thread_db_active and
11808         linux_supports_tracefork_flag.
11809         (initialize_low): Use thread_db_active and linux_test_for_tracefork.
11810         * linux-low.h (get_process_thread): Avoid TID.
11811         (struct process_ifo): Move thread_known and tid to the end.  Remove
11812         sigstop_sent.
11813         (linux_attach_lwp, thread_db_init): Update prototypes.
11814         * server.h (change_inferior_id): Delete prototype.
11815         (add_pid_to_list, pull_pid_from_list): New prototypes.
11816         * thread-db.c (thread_db_use_events): New.
11817         (find_first_thread): Rename to...
11818         (find_one_thread): ...this.  Update callers and messages.  Do not
11819         call fatal.  Check thread_db_use_events.  Do not call
11820         change_inferior_id or new_thread_notify.
11821         (maybe_attach_thread): Update.  Do not call new_thread_notify.
11822         (thread_db_init): Set thread_db_use_events.  Check use_events.
11823         * utils.c (fatal, warning): Correct message prefix.
11824
11825 2007-10-15  Daniel Jacobowitz  <dan@codesourcery.com>
11826
11827         * Makefile.in (clean): Remove new files.
11828         (powerpc-32.o, powerpc-32.c, powerpc-e500.o, powerpc-e500.c)
11829         (powerpc-64.o, powerpc-64.c): New rules.
11830         * configure.srv: Use alternate register sets for powerpc64-*-linux*
11831         with AltiVec, powerpc-*-linux* with AltiVec, and powerpc-*-linux*
11832         with SPE.
11833         * linux-ppc-low.c (ppc_regmap): Do not fetch the FP registers for
11834         SPE targets.
11835         (ppc_cannot_store_register): Do not check for FPSCR for SPE targets.
11836         (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS, ppc_fill_vrregset)
11837         (ppc_store_vrregset, PTRACE_GETEVRREGS, PTRACE_SETEVRREGS)
11838         (struct gdb_evrregset_t, ppc_fill_evrregset, ppc_store_evrregset): New.
11839         (target_regsets): Add AltiVec and SPE register sets.
11840         * configure.ac: Check for AltiVec and SPE.
11841         * linux-ppc64-low.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS)
11842         (ppc_fill_vrregset, ppc_store_vrregset): New.
11843         (target_regsets): Add AltiVec register set.
11844         * configure: Regenerated.
11845
11846 2007-09-19  Daniel Jacobowitz  <dan@codesourcery.com>
11847
11848         * linux-low.c (O_LARGEFILE): Define.
11849         (linux_read_memory): Use /proc/PID/mem.
11850         * configure.ac: Use AC_GNU_SOURCE.  Check for pread64.
11851         * configure, config.in: Regenerated.
11852
11853 2007-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
11854
11855         * linux-low.c (linux_wait_for_event): Do not pass signals while
11856         single-stepping.
11857
11858 2007-09-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11859
11860         * win32-low.c (create_process): New.
11861         (win32_create_inferior): Use create_process instead of
11862         CreateProcess.  If create_process failed retry appending an ".exe"
11863         suffix.  Store the GetLastError result immediatelly after
11864         create_process calls and use it on the call to error.
11865
11866 2007-09-03  Pedro Alves  <pedro_alves@portugalmail.pt>
11867
11868         * win32-low.c (handle_load_dll): Don't use toolhelp when waiting.
11869
11870 2007-08-23  Joel Brobecker  <brobecker@adacore.com>
11871
11872         * configure.ac: Switch license to GPLv3.
11873
11874 2007-08-01  Michael Snyder  <msnyder@access-company.com>
11875
11876         * remote-utils.c (putpkt_binary): Memory leak, free buf2.
11877
11878 2007-07-31  Pedro Alves  <pedro_alves@portugalmail.pt>
11879
11880         * win32-low.c (winapi_CloseToolhelp32Snapshot) [_WIN32_WCE]: New
11881         typedef.
11882         (win32_CloseToolhelp32Snapshot) [_WIN32_WCE]: New global var.
11883         (load_toolhelp) [_WIN32_WCE]: Load TOOLHELP.DLL.  Get
11884         CloseToolhelp32Snapshot.
11885         (toolhelp_get_dll_name) [_WIN32_WCE]: Close the snapshot with
11886         CloseToolhelp32Snapshot.
11887
11888 2007-07-27  Michael Snyder  <michael.snyder@access-company.com>
11889
11890         * server.c (main): Check for inferior exit before main loop.
11891
11892 2007-07-18  Pedro Alves  <pedro_alves@portugalmail.pt>
11893
11894         * remote-utils.c (remote_open): Set SO_KEEPALIVE on remote_desc
11895         instead of on tmp_desc.
11896
11897 2007-07-17  Pedro Alves  <pedro_alves@portugalmail.pt>
11898             Daniel Jacobowitz  <dan@codesourcery.com>
11899
11900         * inferiors.c (all_dlls, dlls_changed, get_dll): New.
11901         (add_thread): Minor cleanups.
11902         (clear_inferiors): Move lower in the file.  Clear the DLL
11903         list.
11904         (free_one_dll, match_dll, loaded_dll, unloaded_dll, clear_list): New.
11905         * remote-utils.c (prepare_resume_reply): Check dlls_changed.
11906         (xml_escape_text): New.
11907         * server.c (handle_query): Handle qXfer:libraries:read.  Report it
11908         for qSupported.
11909         (handle_v_cont): Report errors.
11910         (gdbserver_version): Update.
11911         (main): Correct size of own_buf.  Do not report initial DLL events.
11912         * server.h (struct dll_info, all_dlls, dlls_changed, loaded_dll)
11913         (unloaded_dll, xml_escape_text): New.
11914         * win32-low.c (enum target_waitkind): Update comments.
11915         (win32_add_one_solib, get_image_name, winapi_EnumProcessModules)
11916         (winapi_GetModuleInformation, winapi_GetModuleFileNameExA)
11917         (win32_EnumProcessModules, win32_GetModuleInformation)
11918         (win32_GetModuleFileNameExA, load_psapi, psapi_get_dll_name)
11919         (winapi_CreateToolhelp32Snapshot, winapi_Module32First)
11920         (winapi_Module32Next, win32_CreateToolhelp32Snapshot)
11921         (win32_Module32First, win32_Module32Next, load_toolhelp)
11922         (toolhelp_get_dll_name, handle_load_dll, handle_unload_dll): New.
11923         (get_child_debug_event): Handle DLL events.
11924         (win32_wait): Likewise.
11925
11926 2007-07-12  Daniel Jacobowitz  <dan@codesourcery.com>
11927
11928         * configure.srv: Set srv_linux_regsets for sh*-*-linux*.
11929         * linux-sh-low.c (sh_fill_gregset, target_regsets): New.
11930
11931 2007-07-08  Pedro Alves  <pedro_alves@portugalmail.pt>
11932
11933         * win32-low.c (handle_output_debug_string): Ignore event if not
11934         waiting.
11935
11936 2007-07-08  Pedro Alves  <pedro_alves@portugalmail.pt>
11937
11938         * win32-arm-low.c (arm_wince_breakpoint): Fix typo.
11939
11940 2007-07-03  Daniel Jacobowitz  <dan@codesourcery.com>
11941
11942         * remote-utils.c (look_up_one_symbol): Handle 'm' packets.
11943
11944 2007-07-02  Daniel Jacobowitz  <dan@codesourcery.com>
11945
11946         * inferiors.c (change_inferior_id): Add comment.
11947         * linux-low.c (check_removed_breakpoint): Add an early
11948         prototype.  Improve debug output.
11949         (linux_attach): Doc update.
11950         (linux_detach_one_process, linux_detach): Clean up before releasing
11951         each process.
11952         (send_sigstop, wait_for_sigstop): Improve comments and debug output.
11953         * linux-low.h (struct process_info): Doc improvement.
11954         * mem-break.c (delete_all_breakpoints): New.
11955         * mem-break.h (delete_all_breakpoints): New prototype.
11956         * thread-db.c (find_first_thread): New.
11957         (thread_db_create_event): Call it instead of
11958         thread_db_find_new_threads.  Clean up unused variables.
11959         (maybe_attach_thread): Remove first thread handling.
11960         (thread_db_find_new_threads): Use find_first_thread.
11961         (thread_db_get_tls_address): Likewise.
11962
11963 2007-06-27  Daniel Jacobowitz  <dan@codesourcery.com>
11964
11965         * thread-db.c (thread_db_find_new_threads): Add prototype.
11966         (thread_db_create_event): Check for the main thread before adding
11967         a new thread.
11968         (maybe_attach_thread): Only enable event reporting if TID == 0.
11969         (thread_db_get_tls_address): Check for new threads.
11970
11971 2007-06-20  Daniel Jacobowitz  <dan@codesourcery.com>
11972
11973         * linux-low.c (linux_create_inferior): Try execv before execvp.
11974         * spu-low.c (spu_create_inferior): Likewise.
11975
11976 2007-06-13  Mike Frysinger  <vapier@gentoo.org>
11977
11978         * linux-low.c (linux_create_inferior): Change execv to execvp.
11979         * spu-low.c (spu_create_inferior): Likewies.
11980
11981 2007-06-13  Daniel Jacobowitz  <dan@codesourcery.com>
11982
11983         * Makefile.in (clean): Clean new files instead of deleted ones.
11984         (reg-mips.o, reg-mips.c, reg-mips64.o, reg-mips64.c): Delete.
11985         (mips-linux.o, mips-linux.c, mips64-linux.o, mips64-linux.c): New
11986         rules.
11987         * configure.srv: Specify XML files and new regformats for MIPS and
11988         MIPS64 GNU/Linux.
11989         * linux-mips-low.c (mips_num_regs): Set to only used registers.
11990         (mips_regmap): Do not fetch $0.  Remove unused registers.  Add
11991         an entry for the restart register.
11992         (mips_cannot_fetch_register, mips_cannot_store_register)
11993         (mips_reinsert_addr, mips_fill_fpregset, mips_store_fpregset): Update
11994         register names to match the XML descriptions.
11995         (mips_fill_gregset, mips_store_gregset): Likewise.  Handle the
11996         restart register instead of $0.
11997
11998 2007-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
11999             Markus Deuling  <deuling@de.ibm.com>
12000
12001         * remote-utils.c (decode_xfer_write): New function.
12002         * server.h (decode_xfer_write): Add prototype.
12003         * server.c (handle_query): Add PACKET_LEN argument.  Support
12004         qXfer:spu:read and qXfer:spu:write packets.
12005         (main): Pass packet_len to handle_query.
12006         * spu-low.c (spu_target_ops): Add spu_proc_xfer_spu.
12007         * target.h (target_ops): Add qxfer_spu.
12008
12009 2007-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
12010
12011         * spu-low.c (spu_proc_xfer_spu): Do not return failure when
12012         accessing non-seekable spufs files.
12013
12014 2007-05-16  Markus Deuling  <deuling@de.ibm.com>
12015
12016         * server.c (handle_query): Add reply for qC packet.
12017
12018 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12019             Leo Zayas  <lerele@champenstudios@com>
12020
12021         * server.h (check_remote_input_interrupt_request): New function.
12022         * remote_utils.c (INVALID_DESCRIPTOR): New define.
12023         (remote_desc): Initialize with INVALID_DESCRIPTOR.
12024         (input_interrupt): Expose on USE_WIN32API too.  Fix whitespace.
12025         (check_remote_input_interrupt_request): New function.
12026         * server.h (check_remote_input_interrupt_request): Declare.
12027         * win32-low.c (winapi_DebugBreakProcess,
12028         winapi_GenerateConsoleCtrlEvent): New typedefs.
12029         (get_child_debug_event): Lower Win32 debug event polling from 1 sec
12030         to 250 ms.
12031         (win32_wait): Check for remote interrupt request
12032         with check_remote_input_interrupt_request.
12033         (win32_request_interrupt): New function.
12034         (win32_target_op): Set request_interrupt to win32_request_interrupt.
12035
12036 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12037
12038         * win32-low.c (debug_registers_changed,
12039         debug_registers_used, CONTEXT_EXTENDED_REGISTERS,
12040         CONTEXT_FLOATING_POINT, CONTEXT_DEBUG_REGISTERS,
12041         CONTEXT_DEBUGGER, CONTEXT_DEBUGGER_DR): Delete.
12042         (thread_rec): Get context using the low target.
12043         (child_add_thread): Call thread_added on the low target,
12044         which does the same thing.
12045         (regptr): Delete.
12046         (do_initial_child_stuff): Remove debug registers references.
12047         Set context using the low target.  Resume threads after
12048         setting the contexts.
12049         (child_continue): Remove dead variable.  Remove debug
12050         registers references.
12051         (child_fetch_inferior_registers): Go through the low target.
12052         (do_child_store_inferior_registers): Remove.
12053         (child_store_inferior_registers): Go through the low target.
12054         (win32_resume): Remove debug registers references.
12055         Set context using the low target.
12056         (handle_exception): Change return type to void.  Don't record
12057         context here.  Set status to TARGET_WAITKIND_SPURIOUS on a
12058         first chance exception.
12059         (get_child_debug_event): Change return type to void.  Remove
12060         goto loop.  Always return after waiting for debug event.
12061         (win32_wait): Convert to switch statement.  Handle spurious
12062         events.
12063
12064         * win32-i386-low.c (debug_registers_changed,
12065         debug_registers_used): New.
12066         (initial_stuff): Rename to ...
12067         (i386_initial_stuff): ... this.  Clear debug registers
12068         state variables.
12069         (store_debug_registers): Delete.
12070         (i386_get_thread_context): New.
12071         (load_debug_registers): Delete.
12072         (i386_set_thread_context): New.
12073         (i386_thread_added): New.
12074         (single_step): Rename to ...
12075         (i386_single_step): ... this.
12076         (do_fetch_inferior_registers): Rename to ...
12077         (i386_fetch_inferior_register): ... this.
12078         (i386_store_inferior_register): New.
12079         (the_low_target): Adapt to new interface.
12080
12081         * win32-arm-low.c (CONTEXT_FLOATING_POINT): Define.
12082         (arm_get_thread_context): New.
12083         (arm_set_thread_context): New.
12084         (regptr): New.
12085         (do_fetch_inferior_registers): Rename to ...
12086         (arm_fetch_inferior_register): ... this.
12087         (arm_store_inferior_register): New.
12088         (arm_wince_breakpoint): Reimplement as unsigned long.
12089         (arm_wince_breakpoint_len): Define.
12090         (the_low_target): Adapt to new interface.
12091
12092         * win32-low.h (target_ops): Remove regmap, store_debug_registers and
12093         load_debug_registers.  Add get_thread_context, set_thread_context,
12094         thread_added and store_inferior_register.  Rename
12095         fetch_inferior_registers to fetch_inferior_register.
12096         (regptr): Remove declaration.
12097
12098 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12099
12100         * linux-low.c (linux_detach): Change return type to int.  Return 0.
12101         * spu-low.c (spu_detach): Likewise.
12102
12103 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12104
12105         * target.h (target_ops): Change return type of detach to int.
12106         Add join.
12107         (join_inferior): New.
12108         * server.c (main): Don't skip detach support on mingw32.
12109         If the inferior doesn't support detaching return error.
12110         Call join_inferior instead of using waitpid.
12111         * linux-low.c (linux_join): New.
12112         (linux_target_op): Add linux_join.
12113         * spu-low.c (spu_join): New.
12114         (spu_target_ops): Add spu_join.
12115         * win32-low.c (win32_detach): Adapt to new interface.
12116         Reopen current_process_handle before detaching.  Issue a child
12117         resume before detaching.
12118         (win32_join): New.
12119         (win32_target_op): Add win32_join.
12120
12121 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12122
12123         * win32-low.c (win32-attach): Fix return value.
12124         * target.h (target_ops): Describe ATTACH return values.
12125
12126 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12127
12128         * win32-low.c (GETPROCADDRESS): Define.
12129         (winapi_DebugActiveProcessStop): Add WINAPI.  typedef as pointer.
12130         (winapi_DebugSetProcessKillOnExit): Likewise.
12131         (win32_create_inferior): Force usage of ansi CreateProcessA.
12132         (win32_attach): Use GETPROCADDRESS.
12133         (win32_detach): Likewise.
12134
12135 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12136
12137         * win32-low.c (win32_wait): Don't use WSTOPSIG.
12138
12139 2007-03-30  Pedro Alves  <pedro_alves@portugalmail.pt>
12140
12141         * win32-low.c: Commit leftover changes from 2007-03-29.
12142
12143 2007-03-30  Daniel Jacobowitz  <dan@codesourcery.com>
12144
12145         * i387-fp.c (struct i387_fsave, struct i387_fxsave): Make 16-bit
12146         fields short instead of int.  Add explicit padding.
12147         (i387_cache_to_fsave): Remove unnecessary casts.
12148         (i387_fsave_to_cache): Doc fix.
12149         (i387_cache_to_fxsave): Remove unnecessary casts and masking.
12150
12151 2007-03-30  Daniel Jacobowitz  <dan@codesourcery.com>
12152
12153         * i387-fp.c (i387_cache_to_fxsave): Reinitialize val2 before use.
12154         (i387_fxsave_to_cache): Check fp->ftag while building ftag value.
12155
12156 2007-03-29  Pedro Alves  <pedro_alves@portugalmail.pt>
12157
12158         * configure.srv (arm*-*-mingw32ce*): Move near the other
12159         arm targets.
12160
12161 2007-03-29  Pedro Alves  <pedro_alves@portugalmail.pt>
12162
12163         * configure.ac: Add errno checking.
12164         (AC_CHECK_HEADERS): Add errno.h, fcntl.h, signal.h,
12165         sys/file.h and malloc.h.
12166         (AC_CHECK_DECLS): Add perror.
12167         (srv_mingwce): Handle.
12168         * configure.srv (i[34567]86-*-cygwin*): Add
12169         win32-i386-low.o to srv_tgtobj.
12170         (i[34567]86-*-mingw*): Likewise.
12171         (arm*-*-mingw32ce*): Add case.
12172         * gdbreplay.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
12173         HAVE_FCNTL_H, HAVE_ERRNO_H, HAVE_MALLOC_H]: Check.
12174         [__MINGW32CE__] (strerror): New function.
12175         [__MINGW32CE__] (errno): Define to GetLastError.
12176         [__MINGW32CE__] (COUNTOF): New macro.
12177         (remote_open): Remove extra close call.
12178         * mem-break.c (delete_breakpoint_at): New function.
12179         * mem-break.h (delete_breakpoint_at): Declare.
12180         * remote-utils.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
12181         HAVE_FCNTL_H, HAVE_UNISTD_H, HAVE_ERRNO_H]: Check.
12182         [USE_WIN32API] (read, write): Add char* casts.
12183         * server.c [HAVE_UNISTD_H, HAVE_SIGNAL_H]: Check.
12184         * server.h: Include wincecompat.h on Windows CE.
12185         [HAVE_ERRNO_H]: Check.
12186         (perror): Declare if not declared.
12187         * utils.c: Add stdlib.h, errno.h and malloc.h includes.
12188         (perror_with_name): Remove errno declaration.
12189         * wincecompat.h: New.
12190         * wincecompat.c: New.
12191         * win32-low.h: New.
12192         * win32-arm-low.c: New.
12193         * win32-i386-low.c: New.
12194         (win32-low.c): Include mem-break.h and win32-low.h, and winnt.h.
12195         (OUTMSG2): Make it safe.
12196         (_T): New macro.
12197         (COUNTOF): New macro.
12198         (NUM_REGS): Get it from the low target.
12199         (CONTEXT_EXTENDED_REGISTERS, CONTEXT_FLOATING_POINT,
12200         CONTEXT_DEBUG_REGISTERS): Add fallbacks to 0.
12201         (thread_rec): Let low target handle debug registers.
12202         (child_add_thread): Likewise.
12203         (child_init_thread_list): Likewise.
12204         (continue_one_thread): Likewise.
12205         (regptr): New.
12206         (do_child_fetch_inferior_registers): Move to ...
12207         * win32-i386-low.c: ... here, and rename to ...
12208         (do_fetch_inferior_registers): ... this.
12209         * win32-low.c (child_fetch_inferior_registers):
12210         Go through the low target.
12211         (do_child_store_inferior_registers): Use regptr.
12212         (strwinerror): New function.
12213         (win32_create_inferior): Handle Windows CE.
12214         Use strwinerror instead of strerror on Windows error
12215         codes.  Add program to the error output.
12216         Don't close the main thread handle on Windows CE.
12217         (win32_attach): Use coredll.dll on Windows CE.
12218         (win32_kill): Close current process and current
12219         thread handles.
12220         (win32_detach): Use coredll.dll on Windows CE.
12221         (win32_resume): Let low target handle debug registers, and
12222         step request.
12223         (handle_exception): Add/Remove initial breakpoint.  Avoid
12224         non-existant WSTOPSIG on Windows CE.
12225         (win32_read_inferior_memory): Cast to remove warning.
12226         (win32_arch_string): Go through the low target.
12227         (initialize_low): Call set_breakpoint_data with the low
12228         target's breakpoint.
12229         * win32-low.c (dr, FLAG_TRACE_BIT, FCS_REGNUM,
12230         FOP_REGNUM, mappings): Move to ...
12231         * win32-i386-low.c: ... here.
12232         * win32-low.c (win32_thread_info): Move to ...
12233         * win32-low.h: ... here.
12234         * Makefile.in (SFILES): Add win32-low.c, win32-i386-low.c,
12235         win32-arm-low.c and wincecompat.c.
12236         (all:): Add $EXEEXT.
12237         (install-only:): Likewise.
12238         (gdbserver:): Likewise.
12239         (gdbreplay:): Likewise.
12240         * config.in: Regenerate.
12241         * configure: Regenerate.
12242
12243 2007-03-28  Pedro Alves  <pedro_alves@portugalmail.pt>
12244
12245         * win32-low.c: Rename typedef thread_info to
12246         win32_thread_info throughout.
12247
12248 2007-03-28  Pedro Alves  <pedro_alves@portugalmail.pt>
12249
12250         * win32-i386-low.c: Rename to ...
12251         * win32-low.c: ... this.
12252         * configure.srv: Replace win32-i386-low.o with win32-low.o.
12253         * Makefile.in: Likewise.
12254
12255 2007-03-27  Pedro Alves  <pedro_alves@portugalmail.pt>
12256
12257         * remote-utils.c (monitor_output): Constify msg parameter.
12258         * server.h (monitor_output): Likewise.
12259         * win32-i386-low.c (handle_output_debug_string): New.
12260         (win32_kill): Handle OUTPUT_DEBUG_STRING_EVENT events using
12261         handle_output_debug_string.
12262         (get_child_debug_event): Likewise.
12263
12264 2007-03-27  Mat Hostetter  <mat@lcs.mit.edu>
12265
12266         * server.c (main): Correct strtoul check.
12267
12268 2007-03-27  Jon Ringle  <jon@ringle.org>
12269
12270         * linux-low.c: Check __ARCH_HAS_MMU__ also.
12271
12272 2007-03-27  Brooks Moses  <brooks.moses@codesourcery.com>
12273
12274         * Makefile.in: Add dummy "pdf" and "install-pdf" targets.
12275
12276 2007-02-27  Daniel Jacobowitz  <dan@codesourcery.com>
12277
12278         * terminal.h: Check HAVE_SGTTY_H.
12279
12280 2007-02-27  Mat Hostetter  <mat@lcs.mit.edu>
12281
12282         * remote-utils.c (remote_open): Print out the assigned port number.
12283
12284 2007-02-26  Daniel Jacobowitz  <dan@codesourcery.com>
12285
12286         * remote-utils.c (monitor_output): New function.
12287         * server.c (debug_threads): Define here.
12288         (monitor_show_help): New function.
12289         (handle_query): Handle qRcmd.
12290         (main): Do not handle 'd' packet.
12291         * server.h (debug_threads, remote_debug, monitor_output): Declare.
12292         * linux-low.c, spu-low.c, win32-i386-low.c: Remove definitions
12293         of debug_threads.
12294
12295 2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>
12296
12297         * Makefile.in (EXEEXT): New.
12298         (clean): Use $(EXEEXT).
12299
12300 2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>
12301
12302         * target.h (target_ops): Rename send_signal to request_interrupt,
12303         and remove enum target_signal parameter.
12304         * linux-low.c (linux_request_interrupt): Rename from
12305         linux_send_signal, and always send SIGINT.
12306         * spu-low.c (spu_request_interrupt): Rename from spu_send_signal,
12307         and always send SIGINT.
12308         * remote-utils.c (putpkt_binary): Call request_interrupt, instead
12309         of send_signal.
12310         (input_interrupt): Likewise.
12311
12312 2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>
12313
12314         * server.c (get_features_xml): Check if target implemented
12315         arch_string.
12316         * win32-i386-low.c (win32_arch_string): New.
12317         (win32_target_ops): Add win32_arch_string as arch_string member.
12318
12319 2007-02-22  Markus Deuling  <deuling@de.ibm.com>
12320
12321         * spu-low.c (spu_arch_string): New.
12322         (spu_target_ops): Add spu_arch_string.
12323
12324 2007-02-16  Daniel Jacobowitz  <dan@codesourcery.com>
12325
12326         * remote-utils.c: Remove HAVE_TERMINAL_H check.
12327         * configure.ac: Do not check for terminal.h.
12328         * configure, config.in: Regenerated.
12329
12330 2007-02-08  Daniel Jacobowitz  <dan@codesourcery.com>
12331
12332         * Makefile.in (OBS): Add $(XML_BUILTIN).
12333         (XML_DIR, XML_TARGET, XML_FILES, XML_BUILTIN): New.
12334         (clean): Update.
12335         (target.xml, xml-builtin.c, stamp-xml, arm-with-iwmmxt.o)
12336         (arm-with-iwmmxt.c): New.
12337         * config.in, configure: Regenerate.
12338         * configure.ac: Check for iWMMXt.  Handle srv_xmltarget,
12339         srv_xmlbuiltin, and srv_xmlfiles.  Define USE_XML.
12340         * configure.srv: Mention srv_xmltarget and srv_xmlfiles.
12341         (arm*-*-linux*): Add iWMMXt and regset support.
12342         * linux-arm-low.c (PTRACE_GETWMMXREGS, PTRACE_SETWMMXREGS): Define.
12343         (arm_fill_gregset, arm_store_gregset, arm_fill_wmmxregset)
12344         (arm_store_wmmxregset, target_regsets): New.
12345         * server.c (get_features_xml): Take annex argument.  Check builtin
12346         XML documents.
12347         (handle_query): Handle multiple annexes.
12348
12349 2007-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
12350
12351         * remote-utils.c [USE_WIN32API] (read, write): Define.
12352         (putpkt_binary, input_interrupt, readchar, getpkt): Use read and
12353         write.
12354
12355 2007-01-09  Daniel Jacobowitz  <dan@codesourcery.com>
12356
12357         * linux-i386-low.c (the_low_target): Set arch_string.
12358         * linux-x86-64-low.c (the_low_target): Likewise.
12359         * linux-low.c (linux_arch_string): New.
12360         (linux_target_ops): Add it.
12361         * linux-low.h (struct linux_target_ops): Add arch_string.
12362         * server.c (write_qxfer_response): Use const void * for DATA.
12363         (get_features_xml): New.
12364         (handle_query): Handle qXfer:features:read.  Report it for qSupported.
12365         * target.h (struct target_ops): Add arch_string method.
12366
12367 2007-01-03  Denis Pilat  <denis.pilat@st.com>
12368             Daniel Jacobowitz  <dan@codesourcery.com>
12369
12370         * linux-low.c (linux_kill): Handle being called with no threads.
12371         * win32-i386-low.c (win32_kill): Likewise.
12372         (get_child_debug_event): Clear current_process_handle.
12373
12374 2006-12-30  Denis PILAT  <denis.pilat@st.com>
12375             Daniel Jacobowitz  <dan@codesourcery.com>
12376
12377         * remote-utils.c (remote_open): Check the type of specified
12378         serial port devices before opening them.
12379         * server.c (main): Kill the inferior if an error occurs during
12380         the first remote_open.
12381
12382 2006-12-05  Markus Deuling  <deuling@de.ibm.com>
12383
12384         * README: Update supported targets.
12385
12386 2006-11-28  Daniel Jacobowitz  <dan@codesourcery.com>
12387
12388         * Makefile.in (clean): Remove reg-mips64.c.
12389         (reg-mips64.c, reg-mips64.o): New rules.
12390         * configure.srv: Handle mips64.  Include regset support for mips.
12391         * linux-mips-low.c (union mips_register): New.
12392         (mips_get_pc, mips_set_pc, mips_reinsert_addr): Use it.
12393         (mips_breakpoint, mips_breakpoint_at): Use int.
12394         (mips_collect_register, mips_supply_register)
12395         (mips_collect_register_32bit, mips_supply_register_32bit)
12396         (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
12397         (mips_store_fpregset, target_regsets): New.
12398         * thread-db.c (thread_db_get_tls_address): Use uintptr_t.
12399
12400 2006-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
12401
12402         * configure.srv: Add target "spu*-*-*".
12403         * Makefile.in (clean): Remove reg-spu.c.
12404         (reg-spu.c, reg-spu.o, spu-low.o): Add dependencies.
12405         * spu-low.c: New file.
12406
12407 2006-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
12408
12409         * configure.ac: Correct td_thr_tls_get_addr test.
12410         * configure: Regenerated.
12411
12412 2006-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
12413
12414         * linux-low.c (linux_wait_for_event): Reformat.  Use the
12415         pass_signals array.
12416         * remote-utils.c (decode_address_to_semicolon): New.
12417         * server.c (pass_signals, handle_general_set): New.
12418         (handle_query): Mention QPassSignals for qSupported.
12419         (main): Call handle_general_set.
12420         * server.h (pass_signals, decode_address_to_semicolon): New.
12421
12422 2006-11-06  Daniel Jacobowitz  <dan@codesourcery.com>
12423
12424         * server.c (handle_query): Correct error handling for read_auxv.
12425
12426 2005-10-19  Ulrich Weigand  <uweigand@de.ibm.com>
12427
12428         * configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets
12429         and srv_linux_thread_db to yes.
12430         * linux-s390-low.c (s390_fill_gregset): New function.
12431         (target_regsets): Define data structure.
12432
12433 2006-10-17  Daniel Jacobowitz  <dan@codesourcery.com>
12434
12435         * acinclude.m4 (SRV_CHECK_TLS_GET_ADDR): New.
12436         * configure.ac: Use it.  Define HAVE_TD_THR_TLS_GET_ADDR.
12437         * config.in, configure: Regenerated.
12438         * inferiors.c (gdb_id_to_thread): New function.
12439         (gdb_id_to_thread_id): Use it.
12440         * linux-low.c (linux_target_ops): Use thread_db_get_tls_address.
12441         * linux-low.h (struct process_info): Add th member.
12442         (thread_db_get_tls_address): New prototype.
12443         * remote-utils.c (decode_address): Make non-static.
12444         * server.c (handle_query): Handle qGetTLSAddr.
12445         * server.h (gdb_id_to_thread, decode_address): New prototypes.
12446         * target.h (struct target_ops): Add get_tls_address.
12447         * thread-db.c (maybe_attach_thread): Save the thread handle.
12448         (thread_db_get_tls_address): New.
12449
12450 2006-09-28  Daniel Jacobowitz  <dan@codesourcery.com>
12451
12452         * linux-low.c (PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
12453         (linux_resume_one_process): Take a siginfo_t *.  Update all
12454         callers.  Queue it if necessary.  Use PTRACE_SETSIGINFO.
12455         (struct pending_signals): Add a siginfo_t.
12456         (linux_wait_for_process): Always set last_status.
12457         (linux_wait_for_event): Use PTRACE_GETSIGINFO.
12458         (linux_queue_one_thread): Use PTRACE_GETSIGINFO.
12459         * linux-low.h (struct process_info): Add last_status.
12460
12461 2006-09-21  Daniel Jacobowitz  <dan@codesourcery.com>
12462
12463         * remote-utils.c (try_rle): New function.
12464         (putpkt_binary): Use it.
12465
12466 2006-08-19  Daniel Jacobowitz  <dan@codesourcery.com>
12467
12468         * Makefile.in (clean): Clean reg-x86-64-linux.c.
12469         (reg-x86-64-linux.o, reg-x86-64-linux.c): New.
12470         * configure.srv (x86_64-*-linux*): Use reg-x86-64-linux.o.
12471         * linux-x86-64-low.c (x86_64_regmap): Include ORIG_RAX.
12472         (x86_64_fill_gregset, x86_64_store_gregset): Skip floating
12473         point registers.
12474
12475 2006-08-08  Richard Sandiford  <richard@codesourcery.com>
12476
12477         * server.c (terminal_fd): New variable.
12478         (old_foreground_pgrp): Likewise.
12479         (restore_old_foreground_pgrp): New function.
12480         (start_inferior): Record the terminal file descriptor in terminal_fd
12481         and its original foreground group in old_foreground_pgrp.  Register
12482         restore_old_foreground_pgrp with atexit().
12483
12484 2006-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
12485
12486         * server.c (handle_query): Correct qPart to qXfer.
12487
12488 2006-07-22  Daniel Jacobowitz  <dan@codesourcery.com>
12489
12490         * configure.ac: Check for more headers which are missing on
12491         Windows.  Automatically supply -lwsock32 and USE_WIN32API.
12492         * configure.srv: Add Cygwin and mingw32.
12493         * remote-utils.c: Don't include headers unconditionally which
12494         are missing on mingw32.  Include <winsock.h> for mingw32.
12495         (remote_open): Adjust for mingw32 support.  Flush
12496         standard error after writing to it.
12497         (remote_close, putpkt_binary, input_interrupt, block_async_io)
12498         (unblock_async_io, enable_async_io, disable_async_io)
12499         (readchar, getpkt): Update for Winsock support.
12500         (prepare_resume_reply): Expect a protocol signal number.
12501         * server.c: Disable <sys/wait.h> on mingw32.
12502         (start_inferior): Adjust for mingw32 support.  Flush
12503         standard error after writing to it.
12504         (attach_inferior): Likewise.  Use protocol signal
12505         numbers.
12506         (main): Skip 'D' packet on mingw32.  Use protocol signal numbers
12507         and names.
12508         * win32-i386-low.c: New file.
12509         * Makefile.in (XM_CLIBS): Set.
12510         (gdbserver, gdbreplay): Use $(INTERNAL_CFLAGS).
12511         (win32-i386-low.o): New dependency rule.
12512         * linux-low.c (linux_wait): Use target signal numbers.
12513         * target.h (struct target_ops): Doc fix.
12514         * server.h (target_signal_to_name): New prototype.
12515         * gdbreplay.c: Don't include headers unconditionally which
12516         are missing on mingw32.  Include <winsock.h> for mingw32.
12517         (remote_close, remote_open): Adjust for Winsock support.
12518         * configure, config.in: Regenerated.
12519
12520 2006-07-12  Daniel Jacobowitz  <dan@codesourcery.com>
12521
12522         * server.c (decode_xfer_read, write_qxfer_response): New.
12523         (handle_query): Take a packet length argument.  Handle
12524         qXfer:auxv:read instead of qPart:auxv:read.  Mention it in
12525         the qSupported response.
12526         (main): Update call to handle_query.
12527
12528 2006-06-22  Daniel Jacobowitz  <dan@codesourcery.com>
12529
12530         * remote-utils.c (remote_escape_output, remote_unescape_input): New.
12531         (putpkt_binary): Renamed from putpkt and adjusted for binary
12532         data.
12533         (putpkt): New wrapper for putpkt_binary.
12534         (readchar): Don't mask off the high bit.
12535         (decode_X_packet): New function.
12536         * server.c (main): Call putpkt_binary if a handler sets the packet
12537         length.  Save the length of the incoming packet.  Handle 'X'.
12538         * server.h (gdb_byte, remote_escape_output, decode_X_packet): New.
12539
12540 2006-06-21  Daniel Jacobowitz  <dan@codesourcery.com>
12541
12542         * server.c (handle_query): Handle qSupported.
12543
12544 2006-05-30  Daniel Jacobowitz  <dan@codesourcery.com>
12545
12546         * remote-utils.c (all_symbols_looked_up): New variable.
12547         (look_up_one_symbol): Check it.
12548         * server.h (look_up_one_symbol): New declaration.
12549         * thread-db.c (thread_db_init): Set all_symbols_looked_up.
12550
12551 2006-05-30  Daniel Jacobowitz  <dan@codesourcery.com>
12552
12553         * Makefile.in (linux-arm-low.o): Update dependencies.
12554         * linux-arm-low.c: Include "gdb_proc_service.h".
12555         (PTRACE_GET_THREAD_AREA): Define.
12556         (ps_get_thread_area): New function.
12557
12558 2006-05-09  Nathan Sidwell  <nathan@codesourcery.com>
12559
12560         * configure.srv (m68k*-*-uclinux*): New target.
12561         * linux-low.c (linux_create_inferior): Use vfork on mmuless systems.
12562         (linux_resume_one_process): Remove extraneous cast.
12563         (linux_read_offsets): New.
12564         (linux_target_op): Add linux_read_offsets on mmuless systems.
12565         * server.c (handle_query): Add qOffsets logic.
12566         * target.h (struct target_ops): Add read_offsets.
12567
12568 2006-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
12569
12570         * linux-mips-low.c: Include <sys/ptrace.h> and "gdb_proc_service.h".
12571         (PTRACE_GET_THREAD_AREA): Define.
12572         (ps_get_thread_area): New function.
12573         * Makefile.in (linux-i386-low.o, linux-mips-low.o)
12574         (linux-x86-64-low.o): Update.
12575
12576 2006-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
12577
12578         * configure.ac: Remove checks for prfpregset_t.
12579         * gdb_proc_service.h: New file.
12580         * linux-i386-low.c, linux-x86-64-low.c, thread-db.c: Use the
12581         new "gdb_proc_service.h".
12582         * proc-service.c: Likewise.
12583         (ps_pglobal_lookup, ps_pdread, ps_pdwrite): Use psaddr_t.
12584         (ps_lgetfpregs, ps_lsetfpregs): Use a void* argument.
12585         * Makefile.in (gdb_proc_service_h): Updated.
12586         * configure, config.in: Regenerated.
12587
12588 2006-03-03  Daniel Jacobowitz  <dan@codesourcery.com>
12589
12590         * remote-utils.c (prepare_resume_reply): Move declaration
12591         of gdb_id_from_wait to the top of the block.
12592
12593 2006-02-15  Daniel Jacobowitz  <dan@codesourcery.com>
12594
12595         * linux-low.c (regsets_store_inferior_registers): Read the regset
12596         from the target before filling it.
12597
12598 2006-02-08  Daniel Jacobowitz  <dan@codesourcery.com>
12599
12600         * server.c (attach_inferior): Return SIGTRAP for a successful
12601         attach.
12602
12603 2006-02-01  Daniel Jacobowitz  <dan@codesourcery.com>
12604
12605         * Makefile.in (OBS): Add version.o.
12606         (STAGESTUFF): Delete.
12607         (version.o): Add dependencies.
12608         (version.c): Replace rule.
12609         (clean): Remove version.c.
12610         * server.c (gdbserver_version): New.
12611         (gdbserver_usage): Use printf.
12612         (main): Handle --version and --help.
12613         * server.h (version, host_name): Add declarations.
12614
12615 2005-12-23  Eli Zaretskii  <eliz@gnu.org>
12616
12617         * linux-arm-low.c:
12618         * linux-arm-low.c:
12619         * inferiors.c:
12620         * i387-fp.h:
12621         * i387-fp.c:
12622         * gdbreplay.c:
12623         * regcache.c:
12624         * proc-service.c:
12625         * mem-break.h:
12626         * mem-break.c:
12627         * linux-x86-64-low.c:
12628         * linux-sh-low.c:
12629         * linux-s390-low.c:
12630         * linux-ppc64-low.c:
12631         * linux-ppc-low.c:
12632         * linux-mips-low.c:
12633         * linux-m68k-low.c:
12634         * linux-m32r-low.c:
12635         * linux-low.h:
12636         * linux-low.c:
12637         * linux-ia64-low.c:
12638         * linux-i386-low.c:
12639         * linux-crisv32-low.c:
12640         * thread-db.c:
12641         * terminal.h:
12642         * target.h:
12643         * target.c:
12644         * server.h:
12645         * server.c:
12646         * remote-utils.c:
12647         * regcache.h:
12648         * utils.c:
12649         * Makefile.in:
12650         * configure.ac:
12651         * gdbserver.1: Add (C) after Copyright.  Update the FSF
12652         address.
12653
12654 2005-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
12655
12656         * linux-arm-low.c (arm_eabi_breakpoint): New variable.
12657         (arm_breakpoint_at): Recognize both breakpoints.
12658         (the_low_target): Use the correct breakpoint instruction.
12659
12660 2005-11-02  Daniel Jacobowitz  <dan@codesourcery.com>
12661
12662         * configure.srv (x86_64-*-linux*): Turn on thread_db support.
12663         * linux-x86-64-low.c (x86_64_breakpoint, x86_64_breakpoint_len)
12664         (x86_64_get_pc, x86_64_set_pc, x86_64_breakpoint_at): New.
12665         (the_low_target): Update.
12666
12667 2005-10-25  Andreas Schwab  <schwab@suse.de>
12668
12669         * server.c (main): Allocate mem_buf with PBUFSIZ bytes.
12670
12671         * linux-ia64-low.c (ia64_regmap): Remove NAT registers.
12672         (ia64_num_regs): Reduce to 462.
12673
12674 2005-09-17  Daniel Jacobowitz  <dan@codesourcery.com>
12675
12676         * acinclude.m4: Correct quoting.
12677         * aclocal.m4: Regenerated.
12678
12679         Suggested by SZOKOVACS Robert <szo@ies.hu>:
12680         * thread-db.c (thread_db_err_str): Handle TD_VERSION.
12681         (thread_db_init): Call thread_db_err_str.
12682         * configure.ac: Check for TD_VERSION.
12683         * config.in, configure: Regenerated.
12684
12685 2005-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12686
12687         * server.h (error, fatal, warning): Add ATTR_FORMAT.
12688
12689 2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>
12690
12691         * configure.ac: Define HAVE_LINUX_REGSETS even if PTRACE_GETREGS
12692         is not available.  Define HAVE_PTRACE_GETREGS if it is.
12693         * config.in, configure: Regenerated.
12694         * configure.srv: Set srv_linux_regsets for PowerPC and PowerPC64.
12695         * linux-i386-low.c, linux-m68k-low.c: Update to use
12696         HAVE_PTRACE_GETREGS.
12697         * linux-low.c (regsets_fetch_inferior_registers)
12698         (regsets_store_inferior_registers): Only return 0 if we processed
12699         GENERAL_REGS.
12700         * linux-ppc-low.c (ppc_fill_gregset, target_regsets): New.
12701         * linux-ppc64-low.c (ppc_fill_gregset, target_regsets): New.
12702
12703 2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>
12704
12705         * inferiors.c (struct thread_info): Add gdb_id.
12706         (add_thread): Add gdb_id argument.
12707         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New.
12708         * linux-low.c (linux_create_inferior, linux_attach_lwp): Update
12709         calls to add_thread.
12710         * remote-utils.c (prepare_resume_reply: Use thread_to_gdb_id.
12711         * server.c (handle_query): Use thread_to_gdb_id.
12712         (handle_v_cont, main): Use gdb_id_to_thread_id.
12713         * server.h (add_thread): Update prototype.
12714         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New
12715         prototypes.
12716
12717 2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>
12718
12719         * linux-low.c (fetch_register, usr_store_inferior_registers): Handle
12720         left-padded registers.
12721         * linux-low.h (struct linux_target_ops): Add left_pad_xfer.
12722         * linux-ppc64-low.c (the_low_target): Set left_pad_xfer.
12723
12724 2005-07-01  Steve Ellcey  <sje@cup.hp.com>
12725
12726         * configure.ac (BFD_NEED_DECLARATION): Replace with AC_CHECK_DECLS.
12727         * configure: Regenerate.
12728         * config.in: Regenerate.
12729         * server.h (NEED_DECLARATION_STRERROR):
12730         Replace with !HAVE_DECL_STRERROR.
12731
12732 2005-06-16  Daniel Jacobowitz  <dan@codesourcery.com>
12733
12734         * linux-low.c (linux_wait, linux_send_signal): Don't test
12735         an unsigned long variable for > 0 if it could be MAX_ULONG.
12736         * server.c (myresume): Likewise.
12737         * target.c (set_desired_inferior): Likewise.
12738
12739 2005-06-13  Mark Kettenis  <kettenis@gnu.org>
12740
12741         * configure.ac: Simplify and improve check for socklen_t.
12742         * configure, config.in: Regenerate.
12743
12744 2005-06-12  Daniel Jacobowitz  <dan@codesourcery.com>
12745
12746         * acconfig.h: Remove.
12747         * configure.ac: Add a test for socklen_t.  Use three-argument
12748         AC_DEFINE throughout.
12749         * config.in: Regenerated using autoheader 2.59.
12750         * configure: Regenerated.
12751
12752         * gdbreplay.c (socklen_t): Provide a default.
12753         (remote_open): Use socklen_t.
12754         * remote-utils.c (socklen_t): Provide a default.
12755         (remote_open): Use socklen_t.
12756         (convert_int_to_ascii, convert_ascii_to_int, decode_M_packet): Use
12757         unsigned char.
12758
12759         * i387-fp.c (struct i387_fsave, struct i387_fxsave): Use unsigned
12760         char for buffers.
12761         * linux-low.c (linux_read_memory, linux_write_memory)
12762         (linux_read_auxv): Likewise.
12763         * mem-break.c (breakpoint_data, set_breakpoint_data, check_mem_read)
12764         (check_mem_write): Likewise.
12765         * mem-break.h (set_breakpoint_data, check_mem_read, check_mem_write):
12766         Likewise.
12767         * regcache.c (struct inferior_rgcache_data, registers_to_string)
12768         (registers_from_string, register_data): Likewise.
12769         * server.c (handle_query, main): Likewise.
12770         * server.h (convert_ascii_to_int, convert_int_to_ascii)
12771         (decode_M_packet): Likewise.
12772         * target.c (read_inferior_memory, write_inferior_memory): Likewise.
12773         * target.h (struct target_ops): Update read_memory, write_memory,
12774         and read_auxv.
12775         (read_inferior_memory, write_inferior_memory): Update.
12776         * linux-low.h (struct linux_target_ops): Change type of breakpoint
12777         to unsigned char *.
12778         * linux-arm-low.c, linux-cris-low.c, linux-crisv32-low.c,
12779         linux-i386-low.c, linux-m32r-low.c, linux-m68k-low.c,
12780         linux-mips-low.c, linux-ppc-low.c, linux-ppc64-low.c,
12781         linux-s390-low.c, linux-sh-low.c: Update for changes in
12782         read_inferior_memory and the_low_target->breakpoint.
12783
12784 2005-05-28  Daniel Jacobowitz  <dan@codesourcery.com>
12785
12786         * Makefile.in (SFILES): Add linux-ppc64-low.c.
12787         (linux-ppc64-low.o, reg-ppc64.c, reg-ppc64.o): New targets.
12788         * configure.srv: Add powerpc64-*-linux*.
12789         * linux-ppc64-low.c: New file.
12790
12791 2005-05-23  Orjan Friberg  <orjanf@axis.com>
12792
12793         * linux-cris-low.c: New file with support for CRIS.
12794         * linux-crisv32-low.c: Ditto for CRISv32.
12795         * Makefile.in (SFILES): Add linux-cris-low.c, linux-crisv32-low.c.
12796         (clean): Add reg-cris.c and reg-crisv32.c.
12797         Add linux-cris-low.o, linux-crisv32-low.o, reg-cris.o, reg-cris.c,
12798         reg-crisv32.o, and reg-crisv32.c to make rules.
12799         * configure.srv: Add cris-*-linux* and crisv32-*-linux* to list of
12800         recognized targets.
12801
12802 2005-05-16  Ulrich Weigand  <uweigand@de.ibm.com>
12803
12804         * linux-low.c (fetch_register): Ensure buffer size is a multiple
12805         of sizeof (PTRACE_XFER_TYPE).
12806         (usr_store_inferior_registers): Likewise.  Zero out excess bytes.
12807
12808 2005-05-12  Orjan Friberg  <orjanf@axis.com>
12809
12810         * target.h (struct target_ops): Add insert_watchpoint,
12811         remove_watchpoint, stopped_by_watchpoint, stopped_data_address function
12812         pointers for hardware watchpoint support.
12813         * linux-low.h (struct linux_target_ops): Ditto.
12814         * linux-low.c (linux_insert_watchpoint, linux_remove_watchpoint)
12815         (linux_stopped_by_watchpoint, linux_stopped_data_address): New.  Add
12816         to linux_target_ops.
12817         * remote-utils.c (prepare_resume_reply): Add watchpoint information to
12818         reply packet.
12819         * server.c (main): Recognize 'Z' and 'z' packets.
12820
12821 2005-05-10  Ulrich Weigand  <uweigand@de.ibm.com>
12822
12823         * linux-s390-low.c (s390_breakpoint, s390_breakpoint_len): Define.
12824         (s390_get_pc, s390_set_pc, s390_breakpoint_at): New functions.
12825         (the_low_target): Add new members.
12826
12827 2005-05-04  Daniel Jacobowitz  <dan@codesourcery.com>
12828
12829         * proc-service.c (ps_lgetregs): Search all_processes instead of
12830         all_threads.
12831
12832 2005-05-04  Daniel Jacobowitz  <dan@codesourcery.com>
12833
12834         * server.c (start_inferior): Change return type to int.
12835         (attach_inferior): Change sigptr to int *.
12836         (handle_v_cont, handle_v_requests): Change signal to int *.
12837         (main): Change signal to int.
12838
12839 2005-04-15  Kei Sakamoto  <sakamoto.kei@renesas.com>
12840
12841         * Makefile.in: Add linux-m32r-low.o, reg-m32r.c and reg-m32r.o.
12842         * configure.srv: Add m32r*-*-linux*.
12843         * linux-m32r-low.c: New file.
12844
12845 2005-03-04  Daniel Jacobowitz  <dan@codesourcery.com>
12846
12847         * Makefile.in (stamp-h): Set CONFIG_HEADERS explicitly.
12848
12849 2005-03-03  Daniel Jacobowitz  <dan@codesourcery.com>
12850
12851         * inferiors.c (change_inferior_id, add_thread, find_inferior_id):
12852         Take unsigned long arguments for PIDs.
12853         * linux-low.c (add_process, linux_attach_lwp, linux_attach)
12854         (linux_thread_alive, linux_wait_for_event, kill_lwp, send_sigstop)
12855         (wait_for_sigstop, linux_resume_one_process)
12856         (regsets_fetch_inferior_registers, linux_send_signal)
12857         (linux_read_auxv): Likewise.  Update the types of variables holding
12858         PIDs.  Update format string specifiers.
12859         * linux-low.h (struct process_info, linux_attach_lwp): Likewise.
12860         * remote-utils.c (prepare_resume_reply): Likewise.
12861         * server.c (cont_thread, general_thread, step_thread)
12862         (thread_from_wait, old_thread_from_wait, signal_pid): Change type to
12863         unsigned long.
12864         (handle_query): Update format specifiers.
12865         (handle_v_cont, main): Use strtoul for thread IDs.
12866         * server.h (struct inferior_list_entry): Use unsigned long for ID.
12867         (add_thread, find_inferior_id, change_inferior_id, cont_thread)
12868         (general_thread, step_thread, thread_from_wait)
12869         (old_thread_from_wait): Update.
12870         * target.h (struct thread_resume): Use unsigned long for THREAD.
12871         (struct target_ops): Use unsigned long for arguments to attach and
12872         thread_alive.
12873
12874 2005-02-24  Daniel Jacobowitz  <dan@codesourcery.com>
12875
12876         * acinclude.m4: Include bfd/bfd.m4 directly.
12877         * configure.ac: Use AC_ARG_PROGRAM.  Suggested by Aron Griffis
12878         <agriffis@toolchain.org>.
12879         * aclocal.m4, configure: Regenerated.
12880
12881 2005-01-07  Andrew Cagney  <cagney@gnu.org>
12882
12883         * configure.ac: Rename configure.in, require autoconf 2.59.
12884         * configure: Re-generate.
12885
12886 2004-12-08  Daniel Jacobowitz  <dan@debian.org>
12887
12888         * acinclude.m4 (SRV_CHECK_THREAD_DB): Add ps_get_thread_area.  Reset
12889         LIBS when finished.
12890         * aclocal.m4: Regenerated.
12891         * configure: Regenerated.
12892
12893 2004-11-21  Andreas Schwab  <schwab@suse.de>
12894
12895         * linux-m68k-low.c (m68k_num_gregs): Define.
12896         (m68k_fill_gregset, m68k_store_gregset, m68k_fill_fpregset)
12897         (m68k_store_fpregset, target_regsets) [HAVE_LINUX_REGSETS]: New.
12898         (m68k_breakpoint, m68k_breakpoint_len, m68k_get_pc, m68k_set_pc)
12899         (m68k_breakpoint_at): New.  Add to the_low_target.
12900
12901         * configure.srv (m68*-*-linux*): Set srv_linux_regsets and
12902         srv_linux_thread_db to yes.
12903
12904 2004-10-20  Joel Brobecker  <brobecker@gnat.com>
12905
12906         * linux-x86-64-low.c (ARCH_SET_GS): Add definition if missing.
12907         (ARCH_SET_FS): Likewise.
12908         (ARCH_GET_FS): Likewise.
12909         (ARCH_GET_GS): Likewise.
12910
12911 2004-10-16  Daniel Jacobowitz  <dan@debian.org>
12912
12913         * linux-i386-low.c (ps_get_thread_area): New.
12914         * linux-x86-64-low.c (ps_get_thread_area): New.
12915         * linux-low.c: Include <sys/syscall.h>.
12916         (linux_kill_one_process): Don't kill the first thread here.
12917         (linux_kill): Kill the first thread here.
12918         (kill_lwp): New function.
12919         (send_sigstop, linux_send_signal): Use it.
12920         * proc-service.c: Clean up #ifdefs.
12921         (fpregset_info): Delete.
12922         (ps_lgetregs): Update and enable implementation.
12923         (ps_lsetregs, ps_lgetfpregs, ps_lsetfpregs): Remove disabled
12924         implementations.
12925         * remote-utils.c (struct sym_cache, symbol_cache): New.
12926         (input_interrupt): Print a clearer message.
12927         (async_io_enabled): New variable.
12928         (enable_async_io, disable_async_io): Use it.  Update comments.
12929         (look_up_one_symbol): Use the symbol cache.
12930         * thread-db.c (thread_db_look_up_symbols): New function.
12931         (thread_db_init): Update comments.  Call thread_db_look_up_symbols.
12932
12933 2004-10-16  Daniel Jacobowitz  <dan@debian.org>
12934
12935         * configure.in: Test for -rdynamic.
12936         * configure: Regenerated.
12937         * Makefile (INTERNAL_LDFLAGS): New.
12938         (gdbserver, gdbreplay): Use it.
12939
12940 2004-09-02  Andrew Cagney  <cagney@gnu.org>
12941
12942         * Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE.
12943
12944 2004-03-23  Daniel Jacobowitz  <drow@mvista.com>
12945
12946         * linux-low.c (linux_wait): Clear all_processes list also.
12947
12948 2004-03-12  Daniel Jacobowitz  <drow@mvista.com>
12949
12950         * linux-low.c: Include <errno.h>.  Remove extern declaration of
12951         errno.
12952
12953 2004-03-12  Daniel Jacobowitz  <drow@mvista.com>
12954
12955         * gdbreplay.c, server.h, utils.c: Update copyright years.
12956
12957 2004-03-04  Nathan J. Williams  <nathanw@wasabisystems.com>
12958
12959         * server.c (main): Print child status or termination signal from
12960         variable 'signal', not 'sig'.
12961
12962 2004-03-04  Nathan J. Williams  <nathanw@wasabisystems.com>
12963
12964         * linux-low.c (linux_read_memory): Change return type to
12965         int.  Check for and return error from ptrace().
12966         * target.c (read_inferior_memory): Change return type to int.  Pass
12967         back return status from the_target->read_memory().
12968         * target.h (struct target_ops): Adapt *read_memory() prototype.
12969         Update comment.
12970         (read_inferior_memory): Adapt prototype.
12971         * server.c (main): Return an error packet if
12972         read_inferior_memory() returns an error.
12973
12974 2004-03-04  Daniel Jacobowitz  <drow@mvista.com>
12975
12976         * Makefile.in (distclean): Remove config.h, stamp-h, and config.log.
12977         Unify with other clean targets.
12978
12979 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
12980
12981         * server.c (handle_v_cont): Call set_desired_inferior.
12982
12983 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
12984
12985         * remote-utils.c (prepare_resume_reply): Always supply "thread:".
12986
12987 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
12988
12989         * linux-low.c (linux_wait): Unblock async I/O.
12990         (linux_resume): Block and enable async I/O.
12991         * remote-utils.c (block_async_io, unblock_async_io): New functions.
12992         * server.h (block_async_io, unblock_async_io): Add prototypes.
12993
12994 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
12995
12996         * remote-utils.c (remote_open): Print a status notice after
12997         opening a TCP port.
12998         * server.c (attach_inferior): Print a status notice after
12999         attaching.
13000
13001 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
13002
13003         * linux-arm-low.c (arm_get_pc): Print out stop PC in debug mode.
13004
13005 2004-02-26  Daniel Jacobowitz  <drow@mvista.com>
13006
13007         * remote-utils.c (write_enn): Use "E01" instead of "ENN" for the
13008         error packet.
13009         * server.c, target.h: Update copyright years.
13010
13011 2004-02-25  Roland McGrath  <roland@redhat.com>
13012
13013         * target.h (struct target_ops): New member `read_auxv'.
13014         * server.c (handle_query): Handle qPart:auxv:read: query using that.
13015         * linux-low.c (linux_read_auxv): New function.
13016         (linux_target_ops): Initialize `read_auxv' member to that.
13017
13018 2004-02-17  Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13019
13020         Committed by Jim Blandy  <jimb@redhat.com>.
13021
13022         * linux-s390-low.c (s390_num_regs): Update.
13023         (s390_regmap): Remove control registers.  Use __s390x__ predefine
13024         instead of GPR_SIZE to distiguish s390 and s390x targets.
13025
13026 2004-01-31  Daniel Jacobowitz  <drow@mvista.com>
13027
13028         * linux-low.c: Update copyright year.
13029         (check_removed_breakpoint): Clear pending_is_breakpoint.
13030         (linux_set_resume_request, linux_queue_one_thread)
13031         (resume_status_pending_p): New functions.
13032         (linux_continue_one_thread): Use process->resume.
13033         (linux_resume): Only resume threads if there are no pending events.
13034         * linux-low.h (struct process_info): Add resume request
13035         pointer.
13036
13037 2004-01-30  Daniel Jacobowitz  <drow@mvista.com>
13038
13039         * regcache.c (new_register_cache): Clear the allocated register
13040         buffer.  Suggested by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.
13041
13042 2003-10-13  Daniel Jacobowitz  <drow@mvista.com>
13043
13044         * linux-low.c (linux_resume): Take a struct thread_resume *
13045         argument.
13046         (linux_wait): Update call.
13047         (resume_ptr): New static variable.
13048         (linux_continue_one_thread): Renamed from
13049         linux_continue_one_process.  Use resume_ptr.
13050         (linux_resume): Use linux_continue_one_thread.
13051         * server.c (handle_v_cont, handle_v_requests): New functions.
13052         (myresume): New function.
13053         (main): Handle 'v' case.
13054         * target.h (struct thread_resume): New type.
13055         (struct target_ops): Change argument of "resume" to struct
13056         thread_resume *.
13057         (myresume): Delete macro.
13058
13059 2003-08-08  H.J. Lu  <hongjiu.lu@intel.com>
13060
13061         * Makefile.in (install-only): Create dest dir. Support DESTDIR.
13062         (uninstall): Support DESTDIR.
13063
13064 Mon Jul 21 20:09:34 UTC 2003  Brendan Conoboy  <blc@redhat.com>
13065
13066         * configure.srv: Add xscale*linux copy of arm*linux entry.
13067
13068 2003-07-24  Daniel Jacobowitz  <drow@mvista.com>
13069
13070         * linux-arm-low.c (arm_reinsert_addr): New function.
13071         (the_low_target): Add arm_reinsert_addr.
13072
13073 2003-07-08  Mark Kettenis  <kettenis@gnu.org>
13074
13075         * mem-break.c: Remove whitespace at end of file.
13076
13077 2003-06-28  Daniel Jacobowitz  <drow@mvista.com>
13078
13079         * configure.in: Check whether we need to prototype strerror.
13080         * server.h: Optionally prototype strerror.
13081         * gdbreplay.c (perror_with_name): Use strerror.
13082         * linux-low.c (linux_attach_lwp): Use strerror.
13083         * utils.c (perror_with_name): Use strerror.
13084         * config.in, configure: Regenerated.
13085
13086 2003-06-28  Daniel Jacobowitz  <drow@mvista.com>
13087
13088         * linux-sh-low.c (sh_regmap): Fix FP register offsets, reported by
13089         SUGIOKA Toshinobu <sugioka@itonet.co.jp>.
13090
13091 2003-06-20  Daniel Jacobowitz  <drow@mvista.com>
13092
13093         * Makefile.in (SFILES): Update.
13094         * low-hppabsd.c, low-lynx.c, low-nbsd.c, low-sim.c, low-sparc.c,
13095         low-sun3.c: Remove files.
13096
13097 2003-06-17  Daniel Jacobowitz  <drow@mvista.com>
13098
13099         * linux-low.c: Move comment to linux_thread_alive where it belonged.
13100         (linux_detach_one_process, linux_detach): New functions.
13101         (linux_target_ops): Add linux_detach.
13102         * server.c (main): Handle 'D' packet.
13103         * target.h (struct target_ops): Add "detach" member.
13104         (detach_inferior): Define.
13105
13106 2003-06-13  Mark Kettenis  <kettenis@gnu.org>
13107
13108         From Kelley Cook  <kelleycook@wideopenwest.com>:
13109         * configure.srv: Accept i[34567]86 variants.
13110
13111 2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
13112
13113         * linux-low.c (linux_wait_for_event): Correct comment typos.
13114         (linux_resume_one_process): Call check_removed_breakpoint.
13115         (linux_send_signal): New function.
13116         (linux_target_ops): Add linux_send_signal.
13117         * remote-utils.c (putpkt, input_interrupt): Use send_signal instead
13118         of kill.
13119         * target.h (struct target_ops): Add send_signal.
13120
13121 2003-05-29  Jim Blandy  <jimb@redhat.com>
13122
13123         * linux-low.c (usr_store_inferior_registers): Transfer buf in
13124         PTRACE_XFER_TYPE-sized chunks, not int-sized chunks.  Otherwise,
13125         if 'int' is smaller than PTRACE_XFER_TYPE, you end up throwing
13126         away part of the register's value.
13127
13128 2003-03-26  Daniel Jacobowitz  <drow@mvista.com>
13129
13130         * linux-low.c (linux_create_inferior): Use __SIGRTMIN.
13131         (linux_wait_for_event, linux_init_signals): Likewise.
13132
13133 2003-03-17  Daniel Jacobowitz  <drow@mvista.com>
13134
13135         * configure.in: Check for stdlib.h.
13136         * configure: Regenerated.
13137         * config.in: Regenerated.
13138
13139 2003-01-04  Andreas Schwab  <schwab@suse.de>
13140
13141         * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31.
13142
13143 2003-01-02  Andrew Cagney  <ac131313@redhat.com>
13144
13145         * Makefile.in: Remove obsolete code.
13146
13147 2002-11-20  Daniel Jacobowitz  <drow@mvista.com>
13148
13149         * linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of
13150         defined(PT_FPR0_HI).
13151
13152 2002-11-17  Stuart Hughes  <seh@zee2.com>
13153
13154         * linux-arm-low.c (arm_num_regs): Increase.
13155         (arm_regmap): Include status register.
13156
13157 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
13158
13159         * linux-low.c (register_addr): Remove incorrect -1 check.
13160
13161 2002-08-29  Daniel Jacobowitz  <drow@mvista.com>
13162
13163         * linux-low.c (linux_create_inferior): Call setpgid.  Return
13164         the new PID.
13165         (unstopped_p, linux_signal_pid): Remove.
13166         (linux_target_ops): Remove linux_signal_pid.
13167         * remote-utils.c (putpkt, input_interrupt): Use signal_pid
13168         global instead of target method.
13169         * target.h (struct target_ops): Remove signal_pid.  Update comment
13170         for create_inferior.
13171         * server.c (signal_pid): New variable.
13172         (create_inferior): Set signal_pid.  Block SIGTTOU and SIGTTIN in
13173         gdbserver.  Set the child to be the foreground process group.
13174         (attach_inferior): Set signal_pid.
13175
13176 2002-08-23  Daniel Jacobowitz  <drow@mvista.com>
13177
13178         * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2.
13179
13180 2002-08-20  Jim Blandy  <jimb@redhat.com>
13181
13182         * Makefile.in (LDFLAGS): Allow the configure script to establish a
13183         default for this.
13184
13185 2002-08-01  Andrew Cagney  <cagney@redhat.com>
13186
13187         * Makefile.in: Make chill references obsolete.
13188
13189 2002-07-24  Kevin Buettner  <kevinb@redhat.com>
13190
13191         * configure.in (unistd.h): Add to AC_CHECK_HEADERS list.
13192         * configure: Regenerate.
13193         * config.in: Regenerate.
13194
13195 2002-07-09  David O'Brien  <obrien@FreeBSD.org>
13196
13197         * gdbreplay.c (stdlib.h, unistd.h): Conditionaly include.
13198         (perror_with_name, remote_close, remote_open, expect, play): Static.
13199
13200 2002-07-04  Michal Ludvig  <mludvig@suse.cz>
13201
13202         * linux-x86-64-low.c (x86_64_regmap): Make it an array of
13203         byte offsets instead of an array of indexes.
13204         (x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.
13205
13206 2002-06-13  Daniel Jacobowitz  <drow@mvista.com>
13207
13208         * regcache.c: Add comment.
13209
13210 2002-06-11  Daniel Jacobowitz  <drow@mvista.com>
13211
13212         * thread-db.c: New file.
13213         * proc-service.c: New file.
13214         * acinclude.m4: New file.
13215         * Makefile.in: Add GDBSERVER_LIBS, gdb_proc_service_h,
13216         proc-service.o, and thread-db.o.
13217         (linux-low.o): Add USE_THREAD_DB.
13218         * acconfig.h: Add HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T,
13219         HAVE_LWPID_T, HAVE_PSADDR_T, and PRFPREGSET_T_BROKEN.
13220         * aclocal.m4: Regenerated.
13221         * config.in: Regenerated.
13222         * configure: Regenerated.
13223         * configure.in: Check for proc_service.h, sys/procfs.h,
13224         thread_db.h, and linux/elf.h headrs.
13225         Check for lwpid_t, psaddr_t, prgregset_t, prfpregset_t, and
13226         PRFPREGSET_T_BROKEN.  Introduce srv_thread_depfiles and USE_THREAD_DB.
13227         Check for -lthread_db and thread support.
13228         * configure.srv: Enable thread_db support for ARM, i386, MIPS,
13229         PowerPC, and SuperH.
13230         * i387-fp.c: Constify arguments.
13231         * i387-fp.h: Likewise.
13232         * inferiors.c: (struct thread_info): Renamed from
13233         `struct inferior_info'.  Remove PID member.  Use generic inferior
13234         list header.  All uses updated.
13235         (inferiors, signal_pid): Removed.
13236         (all_threads): New variable.
13237         (get_thread): Define.
13238         (add_inferior_to_list): New function.
13239         (for_each_inferior): New function.
13240         (change_inferior_id): New function.
13241         (add_inferior): Removed.
13242         (remove_inferior): New function.
13243         (add_thread): New function.
13244         (free_one_thread): New function.
13245         (remove_thread): New function.
13246         (clear_inferiors): Use for_each_inferior and free_one_thread.
13247         (find_inferior): New function.
13248         (find_inferior_id): New function.
13249         (inferior_target_data): Update argument type.
13250         (set_inferior_target_data): Likewise.
13251         (inferior_regcache_data): Likewise.
13252         (set_inferior_regcache_data): Likewise.
13253         * linux-low.c (linux_bp_reinsert): Remove.
13254         (all_processes, stopping_threads, using_thrads)
13255         (struct pending_signals, debug_threads, pid_of): New.
13256         (inferior_pid): Replace with macro.
13257         (struct inferior_linux_data): Remove.
13258         (get_stop_pc, add_process): New functions.
13259         (linux_create_inferior): Restore SIGRTMIN+1 before calling exec.
13260         Use add_process and add_thread.
13261         (linux_attach_lwp): New function, based on old linux_attach.  Use
13262         add_process and add_thread.  Set stop_expected for new threads.
13263         (linux_attach): New function.
13264         (linux_kill_one_process): New function.
13265         (linux_kill): Kill all LWPs.
13266         (linux_thread_alive): Use find_inferior_id.
13267         (check_removed_breakpoints, status_pending_p): New functions.
13268         (linux_wait_for_process): Renamed from linux_wait_for_one_inferior.
13269         Update.  Use WNOHANG.  Wait for cloned processes also.  Update process
13270         struct for the found process.
13271         (linux_wait_for_event): New function.
13272         (linux_wait): Use it.  Support LWPs.
13273         (send_sigstop, wait_for_sigstop, stop_all_processes)
13274         (linux_resume_one_process, linux_continue_one_process): New functions.
13275         (linux_resume): Support LWPs.
13276         (REGISTER_RAW_SIZE): Remove.
13277         (fetch_register): Use register_size instead.  Call supply_register.
13278         (usr_store_inferior_registers): Likewise.  Call collect_register.
13279         Fix recursive case.
13280         (regsets_fetch_inferior_registers): Improve error message.
13281         (regsets_store_inferior_registers): Add debugging.
13282         (linux_look_up_symbols): Call thread_db_init if USE_THREAD_DB.
13283         (unstopped_p, linux_signal_pid): New functions.
13284         (linux_target_ops): Add linux_signal_pid.
13285         (linux_init_signals): New function.
13286         (initialize_low): Call it.  Initialize using_threads.
13287         * regcache.c (inferior_regcache_data): Add valid
13288         flag.
13289         (get_regcache): Fetch registers lazily.  Add fetch argument
13290         and update all callers.
13291         (regcache_invalidate_one, regcache_invalidate): New
13292         functions.
13293         (new_register_cache): Renamed from create_register_cache.
13294         Return the new regcache.
13295         (free_register_cache): Change argument to a void *.
13296         (registers_to_string, registers_from_string): Call get_regcache
13297         with fetch flag set.
13298         (register_data): Make static.  Pass fetch flag to get_regcache.
13299         (supply_register): Call get_regcache with fetch flag clear.
13300         (collect_register): Call get_regcache with fetch flag set.
13301         (collect_register_as_string): New function.
13302         * regcache.h: Update.
13303         * remote-utils.c (putpkt): Flush after debug output and use
13304         stderr.
13305         Handle input interrupts while waiting for an ACK.
13306         (input_interrupt): Use signal_pid method.
13307         (getpkt): Flush after debug output and use stderr.
13308         (outreg): Use collect_register_as_string.
13309         (new_thread_notify, dead_thread_notify): New functions.
13310         (prepare_resume_reply): Check using_threads.  Set thread_from_wait
13311         and general_thread.
13312         (look_up_one_symbol): Flush after debug output.
13313         * server.c (step_thread, server_waiting): New variables.
13314         (start_inferior): Don't use signal_pid.  Update call to mywait.
13315         (attach_inferior): Update call to mywait.
13316         (handle_query): Handle qfThreadInfo and qsThreadInfo.
13317         (main): Don't fetch/store registers explicitly.  Use
13318         set_desired_inferior.  Support proposed ``Hs'' packet.  Update
13319         calls to mywait.
13320         * server.h: Update.
13321         (struct inferior_list, struct_inferior_list_entry): New.
13322         * target.c (set_desired_inferior): New.
13323         (write_inferior_memory): Constify.
13324         (mywait): New function.
13325         * target.h: Update.
13326         (struct target_ops): New signal_pid method.
13327         (mywait): Removed macro, added prototype.
13328
13329         * linux-low.h (regset_func): Removed.
13330         (regset_fill_func, regset_store_func): New.
13331         (enum regset_type): New.
13332         (struct regset_info): Add type field.  Use new operation types.
13333         (struct linux_target_ops): stop_pc renamed to get_pc.
13334         Add decr_pc_after_break and breakpoint_at.
13335         (get_process, get_thread_proess, get_process_thread)
13336         (strut process_info, all_processes, linux_attach_lwp)
13337         (thread_db_init): New.
13338
13339         * linux-arm-low.c (arm_get_pc, arm_set_pc,
13340         arm_breakpoint, arm_breakpoint_len, arm_breakpoint_at): New.
13341         (the_low_target): Add new members.
13342         * linux-i386-low.c (i386_store_gregset, i386_store_fpregset)
13343         (i386_store_fpxregset): Constify.
13344         (target_regsets): Add new kind identifier.
13345         (i386_get_pc): Renamed from i386_stop_pc.  Simplify.
13346         (i386_set_pc): Add debugging.
13347         (i386_breakpoint_at): New function.
13348         (the_low_target): Add new members.
13349         * linux-mips-low.c (mips_get_pc, mips_set_pc)
13350         (mips_breakpoint, mips_breakpoint_len, mips_reinsert_addr)
13351         (mips_breakpoint_at): New.
13352         (the_low_target): Add new members.
13353         * linux-ppc-low.c (ppc_get_pc, ppc_set_pc)
13354         (ppc_breakpoint, ppc_breakpoint_len, ppc_breakpoint_at): New.
13355         (the_low_target): Add new members.
13356         * linux-sh-low.c (sh_get_pc, sh_set_pc)
13357         (sh_breakpoint, sh_breakpoint_len, sh_breakpoint_at): New.
13358         (the_low_target): Add new members.
13359         * linux-x86-64-low.c (target_regsets): Add new kind
13360         identifier.
13361
13362 2002-05-15  Daniel Jacobowitz  <drow@mvista.com>
13363
13364         From Martin Pool <mbp@samba.org>:
13365         * server.c (gdbserver_usage): New function.
13366         (main): Call it.
13367
13368 2002-05-14  Daniel Jacobowitz  <drow@mvista.com>
13369
13370         * mem-break.c (reinsert_breakpoint_by_bp): Correct typo
13371         stop_at -> stop_pc.
13372
13373 2002-05-04  Andrew Cagney  <ac131313@redhat.com>
13374
13375         * Makefile.in: Remove obsolete code.
13376
13377 2002-04-24  Michal Ludvig  <mludvig@suse.cz>
13378
13379         * linux-low.c (regsets_fetch_inferior_registers),
13380         (regsets_store_inferior_registers): Removed cast to int from
13381         ptrace() calls.
13382         * regcache.h: Added declaration of struct inferior_info.
13383
13384 2002-04-20  Daniel Jacobowitz  <drow@mvista.com>
13385
13386         * inferiors.c (struct inferior_info): Add regcache_data.
13387         (add_inferior): Call create_register_cache.
13388         (clear_inferiors): Call free_register_cache.
13389         (inferior_regcache_data, set_inferior_regcache_data): New functions.
13390         * regcache.c (struct inferior_regcache_data): New.
13391         (registers): Remove.
13392         (get_regcache): New function.
13393         (create_register_cache, free_register_cache): New functions.
13394         (set_register_cache): Don't initialize the register cache here.
13395         (registers_to_string, registers_from_string, register_data): Call
13396         get_regcache.
13397         * regcache.h: Add prototypes.
13398         * server.h: Likewise.
13399
13400 2002-04-20  Daniel Jacobowitz  <drow@mvista.com>
13401
13402         * mem-break.c: New file.
13403         * mem-break.h: New file.
13404         * Makefile.in: Add mem-break.o rule; update server.h
13405         dependencies.
13406         * inferiors.c (struct inferior_info): Add target_data
13407         member.
13408         (clear_inferiors): Free target_data member if set.
13409         (inferior_target_data, set_inferior_target_data): New functions.
13410         * linux-i386-low.c (i386_breakpoint, i386_breakpoint_len)
13411         (i386_stop_pc, i386_set_pc): New.  Add to the_low_target.
13412         * linux-low.c (linux_bp_reinsert): New variable.
13413         (struct inferior_linux_data): New.
13414         (linux_create_inferior): Use set_inferior_target_data.
13415         (linux_attach): Likewise.  Call add_inferior.
13416         (linux_wait_for_one_inferior): New function.
13417         (linux_wait): Call it.
13418         (linux_write_memory): Add const.
13419         (initialize_low): Call set_breakpoint_data.
13420         * linux-low.h (struct linux_target_ops): Add breakpoint
13421         handling members.
13422         * server.c (attach_inferior): Remove extra add_inferior
13423         call.
13424         * server.h: Include mem-break.h.  Update inferior.c
13425         prototypes.
13426         * target.c (read_inferior_memory)
13427         (write_inferior_memory): New functions.
13428         * target.h (read_inferior_memory)
13429         (write_inferior_memory): Change macros to prototypes.
13430         (struct target_ops): Update comments.  Add const to write_memory
13431         definition.
13432
13433 2002-04-11  Daniel Jacobowitz  <drow@mvista.com>
13434
13435         * linux-low.c (usr_store_inferior_registers): Support
13436         registers which are allowed to fail to store.
13437         * linux-low.h (linux_target_ops): Likewise.
13438         * linux-ppc-low.c (ppc_regmap): Support FPSCR.
13439         (ppc_cannot_store_register): FPSCR may not be storable.
13440
13441 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
13442
13443         * server.h: Include <string.h> if HAVE_STRING_H.
13444         * ChangeLog: Correct paths in last ChangeLog entry.
13445
13446 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
13447
13448         * linux-low.h: Remove obsolete prototypes.
13449         (struct linux_target_ops): New.
13450         (extern the_low_target): New.
13451         * linux-low.c (num_regs, regmap): Remove declarations.
13452         (register_addr): Use the_low_target explicitly.
13453         (fetch_register): Likewise.
13454         (usr_fetch_inferior_registers): Likewise.
13455         (usr_store_inferior_registers): Likewise.
13456         * linux-arm-low.c (num_regs): Remove.
13457         (arm_num_regs): Define.
13458         (arm_regmap): Renamed from regmap, made static.
13459         (arm_cannot_fetch_register): Renamed from cannot_fetch_register,
13460         made static.
13461         (arm_cannot_store_register): Renamed from cannot_store_register,
13462         made static.
13463         (the_low_target): New.
13464         * linux-i386-low.c (num_regs): Remove.
13465         (i386_num_regs): Define.
13466         (i386_regmap): Renamed from regmap, made static.
13467         (i386_cannot_fetch_register): Renamed from cannot_fetch_register,
13468         made static.
13469         (i386_cannot_store_register): Renamed from cannot_store_register,
13470         made static.
13471         (the_low_target): New.
13472         * linux-ia64-low.c (num_regs): Remove.
13473         (ia64_num_regs): Define.
13474         (ia64_regmap): Renamed from regmap, made static.
13475         (ia64_cannot_fetch_register): Renamed from cannot_fetch_register,
13476         made static.
13477         (ia64_cannot_store_register): Renamed from cannot_store_register,
13478         made static.
13479         (the_low_target): New.
13480         * linux-m68k-low.c (num_regs): Remove.
13481         (m68k_num_regs): Define.
13482         (m68k_regmap): Renamed from regmap, made static.
13483         (m68k_cannot_fetch_register): Renamed from cannot_fetch_register,
13484         made static.
13485         (m68k_cannot_store_register): Renamed from cannot_store_register,
13486         made static.
13487         (the_low_target): New.
13488         * linux-mips-low.c (num_regs): Remove.
13489         (mips_num_regs): Define.
13490         (mips_regmap): Renamed from regmap, made static.
13491         (mips_cannot_fetch_register): Renamed from cannot_fetch_register,
13492         made static.
13493         (mips_cannot_store_register): Renamed from cannot_store_register,
13494         made static.
13495         (the_low_target): New.
13496         * linux-ppc-low.c (num_regs): Remove.
13497         (ppc_num_regs): Define.
13498         (ppc_regmap): Renamed from regmap, made static.
13499         (ppc_cannot_fetch_register): Renamed from cannot_fetch_register,
13500         made static.
13501         (ppc_cannot_store_register): Renamed from cannot_store_register,
13502         made static.
13503         (the_low_target): New.
13504         * linux-s390-low.c (num_regs): Remove.
13505         (s390_num_regs): Define.
13506         (s390_regmap): Renamed from regmap, made static.
13507         (s390_cannot_fetch_register): Renamed from cannot_fetch_register,
13508         made static.
13509         (s390_cannot_store_register): Renamed from cannot_store_register,
13510         made static.
13511         (the_low_target): New.
13512         * linux-sh-low.c (num_regs): Remove.
13513         (sh_num_regs): Define.
13514         (sh_regmap): Renamed from regmap, made static.
13515         (sh_cannot_fetch_register): Renamed from cannot_fetch_register,
13516         made static.
13517         (sh_cannot_store_register): Renamed from cannot_store_register,
13518         made static.
13519         (the_low_target): New.
13520         * linux-x86-64-low.c (x86_64_regmap): Renamed from regmap.
13521         (the_low_target): New.
13522
13523 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
13524
13525         * Makefile.in: Add stamp-h target.
13526         * configure.in: Create stamp-h.
13527         * configure: Regenerated.
13528
13529 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
13530
13531         * inferiors.c: New file.
13532         * target.c: New file.
13533         * target.h: New file.
13534         * Makefile.in:  Add target.o and inferiors.o.  Update
13535         dependencies.
13536         * linux-low.c (inferior_pid): New static variable,
13537         moved from server.c.
13538         (linux_create_inferior): Renamed from create_inferior.
13539         Call add_inferior.  Return 0 on success instead of a PID.
13540         (linux_attach): Renamed from myattach.
13541         (linux_kill): Renamed from kill_inferior.  Call clear_inferiors ().
13542         (linux_thread_alive): Renamed from mythread_alive.
13543         (linux_wait): Renamed from mywait.  Call clear_inferiors () if the
13544         child dies.
13545         (linux_resume): Renamed from myresume.  Add missing ``return 0''.
13546         (regsets_store_inferior_registers): Correct error message.
13547         Add missing ``return 0''.
13548         (linux_fetch_registers): Renamed from fetch_inferior_registers.
13549         (linux_store_registers): Renamed from store_inferior_registers.
13550         (linux_read_memory): Renamed from read_inferior_memory.
13551         (linux_write_memory): Renamed from write_inferior_memory.
13552         (linux_target_ops): New structure.
13553         (initialize_low): Call set_target_ops ().
13554         * remote-utils.c (unhexify): New function.
13555         (hexify): New function.
13556         (input_interrupt): Send signals to ``signal_pid''.
13557         * server.c (inferior_pid): Remove.
13558         (start_inferior): Update create_inferior call.
13559         (attach_inferior): Call add_inferior.
13560         (handle_query): New function.
13561         (main): Call handle_query for `q' packets.
13562         * server.h: Include "target.h".  Remove obsolete prototypes.
13563         Add prototypes for "inferiors.c", "target.c", hexify, and unhexify.
13564
13565 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
13566
13567         * Makefile.in: Add WARN_CFLAGS.  Update configury
13568         dependencies.
13569         * configure.in: Check for <string.h>
13570         * configure: Regenerate.
13571         * config.in: Regenerate.
13572         * gdbreplay.c: Include needed system headers.
13573         (remote_open): Remove strchr prototype.
13574         * linux-low.h: Correct #ifdef to HAVE_LINUX_USRREGS.
13575         * regcache.c (supply_register): Change buf argument to const void *.
13576         (supply_register_by_name): Likewise.
13577         (collect_register): Change buf argument to void *.
13578         (collect_register_by_name): Likewise.
13579         * regcache.h: Add missing prototypes.
13580         * remote-utils.c: Include <arpa/inet.h> for inet_ntoa.
13581         * server.c (handle_query): New function.
13582         (attached): New static variable, moved out of main.
13583         (main): Quiet longjmp clobber warnings.
13584         * server.h: Add ATTR_NORETURN and ATTR_FORMAT.  Update prototypes.
13585         * utils.c (error): Remove NORETURN.
13586         (fatal): Likewise.