41567905a8e692dbcd5565ea47d127b049296a37
[external/binutils.git] / gdb / gdbserver / ChangeLog
1 2016-07-21  Yao Qi  <yao.qi@linaro.org>
2
3         * mem-break.c (find_gdb_breakpoint): Cast bp to
4         'struct gdb_breakpoint *' rather than 'gdb_breakpoint *'.
5
6 2016-07-21  Yao Qi  <yao.qi@linaro.org>
7
8         * server.c (handle_v_requests): Support s and S actions
9         if target_supports_software_single_step return true.
10
11 2016-07-21  Yao Qi  <yao.qi@linaro.org>
12
13         * linux-low.c (resume_stopped_resumed_lwps): If resume request
14         is resume_step, call maybe_hw_step.
15         (linux_wait_1): Stop all threads, remove reinsert breakpoints,
16         and unstop them.
17         (linux_resume_one_lwp_throw): Don't assert the thread has reinsert
18         breakpoints or not.
19         (proceed_one_lwp): If resume request is resume_step, install
20         reinsert breakpoints and call maybe_hw_step.
21
22 2016-07-21  Yao Qi  <yao.qi@linaro.org>
23
24         * linux-low.c (proceed_one_lwp): Declare.
25         (linux_resume_one_thread): Remove local variable 'step'.
26         Lift code enqueue signal.  Call proceed_one_lwp instead of
27         linux_resume_one_lwp.
28
29 2016-07-21  Yao Qi  <yao.qi@linaro.org>
30
31         * linux-low.c (linux_resume_one_thread): Call
32         enqueue_pending_signal.
33
34 2016-07-21  Yao Qi  <yao.qi@linaro.org>
35
36         * gdbthread.h (make_cleanup_restore_current_thread): Declare.
37         * inferiors.c (do_restore_current_thread_cleanup): New function.
38         (make_cleanup_restore_current_thread): Likewise.
39         * linux-low.c (install_software_single_step_breakpoints): Call
40         make_cleanup_restore_current_thread.  Switch current_thread to
41         thread.
42
43 2016-07-21  Yao Qi  <yao.qi@linaro.org>
44
45         * mem-break.c (struct reinsert_breakpoint) <ptid>: New field.
46         (set_reinsert_breakpoint): New parameter ptid.  Callers updated.
47         (clone_one_breakpoint): Likewise.
48         (delete_reinsert_breakpoints): Change parameter to thread.
49         Callers updated.
50         (has_reinsert_breakpoints): Likewise.
51         (uninsert_reinsert_breakpoints): Likewise.
52         (reinsert_reinsert_breakpoints): Likewise.
53         * mem-break.h (set_reinsert_breakpoint): Update declaration.
54         (delete_reinsert_breakpoints): Likewise.
55         (reinsert_reinsert_breakpoints): Likewise.
56         (uninsert_reinsert_breakpoints): Likewise.
57         (has_reinsert_breakpoints): Likewise.
58
59 2016-07-21  Yao Qi  <yao.qi@linaro.org>
60
61         * inferiors.c (get_thread_process): Make parameter const.
62         * inferiors.h (get_thread_process): Update declaration.
63         * mem-break.c (clone_all_breakpoints): Remove all parameters.
64         Add new parameters child_thread and parent_thread.  Callers
65         updated.
66         * mem-break.h (clone_all_breakpoints): Update declaration.
67
68 2016-07-21  Yao Qi  <yao.qi@linaro.org>
69
70         * mem-break.c (struct breakpoint) <cond_list>: Remove.
71         <command_list, handler>: Remove.
72         (struct gdb_breakpoint): New.
73         (struct other_breakpoint): New.
74         (struct reinsert_breakpoint): New.
75         (is_gdb_breakpoint): New function.
76         (any_persistent_commands): Update command_list if
77         is_gdb_breakpoint returns true.
78         (set_breakpoint): Create breakpoints according to their types.
79         (find_gdb_breakpoint): Return 'struct gdb_breakpoint *'.
80         (set_gdb_breakpoint_1): Likewise.
81         (set_gdb_breakpoint): Likewise.
82         (clear_breakpoint_conditions): Change parameter type to
83         'struct gdb_breakpoint *'.
84         (clear_breakpoint_commands): Likewise.
85         (clear_breakpoint_conditions_and_commands): Likewise.
86         (add_condition_to_breakpoint): Likewise.
87         (add_breakpoint_condition): Likewise.
88         (add_commands_to_breakpoint): Likewise.
89         (check_breakpoints): Check other_breakpoint.
90         (clone_one_breakpoint): Clone breakpopint according to its type.
91         * mem-break.h (struct gdb_breakpoint): Declare.
92         (set_gdb_breakpoint): Update declaration.
93         (clear_breakpoint_conditions_and_commands): Likewise.
94         (add_breakpoint_condition): Likewise.
95         (add_breakpoint_commands): Likewise.
96         * server.c (process_point_options): Change parameter type to
97         'struct gdb_breakpoint *'.
98
99 2016-07-21  Yao Qi  <yao.qi@linaro.org>
100
101         * mem-break.c (set_breakpoint_at): Rename it to ...
102         (set_breakpoint_type_at): ... it.
103         (set_breakpoint_at): Call set_breakpoint_type_at.
104         (set_reinsert_breakpoint): Call set_breakpoint_type_at.
105         * mem-break.h (set_breakpoint_at): Update comments.
106
107 2016-07-12  Chung-Lin Tang  <cltang@codesourcery.com>
108
109         * linux-nios2-low.c (nios2_fill_gregset): Add type cast
110         to buf parameter.
111         (nios2_store_gregset): Likewise.
112
113 2016-07-01  Pedro Alves  <palves@redhat.com>
114             Antoine Tremblay  <antoine.tremblay@ericsson.com>
115
116         * linux-low.c: Change interface to take the target lwp_info
117         pointer directly and return void.  Handle detaching from a zombie
118         thread.
119         (linux_detach_lwp_callback): New function.
120         (linux_detach): Detach from the leader thread after detaching from
121         the clone threads.
122
123 2016-06-28  Yao Qi  <yao.qi@linaro.org>
124
125         * linux-aarch64-low.c (aarch64_ftrace_insn_reloc_b): Use int64_t
126         for variable new_offset.
127         (aarch64_ftrace_insn_reloc_b_cond): Likewise.
128         (aarch64_ftrace_insn_reloc_cb): Likewise.
129         (aarch64_ftrace_insn_reloc_tb): Likewise.
130         (aarch64_install_fast_tracepoint_jump_pad): Likewise.  Use
131         PRIx64 instead of PRIx32.
132
133 2016-06-28  Yao Qi  <yao.qi@linaro.org>
134
135         * linux-arm-low.c (arm_get_syscall_trapinfo): New function.
136         (the_low_target): Install arm_get_syscall_trapinfo.
137
138 2016-06-28  Yao Qi  <yao.qi@linaro.org>
139
140         * linux-aarch64-low.c (aarch64_get_syscall_trapinfo): New
141         function.
142         (the_low_target): Install aarch64_get_syscall_trapinfo.
143
144 2016-06-28  Yao Qi  <yao.qi@linaro.org>
145
146         * linux-low.c (get_syscall_trapinfo): Remove parameter sysret.
147         Callers updated.
148         * linux-low.h (struct linux_target_ops) <get_syscall_trapinfo>:
149         Remove parameter sysno.
150         * linux-x86-low.c (x86_get_syscall_trapinfo): Remove parameter
151         sysret.
152
153 2016-06-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
154
155         * linux-s390-low.c (s390_emit_eq_goto): Mark function static.
156         (s390_emit_ne_goto): Likewise.
157         (s390_emit_lt_goto): Likewise.
158         (s390_emit_le_goto): Likewise.
159         (s390_emit_gt_goto): Likewise.
160         (s390_emit_ge_goto): Likewise.
161         (s390x_emit_eq_goto): Likewise.
162         (s390x_emit_ne_goto): Likewise.
163         (s390x_emit_lt_goto): Likewise.
164         (s390x_emit_le_goto): Likewise.
165         (s390x_emit_gt_goto): Likewise.
166         (s390x_emit_ge_goto): Likewise.
167         (s390_emit_ops_impl): Mark variable static.
168         (s390x_emit_ops): Likewise.
169
170 2016-06-17  Yao Qi  <yao.qi@linaro.org>
171
172         * linux-low.c (handle_extended_wait): Call
173         uninsert_reinsert_breakpoints for the parent process.  Remove
174         reinsert breakpoints from the child process.  Reinsert them to
175         the parent process when vfork is done.
176         * mem-break.c (uninsert_reinsert_breakpoints): New function.
177         (reinsert_reinsert_breakpoints): New function.
178         * mem-break.h (uninsert_reinsert_breakpoints): Declare
179         (reinsert_reinsert_breakpoints): Declare.
180
181 2016-06-17  Yao Qi  <yao.qi@linaro.org>
182
183         * linux-low.c (handle_extended_wait): If the parent is doing
184         step-over, remove the reinsert breakpoints from the forked child.
185
186 2016-06-17  Yao Qi  <yao.qi@linaro.org>
187
188         * linux-low.c (unsuspend_all_lwps): Declare.
189         (linux_low_filter_event): If thread exited, call finish_step_over.
190         If step-over is finished, unsuspend other threads.
191
192 2016-06-17  Yao Qi  <yao.qi@linaro.org>
193
194         * linux-low.c (linux_resume_one_lwp_throw): Assert
195         has_reinsert_breakpoints returns false.
196         * mem-break.c (delete_disabled_breakpoints): Assert
197         bp type isn't reinsert_breakpoint.
198
199 2016-06-17  Yao Qi  <yao.qi@linaro.org>
200
201         * linux-low.c (maybe_hw_step): New function.
202         (linux_resume_one_lwp_throw): Call maybe_hw_step.
203         (finish_step_over): Switch current_thread to lwp temporarily,
204         and assert has_reinsert_breakpoints returns true.
205         (proceed_one_lwp): Call maybe_hw_step.
206         * mem-break.c (has_reinsert_breakpoints): New function.
207         * mem-break.h (has_reinsert_breakpoints): Declare.
208
209 2016-06-02  Jon Turney  <jon.turney@dronecode.org.uk>
210
211         * win32-low.c (win32_create_inferior): Add pointer casts for C++.
212
213 2016-05-17  Yao Qi  <yao.qi@linaro.org>
214
215         * linux-low.c (linux_stabilize_threads): Call unsuspend_all_lwps
216         instead of find_inferior.
217
218 2016-05-05  Yao Qi  <yao.qi@linaro.org>
219
220         * linux-arm-low.c (get_next_pcs_read_memory_unsigned_integer):
221         Initialize res to zero.
222
223 2016-05-05  Yao Qi  <yao.qi@linaro.org>
224
225         * linux-arm-low.c (arm_sigreturn_next_pc): Change type of cpsr
226         to uint32_t.
227
228 2016-05-04  Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
229
230         * spu-low.c (fetch_ppc_register): Cast PowerPC-Linux-specific value
231         used as first ptrace argument to PTRACE_TYPE_ARG1 for C++.
232         (fetch_ppc_memory_1, store_ppc_memory_1): Likewise.
233
234 2016-04-28  Par Olsson  <par.olsson@windriver.com>
235             Simon Marchi  <simon.marchi@ericsson.com>
236
237         * tracepoint.c (write_inferior_int8): New function.
238         (cmd_qtenable_disable): Write enable flag using
239         write_inferior_int8.
240
241 2016-04-25  Yao Qi  <yao.qi@linaro.org>
242
243         * linux-low.c (lwp_signal_can_be_delivered): Adjust.
244         (need_step_over_p): Return zero if the LWP has pending signals
245         can be delivered on software single step target.
246
247 2016-04-25  Yao Qi  <yao.qi@linaro.org>
248
249         * linux-low.c (reinsert_raw_breakpoint): If bp->inserted is true
250         return instead of error.
251
252 2016-04-22  Yao Qi  <yao.qi@linaro.org>
253
254         * linux-aarch32-low.c (arm_store_gregset): Clear CPSR bits 20
255         to 23.
256
257 2016-04-22  Yao Qi  <yao.qi@linaro.org>
258
259         * linux-low.c (lwp_signal_can_be_delivered): Don't deliver
260         signal when stepping over breakpoint with software single
261         step.
262
263 2016-04-21  Pedro Alves  <palves@redhat.com>
264
265         * linux-s390-low.c (s390_collect_ptrace_register)
266         (s390_supply_ptrace_register, s390_get_hwcap): Use gdb_byte * and
267         add casts.
268         (s390_check_regset): Use void * instead of gdb_byte *.
269
270 2016-04-20  Pedro Alves  <palves@redhat.com>
271
272         * configure: Renegerate.
273
274 2016-04-20  Yao Qi  <yao.qi@linaro.org>
275
276         * linux-aarch32-low.c: Include "arch/arm-linux.h".
277         (arm_fill_gregset): Use ARM_CPSR_GREGNUM rather than magic
278         number 16.
279         (arm_store_gregset): Likewise.
280
281 2016-04-16  Walfred Tedeschi  <walfred.tedeschi@intel.com>
282
283         * Makefile.in (clean): Add removal for i386-avx-mpx.c,
284         i386-avx-mpx-linux.c, amd64-avx-mpx.c and amd64-avx-mpx-linux.c.
285         (i386-avx-mpx.c, i386-avx-mpx-linux.c, amd64-avx-mpx.c)
286         (amd64-avx-mpx-linux.c): New rules.
287         (amd64-avx-mpx-linux-ipa.o, i386-avx-mpx-linux-ipa.o): New rule.
288         * configure.srv (srv_i386_regobj): Add i386-avx-mpx.o.
289         (srv_i386_linux_regobj): Add i386-avx-mpx-linux.o.
290         (srv_amd64_regobj): Add amd64-avx-mpx.o.
291         (srv_amd64_linux_regobj): Add amd64-avx-mpx-linux.o.
292         (srv_i386_xmlfiles): Add i386/i386-avx-mpx.xml.
293         (srv_amd64_xmlfiles): Add i386/amd64-avx-mpx.xml.
294         (srv_i386_linux_xmlfiles): Add i386/i386-avx-mpx-linux.xml.
295         (srv_amd64_linux_xmlfiles): Add i386/amd64-avx-mpx-linux.xml.
296         (ipa_i386_linux_regobj): Add i386-avx-mpx-linux-ipa.o.
297         (ipa_amd64_linux_regobj): Add amd64-avx-mpx-linux-ipa.o.
298         * linux-x86-low.c (x86_linux_read_description): Add case for
299         X86_XSTATE_AVX_MPX_MASK.
300         (x86_get_ipa_tdesc_idx): Add cases for avx_mpx.
301         (initialize_low_arch): Call init_registers_amd64_avx_mpx_linux and
302         init_registers_i386_avx_mpx_linux.
303         * linux-i386-ipa.c (get_ipa_tdesc): Add case for avx_mpx.
304         (initialize_low_tracepoint): Call
305         init_registers_i386_avx_mpx_linux.
306         * linux-amd64-ipa.c (get_ipa_tdesc):  Add case for avx_mpx.
307         (initialize_low_tracepoint): Call
308         init_registers_amd64_avx_mpx_linux.
309         * linux-x86-tdesc.h (X86_TDESC_AVX_MPX): New enum value.
310         (init_registers_amd64_avx_mpx_linux, tdesc_amd64_avx_mpx_linux)
311         (init_registers_i386_avx_mpx_linux, tdesc_i386_avx_mpx_linux): New
312         declarations.
313
314 2016-04-18  Pedro Alves  <palves@redhat.com>
315
316         * configure: Regenerate.
317
318 2016-04-13  Antoine Tremblay  <antoine.tremblay@ericsson.com>
319
320         * linux-aarch64-low.c (aarch64_emit_add): Switch x1 and x0.
321         (aarch64_emit_sub): Likewise.
322
323 2016-04-12  Pedro Alves  <palves@redhat.com>
324
325         * utils.c (prepare_to_throw_exception): Delete.
326
327 2016-04-05  Simon Marchi  <simon.marchi@ericsson.com>
328
329         * Makefile.in ($(IPA_LIB)): Set SONAME of the IPA lib.
330
331 2016-04-05  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
332
333         * tracepoint.c (getauxval): Move to #ifdef IN_PROCESS_AGENT.
334
335 2016-04-03  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
336
337         * linux-aarch64-ipa.c: Add <elf.h> include.
338         * linux-ppc-ipa.c: Add <elf.h> include.
339         * linux-s390-ipa.c: Add <elf.h> include.
340
341 2016-03-31  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
342
343         * tracepoint.c (gdb_collect_ptr): Remove const qualifier.
344         (get_raw_reg_ptr): Likewise.
345         (get_trace_state_variable_value_ptr): Likewise.
346         (set_trace_state_variable_value_ptr): Likewise.
347         (initialize_tracepoint): Cast alloc_jump_pad_buffer result to
348         char *.
349
350 2016-03-31  Wei-cheng Wang  <cole945@gmail.com>
351             Marcin KoÅ›cielnicki  <koriakin@0x04.net>
352
353         PR/17221
354         * linux-ppc-low.c (emit_insns): New function.
355         (__EMIT_ASM, _EMIT_ASM, EMIT_ASM): New macros.
356         (ppc_emit_prologue): New function.
357         (ppc_emit_epilogue): New function.
358         (ppc_emit_add): New function.
359         (ppc_emit_sub): New function.
360         (ppc_emit_mul): New function.
361         (ppc_emit_lsh): New function.
362         (ppc_emit_rsh_signed): New function.
363         (ppc_emit_rsh_unsigned): New function.
364         (ppc_emit_ext): New function.
365         (ppc_emit_zero_ext): New function.
366         (ppc_emit_log_not): New function.
367         (ppc_emit_bit_and): New function.
368         (ppc_emit_bit_or): New function.
369         (ppc_emit_bit_xor): New function.
370         (ppc_emit_bit_not): New function.
371         (ppc_emit_equal): New function.
372         (ppc_emit_less_signed): New function.
373         (ppc_emit_less_unsigned): New function.
374         (ppc_emit_ref): New function.
375         (ppc_emit_const): New function.
376         (ppc_emit_reg): New function.
377         (ppc_emit_pop): New function.
378         (ppc_emit_stack_flush): New function.
379         (ppc_emit_swap): New function.
380         (ppc_emit_stack_adjust): New function.
381         (ppc_emit_call): New function.
382         (ppc_emit_int_call_1): New function.
383         (ppc_emit_void_call_2): New function.
384         (ppc_emit_if_goto): New function.
385         (ppc_emit_goto): New function.
386         (ppc_emit_eq_goto): New function.
387         (ppc_emit_ne_goto): New function.
388         (ppc_emit_lt_goto): New function.
389         (ppc_emit_le_goto): New function.
390         (ppc_emit_gt_goto): New function.
391         (ppc_emit_ge_goto): New function.
392         (ppc_write_goto_address): New function.
393         (ppc_emit_ops_impl): New static variable.
394         (ppc64v1_emit_prologue): New function.
395         (ppc64v2_emit_prologue): New function.
396         (ppc64_emit_epilogue): New function.
397         (ppc64_emit_add): New function.
398         (ppc64_emit_sub): New function.
399         (ppc64_emit_mul): New function.
400         (ppc64_emit_lsh): New function.
401         (ppc64_emit_rsh_signed): New function.
402         (ppc64_emit_rsh_unsigned): New function.
403         (ppc64_emit_ext): New function.
404         (ppc64_emit_zero_ext): New function.
405         (ppc64_emit_log_not): New function.
406         (ppc64_emit_bit_and): New function.
407         (ppc64_emit_bit_or): New function.
408         (ppc64_emit_bit_xor): New function.
409         (ppc64_emit_bit_not): New function.
410         (ppc64_emit_equal): New function.
411         (ppc64_emit_less_signed): New function.
412         (ppc64_emit_less_unsigned): New function.
413         (ppc64_emit_ref): New function.
414         (ppc64_emit_const): New function.
415         (ppc64v1_emit_reg): New function.
416         (ppc64v2_emit_reg): New function.
417         (ppc64_emit_pop): New function.
418         (ppc64_emit_stack_flush): New function.
419         (ppc64_emit_swap): New function.
420         (ppc64v1_emit_call): New function.
421         (ppc64v2_emit_call): New function.
422         (ppc64v1_emit_int_call_1): New function.
423         (ppc64v2_emit_int_call_1): New function.
424         (ppc64v1_emit_void_call_2): New function.
425         (ppc64v2_emit_void_call_2): New function.
426         (ppc64_emit_if_goto): New function.
427         (ppc64_emit_eq_goto): New function.
428         (ppc64_emit_ne_goto): New function.
429         (ppc64_emit_lt_goto): New function.
430         (ppc64_emit_le_goto): New function.
431         (ppc64_emit_gt_goto): New function.
432         (ppc64_emit_ge_goto): New function.
433         (ppc64v1_emit_ops_impl): New static variable.
434         (ppc64v2_emit_ops_impl): New static variable.
435         (ppc_emit_ops): New function.
436         (linux_low_target): Wire in ppc_emit_ops.
437
438 2016-03-31  Wei-cheng Wang  <cole945@gmail.com>
439             Marcin KoÅ›cielnicki  <koriakin@0x04.net>
440
441         PR/17221
442         * Makefile.in: Add powerpc-*-ipa.o
443         * configure.srv: Add ipa_obj for powerpc*-linux.
444         * linux-ppc-ipa.c: New file.
445         * linux-ppc-low.c: Added linux-ppc-tdesc.h, ax.h, tracepoint.h
446         includes.
447         (PPC_FIELD): New macro.
448         (PPC_SEXT): New macro.
449         (PPC_OP6): New macro.
450         (PPC_BO): New macro.
451         (PPC_LI): New macro.
452         (PPC_BD): New macro.
453         (init_registers_*): Move prototype to linux-ppc-tdesc.h.
454         (tdesc_*): Move declaration to linux-ppc-tdesc.h.
455         (ppc_get_hwcap): Rename to ppc_get_auxv and add type parameter.
456         (ppc_get_thread_area): New function.
457         (is_elfv2_inferior): New function.
458         (gen_ds_form): New function.
459         (GEN_STD): New macro.
460         (GEN_STDU): New macro.
461         (GEN_LD): New macro.
462         (GEN_LDU): New macro.
463         (gen_d_form): New function.
464         (GEN_ADDI): New macro.
465         (GEN_ADDIS): New macro.
466         (GEN_LI): New macro.
467         (GEN_LIS): New macro.
468         (GEN_ORI): New macro.
469         (GEN_ORIS): New macro.
470         (GEN_LWZ): New macro.
471         (GEN_STW): New macro.
472         (GEN_STWU): New macro.
473         (gen_xfx_form): New function.
474         (GEN_MFSPR): New macro.
475         (GEN_MTSPR): New macro.
476         (GEN_MFCR): New macro.
477         (GEN_MTCR): New macro.
478         (GEN_SYNC): New macro.
479         (GEN_LWSYNC): New macro.
480         (gen_x_form): New function.
481         (GEN_OR): New macro.
482         (GEN_MR): New macro.
483         (GEN_LWARX): New macro.
484         (GEN_STWCX): New macro.
485         (GEN_CMPW): New macro.
486         (gen_md_form): New function.
487         (GEN_RLDICL): New macro.
488         (GEN_RLDICR): New macro.
489         (gen_i_form): New function.
490         (GEN_B): New macro.
491         (GEN_BL): New macro.
492         (gen_b_form): New function.
493         (GEN_BNE): New macro.
494         (GEN_LOAD): New macro.
495         (GEN_STORE): New macro.
496         (gen_limm): New function.
497         (gen_atomic_xchg): New function.
498         (gen_call): New function.
499         (ppc_relocate_instruction): New function.
500         (ppc_install_fast_tracepoint_jump_pad): New function.
501         (ppc_get_min_fast_tracepoint_insn_len): New function.
502         (ppc_get_ipa_tdesc_idx): New function.
503         (the_low_target): Wire in the new functions.
504         (initialize_low_arch) [!__powerpc64__]: Don'it initialize 64-bit
505         tdescs.
506         * linux-ppc-tdesc.h: New file.
507
508 2016-03-31  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
509
510         * linux-aarch64-ipa.c: Add <sys/mman.h> and <sys/auxv.h> includes.
511         (alloc_jump_pad_buffer): New function.
512         * linux-amd64-ipa.c: Add <sys/mman.h> include.
513         (alloc_jump_pad_buffer): New function.
514         * linux-i386-ipa.c (alloc_jump_pad_buffer): New function.
515         * linux-s390-ipa.c: Add <sys/mman.h> and <sys/auxv.h> includes.
516         (alloc_jump_pad_buffer): New function.
517         * tracepoint.c (getauxval) [!HAVE_GETAUXVAL]: New function.
518         (initialize_tracepoint): Delegate to alloc_jump_pad_buffer.
519         * tracepoint.h (alloc_jump_pad_buffer): New prototype.
520         (getauxval) [!HAVE_GETAUXVAL]: New prototype.
521
522 2016-03-30  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
523
524         * linux-aarch64-ipa.c: Rename gdb_agent_get_raw_reg to get_raw_reg.
525         * linux-amd64-ipa.c: Likewise.
526         * linux-i386-ipa.c: Likewise.
527         * linux-s390-ipa.c: Likewise.
528         * tracepoint.c: IPA-export gdb_collect_ptr instead of gdb_collect,
529         ditto for get_raw_reg_ptr, get_trace_state_variable_value_ptr,
530         set_trace_state_variable_value_ptr.
531         (struct ipa_sym_addresses): Likewise.
532         (symbol_list): Likewise.
533         (install_fast_tracepoint): Dereference gdb_collect_ptr instead of
534         accessing gdb_collect directly.
535         (gdb_collect_ptr_type): New typedef.
536         (get_raw_reg_ptr_type): New typedef.
537         (get_trace_state_variable_value_ptr_type): New typedef.
538         (set_trace_state_variable_value_ptr_type): New typedef.
539         (gdb_collect_ptr): New global.
540         (get_raw_reg_ptr): New global.
541         (get_trace_state_variable_value_ptr): New global.
542         (set_trace_state_variable_value_ptr): New global.
543         (get_raw_reg_func_addr): Dereference get_raw_reg_ptr instead of
544         accessing get_raw_reg directly.
545         (get_get_tsv_func_addr): Likewise for
546         get_trace_state_variable_value_ptr.
547         (get_set_tsv_func_addr): Likewise for
548         set_trace_state_variable_value_ptr.
549         * tracepoint.h: Rename gdb_agent_get_raw_reg to get_raw_reg.
550
551 2016-03-30  Simon Marchi  <simon.marchi@ericsson.com>
552
553         * tracepoint.c (cmd_qtenable_disable): Remove whitespace.
554
555 2016-03-30  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
556
557         * remote-utils.c (look_up_one_symbol): Remove own_buf, handle 'v'
558         packets.
559         (relocate_instruction): Remove own_buf.
560         * server.c (own_buf): Make global.
561         (handle_v_requests): Make global.
562         * server.h (own_buf): New declaration.
563         (handle_v_requests): New prototype.
564
565 2016-03-29  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
566
567         PR 18377
568         * linux-s390-low.c (add_insns): New function.
569         (s390_emit_prologue): New function.
570         (s390_emit_epilogue): New function.
571         (s390_emit_add): New function.
572         (s390_emit_sub): New function.
573         (s390_emit_mul): New function.
574         (s390_emit_lsh): New function.
575         (s390_emit_rsh_signed): New function.
576         (s390_emit_rsh_unsigned): New function.
577         (s390_emit_ext): New function.
578         (s390_emit_log_not): New function.
579         (s390_emit_bit_and): New function.
580         (s390_emit_bit_or): New function.
581         (s390_emit_bit_xor): New function.
582         (s390_emit_bit_not): New function.
583         (s390_emit_equal): New function.
584         (s390_emit_less_signed): New function.
585         (s390_emit_less_unsigned): New function.
586         (s390_emit_ref): New function.
587         (s390_emit_if_goto): New function.
588         (s390_emit_goto): New function.
589         (s390_write_goto_address): New function.
590         (s390_emit_litpool): New function.
591         (s390_emit_const): New function.
592         (s390_emit_call): New function.
593         (s390_emit_reg): New function.
594         (s390_emit_pop): New function.
595         (s390_emit_stack_flush): New function.
596         (s390_emit_zero_ext): New function.
597         (s390_emit_swap): New function.
598         (s390_emit_stack_adjust): New function.
599         (s390_emit_set_r2): New function.
600         (s390_emit_int_call_1): New function.
601         (s390_emit_void_call_2): New function.
602         (s390_emit_eq_goto): New function.
603         (s390_emit_ne_goto): New function.
604         (s390_emit_lt_goto): New function.
605         (s390_emit_le_goto): New function.
606         (s390_emit_gt_goto): New function.
607         (s390_emit_ge_goto): New function.
608         (s390x_emit_prologue): New function.
609         (s390x_emit_epilogue): New function.
610         (s390x_emit_add): New function.
611         (s390x_emit_sub): New function.
612         (s390x_emit_mul): New function.
613         (s390x_emit_lsh): New function.
614         (s390x_emit_rsh_signed): New function.
615         (s390x_emit_rsh_unsigned): New function.
616         (s390x_emit_ext): New function.
617         (s390x_emit_log_not): New function.
618         (s390x_emit_bit_and): New function.
619         (s390x_emit_bit_or): New function.
620         (s390x_emit_bit_xor): New function.
621         (s390x_emit_bit_not): New function.
622         (s390x_emit_equal): New function.
623         (s390x_emit_less_signed): New function.
624         (s390x_emit_less_unsigned): New function.
625         (s390x_emit_ref): New function.
626         (s390x_emit_if_goto): New function.
627         (s390x_emit_const): New function.
628         (s390x_emit_call): New function.
629         (s390x_emit_reg): New function.
630         (s390x_emit_pop): New function.
631         (s390x_emit_stack_flush): New function.
632         (s390x_emit_zero_ext): New function.
633         (s390x_emit_swap): New function.
634         (s390x_emit_stack_adjust): New function.
635         (s390x_emit_int_call_1): New function.
636         (s390x_emit_void_call_2): New function.
637         (s390x_emit_eq_goto): New function.
638         (s390x_emit_ne_goto): New function.
639         (s390x_emit_lt_goto): New function.
640         (s390x_emit_le_goto): New function.
641         (s390x_emit_gt_goto): New function.
642         (s390x_emit_ge_goto): New function.
643         (s390_emit_ops): New function.
644         (struct linux_target_ops): Fill in emit_ops hook.
645
646 2016-03-29  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
647
648         PR 18377
649         * Makefile.in: Add s390 IPA files.
650         * configure.srv: Build IPA for s390.
651         * linux-s390-ipa.c: New file.
652         * linux-s390-low.c: New includes - inttypes.h and linux-s390-tdesc.h.
653         (init_registers_s390_linux32): Move declaration to linux-s390-tdesc.h.
654         (tdesc_s390_linux32): Likewise.
655         (init_registers_s390_linux32v1): Likewise.
656         (tdesc_s390_linux32v1): Likewise.
657         (init_registers_s390_linux32v2): Likewise.
658         (tdesc_s390_linux32v2): Likewise.
659         (init_registers_s390_linux64): Likewise.
660         (tdesc_s390_linux64): Likewise.
661         (init_registers_s390_linux64v1): Likewise.
662         (tdesc_s390_linux64v1): Likewise.
663         (init_registers_s390_linux64v2): Likewise.
664         (tdesc_s390_linux64v2): Likewise.
665         (init_registers_s390_te_linux64): Likewise.
666         (tdesc_s390_te_linux64): Likewise.
667         (init_registers_s390_vx_linux64): Likewise.
668         (tdesc_s390_vx_linux64): Likewise.
669         (init_registers_s390_tevx_linux64): Likewise.
670         (tdesc_s390_tevx_linux64): Likewise.
671         (init_registers_s390x_linux64): Likewise.
672         (tdesc_s390x_linux64): Likewise.
673         (init_registers_s390x_linux64v1): Likewise.
674         (tdesc_s390x_linux64v1): Likewise.
675         (init_registers_s390x_linux64v2): Likewise.
676         (tdesc_s390x_linux64v2): Likewise.
677         (init_registers_s390x_te_linux64): Likewise.
678         (tdesc_s390x_te_linux64): Likewise.
679         (init_registers_s390x_vx_linux64): Likewise.
680         (tdesc_s390x_vx_linux64): Likewise.
681         (init_registers_s390x_tevx_linux64): Likewise.
682         (tdesc_s390x_tevx_linux64): Likewise.
683         (have_hwcap_s390_vx): New static variable.
684         (s390_arch_setup): Fill have_hwcap_s390_vx.
685         (s390_get_thread_area): New function.
686         (s390_ft_entry_gpr_esa): New const.
687         (s390_ft_entry_gpr_zarch): New const.
688         (s390_ft_entry_misc): New const.
689         (s390_ft_entry_fr): New const.
690         (s390_ft_entry_vr): New const.
691         (s390_ft_main_31): New const.
692         (s390_ft_main_64): New const.
693         (s390_ft_exit_fr): New const.
694         (s390_ft_exit_vr): New const.
695         (s390_ft_exit_misc): New const.
696         (s390_ft_exit_gpr_esa): New const.
697         (s390_ft_exit_gpr_zarch): New const.
698         (append_insns): New function.
699         (s390_relocate_instruction): New function.
700         (s390_install_fast_tracepoint_jump_pad): New function.
701         (s390_get_min_fast_tracepoint_insn_len): New function.
702         (s390_get_ipa_tdesc_idx): New function.
703         (struct linux_target_ops): Wire in the above functions.
704         (initialize_low_arch) [!__s390x__]: Don't initialize s390x tdescs.
705         * linux-s390-tdesc.h: New file.
706
707 2016-03-29  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
708
709         * linux-s390-low.c (s390_supports_tracepoints): New function.
710         (struct linux_target_ops): Fill supports_tracepoints hook.
711
712 2016-03-18  Yao Qi  <yao.qi@linaro.org>
713
714         * linux-low.c (lwp_signal_can_be_delivered): New function.
715         (linux_resume_one_lwp_throw): Use lwp_signal_can_be_delivered.
716
717 2016-03-18  Yao Qi  <yao.qi@linaro.org>
718
719         * linux-low.c (linux_resume_one_lwp_throw): Set 'signal' to
720         0 if signal is enqueued.  Remove 'signal' from one debugging
721         message.  Move one debugging message to some lines below.
722         Remove code setting 'signal' to 0.
723
724 2016-03-18  Yao Qi  <yao.qi@linaro.org>
725
726         * linux-low.c (linux_low_filter_event): Remove redundant
727         WIFSTOPPED check together with linux_wstatus_maybe_breakpoint.
728
729 2016-03-09  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
730
731         * linux-ppc-low.c (ppc_supports_tracepoints): New function.
732         (struct linux_target_ops): Wire in the above.
733
734 2016-03-03  Yao Qi  <yao.qi@linaro.org>
735
736         * linux-low.c: Update comments to start_step_over.
737
738 2016-03-03  Yao Qi  <yao.qi@linaro.org>
739
740         PR server/19736
741         * linux-low.c (handle_extended_wait): Set child suspended
742         if event_lwp->bp_reinsert isn't zero.
743
744 2016-03-02  Yao Qi  <yao.qi@linaro.org>
745
746         * linux-low.c (linux_resume_one_lwp_throw): Replace code with
747         enqueue_pending_signal.
748
749 2016-03-02  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
750
751         * tracepoint.c (cmd_qtstart): Only set ipa_tdesc_idx if agent
752         is actually loaded.
753
754 2016-02-25  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
755
756         * linux-s390-low.c (s390_num_regs_3264): Define on 31-bit too.
757         (s390_regmap_3264) [!__s390x__]: New global.
758         (s390_collect_ptrace_register): Skip map entries containing -1.
759         (s390_supply_ptrace_register): Ditto.
760         (s390_fill_gprs_high): New function.
761         (s390_store_gprs_high): New function.
762         (s390_regsets): Add NT_S390_HIGH_GPRS.
763         (s390_get_hwcap): Enable on 31-bit.
764         (have_hwcap_s390_high_gprs): Enable on 31-bit.
765         (s390_arch_setup): Enable detection of high GPRs, TDB, VX on 31-bit.
766         Detect NT_S390_HIGH_GPRS.
767         (s390_usrregs_info_3264): Enable on 31-bit.
768         (s390_regs_info): Enable regs_info_3264 on 31-bit.
769         (initialize_low_arch): Initialize s390_regsets_info_3264 on 31-bit.
770
771 2016-02-25  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
772
773         PR gdb/13808
774         * Makefile.in: Add i386-*-linux-ipa.o and amd64-*-linux-ipa.o.
775         * configure.srv: Ditto.
776         * linux-aarch64-ipa.c (get_ipa_tdesc): New function.
777         (initialize_low_tracepoint): Remove ipa_tdesc assignment.
778         * linux-amd64-ipa.c: Add "linux-x86-tdesc.h" include.
779         (init_registers_amd64_linux): Remove prototype.
780         (tdesc_amd64_linux): Remove declaration.
781         (get_ipa_tdesc): New function.
782         (initialize_low_tracepoint): Remove ipa_tdesc assignment,
783         initialize remaining tdescs.
784         * linux-i386-ipa.c: Add "linux-x86-tdesc.h" include.
785         (init_registers_i386_linux): Remove prototype.
786         (tdesc_i386_linux): Remove declaration.
787         (get_ipa_tdesc): New function.
788         (initialize_low_tracepoint): Remove ipa_tdesc assignment,
789         initialize remaining tdescs.
790         * linux-low.c (linux_get_ipa_tdesc_idx): New function.
791         (linux_target_ops): wire in linux_get_ipa_tdesc_idx.
792         * linux-low.h (struct linux_target_ops): Add get_ipa_tdesc_idx.
793         * linux-x86-low.c: Move tdesc declarations to linux-x86-tdesc.h.
794         (x86_get_ipa_tdesc_idx): New function.
795         (the_low_target): Wire in x86_get_ipa_tdesc_idx.
796         * linux-x86-tdesc.h: New file.
797         * target.h (struct target_ops): Add get_ipa_tdesc_idx.
798         (target_get_ipa_tdesc_idx): New macro.
799         * tracepoint.c (ipa_tdesc_idx): New macro.
800         (struct ipa_sym_addresses): Add addr_ipa_tdesc_idx.
801         (symbol_list): Add ipa_tdesc_idx.
802         (cmd_qtstart): Write ipa_tdesc_idx in the target.
803         (ipa_tdesc): Remove.
804         (ipa_tdesc_idx): New variable.
805         (get_context_regcache): Use get_ipa_tdesc.
806         (gdb_collect): Ditto.
807         (gdb_probe): Ditto.
808         * tracepoint.h (get_ipa_tdesc): New prototype.
809         (ipa_tdesc): Remove.
810
811 2016-02-24  Pedro Alves  <palves@redhat.com>
812
813         * linux-low.c (check_stopped_by_breakpoint): Rename to ...
814         (save_stop_reason): ... this.  Use GDB_ARCH_IS_TRAP_HWBKPT and
815         handle ambiguous GDB_ARCH_IS_TRAP_BRKPT / GDB_ARCH_IS_TRAP_HWBKPT.
816         Factor out common code between the USE_SIGTRAP_SIGINFO and
817         !USE_SIGTRAP_SIGINFO blocks.
818         (linux_low_filter_event): Call save_stop_reason instead of
819         check_stopped_by_breakpoint and check_stopped_by_watchpoint.
820         Update comments.
821         (linux_wait_1): Update comments.
822
823 2016-02-24  Wei-cheng Wang  <cole945@gmail.com>
824
825         * linux-ppc-low.c (ppc_supports_z_point_type): New function:
826         (ppc_insert_point, ppc_remove_point): Insert/remove z-packet breakpoints.
827         (ppc64_emit_ops_vector): Add target ops - ppc_supports_z_point_type,
828         ppc_insert_point, ppc_remove_point.
829
830 2016-02-17  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
831
832         * linux-s390-low.c (s390_supports_z_point_type): New function.
833         (struct linux_target_ops): Wire s390_supports_z_point_type in.
834
835 2016-02-16  Yao Qi  <yao.qi@linaro.org>
836
837         * linux-arm-low.c (get_next_pcs_syscall_next_pc): Remove argument
838         PC.  Get pc from regcache_read_pc.
839
840 2016-02-12  Yao Qi  <yao.qi@linaro.org>
841
842         * linux-aarch64-low.c (aarch64_get_pc): Call linux_get_pc_64bit
843         or linux_get_pc_32bit.
844         (aarch64_set_pc): Call linux_set_pc_64bit or linux_set_pc_32bit.
845
846 2016-02-12  Yao Qi  <yao.qi@linaro.org>
847
848         * linux-arm-low.c (get_next_pcs_ops): Initialize it with
849         arm_linux_get_next_pcs_fixup.
850
851 2016-02-12  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
852
853         * tracepoint.c (x_tracepoint_action_download): Change
854         write_inferior_data_ptr to write_inferior_data_pointer.
855         (cmd_qtstart): Likewise.
856         (write_inferior_data_ptr): Remove.
857         (download_agent_expr): Change write_inferior_data_ptr to
858         write_inferior_data_pointer.
859         (download_tracepoint_1): Likewise.
860         (download_tracepoint): Likewise.
861         (download_trace_state_variables): Likewise.
862
863 2016-02-11  Wei-cheng Wang  <cole945@gmail.com>
864             Marcin KoÅ›cielnicki  <koriakin@0x04.net>
865
866         * tracepoint.c (struct tracepoint_action_ops): Remove.
867         (struct tracepoint_action): Remove ops.
868         (m_tracepoint_action_download, r_tracepoint_action_download)
869         (x_tracepoint_action_download, l_tracepoint_action_download): Adjust
870         size and offset accordingly.
871         (m_tracepoint_action_ops, r_tracepoint_action_ops)
872         (x_tracepoint_action_ops, l_tracepoint_action_ops): Remove.
873         (tracepoint_action_send, tracepoint_action_download): New functions.
874         Helpers for trace action handlers.
875         (add_tracepoint_action): Remove setup actions ops.
876         (download_tracepoint_1, tracepoint_send_agent): Call helper functions.
877
878 2016-02-10  Yao Qi  <yao.qi@linaro.org>
879
880         * regcache.c (regcache_raw_read_unsigned): Clear *VAL.
881
882 2016-02-09  Simon Marchi  <simon.marchi@ericsson.com>
883
884         * configure.ac: Use AC_CONFIG_FILES instead of passing arguments
885         to AC_OUTPUT.
886         * configure: Regenerate.
887
888 2016-02-09  Simon Marchi  <simon.marchi@ericsson.com>
889
890         * linux-aarch64-low.c (aarch64_linux_siginfo_fixup): Change
891         void * to gdb_byte *.
892         * linux-low.c (siginfo_fixup): Likewise.
893         (linux_xfer_siginfo): Likewise.
894         * linux-low.h (struct linux_target_ops) <siginfo_fixup>:
895         Likewise.
896         * linux-x86-low.c (x86_siginfo_fixup): Likewise.
897
898 2016-02-02  Walfred Tedeschi  <walfred.tedeschi@intel.com>
899
900         * configure.srv (x86_64-*-linux*): Add amd64-linux-siginfo.o
901         to srv_tgtobj.
902         (i[34567]86-*-linux*): Add amd64-linux-siginfo.o
903         to srv_tgtobj.
904         * linux-x86-low.c [__x86_64__]: Include
905         "nat/amd64-linux-siginfo.h".
906         (compat_siginfo_from_siginfo, siginfo_from_compat_siginfo)
907         (compat_x32_siginfo_from_siginfo, siginfo_from_compat_x32_siginfo)
908         (compat_timeval, compat_sigval, compat_x32_clock, cpt_si_pid)
909         (cpt_si_uid, cpt_si_timerid, cpt_si_overrun, cpt_si_status)
910         (cpt_si_utime, cpt_si_stime, cpt_si_ptr, cpt_si_addr, cpt_si_band)
911         (cpt_si_fd, si_timerid, si_overrun): Move from
912         nat/amd64-linux-siginfo.c.
913         * Makefile.in (amd64-linux-siginfo.o:): New rule.
914
915 2016-01-28  Simon Marchi  <simon.marchi@ericsson.com>
916
917         * server.c (skip_to_semicolon):  Remove.
918         (process_point_options): Use strchrnul instead of
919         skip_to_semicolon.
920
921 2016-01-26  Yao Qi  <yao.qi@linaro.org>
922
923         * linux-arm-low.c (arm_gdbserver_get_next_pcs): Remove argument pc.
924         * linux-low.c (install_software_single_step_breakpoints): Don't
925         call regcache_read_pc.
926         * linux-low.h (struct linux_target_ops) <get_next_pcs>: Remove
927         argument pc.
928
929 2016-01-26  Yao Qi  <yao.qi@linaro.org>
930
931         * linux-low.c (install_software_single_step_breakpoints): Call
932         regcache_read_pc instead of get_pc.
933
934 2016-01-26  Yao Qi  <yao.qi@linaro.org>
935
936         * remote-utils.c (remote_close) [!USE_WIN32API]: Ignore SIGIO.
937         (unblock_async_io): Rename to ...
938         (block_unblock_async_io): ... it.  New function.
939         (enable_async_io): Don't install SIGIO handler.  Unblock it
940         instead.
941         (disable_async_io): Don't ignore SIGIO.  Block it instead.
942         (initialize_async_io): Install SIGIO handler.  Don't call
943         unblock_async_io.
944
945 2016-01-26  Yao Qi  <yao.qi@linaro.org>
946
947         * remote-utils.c (getpkt): If the buffer isn't empty, and the
948         first character is '\003', call *the_target->request_interrupt.
949
950 2016-01-25  Yao Qi  <yao.qi@linaro.org>
951
952         * remote-utils.c (new_thread_notify): Remove.
953         (dead_thread_notify): Likewise.
954         * remote-utils.h (new_thread_notify): Remove declaration.
955         (dead_thread_notify): Likewise.
956
957 2016-01-23  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
958
959         * gdb.trace/pending.exp: Fix expected message on continue.
960
961 2016-01-22  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
962
963         * tracepoint.c (write_inferior_data_ptr): Cast to uintptr_t, so that
964         it works properly on big-endian machines where sizeof (CORE_ADDR)
965         != sizeof (void *).
966
967 2016-01-21  Pedro Alves  <palves@redhat.com>
968
969         * Makefile.in (COMPILER_CFLAGS, CXXFLAGS): New.
970         (INTERNAL_CFLAGS_BASE): Use COMPILER_CFLAGS instead of CFLAGS.
971         * configure: Regenerate.
972
973 2016-01-21  Yao Qi  <yao.qi@linaro.org>
974
975         * linux-arm-low.c (arm_sigreturn_next_pc): Add parameter
976         is_thumb and set it according to CPSR saved on the stack.
977         (get_next_pcs_syscall_next_pc): Pass is_thumb to
978         arm_sigreturn_next_pc.
979
980 2016-01-18  Yao Qi  <yao.qi@linaro.org>
981
982         * linux-low.c (linux_set_pc_64bit): New function.
983         (linux_get_pc_64bit): New function.
984         * linux-low.h (linux_set_pc_64bit, linux_get_pc_64bit):
985         Declare.
986         * linux-sparc-low.c (debug_threads): Remove declaration.
987         (sparc_get_pc): Remove.
988         (the_low_target): Use linux_get_pc_64bit instead of
989         sparc_get_pc.
990         * linux-tile-low.c (tile_get_pc, tile_set_pc): Remove.
991         (the_low_target): Use linux_get_pc_64bit and
992         linux_set_pc_64bit.
993
994 2016-01-18  Yao Qi  <yao.qi@linaro.org>
995
996         * linux-arm-low.c (debug_threads): Remove declaration.
997         (arm_get_pc, arm_set_pc): Remove.
998         (the_low_target): Use linux_get_pc_32bit and
999         linux_set_pc_32bit.
1000         * linux-bfin-low.c (bfin_get_pc, bfin_set_pc): Remove.
1001         (the_low_target): Use linux_get_pc_32bit and
1002         linux_set_pc_32bit.
1003         * linux-cris-low.c (debug_threads): Remove declaration.
1004         (cris_get_pc, cris_set_pc,): Remove.
1005         (the_low_target): Use linux_get_pc_32bit and
1006         linux_set_pc_32bit.
1007         * linux-crisv32-low.c (debug_threads): Remove declaration.
1008         (cris_get_pc, cris_set_pc): Remove.
1009         (the_low_target): Use linux_get_pc_32bit and
1010         linux_set_pc_32bit.
1011         * linux-low.c: Include inttypes.h.
1012         (linux_get_pc_32bit, linux_set_pc_32bit): New functions.
1013         * linux-low.h (linux_get_pc_32bit, linux_set_pc_32bit): Declare.
1014         * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Remove.
1015         (the_low_target): Use linux_get_pc_32bit and
1016         linux_set_pc_32bit.
1017         * linux-m68k-low.c (m68k_get_pc, m68k_set_pc): Remove.
1018         (the_low_target): Use linux_get_pc_32bit and
1019         linux_set_pc_32bit.
1020         * linux-nios2-low.c (nios2_get_pc, nios2_set_pc): Remove.
1021         (the_low_target): Use linux_get_pc_32bit and
1022         linux_set_pc_32bit.
1023         * linux-sh-low.c (sh_get_pc, sh_set_pc): Remove.
1024         (the_low_target): Use linux_get_pc_32bit and
1025         linux_set_pc_32bit.
1026         * linux-xtensa-low.c (xtensa_get_pc, xtensa_set_pc): Remove.
1027         (the_low_target): Use linux_get_pc_32bit and
1028         linux_set_pc_32bit.
1029
1030 2016-01-18  Gary Benson  <gbenson@redhat.com>
1031
1032         * configure.ac (AC_FUNC_FORK): New check.
1033         * config.in: Regenerate.
1034         * configure: Likewise.
1035
1036 2016-01-14  Yao Qi  <yao.qi@linaro.org>
1037
1038         * linux-aarch32-low.c (thumb2_breakpoint): Make it static.
1039         * linux-aarch32-low.h (thumb2_breakpoint): Remove declaration.
1040         * linux-arm-low.c (arm_gdbserver_get_next_pcs): Pass 1 to
1041         arm_get_next_pcs_ctor.
1042
1043 2016-01-12  Josh Stone  <jistone@redhat.com>
1044             Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1045
1046         * inferiors.h: Include "gdb_vecs.h".
1047         (struct process_info): Add syscalls_to_catch.
1048         * inferiors.c (remove_process): Free syscalls_to_catch.
1049         * remote-utils.c (prepare_resume_reply): Report syscall_entry and
1050         syscall_return stops.
1051         * server.h (UNKNOWN_SYSCALL, ANY_SYSCALL): Define.
1052         * server.c (handle_general_set): Handle QCatchSyscalls.
1053         (handle_query): Report support for QCatchSyscalls.
1054         * target.h (struct target_ops): Add supports_catch_syscall.
1055         (target_supports_catch_syscall): New macro.
1056         * linux-low.h (struct linux_target_ops): Add get_syscall_trapinfo.
1057         (struct lwp_info): Add syscall_state.
1058         * linux-low.c (handle_extended_wait): Mark syscall_state as an entry.
1059         Maintain syscall_state and syscalls_to_catch across exec.
1060         (get_syscall_trapinfo): New function, proxy to the_low_target.
1061         (linux_low_ptrace_options): Enable PTRACE_O_TRACESYSGOOD.
1062         (linux_low_filter_event): Toggle syscall_state entry/return for
1063         syscall traps, and set it ignored for all others.
1064         (gdb_catching_syscalls_p): New function.
1065         (gdb_catch_this_syscall_p): New function.
1066         (linux_wait_1): Handle SYSCALL_SIGTRAP.
1067         (linux_resume_one_lwp_throw): Add PTRACE_SYSCALL possibility.
1068         (linux_supports_catch_syscall): New function.
1069         (linux_target_ops): Install it.
1070         * linux-x86-low.c (x86_get_syscall_trapinfo): New function.
1071         (the_low_target): Install it.
1072
1073 2016-01-12  Mike Frysinger  <vapier@gentoo.org>
1074
1075         * acinclude.m4: Include new ../warning.m4 file.
1076         * configure: Regenerated.
1077         * configure.ac: Replace all warning logic with AM_GDB_WARNINGS.
1078
1079 2016-01-12  Mike Frysinger  <vapier@gentoo.org>
1080
1081         * ax.c (is_goto_target): Mark static.
1082         * linux-low.c (register_addr): Likewise.
1083         (linux_fetch_registers, linux_store_registers): Likewise.
1084         * mem-break.c (any_persistent_commands): Fix old prototype.
1085         (add_commands_to_breakpoint): Mark static.
1086         * regcache.c (find_register_by_name): Delete unused func.
1087         * remote-utils.c (hex_or_minus_one): Mark static.
1088         * server.c (monitor_show_help): Mark static.
1089         (handle_query, handle_v_cont, handle_v_attach, handle_v_kill,
1090         handle_v_requests): Likewise.
1091
1092 2016-01-12  Pedro Alves  <palves@redhat.com>
1093
1094         Remove use of the registered trademark symbol throughout.
1095
1096 2016-01-08  Yao Qi  <yao.qi@linaro.org>
1097
1098         * remote-utils.c (getpkt): If c is '\003', call target hook
1099         request_interrupt.
1100
1101 2016-01-06  Yao Qi  <yao.qi@linaro.org>
1102
1103         * linux-aarch32-low.h (arm_abi_breakpoint): Move to
1104         linux-aarch32-low.c.
1105         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
1106         (arm_breakpoint_len, thumb_breakpoint_len): Likewise.
1107         (thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
1108         (thumb2_breakpoint): Declare.
1109         * linux-aarch32-low.c (arm_abi_breakpoint): Moved from
1110         linux-aarch32-low.h.
1111         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
1112         (arm_breakpoint_len, thumb_breakpoint_len): Likewise.
1113         (thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
1114
1115 2016-01-01  Joel Brobecker  <brobecker@adacore.com>
1116
1117         * gdbreplay.c (gdbreplay_version): Change copyright year in
1118         version message.
1119         * server.c (gdbserver_version): Likewise.
1120
1121 2015-12-28  Patrick Palka  <patrick@parcs.ath.cx>
1122
1123         * server.c (crc32_table): Delete.
1124         (crc32): Use libiberty's xcrc32 function.
1125
1126 2015-12-22  Joel Brobecker  <brobecker@adacore.com>
1127
1128         * lynx-low.c (lynx_delete_thread_callback): New function.
1129         (lynx_mourn): Properly delete our process and all of its
1130         threads.  Remove call to clear_inferiors.
1131
1132 2015-12-22  Joel Brobecker  <brobecker@adacore.com>
1133
1134         * target.c (thread_search_callback): Add check that
1135         the thread_stopped target callback is not NULL before
1136         calling it.
1137
1138 2015-12-21  Yao Qi  <yao.qi@linaro.org>
1139
1140         * linux-aarch32-low.h [__aarch64__]: Use arm_abi_breakpoint
1141         arm breakpoint.
1142
1143 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1144
1145         * server.c (handle_query): Call target_supports_software_single_step.
1146
1147 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1148
1149         * linux-low.c (single_step): New function.
1150         (linux_resume_one_lwp_throw): Call single_step.
1151         (start_step_over): Likewise.
1152
1153 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1154
1155         * Makefile.in (SFILES): Append arch/arm-linux.c,
1156         arch/arm-get-next-pcs.c.
1157         (arm-linux.o): New rule.
1158         (arm-get-next-pcs.o): New rule.
1159         * configure.srv (arm*-*-linux*): Add arm-get-next-pcs.o,
1160         arm-linux.o.
1161         * linux-aarch32-low.c (arm_abi_breakpoint): Remove macro.  Moved
1162         to linux-aarch32-low.c.
1163         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
1164         (arm_breakpoint_len, thumb_breakpoint): Likewise.
1165         (thumb_breakpoint_len, thumb2_breakpoint): Likewise.
1166         (thumb2_breakpoint_len): Likewise.
1167         (arm_is_thumb_mode): Make non-static.
1168         * linux-aarch32-low.h (arm_abi_breakpoint): New macro.  Moved
1169         from linux-aarch32-low.c.
1170         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
1171         (arm_breakpoint_len, thumb_breakpoint): Likewise.
1172         (thumb_breakpoint_len, thumb2_breakpoint): Likewise.
1173         (thumb2_breakpoint_len): Likewise.
1174         (arm_is_thumb_mode): New declaration.
1175         * linux-arm-low.c: Include arch/arm-linux.h
1176         aarch/arm-get-next-pcs.h, sys/syscall.h.
1177         (get_next_pcs_ops): New struct.
1178         (get_next_pcs_addr_bits_remove): New function.
1179         (get_next_pcs_is_thumb): New function.
1180         (get_next_pcs_read_memory_unsigned_integer): Likewise.
1181         (arm_sigreturn_next_pc): Likewise.
1182         (get_next_pcs_syscall_next_pc): Likewise.
1183         (arm_gdbserver_get_next_pcs): Likewise.
1184         (struct linux_target_ops) <arm_gdbserver_get_next_pcs>:
1185         Initialize.
1186         * linux-low.h: Move CORE_ADDR vector definition to gdb_vecs.h.
1187         * server.h: Include gdb_vecs.h.
1188
1189 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1190
1191         * Makefile.in (SFILES): Append common/common-regcache.c.
1192         (OBS): Append common-regcache.o.
1193         (common-regcache.o): New rule.
1194         * regcache.c (init_register_cache): Initialize cache to
1195         REG_UNAVAILABLE.
1196         (regcache_raw_read_unsigned): New function.
1197         * regcache.h (REG_UNAVAILABLE, REG_VALID): Replaced by shared
1198         register_status enum.
1199
1200 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1201
1202         * linux-aarch64-low.c (the_low_targets): Rename
1203         breakpoint_reinsert_addr to get_next_pcs.
1204         * linux-arm-low.c (the_low_targets): Likewise.
1205         * linux-bfin-low.c (the_low_targets): Likewise.
1206         * linux-cris-low.c (the_low_targets): Likewise.
1207         * linux-crisv32-low.c (the_low_targets): Likewise.
1208         * linux-low.c (can_software_single_step): Likewise.
1209         (install_software_single_step_breakpoints): New function.
1210         (start_step_over): Use install_software_single_step_breakpoints.
1211         * linux-low.h: New CORE_ADDR vector.
1212         (struct linux_target_ops) Rename breakpoint_reinsert_addr to
1213         get_next_pcs.
1214         * linux-mips-low.c (the_low_targets): Likewise.
1215         * linux-nios2-low.c (the_low_targets): Likewise.
1216         * linux-sparc-low.c (the_low_targets): Likewise.
1217
1218 2015-12-17  Pedro Alves  <palves@redhat.com>
1219
1220         * linux-low.c (linux_kill_one_lwp): Remove references to
1221         LinuxThreads.
1222         (kill_lwp): Remove HAVE_TKILL_SYSCALL check.  No longer fall back
1223         to 'kill'.
1224         (linux_init_signals): Delete.
1225         (initialize_low): Adjust.
1226         * thread-db.c (thread_db_init): Remove LinuxThreads reference.
1227
1228 2015-12-16  Pedro Alves  <palves@redhat.com>
1229
1230         * configure.ac (compiler warning flags): When testing a
1231         -Wno-foo option, check whether -Wfoo works instead.
1232         * configure: Regenerate.
1233
1234 2015-12-11  Don Breazeal  <donb@codesourcery.com>
1235
1236         * server.c (process_serial_event): Don't exit from gdbserver
1237         in remote mode if there are still active inferiors.
1238
1239 2015-12-11  Yao Qi  <yao.qi@linaro.org>
1240
1241         * linux-aarch64-low.c (aarch64_breakpoint_at): Call
1242         arm_breakpoint_at if the process is 32-bit.
1243
1244 2015-12-11  Yao Qi  <yao.qi@linaro.org>
1245
1246         * linux-aarch32-low.c [__aarch64__]: Use arm_abi_breakpoint
1247         arm breakpoint.
1248
1249 2015-12-07  Yao Qi  <yao.qi@linaro.org>
1250
1251         * configure.srv: Append arm.o to srv_tgtobj for
1252         aarch64*-*-linux* target.
1253         * linux-aarch32-low.c (arm_abi_breakpoint): New macro.  Moved
1254         from linux-arm-low.c.
1255         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
1256         (arm_breakpoint_len, thumb_breakpoint): Likewise.
1257         (thumb_breakpoint_len, thumb2_breakpoint): Likewise.
1258         (thumb2_breakpoint_len): Likewise.
1259         (arm_is_thumb_mode, arm_breakpoint_at): Likewise.
1260         (arm_breakpoint_kinds): Likewise.
1261         (arm_breakpoint_kind_from_pc): Likewise.
1262         (arm_sw_breakpoint_from_kind): Likewise.
1263         (arm_breakpoint_kind_from_current_state): Likewise.
1264         * linux-aarch32-low.h (arm_breakpoint_kind_from_pc): Declare.
1265         (arm_sw_breakpoint_from_kind): Declare.
1266         (arm_breakpoint_kind_from_current_state): Declare.
1267         (arm_breakpoint_at): Declare.
1268         * linux-aarch64-low.c (aarch64_sw_breakpoint_from_kind): Call
1269         arm_sw_breakpoint_from_kind if process is 32-bit.
1270         (aarch64_breakpoint_kind_from_pc): New function.
1271         (aarch64_breakpoint_kind_from_current_state): New function.
1272         (the_low_target): Initialize fields breakpoint_kind_from_pc
1273         and breakpoint_kind_from_current_state.
1274         * linux-arm-low.c (arm_breakpoint_kinds): Move to
1275         linux-aarch32-low.c.
1276         (arm_abi_breakpoint, arm_eabi_breakpoint): Likewise.
1277         (arm_breakpoint, arm_breakpoint_len): Likewise.
1278         (thumb_breakpoint, thumb_breakpoint_len): Likewise.
1279         (thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
1280         (arm_is_thumb_mode): Likewise.
1281         (arm_breakpoint_at): Likewise.
1282         (arm_breakpoint_kind_from_pc): Likewise.
1283         (arm_sw_breakpoint_from_kind): Likewise.
1284         (arm_breakpoint_kind_from_current_state): Likewise.
1285
1286         Revert:
1287         2015-08-04  Yao Qi  <yao.qi@linaro.org>
1288
1289         * linux-aarch64-low.c (aarch64_supports_z_point_type): Return
1290         0 for Z_PACKET_SW_BP if it may be used in multi-arch debugging.
1291         * server.c (extended_protocol): Remove "static".
1292         * server.h (extended_protocol): Declare it.
1293
1294 2015-12-04  Josh Stone  <jistone@redhat.com>
1295
1296         * target.h (struct target_ops) <arch_setup>: Rename to ...
1297         (struct target_ops) <post_create_inferior>: ... this.
1298         (target_arch_setup): Rename to ...
1299         (target_post_create_inferior): ... this, calling post_create_inferior.
1300         * server.c (start_inferior): Update target_arch_setup calls to
1301         target_post_create_inferior.
1302         * linux-low.c (linux_low_ptrace_options): Forward declare.
1303         (linux_arch_setup): Update its comment for general use.
1304         (linux_post_create_inferior): New, run arch_setup and setup ptrace.
1305         (struct linux_target_ops): Use linux_post_create_inferior.
1306         * lynx-low.c (struct lynx_target_ops): Update arch_setup stub comment
1307         to post_create_inferior.
1308         * nto-low.c (struct nto_target_ops): Likewise.
1309         * spu-low.c (struct spu_target_ops): Likewise.
1310         * win32-low.c (struct win32_target_ops): Likewise.
1311
1312 2015-12-03  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1313
1314         * linux-arm-low.c: Remove duplicate arch/arm.h include.
1315
1316 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1317
1318         * linux-arm-low.c (arm_reinsert_addr): Remove function.
1319         (struct linux_target_ops <breakpoint_reinsert_addr>: Set to NULL.
1320         * linux-cris-low.c (cris_reinsert_addr> Remove function.
1321         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
1322         * linux-crisv32-low.c (cris_reinsert_addr): Remove function.
1323         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
1324         * linux-mips-low.c (mips_reinsert_addr): Remove function.
1325         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
1326         * linux-nios2-low.c (nios2_reinsert_addr): Remove function.
1327         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
1328         * linux-sparc-low.c (sparc_reinsert_addr): Remove function.
1329         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
1330
1331 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1332
1333         * linux-low.c (linux_look_up_symbols): Don't call
1334         linux_supports_traceclone.
1335         * linux-low.h (thread_db_init): Remove use_events argument.
1336         * thread-db.c (thread_db_use_event): Remove global variable.
1337         (struct thread_db) <td_thr_event_enable_p>: Remove field.
1338         (struct thread_db) <td_create_bp>: Remove field.
1339         (thread_db_create_event): Remove function.
1340         (thread_db_enable_reporting): Likewise.
1341         (find_one_thread): Don't check for thread_db_use_events.
1342         (attach_thread): Likewise.
1343         (thread_db_load_search): Remove td_thr_event_enable_p initialization.
1344         (try_thread_db_load_1): Don't check for thread_db_use_events.
1345         (thread_db_init): Remove use_events argument and thread events
1346         handling.
1347         (remove_thread_event_breakpoints): Remove function.
1348         (thread_db_detach): Remove call to remove_thred_event_breakpoints.
1349
1350 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1351
1352         * linux-aarch64-low.c (aarch64_supports_hardware_single_step):
1353         New function.
1354         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
1355         * linux-arm-low.c (arm_supports_hardware_single_step): New function.
1356         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
1357         * linux-bfin-low.c (bfin_supports_hardware_single_step): New function.
1358         (struct linux_target_ops) <bfin_supports_hardware_single_step>:
1359         Initialize.
1360         * linux-crisv32-low.c (cris_supports_hardware_single_step):
1361         New function.
1362         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
1363         * linux-low.c (can_hardware_single_step): Use
1364         supports_hardware_single_step.
1365         (can_software_single_step): New function.
1366         (start_step_over): Call can_software_single_step.
1367         (linux_supports_hardware_single_step): New function.
1368         (struct target_ops) <supports_software_single_step>: Initialize.
1369         * linux-low.h (struct linux_target_ops)
1370         <supports_hardware_single_step>: Initialize.
1371         * linux-m32r-low.c (m32r_supports_hardware_single_step): New function.
1372         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
1373         * linux-ppc-low.c (ppc_supports_hardware_single_step): New function.
1374         (struct linux_target_ops) <supports_hardware_single_step> Initialize.
1375         * linux-s390-low.c (s390_supports_hardware_single_step): New function.
1376         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
1377         * linux-sh-low.c (sh_supports_hardware_single_step): New function.
1378         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
1379         * linux-tic6x-low.c (tic6x_supports_hardware_single_step): New function.
1380         (struct linux_target_ops) <tic6x_supports_hardware_single_step>:
1381         Initialize.
1382         * linux-tile-low.c (tile_supports_hardware_single_step): New function.
1383         (struct linux_target_ops) <tile_supports_hardware_single_step>:
1384         Initialize.
1385         * linux-x86-low.c (x86_supports_hardware_single_step) New function.
1386         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
1387         * linux-xtensa-low.c (xtensa_supports_hardware_single_step):
1388         New function.
1389         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
1390         * target.h (struct target_ops): <supports_software_single_step>:
1391         New field.
1392         (target_supports_software_single_step): New macro.
1393
1394 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1395
1396         * linux-low.c (linux_wait_1): Fix pc advance condition.
1397         * mem-break.c (reinsert_breakpoint_inserted_here): New function.
1398         * mem-break.h (reinsert_breakpoint_inserted_here): New declaration.
1399
1400 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1401
1402         * linux-arm-low.c (arm_is_thumb_mode): New function.
1403         (arm_breakpoint_at): Use arm_is_thumb_mode.
1404         (arm_breakpoint_kind_from_current_state): New function.
1405         (struct linux_target_ops) <breakpoint_kind_from_current_state>:
1406         Initialize.
1407         * linux-low.c (linux_wait_1): Call breakpoint_kind_from_current_state.
1408         (linux_breakpoint_kind_from_current_state): New function.
1409         (struct target_ops <breakpoint_kind_from_current_state>: Initialize.
1410         * linux-low.h (struct linux_target_ops)
1411         <breakpoint_kind_from_current_state>: New field.
1412         * target.h (struct target_ops): Likewise.
1413         (target_breakpoint_kind_from_current_state): New macro.
1414
1415 2015-11-30  Pedro Alves  <palves@redhat.com>
1416
1417         * linux-low.c (linux_resume): Wake up the event loop before
1418         returning.
1419
1420 2015-11-30  Pedro Alves  <palves@redhat.com>
1421
1422         * mem-break.c (check_gdb_bp_preconditions): Remove current_thread
1423         check.
1424         (set_gdb_breakpoint): If prepare_to_access_memory fails, set *ERR
1425         to -1.
1426         * target.c (struct thread_search): New structure.
1427         (thread_search_callback): New function.
1428         (prev_general_thread): New global.
1429         (prepare_to_access_memory, done_accessing_memory): New functions.
1430         * target.h (prepare_to_access_memory, done_accessing_memory):
1431         Replace macros with function declarations.
1432
1433 2015-11-30  Pedro Alves  <palves@redhat.com>
1434
1435         PR 14618
1436         * linux-low.c (linux_wait_1): If the last resumed thread is gone,
1437         report TARGET_WAITKIND_NO_RESUMED.
1438         * remote-utils.c (prepare_resume_reply): Handle
1439         TARGET_WAITKIND_NO_RESUMED.
1440         * server.c (report_no_resumed): New global.
1441         (handle_query) <qSupported>: Handle "no-resumed+".  Report
1442         "no-resumed+" support.
1443         (resume): When the target reports TARGET_WAITKIND_NO_RESUMED, only
1444         return error if the client doesn't support no-resumed events.
1445         (push_stop_notification): New function.
1446         (handle_target_event): Use it.  Report TARGET_WAITKIND_NO_RESUMED
1447         events if the client supports them.
1448
1449 2015-11-30  Pedro Alves  <palves@redhat.com>
1450
1451         * linux-low.c (thread_still_has_status_pending_p): Don't check
1452         vCont;t here.
1453         (lwp_resumed): New function.
1454         (status_pending_p_callback): Return early if the LWP is not
1455         supposed to be resumed.
1456
1457 2015-11-30  Pedro Alves  <palves@redhat.com>
1458
1459         * linux-low.c (handle_extended_wait): Assert that the LWP's
1460         waitstatus is TARGET_WAITKIND_IGNORE.  If GDB wants to hear about
1461         thread create events, leave the new child's status pending.
1462         (linux_low_filter_event): If GDB wants to hear about thread exit
1463         events, leave the LWP marked dead and don't delete it.
1464         (linux_wait_for_event_filtered): Don't check for thread exit.
1465         (filter_exit_event): New function.
1466         (linux_wait_1): Use it, when returning an exit event.
1467         (linux_resume_one_lwp_throw): Assert that the LWP's
1468         waitstatus is TARGET_WAITKIND_IGNORE.
1469         * remote-utils.c (prepare_resume_reply): Handle
1470         TARGET_WAITKIND_THREAD_CREATED and TARGET_WAITKIND_THREAD_EXITED.
1471         * server.c (report_thread_events): New global.
1472         (handle_general_set): Handle QThreadEvents.
1473         (handle_query) <qSupported>: Handle and report QThreadEvents+;
1474         (handle_target_event): Handle TARGET_WAITKIND_THREAD_CREATED and
1475         TARGET_WAITKIND_THREAD_EXITED.
1476         * server.h (report_thread_events): Declare.
1477
1478 2015-11-30  Pedro Alves  <palves@redhat.com>
1479
1480         * linux-low.c (resume_stopped_resumed_lwps): Don't check whether
1481         the thread's last_resume_kind was resume_stop.
1482
1483 2015-11-30  Pedro Alves  <palves@redhat.com>
1484
1485         * linux-low.c (linux_attach): In non-stop mode, wait for one stop
1486         before returning.
1487
1488 2015-11-30  Pedro Alves  <palves@redhat.com>
1489
1490         * server.c (handle_v_requests): Handle vCtrlC.
1491
1492 2015-11-30  Pedro Alves  <palves@redhat.com>
1493
1494         * gdbthread.h (find_any_thread_of_pid): Declare.
1495         * inferiors.c (thread_of_pid, find_any_thread_of_pid): New
1496         functions.
1497         * server.c (handle_query): If current_thread is NULL, look for
1498         another thread of the selected process.
1499
1500 2015-11-26  Daniel Colascione  <dancol@dancol.org>
1501             Simon Marchi  <simon.marchi@ericsson.com>
1502
1503         * linux-low.c (linux_target_ops): Use linux_proc_tid_get_name.
1504         * server.c (handle_qxfer_threads_worker): Refactor to include thread
1505         name in reply.
1506         * target.h (struct target_ops) <thread_name>: New field.
1507         (target_thread_name): New macro.
1508
1509 2015-11-23  Joel Brobecker  <brobecker@adacore.com>
1510
1511         * regcache.h (regcache_invalidate_pid): Add declaration.
1512         * regcache.c (regcache_invalidate_pid): New function, extracted
1513         from regcache_invalidate.
1514         (regcache_invalidate): Reimplement using regcache_invalidate_pid.
1515         Add trivial documentation comment.
1516         * lynx-low.c: Use regcache_invalidate_pid instead of
1517         regcache_invalidate.
1518
1519 2015-11-23  Joel Brobecker  <brobecker@adacore.com>
1520
1521         * configure.ac: Do not call AC_CHECK_TYPES for Elf32_auxv_t
1522         and Elf64_auxv_t if the target is Android.
1523
1524 2015-11-22  Doug Evans  <xdje42@gmail.com>
1525
1526         * target.h: #include <sys/types.h>.
1527
1528 2015-11-19  Pedro Alves  <palves@redhat.com>
1529
1530         * linux-low.c (linux_process_qsupported): Change prototype.
1531         Adjust.
1532         * linux-low.h (struct linux_target_ops) <process_qsupported>:
1533         Change prototype.
1534         * linux-x86-low.c (x86_linux_process_qsupported): Change prototype
1535         and adjust to loop over all features.
1536         * server.c (handle_query) <qSupported>: Adjust to call
1537         target_process_qsupported once, passing it a vector of unprocessed
1538         features.
1539         * target.h (struct target_ops) <process_qsupported>: Change
1540         prototype.
1541         (target_process_qsupported): Adjust.
1542
1543 2015-11-19  Pedro Alves  <palves@redhat.com>
1544
1545         * configure.ac (ERROR_ON_WARNING): Don't check whether in C++
1546         mode.
1547         * configure: Regenerate.
1548
1549 2015-11-19  Pedro Alves  <palves@redhat.com>
1550
1551         * configure: Regenerate.
1552
1553 2015-11-19  Yao Qi  <yao.qi@linaro.org>
1554
1555         * linux-aarch64-low.c (emit_data_processing_reg): Change opcode
1556         type to uint32_t.
1557
1558 2015-11-19  Yao Qi  <yao.qi@linaro.org>
1559
1560         * linux-aarch64-low.c (enum aarch64_operand_type): New.
1561         (struct aarch64_operand): Move enum out.
1562
1563 2015-11-19  Yao Qi  <yao.qi@linaro.org>
1564
1565         * linux-aarch64-low.c (aarch64_fill_fpregset): Cast buf to
1566         struct user_fpsimd_state *.
1567         (aarch64_store_fpregset): Likewise.
1568
1569 2015-11-19  Yao Qi  <yao.qi@linaro.org>
1570
1571         * linux-aarch64-low.c (aarch64_fill_gregset): Cast buf to
1572         struct user_pt_regs *.
1573         (aarch64_store_gregset): Likewise.
1574
1575 2015-11-18  Pedro Alves  <palves@redhat.com>
1576
1577         * Makefile.in (all_object_files): Add $IPA_OBJS.
1578
1579 2015-11-17  Pedro Alves  <palves@redhat.com>
1580
1581         * win32-low.c (win32_resume): Use gdb_signal_from_host,
1582         GDB_SIGNAL_0 and gdb_signal_to_string.
1583
1584 2015-11-17  Pedro Alves  <palves@redhat.com>
1585
1586         * win32-low.c (handle_output_debug_string): Remove parameter.
1587         (win32_kill): Remove our_status local and adjust call to
1588         handle_output_debug_string.
1589         (get_child_debug_event): Adjust call to
1590         handle_output_debug_string.
1591
1592 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
1593
1594         * linux-mips-low.c (mips_fill_gregset): Add cast.
1595         (mips_store_gregset): Likewise.
1596         (mips_fill_fpregset): Likewise.
1597         (mips_store_fpregset): Likewise.
1598
1599 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
1600
1601         * linux-mips-low.c (mips_add_watchpoint): Rename private to
1602         priv.
1603
1604 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
1605
1606         * linux-mips-low.c (mips_linux_new_thread): Change type of
1607         watch_type to enum target_hw_bp_type.
1608
1609 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
1610
1611                 * linux-arm-low.c (raw_bkpt_type_to_arm_hwbp_type):
1612                 Change return type to arm_hwbp_type.
1613
1614 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
1615
1616         * linux-aarch32-low.c (arm_fill_gregset): Add cast.
1617         (arm_store_gregset): Likewise.
1618         * linux-arm-low.c (arm_get_hwcap): Likewise.
1619         (arm_read_description): Likewise.
1620
1621 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
1622
1623         * linux-aarch32-low.c (aarch32_regsets): Use NULL_REGSET.
1624
1625 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
1626
1627         * linux-ppc-low.c (ppc_get_hwcap): Add cast.
1628         (ppc_fill_vsxregset): Likewise.
1629         (ppc_store_vsxregset): Likewise.
1630         (ppc_fill_vrregset): Likewise.
1631         (ppc_store_vrregset): Likewise.
1632         (ppc_fill_evrregset): Likewise.
1633         (ppc_store_evrregset): Likewise.
1634
1635 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
1636
1637         * linux-ppc-low.c (ppc_usrregs_info): Remove
1638         forward-declaration.
1639         (ppc_arch_setup): Move lower in file.
1640
1641 2015-10-30  Simon Marchi  <simon.marchi@ericsson.com>
1642
1643         * proc-service.c (ps_pdread): Change CORE_ADDR cast to uintptr_t.
1644         (ps_pdwrite): Likewise.
1645
1646 2015-10-29 Henrik Wallin <henrik.wallin@windriver.com>
1647
1648         * linux-arm-low.c (arm_new_thread): Move pointer dereference
1649         to after assert checks.
1650
1651 2015-10-29  Simon Marchi  <simon.marchi@ericsson.com>
1652
1653         * proc-service.c (ps_pdread): Add/adjust casts.
1654         (ps_pdwrite): Add/adjust casts.
1655
1656 2015-10-29  Simon Marchi  <simon.marchi@polymtl.ca>
1657
1658         * server.c (handle_search_memory_1): Cast return value of
1659         memmem.
1660
1661 2015-10-29  Simon Marchi  <simon.marchi@polymtl.ca>
1662
1663         * server.c (write_qxfer_response): Change type of data to
1664         gdb_byte *.
1665
1666 2015-10-29  Pedro Alves  <palves@redhat.com>
1667
1668         * mem-break.c (Z_packet_to_bkpt_type): Add cast.
1669
1670 2015-10-29  Pedro Alves  <palves@redhat.com>
1671
1672         * tracepoint.c (clear_installed_tracepoints): Add casts.
1673
1674 2015-10-29  Pedro Alves  <palves@redhat.com>
1675
1676         * server.c (handle_v_cont, process_serial_event): Add enum
1677         gdb_signal casts to signal parsing code.
1678
1679 2015-10-29  Pedro Alves  <palves@redhat.com>
1680
1681         * linux-low.h (NULL_REGSET): Define.
1682         * linux-aarch64-low.c (aarch64_regsets): Use NULL_REGSET.
1683         * linux-arm-low.c (arm_regsets): Likewise.
1684         * linux-crisv32-low.c (cris_regsets): Likewise.
1685         * linux-m68k-low.c (m68k_regsets): Likewise.
1686         * linux-mips-low.c (mips_regsets): Likewise.
1687         * linux-nios2-low.c (nios2_regsets): Likewise.
1688         * linux-ppc-low.c (ppc_regsets): Likewise.
1689         * linux-s390-low.c (s390_regsets): Likewise.
1690         * linux-sh-low.c (sh_regsets): Likewise.
1691         * linux-sparc-low.c (sparc_regsets): Likewise.
1692         * linux-tic6x-low.c (tic6x_regsets): Likewise.
1693         * linux-tile-low.c (tile_regsets): Likewise.
1694         * linux-x86-low.c (x86_regsets): Likewise.
1695         * linux-xtensa-low.c (xtensa_regsets): Likewise.
1696
1697 2015-10-29  Pedro Alves  <palves@redhat.com>
1698
1699         * linux-low.h (NULL_REGSET): Define.
1700         * linux-aarch64-low.c (aarch64_regsets): Use NULL_REGSET.
1701         * linux-arm-low.c (arm_regsets): Likewise.
1702         * linux-crisv32-low.c (cris_regsets): Likewise.
1703         * linux-m68k-low.c (m68k_regsets): Likewise.
1704         * linux-mips-low.c (mips_regsets): Likewise.
1705         * linux-nios2-low.c (nios2_regsets): Likewise.
1706         * linux-ppc-low.c (ppc_regsets): Likewise.
1707         * linux-s390-low.c (s390_regsets): Likewise.
1708         * linux-sh-low.c (sh_regsets): Likewise.
1709         * linux-sparc-low.c (sparc_regsets): Likewise.
1710         * linux-tic6x-low.c (tic6x_regsets): Likewise.
1711         * linux-tile-low.c (tile_regsets): Likewise.
1712         * linux-x86-low.c (x86_regsets): Likewise.
1713         * linux-xtensa-low.c (xtensa_regsets): Likewise.
1714
1715 2015-10-26  Doug Evans  <dje@google.com>
1716
1717         * linux-low.c (__SIGRTMIN): Move to nat/linux-nat.h.
1718
1719 2015-10-26  Doug Evans  <dje@google.com>
1720
1721         * linux-low.c (W_STOPCODE): Moved to common/gdb_wait.h.
1722
1723 2015-10-26  Doug Evans  <dje@google.com>
1724
1725         * thread-db.c (find_one_thread): Cast ti.ti_tid to unsigned long
1726         for debug_printf.
1727         (attach_thread, find_new_threads_callback): Ditto.
1728
1729 2015-10-23  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1730
1731         * mem-break.h (set_breakpoint_data): Remove.
1732
1733 2015-10-23  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1734
1735         * nto-low.c (nto_sw_breakpoint_from_kind): New function.
1736         (struct target_ops) <sw_breakpoint_from_kind>: Initialize.
1737         (initialize_low): Remove set_breakpoint_data call.
1738         * spu-low.c (spu_sw_breakpoint_from_kind): New function.
1739         (struct target_ops) <sw_breakpoint_from_kind>: Iniitalize.
1740         (initialize_low): Remove set_breakpoint_data call.
1741         * win32-low.c (win32_sw_breakpoint_from_kind): New function.
1742         (struct target_ops) <sw_breakpoint_from_kind>: Initialize.
1743         (initialize_low): Remove set_breakpoint_data call.
1744
1745 2015-10-23  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1746
1747         * linux-low.c (default_breakpoint_kind_from_pc): Move to target.c.
1748         * mem-break.c (set_breakpoint_at): Use target_breakpoint_kind_from_pc.
1749         * target.c (default_breakpoint_kind_from_pc): Moved from linux-low.c
1750         * target.h (target_breakpoint_kind_from_pc): New macro.
1751
1752 2015-10-22  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1753
1754         * linux-low.c (default_breakpoint_kind_from_pc): New function.
1755         (linux_breakpoint_kind_from_pc): Use default_breakpoint_kind_from_pc for
1756         the default breakpoint kind.
1757
1758 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1759
1760         * linux-arm-low.c (arm_supports_z_point_type): Add software
1761         breakpoint support.
1762
1763 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1764
1765         * linux-arm-low.c: Refactor breakpoint definitions.
1766         (arm_breakpoint_at): Adjust for arm_abi_breakpoint.
1767         (arm_sw_breakpoint_from_kind): Adjust for arm_breakpoint.
1768
1769 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1770
1771         * Makefile.in: Add arm.c/o.
1772         * configure.srv: Likewise.
1773         * linux-arm-low.c (arm_breakpoint_kinds): New enum.
1774         (arm_breakpoint_kind_from_pc): New function.
1775         (arm_sw_breakpoint_from_kind): Return proper kind.
1776         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize.
1777
1778 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1779
1780         * linux-low.c (initialize_low): Ajdust for breakpoint global variables
1781         removal.
1782         * mem-break.c : Remove breakpoint_data/breakpoint_len global variables.
1783         (struct raw_breakpoint) <size>: Remove.
1784         (struct raw_breakpoint) <kind>: Add.
1785         (bp_size): New function.
1786         (bp_opcode): Likewise.
1787         (find_raw_breakpoint_at): Adjust for kind.
1788         (insert_memory_breakpoint): Adjust for kind call bp_size,bp_opcode.
1789         (remove_memory_breakpoint): Adjust for kind call bp_size.
1790         (set_raw_breakpoint_at): Adjust for kind.
1791         (set_breakpoint): Likewise.
1792         (set_breakpoint_at): Call breakpoint_kind_from_pc.
1793         (delete_raw_breakpoint): Adjust for kind.
1794         (delete_breakpoint): Likewise.
1795         (find_gdb_breakpoint): Likewise.
1796         (set_gdb_breakpoint_1): Likewise.
1797         (set_gdb_breakpoint): Likewise.
1798         (delete_gdb_breakpoint_1): Likewise.
1799         (delete_gdb_breakpoint): Likewise.
1800         (uninsert_raw_breakpoint): Likewise.
1801         (reinsert_raw_breakpoint): Likewise.
1802         (set_breakpoint_data): Remove.
1803         (validate_inserted_breakpoint): Adjust for kind call bp_size,bp_opcode.
1804         (check_mem_read): Adjust for kind call bp_size.
1805         (check_mem_write): Adjust for kind call bp_size,bp_opcode.
1806         (clone_one_breakpoint): Adjust for kind.
1807         * mem-break.h (set_gdb_breakpoint): Likewise.
1808         (delete_gdb_breakpoint): Likewise.
1809         * server.c (process_serial_event): Likewise.
1810
1811 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1812
1813         * linux-aarch64-low.c (aarch64_sw_breakpoint_from_kind): New function.
1814         (struct linux_target_ops) <breakpoint>: Remove.
1815         (struct linux_target_ops) <breakpoint_len>: Remove.
1816         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1817         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1818         * linux-arm-low.c (arm_breakpoint_kind_from_pc): New function.
1819         (arm_sw_breakpoint_from_kind): New function.
1820         * linux-bfin-low.c (bfin_sw_breakpoint_from_kind): New function.
1821         (struct linux_target_ops) <breakpoint>: Remove.
1822         (struct linux_target_ops) <breakpoint_len>: Remove.
1823         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1824         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1825         * linux-cris-low.c (cris_sw_breakpoint_from_kind): New function.
1826         (struct linux_target_ops) <breakpoint>: Remove.
1827         (struct linux_target_ops) <breakpoint_len>: Remove.
1828         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1829         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1830         * linux-crisv32-low.c (cris_sw_breakpoint_from_kind): New function.
1831         (struct linux_target_ops) <breakpoint>: Remove.
1832         (struct linux_target_ops) <breakpoint_len>: Remove.
1833         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1834         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1835         * linux-low.c (linux_wait_1): Call breakpoint_kind_from_pc
1836         and sw_breakpoint_from_kind to increment the pc.
1837         (linux_breakpoint_kind_from_pc): New function.
1838         (linux_sw_breakpoint_from_kind): New function.
1839         (struct target_ops) <sw_breakpoint_from_kind>: Initialize field.
1840         (initialize_low): Call breakpoint_kind_from_pc and
1841         sw_breakpoint_from_kind to replace breakpoint_data/len.
1842         * linux-low.h (struct linux_target_ops) <breakpoint_kind_from_pc>:
1843         New field.
1844         (struct linux_target_ops) <sw_breakpoint_from_kind>: Likewise.
1845         * linux-m32r-low.c (m32r_sw_breakpoint_from_kind): New function.
1846         (struct linux_target_ops) <breakpoint>: Remove.
1847         (struct linux_target_ops) <breakpoint_len>: Remove.
1848         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1849         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1850         * linux-m68k-low.c (m68k_sw_breakpoint_from_kind): New function.
1851         (struct linux_target_ops) <breakpoint>: Remove.
1852         (struct linux_target_ops) <breakpoint_len>: Remove.
1853         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1854         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1855         * linux-mips-low.c (mips_sw_breakpoint_from_kind): New function.
1856         (struct linux_target_ops) <breakpoint>: Remove.
1857         (struct linux_target_ops) <breakpoint_len>: Remove.
1858         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1859         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1860         * linux-nios2-low.c (nios2_sw_breakpoint_from_kind): New function.
1861         (struct linux_target_ops) <breakpoint>: Remove.
1862         (struct linux_target_ops) <breakpoint_len>: Remove.
1863         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1864         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1865         * linux-ppc-low.c (ppc_sw_breakpoint_from_kind): New function.
1866         (struct linux_target_ops) <breakpoint>: Remove.
1867         (struct linux_target_ops) <breakpoint_len>: Remove.
1868         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1869         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1870         * linux-s390-low.c (s390_sw_breakpoint_from_kind): New function.
1871         (struct linux_target_ops) <breakpoint>: Remove.
1872         (struct linux_target_ops) <breakpoint_len>: Remove.
1873         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1874         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1875         * linux-sh-low.c (sh_sw_breakpoint_from_kind): New function.
1876         (struct linux_target_ops) <breakpoint>: Remove.
1877         (struct linux_target_ops) <breakpoint_len>: Remove.
1878         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1879         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1880         * linux-sparc-low.c (sparc_sw_breakpoint_from_kind): New function.
1881         (struct linux_target_ops) <breakpoint>: Remove.
1882         (struct linux_target_ops) <breakpoint_len>: Remove.
1883         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1884         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1885         * linux-tic6x-low.c (tic6x_sw_breakpoint_from_kind): New function.
1886         (struct linux_target_ops) <breakpoint>: Remove.
1887         (struct linux_target_ops) <breakpoint_len>: Remove.
1888         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1889         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1890         * linux-tile-low.c (tile_sw_breakpoint_from_kind): New function.
1891         * linux-x86-low.c (x86_sw_breakpoint_from_kind): New function.
1892         (struct linux_target_ops) <breakpoint>: Remove.
1893         (struct linux_target_ops) <breakpoint_len>: Remove.
1894         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1895         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1896         * linux-xtensa-low.c (xtensa_sw_breakpoint_from_kind) New function.
1897         (struct linux_target_ops) <breakpoint>: Remove.
1898         (struct linux_target_ops) <breakpoint_len>: Remove.
1899         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
1900         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
1901
1902 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
1903
1904         * linux-cris-low.c (cris_get_pc): Remove void arg.
1905
1906 2015-10-16  Aleksandar Ristovski  <aristovski@qnx.com>
1907
1908         * gdbserver/nto-low.c (nto_insert_point, nto_remove_point): Fix
1909         variable name.
1910
1911 2015-10-16  Aleksandar Ristovski  <aristovski@qnx.com>
1912
1913         * inferiors.c (thread_pid_matches_callback): New function.
1914         (find_thread_process): New function.
1915         (remove_thread): Reset current_thread.
1916         (remove_process): Assert threads have been removed first.
1917
1918 2015-10-15  Yao Qi  <yao.qi@linaro.org>
1919
1920         * linux-aarch64-low.c (aarch64_insert_point): Set len to 2
1921         if it is 3.
1922         (aarch64_remove_point): Likewise.
1923         * regcache.c (regcache_register_size): New function.
1924
1925 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1926
1927         * linux-aarch64-low.c: Update all callers as emit_load_store
1928         is renamed to aarch64_emit_load_store.
1929
1930 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1931
1932         * linux-aarch64-low.c: Update all callers of function renaming
1933         from emit_insn to aarch64_emit_insn.
1934
1935 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1936
1937         * linux-aarch64-low.c (enum aarch64_opcodes): Move to
1938         arch/aarch64-insn.h.
1939         (struct aarch64_memory_operand): Likewise.
1940         (ENCODE): Likewise.
1941         (emit_insn): Move to arch/aarch64-insn.c.
1942         (emit_b, emit_bcond, emit_cb, emit_tb): Remove.
1943         (emit_load_store): Move to arch/aarch64-insn.c.
1944         (emit_ldr, emit_ldrb, emit_ldrsw, emit_nop): Remove.
1945         (can_encode_int32): Remove.
1946
1947 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1948
1949         * linux-aarch64-low.c (extract_signed_bitfield): Remove.
1950         (aarch64_decode_ldr_literal): Move to gdb/arch/aarch64-insn.c.
1951         (aarch64_relocate_instruction): Likewise.
1952         (struct aarch64_insn_data): Move to gdb/arch/aarch64-insn.h.
1953         (struct aarch64_insn_visitor): Likewise.
1954
1955 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1956
1957         * linux-aarch64-low.c (struct aarch64_insn_data): New.
1958         (struct aarch64_insn_visitor): New.
1959         (struct aarch64_insn_relocation_data): New.
1960         (aarch64_ftrace_insn_reloc_b): New function.
1961         (aarch64_ftrace_insn_reloc_b_cond): Likewise.
1962         (aarch64_ftrace_insn_reloc_cb): Likewise.
1963         (aarch64_ftrace_insn_reloc_tb): Likewise.
1964         (aarch64_ftrace_insn_reloc_adr): Likewise.
1965         (aarch64_ftrace_insn_reloc_ldr_literal): Likewise.
1966         (aarch64_ftrace_insn_reloc_others): Likewise.
1967         (visitor): New.
1968         (aarch64_relocate_instruction): Use visitor.
1969
1970 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1971
1972         * linux-aarch64-low.c (aarch64_relocate_instruction): Return
1973         int.  Add argument buf.
1974         (aarch64_install_fast_tracepoint_jump_pad): Pass buf to
1975         aarch64_relocate_instruction.
1976
1977 2015-10-12  Yao Qi  <yao.qi@linaro.org>
1978
1979         * linux-aarch64-low.c (aarch64_relocate_instruction): Add
1980         argument insn.  Remove local variable insn.  Don't call
1981         target_read_uint32.
1982         (aarch64_install_fast_tracepoint_jump_pad): Call
1983         target_read_uint32.
1984
1985 2015-09-30  Yao Qi  <yao.qi@linaro.org>
1986
1987         * linux-aarch64-low.c (emit_movk): Shorten a long line.
1988         (emit_load_store_pair): Likewise.
1989
1990 2015-09-25  Simon Marchi  <simon.marchi@ericsson.com>
1991
1992         * dll.c (match_dll): Add cast(s).
1993         (unloaded_dll): Likewise.
1994         * linux-low.c (second_thread_of_pid_p): Likewise.
1995         (delete_lwp_callback): Likewise.
1996         (count_events_callback): Likewise.
1997         (select_event_lwp_callback): Likewise.
1998         (linux_set_resume_request): Likewise.
1999         * server.c (accumulate_file_name_length): Likewise.
2000         (emit_dll_description): Likewise.
2001         (handle_qxfer_threads_worker): Likewise.
2002         (visit_actioned_threads): Likewise.
2003         * thread-db.c (any_thread_of): Likewise.
2004         * tracepoint.c (same_process_p): Likewise.
2005         (match_blocktype): Likewise.
2006         (build_traceframe_info_xml): Likewise.
2007
2008 2015-09-25  Simon Marchi  <simon.marchi@ericsson.com>
2009
2010         * ax.c (gdb_parse_agent_expr): Add cast to allocation result
2011         assignment.
2012         (gdb_unparse_agent_expr): Likewise.
2013         * hostio.c (require_data): Likewise.
2014         (handle_pread): Likewise.
2015         * linux-low.c (disable_regset): Likewise.
2016         (fetch_register): Likewise.
2017         (store_register): Likewise.
2018         (get_dynamic): Likewise.
2019         (linux_qxfer_libraries_svr4): Likewise.
2020         * mem-break.c (delete_fast_tracepoint_jump): Likewise.
2021         (set_fast_tracepoint_jump): Likewise.
2022         (uninsert_fast_tracepoint_jumps_at): Likewise.
2023         (reinsert_fast_tracepoint_jumps_at): Likewise.
2024         (validate_inserted_breakpoint): Likewise.
2025         (clone_agent_expr): Likewise.
2026         * regcache.c (init_register_cache): Likewise.
2027         * remote-utils.c (putpkt_binary_1): Likewise.
2028         (decode_M_packet): Likewise.
2029         (decode_X_packet): Likewise.
2030         (look_up_one_symbol): Likewise.
2031         (relocate_instruction): Likewise.
2032         (monitor_output): Likewise.
2033         * server.c (handle_search_memory): Likewise.
2034         (handle_qxfer_exec_file): Likewise.
2035         (handle_qxfer_libraries): Likewise.
2036         (handle_qxfer): Likewise.
2037         (handle_query): Likewise.
2038         (handle_v_cont): Likewise.
2039         (handle_v_run): Likewise.
2040         (captured_main): Likewise.
2041         * target.c (write_inferior_memory): Likewise.
2042         * thread-db.c (try_thread_db_load_from_dir): Likewise.
2043         * tracepoint.c (init_trace_buffer): Likewise.
2044         (add_tracepoint_action): Likewise.
2045         (add_traceframe): Likewise.
2046         (add_traceframe_block): Likewise.
2047         (cmd_qtdpsrc): Likewise.
2048         (cmd_qtdv): Likewise.
2049         (cmd_qtstatus): Likewise.
2050         (response_source): Likewise.
2051         (response_tsv): Likewise.
2052         (cmd_qtnotes): Likewise.
2053         (gdb_collect): Likewise.
2054         (initialize_tracepoint): Likewise.
2055
2056 2015-09-21  Pierre Langlois  <pierre.langlois@arm.com>
2057
2058         * linux-aarch64-low-.c: Include ax.h and tracepoint.h.
2059         (enum aarch64_opcodes) <RET>, <SUBS>, <AND>, <ORR>, <ORN>,
2060         <EOR>, <LSLV>, <LSRV>, <ASRV>, <SBFM>, <UBFM>, <CSINC>, <MUL>,
2061         <NOP>: New.
2062         (enum aarch64_condition_codes): New enum.
2063         (w0): New static global.
2064         (fp): Likewise.
2065         (lr): Likewise.
2066         (struct aarch64_memory_operand) <type>: New
2067         MEMORY_OPERAND_POSTINDEX type.
2068         (postindex_memory_operand): New helper function.
2069         (emit_ret): New function.
2070         (emit_load_store_pair): New function, factored out of emit_stp
2071         with support for MEMORY_OPERAND_POSTINDEX.
2072         (emit_stp): Rewrite using emit_load_store_pair.
2073         (emit_ldp): New function.
2074         (emit_load_store): Likewise.
2075         (emit_ldr): Mention post-index instruction in comment.
2076         (emit_ldrh): New function.
2077         (emit_ldrb): New function.
2078         (emit_ldrsw): Mention post-index instruction in comment.
2079         (emit_str): Likewise.
2080         (emit_subs): New function.
2081         (emit_cmp): Likewise.
2082         (emit_and): Likewise.
2083         (emit_orr): Likewise.
2084         (emit_orn): Likewise.
2085         (emit_eor): Likewise.
2086         (emit_mvn): Likewise.
2087         (emit_lslv): Likewise.
2088         (emit_lsrv): Likewise.
2089         (emit_asrv): Likewise.
2090         (emit_mul): Likewise.
2091         (emit_sbfm): Likewise.
2092         (emit_sbfx): Likewise.
2093         (emit_ubfm): Likewise.
2094         (emit_ubfx): Likewise.
2095         (emit_csinc): Likewise.
2096         (emit_cset): Likewise.
2097         (emit_nop): Likewise.
2098         (emit_ops_insns): New helper function.
2099         (emit_pop): Likewise.
2100         (emit_push): Likewise.
2101         (aarch64_emit_prologue): New function.
2102         (aarch64_emit_epilogue): Likewise.
2103         (aarch64_emit_add): Likewise.
2104         (aarch64_emit_sub): Likewise.
2105         (aarch64_emit_mul): Likewise.
2106         (aarch64_emit_lsh): Likewise.
2107         (aarch64_emit_rsh_signed): Likewise.
2108         (aarch64_emit_rsh_unsigned): Likewise.
2109         (aarch64_emit_ext): Likewise.
2110         (aarch64_emit_log_not): Likewise.
2111         (aarch64_emit_bit_and): Likewise.
2112         (aarch64_emit_bit_or): Likewise.
2113         (aarch64_emit_bit_xor): Likewise.
2114         (aarch64_emit_bit_not): Likewise.
2115         (aarch64_emit_equal): Likewise.
2116         (aarch64_emit_less_signed): Likewise.
2117         (aarch64_emit_less_unsigned): Likewise.
2118         (aarch64_emit_ref): Likewise.
2119         (aarch64_emit_if_goto): Likewise.
2120         (aarch64_emit_goto): Likewise.
2121         (aarch64_write_goto_address): Likewise.
2122         (aarch64_emit_const): Likewise.
2123         (aarch64_emit_call): Likewise.
2124         (aarch64_emit_reg): Likewise.
2125         (aarch64_emit_pop): Likewise.
2126         (aarch64_emit_stack_flush): Likewise.
2127         (aarch64_emit_zero_ext): Likewise.
2128         (aarch64_emit_swap): Likewise.
2129         (aarch64_emit_stack_adjust): Likewise.
2130         (aarch64_emit_int_call_1): Likewise.
2131         (aarch64_emit_void_call_2): Likewise.
2132         (aarch64_emit_eq_goto): Likewise.
2133         (aarch64_emit_ne_goto): Likewise.
2134         (aarch64_emit_lt_goto): Likewise.
2135         (aarch64_emit_le_goto): Likewise.
2136         (aarch64_emit_gt_goto): Likewise.
2137         (aarch64_emit_ge_got): Likewise.
2138         (aarch64_emit_ops_impl): New static global variable.
2139         (aarch64_emit_ops): New target function, return
2140         &aarch64_emit_ops_impl.
2141         (struct linux_target_ops): Install it.
2142
2143 2015-09-21  Pierre Langlois  <pierre.langlois@arm.com>
2144
2145         * Makefile.in (linux-aarch64-ipa.o, aarch64-ipa.o): New rules.
2146         * configure.srv (aarch64*-*-linux*): Add linux-aarch64-ipa.o and
2147         aarch64-ipa.o.
2148         * linux-aarch64-ipa.c: New file.
2149         * linux-aarch64-low.c: Include arch/aarch64-insn.h, inttypes.h
2150         and endian.h.
2151         (aarch64_get_thread_area): New target method.
2152         (extract_signed_bitfield): New helper function.
2153         (aarch64_decode_ldr_literal): New function.
2154         (enum aarch64_opcodes): New enum.
2155         (struct aarch64_register): New struct.
2156         (struct aarch64_operand): New struct.
2157         (x0): New static global.
2158         (x1): Likewise.
2159         (x2): Likewise.
2160         (x3): Likewise.
2161         (x4): Likewise.
2162         (w2): Likewise.
2163         (ip0): Likewise.
2164         (sp): Likewise.
2165         (xzr): Likewise.
2166         (aarch64_register): New helper function.
2167         (register_operand): Likewise.
2168         (immediate_operand): Likewise.
2169         (struct aarch64_memory_operand): New struct.
2170         (offset_memory_operand): New helper function.
2171         (preindex_memory_operand): Likewise.
2172         (enum aarch64_system_control_registers): New enum.
2173         (ENCODE): New macro.
2174         (emit_insn): New helper function.
2175         (emit_b): New function.
2176         (emit_bcond): Likewise.
2177         (emit_cb): Likewise.
2178         (emit_tb): Likewise.
2179         (emit_blr): Likewise.
2180         (emit_stp): Likewise.
2181         (emit_ldp_q_offset): Likewise.
2182         (emit_stp_q_offset): Likewise.
2183         (emit_load_store): Likewise.
2184         (emit_ldr): Likewise.
2185         (emit_ldrsw): Likewise.
2186         (emit_str): Likewise.
2187         (emit_ldaxr): Likewise.
2188         (emit_stxr): Likewise.
2189         (emit_stlr): Likewise.
2190         (emit_data_processing_reg): Likewise.
2191         (emit_data_processing): Likewise.
2192         (emit_add): Likewise.
2193         (emit_sub): Likewise.
2194         (emit_mov): Likewise.
2195         (emit_movk): Likewise.
2196         (emit_mov_addr): Likewise.
2197         (emit_mrs): Likewise.
2198         (emit_msr): Likewise.
2199         (emit_sevl): Likewise.
2200         (emit_wfe): Likewise.
2201         (append_insns): Likewise.
2202         (can_encode_int32_in): New helper function.
2203         (aarch64_relocate_instruction): New function.
2204         (aarch64_install_fast_tracepoint_jump_pad): Likewise.
2205         (aarch64_get_min_fast_tracepoint_insn_len): Likewise.
2206         (struct linux_target_ops): Install aarch64_get_thread_area,
2207         aarch64_install_fast_tracepoint_jump_pad and
2208         aarch64_get_min_fast_tracepoint_insn_len.
2209
2210 2015-09-21  Pierre Langlois  <pierre.langlois@arm.com>
2211
2212         * Makefile.in (aarch64-insn.o): New rule.
2213         * configure.srv (aarch64*-*-linux*): Add aarch64-insn.o.
2214
2215 2015-09-21  Yao Qi  <yao.qi@linaro.org>
2216
2217         * ax.c [!IN_PROCESS_AGENT] (gdb_agent_op_sizes): Define it.
2218
2219 2015-09-21  Yao Qi  <yao.qi@linaro.org>
2220
2221         * tracepoint.c (max_jump_pad_size): Remove.
2222
2223 2015-09-18  Yao Qi  <yao.qi@linaro.org>
2224
2225         * linux-aarch64-low.c: Don't include sys/uio.h.
2226         (ps_get_thread_area): Call aarch64_ps_get_thread_area.
2227
2228 2015-09-16  Wei-cheng Wang  <cole945@gmail.com>
2229
2230         * tracepoint.c (eval_result_type): Change prototype.
2231         (condition_true_at_tracepoint): Fix argument to compiled_cond.
2232
2233 2015-09-15  Pedro Alves  <palves@redhat.com>
2234
2235         * remote-utils.c (prepare_resume_reply) <TARGET_WAITKIND_EXECD>:
2236         Check whether to report exec events instead of checking whether
2237         multiprocess is enabled.
2238
2239 2015-09-15  Pedro Alves  <palves@redhat.com>
2240
2241         PR remote/18965
2242         * remote-utils.c (prepare_resume_reply): Merge
2243         TARGET_WAITKIND_VFORK_DONE switch case with the
2244         TARGET_WAITKIND_FORKED case.
2245
2246 2015-09-15  Yao Qi  <yao.qi@linaro.org>
2247
2248         * server.c (handle_query): Check string comparison using
2249         "else if" instead of "if".
2250
2251 2015-09-15  Yao Qi  <yao.qi@linaro.org>
2252
2253         * server.c (vCont_supported): New global variable.
2254         (handle_query): Set vCont_supported to 1 if "vContSupported+"
2255         matches.  Append ";vContSupported+" to own_buf.
2256         (handle_v_requests): Append ";s;S" to own_buf if target supports
2257         hardware single step or vCont_supported is false.
2258         (capture_main): Set vCont_supported to zero.
2259
2260 2015-09-15  Yao Qi  <yao.qi@linaro.org>
2261
2262         * linux-low.c (linux_supports_conditional_breakpoints): Rename
2263         it to ...
2264         (linux_supports_hardware_single_step): ... New function.
2265         (linux_target_ops): Update.
2266         * lynx-low.c (lynx_target_ops): Set field
2267         supports_hardware_single_step to target_can_do_hardware_single_step.
2268         * nto-low.c (nto_target_ops): Likewise.
2269         * spu-low.c (spu_target_ops): Likewise.
2270         * win32-low.c (win32_target_ops): Likewise.
2271         * target.c (target_can_do_hardware_single_step): New function.
2272         * target.h (struct target_ops) <supports_conditional_breakpoints>:
2273         Remove.  <supports_hardware_single_step>: New field.
2274         (target_supports_conditional_breakpoints): Remove.
2275         (target_supports_hardware_single_step): New macro.
2276         (target_can_do_hardware_single_step): Declare.
2277         * server.c (handle_query): Use target_supports_hardware_single_step
2278         instead of target_supports_conditional_breakpoints.
2279
2280 2015-09-15  Yao Qi  <yao.qi@linaro.org>
2281
2282         * linux-aarch64-low.c (aarch64_linux_siginfo_fixup): New
2283         function.
2284         (struct linux_target_ops the_low_target): Install
2285         aarch64_linux_siginfo_fixup.
2286
2287 2015-09-11  Don Breazeal  <donb@codesourcery.com>
2288             Luis Machado  <lgustavo@codesourcery.com>
2289
2290         * linux-low.c (linux_mourn): Static declaration.
2291         (linux_arch_setup): Move in front of
2292         handle_extended_wait.
2293         (linux_arch_setup_thread): New function.
2294         (handle_extended_wait): Handle exec events.  Call
2295         linux_arch_setup_thread.  Make event_lwp argument a
2296         pointer-to-a-pointer.
2297         (check_zombie_leaders): Do not check stopped threads.
2298         (linux_low_ptrace_options): Add PTRACE_O_TRACEEXEC.
2299         (linux_low_filter_event): Add lwp and thread for exec'ing
2300         non-leader thread if leader thread has been deleted.
2301         Refactor code into linux_arch_setup_thread and call it.
2302         Pass child lwp pointer by reference to handle_extended_wait.
2303         (linux_wait_for_event_filtered): Update comment.
2304         (linux_wait_1): Prevent clobbering exec event status.
2305         (linux_supports_exec_events): New function.
2306         (linux_target_ops) <supports_exec_events>: Initialize new member.
2307         * lynx-low.c (lynx_target_ops) <supports_exec_events>: Initialize
2308         new member.
2309         * remote-utils.c (prepare_resume_reply): New stop reason 'exec'.
2310         * server.c (report_exec_events): New global variable.
2311         (handle_query): Handle qSupported query for exec-events feature.
2312         (captured_main): Initialize report_exec_events.
2313         * server.h (report_exec_events): Declare new global variable.
2314         * target.h (struct target_ops) <supports_exec_events>: New
2315         member.
2316         (target_supports_exec_events): New macro.
2317         * win32-low.c (win32_target_ops) <supports_exec_events>:
2318         Initialize new member.
2319
2320 2015-09-09  Markus Metzger  <markus.t.metzger@intel.com>
2321
2322         * linux-low.c (linux_low_enable_btrace): Remove.
2323         (linux_target_ops): Replace linux_low_enable_btrace with
2324         linux_enable_btrace.
2325
2326 2015-09-03  Yao Qi  <yao.qi@linaro.org>
2327
2328         * linux-aarch64-low.c (aarch64_insert_point): Call
2329         aarch64_handle_watchpoint if aarch64_linux_region_ok_for_watchpoint
2330         returns true.
2331
2332 2015-08-27  Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2333
2334         * linux-low.c (check_stopped_by_breakpoint): Use
2335         GDB_ARCH_IS_TRAP_BRKPT instead of GDB_ARCH_TRAP_BRKPT.
2336
2337 2015-08-27  Pedro Alves  <palves@redhat.com>
2338
2339         * proc-service.c (ps_pdwrite): Return PS_ERR/PS_OK explicily.
2340
2341 2015-08-26  Simon Marchi  <simon.marchi@ericsson.com>
2342
2343         * ax.c (gdb_parse_agent_expr): Replace xmalloc-family function with
2344         the XNEW-family equivalent.
2345         (compile_bytecodes): Likewise.
2346         * dll.c (loaded_dll): Likewise.
2347         * event-loop.c (append_callback_event): Likewise.
2348         (create_file_handler): Likewise.
2349         (create_file_event): Likewise.
2350         * hostio.c (handle_open): Likewise.
2351         * inferiors.c (add_thread): Likewise.
2352         (add_process): Likewise.
2353         * linux-aarch64-low.c (aarch64_linux_new_process): Likewise.
2354         * linux-arm-low.c (arm_new_process): Likewise.
2355         (arm_new_thread): Likewise.
2356         * linux-low.c (add_to_pid_list): Likewise.
2357         (linux_add_process): Likewise.
2358         (handle_extended_wait): Likewise.
2359         (add_lwp): Likewise.
2360         (enqueue_one_deferred_signal): Likewise.
2361         (enqueue_pending_signal): Likewise.
2362         (linux_resume_one_lwp_throw): Likewise.
2363         (linux_resume_one_thread): Likewise.
2364         (linux_read_memory): Likewise.
2365         (linux_write_memory): Likewise.
2366         * linux-mips-low.c (mips_linux_new_process): Likewise.
2367         (mips_linux_new_thread): Likewise.
2368         (mips_add_watchpoint): Likewise.
2369         * linux-x86-low.c (initialize_low_arch): Likewise.
2370         * lynx-low.c (lynx_add_process): Likewise.
2371         * mem-break.c (set_raw_breakpoint_at): Likewise.
2372         (set_breakpoint): Likewise.
2373         (add_condition_to_breakpoint): Likewise.
2374         (add_commands_to_breakpoint): Likewise.
2375         (clone_agent_expr): Likewise.
2376         (clone_one_breakpoint): Likewise.
2377         * regcache.c (new_register_cache): Likewise.
2378         * remote-utils.c (look_up_one_symbol): Likewise.
2379         * server.c (queue_stop_reply): Likewise.
2380         (start_inferior): Likewise.
2381         (queue_stop_reply_callback): Likewise.
2382         (handle_target_event): Likewise.
2383         * spu-low.c (fetch_ppc_memory): Likewise.
2384         (store_ppc_memory): Likewise.
2385         * target.c (set_target_ops): Likewise.
2386         * thread-db.c (thread_db_load_search): Likewise.
2387         (try_thread_db_load_1): Likewise.
2388         * tracepoint.c (add_tracepoint): Likewise.
2389         (add_tracepoint_action): Likewise.
2390         (create_trace_state_variable): Likewise.
2391         (cmd_qtdpsrc): Likewise.
2392         (cmd_qtro): Likewise.
2393         (add_while_stepping_state): Likewise.
2394         * win32-low.c (child_add_thread): Likewise.
2395         (get_image_name): Likewise.
2396
2397 2015-08-25  Yao Qi  <yao.qi@linaro.org>
2398
2399         * linux-aarch64-low.c (aarch64_linux_new_thread): Remove.
2400
2401 2015-08-25  Yao Qi  <yao.qi@linaro.org>
2402
2403         * Makefile.in (aarch64-linux.o): New rule.
2404         * configure.srv (aarch64*-*-linux*): Append aarch64-linux.o to
2405         srv_tgtobj.
2406         * linux-aarch64-low.c: Include nat/aarch64-linux.h.
2407         (aarch64_init_debug_reg_state): Make it extern.
2408         (aarch64_linux_prepare_to_resume): Remove.
2409
2410 2015-08-25  Yao Qi  <yao.qi@linaro.org>
2411
2412         * linux-aarch64-low.c (aarch64_linux_prepare_to_resume): Use
2413         lwp_arch_private_info and ptid_of_lwp.
2414
2415 2015-08-25  Yao Qi  <yao.qi@linaro.org>
2416
2417         * linux-aarch64-low.c (aarch64_get_debug_reg_state): Add argument pid.
2418         Find proc_info by find_process_pid.  All callers updated.
2419
2420 2015-08-25  Yao Qi  <yao.qi@linaro.org>
2421
2422         * linux-aarch64-low.c (struct arch64_dr_update_callback_param):
2423         Remove.
2424         (debug_reg_change_callback): Remove.
2425         (aarch64_notify_debug_reg_change): Remove.
2426
2427 2015-08-25  Yao Qi  <yao.qi@linaro.org>
2428
2429         * linux-aarch64-low.c (aarch64_notify_debug_reg_change):
2430         Call current_lwp_ptid.
2431
2432 2015-08-25  Yao Qi  <yao.qi@linaro.org>
2433
2434         * linux-aarch64-low.c (debug_reg_change_callback): Use
2435         debug_printf.
2436
2437 2015-08-25  Yao Qi  <yao.qi@linaro.org>
2438
2439         * linux-aarch64-low.c (debug_reg_change_callback): Use phex.
2440
2441 2015-08-25  Yao Qi  <yao.qi@linaro.org>
2442
2443         * linux-aarch64-low.c (debug_reg_change_callback): Remove comments.
2444
2445 2015-08-25  Yao Qi  <yao.qi@linaro.org>
2446
2447         * linux-aarch64-low.c (debug_reg_change_callback): Re-indent
2448         the code.
2449
2450 2015-08-25  Yao Qi  <yao.qi@linaro.org>
2451
2452         * linux-aarch64-low.c (aarch64_dr_update_callback_param) <pid>:
2453         Remove.
2454         (debug_reg_change_callback): Remove argument entry and add argument
2455         lwp.  Remove local variable thread.  Don't print thread id in the
2456         debugging output.  Don't check whether pid of thread equals to pid.
2457         (aarch64_notify_debug_reg_change): Don't set param.pid.  Call
2458         iterate_over_lwps instead find_inferior.
2459
2460 2015-08-24  Pedro Alves  <palves@redhat.com>
2461
2462         * inferiors.c (get_first_process): New function.
2463         * inferiors.h (get_first_process): New declaration.
2464         * remote-utils.c (read_ptid): Default to the first process in the
2465         list, instead of to the current thread's process.
2466
2467 2015-08-24  Pedro Alves  <palves@redhat.com>
2468
2469         * debug.c: Include gdb_sys_time.h instead of sys/time.h.
2470         * event-loop.c: Likewise.
2471         * remote-utils.c: Likewise.
2472         * tracepoint.c: Likewise.
2473
2474 2015-08-24  Pedro Alves  <palves@redhat.com>
2475
2476         * spu-low.c (spu_request_interrupt): Use lwpid_of instead of
2477         ptid_get_lwp.
2478
2479 2015-08-21  Pedro Alves  <palves@redhat.com>
2480
2481         * ax.c (gdb_eval_agent_expr): Return expr_eval_unhandled_opcode
2482         instead of literal 1.
2483
2484 2015-08-21  Pedro Alves  <palves@redhat.com>
2485
2486         * tdesc.c (default_description): Explicitly zero-initialize.
2487
2488 2015-08-21  Pedro Alves  <palves@redhat.com>
2489
2490         PR gdb/18749
2491         * inferiors.c (remove_thread): Discard any pending stop reply for
2492         this thread.
2493         * server.c (remove_all_on_match_pid): Rename to ...
2494         (remove_all_on_match_ptid): ... this.  Work with a filter ptid
2495         instead of a pid.
2496         (discard_queued_stop_replies): Change parameter to a ptid.  Now
2497         extern.
2498         (handle_v_kill, kill_inferior_callback, captured_main)
2499         (process_serial_event): Adjust.
2500         * server.h (discard_queued_stop_replies): Declare.
2501
2502 2015-08-21  Pedro Alves  <palves@redhat.com>
2503
2504         * linux-low.c (wait_for_sigstop): Always switch to no thread
2505         selected if the previously current thread dies.
2506         * lynx-low.c (lynx_request_interrupt): Use the first thread's
2507         process instead of the current thread's.
2508         * remote-utils.c (input_interrupt): Don't check if there's no
2509         current thread.
2510         * server.c (gdb_read_memory, gdb_write_memory): If setting the
2511         current thread to the general thread fails, error out.
2512         (handle_qxfer_auxv, handle_qxfer_libraries)
2513         (handle_qxfer_libraries_svr4, handle_qxfer_siginfo)
2514         (handle_qxfer_spu, handle_qxfer_statictrace, handle_qxfer_fdpic)
2515         (handle_query): Check if there's a thread selected instead of
2516         checking whether there's any thread in the thread list.
2517         (handle_qxfer_threads, handle_qxfer_btrace)
2518         (handle_qxfer_btrace_conf): Don't error out early if there's no
2519         thread in the thread list.
2520         (handle_v_cont, myresume): Don't set the current thread to the
2521         continue thread.
2522         (process_serial_event) <Hg handling>: Also set thread_id if the
2523         previous general thread is still alive.
2524         (process_serial_event) <g/G handling>: If setting the current
2525         thread to the general thread fails, error out.
2526         * spu-low.c (spu_resume, spu_request_interrupt): Use the first
2527         thread's lwp instead of the current thread's.
2528         * target.c (set_desired_thread): If the desired thread was not
2529         found, leave the current thread pointing to NULL.  Return an int
2530         (boolean) indicating success.
2531         * target.h (set_desired_thread): Change return type to int.
2532
2533 2015-08-20  Max Filippov  <jcmvbkbc@gmail.com>
2534
2535         * configure.srv (xtensa*-*-linux*): Add srv_linux_thread_db=yes.
2536         * linux-xtensa-low.c (arch/xtensa.h gdb_proc_service.h): New
2537         #includes.
2538         (ps_get_thread_area): New function.
2539
2540 2015-08-19  Gary Benson  <gbenson@redhat.com>
2541
2542         * hostio.c (handle_pread): Do not attempt to read more data
2543         than hostio_reply_with_data can fit in a packet.
2544
2545 2015-08-18  Joel Brobecker  <brobecker@adacore.com>
2546
2547         * linux-aarch32-low.c (NT_ARM_VFP): Define if not already defined.
2548
2549 2015-08-14  Matthew Fortune  <matthew.fortune@imgtec.com>
2550
2551         * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP_REL.
2552
2553 2015-08-06  Pedro Alves  <palves@redhat.com>
2554
2555         * tracepoint.c (expr_eval_result): Now an int.
2556
2557 2015-08-06  Pedro Alves  <palves@redhat.com>
2558
2559         * gdbthread.h (struct regcache): Forward declare.
2560         (struct thread_info) <regcache_data>: Now a struct regcache
2561         pointer.
2562         * inferiors.c (inferior_regcache_data)
2563         (set_inferior_regcache_data): Now work with struct regcache
2564         pointers.
2565         * inferiors.h (struct regcache): Forward declare.
2566         (inferior_regcache_data, set_inferior_regcache_data): Now work
2567         with struct regcache pointers.
2568         * regcache.c (get_thread_regcache, regcache_invalidate_thread)
2569         (free_register_cache_thread): Remove struct regcache pointer
2570         casts.
2571
2572 2015-08-06  Pedro Alves  <palves@redhat.com>
2573
2574         * server.c (captured_main): On error, print the exception message
2575         to stderr, and if run_once is set, throw a quit.
2576
2577 2015-08-06  Pedro Alves  <palves@redhat.com>
2578
2579         * linux-low.c (move_out_of_jump_pad_callback): Temporarily switch
2580         the current thread.
2581
2582 2015-08-06  Pedro Alves  <palves@redhat.com>
2583
2584         * linux-low.c (linux_write_memory): Rewrite debug output to avoid
2585         reading beyond the passed in buffer length.
2586
2587 2015-08-06  Pierre Langlois  <pierre.langlois@arm.com>
2588
2589         * tracepoint.c (symbol_list) <required>: Remove.
2590
2591 2015-08-06  Pedro Alves  <palves@redhat.com>
2592
2593         * linux-low.c (handle_extended_wait): Set the fork child's suspend
2594         count if stopping and suspending threads.
2595         (check_stopped_by_breakpoint): If stopped by trace, set the LWP's
2596         stop reason to TARGET_STOPPED_BY_SINGLE_STEP.
2597         (linux_detach): Complete an ongoing step-over.
2598         (lwp_suspended_inc, lwp_suspended_decr): New functions.  Use
2599         throughout.
2600         (resume_stopped_resumed_lwps): Don't resume a suspended thread.
2601         (linux_wait_1): If passing a signal to the inferior after
2602         finishing a step-over, unsuspend and re-resume all lwps.  If we
2603         see a single-step event but the thread should be continuing, don't
2604         pass the trap to gdb.
2605         (stuck_in_jump_pad_callback, move_out_of_jump_pad_callback): Use
2606         internal_error instead of gdb_assert.
2607         (enqueue_pending_signal): New function.
2608         (check_ptrace_stopped_lwp_gone): Add debug output.
2609         (start_step_over): Use internal_error instead of gdb_assert.
2610         (complete_ongoing_step_over): New function.
2611         (linux_resume_one_thread): Don't resume a suspended thread.
2612         (proceed_one_lwp): If the LWP is stepping over a breakpoint, reset
2613         it stepping.
2614
2615 2015-08-06  Pedro Alves  <palves@redhat.com>
2616
2617         * linux-low.c (add_lwp): Set waitstatus to TARGET_WAITKIND_IGNORE.
2618         (linux_thread_alive): Use lwp_is_marked_dead.
2619         (extended_event_reported): Delete.
2620         (linux_wait_1): Check if waitstatus is TARGET_WAITKIND_IGNORE
2621         instead of extended_event_reported.
2622         (mark_lwp_dead): Don't set the 'dead' flag.  Store the waitstatus
2623         as well.
2624         (lwp_is_marked_dead): New function.
2625         (lwp_running): Use lwp_is_marked_dead.
2626         * linux-low.h: Delete 'dead' field, and update 'waitstatus's
2627         comment.
2628
2629 2015-08-06  Pedro Alves  <palves@redhat.com>
2630
2631         * linux-low.c (linux_wait_1): Move fork event output out of the
2632         !report_to_gdb check.  Pass event_child->waitstatus to
2633         target_waitstatus_to_string instead of ourstatus.
2634
2635 2015-08-04  Yao Qi  <yao.qi@linaro.org>
2636
2637         * linux-aarch64-low.c (aarch64_supports_tracepoints): Return 0
2638         if current_thread is 32 bit.
2639
2640 2015-08-04  Yao Qi  <yao.qi@linaro.org>
2641
2642         * linux-aarch64-low.c (aarch64_supports_z_point_type): Return
2643         0 for Z_PACKET_SW_BP if it may be used in multi-arch debugging.
2644         * server.c (extended_protocol): Remove "static".
2645         * server.h (extended_protocol): Declare it.
2646
2647 2015-08-04  Yao Qi  <yao.qi@linaro.org>
2648
2649         * linux-aarch64-low.c (aarch64_get_pc): Get PC register on
2650         both aarch64 and aarch32.
2651         (aarch64_set_pc): Likewise.
2652
2653 2015-08-04  Yao Qi  <yao.qi@linaro.org>
2654
2655         * configure.srv (case aarch64*-*-linux*): Append arm-with-neon.o
2656         to srv_regobj and append arm-core.xml arm-vfpv3.xml and
2657         arm-with-neon.xml to srv_xmlfiles.
2658         * linux-aarch64-low.c: Include linux-aarch32-low.h.
2659         (is_64bit_tdesc): New function.
2660         (aarch64_linux_read_description): New function.
2661         (aarch64_arch_setup): Call aarch64_linux_read_description.
2662         (regs_info): Rename to regs_info_aarch64.
2663         (aarch64_regs_info): Return right regs_info.
2664         (initialize_low_arch): Call initialize_low_arch_aarch32.
2665
2666 2015-08-04  Yao Qi  <yao.qi@linaro.org>
2667
2668         * configure.srv (srv_tgtobj): Add linux-aarch32-low.o.
2669         * linux-aarch32-low.c: New file.
2670         * linux-aarch32-low.h: New file.
2671         * linux-arm-low.c (arm_fill_gregset): Move it to
2672         linux-aarch32-low.c.
2673         (arm_store_gregset): Likewise.
2674         (arm_fill_vfpregset): Call arm_fill_vfpregset_num
2675         (arm_store_vfpregset): Call arm_store_vfpregset_num.
2676         (arm_arch_setup): Check if PTRACE_GETREGSET works.
2677         (regs_info): Rename to regs_info_arm.
2678         (arm_regs_info): Return regs_info_aarch32 if
2679         have_ptrace_getregset is 1 and target description is
2680         arm_with_neon or arm_with_vfpv3.
2681         (initialize_low_arch): Don't call init_registers_arm_with_neon.
2682         Call initialize_low_arch_aarch32 instead.
2683
2684 2015-08-04  Yao Qi  <yao.qi@linaro.org>
2685
2686         * linux-x86-low.c (have_ptrace_getregset): Move it to ...
2687         * linux-low.c: ... here.
2688         * linux-low.h (have_ptrace_getregset): Declare it.
2689
2690 2015-08-04  Pedro Alves  <palves@redhat.com>
2691
2692         * thread-db.c (struct thread_db): Use new typedefs.
2693         (try_thread_db_load_1): Define local TDB_DLSYM macro and use it in
2694         CHK calls.
2695         (disable_thread_event_reporting): Cast result of dlsym to
2696         destination function pointer type.
2697         (thread_db_mourn): Use td_ta_delete_ftype.
2698
2699 2015-08-03  Sandra Loosemore  <sandra@codesourcery.com>
2700
2701         * linux-nios2-low.c (NIOS2_BREAKPOINT): Conditionalize for
2702         arch variant.
2703         (CDX_BREAKPOINT): Define for R2.
2704         (nios2_breakpoint_at): Check for CDX_BREAKPOINT when R2.
2705         (the_low_target): Add comments.
2706
2707 2015-07-30  Yao Qi  <yao.qi@linaro.org>
2708
2709         * linux-arm-low.c (arm_hwcap): Remove it.
2710         (arm_read_description): New local variable arm_hwcap.  Don't
2711         set arm_hwcap to zero.
2712
2713 2015-07-30  Yao Qi  <yao.qi@linaro.org>
2714
2715         * linux-arm-low.c (arm_fill_wmmxregset): Don't use arm_hwcap.
2716         Use regcache->tdesc instead.
2717         (arm_store_wmmxregset): Likewise.
2718         (arm_fill_vfpregset): Likewise.
2719         (arm_store_vfpregset): Likewise.
2720
2721 2015-07-30  Yao Qi  <yao.qi@linaro.org>
2722
2723         * linux-arm-low.c: Include arch/arm.h.
2724         (arm_fill_gregset): Don't use arm_num_regs and arm_regmap.
2725         (arm_store_gregset): Likewise.
2726
2727 2015-07-29  Simon Marchi  <simon.marchi@ericsson.com>
2728
2729         * linux-mips-low.c (mips_linux_prepare_to_resume): Add NULL as
2730         ptrace's 4th parameter.
2731
2732 2015-07-27  Yao Qi  <yao.qi@linaro.org>
2733
2734         * configure.srv (case aarch64*-*-linux*): Don't set
2735         srv_linux_usrregs.
2736
2737 2015-07-24  Pedro Alves  <palves@redhat.c: Likewise.om>
2738
2739         * linux-aarch64-low.c: Include nat/gdb_ptrace.h instead of
2740         sys/ptrace.h.
2741         * linux-arm-low.c: Likewise.
2742         * linux-cris-low.c: Likewise.
2743         * linux-crisv32-low.c: Likewise.
2744         * linux-low.c: Likewise.
2745         * linux-m68k-low.c: Likewise.
2746         * linux-mips-low.c: Likewise.
2747         * linux-nios2-low.c: Likewise.
2748         * linux-s390-low.c: Likewise.
2749         * linux-sparc-low.c: Likewise.
2750         * linux-tic6x-low.c: Likewise.
2751         * linux-tile-low.c: Likewise.
2752         * linux-x86-low.c: Likewise.
2753
2754 2015-07-24  Pedro Alves  <palves@redhat.com>
2755
2756         * config.in: Regenerate.
2757         * configure: Regenerate.
2758
2759 2015-07-24  Pedro Alves  <palves@redhat.com>
2760
2761         * acinclude.m4: Include ../ptrace.m4.
2762         * configure.ac: Call GDB_AC_PTRACE.
2763         * config.in, configure: Regenerate.
2764
2765 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2766
2767         * linux-low.c (linux_create_inferior): Remove setting to
2768         proc->priv->new_inferior.
2769         (linux_attach): Likewise.
2770         (linux_low_filter_event): Likewise.
2771         * linux-low.h (struct process_info_private) <new_inferior>: Remove.
2772
2773 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2774
2775         * linux-low.c (linux_arch_setup): New function.
2776         (linux_low_filter_event): If proc->tdesc is NULL and
2777         proc->attached is true, call the_low_target.arch_setup.
2778         Otherwise, keep status pending, and return.
2779         (linux_resume_one_lwp_throw): Don't call get_pc if
2780         thread->while_stepping isn't NULL.  Don't call
2781         get_thread_regcache if proc->tdesc is NULL.
2782         (need_step_over_p): Return 0 if proc->tdesc is NULL.
2783         (linux_target_ops): Install arch_setup.
2784         * server.c (start_inferior): Call the_target->arch_setup.
2785         * target.h (struct target_ops) <arch_setup>: New field.
2786         (target_arch_setup): New marco.
2787         * lynx-low.c (lynx_target_ops): Update.
2788         * nto-low.c (nto_target_ops): Update.
2789         * spu-low.c (spu_target_ops): Update.
2790         * win32-low.c (win32_target_ops): Update.
2791
2792 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2793
2794         * linux-low.c (linux_add_process): Don't set
2795         proc->priv->new_inferior.
2796         (linux_create_inferior): Set proc->priv->new_inferior to 1.
2797         (linux_attach): Likewise.
2798
2799 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2800
2801         * server.c (start_inferior): Code refactor.
2802
2803 2015-07-24  Yao Qi  <yao.qi@linaro.org>
2804
2805         * server.c (process_serial_event): Set general_thread.
2806
2807 2015-07-21  Yao Qi  <yao.qi@linaro.org>
2808
2809         * linux-aarch64-low.c (aarch64_arch_setup): Remove code and call
2810         aarch64_linux_get_debug_reg_capacity.
2811
2812 2015-07-17  Yao Qi  <yao.qi@linaro.org>
2813
2814         * Makefile.in (aarch64-linux-hw-point.o): New rule.
2815         * configure.srv (srv_tgtobj): Append aarch64-linux-hw-point.o.
2816         * linux-aarch64-low.c: Include nat/aarch64-linux-hw-point.h.
2817         (AARCH64_HBP_MAX_NUM): Move to nat/aarch64-linux-hw-point.h.
2818         (AARCH64_HWP_MAX_NUM, AARCH64_HBP_ALIGNMENT): Likewise.
2819         (AARCH64_HWP_ALIGNMENT): Likewise.
2820         (AARCH64_HWP_MAX_LEN_PER_REG): Likewise.
2821         (AARCH64_DEBUG_NUM_SLOTS, AARCH64_DEBUG_ARCH): Likewise.
2822         (aarch64_num_bp_regs, aarch64_num_wp_regs): Likewise.
2823         (AARCH64_DEBUG_ARCH_V8, DR_MARK_ALL_CHANGED): Likewise.
2824         (DR_MARK_N_CHANGED, DR_CLEAR_CHANGED): Likewise.
2825         (DR_HAS_CHANGED, DR_N_HAS_CHANGE): Likewise.
2826         (struct aarch64_debug_reg_state): Likewise.
2827         (struct arch_lwp_info): Likewise.
2828         (aarch64_align_watchpoint): Likewise.
2829         (DR_CONTROL_ENABLED, DR_CONTROL_LENGTH): Likewise.
2830         (aarch64_watchpoint_length): Likewise.
2831         (aarch64_point_encode_ctrl_reg): Likewise
2832         (aarch64_point_is_aligned): Likewise.
2833         (aarch64_align_watchpoint): Likewise.
2834         (aarch64_linux_set_debug_regs):
2835         (aarch64_dr_state_insert_one_point): Likewise.
2836         (aarch64_dr_state_remove_one_point): Likewise.
2837         (aarch64_handle_breakpoint): Likewise.
2838         (aarch64_handle_aligned_watchpoint): Likewise.
2839         (aarch64_handle_unaligned_watchpoint): Likewise.
2840         (aarch64_handle_watchpoint): Likewise.
2841
2842 2015-07-17  Yao Qi  <yao.qi@linaro.org>
2843
2844         * linux-aarch64-low.c (aarch64_handle_breakpoint): Add argument state
2845         and don't aarch64_get_debug_reg_state.  All callers update.
2846         (aarch64_handle_aligned_watchpoint): Likewise.
2847         (aarch64_handle_unaligned_watchpoint): Likewise.
2848         (aarch64_handle_watchpoint): Likewise.
2849         (aarch64_insert_point): Call aarch64_get_debug_reg_state earlier.
2850         (aarch64_remove_point): Likewise.
2851
2852 2015-07-17  Yao Qi  <yao.qi@linaro.org>
2853
2854         * linux-aarch64-low.c (aarch64_show_debug_reg_state): Use
2855         debug_printf.
2856         (aarch64_handle_unaligned_watchpoint): Likewise.
2857
2858 2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
2859
2860         Revert the previous 3 commits:
2861         Move gdb_regex* to common/
2862         Move linux_find_memory_regions_full & co.
2863         gdbserver build-id attribute generator
2864
2865 2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
2866             Jan Kratochvil  <jan.kratochvil@redhat.com>
2867
2868         gdbserver build-id attribute generator.
2869         * linux-low.c (nat/linux-maps.h, search.h, rsp-low.h): Include.
2870         (ElfXX_Ehdr, ElfXX_Phdr, ElfXX_Nhdr): New.
2871         (ELFXX_FLD, ELFXX_SIZEOF, ELFXX_ROUNDUP, BUILD_ID_INVALID): New.
2872         (find_phdr): New.
2873         (get_dynamic): Use find_pdhr to traverse program headers.
2874         (struct mapping_entry, mapping_entry_s, free_mapping_entry_vec)
2875         (compare_mapping_entry_range, struct find_memory_region_callback_data)
2876         (read_build_id, find_memory_region_callback, lrfind_mapping_entry)
2877         (get_hex_build_id): New.
2878         (linux_qxfer_libraries_svr4): Add optional build-id attribute
2879         to reply XML document.
2880
2881 2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
2882             Jan Kratochvil  <jan.kratochvil@redhat.com>
2883
2884         * target.c: Include target/target-utils.h and fcntl.h.
2885         (target_fileio_read_stralloc_1_pread, target_fileio_read_stralloc_1)
2886         (target_fileio_read_stralloc): New functions.
2887
2888 2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
2889
2890         * Makefile.in (OBS): Add gdb_regex.o.
2891         (gdb_regex.o): New.
2892         * config.in: Rebuilt.
2893         * configure: Rebuilt.
2894
2895 2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
2896             Jan Kratochvil  <jan.kratochvil@redhat.com>
2897
2898         Create empty nat/linux-maps.[ch] and common/target-utils.[ch].
2899         * Makefile.in (OBS): Add target-utils.o.
2900         (linux-maps.o, target-utils.o): New.
2901         * configure.srv (srv_linux_obj): Add linux-maps.o.
2902
2903 2015-07-15  Pierre Langlois  <pierre.langlois@arm.com>
2904
2905         * linux-aarch64-low.c (aarch64_supports_range_stepping): New
2906         function, return 1.
2907         (the_low_target): Install it.
2908
2909 2015-07-14  Pedro Alves  <palves@redhat.com>
2910
2911         * linux-low.c (kill_wait_lwp): Don't assert if waitpid fails.
2912         Instead, ignore ECHILD, and throw an error for other errnos.
2913
2914 2015-07-10  Pedro Alves  <palves@redhat.com>
2915
2916         * event-loop.c (struct callback_event) <data>: Change type to
2917         gdb_client_data instance instead of gdb_client_data pointer.
2918         (append_callback_event): Adjust.
2919
2920 2015-07-10  Pierre Langlois  <pierre.langlois@arm.com>
2921
2922         * linux-aarch64-low.c: Add comments for each linux_target_ops
2923         method.  Remove comments already covered in target_ops and
2924         linux_target_ops definitions.
2925         (the_low_target): Add comments for each unimplemented method.
2926
2927 2015-07-09  Yao Qi  <yao.qi@linaro.org>
2928
2929         * linux-aarch64-low.c (aarch64_regmap): Remove.
2930         (aarch64_usrregs_info): Remove.
2931         (regs_info): Set field usrregs to NULL.
2932
2933 2015-07-02  Markus Metzger  <markus.t.metzger@intel.com>
2934
2935         * linux-low.c: Include "rsp-low.h"
2936         (linux_low_encode_pt_config, linux_low_encode_raw): New.
2937         (linux_low_read_btrace): Support BTRACE_FORMAT_PT.
2938         (linux_low_btrace_conf): Support BTRACE_FORMAT_PT.
2939         (handle_btrace_enable_pt): New.
2940         (handle_btrace_general_set): Support "pt".
2941         (handle_btrace_conf_general_set): Support "pt:size".
2942
2943 2015-06-29  Pierre Langlois  <pierre.langlois@arm.com>
2944
2945         * linux-aarch64-low.c (aarch64_supports_z_point_type): Enable for
2946         Z_PACKET_SW_BP.
2947
2948 2015-06-29  Pierre Langlois  <pierre.langlois@arm.com>
2949
2950         * linux-aarch64-low.c: Remove comment about endianness.
2951         (aarch64_breakpoint): Change type to gdb_byte[].  Set to "brk #0".
2952         (aarch64_breakpoint_at): Change type of insn to gdb_byte[].  Use
2953         memcmp.
2954
2955 2015-06-24  Gary Benson  <gbenson@redhat.com>
2956
2957         * linux-i386-ipa.c (stdint.h): Do not include.
2958         * lynx-i386-low.c (stdint.h): Likewise.
2959         * lynx-ppc-low.c (stdint.h): Likewise.
2960         * mem-break.c (stdint.h): Likewise.
2961         * thread-db.c (stdint.h): Likewise.
2962         * tracepoint.c (stdint.h): Likewise.
2963         * win32-low.c (stdint.h): Likewise.
2964
2965 2015-06-18  Simon Marchi  <simon.marchi@ericsson.com>
2966
2967         * server.c (write_qxfer_response): Update call to
2968         remote_escape_output.
2969
2970 2015-06-15  Aleksandar Ristovski  <aristovski@qnx.com
2971             Jan Kratochvil  <jan.kratochvil@redhat.com>
2972
2973         Merge multiple hex conversions.
2974         * gdbreplay.c (tohex): Rename to 'fromhex'.
2975         (logchar): Use fromhex.
2976
2977 2015-06-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
2978
2979         * server.c (handle_qxfer_libraries): Set `version' attribute for
2980         <library-list>.
2981
2982 2015-06-10  Gary Benson  <gbenson@redhat.com>
2983
2984         * target.h (struct target_ops) <multifs_open>: New field.
2985         <multifs_unlink>: Likewise.
2986         <multifs_readlink>: Likewise.
2987         * linux-low.c (nat/linux-namespaces.h): New include.
2988         (linux_target_ops): Initialize the_target->multifs_open,
2989         the_target->multifs_unlink and the_target->multifs_readlink.
2990         * hostio.h (hostio_handle_new_gdb_connection): New declaration.
2991         * hostio.c (hostio_fs_pid): New static variable.
2992         (hostio_handle_new_gdb_connection): New function.
2993         (handle_setfs): Likewise.
2994         (handle_open): Use the_target->multifs_open as appropriate.
2995         (handle_unlink): Use the_target->multifs_unlink as appropriate.
2996         (handle_readlink): Use the_target->multifs_readlink as
2997         appropriate.
2998         (handle_vFile): Handle vFile:setfs packets.
2999         * server.c (handle_query): Call hostio_handle_new_gdb_connection
3000         after target_handle_new_gdb_connection.
3001
3002 2015-06-10  Gary Benson  <gbenson@redhat.com>
3003
3004         * configure.ac (AC_CHECK_FUNCS): Add setns.
3005         * config.in: Regenerate.
3006         * configure: Likewise.
3007         * Makefile.in (SFILES): Add nat/linux-namespaces.c.
3008         (linux-namespaces.o): New rule.
3009         * configure.srv (srv_linux_obj): Add linux-namespaces.o.
3010
3011 2015-06-09  Gary Benson <gbenson@redhat.com>
3012
3013         * hostio.c (handle_open): Process mode argument with
3014         fileio_to_host_mode.
3015
3016 2015-06-01  Yao Qi  <yao.qi@linaro.org>
3017
3018         * linux-s390-low.c (PTRACE_GETREGSET, PTRACE_SETREGSET): Remove.
3019         * linux-x86-low.c: Likewise.
3020
3021 2015-05-28  Don Breazeal  <donb@codesourcery.com>
3022
3023         * linux-low.c (handle_extended_wait): Initialize
3024         thread_info.last_resume_kind for new fork children.
3025
3026 2015-05-15  Pedro Alves  <palves@redhat.com>
3027
3028         * target.h (target_handle_new_gdb_connection): Rewrite using if
3029         wrapped in do/while.
3030
3031 2015-05-14  Joel Brobecker  <brobecker@adacore.com>
3032
3033         * configure.ac: Add prfpregset_t BFD_HAVE_SYS_PROCFS_TYPE check.
3034         * configure, config.in: Regenerate.
3035         * gdb_proc_service.h [HAVE_PRFPREGSET_T] (prfpregset_t):
3036         Declare typedef.
3037
3038 2015-05-12  Don Breazeal  <donb@codesourcery.com>
3039
3040         * linux-low.c (handle_extended_wait): Handle PTRACE_EVENT_FORK and
3041         PTRACE_EVENT_VFORK_DONE.
3042         (linux_low_ptrace_options, extended_event_reported): Add vfork
3043         events.
3044         * remote-utils.c (prepare_resume_reply): New stop reasons "vfork"
3045         and "vforkdone" for RSP 'T' Stop Reply Packet.
3046         * server.h (report_vfork_events): Declare
3047         global variable.
3048
3049 2015-05-12  Don Breazeal  <donb@codesourcery.com>
3050
3051         * linux-aarch64-low.c (aarch64_linux_new_fork): New function.
3052         (the_low_target) <new_fork>: Initialize new member.
3053         * linux-arm-low.c (arm_new_fork): New function.
3054         (the_low_target) <new_fork>: Initialize new member.
3055         * linux-low.c (handle_extended_wait): Call new target function
3056         new_fork.
3057         * linux-low.h (struct linux_target_ops) <new_fork>: New member.
3058         * linux-mips-low.c (mips_add_watchpoint): New function
3059         extracted from mips_insert_point.
3060         (the_low_target) <new_fork>: Initialize new member.
3061         (mips_linux_new_fork): New function.
3062         (mips_insert_point): Call mips_add_watchpoint.
3063         * linux-x86-low.c (x86_linux_new_fork): New function.
3064         (the_low_target) <new_fork>: Initialize new member.
3065
3066 2015-05-12  Don Breazeal  <donb@codesourcery.com>
3067
3068         * linux-low.c (handle_extended_wait): Implement return value,
3069         rename argument 'event_child' to 'event_lwp', handle
3070         PTRACE_EVENT_FORK, call internal_error for unrecognized event.
3071         (linux_low_ptrace_options): New function.
3072         (linux_low_filter_event): Call linux_low_ptrace_options,
3073         use different argument fo linux_enable_event_reporting,
3074         use return value from handle_extended_wait.
3075         (extended_event_reported): New function.
3076         (linux_wait_1): Call extended_event_reported and set
3077         status to report fork events.
3078         (linux_write_memory): Add pid to debug message.
3079         (reset_lwp_ptrace_options_callback): New function.
3080         (linux_handle_new_gdb_connection): New function.
3081         (linux_target_ops): Initialize new structure member.
3082         * linux-low.h (struct lwp_info) <waitstatus>: New member.
3083         * lynx-low.c: Initialize new structure member.
3084         * remote-utils.c (prepare_resume_reply): Implement stop reason
3085         "fork" for "T" stop message.
3086         * server.c (handle_query): Call handle_new_gdb_connection.
3087         * server.h (report_fork_events): Declare global flag.
3088         * target.h (struct target_ops) <handle_new_gdb_connection>:
3089         New member.
3090         (target_handle_new_gdb_connection): New macro.
3091         * win32-low.c: Initialize new structure member.
3092
3093 2015-05-12  Don Breazeal  <donb@codesourcery.com>
3094
3095         * mem-break.c (APPEND_TO_LIST): Define macro.
3096         (clone_agent_expr): New function.
3097         (clone_one_breakpoint): New function.
3098         (clone_all_breakpoints): New function.
3099         * mem-break.h: Declare new functions.
3100
3101 2015-05-12  Don Breazeal  <donb@codesourcery.com>
3102
3103         * linux-low.c (linux_supports_fork_events): New function.
3104         (linux_supports_vfork_events): New function.
3105         (linux_target_ops): Initialize new structure members.
3106         (initialize_low): Call linux_check_ptrace_features.
3107         * lynx-low.c (lynx_target_ops): Initialize new structure
3108         members.
3109         * server.c (report_fork_events, report_vfork_events):
3110         New global flags.
3111         (handle_query): Add new features to qSupported packet and
3112         response.
3113         (captured_main): Initialize new global variables.
3114         * target.h (struct target_ops) <supports_fork_events>:
3115         New member.
3116         <supports_vfork_events>: New member.
3117         (target_supports_fork_events): New macro.
3118         (target_supports_vfork_events): New macro.
3119         * win32-low.c (win32_target_ops): Initialize new structure
3120         members.
3121
3122 2015-05-12  Gary Benson <gbenson@redhat.com>
3123
3124         * server.c (handle_qxfer_exec_file): Use current process
3125         if annex is empty.
3126
3127 2015-05-08  Sandra Loosemore  <sandra@codesourcery.com>
3128
3129         * linux-nios2-low.c: Include elf/common.h.  Adjust comments.
3130         Remove HAVE_PTRACE_GETREGS conditionals.
3131         (nios2_regsets): Use PTRACE_GETREGSET and PTRACE_SETREGSET
3132         instead of PTRACE_GETREGS and PTRACE_SETREGS.
3133
3134 2015-05-08  Yao Qi  <yao.qi@linaro.org>
3135
3136         * linux-low.c (linux_supports_conditional_breakpoints): New
3137         function.
3138         (linux_target_ops): Install new target method.
3139         * lynx-low.c (lynx_target_ops): Install NULL hook for
3140         supports_conditional_breakpoints.
3141         * nto-low.c (nto_target_ops): Likewise.
3142         * spu-low.c (spu_target_ops): Likewise.
3143         * win32-low.c (win32_target_ops): Likewise.
3144         * server.c (handle_query): Check
3145         target_supports_conditional_breakpoints.
3146         * target.h (struct target_ops) <supports_conditional_breakpoints>:
3147         New field.
3148         (target_supports_conditional_breakpoints): New macro.
3149
3150 2015-05-06  Pedro Alves  <palves@redhat.com>
3151
3152         PR server/18081
3153         * server.c (start_inferior): If the process exits, mourn it.
3154
3155 2015-04-21  Gary Benson <gbenson@redhat.com>
3156
3157         * hostio.c (fileio_open_flags_to_host): Factored out to
3158         fileio_to_host_openflags in common/fileio.c.  Single use
3159         updated.
3160
3161 2015-04-17  Max Filippov  <jcmvbkbc@gmail.com>
3162
3163         * linux-xtensa-low.c (xtensa_fill_gregset)
3164         (xtensa_store_gregset): Check XCHAL_HAVE_LOOPS instead of
3165         XCHAL_HAVE_LOOP.
3166
3167 2015-04-17  Max Filippov  <jcmvbkbc@gmail.com>
3168
3169         * linux-xtensa-low.c (xtensa_usrregs_info): Remove.
3170         (regs_info): Replace usrregs pointer with NULL.
3171
3172 2015-04-17  Gary Benson  <gbenson@redhat.com>
3173
3174         * target.h (struct target_ops) <pid_to_exec_file>: New field.
3175         * linux-low.c (linux_target_ops): Initialize pid_to_exec_file.
3176         * server.c (handle_qxfer_exec_file): New function.
3177         (qxfer_packets): Add exec-file entry.
3178         (handle_query): Report qXfer:exec-file:read as supported packet.
3179
3180 2015-04-14  Romain Naour <romain.naour@openwide.fr>  (tiny change)
3181
3182         * linux-low.c (linux_read_offsets): Remove get_thread_lwp.
3183
3184 2015-04-09  Gary Benson <gbenson@redhat.com>
3185
3186         * hostio-errno.c (errno_to_fileio_error): Remove function.
3187         Update caller to use remote_fileio_to_fio_error.
3188
3189 2015-04-09  Yao Qi  <yao.qi@linaro.org>
3190
3191         * linux-low.c (linux_insert_point): Call
3192         insert_memory_breakpoint if TYPE is raw_bkpt_type_sw.
3193         (linux_remove_point): Call remove_memory_breakpoint if type is
3194         raw_bkpt_type_sw.
3195         * linux-x86-low.c (x86_insert_point): Don't call
3196         insert_memory_breakpoint.
3197         (x86_remove_point): Don't call remove_memory_breakpoint.
3198
3199 2015-04-01  Pedro Alves  <palves@redhat.com>
3200             Cleber Rosa  <crosa@redhat.com>
3201
3202         * server.c (gdbserver_usage): Reorganize and extend the usage
3203         message.
3204
3205 2015-03-24  Pedro Alves  <palves@redhat.com>
3206
3207         * linux-low.c (check_stopped_by_breakpoint): Tweak debug log
3208         output.  Also dump TRAP_TRACE.
3209         (linux_low_filter_event): In debug output, distinguish a
3210         resume_stop SIGSTOP from a delayed SIGSTOP.
3211
3212 2015-03-24  Gary Benson  <gbenson@redhat.com>
3213
3214         * linux-x86-low.c (x86_linux_new_thread): Moved to
3215         nat/x86-linux.c.
3216         (x86_linux_prepare_to_resume): Likewise.
3217
3218 2015-03-24  Gary Benson  <gbenson@redhat.com>
3219
3220         * Makefile.in (x86-linux-dregs.o): New rule.
3221         * configure.srv: Add x86-linux-dregs.o to relevant targets.
3222         * linux-x86-low.c: Include nat/x86-linux-dregs.h.
3223         (u_debugreg_offset): Moved to nat/x86-linux-dregs.c.
3224         (x86_linux_dr_get): Likewise.
3225         (x86_linux_dr_set): Likewise.
3226         (update_debug_registers_callback): Likewise.
3227         (x86_linux_dr_set_addr): Likewise.
3228         (x86_linux_dr_get_addr): Likewise.
3229         (x86_linux_dr_set_control): Likewise.
3230         (x86_linux_dr_get_control): Likewise.
3231         (x86_linux_dr_get_status): Likewise.
3232         (x86_linux_update_debug_registers): Likewise.
3233
3234 2015-03-24  Gary Benson  <gbenson@redhat.com>
3235
3236         * linux-x86-low.c (x86_linux_update_debug_registers):
3237         New function, factored out from...
3238         (x86_linux_prepare_to_resume): ...this.
3239
3240 2015-03-24  Gary Benson  <gbenson@redhat.com>
3241
3242         * linux-x86-low.c (x86_linux_dr_get): Update comments.
3243         (x86_linux_dr_set): Likewise.
3244         (update_debug_registers_callback): Likewise.
3245         (x86_linux_dr_set_addr): Likewise.
3246         (x86_linux_dr_get_addr): Likewise.
3247         (x86_linux_dr_set_control): Likewise.
3248         (x86_linux_dr_get_control): Likewise.
3249         (x86_linux_dr_get_status): Likewise.
3250         (x86_linux_prepare_to_resume): Likewise.
3251
3252 2015-03-24  Gary Benson  <gbenson@redhat.com>
3253
3254         * linux-x86-low.c (x86_linux_dr_get): Add assertion.
3255         Use perror_with_name.  Pass string through gettext.
3256         (x86_linux_dr_set): Likewise.
3257
3258 2015-03-24  Gary Benson  <gbenson@redhat.com>
3259
3260         * linux-x86-low.c (x86_dr_low_set_addr): Rename to...
3261         (x86_linux_dr_set_addr): ...this.
3262         (x86_dr_low_get_addr): Rename to...
3263         (x86_linux_dr_get_addr): ...this.
3264         (x86_dr_low_set_control): Rename to...
3265         (x86_linux_dr_set_control): ...this.
3266         (x86_dr_low_get_control): Rename to...
3267         (x86_linux_dr_get_control): ...this.
3268         (x86_dr_low_get_status): Rename to...
3269         (x86_linux_dr_get_status): ...this.
3270         (x86_dr_low): Update with new function names.
3271
3272 2015-03-24  Gary Benson  <gbenson@redhat.com>
3273
3274         * Makefile.in (x86-linux.o): New rule.
3275         * configure.srv: Add x86-linux.o to relevant targets.
3276         * linux-low.c (lwp_set_arch_private_info): New function.
3277         (lwp_arch_private_info): Likewise.
3278         * linux-x86-low.c: Include nat/x86-linux.h.
3279         (arch_lwp_info): Removed structure.
3280         (update_debug_registers_callback):
3281         Use lwp_set_debug_registers_changed.
3282         (x86_linux_prepare_to_resume): Use lwp_debug_registers_changed
3283         and lwp_set_debug_registers_changed.
3284         (x86_linux_new_thread): Use lwp_set_debug_registers_changed.
3285
3286 2015-03-24  Gary Benson  <gbenson@redhat.com>
3287
3288         * linux-low.h (linux_target_ops) <new_thread>: Changed signature.
3289         * linux-arm-low.c (arm_new_thread): Likewise.
3290         * linux-aarch64-low.c (aarch64_linux_new_thread): Likewise.
3291         * linux-mips-low.c (mips_linux_new_thread): Likewise.
3292         * linux-x86-low.c (x86_linux_new_thread): Likewise.
3293         * linux-low.c (add_lwp): Update the_low_target.new_thread call.
3294
3295 2015-03-24  Gary Benson  <gbenson@redhat.com>
3296
3297         * linux-low.c (ptid_of_lwp): New function.
3298         (lwp_is_stopped): Likewise.
3299         (lwp_stop_reason): Likewise.
3300         * linux-x86-low.c (update_debug_registers_callback):
3301         Use lwp_is_stopped.
3302         (x86_linux_prepare_to_resume): Use ptid_of_lwp and
3303         lwp_stop_reason.
3304
3305 2015-03-24  Gary Benson  <gbenson@redhat.com>
3306
3307         * linux-low.h (linux_stop_lwp): Remove declaration.
3308
3309 2015-03-24  Gary Benson  <gbenson@redhat.com>
3310
3311         * linux-low.h: Include nat/linux-nat.h.
3312         * linux-low.c (iterate_over_lwps_args): New structure.
3313         (iterate_over_lwps_filter): New function.
3314         (iterate_over_lwps): Likewise.
3315         * linux-x86-low.c (update_debug_registers_callback):
3316         Update signature to what iterate_over_lwps expects.
3317         Remove PID check that iterate_over_lwps now performs.
3318         (x86_dr_low_set_addr): Use iterate_over_lwps.
3319         (x86_dr_low_set_control): Likewise.
3320
3321 2015-03-24  Gary Benson  <gbenson@redhat.com>
3322
3323         * linux-x86-low.c (x86_debug_reg_state): New function.
3324         (x86_linux_prepare_to_resume): Use the above.
3325
3326 2015-03-24  Gary Benson  <gbenson@redhat.com>
3327
3328         * linux-low.c (current_lwp_ptid): New function.
3329         * linux-x86-low.c: Include nat/linux-nat.h.
3330         (x86_dr_low_get_addr): Use current_lwp_ptid.
3331         (x86_dr_low_get_control): Likewise.
3332         (x86_dr_low_get_status): Likewise.
3333
3334 2015-03-20  Pedro Alves  <palves@redhat.com>
3335
3336         * tracepoint.c (cmd_qtstatus): Make "str" const.
3337
3338 2015-03-20  Pedro Alves  <palves@redhat.com>
3339
3340         * server.c (handle_general_set): Make "req_str" const.
3341
3342 2015-03-19  Pedro Alves  <palves@redhat.com>
3343
3344         * linux-low.c (linux_resume_one_lwp): Rename to ...
3345         (linux_resume_one_lwp_throw): ... this.  Don't handle ESRCH here,
3346         instead call perror_with_name.
3347         (check_ptrace_stopped_lwp_gone): New function.
3348         (linux_resume_one_lwp): Reimplement as wrapper around
3349         linux_resume_one_lwp_throw that swallows errors if the LWP is
3350         gone.
3351
3352 2015-03-19  Pedro Alves  <palves@redhat.com>
3353
3354         * linux-low.c (count_events_callback, select_event_lwp_callback):
3355         No longer check whether the thread has resume_stop as last resume
3356         kind.
3357
3358 2015-03-19 Pedro Alves  <palves@redhat.com>
3359
3360         * linux-low.c (count_events_callback, select_event_lwp_callback):
3361         Use the lwp's status_pending_p field, not the thread's.
3362
3363 2015-03-19  Pedro Alves  <palves@redhat.com>
3364
3365         * linux-low.c (select_event_lwp_callback): Update comments to
3366         no longer mention SIGTRAP.
3367
3368 2015-03-18  Gary Benson  <gbenson@redhat.com>
3369
3370         * server.c (handle_query): Do not report vFile:fstat as supported.
3371
3372 2015-03-11  Gary Benson  <gbenson@redhat.com>
3373
3374         * hostio.c (sys/types.h): New include.
3375         (sys/stat.h): Likewise.
3376         (common-remote-fileio.h): Likewise.
3377         (handle_fstat): New function.
3378         (handle_vFile): Handle vFile:fstat packets.
3379
3380 2015-03-11  Gary Benson  <gbenson@redhat.com>
3381
3382         * configure.ac (AC_CHECK_MEMBERS): Add checks for
3383         struct stat.st_blocks and struct stat.st_blksize.
3384         * configure: Regenerate.
3385         * config.in: Likewise.
3386         * Makefile.in (SFILES): Add common/common-remote-fileio.c.
3387         (OBS): Add common-remote-fileio.o.
3388         (common-remote-fileio.o): New rule.
3389
3390 2015-03-09  Pedro Alves  <palves@redhat.com>
3391
3392         * tracepoint.c (gdb_agent_helper_thread): Cast '&sockaddr' to
3393         'struct sockaddr' pointer in 'accept' call.
3394
3395 2015-03-09  Pedro Alves  <palves@redhat.com>
3396
3397         Revert:
3398         2015-03-07  Pedro Alves  <palves@redhat.com>
3399         * gdbreplay.c: No longer include <netinet/in.h>, <sys/socket.h>,
3400         or <winsock2.h> here.  Instead include "gdb_socket.h".
3401         (remote_open): Use union gdb_sockaddr_u.
3402         * remote-utils.c: No longer include <netinet/in.h>, <sys/socket.h>
3403         or <winsock2.h> here.  Instead include "gdb_socket.h".
3404         (handle_accept_event, remote_prepare): Use union gdb_sockaddr_u.
3405         * tracepoint.c: Include "gdb_socket.h" instead of <sys/socket.h>
3406         or <sys/un.h>.
3407         (init_named_socket, gdb_agent_helper_thread): Use union
3408         gdb_sockaddr_u.
3409
3410 2015-03-07  Pedro Alves  <palves@redhat.com>
3411
3412         * configure.ac (build_warnings): Move
3413         -Wdeclaration-after-statement to the C-specific set.
3414         * configure: Regenerate.
3415
3416 2015-03-07  Pedro Alves  <palves@redhat.com>
3417
3418         * gdbreplay.c: No longer include <netinet/in.h>, <sys/socket.h>,
3419         or <winsock2.h> here.  Instead include "gdb_socket.h".
3420         (remote_open): Use union gdb_sockaddr_u.
3421         * remote-utils.c: No longer include <netinet/in.h>, <sys/socket.h>
3422         or <winsock2.h> here.  Instead include "gdb_socket.h".
3423         (handle_accept_event, remote_prepare): Use union gdb_sockaddr_u.
3424         * tracepoint.c: Include "gdb_socket.h" instead of <sys/socket.h>
3425         or <sys/un.h>.
3426         (init_named_socket, gdb_agent_helper_thread): Use union
3427         gdb_sockaddr_u.
3428
3429 2015-03-07  Pedro Alves  <palves@redhat.com>
3430
3431         Adjust all callers of TRY_CATCH to use TRY/CATCH/END_CATCH
3432         instead.
3433
3434 2015-03-06  Yao Qi  <yao.qi@linaro.org>
3435
3436         * linux-aarch64-low.c (aarch64_insert_point): Use
3437         show_debug_regs as a boolean.
3438         (aarch64_remove_point): Likewise.
3439
3440 2015-03-05  Pedro Alves  <palves@redhat.com>
3441
3442         * lynx-low.c (lynx_target_ops): Install NULL hooks for
3443         stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
3444         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint.
3445         * nto-low.c (nto_target_ops): Likewise.
3446         * spu-low.c (spu_target_ops): Likewise.
3447         * win32-low.c (win32_target_ops): Likewise.
3448
3449 2015-03-04  Pedro Alves  <palves@redhat.com>
3450
3451         * linux-low.c (check_stopped_by_breakpoint) [USE_SIGTRAP_SIGINFO]:
3452         Decide whether a breakpoint triggered based on the SIGTRAP's
3453         siginfo.si_code.
3454         (thread_still_has_status_pending_p) [USE_SIGTRAP_SIGINFO]: Don't check whether a
3455         breakpoint is inserted if relying on SIGTRAP's siginfo.si_code.
3456         (linux_low_filter_event): Check for breakpoints before checking
3457         watchpoints.
3458         (linux_wait_1): Don't re-increment the PC if relying on SIGTRAP's
3459         siginfo.si_code.
3460         (linux_stopped_by_sw_breakpoint)
3461         (linux_supports_stopped_by_sw_breakpoint)
3462         (linux_stopped_by_hw_breakpoint)
3463         (linux_supports_stopped_by_hw_breakpoint): New functions.
3464         (linux_target_ops): Install new target methods.
3465
3466 2015-03-04  Pedro Alves  <palves@redhat.com>
3467
3468         * remote-utils.c (prepare_resume_reply): Report swbreak/hbreak.
3469         * server.c (swbreak_feature, hwbreak_feature): New globals.
3470         (handle_query) <qSupported>: Handle "swbreak+" and "hwbreak+".
3471         (captured_main): Clear swbreak_feature and hwbreak_feature.
3472         * server.h (swbreak_feature, hwbreak_feature): Declare.
3473         * target.h (struct target_ops) <stopped_by_sw_breakpoint,
3474         supports_stopped_by_sw_breakpoint, stopped_by_hw_breakpoint,
3475         supports_stopped_by_hw_breakpoint>: New fields.
3476         (target_supports_stopped_by_sw_breakpoint)
3477         (target_stopped_by_sw_breakpoint)
3478         (target_supports_stopped_by_hw_breakpoint)
3479         (target_stopped_by_hw_breakpoint): Declare.
3480
3481 2015-03-04  Pedro Alves  <palves@redhat.com>
3482
3483         enum lwp_stop_reason -> enum target_stop_reason
3484         * linux-low.c (check_stopped_by_breakpoint): Adjust.
3485         (thread_still_has_status_pending_p, check_stopped_by_watchpoint)
3486         (linux_wait_1, stuck_in_jump_pad_callback)
3487         (move_out_of_jump_pad_callback, linux_resume_one_lwp)
3488         (linux_stopped_by_watchpoint):
3489         * linux-low.h (enum lwp_stop_reason): Delete.
3490         (struct lwp_info) <stop_reason>: Now an enum target_stop_reason.
3491         * linux-x86-low.c (x86_linux_prepare_to_resume): Adjust.
3492
3493 2015-03-04  Yao Qi  <yao.qi@linaro.org>
3494
3495         * Makefile.in (SFILES): Add linux-aarch64-low.c.
3496
3497 2015-03-03  Gary Benson  <gbenson@redhat.com>
3498
3499         * hostio.c (handle_vFile): Fix prefix lengths.
3500
3501 2015-03-03  Markus Metzger  <markus.t.metzger@intel.com>
3502
3503         * linux-low.c (linux_low_enable_btrace): Do not overwrite non-zero
3504         ptr_bits.
3505
3506 2015-03-02  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3507
3508         * Makefile.in (s390-vx-linux64.c, s390-tevx-linux64.c)
3509         (s390x-vx-linux64.c, s390x-tevx-linux64.c): New rules.
3510         (clean): Add "rm -f" for above C files.
3511         * configure.srv (srv_regobj): Add s390-vx-linux64.o,
3512         s390-tevx-linux64.o, s390x-vx-linux64.o, and s390x-tevx-linux64.o.
3513         (srv_xmlfiles): Add s390-vx-linux64.xml, s390-tevx-linux64.xml,
3514         s390x-vx-linux64.xml, s390x-tevx-linux64.xml, and s390-vx.xml.
3515         * linux-s390-low.c (HWCAP_S390_VX): New macro.
3516         (init_registers_s390_vx_linux64, init_registers_s390_tevx_linux64)
3517         (init_registers_s390x_vx_linux64)
3518         (init_registers_s390x_tevx_linux64)
3519         (tdesc_s390_vx_linux64, tdesc_s390_tevx_linux64)
3520         (tdesc_s390x_vx_linux64, tdesc_s390x_tevx_linux64): New extern
3521         declarations.
3522         (s390_fill_vxrs_low, s390_store_vxrs_low, s390_fill_vxrs_high)
3523         (s390_store_vxrs_high): New functions.
3524         (s390_regsets): Add entries for NT_S390_VXRS_LOW and
3525         NT_S390_VXRS_HIGH.
3526         (s390_arch_setup): Add logic for selecting one of the new target
3527         descriptions.  Activate the new vector regsets if applicable.
3528         (initialize_low_arch): Also invoke init_registers_s390_vx_linux64,
3529         init_registers_s390_tevx_linux64, init_registers_s390x_vx_linux64,
3530         and init_registers_s390x_tevx_linux64.
3531
3532 2015-03-01  Pedro Alves  <palves@redhat.com>
3533
3534         * linux-i386-ipa.c (gdb_agent_get_raw_reg): Constify 'raw_regs'
3535         parameter.
3536
3537 2015-02-27  Pedro Alves  <palves@redhat.com>
3538
3539         * linux-x86-low.c (u_debugreg_offset): New function.
3540         (x86_linux_dr_get, x86_linux_dr_set): Use it.
3541
3542 2015-02-27  Pedro Alves  <palves@redhat.com>
3543
3544         * gdb_proc_service.h: Wrap with EXTERN_C_PUSH/EXTERN_C_POP.
3545         [!HAVE_PROC_SERVICE_H] (struct ps_prochandle): Forward declare.
3546         [!HAVE_PROC_SERVICE_H] (ps_pdread, ps_pdwrite, ps_ptread)
3547         ps_ptwrite, ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
3548         (ps_lsetfpregs, ps_getpid)
3549         (ps_get_thread_area, ps_pglobal_lookup, ps_pstop, ps_pcontinue)
3550         (ps_lstop, ps_lcontinue, ps_lgetxregsize, ps_lgetxregs)
3551         (ps_lsetxregs, ps_plog): Declare.
3552
3553 2015-02-27  Pedro Alves  <palves@redhat.com>
3554
3555         * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Use
3556         IP_AGENT_EXPORT_FUNC.
3557         * linux-i386-ipa.c (gdb_agent_get_raw_reg): Use
3558         IP_AGENT_EXPORT_FUNC.
3559         * tracepoint.c (ATTR_USED, ATTR_NOINLINE, ATTR_CONSTRUCTOR)
3560         (IP_AGENT_EXPORT): Delete.
3561         (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
3562         (gdb_trampoline_buffer, gdb_trampoline_buffer_end)
3563         (gdb_trampoline_buffer_error, collecting, gdb_collect)
3564         (stop_tracing, flush_trace_buffer, about_to_request_buffer_space)
3565         (trace_buffer_is_full, stopping_tracepoint, expr_eval_result)
3566         (error_tracepoint, tracepoints, tracing, trace_buffer_ctrl)
3567         (trace_buffer_ctrl_curr, trace_buffer_lo, trace_buffer_hi)
3568         (traceframe_read_count, traceframe_write_count)
3569         (traceframes_created, trace_state_variables, get_raw_reg)
3570         (get_trace_state_variable_value, set_trace_state_variable_value)
3571         (ust_loaded, helper_thread_id, cmd_buf): Use
3572         IPA_SYM_EXPORTED_NAME.
3573         (stop_tracing, flush_trace_buffer): Use IP_AGENT_EXPORT_FUNC.
3574         (tracepoints) Use IP_AGENT_EXPORT_VAR.
3575         (stopping_tracepoint, trace_buffer_is_full, expr_eval_result): Use
3576         IP_AGENT_EXPORT_VAR and wrap in EXTERN_C_PUSH/EXTERN_C_POP.
3577         (last_tracepoint): Move into !IN_PROCESS_AGENT block.
3578         (error_tracepoint): Use IP_AGENT_EXPORT_VAR and wrap in
3579         EXTERN_C_PUSH/EXTERN_C_POP.
3580         (trace_state_variables): Use IP_AGENT_EXPORT_VAR.
3581         (trace_buffer_lo, trace_buffer_hi): Use IP_AGENT_EXPORT_VAR and
3582         wrap in EXTERN_C_PUSH/EXTERN_C_POP.
3583         (trace_buffer_ctrl, trace_buffer_ctrl_curr)
3584         (traceframe_write_count, traceframe_read_count)
3585         (traceframes_created, tracing): Use IP_AGENT_EXPORT_VAR.
3586         (about_to_request_buffer_space, get_trace_state_variable_value)
3587         (set_trace_state_variable_value): Use IP_AGENT_EXPORT_FUNC.
3588         (collecting): Use IP_AGENT_EXPORT_VAR and wrap in
3589         EXTERN_C_PUSH/EXTERN_C_POP.
3590         (gdb_collect): Use IP_AGENT_EXPORT_FUNC.
3591         (ust_loaded, cmd_buf): Use IP_AGENT_EXPORT_VAR.
3592         (helper_thread_id, gdb_agent_capability): Use IP_AGENT_EXPORT_VAR
3593         and wrap in EXTERN_C_PUSH/EXTERN_C_POP.
3594         (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
3595         (gdb_trampoline_buffer, gdb_trampoline_buffer_end)
3596         (gdb_trampoline_buffer_error): Use IP_AGENT_EXPORT_VAR.
3597         * tracepoint.h (ATTR_USED, ATTR_NOINLINE, EXPORTED_SYMBOL):
3598         Define.
3599         (IP_AGENT_EXPORT_FUNC, IP_AGENT_EXPORT_VAR)
3600         (IP_AGENT_EXPORT_VAR_DECL): Define.
3601         (tracing): Declare.
3602         (gdb_agent_get_raw_reg): Declare.
3603
3604 2015-02-27  Tom Tromey  <tromey@redhat.com>
3605             Pedro Alves  <palves@redhat.com>
3606
3607         Rename symbols whose names are reserved C++ keywords throughout.
3608
3609 2015-02-27  Pedro Alves  <palves@redhat.com>
3610
3611         * Makefile.in (COMPILER): New, get it from autoconf.
3612         (CXX): Get from autoconf instead.
3613         (COMPILE.pre): Use COMPILER.
3614         (CC-LD): Rename to ...
3615         (CC_LD): ... this.  Use COMPILER.
3616         (gdbserver$(EXEEXT), gdbreplay$(EXEEXT), $(IPA_LIB)): Adjust.
3617         (CXX_FOR_TARGET): Default to g++ instead of gcc.
3618         * acinclude.m4: Include build-with-cxx.m4.
3619         * configure.ac: Call AC_PROG_CXX and GDB_AC_BUILD_WITH_CXX.
3620         Disable -Werror by default if building in C++ mode.
3621         (build_warnings): Add -Wno-sign-compare, -Wno-write-strings and
3622         -Wno-narrowing in C++ mode. Run supported-warning-flags tests with
3623         the C++ compiler.  Save/restore CXXFLAGS too.
3624         * configure: Regenerate.
3625
3626 2015-02-27  Pedro Alves  <palves@redhat.com>
3627
3628         * acinclude.m4: Include libiberty.m4.
3629         * configure.ac: Call libiberty_INIT.
3630         * config.in, configure: Regenerate.
3631
3632 2015-02-26  Pedro Alves  <palves@redhat.com>
3633
3634         * linux-low.c (linux_wait_1): When incrementing the PC past a
3635         program breakpoint always use the_low_target.breakpoint_len as
3636         increment, rather than the maximum between that and
3637         the_low_target.decr_pc_after_break.
3638
3639 2015-02-23  Pedro Alves  <palves@redhat.com>
3640
3641         * linux-low.c (check_stopped_by_breakpoint): Don't check if the
3642         thread was doing a step-over; always adjust the PC if
3643         we stepped over a permanent breakpoint.
3644         (linux_wait_1): If we stepped over breakpoint that was on top of a
3645         permanent breakpoint, manually advance the PC past it.
3646
3647 2015-02-23  Pedro Alves  <palves@redhat.com>
3648
3649         * linux-x86-low.c (REGSIZE): Define in both 32-bit and 64-bit
3650         modes.
3651         (x86_fill_gregset, x86_store_gregset): Use it when handling
3652         $orig_eax.
3653
3654 2015-02-20  Pedro Alves  <palves@redhat.com>
3655
3656         * thread-db.c: Include "nat/linux-procfs.h".
3657         (thread_db_init): Skip listing new threads if the kernel supports
3658         PTRACE_EVENT_CLONE and /proc/PID/task/ is accessible.
3659
3660 2015-02-20  Pedro Alves  <palves@redhat.com>
3661
3662         * linux-low.c (status_pending_p_callback): Use ptid_match.
3663
3664 2015-02-19  Antoine Tremblay  <antoine.tremblay@ericsson.com>
3665
3666         PR breakpoints/16812
3667         * linux-low.c (wstatus_maybe_breakpoint): Remove.
3668         (linux_low_filter_event): Update wstatus_maybe_breakpoint name.
3669         (linux_wait_1): Report SIGTRAP,SIGILL,SIGSEGV.
3670
3671 2015-02-10  Antoine Tremblay <antoine.tremblay@ericsson.com>
3672
3673         PR breakpoints/15956
3674         * tracepoint.c (cmd_qtinit): Add check for current_thread.
3675
3676 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
3677
3678         * linux-low.c (linux_low_btrace_conf): Print size.
3679         * server.c (handle_btrace_conf_general_set): New.
3680         (hanle_general_set): Call handle_btrace_conf_general_set.
3681         (handle_query): Report Qbtrace-conf:bts:size as supported.
3682
3683 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
3684
3685         * linux-low.c (linux_low_enable_btrace): Update parameters.
3686         (linux_low_btrace_conf): New.
3687         (linux_target_ops)<to_btrace_conf>: Initialize.
3688         * server.c (current_btrace_conf): New.
3689         (handle_btrace_enable): Rename to ...
3690         (handle_btrace_enable_bts): ... this.  Pass &current_btrace_conf
3691         to target_enable_btrace.  Update comment.  Update users.
3692         (handle_qxfer_btrace_conf): New.
3693         (qxfer_packets): Add btrace-conf entry.
3694         (handle_query): Report qXfer:btrace-conf:read as supported packet.
3695         * target.h (target_ops)<enable_btrace>: Update parameters and comment.
3696         (target_ops)<read_btrace_conf>: New.
3697         (target_enable_btrace): Update parameters.
3698         (target_read_btrace_conf): New.
3699
3700 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
3701
3702         * server.c (handle_btrace_general_set): Remove call to
3703         target_supports_btrace.
3704         (supported_btrace_packets): New.
3705         (handle_query): Call supported_btrace_packets.
3706         * target.h: include btrace-common.h.
3707         (btrace_target_info): Removed.
3708         (supports_btrace, target_supports_btrace): Update parameters.
3709
3710 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
3711
3712         * Makefile.in (SFILES): Add common/btrace-common.c.
3713         (OBS): Add common/btrace-common.o.
3714         (btrace-common.o): Add build rules.
3715         * linux-low: Include btrace-common.h.
3716         (linux_low_read_btrace): Use struct btrace_data.  Call
3717         btrace_data_init and btrace_data_fini.
3718
3719 2015-02-06  Pedro Alves  <palves@redhat.com>
3720
3721         * thread-db.c (find_new_threads_callback): Add debug output.
3722
3723 2015-02-04  Pedro Alves  <palves@redhat.com>
3724
3725         * linux-low.c (handle_extended_wait): Don't resume LWPs here.
3726         (resume_stopped_resumed_lwps): New function.
3727         (linux_wait_for_event_filtered): Use it.
3728
3729 2015-01-15  Sergio Durigan Junior  <sergiodj@redhat.com>
3730
3731         * Makefile.in (SFILES): Add linux-personality.c.
3732         (linux-personality.o): New rule.
3733         * configure.srv (srv_linux_obj): Add linux-personality.o to the
3734         list of objects to be built.
3735         * linux-low.c: Include nat/linux-personality.h.
3736         (linux_create_inferior): Remove code to disable address space
3737         randomization (moved to ../nat/linux-personality.c).  Create
3738         cleanup to disable address space randomization.
3739
3740 2015-01-15  Sergio Durigan Junior  <sergiodj@redhat.com>
3741
3742         * Makefile.in (posix-strerror.o): New rule.
3743         (mingw-strerror.o): Likewise.
3744         * configure: Regenerated.
3745         * configure.ac: Source file ../common/common.host.  Initialize new
3746         variable srv_host_obs.  Add srv_host_obs to GDBSERVER_DEPFILES.
3747
3748 2015-01-14  Yao Qi  <yao@codesourcery.com>
3749
3750         * Makefile.in (SFILES): Add nat/ppc-linux.c.
3751         (ppc-linux.o): New rule.
3752         * configure.srv (powerpc*-*-linux*): Add ppc-linux.o.
3753         * configure.ac: AC_CHECK_FUNCS(getauxval).
3754         * config.in: Re-generated.
3755         * configure: Re-generated.
3756         * linux-ppc-low.c (ppc_arch_setup) [__powerpc64__]: Call
3757         ppc64_64bit_inferior_p
3758
3759 2015-01-14  Yao Qi  <yao@codesourcery.com>
3760
3761         * linux-ppc-low.c: Include "nat/ppc-linux.h".
3762          (PPC_FEATURE_HAS_VSX): Move to nat/ppc-linux.h.
3763         (PPC_FEATURE_HAS_ALTIVEC,  PPC_FEATURE_HAS_SPE): Likewise.
3764         (PT_ORIG_R3, PT_TRAP): Likewise.
3765         (PTRACE_GETVSXREGS, PTRACE_SETVSXREGS): Likewise.
3766         (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Likewise.
3767         (PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): Likewise.
3768
3769 2015-01-10  Joel Brobecker  <brobecker@adacore.com>
3770
3771         * i387-fp.c (i387_cache_to_xsave): In look over
3772         num_avx512_zmmh_high_registers, replace use of struct i387_xsave
3773         zmmh_low_space field by use of zmmh_high_space.
3774
3775 2015-01-09  Pedro Alves  <palves@redhat.com>
3776
3777         * linux-low.c (step_over_bkpt): Move higher up in the file.
3778         (handle_extended_wait): Don't store the stop_pc here.
3779         (get_stop_pc): Adjust comments and rename to ...
3780         (check_stopped_by_breakpoint): ... this.  Record whether the LWP
3781         stopped for a software breakpoint or hardware breakpoint.
3782         (thread_still_has_status_pending_p): New function.
3783         (status_pending_p_callback): Use
3784         thread_still_has_status_pending_p.  If the event is no longer
3785         interesting, resume the LWP.
3786         (handle_tracepoints): Add assert.
3787         (maybe_move_out_of_jump_pad): Remove cancel_breakpoints call.
3788         (wstatus_maybe_breakpoint): New function.
3789         (cancel_breakpoint): Delete function.
3790         (check_stopped_by_watchpoint): New function, factored out from
3791         linux_low_filter_event.
3792         (lp_status_maybe_breakpoint): Delete function.
3793         (linux_low_filter_event): Remove filter_ptid argument.
3794         Leave thread group exits pending here.  Store the LWP's stop PC.
3795         Always leave events pending.
3796         (linux_wait_for_event_filtered): Pull all events out of the
3797         kernel, and leave them all pending.
3798         (count_events_callback, select_event_lwp_callback): Consider all
3799         events.
3800         (cancel_breakpoints_callback, linux_cancel_breakpoints): Delete.
3801         (select_event_lwp): Only give preference to the stepping LWP in
3802         all-stop mode.  Adjust comments.
3803         (ignore_event): New function.
3804         (linux_wait_1): Delete 'retry' label.  Use ignore_event.  Remove
3805         references to cancel_breakpoints.  Adjust to renames.  Also give
3806         equal priority to all LWPs that have had events in non-stop mode.
3807         If reporting a software breakpoint event, unadjust the LWP's PC.
3808         (linux_wait): If linux_wait_1 returned an ignored event, retry.
3809         (stuck_in_jump_pad_callback, move_out_of_jump_pad_callback):
3810         Adjust.
3811         (linux_resume_one_lwp): Store the LWP's PC.  Adjust.
3812         (resume_status_pending_p): Use thread_still_has_status_pending_p.
3813         (linux_stopped_by_watchpoint): Adjust.
3814         (linux_target_ops): Remove reference to linux_cancel_breakpoints.
3815         * linux-low.h (enum lwp_stop_reason): New.
3816         (struct lwp_info) <stop_pc>: Adjust comment.
3817         <stopped_by_watchpoint>: Delete field.
3818         <stop_reason>: New field.
3819         * linux-x86-low.c (x86_linux_prepare_to_resume): Adjust.
3820         * mem-break.c (software_breakpoint_inserted_here)
3821         (hardware_breakpoint_inserted_here): New function.
3822         * mem-break.h (software_breakpoint_inserted_here)
3823         (hardware_breakpoint_inserted_here): Declare.
3824         * target.h (struct target_ops) <cancel_breakpoints>: Remove field.
3825         (cancel_breakpoints): Delete.
3826         * tracepoint.c (clear_installed_tracepoints, stop_tracing)
3827         (upload_fast_traceframes): Remove references to
3828         cancel_breakpoints.
3829
3830 2015-01-09  Pedro Alves  <palves@redhat.com>
3831
3832         * thread-db.c (find_new_threads_callback): Ignore thread if the
3833         kernel thread ID is -1.
3834
3835 2015-01-09  Pedro Alves  <palves@redhat.com>
3836
3837         * linux-low.c (linux_attach_fail_reason_string): Move to
3838         nat/linux-ptrace.c, and rename.
3839         (linux_attach_lwp): Update comment.
3840         (attach_proc_task_lwp_callback): New function.
3841         (linux_attach): Adjust to rename and use
3842         linux_proc_attach_tgid_threads.
3843         (linux_attach_fail_reason_string): Delete declaration.
3844
3845 2015-01-01  Joel Brobecker  <brobecker@adacore.com>
3846
3847         * gdbreplay.c (gdbreplay_version): Update copyright year to 2015.
3848         * server.c (gdbserver_version): Likewise.
3849
3850 2014-12-29  Sergio Durigan Junior  <sergiodj@redhat.com>
3851
3852         * remote-utils.c: Include ctype.h.
3853         (input_interrupt): Explicitly handle the case when the char
3854         received is the NUL byte.  Improve the printing of non-ASCII
3855         characters.
3856
3857 2014-12-16  Joel Brobecker  <brobecker@adacore.com>
3858
3859         * linux-low.c (linux_low_filter_event): Update call to
3860         linux_enable_event_reporting following the addition of
3861         a new parameter to that function.
3862
3863 2014-12-16  Catalin Udma  <catalin.udma@freescale.com>
3864
3865         PR server/17457
3866         * linux-aarch64-low.c (AARCH64_FPSR_REGNO): New define.
3867         (AARCH64_FPCR_REGNO): Likewise.
3868         (AARCH64_NUM_REGS): Update to include fpsr/fpcr registers.
3869         (aarch64_fill_fpregset): Add missing fpsr/fpcr registers.
3870         (aarch64_store_fpregset): Likewise.
3871
3872 2014-12-15  Joel Brobecker  <brobecker@adacore.com>
3873
3874         * lynx-low.c (lynx_resume): Use PTRACE_SINGLESTEP_ONE if N == 1.
3875         Remove FIXME comment about assumption about N.
3876
3877 2014-12-13  Joel Brobecker  <brobecker@adacore.com>
3878
3879         * configure.ac: If large-file support is disabled in GDBserver,
3880         pass --disable-largefile to ACX_CONFIGURE_DIR call for "gnulib".
3881         * configure: Regenerate.
3882
3883 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3884
3885         * linux-low.c (regsets_fetch_inferior_registers): Suppress the
3886         warning upon ENODATA from ptrace.
3887         * linux-s390-low.c (s390_store_tdb): New.
3888         (s390_regsets): Add regset for NT_S390_TDB.
3889
3890 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3891
3892         * linux-low.c (regsets_store_inferior_registers): Skip regsets
3893         without a fill_function.
3894         * linux-s390-low.c (s390_fill_last_break): Remove.
3895         (s390_regsets): Set fill_function to NULL for NT_S390_LAST_BREAK.
3896         (s390_arch_setup): Use regset's size instead of fill_function for
3897         loop end condition.
3898
3899 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3900
3901         * linux-low.c (regsets_fetch_inferior_registers): Do not invoke
3902         the regset's store function when ptrace returned an error.
3903         * regcache.c (get_thread_regcache): Invalidate register cache
3904         before fetching inferior's registers.
3905
3906 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3907
3908         * linux-low.c (regsets_fetch_inferior_registers): Rephrase
3909         while-loop as for-loop.
3910         (regsets_store_inferior_registers): Likewise.
3911
3912 2014-11-28  Yao Qi  <yao@codesourcery.com>
3913
3914         * configure.ac(AC_CHECK_FUNCS): Remove readlink.
3915         * config.in, configure: Re-generate.
3916         * hostio.c (handle_unlink): Remove code checking HAVE_READLINK
3917         is defined.
3918
3919 2014-11-21  Yao Qi  <yao@codesourcery.com>
3920
3921         * configure.ac: Don't invoke AC_FUNC_ALLOCA.
3922         (AC_CHECK_HEADERS): Remove malloc.h.
3923         * configure: Re-generated.
3924         * config.in: Re-generated.
3925         * server.h: Don't include alloca.h and malloc.h.
3926         * gdbreplay.c: Don't check HAVE_ALLOCA_H is defined.
3927         Don't include malloc.h.
3928
3929 2014-11-17  Joel Brobecker  <brobecker@adacore.com>
3930
3931         * lynx-low.c (lynx_write_memory): Put lynx_read_memory and
3932         corresponding ERRNO check in same block.
3933
3934 2014-11-12  Pedro Alves  <palves@redhat.com>
3935
3936         * server.c (cont_thread): Update comment.
3937         (start_inferior, attach_inferior): No longer clear cont_thread.
3938         (handle_v_cont): No longer set cont_thread.
3939         (captured_main): Clear cont_thread each time a GDB connects.
3940
3941 2014-11-12  Pedro Alves  <palves@redhat.com>
3942
3943         * linux-low.c (linux_wait_1): Don't force a wait for the Hc
3944         thread, and don't resume all threads if the Hc thread has exited.
3945
3946 2014-11-12  Pedro Alves  <palves@redhat.com>
3947
3948         * linux-low.c (linux_request_interrupt): Always send a SIGINT to
3949         the process group instead of to a specific LWP.
3950
3951 2014-10-15  Pedro Alves  <palves@redhat.com>
3952
3953         PR server/17487
3954         * win32-arm-low.c (arm_set_thread_context): Remove current_event
3955         parameter.
3956         (arm_set_thread_context): Delete.
3957         (the_low_target): Adjust.
3958         * win32-i386-low.c (debug_registers_changed)
3959         (debug_registers_used): Delete.
3960         (update_debug_registers_callback): New function.
3961         (x86_dr_low_set_addr, x86_dr_low_set_control): Mark all threads as
3962         needing to update their debug registers.
3963         (win32_get_current_dr): New function.
3964         (x86_dr_low_get_addr, x86_dr_low_get_control)
3965         (x86_dr_low_get_status): Fetch the debug register from the thread
3966         record's context.
3967         (i386_initial_stuff): Adjust.
3968         (i386_get_thread_context): Remove current_event parameter.  Don't
3969         clear debug_registers_changed nor copy DR values to
3970         debug_reg_state.
3971         (i386_set_thread_context): Delete.
3972         (i386_prepare_to_resume): New function.
3973         (i386_thread_added): Mark the thread as needing to update irs
3974         debug registers.
3975         (the_low_target): Remove i386_set_thread_context and install
3976         i386_prepare_to_resume.
3977         * win32-low.c (win32_get_thread_context): Adjust.
3978         (win32_set_thread_context): Use SetThreadContext
3979         directly.
3980         (win32_prepare_to_resume): New function.
3981         (win32_require_context): New function, factored out from ...
3982         (thread_rec): ... this.
3983         (continue_one_thread): Call win32_prepare_to_resume on each thread
3984         we're about to continue.
3985         (win32_resume): Call win32_prepare_to_resume on the event thread.
3986         * win32-low.h (struct win32_thread_info)
3987         <debug_registers_changed>: New field.
3988         (struct win32_target_ops): Change prototype of set_thread_context,
3989         delete set_thread_context and add prepare_to_resume.
3990         (win32_require_context): New declaration.
3991
3992 2014-10-08  Gary Benson  <gbenson@redhat.com>
3993
3994         * server.h: Do not include common-exceptions.h.
3995
3996 2014-10-08  Gary Benson  <gbenson@redhat.com>
3997
3998         * server.h: Do not include cleanups.h.
3999
4000 2014-09-30  James Hogan  <james.hogan@imgtec.com>
4001
4002         * Makefile.in (clean): Add rm -f commands for mips-dsp-linux.c and
4003         mips64-dsp-linux.c.
4004
4005 2014-09-23  Yao Qi  <yao@codesourcery.com>
4006
4007         * linux-low.c (lp_status_maybe_breakpoint): New function.
4008         (linux_low_filter_event): Call lp_status_maybe_breakpoint.
4009         (count_events_callback): Likewise.
4010         (select_event_lwp_callback): Likewise.
4011         (cancel_breakpoints_callback): Likewise.
4012
4013 2014-09-19  Don Breazeal  <donb@codesourcery.com>
4014
4015         * linux-low.c (handle_extended_wait): Call
4016         linux_ptrace_get_extended_event.
4017         (get_stop_pc, get_detach_signal, linux_low_filter_event): Call
4018         linux_is_extended_waitstatus.
4019
4020 2014-09-16  Joel Brobecker  <brobecker@adacore.com>
4021
4022         * Makefile.in (CPPFLAGS): Define.
4023         (INTERNAL_CFLAGS_BASE): Add ${CPPFLAGS}.
4024         (IPAGENT_CFLAGS): Remove ${CPPFLAGS}.
4025
4026 2014-09-16  Gary Benson  <gbenson@redhat.com>
4027
4028         * inferiors.h (current_inferior): Renamed as...
4029         (current_thread): New variable.  All uses updated.
4030         * linux-low.c (get_pc): Renamed saved_inferior as saved_thread.
4031         (maybe_move_out_of_jump_pad): Likewise.
4032         (cancel_breakpoint): Likewise.
4033         (linux_low_filter_event): Likewise.
4034         (wait_for_sigstop): Likewise.
4035         (linux_resume_one_lwp): Likewise.
4036         (need_step_over_p): Likewise.
4037         (start_step_over): Likewise.
4038         (linux_stabilize_threads): Renamed save_inferior as saved_thread.
4039         * linux-x86-low.c (x86_linux_update_xmltarget): Likewise.
4040         * proc-service.c (ps_lgetregs): Renamed reg_inferior as reg_thread
4041         and save_inferior as saved_thread.
4042         * regcache.c (get_thread_regcache): Renamed saved_inferior as
4043         saved_thread.
4044         (regcache_invalidate_thread): Likewise.
4045         * remote-utils.c (prepare_resume_reply): Likewise.
4046         * thread-db.c (thread_db_get_tls_address): Likewise.
4047         (disable_thread_event_reporting): Likewise.
4048         (remove_thread_event_breakpoints): Likewise.
4049         * tracepoint.c (gdb_agent_about_to_close): Renamed save_inferior
4050         as saved_thread.
4051         * target.h (set_desired_inferior): Renamed as...
4052         (set_desired_thread): New declaration.  All uses updated.
4053         * server.c (myresume): Updated comment to reference thread instead
4054         of inferior.
4055         (handle_serial_event): Likewise.
4056         (handle_target_event): Likewise.
4057
4058 2014-09-12  Tom Tromey  <tromey@redhat.com>
4059             Gary Benson  <gbenson@redhat.com>
4060
4061         * regcache.h: Include common-regcache.h.
4062         (regcache_read_pc): Don't declare.
4063         * regcache.c (get_thread_regcache_for_ptid): New function.
4064
4065 2014-09-11  Tom Tromey  <tromey@redhat.com>
4066             Gary Benson  <gbenson@redhat.com>
4067
4068         * symbol.c: New file.
4069         * Makefile.in (SFILES): Add symbol.c.
4070         (OBS): Add symbol.o.
4071
4072 2014-09-11  Gary Benson  <gbenson@redhat.com>
4073
4074         * target.c (target_stop_ptid, target_continue_ptid): New
4075         functions.
4076
4077 2014-09-11  Tom Tromey  <tromey@redhat.com>
4078             Gary Benson  <gbenson@redhat.com>
4079
4080         * target.h: Include target/target.h.
4081         * target.c (target_read_memory, target_read_uint32)
4082         (target_write_memory): New functions.
4083
4084 2014-09-11  Gary Benson  <gbenson@redhat.com>
4085
4086         * server.h (debug_hw_points): Don't declare.
4087         * server.c (debug_hw_points): Don't define.  Replace all uses
4088         with show_debug_regs.
4089         * linux-aarch64-low.c (debug_hw_points): Don't define.  Replace
4090         all uses with show_debug_regs.
4091
4092 2014-09-08  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
4093
4094         * linux-ppc-low.c (ppc_collect_ptrace_register): Adjust routine to take
4095         endianness into account.
4096         (ppc_supply_ptrace_register): Likewise.
4097
4098 2014-09-03  James Hogan  <james.hogan@imgtec.com>
4099
4100         * linux-mips-low.c (mips_read_description): Reset errno to 0 prior
4101         to reading DSP_CONTROL with PTRACE_PEEKUSER ptrace call.
4102
4103 2014-09-03  Gary Benson  <gbenson@redhat.com>
4104
4105         * linux-x86-low.c (x86_linux_prepare_to_resume): Use
4106         ALL_DEBUG_ADDRESS_REGISTERS.
4107
4108 2014-09-02  Gary Benson  <gbenson@redhat.com>
4109
4110         * i386-low.h: Renamed as...
4111         * x86-low.h: New file.  All type, function and variable name
4112         prefixes changed from "i386_" to "x86_".  All references updated.
4113         * i386-low.c: Renamed as...
4114         * x86-low.c: New file.  All type, function and variable name
4115         prefixes changed from "i386_" to "x86_".  All references updated.
4116
4117 2014-09-02  Gary Benson  <gbenson@redhat.com>
4118
4119         * linux-x86-low.c (x86_linux_new_process): Use XCNEW.
4120         (x86_linux_new_thread): Likewise.
4121
4122 2014-08-29  Gary Benson  <gbenson@redhat.com>
4123
4124         * server.h (setjmp.h): Do not include.
4125         (toplevel): Do not declare.
4126         (common-exceptions.h): Include.
4127         (cleanups.h): Likewise.
4128         * server.c (toplevel): Do not define.
4129         (exit_code): New static global.
4130         (detach_or_kill_for_exit_cleanup): New function.
4131         (main): New function.  Original main renamed to...
4132         (captured_main): New function.
4133         * utils.c (verror) [!IN_PROCESS_AGENT]: Use throw_verror.
4134
4135 2014-08-29  Gary Benson  <gbenson@redhat.com>
4136
4137         * Makefile.in (SFILES): Add common/common-exceptions.c.
4138         (OBS): Add common-exceptions.o.
4139         (common-exceptions.o): New rule.
4140         * utils.c (prepare_to_throw_exception): New function.
4141
4142 2014-08-29  Gary Benson  <gbenson@redhat.com>
4143
4144         * config.in: Regenerate.
4145         * configure: Likewise.
4146
4147 2014-08-29  Gary Benson  <gbenson@redhat.com>
4148
4149         * Makefile.in (SFILES): Add common/cleanups.c.
4150         (OBS): cleanups.o.
4151         (cleanups.o): New rule.
4152
4153 2014-08-29  Gary Benson  <gbenson@redhat.com>
4154
4155         * utils.c (internal_vwarning): New function.
4156
4157 2014-08-28  Gary Benson  <gbenson@redhat.com>
4158
4159         * utils.h (fatal): Remove declaration.
4160         * utils.c (fatal): Remove function.
4161
4162 2014-08-28  Gary Benson  <gbenson@redhat.com>
4163
4164         * tracepoint.c (gdb_agent_init): Replace fatal with
4165         perror_with_name.
4166         (initialize_tracepoint): Likewise.
4167
4168 2014-08-28  Gary Benson  <gbenson@redhat.com>
4169
4170         * remote-utils.c (remote_prepare): Replace fatal with error.
4171
4172 2014-08-28  Gary Benson  <gbenson@redhat.com>
4173
4174         * linux-low.c (linux_async): Replace fatal with warning.
4175         Tidy up and return.
4176         (linux_start_non_stop): Return -1 if linux_async failed.
4177
4178 2014-08-28  Gary Benson  <gbenson@redhat.com>
4179
4180         * linux-x86-low.c (i386_dr_low_set_addr): Replace check with
4181         gdb_assert.
4182         (i386_dr_low_get_addr): Remove vague comment.
4183         * win32-i386-low.c (i386_dr_low_set_addr): Replace check with
4184         gdb_assert.
4185
4186 2014-08-28  Gary Benson  <gbenson@redhat.com>
4187
4188         * inferiors.c (get_thread_process): Replace check with gdb_assert.
4189         * linux-low.c (linux_wait_for_event_filtered): Replace fatal with
4190         internal_error.
4191         (linux_resume_one_lwp): Likewise.
4192         * linux-x86-low.c (x86_siginfo_fixup): Replace checks with
4193         gdb_assert.
4194         * mem-break.c (raw_bkpt_type_to_target_hw_bp_type): Replace fatal
4195         with internal_error.
4196         * regcache.c (get_thread_regcache): Replace check with gdb_assert.
4197         (init_register_cache): Replace fatal with gdb_assert_not_reached.
4198         (find_register_by_name): Replace fatal with internal_error.
4199         (find_regno): Likewise.
4200         * tdesc.c (init_target_desc): Replace check with gdb_assert.
4201         * thread-db.c (thread_db_create_event): Likewise.
4202         (thread_db_load_search): Likewise.
4203         (try_thread_db_load_1): Likewise.
4204         * tracepoint.c (get_jump_space_head): Replace fatal with
4205         internal_error.
4206         (claim_trampoline_space): Likewise.
4207         (have_fast_tracepoint_trampoline_buffer): Likewise.
4208         (cmd_qtstart): Likewise.
4209         (stop_tracing): Likewise.
4210         (fast_tracepoint_collecting): Likewise.
4211         (target_malloc): Likewise.
4212         (download_tracepoint): Likewise.
4213         (download_trace_state_variables): Replace check with gdb_assert.
4214         (upload_fast_traceframes): Replace fatal with internal_error.
4215
4216 2014-08-19  Tom Tromey  <tromey@redhat.com>
4217             Gary Benson  <gbenson@redhat.com>
4218
4219         * Makefile.in (SFILES): Add common/common-debug.c.
4220         (OBS): Add common-debug.o.
4221         (common-debug.o): New rule.
4222         * debug.h (debug_printf): Don't declare.
4223         * debug.c (debug_printf): Renamed and rewritten as...
4224         (debug_vprintf): New function.
4225
4226 2014-08-19  Gary Benson  <gbenson@redhat.com>
4227
4228         * utils.h: Do not include print-utils.h.
4229
4230 2014-08-19  Tom Tromey  <tromey@redhat.com>
4231             Gary Benson  <gbenson@redhat.com>
4232
4233         * server.h: Add static assertion.
4234         (gdb_byte, CORE_ADDR, LONGEST, ULONGEST): Remove.
4235
4236 2014-08-19  Tom Tromey  <tromey@redhat.com>
4237             Gary Benson  <gbenson@redhat.com>
4238
4239         * Makefile.in (SFILES): Add common/errors.c.
4240         (OBS): Add errors.o.
4241         (IPA_OBS): Add errors-ipa.o.
4242         (errors.o): New rule.
4243         (errors-ipa.o): Likewise.
4244         * utils.h (perror_with_name, error, warning): Don't declare.
4245         * utils.c (warning): Renamed and rewritten as...
4246         (vwarning): New function.
4247         (error): Renamed and rewritten as...
4248         (verror): New function.
4249         (internal_error): Renamed and rewritten as...
4250         (internal_verror): New function.
4251
4252 2014-08-07  Gary Benson  <gbenson@redhat.com>
4253
4254         * configure.ac (AC_CHECK_HEADERS): Remove errno.h.
4255         * configure: Regenerate.
4256         * config.in: Likewise.
4257         * server.h: Do not include errno.h.
4258         * event-loop.c: Likewise.
4259         * hostio-errno.c: Likewise.
4260         * linux-low.c: Likewise.
4261         * remote-utils.c: Likewise.
4262         * spu-low.c: Likewise.
4263         * utils.c: Likewise.
4264         * gdbreplay.c: Unconditionally include errno.h.
4265
4266 2014-08-07  Gary Benson  <gbenson@redhat.com>
4267
4268         * server.h: Do not include string.h.
4269         * event-loop.c: Likewise.
4270         * linux-low.c: Likewise.
4271         * regcache.c: Likewise.
4272         * remote-utils.c: Likewise.
4273         * spu-low.c: Likewise.
4274         * utils.c: Likewise.
4275
4276 2014-08-07  Gary Benson  <gbenson@redhat.com>
4277
4278         * server.h: Do not include gdb_assert.h.
4279
4280 2014-08-07  Gary Benson  <gbenson@redhat.com>
4281
4282         * server.h: Do not include common-utils.h.
4283
4284 2014-08-07  Gary Benson  <gbenson@redhat.com>
4285
4286         * server.h: Do not include ptid.h.
4287         * notif.h: Likewise.
4288
4289 2014-08-07  Gary Benson  <gbenson@redhat.com>
4290
4291         * server.h: Do not include gdb_locale.h.
4292
4293 2014-08-07  Gary Benson  <gbenson@redhat.com>
4294
4295         * server.h: Do not include gdb/signals.h.
4296         * win32-low.c: Likewise.
4297
4298 2014-08-07  Gary Benson  <gbenson@redhat.com>
4299
4300         * server.h: Do not include pathmax.h.
4301
4302 2014-08-07  Gary Benson  <gbenson@redhat.com>
4303
4304         * server.h: Do not include libiberty.h.
4305         * linux-bfin-low.c: Likewise.
4306
4307 2014-08-07  Gary Benson  <gbenson@redhat.com>
4308
4309         * server.h: Do not include ansidecl.h.
4310
4311 2014-08-07  Gary Benson  <gbenson@redhat.com>
4312
4313         * linux-x86-low.c: Do not include stddef.h.
4314         * lynx-ppc-low.c: Likewise.
4315         * tracepoint.c: Likewise.
4316
4317 2014-08-07  Gary Benson  <gbenson@redhat.com>
4318
4319         * server.h: Do not include stdarg.h.
4320         * nto-low.c: Likewise.
4321
4322 2014-08-07  Gary Benson  <gbenson@redhat.com>
4323
4324         * server.h: Do not include stdlib.h.
4325         * inferiors.c: Likewise.
4326         * linux-low.c: Likewise.
4327         * regcache.c: Likewise.
4328         * spu-low.c: Likewise.
4329         * tracepoint.c: Likewise.
4330         * utils.c: Likewise.
4331
4332 2014-08-07  Gary Benson  <gbenson@redhat.com>
4333
4334         * server.h: Do not include stdio.h.
4335         * linux-low.c: Likewise.
4336         * remote-utils.c: Likewise.
4337         * spu-low.c: Likewise.
4338         * utils.c: Likewise.
4339         * wincecompat.c: Likewise.
4340
4341 2014-08-06  Gary Benson  <gbenson@redhat.com>
4342
4343         * regcache.c (init_register_cache): Move conditionals inside if.
4344
4345 2014-08-06  Gary Benson  <gbenson@redhat.com>
4346
4347         * linux-low.c (linux_supports_non_stop): Use target_is_async_p.
4348
4349 2014-07-31  Gary Benson  <gbenson@redhat.com>
4350
4351         * ax.h: Do not include server.h.
4352         * gdbthread.h: Likewise.
4353         * lynx-low.h: Likewise.
4354         * notif.h: Likewise.
4355
4356 2014-07-30  Gary Benson  <gbenson@redhat.com>
4357
4358         * server.h: Include common-defs.h.
4359         Do not include config.h or build-gnulib-gdbserver/config.h.
4360
4361 2014-07-30  Gary Benson  <gbenson@redhat.com>
4362
4363         * hostio-errno.c: Move server.h to top of includes list.
4364         * inferiors.c: Likewise.
4365         * linux-x86-low.c: Likewise.
4366         * notif.c: Include server.h.
4367
4368 2014-07-24  Tom Tromey  <tromey@redhat.com>
4369             Gary Benson  <gbenson@redhat.com>
4370
4371         * server.h (CORE_ADDR): Now unsigned.
4372
4373 2014-07-16  Pedro Alves  <palves@redhat.com>
4374
4375         * linux-low.c (linux_kill_one_lwp): Use kill_lwp, not kill.
4376
4377 2014-07-15  Pedro Alves  <palves@redhat.com>
4378
4379         * linux-low.c (linux_kill_one_lwp): Save errno and work with saved
4380         copy.
4381
4382 2014-07-11  Pedro Alves  <palves@redhat.com>
4383
4384         * linux-low.c (kill_wait_lwp): New function, based on
4385         kill_one_lwp_callback, but use my_waitpid directly.
4386         (kill_one_lwp_callback, linux_kill): Use it.
4387
4388 2014-06-23  Pedro Alves  <palves@redhat.com>
4389
4390         * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR_CONTROL
4391         before setting DR0..DR3.
4392
4393 2014-06-20  Gary Benson  <gbenson@redhat.com>
4394
4395         * configure.ac (AC_REPLACE_FUNCS) <vasprintf, vsnprintf>: Removed.
4396         * configure: Regenerated.
4397         * config.in: Likewise.
4398
4399 2014-06-20  Gary Benson  <gbenson@redhat.com>
4400
4401         * Makefile.in (SFILES): Update locations for files moved
4402         from common to nat.
4403         (object file files): Reordered.
4404
4405 2014-06-20  Gary Benson  <gbenson@redhat.com>
4406
4407         * i386-low.h (i386_dr_low_can_set_addr): Removed.
4408         (i386_dr_low_set_addr): Likewise.
4409         (i386_dr_low_get_addr): Likewise.
4410         (i386_dr_low_can_set_control): Likewise.
4411         (i386_dr_low_set_control): Likewise.
4412         (i386_dr_low_get_control): Likewise.
4413         (i386_dr_low_get_status): Likewise.
4414         (i386_get_debug_register_length): Likewise.
4415         * linux-x86-low.c (i386_dr_low_set_addr):
4416         Changed signature.  Made static.
4417         (i386_dr_low_get_addr): Likewise.
4418         (i386_dr_low_set_control): Likewise.
4419         (i386_dr_low_get_control): Likewise.
4420         (i386_dr_low_get_status): Likewise.
4421         (i386_dr_low): New global variable.
4422         * win32-i386-low.c (i386_dr_low_set_addr):
4423         Changed signature.  Made static.
4424         (i386_dr_low_get_addr): Likewise.
4425         (i386_dr_low_set_control): Likewise.
4426         (i386_dr_low_get_control): Likewise.
4427         (i386_dr_low_get_status): Likewise.
4428         (i386_dr_low): New global variable.
4429
4430 2014-06-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
4431
4432         * configure.ac: Invoke. AC_CHECK_TOOL(AR, ar).
4433         * Makefile.in (AR, AR_FLAGS): Define.
4434         * configure: Regenerate.
4435
4436 2014-06-19  Gary Benson  <gbenson@redhat.com>
4437
4438         * Makefile.in (i386-dregs.o): New rule.
4439         * configure.srv: Add i386-dregs.o to all targets using i386-low.o.
4440         * i386-low.c (target.h): Remove include.
4441         (TARGET_HAS_DR_LEN_8): Now in i386-dregs.c.
4442         (DR_CONTROL_SHIFT): Likewise.
4443         (DR_CONTROL_SIZE): Likewise.
4444         (DR_RW_EXECUTE): Likewise.
4445         (DR_RW_WRITE): Likewise.
4446         (DR_RW_READ): Likewise.
4447         (DR_RW_IORW): Likewise.
4448         (DR_LEN_1): Likewise.
4449         (DR_LEN_2): Likewise.
4450         (DR_LEN_4): Likewise.
4451         (DR_LEN_8): Likewise.
4452         (DR_LOCAL_ENABLE_SHIFT): Likewise.
4453         (DR_GLOBAL_ENABLE_SHIFT): Likewise.
4454         (DR_ENABLE_SIZE): Likewise.
4455         (DR_LOCAL_SLOWDOWN): Likewise.
4456         (DR_GLOBAL_SLOWDOWN): Likewise.
4457         (DR_CONTROL_RESERVED): Likewise.
4458         (I386_DR_CONTROL_MASK): Likewise.
4459         (I386_DR_VACANT): Likewise.
4460         (I386_DR_LOCAL_ENABLE): Likewise.
4461         (I386_DR_GLOBAL_ENABLE): Likewise.
4462         (I386_DR_DISABLE): Likewise.
4463         (I386_DR_SET_RW_LEN): Likewise.
4464         (I386_DR_GET_RW_LEN): Likewise.
4465         (I386_DR_WATCH_HIT): Likewise.
4466         (i386_wp_op_t): Likewise.
4467         (i386_show_dr): Likewise.
4468         (i386_length_and_rw_bits): Likewise.
4469         (i386_insert_aligned_watchpoint): Likewise.
4470         (i386_remove_aligned_watchpoint): Likewise.
4471         (i386_handle_nonaligned_watchpoint): Likewise.
4472         i386_update_inferior_debug_regs(): Likewise.
4473         (i386_dr_insert_watchpoint): Likewise.
4474         (i386_dr_remove_watchpoint): Likewise.
4475         (i386_dr_region_ok_for_watchpoint): Likewise.
4476         (i386_dr_stopped_data_address): Likewise.
4477         (i386_dr_stopped_by_watchpoint): Likewise.
4478
4479 2014-06-19  Gary Benson  <gbenson@redhat.com>
4480
4481         * i386-low.c (i386_dr_show): Renamed to
4482         i386_show_dr and made static.  All uses updated.
4483         (i386_dr_length_and_rw_bits): Renamed to
4484         i386_length_and_rw_bits and made static.
4485         All uses updated.
4486         (i386_dr_insert_aligned_watchpoint): Renamed to
4487         i386_insert_aligned_watchpoint and made static.
4488         All uses updated.
4489         (i386_dr_remove_aligned_watchpoint): Renamed to
4490         i386_remove_aligned_watchpoint and made static.
4491         All uses updated.
4492         (i386_dr_update_inferior_debug_regs): Renamed to
4493         i386_update_inferior_debug_regs and made static.
4494         All uses updated.
4495
4496 2014-06-18  Gary Benson  <gbenson@redhat.com>
4497
4498         * i386-low.h (i386_dr_low_can_set_addr): New macro.
4499         (i386_dr_low_can_set_control): Likewise.
4500         (i386_get_debug_register_length): Likewise.
4501         * i386-low.c (i386_dr_low_can_set_addr): Now in i386-low.h.
4502         (i386_dr_low_can_set_control): Likewise.
4503         (i386_get_debug_register_length): Likewise.
4504
4505 2014-06-17  Gary Benson  <gbenson@redhat.com>
4506
4507         * i386-low.h (i386-dregs.h): New include.
4508         (DR_FIRSTADDR): Now in i386-dregs.h.
4509         (DR_LASTADDR): Likewise.
4510         (DR_NADDR): Likewise.
4511         (DR_STATUS): Likewise.
4512         (DR_CONTROL): Likewise.
4513         (i386_debug_reg_state): Likewise.
4514         (i386_dr_insert_watchpoint): Likewise.
4515         (i386_dr_remove_watchpoint): Likewise.
4516         (i386_dr_region_ok_for_watchpoint): Likewise.
4517         (i386_dr_stopped_data_address): Likewise.
4518         (i386_dr_stopped_by_watchpoint): Likewise.
4519         * i386-low.c (ALL_DEBUG_REGISTERS): Likewise.
4520
4521 2014-06-18  Gary Benson  <gbenson@redhat.com>
4522
4523         * i386-low.h (i386_low_insert_watchpoint): Renamed to
4524         i386_dr_insert_watchpoint.
4525         (i386_low_remove_watchpoint): Renamed to
4526         i386_dr_remove_watchpoint.
4527         (i386_low_region_ok_for_watchpoint): Renamed to
4528         i386_dr_region_ok_for_watchpoint.
4529         (i386_low_stopped_data_address): Renamed to
4530         i386_dr_stopped_data_address.
4531         (i386_low_stopped_by_watchpoint): Renamed to
4532         i386_dr_stopped_by_watchpoint.
4533         * i386-low.c (i386_show_dr): Renamed to
4534         i386_dr_show and made nonstatic.  All uses updated.
4535         (i386_length_and_rw_bits): Renamed to
4536         i386_dr_length_and_rw_bits and made nonstatic.
4537         All uses updated.
4538         (i386_insert_aligned_watchpoint): Renamed to
4539         i386_dr_insert_aligned_watchpoint and made nonstatic.
4540         All uses updated.
4541         (i386_remove_aligned_watchpoint): Renamed to
4542         i386_dr_remove_aligned_watchpoint and made nonstatic.
4543         All uses updated.
4544         (i386_update_inferior_debug_regs): Renamed to
4545         i386_dr_update_inferior_debug_regs and made nonstatic.
4546         All uses updated.
4547         (i386_low_insert_watchpoint): Renamed to
4548         i386_dr_insert_watchpoint.  All uses updated.
4549         (i386_low_remove_watchpoint): Renamed to
4550         i386_dr_remove_watchpoint.  All uses updated.
4551         (i386_low_region_ok_for_watchpoint): Renamed to
4552         i386_dr_region_ok_for_watchpoint.  All uses updated.
4553         (i386_low_stopped_data_address): Renamed to
4554         i386_dr_stopped_data_address.  All uses updated.
4555         (i386_low_stopped_by_watchpoint): Renamed to
4556         i386_dr_stopped_by_watchpoint.  All uses updated.
4557
4558 2014-06-18  Gary Benson  <gbenson@redhat.com>
4559
4560         * i386-low.c (i386_dr_low_can_set_addr): New macro.
4561         (i386_dr_low_can_set_control): Likewise.
4562         (i386_insert_aligned_watchpoint): New check.
4563
4564 2014-06-18  Gary Benson  <gbenson@redhat.com>
4565
4566         * i386-low.c (i386_update_inferior_debug_regs) <inf_state>:
4567         Renamed to state.
4568
4569 2014-06-18  Gary Benson  <gbenson@redhat.com>
4570
4571         * i386-low.c (i386_length_and_rw_bits): Use internal_error
4572         instead of fatal and error.
4573         (i386_handle_nonaligned_watchpoint): Likewise.
4574
4575 2014-06-18  Gary Benson  <gbenson@redhat.com>
4576
4577         * i386-low.c (i386_get_debug_register_length): New macro.
4578         (TARGET_HAS_DR_LEN_8): Remove conditional.  Use above macro.
4579         (i386_show_dr): Use debug_printf instead of fprintf.  Use
4580         phex to format values.
4581
4582 2014-06-18  Gary Benson  <gbenson@redhat.com>
4583
4584         * i386-low.h: Comment changes.
4585         * i386-low.c: Likewise.
4586
4587 2014-06-18  Gary Benson  <gbenson@redhat.com>
4588
4589         * i386-low.c: Whitespace changes.
4590
4591 2014-06-12  Tom Tromey  <tromey@redhat.com>
4592
4593         * utils.c (freeargv): Remove.
4594
4595 2014-06-12  Tom Tromey  <tromey@redhat.com>
4596
4597         * debug.c (debug_printf): Remove HAVE_GETTIMEOFDAY checks.
4598         * server.c (monitor_show_help): Remove HAVE_GETTIMEOFDAY check.
4599         (parse_debug_format_options): Likewise.
4600         (gdbserver_usage): Likewise.
4601         * Makefile.in (LIBIBERTY_BUILDDIR, LIBIBERTY): New variables.
4602         (SUBDIRS, REQUIRED_SUBDIRS): Add libiberty.
4603         (gdbserver$(EXEEXT), gdbreplay$(EXEEXT)): Depend on and link
4604         against libiberty.
4605         ($(LIBGNU)): Depend on libiberty.
4606         (all-lib): Recurse into all subdirs.
4607         (install-only): Invoke "install" target in subdirs.
4608         (vasprintf.o, vsnprintf.o, safe-ctype.o, lbasename.o): Remove
4609         targets.
4610         * configure: Rebuild.
4611         * configure.ac: Add ACX_CONFIGURE_DIR for libiberty.  Don't check
4612         for vasprintf, vsnprintf, or gettimeofday.
4613         * configure.srv: Don't add safe-ctype.o or lbasename.o to
4614         srv_tgtobj.
4615
4616 2014-06-05  Joel Brobecker  <brobecker@adacore.com>
4617
4618         * development.sh: Delete.
4619         * Makefile.in (config.status): Adjust dependency on development.sh.
4620         * configure.ac: Adjust development.sh source call.
4621         * configure: Regenerate.
4622
4623 2014-06-02  Pedro Alves  <palves@redhat.com>
4624
4625         * ax.c (gdb_free_agent_expr): New function.
4626         * ax.h (gdb_free_agent_expr): New declaration.
4627         * mem-break.c (delete_gdb_breakpoint_1): Also clear the commands
4628         list.
4629         (clear_breakpoint_conditions, clear_breakpoint_commands): Make
4630         static.
4631         (clear_breakpoint_conditions_and_commands): New function.
4632         * mem-break.h (clear_breakpoint_conditions): Delete declaration.
4633         (clear_breakpoint_conditions_and_commands): New declaration.
4634
4635 2014-05-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4636
4637         * linux-aarch64-low.c (asm/ptrace.h): Include.
4638
4639 2014-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
4640
4641         Fix TLS access for -static -pthread.
4642         * gdbserver/thread-db.c (struct thread_db): Add td_thr_tlsbase_p.
4643         (thread_db_get_tls_address): Call it if LOAD_MODULE is zero.
4644         (thread_db_load_search, try_thread_db_load_1): Initialize it.
4645
4646 2014-05-20  Pedro Alves  <palves@redhat.com>
4647
4648         * linux-aarch64-low.c (aarch64_insert_point)
4649         (aarch64_remove_point): No longer check whether the type is
4650         supported here.  Adjust to new interface.
4651         (the_low_target): Install aarch64_supports_z_point_type as
4652         supports_z_point_type method.
4653         * linux-arm-low.c (raw_bkpt_type_to_arm_hwbp_type): New function.
4654         (arm_linux_hw_point_initialize): Take an enum raw_bkpt_type
4655         instead of a Z packet char.  Adjust.
4656         (arm_supports_z_point_type): New function.
4657         (arm_insert_point, arm_remove_point): Adjust to new interface.
4658         (the_low_target): Install arm_supports_z_point_type.
4659         * linux-crisv32-low.c (cris_supports_z_point_type): New function.
4660         (cris_insert_point, cris_remove_point): Adjust to new interface.
4661         Don't check whether the type is supported here.
4662         (the_low_target): Install cris_supports_z_point_type.
4663         * linux-low.c (linux_supports_z_point_type): New function.
4664         (linux_insert_point, linux_remove_point): Adjust to new interface.
4665         * linux-low.h (struct linux_target_ops) <insert_point,
4666         remove_point>: Take an enum raw_bkpt_type instead of a char.  Add
4667         raw_breakpoint pointer parameter.
4668         <supports_z_point_type>: New method.
4669         * linux-mips-low.c (mips_supports_z_point_type): New function.
4670         (mips_insert_point, mips_remove_point): Adjust to new interface.
4671         Use mips_supports_z_point_type.
4672         (the_low_target): Install mips_supports_z_point_type.
4673         * linux-ppc-low.c (the_low_target): Install NULL as
4674         supports_z_point_type method.
4675         * linux-s390-low.c (the_low_target): Install NULL as
4676         supports_z_point_type method.
4677         * linux-sparc-low.c (the_low_target): Install NULL as
4678         supports_z_point_type method.
4679         * linux-x86-low.c (x86_supports_z_point_type): New function.
4680         (x86_insert_point): Adjust to new insert_point interface.  Use
4681         insert_memory_breakpoint.  Adjust to new
4682         i386_low_insert_watchpoint interface.
4683         (x86_remove_point): Adjust to remove_point interface.  Use
4684         remove_memory_breakpoint.  Adjust to new
4685         i386_low_remove_watchpoint interface.
4686         (the_low_target): Install x86_supports_z_point_type.
4687         * lynx-low.c (lynx_target_ops): Install NULL as
4688         supports_z_point_type callback.
4689         * nto-low.c (nto_supports_z_point_type): New.
4690         (nto_insert_point, nto_remove_point): Adjust to new interface.
4691         (nto_target_ops): Install nto_supports_z_point_type.
4692         * mem-break.c: Adjust intro comment.
4693         (struct raw_breakpoint) <raw_type, size>: New fields.
4694         <inserted>: Update comment.
4695         <shlib_disabled>: Delete field.
4696         (enum bkpt_type) <gdb_breakpoint>: Delete value.
4697         <gdb_breakpoint_Z0, gdb_breakpoint_Z1, gdb_breakpoint_Z2,
4698         gdb_breakpoint_Z3, gdb_breakpoint_Z4>: New values.
4699         (raw_bkpt_type_to_target_hw_bp_type): New function.
4700         (find_enabled_raw_code_breakpoint_at): New function.
4701         (find_raw_breakpoint_at): New type and size parameters.  Use them.
4702         (insert_memory_breakpoint): New function, based off
4703         set_raw_breakpoint_at.
4704         (remove_memory_breakpoint): New function.
4705         (set_raw_breakpoint_at): Reimplement.
4706         (set_breakpoint): New, based on set_breakpoint_at.
4707         (set_breakpoint_at): Reimplement.
4708         (delete_raw_breakpoint): Go through the_target->remove_point
4709         instead of assuming memory breakpoints.
4710         (find_gdb_breakpoint_at): Delete.
4711         (Z_packet_to_bkpt_type, Z_packet_to_raw_bkpt_type): New functions.
4712         (find_gdb_breakpoint): New function.
4713         (set_gdb_breakpoint_at): Delete.
4714         (z_type_supported): New function.
4715         (set_gdb_breakpoint_1): New function, loosely based off
4716         set_gdb_breakpoint_at.
4717         (check_gdb_bp_preconditions, set_gdb_breakpoint): New functions.
4718         (delete_gdb_breakpoint_at): Delete.
4719         (delete_gdb_breakpoint_1): New function, loosely based off
4720         delete_gdb_breakpoint_at.
4721         (delete_gdb_breakpoint): New function.
4722         (clear_gdb_breakpoint_conditions): Rename to ...
4723         (clear_breakpoint_conditions): ... this.  Don't handle a NULL
4724         breakpoint.
4725         (add_condition_to_breakpoint): Make static.
4726         (add_breakpoint_condition): Take a struct breakpoint pointer
4727         instead of an address.  Adjust.
4728         (gdb_condition_true_at_breakpoint): Rename to ...
4729         (gdb_condition_true_at_breakpoint_z_type): ... this, and add
4730         z_type parameter.
4731         (gdb_condition_true_at_breakpoint): Reimplement.
4732         (add_breakpoint_commands): Take a struct breakpoint pointer
4733         instead of an address.  Adjust.
4734         (gdb_no_commands_at_breakpoint): Rename to ...
4735         (gdb_no_commands_at_breakpoint_z_type): ... this.  Add z_type
4736         parameter.  Return true if no breakpoint was found.  Change debug
4737         output.
4738         (gdb_no_commands_at_breakpoint): Reimplement.
4739         (run_breakpoint_commands): Rename to ...
4740         (run_breakpoint_commands_z_type): ... this.  Add z_type parameter,
4741         and change return type to boolean.
4742         (run_breakpoint_commands): New function.
4743         (gdb_breakpoint_here): Also check for Z1 breakpoints.
4744         (uninsert_raw_breakpoint): Don't try to reinsert a disabled
4745         breakpoint.  Go through the_target->remove_point instead of
4746         assuming memory breakpoint.
4747         (uninsert_breakpoints_at, uninsert_all_breakpoints): Uninsert
4748         software and hardware breakpoints.
4749         (reinsert_raw_breakpoint): Go through the_target->insert_point
4750         instead of assuming memory breakpoint.
4751         (reinsert_breakpoints_at, reinsert_all_breakpoints): Reinsert
4752         software and hardware breakpoints.
4753         (check_breakpoints, breakpoint_here, breakpoint_inserted_here):
4754         Check both software and hardware breakpoints.
4755         (validate_inserted_breakpoint): Assert the breakpoint is a
4756         software breakpoint.  Set the inserted flag to -1 instead of
4757         setting shlib_disabled.
4758         (delete_disabled_breakpoints): Adjust.
4759         (validate_breakpoints): Only validate software breakpoints.
4760         Adjust to inserted flag change.
4761         (check_mem_read, check_mem_write): Skip breakpoint types other
4762         than software breakpoints.  Adjust to inserted flag change.
4763         * mem-break.h (enum raw_bkpt_type): New enum.
4764         (raw_breakpoint, struct process_info): Forward declare.
4765         (Z_packet_to_target_hw_bp_type): Delete declaration.
4766         (raw_bkpt_type_to_target_hw_bp_type, Z_packet_to_raw_bkpt_type)
4767         (set_gdb_breakpoint, delete_gdb_breakpoint)
4768         (clear_breakpoint_conditions): New declarations.
4769         (set_gdb_breakpoint_at, clear_gdb_breakpoint_conditions): Delete.
4770         (breakpoint_inserted_here): Update comment.
4771         (add_breakpoint_condition, add_breakpoint_commands): Replace
4772         address parameter with a breakpoint pointer parameter.
4773         (gdb_breakpoint_here): Update comment.
4774         (delete_gdb_breakpoint_at): Delete.
4775         (insert_memory_breakpoint, remove_memory_breakpoint): Declare.
4776         * server.c (process_point_options): Take a struct breakpoint
4777         pointer instead of an address.  Adjust.
4778         (process_serial_event) <Z/z packets>: Use set_gdb_breakpoint and
4779         delete_gdb_breakpoint.
4780         * spu-low.c (spu_target_ops): Install NULL as
4781         supports_z_point_type method.
4782         * target.h: Include mem-break.h.
4783         (struct target_ops) <prepare_to_access_memory>: Update comment.
4784         <supports_z_point_type>: New field.
4785         <insert_point, remove_point>: Take an enum raw_bkpt_type argument
4786         instead of a char.  Also take a raw breakpoint pointer.
4787         * win32-arm-low.c (the_low_target): Install NULL as
4788         supports_z_point_type.
4789         * win32-i386-low.c (i386_supports_z_point_type): New function.
4790         (i386_insert_point, i386_remove_point): Adjust to new interface.
4791         (the_low_target): Install i386_supports_z_point_type.
4792         * win32-low.c (win32_supports_z_point_type): New function.
4793         (win32_insert_point, win32_remove_point): Adjust to new interface.
4794         (win32_target_ops): Install win32_supports_z_point_type.
4795         * win32-low.h (struct win32_target_ops):
4796         <supports_z_point_type>: New method.
4797         <insert_point, remove_point>: Take an enum raw_bkpt_type argument
4798         instead of a char.  Also take a raw breakpoint pointer.
4799
4800 2014-05-20  Pedro Alves  <palves@redhat.com>
4801
4802         * mem-break.h: Include break-common.h.
4803         (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP)
4804         (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): New defines.
4805         (Z_packet_to_target_hw_bp_type): New declaration.
4806         * mem-break.c (Z_packet_to_target_hw_bp_type): New function.
4807         * i386-low.c (Z_PACKET_HW_BP, Z_PACKET_WRITE_WP, Z_PACKET_READ_WP)
4808         (Z_PACKET_ACCESS_WP): Delete macros.
4809         (Z_packet_to_hw_type): Delete function.
4810         * i386-low.h: Don't include break-common.h here.
4811         (Z_packet_to_hw_type): Delete declaration.
4812         * linux-x86-low.c (x86_insert_point, x86_insert_point): Call
4813         Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type.
4814         * win32-i386-low.c (i386_insert_point, i386_remove_point): Call
4815         Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type.
4816         * linux-aarch64-low.c: Don't include break-common.h here.
4817         (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP)
4818         (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): Delete macros.
4819         (Z_packet_to_target_hw_bp_type): Delete function.
4820         * linux-mips-low.c (rsp_bp_type_to_target_hw_bp_type): Delete
4821         function.
4822         (mips_insert_point, mips_remove_point): Use
4823         Z_packet_to_target_hw_bp_type.
4824
4825 2014-05-20  Pedro Alves  <palves@redhat.com>
4826
4827         * linux-aarch64-low.c: Include break-common.h.
4828         (enum target_point_type): Delete.
4829         (Z_packet_to_point_type): Rename to ...
4830         (Z_packet_to_target_hw_bp_type): ... this, and return a
4831         target_hw_bp_type instead.
4832         (aarch64_show_debug_reg_state): Take an enum target_hw_bp_type
4833         instead of an enum target_point_type.
4834         (aarch64_point_encode_ctrl_reg): Likewise.  Compute type mask from
4835         breakpoint type.
4836         (aarch64_dr_state_insert_one_point)
4837         (aarch64_dr_state_remove_one_point, aarch64_handle_breakpoint)
4838         (aarch64_handle_aligned_watchpoint)
4839         (aarch64_handle_unaligned_watchpoint, aarch64_handle_watchpoint):
4840         Take an enum target_hw_bp_type instead of an enum
4841         target_point_type.
4842         (aarch64_supports_z_point_type): New function.
4843         (aarch64_insert_point, aarch64_remove_point): Use it.  Adjust to
4844         use Z_packet_to_target_hw_bp_type.
4845
4846 2014-05-20  Joel Brobecker  <brobecker@adacore.com>
4847
4848         * configure.ac: Only use -Werror by default when DEVELOPMENT
4849         is true.
4850         * configure: Regenerate.
4851
4852 2014-05-19  Jan Kratochvil  <jan.kratochvil@redhat.com>
4853
4854         Fix gdbserver qGetTLSAddr for x86_64 -m32.
4855         * linux-x86-low.c (X86_64_USER_REGS): New.
4856         (x86_fill_gregset): Call memset for BUF first in x86_64 -m32 case.
4857
4858 2014-04-28  Yao Qi  <yao@codesourcery.com>
4859
4860         * Makefile.in (i386-avx512.c): Fix the typo of generated file
4861         name.
4862
4863 2014-04-25  Pedro Alves  <palves@redhat.com>
4864
4865         PR server/16255
4866         * linux-low.c (linux_attach_fail_reason_string): New function.
4867         (linux_attach_lwp): Delete.
4868         (linux_attach_lwp_1): Rename to ...
4869         (linux_attach_lwp): ... this.  Take a ptid instead of a pid as
4870         argument.  Remove "initial" parameter.  Return int instead of
4871         void.  Don't error or warn here.
4872         (linux_attach): Adjust to call linux_attach_lwp.  Call error on
4873         failure to attach to the tgid.  Call warning when failing to
4874         attach to an lwp.
4875         * linux-low.h (linux_attach_lwp): Take a ptid instead of a pid as
4876         argument.  Remove "initial" parameter.  Return int instead of
4877         void.  Don't error or warn here.
4878         (linux_attach_fail_reason_string): New declaration.
4879         * thread-db.c (attach_thread): Adjust to linux_attach_lwp's
4880         interface change.  Use linux_attach_fail_reason_string.
4881
4882 2014-04-24  Michael Sturm  <michael.sturm@mintel.com>
4883             Walfred Tedeschi  <walfred.tedeschi@intel.com>
4884
4885         * Makefile.in: Added rules to handle new files
4886         i386-avx512.c i386-avx512-linux.c amd64-avx512.c
4887         amd64-avx512-linux.c x32-avx512.c x32-avx512-linux.c.
4888         * configure.srv (srv_i386_regobj): Add i386-avx512.o.
4889         (srv_i386_linux_regobj): Add i386-avx512-linux.o.
4890         (srv_amd64_regobj): Add amd64-avx512.o and x32-avx512.o.
4891         (srv_amd64_linux_regobj): Add amd64-avx512-linux.o and
4892         x32-avx512-linux.o.
4893         (srv_i386_32bit_xmlfiles): Add i386/32bit-avx512.xml.
4894         (srv_i386_64bit_xmlfiles): Add i386/64bit-avx512.xml.
4895         (srv_amd64_xmlfiles): Add i386/amd64-avx512.xml and
4896         i386/x32-avx512.xml.
4897         (srv_i386_linux_xmlfiles): Add i386/i386-avx512-linux.xml.
4898         (srv_amd64_linux_xmlfiles): Add i386/amd64-avx512-linux.xml and
4899         i386/x32-avx512-linux.xml.
4900         * i387-fp.c (num_avx512_k_registers): New constant for number
4901         of K registers.
4902         (num_avx512_zmmh_low_registers): New constant for number of
4903         lower ZMM registers (0-15).
4904         (num_avx512_zmmh_high_registers): New constant for number of
4905         higher ZMM registers (16-31).
4906         (num_avx512_ymmh_registers): New contant for number of higher
4907         YMM registers (ymm16-31 added by avx521 on x86_64).
4908         (num_avx512_xmm_registers): New constant for number of higher
4909         XMM registers (xmm16-31 added by AVX512 on x86_64).
4910         (struct i387_xsave): Add space for AVX512 registers.
4911         (i387_cache_to_xsave): Change raw buffer size to 64 characters.
4912         Add code to handle AVX512 registers.
4913         (i387_xsave_to_cache): Add code to handle AVX512 registers.
4914         * linux-x86-low.c (init_registers_amd64_avx512_linux): New
4915         prototypei from generated file.
4916         (tdesc_amd64_avx512_linux): Likewise.
4917         (init_registers_x32_avx512_linux): Likewise.
4918         (tdesc_x32_avx512_linux): Likewise.
4919         (init_registers_i386_avx512_linux): Likewise.
4920         (tdesc_i386_avx512_linux): Likewise.
4921         (x86_64_regmap): Add AVX512 registers.
4922         (x86_linux_read_description): Add code to handle AVX512 XSTATE
4923         mask.
4924         (initialize_low_arch): Add code to initialize AVX512 registers.
4925
4926 2014-04-23  Pedro Alves  <palves@redhat.com>
4927
4928         * mem-break.c (find_gdb_breakpoint_at): Make static.
4929         * mem-break.h (find_gdb_breakpoint_at): Delete declaration.
4930
4931 2014-04-23  Pedro Alves  <palves@redhat.com>
4932
4933         * i386-low.c: Don't include break-common.h here.
4934         (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change
4935         prototype to take target_hw_bp_type as argument instead of a Z
4936         packet char.
4937         * i386-low.h: Include break-common.h here.
4938         (Z_packet_to_hw_type): Declare.
4939         (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change
4940         prototypes.
4941         * linux-x86-low.c (x86_insert_point): Convert the packet number to
4942         a target_hw_bp_type before calling i386_low_insert_watchpoint.
4943         (x86_remove_point): Convert the packet number to a
4944         target_hw_bp_type before calling i386_low_remove_watchpoint.
4945         * win32-i386-low.c (i386_insert_point): Convert the packet number
4946         to a target_hw_bp_type before calling i386_low_insert_watchpoint.
4947         (i386_remove_point): Convert the packet number to a
4948         target_hw_bp_type before calling i386_low_remove_watchpoint.
4949
4950 2014-04-23  Pedro Alves  <palves@redhat.com>
4951
4952         * utils.h (perror_with_name): Add ATTRIBUTE_NORETURN.
4953
4954 2014-04-10  Pedro Alves  <palves@redhat.com>
4955
4956         * mem-break.c (add_breakpoint_condition, add_breakpoint_commands):
4957         Check if the condition or command is NULL before checking if the
4958         breakpoint is known.  On success, return true.
4959         * mem-break.h (add_breakpoint_condition): Document return.
4960         (add_breakpoint_commands): Add describing comment.
4961         * server.c (skip_to_semicolon): New function.
4962         (process_point_options): Use it.
4963
4964 2014-04-09  Pedro Alves  <palves@redhat.com>
4965
4966         * linux-low.c (linux_read_loadmap): Pass current_inferior directly
4967         to lwpid_of.
4968
4969 2014-02-27  Pedro Alves  <palves@redhat.com>
4970
4971         PR 12702
4972         * inferiors.h (A_I_NEXT, ALL_INFERIORS_TYPE, ALL_PROCESSES): New
4973         macros.
4974         * linux-low.c (delete_lwp, handle_extended_wait): Add debug
4975         output.
4976         (last_thread_of_process_p): Take a PID argument instead of a
4977         thread pointer.
4978         (linux_wait_for_lwp): Delete.
4979         (num_lwps, check_zombie_leaders, not_stopped_callback): New
4980         functions.
4981         (linux_low_filter_event): New function, party factored out from
4982         linux_wait_for_event.
4983         (linux_wait_for_event): Rename to ...
4984         (linux_wait_for_event_filtered): ... this.  Add new filter ptid
4985         argument.  Partly rewrite.  Always use waitpid(-1, WNOHANG) and
4986         sigsuspend.  Check for zombie leaders.
4987         (linux_wait_for_event): Reimplement as wrapper around
4988         linux_wait_for_event_filtered.
4989         (linux_wait_1): Handle TARGET_WAITKIND_NO_RESUMED.  Assume that if
4990         a normal or signal exit is seen, it's the whole process exiting.
4991         (wait_for_sigstop): No longer a for_each_inferior callback.
4992         Rewrite on top of linux_wait_for_event_filtered.
4993         (stop_all_lwps): Call wait_for_sigstop directly.
4994         * server.c (resume, handle_target_event): Handle
4995         TARGET_WAITKIND_NO_RESUMED.
4996
4997 2014-02-26  Joel Brobecker  <brobecker@adacore.com>
4998
4999         * win32-low.c (psapi_get_dll_name,
5000         * win32_CreateToolhelp32Snapshot): Delete.
5001         (win32_CreateToolhelp32Snapshot, win32_Module32First)
5002         (win32_Module32Next, load_toolhelp, toolhelp_get_dll_name):
5003         Delete.
5004         (handle_load_dll): Add function description.
5005         Remove code using psapi_get_dll_name and toolhelp_get_dll_name.
5006
5007 2014-02-26  Joel Brobecker  <brobecker@adacore.com>
5008
5009         * win32-low.c (win32_add_one_solib): Add 0x1000 to load_addr.
5010         Add comment.
5011         (win32_add_all_dlls): Remove 0x1000 offset applied to DLL
5012         base address when calling win32_add_one_solib.
5013         (handle_load_dll): Delete local variable load_addr.
5014         Remove 0x1000 offset applied to DLL base address when calling
5015         win32_add_one_solib.
5016         (handle_unload_dll): Add comment.
5017
5018 2014-02-26  Joel Brobecker  <brobecker@adacore.com>
5019
5020         * win32-low.c (win32_add_all_dlls): Renames
5021         win32_ensure_ntdll_loaded.  Rewrite function documentation.
5022         Adjust implementation to always load all DLLs.
5023         Add 0x1000 offset to DLL base address when calling
5024         win32_add_one_solib.
5025         (child_initialization_done): New static global.
5026         (do_initial_child_stuff): Set child_initialization_done to
5027         zero during child initialization, and 1 after.  Replace call
5028         to win32_ensure_ntdll_loaded by call to win32_add_all_dlls.
5029         Add comment.
5030         (match_dll_by_basename, dll_is_loaded_by_basename): Delete.
5031         (handle_unload_dll): Add function documentation.
5032         (get_child_debug_event): Ignore load and unload DLL events
5033         during child initialization.
5034
5035 2014-02-20  Doug Evans  <dje@google.com>
5036
5037         Remove global all_lwps.
5038         * inferiors.h (ptid_of): Move here from linux-low.h.
5039         (pid_of, lwpid_of): Ditto.
5040         * linux-aarch64-low.c (debug_reg_change_callback): Update, "entry"
5041         parameter is a struct thread_info * now.
5042         (aarch64_notify_debug_reg_change): Fetch pid from current_inferior
5043         directly.  Pass &all_threads to find_inferior instead of &all_lwps.
5044         (aarch64_stopped_data_address): Fetch lwpid from current_inferior
5045         directly.
5046         (aarch64_linux_prepare_to_resume): Fetch ptid from thread.
5047         (aarch64_arch_setup): Fetch lwpid from current_inferior directly.
5048         * linux-arm-low.c (update_registers_callback): Update, "entry"
5049         parameter is a struct thread_info * now.
5050         Fetch lwpid from current_inferior directly.
5051         (arm_insert_point): Pass &all_threads to find_inferior instead of
5052         &all_lwps.
5053         (arm_remove_point): Ditto.
5054         (arm_stopped_by_watchpoint): Fetch lwp from current_inferior.
5055         (arm_prepare_to_resume): Fetch pid from thread.
5056         (arm_read_description): Fetch lwpid from current_inferior directly.
5057         * linux-low.c (all_lwps): Delete.
5058         (delete_lwp): Delete call to remove_inferior.
5059         (handle_extended_wait): Fetch lwpid from thread.
5060         (add_lwp): Don't set lwp->entry.id.  Remove call to
5061         add_inferior_to_list.
5062         (linux_attach_lwp_1): Fetch pid from current_inferior directly.
5063         (linux_kill_one_lwp): Fetch ptid,lwpid from thread.
5064         (kill_one_lwp_callback): Ditto.
5065         (linux_kill): Don't dereference NULL pointer.
5066         Fetch ptid,lwpid from thread.
5067         (get_detach_signal): Fetch ptid from thread.
5068         (linux_detach_one_lwp): Fetch ptid,lwpid from thread.
5069         Simplify call to regcache_invalidate_thread.
5070         (delete_lwp_callback): Update, "entry" parameter is a
5071         struct thread_info * now.  Fetch pid from thread.
5072         (linux_mourn): Pass &all_threads to find_inferior instead of &all_lwps.
5073         (status_pending_p_callback): Update, "entry" parameter is a
5074         struct thread_info * now.  Fetch ptid from thread.
5075         (find_lwp_pid): Update, "entry" parameter is a
5076         struct thread_info * now.
5077         (linux_wait_for_lwp): Fetch pid from thread.
5078         (linux_fast_tracepoint_collecting): Fetch lwpid from thread.
5079         (maybe_move_out_of_jump_pad): Fetch lwpid from current_inferior.
5080         (enqueue_one_deferred_signal): Fetch lwpid from thread.
5081         (dequeue_one_deferred_signal): Ditto.
5082         (cancel_breakpoint): Fetch ptid from current_inferior.
5083         (linux_wait_for_event): Pass &all_threads to find_inferior,
5084         not &all_lwps.  Fetch ptid, lwpid from thread.
5085         (count_events_callback): Update, "entry" parameter is a
5086         struct thread_info * now.
5087         (select_singlestep_lwp_callback): Ditto.
5088         (select_event_lwp_callback): Ditto.
5089         (cancel_breakpoints_callback): Ditto.
5090         (linux_cancel_breakpoints): Pass &all_threads to find_inferior,
5091         not &all_lwps.
5092         (select_event_lwp): Ditto.  Fetch ptid from event_thread.
5093         (unsuspend_one_lwp): Update, "entry" parameter is a
5094         struct thread_info * now.
5095         (unsuspend_all_lwps): Pass &all_threads to find_inferior,
5096         not &all_lwps.
5097         (linux_stabilize_threads): Ditto.  And for for_each_inferior.
5098         Fetch lwpid from thread, not lwp.
5099         (linux_wait_1): Fetch ptid, lwpid from current_inferior.
5100         Pass &all_threads to find_inferior, not &all_lwps.
5101         (send_sigstop): Fetch lwpid from thread, not lwp.
5102         (send_sigstop_callback): Update, "entry" parameter is a
5103         struct thread_info * now.
5104         (suspend_and_send_sigstop_callback): Ditto.
5105         (wait_for_sigstop): Ditto.  Fetch ptid, lwpid from thread, lwp.
5106         (stuck_in_jump_pad_callback): Update, "entry" parameter is a
5107         struct thread_info * now.
5108         (move_out_of_jump_pad_callback): Ditto.  Fetch ptid, lwpid
5109         from thread, lwp.
5110         (lwp_running): Update, "entry" parameter is a
5111         struct thread_info * now.
5112         (stop_all_lwps): Fetch ptid from thread.
5113         Pass &all_threads to find_inferior, for_each_inferior, not &all_lwps.
5114         (linux_resume_one_lwp): Fetch lwpid from thread.
5115         (linux_set_resume_request): Update, "entry" parameter is a
5116         struct thread_info * now.  Fetch pid, lwpid from thread.
5117         (resume_status_pending_p): Update, "entry" parameter is a
5118         struct thread_info * now.
5119         (need_step_over_p): Ditto.  Fetch lwpid from thread.
5120         (start_step_over): Fetch lwpid from thread.
5121         (linux_resume_one_thread): Update, "entry" parameter is a
5122         struct thread_info * now.  Fetch lwpid from thread.
5123         (linux_resume): Pass &all_threads to find_inferior, not &all_lwps.
5124         (proceed_one_lwp): Update, "entry" parameter is a
5125         struct thread_info * now.  Fetch lwpid from thread.
5126         (unsuspend_and_proceed_one_lwp): Update, "entry" parameter is a
5127         struct thread_info * now.
5128         (proceed_all_lwps): Pass &all_threads to find_inferior, not &all_lwps.
5129         (unstop_all_lwps): Ditto.  Fetch lwpid from thread.
5130         (regsets_fetch_inferior_registers): Fetch lwpid from current_inferior
5131         directly.
5132         (regsets_store_inferior_registers): Ditto.
5133         (fetch_register, store_register): Ditto.
5134         (linux_read_memory, linux_write_memory): Ditto.
5135         (linux_request_interrupt): Ditto.
5136         (linux_read_auxv): Ditto.
5137         (linux_xfer_siginfo): Ditto.
5138         (linux_qxfer_spu): Ditto.
5139         (linux_qxfer_libraries_svr4): Ditto.
5140         * linux-low.h (ptid_of, pid_of, lwpid_of): Delete,
5141         moved to inferiors.h.
5142         (get_lwp): Delete.
5143         (get_thread_lwp): Update.
5144         (struct lwp_info): Delete member "entry".  Simplify comment for
5145         member "thread".
5146         (all_lwps): Delete.
5147         * linux-mips-low.c (mips_read_description): Fetch lwpid from
5148         current_inferior directly.
5149         (update_watch_registers_callback): Update, "entry" parameter is a
5150         struct thread_info * now.  Fetch pid from thread.
5151         (mips_linux_prepare_to_resume): Fetch ptid from thread.
5152         (mips_insert_point): Fetch lwpid from current_inferior.
5153         Pass &all_threads to find_inferior, not &all_lwps.
5154         (mips_remove_point): Pass &all_threads to find_inferior, not &all_lwps.
5155         (mips_stopped_by_watchpoint): Fetch lwpid from current_inferior
5156         directly.
5157         (mips_stopped_data_address): Ditto.
5158         * linux-s390-low.c (s390_arch_setup): Fetch pid from current_inferior
5159         directly.
5160         * linux-tile-low.c (tile_arch_setup): Ditto.
5161         * linux-x86-low.c (x86_get_thread_area): Fetch lwpid from thread.
5162         (update_debug_registers_callback): Update, "entry" parameter is a
5163         struct thread_info * now.  Fetch pid from thread.
5164         (i386_dr_low_set_addr): Fetch pid from current_inferior directly.
5165         Pass &all_threads to find_inferior, not &all_lwps.
5166         (i386_dr_low_get_addr): Fetch ptid from current_inferior directly.
5167         (i386_dr_low_set_control): Fetch pid from current_inferior directly.
5168         Pass &all_threads to find_inferior, not &all_lwps.
5169         (i386_dr_low_get_control): Fetch ptid from current_inferior directly.
5170         (i386_dr_low_get_status): Ditto.
5171         (x86_linux_prepare_to_resume): Fetch ptid from thread.
5172         (x86_siginfo_fixup): Fetch lwpid from current_inferior directly.
5173         (x86_linux_read_description): Ditto.
5174         * proc-service.c (ps_getpid): Fetch pid from current_inferior directly.
5175
5176 2014-02-20  Doug Evans  <dje@google.com>
5177
5178         * inferiors.c (get_first_inferior): Fix buglet.
5179
5180 2014-02-19  Doug Evans  <dje@google.com>
5181
5182         * gdbthread.h (add_thread): Change result type to struct thread_info *.
5183         * inferiors.c (add_thread): Change result type to struct thread_info *.
5184         All callers updated.
5185         (add_lwp): Call add_thread here instead of in callers.
5186         All callers updated.
5187         * linux-low.h (get_lwp_thread): Rewrite.
5188         (struct lwp_info): New member "thread".
5189
5190 2014-02-19  Doug Evans  <dje@google.com>
5191
5192         * linux-low.c (add_lwp): Change result to struct lwp_info *.
5193         All callers updated.
5194
5195 2014-02-19  Doug Evans  <dje@google.com>
5196
5197         * inferiors.c (add_thread): Fix whitespace.
5198
5199 2014-02-19  Doug Evans  <dje@google.com>
5200
5201         * dll.c (clear_dlls): Replace accessing list implemention details
5202         with API function.
5203         * gdbthread.h (get_first_thread): Declare.
5204         * inferiors.c (for_each_inferior_with_data): New function.
5205         (get_first_thread): New function.
5206         (find_thread_ptid): Simplify.
5207         (get_first_inferior): New function.
5208         (clear_list): Delete.
5209         (one_inferior_p): New function.
5210         (clear_inferior_list): New function.
5211         (clear_inferiors): Update.
5212         * inferiors.h (for_each_inferior_with_data): Declare.
5213         (clear_inferior_list): Declare.
5214         (one_inferior_p): Declare.
5215         (get_first_inferior): Declare.
5216         * linux-low.c (linux_wait_for_event): Replace accessing list
5217         implemention details with API function.
5218         * server.c (target_running): Ditto.
5219         (accumulate_file_name_length): New function.
5220         (emit_dll_description): New function.
5221         (handle_qxfer_libraries): Replace accessing list implemention
5222         details with API function.
5223         (handle_qxfer_threads_worker): New function.
5224         (handle_qxfer_threads_proper): Replace accessing list implemention
5225         details with API function.
5226         (handle_query): Ditto.
5227         (visit_actioned_threads_callback_ftype): New typedef.
5228         (visit_actioned_threads_data): New struct.
5229         (visit_actioned_threads): Rewrite to be find_inferior callback.
5230         (resume): Call find_inferior.
5231         (handle_status): Replace accessing list implemention
5232         details with API function.
5233         (process_serial_event): Replace accessing list implemention details
5234         with API function.
5235         * target.c (set_desired_inferior): Replace accessing list implemention
5236         details with API function.
5237         * tracepoint.c (same_process_p): New function.
5238         (gdb_agent_about_to_close): Replace accessing list implemention
5239         details with API function.
5240         * win32-low.c (child_delete_thread): Replace accessing list
5241         implemention details with API function.
5242         (match_dll_by_basename): New function.
5243         (dll_is_loaded_by_basename): New function.
5244         (win32_ensure_ntdll_loaded): Replace accessing list implemention
5245         details call to dll_is_loaded_by_basename.
5246
5247 2014-02-19  Doug Evans  <dje@google.com>
5248
5249         * dll.h (struct dll_info): Add comment.
5250         * gdbthread.h (struct thread_info): Add comment.
5251         (current_ptid): Simplify.
5252         * inferiors.c (add_process): Update.
5253         (remove_process): Update.
5254         * inferiors.h (struct process_info): Rename member "head" to "entry".
5255         * linux-low.c (delete_lwp): Update.
5256         (add_lwp): Update.
5257         (last_thread_of_process_p): Update.
5258         (kill_one_lwp_callback, linux_kill): Update.
5259         (status_pending_p_callback): Update.
5260         (wait_for_sigstop): Update.  Simplify read of ptid.
5261         (start_step_over): Update.
5262         * linux-low.h (ptid_of, pid_of, lwpid_of): Update.
5263         (get_lwp_thread): Update.
5264         (struct lwp_info): Rename member "head" to "entry".
5265         * regcache.h (inferior_list_entry): Delete.
5266         * server.c (kill_inferior_callback): Update.
5267         (detach_or_kill_inferior_callback): Update.
5268         (print_started_pid): Update.
5269         (print_attached_pid): Update.
5270         (process_serial_event): Simplify read of ptid.
5271         * thread-db.c (thread_db_create_event): Update.
5272         (thread_db_get_tls_address): Update.
5273         * win32-low.c (current_inferior_ptid): Simplify.
5274
5275 2014-02-19  Tom Tromey  <tromey@redhat.com>
5276
5277         * target.h (struct target_ops) <supports_btrace>: Add target_ops
5278         argument.
5279         (target_supports_btrace): Update.
5280
5281 2014-02-14  Yao Qi  <yao@codesourcery.com>
5282
5283         * Makefile.in (IPA_OBJS): Append rsp-low-ipa.o.
5284         (rsp-low-ipa.o): New target.
5285
5286 2014-02-12  Tom Tromey  <tromey@redhat.com>
5287
5288         * ax.c (gdb_parse_agent_expr): Use hex2bin, not
5289         convert_ascii_to_int.
5290         * regcache.c (registers_to_string): Likewise.
5291         * remote-utils.c (decode_M_packet): Likewise.
5292         * server.c (process_serial_event): Likewise.
5293
5294 2014-02-12  Tom Tromey  <tromey@redhat.com>
5295
5296         * server.c (handle_query, handle_v_run): Use hex2bin, not
5297         unhexify.
5298         * tracepoint.c (cmd_qtdpsrc, cmd_qtdv, cmd_qtnotes): Likewise.
5299
5300 2014-02-12  Tom Tromey  <tromey@redhat.com>
5301
5302         * ax.c (gdb_unparse_agent_expr): Use bin2hex, not
5303         convert_int_to_ascii.
5304         * regcache.c (registers_to_string, collect_register_as_string):
5305         Likewise.
5306         * remote-utils.c (look_up_one_symbol, relocate_instruction):
5307         Likewise.
5308         * server.c (process_serial_event): Likewise.
5309         * tracepoint.c (cmd_qtstatus, response_source, response_tsv)
5310         (cmd_qtbuffer, cstr_to_hexstr): Likewise.
5311
5312 2014-02-12  Tom Tromey  <tromey@redhat.com>
5313
5314         * remote-utils.c (look_up_one_symbol, monitor_output): Use
5315         bin2hex, not hexify.
5316         * tracepoint.c (cmd_qtstatus): Likewise.
5317
5318 2014-02-12  Tom Tromey  <tromey@redhat.com>
5319
5320         * remote-utils.c (monitor_output): Pass explicit length to
5321         hexify.
5322
5323 2014-02-12  Tom Tromey  <tromey@redhat.com>
5324
5325         * tracepoint.c: Include rsp-low.h.
5326         * server.c: Include rsp-low.h.
5327         * remote-utils.h (convert_ascii_to_int, convert_int_to_ascii)
5328         (unhexify, hexify, remote_escape_output, unpack_varlen_hex): Don't
5329         declare.
5330         * remote-utils.c: Include rsp-low.h.
5331         (fromhex, hexchars, ishex, unhexify, tohex, hexify)
5332         (remote_escape_output, remote_unescape_input, unpack_varlen_hex)
5333         (convert_int_to_ascii, convert_ascii_to_int): Move to
5334         common/rsp-low.c.
5335         * regcache.c: Include rsp-low.h.
5336         * ax.c: Include rsp-low.h.
5337         * Makefile.in (SFILES): Add common/rsp-low.c.
5338         (OBS): Add rsp-low.o.
5339         (rsp-low.o): New target.
5340
5341 2014-02-12  Tom Tromey  <tromey@redhat.com>
5342
5343         * utils.h (pulongest, plongest, phex_nz): Don't declare.
5344         Include print-utils.h.
5345         * utils.c (NUMCELLS, CELLSIZE, get_cell, decimal2str, pulongest)
5346         (plongest, thirty_two, phex_nz): Remove.
5347         * Makefile.in (SFILES): Add common/print-utils.c.
5348         (OBS): Add print-utils.o.
5349         (print-utils-ipa.o): New target.
5350         (print-utils.o): New target.
5351         (IPA_OBJS): Add print-utils-ipa.o.
5352
5353 2014-02-06  Tom Tromey  <tromey@redhat.com>
5354
5355         * Makefile.in (SFILES): Fix indentation.
5356
5357 2014-02-05  Doug Evans  <dje@google.com>
5358
5359         * linux-low.c (linux_wait_for_event): Improve comment.
5360         (linux_wait_1): Keep current_inferior in sync with event_child.
5361
5362 2014-01-22  Doug Evans  <dje@google.com>
5363
5364         * gdbthread.h (gdb_id_to_thread): Delete, unused.
5365
5366 2014-01-22  Doug Evans  <dje@google.com>
5367
5368         * configure.ac (AC_CHECK_FUNCS): Add test for gettimeofday.
5369         * configure: Regenerate.
5370         * config.in: Regenerate.
5371         * Makefile.in (SFILES): Add debug.c.
5372         (OBS): Add debug.o.
5373         * debug.c: New file.
5374         * debug.h: New file.
5375         * linux-aarch64-low.c (*): Update all debugging printfs to use
5376         debug_printf instead of fprintf.
5377         * linux-arm-low.c (*): Ditto.
5378         * linux-cris-low.c (*): Ditto.
5379         * linux-crisv32-low.c (*): Ditto.
5380         * linux-m32r-low.c (*): Ditto.
5381         * linux-sparc-low.c (*): Ditto.
5382         * linux-x86.c (*): Ditto.
5383         * linux-low.c (*): Ditto.
5384         (linux_wait_1): Add calls to debug_enter, debug_exit.
5385         (linux_wait): Remove redundant debugging printf.
5386         (stop_all_lwps): Add calls to debug_enter, debug_exit.
5387         (linux_resume, unstop_all_lwps): Ditto.
5388         * mem-break.c (*): Update all debugging printfs to use
5389         debug_printf instead of fprintf.
5390         * remote-utils.c (*): Ditto.
5391         * thread-db.c (*): Ditto.
5392         * server.c #include <ctype.h>, "gdb_vecs.h".
5393         (debug_threads): Moved to debug.c.
5394         (*): Update all debugging printfs to use debug_printf instead of
5395         fprintf.
5396         (start_inferior): Replace call to fflush with call to debug_flush.
5397         (monitor_show_help): Mention set debug-format.
5398         (parse_debug_format_options): New function.
5399         (handle_monitor_command): Handle "monitor set debug-format".
5400         (gdbserver_usage): Mention --debug-format.
5401         (main): Parse --debug-format.
5402         * server.h (debug_threads): Declaration moved to debug.h.
5403         #include "debug.h".
5404         * tracepoint.c (trace_debug_1) [!IN_PROCESS_AGENT]: Add version of
5405         trace_debug_1 that uses debug_printf.
5406         (tracepoint_look_up_symbols): Update all debugging printfs to use
5407         debug_printf instead of fprintf.
5408
5409 2014-01-20  Baruch Siach  <baruch@tkos.co.il>
5410
5411         * linux-xtensa-low.c: Include asm/ptrace.h instead of
5412         sys/ptrace.h.
5413
5414 2014-01-17  Pedro Alves  <palves@redhat.com>
5415
5416         PR build/16445
5417         * linux-x86-low.c: Don't include elf/common.h if ELFMAG0 is
5418         defined after including gdb_proc_service.h.
5419
5420 2014-01-16  Doug Evans  <dje@google.com>
5421
5422         * dll.c (UNSPECIFIED_CORE_ADDR): New macro.
5423         (match_dll): Use it.
5424
5425 2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
5426
5427         * target.h (target_ops) <read_btrace>: Change parameters and
5428         return type to allow error reporting.
5429         * server.c (handle_qxfer_btrace): Support delta reads.  Pass
5430         trace reading errors on.
5431         * linux-low.c (linux_low_read_btrace): Pass trace reading
5432         errors on.
5433         (linux_low_disable_btrace): New.
5434
5435 2014-01-15  Doug Evans  <dje@google.com>
5436
5437         * inferiors.c (thread_id_to_gdb_id): Delete.
5438         * inferiors.h (thread_id_to_gdb_id): Delete.
5439
5440 2014-01-13  Eli Zaretskii  <eliz@gnu.org>
5441
5442         * Makefile.in (INCLUDE_CFLAGS): Remove trailing slash from
5443         "-I$(srcdir)/../".  Fixes MinGW compilation errors with old GCC
5444         versions.
5445
5446 2014-01-08  Pedro Alves  <palves@redhat.com>
5447
5448         * server.c (handle_status): Don't discard previous queued stop
5449         replies or thread's pending status here.
5450         (main) <disconnection>: Do it here instead.
5451
5452 2014-01-08  Pedro Alves  <palves@redhat.com>
5453
5454         * gdbthread.h (struct thread_info) <status_pending_p>: New field.
5455         * server.c (visit_actioned_threads, handle_pending_status): New
5456         function.
5457         (handle_v_cont): Factor out parts to ...
5458         (resume): ... this new function.  If in all-stop, and a thread
5459         being resumed has a pending status, report it without actually
5460         resuming.
5461         (myresume): Adjust to use the new 'resume' function.
5462         (clear_pending_status_callback, set_pending_status_callback)
5463         (find_status_pending_thread_callback): New functions.
5464         (handle_status): Handle the case of multiple threads having
5465         interesting statuses to report.  Report threads' real last signal
5466         instead of always reporting GDB_SIGNAL_TRAP.  Look for a thread
5467         with an interesting thread to report the status for, instead of
5468         always reporting the status of the first thread.
5469
5470 2014-01-01  Joel Brobecker  <brobecker@adacore.com>
5471
5472         * gdbserver.c (gdbserver_version): Set copyright year to 2014.
5473         * gdbreplay.c (gdbreplay_version): Likewise.
5474
5475 2013-12-18  Yufeng Zhang  <yufeng.zhang@arm.com>
5476
5477         * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Set
5478         iov.iov_len with the real length in use.
5479
5480 2013-12-13  Joel Brobecker  <brobecker@adacore.com>
5481
5482         * Makefile.in (safe-ctype.o, lbasename.o): New rules.
5483         * configure.srv: Add safe-ctype.o and lbasename.o to srv_tgtobj
5484         for all targets that use win32-low.c.
5485         * win32-low.c (win32_ensure_ntdll_loaded): New function.
5486         (do_initial_child_stuff): Add call to win32_ensure_ntdll_loaded.
5487
5488 2013-12-13  Pedro Alves  <palves@redhat.com>
5489
5490         * target.c (mywait): Set OURSTATUS->KIND to TARGET_WAITKIND_STOPPED
5491         if equal to TARGET_WAITKIND_LOADED.
5492         * win32-low.c (cached_status): New static global.
5493         (win32_wait): Add declaration.
5494         (do_initial_child_stuff): Flush all initial pending debug events
5495         up to the initial breakpoint.
5496         (win32_wait): If CACHED_STATUS was set, return that instead
5497         of doing a real wait.  Remove the code resuming the execution
5498         of the inferior after receiving a TARGET_WAITKIND_LOADED event
5499         during the initial phase.  Also remove the code changing
5500         OURSTATUS->KIND from TARGET_WAITKIND_LOADED to
5501         TARGET_WAITKIND_STOPPED.
5502
5503 2013-12-11  Yao Qi  <yao@codesourcery.com>
5504
5505         * notif.c (handle_notif_ack): Return 0 if no notification
5506         matches.
5507
5508 2013-11-20  Doug Evans  <dje@google.com>
5509
5510         * linux-low.c (linux_set_resume_request): Fix comment.
5511
5512 2013-11-20  Doug Evans  <dje@google.com>
5513
5514         * linux-low.c (resume_status_pending_p): Tweak comment.
5515
5516 2013-11-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
5517
5518         * Makefile.in: Add i386-mpx.c, i386-mpx-linux.c, amd64-mpx.c,
5519         amd64-mpx-linux.c, x32-mpx.c and x32-mpx-linux.c generation.
5520         * configure.srv (srv_i386_regobj): Add i386-mpx.o.
5521         (srv_i386_linux_regobj): Add i386-mpx-linux.o.
5522         (srv_amd64_regobj): Add amd64-mpx.o.
5523         (srv_amd64_linux_regobj): Add amd64-mpx-linux.o.
5524         (srv_i386_32bit_xmlfiles): Add i386/32bit-mpx.xml.
5525         (srv_i386_64bit_xmlfiles): Add i386/64bit-mpx.xml.
5526         * i387-fp.c (num_pl_bnd_register) Added constant.
5527         (num_pl_bnd_cfg_registers) Added constant.
5528         (struct i387_xsave) Added reserved area and MPX fields.
5529         (i387_cache_to_xsave, i387_xsave_to_cache) Add MPX.
5530         * linux-x86-low.c (init_registers_i386_mpx_linux): Declare new
5531         function.
5532         (tdesc_i386_mpx_linux): Add MPX amd64 target.
5533         (init_registers_amd64_mpx_linux): Declare new function.
5534         (tdesc_amd64_mpx_linux): Add MPX amd64 target.
5535         (x86_64_regmap): Add MPX registers.
5536         (x86_linux_read_description): Add MPX case.
5537         (initialize_low_arch): Initialize MPX targets.
5538
5539 2013-11-18  Tom Tromey  <tromey@redhat.com>
5540
5541         * configure: Rebuild.
5542         * configure.ac: Don't check for stdlib.h.
5543         * gdbreplay.c: Unconditionally include stdlib.h.
5544
5545 2013-11-18  Tom Tromey  <tromey@redhat.com>
5546
5547         * config.in: Rebuild.
5548         * configure: Rebuild.
5549         * configure.ac: Don't use AC_HEADER_DIRENT.
5550
5551 2013-11-18  Tom Tromey  <tromey@redhat.com>
5552
5553         * server.h: Don't check HAVE_STRING_H.
5554         * gdbreplay.c: Don't check HAVE_STRING_H.
5555         * configure: Rebuild.
5556
5557 2013-11-18  Tom Tromey  <tromey@redhat.com>
5558
5559         * Makefile.in (gdbreplay$(EXEEXT)): Depend on and link against
5560         LIBGNU.
5561
5562 2013-11-08  Tom Tromey  <tromey@redhat.com>
5563
5564         * configure, config.in: Rebuild.
5565         * configure.ac: Remove unused configury.
5566
5567 2013-11-08  Tom Tromey  <tromey@redhat.com>
5568
5569         * acinclude.m4: Include common.m4, codeset.m4.
5570         * configure, config.in: Rebuild.
5571         * configure.ac: Use GDB_AC_COMMON.
5572
5573 2013-11-06  Andreas Arnez  <arnez@linux.vnet.ibm.com>
5574
5575         * linux-s390-low.c (HWCAP_S390_TE): New define.
5576         (s390_arch_setup): Consider the TE field in the HWCAP for
5577         determining 'have_regset_tdb'.
5578
5579 2013-10-16  Sergio Durigan Junior  <sergiodj@redhat.com>
5580
5581         PR gdb/16014
5582         * tracepoint.c (download_tracepoint_1): Remove unnecessary double
5583         call to sizeof.
5584
5585 2013-10-02  Pedro Alves  <palves@redhat.com>
5586
5587         * server.c (process_serial_event): Don't output "GDBserver
5588         exiting" if GDB is connected through stdio.
5589         * target.c (mywait): Likewise, be silent if GDB is connected
5590         through stdio.
5591
5592 2013-10-01  Joel Brobecker  <brobecker@adacore.com>
5593
5594         * lynx-low.c (lynx_add_threads_after_attach): New function.
5595         (lynx_attach): Remove call to add_thread.  Add call to
5596         lynx_add_threads_after_attach instead.
5597
5598 2013-09-28  Mike Frysinger  <vapier@gentoo.org>
5599
5600         * configure.ac (AC_CHECK_HEADERS): Add sys/syscall.h
5601         * config.in, configure: Regenerated.
5602
5603 2013-09-18  Yao Qi  <yao@codesourcery.com>
5604
5605         PR server/15959
5606         * server.c (start_inferior): Clear 'resume_info'.
5607
5608 2013-09-16  Jiong Wang  <jiwang@tilera.com>
5609
5610         * linux-tile-low.c (tile_regsets): Modify the size field to 64-bit
5611         for each register.
5612
5613 2013-09-16  Jiong Wang  <jiwang@tilera.com>
5614
5615         * configure.srv <tilegx*-*-linux*>: Remove linux-osdata.o from and add
5616         linux-tile-low.o to srv_tgtobj.
5617
5618 2013-09-16  Will Newton  <will.newton@linaro.org>
5619
5620         * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Zero
5621         out regs.
5622
5623 2013-09-06  Pedro Alves  <palves@redhat.com>
5624
5625         * Makefile.in (gdb_proc_service_h, regdef_h, regcache_h)
5626         (signals_def, signals_h, ptid_h, ax_h, agent_h, linux_btrace_h)
5627         (linux_osdata_h, vec_h, gdb_vecs_h, host_defs_h, libiberty_h)
5628         (server_h, gdbthread_h, linux_low_h, linux_ptrace_h)
5629         (gdb_thread_db_h, linux_procfs_h, lynx_low_h, nto_low_h)
5630         (mips_linux_watch_h, i386_low_h, win32_low_h): Delete.
5631
5632 2013-09-06  Pedro Alves  <palves@redhat.com>
5633
5634         * Makefile.in (linux-btrace.o, mips-linux-watch.o): Remove
5635         explicit header dependencies and use $COMPILE/$POSTCOMPILE.
5636
5637 2013-09-06  Pedro Alves  <palves@redhat.com>
5638
5639         * linux-amd64-ipa.c: Include tracepoint.h.
5640         * linux-i386-ipa.c: Include tracepoint.h.
5641
5642 2013-09-06  Ricard Wanderlof  <ricardw@axis.com>
5643
5644         * linux-crisv32-low.c (PTRACE_GET_THREAD_AREA): New macro.
5645         (ps_get_thread_area): New function.
5646
5647 2013-09-06  Ricard Wanderlof  <ricardw@axis.com>
5648
5649         * linux-crisv32-low.c (elf_gregset_t): Delete typedef.
5650         (initialize_low_arch): Call init_registers_crisv32 rather than
5651         init_register_crisv32.
5652
5653 2013-09-05  Pedro Alves  <palves@redhat.com>
5654
5655         * server.h (handle_vFile, hostio_last_error_from_errno): Move
5656         to ...
5657         * hostio.h: ... this new file.
5658         * hostio.c, server.c, linux-low.c, nto-low.c, spu-low,
5659         win32-low.c: Include hostio.h.
5660
5661 2013-09-05  Pedro Alves  <palves@redhat.com>
5662
5663         * server.h (gdb_client_data, handler_func, callback_handler_func)
5664         (delete_file_handler, add_file_handler, append_callback_event)
5665         (delete_callback_event, start_event_loop, initialize_event_loop):
5666         Move to event-loop.h and include it.
5667         * event-loop.h: New file.
5668
5669 2013-09-05  Pedro Alves  <palves@redhat.com>
5670
5671         * dll.c, inferiors.c, remote-utils.c, server.c: Include "dll.h".
5672         * server.h (struct dll_info, all_dlls, dlls_changed, clear_dlls)
5673         (loaded_dll, unloaded_dll): Move to ...
5674         * dll.h: ... this new file.
5675         * inferiors.c, remote-utils.c, win32-low.c: Include "dll.h".
5676
5677 2013-09-05  Pedro Alves  <palves@redhat.com>
5678
5679         * server.h (current_process, get_thread_process, all_processes)
5680         (add_inferior_to_list, for_each_inferior, current_inferior)
5681         (remove_inferior, add_process, remove_process, find_process_pid)
5682         (have_started_inferiors_p, have_attached_inferiors_p)
5683         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id)
5684         (clear_inferiors, find_inferior, find_inferior_id)
5685         (inferior_target_data, set_inferior_target_data)
5686         (inferior_regcache_data, set_inferior_regcache_data): Move to
5687         inferiors.h, and include it.
5688         * inferiors.h: New file.
5689
5690 2013-09-05  Pedro Alves  <palves@redhat.com>
5691
5692         * server.h (struct emit_ops, current_insn_ptr, emit_error):
5693         Move ...
5694         * ax.h: ... here.
5695
5696 2013-09-05  Pedro Alves  <palves@redhat.com>
5697
5698         * ax.c, linux-low.c, linux-x86-low.c, server.c: Include
5699         tracepoint.h.
5700         * server.h (IPA_BUFSIZ, initialize_tracepoint, tracing)
5701         (disconnected_tracing, tracepoint_look_up_symbols, stop_tracing
5702         (handle_tracepoint_general_set, handle_tracepoint_query)
5703         (tracepoint_finished_step, tracepoint_was_hit)
5704         (release_while_stepping_state_list, current_traceframe)
5705         (in_readonly_region, traceframe_read_mem)
5706         (fetch_traceframe_registers, traceframe_read_sdata)
5707         (traceframe_read_info, struct fast_tpoint_collect_status)
5708         (fast_tracepoint_collecting, force_unlock_trace_buffer)
5709         (handle_tracepoit_bkpts, initialize_low_tracepoint)
5710         (supply_fast_tracepoint_registers)
5711         (supply_static_tracepoint_registers, set_trampoline_buffer_space)
5712         (ipa_tdesc, claim_trampoline_space)
5713         (have_fast_tracepoint_trampoline_buffer, gdb_agent_about_to_close)
5714         (agent_mem_read, agent_get_trace_state_variable_value)
5715         (agent_set_trace_state_variable_value, agent_tsv_read)
5716         (agent_mem_read_string, get_raw_reg_func_addr)
5717         (get_get_tsv_func_addr, get_set_tsv_func_addr): Move to ...
5718         * tracepoint.h: ... this new file.
5719
5720 2013-09-05  Pedro Alves  <palves@redhat.com>
5721
5722         * server.h (perror_with_name, error, fatal, warning, paddress)
5723         (pulongest, plongest, phex_nz, pfildes): Move to utils.h, and
5724         include it.
5725         * utils.h: New file.
5726
5727 2013-09-05  Pedro Alves  <palves@redhat.com>
5728
5729         * server.h (remote_debug, noack_mode, transport_is_reliable)
5730         (gdb_connected, STDIO_CONNECTION_NAME, remote_connection_is_stdio)
5731         (read_ptid, write_ptid, putpkt, putpkt_binary, putpkt_notif)
5732         (getpkt, remote_prepare, remote_open, remote_close, write_ok)
5733         (write_enn, initialize_async_io, enable_async_io)
5734         (disable_async_io, check_remote_input_interrupt_request)
5735         (convert_ascii_to_int, convert_int_to_ascii, new_thread_notify)
5736         (dead_thread_notify, prepare_resume_reply)
5737         (decode_address_to_semicolon, decode_address, decode_m_packet)
5738         (decode_M_packet, decode_X_packet, decode_xfer_write)
5739         (decode_search_memory_packet, unhexify, hexify)
5740         (remote_escape_output, unpack_varlen_hex, clear_symbol_cache)
5741         (look_up_one_symbol, relocate_instruction)
5742         (monitor_output): Move to remote-utils.h, and include it.
5743         * remote-utils.h: New file.
5744
5745 2013-09-05  Pedro Alves  <palves@redhat.com>
5746
5747         * server.h (_): Delete.
5748
5749 2013-09-02  Pedro Alves  <palves@redhat.com>
5750
5751         * tracepoint.c (TRACEFRAME_EOB_MARKER_SIZE): New macro.
5752         (init_trace_buffer): Ensure at least TRACEFRAME_EOB_MARKER_SIZE is
5753         allocated.
5754         (trace_buffer_alloc): Use TRACEFRAME_EOB_MARKER_SIZE.
5755
5756 2013-09-02  Pierre Muller  <muller@sourceware.org>
5757
5758         * win32-low.c (child_xfer_memory): Check if ReadProcessMemory
5759         or WriteProcessMemory complete successfully and handle
5760         ERROR_PARTIAL_COPY error.
5761
5762 2013-09-02  Pedro Alves  <palves@redhat.com>
5763
5764         * server.c (gdb_read_memory): Return -1 on traceframe memory read
5765         error instead of EIO.
5766
5767 2013-08-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
5768
5769         PR server/15604
5770         * linux-low.c: Include filestuff.h.
5771         (linux_create_inferior) <pid == 0>: Call close_most_fds.
5772         * lynx-low.c: Include filestuff.h.
5773         (lynx_create_inferior) <pid == 0>: Call close_most_fds.
5774         * server.c: Include filestuff.h.
5775         (main): Call notice_open_fds.
5776         * spu-low.c: Include filestuff.h.
5777         (spu_create_inferior) <pid == 0>: Call close_most_fds.
5778
5779 2013-08-22  Luis Machado  <lgustavo@codesourcery.com>
5780
5781         * Makefile.in: Explain why ../target and ../nat are not
5782         listed as include file search paths.
5783         (linux-waitpid.o): New object file rule.
5784         * configure.srv (srv_native_linux_obj): New variable.
5785         Replace all occurrences of linux native object files with
5786         $srv_native_linux_obj.
5787         * linux-low.c: Include nat/linux-nat.h and nat/linux-waitpid.h.
5788         (HAS_NOMMU): Move defining logic to common/linux-ptrace.c.
5789         (linux_enable_event_reporting): Remove declaration.
5790         (my_waitpid): Moved to common/linux-waitpid.c.
5791         (linux_wait_for_event): Pass ptid when calling
5792         linux_enable_event_reporting.
5793         (linux_supports_tracefork_flag): Remove.
5794         (linux_enable_event_reporting): Likewise.
5795         (linux_tracefork_grandchild): Remove.
5796         (STACK_SIZE): Moved to common/linux-ptrace.c.
5797         (linux_tracefork_child): Remove.
5798         (linux_test_for_tracefork): Remove.
5799         (linux_look_up_symbols): Call linux_supports_traceclone.
5800         (initialize_low): Remove call to linux_test_for_tracefork.
5801         * linux-low.h (PTRACE_TYPE_ARG3): Move to
5802         common/linux-ptrace.h.
5803         (PTRACE_TYPE_ARG4): Likewise.
5804         Include linux-ptrace.h.
5805
5806 2013-08-21  Pedro Alves  <palves@redhat.com>
5807
5808         * config.in: Renegerate.
5809
5810 2013-08-19  Luis Machado  <lgustavo@codesourcery.com>
5811
5812         * Makefile.in (INCLUDE_CFLAGS): Include -I$(srcdir)/../.
5813         (SFILES): Remove $(srcdir)/common/target-common.c and
5814         add $(srcdir)/target/waitstatus.c.
5815         (OBS): Remove target-common.o and add waitstatus.o.
5816         (server_h): Remove $(srcdir)/../common/target-common.h and
5817         add $(srcdir)/../target/resume.h, $(srcdir)/../target/wait.h
5818         and $(srcdir)/../target/waitstatus.h.
5819         (target-common.o): Remove.
5820         (waitstatus.o): New target object file.
5821         * target.h: Do not include target-common.h and
5822         include target/resume.h, target/wait.h and
5823         target/waitstatus.h.
5824
5825 2013-08-13  Luis Machado  <lgustavo@codesourcery.com>
5826
5827         * linux-arm-low.c: Rename all occurrences of PTRACE_ARG3_TYPE
5828         to PTRACE_TYPE_ARG3.
5829         * linux-low.c: Rename all occurrences of PTRACE_ARG3_TYPE
5830         to PTRACE_TYPE_ARG3 and PTRACE_ARG4_TYPE to
5831         PTRACE_TYPE_ARG4.
5832         * linux-low.h (PTRACE_ARG3_TYPE): Rename to PTRACE_TYPE_ARG3.
5833         (PTRACE_ARG4_TYPE): Rename to PTRACE_TYPE_ARG4.
5834
5835 2013-07-27  Jie Zhang  <jie@codesourcery.com>
5836             Daniel Jacobowitz  <dan@codesourcery.com>
5837             Yao Qi  <yao@codesourcery.com>
5838
5839         * Makefile.in (SFILES): Add common/mips-linux-watch.c.
5840         (mips-linux-watch.o): New rule.
5841         (mips_linux_watch_h): New variable.
5842         * configure.srv <mips*-*-linux*>: Add mips-linux-watch.o to
5843         srv_tgtobj.
5844         * linux-mips-low.c: Include mips-linux-watch.h.
5845         (struct arch_process_info, struct arch_lwp_info): New.
5846         (update_watch_registers_callback): New function.
5847         (mips_linux_new_process, mips_linux_new_thread) New functions.
5848         (mips_linux_prepare_to_resume, mips_insert_point): New
5849         functions.
5850         (mips_remove_point, mips_stopped_by_watchpoint): New
5851         functions.
5852         (rsp_bp_type_to_target_hw_bp_type): New function.
5853         (mips_stopped_data_address): New function.
5854         (the_low_target): Add watchpoint support functions.
5855
5856 2013-07-27  Yao Qi  <yao@codesourcery.com>
5857
5858         * i386-low.c: Include break-common.h.
5859         (enum target_hw_bp_type): Remove.
5860
5861 2013-07-24  Luis Machado  <lgustavo@codesourcery.com>
5862
5863         * Makefile.in (SFILES): /common/target-common.c.
5864         (OBS): Add target-common.o.
5865         (server_h): Add $(srcdir)/../common/target-common.h.
5866         (target-common.o): New target.
5867         * server.c (queue_stop_reply_callback): Free
5868         status string after use.
5869         * target.c (target_waitstatus_to_string): Remove.
5870         * target.h: Include target-common.h.
5871         (resume_kind): Likewise.
5872         (target_waitkind): Likewise.
5873         (target_waitstatus): Likewise.
5874         (TARGET_WNOHANG): Likewise.
5875
5876 2013-07-04  Yao Qi  <yao@codesourcery.com>
5877
5878         * Makefile.in (host_alias): Use @host_noncanonical@.
5879         (target_alias): Use @target_noncanonical@.
5880         * configure.ac: Use ACX_NONCANONICAL_TARGET and
5881         ACX_NONCANONICAL_HOST.
5882         * configure: Regenerated.
5883
5884         Revert:
5885         2013-06-28  Mircea Gherzan  <mircea.gherzan@intel.com>
5886
5887         * configure.ac (version_host, version_target): Set and AC_SUBST them.
5888         * configure: Rebuild.
5889         * Makefile.in (version_host, version_target): Get from configure.
5890         (version.c): Use $(version_host) and $(version_target).
5891
5892 2013-07-03  Pedro Alves  <palves@redhat.com>
5893
5894         * Makefile.in (config.status): Depend on development.sh.
5895         * acinclude.m4: Include libmcheck.m4.
5896         * configure: Regenerate.
5897
5898 2013-07-02  Mircea Gherzan  <mircea.gherzan@intel.com>
5899
5900         * win32-low.c (winapi_DebugActiveProcessStop): Move the WINAPI
5901         attribute inside the parentheses.
5902         (winapi_DebugSetProcessKillOnExit): Ditto.
5903         (winapi_DebugBreakProcess): Ditto.
5904         (winapi_GenerateConsoleCtrlEvent): Ditto.
5905
5906 2013-07-02  Mircea Gherzan  <mircea.gherzan@intel.com>
5907
5908         * notif.h (notif_event): Add a dummy member to avoid compiler
5909         errors.
5910
5911 2013-07-01  Pedro Alves  <palves@redhat.com>
5912
5913         * hostio.c (HOSTIO_PATH_MAX): Define.
5914         (require_filename, handle_open, handle_unlink, handle_readlink):
5915         Use it.
5916
5917 2013-07-01  Pedro Alves  <palves@redhat.com>
5918
5919         * server.h: Include "pathmax.h".
5920         * linux-low.c: Don't include sys/param.h.
5921         (linux_pid_exe_is_elf_64_file): Use PATH_MAX instead of
5922         MAXPATHLEN.
5923         * win32-low.c: Don't include sys/param.h.
5924         (win32_create_inferior): Use PATH_MAX instead of MAXPATHLEN.
5925
5926 2013-07-01  Pedro Alves  <palves@redhat.com>
5927
5928         * event-loop.c: Don't check HAVE_UNISTD_H before including
5929         <unistd.h>.
5930         * gdbreplay.c: Likewise.
5931         * remote-utils.c: Likewise.
5932         * server.c: Likewise.
5933         * configure.ac: Don't check for unistd.h.
5934         * configure: Regenerate.
5935
5936 2013-06-28  Tom Tromey  <tromey@redhat.com>
5937
5938         * Makefile.in (version.c): Use version.in, not
5939         common/version.in.
5940
5941 2013-06-28  Mircea Gherzan  <mircea.gherzan@intel.com>
5942
5943         * configure.ac (version_host, version_target): Set and AC_SUBST them.
5944         * configure: Rebuild.
5945         * Makefile.in (version_host, version_target): Get from configure.
5946         (version.c): Use $(version_host) and $(version_target).
5947
5948 2013-06-10  Dmitry Kozlov <ddk@codesourcery.com>
5949
5950         Fix trace-status to output user name without trailing colon.
5951         * tracepoint.c (cmd_qtstatus): Remove unnecessary colon from user name.
5952
5953 2013-06-10  Dmitry Kozlov <ddk@codesourcery.com>
5954
5955         Fix trace-status to output proper start-time and stop-time.
5956         * tracepoint.c (cmd_qtstatus): Modify trace-status output to
5957         output start time and stop time in hex as gdb expects.
5958
5959 2013-06-26  Pedro Alves  <pedro@codesourcery.com>
5960
5961         * tracepoint.c (build_traceframe_info_xml): Output trace state
5962         variables present in the trace buffer.
5963
5964 2013-06-24  Tom Tromey  <tromey@redhat.com>
5965
5966         * Makefile.in (version.c): Use bfd/version.h, common/version.in,
5967         create-version.sh.
5968         (version.o): Remove.
5969         * gdbreplay.c: Include version.h.
5970         (version, host_name): Don't declare.
5971         * server.h: Include version.h.
5972         (version, host_name): Don't declare.
5973
5974 2013-06-12  Pedro Alves  <palves@redhat.com>
5975
5976         * linux-x86-low.c (linux_is_elf64): Delete global.
5977         (x86_siginfo_fixup): Replace reference to `linux_is_elf64' global
5978         with local linux_pid_exe_is_elf_64_file use.
5979
5980 2013-06-11  Pedro Alves  <palves@redhat.com>
5981
5982         * linux-low.c (regset_disabled, disable_regset): New functions.
5983         (regsets_fetch_inferior_registers)
5984         (regsets_store_inferior_registers): Use them.
5985         (initialize_regsets_info); Don't allocate the disabled_regsets
5986         array here.
5987         * linux-low.h (struct regsets_info) <disabled_regsets>: Extend
5988         comment.
5989
5990 2013-06-11  Pedro Alves  <palves@redhat.com>
5991
5992         * linux-low.c (initialize_regsets_info): Use xcalloc instead of
5993         xmalloc.
5994
5995 2013-06-11  Pedro Alves  <palves@redhat.com>
5996
5997         * linux-x86-low.c (initialize_low_arch): Call
5998         init_registers_x32_avx_linux.
5999
6000 2013-06-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
6001
6002         Fix compatibility with Android Bionic.
6003         * linux-low.c (linux_qxfer_libraries_svr4): Ignore first entry even if
6004         it is not empty.
6005
6006 2013-06-07  Pedro Alves  <palves@redhat.com>
6007
6008         PR server/14823
6009         * Makefile.in (OBS): Add tdesc.o.
6010         (IPA_OBJS): Add tdesc-ipa.o.
6011         (tdesc-ipa.o): New rule.
6012         * ax.c (gdb_eval_agent_expr): Adjust register_size call to new
6013         interface.
6014         * linux-low.c (new_inferior): Delete.
6015         (disabled_regsets, num_regsets): Delete.
6016         (linux_add_process): Adjust to set the new per-process
6017         new_inferior flag.
6018         (linux_detach_one_lwp): Adjust to call regcache_invalidate_thread.
6019         (linux_wait_for_lwp): Adjust.  Only call arch_setup if the event
6020         was a stop.  When calling arch_setup, switch the current inferior
6021         to the thread that got an event.
6022         (linux_resume_one_lwp): Adjust to call regcache_invalidate_thread.
6023         (regsets_fetch_inferior_registers)
6024         (regsets_store_inferior_registers): New regsets_info parameter.
6025         Adjust to use it.
6026         (linux_register_in_regsets): New regs_info parameter.  Adjust to
6027         use it.
6028         (register_addr, fetch_register, store_register): New usrregs_info
6029         parameter.  Adjust to use it.
6030         (usr_fetch_inferior_registers, usr_store_inferior_registers): New
6031         parameter regs_info.  Adjust to use it.
6032         (linux_fetch_registers): Get the current inferior's regs_info, and
6033         adjust to use it.
6034         (linux_store_registers): Ditto.
6035         [HAVE_LINUX_REGSETS] (initialize_regsets_info): New.
6036         (initialize_low): Don't initialize the target_regsets here.  Call
6037         initialize_low_arch.
6038         * linux-low.h (target_regsets): Delete declaration.
6039         (struct regsets_info): New.
6040         (struct usrregs_info): New.
6041         (struct regs_info): New.
6042         (struct process_info_private) <new_inferior>: New field.
6043         (struct linux_target_ops): Delete the num_regs, regmap, and
6044         regset_bitmap fields.  New field regs_info.
6045         [HAVE_LINUX_REGSETS] (initialize_regsets_info): Declare.
6046         * i387-fp.c (num_xmm_registers): Delete.
6047         (i387_cache_to_fsave, i387_fsave_to_cache): Adjust find_regno
6048         calls to new interface.
6049         (i387_cache_to_fxsave, i387_cache_to_xsave, i387_fxsave_to_cache)
6050         (i387_xsave_to_cache): Adjust find_regno calls to new interface.
6051         Infer the number of xmm registers from the regcache's target
6052         description.
6053         * i387-fp.h (num_xmm_registers): Delete.
6054         * inferiors.c (add_thread): Don't install the thread's regcache
6055         here.
6056         * proc-service.c (gregset_info): Fetch the current inferior's
6057         regs_info.  Adjust to use it.
6058         * regcache.c: Include tdesc.h.
6059         (register_bytes, reg_defs, num_registers)
6060         (gdbserver_expedite_regs): Delete.
6061         (get_thread_regcache): If the thread doesn't have a regcache yet,
6062         create one, instead of aborting gdbserver.
6063         (regcache_invalidate_one): Rename to ...
6064         (regcache_invalidate_thread): ... this.
6065         (regcache_invalidate_one): New.
6066         (regcache_invalidate): Only invalidate registers of the current
6067         process.
6068         (init_register_cache): Add target_desc parameter, and use it.
6069         (new_register_cache): Ditto.  Assert the target description has a
6070         non zero registers_size.
6071         (regcache_cpy): Add assertions.  Adjust.
6072         (realloc_register_cache, set_register_cache): Delete.
6073         (registers_to_string, registers_from_string): Adjust.
6074         (find_register_by_name, find_regno, find_register_by_number)
6075         (register_cache_size): Add target_desc parameter, and use it.
6076         (free_register_cache_thread, free_register_cache_thread_one)
6077         (regcache_release, register_cache_size): New.
6078         (register_size): Add target_desc parameter, and use it.
6079         (register_data, supply_register, supply_register_zeroed)
6080         (supply_regblock, supply_register_by_name, collect_register)
6081         (collect_register_as_string, collect_register_by_name): Adjust.
6082         * regcache.h (struct target_desc): Forward declare.
6083         (struct regcache) <tdesc>: New field.
6084         (init_register_cache, new_register_cache): Add target_desc
6085         parameter.
6086         (regcache_invalidate_thread): Declare.
6087         (regcache_invalidate_one): Delete declaration.
6088         (regcache_release): Declare.
6089         (find_register_by_number, register_cache_size, register_size)
6090         (find_regno): Add target_desc parameter.
6091         (gdbserver_expedite_regs, gdbserver_xmltarget): Delete
6092         declarations.
6093         * remote-utils.c: Include tdesc.h.
6094         (outreg, prepare_resume_reply): Adjust.
6095         * server.c: Include tdesc.h.
6096         (gdbserver_xmltarget): Delete declaration.
6097         (get_features_xml, process_serial_event): Adjust.
6098         * server.h [IN_PROCESS_AGENT] (struct target_desc): Forward
6099         declare.
6100         (struct process_info) <tdesc>: New field.
6101         (ipa_tdesc): Declare.
6102         * tdesc.c: New file.
6103         * tdesc.h: New file.
6104         * tracepoint.c: Include tdesc.h.
6105         [IN_PROCESS_AGENT] (ipa_tdesc): Define.
6106         (get_context_regcache): Adjust to pass ipa_tdesc down.
6107         (do_action_at_tracepoint): Adjust to get the register cache size
6108         from the context regcache's description.
6109         (traceframe_walk_blocks): Adjust to get the register cache size
6110         from the current trace frame's description.
6111         (traceframe_get_pc): Adjust to get current trace frame's
6112         description and pass it down.
6113         (gdb_collect): Adjust to get the register cache size from the
6114         IPA's description.
6115         * linux-amd64-ipa.c (tdesc_amd64_linux): Declare.
6116         (gdbserver_xmltarget): Delete.
6117         (initialize_low_tracepoint): Set the ipa's target description.
6118         * linux-i386-ipa.c (tdesc_i386_linux): Declare.
6119         (initialize_low_tracepoint): Set the ipa's target description.
6120         * linux-x86-low.c: Include tdesc.h.
6121         [__x86_64__] (is_64bit_tdesc): New.
6122         (ps_get_thread_area, x86_get_thread_area): Use it.
6123         (i386_cannot_store_register): Rename to ...
6124         (x86_cannot_store_register): ... this.  Use is_64bit_tdesc.
6125         (i386_cannot_fetch_register): Rename to ...
6126         (x86_cannot_fetch_register): ... this.  Use is_64bit_tdesc.
6127         (x86_fill_gregset, x86_store_gregset): Adjust register_size calls
6128         to new interface.
6129         (target_regsets): Rename to ...
6130         (x86_regsets): ... this.
6131         (x86_get_pc, x86_set_pc): Adjust register_size calls to new
6132         interface.
6133         (x86_siginfo_fixup): Use is_64bit_tdesc.
6134         [__x86_64__] (tdesc_amd64_linux, tdesc_amd64_avx_linux)
6135         (tdesc_x32_avx_linux, tdesc_x32_linux)
6136         (tdesc_i386_linux, tdesc_i386_mmx_linux, tdesc_i386_avx_linux):
6137         Declare.
6138         (x86_linux_update_xmltarget): Delete.
6139         (I386_LINUX_XSAVE_XCR0_OFFSET): Define.
6140         (have_ptrace_getfpxregs, have_ptrace_getregset): New.
6141         (AMD64_LINUX_USER64_CS): New.
6142         (x86_linux_read_description): New, based on
6143         x86_linux_update_xmltarget.
6144         (same_process_callback): New.
6145         (x86_arch_setup_process_callback): New.
6146         (x86_linux_update_xmltarget): New.
6147         (x86_regsets_info): New.
6148         (amd64_linux_regs_info): New.
6149         (i386_linux_usrregs_info): New.
6150         (i386_linux_regs_info): New.
6151         (x86_linux_regs_info): New.
6152         (x86_arch_setup): Reimplement.
6153         (x86_install_fast_tracepoint_jump_pad): Use is_64bit_tdesc.
6154         (x86_emit_ops): Ditto.
6155         (the_low_target): Adjust.  Install x86_linux_regs_info,
6156         x86_cannot_fetch_register, and x86_cannot_store_register.
6157         (initialize_low_arch): New.
6158         * linux-ia64-low.c (tdesc_ia64): Declare.
6159         (ia64_fetch_register): Adjust.
6160         (ia64_usrregs_info, regs_info): New globals.
6161         (ia64_regs_info): New function.
6162         (the_low_target): Adjust.
6163         (initialize_low_arch): New function.
6164         * linux-sparc-low.c (tdesc_sparc64): Declare.
6165         (sparc_fill_gregset_to_stack, sparc_store_gregset_from_stack):
6166         Adjust.
6167         (sparc_arch_setup): New function.
6168         (sparc_regsets_info, sparc_usrregs_info, regs_info): New globals.
6169         (the_low_target): Adjust.
6170         (initialize_low_arch): New function.
6171         * linux-ppc-low.c (tdesc_powerpc_32l, tdesc_powerpc_altivec32l)
6172         (tdesc_powerpc_cell32l, tdesc_powerpc_vsx32l)
6173         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_altivec32l)
6174         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_e500l)
6175         (tdesc_powerpc_64l, tdesc_powerpc_altivec64l)
6176         (tdesc_powerpc_cell64l, tdesc_powerpc_vsx64l)
6177         (tdesc_powerpc_isa205_64l, tdesc_powerpc_isa205_altivec64l)
6178         (tdesc_powerpc_isa205_vsx64l): Declare.
6179         (ppc_cannot_store_register, ppc_collect_ptrace_register)
6180         (ppc_supply_ptrace_register, parse_spufs_run, ppc_get_pc)
6181         (ppc_set_pc, ppc_get_hwcap): Adjust.
6182         (ppc_usrregs_info): Forward declare.
6183         (!__powerpc64__) ppc_regmap_adjusted: New global.
6184         (ppc_arch_setup): Adjust to the current process'es target
6185         description.
6186         (ppc_fill_vsxregset, ppc_store_vsxregset, ppc_fill_vrregset)
6187         (ppc_store_vrregset, ppc_fill_evrregset, ppc_store_evrregse)
6188         (ppc_store_evrregset): Adjust.
6189         (target_regsets): Rename to ...
6190         (ppc_regsets): ... this, and make static.
6191         (ppc_usrregs_info, ppc_regsets_info, regs_info): New globals.
6192         (ppc_regs_info): New function.
6193         (the_low_target): Adjust.
6194         (initialize_low_arch): New function.
6195         * linux-s390-low.c (tdesc_s390_linux32, tdesc_s390_linux32v1)
6196         (tdesc_s390_linux32v2, tdesc_s390_linux64, tdesc_s390_linux64v1)
6197         (tdesc_s390_linux64v2, tdesc_s390x_linux64, tdesc_s390x_linux64v1)
6198         (tdesc_s390x_linux64v2): Declare.
6199         (s390_collect_ptrace_register, s390_supply_ptrace_register)
6200         (s390_fill_gregset, s390_store_last_break): Adjust.
6201         (target_regsets): Rename to ...
6202         (s390_regsets): ... this, and make static.
6203         (s390_get_pc, s390_set_pc): Adjust.
6204         (s390_get_hwcap): New target_desc parameter, and use it.
6205         [__s390x__] (have_hwcap_s390_high_gprs): New global.
6206         (s390_arch_setup): Adjust to set the current process'es target
6207         description.  Don't adjust the regmap.
6208         (s390_usrregs_info, s390_regsets_info, regs_info): New globals.
6209         [__s390x__] (s390_usrregs_info_3264, s390_regsets_info_3264)
6210         (regs_info_3264): New globals.
6211         (s390_regs_info): New function.
6212         (the_low_target): Adjust.
6213         (initialize_low_arch): New function.
6214         * linux-mips-low.c (tdesc_mips_linux, tdesc_mips_dsp_linux)
6215         (tdesc_mips64_linux, tdesc_mips64_dsp_linux): Declare.
6216         [__mips64] (init_registers_mips_linux)
6217         (init_registers_mips_dsp_linux): Delete defines.
6218         [__mips64] (tdesc_mips_linux, tdesc_mips_dsp_linux): New defines.
6219         (have_dsp): New global.
6220         (mips_read_description): New, based on mips_arch_setup.
6221         (mips_arch_setup): Reimplement.
6222         (get_usrregs_info): New function.
6223         (mips_cannot_fetch_register, mips_cannot_store_register)
6224         (mips_get_pc, mips_set_pc, mips_fill_gregset, mips_store_gregset)
6225         (mips_fill_fpregset, mips_store_fpregset): Adjust.
6226         (target_regsets): Rename to ...
6227         (mips_regsets): ... this, and make static.
6228         (mips_regsets_info, mips_dsp_usrregs_info, mips_usrregs_info)
6229         (dsp_regs_info, regs_info): New globals.
6230         (mips_regs_info): New function.
6231         (the_low_target): Adjust.
6232         (initialize_low_arch): New function.
6233         * linux-arm-low.c (tdesc_arm, tdesc_arm_with_iwmmxt)
6234         (tdesc_arm_with_vfpv2, tdesc_arm_with_vfpv3, tdesc_arm_with_neon):
6235         Declare.
6236         (arm_fill_vfpregset, arm_store_vfpregset): Adjust.
6237         (arm_read_description): New, with bits factored from
6238         arm_arch_setup.
6239         (arm_arch_setup): Reimplement.
6240         (target_regsets): Rename to ...
6241         (arm_regsets): ... this, and make static.
6242         (arm_regsets_info, arm_usrregs_info, regs_info): New globals.
6243         (arm_regs_info): New function.
6244         (the_low_target): Adjust.
6245         (initialize_low_arch): New function.
6246         * linux-m68k-low.c (tdesc_m68k): Declare.
6247         (target_regsets): Rename to ...
6248         (m68k_regsets): ... this, and make static.
6249         (m68k_regsets_info, m68k_usrregs_info, regs_info): New globals.
6250         (m68k_regs_info): New function.
6251         (m68k_arch_setup): New function.
6252         (the_low_target): Adjust.
6253         (initialize_low_arch): New function.
6254         * linux-sh-low.c (tdesc_sharch): Declare.
6255         (target_regsets): Rename to ...
6256         (sh_regsets): ... this, and make static.
6257         (sh_regsets_info, sh_usrregs_info, regs_info): New globals.
6258         (sh_regs_info, sh_arch_setup): New functions.
6259         (the_low_target): Adjust.
6260         (initialize_low_arch): New function.
6261         * linux-bfin-low.c (tdesc_bfin): Declare.
6262         (bfin_arch_setup): New function.
6263         (bfin_usrregs_info, regs_info): New globals.
6264         (bfin_regs_info): New function.
6265         (the_low_target): Adjust.
6266         (initialize_low_arch): New function.
6267         * linux-cris-low.c (tdesc_cris): Declare.
6268         (cris_arch_setup): New function.
6269         (cris_usrregs_info, regs_info): New globals.
6270         (cris_regs_info): New function.
6271         (the_low_target): Adjust.
6272         (initialize_low_arch): New function.
6273         * linux-cris-low.c (tdesc_crisv32): Declare.
6274         (cris_arch_setup): New function.
6275         (cris_regsets_info, cris_usrregs_info, regs_info): New globals.
6276         (cris_regs_info): New function.
6277         (the_low_target): Adjust.
6278         (initialize_low_arch): New function.
6279         * linux-m32r-low.c (tdesc_m32r): Declare.
6280         (m32r_arch_setup): New function.
6281         (m32r_usrregs_info, regs_info): New globals.
6282         (m32r_regs_info): Adjust.
6283         (initialize_low_arch): New function.
6284         * linux-tic6x-low.c (tdesc_tic6x_c64xp_linux)
6285         (tdesc_tic6x_c64x_linux, tdesc_tic6x_c62x_linux): Declare.
6286         (tic6x_usrregs_info): Forward declare.
6287         (tic6x_read_description): New function, based on ...
6288         (tic6x_arch_setup): ... this.  Reimplement.
6289         (target_regsets): Rename to ...
6290         (tic6x_regsets): ... this, and make static.
6291         (tic6x_regsets_info, tic6x_usrregs_info, regs_info): New globals.
6292         (tic6x_regs_info): New function.
6293         (the_low_target): Adjust.
6294         (initialize_low_arch): New function.
6295         * linux-xtensa-low.c (tdesc_xtensa): Declare.
6296         (xtensa_fill_gregset, xtensa_store_gregset): Adjust.
6297         (target_regsets): Rename to ...
6298         (xtensa_regsets): ... this, and make static.
6299         (xtensa_regsets_info, xtensa_usrregs_info, regs_info): New
6300         globals.
6301         (xtensa_arch_setup, xtensa_regs_info): New functions.
6302         (the_low_target): Adjust.
6303         (initialize_low_arch): New function.
6304         * linux-nios2-low.c (tdesc_nios2_linux): Declare.
6305         (nios2_arch_setup): Set the current process'es tdesc.
6306         (target_regsets): Rename to ...
6307         (nios2_regsets): ... this.
6308         (nios2_regsets_info, nios2_usrregs_info, regs_info): New globals.
6309         (nios2_regs_info): New function.
6310         (the_low_target): Adjust.
6311         (initialize_low_arch): New function.
6312         * linux-aarch64-low.c (tdesc_aarch64): Declare.
6313         (aarch64_arch_setup): Set the current process'es tdesc.
6314         (target_regsets): Rename to ...
6315         (aarch64_regsets): ... this.
6316         (aarch64_regsets_info, aarch64_usrregs_info, regs_info): New globals.
6317         (aarch64_regs_info): New function.
6318         (the_low_target): Adjust.
6319         (initialize_low_arch): New function.
6320         * linux-tile-low.c (tdesc_tilegx, tdesc_tilegx32): Declare
6321         globals.
6322         (target_regsets): Rename to ...
6323         (tile_regsets): ... this.
6324         (tile_regsets_info, tile_usrregs_info, regs_info): New globals.
6325         (tile_regs_info): New function.
6326         (tile_arch_setup): Set the current process'es tdesc.
6327         (the_low_target): Adjust.
6328         (initialize_low_arch): New function.
6329         * spu-low.c (tdesc_spu): Declare.
6330         (spu_create_inferior, spu_attach): Set the new process'es tdesc.
6331         * win32-arm-low.c (tdesc_arm): Declare.
6332         (arm_arch_setup): New function.
6333         (the_low_target): Install arm_arch_setup instead of
6334         init_registers_arm.
6335         * win32-i386-low.c (tdesc_i386, tdesc_amd64): Declare.
6336         (init_windows_x86): Rename to ...
6337         (i386_arch_setup): ... this.  Set `win32_tdesc'.
6338         (the_low_target): Adjust.
6339         * win32-low.c (win32_tdesc): New global.
6340         (child_add_thread): Don't create the thread cache here.
6341         (do_initial_child_stuff): Set the new process'es tdesc.
6342         * win32-low.h (struct target_desc): Forward declare.
6343         (win32_tdesc): Declare.
6344         * lynx-i386-low.c (tdesc_i386): Declare global.
6345         (lynx_i386_arch_setup): Set `lynx_tdesc'.
6346         * lynx-low.c (lynx_tdesc): New global.
6347         (lynx_add_process): Set the new process'es tdesc.
6348         * lynx-low.h (struct target_desc): Forward declare.
6349         (lynx_tdesc): Declare global.
6350         * lynx-ppc-low.c (tdesc_powerpc_32): Declare global.
6351         (lynx_ppc_arch_setup): Set `lynx_tdesc'.
6352         * nto-low.c (nto_tdesc): New global.
6353         (do_attach): Set the new process'es tdesc.
6354         * nto-low.h (struct target_desc): Forward declare.
6355         (nto_tdesc): Declare.
6356         * nto-x86-low.c (tdesc_i386): Declare.
6357         (nto_x86_arch_setup): Set `nto_tdesc'.
6358
6359 2013-06-04  Gary Benson  <gbenson@redhat.com>
6360
6361         * server.c (handle_query): Add "augmented-libraries-svr4-read+"
6362         to qSupported response when appropriate.
6363         (handle_qxfer_libraries_svr4): Allow qXfer:libraries-svr4:read
6364         with nonzero-length annex.
6365         * linux-low.c (linux_qxfer_libraries_svr4): Parse and handle
6366         arguments supplied in annex.
6367
6368 2013-05-31  Doug Evans  <dje@google.com>
6369
6370         PR server/15594
6371         * linux-x86-low.c (ps_get_thread_area): Properly extend address to
6372         64 bits in 64-cross-32 environment.
6373
6374 2013-05-28  Pedro Alves  <palves@redhat.com>
6375
6376         * Makefile.in (clean): Remove reference to aarch64-without-fpu.c.
6377         (aarch64-without-fpu.c): Delete rule.
6378         * configure.srv (aarch64*-*-linux*): Remove references to
6379         aarch64-without-fpu.o and aarch64-without-fpu.xml.
6380         * linux-aarch64-low.c (init_registers_aarch64_without_fpu): Remove
6381         declaration.
6382
6383 2013-05-24  Pedro Alves  <palves@redhat.com>
6384
6385         * server.c (handle_v_cont) <vCont;r>: Use unpack_varlen_hex
6386         instead of strchr/decode_address.  Error if the range isn't split
6387         with a ','.  Don't assume there's be a ':' in the action.
6388
6389 2013-05-23  Yao Qi  <yao@codesourcery.com>
6390             Pedro Alves  <palves@redhat.com>
6391
6392         * linux-low.c (lwp_in_step_range): New function.
6393         (linux_wait_1): If the thread was range stepping and stopped
6394         outside the stepping range, report the stop to GDB.  Otherwise,
6395         continue stepping.  Add range stepping debug output.
6396         (linux_set_resume_request): Copy the step range from the resume
6397         request to the lwp.
6398         (linux_supports_range_stepping): New.
6399         (linux_target_ops) <supports_range_stepping>: Set to
6400         linux_supports_range_stepping.
6401         * linux-low.h (struct linux_target_ops)
6402         <supports_range_stepping>: New field.
6403         (struct lwp_info) <step_range_start, step_range_end>: New fields.
6404         * linux-x86-low.c (x86_supports_range_stepping): New.
6405         (the_low_target) <supports_range_stepping>: Set to
6406         x86_supports_range_stepping.
6407         * server.c (handle_v_cont): Handle 'r' action.
6408         (handle_v_requests): Append ";r" if the target supports range
6409         stepping.
6410         * target.h (struct thread_resume) <step_range_start,
6411         step_range_end>: New fields.
6412         (struct target_ops) <supports_range_stepping>:
6413         New field.
6414         (target_supports_range_stepping): New macro.
6415
6416 2013-05-17  Joel Brobecker  <brobecker@adacore.com>
6417
6418         * lynx-low.c (lynx_resume): Fix null_ptid/minus_one_ptid
6419         confusion in comment.
6420
6421 2013-05-17  Joel Brobecker  <brobecker@adacore.com>
6422
6423         * lynx-low.c (struct process_info_private): New type.
6424         (lynx_add_process): New function.
6425         (lynx_create_inferior, lynx_attach): Replace calls to
6426         add_process by calls to lynx_add_process.
6427         (lynx_resume): If PTID is null, then try using
6428         current_process()->private->last_wait_event_ptid.
6429         Add comments.
6430         (lynx_clear_inferiors): Delete.  The contents of that function
6431         has been inlined in lynx_mourn;
6432         (lynx_wait_1): Save the ptid in the process's private data.
6433         (lynx_mourn): Free the process' private data.  Replace call
6434         to lynx_clear_inferiors by call to clear_inferiors.
6435
6436 2013-05-17  Yao Qi  <yao@codesourcery.com>
6437
6438         * i386-low.c (i386_length_and_rw_bits): Move the comment to
6439         the right place.
6440
6441 2013-05-16  Luis Machado  <lgustavo@codesourcery.com>
6442
6443         * linux-low.c: Move definition checks upwards for PT_TEXT_ADDR,
6444         PT_DATA_ADDR and PT_TEXT_END_ADDR.  Update comments.
6445         (linux_read_offsets): Remove PT_TEXT_ADDR, PT_DATA_ADDR and
6446         PT_TEXT_END_ADDR guards.  Update comments.
6447         (linux_target_op) <read_offsets>: Conditionally define to
6448         linux_read_offsets if the target is UCLIBC and if it defines
6449         PT_TEXT_ADDR, PT_DATA_ADDR and PT_TEXT_END_ADDR.
6450
6451 2013-05-06  Sandra Loosemore  <sandra@codesourcery.com>
6452             Andrew Jenner  <andrew@codesourcery.com>
6453
6454         * Makefile.in (SFILES): Add linux-nios2-low.c.
6455         (clean): Add action to delete nios2-linux.c.
6456         (nios2-linux.c): New rule.
6457         * configure.srv: Add nios2*-*-linux*.
6458         * linux-nios2-low.c: New.
6459
6460 2013-05-03  Hafiz Abid Qadeer  <abidh@codesourcery.com>
6461
6462         * tracepoint.c (cmd_qtinit): Call 'stop_tracing'.
6463
6464 2013-04-25  Hui Zhu  <hui@codesourcery.com>
6465
6466         PR gdb/15186
6467         * ax.c (ax_printf): Add fflush.
6468
6469 2013-04-22  Tom Tromey  <tromey@redhat.com>
6470
6471         * Makefile.in (SFILES): Add filestuff.c.
6472         (OBS): Add filestuff.o.
6473         (filestuff.o): New target.
6474         * config.in, configure: Rebuild.
6475         * configure.ac: Check for fdwalk, pipe2.
6476
6477 2013-04-17  Pedro Alves  <palves@redhat.com>
6478
6479         * configure.ac (USE_THREAD_DB): Delete variable.
6480         (if test "$srv_linux_thread_db" = "yes"): AC_DEFINE USE_THREAD_DB.
6481         Don't AC_SUBST USE_THREAD_DB.
6482         * Makefile.in (INTERNAL_CFLAGS): Remove @USE_THREAD_DB@.
6483         * config.in, configure: Regenerate.
6484
6485 2013-04-16  Pedro Alves  <palves@redhat.com>
6486
6487         * linux-low.h (struct lwp_info) <thread_known>: Move under
6488         the USE_THREAD_DB #ifdef.
6489
6490 2013-04-16  Pedro Alves  <palves@redhat.com>
6491
6492         * Makefile.in (INTERNAL_CFLAGS): Add @USE_THREAD_DB@.
6493         (linux-low.o): Delete rule.
6494         * linux-low.h: Always include "gdb_thread_db.h" instead of
6495         conditionally including thread_db.h.
6496         (struct lwp_info) <th>: Guard with #ifdef USE_THREAD_DB instead of
6497         HAVE_THREAD_DB_H.
6498
6499 2013-04-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
6500
6501         * Makefile.in (install-only): Fix make install regression.
6502
6503 2013-04-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
6504
6505         Convert man pages to texinfo, new gdbinit.5 texinfo page.
6506         * Makefile.in (install-only): Remove $(man1dir) and gdbserver.1
6507         installation.
6508         * gdbserver.1: Remove.
6509
6510 2013-03-22  Pedro Alves  <palves@redhat.com>
6511
6512         * linux-low.c (handle_extended_wait): Don't call
6513         linux_enable_event_reporting.
6514
6515 2013-03-15  Tony Theodore  <tonyt@logyst.com>
6516
6517         PR build/9098:
6518         * Makefile.in (SHELL): Use @SHELL@.
6519
6520 2013-03-14  Sergio Durigan Junior  <sergiodj@redhat.com>
6521
6522         * tracepoint.c (cmd_qtv): Initialize `val' with zero, silencing
6523         compiler warning.
6524
6525 2013-03-13  Joel Brobecker  <brobecker@adacore.com>
6526
6527         * linux-low.c (linux_target_ops) [!HAVE_LINUX_BTRACE]:
6528         Remove extraneous NULL element.
6529
6530 2013-03-13  Yao Qi  <yao@codesourcery.com>
6531
6532         * tracepoint.c (traceframe_read_tsv): Look for the last matched
6533         'V' block in trace frame.
6534
6535 2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
6536
6537         * target.h (struct target_ops): Add btrace ops.
6538         (target_supports_btrace): New macro.
6539         (target_enable_btrace): New macro.
6540         (target_disable_btrace): New macro.
6541         (target_read_btrace): New macro.
6542         * gdbthread.h (struct thread_info): Add btrace field.
6543         * server.c: Include btrace-common.h.
6544         (handle_btrace_general_set): New function.
6545         (handle_btrace_enable): New function.
6546         (handle_btrace_disable): New function.
6547         (handle_general_set): Call handle_btrace_general_set.
6548         (handle_qxfer_btrace): New function.
6549         (struct qxfer qxfer_packets[]): Add btrace entry.
6550         * inferiors.c (remove_thread): Disable btrace.
6551         * linux-low: Include linux-btrace.h.
6552         (linux_low_enable_btrace): New function.
6553         (linux_low_read_btrace): New function.
6554         (linux_target_ops): Add btrace ops.
6555         * configure.srv (i[34567]86-*-linux*): Add linux-btrace.o.
6556         Add srv_linux_btrace=yes.
6557         (x86_64-*-linux*): Add linux-btrace.o.
6558         Add srv_linux_btrace=yes.
6559         * configure.ac: Define HAVE_LINUX_BTRACE.
6560         * config.in: Regenerated.
6561         * configure: Regenerated.
6562
6563 2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
6564
6565         * server.c (handle_qxfer): Preserve error message if -3 is
6566         returned.
6567         (qxfer): Document the -3 return value.
6568
6569 2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
6570
6571         * Makefile.in (SFILES): Add $(srcdir)/common/linux-btrace.c.
6572         (linux_btrace_h): New variable.
6573         (linux-btrace.o): New rule.
6574
6575 2013-03-08  Stan Shebs  <stan@codesourcery.com>
6576             Hafiz Abid Qadeer  <abidh@codesourcery.com>
6577
6578         * tracepoint.c (trace_buffer_size): New global.
6579         (DEFAULT_TRACE_BUFFER_SIZE): New define.
6580         (init_trace_buffer): Change to one-argument function. Allocate
6581         trace buffer memory.
6582         (handle_tracepoint_general_set): Call cmd_bigqtbuffer_size to
6583         handle QTBuffer:size packet.
6584         (cmd_bigqtbuffer_size): New function.
6585         (initialize_tracepoint): Call init_trace_buffer with
6586         DEFAULT_TRACE_BUFFER_SIZE.
6587         * server.c (handle_query): Add QTBuffer:size in the
6588         supported packets.
6589
6590 2013-03-07  Yao Qi  <yao@codesourcery.com>
6591
6592         * tracepoint.c (cur_action, cur_step_action): Make them unsigned.
6593         (cmd_qtfp): Initialize cur_action and cur_step_action 0 instead
6594         of -1.
6595         (cmd_qtsp): Adjust condition.  Do post increment.
6596         Set cur_action and cur_step_action back to 0.
6597
6598 2013-03-07  Jeremy Bennett  <jeremy.bennett@embecosm.com>
6599
6600         PR server/15236
6601         * linux-low.c (linux_write_memory): Return early success if LEN is
6602         zero.
6603
6604 2013-03-05  Corinna Vinschen  <vinschen@redhat.de>
6605
6606         * configure.srv: Add x86_64-*-cygwin* as target.
6607
6608 2013-02-28  Tom Tromey  <tromey@redhat.com>
6609
6610         * configure.ac: Invoke AC_SYS_LARGEFILE.
6611         * configure, config.in: Rebuild.
6612
6613 2013-02-28  Corinna Vinschen  <vinschen@redhat.com>
6614
6615         * win32-low.c: Throughout, fix format strings and casts of
6616         printf-like functions to avoid type related warnings on all
6617         platforms.
6618         (get_child_debug_event): Print dwDebugEventCode as hex since
6619         that's how it's usually documented.
6620
6621 2013-02-28  Yao Qi  <yao@codesourcery.com>
6622
6623         * tracepoint.c (cmd_qtbuffer): Call phex_nz instead of
6624         pulongest.
6625
6626 2013-02-27  Jiong Wang  <jiwang@tilera.com>
6627
6628         * Makefile.in (clean): Remove reg-tilegx.c, reg-tilegx32.c.
6629         (reg-tilegx32.c): New rule.
6630         * configure.srv (tilegx-*-linux*): Add reg-tilegx32.o to srv_regobj.
6631         * linux-tile-low.c (tile_arch_setup): New function.  Invoke
6632         different register info initializer according to elf class.
6633         (init_registers_tilgx32): New function.  The tilegx32 register info
6634         initializer.
6635         (tile_fill_gregset): Use "uint_reg_t" to represent register size.
6636         (tile_store_gregset): Likewise.
6637
6638 2013-02-27  Yao Qi  <yao@codesourcery.com>
6639
6640         * server.c (process_point_options): Print debug message when
6641         debug_threads is true.
6642
6643 2013-02-26  Yao Qi  <yao@codesourcery.com>
6644
6645         * tracepoint.c (cmd_qtbuffer): Don't set '\0' in OWN_BUF.
6646
6647 2013-02-19  Pedro Alves  <palves@redhat.com>
6648             Kai Tietz <ktietz@redhat.com>
6649
6650         PR gdb/15161
6651
6652         * server.c (handle_query) <CRC check>: Use unpack_varlen_hex
6653         instead of strtoul to extract address from packet.
6654         (process_serial_event) <'z'>: Likewise.
6655
6656 2013-02-18  Yao Qi  <yao@codesourcery.com>
6657
6658         * linux-bfin-low.c (the_low_target): Use NULL instead of 0.
6659
6660 2013-02-14  Pedro Alves  <palves@redhat.com>
6661
6662         Plug memory leak.
6663
6664         * tracepoint.c (cmd_qtnotes): Free TRACING_USER_NAME,
6665         TRACING_NOTES and TRACING_STOP_NOTE before clobbering.
6666
6667 2013-02-14  Pedro Alves  <palves@redhat.com>
6668
6669         * tracepoint.c (cmd_qtdpsrc): Use savestring.
6670
6671 2013-02-14  Pedro Alves  <palves@redhat.com>
6672
6673         * tracepoint.c (save_string): Delete.
6674         (add_tracepoint_action): Use savestring instead of save_string.
6675
6676 2013-02-12  Pedro Alves  <palves@redhat.com>
6677
6678         * linux-xtensa-low.c: Ditto.
6679         * xtensa-xtregs.c: Ditto.
6680
6681 2013-02-12  Sanimir Agovic  <sanimir.agovic@intel.com>
6682
6683         * thread-db.c (thread_db_get_tls_address): NULL pointer check
6684         thread_db.
6685
6686 2013-02-07  Marcus Shawcroft  <marcus.shawcroft@arm.com>
6687
6688         * linux-aarch64-low.c (aarch64_arch_setup): Clamp
6689         aarch64_num_wp_regs and aarch64_num_bp_regs to
6690         AARCH64_HWP_MAX_NUM and AARCH64_HBP_MAX_NUM respectively.
6691
6692 2013-02-07  Marcus Shawcroft  <marcus.shawcroft@arm.com>
6693
6694         * linux-aarch64-low.c (ps_get_thread_area): Replace
6695         PTRACE_GET_THREAD_AREA with PTRACE_GETREGSET.
6696
6697 2013-02-04  Jim MacArthur  <jim.macarthur@arm.com>
6698             Marcus Shawcroft  <marcus.shawcroft@arm.com>
6699             Nigel Stephens  <nigel.stephens@arm.com>
6700             Yufeng Zhang  <yufeng.zhang@arm.com>
6701
6702         * Makefile.in (clean): Remove aarch64.c and aarch64-without-fpu.c.
6703         (aarch64.c, aarch64-without-fpu.c): New targets.
6704         * configure.srv (aarch64*-*-linux*): New.
6705         * linux-aarch64-low.c: New file.
6706
6707 2013-02-04  Marcus Shawcroft  <marcus.shawcroft@arm.com>
6708
6709         * linux-low.c (handle_extended_wait, linux_create_inferior)
6710         (linux_attach_lwp_1, linux_kill_one_lwp, linux_attach_one_lwp)
6711         (dequeue_one_deferred_signal, linux_resume_one_thread)
6712         (fetch_register, linux_write_memory, linux_enable_event_reporting)
6713         (linux_tracefork_grandchild, linux_test_for_tracefork)
6714         (linux_read_offsets, linux_xfer_siginfo, linux_xfer_siginfo): Add
6715         PTRACE_ARG3_TYPE and PTRACE_ARG4_TYPE cast to ptrace arguments
6716         where the argument is 0.
6717
6718 2013-01-25  Yao Qi  <yao@codesourcery.com>
6719
6720         * event-loop.c: Include "queue.h".
6721         (gdb_event_p): New typedef.
6722         (struct gdb_event) <next_event>: Remove.
6723         (event_queue): Change to QUEUE(gdb_event_p).
6724         (async_queue_event): Remove.
6725         (gdb_event_xfree): New.
6726         (initialize_event_loop): New.
6727         (process_event): Use API from QUEUE.
6728         (wait_for_event): Likewise.
6729         * server.c (main): Call initialize_event_loop.
6730         * server.h (initialize_event_loop): Declare.
6731
6732 2013-01-18  Yao Qi  <yao@codesourcery.com>
6733
6734         * ax.h (struct eval_agent_expr_context): New.
6735         (gdb_eval_agent_expr): Update declaration.
6736         * ax.c (gdb_eval_agent_expr): Remove argument REGCACHE and
6737         TFRAME.  Add new argument CTX.
6738         * server.h (struct eval_agent_expr_context): Declare.
6739         (agent_mem_read, agent_tsv_read): Update declaration.
6740         (agent_mem_read_string): Likewise.
6741         * tracepoint.c (eval_tracepoint_agent_expr): Remove.
6742         (add_traceframe_block): Add new argument TPOINT.
6743         Increase TPOINT->traceframe_usage.
6744         (do_action_at_tracepoint): Call gdb_eval_agent_expr instead of
6745         eval_tracepoint_agent_expr.
6746         (condition_true_at_tracepoint): Likewise.
6747         (agent_mem_read): Remove argument TFRAME.  Add argument CTX.
6748         (agent_mem_read_string, agent_tsv_read): Likewise.
6749
6750 2013-01-16  Yao Qi  <yao@codesourcery.com>
6751
6752         * linux-low.c (linux_resume_one_lwp): Don't check
6753         'lwp->bp_reinsert != 0'.
6754
6755 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6756             Pedro Alves  <palves@redhat.com>
6757
6758         * lynx-low.c (ptrace_request_to_str): Define a temporary
6759         macro and use it to simplify this function's implementation.
6760
6761 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6762
6763         * lynx-low.c (lynx_resume): Call perror_with_name if lynx_ptrace
6764         sets errno.
6765
6766 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6767
6768         * configure.srv (i[34567]86-*-lynxos*): Set srv_xmlfiles.
6769
6770 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6771
6772         * configure.srv (powerpc-*-lynxos*): Set srv_xmlfiles.
6773
6774 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6775
6776         * lynx-low.c (lynx_resume): Use the resume_info parameter
6777         to determine the ptid for the lynx_ptrace call, unless
6778         it is equal to minus_one_ptid, in which case we use the
6779         ptid of the current_inferior.
6780         (lynx_wait_1): After having received a thread create/exit
6781         event, resume the inferior's execution using the signaling
6782         thread's ptid, rather than the old ptid.
6783
6784 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
6785
6786         * lynx-low.c (lynx_resume): Delete variable ret.
6787
6788 2013-01-01  Joel Brobecker  <brobecker@adacore.com>
6789
6790         * gdbreplay.c (gdbreplay_version): Update copyright year.
6791         * server.c (gdbserver_version): Likewise.
6792
6793 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6794
6795         * lynx-low.c (lynx_wait_1): Add debug trace before adding
6796         new thread.
6797
6798 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6799
6800         * lynx-low.c (ptrace_request_to_str): Add handling for
6801         PTRACE_GETTRACESIG.
6802
6803 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6804
6805         * lynx-low.c (lynx_attach): Delete variable new_process.
6806
6807 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6808
6809         * lynx-low.c (lynx_create_inferior): Delete variable
6810         new_process.
6811
6812 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
6813
6814         * lynx-low.c (ptrace_request_to_str): Do not handle
6815         PTRACE_GETTHREADLIST if this macro does not exist.
6816
6817 2012-12-15  Yao Qi  <yao@codesourcery.com>
6818
6819         * Makefile.in (OBS): Add notif.o.
6820         * notif.c, notif.h: New.
6821         * server.c: Include "notif.h".
6822         (struct vstop_notif) <next>: Remove.
6823         <base>: New field.
6824         (queue_stop_reply): Update.
6825         (push_event, send_next_stop_reply): Remove.
6826         (discard_queued_stop_replies): Update.
6827         (notif_stop): New variable.
6828         (handle_v_stopped): Remove.
6829         (handle_v_requests): Don't call handle_v_stopped.  Call
6830         handle_ack_notif instead.
6831         (queue_stop_reply_callback): Call notif_event_enque instead
6832         of queue_stop_reply.
6833         (handle_status): Don't call send_next_stop_reply, call
6834         notif_write_event instead.
6835         (kill_inferior_callback): Likewise.
6836         (detach_or_kill_inferior_callback): Likewise.
6837         (main): Call initialize_notif.
6838         (process_serial_event): Call QUEUE_is_empty.
6839         (handle_target_event): Call notif_push instead of push event.
6840         * server.h (push_event): Remove declaration.
6841
6842 2012-12-10  Tom Tromey  <tromey@redhat.com>
6843
6844         * Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.pre)
6845         (COMPILE.post, COMPILE, POSTCOMPILE, IPAGENT_COMPILE): New
6846         macros.
6847         (.c.o): Rewrite.
6848         (ax-ipa.o, tracepoint-ipa.o, utils-ipa.o, format-ipa.o)
6849         (common-utils-ipa.o, remote-utils-ipa.o, regcache-ipa.o)
6850         (i386-linux-ipa.o, linux-i386-ipa.o, linux-amd64-ipa.o)
6851         (amd64-linux-ipa.o, ax.o): Rewrite.
6852         (event-loop.o, hostio.o, hostio-errno.o, inferiors.o, mem-break.o)
6853         (proc-service.o, regcache.o, remote-utils.o, server.o, target.o)
6854         (thread-db.o, tracepoint.o, utils.o, gdbreplay.o, dll.o): Remove.
6855         (signals.o, linux-procfs.o, linux-ptrace.o, common-utils.o, vec.o)
6856         (gdb_vecs.o, xml-utils.o, linux-osdata.o, ptid.o, buffer.o)
6857         (format.o, agent.o, vasprintf.o, vsnprintf.o): Rewrite.
6858         (i386-low.o, i387-fp.o, linux-low.o, linux-arm-low.o)
6859         (linux-bfin-low.o, linux-cris-low.o, linux-crisv32-low.o)
6860         (linux-ia64-low.o, linux-m32r-low.o, linux-mips-low.o)
6861         (linux-ppc-low.o, linux-s390-low.o, linux-sh-low.o)
6862         (linux-tic6x-low.o, linux-x86-low.o, linux-xtensa-low.o)
6863         (linux-tile-low.o, lynx-low.o, lynx-ppc-low.o, nto-low.o)
6864         (nto-x86-low.o, linux-low.o, win32-low.o, win32-arm-low.o)
6865         (win32-i386-low.o, spu-low.o, reg-arm.o, arm-with-iwmmxt.o)
6866         (arm-with-vfpv2.o, arm-with-vfpv3.o, arm-with-neon.o, reg-bfin.o)
6867         (reg-cris.o, reg-crisv32.o, i386.o, i386-linux.o, i386-avx.o)
6868         (i386-avx-linux.o, i386-mmx.o, i386-mmx-linux.o, reg-ia64.o)
6869         (reg-m32r.o, reg-m68k.o, reg-cf.o, mips-linux.o, mips-dsp-linux.o)
6870         (mips64-linux.o, mips64-dsp-linux.o, powerpc-32.o, powerpc-32l.o)
6871         (powerpc-altivec32l.o, powerpc-cell32l.o, powerpc-vsx32l.o)
6872         (powerpc-isa205-32l.o, powerpc-isa205-altivec32l.o)
6873         (powerpc-isa205-vsx32l.o, powerpc-e500l.o, powerpc-64l.o)
6874         (powerpc-altivec64l.o, powerpc-cell64l.o, powerpc-vsx64l.o)
6875         (powerpc-isa205-64l.o, powerpc-isa205-altivec64l.o)
6876         (powerpc-isa205-vsx64l.o, s390-linux32.o, s390-linux32v1.o)
6877         (s390-linux32v2.o, s390-linux64.o, s390-linux64v1.o)
6878         (s390-linux64v2.o, s390x-linux64.o, s390x-linux64v1.o)
6879         (s390x-linux64v2.o, tic6x-c64xp-linux.o, tic6x-c64x-linux.o)
6880         (tic6x-c62x-linux.o, reg-sh.o, reg-sparc64.o, reg-spu.o, amd64.o)
6881         (amd64-linux.o, amd64-avx.o, amd64-avx-linux.o, x32.o)
6882         (x32-linux.o, x32-avx.o, x32-avx-linux.o, reg-xtensa.o)
6883         (reg-tilegx.o): Remove.
6884         (all_object_files): New macro.
6885         Include .deps files.
6886         * aclocal.m4, configure: Rebuild.
6887         * acinclude.m4: Include depstand.m4, lead-dot.m4.
6888         * configure.ac: Invoke ZW_CREATE_DEPDIR,
6889         ZW_PROG_COMPILER_DEPENDENCIES.  Compute GMAKE condition.
6890
6891 2012-12-05  Tom Tromey  <tromey@redhat.com>
6892
6893         PR gdb/14917:
6894         * server.h (current_insn_ptr, emit_error): Declare 'extern'.
6895
6896 2012-11-28  Markus Metzger  <markus.t.metzger@intel.com>
6897
6898         * configure.ac: Check for linux/perf_event.h.
6899         * config.in: Regenerated.
6900         * configure: Regenerated.
6901
6902 2012-11-26  Maxime Villard  <rustyBSD@gmx.fr>
6903
6904         * hostio.c (handle_readlink): Decrease buffer size
6905         parameter passed to readlink by one byte.
6906
6907 2012-11-26  Yao Qi  <yao@codesourcery.com>
6908
6909         * configure.ac (build_warnings): Append '-Wempty-body'.
6910         * configure: Regenerated.
6911         * linux-low.c (linux_create_inferior): Use braces for empty 'if'
6912         body.
6913
6914 2012-11-15  Pierre Muller  <muller@sourceware.org>
6915
6916         * configure.ac (AC_CHECK_HEADERS): Add wait.h header.
6917         * config.in: Regenerate.
6918         * configure: Regenerate.
6919         * linux-low.c: Use "gdb_stat.h" header instead of <sys/stat.h> header.
6920         Use "gdb_wait.h" header instead of <sys/wait.h> header.
6921         * lynx-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
6922         * remote-utils.c: Use "gdb_stat.h" header instead of <sys/stat.h>
6923         header.
6924         * server.c: Remove HAVE_WAIT_H conditional.  Use "gdb_wait.h" header
6925         instead of <sys/wait.h> header.
6926         * spu-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
6927
6928 2012-11-13 Markus Metzger  <markus.t.metzger@intel.com>
6929
6930         * Makefile.in: (INTERNAL_CFLAGS): Add -DGDBSERVER
6931         (various make rules): Remove -DGDBSERVER
6932
6933 2012-11-09  Yao Qi  <yao@codesourcery.com>
6934
6935         * spu-low.c (current_ptid): Move it to ..
6936         * gdbthread.h: ... here.  New.
6937         * remote-utils.c (read_ptid): Use macro 'current_ptid'.
6938         * server.c (myresume, process_serial_event): Likewise.
6939         * thread-db.c (thread_db_find_new_threads): Likewise.
6940         * tracepoint.c (run_inferior_command): Likewise.
6941
6942 2012-10-01  Andrew Burgess  <aburgess@broadcom.com>
6943
6944         * server.c (handle_search_memory_1): Include access length in
6945         warning message.
6946
6947 2012-09-05  Michael Brandt  <michael.brandt@axis.com>
6948
6949         * linux-crisv32-low.c: Fix compile errors.
6950
6951 2012-09-04  Yao Qi  <yao@codesourcery.com>
6952
6953         * tracepoint.c (cmd_qtsv): Adjust debug message.
6954         Don't check CUR_TPOINT.
6955
6956 2012-08-28  Yao Qi  <yao@codesourcery.com>
6957
6958         * ax.c, tracepoint.c: Replace ATTR_FORMAT with ATTRIBUTE_PRINTF.
6959         * server.h: Include 'libiberty.h' and 'ansidecl.h'.
6960         (ATTR_NORETURN, ATTR_FORMAT, ATTR_MALLOC): Remove.
6961         Remove declarations of xmalloc, xreallloc, xstrdup and
6962         freeargv.
6963         * Makefile.in (libiberty_h): New.
6964         (server_h): Append dependencies 'libiberty.h' and 'ansidecl.h'.
6965         (linux-bfin-low.o): Append dependency 'libiberty.h'.
6966
6967 2012-08-23  Yao Qi  <yao@codesourcery.com>
6968
6969         * server.h: Remove declaration of 'xsnprintf'.
6970
6971 2012-08-22  Keith Seitz  <keiths@redhat.com>
6972
6973         * server.h: Include build-gnulib-gbserver/config.h.
6974         * gdbreplay.c: Likewise.
6975
6976 2012-08-08  Doug Evans  <dje@google.com>
6977
6978         * Makefile.in (SFILES): Add gdb_vecs.c.
6979         (OBS): Add gdb_vecs.o.
6980         (gdb_vecs_h, host_defs_h): New variables.
6981         (thread-db.o): Add $(gdb_vecs_h) dependency.
6982         (gdb_vecs.o): New rule.
6983         * thread-db.c: #include "gdb_vecs.h".
6984         (thread_db_load_search): Use a vector to iterate over path elements.
6985         Handle text appearing after "$pdir".
6986
6987         * configure.ac: Add check for strstr.
6988         * config.in: Regenerate.
6989         * configure: Regenerate.
6990
6991 2012-08-02  Ulrich Weigand  <ulrich.weigand@linaro.org>
6992
6993         * hostio.c (handle_pread): If pread fails, fall back to attempting
6994         lseek/read.
6995         (handle_pwrite): Likewise for pwrite.
6996
6997 2012-08-01  Ulrich Weigand  <ulrich.weigand@linaro.org>
6998
6999         * linux-arm-low.c (arm_linux_hw_point_initialize): Distinguish
7000         between unsupported TYPE and unimplementable ADDR/LEN combination.
7001         (arm_insert_point): Act on new return value.
7002
7003 2012-07-31  Pedro Alves  <palves@redhat.com>
7004
7005         * server.c (process_point_options): Only skip tokens if we find
7006         one that is unrecognized.  Don't treat 'X' specially while
7007         skipping unrecognized tokens.
7008
7009 2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
7010
7011         * linux-arm-low.c (arm_linux_hw_point_initialize): Do not attempt
7012         to 4-byte-align HW breakpoint addresses for Thumb.
7013
7014 2012-07-27  Yao Qi  <yao@codesourcery.com>
7015
7016         PR remote/14161.
7017
7018         * server.h: Declare gdb_agent_about_to_close.
7019         * target.c (kill_inferior): Include "agent.h".
7020         New.  Send command 'kill'.
7021         * target.h (kill_inferior): Removed macro.
7022         * tracepoint.c (gdb_agent_about_to_close): New.
7023         (gdb_agent_helper_thread): Handle command 'close'.
7024         Wait endlessly until the inferior stops.
7025         Install gdb_agent_remove_socket to atexit hook.
7026         (agent_socket_name): New static variable.
7027         (gdb_agent_socket_init): Replace local variable 'name' with
7028         'agent_socket_name'.
7029         (gdb_agent_remove_socket): New.
7030
7031 2012-07-27  Yao Qi  <yao@codesourcery.com>
7032
7033         * server.c (process_point_options): Stop at 'X' when parsing.
7034
7035 2012-07-19  Michael Eager  <eager@eagercon.com>
7036
7037         * i386-low.c (Z_packet_to_hw_type): Add Z_PACKET_HW_BP, translate
7038         to hw_execute.
7039         * linux-x86-low.c (x86_insert_point, x86_remove_point):
7040         Call i386_low_insert_watchpoint, i386_low_remove_watchpoint to add/del
7041         hardware breakpoint.
7042
7043 2012-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
7044
7045         * gdbserver/linux-low.c (initialize_low): Call
7046         linux_ptrace_init_warnings.
7047
7048 2012-07-02  Doug Evans  <dje@google.com>
7049
7050         * mem-break.c (gdb_no_commands_at_breakpoint): Fix cast from
7051         pointer to int.
7052
7053 2012-07-02  Stan Shebs  <stan@codesourcery.com>
7054
7055         * Makefile.in (WARN_CFLAGS_NO_FORMAT): Define.
7056         (ax.o): Add it to build rule.
7057         (ax-ipa.o): Ditto.
7058         (OBS): Add format.o.
7059         (IPA_OBS): Add format.o.
7060         * server.c (handle_query): Claim support for breakpoint commands.
7061         (process_point_options): Add command case.
7062         (process_serial_event): Leave running if there are printfs in
7063         effect.
7064         * mem-break.h (any_persistent_commands): Declare.
7065         (add_breakpoint_commands): Declare.
7066         (gdb_no_commands_at_breakpoint): Declare.
7067         (run_breakpoint_commands): Declare.
7068         * mem-break.c (struct point_command_list): New struct.
7069         (struct breakpoint): New field command_list.
7070         (any_persistent_commands): New function.
7071         (add_commands_to_breakpoint): New function.
7072         (add_breakpoint_commands): New function.
7073         (gdb_no_commands_at_breakpoint): New function.
7074         (run_breakpoint_commands): New function.
7075         * linux-low.c (linux_wait_1): Test for and run breakpoint commands
7076         locally.
7077         * ax.c: Include format.h.
7078         (ax_printf): New function.
7079         (gdb_eval_agent_expr): Add printf opcode.
7080
7081 2012-06-13  Yao Qi  <yao@codesourcery.com>
7082
7083         * server.c (start_inferior): Remove duplicated writes to fields
7084         'last_resume_kind' and 'last_status' of 'current_inferior'.
7085
7086 2012-06-12  Yao Qi  <yao@codesourcery.com>
7087             Pedro Alves  <palves@redhat.com>
7088
7089         * linux-low.c (linux_set_resume_request): Simplify predicate.  Add
7090         comment.
7091         * server.c (handle_v_cont): Extend comment.
7092
7093 2012-06-11  Yao Qi  <yao@codesourcery.com>
7094
7095         * linux-low.c (linux_attach): Add 'static'.
7096
7097 2012-06-06  Yao Qi  <yao@codesourcery.com>
7098
7099         * ax.c (gdb_eval_agent_expr): Print `top' in hex.
7100
7101 2012-06-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
7102
7103         Fix gcc -flto compilation warning.
7104         * server.c (main): Make variable multi_mode and attach volatile.
7105
7106 2012-05-30  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
7107
7108         * linux-low.c (get_r_debug): Disable code using DT_MIPS_RLD_MAP
7109         if the platform doesn't know about it.
7110
7111 2012-05-30  Jeff Kenton  <jkenton@tilera.com>
7112
7113         * Makefile.in (SFILES): Add linux-tile-low.c.
7114         (linux-tile-low.o, reg-tilegx.o, reg-tilegx.c): New rules.
7115         * configure.srv: Handle tilegx-*-linux*.
7116         * linux-tile-low.c: New file.
7117
7118 2012-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
7119
7120         * linux-low.c (linux_qxfer_libraries_svr4): Return -1 if R_DEBUG is -1.
7121
7122 2012-05-24  Pedro Alves  <palves@redhat.com>
7123
7124         PR gdb/7205
7125
7126         Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
7127
7128 2012-05-24  Pedro Alves  <palves@redhat.com>
7129
7130         PR gdb/7205
7131
7132         Replace target_signal with gdb_signal throughout.
7133
7134 2012-05-22  Maciej W. Rozycki  <macro@codesourcery.com>
7135
7136         * linux-low.c (linux_store_registers): Avoid the copying sequence
7137         when no data has been retrieved by ptrace.
7138
7139 2012-05-22  Will Deacon  <will.deacon@arm.com>
7140
7141         * linux-low (__UCLIBC__ && !(__UCLIBC_HAS_MMU__ || __ARCH_HAS_MMU__)):
7142         Include asm/ptrace.h.
7143         (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define only if not
7144         already defined.
7145
7146 2012-05-21  Maciej W. Rozycki  <macro@codesourcery.com>
7147
7148         * linux-low.c (linux_store_registers): Don't re-retrieve data
7149         with ptrace that has already been obtained from /proc.  Always
7150         copy any data retrieved with ptrace to the buffer supplied.
7151
7152 2012-05-11  Yao Qi  <yao@codesourcery.com>
7153             Pedro Alves  <palves@redhat.com>
7154
7155         * linux-low.c (enum stopping_threads_kind): New.
7156         (stopping_threads): Change type to `enum stopping_threads_kind'.
7157         (handle_extended_wait): If stopping and suspending threads, leave
7158         the new_lwp suspended too.
7159         (linux_wait_for_event): Adjust.
7160         (stop_all_lwps): Set `stopping_threads' to
7161         STOPPING_AND_SUSPENDING_THREADS or STOPPING_THREADS depending on
7162         whether we're suspending threads or just stopping them.  Assert no
7163         recursion happens.
7164
7165 2012-04-29  Yao Qi  <yao@codesourcery.com>
7166
7167         * server.h: Move some code to ...
7168         * gdbthread.h: ... here.  New.
7169         * Makefile.in (inferiors.o, regcache.o): Depends on gdbthread.h
7170         (remote-utils.o, server.o, target.o tracepoint.o): Likewise.
7171         (nto-low.o, win32-low.o): Likewise.
7172         * inferiors.c, linux-low.h, nto-low.c: Include gdbthread.h.
7173         * regcache.c, remote-utils.c, server.c: Likewise.
7174         * target.c, tracepoint.c, win32-low.c: Likewise.
7175
7176 2012-04-24  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
7177
7178         * linux-low.h (PTRACE_ARG3_TYPE): Move macro from linux-low.c.
7179         (PTRACE_ARG4_TYPE): Likewise.
7180         (PTRACE_XFER_TYPE): Likewise.
7181         * linux-arm-low.c (arm_prepare_to_resume): Cast third argument of
7182         ptrace to PTRACE_ARG3_TYPE.
7183         * linux-low.c (PTRACE_ARG3_TYPE): Move macro to linux-low.h.
7184         (PTRACE_ARG4_TYPE): Likewise.
7185         (PTRACE_XFER_TYPE): Likewise.
7186         (linux_detach_one_lwp): Cast fourth argument of
7187         ptrace to long then PTRACE_ARG4_TYPE.
7188         (regsets_fetch_inferior_registers): Cast third argument of
7189         ptrace to long then PTRACE_ARG3_TYPE.
7190         (regsets_store_inferior_registers): Likewise.
7191
7192 2012-04-20  Pedro Alves  <palves@redhat.com>
7193
7194         * configure: Regenerate.
7195
7196 2012-04-19  Pedro Alves  <palves@redhat.com>
7197
7198         * Makefile.in (GNULIB_BUILDDIR): New.
7199         (LIBGNU, INCGNU, GNULIB_H): Adjust.
7200         (SUBDIRS, CLEANDIRS, REQUIRED_SUBDIRS): New.
7201         (all, install-only, uninstall, clean-info, all-lib, clean): No
7202         longer pass GNULIB_FLAGS_TO_PASS.  Use subdir_do.
7203         (maintainer-clean realclean distclean): Use subdir_do.
7204         (subdir_do): New.
7205         (gnulib/import/Makefile): Adjust.  Replace gnulib/import with
7206         $(GNULIB_BUILDDIR).  Don't pass argument to config.status.
7207         * acinclude.m4: Include acx_configure_dir.m4.
7208         * configure.ac: Remove gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE
7209         calls.  Call AC_PROG_RANLIB.  Configure gnulib using
7210         ACX_CONFIGURE_DIR.
7211         (GNULIB): New.
7212         (GNULIB_STDINT_H): Adjust.
7213         (AC_OUTPUT): Don't output gnulib/Makefile anymore.
7214         * gdbreplay.c: Include build-gnulib/config.h.
7215         * server.h: Likewise.
7216         * aclocal.m4: Regenerate.
7217         * config.in: Regenerate.
7218         * configure: Regenerate.
7219
7220 2012-04-19  Pedro Alves  <palves@redhat.com>
7221
7222         * Makefile.in (LIBGNU, INCGNU): Adjust.
7223         (GNULIB_FLAGS_TO_PASS, GNULIB_H): Adjust.
7224         (all, install-only, uninstall, clean-info, all-lib, clean)
7225         (maintainer-clean, Makefile, gnulib/Makefile): Adjust.
7226         * configure.ac: Adjust AC_OUTPUT output.
7227         * aclocal.m4: Regenerate.
7228         * configure: Regenerate.
7229
7230 2012-04-19  Pedro Alves  <palves@redhat.com>
7231
7232         * Makefile.in (generated_files): New.
7233         (server_h): Remove the explicit dependency on config.h, and depend
7234         on $generated_files.
7235
7236 2012-04-19  Pedro Alves  <palves@redhat.com>
7237
7238         * Makefile.in (INCGNU): Add -Ignulib.
7239
7240 2012-04-19  Pedro Alves  <palves@redhat.com>
7241
7242         * Makefile.in (GNULIB_INCLUDE_DIR): Rename to ...
7243         (INCGNU): ... this, and spell out -I here.
7244         (GNULIB_LIB): Rename to ...
7245         (LIBGNU): ... this.
7246         (INCLUDE_CFLAGS, gdbserver$(EXEEXT), $(GNULIB_LIB) rule): Adjust.
7247
7248 2012-04-19  Pedro Alves  <palves@redhat.com>
7249
7250         * config.in: Regenerate.
7251
7252 2012-04-19  Pedro Alves  <palves@redhat.com>
7253
7254         * configure.ac: Remove AC_CHECK_DECLS check for memmem.
7255         * server.h (memmem): Remove declaration.
7256         * config.in: Regenerate.
7257         * configure: Regenerate.
7258
7259 2012-04-19  Yao Qi  <yao@codesourcery.com>
7260
7261         * Makefile.in (SFILES): Add common/vec.c.
7262         (OBS): Add vec.o.
7263         (vec.o): New rule.
7264
7265 2012-04-19  Yao Qi  <yao@codesourcery.com>
7266
7267         * remote-utils.c (prepare_resume_reply): Replace with macro
7268         target_core_of_thread.
7269         * server.c (handle_qxfer_threads_proper): Likewise.
7270         * target.h (traget_core_of_thread): New macro.
7271
7272 2012-04-18  Pedro Alves  <palves@redhat.com>
7273
7274         * aclocal.m4: Regenerate.
7275         * configure: Regenerate.
7276
7277 2012-04-16  Yao Qi  <yao@codesourcery.com>
7278
7279         * tracepoint.c (cmd_qtstart): Download tracepoints even when they are
7280         duplicated on address.
7281
7282 2012-04-16  Yao Qi  <yao@codesourcery.com>
7283
7284         * tracepoint.c (COPY_FIELD_TO_BUF): New macro.
7285         (struct tracepoint_action_ops) <send>: New field.
7286         (m_tracepoint_action_send, r_tracepoint_action_send): New.
7287         (agent_expr_send, x_tracepoint_action_send): New.
7288         (l_tracepoint_action_send): New.
7289         (cmd_qtdp): Download and install tracepoint
7290         according to `use_agent'.
7291         (run_inferior_command): Add one more parameter `len'.
7292         Update callers.
7293         (tracepoint_send_agent): New.
7294         (cmd_qtdp, cmd_qtstart): Call tracepoint_send_agent.
7295
7296 2012-04-16  Yao Qi  <yao@codesourcery.com>
7297
7298         * tracepoint.c (download_tracepoints): Moved to ...
7299         (cmd_qtstart): ... here.
7300
7301 2012-04-14  Yao Qi  <yao@codesourcery.com>
7302
7303         * tracepoint.c: Include inttypes.h.
7304         (struct collect_memory_action): Use sized types.
7305         (struct tracepoint): Likewise.
7306         (cmd_qtdp, stop_tracing): Update print specifiers.
7307         (cmd_qtp, response_tracepoint): Likewise.
7308         (collect_data_at_tracepoint): Likewise.
7309         (collect_data_at_step): Likewise.
7310
7311 2012-04-14  Yao Qi  <yao@codesourcery.com>
7312
7313         Import gnulib module inttypes.
7314         * aclocal.m4, config.in, configure: Regenerated.
7315
7316 2012-04-14  Yao Qi  <yao@codesourcery.com>
7317
7318         * Makefile.in (maintainer-clean, realclean, distclean): Remove
7319         Makefile and config.status at last.
7320
7321 2012-04-13  Yao Qi  <yao@codesourcery.com>
7322
7323         * tracepoint.c: Include stdint.h unconditionally.
7324
7325 2012-04-13  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
7326
7327         * acinclude.m4 (GDBSERVER_HAVE_THREAD_DB_TYPE): New macro based
7328         on BFD_HAVE_SYS_PROCFS_TYPE.
7329         * configure.ac: Look for lwpid_t and psaddr_t in libthread_db.h.
7330         * configure: Regenerate.
7331         * config.in: Likewise.
7332
7333 2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
7334
7335         * Makefile.in (clean): Also remove x32.c x32-linux.c
7336         x32-avx.c x32-avx-linux.c.
7337         (x32.o): New target.
7338         (x32.c): Likewise.
7339         (x32-linux.o): Likewise.
7340         (x32-linux.c): Likewise.
7341         (x32-avx.o): Likewise.
7342         (x32-avx.c): Likewise.
7343         (x32-avx-linux.o): Likewise.
7344         (x32-avx-linux.c): Likewise.
7345
7346         * configure.srv (srv_amd64_regobj): Add x32.o x32-avx.o.
7347         (srv_amd64_linux_regobj): Add x32-linux.o x32-avx-linux.o.
7348         (srv_i386_64bit_xmlfiles): Add i386/x32-core.xml.
7349         (srv_amd64_xmlfiles): Add i386/x32.xml i386/x32-avx.xml.
7350         (srv_amd64_linux_xmlfiles): Add i386/x32-linux.xml
7351         i386/x32-avx-linux.xml.
7352
7353         * linux-x86-low.c (init_registers_x32_linux): New prototype.
7354         (init_registers_x32_avx_linux): Likwise.
7355         (x86_linux_update_xmltarget): Call init_registers_x32_linux
7356         or init_registers_x32_avx_linux if linux_is_elf64 is false.
7357
7358 2012-04-13  Pedro Alves  <palves@redhat.com>
7359
7360         * Makefile.in (GNULIB_FLAGS_TO_PASS): New.
7361         (FLAGS_TO_PASS): Don't change or set $top_srcdir, $srcdir and VPATH.
7362         (all, uninstall, clean-info, all-lib, clean, maintainer-clean)
7363         (realclean, distclean): Explicitly pass $GNULIB_FLAGS_TO_PASS to
7364         the sub-make.
7365
7366 2012-04-12  H.J. Lu  <hongjiu.lu@intel.com>
7367
7368         * linux-x86-low.c (compat_x32_clock_t): New.
7369         (compat_x32_siginfo_t): Likewise.
7370         (compat_x32_siginfo_from_siginfo): Likewise.
7371         (siginfo_from_compat_x32_siginfo): Likewise.
7372         (linux_is_elf64): Likewise.
7373         (x86_siginfo_fixup): Call compat_x32_siginfo_from_siginfo
7374         and siginfo_from_compat_x32_siginfo for x32.
7375         (x86_arch_setup): Set linux_is_elf64.
7376
7377 2012-04-12  H.J. Lu  <hongjiu.lu@intel.com>
7378
7379         PR gdb/13969
7380         * linux-low.c (linux_pid_exe_is_elf_64_file): Also return the
7381         e_machine field.
7382         (linux_qxfer_libraries_svr4): Update call to elf_64_file_p.
7383         * linux-low.h (linux_pid_exe_is_elf_64_file): Updated.
7384         * linux-x86-low.c (x86_arch_setup): Check if GDBserver is
7385         compatible with process.
7386
7387 2012-04-12  Yao Qi  <yao@codesourcery.com>
7388
7389         * Makefile.in: Define abs_top_srcdir and abs_srcdir.
7390         (INCLUDE_CFLAGS): Append GNULIB_INCLUDE_DIR.
7391         (install-only, install-info, clean): Handle sub dir gnulib.
7392         (all-lib, am--refresh): New targets.
7393         (memmem.o): Remove target.
7394         * configure.ac: Remove AC_CONFIG_LIBOBJ_DIR.
7395         Invoke gl_EARLY.  Invoke AC_CHECK_PROGS for make.
7396         (AC_REPLACE_FUNCS): Remove memmem.
7397         Invoke gl_INIT and AM_INIT_AUTOMAKE.
7398         (AC_OUTPUT): Generate Makefile in gnulib/.
7399         * aclocal.m4, config.in, configure: Regenerated.
7400
7401 2012-04-10  Maciej W. Rozycki  <macro@codesourcery.com>
7402
7403         * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP.
7404
7405 2012-04-05  Pedro Alves  <palves@redhat.com>
7406
7407         -Werror=strict-aliasing
7408
7409         * spu-low.c (parse_spufs_run): Avoid dereferencing type-punned
7410         pointer.
7411
7412 2012-04-04  Pedro Alves  <palves@redhat.com>
7413
7414         * linux-sparc-low.c (sparc_fill_gregset_to_stack)
7415         (sparc_store_gregset_from_stack, sparc_store_gregset)
7416         (sparc_breakpoint_at): Fix formatting.
7417
7418 2012-03-30  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
7419
7420         * configure.ac: Check whether Elf32_auxv_t and Elf64_auxv_t
7421         are available.
7422         * linux-low.c [HAVE_ELF32_AUXV_T] (Elf32_auxv_t): Add typedef.
7423         [HAVE_ELF64_AUXV_T] (Elf64_auxv_t): Likewise.
7424         * config.in: Regenerate.
7425         * configure: Likewise.
7426
7427 2012-03-29  Pedro Alves  <palves@redhat.com>
7428
7429         * linux-low.c (regsets_store_inferior_registers) [__sparc__]:
7430         Correct ptrace arguments.
7431
7432 2012-03-28  Pedro Alves  <palves@redhat.com>
7433
7434         * linux-ia64-low.c (ia64_regmap): Map IA64_EC_REGNUM to PT_AR_EC.
7435         (IA64_GR0_REGNUM, IA64_FR0_REGNUM)
7436         (IA64_FR1_REGNUM): New defines.
7437         (ia64_fetch_register): New.
7438         (the_low_target): Install it.
7439         * linux-low.h (struct linux_target_ops) <fetch_register>: New
7440         field.
7441         * linux-low.c (linux_fetch_registers): Try the
7442         the_low_target.fetch_register hook first.
7443
7444         * linux-arm-low.c (the_low_target): Adjust.
7445         * linux-bfin-low.c (the_low_target): Adjust.
7446         * linux-cris-low.c (the_low_target): Adjust.
7447         * linux-crisv32-low.c (the_low_target): Adjust.
7448         * linux-m32r-low.c (the_low_target): Adjust.
7449         * linux-m68k-low.c (the_low_target): Adjust.
7450         * linux-mips-low.c (the_low_target): Adjust.
7451         * linux-ppc-low.c (the_low_target): Adjust.
7452         * linux-s390-low.c (the_low_target): Adjust.
7453         * linux-sh-low.c (the_low_target): Adjust.
7454         * linux-sparc-low.c (the_low_target): Adjust.
7455         * linux-tic6x-low.c (the_low_target): Adjust.
7456         * linux-x86-low.c (the_low_target): Adjust.
7457         * linux-xtensa-low.c (the_low_target): Adjust.
7458
7459 2012-03-26  Pedro Alves  <palves@redhat.com>
7460
7461         * server.c (handle_qxfer_libraries): Don't bail early if
7462         the_target->qxfer_libraries_svr4 is not NULL.
7463
7464 2012-03-26  Pedro Alves  <palves@redhat.com>
7465
7466         * linux-low.c (linux_qxfer_libraries_svr4): Fix pasto in comment.
7467
7468 2012-03-23  Pedro Alves  <palves@redhat.com>
7469
7470         * linux-low.c (linux_qxfer_libraries_svr4): Terminate the
7471         "library-list-svr4" element's start tag when the the DSO list is
7472         empty.
7473
7474 2012-03-23  Pedro Alves  <palves@redhat.com>
7475
7476         * linux-low.c (read_one_ptr): Read the inferior's pointer through
7477         a variable whose type size is the same as the inferior's pointer
7478         size.
7479
7480 2012-03-21  Thomas Schwinge  <thomas@codesourcery.com>
7481
7482         * linux-arm-low.c (arm_stopped_by_watchpoint): Use siginfo_t instead of
7483         struct siginfo.
7484         * linux-low.c (siginfo_fixup, linux_xfer_siginfo): Likewise.
7485         * linux-x86-low.c (x86_siginfo_fixup): Likewise.
7486         * linux-low.h: Include <signal.h>.
7487         (struct siginfo): Remove forward declaration.
7488         (struct linux_target_ops) <siginfo_fixup>: Use siginfo_t instead of
7489         struct siginfo.
7490
7491 2012-03-21  Mike Frysinger  <vapier@gentoo.org>
7492
7493         * .gitignore: Ignore more files.
7494
7495 2012-03-19  Pedro Alves  <palves@redhat.com>
7496             Jan Kratochvil  <jan.kratochvil@redhat.com>
7497
7498         * server.c (cont_thread, general_thread): Add describing comments.
7499         (start_inferior): Clear `cont_thread'.
7500         (handle_v_cont): Don't set `cont_thread' if resuming all threads
7501         of a process.
7502
7503 2012-03-15  Yao Qi  <yao@codesourcery.com>
7504
7505         * tracepoint.c (install_tracepoint): Move duplicated tracepoint
7506         handling to ...
7507         (cmd_qtdp): ... here.
7508
7509 2012-03-15  Yao Qi  <yao@codesourcery.com>
7510
7511         * tracepoint.c (struct tracepoint_action_ops): New.
7512         (struct tracepoint_action) [!IN_PROCESS_AGENT] <ops>: New field.
7513         (m_tracepoint_action_download): New.
7514         (r_tracepoint_action_download): New.
7515         (x_tracepoint_action_download): New.
7516         (l_tracepoint_action_download): New.
7517         (add_tracepoint_action): Install `action->ops' according type.
7518         (download_tracepoint_1): Move code `download' function pointer
7519         of various tracepoint_action_ops.
7520
7521 2012-03-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
7522
7523         * linux-low.c (linux_attach_lwp_1): New variable buffer.  Call
7524         linux_ptrace_attach_warnings.
7525
7526 2012-03-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
7527
7528         * Makefile.in (linux-ptrace.o): New.
7529         * configure.srv (arm*-*-linux*, bfin-*-*linux*, crisv32-*-linux*)
7530         (cris-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*)
7531         (m68*-*-linux*, m68*-*-uclinux*, mips*-*-linux*, powerpc*-*-linux*)
7532         (s390*-*-linux*, sh*-*-linux*, sparc*-*-linux*, tic6x-*-uclinux)
7533         (x86_64-*-linux*, xtensa*-*-linux*): Add linux-ptrace.o to SRV_TGTOBJ
7534         of these targets.
7535         * linux-low.c (linux_attach_lwp_1): Remove redundent else clause.
7536
7537 2012-03-08  Yao Qi  <yao@codesourcery.com>
7538             Pedro Alves  <palves@redhat.com>
7539
7540         Fix PR server/13392.
7541         * linux-x86-low.c (amd64_install_fast_tracepoint_jump_pad): Check
7542         offset of JMP insn.
7543         * tracepoint.c (remove_tracepoint): New.
7544         (cmd_qtdp): Call remove_tracepoint when failed to install.
7545
7546 2012-03-07  Pedro Alves  <palves@redhat.com>
7547
7548         * linux-low.c (get_detach_signal): New.
7549         (linux_detach_one_lwp): Get rid of a pending SIGSTOP with SIGCONT.
7550         Pass on pending signals to PTRACE_DETACH.  Check the result of the
7551         ptrace call.
7552         * server.c (program_signals, program_signals_p): New.
7553         (handle_general_set): Handle QProgramSignals.
7554         * server.h (program_signals, program_signals_p): Declare.
7555
7556 2012-03-05  Pedro Alves  <palves@redhat.com>
7557             Jan Kratochvil  <jan.kratochvil@redhat.com>
7558
7559         * linux-low.c (get_dynamic): Don't warn when PT_PHDR isn't found.
7560         New comment why.
7561
7562 2012-03-03  Yao Qi  <yao@codesourcery.com>
7563
7564         * tracepoint.c (tracepoint_look_up_symbols): Update call to
7565         agent_look_up_symbols.
7566
7567 2012-03-03  Yao Qi  <yao@codesourcery.com>
7568
7569         * Makefile.in (linux-low.o): Keep dependence on agent.h.
7570         (linux-x86-low.o): Likewise.
7571         * server.h: Remove in_process_agent_loaded.
7572         * tracepoint.c (in_process_agent_loaded): Removed.  Moved it
7573         common/agent.c.
7574         Update callers.
7575
7576 2012-03-03  Yao Qi  <yao@codesourcery.com>
7577
7578         * tracepoint.c (gdb_agent_capability): New global.
7579         (in_process_agent_loaded_ust): Renamed to
7580         `in_process_agent_supports_ust'.
7581         Update callers.
7582         (in_process_agent_supports_ust): Call agent_capability_check.
7583         (clear_installed_tracepoints): Assert that agent supports
7584         agent.
7585
7586 2012-03-03  Yao Qi  <yao@codesourcery.com>
7587
7588         * linux-low.c (linux_supports_agent): New.
7589         (linux_target_ops): Initialize field `supports_agent' with
7590         linux_supports_agent.
7591         * target.h (struct target_ops) <supports_agent>: New.
7592         (target_supports_agent): New macro.
7593         * server.c (handle_general_set): Handle packet 'QAgent'.
7594         (handle_query): Send `QAgent+'.
7595         * Makefile.in (server.o): Depends on agent.h.
7596
7597 2012-03-03  Yao Qi  <yao@codesourcery.com>
7598
7599         * Makefile.in (OBS): Add agent.o.
7600         Add new rule for agent.o.
7601         Track dependence of tracepoint.c on agent.h.
7602         * tracepoint.c (run_inferior_command_1):
7603         (run_inferior_command): Call agent_run_command.
7604         (gdb_ust_connect_sync_socket): Deleted.  Move it to
7605         common/agent.c.
7606         (resume_thread, stop_thread): Likewise.
7607         (gdb_ust_socket_init): Renamed to ...
7608         (gdb_agent_socket_init): ... New.
7609         (gdb_ust_thread): Renamed to ...
7610         (gdb_agent_helper_thread): ... New.
7611         (gdb_ust_init): Move some code to ...
7612         (gdb_agent_init): ... here.  New.
7613         [HAVE_UST]: Call gdb_ust_init.
7614         (initialize_tracepoint_ftlib):  Call gdb_agent_init.
7615         * configure.ac: Add `sys/un.h' to AC_CHECK_HEADERS.
7616         * config.in, configure: Regenerated.
7617
7618 2012-03-02  Pedro Alves  <palves@redhat.com>
7619
7620         * inferiors.c (add_pid_to_list, pull_pid_from_list): Delete.
7621         * linux-low.c (struct simple_pid_list): New.
7622         (stopped_pids): New a struct simple_pid_list pointer.
7623         (add_to_pid_list, pull_pid_from_list): New.
7624         (handle_extended_wait): Don't assume the first signal new children
7625         report is SIGSTOP.  Adjust call to pull_pid_from_list.
7626         (linux_wait_for_lwp): Adjust.
7627
7628 2012-03-02  Yao Qi  <yao@codesourcery.com>
7629
7630         * tracepoint.c (do_action_at_tracepoint): Write `stop_pc' in
7631         debug log.
7632
7633 2012-03-02  Yao Qi  <yao@codesourcery.com>
7634
7635         * tracepoint.c (collect_ust_data_at_tracepoint): Remove parameters
7636         `stop_pc' and `tpoint'.  Update caller.
7637
7638 2012-03-01  Maciej W. Rozycki  <macro@codesourcery.com>
7639
7640         * linux-low.h (linux_target_ops): Add regset_bitmap member.
7641         * linux-low.c (use_linux_regsets): New macro.
7642         [!HAVE_LINUX_REGSETS] (regsets_fetch_inferior_registers): Likewise.
7643         [!HAVE_LINUX_REGSETS] (regsets_store_inferior_registers): Likewise.
7644         (linux_register_in_regsets): New function.
7645         (usr_fetch_inferior_registers): Skip registers covered by
7646         regsets.
7647         (usr_store_inferior_registers): Likewise.
7648         (usr_fetch_inferior_registers): New macro.
7649         (usr_store_inferior_registers): Likewise.
7650         (linux_fetch_registers): Handle mixed regset/non-regset targets.
7651         (linux_store_registers): Likewise.
7652         * linux-mips-low.c (init_registers_mips_dsp_linux): New
7653         prototype.
7654         (init_registers_mips64_dsp_linux): Likewise.
7655         (init_registers_mips_linux): New macro.
7656         (init_registers_mips_dsp_linux): Likewise.
7657         (mips_dsp_num_regs): Likewise.
7658         (DSP_BASE, DSP_CONTROL): New fallback macros.
7659         (mips_base_regs): New macro.
7660         (mips_regmap): Use it.  Fix the size.
7661         (mips_dsp_regmap): New variable.
7662         (mips_dsp_regset_bitmap): Likewise.
7663         (mips_arch_setup): New function.
7664         (mips_cannot_fetch_register): Use the_low_target.regmap rather
7665         than mips_regmap.
7666         (mips_cannot_store_register): Likewise.
7667         (the_low_target): Update .arch_setup, .num_regs and .regmap
7668         initializers.  Add .regset_bitmap initializer.
7669         * linux-arm-low.c (the_low_target): Add .regset_bitmap
7670         initializer.
7671         * linux-bfin-low.c (the_low_target): Likewise.
7672         * linux-cris-low.c (the_low_target): Likewise.
7673         * linux-crisv32-low.c (the_low_target): Likewise.
7674         * linux-ia64-low.c (the_low_target): Likewise.
7675         * linux-m32r-low.c (the_low_target): Likewise.
7676         * linux-m68k-low.c (the_low_target): Likewise.
7677         * linux-ppc-low.c (the_low_target): Likewise.
7678         * linux-s390-low.c (the_low_target): Likewise.
7679         * linux-sh-low.c (the_low_target): Likewise.
7680         * linux-sparc-low.c (the_low_target): Likewise.
7681         * linux-tic6x-low.c (the_low_target): Likewise.
7682         * linux-x86-low.c (the_low_target): Likewise.
7683         * linux-xtensa-low.c (the_low_target): Likewise.
7684         * configure.srv <mips*-*-linux*>: Add mips-dsp-linux.o and
7685         mips64-dsp-linux.o to srv_regobj.  Add mips-dsp-linux.xml,
7686         mips64-dsp-linux.xml, mips-dsp.xml and mips64-dsp.xml to
7687         srv_xmlfiles.
7688         * Makefile.in (mips-dsp-linux.o, mips-dsp-linux.c): New targets.
7689         (mips64-dsp-linux.o, mips64-dsp-linux.c): Likewise.
7690
7691 2012-02-29  Yao Qi  <yao@codesourcery.com>
7692             Pedro Alves  <palves@redhat.com>
7693
7694         * linux-low.c: (linux_wait_1): Call unsuspend_all_lwps when
7695         `step_over_finished' is true.
7696
7697 2012-02-27  Pedro Alves  <palves@redhat.com>
7698
7699         * linux-low.c (pid_is_stopped): Delete, moved to common/.
7700         (linux_attach_lwp_1): Adjust to use linux_proc_pid_is_stopped.
7701
7702 2012-02-27  Pedro Alves  <palves@redhat.com>
7703
7704         PR server/9684
7705         * linux-low.c (pid_is_stopped): New.
7706         (linux_attach_lwp_1): Handle attaching to 'T (stopped)' processes.
7707
7708 2012-02-25  Luis Machado  <lgustavo@codesourcery.com>
7709
7710         * mem-break.c (clear_gdb_breakpoint_conditions): Fix de-allocation
7711         of conditions.
7712
7713 2012-02-24  Maciej W. Rozycki  <macro@codesourcery.com>
7714
7715         * linux-mips-low.c (mips_regmap): Correct the index of $f9.
7716
7717 2012-02-24  Luis Machado  <lgustavo@codesourcery>
7718
7719         * server.c (handle_query): Advertise support for target-side
7720         breakpoint condition evaluation.
7721         (process_point_options): New function.
7722         (process_serial_event): When inserting a breakpoint, check for
7723         a target-side condition that should be evaluated.
7724
7725         * mem-break.c: Include regcache.h and ax.h.
7726         (point_cond_list_t): New data structure.
7727         (breakpoint) <cond_list>: New field.
7728         (find_gdb_breakpoint_at): Make non-static.
7729         (delete_gdb_breakpoint_at): Clear any target-side
7730         conditions.
7731         (clear_gdb_breakpoint_conditions): New function.
7732         (add_condition_to_breakpoint): Likewise.
7733         (add_breakpoint_condition): Likewise.
7734         (gdb_condition_true_at_breakpoint): Likewise.
7735         (gdb_breakpoint_here): Return result directly instead
7736         of going through a local variable.
7737
7738         * mem-break.h (find_gdb_breakpoint_at): New prototype.
7739         (clear_gdb_breakpoint_conditions): Likewise.
7740         (add_breakpoint_condition): Likewise.
7741         (gdb_condition_true_at_breakpoint): Likewise.
7742
7743         * linux-low.c (linux_wait_1): Evaluate target-side breakpoint condition.
7744         (need_step_over_p): Take target-side breakpoint condition into
7745         consideration.
7746
7747 2012-02-24  Luis Machado  <lgustavo@codesourcery>
7748
7749         * server.h: Include tracepoint.h.
7750         (agent_mem_read, agent_get_trace_state_variable_value,
7751         agent_set_trace_state_variable_value,
7752         agent_tsv_read, agent_mem_read_string, get_get_tsv_func_addr,
7753         get_set_tsv_func_addr): New prototypes.
7754
7755         * ax.h: New include file.
7756         * ax.c: New source file.
7757
7758         * tracepoint.c: Include ax.h.
7759         (gdb_agent_op, gdb_agent_op_names, gdb_agent_op_sizes,
7760         agent_expr, eval_result_type): Move to ax.h.
7761         (parse_agent_expr): Rename to ...
7762         (gdb_parse_agent_expr): ... this, make it non-static and move
7763         to ax.h.
7764         (unparse_agent_expr) Rename to ...
7765         (gdb_unparse_agent_expr): ... this, make it non-static and move
7766         to ax.h.
7767         (eval_agent_expr): Rename to ...
7768         (eval_tracepoint_agent_expr): ... this.
7769         (agent_mem_read, agent_mem_read_string, agent_tsv_read): Remove
7770         forward declarations.
7771         (add_tracepoint_action): Call gdb_parse_agent_expr (...).
7772         (agent_get_trace_state_variable_value): New function.
7773         (agent_set_trace_state_variable_value): New function.
7774         (cmd_qtdp): Call gdb_parse_agent_expr (...).
7775         (response_tracepoint): Call gdb_unparse_agent_expr (...).
7776         (do_action_at_tracepoint): Call eval_tracepoint_agent_expr (...).
7777         (condition_true_at_tracepoint): Likewise.
7778         (parse_agent_expr): Rename to ...
7779         (gdb_parse_agent_expr): ... this and move to ax.c.
7780         (unparse_agent_expr): Rename to ...
7781         (gdb_unparse_agent_expr): ... this and move to ax.c.
7782         (gdb_agent_op_name): Move to ax.c.
7783         (eval_agent_expr): Rename to ...
7784         (gdb_eval_agent_expr): ... this, use regcache passed as parameter
7785         and move to ax.c.
7786         (eval_tracepoint_agent_expr): New function.
7787         (agent_mem_read, agent_mem_read_string, agent_tsv_read): Make
7788         non-static.
7789         (current_insn_ptr, emit_error, struct bytecode_address): Move to
7790         ax.c.
7791         (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul, emit_lsh,
7792         emit_rsh_signed, emit_rsh_unsigned, emit_ext, emit_log_not,
7793         emit_bit_and, emit_bit_or, emit_bit_xor, emit_bit_not, emit_equal,
7794         emit_less_signed, emit_less_unsigned, emit_ref, emit_if_goto,
7795         emit_goto, write_goto_address, emit_const, emit_reg, emit_pop,
7796         emit_stack, emit_zero_ext, emit_swap, emit_stack_adjust,
7797         emit_int_call_1, emit_void_call_2, emit_eq_goto, emit_ne_goto,
7798         emit_lt_goto, emit_ge_goto, emit_gt_goto, emit_le_goto): Move to ax.c.
7799         (get_get_tsv_func_addr, get_set_tsv_func_addr): New functions.
7800         (compile_bytecodes): Remove forward declaration.
7801         (is_goto_target): Move to ax.c.
7802         (compile_bytecodes): Move to ax.c and call
7803         agent_get_trace_state_variable_value (...) and
7804         agent_set_trace_state_variable_value (...).
7805
7806         * Makefile.in: Update ax.c and IPA dependencies.
7807
7808 2012-02-24  Pedro Alves  <palves@redhat.com>
7809
7810         * tracepoint.c (cmd_bigqtbuffer): Rename as ...
7811         (cmd_bigqtbuffer_circular): ... this.  Only handle
7812         'QTBuffer:circular:'.
7813         (handle_tracepoint_general_set): Adjust.
7814
7815 2012-02-16  Yao Qi  <yao@codesourcery.com>
7816
7817         * inferiors.c: Move code to ...
7818         * dll.c: .... here.  New.
7819         * server.h: Declare clear_dlls.
7820         * Makefile.in (SFILES): Add dll.c.
7821         (OBS): Add dll.o
7822         (dll.o): New rule.
7823
7824 2012-02-11  Yao Qi  <yao@codesourcery.com>
7825
7826         * server.c: (handle_monitor_command): Add a new parameter
7827         `own_buf'.
7828         (handle_query): Update caller.
7829
7830 2012-02-09  Joel Brobecker  <brobecker@adacore.com>
7831
7832         * configure.ac: Add readlink to AC_CHECK_FUNCS list.
7833         * configure, config.in: Regenerate.
7834         * hostio.c: Provide an alternate implementation if HAVE_READLINK
7835         is not defined.
7836
7837 2012-02-02  Pedro Alves  <palves@redhat.com>
7838
7839         Try SIGKILL first, then PTRACE_KILL.
7840         * linux-low.c (linux_kill_one_lwp): New.
7841         (linux_kill_one_lwp): Rename to ...
7842         (kill_one_lwp_callback): ... this.  Use the new
7843         linux_kill_one_lwp.
7844
7845 2012-02-02  Pedro Alves  <palves@redhat.com>
7846
7847         * tracepoint.c (cmd_qtminftpilen): Return 0 if there's no current
7848         inferior.
7849
7850 2012-01-27  Pedro Alves  <palves@redhat.com>
7851
7852         * linux-low.c (linux_child_pid_to_exec_file): Delete.
7853         (elf_64_file_p): Make static.
7854         (linux_pid_exe_is_elf_64_file): New.
7855         * linux-low.h (linux_child_pid_to_exec_file, elf_64_file_p):
7856         Delete declarations.
7857         (linux_pid_exe_is_elf_64_file): Declare.
7858         * linux-x86-low.c (x86_arch_setup): Use
7859         linux_pid_exe_is_elf_64_file.
7860
7861 2012-01-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
7862
7863         * linux-low.c (linux_wait_for_event_1): Rename to ...
7864         (linux_wait_for_event): ... here and merge it with former
7865         linux_wait_for_event - new variable wait_ptid, use it.
7866         (linux_wait_for_event): Remove - merge it to linux_wait_for_event_1.
7867
7868 2012-01-23  Pedro Alves  <palves@redhat.com>
7869
7870         * server.c (main): Avoid yet another case of infinite loop while
7871         detaching/killing after a longjmp.
7872
7873 2012-01-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
7874
7875         Code cleanup.
7876         * linux-low.c (linux_wait_for_event_1): Use ptid_is_pid.
7877
7878 2012-01-20  Ulrich Weigand  <ulrich.weigand@linaro.org>
7879
7880         * hostio.c (handle_readlink): New function.
7881         (handle_vFile): Call it to handle "vFile:readlink" packets.
7882
7883 2012-01-20  Pedro Alves  <palves@redhat.com>
7884             Ulrich Weigand  <ulrich.weigand@linaro.org>
7885
7886         * server.c (handle_v_requests): Only support vAttach and vRun to
7887         start multiple processes when in extended protocol mode.
7888
7889 2012-01-17  Pedro Alves  <palves@redhat.com>
7890
7891         * tracepoint.c (initialize_tracepoint): Use mmap instead of
7892         memalign plus mprotect to allocate the scratch buffer.
7893
7894 2012-01-13  Pedro Alves  <palves@redhat.com>
7895
7896         * server.c (attach_inferior): Clear `cont_thread'.
7897
7898 2012-01-13  Pedro Alves  <palves@redhat.com>
7899
7900         * server.c (main): Avoid infinite loop while detaching/killing
7901         after a longjmp.
7902
7903 2012-01-09  Doug Evans  <dje@google.com>
7904
7905         * server.c (start_inferior): Set last_ptid in --wrapper case.
7906
7907 2012-01-06  Yao Qi  <yao@codesourcery.com>
7908
7909         * tracepoint.c [IN_PROCESS_AGENT] (debug_threads): Macro
7910         defined.
7911         [IN_PROCESS_AGENT] (debug_agent): New global variable.
7912
7913 2012-01-04  Yao Qi  <yao@codesourcery.com>
7914
7915         * tracepoint.c (cmd_qtdp): Print debug message
7916         for static tracepoint.
7917
7918 2012-01-04  Yao Qi  <yao@codesourcery.com>
7919
7920         * tracepoint.c (trace_vdebug): Differentiate debug message
7921         between gdbserver and IPA.
7922
7923 2012-01-03  Yao Qi  <yao@codesourcery.com>
7924
7925         * tracepoint.c (tracepoint_was_hit): Don't collect for
7926         static tracepoint.
7927
7928 2012-01-02  Joel Brobecker  <brobecker@adacore.com>
7929
7930         * terminal.h: Reformat copyright header.
7931
7932 2012-01-02  Joel Brobecker  <brobecker@adacore.com>
7933
7934         * server.c (gdbserver_version): Update copyright year.
7935         * gdbreplay.c (gdbreplay_version): Likewise.
7936
7937 2011-12-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
7938
7939         * linux-low.c (linux_create_inferior): Put empty if clause for write.
7940
7941         Revert:
7942         2011-12-18  Hui Zhu  <teawater@gmail.com>
7943         * linux-low.c (linux_create_inferior): Save return value to ret.
7944
7945 2011-12-18  Hui Zhu  <teawater@gmail.com>
7946
7947         * linux-low.c (linux_create_inferior): Save return value to ret.
7948
7949 2011-12-16  Doug Evans  <dje@google.com>
7950
7951         * linux-low.c (linux_create_inferior): If stdio connection,
7952         redirect stdin from /dev/null, stdout to stderr.
7953         * remote-utils.c (remote_is_stdio): New static global.
7954         (remote_connection_is_stdio): New function.
7955         (remote_prepare): Handle stdio connection.
7956         (remote_open): Ditto.
7957         (remote_close): Don't close stdin for stdio connections.
7958         (read_prim,write_prim): New functions.  Replace all calls to
7959         read/write to these.
7960         * server.c (main): Watch for "-" argument.  Move call to
7961         remote_prepare before start_inferior.
7962         * server.h (STDIO_CONNECTION_NAME): New macro.
7963         (remote_connection_is_stdio): Declare.
7964
7965         * remote-utils.c (prepare_resume_reply): Remove extraneous \n
7966         in debugging output.
7967
7968 2011-12-15  Yao Qi  <yao@codesourcery.com>
7969
7970         * tracepoint.c: Include sys/syscall.h.
7971         (gdb_ust_thread): Remove preprocessor conditional.
7972
7973 2011-12-14  Pedro Alves  <pedro@codesourcery.com>
7974
7975         * linux-low.c (linux_detach_one_lwp): Call
7976         the_low_target.prepare_to_resume before detaching.
7977
7978 2011-12-14  Yao Qi  <yao@codesourcery.com>
7979
7980         * tracepoint.c (gdb_ust_thread): Don't ignore return value
7981         of write.
7982
7983 2011-12-14  Yao Qi  <yao@codesourcery.com>
7984
7985         * i386-low.c (i386_low_stopped_data_address): Initialize local
7986         variable `control'.
7987
7988 2011-12-13  Pedro Alves  <pedro@codesourcery.com>
7989
7990         PR remote/13492
7991
7992         * i386-low.c (i386_low_stopped_data_address): Avoid fetching
7993         DR_CONTROL unless necessary.  Extend comments.
7994         * linux-x86-low.c (x86_linux_prepare_to_resume): Don't write to
7995         DR0-3 if not used.  If any watchpoint was set, clear DR_STATUS.
7996
7997 2011-12-13  Yao Qi  <yao@codesourcery.com>
7998
7999         * tracepoint.c (trace_buffer_alloc): Replace magic numbers with
8000         macros.
8001         (upload_fast_traceframes, upload_fast_traceframes): Likewise.
8002
8003 2011-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
8004
8005         * linux-low.c (linux_kill): Skip PTRACE_KILL if LWP does not exist.
8006         Print new debug message for such case.
8007
8008 2011-12-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
8009
8010         Fix overlapping memcpy.
8011         * mem-break.c (set_raw_breakpoint_at): New variable buf.  Use it for
8012         the read_inferior_memory transfer.
8013         (delete_fast_tracepoint_jump): New variable buf.  Use it for the
8014         write_inferior_memory transfer.
8015         (set_fast_tracepoint_jump): New variable buf.  Use it for the
8016         read_inferior_memory and write_inferior_memory transfers.
8017         (uninsert_fast_tracepoint_jumps_at, reinsert_fast_tracepoint_jumps_at)
8018         (delete_raw_breakpoint, uninsert_raw_breakpoint): New variable buf.
8019         Use it for the write_inferior_memory transfer.
8020         (check_mem_read, check_mem_write): New gdb_asserts for overlapping
8021         buffers.
8022
8023 2011-12-06  Maciej W. Rozycki  <macro@codesourcery.com>
8024
8025         * linux-low.c (fetch_register, store_register): Make code
8026         consistent, fix formatting.
8027
8028 2011-12-06  Maciej W. Rozycki  <macro@codesourcery.com>
8029
8030         * linux-low.c (usr_store_inferior_registers): Factor out code
8031         to handle individual registers into...
8032         (store_register): ... this new function.
8033
8034 2011-12-06  Ulrich Weigand  <uweigand@de.ibm.com>
8035
8036         * Makefile.in (s390-linux32v1.o, s390-linux32v1.c): New rules.
8037         (s390-linux32v2.o, s390-linux32v2.c): Likewise.
8038         (s390-linux64v1.o, s390-linux64v1.c): Likewise.
8039         (s390-linux64v2.o, s390-linux64v2.c): Likewise.
8040         (s390x-linux64v1.o, s390x-linux64v1.c): Likewise.
8041         (s390x-linux64v2.o, s390x-linux64v2.c): Likewise.
8042         * configure.srv [s390*-*-linux*] (srv_regobj): Add new objects.
8043         (srv_xmlfiles): Add new XML files.
8044
8045         * linux-s390-low.c: Include "elf/common.h", <sys/ptrace.h>,
8046         and <sys/uio.h>.
8047         (PTRACE_GETREGSET, PTRACE_SETREGSET): Define if undefined.
8048         (init_registers_s390_linux32v1): Add prototype.
8049         (init_registers_s390_linux32v2): Likewise.
8050         (init_registers_s390_linux64v1): Likewise.
8051         (init_registers_s390_linux64v2): Likewise.
8052         (init_registers_s390x_linux64v1): Likewise.
8053         (init_registers_s390x_linux64v2): Likewise.
8054         (s390_num_regs): Increment to 52.
8055         (s390_regmap): Add orig_r2 register.
8056         (s390_num_regs_3264): Increment to 68.
8057         (s390_regmap_3264): Add orig_r2 register.
8058         (s390_collect_ptrace_register): Handle orig_r2 register.
8059         (s390_supply_ptrace_register): Likewise.
8060         (s390_fill_last_break): New function.
8061         (s390_store_last_break): Likewise.
8062         (s390_fill_system_call): New function.
8063         (s390_store_system_call): Likewise.
8064         (target_regsets): Handle NT_S390_LAST_BREAK and NT_S390_SYSTEM_CALL
8065         register sets.
8066         (s390_check_regset): New function.
8067         (s390_arch_setup): Check for presence of NT_S390_LAST_BREAK and
8068         NT_S390_SYSTEM_CALL regsets and use appropriate description.
8069         Update target_regsets for available register sets.
8070
8071 2011-12-02  Paul Pluzhnikov  <ppluzhnikov@google.com>
8072             Jan Kratochvil  <jan.kratochvil@redhat.com>
8073
8074         * linux-low.c (get_phdr_phnum_from_proc_auxv, get_dynamic, get_r_debug)
8075         (read_one_ptr, struct link_map_offsets, linux_qxfer_libraries_svr4):
8076         New.
8077         (struct linux_target_ops): Install linux_qxfer_libraries_svr4.
8078         * linux-low.h (struct process_info_private): New member r_debug.
8079         * server.c (handle_qxfer_libraries): Call
8080         the_target->qxfer_libraries_svr4.
8081         (handle_qxfer_libraries_svr4): New function.
8082         (qxfer_packets): New entry "libraries-svr4".
8083         (handle_query): Check QXFER_LIBRARIES_SVR4 and report libraries-svr4.
8084         * target.h (struct target_ops): New member qxfer_libraries_svr4.
8085         * remote.c (remote_xfer_partial): Call add_packet_config_cmd for
8086         PACKET_qXfer_libraries_svr4.
8087
8088 2011-11-30  Ulrich Weigand  <uweigand@de.ibm.com>
8089
8090         * linux-s390-low.c (s390_collect_ptrace_register): Fully convert
8091         PSW address/mask between 8-byte and 16-byte formats.
8092         (s390_supply_ptrace_register): Likewise.
8093         (s390_get_pc, s390_set_pc): 4-byte PSW address always includes
8094         basic addressing mode bit.
8095
8096 2011-11-24  Stan Shebs  <stan@codesourcery.com>
8097
8098         * tracepoint.c (cmd_qtstatus): Use plongest instead of %llx.
8099
8100 2011-11-17  Stan Shebs  <stan@codesourcery.com>
8101
8102         * tracepoint.c (struct tracepoint): New field traceframe_usage.
8103         (tracing_start_time): New global.
8104         (tracing_stop_time): New global.
8105         (tracing_user_name): New global.
8106         (tracing_notes): New global.
8107         (tracing_stop_note): New global.
8108         (cmd_qtstart): Set traceframe_usage, start_time.
8109         (stop_tracing): Set stop_time.
8110         (cmd_qtstatus): Report additional status.
8111         (cmd_qtp): New function.
8112         (handle_tracepoint_query): Call it.
8113         (cmd_qtnotes): New function.
8114         (handle_tracepoint_general_set): Call it.
8115         (get_timestamp): Rename from tsv_get_timestamp.
8116
8117 2011-11-14  Stan Shebs  <stan@codesourcery.com>
8118             Kwok Cheung Yeung  <kcy@codesourcery.com>
8119
8120         * linux-x86-low.c (small_jump_insn): New.
8121         (i386_install_fast_tracepoint_jump_pad): Add arguments for
8122         trampoline and error message, build a trampoline and issue a small
8123         jump instruction to it.
8124         (x86_install_fast_tracepoint_jump_pad): Add arguments for
8125         trampoline and error message.
8126         (x86_get_min_fast_tracepoint_insn_len): New.
8127         (the_low_target): Add call to x86_get_min_fast_tracepoint_insn_len.
8128         * linux-low.h (struct linux_target_ops): Add arguments to
8129         install_fast_tracepoint_jump_pad operation, add new operation.
8130         * linux-low.c (linux_install_fast_tracepoint_jump_pad): Add
8131         arguments.
8132         (linux_get_min_fast_tracepoint_insn_len): New function.
8133         (linux_target_op): Add new operation.
8134         * tracepoint.c (gdb_trampoline_buffer): New IPA variable.
8135         (gdb_trampoline_buffer_end): Ditto.
8136         (gdb_trampoline_buffer_error): Ditto.
8137         (struct ipa_sym_addresses): Add fields for new IPA variables.
8138         (symbol_list): Add entries for new IPA variables.
8139         (struct tracepoint): Add fields to hold the address range of the
8140         trampoline used by the tracepoint.
8141         (trampoline_buffer_head): New static variable.
8142         (trampoline_buffer_tail): Ditto.
8143         (claim_trampoline_space): New function.
8144         (have_fast_tracepoint_trampoline_buffer): New function.
8145         (clone_fast_tracepoint): Fill in trampoline fields of tracepoint
8146         structure.
8147         (install_fast_tracepoint): Ditto, also add error buffer argument.
8148         (cmd_qtminftpilen): New function.
8149         (handle_tracepoint_query): Add response to qTMinFTPILen packet.
8150         (fast_tracepoint_from_trampoline_address): New function.
8151         (fast_tracepoint_collecting): Handle trampoline as part of jump
8152         pad space.
8153         (set_trampoline_buffer_space): New function.
8154         (initialize_tracepoint): Initialize new IPA variables.
8155         * target.h (struct target_ops): Add arguments to
8156         install_fast_tracepoint_jump_pad operation, add new
8157         get_min_fast_tracepoint_insn_len operation.
8158         (target_get_min_fast_tracepoint_insn_len): New.
8159         (install_fast_tracepoint_jump_pad): Add arguments.
8160         * server.h (IPA_BUFSIZ): Define.
8161         * linux-i386-ipa.c: Include extra header files.
8162         (initialize_fast_tracepoint_trampoline_buffer): New function.
8163         (initialize_low_tracepoint): Call it.
8164         * server.h (set_trampoline_buffer_space): Declare.
8165         (claim_trampoline_space): Ditto.
8166         (have_fast_tracepoint_trampoline_buffer): Ditto.
8167
8168 2011-11-14  Yao Qi  <yao@codesourcery.com>
8169
8170         * server.c (handle_query): Handle InstallInTrace for qSupported.
8171         * tracepoint.c (add_tracepoint): Sort list.
8172         (install_tracepoint, download_tracepoint): New.
8173         (cmd_qtdp): Call them to install and download tracepoints.
8174         (sort_tracepoints): Removed.
8175         (cmd_qtstart): Update.
8176
8177 2011-11-14  Yao Qi  <yao@codesourcery.com>
8178
8179         * mem-break.c (inc_ref_fast_tracepoint_jump): New.
8180         * mem-break.h: Declare.
8181         * tracepoint.c (cmd_qtstart): Move some code to ...
8182         (clone_fast_tracepoint, install_fast_tracepoint): ... here.
8183         New.
8184         (download_tracepoints): Move some code to ...
8185         (download_tracepoint_1): ... here.  New.
8186
8187 2011-11-08  Yao Qi  <yao@codesourcery.com>
8188
8189         * remote-utils.c (relocate_instruction): A comment fix.
8190
8191 2011-11-07  Joel Brobecker  <brobecker@adacore.com>
8192
8193         * win32-i386-low.c (dr_status_mirror, dr_control_mirror): Delete.
8194         (i386_dr_low_get_control, i386_dr_low_get_status): Use
8195         dr_status_mirror and dr_control_mirror from debug_reg_state.
8196         (i386_dr_low_get_status): Use debug_reg_state.dr_status_mirror
8197         (i386_initial_stuff): Remove use of deleted globals.
8198         (i386_get_thread_context, i386_set_thread_context,
8199         i386_thread_added): Use dr_status_mirror and dr_control_mirror
8200         from debug_reg_state.
8201
8202 2011-11-05  Yao Qi  <yao@codesourcery.com>
8203
8204         * tracepoint.c (gdb_collect): Loop over tracepoints of same
8205         address as TPOINT's.
8206
8207 2011-11-02  Stan Shebs  <stan@codesourcery.com>
8208
8209         * tracepoint.c (agent_mem_read_string): New function.
8210         (eval_agent_expr): Call it for tracenz.
8211         * server.c (handle_query): Report support for tracenz.
8212
8213 2011-11-02  Yao Qi  <yao@codesourcery.com>
8214
8215         * tracepoint.c (cmd_qtstart): Remove unused local variables.
8216
8217 2011-11-02  Yao Qi  <yao@codesourcery.com>
8218
8219         * target.h: Fix a typo in comment.
8220
8221 2011-10-31  Pedro Alves  <pedro@codesourcery.com>
8222
8223         * mem-break.c (check_mem_write): Add `myaddr' parameter.  Don't
8224         clobber the breakpoints' shadows with fast tracepoint jumps.
8225         * mem-break.h (check_mem_write): Add `myaddr' parameter.
8226         * target.c (write_inferior_memory): Also pass MYADDR down to
8227         check_mem_write.
8228
8229 2011-10-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
8230
8231         * configure.ac: Check support for personality routine.
8232         * configure: Regenerate.
8233         * config.in: Likewise.
8234         * linux-low.c: Include <sys/personality.h>.
8235         Define ADDR_NO_RANDOMIZE if necessary.
8236         (linux_create_inferior): Disable address space randomization when
8237         forking inferior, if requested.
8238         (linux_supports_disable_randomization): New function.
8239         (linux_target_ops): Install it.
8240         * server.h (disable_randomization): Declare.
8241         * server.c (disable_randomization): New global variable.
8242         (handle_general_set): Handle QDisableRandomization.
8243         (handle_query): Likewise for qSupported.
8244         (main): Support --disable-randomization and --no-disable-randomization
8245         command line arguments.
8246         * target.h (struct target_ops): Add supports_disable_randomization.
8247         (target_supports_disable_randomization): New macro.
8248
8249 2011-09-29  Mike Frysinger  <vapier@gentoo.org>
8250
8251         * linux-low.c (target_loadseg): Add defined PTRACE_GETFDPIC to the
8252         ifdef check.
8253         [PT_GETDSBT] (target_loadmap): Wrap in a defined PT_GETDSBT check.
8254         [!PT_GETDSBT] (target_loadmap): New definition.
8255         (LINUX_LOADMAP, LINUX_LOADMAP_EXEC, LINUX_LOADMAP_INTERP): Define.
8256         (linux_read_loadmap): Change PTRACE_GETDSBT_EXEC to
8257         LINUX_LOADMAP_EXEC, PTRACE_GETDSBT_INTERP to LINUX_LOADMAP_INTERP,
8258         and PT_GETDSBT to LINUX_LOADMAP.
8259         [!PT_GETDSBT] (linux_read_loadmap): Define to NULL.
8260         (linux_target_ops): Delete unnecessary ifdef PT_GETDSBT check.
8261
8262 2011-09-21  Ulrich Weigand  <ulrich.weigand@linaro.org>
8263
8264         * linux-arm-low.c (struct arm_linux_hwbp_cap): Remove.
8265         (arm_linux_hwbp_cap): New static variable.
8266         (arm_linux_get_hwbp_cap): Replace by ...
8267         (arm_linux_init_hwbp_cap): ... this new function.
8268         (arm_linux_get_hw_breakpoint_count): Use arm_linux_hwbp_cap.
8269         (arm_linux_get_hw_watchpoint_count): Likewise.
8270         (arm_linux_get_hw_watchpoint_max_length): Likewise.
8271         (arm_arch_setup): Call arm_linux_init_hwbp_cap.
8272         (arm_prepare_to_resume): Use perror_with_name instead of error.
8273
8274 2011-09-21  Ulrich Weigand  <ulrich.weigand@linaro.org>
8275
8276         * linux-arm-low.c: Include <signal.h>.
8277         (PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define if necessary.
8278         (struct arm_linux_hwbp_cap): New data type.
8279         (arm_hwbp_type, arm_hwbp_control_t): New typedefs.
8280         (struct arm_linux_hw_breakpoint): New data type.
8281         (MAX_BPTS, MAX_WPTS): Define.
8282         (struct arch_process_info, struct arch_lwp_info): New data types.
8283         (arm_linux_get_hwbp_cap): New function.
8284         (arm_linux_get_hw_breakpoint_count): Likewise.
8285         (arm_linux_get_hw_watchpoint_count): Likewise.
8286         (arm_linux_get_hw_watchpoint_max_length): Likewise.
8287         (arm_hwbp_control_initialize): Likewise.
8288         (arm_hwbp_control_is_enabled): Likewise.
8289         (arm_hwbp_control_is_initialized): Likewise.
8290         (arm_hwbp_control_disable): Likewise.
8291         (arm_linux_hw_breakpoint_equal): Likewise.
8292         (arm_linux_hw_point_initialize): Likewise.
8293         (struct update_registers_data): New data structure.
8294         (update_registers_callback: New function.
8295         (arm_insert_point): Likewise.
8296         (arm_remove_point): Likewise.
8297         (arm_stopped_by_watchpoint): Likewise.
8298         (arm_stopped_data_address): Likewise.
8299         (arm_new_process): Likewise.
8300         (arm_new_thread): Likewise.
8301         (arm_prepare_to_resume): Likewise.
8302         (the_low_target): Register arm_insert_point, arm_remove_point,
8303         arm_stopped_by_watchpoint, arm_stopped_data_address, arm_new_process,
8304         arm_new_thread, and arm_prepare_to_resume.
8305
8306 2011-09-15  Stan Shebs  <stan@codesourcery.com>
8307
8308         * server.h (struct emit_ops): Add compare-goto fields.
8309         * tracepoint.c (gdb_agent_op_sizes): New table.
8310         (emit_eq_goto): New function.
8311         (emit_ne_goto): New function.
8312         (emit_lt_goto): New function.
8313         (emit_le_goto): New function.
8314         (emit_gt_goto): New function.
8315         (emit_ge_goto): New function.
8316         (is_goto_target): New function.
8317         (compile_bytecodes): Recognize special cases of compare-goto
8318         combinations and call specialized emitters for them.
8319         * linux-x86-low.c (amd64_emit_eq_goto): New function.
8320         (amd64_emit_ne_goto): New function.
8321         (amd64_emit_lt_goto): New function.
8322         (amd64_emit_le_goto): New function.
8323         (amd64_emit_gt_goto): New function.
8324         (amd64_emit_ge_goto): New function.
8325         (amd64_emit_ops): Add the new functions.
8326         (i386_emit_eq_goto): New function.
8327         (i386_emit_ne_goto): New function.
8328         (i386_emit_lt_goto): New function.
8329         (i386_emit_le_goto): New function.
8330         (i386_emit_gt_goto): New function.
8331         (i386_emit_ge_goto): New function.
8332         (i386_emit_ops): Add the new functions.
8333
8334 2011-09-08  Stan Shebs  <stan@codesourcery.com>
8335
8336         * linux-x86-low.c (i386_emit_prologue): Save %ebx.
8337         (i386_emit_epilogue): Restore %ebx.
8338
8339 2011-08-31  Jie Zhang  <jzhang918@gmail.com>
8340
8341         * server.c (step_thread): Remove definition.
8342         (process_serial_event): Don't handle Hs.
8343         * server.h (step_thread): Remove declaration.
8344         * target.c (set_desired_inferior): Remove use of step_thread.
8345
8346 2011-08-24  Luis Machado  <lgustavo@codesourcery.com>
8347
8348         * linux-low.c: Include linux-procfs.h.
8349         (linux_attach_lwp_1): Update comments.
8350         (linux_attach): Scan for existing threads when attaching to a
8351         process that is the tgid.
8352         * Makefile.in: Update dependencies.
8353
8354 2011-08-24  Luis Machado  <lgustavo@codesourcery.com>
8355
8356         * configure.srv: Add linux-procfs.o dependencies.
8357
8358 2011-08-14  Yao Qi  <yao@codesourcery.com>
8359
8360         * target.h (struct target_ops): Fix indent.
8361         * win32-low.c (win32_target_ops): Fix comment.
8362
8363 2011-08-14  Andrew Jenner  <andrew@codesourcery.com>
8364             Yao Qi  <yao@codesourcery.com>
8365
8366         * Makefile.in (clean): Remove tic6x-*.c files.
8367         (linux-tic6x-low.o, tic6x-c62x-linux.o, tic6x-c64x-linux.o): New rules.
8368         (tic6x-c64xp-linux.o, tic6x-c62x-linux.c, tic6x-c64x-linux.c): Likewise.
8369         (tic6x-c64xp-linux.c): Likewise.
8370         * configure.srv: Add support for tic6x-*-uclinux.
8371         * linux-tic6x-low.c: New.
8372         * linux-low.c (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define.
8373
8374 2011-08-14  Andrew Stubbs <ams@codesourcery.com>
8375             Yao Qi  <yao@codesourcery.com>
8376
8377         * target.h (struct target_ops): Add read_loadmap.
8378         * linux-low.c (struct target_loadseg): New type.
8379         (struct target_loadmap): New type.
8380         (linux_read_loadmap): New function.
8381         (linux_target_ops): Add linux_read_loadmap.
8382         * server.c (handle_query): Support qXfer:fdpic:read packet.
8383         * win32-low.c (win32_target_ops): Initialize field `read_loadmap'
8384         to NULL.
8385
8386 2011-08-05  Eli Zaretskii  <eliz@gnu.org>
8387
8388         * win32-low.c: Include <stdint.h>.
8389
8390 2011-07-22  Pedro Alves  <pedro@codesourcery.com>
8391
8392         * i386-low.c (i386_insert_aligned_watchpoint): Don't pass the info
8393         to the inferior here.
8394         (i386_remove_aligned_watchpoint): Ditto.
8395         (i386_handle_nonaligned_watchpoint): Return immediate on fail to
8396         fit part of the watchpoint in the debug registers.
8397         (i386_update_inferior_debug_regs): New.
8398         (i386_low_insert_watchpoint): Work on a local mirror of the debug
8399         registers, and only update the inferior on success.
8400         (i386_low_remove_watchpoint): Ditto.
8401
8402 2011-07-22  Kwok Cheung Yeung  <kcy@codesourcery.com>
8403
8404         * linux-low.c (compare_ints, unique, list_threads, show_process,
8405         linux_core_of_thread): Delete.
8406         (linux_target_ops): Change linux_core_of_thread to
8407         linux_common_core_of_thread.
8408         (linux_qxfer_osdata): Defer to linux_common_xfer_osdata.
8409         * utils.c (malloc_failure): Change type of argument.
8410         (xmalloc, xrealloc, xcalloc, xsnprintf): Delete.
8411         * Makefile.in (SFILES): Add common/common-utils.c, common/xml-utils.c,
8412         common/linux-osdata.c, common/ptid.c and common/buffer.c.
8413         (OBS): Add xml-utils.o, common-utils.o, ptid.o and buffer.o.
8414         (IPA_OBJS): Add common-utils-ipa.o.
8415         (ptid_h, linux_osdata_h): New macros.
8416         (server_h): Add common/common-utils.h, common/xml-utils.h,
8417         common/buffer.h, common/gdb_assert.h, common/gdb_locale.h and
8418         common/ptid.h.
8419         (common-utils-ipa.o, common-utils.o, xml-utils.o, linux-osdata.o,
8420         ptid.o, buffer.o): New rules.
8421         (linux-low.o): Add common/linux-osdata.h as a dependency.
8422         * configure.srv (srv_tgtobj): Add linux-osdata.o to Linux targets.
8423         * configure.ac: Add AC_HEADER_DIRENT check.
8424         * config.in: Regenerate.
8425         * configure: Regenerate.
8426         * remote-utils.c (xml_escape_text): Delete.
8427         (buffer_grow, buffer_free, buffer_init, buffer_finish,
8428         buffer_xml_printf): Move to common/buffer.c.
8429         * server.c (main): Remove call to initialize_inferiors.
8430         * server.h (struct ptid, ptid_t, minus_one_ptid, null_ptid,
8431         ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid,
8432         ptid_equal, ptid_is_pid, initialize_inferiors, xml_escape_text,
8433         internal_error, gdb_assert, gdb_assert_fail): Delete.
8434         (struct buffer, buffer_grow, buffer_free, buffer_init, buffer_finish,
8435         buffer_xml_printf, buffer_grow_str, buffer_grow_str0): Move to
8436         common/buffer.h.
8437         * inferiors.c (null_ptid, minus_one_ptid, ptid_build, pid_to_ptid,
8438         ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid,
8439         initialize_inferiors): Delete.
8440
8441 2011-07-20  Pedro Alves  <pedro@codesourcery.com>
8442
8443         * tracepoint.c (tracepoint_look_up_symbols): Return upon the first
8444         symbol error.
8445
8446 2011-05-31  Pedro Alves  <pedro@codesourcery.com>
8447
8448         * linux-x86-low.c (i386_dr_low_get_addr): Fix off by one in
8449         assertion.
8450         * win32-i386-low.c (i386_dr_low_get_addr): Ditto.
8451
8452 2011-05-26  Yao Qi  <yao@codesourcery.com>
8453
8454         * Makefile.in (thread-db.o): Track dependence to
8455         common/gdb_thread_db.h.
8456         * thread-db.c: include gdb_thread_db.h from right place.
8457
8458 2011-05-16  Adrian Cornish  <gnu@bluedreamer.com>
8459
8460         * linux-i386-ipa.c (supply_static_tracepoint_registers): Pass
8461         __FILE__ and __LINE__ to internal_error.
8462
8463 2011-05-13  Doug Evans  <dje@google.com>
8464
8465         * thread-db.c (try_thread_db_load_from_sdir): New function.
8466         (try_thread_db_load_from_dir): New function.
8467         (thread_db_load_search): Handle $sdir, ignore $pdir.
8468         Remove trying of system directories if search of
8469         libthread-db-search-path fails, that is now done via $sdir.
8470
8471 2011-05-12  Kwok Cheung Yeung  <kcy@codesourcery.com>
8472
8473         * server.c (handle_query): Add EnableDisableTracepoints to the list
8474         of supported features.
8475         * tracepoint.c (clear_installed_tracepoints): Uninstall disabled
8476         tracepoints.
8477         (cmd_qtenable_disable): New.
8478         (cmd_qtstart): Install tracepoints even if disabled.
8479         (handle_tracepoint_general_set): Add call to cmd_qtenable_disable on
8480         receiving a QTEnable or QTDisable packet.
8481         (gdb_collect): Skip data collection if fast tracepoint is disabled.
8482         (ust_marker_to_static_tracepoint): Do not ignore disabled static
8483         tracepoints.
8484         (gdb_probe): Skip data collection if static tracepoint is disabled.
8485
8486 2011-05-10  Doug Evans  <dje@google.com>
8487
8488         * thread-db.c (thread_db_handle_monitor_command): Handle elided path.
8489
8490 2011-05-04  Doug Evans  <dje@google.com>
8491
8492         * linux-low.c (linux_join): Skip process lookup.
8493         * spu-low.c (spu_join): Ditto.
8494         * server.c (join_inferiors_callback): Delete.
8495         (process_serial_event): For 'D' packet (detach) call join_inferior
8496         directly.
8497
8498 2011-05-04  Joseph Myers  <joseph@codesourcery.com>
8499
8500         * README: Don't mention xscale*-*-linux*.
8501         * configure.srv (xscale*-*-linux*): Don't handle target.
8502
8503 2011-04-27  Nathan Froyd  <froydnj@codesourcery.com>
8504
8505         * linux-x86-low.c (amd64_emit_const): Call memcpy instead of
8506         casting pointers.
8507         (amd64_emit_reg, amd64_emit_int_call_1, amd64_emit_void_call_2):
8508         (i386_emit_const, i386_emit_reg, i386_emit_int_call_1):
8509         (i386_emit_void_call_2): Likewise.
8510
8511 2011-04-26  Yao Qi  <yao@codesourcery.com>
8512
8513         * linux-low.c: Move common macros to linux-ptrace.h.
8514         Include linux-ptrace.h.
8515         * Makefile.in (linux_ptrace_h): New.
8516         (linux-low.o): Depends on linux-ptrace.h.
8517
8518 2011-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
8519
8520         * remote-utils.c (handle_accept_event): Close LISTEN_DESC only if
8521         RUN_ONCE.  Comment for the LISTEN_DESC delete_file_handler call.
8522         (remote_prepare): New function with most of the TCP code from ...
8523         (remote_open): ... here.  Detect PORT here unconditionally.  Move also
8524         setting transport_is_reliable.
8525         * server.c (run_once): New variable.
8526         (gdbserver_usage): Document it.
8527         (main): Set run_once for `--once'.  Call remote_prepare.  Exit after
8528         the first run if RUN_ONCE.
8529         * server.h (run_once, remote_prepare): New declarations.
8530
8531 2011-04-19  Tom Tromey  <tromey@redhat.com>
8532
8533         * win32-low.c (handle_load_dll): Remove duplicate "the".
8534
8535 2011-04-07  Pierre Muller  <muller@ics.u-strasbg.fr>
8536
8537         Remove support for old Cygwin 1.5 versions.
8538         * win32-low.c (win32_create_inferior): Use new cygwin_path_list
8539         function to avoid warning.
8540         (win32_add_one_solib): Use cygwin_conv_path function to avoid
8541         warning.
8542
8543 2011-03-18  Pierre Muller  <muller@ics.u-strasbg.fr>
8544
8545         * gdbserver/server.h (Macro _): Define it if not available.
8546
8547 2011-03-14  Michael Snyder  <msnyder@vmware.com>
8548
8549         * hostio.c (handle_close): Remove unnecessary null test.
8550
8551 2011-03-10  Joel Brobecker  <brobecker@adacore.com>
8552
8553         * Makefile.in (maintainer-clean realclean distclean): Remove
8554         "make ...  subdir_do" command.
8555
8556 2011-03-10  Michael Snyder  <msnyder@vmware.com>
8557
8558         * tracepoint.c (tracepoint_finish_step): Fix loop variable.
8559
8560         * server.c (handle_v_run): Free alloced buffer on early return.
8561
8562 2011-03-09  Yao Qi  <yao@codesourcery.com>
8563
8564         Revert:
8565         2011-03-04  Yao Qi  <yao@codesourcery.com>
8566
8567         * Makefile.in: Remove GNU make feature --directory.
8568
8569         2011-03-05  Yao Qi  <yao@codesourcery.com>
8570
8571         * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable.
8572         (subdir_do): New make target.  Copied from gdb/Makefile.
8573         (maintainer-clean, realclean, distclean, clean): Call corresponding
8574         make targets in common/Makefile.
8575
8576         2011-02-11  Yao Qi  <yao@codesourcery.com>
8577
8578         * configure.ac: Call AC_PROG_RANLIB.
8579         * Makefile.in: Remove signals.o from OBS.  Link libcommon.a.
8580         * configure: Regenerate.
8581
8582 2011-03-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
8583
8584         * remote-utils.c (putpkt_binary_1): Calculate BUF2 size dynamically.
8585
8586 2011-03-06  Yao Qi  <yao@codesourcery.com>
8587
8588         * Makefile.in (REQUIRED_SUBDIRS): Remove $(LIBCOMMON_DIR).
8589
8590 2011-03-05  Yao Qi  <yao@codesourcery.com>
8591
8592         * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable.
8593         (subdir_do): New make target.  Copied from gdb/Makefile.
8594         (maintainer-clean, realclean, distclean, clean): Call corresponding
8595         make targets in common/Makefile.
8596
8597 2011-03-04  Yao Qi  <yao@codesourcery.com>
8598
8599         * Makefile.in: Remove GNU make feature --directory.
8600
8601 2011-03-04  Michael Snyder  <msnyder@vmware.com>
8602
8603         * server.c (queue_stop_reply): Call xmalloc not malloc.
8604
8605 2011-03-02  Michael Snyder  <msnyder@vmware.com>
8606
8607         * linux-arm-low.c (arm_arch_setup): Replace malloc with xmalloc.
8608
8609 2011-02-28  Michael Snyder  <msnyder@vmware.com>
8610
8611         * tracepoint.c (cmd_qtv): Discard unused value 'packet'.
8612         (cmd_qtframe): Ditto.
8613         (cmd_qtbuffer): Ditto.
8614         (cmd_bigqtbuffer): Ditto.
8615
8616         * utils.c (decimal2str): Initialize 'width' to nine, then
8617         don't mess with it.
8618
8619 2011-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
8620
8621         * hostio.c (require_data): Free *data, not data.
8622
8623 2011-02-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
8624
8625         * hostio.c (require_data): Use free, not xfree.
8626
8627 2011-02-27  Michael Snyder  <msnyder@vmware.com>
8628
8629         * server.c (handle_query): Discard unused value.
8630
8631         * hostio.c (require_data): Free malloc memory before returning
8632         error.
8633
8634 2011-02-26  Michael Snyder  <msnyder@vmware.com>
8635
8636         * linux-low.c (list_threads): Call closedir for dirent.
8637
8638 2011-02-27  Michael Snyder  <msnyder@vmware.com>
8639
8640         * i386-low.c (i386-length_and_rw_bits): Comment the fact that
8641         a case statement falls through.
8642
8643         * linux-low.c (linux_xfer_siginfo): Fix fencepost error.
8644
8645         * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Fix fencepost error
8646         in comparison.
8647
8648 2011-02-26  Michael Snyder  <msnyder@vmware.com>
8649
8650         * utils.c (decimal2str): Eliminate dead code and dead param.
8651         (pulongest): Drop dead param from call to decimal2str.
8652         (plongest): Ditto.
8653
8654 2011-02-24  Joel Brobecker  <brobecker@adacore.com>
8655
8656         Revert the following patch (not approved yet):
8657         2011-02-21  Hui Zhu  <teawater@gmail.com>
8658         * tracepoint.c (tp_printf): New function.
8659         (eval_agent_expr): Handle gdb_agent_op_printf.
8660
8661 2011-02-21  Hui Zhu  <teawater@gmail.com>
8662
8663         * tracepoint.c (tp_printf): New function.
8664         (eval_agent_expr): Handle gdb_agent_op_printf.
8665
8666 2011-02-18  Tom Tromey  <tromey@redhat.com>
8667
8668         * Makefile.in (tracepoint-ipa.o): Depend on ax.def.
8669         (tracepoint.o): Likewise.
8670         * tracepoint.c (enum gdb_agent_op): Use ax.def.
8671         (gdb_agent_op_names): Likewise.
8672
8673 2011-02-18  Tom Tromey  <tromey@redhat.com>
8674
8675         * tracepoint.c (enum gdb_agent_op) <gdb_agent_op_pick,
8676         gdb_agent_op_rot>: New constants.
8677         (gdb_agent_op_names): Add pick and roll.
8678         (eval_agent_expr) <gdb_agent_op_pick, gdb_agent_op_rot>: New
8679         cases.
8680
8681 2011-02-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
8682
8683         * aclocal.m4: Regenerated with aclocal-1.11.1.
8684
8685 2011-02-14  Pedro Alves  <pedro@codesourcery.com>
8686
8687         * server.c (handle_qxfer_traceframe_info): New.
8688         (qxfer_packets): Register "traceframe-info".
8689         (handle_query): Report support for qXfer:traceframe-info:read+.
8690         * tracepoint.c (match_blocktype): New.
8691         (traceframe_find_block_type): Rename to ...
8692         (traceframe_walk_blocks): ... this.  Add callback filter argument,
8693         and use it.
8694         (traceframe_find_block_type): New, reimplemented on top of
8695         traceframe_walk_blocks.
8696         (build_traceframe_info_xml): New.
8697         (traceframe_read_info): New.
8698         * server.h (traceframe_read_info): Declare.
8699
8700 2011-02-11  Yao Qi  <yao@codesourcery.com>
8701
8702         * configure.ac: Call AC_PROG_RANLIB.
8703         * Makefile.in: Remove signals.o from OBS.  Link libcommon.a.
8704         * configure: Regenerate.
8705
8706 2011-02-07  Pedro Alves  <pedro@codesourcery.com>
8707
8708         * server.c (gdb_read_memory): Change return semantics to allow
8709         partial transfers.
8710         (handle_search_memory_1): Adjust.
8711         (process_serial_event) <'m' packet>: Handle partial transfers.
8712         * tracepoint.c (traceframe_read_mem): Handle partial transfers.
8713
8714 2011-01-28  Pedro Alves  <pedro@codesourcery.com>
8715
8716         * regcache.c (init_register_cache): Initialize
8717         regcache->register_status.
8718         (free_register_cache): Release regcache->register_status.
8719         (regcache_cpy): Copy register_status.
8720         (registers_to_string): Print 'x's for unavailable registers.
8721         (supply_register): Mark the register's status valid or
8722         unavailable, depending on whether a buffer was passed in or not.
8723         (supply_register_zeroed): New.
8724         (supply_regblock): Mark the registers' status valid or
8725         unavailable, depending on whether a buffer was passed in or not.
8726         * regcache.h (REG_UNAVAILABLE, REG_VALID): New defines.
8727         (struct regcache): New `register_status' field.
8728         (supply_register_zeroed): Declare.
8729         * i387-fp.c (i387_xsave_to_cache): Zero out registers using
8730         supply_register_zeroed, rather than passing a NULL buffer to
8731         supply_register.
8732         * tracepoint.c (fetch_traceframe_registers): Update comment.
8733
8734 2011-01-28  Pedro Alves  <pedro@codesourcery.com>
8735
8736         * i387-fp.c (i387_xsave_to_cache): Make passing NULL as register
8737         buffer explicit.
8738
8739 2011-01-25  Pedro Alves  <pedro@codesourcery.com>
8740
8741         * server.h (decode_xfer_write): Change prototype.
8742         * remote-utils.c (decode_xfer_write): Remove `annex' parameter,
8743         and don't extract the annex here.
8744         * server.c (decode_xfer_read): Remove `annex' parameter,
8745         and don't extract the annex here.
8746         (decode_xfer): New.
8747         (struct qxfer): New.
8748         (handle_qxfer_auxv, handle_qxfer_features, handle_qxfer_libraries)
8749         (handle_qxfer_osdata, handle_qxfer_siginfo, handle_qxfer_spu)
8750         (handle_qxfer_statictrace): New functions, abstracted out from
8751         handle_query, and made to use the struct qxfer interface.
8752         (handle_threads_qxfer_proper): Rename to ...
8753         (handle_qxfer_threads_proper): ... this.
8754         (handle_threads_qxfer): Rename to ...
8755         (handle_qxfer_threads): ... this.  Adjust.
8756         (qxfer_packets): New array.
8757         (handle_qxfer): New function.
8758         (handle_query): Use handle_qxfer.
8759
8760 2011-01-05  Michael Snyder  <msnyder@msnyder-server.eng.vmware.com>
8761
8762         * gdbreplay.c: Shorten lines of >= 80 columns.
8763         * linux-low.c: Ditto.
8764         * linux-ppc-low.c: Ditto.
8765         * linux-s390-low.c: Ditto.
8766         * linux-sparc-low.c: Ditto.
8767         * linux-x86-low.c: Ditto.
8768         * linux-xtensa-low.c: Ditto.
8769         * mem-break.c: Ditto.
8770         * nto-low.c: Ditto.
8771         * regcache.h: Ditto.
8772         * remote-utils.c: Ditto.
8773         * server.c: Ditto.
8774         * server.h: Ditto.
8775         * thread-db.c: Ditto.
8776         * tracepoint.c: Ditto.
8777         * utils.c: Ditto.
8778         * win32-low.h: Ditto.
8779
8780 2011-01-05  Joel Brobecker  <brobecker@adacore.com>
8781
8782         * gdbserver/configure.ac, gdbserver/gdbserver.1: Copyright year
8783         update.
8784
8785 2011-01-01  Joel Brobecker  <brobecker@adacore.com>
8786
8787         * server.c (gdbserver_version): Update copyright year in version
8788         output.
8789         * gdbreplay.c (gdbreplay_version): Ditto.
8790
8791 2010-12-29  Jie Zhang  <jie.zhang@analog.com>
8792
8793         * configure.srv (bfin-*-*linux*): Handle Blackfin/Linux targets.
8794         * linux-bfin-low.c: New file.
8795         * linux-low.c: Define PT_TEXT_ADDR, PT_TEXT_END_ADDR, and
8796         PT_DATA_ADDR for BFIN targets.
8797         * Makefile.in (SFILES): Add linux-bfin-low.c.
8798         (clean): Remove reg-bfin.c.
8799         (linux-bfin-low.o, reg-bfin.o, reg-bfin.c): New targets.
8800         * README: Mention supported Blackfin targets.
8801
8802 2010-12-23  Mike Frysinger  <vapier@gentoo.org>
8803
8804         * .gitignore: New file.
8805
8806 2010-11-16  Mike Frysinger  <vapier@gentoo.org>
8807
8808         * linux-low.c (linux_tracefork_child): Add char* cast to arg.
8809
8810 2010-10-22  Jie Zhang  <jie@codesourcery.com>
8811
8812         * Makefile.in: Add FLAGS_TO_PASS variable.
8813         (install): Remove dependency of install-only and recursively
8814         invoke make for install-only.
8815
8816 2010-10-04  Doug Evans  <dje@google.com>
8817
8818         * Makefile.in (uninstall): Use $(DESTDIR).
8819
8820 2010-09-24  Pedro Alves  <pedro@codesourcery.com>
8821
8822         PR gdb/11842
8823
8824         * linux-x86-low.c (compat_siginfo_from_siginfo)
8825         (siginfo_from_compat_siginfo): Also copy si_pid and si_uid when
8826         si_code is < 0.  Check for si_code == SI_TIMER before checking for
8827         si_code < 0.
8828
8829 2010-09-13  Joel Brobecker  <brobecker@adacore.com>
8830
8831         * lynx-i386-low.c: New file.
8832         * configure.srv: Add handling of i[34567]86-*-lynxos* targets.
8833
8834 2010-09-13  Joel Brobecker  <brobecker@adacore.com>
8835
8836         * lynx-low.c (ptrace_request_to_str): Remove handling for
8837         request values that have been removed in LynxOS 5.x.
8838
8839 2010-09-13  Joel Brobecker  <brobecker@adacore.com>
8840
8841         * lynx-low.c, lynx-ppc-loc.c: Include <sys/ptrace.h> instead of
8842         <ptrace.h>
8843
8844 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
8845
8846         * configure.ac: Add --enable-inprocess-agent option.
8847         * configure: Rebuilt.
8848
8849 2010-09-06  Yao Qi  <yao@codesourcery.com>
8850
8851         * linux-low.c (linux_kill): Remove unused variable.
8852         (linux_stabilize_threads): Likewise.
8853         * server.c (start_inferior): Likewise.
8854         (queue_stop_reply_callback): Likewise.
8855         * tracepoint.c (do_action_at_tracepoint): Likewise.
8856
8857 2010-09-06  Yao Qi  <yao@codesourcery.com>
8858
8859         * linux-low.c (maybe_move_out_of_jump_pad): Restore current_inferior
8860         on return.
8861
8862 2010-09-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
8863
8864         * target.c (mywait) <TARGET_WAITKIND_EXITED>: Fix to use INTEGER.
8865
8866 2010-09-06  Pedro Alves  <pedro@codesourcery.com>
8867
8868         * Makefile.in (install-only): Replace $IPA_DEPFILES with
8869         "$(IPA_DEPFILES)".
8870
8871 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8872
8873         * gdbserver/lynx-low.c, gdbserver/lynx-low.h,
8874         gdbserver/lynx-ppc-low.c: New files.
8875         * Makefile.in (lynx_low_h): New variable.
8876         (lynx-low.o, lynx-ppc-low.o): New rules.
8877         * configure.ac: On LynxOS, link with -lnetinet.
8878         * configure.srv: Add handling of powerpc-*-lynxos* targets.
8879         * configure: regenerate.
8880
8881 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8882
8883         * Makefile.in (vasprintf.o, vsnprintf.o): New rules.
8884         * configure.ac: Add check for vasprintf and vsnprintf.
8885         * configure, config.in: Regenerate.
8886         * server.h (vasprintf, vsnprintf): Add conditional declarations.
8887
8888 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8889
8890         * gdbreplay.c: Move include of alloca.h up, next to include of
8891         malloc.h.
8892         * server.h: Add include of malloc.h.
8893         * mem-break.c: Remove include of malloc.h.
8894         * server.c, tracepoint.c, utils.c, win32-low.c: Likewise.
8895
8896 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8897
8898         * Makefile.in (memmem.o): Build with -Wno-error.
8899
8900 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8901
8902         * utils.c (xsnprintf): Make non-static.
8903         * server.h: Add xsnprintf declaration.
8904         * linux-low.c, nto-low.c, target.c, thread-db.c, tracepoint.c:
8905         replace calls to snprintf by calls to xsnprintf throughout.
8906
8907 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
8908
8909         * configure.ac: Add configure check for alloca.
8910         * configure, config.in: Regenerate.
8911         * server.h: Include alloca.h if it exists.
8912         * gdbreplay.c: Include alloca.h if it exists.
8913
8914 2010-08-28  Pedro Alves  <pedro@codesourcery.com>
8915
8916         * linux-low.c (__SIGRTMIN): Define if not already defined.
8917         (linux_create_inferior): Check for __ANDROID__ rather than
8918         __SIGRTMIN.
8919         (enqueue_one_deferred_signal): Don't requeue non-RT signals that
8920         are already deferred.
8921         (linux_wait_1): Check for __ANDROID__ rather than __SIGRTMIN.
8922         (linux_resume_one_thread): Don't queue a SIGSTOP if the lwp is
8923         stopped and already has a pending signal to report.
8924         (proceed_one_lwp): : Don't queue a SIGSTOP if the lwp already has
8925         a pending signal to report or is moving out of a jump pad.
8926         (linux_init_signals): Check for __ANDROID__ rather than
8927         __SIGRTMIN.
8928
8929 2010-08-28  Pedro Alves  <pedro@codesourcery.com>
8930
8931         * linux-low.c (linux_stabilize_threads): Wrap debug output in a
8932         debug_threads check.  Avoid a linear search when not doing debug
8933         output.
8934
8935 2010-08-27  Pedro Alves  <pedro@codesourcery.com>
8936
8937         * event-loop.c (event_handle_func): Adjust to use gdb_fildes_t.
8938         (struct gdb_event) <fd>: Change type to gdb_fildes_t.
8939         (struct file_handler) <fd>: Change type to gdb_fildes_t.
8940         (process_event): Change local fd's type to gdb_fildes_t.
8941         (create_file_handler): Adjust prototype.
8942         (delete_file_handler): Adjust prototype.
8943         (handle_file_event): Adjust prototype.  Use pfildes.
8944         (create_file_event): Adjsut prototype.
8945         * remote-utils.c (remote_desc, listen_desc): Change type to
8946         gdb_fildes_t.
8947         * server.h: New gdb_fildes_t typedef.
8948         [USE_WIN32API]: Include winsock2.h.
8949         (delete_file_handler, add_file_handler): Adjust prototypes.
8950         (pfildes): Declare.
8951         * utils.c (pfildes): New.
8952
8953 2010-08-27  Pedro Alves  <pedro@codesourcery.com>
8954
8955         * configure.ac (build_warnings): Add -Wno-char-subscripts.
8956         * configure: Regenerate.
8957
8958 2010-08-27  Pedro Alves  <pedro@codesourcery.com>
8959
8960         * linux-low.c (linux_unprepare_to_access_memory): Rename to ...
8961         (linux_done_accessing_memory): ... this.
8962         (linux_target_ops): Adjust.
8963         * linux-x86-low.c (x86_insert_point, x86_remove_point): Adjust.
8964         * nto-low.c (nto_target_ops): Adjust comment.
8965         * server.c (gdb_read_memory, gdb_write_memory): Adjust.
8966         * spu-low.c (spu_target_ops): Adjust comment.
8967         * target.h (target_ops): Rename unprepare_to_access_memory field
8968         to done_accessing_memory.
8969         (unprepare_to_access_memory): Rename to ...
8970         (done_accessing_memory): ... this.
8971
8972 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
8973
8974         * linux-low.c (linux_prepare_to_access_memory): New.
8975         (linux_unprepare_to_access_memory): New.
8976         (linux_target_ops): Install them.
8977         * server.c (read_memory): Rename to ...
8978         (gdb_read_memory): ... this.  Use
8979         prepare_to_access_memory/prepare_to_access_memory.
8980         (write_memory): Rename to ...
8981         (gdb_write_memory): ... this.  Use
8982         prepare_to_access_memory/prepare_to_access_memory.
8983         (handle_search_memory_1): Adjust.
8984         (process_serial_event): Adjust.
8985         * target.h (struct target_ops): New fields
8986         prepare_to_access_memory and unprepare_to_access_memory.
8987         (prepare_to_access_memory, unprepare_to_access_memory): New.
8988         * linux-x86-low.c (x86_insert_point, x86_remove_point): Use
8989         prepare_to_access_memory/prepare_to_access_memory.
8990         * nto-low.c (nto_target_ops): Adjust.
8991         * spu-low.c (spu_target_ops): Adjust.
8992         * win32-low.c (win32_target_ops): Adjust.
8993
8994 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
8995
8996         * Makefile.in (WARN_CFLAGS): Get it from configure.
8997         (WERROR_CFLAGS): New.
8998         (INTERNAL_CFLAGS): Add WERROR_CFLAGS.
8999         * configure.ac: Introduce --enable-werror, which adds -Werror to
9000         the compiler command line.  Enabled by default.  Disable with
9001         --disable-werror.  Add -Wdeclaration-after-statement
9002         Wpointer-arith and -Wformat-nonliteral to warning flags.
9003         * configure: Regenerate.
9004
9005 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
9006
9007         * mem-break.c [HAVE_MALLOC_H]: Include malloc.h.
9008
9009 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
9010
9011         * gdbreplay.c (remote_error): New.
9012         (gdbchar): New.
9013         (expect): Use gdbchar.  Check for error reading from GDB.
9014         Clarify sync error output.
9015         (play): Check for errors writing to GDB.
9016         * linux-low.c (sigchld_handler): Really ignore `write' errors.
9017         * remote-utils.c (getpkt): Check for errors writing to the remote
9018         descriptor.
9019
9020 2010-08-25  Pedro Alves  <pedro@codesourcery.com>
9021
9022         * linux-low.c (linux_wait_1): Move non-debugging code out of
9023         `debug_threads' control.
9024
9025 2010-08-25  Pedro Alves  <pedro@codesourcery.com>
9026
9027         * linux-low.c (linux_wait_1): Don't set last_status here.
9028         * server.c (push_event, queue_stop_reply_callback): Assert we're
9029         not pushing a TARGET_WAITKIND_IGNORE event.
9030         (start_inferior, start_inferior, attach_inferior, handle_v_cont)
9031         (myresume, handle_target_event): Set the thread's last_resume_kind
9032         and last_status from the target returned status.
9033
9034 2010-08-25  Pedro Alves  <pedro@codesourcery.com>
9035
9036         PR threads/10729
9037
9038         * linux-x86-low.c (update_debug_registers_callback): New.
9039         (i386_dr_low_set_addr): Use it.
9040         (i386_dr_low_get_addr): New.
9041         (i386_dr_low_set_control): Use update_debug_registers_callback.
9042         (i386_dr_low_get_control): New.
9043         (i386_dr_low_get_status): Adjust.
9044         * linux-low.c (linux_stop_lwp): New.
9045         * linux-low.h (linux_stop_lwp): Declare.
9046
9047         * i386-low.c (I386_DR_GET_RW_LEN): Take the dr7 contents as
9048         argument instead of a i386_debug_reg_state.
9049         (I386_DR_WATCH_HIT): Take the dr6 contents as argument instead of
9050         a i386_debug_reg_state.
9051         (i386_insert_aligned_watchpoint): Adjust.
9052         (i386_remove_aligned_watchpoint): Adjust.
9053         (i386_low_stopped_data_address): Read the debug registers from the
9054         inferior instead of from the mirrors.
9055         * i386-low.h (struct i386_debug_reg_state): Extend comment.
9056         (i386_dr_low_get_addr): Declare.
9057         (i386_dr_low_get_control): Declare.
9058         (i386_dr_low_get_status): Change prototype.
9059
9060         * win32-i386-low.c (dr_status_mirror, dr_control_mirror): New globals.
9061         (i386_dr_low_get_addr): New.
9062         (i386_dr_low_get_control): New.
9063         (i386_dr_low_get_status): Adjust prototype.  Return
9064         dr_status_mirror.
9065         (i386_initial_stuff): Clear dr_status_mirror and
9066         dr_control_mirror.
9067         (i386_get_thread_context): Adjust.
9068         (i386_set_thread_context): Adjust.
9069         (i386_thread_added): Adjust.
9070
9071 2010-08-24  Pedro Alves  <pedro@codesourcery.com>
9072
9073         * linux-low.h (linux_thread_area): Delete declaration.
9074
9075 2010-08-11  Thomas Schwinge  <thomas@codesourcery.com>
9076
9077         * linux-low.c (linux_wait_1): Correctly return the ptid of the child
9078         after its termination.
9079
9080 2010-08-09  Pedro Alves  <pedro@codesourcery.com>
9081
9082         * linux-low.c (gdb_wants_lwp_stopped): Delete.
9083         (gdb_wants_all_stopped): Delete.
9084         (linux_wait_1): Don't call them.
9085         * server.c (handle_v_cont): Tag all threads as want-stopped.
9086         (gdb_wants_thread_stopped): Fix comments.  Tag the thread that
9087         stopped as "client-wants-stopped".
9088
9089 2010-07-31  Pedro Alves  <pedro@codesourcery.com>
9090
9091         * Makefile.in (signals_h): New.
9092         (server_h): Depend on it.
9093         (server.o): Don't depend on $(signals_def).
9094         (signals.o): Depend on $(signals_def).
9095
9096 2010-07-31  Jan Kratochvil  <jan.kratochvil@redhat.com>
9097
9098         * Makefile.in (signals_def): New.
9099         (server_h): Append include/gdb/signals.h and signals_def.
9100         (server.o): Append signals_def.
9101
9102 2010-07-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
9103
9104         * server.c (handle_target_event): Use target_signal_to_host for
9105         resume_info.sig initialization.
9106         * target.h (struct thread_resume) <sig>: New comment.
9107
9108 2010-07-20  Ozkan Sezer  <sezeroz@gmail.com>
9109
9110         * server.c (handle_query): strcpy() the returned string from paddress()
9111         instead of sprintf().
9112         * utils.c (paddress): Return phex_nz().
9113
9114 2010-07-07  Joel Brobecker  <brobecker@adacore.com>
9115
9116         * server.c (handle_v_cont): Call mourn_inferior if process
9117         just exited.
9118         (myresume): Likewise.
9119
9120 2010-07-01  Pedro Alves  <pedro@codesourcery.com>
9121
9122         Static tracepoints, and integration with UST.
9123
9124         * configure.ac: Handle --with-ust.  substitute ustlibs and ustinc.
9125         * mem-break.c (uninsert_all_breakpoints)
9126         (reinsert_all_breakpoints): New.
9127         * mem-break.h (reinsert_all_breakpoints, uninsert_all_breakpoints):
9128         * tracepoint.c (ust_loaded, helper_thread_id, cmd_buf): New.
9129         (gdb_agent_ust_loaded, helper_thread_id)
9130         (gdb_agent_helper_thread_id): New macros.
9131         (struct ipa_sym_addresses): Add addr_ust_loaded,
9132         addr_helper_thread_id, addr_cmd_buf.
9133         (symbol_list): Add ust_loaded, helper_thread_id, cmd_buf.
9134         (in_process_agent_loaded_ust): New.
9135         (write_e_ust_not_loaded): New.
9136         (maybe_write_ipa_ust_not_loaded): New.
9137         (struct collect_static_trace_data_action): New.
9138         (enum tracepoint_type) <static_tracepoint>: New.
9139         (struct tracepoint) <handle>: Mention static tracepoints.
9140         (struct static_tracepoint_ctx): New.
9141         (CMD_BUF_SIZE): New.
9142         (add_tracepoint_action): Handle static tracepoint actions.
9143         (unprobe_marker_at): New.
9144         (clear_installed_tracepoints): Handle static tracepoints.
9145         (cmd_qtdp): Handle static tracepoints.
9146         (probe_marker_at): New.
9147         (cmd_qtstart): Handle static tracepoints.
9148         (response_tracepoint): Handle static tracepoints.
9149         (cmd_qtfstm, cmd_qtsstm, cmd_qtstmat): New.
9150         (handle_tracepoint_query): Handle qTfSTM, qTsSTM and qTSTMat.
9151         (get_context_regcache): Handle static tracepoints.
9152         (do_action_at_tracepoint): Handle static tracepoint actions.
9153         (traceframe_find_block_type): Handle static trace data blocks.
9154         (traceframe_read_sdata): New.
9155         (download_tracepoints): Download static tracepoint actions.
9156         [HAVE_UST] Include ust/ust.h, dlfcn.h, sys/socket.h, and sys/un.h.
9157         (GDB_PROBE_NAME): New.
9158         (ust_ops): New.
9159         (GET_UST_SYM): New.
9160         (USTF): New.
9161         (dlsym_ust): New.
9162         (ust_marker_to_static_tracepoint): New.
9163         (gdb_probe): New.
9164         (collect_ust_data_at_tracepoint): New.
9165         (gdb_ust_probe): New.
9166         (UNIX_PATH_MAX, SOCK_DIR): New.
9167         (gdb_ust_connect_sync_socket): New.
9168         (resume_thread, stop_thread): New.
9169         (run_inferior_command): New.
9170         (init_named_socket): New.
9171         (gdb_ust_socket_init): New.
9172         (cstr_to_hexstr): New.
9173         (next_st): New.
9174         (first_marker, next_marker): New.
9175         (response_ust_marker): New.
9176         (cmd_qtfstm, cmd_qtsstm): New.
9177         (unprobe_marker_at, probe_marker_at): New.
9178         (cmd_qtstmat, gdb_ust_thread): New.
9179         (gdb_ust_init): New.
9180         (initialize_tracepoint_ftlib): Call gdb_ust_init.
9181         * linux-amd64-ipa.c [HAVE_UST]: Include ust/processor.h
9182         (ST_REGENTRY): New.
9183         (x86_64_st_collect_regmap): New.
9184         (X86_64_NUM_ST_COLLECT_GREGS): New.
9185         (AMD64_RIP_REGNUM): New.
9186         (supply_static_tracepoint_registers): New.
9187         * linux-i386-ipa.c [HAVE_UST]: Include ust/processor.h
9188         (ST_REGENTRY): New.
9189         (i386_st_collect_regmap): New.
9190         (i386_NUM_ST_COLLECT_GREGS): New.
9191         (supply_static_tracepoint_registers): New.
9192         * server.c (handle_query): Handle qXfer:statictrace:read.
9193         <qSupported>: Report support for StaticTracepoints, and
9194         qXfer:statictrace:read features.
9195         * server.h (traceframe_read_sdata)
9196         (supply_static_tracepoint_registers): Declare.
9197         * remote-utils.c (convert_int_to_ascii, hexchars, ishex, tohex)
9198         (unpack_varlen_hex): Include in IPA build.
9199         * Makefile.in (ustlibs, ustinc): New.
9200         (IPA_OBJS): Add remote-utils-ipa.o.
9201         ($(IPA_LIB)): Link -ldl and -lpthread.
9202         (UST_CFLAGS): New.
9203         (IPAGENT_CFLAGS): Add UST_CFLAGS.
9204         * config.in, configure: Regenerate.
9205
9206 2010-06-20  Ian Lance Taylor  <iant@google.com>
9207             Pedro Alves  <pedro@codesourcery.com>
9208
9209         * linux-x86-low.c (always_true): Delete.
9210         (EMIT_ASM, EMIT_ASM32): Use an uncondition asm jmp instead of
9211         trying to fool the compiler with always_true.
9212
9213 2010-06-20  Pedro Alves  <pedro@codesourcery.com>
9214
9215         * tracepoint.c (condition_true_at_tracepoint): Don't run compiled
9216         conditions in gdbserver.
9217
9218 2010-06-19  Ulrich Weigand  <uweigand@de.ibm.com>
9219
9220         * spu-low.c (spu_read_memory): Wrap around local store limit.
9221         (spu_write_memory): Likewise.
9222
9223 2010-06-15  Pedro Alves  <pedro@codesourcery.com>
9224
9225         * linux-x86-low.c (amd64_emit_const, amd64_emit_void_call_2)
9226         (i386_emit_const, i386_emit_void_call_2): Replace int64_t uses with
9227         LONGEST uses.
9228         * server.h (struct emit_ops): Replace int64_t uses with LONGEST
9229         uses.
9230         * tracepoint.c (emit_const, emit_void_call_2): Replace int64_t
9231         uses with LONGEST uses.
9232
9233 2010-06-14  Stan Shebs  <stan@codesourcery.com>
9234             Pedro Alves  <pedro@codesourcery.com>
9235
9236         Bytecode compiler.
9237
9238         * linux-x86-low.c: Include limits.h.
9239         (add_insns): New.
9240         (always_true): New.
9241         (EMIT_ASM): New.
9242         (EMIT_ASM32): New.
9243         (amd64_emit_prologue, amd64_emit_epilogue, amd64_emit_add)
9244         (amd64_emit_sub, amd64_emit_mul, amd64_emit_lsh)
9245         (amd64_emit_rsh_signed, amd64_emit_rsh_unsigned, amd64_emit_ext,
9246         (amd64_emit_log_not, amd64_emit_bit_and, amd64_emit_bit_or)
9247         (amd64_emit_bit_xor, amd64_emit_bit_not, amd64_emit_equal,
9248         (amd64_emit_less_signed, amd64_emit_less_unsigned, amd64_emit_ref,
9249         (amd64_emit_if_goto, amd64_emit_goto, amd64_write_goto_address)
9250         (amd64_emit_const, amd64_emit_call, amd64_emit_reg)
9251         (amd64_emit_pop, amd64_emit_stack_flush, amd64_emit_zero_ext)
9252         (amd64_emit_swap, amd64_emit_stack_adjust, amd64_emit_int_call_1)
9253         (amd64_emit_void_call_2): New.
9254         (amd64_emit_ops): New.
9255         (i386_emit_prologue, i386_emit_epilogue, i386_emit_add)
9256         (i386_emit_sub,i386_emit_mul, i386_emit_lsh, i386_emit_rsh_signed)
9257         (i386_emit_rsh_unsigned, i386_emit_ext, i386_emit_log_not)
9258         (i386_emit_bit_and, i386_emit_bit_or, i386_emit_bit_xor)
9259         (i386_emit_bit_not, i386_emit_equal, i386_emit_less_signed)
9260         (i386_emit_less_unsigned, i386_emit_ref, i386_emit_if_goto)
9261         (i386_emit_goto, i386_write_goto_address, i386_emit_const)
9262         (i386_emit_call, i386_emit_reg, i386_emit_pop)
9263         (i386_emit_stack_flush, i386_emit_zero_ext, i386_emit_swap)
9264         (i386_emit_stack_adjust, i386_emit_int_call_1)
9265         (i386_emit_void_call_2): New.
9266         (i386_emit_ops): New.
9267         (x86_emit_ops): New.
9268         (the_low_target): Install x86_emit_ops.
9269         * server.h (struct emit_ops): New.
9270         (get_raw_reg_func_addr): Declare.
9271         (current_insn_ptr, emit_error): Declare.
9272         * tracepoint.c (get_raw_reg, get_trace_state_variable_value)
9273         (set_trace_state_variable_value): New defines.
9274         (struct ipa_sym_addresses): New fields addr_get_raw_reg,
9275         addr_get_trace_state_variable_value and
9276         addr_set_trace_state_variable_value.
9277         (symbol_list): New fields for get_raw_reg,
9278         get_trace_state_variable_value and set_trace_state_variable_value.
9279         (condfn): New typedef.
9280         (struct tracepoint): New field `compiled_cond'.
9281         (do_action_at_tracepoint): Clear compiled_cond.
9282         (get_trace_state_variable_value, set_trace_state_variable_value):
9283         Export in the IPA.
9284         (condition_true_at_tracepoint): If there's a compiled condition,
9285         run that.
9286         (current_insn_ptr, emit_error): New globals.
9287         (struct bytecode_address): New.
9288         (get_raw_reg_func_addr): New.
9289         (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul)
9290         (emit_lsh, emit_rsh_signed, emit_rsh_unsigned, emit_ext)
9291         (emit_log_not, emit_bit_and, emit_bit_or, emit_bit_xor)
9292         (emit_bit_not, emit_equal, emit_less_signed, emit_less_unsigned)
9293         (emit_ref, emit_if_goto, emit_goto, write_goto_address, emit_const)
9294         (emit_reg, emit_pop, emit_stack_flush, emit_zero_ext, emit_swap)
9295         (emit_stack_adjust, emit_int_call_1, emit_void_call_2): New.
9296         (compile_tracepoint_condition, compile_bytecodes): New.
9297         * target.h (emit_ops): Forward declare.
9298         (struct target_ops): New field emit_ops.
9299         (target_emit_ops): New.
9300         * linux-amd64-ipa.c (gdb_agent_get_raw_reg): New.
9301         * linux-i386-ipa.c (gdb_agent_get_raw_reg): New.
9302         * linux-low.c (linux_emit_ops): New.
9303         (linux_target_ops): Install it.
9304         * linux-low.h (struct linux_target_ops): New field emit_ops.
9305
9306 2010-06-14  Ulrich Weigand  <uweigand@de.ibm.com>
9307
9308         * linux-ppc-low.c (ppc_arch_setup): Use private regcache to test MSR.
9309         * linux-s390-low.c (ppc_arch_setup): Use private regcache to test PSW.
9310
9311 2010-06-01  Pedro Alves  <pedro@codesourcery.com>
9312             Stan Shebs  <stan@codesourcery.com>
9313
9314         * Makefile.in (IPA_DEPFILES, extra_libraries): New.
9315         (all): Depend on $(extra_libraries).
9316         (install-only): Install the IPA.
9317         (IPA_OBJS, IPA_LIB): New.
9318         (clean): Remove the IPA lib.
9319         (IPAGENT_CFLAGS): New.
9320         (tracepoint-ipa.o, utils-ipa.o, remote-utils-ipa.o)
9321         (regcache-ipa.o, i386-linux-ipa.o, linux-i386-ipa.o)
9322         (linux-amd64-ipa.o, amd64-linux-ipa.o): New rules.
9323         * linux-amd64-ipa.c, linux-i386-ipa.c: New files.
9324         * configure.ac: Check for atomic builtins support in the compiler.
9325         (IPA_DEPFILES, extra_libraries): Define.
9326         * configure.srv (ipa_obj): Add description.
9327         (ipa_i386_linux_regobj, ipa_amd64_linux_regobj): Define.
9328         (i[34567]86-*-linux*): Set ipa_obj.
9329         (x86_64-*-linux*): Set ipa_obj.
9330         * linux-low.c (stabilizing_threads): New.
9331         (supports_fast_tracepoints): New.
9332         (linux_detach): Stabilize threads before detaching.
9333         (handle_tracepoints): Handle internal tracing breakpoints.  Assert
9334         the lwp is either not stabilizing, or is moving out of a jump pad.
9335         (linux_fast_tracepoint_collecting): New.
9336         (maybe_move_out_of_jump_pad): New.
9337         (enqueue_one_deferred_signal): New.
9338         (dequeue_one_deferred_signal): New.
9339         (linux_wait_for_event_1): If moving out of a jump pad, defer
9340         pending signals to later.
9341         (linux_stabilize_threads): New.
9342         (linux_wait_1): Check if threads need moving out of jump pads, and
9343         do it if so.
9344         (stuck_in_jump_pad_callback): New.
9345         (move_out_of_jump_pad_callback): New.
9346         (lwp_running): New.
9347         (linux_resume_one_lwp): Handle moving out of jump pads.
9348         (linux_set_resume_request): Dequeue deferred signals.
9349         (need_step_over_p): Also step over fast tracepoint jumps.
9350         (start_step_over): Also uninsert fast tracepoint jumps.
9351         (finish_step_over): Also reinsert fast tracepoint jumps.
9352         (linux_install_fast_tracepoint_jump): New.
9353         (linux_target_ops): Install linux_stabilize_threads and
9354         linux_install_fast_tracepoint_jump_pad.
9355         * linux-low.h (linux_target_ops) <get_thread_area,
9356         install_fast_tracepoint_jump_pad>: New fields.
9357         (struct lwp_info) <collecting_fast_tracepoint,
9358         pending_signals_to_report, exit_jump_pad_bkpt>: New fields.
9359         (linux_get_thread_area): Declare.
9360         * linux-x86-low.c (jump_insn): New.
9361         (x86_get_thread_area): New.
9362         (append_insns): New.
9363         (push_opcode): New.
9364         (amd64_install_fast_tracepoint_jump_pad): New.
9365         (i386_install_fast_tracepoint_jump_pad): New.
9366         (x86_install_fast_tracepoint_jump_pad): New.
9367         (the_low_target): Install x86_get_thread_area and
9368         x86_install_fast_tracepoint_jump_pad.
9369         * mem-break.c (set_raw_breakpoint_at): Use read_inferior_memory.
9370         (struct fast_tracepoint_jump): New.
9371         (fast_tracepoint_jump_insn): New.
9372         (fast_tracepoint_jump_shadow): New.
9373         (find_fast_tracepoint_jump_at): New.
9374         (fast_tracepoint_jump_here): New.
9375         (delete_fast_tracepoint_jump): New.
9376         (set_fast_tracepoint_jump): New.
9377         (uninsert_fast_tracepoint_jumps_at): New.
9378         (reinsert_fast_tracepoint_jumps_at): New.
9379         (set_breakpoint_at): Use write_inferior_memory.
9380         (uninsert_raw_breakpoint): Use write_inferior_memory.
9381         (check_mem_read): Mask out fast tracepoint jumps.
9382         (check_mem_write): Mask out fast tracepoint jumps.
9383         * mem-break.h (struct fast_tracepoint_jump): Forward declare.
9384         (set_fast_tracepoint_jump): Declare.
9385         (delete_fast_tracepoint_jump)
9386         (fast_tracepoint_jump_here, uninsert_fast_tracepoint_jumps_at)
9387         (reinsert_fast_tracepoint_jumps_at): Declare.
9388         * regcache.c: Don't compile many functions when building the
9389         in-process agent library.
9390         (init_register_cache) [IN_PROCESS_AGENT]: Don't allow allocating
9391         the register buffer in the heap.
9392         (free_register_cache): If the register buffer isn't owned by the
9393         regcache, don't free it.
9394         (set_register_cache) [IN_PROCESS_AGENT]: Don't re-alocate
9395         pre-existing register caches.
9396         * remote-utils.c (convert_int_to_ascii): Constify `from' parameter
9397         type.
9398         (convert_ascii_to_int): : Constify `from' parameter type.
9399         (decode_M_packet, decode_X_packet): Replace the `to' parameter by
9400         a `to_p' pointer to pointer parameter.  If TO_P is NULL, malloc
9401         the needed buffer in-place.
9402         (relocate_instruction): New.
9403         * server.c (handle_query) <qSymbols>: If the target supports
9404         tracepoints, give it a chance of looking up symbols.  Report
9405         support for fast tracepoints.
9406         (handle_status): Stabilize threads.
9407         (process_serial_event): Adjust.
9408         * server.h (struct fast_tracepoint_jump): Forward declare.
9409         (struct process_info) <fast_tracepoint_jumps>: New field.
9410         (convert_ascii_to_int, convert_int_to_ascii): Adjust.
9411         (decode_X_packet, decode_M_packet): Adjust.
9412         (relocate_instruction): Declare.
9413         (in_process_agent_loaded): Declare.
9414         (tracepoint_look_up_symbols): Declare.
9415         (struct fast_tpoint_collect_status): Declare.
9416         (fast_tracepoint_collecting): Declare.
9417         (force_unlock_trace_buffer): Declare.
9418         (handle_tracepoint_bkpts): Declare.
9419         (initialize_low_tracepoint)
9420         (supply_fast_tracepoint_registers) [IN_PROCESS_AGENT]: Declare.
9421         * target.h (struct target_ops) <stabilize_threads,
9422         install_fast_tracepoint_jump_pad>: New fields.
9423         (stabilize_threads, install_fast_tracepoint_jump_pad): New.
9424         * tracepoint.c [HAVE_MALLOC_H]: Include malloc.h.
9425         [HAVE_STDINT_H]: Include stdint.h.
9426         (trace_debug_1): Rename to ...
9427         (trace_vdebug): ... this.
9428         (trace_debug): Rename to ...
9429         (trace_debug_1): ... this.  Add `level' parameter.
9430         (trace_debug): New.
9431         (ATTR_USED, ATTR_NOINLINE): New.
9432         (IP_AGENT_EXPORT): New.
9433         (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
9434         (collecting, gdb_collect, stop_tracing, flush_trace_buffer)
9435         (about_to_request_buffer_space, trace_buffer_is_full)
9436         (stopping_tracepoint, expr_eval_result, error_tracepoint)
9437         (tracepoints, tracing, trace_buffer_ctrl, trace_buffer_ctrl_curr)
9438         (trace_buffer_lo, trace_buffer_hi, traceframe_read_count)
9439         (traceframe_write_count, traceframes_created)
9440         (trace_state_variables)
9441         New renaming defines.
9442         (struct ipa_sym_addresses): New.
9443         (STRINGIZE_1, STRINGIZE, IPA_SYM): New.
9444         (symbol_list): New.
9445         (ipa_sym_addrs): New.
9446         (all_tracepoint_symbols_looked_up): New.
9447         (in_process_agent_loaded): New.
9448         (write_e_ipa_not_loaded): New.
9449         (maybe_write_ipa_not_loaded): New.
9450         (tracepoint_look_up_symbols): New.
9451         (debug_threads) [IN_PROCESS_AGENT]: New.
9452         (read_inferior_memory) [IN_PROCESS_AGENT]: New.
9453         (UNKNOWN_SIDE_EFFECTS): New.
9454         (stop_tracing): New.
9455         (flush_trace_buffer): New.
9456         (stop_tracing_bkpt): New.
9457         (flush_trace_buffer_bkpt): New.
9458         (read_inferior_integer): New.
9459         (read_inferior_uinteger): New.
9460         (read_inferior_data_pointer): New.
9461         (write_inferior_data_pointer): New.
9462         (write_inferior_integer): New.
9463         (write_inferior_uinteger): New.
9464         (struct collect_static_trace_data_action): Delete.
9465         (enum tracepoint_type): New.
9466         (struct tracepoint) <type>: New field `type'.
9467         <actions_str, step_actions, step_actions_str>: Only include in
9468         GDBserver.
9469         <orig_size, obj_addr_on_target, adjusted_insn_addr>
9470         <adjusted_insn_addr_end, jump_pad, jump_pad_end>: New fields.
9471         (tracepoints): Use IP_AGENT_EXPORT.
9472         (last_tracepoint): Don't include in the IPA.
9473         (stopping_tracepoint): Use IP_AGENT_EXPORT.
9474         (trace_buffer_is_full): Use IP_AGENT_EXPORT.
9475         (alloced_trace_state_variables): New.
9476         (trace_state_variables): Use IP_AGENT_EXPORT.
9477         (traceframe_t): Delete unused variable.
9478         (circular_trace_buffer): Don't include in the IPA.
9479         (trace_buffer_start): Delete.
9480         (struct trace_buffer_control): New.
9481         (trace_buffer_free): Delete.
9482         (struct ipa_trace_buffer_control): New.
9483         (GDBSERVER_FLUSH_COUNT_MASK, GDBSERVER_FLUSH_COUNT_MASK_PREV)
9484         (GDBSERVER_FLUSH_COUNT_MASK_CURR, GDBSERVER_UPDATED_FLUSH_COUNT_BIT):
9485         New.
9486         (trace_buffer_ctrl): New.
9487         (TRACE_BUFFER_CTRL_CURR): New.
9488         (trace_buffer_start, trace_buffer_free, trace_buffer_end_free):
9489         Reimplement as macros.
9490         (trace_buffer_wrap): Delete.
9491         (traceframe_write_count, traceframe_read_count)
9492         (traceframes_created, tracing): Use IP_AGENT_EXPORT.
9493         (struct tracepoint_hit_ctx) <type>: New field.
9494         (struct fast_tracepoint_ctx): New.
9495         (memory_barrier): New.
9496         (cmpxchg): New.
9497         (record_tracepoint_error): Update atomically in the IPA.
9498         (clear_inferior_trace_buffer): New.
9499         (about_to_request_buffer_space): New.
9500         (trace_buffer_alloc): Handle GDBserver and inferior simulatenous
9501         updating the same buffer.
9502         (add_tracepoint): Default the tracepoint's type to trap
9503         tracepoint, and orig_size to -1.
9504         (get_trace_state_variable) [IN_PROCESS_AGENT]: Handle allocated
9505         internal variables.
9506         (create_trace_state_variable): New parameter `gdb'.  Handle it.
9507         (clear_installed_tracepoints): Clear fast tracepoint jumps.
9508         (cmd_qtdp): Handle fast tracepoints.
9509         (cmd_qtdv): Adjust.
9510         (max_jump_pad_size): New.
9511         (gdb_jump_pad_head): New.
9512         (get_jump_space_head): New.
9513         (claim_jump_space): New.
9514         (sort_tracepoints): New.
9515         (MAX_JUMP_SIZE): New.
9516         (cmd_qtstart): Handle fast tracepoints.  Sync tracepoints with the
9517         IPA.
9518         (stop_tracing) [IN_PROCESS_AGENT]: Don't include the tdisconnected
9519         support.  Upload fast traceframes, and delete internal IPA
9520         breakpoints.
9521         (stop_tracing_handler): New.
9522         (flush_trace_buffer_handler): New.
9523         (cmd_qtstop): Upload fast tracepoints.
9524         (response_tracepoint): Handle fast tracepoints.
9525         (tracepoint_finished_step): Upload fast traceframes.  Set the
9526         tracepoint hit context's tracepoint type.
9527         (handle_tracepoint_bkpts): New.
9528         (tracepoint_was_hit): Set the tracepoint hit context's tracepoint
9529         type.  Add comment about fast tracepoints.
9530         (collect_data_at_tracepoint) [IN_PROCESS_AGENT]: Don't access the
9531         non-existing action_str field.
9532         (get_context_regcache): Handle fast tracepoints.
9533         (do_action_at_tracepoint) [!IN_PROCESS_AGENT]: Don't write the PC
9534         to the regcache.
9535         (fast_tracepoint_from_jump_pad_address): New.
9536         (fast_tracepoint_from_ipa_tpoint_address): New.
9537         (collecting_t): New.
9538         (force_unlock_trace_buffer): New.
9539         (fast_tracepoint_collecting): New.
9540         (collecting): New.
9541         (gdb_collect): New.
9542         (write_inferior_data_ptr): New.
9543         (target_tp_heap): New.
9544         (target_malloc): New.
9545         (download_agent_expr): New.
9546         (UALIGN): New.
9547         (download_tracepoints): New.
9548         (download_trace_state_variables): New.
9549         (upload_fast_traceframes): New.
9550         (IPA_FIRST_TRACEFRAME): New.
9551         (IPA_NEXT_TRACEFRAME_1): New.
9552         (IPA_NEXT_TRACEFRAME): New.
9553         [IN_PROCESS_AGENT]: Include sys/mman.h and fcntl.h.
9554         [IN_PROCESS_AGENT] (gdb_tp_heap_buffer, gdb_jump_pad_buffer)
9555         (gdb_jump_pad_buffer_end): New.
9556         [IN_PROCESS_AGENT] (initialize_tracepoint_ftlib): New.
9557         (initialize_tracepoint): Adjust.
9558         [IN_PROCESS_AGENT]: Allocate the IPA heap, and jump pad scratch
9559         buffer.  Initialize the low module.
9560         * utils.c (PREFIX, TOOLNAME): New.
9561         (malloc_failure): Use PREFIX.
9562         (error): In the IPA, an error causes an exit.
9563         (fatal, warning): Use PREFIX.
9564         (internal_error): Use TOOLNAME.
9565         (NUMCELLS): Increase to 10.
9566         * configure, config.in: Regenerate.
9567
9568 2010-06-01  Pedro Alves  <pedro@codesourcery.com>
9569
9570         * server.c (handle_query) <qSupported>: Do two passes over the
9571         qSupported string to avoid nesting strtok.
9572
9573 2010-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
9574
9575         * Makefile.in (SFILES): Add $(srcdir)/proc-service.list.
9576         (CDEPS): New.
9577         * configure.ac (RDYNAMIC): New AC_MSG_CHECKING wrapping.  Test also
9578         -Wl,--dynamic-list.
9579         * configure: Regenerate.
9580         * proc-service.list: New.
9581
9582 2010-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
9583
9584         * linux-low.c (linux_core_of_thread): Fix crash on invalid CONTENT.
9585         New comment.
9586
9587 2010-05-26  Ozkan Sezer  <sezeroz@gmail.com>
9588
9589         * gdbreplay.c (remote_open): Check error return from socket() call by
9590         its equality to -1 not by it being negative.
9591         * remote-utils.c (remote_open): Likewise.
9592
9593 2010-05-23  Pedro Alves  <pedro@codesourcery.com>
9594
9595         * config.h: Regenerate.
9596
9597 2010-05-19  Maxim Kuvyrkov  <maxim@codesourcery.com>
9598
9599         * linux-m68k-low.c (ps_get_thread_area): Don't define if kernel
9600         doesn't provide PTRACE_GET_THREAD_AREA.
9601
9602 2010-05-19  Maxim Kuvyrkov  <maxim@codesourcery.com>
9603
9604         * linux-m68k-low.c: Include <asm/ptrace.h>
9605         (ps_get_thread_area): Implement.
9606
9607 2010-05-03  Doug Evans  <dje@google.com>
9608
9609         * event-loop.c (struct callback_event): New struct.
9610         (callback_list): New global.
9611         (append_callback_event, delete_callback_event): New functions.
9612         (process_callback): New function.
9613         (start_event_loop): Call it.
9614         * remote-utils.c (NOT_SCHEDULED): Define.
9615         (readchar_buf, readchar_bufcnt, readchar_bufp): New static globals,
9616         moved out of readchar.
9617         (readchar): Rewrite.  Call reschedule before returning.
9618         (reset_readchar): New function.
9619         (remote_close): Call it.
9620         (process_remaining, reschedule): New functions.
9621         * server.h (callback_handler_func): New typedef.
9622         (append_callback_event, delete_callback_event): Declare.
9623
9624 2010-05-03  Pedro Alves  <pedro@codesourcery.com>
9625
9626         * proc-service.c (ps_pglobal_lookup): Use
9627         thread_db_look_up_one_symbol.
9628         * remote-utils.c (look_up_one_symbol): Add new `may_ask_gdb'
9629         parameter.  Use it instead of all_symbols_looked_up.
9630         * server.h (struct process_info) <all_symbols_looked_up>: Delete
9631         field.
9632         (all_symbols_looked_up): Don't declare.
9633         (look_up_one_symbol): Add new `may_ask_gdb' parameter.
9634         * thread-db.c (struct thread_db) <all_symbols_looked_up>: New
9635         field.
9636         (thread_db_look_up_symbols): Adjust call to look_up_one_symbol.
9637         Set all_symbols_looked_up here.
9638         (thread_db_look_up_one_symbol): New.
9639         (thread_db_get_tls_address): Adjust.
9640         (thread_db_load_search, try_thread_db_load_1): Always allocate the
9641         thread_db object on the heap, and tentatively set it in the
9642         process structure.
9643         (thread_db_init): Don't set all_symbols_looked_up here.
9644         * linux-low.h (thread_db_look_up_one_symbol): Declare.
9645
9646 2010-05-03  Pedro Alves  <pedro@codesourcery.com>
9647
9648         * linux-low.c (linux_kill, linux_detach): Adjust.
9649         (status_pending_p_callback): Remove redundant statement.  Check
9650         for !TARGET_WAITIKIND_IGNORE, instead of
9651         TARGET_WAITKIND_STOPPED.
9652         (handle_tracepoints): Make sure LWP is locked.  Adjust.
9653         (linux_wait_for_event_1): Adjust.
9654         (linux_cancel_breakpoints): New.
9655         (unsuspend_one_lwp): New.
9656         (unsuspend_all_lwps): New.
9657         (linux_wait_1): If finishing a step-over, unsuspend all lwps.
9658         (send_sigstop_callback): Change return type to int, add new
9659         `except' parameter and handle it.
9660         (suspend_and_send_sigstop_callback): New.
9661         (stop_all_lwps): Add new `suspend' and `expect' parameters, and
9662         pass them down.  If SUSPEND, also increment the lwp's suspend
9663         count.
9664         (linux_resume_one_lwp): Add notice about resuming a suspended LWP.
9665         (need_step_over_p): Don't consider suspended LWPs.
9666         (start_step_over): Adjust.
9667         (proceed_one_lwp): Change return type to int, add new `except'
9668         parameter and handle it.
9669         (unsuspend_and_proceed_one_lwp): New.
9670         (proceed_all_lwps): Use find_inferior instead of
9671         for_each_inferior.
9672         (unstop_all_lwps): Add `unsuspend' parameter.  If UNSUSPEND, them
9673         also decrement the suspend count of LWPs.  Pass `except' down,
9674         instead of hacking its suspend count.
9675         (linux_pause_all): Add `freeze' parameter.  Adjust.
9676         (linux_unpause_all): New.
9677         (linux_target_ops): Install linux_unpause_all.
9678         * server.c (handle_status): Adjust.
9679         * target.h (struct target_ops): New fields `unpause_all' and
9680         `cancel_breakpoints'.  Add new parameter to `pause_all'.
9681         (pause_all): Add new `freeze' parameter.
9682         (unpause_all): New.
9683         (cancel_breakpoints): New.
9684         * tracepoint.c (clear_installed_tracepoints): Pause threads, and
9685         cancel breakpoints.
9686         (cmd_qtstart): Pause threads.
9687         (stop_tracing): Pause threads, and cancel breakpoints.
9688         * win32-low.c (win32_target_ops): Adjust.
9689
9690 2010-05-03  Pedro Alves  <pedro@codesourcery.com>
9691
9692         * linux-low.c (linux_wait_for_event_1): Move passing the signal to
9693         the inferior right away from here...
9694         (linux_wait_1): ... to here, and adjust to check the thread's
9695         last_resume_kind instead of the lwp's step or stop_expected flags.
9696
9697 2010-05-02  Pedro Alves  <pedro@codesourcery.com>
9698
9699         * README: Use consistent `GDB' and `GDBserver' spellings.
9700
9701 2010-05-02  Pedro Alves  <pedro@codesourcery.com>
9702
9703         * linux-low.c (linux_kill_one_lwp): Assume the lwp is stopped.
9704         (linux_kill): Stop all lwps here.  Don't delete the main lwp here.
9705         (linux_detach_one_lwp): Assume the lwp is stopped.
9706         (any_thread_of): Delete.
9707         (linux_detach): Stop all lwps here.  Don't blindly delete all
9708         breakpoints.
9709         (delete_lwp_callback): New.
9710         (linux_mourn): Delete all lwps of the process that is gone.
9711         (linux_wait_1): Don't delete the last lwp of the process here.
9712         * mem-break.h (mark_breakpoints_out): Declare.
9713         * mem-break.c (mark_breakpoints_out): New.
9714         (free_all_breakpoints): Use it.
9715         * server.c (handle_target_event): If the process is gone, mark
9716         breakpoints out.
9717         * thread-db.c (struct thread_db) <create_bp>: New field.
9718         (thread_db_enable_reporting): Fix prototype.  Store a thread event
9719         breakpoint reference in the thread_db struct.
9720         (thread_db_load_search): Clear the thread_db object.
9721         (try_thread_db_load_1): Ditto.
9722         (switch_to_process): New.
9723         (disable_thread_event_reporting): Use it.
9724         (remove_thread_event_breakpoints): New.
9725         (thread_db_detach, thread_db_mourn): Use it.
9726
9727 2010-05-01  Pedro Alves  <pedro@codesourcery.com>
9728
9729         * linux-low.c (linux_enable_event_reporting): New.
9730         (linux_wait_for_event_1, handle_extended_wait): Use it.
9731
9732 2010-04-30  Pedro Alves  <pedro@codesourcery.com>
9733
9734         * linux-low.c (linux_kill_one_lwp, linux_kill)
9735         (linux_detach_one_lwp): Adjust to send_sigstop interface change.
9736         (send_sigstop): Take an lwp_info as parameter instead.  Queue a
9737         SIGSTOP even if the LWP is stopped.
9738         (send_sigstop_callback): New.
9739         (stop_all_lwps): Use send_sigstop_callback instead.
9740         (linux_resume_one_thread): Adjust.
9741         (proceed_one_lwp): Still proceed an LWP that the client has
9742         requested to stop, if we haven't reported it as stopped yet.  Make
9743         sure that LWPs the client want stopped, have a pending SIGSTOP.
9744
9745 2010-04-26  Doug Evans  <dje@google.com>
9746
9747         * server.c (handle_general_set): Make static.
9748
9749         * remote-utils.c (putpkt_binary_1): Call readchar instead of read.
9750         Print received char after testing for error/eof instead of before.
9751         (input_interrupt): Tweak comment.
9752
9753 2010-04-23  Doug Evans  <dje@google.com>
9754
9755         * server.c (start_inferior): Print inferior argv if --debug.
9756
9757 2010-04-21  Aleksandar Ristovski  <aristovski@qnx.com>
9758
9759         * Makefile.in (nto_low_h nto-low.o nto-x86-low.o): New dependency lists.
9760         * nto-x86-low.c: Include server.h
9761
9762 2010-04-20  Pierre Muller  <muller@ics.u-strasbg.fr>
9763
9764         * win32-i386-low.c: Use __x86_64__ macro instead of __x86_64 to
9765         be consistent with other sources of this directory.
9766         (init_registers_amd64): Correct name of source file of this function
9767         in the comment.
9768
9769 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
9770
9771         * configure.srv (x86_64-*-mingw*): New configuration for Windows
9772         64-bit executables.
9773
9774 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
9775
9776         * win32-i386-low.c: Add 64-bit support.
9777         (CONTEXT_EXTENDED_REGISTERS): Set macro to zero if not exisiting.
9778         (init_registers_amd64): Declare.
9779         (mappings): Add 64-bit version of array.
9780         (init_windows_x86): New function.
9781         (the_low_target): Change init_arch field to init_windows_x86.
9782
9783 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
9784
9785         * win32-low.c: Adapt to support also 64-bit architecture.
9786         (child_xfer_memory): Use uintptr_t type for local variable `addr'.
9787         (get_image_name): Use SIZE_T type for local variable `done'.
9788         (psapi_get_dll_name): Use LPVOID type for parameter `BaseAddress'.
9789         (toolhelp_get_dll_name): Idem.
9790         (handle_load_dll): Use CORE_ADDR type for local variable `load_addr'.
9791         Use uintptr_t typecast to avoid warning.
9792         (handle_unload_dll): Use uintptr_t typecast to avoid warning.
9793         (handle_exception): Use phex_nz to avoid warning.
9794         (win32_wait): Remove unused local variable `process'.
9795
9796 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
9797
9798         * configure.srv (srv_amd64_regobj): Replace `x86-64-avx.o' by
9799         `amd64-avx.o'.
9800
9801 2010-04-17  Pierre Muller  <muller@ics.u-strasbg.fr>
9802
9803         * configure.ac: Use `ws2_32' library for srv_mingw.
9804         * configure: Regenerate.
9805         * gdbreplay.c: Include winsock2.h instead of winsock.h.
9806         * remote-utils.c: Likewise.
9807
9808 2010-04-17  H.J. Lu  <hongjiu.lu@intel.com>
9809
9810         * linux-x86-low.c (xmltarget_amd64_linux_no_xml): Define only
9811         if __x86_64__ is defined.
9812
9813 2010-04-16  Pierre Muller  <muller@ics.u-strasbg.fr>
9814
9815         * configure: Regenerate.
9816
9817 2010-04-16  Pierre Muller  <muller@ics.u-strasbg.fr>
9818
9819         * server.c (handle_query): Handle 'qGetTIBAddr' query.
9820         * target.h (target_ops): New get_tib_address field.
9821         * win32-low.h (win32_thread_info): Add thread_local_base field.
9822         * win32-low.c (child_add_thread): Add tlb argument.
9823         Set thread_local_base field to TLB.
9824         (get_child_debug_event): Adapt to child_add_thread change.
9825         (win32_get_tib_address): New function.
9826         (win32_target_ops): Set get_tib_address field to
9827         win32_get_tib_address.
9828         * linux-low.c (linux_target_ops): Set get_tib_address field to NULL.
9829
9830 2010-04-12  Pedro Alves  <pedro@codesourcery.com>
9831
9832         * linux-low.c (linux_mourn): Also remove the process.
9833         * server.c (handle_target_event): Don't remove the process here.
9834         * nto-low.c (nto_mourn): New.
9835         (nto_target_ops): Install it.
9836         * spu-low.c (spu_mourn): New.
9837         (spu_target_ops): Install it.
9838         * win32-low.c (win32_mourn): New.
9839         (win32_target_ops): Install it.
9840
9841 2010-04-12  Pedro Alves  <pedro@codesourcery.com>
9842
9843         * server.h (buffer_xml_printf): Remove redundant `;'.
9844
9845 2010-04-12  Pedro Alves  <pedro@codesourcery.com>
9846
9847         * regcache.c (set_register_cache): Invalidate regcaches before
9848         changing the register cache layout.
9849         (regcache_invalidate_one): Allow a NULL regcache.
9850         * linux-x86-low.c (x86_linux_update_xmltarget): Invalidate
9851         regcaches before changing the register cache layout or the target
9852         regsets.
9853
9854 2010-04-12  H.J. Lu  <hongjiu.lu@intel.com>
9855
9856         * linux-x86-low.c (x86_linux_update_xmltarget): Avoid unused
9857         variable warning on Linux/x86-64.
9858
9859 2010-04-11  Pedro Alves  <pedro@codesourcery.com>
9860
9861         GDBserver disconnected tracing support.
9862
9863         * linux-low.c (linux_remove_process): Delete.
9864         (add_lwp): Don't set last_resume_kind here.
9865         (linux_kill): Use `mourn'.
9866         (linux_detach): Use `thread_db_detach', and `mourn'.
9867         (linux_mourn): New.
9868         (linux_attach_lwp_1): Adjust comment.
9869         (linux_attach): last_resume_kind moved the thread_info; adjust.
9870         (status_pending_p_callback): Adjust.
9871         (linux_wait_for_event_1): Adjust.
9872         (count_events_callback, select_singlestep_lwp_callback)
9873         (select_event_lwp_callback, cancel_breakpoints_callback)
9874         (db_wants_lwp_stopped, linux_wait_1, need_step_over_p)
9875         (proceed_one_lwp): Adjust.
9876         (linux_async): Add debug output.
9877         (linux_thread_stopped): New.
9878         (linux_pause_all): New.
9879         (linux_target_ops): Install linux_mourn, linux_thread_stopped and
9880         linux_pause_all.
9881         * linux-low.h (struct lwp_info): Delete last_resume_kind field.
9882         (thread_db_free): Delete declaration.
9883         (thread_db_detach, thread_db_mourn): Declare.
9884         * thread-db.c (thread_db_init): Use thread_db_mourn.
9885         (thread_db_free): Delete, split in two.
9886         (disable_thread_event_reporting): New.
9887         (thread_db_detach): New.
9888         (thread_db_mourn): New.
9889
9890         * server.h (struct thread_info) <last_resume_kind>: New field.
9891         <attached>: Add comment.
9892         <gdb_detached>: New field.
9893         (handler_func): Change return type to int.
9894         (handle_serial_event, handle_target_event): Ditto.
9895         (gdb_connected): Declare.
9896         (tracing): Delete.
9897         (disconnected_tracing): Declare.
9898         (stop_tracing): Declare.
9899
9900         * server.c (handle_query) <qSupported>: Report support for
9901         disconnected tracing.
9902         (queue_stop_reply_callback): Account for running threads.
9903         (gdb_wants_thread_stopped): New.
9904         (gdb_wants_all_threads_stopped): New.
9905         (gdb_reattached_process): New.
9906         (handle_status): Clear the `gdb_detached' flag of all processes.
9907         In all-stop, stop all threads.
9908         (main): Be sure to leave tfind mode.  Handle disconnected tracing.
9909         (process_serial_event): If the remote connection breaks, or if an
9910         exit was forced with "monitor exit", force an event loop exit.
9911         Handle disconnected tracing on detach.
9912         (handle_serial_event): Adjust.
9913         (handle_target_event): If GDB isn't connected, forward events back
9914         to the inferior, unless the last process exited, in which case,
9915         exit gdbserver.  Adjust interface.
9916
9917         * remote-utils.c (remote_open): Don't block in accept.  Instead
9918         register an event loop source on the listen socket file
9919         descriptor.  Refactor bits into ...
9920         (listen_desc): ... this new global.
9921         (gdb_connected): ... this new function.
9922         (enable_async_notification): ... this new function.
9923         (handle_accept_event): ... this new function.
9924         (remote_close): Clear remote_desc.
9925
9926         * inferiors.c (add_thread): Set the new thread's last_resume_kind.
9927
9928         * target.h (struct target_ops) <mourn, thread_stopped, pause_all>:
9929         New fields.
9930         (mourn_inferior): Define.
9931         (target_process_qsupported): Avoid the dangling else problem.
9932         (thread_stopped): Define.
9933         (pause_all): Define.
9934         (target_waitstatus_to_string): Declare.
9935         * target.c (target_waitstatus_to_string): New.
9936
9937         * tracepoint.c (tracing): Make extern.
9938         (disconnected_tracing): New.
9939         (stop_tracing): Make extern.  Handle tracing stops due to GDB
9940         disconnecting.
9941         (cmd_qtdisconnected): New.
9942         (cmd_qtstatus): Report disconnected tracing status in trace reply.
9943         (handle_tracepoint_general_set): Handle QTDisconnected.
9944
9945         * event-loop.c (event_handler_func): Change return type to int.
9946         (process_event): Bail out if the event handler wants the event
9947         loop to stop.
9948         (handle_file_event): Ditto.
9949         (start_event_loop): Bail out if the event handler wants the event
9950         loop to stop.
9951
9952         * nto-low.c (nto_target_ops): Adjust.
9953         * spu-low.c (spu_wait): Don't remove the process here.
9954         (spu_target_ops): Adjust.
9955         * win32-low.c (win32_wait): Don't remove the process here.
9956         (win32_target_ops): Adjust.
9957
9958 2010-04-11  Pedro Alves  <pedro@codesourcery.com>
9959
9960         * regcache.c (realloc_register_cache): Invalidate inferior's
9961         regcache before recreating it.
9962
9963 2010-04-09  Pedro Alves  <pedro@codesourcery.com>
9964
9965         * tracepoint.c (cmd_qtstatus): Report trace buffer circularity.
9966
9967 2010-04-09  Stan Shebs  <stan@codesourcery.com>
9968             Pedro Alves  <pedro@codesourcery.com>
9969
9970         * server.h (LONGEST): New.
9971         (struct thread_info) <while_stepping>: New field.
9972         (unpack_varlen_hex, xrealloc, pulongest, plongest, phex_nz):
9973         Declare.
9974         (initialize_tracepoint, handle_tracepoint_general_set)
9975         (handle_tracepoint_query, tracepoint_finished_step)
9976         (tracepoint_was_hit, release_while_stepping_state_list):
9977         (current_traceframe): Declare.
9978         * server.c (handle_general_set): Handle tracepoint packets.
9979         (read_memory): New.
9980         (write_memory): New.
9981         (handle_search_memory_1): Use read_memory.
9982         (handle_query): Report support for conditional tracepoints, trace
9983         state variables, and tracepoint sources.  Handle tracepoint
9984         queries.
9985         (main): Initialize the tracepoints module.
9986         (process_serial_event): Handle traceframe reads/writes.
9987
9988         * linux-low.c (handle_tracepoints): New.
9989         (linux_wait_1): Call it.
9990         (linux_resume_one_lwp): Handle while-stepping.
9991         (linux_supports_tracepoints, linux_read_pc, linux_write_pc): New.
9992         (linux_target_ops): Install them.
9993         * linux-low.h (struct linux_target_ops) <supports_tracepoints>:
9994         New field.
9995         * linux-x86-low.c (x86_supports_tracepoints): New.
9996         (the_low_target). Install it.
9997
9998         * mem-break.h (delete_breakpoint): Declare.
9999         * mem-break.c (delete_breakpoint): Make external.
10000
10001         * target.h (struct target_ops): Add `supports_tracepoints',
10002         `read_pc', and `write_pc' fields.
10003         (target_supports_tracepoints): Define.
10004         * utils.c (xrealloc, decimal2str, pulongest, plongest, thirty_two)
10005         (phex_nz): New.
10006
10007         * regcache.h (struct regcache) <registers_owned>: New field.
10008         (init_register_cache, regcache_cpy): Declare.
10009         (regcache_read_pc, regcache_write_pc): Declare.
10010         (register_cache_size): Declare.
10011         (supply_regblock): Declare.
10012         * regcache.c (init_register_cache): New.
10013         (new_register_cache): Use it.
10014         (regcache_cpy): New.
10015         (register_cache_size): New.
10016         (supply_regblock): New.
10017         (regcache_read_pc, regcache_write_pc): New.
10018
10019         * tracepoint.c: New.
10020
10021         * Makefile.in (OBS): Add tracepoint.o.
10022         (tracepoint.o): New rule.
10023
10024 2010-04-08  H.J. Lu  <hongjiu.lu@intel.com>
10025
10026         * Makefile.in (clean): Also remove i386-mmx.c i386-mmx-linux.c.
10027         (i386-mmx.o): New.
10028         (i386-mmx.c): Likewise.
10029         (i386-mmx-linux.o): Likewise.
10030         (i386-mmx-linux.c): Likewise.
10031
10032         * configure.srv (srv_i386_regobj): Add i386-mmx.o.
10033         (srv_i386_linux_regobj): Add i386-mmx-linux.o.
10034         (srv_i386_xmlfiles): Add i386/i386-mmx.xml.
10035         (srv_i386_linux_xmlfiles): Add i386/i386-mmx-linux.xml.
10036
10037         * linux-x86-low.c (init_registers_i386_mmx_linux): New.
10038         (x86_linux_update_xmltarget): Call init_registers_i386_mmx_linux
10039         and return if ptrace PTRACE_GETFPXREGS failed in 32bit.
10040
10041 2010-04-07  H.J. Lu  <hongjiu.lu@intel.com>
10042
10043         * Makefile.in (clean): Updated.
10044         (i386-avx.o): New.
10045         (i386-avx.c): Likewise.
10046         (i386-avx-linux.o): Likewise.
10047         (i386-avx-linux.c): Likewise.
10048         (amd64-avx.o): Likewise.
10049         (amd64-avx.c): Likewise.
10050         (amd64-avx-linux.o): Likewise.
10051         (amd64-avx-linux.c): Likewise.
10052
10053         * configure.srv (srv_i386_regobj): Add i386-avx.o.
10054         (srv_i386_linux_regobj): Add i386-avx-linux.o.
10055         (srv_amd64_regobj): Add amd64-avx.o.
10056         (srv_amd64_linux_regobj): Add amd64-avx-linux.o.
10057         (srv_i386_32bit_xmlfiles): Add i386/32bit-avx.xml.
10058         (srv_i386_64bit_xmlfiles): Add i386/64bit-avx.xml.
10059         (srv_i386_xmlfiles): Add i386/i386-avx.xml.
10060         (srv_amd64_xmlfiles): Add i386/amd64-avx.xml.
10061         (srv_i386_linux_xmlfiles): Add i386/i386-avx-linux.xml.
10062         (srv_amd64_linux_xmlfiles): Add i386/amd64-avx-linux.xml.
10063
10064         * i387-fp.c: Include "i386-xstate.h".
10065         (i387_xsave): New.
10066         (i387_cache_to_xsave): Likewise.
10067         (i387_xsave_to_cache): Likewise.
10068         (x86_xcr0): Likewise.
10069
10070         * i387-fp.h (i387_cache_to_xsave): Likewise.
10071         (i387_xsave_to_cache): Likewise.
10072         (x86_xcr0): Likewise.
10073
10074         * linux-arm-low.c (target_regsets): Initialize nt_type to 0.
10075         * linux-crisv32-low.c (target_regsets): Likewise.
10076         * linux-m68k-low.c (target_regsets): Likewise.
10077         * linux-mips-low.c (target_regsets): Likewise.
10078         * linux-ppc-low.c (target_regsets): Likewise.
10079         * linux-s390-low.c (target_regsets): Likewise.
10080         * linux-sh-low.c (target_regsets): Likewise.
10081         * linux-sparc-low.c (target_regsets): Likewise.
10082         * linux-xtensa-low.c (target_regsets): Likewise.
10083
10084         * linux-low.c: Include <sys/uio.h>.
10085         (regsets_fetch_inferior_registers): Support nt_type.
10086         (regsets_store_inferior_registers): Likewise.
10087         (linux_process_qsupported): New.
10088         (linux_target_ops): Add linux_process_qsupported.
10089
10090         * linux-low.h (regset_info): Add nt_type.
10091         (linux_target_ops): Add process_qsupported.
10092
10093         * linux-x86-low.c: Include "i386-xstate.h", "elf/common.h"
10094         and <sys/uio.h>.
10095         (init_registers_i386_avx_linux): New.
10096         (init_registers_amd64_avx_linux): Likewise.
10097         (xmltarget_i386_linux_no_xml): Likewise.
10098         (xmltarget_amd64_linux_no_xml): Likewise.
10099         (PTRACE_GETREGSET): Likewise.
10100         (PTRACE_SETREGSET): Likewise.
10101         (x86_fill_xstateregset): Likewise.
10102         (x86_store_xstateregset): Likewise.
10103         (use_xml): Likewise.
10104         (x86_linux_update_xmltarget): Likewise.
10105         (x86_linux_process_qsupported): Likewise.
10106         (target_regsets): Add NT_X86_XSTATE entry and Initialize nt_type.
10107         (x86_arch_setup): Don't call init_registers_amd64_linux nor
10108         init_registers_i386_linux here.  Call
10109         x86_linux_update_xmltarget.
10110         (the_low_target): Add x86_linux_process_qsupported.
10111
10112         * server.c (handle_query): Call target_process_qsupported.
10113
10114         * target.h (target_ops): Add process_qsupported.
10115         (target_process_qsupported): New.
10116
10117 2010-04-03  Pedro Alves  <pedro@codesourcery.com>
10118
10119         * inferiors.c (add_thread): Set last_status kind to
10120         TARGET_WAITKIND_IGNORE.
10121         * linux-low.c (cancel_breakpoint): Remove unnecessary regcache
10122         fetch.  Use ptid_of.  Avoid unnecessary get_lwp_thread calls.
10123         (linux_wait_1): Move `thread' local definition to block that uses
10124         it.  Don't NULL initialize `event_child'.
10125         (linux_resume_one_thread): Avoid unnecessary get_lwp_thread calls.
10126         Alway set the thread's last_status to TARGET_WAITKIND_IGNORE.
10127         * linux-x86-low.c (x86_breakpoint_at): Read raw memory.
10128
10129 2010-04-01  Pedro Alves  <pedro@codesourcery.com>
10130
10131         * linux-low.c (get_stop_pc): Don't adjust the PC if stopped with
10132         an extended waitstatus, or by a watchpoint.
10133         (cancel_breakpoints_callback): Don't cancel a breakpoint if the
10134         thread was stepping or has been stopped by a watchpoint.
10135
10136 2010-04-01  Pedro Alves  <pedro@codesourcery.com>
10137
10138         * mem-break.c (struct raw_breakpoint): New field shlib_disabled.
10139         (set_gdb_breakpoint_at): If GDB is inserting a breakpoint on top
10140         of another, then delete the previous, and validate all
10141         breakpoints.
10142         (validate_inserted_breakpoint): New.
10143         (delete_disabled_breakpoints): New.
10144         (validate_breakpoints): New.
10145         (check_mem_read): Validate breakpoints before trusting their
10146         shadow.  Delete disabled breakpoints.
10147         (check_mem_write): Validate breakpoints before trusting they
10148         should be inserted.  Delete disabled breakpoints.
10149         * mem-break.h (validate_breakpoints):
10150         * server.c (handle_query): Validate breakpoints when we see a
10151         qSymbol query.
10152
10153 2010-04-01  Pedro Alves  <pedro@codesourcery.com>
10154
10155         * linux-low.c (linux_wait_1): Avoid setting need_step_over is
10156         there's a GDB breakpoint at stop_pc.  Always report a trap to GDB
10157         if we could tell there's a GDB breakpoint at stop_pc.
10158         (need_step_over_p): Don't do a step over if we find a GDB
10159         breakpoint at the resume PC.
10160
10161         * mem-break.c (struct raw_breakpoint): New.
10162         (enum bkpt_type): New type `gdb_breakpoint'.
10163         (struct breakpoint): Delete the `PC', `old_data' and `inserted'
10164         fields.  New field `raw'.
10165         (find_raw_breakpoint_at): New.
10166         (set_raw_breakpoint_at): Handle refcounting.  Create a raw
10167         breakpoint instead.
10168         (set_breakpoint_at): Adjust.
10169         (delete_raw_breakpoint): New.
10170         (release_breakpoint): New.
10171         (delete_breakpoint): Rename to...
10172         (delete_breakpoint_1): ... this.  Add proc parameter.  Use
10173         release_breakpoint.  Return ENOENT.
10174         (delete_breakpoint): Reimplement.
10175         (find_breakpoint_at): Delete.
10176         (find_gdb_breakpoint_at): New.
10177         (delete_breakpoint_at): Delete.
10178         (set_gdb_breakpoint_at): New.
10179         (delete_gdb_breakpoint_at): New.
10180         (gdb_breakpoint_here): New.
10181         (set_reinsert_breakpoint): Use release_breakpoint.
10182         (uninsert_breakpoint): Rename to ...
10183         (uninsert_raw_breakpoint): ... this.
10184         (uninsert_breakpoints_at): Adjust to handle raw breakpoints.
10185         (reinsert_raw_breakpoint): Change parameter type to
10186         raw_breakpoint.
10187         (reinsert_breakpoints_at): Adjust to handle raw breakpoints
10188         instead.
10189         (check_breakpoints): Adjust.  Use release_breakpoint.
10190         (breakpoint_here): Rewrite using find_raw_breakpoint_at.
10191         (breakpoint_inserted_here): Ditto.
10192         (check_mem_read): Adjust to iterate over raw breakpoints instead.
10193         Don't trust the breakpoint's shadow if it is not inserted.
10194         (check_mem_write): Adjust to iterate over raw breakpoints instead.
10195         (delete_all_breakpoints): Adjust.
10196         (free_all_breakpoints): Mark all breakpoints as uninserted, and
10197         use delete_breakpoint_1.
10198
10199         * mem-break.h (breakpoints_supported): Delete declaration.
10200         (set_gdb_breakpoint_at): Declare.
10201         (gdb_breakpoint_here): Declare.
10202         (delete_breakpoint_at): Delete.
10203         (delete_gdb_breakpoint_at): Declare.
10204
10205         * server.h (struct raw_breakpoint): Forward declare.
10206         (struct process_info): New field `raw_breakpoints'.
10207
10208         * linux-x86-low.c (x86_insert_point, x86_remote_point): Handle Z0
10209         breakpoints.
10210
10211 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
10212
10213         * linux-low.c (status_pending_p_callback): Fix comment.
10214         (linux_wait_for_event_1): Move most of the internal breakpoint
10215         handling from here...
10216         (linux_wait_1): ... to here.
10217         (count_events_callback): New.
10218         (select_singlestep_lwp_callback): New.
10219         (select_event_lwp_callback): New.
10220         (cancel_breakpoints_callback): New.
10221         (select_event_lwp): New.
10222         (linux_wait_1): Simplify internal breakpoint handling.  Give equal
10223         priority to all LWPs that have had events that should be reported
10224         to the client.  Cancel breakpoints when about to reporting the
10225         event to the client, not while stopping lwps.  No longer cancel
10226         finished single-steps here.
10227         (cancel_finished_single_step): Delete.
10228         (cancel_finished_single_steps): Delete.
10229
10230 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
10231
10232         * mem-break.c (enum bkpt_type): New.
10233         (struct breakpoint): New field `type'.
10234         (set_breakpoint_at): Change return type to struct breakpoint
10235         pointer.  Set type to `other_breakpoint' by default.
10236         (delete_breakpoint): Rewrite, supporting more than one breakpoint
10237         in the breakpoint list.
10238         (delete_reinsert_breakpoints): Only delete reinsert breakpoints.
10239         (reinsert_breakpoint): Rename to ...
10240         (reinsert_raw_breakpoint): ... this.
10241         (reinsert_breakpoints_at): Adjust.
10242         * mem-break.h (struct breakpoint): Declare.
10243         (set_breakpoint_at): Change return type to struct breakpoint
10244         pointer.
10245
10246 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
10247
10248         * server.c (handle_query): Assign, not compare.
10249
10250 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
10251
10252         Teach linux gdbserver to step-over-breakpoints.
10253
10254         * linux-low.c (can_hardware_single_step): New.
10255         (supports_breakpoints): New.
10256         (handle_extended_wait): If stopping threads, read the stop pc of
10257         the new cloned LWP.
10258         (get_pc): New.
10259         (get_stop_pc): Add `lwp' parameter.  Handle it.  Bail out if the
10260         low target doesn't support retrieving the PC.
10261         (add_lwp): Set last_resume_kind to resume_continue.
10262         (linux_attach_lwp_1): Adjust comments.  Always set stop_expected.
10263         (linux_attach): Don't clear stop_expected.  Set the lwp's
10264         last_resume_kind to resume_stop.
10265         (linux_detach_one_lwp): Don't check for removed breakpoints.
10266         (check_removed_breakpoint): Delete.
10267         (status_pending_p): Rename to ...
10268         (status_pending_p_callback): ... this.  Don't check for removed
10269         breakpoints.  Don't consider threads that are stopped from GDB's
10270         perspective.
10271         (linux_wait_for_lwp): Always read the stop_pc here.
10272         (cancel_breakpoint): New.
10273         (step_over_bkpt): New global.
10274         (linux_wait_for_event_1): Implement stepping over breakpoints.
10275         (gdb_wants_lwp_stopped): New.
10276         (gdb_wants_all_stopped): New.
10277         (linux_wait_1): Tag threads as gdb-wants-stopped.  Cancel finished
10278         single-step traps here.  Store the thread's last reported target
10279         wait status.
10280         (send_sigstop): Don't clear stop_expected.  Always set it,
10281         instead.
10282         (mark_lwp_dead): Remove reference to pending_is_breakpoint.
10283         (cancel_finished_single_step): New.
10284         (cancel_finished_single_steps): New.
10285         (wait_for_sigstop): Don't cancel finished single-step traps here.
10286         (linux_resume_one_lwp): Don't check for removed breakpoints.
10287         Don't set `step' on non-hardware step archs.
10288         (linux_set_resume_request): Ignore resume_stop requests if already
10289         stopping or stopped.  Set the lwp's last_resume_kind.
10290         (resume_status_pending_p): Don't check for removed breakpoints.
10291         (need_step_over_p): New.
10292         (start_step_over): New.
10293         (finish_step_over): New.
10294         (linux_resume_one_thread): Always queue a sigstop for resume_stop
10295         requests.  Clear the thread's last reported target waitstatus.
10296         Don't use the `suspended' flag.  Don't consider pending breakpoints.
10297         (linux_resume): Start a step-over if necessary.
10298         (proceed_one_lwp): New.
10299         (proceed_all_lwps): New.
10300         (unstop_all_lwps): New.
10301         * linux-low.h (struct lwp_info): Rewrite comment for the
10302         `suspended' flag.  Add the `stop_pc' field.  Delete the
10303         `pending_stop_pc' field.  Tweak the `stepping' flag's comment.
10304         Add `'last_resume_kind' and `need_step_over' fields.
10305         * inferiors.c (struct thread_info): Delete, moved elsewhere.
10306         * mem-break.c (struct breakpoint): Delete `reinserting' flag.
10307         Delete `breakpoint_to_reinsert' field.  New flag `inserted'.
10308         (set_raw_breakpoint_at): New.
10309         (set_breakpoint_at): Rewrite to use it.
10310         (reinsert_breakpoint_handler): Delete.
10311         (set_reinsert_breakpoint): New.
10312         (reinsert_breakpoint_by_bp): Delete.
10313         (delete_reinsert_breakpoints): New.
10314         (uninsert_breakpoint): Rewrite.
10315         (uninsert_breakpoints_at): New.
10316         (reinsert_breakpoint): Rewrite.
10317         (reinsert_breakpoints_at): New.
10318         (check_breakpoints): Rewrite.
10319         (breakpoint_here): New.
10320         (breakpoint_inserted_here): New.
10321         (check_mem_read): Adjust.
10322         * mem-break.h (breakpoints_supported, breakpoint_here)
10323         (breakpoint_inserted_here, set_reinsert_breakpoint): Declare.
10324         (reinsert_breakpoint_by_bp): Delete declaration.
10325         (delete_reinsert_breakpoints): Declare.
10326         (reinsert_breakpoint): Delete declaration.
10327         (reinsert_breakpoints_at): Declare.
10328         (uninsert_breakpoint): Delete declaration.
10329         (uninsert_breakpoints_at): Declare.
10330         (check_breakpoints): Adjust prototype.
10331         * server.h: Adjust include order.
10332         (struct thread_info): Declare here.  Add a `last_status' field.
10333
10334 2010-03-23  Michael Snyder  <msnyder@vmware.com>
10335
10336         * server.c (crc32): New function.
10337         (handle_query): Add handling for 'qCRC:' request.
10338
10339 2010-03-23  Pedro Alves  <pedro@codesourcery.com>
10340
10341         * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR6 if the
10342         lwp had been stopped by a watchpoint.
10343
10344 2010-03-16  Pedro Alves  <pedro@codesourcery.com>
10345
10346         * server.h (internal_error): Declare.
10347         (gdb_assert, ASSERT_FUNCTION, gdb_assert_fail): Define.
10348         * utils.c (internal_error): New function.
10349
10350 2010-03-15  Andreas Schwab  <schwab@redhat.com>
10351
10352         * configure.srv: Fix typo setting srv_regobj.
10353
10354 2010-03-15  Pedro Alves  <pedro@codesourcery.com>
10355
10356         * linux-low.c (fetch_register): Avoid passing a non string literal
10357         format to `error'.
10358         (usr_store_inferior_registers): Ditto.
10359
10360 2010-03-14  Pedro Alves  <pedro@codesourcery.com>
10361
10362         * linux-low.c (linux_write_memory): Bail out early if peeking
10363         memory failed.
10364
10365 2010-03-14  Pedro Alves  <pedro@codesourcery.com>
10366
10367         * linux-low.h (struct lwp_info): New fields
10368         `stopped_by_watchpoint' and `stopped_data_address'.
10369         * linux-low.c (linux_wait_for_lwp): Check for watchpoint triggers
10370         here, and cache them in the lwp object.
10371         (wait_for_sigstop): Check stopped_by_watchpoint lwp field
10372         directly.
10373         (linux_resume_one_lwp): Clear the lwp's stopped_by_watchpoint
10374         field.
10375         (linux_stopped_by_watchpoint): Rewrite.
10376         (linux_stopped_data_address): Rewrite.
10377
10378 2010-03-06  Simo Melenius  <simo.melenius@iki.fi>
10379
10380         * linux-low.c (linux_wait_for_lwp): Fetch the regcache after
10381         switching the current inferior, not before.
10382
10383 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
10384
10385         * Makefile.in (clean): Replace reg-i386.c, reg-x86-64.c,
10386         reg-i386-linux.c and reg-x86-64-linux.c with i386.c, amd64.c,
10387         i386-linux.c and amd64-linux.c.
10388         (reg-i386.o): Removed.
10389         (reg-i386.c): Likewise.
10390         (reg-i386-linux.o): Likewise.
10391         (reg-i386-linux.c): Likewise.
10392         (reg-x86-64.o): Likewise.
10393         (reg-x86-64.c): Likewise.
10394         (reg-x86-64-linux.o): Likewise.
10395         (reg-x86-64-linux.c): Likewise.
10396         (i386.o): New.
10397         (i386.c): Likewise.
10398         (i386-linux.o): Likewise.
10399         (i386-linux.c): Likewise.
10400         (amd64.o): Likewise.
10401         (amd64.c): Likewise.
10402         (amd64-linux.o): Likewise.
10403         (amd64-linux.c): Likewise.
10404
10405         * configure.srv (srv_i386_regobj): New.
10406         (srv_i386_linux_regobj): Likewise.
10407         (srv_amd64_regobj): Likewise.
10408         (srv_amd64_linux_regobj): Likewise.
10409         (srv_i386_32bit_xmlfiles): Likewise.
10410         (srv_i386_64bit_xmlfiles): Likewise.
10411         (srv_i386_xmlfiles): Likewise.
10412         (srv_amd64_xmlfiles): Likewise.
10413         (srv_i386_linux_xmlfiles): Likewise.
10414         (srv_amd64_linux_xmlfiles): Likewise.
10415         (i[34567]86-*-cygwin*): Set srv_regobj to $srv_i386_regobj.  Set
10416         srv_xmlfiles to $srv_i386_xmlfiles.
10417         (i[34567]86-*-mingw32ce*): Likewise.
10418         (i[34567]86-*-mingw*): Likewise.
10419         (i[34567]86-*-nto*): Likewise.
10420         (i[34567]86-*-linux*): Set srv_regobj to $srv_i386_linux_regobj
10421         and $srv_amd64_linux_regobj.  Set srv_xmlfiles to
10422         $srv_i386_linux_xmlfiles and $srv_amd64_linux_xmlfiles.
10423         (x86_64-*-linux*): Likewise.
10424
10425         * linux-x86-low.c (init_registers_x86_64_linux): Removed.
10426         (init_registers_amd64_linux): New.
10427         (x86_arch_setup): Replace init_registers_x86_64_linux with
10428         init_registers_amd64_linux.
10429
10430 2010-02-23  Maxim Kuvyrkov  <maxim@codesourcery.com>
10431
10432         * configure.ac: Check for libdl.  If it is not available link against
10433         static libthread_db.
10434         * configure: Regenerate.
10435
10436 2010-02-22  Pedro Alves  <pedro@codesourcery.com>
10437
10438         PR9605
10439
10440         * i386-low.c (i386_length_and_rw_bits): Throw a fatal error if
10441         handing a read watchpoint.
10442         (i386_low_insert_watchpoint): Read watchpoints aren't supported.
10443
10444 2010-02-12  Doug Evans  <dje@google.com>
10445
10446         * linux-low.c (linux_supports_tracefork_flag): Document.
10447         (linux_look_up_symbols): Add comment.
10448
10449 2010-02-03  H.J. Lu  <hongjiu.lu@intel.com>
10450
10451         * regcache.c (supply_register): Clear regcache if buf is NULL.
10452
10453 2010-02-02  Nicolas Roche  <roche@sourceware.org>
10454             Joel Brobecker  <brobecker@adacore.com>
10455
10456         * inferiors.c (find_inferior): Add function documentation.
10457         (unloaded_dll): Handle the case where the unloaded dll has not
10458         been previously registered in the dll list.
10459
10460 2010-02-01  Daniel Jacobowitz  <dan@codesourcery.com>
10461
10462         * linux-arm-low.c (thumb_breakpoint_len): Delete.
10463         (thumb2_breakpoint): New.
10464         (arm_breakpoint_at): Check for Thumb-2 breakpoints.
10465
10466 2010-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
10467
10468         * linux-low.c (get_stop_pc): Check for SIGTRAP.
10469         (linux_wait_for_event_1): Handle SIGILL and SIGSEGV as possible
10470         breakpoints.
10471
10472 2010-01-21  Pedro Alves  <pedro@codesourcery.com>
10473
10474         * linux-ppc-low.c (ppc_arch_setup): Adjust to regcache changes.
10475
10476 2010-01-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
10477
10478         * linux-s390-low.c (s390_collect_ptrace_register)
10479         (s390_supply_ptrace_register): Adjust it for the new regcache parameter.
10480
10481 2010-01-21  Doug Evans  <dje@google.com>
10482
10483         * linux-low.c (PTRACE_ARG3_TYPE): Change from long to void*.
10484         (PTRACE_ARG4_TYPE): New macro.
10485         (handle_extended_wait): Cast ptrace arg4 to PTRACE_ARG4_TYPE.
10486         (linux_wait_for_event_1, linux_resume_one_lwp): Ditto.
10487         (fetch_register): Cast to uintptr_t before casting to PTRACE_ARG3_TYPE.
10488         (usr_store_inferior_registers): Ditto.
10489         (linux_read_memory, linux_write_memory): Ditto.
10490         (linux_test_for_tracefork): Ditto.
10491
10492         * linux-arm-low.c: Remove redundant include of gdb_proc_service.h.
10493         Only include elf.h if gdb_proc_service.h didn't include linux/elf.h.
10494
10495 2010-01-21  Pedro Alves  <pedro@codesourcery.com>
10496
10497         * proc-service.c (ps_lgetregs): Don't refetch registers from the
10498         target.
10499
10500 2010-01-21  Pedro Alves  <pedro@codesourcery.com>
10501
10502         * spu-low.c (spu_fetch_registers, spu_store_registers): Change
10503         prototype to take a regcache.  Adjust.
10504
10505 2010-01-20  Pedro Alves  <pedro@codesourcery.com>
10506
10507         * regcache.h (struct thread_info): Forward declare.
10508         (struct regcache): New.
10509         (new_register_cache): Adjust prototype.
10510         (get_thread_regcache): Declare.
10511         (free_register_cache): Adjust prototype.
10512         (registers_to_string, registers_from_string): Ditto.
10513         (supply_register, supply_register_by_name, collect_register)
10514         (collect_register_as_string, collect_register_by_name): Ditto.
10515         * regcache.c (struct inferior_regcache_data): Delete.
10516         (get_regcache): Rename to ...
10517         (get_thread_regcache): ... this.  Adjust.  Switch inferior before
10518         fetching registers.
10519         (regcache_invalidate_one): Adjust.
10520         (regcache_invalidate): Fix prototype.
10521         (new_register_cache): Return the new register cache.
10522         (free_register_cache): Change prototype.
10523         (realloc_register_cache): Adjust.
10524         (registers_to_string): Change prototype to take a regcache.  Adjust.
10525         (registers_from_string): Ditto.
10526         (register_data): Ditto.
10527         (supply_register): Ditto.
10528         (supply_register_by_name): Ditto.
10529         (collect_register): Ditto.
10530         (collect_register_as_string): Ditto.
10531         (collect_register_by_name): Ditto.
10532         * server.c (process_serial_event): Adjust.
10533         * linux-low.h (regset_fill_func, regset_store_func): Change
10534         prototype.
10535         (get_pc, set_pc, collect_ptrace_register, supply_ptrace_register):
10536         Change prototype.
10537         * linux-low.c (get_stop_pc): Adjust.
10538         (check_removed_breakpoint): Adjust.
10539         (linux_wait_for_event): Adjust.
10540         (linux_resume_one_lwp): Adjust.
10541         (fetch_register): Add regcache parameter.  Adjust.
10542         (usr_store_inferior_registers): Ditto.
10543         (regsets_fetch_inferior_registers): Ditto.
10544         (regsets_store_inferior_registers): Ditto.
10545         (linux_fetch_registers, linux_store_registers): Ditto.
10546         * i387-fp.c (i387_cache_to_fsave): Change prototype to take a
10547         regcache.  Adjust.
10548         (i387_fsave_to_cache, i387_cache_to_fxsave, i387_fxsave_to_cache):
10549         Ditto.
10550         * i387-fp.h (i387_cache_to_fsave, i387_fsave_to_cache): Change
10551         prototype to take a regcache.
10552         (i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto.
10553         * remote-utils.c (convert_ascii_to_int, outreg)
10554         (prepare_resume_reply): Change prototype to take a regcache.
10555         Adjust.
10556         * target.h (struct target_ops) <fetch_registers, store_registers>:
10557         Change prototype to take a regcache.
10558         (fetch_inferior_registers, store_inferior_registers): Change
10559         prototype to take a regcache.  Adjust.
10560         * proc-service.c (ps_lgetregs): Adjust.
10561         * linux-x86-low.c (x86_fill_gregset, x86_store_gregset)
10562         (x86_fill_fpregset, x86_store_fpregset, x86_fill_fpxregset)
10563         (x86_store_fpxregset, x86_get_pc, x86_set_pc): Change prototype to
10564         take a regcache.  Adjust.
10565         * linux-arm-low.c (arm_fill_gregset, arm_store_gregset)
10566         (arm_fill_wmmxregset, arm_store_wmmxregset, arm_fill_vfpregset)
10567         (arm_store_vfpregset, arm_get_pc, arm_set_pc):
10568         (arm_breakpoint_at): Change prototype to take a regcache.  Adjust.
10569         * linux-cris-low.c (cris_get_pc, cris_set_pc)
10570         (cris_cannot_fetch_register):
10571         (cris_breakpoint_at): Change prototype to take a regcache.
10572         Adjust.
10573         * linux-crisv32-low.c (cris_get_pc, cris_set_pc,
10574         cris_reinsert_addr, cris_write_data_breakpoint): Change prototype
10575         to take a regcache.  Adjust.
10576         (cris_breakpoint_at, cris_insert_point, cris_remove_point):
10577         Adjust.
10578         * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Change prototype to
10579         take a regcache.  Adjust.
10580         * linux-m68k-low.c (m68k_fill_gregset, m68k_store_gregset)
10581         (m68k_fill_fpregset, m68k_store_fpregset, m68k_get_pc,
10582         (m68k_set_pc): Change prototype to take a regcache.  Adjust.
10583         * linux-mips-low.c (mips_get_pc):
10584         (mips_set_pc): Change prototype to take a regcache.  Adjust.
10585         (mips_reinsert_addr): Adjust.
10586         (mips_collect_register): Change prototype to take a regcache.
10587         Adjust.
10588         (mips_supply_register):
10589         (mips_collect_register_32bit, mips_supply_register_32bit)
10590         (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
10591         (mips_store_fpregset): Ditto.
10592         * linux-ppc-low.c (ppc_supply_ptrace_register)
10593         (ppc_supply_ptrace_register): Ditto.
10594         (parse_spufs_run): Adjust.
10595         (ppc_get_pc, ppc_set_pc, ppc_fill_gregset, ppc_fill_vsxregset)
10596         (ppc_store_vsxregset, ppc_fill_vrregset, ppc_store_vrregset)
10597         (ppc_fill_evrregset, ppc_store_evrregset): Change prototype to
10598         take a regcache.  Adjust.
10599         * linux-s390-low.c (s390_collect_ptrace_register)
10600         (s390_supply_ptrace_register, s390_fill_gregset, s390_get_pc)
10601         (s390_set_pc): Change prototype to take a regcache.  Adjust.
10602         (s390_arch_setup): Adjust.
10603         * linux-sh-low.c (sh_get_pc, sh_breakpoint_at)
10604         (sh_fill_gregset): Change prototype to take a regcache.  Adjust.
10605         * linux-sparc-low.c (sparc_fill_gregset_to_stack)
10606         (sparc_fill_gregset, sparc_store_gregset_from_stack)
10607         (sparc_store_gregset, sparc_get_pc): Change prototype to take a
10608         regcache.  Adjust.
10609         (sparc_breakpoint_at): Adjust.
10610         * linux-xtensa-low.c (xtensa_fill_gregset):
10611         (xtensa_store_gregset):
10612         (xtensa_fill_xtregset, xtensa_store_xtregset, xtensa_get_pc)
10613         (xtensa_set_pc): Change prototype to take a regcache.  Adjust.
10614         * nto-low.c (nto_fetch_registers, nto_store_registers): Change
10615         prototype to take a regcache.  Adjust.
10616         * win32-arm-low.c (arm_fetch_inferior_register)
10617         (arm_store_inferior_register): Change prototype to take a
10618         regcache.  Adjust.
10619         * win32-i386-low.c (i386_fetch_inferior_register)
10620         (i386_store_inferior_register): Change prototype to take a
10621         regcache.  Adjust.
10622         * win32-low.c (child_fetch_inferior_registers)
10623         (child_store_inferior_registers): Change prototype to take a
10624         regcache.  Adjust.
10625         (win32_wait): Adjust.
10626         (win32_fetch_inferior_registers): Change prototype to take a
10627         regcache.  Adjust.
10628         (win32_store_inferior_registers): Adjust.
10629         * win32-low.h (struct win32_target_ops) <fetch_inferior_register,
10630         store_inferior_register>: Change prototype to take a regcache.
10631
10632 2010-01-20  Doug Evans  <dje@google.com>
10633
10634         * linux-low.c (linux_create_inferior): Wrap use of __SIGRTMIN in
10635         #ifdef.
10636         (linux_wait_for_event1, linux_init_signals): Ditto.
10637         (W_STOPCODE): Provide definition if missing.
10638
10639 2010-01-13  Vladimir Prus  <vladimir@codesourcery.com>
10640
10641         * linux-low.c (linux_core_of_thread): New.
10642         (compare_ints, show_process, list_threads): New.
10643         (linux_qxfer_osdata): Report threads and cores.
10644         (linux_target_op): Register linux_core_of_thread.
10645         * remote-utils.c (prepare_resume_reply): Report the core.
10646         (buffer_xml_printf): Support %d specifier.
10647         * server.c (handle_threads_qxfer_proper, handle_threads_qxfer):
10648         New.
10649         (handle_query): Handle qXfer:threads.  Announce availability
10650         thereof.
10651         * target.h (struct target_ops): New field core_of_thread.
10652
10653 2010-01-04  Ulrich Weigand  <uweigand@de.ibm.com>
10654
10655         * Makefile.in (clean): Remove new generated files.
10656         (reg-s390.o, reg-s390.c): Remove rules.
10657         (reg-s390x.o, reg-s390x.c): Likewise.
10658         (s390-linux32.o, s390-linux32.c): Add rules.
10659         (s390-linux64.o, s390-linux64.c): Likewise.
10660         (s390x-linux64.o, s390x-linux64.c): Likewise.
10661         * configure.srv (s390*-*-linux*): Update srv_regobj and srv_xmlfiles.
10662         * linux-s390-low.c: Include <elf.h>.
10663         (HWCAP_S390_HIGH_GPRS): Define if undefined.
10664         (init_registers_s390): Remove prototype.
10665         (init_registers_s390x): Likewise.
10666         (init_registers_s390_linux32): Add prototype.
10667         (init_registers_s390_linux64): Likewise.
10668         (init_registers_s390x_linux64): Likewise.
10669         (s390_num_regs_3264): New define.
10670         (s390_regmap_3264): New global variable.
10671         (s390_cannot_fetch_register): Remove obsolete check.
10672         (s390_cannot_store_register): Likewise.
10673         (s390_collect_ptrace_register): Handle upper/lower register halves.
10674         (s390_supply_ptrace_register): Likewise.
10675         (s390_fill_gregset): Update to register number changes.
10676         (s390_get_hwcap): New routine.
10677         (s390_arch_setup): Detect 32-bit process running on 64-bit system.
10678         Install appropriate regmap and register set.
10679
10680 2010-01-01  Joel Brobecker  <brobecker@adacore.com>
10681
10682         * server.c (gdbserver_version): Update copyright year to 2010.
10683         * gdbreplay.c (gdbreplay_version): Likewise.
10684
10685 2009-12-28  Doug Evans  <dje@google.com>
10686
10687         * linux-low.c: Delete inclusion of ansidecl.h, elf/common.h,
10688         elf/external.h.  Include <elf.h> instead but only if necessary.
10689
10690 2009-12-28  Pedro Alves  <pedro@codesourcery.com>
10691
10692         * linux-low.c (linux_remove_process): Remove `detaching'
10693         parameter.  Don't release/detach from thread_db here.
10694         (linux_kill): Release/detach from thread_db here, ...
10695         (linux_detach): ... and here, before actually detaching.
10696         (linux_wait_1): ... and here, when a process exits.
10697         * thread-db.c (any_thread_of): New.
10698         (thread_db_free): Switch the current inferior to a thread of the
10699         passed in process.
10700
10701 2009-12-21  Doug Evans  <dje@google.com>
10702
10703         * linux-x86-low.c: Delete outdated comment about Elf32_Phdr.
10704
10705         * linux-low.c (kill_lwp): Use __NR_tkill instead of SYS_tkill.
10706         Move definition of tkill_failed to ifdef __NR_tkill to avoid gcc
10707         warning ifndef __NR_tkill.  Move setting of errno there too.
10708         Delete unnecessary resetting of errno after syscall.
10709         Minor comment changes to match gdb/linux-nat.c:kill_lwp.
10710
10711         * configure.ac: Check for dladdr.
10712         * config.in: Regenerate.
10713         * configure: Regenerate.
10714         * thread-db.c (dladdr_to_soname): Only define ifdef HAVE_DLADDR.
10715         (try_thread_db_load): Update.
10716
10717         * linux-low.c (my_waitpid): Delete unnecessary prototype.
10718
10719 2009-12-18  Doug Evans  <dje@google.com>
10720
10721         * event-loop.c: Include unistd.h if it exists.
10722
10723         * linux-low.c (my_waitpid): Move definition away from being in
10724         between linux_tracefork_child/linux_test_for_tracefork.
10725
10726         * gdb_proc_service.h (psaddr_t): Fix type.
10727         * thread-db.c (thread_db_info.td_thr_tls_get_addr_p): Fix
10728         signature to match glibc.
10729
10730 2009-12-16  Doug Evans  <dje@google.com>
10731
10732         * linux-low.c (linux_read_memory): Fix argument to read.
10733
10734 2009-11-26  Pedro Alves  <pedro@codesourcery.com>
10735
10736         * win32-low.c (get_child_debug_event): On EXIT_THREAD_DEBUG_EVENT
10737         events, don't leave current_inferior pointing at null.
10738
10739 2009-11-26  Pedro Alves  <pedro@codesourcery.com>
10740
10741         * win32-low.c (LOG): Delete.
10742         (OUTMSG): Output to stderr.
10743         (OUTMSG2): Conditionalize on `debug_threads' variable, instead of
10744         on compile time LOG macro.
10745         (win32_wait): Fix debug output.
10746
10747 2009-11-26  Pedro Alves  <pedro@codesourcery.com>
10748
10749         * win32-low.c (win32_add_one_solib): If the dll name is
10750         "ntdll.dll", prepend the system directory to the dll path.
10751
10752 2009-11-17  Daniel Jacobowitz  <dan@codesourcery.com>
10753
10754         * m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization.
10755
10756 2009-11-17  Nathan Sidwell  <nathan@codesourcery.com>
10757             Vladimir Prus  <vladimir@codesourcery.com>
10758
10759         * Makefile.in (reg-cf.o, reg-cf.c): New targets.
10760         * configure.ac: Check for __mcoldfire__ and set
10761         gdb_cv_m68k_is_coldfire.
10762         * configure.srv: Use gdb_cv_m68k_is_coldfire to select between
10763         reg-cf.o and reg-m68k.o.
10764         * configure: Regenerated.
10765
10766 2009-11-16  Pedro Alves  <pedro@codesourcery.com>
10767
10768         * linux-low.c (linux_remove_process): Add `detaching' parameter.
10769         Pass it to thread_db_free.
10770         (linux_kill, linux_detach, linux_wait_1): Adjust to pass the
10771         proper `detaching' argument to linux_remove_process.
10772         * linux-low.h (thread_db_free): Add `detaching' parameter.
10773         * thread-db.c (thread_db_init): Pass false as `detaching' argument
10774         to thread_db_free.
10775         (thread_db_free): Add `detaching' parameter.  Only
10776         call td_ta_clear_event if detaching from process.
10777
10778 2009-11-12  Maxim Kuvyrkov  <maxim@codesourcery.com>
10779
10780         * thread-db.c (thread_db_free): Fix typo.
10781
10782 2009-11-11  Paul Pluzhnikov  <ppluzhnikov@google.com>
10783
10784         PR gdb/10838
10785         * thread-db.c (thread_db_free): Call td_ta_clear_event.
10786
10787 2009-11-03  Nathan Sidwell  <nathan@codesourcery.com>
10788
10789         * configure.ac (i[34567]86-*): Check if we're targetting x86-64
10790         with an i686 compiler.
10791         * configure.srv (i[34567]86-*-linux*): Pull in x86-64 handling if
10792         needed.
10793         * configure: Rebuilt.
10794
10795 2009-10-29  Sandra Loosemore  <sandra@codesourcery.com>
10796
10797         PR gdb/10783
10798
10799         * server.c (handle_search_memory_1): Correct read_addr initialization
10800         in loop for searching subsequent chunks.
10801
10802 2009-10-29  Paul Pluzhnikov  <ppluzhnikov@google.com>
10803
10804         * configure.ac: New --with-libthread-db option.
10805         * thread-db.c: Allow direct dependence on libthread_db.
10806         (thread_db_free): Adjust.
10807         * config.in: Regenerate.
10808         * configure: Likewise.
10809
10810 2009-10-28  Paul Pluzhnikov  <ppluzhnikov@google.com>
10811
10812         PR gdb/10757
10813         * thread-db.c (attach_thread): New function.
10814         (maybe_attach_thread): Return success/failure.
10815         (find_new_threads_callback): Adjust.
10816         (thread_db_find_new_threads): Loop until no new threads.
10817
10818 2009-10-13  Pedro Alves  <pedro@codesourcery.com>
10819
10820         * proc-service.c (ps_lgetregs): Formatting.
10821
10822 2009-10-08  Paul Pluzhnikov  <ppluzhnikov@google.com>
10823
10824         * acinclude.m4: (SRV_CHECK_THREAD_DB, SRV_CHECK_TLS_GET_ADDR): Remove.
10825         * configure.ac: Adjust.
10826         * linux-low.h (struct process_info_private): Move members to struct
10827         thread_db.
10828         (thread_db_free, thread_db_handle_monitor_command): New prototype.
10829         * linux-low.c (linux_remove_process): Adjust.
10830         (linux_wait_for_event_1, linux_look_up_symbols): Likewise.
10831         * server.c (handle_query): Move code ...
10832         (handle_monitor_command): ... here. New function.
10833         * target.h (struct target_ops): New member.
10834         * thread-db.c (struct thread_db): New.
10835         (libthread_db_search_path): New variable.
10836         (thread_db_create_event, thread_db_enable_reporting)
10837         (find_one_thread, maybe_attach_thread, find_new_threads_callback)
10838         (thread_db_find_new_threads, (thread_db_get_tls_address): Adjust.
10839         (try_thread_db_load_1, dladdr_to_soname): New functions.
10840         (try_thread_db_load, thread_db_load_search): New functions.
10841         (thread_db_init): Search for libthread_db.
10842         (thread_db_free): New function.
10843         (thread_db_handle_monitor_command): Likewise.
10844         * config.in: Regenerate.
10845         * configure: Regenerate.
10846
10847 2009-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
10848
10849         * spu-low.c (spu_kill): Wait for inferior to terminate.
10850         Call clear_inferiors.
10851         (spu_detach): Call clear_inferiors.
10852
10853 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10854
10855         * aclocal.m4: Regenerate.
10856         * config.in: Likewise.
10857         * configure: Likewise.
10858
10859 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
10860
10861         * linux-ppc-low.c (INSTR_SC, NR_spu_run): Define.
10862         (parse_spufs_run): New function.
10863         (ppc_get_pc, ppc_set_pc): Detect and handle SPU PC.
10864         (ppc_breakpoint_at): Handle SPU breakpoints.
10865
10866 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
10867
10868         * linux-low.c: Include <sys/stat.h> and <sys/vfs.h>.
10869         (SPUFS_MAGIC): Define.
10870         (spu_enumerate_spu_ids): New function.
10871         (linux_qxfer_spu): New function.
10872         (linux_target_ops): Install linux_qxfer_spu.
10873
10874 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
10875
10876         * configure.srv (powerpc*-*-linux*): Add powerpc-cell32l.o
10877         and powerpc-cell64l.o to srv_regobj.  Add rs6000/powerpc-cell32l.xml
10878         and rs6000/powerpc-cell64l.xml to srv_xmlfiles.
10879         * Makefile.in (powerpc-cell32l.o, powerpc-cell32l.c): New rules.
10880         (powerpc-cell64l.o, powerpc-cell64l.c): Likewise.
10881         (clean): Handle powerpc-cell32l.c and powerpc-cell64l.c.
10882         * linux-ppc-low.c (PPC_FEATURE_CELL): Define.
10883         (init_registers_powerpc_cell32l): Add prototype.
10884         (init_registers_powerpc_cell64l): Likewise.
10885         (ppc_arch_setup): Detect Cell/B.E. architecture.
10886
10887 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10888
10889         * Makefile.in (datarootdir): New variable.
10890
10891 2009-07-28  Daniel Jacobowitz  <dan@codesourcery.com>
10892
10893         * linux-low.c (linux_write_memory): Update debugging output.
10894         * Makefile.in (clean): Add new descriptions.
10895         (arm-with-vfpv2.o, arm-with-vfpv2.c, arm-with-vfpv3.o)
10896         (arm-with-vfpv3.c, arm-with-neon.o, arm-with-neon.c): New rules.
10897         * configure.srv: Add new files for arm*-*-linux*.
10898         * linux-arm-low.c: Add new declarations.
10899         (PTRACE_GETVFPREGS, PTRACE_SETVFPREGS): Define if undefined.
10900         (arm_hwcap, HWCAP_VFP, HWCAP_IWMMXT, HWCAP_NEON, HWCAP_VFPv3)
10901         (HWCAP_VFPv3D16): New.
10902         (arm_fill_wmmxregset, arm_store_wmmxregset): Check HWCAP_IWMMXT
10903         instead of __IWMMXT__.
10904         (arm_fill_vfpregset, arm_store_vfpregset, arm_get_hwcap)
10905         (arm_arch_setup): New.
10906         (target_regsets): Remove #ifdef.  Add VFP regset.
10907         (the_low_target): Use arm_arch_setup.
10908
10909 2009-07-28  Daniel Jacobowitz  <dan@codesourcery.com>
10910
10911         * linux-low.c (linux_kill_one_lwp): Adjust kernel workaround to skip
10912         the main thread again.
10913
10914 2009-07-06  Aleksandar Ristovski  <aristovski@qnx.com>
10915
10916         Adding Neutrino gdbserver.
10917         * configure: Regenerated.
10918         * configure.ac: Add case for srv_qnx and set LIBS accordingly.
10919         * configure.srv (i[34567]86-*-nto*): New target.
10920         * nto-low.c, nto-low.h, nto-x86-low.c: New files.
10921         * remote-utils.c [__QNX__]: Include sys/iomgr.h
10922         (nto_comctrl) [__QNX__]: New function.
10923         (enable_async_io, disable_async_io) [__QNX__]: Call nto_comctrl.
10924
10925 2009-07-05  Danny Backx  <dannybackx@users.sourceforge.net>
10926
10927         * configure.srv (i[34567]86-*-mingw32ce*): Add i386-low.o to
10928         srv_tgtobj.
10929
10930 2009-07-04  Danny Backx  <dannybackx@users.sourceforge.net>
10931             Pedro Alves  <pedro@codesourcery.com>
10932
10933         * win32-i386-low.c (i386_get_thread_context): Handle systems that
10934         don't support CONTEXT_EXTENDED_REGISTERS.
10935         (i386_win32_breakpoint, i386_win32_breakpoint_len): New.
10936         (the_low_target): Install them.
10937         * win32-low.c (get_child_debug_event): Handle WaitForDebugEvent
10938         failing with ERROR_PIPE_NOT_CONNECTED.
10939
10940 2009-06-30  Doug Evans  <dje@google.com>
10941             Pierre Muller  <muller@ics.u-strasbg.fr>
10942
10943         Add h/w watchpoint support to x86-linux, win32-i386.
10944         * Makefile.in (SFILES): Add i386-low.c
10945         (i386_low_h): Define.
10946         (i386-low.o): Add dependencies.
10947         (linux-x86-low.o): Add i386-low.h dependency.
10948         (win32-i386-low.o): Ditto.
10949         * i386-low.c: New file.
10950         * i386-low.h: New file.
10951         * configure.srv (i[34567]86-*-cygwin*): Add i386-low.o to srv_tgtobj.
10952         (i[34567]86-*-linux*, i[34567]86-*-mingw*, x86_64-*-linux*): Ditto.
10953         * linux-low.c (linux_add_process): Initialize arch_private.
10954         (linux_remove_process): Free arch_private.
10955         (add_lwp): Initialize arch_private.
10956         (delete_lwp): Free arch_private.
10957         (linux_resume_one_lwp): Call the_low_target.prepare_to_resume if
10958         provided.
10959         * linux-low.h (process_info_private): New member arch_private.
10960         (lwp_info): New member arch_private.
10961         (linux_target_ops): New members new_process, new_thread,
10962         prepare_to_resume.
10963         (ptid_of): New macro.
10964         * linux-x86-low.c: Include stddef.h, i386-low.h.
10965         (arch_process_info): New struct.
10966         (arch_lwp_info): New struct.
10967         (x86_linux_dr_get, x86_linux_dr_set): New functions.
10968         (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
10969         (i386_dr_low_get_status): New function.
10970         (x86_insert_point, x86_remove_point): New functions.
10971         (x86_stopped_by_watchpoint): New function.
10972         (x86_stopped_data_address): New function.
10973         (x86_linux_new_process, x86_linux_new_thread): New functions.
10974         (x86_linux_prepare_to_resume): New function.
10975         (the_low_target): Add entries for insert_point, remove_point,
10976         stopped_by_watchpoint, stopped_data_address, new_process, new_thread,
10977         prepare_to_resume.
10978         * server.c (debug_hw_points): New global.
10979         (monitor_show_help): Document set debug-hw-points.
10980         (handle_query): Process "set debug-hw-points".
10981         * server.h (debug_hw_points): Declare.
10982         (paddress): Declare.
10983         * utils.c (NUMCELLS, CELLSIZE): New macros.
10984         (get_sell, xsnprintf, paddress): New functions.
10985         * win32-arm-low.c (the_low_target): Add entries for insert_point,
10986         remove_point, stopped_by_watchpoint, stopped_data_address.
10987         * win32-i386-low.c: Include i386-low.h.
10988         (debug_reg_state): Replaces dr.
10989         (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
10990         (i386_dr_low_get_status): New function.
10991         (i386_insert_point, i386_remove_point): New functions.
10992         (i386_stopped_by_watchpoint): New function.
10993         (i386_stopped_data_address): New function.
10994         (i386_initial_stuff): Update.
10995         (get_thread_context,set_thread_context,i386_thread_added): Update.
10996         (the_low_target): Add entries for insert_point,
10997         remove_point, stopped_by_watchpoint, stopped_data_address.
10998         * win32-low.c (win32_insert_watchpoint): New function.
10999         (win32_remove_watchpoint): New function.
11000         (win32_stopped_by_watchpoint): New function.
11001         (win32_stopped_data_address): New function.
11002         (win32_target_ops): Add entries for insert_watchpoint,
11003         remove_watchpoint, stopped_by_watchpoint, stopped_data_address.
11004         * win32-low.h (win32_target_ops): New members insert_point,
11005         remove_point, stopped_by_watchpoint, stopped_data_address.
11006
11007 2009-06-25  Pedro Alves  <pedro@codesourcery.com>
11008
11009         * server.c (process_serial_event): Re-return unsupported, not
11010         error, if the type isn't recognized.  Re-allow supporting only
11011         insert or remove packets.  Also call require_running for
11012         breakpoints.  Add missing break statement to default case.  Tidy.
11013         * target.h (struct target_ops): Rename insert_watchpoint to
11014         insert_point, and remove_watchpoint to remove_point.
11015
11016         * linux-low.h (struct linux_target_ops): Likewise.
11017         * linux-low.c (linux_insert_watchpoint): Rename to ...
11018         (linux_insert_point): ... this.  Adjust.
11019         (linux_remove_watchpoint): Rename to ...
11020         (linux_remove_point): ... this.  Adjust.
11021         (linux_target_ops): Adjust.
11022         * linux-crisv32-low.c (cris_insert_watchpoint): Rename to ...
11023         (cris_insert_point): ... this.
11024         (cris_remove_watchpoint): Rename to ...
11025         (cris_remove_point): ... this.
11026         (the_low_target): Adjust.
11027
11028 2009-06-24  Pierre Muller  <muller@ics.u-strasbg.fr>
11029
11030         * server.c (handle_v_kill): Pass signal_pid to
11031         kill_inferior if multi_process is zero.
11032
11033 2009-06-23  Aleksandar Ristovski  <aristovski@qnx.com>
11034
11035         * server.c (process_serial_event): Add support for Z0 and Z1 packet.
11036         * target.h (target_ops): Comment for *_watchpoint to make it clear
11037         the functions can get types '0' and '1'.
11038
11039 2009-06-22  Aleksandar Ristovski  <aristovski@qnx.com>
11040
11041         * linux-low.c (usr_fetch_inferior_registers): Remove check for regno 0.
11042         * proc-service.c (ps_lgetregs): Pass -1 to fetch all registers.
11043         * regcache.c (get_regcache): Likewise.
11044         * spu-low.c (spu_fetch_registers): Remove 0 to -1 conversion.
11045         * win32-low.c (child_fetch_inferior_registers): Remove check for
11046         regno 0.
11047
11048 2009-06-19  Aleksandar Ristovski  <aristovski@qnx.com>
11049             Pedro Alves <pedro@codesourcery.com>
11050
11051         * target.h (struct target_ops) <supports_multi_process>: New
11052         callback.
11053         (target_supports_multi_process): New.
11054         * server.c (handle_query): Even if GDB reports support, only
11055         enable multi-process if the target also supports it.  Report
11056         multi-process support only if the target backend supports it.
11057         * linux-low.c (linux_supports_multi_process): New function.
11058         (linux_target_ops): Install it as target_supports_multi_process
11059         callback.
11060
11061 2009-05-24  Doug Evans  <dje@google.com>
11062
11063         Global renaming of find_thread_pid to find_thread_ptid.
11064         * server.h (find_thread_ptid): Renamed from find_thread_pid.
11065         * inferiors.c (find_thread_ptid): Renamed from find_thread_pid.
11066         All callers updated.
11067
11068         * linux-low.c (handle_extended_wait): Use linux_resume_one_lwp
11069         to resume the newly created thread, don't call ptrace (PTRACE_CONT)
11070         directly.
11071
11072         * linux-low.c (get_stop_pc): Print pc if debug_threads.
11073         (check_removed_breakpoint, linux_wait_for_lwp): Ditto.
11074         (linux_resume_one_lwp): Ditto.
11075
11076 2009-05-23  Doug Evans  <dje@google.com>
11077
11078         * linux-low.c (linux_resume_one_lwp): Change type of first arg
11079         from struct inferior_list_entry * to struct lwp_info *.
11080         All callers updated.
11081
11082 2009-05-13  Doug Evans  <dje@google.com>
11083
11084         * linux-x86-low.c: Don't include assert.h.
11085         (x86_siginfo_fixup): Use fatal, not assert.
11086         (x86_arch_setup): Fix comment.
11087
11088 2009-05-12  Doug Evans  <dje@google.com>
11089
11090         Biarch support for i386/amd64 gdbserver.
11091         * Makefile.in (SFILES): Remove linux-i386-low.c, linux-x86-64-low.c.
11092         Add linux-x86-low.c.
11093         (linux-i386-low.o, linux-x86-64-low.o): Delete.
11094         (linux-x86-low.o): Add.
11095         * linux-x86-64-low.c: Delete.
11096         * linux-i386-low.c: Delete.
11097         * linux-x86-low.c: New file.
11098         * configure.srv (i?86-linux srv_tgtobj): Replace linux-i386-low.o with
11099         linux-x86-low.o.
11100         (x86_64-linux srv_tgtobj): Replace linux-x86-64-low.o with
11101         linux-x86-low.o.
11102         (x86_64-linux srv_regobj): Add reg-i386-linux.o.
11103         * linux-low.c: Include ansidecl.h, elf/common.h, elf/external.h.
11104         (linux_child_pid_to_exec_file): New function.
11105         (elf_64_header_p, elf_64_file_p): New functions.
11106         (siginfo_fixup): New function.
11107         (linux_xfer_siginfo): New local inf_siginfo.  Call siginfo_fixup to
11108         give target a chance to convert layout.
11109         * linux-low.h (linux_target_ops): New member siginfo_fixup.
11110         (linux_child_pid_to_exec_file, elf_64_file_p): Declare.
11111
11112 2009-05-07  Doug Evans  <dje@google.com>
11113
11114         * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak.
11115         (regsets_store_inferior_registers): Ditto.
11116
11117 2009-05-06  Pedro Alves  <pedro@codesourcery.com>
11118
11119         PR server/10048
11120
11121         * linux-low.c (must_set_ptrace_flags): Delete.
11122         (linux_create_inferior): Set `lwp->must_set_ptrace_flags' instead
11123         of the global.
11124         (linux_attach_lwp_1): Don't set PTRACE_SETOPTIONS here.  Set
11125         `lwp->must_set_ptrace_flags' instead.
11126         (linux_wait_for_event_1): Set ptrace options here.
11127         (linux_wait_1): ... not here.
11128
11129 2009-04-30  Doug Evans  <dje@google.com>
11130
11131         * inferiors.c (started_inferior_callback): New function.
11132         (attached_inferior_callback): New function.
11133         (have_started_inferiors_p, have_attached_inferiors_p): New functions.
11134         * server.c (print_started_pid, print_attached_pid): New functions.
11135         (detach_or_kill_for_exit): New function.
11136         (main): Call it instead of for_each_inferior (kill_inferior_callback).
11137         * server.h (have_started_inferiors_p): Declare.
11138         (have_attached_inferiors_p): Declare.
11139
11140         * inferiors.c (remove_process): Fix memory leak, free process.
11141         * linux-low.c (linux_remove_process): New function.
11142         (linux_kill): Call it instead of remove_process.
11143         (linux_detach, linux_wait_1): Ditto.
11144
11145 2009-04-19  Danny Backx  <dannybackx@users.sourceforge.net>
11146
11147         * configure.srv: Add x86 Windows CE target.
11148
11149 2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
11150
11151         * inferiors.c (get_thread_process): Make global.
11152         * server.h (get_thread_process): Add prototype.
11153         * thread-db.c (find_one_thread): Use get_thread_process
11154         instead of current_process.
11155         (thread_db_get_tls_address): Do not crash if called when
11156         thread layer is not yet initialized.
11157
11158 2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
11159
11160         * remote-utils.c (prepare_resume_reply): Null-terminate packet.
11161         * spu-low.c (current_tid): Rename to ...
11162         (current_ptid): ... this.
11163         (fetch_ppc_register, fetch_ppc_memory, store_ppc_memory,
11164         spu_proc_xfer_spu, spu_resume, spu_request_interrupt): Use
11165         ptid_get_lwp (current_ptid) instead of current_tid.
11166         (spu_kill, spu_detach, spu_join, spu_wait): Use pid argument
11167         instead of current_tid.  Use find_process_pid to verify pid
11168         argument is valid.  Pass proper argument to remove_process.
11169         (spu_thread_alive): Compare current_ptid instead of current_tid.
11170         (spu_resume): Likewise.
11171
11172 2009-04-02  Pedro Alves  <pedro@codesourcery.com>
11173
11174         * linux-low.c (usr_store_inferior_registers): Declare local `pid'
11175         variable.
11176
11177 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
11178
11179         Implement the multiprocess extensions, and add linux multiprocess
11180         support.
11181
11182         * server.h (ULONGEST): Declare.
11183         (struct ptid, ptid_t): New.
11184         (minus_one_ptid, null_ptid): Declare.
11185         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
11186         (ptid_get_tid, ptid_equal, ptid_is_pid): Declare.
11187         (struct inferior_list_entry): Change `id' type from unsigned from
11188         to ptid_t.
11189         (struct sym_cache, struct breakpoint, struct
11190         process_info_private): Forward declare.
11191         (struct process_info): Declare.
11192         (current_process): Declare.
11193         (all_processes): Declare.
11194         (initialize_inferiors): Declare.
11195         (add_thread): Adjust to use ptid_t.
11196         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): Ditto.
11197         (add_process, remove_process, find_thread_pid): Declare.
11198         (find_inferior_id): Adjust to use ptid_t.
11199         (cont_thread, general_thread, step_thread): Change type to ptid_t.
11200         (multi_process): Declare.
11201         (push_event): Adjust to use ptid_t.
11202         (read_ptid, write_ptid): Declare.
11203         (prepare_resume_reply): Adjust to use ptid_t.
11204         (clear_symbol_cache): Declare.
11205         * inferiors.c (all_processes): New.
11206         (null_ptid, minus_one_ptid): New.
11207         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
11208         (ptid_get_tid, ptid_equal, ptid_is_pid): New.
11209         (add_thread): Change unsigned long to ptid.  Remove gdb_id
11210         parameter.  Adjust.
11211         (thread_id_to_gdb_id, thread_to_gdb_id): Change unsigned long to ptid.
11212         (gdb_id_to_thread): Rename to ...
11213         (find_thread_pid): ... this.  Change unsigned long to ptid.
11214         (gdb_id_to_thread_id, find_inferior_id): Change unsigned long to ptid.
11215         (loaded_dll, pull_pid_from_list): Adjust.
11216         (add_process, remove_process, find_process_pid)
11217         (get_thread_process, current_process, initialize_inferiors): New.
11218         * target.h (struct thread_resume) <thread>: Change type to ptid_t.
11219         (struct target_waitstatus) <related_pid>: Ditto.
11220         (struct target_ops) <kill, detach>: Add `pid' argument.  Change
11221         return type to int.
11222         (struct target_ops) <join>: Add `pid' argument.
11223         (struct target_ops) <thread_alive>: Change pid's type to ptid_t.
11224         (struct target_ops) <wait>: Add `ptid' field.  Change return type
11225         to ptid.
11226         (kill_inferior, detach_inferior, join_inferior): Add `pid' argument.
11227         (mywait): Add `ptid' argument.  Change return type to ptid_t.
11228         (target_pid_to_str): Declare.
11229         * target.c (set_desired_inferior): Adjust to use ptids.
11230         (mywait): Add new `ptid' argument.  Adjust.
11231         (target_pid_to_str): New.
11232         * mem-break.h (free_all_breakpoints): Declare.
11233         * mem-break.c (breakpoints): Delelete.
11234         (set_breakpoint_at, delete_breakpoint, find_breakpoint_at)
11235         (check_mem_read, check_mem_write, delete_all_breakpoints): Adjust
11236         to use per-process breakpoint list.
11237         (free_all_breakpoints): New.
11238         * remote-utils.c (struct sym_cache) <name>: Drop `const'.
11239         (symbol_cache, all_symbols_looked_up): Delete.
11240         (hexchars): New.
11241         (ishex, unpack_varlen_hex, write_ptid, hex_or_minus_one,
11242         read_ptid): New.
11243         (prepare_resume_reply): Change ptid argument's type from unsigned
11244         long to ptid_t.  Adjust.  Implement W;process and X;process.
11245         (free_sym_cache, clear_symbol_cache): New.
11246         (look_up_one_symbol): Adjust to per-process symbol cache.  *
11247         * server.c (cont_thread, general_thread, step_thread): Change type
11248         to ptid_t.
11249         (attached): Delete.
11250         (multi_process): New.
11251         (last_ptid): Change type to ptid_t.
11252         (struct vstop_notif) <ptid>: Change type to ptid_t.
11253         (queue_stop_reply, push_event): Change `ptid' argument's type to
11254         ptid_t.
11255         (discard_queued_stop_replies): Add `pid' argument.
11256         (start_inferior): Adjust to use ptids.  Adjust to mywait interface
11257         changes.  Don't reference the `attached' global.
11258         (attach_inferior): Adjust to mywait interface changes.
11259         (handle_query): Adjust to use ptids.  Parse GDB's qSupported
11260         features.  Handle and report "multiprocess+".  Handle
11261         "qAttached:PID".
11262         (handle_v_cont): Adjust to use ptids.  Adjust to mywait interface
11263         changes.
11264         (handle_v_kill): New.
11265         (handle_v_stopped): Adjust to use target_pid_to_str.
11266         (handle_v_requests): Allow multiple attaches and runs when
11267         multiprocess extensions are in effect.  Handle "vKill".
11268         (myresume): Adjust to use ptids.
11269         (queue_stop_reply_callback): Add `arg' parameter.  Handle it.
11270         (handle_status): Adjust to discard_queued_stop_replies interface
11271         change.
11272         (first_thread_of, kill_inferior_callback)
11273         (detach_or_kill_inferior_callback, join_inferiors_callback): New.
11274         (main): Call initialize_inferiors.  Adjust to use ptids, killing
11275         and detaching from all inferiors.  Handle multiprocess packet
11276         variants.
11277         * linux-low.h: Include gdb_proc_service.h.
11278         (struct process_info_private): New.
11279         (struct linux_target_ops) <pid_of>: Use ptid_get_pid.
11280         <lwpid_of>: Use ptid_get_lwp.
11281         (get_lwp_thread): Adjust.
11282         (struct lwp_info): Add `dead' member.
11283         (find_lwp_pid): Declare.
11284         * linux-low.c (thread_db_active): Delete.
11285         (new_inferior): Adjust comment.
11286         (inferior_pid): Delete.
11287         (linux_add_process): New.
11288         (handle_extended_wait): Adjust.
11289         (add_lwp): Change unsigned long to ptid.
11290         (linux_create_inferior): Add process to processes table.  Adjust
11291         to use ptids.  Don't set new_inferior here.
11292         (linux_attach_lwp): Rename to ...
11293         (linux_attach_lwp_1): ... this.  Add `initial' argument.  Handle
11294         it.  Adjust to use ptids.
11295         (linux_attach_lwp): New.
11296         (linux_attach): Add process to processes table.  Don't set
11297         new_inferior here.
11298         (struct counter): New.
11299         (second_thread_of_pid_p, last_thread_of_process_p): New.
11300         (linux_kill_one_lwp): Add `args' parameter.  Handle it.  Adjust to
11301         multiple processes.
11302         (linux_kill): Add `pid' argument.  Handle it.  Adjust to multiple
11303         processes.  Remove process from process table.
11304         (linux_detach_one_lwp): Add `args' parameter.  Handle it.  Adjust
11305         to multiple processes.
11306         (any_thread_of): New.
11307         (linux_detach): Add `pid' argument, and handle it.  Remove process
11308         from processes table.
11309         (linux_join): Add `pid' argument.  Handle it.
11310         (linux_thread_alive): Change unsighed long argument to ptid_t.
11311         Consider dead lwps as not being alive.
11312         (status_pending_p): Rename `dummy' argument to `arg'.  Filter out
11313         threads we're not interested in.
11314         (same_lwp, find_lwp_pid): New.
11315         (linux_wait_for_lwp): Change `pid' argument's type from int to
11316         ptid_t.  Adjust.
11317         (linux_wait_for_event): Rename to ...
11318         (linux_wait_for_event_1): ... this.  Change `pid' argument's type
11319         from int to ptid_t.  Adjust.
11320         (linux_wait_for_event): New.
11321         (linux_wait_1): Add `ptid' argument.  Change return type to
11322         ptid_t.  Adjust.  Use last_thread_of_process_p.  Remove processes
11323         that exit from the process table.
11324         (linux_wait): Add `ptid' argument.  Change return type to ptid_t.
11325         Adjust.
11326         (mark_lwp_dead): New.
11327         (wait_for_sigstop): Adjust to use ptids.  If a process exits while
11328         stopping all threads, mark its main lwp as dead.
11329         (linux_set_resume_request, linux_resume_one_thread): Adjust to use
11330         ptids.
11331         (fetch_register, usr_store_inferior_registers)
11332         (regsets_fetch_inferior_registers)
11333         (regsets_store_inferior_registers, linux_read_memory)
11334         (linux_write_memory): Inline `inferior_pid'.
11335         (linux_look_up_symbols): Adjust to use per-process
11336         `thread_db_active'.
11337         (linux_request_interrupt): Adjust to use ptids.
11338         (linux_read_auxv): Inline `inferior_pid'.
11339         (initialize_low): Don't reference thread_db_active.
11340         * gdb_proc_service.h (struct ps_prochandle) <pid>: Remove.
11341         * proc-service.c (ps_lgetregs): Use find_lwp_pid.
11342         (ps_getpid): Return the pid of the current inferior.
11343         * thread-db.c (proc_handle, thread_agent): Delete.
11344         (thread_db_create_event, thread_db_enable_reporting): Adjust to
11345         per-process data.
11346         (find_one_thread): Change argument type to ptid_t.  Adjust to
11347         per-process data.
11348         (maybe_attach_thread): Adjust to per-process data and ptids.
11349         (thread_db_find_new_threads): Ditto.
11350         (thread_db_init): Ditto.
11351         * spu-low.c (spu_create_inferior, spu_attach): Add process to
11352         processes table.  Adjust to use ptids.
11353         (spu_kill, spu_detach): Adjust interface.  Remove process from
11354         processes table.
11355         (spu_join, spu_thread_alive): Adjust interface.
11356         (spu_wait): Adjust interface.  Remove process from processes
11357         table.  Adjust to use ptids.
11358         * win32-low.c (current_inferior_tid): Delete.
11359         (current_inferior_ptid): New.
11360         (debug_event_ptid): New.
11361         (thread_rec): Take a ptid.  Adjust.
11362         (child_add_thread): Add `pid' argument.  Adjust to use ptids.
11363         (child_delete_thread): Ditto.
11364         (do_initial_child_stuff): Add `attached' argument.  Add process to
11365         processes table.
11366         (child_fetch_inferior_registers, child_store_inferior_registers):
11367         Adjust.
11368         (win32_create_inferior): Pass 0 to do_initial_child_stuff.
11369         (win32_attach): Pass 1 to do_initial_child_stuff.
11370         (win32_kill): Adjust interface.  Remove process from processes
11371         table.
11372         (win32_detach): Ditto.
11373         (win32_join): Adjust interface.
11374         (win32_thread_alive): Take a ptid.
11375         (win32_resume): Adjust to use ptids.
11376         (get_child_debug_event): Ditto.
11377         (win32_wait): Adjust interface.  Remove exiting process from
11378         processes table.
11379
11380 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
11381
11382         Non-stop mode support.
11383
11384         * server.h (non_stop): Declare.
11385         (gdb_client_data, handler_func): Declare.
11386         (delete_file_handler, add_file_handler, start_event_loop):
11387         Declare.
11388         (handle_serial_event, handle_target_event, push_event)
11389         (putpkt_notif): Declare.
11390         * target.h (enum resume_kind): New.
11391         (struct thread_resume): Replace `step' field by `kind' field.
11392         (TARGET_WNOHANG): Define.
11393         (struct target_ops) <wait>: Add `options' argument.
11394         <supports_non_stop, async, start_non_stop>: New fields.
11395         (target_supports_non_stop, target_async): New.
11396         (start_non_stop): Declare.
11397         (mywait): Add `options' argument.
11398         * target.c (mywait): Add `options' argument.  Print child exit
11399         notifications here.
11400         (start_non_stop): New.
11401         * server.c (non_stop, own_buf, mem_buf): New globals.
11402         (struct vstop_notif): New.
11403         (notif_queue): New global.
11404         (queue_stop_reply, push_event, discard_queued_stop_replies)
11405         (send_next_stop_reply): New.
11406         (start_inferior): Adjust to use resume_kind.  Adjust to mywait
11407         interface changes.
11408         (attach_inferior): In non-stop mode, don't wait for the target
11409         here.
11410         (handle_general_set): Handle QNonStop.
11411         (handle_query): When handling qC, return the current general
11412         thread, instead of the first thread of the list.
11413         (handle_query): If the backend supports non-stop mode, include
11414         QNonStop+ in the qSupported query response.
11415         (handle_v_cont): Adjust to use resume_kind.  Handle resume_stop
11416         and non-stop mode.
11417         (handle_v_attach, handle_v_run): Handle non-stop mode.
11418         (handle_v_stopped): New.
11419         (handle_v_requests): Report support for vCont;t.  Handle vStopped.
11420         (myresume): Adjust to use resume_kind.  Handle non-stop.
11421         (queue_stop_reply_callback): New.
11422         (handle_status): Handle non-stop mode.
11423         (main): Clear non_stop flag on reconnection.  Use the event-loop.
11424         Refactor serial protocol handling from here ...
11425         (process_serial_event): ... to this new function.  When GDB
11426         selects any thread, select one here.  In non-stop mode, wait until
11427         GDB acks all pending events before exiting.
11428         (handle_serial_event, handle_target_event): New.
11429         * remote-utils.c (remote_open): Install remote_desc in the event
11430         loop.
11431         (remote_close): Remove remote_desc from the event loop.
11432         (putpkt_binary): Rename to...
11433         (putpkt_binary_1): ... this.  Add `is_notic' argument.  Handle it.
11434         (putpkt_binary): New as wrapper around putpkt_binary_1.
11435         (putpkt_notif): New.
11436         (prepare_resume_reply): In non-stop mode, don't change the
11437         general_thread.
11438         * event-loop.c: New.
11439         * Makefile.in (OBJ): Add event-loop.o.
11440         (event-loop.o): New rule.
11441
11442         * linux-low.h (pid_of): Moved here.
11443         (lwpid_of): New.
11444         (get_lwp_thread): Use lwpid_of.
11445         (struct lwp_info): Delete `lwpid' field.  Add `suspended' field.
11446         * linux-low.c (pid_of): Delete.
11447         (inferior_pid): Use lwpid_of.
11448         (linux_event_pipe): New.
11449         (target_is_async_p): New.
11450         (delete_lwp): New.
11451         (handle_extended_wait): Use lwpid_of.
11452         (add_lwp): Don't set lwpid field.
11453         (linux_attach_lwp): Adjust debug output.  Use lwpid_of.
11454         (linux_kill_one_lwp): If killing a running lwp, stop it first.
11455         Use lwpid_of.  Adjust to linux_wait_for_event interface changes.
11456         (linux_detach_one_lwp): If detaching from a running lwp, stop it
11457         first.  Adjust to linux_wait_for_event interface changes.  Use
11458         lwpid_of.
11459         (linux_detach): Don't delete the main lwp here.
11460         (linux_join): Use my_waitpid.  Avoid signal_pid.  Use lwpid_of.
11461         (status_pending_p): Don't consider explicitly suspended lwps.
11462         (linux_wait_for_lwp): Take an integer pid instead of a lwp_info
11463         pointer.  Add OPTIONS argument.  Change return type to int.  Use
11464         my_waitpid instead of sleeping.  Handle WNOHANG.  Use lwpid_of.
11465         (linux_wait_for_event): Take an integer pid instead of a lwp_info
11466         pointer.  Add status pointer argument.  Return a pid instead of a
11467         status.  Use lwpid_of.  Adjust to linux_wait_for_lwp interface
11468         changes.  In non-stop mode, don't switch to a random thread.
11469         (linux_wait): Rename to...
11470         (linux_wait_1): ... this.  Add target_options argument, and handle
11471         it.  Adjust to use resume_kind.  Use lwpid_of.  In non-stop mode,
11472         don't handle the continue thread.  Handle TARGET_WNOHANG.  Merge
11473         clean exit and signal exit code.  Don't stop all threads in
11474         non-stop mode.  In all-stop mode, only stop all threads when
11475         reporting a stop to GDB.  Handle explicit thread stop requests.
11476         (async_file_flush, async_file_mark): New.
11477         (linux_wait): New.
11478         (send_sigstop): Use lwpid_of.
11479         (wait_for_sigstop): Use lwpid_of.  Adjust to linux_wait_for_event
11480         interface changes.  In non-stop mode, don't switch to a random
11481         thread.
11482         (linux_resume_one_lwp): Use lwpid_of.
11483         (linux_continue_one_thread, linux_queue_one_thread): Merge into ...
11484         (linux_resume_one_thread): ... this.  Handle resume_stop.  In
11485         non-stop mode, don't look for pending flag in all threads.
11486         (resume_status_pending_p): Don't consider explicitly suspended
11487         threads.
11488         (my_waitpid): Reimplement.  Emulate __WALL.
11489         (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
11490         Use lwpid_of.
11491         (sigchld_handler, linux_supports_non_stop, linux_async)
11492         (linux_start_non_stop): New.
11493         (linux_target_ops): Register linux_supports_non_stop, linux_async
11494         and linux_start_non_stop.
11495         (initialize_low): Install SIGCHLD handler.
11496         * thread-db.c (thread_db_create_event, find_one_thread)
11497         (thread_db_get_tls_address): Use lwpid_of.
11498         * win32-low.c (win32_detach): Adjust to use resume_kind.
11499         (win32_wait): Add `options' argument.
11500         * spu-low.c (spu_resume): Adjust to use resume_kind.
11501         (spu_wait): Add `options' argument.
11502
11503 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
11504
11505         Decouple target code from remote protocol.
11506
11507         * target.h (enum target_waitkind): New.
11508         (struct target_waitstatus): New.
11509         (struct target_ops) <wait>: Return an unsigned long.  Take a
11510         target_waitstatus pointer instead of a char pointer.
11511         (mywait): Likewise.
11512         * target.c (mywait): Change prototype to return an unsigned long.
11513         Take a target_waitstatus pointer instead of a char pointer.  Adjust.
11514         * server.h (thread_from_wait, old_thread_from_wait): Delete
11515         declarations.
11516         (prepare_resume_reply): Change prototype to take a
11517         target_waitstatus.
11518         * server.c (thread_from_wait, old_thread_from_wait): Delete.
11519         (last_status, last_ptid): New.
11520         (start_inferior): Remove "statusptr" argument.  Adjust.  Return a
11521         pid instead of a signal.
11522         (attach_inferior): Remove "status" and "signal" parameters.
11523         Adjust.
11524         (handle_query): For qGetTLSAddr, parse the thread id with strtol,
11525         not as an address.
11526         (handle_v_cont, handle_v_attach, handle_v_run, handle_v_kill)
11527         (handle_v_requests, myresume): Remove "status" and "signal"
11528         parameters.  Adjust.
11529         (handle_status): New.
11530         (main): Delete local `status'.  Adjust.
11531         * remote-utils.c: Include target.h.
11532         (prepare_resume_reply): Change prototype to take a
11533         target_waitstatus.  Adjust.
11534
11535         * linux-low.c (linux_wait): Adjust to new target_ops->wait
11536         interface.
11537         * spu-low.c (spu_wait): Adjust.
11538         * win32-low.c (enum target_waitkind, struct target_waitstatus):
11539         Delete.
11540         (win32_wait): Adjust.
11541
11542 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
11543
11544         * target.h (struct thread_resume): Delete leave_stopped member.
11545         (struct target_ops): Add a `n' argument to the `resume' callback.
11546         * server.c (start_inferior): Adjust.
11547         (handle_v_cont, myresume): Adjust.
11548         * linux-low.c (check_removed_breakpoint): Adjust to resume
11549         interface change, and to removed leave_stopped field.
11550         (resume_ptr): Delete.
11551         (struct thread_resume_array): New.
11552         (linux_set_resume_request): Add new `arg' parameter.  Adjust to
11553         resume interface change.
11554         (linux_continue_one_thread, linux_queue_one_thread)
11555         (resume_status_pending_p): Check if the resume field is NULL
11556         instead of checking the leave_stopped member.
11557         (linux_resume): Adjust to the target resume interface change.
11558         * spu-low.c (spu_resume): Adjust to the target resume interface
11559         change.
11560         * win32-low.c (win32_detach, win32_resume): Ditto.
11561
11562 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
11563
11564         * linux-low.c (linux_wait_for_event): Don't clear the `stepping'
11565         flag.
11566         (wait_for_sigstop): Don't leave a finished single-step SIGTRAP
11567         pending.
11568         (linux_continue_one_thread): Only preserve the stepping flag if
11569         there's a pending breakpoint.
11570
11571 2009-03-31  Pedro Alves  <pedro@codesourcery.com>
11572
11573         * server.c (main): After the inferior having exited, call
11574         remote_close before exiting gdbserver.
11575
11576 2009-03-25  Thiago Jung Bauermann  <bauerman@br.ibm.com>
11577
11578         Fix size of FPSCR in Power 7 processors.
11579         * linux-ppc-low.c (PPC_FEATURE_ARCH_2_05): Remove #define.
11580         (PPC_FEATURE_HAS_DFP): New #define.
11581         (ppc_arch_setup): Check for DFP feature instead of ISA 2.05 to decide on
11582         size of the FPSCR.
11583
11584 2009-03-23  Pedro Alves  <pedro@codesourcery.com>
11585
11586         * server.c (handle_query) Whitespace and formatting.
11587
11588 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
11589
11590         * i387-fp.c, linux-arm-low.c, linux-cris-low.c,
11591         linux-crisv32-low.c, linux-i386-low.c, linux-low.c,
11592         linux-mips-low.c, linux-s390-low.c, linux-sparc-low.c,
11593         linux-x86-64-low.c, linux-xtensa-low.c, proc-service.c,
11594         regcache.c, remote-utils.c, server.c, spu-low.c, target.h,
11595         thread-db.c, win32-low.c, xtensa-xtregs.c, gdbreplay.c,
11596         Makefile.in, configure.ac: Fix whitespace throughout.
11597         * configure: Regenerate.
11598
11599 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
11600
11601         * inferiors.c (find_inferior): Make it safe for the callback
11602         function to delete the currently iterated inferior.
11603
11604 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
11605
11606         * Makefile.in (linuw_low_h): Move higher.
11607         (thread-db.o): Depend on $(linux_low_h).
11608
11609 2009-03-17  Pedro Alves  <pedro@codesourcery.com>
11610
11611         Rename "process" to "lwp" throughout.
11612
11613         * linux-low.c (all_processes): Rename to...
11614         (all_lwps): ... this.
11615         (inferior_pid, handle_extended_wait, get_stop_pc): Adjust.
11616         (add_process): Rename to ...
11617         (add_lwp): ... this.  Adjust.
11618         (linux_create_inferior): Adjust.
11619         (linux_attach_lwp): Adjust.
11620         (linux_attach): Adjust.
11621         (linux_kill_one_process): Rename to ...
11622         (linux_kill_one_lwp): ... this.  Adjust.
11623         (linux_kill): Adjust.
11624         (linux_detach_one_process): Rename to ...
11625         (linux_detach_one_lwp): ... this.  Adjust.
11626         (linux_detach): Adjust.
11627         (check_removed_breakpoint): Adjust.
11628         (status_pending_p): Adjust.
11629         (linux_wait_for_process): Rename to ...
11630         (linux_wait_for_lwp): ... this.  Adjust.
11631         (linux_wait_for_event): Adjust.
11632         (send_sigstop): Adjust.
11633         (wait_for_sigstop): Adjust.
11634         (stop_all_processes): Rename to ...
11635         (stop_all_lwps): ... this.
11636         (linux_resume_one_process): Rename to ...
11637         (linux_resume_one_lwp): ... this.  Adjust.
11638         (linux_set_resume_request, linux_continue_one_thread)
11639         (linux_queue_one_thread, resume_status_pending_p)
11640         (usr_store_inferior_registers, regsets_store_inferior_registers)
11641         (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
11642         Adjust.
11643         * linux-low.h (get_process): Rename to ...
11644         (get_lwp): ... this.  Adjust.
11645         (get_thread_process): Rename to ...
11646         (get_thread_lwp): ... this.  Adjust.
11647         (get_process_thread): Rename to ...
11648         (get_lwp_thread): ... this.  Adjust.
11649         (struct process_info): Rename to ...
11650         (struct lwp_info): ... this.
11651         (all_processes): Rename to ...
11652         (all_lwps): ... this.
11653         * proc-service.c (ps_lgetregs): Adjust.
11654         * thread-db.c (thread_db_create_event, find_one_thread)
11655         (maybe_attach_thread, thread_db_get_tls_address): Adjust.
11656
11657 2009-03-14  Pedro Alves  <pedro@codesourcery.com>
11658
11659         * server.c (handle_query): Handle "qAttached".
11660
11661 2009-03-13  Nathan Sidwell  <nathan@codesourcery.com>
11662
11663         * Makefile.in, hostio-errno.c, errno.c, xtensa-xtregs.c: Change to
11664         GPLv3, update license URL.
11665
11666 2009-03-01  Doug Evans  <dje@google.com>
11667
11668         * Makefile.in (INCLUDE_CFLAGS): Add -I$(srcdir)/../common.
11669         (server_h): Add gdb_signals.h.
11670         (signals.o): Update.
11671         * server.h (target_signal_from_host,target_signal_to_host_p)
11672         (target_signal_to_host,target_signal_to_name): Moved to gdb_signals.h.
11673
11674 2009-02-14  Pierre Muller  <muller@ics.u-strasbg.fr>
11675
11676         * remote-utils.c (getpkt): Also generate remote-debug
11677         information if noack_mode is set.
11678
11679 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
11680
11681         * server.c (handle_query): Report qXfer:siginfo:read and
11682         qXfer:siginfo:write as supported and handle them.
11683         * target.h (struct target_ops) <qxfer_siginfo>: New field.
11684         * linux-low.c (linux_xfer_siginfo): New.
11685         (linux_target_ops): Set it.
11686
11687 2009-01-26  Pedro Alves  <pedro@codesourcery.com>
11688
11689         * server.c (gdbserver_usage): Mention --remote-debug.
11690         (main): Accept '--remote-debug' switch.
11691
11692 2009-01-18  Doug Evans  <dje@google.com>
11693
11694         * regcache.c (new_register_cache): No need to check result of xcalloc.
11695         * server.c (handle_search_memory): Back out calls to xmalloc,
11696         result is checked and error is returned to user upon failure.
11697         (handle_query): Ditto.  Add more checks for result of malloc.
11698         (handle_v_cont): Check result of malloc, report error back to
11699         user upon failure.
11700         (handle_v_run): Ditto.  Call freeargv.
11701         * server.h (freeargv): Declare.
11702         * utils.c (freeargv): New fn.
11703
11704 2009-01-15  Doug Evans  <dje@google.com>
11705
11706         * gdbreplay.c (perror_with_name): Make arg const char *.
11707         * server.h (target_signal_to_name): Make return type const char *.
11708         * thread-db.c (thread_db_err_str): Make return type const char *.
11709         * utils.c (perror_with_name): Make arg const char *.
11710
11711 2009-01-14  Pedro Alves  <pedro@codesourcery.com>
11712
11713         * win32-low.c (get_child_debug_event): Issue a final DBG_CONTINUE
11714         when handling a EXIT_PROCESS_DEBUG_EVENT.
11715
11716 2009-01-06  Joel Brobecker  <brobecker@adacore.com>
11717
11718         * gdbreplay.c (gdbreplay_version): Update copyright year.
11719         * server.c (gdbserver_version): Likewise.
11720
11721 2009-01-05  Doug Evans  <dje@google.com>
11722
11723         * linux-low.c (linux_attach_lwp): Add some comments/fixmes.
11724         (handle_extended_wait): Improve comment.
11725
11726 2008-12-13  Doug Evans  <dje@google.com>
11727
11728         * utils.c (xmalloc,xcalloc,xstrdup): New fns.
11729         * server.h (ATTR_MALLOC): New macro.
11730         (xmalloc,xcalloc,xstrdup): Declare.
11731         * hostio.c: Replace malloc,calloc,strdup with xmalloc,xcalloc,xstrdup.
11732         * inferiors.c: Ditto.
11733         * linux-low.c: Ditto.
11734         * mem-break.c: Ditto.
11735         * regcache.c: Ditto.
11736         * remote-utils.c: Ditto.
11737         * server.c: Ditto.
11738         * target.c: Ditto.
11739         * win32-low.c: Ditto.
11740
11741 2008-12-12  Doug Evans  <dje@google.com>
11742
11743         * linux-low.c (linux_wait_for_process): Don't clobber current_inferior
11744         in debugging printf.
11745
11746         * linux-low.c (handle_extended_wait): Simplify, use my_waitpid.
11747
11748 2008-12-09  Doug Evans  <dje@google.com>
11749
11750         * linux-low.h (struct process_info): Delete member tid, unused.
11751         * thread-db.c (find_one_thread): Update.
11752         (maybe_attach_thread): Update.
11753
11754 2008-12-02  Pedro Alves  <pedro@codesourcery.com>
11755
11756         * target.h (struct target_ops): Add qxfer_osdata member.
11757         * linux-low.c: Include ctype.h and pwd.h and sys/types.h
11758         and dirent.h.
11759         (linux_qxfer_osdata): New functions.
11760         (linux_target_ops): Register linux_qxfer_osdata as qxfer_osdata
11761         callback.
11762         * server.c (handle_query): Handle "qXfer:osdata:read:".
11763         * remote-utils.c (buffer_grow, buffer_free, buffer_init, buffer_finish)
11764         (buffer_xml_printf): New functions.
11765         * server.h (struct buffer): New.
11766         (buffer_grow_str, buffer_grow_str0): New macros.
11767         (buffer_grow, buffer_free, buffer_init, buffer_finish)
11768         (buffer_xml_printf): Declare.
11769
11770 2008-11-24  Doug Evans  <dje@google.com>
11771
11772         * Makefile.in (VERSION,DIST,LINT,LINTFLAGS): Delete, unused.
11773
11774 2008-11-24  Daniel Jacobowitz  <dan@codesourcery.com>
11775
11776         * server.c (handle_v_run): Always use the supplied argument list.
11777
11778 2008-11-19  Bob Wilson  <bob.wilson@acm.org>
11779
11780         * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4.
11781         (xtensa_regmap_table): Add entry for scompare1.
11782
11783 2008-11-18  Thiago Jung Bauermann  <bauerman@br.ibm.com>
11784
11785         * Makefile.in (powerpc-isa205-32l.o, powerpc-isa205-32l.c,
11786         powerpc-isa205-altivec32l.o, powerpc-isa205-altivec32l.c,
11787         powerpc-isa205-vsx32l.o, powerpc-isa205-vsx32l.c,
11788         powerpc-isa205-64l.o, powerpc-isa205-64l.c,
11789         powerpc-isa205-altivec64l.o, powerpc-isa205-altivec64l.c,
11790         powerpc-isa205-vsx64l.o, powerpc-isa205-vsx64l.c): New targets.
11791         * configure.srv (powerpc*-*-linux*): Add ISA 2.05 object files and
11792         XML target descriptions.
11793         * linux-ppc-low.c (ppc_arch_setup): Init registers with 64-bit FPSCR
11794         when inferior is running on an ISA 2.05 or later processor.  Add
11795         special case to return offset for full 64-bit slot of FPSCR when
11796         in 32-bits.
11797
11798 2008-11-14  Daniel Gutson  <dgutson@codesourcery.com>
11799
11800         * Makefile.in (SFILES, clean): Added sparc64 files.
11801         (reg-sparc64.o, reg-sparc64.c): New.
11802         * configure.srv (sparc*-*-linux*): New configuration.
11803         * linux-low.c (regsets_fetch_inferior_registers): Swap ptrace
11804         syscall arguments for SPARC.
11805         (regsets_store_inferior_registers): Likewise.
11806         * linux-sparc-low.c: New file.
11807
11808 2008-10-21  Doug Evans  <dje@google.com>
11809
11810         * Makefile.in (BFD_DIR,BFD,BFD_SRC,BFD_CFLAGS): Delete.
11811         (READLINE_DIR,READLINE_DEP): Delete.
11812         (INTERNAL_CFLAGS): Update.
11813         (LINTFLAGS): Update.
11814
11815 2008-10-10  Pedro Alves  <pedro@codesourcery.com>
11816
11817         * server.c (handle_v_run): If GDB didn't specify an argv, use the
11818         whole argv from the last run, not just argv[0].
11819
11820 2008-09-08  Pedro Alves  <pedro@codesourcery.com>
11821
11822         * regcache.c (new_register_cache): Return NULL if the register
11823         cache size isn't known yet.
11824         (free_register_cache): Avoid dereferencing a NULL regcache.
11825
11826 2008-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
11827
11828         * configure.srv: Merge MIPS and MIPS64.
11829
11830 2008-08-24  Maciej W. Rozycki  <macro@linux-mips.org>
11831
11832         * Makefile.in (uninstall): Apply $(EXEEXT) too.
11833
11834 2008-08-18  Luis Machado  <luisgpm@br.ibm.com>
11835
11836         * Makefile.in: Add required vsx dependencies.
11837
11838         * linux-ppc-low: Define PPC_FEATURE_HAS_VSX.
11839         Declare init_registers_powerpc_vsx32l.
11840         Declare init_registers_powerpc_vsx64l.
11841         Define PTRACE_GETVSXREGS and PTRACE_SETVSXREGS.
11842         (ppc_arch_setup): Check for VSX in hwcap.
11843         (ppc_fill_vsxregset): New function.
11844         (ppc_store_vsxregset): New function.
11845         Add new VSX entry in regset_info target_regsets.
11846
11847         * configure.srv: Add new VSX dependencies.
11848
11849 2008-08-12  Pedro Alves  <pedro@codesourcery.com>
11850
11851         * remote-utils.c (noack_mode, transport_is_reliable): New globals.
11852         (remote_open): Set or clear transport_is_reliable.
11853         (putpkt_binary): Don't expect acks in noack mode.
11854         (getpkt): Don't send ack/nac in noack mode.
11855         * server.c (handle_general_set): Handle QStartNoAckMode.
11856         (handle_query): If connected by tcp pass QStartNoAckMode+ in
11857         qSupported.
11858         (main): Reset noack_mode on every connection.
11859         * server.h (noack_mode): Declare.
11860
11861 2008-08-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11862
11863         * Makefile.in (GDBREPLAY_OBS): New variable.
11864         (gdbreplay$(EXEEXT)): Use it to avoid unportable $^.
11865
11866 2008-08-05  Ulrich Weigand  <uweigand@de.ibm.com>
11867             Daniel Jacobowitz  <dan@codesourcery.com>
11868
11869         * linux-low.c (linux_resume_one_process): Ignore ESRCH.
11870         (usr_store_inferior_registers): Likewise.
11871         (regsets_store_inferior_registers): Likewise.
11872
11873 2008-07-31  Rolf Jansen  <rj@surtec.com>
11874             Pedro Alves  <pedro@codesourcery.com>
11875
11876         * configure.ac: Check for memmem declaration.
11877         * server.c [HAVE_MALLOC_H]: Include malloc.h.
11878         (disable_packet_vCont, disable_packet_Tthread, disable_packet_qC)
11879         (disable_packet_qfThreadInfo): Unconditionally compile.
11880         * server.h [!HAVE_DECL_MEMMEM]: Declare memmem.
11881         * configure, config.in: Regenerate.
11882
11883 2008-07-28  Doug Kwan  <dougkwan@google.com>
11884
11885         * linux-low.c (sys/dir.h, sys/user.h): Remove includes.
11886         (linux_write_memory): Remove declaration of errno.
11887
11888 2008-07-12  Ulrich Weigand  <uweigand@de.ibm.com>
11889
11890         * linux-low.c (handle_extended_wait): Do not use "status"
11891         variable uninitialized.
11892
11893 2008-07-07  Pedro Alves  <pedro@codesourcery.com>
11894
11895         * server.c (handle_v_attach): Inhibit reporting dll changes.
11896
11897 2008-06-27  Pedro Alves  <pedro@codesourcery.com>
11898
11899         * remote-utils.c (prepare_resume_reply): If requested, don't
11900         output "thread:TID" in the T stop reply.
11901
11902         * server.c (disable_packet_vCont, disable_packet_Tthread)
11903         (disable_packet_qC, disable_packet_qfThreadInfo): New globals.
11904         (handle_query): If requested, disable support for qC, qfThreadInfo
11905         and qsThreadInfo.
11906         (handle_v_requests): If requested, disable support for vCont.
11907         (gdbserver_show_disableable): New.
11908         (main): Handle --disable-packet and --disable-packet=LIST.
11909
11910         * server.h (disable_packet_vCont, disable_packet_Tthread)
11911         (disable_packet_qC, disable_packet_qfThreadInfo): Declare.
11912
11913 2008-06-20  Carlos O'Donell  <carlos@codesourcery.com>
11914
11915         * server.c (gdbserver_usage): Mention --version.
11916
11917 2008-06-06  Daniel Jacobowitz  <dan@codesourcery.com>
11918
11919         * Makefile.in (gdbreplay.o): New rule.
11920
11921 2008-06-06  Joseph Myers  <joseph@codesourcery.com>
11922
11923         * gdbreplay.c (gdbreplay_version): Say gdbreplay in version
11924         message, not gdbserver.
11925
11926 2008-06-05  Vladimir Prus  <vladimir@codesourcery.com>
11927             Nathan Sidwell  <nathan@codesourcery.com>
11928             Joseph Myers  <joseph@codesourcery.com>
11929
11930         * acinclude.m4: Include ../../config/acx.m4.
11931         * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
11932         * configure, config.in: Regenerate.
11933         * Makefile.in (gdbreplay$(EXEEXT)): Add version.o.
11934         * server.c (gdbserver_version): Print PKGVERSION.
11935         (gdbsrever_usage): Add stream parameter.  Print REPORT_BUGS_TO.
11936         (main): Adjust gdbserver_usage calls.
11937         * gdbreplay.c (version, host_name): Add declarations.
11938         (gdbreplay_version, gdbreplay_usage): New.
11939         (main): Accept --version and --help options.
11940
11941 2008-06-04  Daniel Jacobowitz  <dan@codesourcery.com>
11942
11943         * linux-arm-low.c (thumb_breakpoint, thumb_breakpoint_len): New.
11944         (arm_breakpoint_at): Handle Thumb.
11945         (the_low_target): Add comment.
11946
11947 2008-05-29  Ulrich Weigand  <uweigand@de.ibm.com>
11948
11949         * linux-ppc-low.c (ppc_collect_ptrace_register): Clear buffer.
11950
11951 2008-05-09  Doug Evans  <dje@google.com>
11952
11953         * server.h (decode_search_memory_packet): Declare.
11954         * remote-utils.c (decode_search_memory_packet): New fn.
11955         * server.c (handle_search_memory_1): New fn.
11956         (handle_search_memory): New fn.
11957         (handle_query): Process qSearch:memory packets.
11958
11959 2008-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
11960
11961         * regcache.c (registers_length): Remove.
11962         (set_register_cache): Verify that PBUFSIZ is large enough to hold a
11963         full register packet.
11964         * regcache.h (registers_length): Remove prototype.
11965         * server.h (PBUFSIZ): Define to 16384.
11966
11967 2008-05-03  Ulrich Weigand  <uweigand@de.ibm.com>
11968
11969         * configure.srv (powerpc*-*-linux*): Set srv_regobj to
11970         powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o,
11971         powerpc-64l.o, and powerpc-altivec64l.o.
11972         Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and
11973         rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml,
11974         rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml,
11975         rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml,
11976         rs6000/power-linux.xml, and rs6000/power64-linux.xml
11977         to srv_xmlfiles.
11978
11979         * Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ...
11980         (powerpc-32l.o, powerpc-32l.c): ... these new rules.
11981         (powerpc-32.o, powerpc-32.c): Remove, replace by ...
11982         (powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules.
11983         (powerpc-e500.o, powerpc-e500.c): Remove, replace by ...
11984         (powerpc-e500l.o, powerpc-e500l.c): ... these new rules.
11985         (reg-ppc64.o, reg-ppc64.c): Remove, replace by ...
11986         (powerpc-64l.o, powerpc-64l.c): ... these new rules.
11987         (powerpc-64.o, powerpc-64.c): Remove, replace by ...
11988         (powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules.
11989         (clean): Update.
11990
11991         * linux-ppc-low.c (init_registers_ppc): Remove, replace by ...
11992         (init_registers_powerpc_32l): ... this new prototype.
11993         (init_registers_powerpc_32): Remove, replace by ...
11994         (init_registers_powerpc_altivec32l): ... this new prototype.
11995         (init_registers_powerpc_e500): Remove, replace by ...
11996         (init_registers_powerpc_e500l): ... this new prototype.
11997         (init_registers_ppc64): Remove, replace by ...
11998         (init_registers_powerpc_64l): ... this new prototype.
11999         (init_registers_powerpc_64): Remove, replace by ...
12000         (init_registers_powerpc_altivec64l): ... this new prototype.
12001         (ppc_num_regs): Set to 73.
12002         (PT_ORIG_R3, PT_TRAP): Define if necessary.
12003         (ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap.
12004         (ppc_cannot_store_register): Handle orig_r3 and trap.
12005         (ppc_arch_setup): Update init_registers_... calls.
12006         (ppc_fill_gregset): Handle orig_r3 and trap.
12007
12008         * inferiors.c (clear_inferiors): Reset current_inferior.
12009
12010 2008-04-23  Paolo Bonzini  <bonzini@gnu.org>
12011
12012         * acinclude.m4: Add override.m4.
12013         * configure: Regenerate.
12014
12015 2008-04-21  Ulrich Weigand  <uweigand@de.ibm.com>
12016
12017         * linux-ppc-low.c (ppc_arch_setup): Reset ppc_hwcap after the
12018         initial call to init_register_ppc64.
12019
12020 2008-04-21  Ulrich Weigand  <uweigand@de.ibm.com>
12021
12022         * configure.srv (powerpc64-*-linux*, powerpc-*-linux*): Merge into
12023         single powerpc*-*-linux* case.
12024         (s390-*-linux*, s390x-*-linux*): Merge into single s390*-*-linux* case.
12025
12026 2008-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
12027
12028         * configure.srv [powerpc64-*-linux*]: Remove powerpc-e500.o from
12029         srv_regobj.  Remove rs6000/powerpc-e500.xml and rs6000/power-spe.xml
12030         from reg_xmlfiles.
12031         * linux-ppc-low.c: Include <elf.h>.
12032         (PPC_FEATURE_HAS_ALTIVEC, PPC_FEATURE_HAS_SPE): Define.
12033         (ppc_hwcap): New global variable.
12034         (ppc_regmap): Remove __SPE__ #ifdef sections.
12035         (ppc_regmap_e500): New global variable.
12036         (ppc_cannot_store_register): Update __SPE__ special case.
12037         (ppc_get_hwcap): New function.
12038         (ppc_arch_setup): Use it to determine whether inferior supports
12039         AltiVec or SPE registers.  Set the_low_target.regmap if appropriate.
12040         (ppc_fill_vrregset, ppc_store_vrregset): Define unconditionally.
12041         Do not access registers if target does not support AltiVec.
12042         (ppc_fill_evrregset, ppc_store_evrregset): Define unconditionally.
12043         Do not access registers if target does not support SPE.
12044         (target_regsets): Unconditionally include AltiVec and SPE regsets.
12045
12046 2008-04-17  Daniel Jacobowitz  <dan@codesourcery.com>
12047
12048         * linux-low.c (disabled_regsets, num_regsets): New.
12049         (use_regsets_p): Delete.
12050         (linux_wait_for_process): Clear disabled_regsets.
12051         (regsets_fetch_inferior_registers): Check and set it.
12052         (regsets_store_inferior_registers): Likewise.
12053         (linux_fetch_registers, linux_store_registers): Do not use
12054         use_regsets_p.
12055         (initialize_low): Allocate disabled_regsets.
12056
12057 2008-04-14  Daniel Jacobowitz  <dan@codesourcery.com>
12058
12059         * Makefile.in (LIBOBJS): New.
12060         (OBS): Use LIBOBJS.
12061         (memmem.o): New rule.
12062         * configure.ac: Use AC_CONFIG_LIBOBJ_DIR and check for memmem.
12063         * configure: Regenerated.
12064
12065 2008-04-04  Ulrich Weigand  <uweigand@de.ibm.com>
12066
12067         * server.c (handle_query): Never return "unsupported" for
12068         qXfer:features:read queries.
12069
12070 2008-03-27  Ulrich Weigand  <uweigand@de.ibm.com>
12071
12072         * server.c (get_features_xml): Fix inverted condition.
12073         (handle_query): Always support qXfer:feature:read.
12074
12075 2008-03-10  Daniel Jacobowitz  <dan@codesourcery.com>
12076
12077         * server.c (wrapper_argv): New.
12078         (start_inferior): Handle wrapper_argv.  If set, expect an extra
12079         trap.
12080         (gdbserver_usage): Document --wrapper.
12081         (main): Parse --wrapper.
12082
12083 2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
12084
12085         * configure.srv [powerpc64-*-linux*]: Add all files mentioned for
12086         powerpc-*-linux* to srv_regobj and reg_xmlfiles.
12087         * linux-ppc-low.c (ppc_get_pc): Support bi-arch operation.
12088         (ppc_set_pc): Likewise.
12089         (ppc_arch_setup): New function.
12090         (ppc_fill_gregset): Call ppc_collect_ptrace_register instead
12091         of collect_register.
12092         (the_low_target): Use ppc_arch_setup as arch_setup initializer.
12093
12094 2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
12095
12096         * configure.srv [powerpc64-*-linux*]: Use linux-ppc-low.o
12097         instead of linux-ppc64-low.o.
12098         * linux-ppc64-low.c: Remove file.
12099         * Makefile.in (SFILES): Remove linux-ppc64-low.c.
12100         (linux-ppc64-low.o): Remove rule.
12101
12102         * linux-ppc-low.c (init_registers_ppc64): Add prototype.
12103         (init_registers_powerpc_64): Likewise.
12104         (ppc_regmap): Conditionally define depending on __powerpc64__.
12105         (ppc_cannot_store_register): Do not special-case "fpscr" when
12106         compiled on __powerpc64__.
12107         (ppc_collect_ptrace_register): New function.
12108         (ppc_supply_ptrace_register): New function.
12109         (ppc_breakpoint): Change type to "unsigned int".
12110         (ppc_breakpoint_at): Change type of "insn" to "unsigned int".
12111         (the_low_target): Conditionally provide initializers for the
12112         arch_setup member depending on __powerpc64__.  Install
12113         collect_ptrace_register and supply_ptrace_register members.
12114
12115 2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
12116
12117         * regcache.h (gdbserver_xmltarget): Add extern declaration.
12118         * server.c (gdbserver_xmltarget): Define.
12119         (get_features_xml): Use it to replace "target.xml" and arch_string.
12120
12121         * configure.srv: Remove srv_xmltarget.  Add XML files that were
12122         mentioned there to srv_xmlfiles instead.  Remove conditional tests
12123         on gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe; set
12124         srv_xmlfiles and srv_regobj to include all possible choices.
12125         * configure.ac (srv_xmltarget): Remove.
12126         (srv_xmlfiles): Do not add "target.xml".
12127         (gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe): Remove
12128         checks for supplementary target information.
12129         * configure: Regenerate.
12130         * Makefile.in (XML_TARGET): Remove.
12131         (target.xml): Remove rule.
12132         (clean): Do not clean up target.xml.
12133         (.PRECIOUS): Do not mention target.xml.
12134
12135         * target.h (struct target_ops): Remove arch_string member.
12136         * linux-low.c (linux_arch_string): Remove.
12137         (linux_target_ops): Remove arch_string initializer.
12138         * linux-low.h (struct linux_target_ops): Remove arch_string member.
12139         * linux-i386-low.c (the_low_target): Remove arch_string initializer.
12140         * linux-x86-64-low.c (the_low_target): Remove arch_string initializer.
12141         * spu-low.c (spu_arch_string): Remove.
12142         (spu_target_ops): Remove arch_string initializer.
12143         * win32-low.c (win32_arch_string): Remove.
12144         (win32_target_ops): Remove arch_string initializer.
12145         * win32-low.h (struct win32_target_ops): Remove arch_string member.
12146         * win32-arm-low.c (the_low_target): Remove arch_string initializer.
12147         * win32-i368-low.c (the_low_target): Remove arch_string initializer.
12148
12149 2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
12150
12151         * linux-low.h (struct linux_target_ops): Replace left_pad_xfer field
12152         by collect_ptrace_register and supply_ptrace_register hooks.
12153         * linux-low.c (fetch_register): Use supply_ptrace_register callback
12154         instead of checking for the_low_target.left_pad_xfer.
12155         (usr_store_inferior_registers): Use collect_ptrace_register callback
12156         instead of checking for the_low_target.left_pad_xfer.
12157
12158         * linux-s390-low.c (s390_collect_ptrace_register): New function.
12159         (s390_supply_ptrace_register): Likewise.
12160         (s390_fill_gregset): Call s390_collect_ptrace_register.
12161         (the_low_target): Update.
12162
12163         * linux-ppc64-low.c (ppc_collect_ptrace_register): New function.
12164         (ppc_supply_ptrace_register): Likewise.
12165         (the_low_target): Update.
12166
12167         * linux-i386-low.c (the_low_target): Update.
12168         * linux-x86-64-low.c (the_low_target): Update.
12169
12170 2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
12171
12172         * configure.srv [s390x-*-linux*]: Set srv_regobj to include both
12173         reg-s390.o and reg-s390x.o.
12174
12175         * linux-low.c (new_inferior): New global variable.
12176         (linux_create_inferior, linux_attach): Set it.
12177         (linux_wait_for_process): Call the_low_target.arch_setup after the
12178         target has stopped for the first time.
12179         (initialize_low): Do not call the_low_target.arch_setup.
12180
12181         * linux-s390-low.c (s390_get_pc): Support bi-arch operation.
12182         (s390_set_pc): Likewise.
12183         (s390_arch_setup): New function.
12184         (the_low_target): Use s390_arch_setup as arch_setup routine.
12185
12186         * regcache.c (realloc_register_cache): New function.
12187         (set_register_cache): Call it for each existing regcache.
12188
12189 2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
12190
12191         * server.h (init_registers): Remove prototype.
12192
12193         * linux-low.h (struct linux_target_ops): Add arch_setup field.
12194         * linux-low.c (initialize_low): Call the_low_target.arch_setup ()
12195         instead of init_registers ().
12196         * linux-arm-low.c (init_registers_arm): Add prototype.
12197         (init_registers_arm_with_iwmmxt): Likewise.
12198         (the_low_target): Add initializer for arch_setup field.
12199         * linux-cris-low.c (init_registers_cris): Add prototype.
12200         (the_low_target): Add initializer for arch_setup field.
12201         * linux-crisv32-low.c (init_registers_crisv32): Add prototype.
12202         (the_low_target): Add initializer for arch_setup field.
12203         * linux-i386-low.c (init_registers_i386_linux): Add prototype.
12204         (the_low_target): Add initializer for arch_setup field.
12205         * linux-ia64-low.c (init_registers_ia64): Add prototype.
12206         (the_low_target): Add initializer for arch_setup field.
12207         * linux-m32r-low.c (init_registers_m32r): Add prototype.
12208         (the_low_target): Add initializer for arch_setup field.
12209         * linux-m68k-low.c (init_registers_m68k): Add prototype.
12210         (the_low_target): Add initializer for arch_setup field.
12211         * linux-mips-low.c (init_registers_mips_linux): Add prototype.
12212         (init_registers_mips64_linux): Likewise.
12213         (the_low_target): Add initializer for arch_setup field.
12214         * linux-ppc-low.c (init_registers_ppc): Add prototype.
12215         (init_registers_powerpc_32, init_registers_powerpc_e500): Likewise.
12216         (the_low_target): Add initializer for arch_setup field.
12217         * linux-ppc64-low.c (init_registers_ppc64): Add prototype.
12218         (init_registers_powerpc_64): Likewise.
12219         (the_low_target): Add initializer for arch_setup field.
12220         * linux-s390-low.c (init_registers_s390): Add prototype.
12221         (init_registers_s390x): Likewise.
12222         (the_low_target): Add initializer for arch_setup field.
12223         * linux-sh-low.c (init_registers_sh): Add prototype.
12224         (the_low_target): Add initializer for arch_setup field.
12225         * linux-x86-64-low.c (init_registers_x86_64_linux): Add prototype.
12226         (the_low_target): Add initializer for arch_setup field.
12227         * linux-xtensa-low.c (init_registers_xtensa): Add prototype.
12228         (the_low_target): Add initializer for arch_setup field.
12229
12230         * win32-low.h (struct win32_target_ops): Add arch_setup field.
12231         * win32-low.c (initialize_low): Call the_low_target.arch_setup ()
12232         instead of init_registers ().
12233         * win32-arm-low.c (init_registers_arm): Add prototype.
12234         (the_low_target): Add initializer for arch_setup field.
12235         * win32-i386-low.c (init_registers_i386): Add prototype.
12236         (the_low_target): Add initializer for arch_setup field.
12237
12238         * spu-low.c (init_registers_spu): Add prototype.
12239         (initialize_low): Call initialie_registers_spu () instead of
12240         initialize_registers ().
12241
12242 2008-02-19  Pedro Alves  <pedro@codesourcery.com>
12243
12244         * server.c (handle_v_requests): When handling the vRun and vAttach
12245         packets, if already debugging a process, don't kill it.  Return an
12246         error instead.
12247
12248 2008-02-17  Daniel Jacobowitz  <dan@codesourcery.com>
12249
12250         * server.c (handle_query): Correct length check.
12251
12252 2008-02-14  Pedro Alves  <pedro_alves@portugalmail.pt>
12253
12254         * win32-low.c (do_initial_child_stuff): Add process handle
12255         parameter.  Set current_process_handle and current_process_id from the
12256         parameters. Clear globals.
12257         (win32_create_inferior): Don't set current_process_handle and
12258         current_process_id here.  Instead pass them on the call to
12259         do_initial_child_stuff.
12260         (win32_attach): Likewise.
12261         (win32_clear_inferiors): New.
12262         (win32_kill): Don't close the current process handle or the
12263         current thread handle here.  Instead call win32_clear_inferiors.
12264         (win32_detach): Don't open a new handle to the process.  Call
12265         win32_clear_inferiors.
12266         (win32_join): Don't rely on current_process_handle; open a new
12267         handle using the process id.
12268         (win32_wait): Call win32_clear_inferiors when the inferior process
12269         has exited.
12270
12271 2008-02-14  Daniel Jacobowitz  <dan@codesourcery.com>
12272
12273         * server.c (monitor_show_help): Add "exit".
12274
12275 2008-02-11  Maxim Grigoriev  <maxim2405@gmail.com>
12276
12277         * Makefile.in (SFILES): Add linux-xtensa-low.c.
12278         (clean): Add reg-xtensa.c.
12279         (linux-xtensa-low.o, reg-xtensa.o, reg-xtensa.c): New dependencies.
12280         * configure.srv (xtensa*-*-linux*) New target.
12281         * linux-xtensa-low.c: New.
12282         * xtensa-xtregs.c: New.
12283
12284 2008-02-01  Pedro Alves  <pedro_alves@portugalmail.pt>
12285
12286         * hostio.c: Don't include errno.h.
12287         (errno_to_fileio_errno): Move to hostio-errno.
12288         * hostio.c: (hostio_error): Remove the error parameter.  Defer the
12289         error number outputting to the target->hostio_last_error callback.
12290         (hostio_packet_error): Use FILEIO_EINVAL directly.
12291         (handle_open, handle_pread, hostio_error, handle_unlink): Update
12292         calls to hostio_error.
12293         * hostio-errno.c: New.
12294         * server.h (hostio_last_error_from_errno): Declare.
12295         * target.h (target_ops): Add hostio_last_error member.
12296         * linux-low.c (linux_target_op): Register hostio_last_error_from_errno
12297         as hostio_last_error handler.
12298         * spu-low.c (spu_target_ops): Likewise.
12299         * win32-low.c [_WIN32_WCE] (win32_error_to_fileio_error)
12300         (wince_hostio_last_error): New functions.
12301         (win32_target_ops) [_WIN32_WCE]: Register wince_hostio_last_error
12302         as hostio_last_error handler.
12303         (win32_target_ops) [!_WIN32_WCE]: Register
12304         hostio_last_error_from_errno as hostio_last_error handler.
12305         * Makefile.in (SFILES): Add hostio.c and hostio-errno.c.
12306         (hostio-errno.o): New rule.
12307         * configure.ac (GDBSERVER_DEPFILES): Add $srv_hostio_err_objs.
12308         * configure.srv (srv_hostio_err_objs): New variable.  Default to
12309         hostio-errno.o.
12310         (arm*-*-mingw32ce*): Set srv_hostio_err_objs to "".
12311         * configure: Regenerate.
12312
12313 2008-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
12314
12315         * linux-low.c (linux_attach_lwp): Do not _exit after errors.
12316         (linux_kill, linux_detach): Clean up the process list.
12317         * remote-utils.c (remote_open): Improve port number parsing.
12318         (putpkt_binary, input_interrupt): Only send interrupts if the target
12319         is running.
12320         * server.c (extended_protocol): Make static.
12321         (attached): Define earlier.
12322         (exit_requested, response_needed, program_argv): New variables.
12323         (target_running): New.
12324         (start_inferior): Clear attached here.
12325         (attach_inferior): Set attached here.
12326         (require_running): Define.
12327         (handle_query): Use require_running and target_running.  Implement
12328         "monitor exit".
12329         (handle_v_attach, handle_v_run): New.
12330         (handle_v_requests): Use require_running.  Handle vAttach and vRun.
12331         (gdbserver_usage): Update.
12332         (main): Redo argument parsing.  Handle --debug and --multi.  Handle
12333         --attach along with other options or after the port.  Save
12334         program_argv.  Support no initial program.  Resynchronize
12335         communication with GDB after an error.  Handle "monitor exit".
12336         Use require_running and target_running.  Always allow the extended
12337         protocol.  Do not error out for Hc0 or Hc-1.  Do not automatically
12338         restart in extended mode.
12339         * README: Refer to the GDB manual.  Update --attach usage.
12340
12341 2007-12-20  Andreas Schwab  <schwab@suse.de>
12342
12343         * linux-low.c (STACK_SIZE): Define.
12344         (linux_tracefork_child): Use it.  Use __clone2 on ia64.
12345         (linux_test_for_tracefork): Likewise.
12346
12347 2007-12-18  Daniel Jacobowitz  <dan@codesourcery.com>
12348
12349         * linux-low.c (linux_wait_for_event): Update messages.  Do not
12350         reinsert auto-delete breakpoints.
12351         * mem-break.c (struct breakpoint): Change return type of handler to
12352         int.
12353         (set_breakpoint_at): Update handler type.
12354         (reinsert_breakpoint_handler): Return 1 instead of calling
12355         delete_breakpoint.
12356         (reinsert_breakpoint_by_bp): Check for the original breakpoint before
12357         setting a new one.
12358         (check_breakpoints): Delete auto-delete breakpoints and return 2.
12359         * mem-break.h (set_breakpoint_at): Update handler type.
12360         * thread-db.c (thread_db_create_event, thread_db_create_event): Update.
12361         * win32-low.c (auto_delete_breakpoint): New.
12362         (get_child_debug_event): Use it.
12363
12364 2007-12-16  Daniel Jacobowitz  <dan@codesourcery.com>
12365
12366         * configure.ac: Check for pread and pwrite.
12367         * hostio.c (handle_pread): Fall back to lseek and read.
12368         (handle_pwrite): Fall back to lseek and write.
12369         * config.in, configure: Regenerated.
12370
12371 2007-12-07  Daniel Jacobowitz  <dan@codesourcery.com>
12372
12373         * server.c (myresume): Add own_buf argument.
12374         (main): Update calls.
12375
12376 2007-12-06  Daniel Jacobowitz  <dan@codesourcery.com>
12377
12378         * linux-low.c (linux_wait, linux_resume): Do not handle async I/O.
12379         * remote-utils.c (remote_open): Do not call disable_async_io.
12380         (block_async_io): Delete.
12381         (unblock_async_io): Make static.
12382         (initialize_async_io): New.
12383         * server.c (handle_v_cont): Handle async I/O here.
12384         (myresume): Likewise.  Move other common resume tasks here...
12385         (main): ... from here.  Call initialize_async_io.  Disable async
12386         I/O before the main loop.
12387         * server.h (initialize_async_io): Declare.
12388         (block_async_io, unblock_async_io): Delete prototypes.
12389         * spu-low.c (spu_resume, spu_wait): Do not handle async I/O here.
12390
12391 2007-12-06  Mick Davis  <mickd@goanna.iinet.net.au>
12392
12393         * remote-utils.c (readchar): Allow binary data in received messages.
12394
12395 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
12396
12397         * win32-low.c (attaching): New global.
12398         (win32_create_inferior): Clear the `attaching' global.
12399         (win32_attach): Set the `attaching' global.
12400         (get_child_debug_event) [_WIN32_WCE]: Stop the inferior when
12401         attaching.  Only set a breakpoint at the entry point if not
12402         attaching.
12403
12404 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
12405
12406         * server.c (main): Don't report dll events on the initial
12407         connection on attaches.
12408
12409 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
12410
12411         * server.c (main): Relax numerical bases supported for the pid of
12412         the --attach command line argument.
12413
12414 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
12415
12416         * win32-low.c (win32_attach): Call OpenProcess before
12417         DebugActiveProcess, not after.  Add last error output to error
12418         call.
12419
12420 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
12421
12422         * win32-low.c (win32_get_thread_context)
12423         (win32_set_thread_context): New functions.
12424         (thread_rec): Use win32_get_thread_context.
12425         (continue_one_thread, win32_resume): Use win32_set_thread_context.
12426         * win32-low.h (win32_thread_info) [_WIN32_WCE]: Add `base_context'
12427         field.
12428
12429 2007-12-03  Leo Zayas
12430             Pedro Alves  <pedro_alves@portugalmail.pt>
12431
12432         * win32-low.c (soft_interrupt_requested, faked_breakpoint): New
12433         global variables.
12434         (child_add_thread): Minor cleanup.
12435         (child_continue): Resume artificially suspended threads before
12436         calling ContinueDebugEvent.
12437         (suspend_one_thread): New.
12438         (fake_breakpoint_event): New.
12439         (get_child_debug_event): Change return type to int.  Check here if
12440         gdb sent an interrupt request.  If a soft interrupt was requested,
12441         fake a breakpoint event.  Return 0 if there is no event to handle,
12442         and 1 otherwise.
12443         (win32_wait): Don't check here if gdb sent an interrupt request.
12444         Ensure there is a valid event to handle.
12445         (win32_request_interrupt): Add soft interruption method as last
12446         resort.
12447
12448 2007-12-03  Leo Zayas
12449             Pedro Alves  <pedro_alves@portugalmail.pt>
12450
12451         * win32-low.h (win32_thread_info): Add descriptions to the
12452         structure members.  Replace `suspend_count' counter by a
12453         `suspended' flag.
12454         * win32-low.c (thread_rec): Update condition of when to get the
12455         context from the inferior.  Rely on ContextFlags being set if it
12456         has already been retrieved.  Only suspend the inferior thread if
12457         we haven't already.  Warn if that fails.
12458         (continue_one_thread): s/suspend_count/suspended/.  Only call
12459         ResumeThread once.  Warn if that fails.
12460
12461 2007-12-02  Pedro Alves  <pedro_alves@portugalmail.pt>
12462
12463         * win32-low.c (win32_wait): Don't read from the inferior when it
12464         has already exited.
12465
12466 2007-12-02  Pedro Alves  <pedro_alves@portugalmail.pt>
12467
12468         * Makefile.in (win32_low_h): New variable.
12469         (win32-low.o): Add dependency on $(win32_low_h).
12470         (win32-arm-low.o, win32-i386-low.o): New rules.
12471
12472 2007-11-30  Daniel Jacobowitz  <dan@codesourcery.com>
12473
12474         * hostio.c: Correct copyright year.
12475
12476 2007-11-30  Daniel Jacobowitz  <dan@codesourcery.com>
12477
12478         * Makefile.in (OBS): Add hostio.o.
12479         (hostio.o): New rule.
12480         * server.h (handle_vFile): Declare.
12481         * hostio.c: New file.
12482         * server.c (handle_v_requests): Take packet_len and new_packet_len
12483         for binary packets.  Call handle_vFile.
12484         (main): Update call to handle_v_requests.
12485
12486 2007-11-05  Daniel Jacobowitz  <dan@codesourcery.com>
12487
12488         * linux-low.c: Include <sched.h>.
12489
12490 2007-11-01  Daniel Jacobowitz  <dan@codesourcery.com>
12491
12492         * linux-low.c (linux_tracefork_grandchild): New.
12493         (linux_tracefork_child): Use clone.
12494         (linux_test_for_tracefork): Use clone; allocate and free a stack.
12495
12496 2007-10-31  Joel Brobecker  <brobecker@adacore.com>
12497
12498         * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh.
12499
12500 2007-10-24  Daniel Jacobowitz  <dan@codesourcery.com>
12501
12502         * linux-low.c (handle_extended_wait): Handle unexpected signals.
12503
12504 2007-10-23  Daniel Jacobowitz  <dan@codesourcery.com>
12505
12506         * inferiors.c (change_inferior_id): Delete.
12507         (add_pid_to_list, pull_pid_from_list): New.
12508         * linux-low.c (PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG)
12509         (PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK)
12510         (PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC, PTRACE_O_TRACEVFORKDONE)
12511         (PTRACE_O_TRACEEXIT, PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK)
12512         (PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE)
12513         (PTRACE_EVENT_EXIT, __WALL): Provide default definitions.
12514         (stopped_pids, thread_db_active, must_set_ptrace_flags): New variables.
12515         (using_threads): Always set to 1.
12516         (handle_extended_wait): New.
12517         (add_process): Do not set TID.
12518         (linux_create_inferior): Set must_set_ptrace_flags.
12519         (linux_attach_lwp): Remove TID argument.  Do not check using_threads.
12520         Use PTRACE_SETOPTIONS.  Call new_thread_notify.  Update all callers.
12521         (linux_thread_alive): Rename TID argument to LWPID.
12522         (linux_wait_for_process): Handle unknown processes.  Do not use TID.
12523         (linux_wait_for_event): Do not use TID or check using_threads.  Update
12524         call to dead_thread_notify.  Call handle_extended_wait.
12525         (linux_create_inferior): Use PTRACE_SETOPTIONS.
12526         (send_sigstop): Delete sigstop_sent.
12527         (wait_for_sigstop): Avoid TID.
12528         (linux_supports_tracefork_flag, linux_tracefork_child, my_waitpid)
12529         (linux_test_for_tracefork): New.
12530         (linux_lookup_signals): Use thread_db_active and
12531         linux_supports_tracefork_flag.
12532         (initialize_low): Use thread_db_active and linux_test_for_tracefork.
12533         * linux-low.h (get_process_thread): Avoid TID.
12534         (struct process_ifo): Move thread_known and tid to the end.  Remove
12535         sigstop_sent.
12536         (linux_attach_lwp, thread_db_init): Update prototypes.
12537         * server.h (change_inferior_id): Delete prototype.
12538         (add_pid_to_list, pull_pid_from_list): New prototypes.
12539         * thread-db.c (thread_db_use_events): New.
12540         (find_first_thread): Rename to...
12541         (find_one_thread): ...this.  Update callers and messages.  Do not
12542         call fatal.  Check thread_db_use_events.  Do not call
12543         change_inferior_id or new_thread_notify.
12544         (maybe_attach_thread): Update.  Do not call new_thread_notify.
12545         (thread_db_init): Set thread_db_use_events.  Check use_events.
12546         * utils.c (fatal, warning): Correct message prefix.
12547
12548 2007-10-15  Daniel Jacobowitz  <dan@codesourcery.com>
12549
12550         * Makefile.in (clean): Remove new files.
12551         (powerpc-32.o, powerpc-32.c, powerpc-e500.o, powerpc-e500.c)
12552         (powerpc-64.o, powerpc-64.c): New rules.
12553         * configure.srv: Use alternate register sets for powerpc64-*-linux*
12554         with AltiVec, powerpc-*-linux* with AltiVec, and powerpc-*-linux*
12555         with SPE.
12556         * linux-ppc-low.c (ppc_regmap): Do not fetch the FP registers for
12557         SPE targets.
12558         (ppc_cannot_store_register): Do not check for FPSCR for SPE targets.
12559         (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS, ppc_fill_vrregset)
12560         (ppc_store_vrregset, PTRACE_GETEVRREGS, PTRACE_SETEVRREGS)
12561         (struct gdb_evrregset_t, ppc_fill_evrregset, ppc_store_evrregset): New.
12562         (target_regsets): Add AltiVec and SPE register sets.
12563         * configure.ac: Check for AltiVec and SPE.
12564         * linux-ppc64-low.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS)
12565         (ppc_fill_vrregset, ppc_store_vrregset): New.
12566         (target_regsets): Add AltiVec register set.
12567         * configure: Regenerated.
12568
12569 2007-09-19  Daniel Jacobowitz  <dan@codesourcery.com>
12570
12571         * linux-low.c (O_LARGEFILE): Define.
12572         (linux_read_memory): Use /proc/PID/mem.
12573         * configure.ac: Use AC_GNU_SOURCE.  Check for pread64.
12574         * configure, config.in: Regenerated.
12575
12576 2007-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
12577
12578         * linux-low.c (linux_wait_for_event): Do not pass signals while
12579         single-stepping.
12580
12581 2007-09-03  Pedro Alves  <pedro_alves@portugalmail.pt>
12582
12583         * win32-low.c (create_process): New.
12584         (win32_create_inferior): Use create_process instead of
12585         CreateProcess.  If create_process failed retry appending an ".exe"
12586         suffix.  Store the GetLastError result immediatelly after
12587         create_process calls and use it on the call to error.
12588
12589 2007-09-03  Pedro Alves  <pedro_alves@portugalmail.pt>
12590
12591         * win32-low.c (handle_load_dll): Don't use toolhelp when waiting.
12592
12593 2007-08-23  Joel Brobecker  <brobecker@adacore.com>
12594
12595         * configure.ac: Switch license to GPLv3.
12596
12597 2007-08-01  Michael Snyder  <msnyder@access-company.com>
12598
12599         * remote-utils.c (putpkt_binary): Memory leak, free buf2.
12600
12601 2007-07-31  Pedro Alves  <pedro_alves@portugalmail.pt>
12602
12603         * win32-low.c (winapi_CloseToolhelp32Snapshot) [_WIN32_WCE]: New
12604         typedef.
12605         (win32_CloseToolhelp32Snapshot) [_WIN32_WCE]: New global var.
12606         (load_toolhelp) [_WIN32_WCE]: Load TOOLHELP.DLL.  Get
12607         CloseToolhelp32Snapshot.
12608         (toolhelp_get_dll_name) [_WIN32_WCE]: Close the snapshot with
12609         CloseToolhelp32Snapshot.
12610
12611 2007-07-27  Michael Snyder  <michael.snyder@access-company.com>
12612
12613         * server.c (main): Check for inferior exit before main loop.
12614
12615 2007-07-18  Pedro Alves  <pedro_alves@portugalmail.pt>
12616
12617         * remote-utils.c (remote_open): Set SO_KEEPALIVE on remote_desc
12618         instead of on tmp_desc.
12619
12620 2007-07-17  Pedro Alves  <pedro_alves@portugalmail.pt>
12621             Daniel Jacobowitz  <dan@codesourcery.com>
12622
12623         * inferiors.c (all_dlls, dlls_changed, get_dll): New.
12624         (add_thread): Minor cleanups.
12625         (clear_inferiors): Move lower in the file.  Clear the DLL
12626         list.
12627         (free_one_dll, match_dll, loaded_dll, unloaded_dll, clear_list): New.
12628         * remote-utils.c (prepare_resume_reply): Check dlls_changed.
12629         (xml_escape_text): New.
12630         * server.c (handle_query): Handle qXfer:libraries:read.  Report it
12631         for qSupported.
12632         (handle_v_cont): Report errors.
12633         (gdbserver_version): Update.
12634         (main): Correct size of own_buf.  Do not report initial DLL events.
12635         * server.h (struct dll_info, all_dlls, dlls_changed, loaded_dll)
12636         (unloaded_dll, xml_escape_text): New.
12637         * win32-low.c (enum target_waitkind): Update comments.
12638         (win32_add_one_solib, get_image_name, winapi_EnumProcessModules)
12639         (winapi_GetModuleInformation, winapi_GetModuleFileNameExA)
12640         (win32_EnumProcessModules, win32_GetModuleInformation)
12641         (win32_GetModuleFileNameExA, load_psapi, psapi_get_dll_name)
12642         (winapi_CreateToolhelp32Snapshot, winapi_Module32First)
12643         (winapi_Module32Next, win32_CreateToolhelp32Snapshot)
12644         (win32_Module32First, win32_Module32Next, load_toolhelp)
12645         (toolhelp_get_dll_name, handle_load_dll, handle_unload_dll): New.
12646         (get_child_debug_event): Handle DLL events.
12647         (win32_wait): Likewise.
12648
12649 2007-07-12  Daniel Jacobowitz  <dan@codesourcery.com>
12650
12651         * configure.srv: Set srv_linux_regsets for sh*-*-linux*.
12652         * linux-sh-low.c (sh_fill_gregset, target_regsets): New.
12653
12654 2007-07-08  Pedro Alves  <pedro_alves@portugalmail.pt>
12655
12656         * win32-low.c (handle_output_debug_string): Ignore event if not
12657         waiting.
12658
12659 2007-07-08  Pedro Alves  <pedro_alves@portugalmail.pt>
12660
12661         * win32-arm-low.c (arm_wince_breakpoint): Fix typo.
12662
12663 2007-07-03  Daniel Jacobowitz  <dan@codesourcery.com>
12664
12665         * remote-utils.c (look_up_one_symbol): Handle 'm' packets.
12666
12667 2007-07-02  Daniel Jacobowitz  <dan@codesourcery.com>
12668
12669         * inferiors.c (change_inferior_id): Add comment.
12670         * linux-low.c (check_removed_breakpoint): Add an early
12671         prototype.  Improve debug output.
12672         (linux_attach): Doc update.
12673         (linux_detach_one_process, linux_detach): Clean up before releasing
12674         each process.
12675         (send_sigstop, wait_for_sigstop): Improve comments and debug output.
12676         * linux-low.h (struct process_info): Doc improvement.
12677         * mem-break.c (delete_all_breakpoints): New.
12678         * mem-break.h (delete_all_breakpoints): New prototype.
12679         * thread-db.c (find_first_thread): New.
12680         (thread_db_create_event): Call it instead of
12681         thread_db_find_new_threads.  Clean up unused variables.
12682         (maybe_attach_thread): Remove first thread handling.
12683         (thread_db_find_new_threads): Use find_first_thread.
12684         (thread_db_get_tls_address): Likewise.
12685
12686 2007-06-27  Daniel Jacobowitz  <dan@codesourcery.com>
12687
12688         * thread-db.c (thread_db_find_new_threads): Add prototype.
12689         (thread_db_create_event): Check for the main thread before adding
12690         a new thread.
12691         (maybe_attach_thread): Only enable event reporting if TID == 0.
12692         (thread_db_get_tls_address): Check for new threads.
12693
12694 2007-06-20  Daniel Jacobowitz  <dan@codesourcery.com>
12695
12696         * linux-low.c (linux_create_inferior): Try execv before execvp.
12697         * spu-low.c (spu_create_inferior): Likewise.
12698
12699 2007-06-13  Mike Frysinger  <vapier@gentoo.org>
12700
12701         * linux-low.c (linux_create_inferior): Change execv to execvp.
12702         * spu-low.c (spu_create_inferior): Likewies.
12703
12704 2007-06-13  Daniel Jacobowitz  <dan@codesourcery.com>
12705
12706         * Makefile.in (clean): Clean new files instead of deleted ones.
12707         (reg-mips.o, reg-mips.c, reg-mips64.o, reg-mips64.c): Delete.
12708         (mips-linux.o, mips-linux.c, mips64-linux.o, mips64-linux.c): New
12709         rules.
12710         * configure.srv: Specify XML files and new regformats for MIPS and
12711         MIPS64 GNU/Linux.
12712         * linux-mips-low.c (mips_num_regs): Set to only used registers.
12713         (mips_regmap): Do not fetch $0.  Remove unused registers.  Add
12714         an entry for the restart register.
12715         (mips_cannot_fetch_register, mips_cannot_store_register)
12716         (mips_reinsert_addr, mips_fill_fpregset, mips_store_fpregset): Update
12717         register names to match the XML descriptions.
12718         (mips_fill_gregset, mips_store_gregset): Likewise.  Handle the
12719         restart register instead of $0.
12720
12721 2007-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
12722             Markus Deuling  <deuling@de.ibm.com>
12723
12724         * remote-utils.c (decode_xfer_write): New function.
12725         * server.h (decode_xfer_write): Add prototype.
12726         * server.c (handle_query): Add PACKET_LEN argument.  Support
12727         qXfer:spu:read and qXfer:spu:write packets.
12728         (main): Pass packet_len to handle_query.
12729         * spu-low.c (spu_target_ops): Add spu_proc_xfer_spu.
12730         * target.h (target_ops): Add qxfer_spu.
12731
12732 2007-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
12733
12734         * spu-low.c (spu_proc_xfer_spu): Do not return failure when
12735         accessing non-seekable spufs files.
12736
12737 2007-05-16  Markus Deuling  <deuling@de.ibm.com>
12738
12739         * server.c (handle_query): Add reply for qC packet.
12740
12741 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12742             Leo Zayas  <lerele@champenstudios@com>
12743
12744         * server.h (check_remote_input_interrupt_request): New function.
12745         * remote_utils.c (INVALID_DESCRIPTOR): New define.
12746         (remote_desc): Initialize with INVALID_DESCRIPTOR.
12747         (input_interrupt): Expose on USE_WIN32API too.  Fix whitespace.
12748         (check_remote_input_interrupt_request): New function.
12749         * server.h (check_remote_input_interrupt_request): Declare.
12750         * win32-low.c (winapi_DebugBreakProcess,
12751         winapi_GenerateConsoleCtrlEvent): New typedefs.
12752         (get_child_debug_event): Lower Win32 debug event polling from 1 sec
12753         to 250 ms.
12754         (win32_wait): Check for remote interrupt request
12755         with check_remote_input_interrupt_request.
12756         (win32_request_interrupt): New function.
12757         (win32_target_op): Set request_interrupt to win32_request_interrupt.
12758
12759 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12760
12761         * win32-low.c (debug_registers_changed,
12762         debug_registers_used, CONTEXT_EXTENDED_REGISTERS,
12763         CONTEXT_FLOATING_POINT, CONTEXT_DEBUG_REGISTERS,
12764         CONTEXT_DEBUGGER, CONTEXT_DEBUGGER_DR): Delete.
12765         (thread_rec): Get context using the low target.
12766         (child_add_thread): Call thread_added on the low target,
12767         which does the same thing.
12768         (regptr): Delete.
12769         (do_initial_child_stuff): Remove debug registers references.
12770         Set context using the low target.  Resume threads after
12771         setting the contexts.
12772         (child_continue): Remove dead variable.  Remove debug
12773         registers references.
12774         (child_fetch_inferior_registers): Go through the low target.
12775         (do_child_store_inferior_registers): Remove.
12776         (child_store_inferior_registers): Go through the low target.
12777         (win32_resume): Remove debug registers references.
12778         Set context using the low target.
12779         (handle_exception): Change return type to void.  Don't record
12780         context here.  Set status to TARGET_WAITKIND_SPURIOUS on a
12781         first chance exception.
12782         (get_child_debug_event): Change return type to void.  Remove
12783         goto loop.  Always return after waiting for debug event.
12784         (win32_wait): Convert to switch statement.  Handle spurious
12785         events.
12786
12787         * win32-i386-low.c (debug_registers_changed,
12788         debug_registers_used): New.
12789         (initial_stuff): Rename to ...
12790         (i386_initial_stuff): ... this.  Clear debug registers
12791         state variables.
12792         (store_debug_registers): Delete.
12793         (i386_get_thread_context): New.
12794         (load_debug_registers): Delete.
12795         (i386_set_thread_context): New.
12796         (i386_thread_added): New.
12797         (single_step): Rename to ...
12798         (i386_single_step): ... this.
12799         (do_fetch_inferior_registers): Rename to ...
12800         (i386_fetch_inferior_register): ... this.
12801         (i386_store_inferior_register): New.
12802         (the_low_target): Adapt to new interface.
12803
12804         * win32-arm-low.c (CONTEXT_FLOATING_POINT): Define.
12805         (arm_get_thread_context): New.
12806         (arm_set_thread_context): New.
12807         (regptr): New.
12808         (do_fetch_inferior_registers): Rename to ...
12809         (arm_fetch_inferior_register): ... this.
12810         (arm_store_inferior_register): New.
12811         (arm_wince_breakpoint): Reimplement as unsigned long.
12812         (arm_wince_breakpoint_len): Define.
12813         (the_low_target): Adapt to new interface.
12814
12815         * win32-low.h (target_ops): Remove regmap, store_debug_registers and
12816         load_debug_registers.  Add get_thread_context, set_thread_context,
12817         thread_added and store_inferior_register.  Rename
12818         fetch_inferior_registers to fetch_inferior_register.
12819         (regptr): Remove declaration.
12820
12821 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12822
12823         * linux-low.c (linux_detach): Change return type to int.  Return 0.
12824         * spu-low.c (spu_detach): Likewise.
12825
12826 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12827
12828         * target.h (target_ops): Change return type of detach to int.
12829         Add join.
12830         (join_inferior): New.
12831         * server.c (main): Don't skip detach support on mingw32.
12832         If the inferior doesn't support detaching return error.
12833         Call join_inferior instead of using waitpid.
12834         * linux-low.c (linux_join): New.
12835         (linux_target_op): Add linux_join.
12836         * spu-low.c (spu_join): New.
12837         (spu_target_ops): Add spu_join.
12838         * win32-low.c (win32_detach): Adapt to new interface.
12839         Reopen current_process_handle before detaching.  Issue a child
12840         resume before detaching.
12841         (win32_join): New.
12842         (win32_target_op): Add win32_join.
12843
12844 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12845
12846         * win32-low.c (win32-attach): Fix return value.
12847         * target.h (target_ops): Describe ATTACH return values.
12848
12849 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12850
12851         * win32-low.c (GETPROCADDRESS): Define.
12852         (winapi_DebugActiveProcessStop): Add WINAPI.  typedef as pointer.
12853         (winapi_DebugSetProcessKillOnExit): Likewise.
12854         (win32_create_inferior): Force usage of ansi CreateProcessA.
12855         (win32_attach): Use GETPROCADDRESS.
12856         (win32_detach): Likewise.
12857
12858 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
12859
12860         * win32-low.c (win32_wait): Don't use WSTOPSIG.
12861
12862 2007-03-30  Pedro Alves  <pedro_alves@portugalmail.pt>
12863
12864         * win32-low.c: Commit leftover changes from 2007-03-29.
12865
12866 2007-03-30  Daniel Jacobowitz  <dan@codesourcery.com>
12867
12868         * i387-fp.c (struct i387_fsave, struct i387_fxsave): Make 16-bit
12869         fields short instead of int.  Add explicit padding.
12870         (i387_cache_to_fsave): Remove unnecessary casts.
12871         (i387_fsave_to_cache): Doc fix.
12872         (i387_cache_to_fxsave): Remove unnecessary casts and masking.
12873
12874 2007-03-30  Daniel Jacobowitz  <dan@codesourcery.com>
12875
12876         * i387-fp.c (i387_cache_to_fxsave): Reinitialize val2 before use.
12877         (i387_fxsave_to_cache): Check fp->ftag while building ftag value.
12878
12879 2007-03-29  Pedro Alves  <pedro_alves@portugalmail.pt>
12880
12881         * configure.srv (arm*-*-mingw32ce*): Move near the other
12882         arm targets.
12883
12884 2007-03-29  Pedro Alves  <pedro_alves@portugalmail.pt>
12885
12886         * configure.ac: Add errno checking.
12887         (AC_CHECK_HEADERS): Add errno.h, fcntl.h, signal.h,
12888         sys/file.h and malloc.h.
12889         (AC_CHECK_DECLS): Add perror.
12890         (srv_mingwce): Handle.
12891         * configure.srv (i[34567]86-*-cygwin*): Add
12892         win32-i386-low.o to srv_tgtobj.
12893         (i[34567]86-*-mingw*): Likewise.
12894         (arm*-*-mingw32ce*): Add case.
12895         * gdbreplay.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
12896         HAVE_FCNTL_H, HAVE_ERRNO_H, HAVE_MALLOC_H]: Check.
12897         [__MINGW32CE__] (strerror): New function.
12898         [__MINGW32CE__] (errno): Define to GetLastError.
12899         [__MINGW32CE__] (COUNTOF): New macro.
12900         (remote_open): Remove extra close call.
12901         * mem-break.c (delete_breakpoint_at): New function.
12902         * mem-break.h (delete_breakpoint_at): Declare.
12903         * remote-utils.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
12904         HAVE_FCNTL_H, HAVE_UNISTD_H, HAVE_ERRNO_H]: Check.
12905         [USE_WIN32API] (read, write): Add char* casts.
12906         * server.c [HAVE_UNISTD_H, HAVE_SIGNAL_H]: Check.
12907         * server.h: Include wincecompat.h on Windows CE.
12908         [HAVE_ERRNO_H]: Check.
12909         (perror): Declare if not declared.
12910         * utils.c: Add stdlib.h, errno.h and malloc.h includes.
12911         (perror_with_name): Remove errno declaration.
12912         * wincecompat.h: New.
12913         * wincecompat.c: New.
12914         * win32-low.h: New.
12915         * win32-arm-low.c: New.
12916         * win32-i386-low.c: New.
12917         (win32-low.c): Include mem-break.h and win32-low.h, and winnt.h.
12918         (OUTMSG2): Make it safe.
12919         (_T): New macro.
12920         (COUNTOF): New macro.
12921         (NUM_REGS): Get it from the low target.
12922         (CONTEXT_EXTENDED_REGISTERS, CONTEXT_FLOATING_POINT,
12923         CONTEXT_DEBUG_REGISTERS): Add fallbacks to 0.
12924         (thread_rec): Let low target handle debug registers.
12925         (child_add_thread): Likewise.
12926         (child_init_thread_list): Likewise.
12927         (continue_one_thread): Likewise.
12928         (regptr): New.
12929         (do_child_fetch_inferior_registers): Move to ...
12930         * win32-i386-low.c: ... here, and rename to ...
12931         (do_fetch_inferior_registers): ... this.
12932         * win32-low.c (child_fetch_inferior_registers):
12933         Go through the low target.
12934         (do_child_store_inferior_registers): Use regptr.
12935         (strwinerror): New function.
12936         (win32_create_inferior): Handle Windows CE.
12937         Use strwinerror instead of strerror on Windows error
12938         codes.  Add program to the error output.
12939         Don't close the main thread handle on Windows CE.
12940         (win32_attach): Use coredll.dll on Windows CE.
12941         (win32_kill): Close current process and current
12942         thread handles.
12943         (win32_detach): Use coredll.dll on Windows CE.
12944         (win32_resume): Let low target handle debug registers, and
12945         step request.
12946         (handle_exception): Add/Remove initial breakpoint.  Avoid
12947         non-existant WSTOPSIG on Windows CE.
12948         (win32_read_inferior_memory): Cast to remove warning.
12949         (win32_arch_string): Go through the low target.
12950         (initialize_low): Call set_breakpoint_data with the low
12951         target's breakpoint.
12952         * win32-low.c (dr, FLAG_TRACE_BIT, FCS_REGNUM,
12953         FOP_REGNUM, mappings): Move to ...
12954         * win32-i386-low.c: ... here.
12955         * win32-low.c (win32_thread_info): Move to ...
12956         * win32-low.h: ... here.
12957         * Makefile.in (SFILES): Add win32-low.c, win32-i386-low.c,
12958         win32-arm-low.c and wincecompat.c.
12959         (all:): Add $EXEEXT.
12960         (install-only:): Likewise.
12961         (gdbserver:): Likewise.
12962         (gdbreplay:): Likewise.
12963         * config.in: Regenerate.
12964         * configure: Regenerate.
12965
12966 2007-03-28  Pedro Alves  <pedro_alves@portugalmail.pt>
12967
12968         * win32-low.c: Rename typedef thread_info to
12969         win32_thread_info throughout.
12970
12971 2007-03-28  Pedro Alves  <pedro_alves@portugalmail.pt>
12972
12973         * win32-i386-low.c: Rename to ...
12974         * win32-low.c: ... this.
12975         * configure.srv: Replace win32-i386-low.o with win32-low.o.
12976         * Makefile.in: Likewise.
12977
12978 2007-03-27  Pedro Alves  <pedro_alves@portugalmail.pt>
12979
12980         * remote-utils.c (monitor_output): Constify msg parameter.
12981         * server.h (monitor_output): Likewise.
12982         * win32-i386-low.c (handle_output_debug_string): New.
12983         (win32_kill): Handle OUTPUT_DEBUG_STRING_EVENT events using
12984         handle_output_debug_string.
12985         (get_child_debug_event): Likewise.
12986
12987 2007-03-27  Mat Hostetter  <mat@lcs.mit.edu>
12988
12989         * server.c (main): Correct strtoul check.
12990
12991 2007-03-27  Jon Ringle  <jon@ringle.org>
12992
12993         * linux-low.c: Check __ARCH_HAS_MMU__ also.
12994
12995 2007-03-27  Brooks Moses  <brooks.moses@codesourcery.com>
12996
12997         * Makefile.in: Add dummy "pdf" and "install-pdf" targets.
12998
12999 2007-02-27  Daniel Jacobowitz  <dan@codesourcery.com>
13000
13001         * terminal.h: Check HAVE_SGTTY_H.
13002
13003 2007-02-27  Mat Hostetter  <mat@lcs.mit.edu>
13004
13005         * remote-utils.c (remote_open): Print out the assigned port number.
13006
13007 2007-02-26  Daniel Jacobowitz  <dan@codesourcery.com>
13008
13009         * remote-utils.c (monitor_output): New function.
13010         * server.c (debug_threads): Define here.
13011         (monitor_show_help): New function.
13012         (handle_query): Handle qRcmd.
13013         (main): Do not handle 'd' packet.
13014         * server.h (debug_threads, remote_debug, monitor_output): Declare.
13015         * linux-low.c, spu-low.c, win32-i386-low.c: Remove definitions
13016         of debug_threads.
13017
13018 2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>
13019
13020         * Makefile.in (EXEEXT): New.
13021         (clean): Use $(EXEEXT).
13022
13023 2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>
13024
13025         * target.h (target_ops): Rename send_signal to request_interrupt,
13026         and remove enum target_signal parameter.
13027         * linux-low.c (linux_request_interrupt): Rename from
13028         linux_send_signal, and always send SIGINT.
13029         * spu-low.c (spu_request_interrupt): Rename from spu_send_signal,
13030         and always send SIGINT.
13031         * remote-utils.c (putpkt_binary): Call request_interrupt, instead
13032         of send_signal.
13033         (input_interrupt): Likewise.
13034
13035 2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>
13036
13037         * server.c (get_features_xml): Check if target implemented
13038         arch_string.
13039         * win32-i386-low.c (win32_arch_string): New.
13040         (win32_target_ops): Add win32_arch_string as arch_string member.
13041
13042 2007-02-22  Markus Deuling  <deuling@de.ibm.com>
13043
13044         * spu-low.c (spu_arch_string): New.
13045         (spu_target_ops): Add spu_arch_string.
13046
13047 2007-02-16  Daniel Jacobowitz  <dan@codesourcery.com>
13048
13049         * remote-utils.c: Remove HAVE_TERMINAL_H check.
13050         * configure.ac: Do not check for terminal.h.
13051         * configure, config.in: Regenerated.
13052
13053 2007-02-08  Daniel Jacobowitz  <dan@codesourcery.com>
13054
13055         * Makefile.in (OBS): Add $(XML_BUILTIN).
13056         (XML_DIR, XML_TARGET, XML_FILES, XML_BUILTIN): New.
13057         (clean): Update.
13058         (target.xml, xml-builtin.c, stamp-xml, arm-with-iwmmxt.o)
13059         (arm-with-iwmmxt.c): New.
13060         * config.in, configure: Regenerate.
13061         * configure.ac: Check for iWMMXt.  Handle srv_xmltarget,
13062         srv_xmlbuiltin, and srv_xmlfiles.  Define USE_XML.
13063         * configure.srv: Mention srv_xmltarget and srv_xmlfiles.
13064         (arm*-*-linux*): Add iWMMXt and regset support.
13065         * linux-arm-low.c (PTRACE_GETWMMXREGS, PTRACE_SETWMMXREGS): Define.
13066         (arm_fill_gregset, arm_store_gregset, arm_fill_wmmxregset)
13067         (arm_store_wmmxregset, target_regsets): New.
13068         * server.c (get_features_xml): Take annex argument.  Check builtin
13069         XML documents.
13070         (handle_query): Handle multiple annexes.
13071
13072 2007-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
13073
13074         * remote-utils.c [USE_WIN32API] (read, write): Define.
13075         (putpkt_binary, input_interrupt, readchar, getpkt): Use read and
13076         write.
13077
13078 2007-01-09  Daniel Jacobowitz  <dan@codesourcery.com>
13079
13080         * linux-i386-low.c (the_low_target): Set arch_string.
13081         * linux-x86-64-low.c (the_low_target): Likewise.
13082         * linux-low.c (linux_arch_string): New.
13083         (linux_target_ops): Add it.
13084         * linux-low.h (struct linux_target_ops): Add arch_string.
13085         * server.c (write_qxfer_response): Use const void * for DATA.
13086         (get_features_xml): New.
13087         (handle_query): Handle qXfer:features:read.  Report it for qSupported.
13088         * target.h (struct target_ops): Add arch_string method.
13089
13090 2007-01-03  Denis Pilat  <denis.pilat@st.com>
13091             Daniel Jacobowitz  <dan@codesourcery.com>
13092
13093         * linux-low.c (linux_kill): Handle being called with no threads.
13094         * win32-i386-low.c (win32_kill): Likewise.
13095         (get_child_debug_event): Clear current_process_handle.
13096
13097 2006-12-30  Denis PILAT  <denis.pilat@st.com>
13098             Daniel Jacobowitz  <dan@codesourcery.com>
13099
13100         * remote-utils.c (remote_open): Check the type of specified
13101         serial port devices before opening them.
13102         * server.c (main): Kill the inferior if an error occurs during
13103         the first remote_open.
13104
13105 2006-12-05  Markus Deuling  <deuling@de.ibm.com>
13106
13107         * README: Update supported targets.
13108
13109 2006-11-28  Daniel Jacobowitz  <dan@codesourcery.com>
13110
13111         * Makefile.in (clean): Remove reg-mips64.c.
13112         (reg-mips64.c, reg-mips64.o): New rules.
13113         * configure.srv: Handle mips64.  Include regset support for mips.
13114         * linux-mips-low.c (union mips_register): New.
13115         (mips_get_pc, mips_set_pc, mips_reinsert_addr): Use it.
13116         (mips_breakpoint, mips_breakpoint_at): Use int.
13117         (mips_collect_register, mips_supply_register)
13118         (mips_collect_register_32bit, mips_supply_register_32bit)
13119         (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
13120         (mips_store_fpregset, target_regsets): New.
13121         * thread-db.c (thread_db_get_tls_address): Use uintptr_t.
13122
13123 2006-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
13124
13125         * configure.srv: Add target "spu*-*-*".
13126         * Makefile.in (clean): Remove reg-spu.c.
13127         (reg-spu.c, reg-spu.o, spu-low.o): Add dependencies.
13128         * spu-low.c: New file.
13129
13130 2006-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
13131
13132         * configure.ac: Correct td_thr_tls_get_addr test.
13133         * configure: Regenerated.
13134
13135 2006-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
13136
13137         * linux-low.c (linux_wait_for_event): Reformat.  Use the
13138         pass_signals array.
13139         * remote-utils.c (decode_address_to_semicolon): New.
13140         * server.c (pass_signals, handle_general_set): New.
13141         (handle_query): Mention QPassSignals for qSupported.
13142         (main): Call handle_general_set.
13143         * server.h (pass_signals, decode_address_to_semicolon): New.
13144
13145 2006-11-06  Daniel Jacobowitz  <dan@codesourcery.com>
13146
13147         * server.c (handle_query): Correct error handling for read_auxv.
13148
13149 2005-10-19  Ulrich Weigand  <uweigand@de.ibm.com>
13150
13151         * configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets
13152         and srv_linux_thread_db to yes.
13153         * linux-s390-low.c (s390_fill_gregset): New function.
13154         (target_regsets): Define data structure.
13155
13156 2006-10-17  Daniel Jacobowitz  <dan@codesourcery.com>
13157
13158         * acinclude.m4 (SRV_CHECK_TLS_GET_ADDR): New.
13159         * configure.ac: Use it.  Define HAVE_TD_THR_TLS_GET_ADDR.
13160         * config.in, configure: Regenerated.
13161         * inferiors.c (gdb_id_to_thread): New function.
13162         (gdb_id_to_thread_id): Use it.
13163         * linux-low.c (linux_target_ops): Use thread_db_get_tls_address.
13164         * linux-low.h (struct process_info): Add th member.
13165         (thread_db_get_tls_address): New prototype.
13166         * remote-utils.c (decode_address): Make non-static.
13167         * server.c (handle_query): Handle qGetTLSAddr.
13168         * server.h (gdb_id_to_thread, decode_address): New prototypes.
13169         * target.h (struct target_ops): Add get_tls_address.
13170         * thread-db.c (maybe_attach_thread): Save the thread handle.
13171         (thread_db_get_tls_address): New.
13172
13173 2006-09-28  Daniel Jacobowitz  <dan@codesourcery.com>
13174
13175         * linux-low.c (PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
13176         (linux_resume_one_process): Take a siginfo_t *.  Update all
13177         callers.  Queue it if necessary.  Use PTRACE_SETSIGINFO.
13178         (struct pending_signals): Add a siginfo_t.
13179         (linux_wait_for_process): Always set last_status.
13180         (linux_wait_for_event): Use PTRACE_GETSIGINFO.
13181         (linux_queue_one_thread): Use PTRACE_GETSIGINFO.
13182         * linux-low.h (struct process_info): Add last_status.
13183
13184 2006-09-21  Daniel Jacobowitz  <dan@codesourcery.com>
13185
13186         * remote-utils.c (try_rle): New function.
13187         (putpkt_binary): Use it.
13188
13189 2006-08-19  Daniel Jacobowitz  <dan@codesourcery.com>
13190
13191         * Makefile.in (clean): Clean reg-x86-64-linux.c.
13192         (reg-x86-64-linux.o, reg-x86-64-linux.c): New.
13193         * configure.srv (x86_64-*-linux*): Use reg-x86-64-linux.o.
13194         * linux-x86-64-low.c (x86_64_regmap): Include ORIG_RAX.
13195         (x86_64_fill_gregset, x86_64_store_gregset): Skip floating
13196         point registers.
13197
13198 2006-08-08  Richard Sandiford  <richard@codesourcery.com>
13199
13200         * server.c (terminal_fd): New variable.
13201         (old_foreground_pgrp): Likewise.
13202         (restore_old_foreground_pgrp): New function.
13203         (start_inferior): Record the terminal file descriptor in terminal_fd
13204         and its original foreground group in old_foreground_pgrp.  Register
13205         restore_old_foreground_pgrp with atexit().
13206
13207 2006-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
13208
13209         * server.c (handle_query): Correct qPart to qXfer.
13210
13211 2006-07-22  Daniel Jacobowitz  <dan@codesourcery.com>
13212
13213         * configure.ac: Check for more headers which are missing on
13214         Windows.  Automatically supply -lwsock32 and USE_WIN32API.
13215         * configure.srv: Add Cygwin and mingw32.
13216         * remote-utils.c: Don't include headers unconditionally which
13217         are missing on mingw32.  Include <winsock.h> for mingw32.
13218         (remote_open): Adjust for mingw32 support.  Flush
13219         standard error after writing to it.
13220         (remote_close, putpkt_binary, input_interrupt, block_async_io)
13221         (unblock_async_io, enable_async_io, disable_async_io)
13222         (readchar, getpkt): Update for Winsock support.
13223         (prepare_resume_reply): Expect a protocol signal number.
13224         * server.c: Disable <sys/wait.h> on mingw32.
13225         (start_inferior): Adjust for mingw32 support.  Flush
13226         standard error after writing to it.
13227         (attach_inferior): Likewise.  Use protocol signal
13228         numbers.
13229         (main): Skip 'D' packet on mingw32.  Use protocol signal numbers
13230         and names.
13231         * win32-i386-low.c: New file.
13232         * Makefile.in (XM_CLIBS): Set.
13233         (gdbserver, gdbreplay): Use $(INTERNAL_CFLAGS).
13234         (win32-i386-low.o): New dependency rule.
13235         * linux-low.c (linux_wait): Use target signal numbers.
13236         * target.h (struct target_ops): Doc fix.
13237         * server.h (target_signal_to_name): New prototype.
13238         * gdbreplay.c: Don't include headers unconditionally which
13239         are missing on mingw32.  Include <winsock.h> for mingw32.
13240         (remote_close, remote_open): Adjust for Winsock support.
13241         * configure, config.in: Regenerated.
13242
13243 2006-07-12  Daniel Jacobowitz  <dan@codesourcery.com>
13244
13245         * server.c (decode_xfer_read, write_qxfer_response): New.
13246         (handle_query): Take a packet length argument.  Handle
13247         qXfer:auxv:read instead of qPart:auxv:read.  Mention it in
13248         the qSupported response.
13249         (main): Update call to handle_query.
13250
13251 2006-06-22  Daniel Jacobowitz  <dan@codesourcery.com>
13252
13253         * remote-utils.c (remote_escape_output, remote_unescape_input): New.
13254         (putpkt_binary): Renamed from putpkt and adjusted for binary
13255         data.
13256         (putpkt): New wrapper for putpkt_binary.
13257         (readchar): Don't mask off the high bit.
13258         (decode_X_packet): New function.
13259         * server.c (main): Call putpkt_binary if a handler sets the packet
13260         length.  Save the length of the incoming packet.  Handle 'X'.
13261         * server.h (gdb_byte, remote_escape_output, decode_X_packet): New.
13262
13263 2006-06-21  Daniel Jacobowitz  <dan@codesourcery.com>
13264
13265         * server.c (handle_query): Handle qSupported.
13266
13267 2006-05-30  Daniel Jacobowitz  <dan@codesourcery.com>
13268
13269         * remote-utils.c (all_symbols_looked_up): New variable.
13270         (look_up_one_symbol): Check it.
13271         * server.h (look_up_one_symbol): New declaration.
13272         * thread-db.c (thread_db_init): Set all_symbols_looked_up.
13273
13274 2006-05-30  Daniel Jacobowitz  <dan@codesourcery.com>
13275
13276         * Makefile.in (linux-arm-low.o): Update dependencies.
13277         * linux-arm-low.c: Include "gdb_proc_service.h".
13278         (PTRACE_GET_THREAD_AREA): Define.
13279         (ps_get_thread_area): New function.
13280
13281 2006-05-09  Nathan Sidwell  <nathan@codesourcery.com>
13282
13283         * configure.srv (m68k*-*-uclinux*): New target.
13284         * linux-low.c (linux_create_inferior): Use vfork on mmuless systems.
13285         (linux_resume_one_process): Remove extraneous cast.
13286         (linux_read_offsets): New.
13287         (linux_target_op): Add linux_read_offsets on mmuless systems.
13288         * server.c (handle_query): Add qOffsets logic.
13289         * target.h (struct target_ops): Add read_offsets.
13290
13291 2006-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
13292
13293         * linux-mips-low.c: Include <sys/ptrace.h> and "gdb_proc_service.h".
13294         (PTRACE_GET_THREAD_AREA): Define.
13295         (ps_get_thread_area): New function.
13296         * Makefile.in (linux-i386-low.o, linux-mips-low.o)
13297         (linux-x86-64-low.o): Update.
13298
13299 2006-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
13300
13301         * configure.ac: Remove checks for prfpregset_t.
13302         * gdb_proc_service.h: New file.
13303         * linux-i386-low.c, linux-x86-64-low.c, thread-db.c: Use the
13304         new "gdb_proc_service.h".
13305         * proc-service.c: Likewise.
13306         (ps_pglobal_lookup, ps_pdread, ps_pdwrite): Use psaddr_t.
13307         (ps_lgetfpregs, ps_lsetfpregs): Use a void* argument.
13308         * Makefile.in (gdb_proc_service_h): Updated.
13309         * configure, config.in: Regenerated.
13310
13311 2006-03-03  Daniel Jacobowitz  <dan@codesourcery.com>
13312
13313         * remote-utils.c (prepare_resume_reply): Move declaration
13314         of gdb_id_from_wait to the top of the block.
13315
13316 2006-02-15  Daniel Jacobowitz  <dan@codesourcery.com>
13317
13318         * linux-low.c (regsets_store_inferior_registers): Read the regset
13319         from the target before filling it.
13320
13321 2006-02-08  Daniel Jacobowitz  <dan@codesourcery.com>
13322
13323         * server.c (attach_inferior): Return SIGTRAP for a successful
13324         attach.
13325
13326 2006-02-01  Daniel Jacobowitz  <dan@codesourcery.com>
13327
13328         * Makefile.in (OBS): Add version.o.
13329         (STAGESTUFF): Delete.
13330         (version.o): Add dependencies.
13331         (version.c): Replace rule.
13332         (clean): Remove version.c.
13333         * server.c (gdbserver_version): New.
13334         (gdbserver_usage): Use printf.
13335         (main): Handle --version and --help.
13336         * server.h (version, host_name): Add declarations.
13337
13338 2005-12-23  Eli Zaretskii  <eliz@gnu.org>
13339
13340         * linux-arm-low.c:
13341         * linux-arm-low.c:
13342         * inferiors.c:
13343         * i387-fp.h:
13344         * i387-fp.c:
13345         * gdbreplay.c:
13346         * regcache.c:
13347         * proc-service.c:
13348         * mem-break.h:
13349         * mem-break.c:
13350         * linux-x86-64-low.c:
13351         * linux-sh-low.c:
13352         * linux-s390-low.c:
13353         * linux-ppc64-low.c:
13354         * linux-ppc-low.c:
13355         * linux-mips-low.c:
13356         * linux-m68k-low.c:
13357         * linux-m32r-low.c:
13358         * linux-low.h:
13359         * linux-low.c:
13360         * linux-ia64-low.c:
13361         * linux-i386-low.c:
13362         * linux-crisv32-low.c:
13363         * thread-db.c:
13364         * terminal.h:
13365         * target.h:
13366         * target.c:
13367         * server.h:
13368         * server.c:
13369         * remote-utils.c:
13370         * regcache.h:
13371         * utils.c:
13372         * Makefile.in:
13373         * configure.ac:
13374         * gdbserver.1: Add (C) after Copyright.  Update the FSF
13375         address.
13376
13377 2005-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
13378
13379         * linux-arm-low.c (arm_eabi_breakpoint): New variable.
13380         (arm_breakpoint_at): Recognize both breakpoints.
13381         (the_low_target): Use the correct breakpoint instruction.
13382
13383 2005-11-02  Daniel Jacobowitz  <dan@codesourcery.com>
13384
13385         * configure.srv (x86_64-*-linux*): Turn on thread_db support.
13386         * linux-x86-64-low.c (x86_64_breakpoint, x86_64_breakpoint_len)
13387         (x86_64_get_pc, x86_64_set_pc, x86_64_breakpoint_at): New.
13388         (the_low_target): Update.
13389
13390 2005-10-25  Andreas Schwab  <schwab@suse.de>
13391
13392         * server.c (main): Allocate mem_buf with PBUFSIZ bytes.
13393
13394         * linux-ia64-low.c (ia64_regmap): Remove NAT registers.
13395         (ia64_num_regs): Reduce to 462.
13396
13397 2005-09-17  Daniel Jacobowitz  <dan@codesourcery.com>
13398
13399         * acinclude.m4: Correct quoting.
13400         * aclocal.m4: Regenerated.
13401
13402         Suggested by SZOKOVACS Robert <szo@ies.hu>:
13403         * thread-db.c (thread_db_err_str): Handle TD_VERSION.
13404         (thread_db_init): Call thread_db_err_str.
13405         * configure.ac: Check for TD_VERSION.
13406         * config.in, configure: Regenerated.
13407
13408 2005-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13409
13410         * server.h (error, fatal, warning): Add ATTR_FORMAT.
13411
13412 2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>
13413
13414         * configure.ac: Define HAVE_LINUX_REGSETS even if PTRACE_GETREGS
13415         is not available.  Define HAVE_PTRACE_GETREGS if it is.
13416         * config.in, configure: Regenerated.
13417         * configure.srv: Set srv_linux_regsets for PowerPC and PowerPC64.
13418         * linux-i386-low.c, linux-m68k-low.c: Update to use
13419         HAVE_PTRACE_GETREGS.
13420         * linux-low.c (regsets_fetch_inferior_registers)
13421         (regsets_store_inferior_registers): Only return 0 if we processed
13422         GENERAL_REGS.
13423         * linux-ppc-low.c (ppc_fill_gregset, target_regsets): New.
13424         * linux-ppc64-low.c (ppc_fill_gregset, target_regsets): New.
13425
13426 2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>
13427
13428         * inferiors.c (struct thread_info): Add gdb_id.
13429         (add_thread): Add gdb_id argument.
13430         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New.
13431         * linux-low.c (linux_create_inferior, linux_attach_lwp): Update
13432         calls to add_thread.
13433         * remote-utils.c (prepare_resume_reply: Use thread_to_gdb_id.
13434         * server.c (handle_query): Use thread_to_gdb_id.
13435         (handle_v_cont, main): Use gdb_id_to_thread_id.
13436         * server.h (add_thread): Update prototype.
13437         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New
13438         prototypes.
13439
13440 2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>
13441
13442         * linux-low.c (fetch_register, usr_store_inferior_registers): Handle
13443         left-padded registers.
13444         * linux-low.h (struct linux_target_ops): Add left_pad_xfer.
13445         * linux-ppc64-low.c (the_low_target): Set left_pad_xfer.
13446
13447 2005-07-01  Steve Ellcey  <sje@cup.hp.com>
13448
13449         * configure.ac (BFD_NEED_DECLARATION): Replace with AC_CHECK_DECLS.
13450         * configure: Regenerate.
13451         * config.in: Regenerate.
13452         * server.h (NEED_DECLARATION_STRERROR):
13453         Replace with !HAVE_DECL_STRERROR.
13454
13455 2005-06-16  Daniel Jacobowitz  <dan@codesourcery.com>
13456
13457         * linux-low.c (linux_wait, linux_send_signal): Don't test
13458         an unsigned long variable for > 0 if it could be MAX_ULONG.
13459         * server.c (myresume): Likewise.
13460         * target.c (set_desired_inferior): Likewise.
13461
13462 2005-06-13  Mark Kettenis  <kettenis@gnu.org>
13463
13464         * configure.ac: Simplify and improve check for socklen_t.
13465         * configure, config.in: Regenerate.
13466
13467 2005-06-12  Daniel Jacobowitz  <dan@codesourcery.com>
13468
13469         * acconfig.h: Remove.
13470         * configure.ac: Add a test for socklen_t.  Use three-argument
13471         AC_DEFINE throughout.
13472         * config.in: Regenerated using autoheader 2.59.
13473         * configure: Regenerated.
13474
13475         * gdbreplay.c (socklen_t): Provide a default.
13476         (remote_open): Use socklen_t.
13477         * remote-utils.c (socklen_t): Provide a default.
13478         (remote_open): Use socklen_t.
13479         (convert_int_to_ascii, convert_ascii_to_int, decode_M_packet): Use
13480         unsigned char.
13481
13482         * i387-fp.c (struct i387_fsave, struct i387_fxsave): Use unsigned
13483         char for buffers.
13484         * linux-low.c (linux_read_memory, linux_write_memory)
13485         (linux_read_auxv): Likewise.
13486         * mem-break.c (breakpoint_data, set_breakpoint_data, check_mem_read)
13487         (check_mem_write): Likewise.
13488         * mem-break.h (set_breakpoint_data, check_mem_read, check_mem_write):
13489         Likewise.
13490         * regcache.c (struct inferior_rgcache_data, registers_to_string)
13491         (registers_from_string, register_data): Likewise.
13492         * server.c (handle_query, main): Likewise.
13493         * server.h (convert_ascii_to_int, convert_int_to_ascii)
13494         (decode_M_packet): Likewise.
13495         * target.c (read_inferior_memory, write_inferior_memory): Likewise.
13496         * target.h (struct target_ops): Update read_memory, write_memory,
13497         and read_auxv.
13498         (read_inferior_memory, write_inferior_memory): Update.
13499         * linux-low.h (struct linux_target_ops): Change type of breakpoint
13500         to unsigned char *.
13501         * linux-arm-low.c, linux-cris-low.c, linux-crisv32-low.c,
13502         linux-i386-low.c, linux-m32r-low.c, linux-m68k-low.c,
13503         linux-mips-low.c, linux-ppc-low.c, linux-ppc64-low.c,
13504         linux-s390-low.c, linux-sh-low.c: Update for changes in
13505         read_inferior_memory and the_low_target->breakpoint.
13506
13507 2005-05-28  Daniel Jacobowitz  <dan@codesourcery.com>
13508
13509         * Makefile.in (SFILES): Add linux-ppc64-low.c.
13510         (linux-ppc64-low.o, reg-ppc64.c, reg-ppc64.o): New targets.
13511         * configure.srv: Add powerpc64-*-linux*.
13512         * linux-ppc64-low.c: New file.
13513
13514 2005-05-23  Orjan Friberg  <orjanf@axis.com>
13515
13516         * linux-cris-low.c: New file with support for CRIS.
13517         * linux-crisv32-low.c: Ditto for CRISv32.
13518         * Makefile.in (SFILES): Add linux-cris-low.c, linux-crisv32-low.c.
13519         (clean): Add reg-cris.c and reg-crisv32.c.
13520         Add linux-cris-low.o, linux-crisv32-low.o, reg-cris.o, reg-cris.c,
13521         reg-crisv32.o, and reg-crisv32.c to make rules.
13522         * configure.srv: Add cris-*-linux* and crisv32-*-linux* to list of
13523         recognized targets.
13524
13525 2005-05-16  Ulrich Weigand  <uweigand@de.ibm.com>
13526
13527         * linux-low.c (fetch_register): Ensure buffer size is a multiple
13528         of sizeof (PTRACE_XFER_TYPE).
13529         (usr_store_inferior_registers): Likewise.  Zero out excess bytes.
13530
13531 2005-05-12  Orjan Friberg  <orjanf@axis.com>
13532
13533         * target.h (struct target_ops): Add insert_watchpoint,
13534         remove_watchpoint, stopped_by_watchpoint, stopped_data_address function
13535         pointers for hardware watchpoint support.
13536         * linux-low.h (struct linux_target_ops): Ditto.
13537         * linux-low.c (linux_insert_watchpoint, linux_remove_watchpoint)
13538         (linux_stopped_by_watchpoint, linux_stopped_data_address): New.  Add
13539         to linux_target_ops.
13540         * remote-utils.c (prepare_resume_reply): Add watchpoint information to
13541         reply packet.
13542         * server.c (main): Recognize 'Z' and 'z' packets.
13543
13544 2005-05-10  Ulrich Weigand  <uweigand@de.ibm.com>
13545
13546         * linux-s390-low.c (s390_breakpoint, s390_breakpoint_len): Define.
13547         (s390_get_pc, s390_set_pc, s390_breakpoint_at): New functions.
13548         (the_low_target): Add new members.
13549
13550 2005-05-04  Daniel Jacobowitz  <dan@codesourcery.com>
13551
13552         * proc-service.c (ps_lgetregs): Search all_processes instead of
13553         all_threads.
13554
13555 2005-05-04  Daniel Jacobowitz  <dan@codesourcery.com>
13556
13557         * server.c (start_inferior): Change return type to int.
13558         (attach_inferior): Change sigptr to int *.
13559         (handle_v_cont, handle_v_requests): Change signal to int *.
13560         (main): Change signal to int.
13561
13562 2005-04-15  Kei Sakamoto  <sakamoto.kei@renesas.com>
13563
13564         * Makefile.in: Add linux-m32r-low.o, reg-m32r.c and reg-m32r.o.
13565         * configure.srv: Add m32r*-*-linux*.
13566         * linux-m32r-low.c: New file.
13567
13568 2005-03-04  Daniel Jacobowitz  <dan@codesourcery.com>
13569
13570         * Makefile.in (stamp-h): Set CONFIG_HEADERS explicitly.
13571
13572 2005-03-03  Daniel Jacobowitz  <dan@codesourcery.com>
13573
13574         * inferiors.c (change_inferior_id, add_thread, find_inferior_id):
13575         Take unsigned long arguments for PIDs.
13576         * linux-low.c (add_process, linux_attach_lwp, linux_attach)
13577         (linux_thread_alive, linux_wait_for_event, kill_lwp, send_sigstop)
13578         (wait_for_sigstop, linux_resume_one_process)
13579         (regsets_fetch_inferior_registers, linux_send_signal)
13580         (linux_read_auxv): Likewise.  Update the types of variables holding
13581         PIDs.  Update format string specifiers.
13582         * linux-low.h (struct process_info, linux_attach_lwp): Likewise.
13583         * remote-utils.c (prepare_resume_reply): Likewise.
13584         * server.c (cont_thread, general_thread, step_thread)
13585         (thread_from_wait, old_thread_from_wait, signal_pid): Change type to
13586         unsigned long.
13587         (handle_query): Update format specifiers.
13588         (handle_v_cont, main): Use strtoul for thread IDs.
13589         * server.h (struct inferior_list_entry): Use unsigned long for ID.
13590         (add_thread, find_inferior_id, change_inferior_id, cont_thread)
13591         (general_thread, step_thread, thread_from_wait)
13592         (old_thread_from_wait): Update.
13593         * target.h (struct thread_resume): Use unsigned long for THREAD.
13594         (struct target_ops): Use unsigned long for arguments to attach and
13595         thread_alive.
13596
13597 2005-02-24  Daniel Jacobowitz  <dan@codesourcery.com>
13598
13599         * acinclude.m4: Include bfd/bfd.m4 directly.
13600         * configure.ac: Use AC_ARG_PROGRAM.  Suggested by Aron Griffis
13601         <agriffis@toolchain.org>.
13602         * aclocal.m4, configure: Regenerated.
13603
13604 2005-01-07  Andrew Cagney  <cagney@gnu.org>
13605
13606         * configure.ac: Rename configure.in, require autoconf 2.59.
13607         * configure: Re-generate.
13608
13609 2004-12-08  Daniel Jacobowitz  <dan@debian.org>
13610
13611         * acinclude.m4 (SRV_CHECK_THREAD_DB): Add ps_get_thread_area.  Reset
13612         LIBS when finished.
13613         * aclocal.m4: Regenerated.
13614         * configure: Regenerated.
13615
13616 2004-11-21  Andreas Schwab  <schwab@suse.de>
13617
13618         * linux-m68k-low.c (m68k_num_gregs): Define.
13619         (m68k_fill_gregset, m68k_store_gregset, m68k_fill_fpregset)
13620         (m68k_store_fpregset, target_regsets) [HAVE_LINUX_REGSETS]: New.
13621         (m68k_breakpoint, m68k_breakpoint_len, m68k_get_pc, m68k_set_pc)
13622         (m68k_breakpoint_at): New.  Add to the_low_target.
13623
13624         * configure.srv (m68*-*-linux*): Set srv_linux_regsets and
13625         srv_linux_thread_db to yes.
13626
13627 2004-10-20  Joel Brobecker  <brobecker@gnat.com>
13628
13629         * linux-x86-64-low.c (ARCH_SET_GS): Add definition if missing.
13630         (ARCH_SET_FS): Likewise.
13631         (ARCH_GET_FS): Likewise.
13632         (ARCH_GET_GS): Likewise.
13633
13634 2004-10-16  Daniel Jacobowitz  <dan@debian.org>
13635
13636         * linux-i386-low.c (ps_get_thread_area): New.
13637         * linux-x86-64-low.c (ps_get_thread_area): New.
13638         * linux-low.c: Include <sys/syscall.h>.
13639         (linux_kill_one_process): Don't kill the first thread here.
13640         (linux_kill): Kill the first thread here.
13641         (kill_lwp): New function.
13642         (send_sigstop, linux_send_signal): Use it.
13643         * proc-service.c: Clean up #ifdefs.
13644         (fpregset_info): Delete.
13645         (ps_lgetregs): Update and enable implementation.
13646         (ps_lsetregs, ps_lgetfpregs, ps_lsetfpregs): Remove disabled
13647         implementations.
13648         * remote-utils.c (struct sym_cache, symbol_cache): New.
13649         (input_interrupt): Print a clearer message.
13650         (async_io_enabled): New variable.
13651         (enable_async_io, disable_async_io): Use it.  Update comments.
13652         (look_up_one_symbol): Use the symbol cache.
13653         * thread-db.c (thread_db_look_up_symbols): New function.
13654         (thread_db_init): Update comments.  Call thread_db_look_up_symbols.
13655
13656 2004-10-16  Daniel Jacobowitz  <dan@debian.org>
13657
13658         * configure.in: Test for -rdynamic.
13659         * configure: Regenerated.
13660         * Makefile (INTERNAL_LDFLAGS): New.
13661         (gdbserver, gdbreplay): Use it.
13662
13663 2004-09-02  Andrew Cagney  <cagney@gnu.org>
13664
13665         * Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE.
13666
13667 2004-03-23  Daniel Jacobowitz  <drow@mvista.com>
13668
13669         * linux-low.c (linux_wait): Clear all_processes list also.
13670
13671 2004-03-12  Daniel Jacobowitz  <drow@mvista.com>
13672
13673         * linux-low.c: Include <errno.h>.  Remove extern declaration of
13674         errno.
13675
13676 2004-03-12  Daniel Jacobowitz  <drow@mvista.com>
13677
13678         * gdbreplay.c, server.h, utils.c: Update copyright years.
13679
13680 2004-03-04  Nathan J. Williams  <nathanw@wasabisystems.com>
13681
13682         * server.c (main): Print child status or termination signal from
13683         variable 'signal', not 'sig'.
13684
13685 2004-03-04  Nathan J. Williams  <nathanw@wasabisystems.com>
13686
13687         * linux-low.c (linux_read_memory): Change return type to
13688         int.  Check for and return error from ptrace().
13689         * target.c (read_inferior_memory): Change return type to int.  Pass
13690         back return status from the_target->read_memory().
13691         * target.h (struct target_ops): Adapt *read_memory() prototype.
13692         Update comment.
13693         (read_inferior_memory): Adapt prototype.
13694         * server.c (main): Return an error packet if
13695         read_inferior_memory() returns an error.
13696
13697 2004-03-04  Daniel Jacobowitz  <drow@mvista.com>
13698
13699         * Makefile.in (distclean): Remove config.h, stamp-h, and config.log.
13700         Unify with other clean targets.
13701
13702 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
13703
13704         * server.c (handle_v_cont): Call set_desired_inferior.
13705
13706 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
13707
13708         * remote-utils.c (prepare_resume_reply): Always supply "thread:".
13709
13710 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
13711
13712         * linux-low.c (linux_wait): Unblock async I/O.
13713         (linux_resume): Block and enable async I/O.
13714         * remote-utils.c (block_async_io, unblock_async_io): New functions.
13715         * server.h (block_async_io, unblock_async_io): Add prototypes.
13716
13717 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
13718
13719         * remote-utils.c (remote_open): Print a status notice after
13720         opening a TCP port.
13721         * server.c (attach_inferior): Print a status notice after
13722         attaching.
13723
13724 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
13725
13726         * linux-arm-low.c (arm_get_pc): Print out stop PC in debug mode.
13727
13728 2004-02-26  Daniel Jacobowitz  <drow@mvista.com>
13729
13730         * remote-utils.c (write_enn): Use "E01" instead of "ENN" for the
13731         error packet.
13732         * server.c, target.h: Update copyright years.
13733
13734 2004-02-25  Roland McGrath  <roland@redhat.com>
13735
13736         * target.h (struct target_ops): New member `read_auxv'.
13737         * server.c (handle_query): Handle qPart:auxv:read: query using that.
13738         * linux-low.c (linux_read_auxv): New function.
13739         (linux_target_ops): Initialize `read_auxv' member to that.
13740
13741 2004-02-17  Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13742
13743         Committed by Jim Blandy  <jimb@redhat.com>.
13744
13745         * linux-s390-low.c (s390_num_regs): Update.
13746         (s390_regmap): Remove control registers.  Use __s390x__ predefine
13747         instead of GPR_SIZE to distiguish s390 and s390x targets.
13748
13749 2004-01-31  Daniel Jacobowitz  <drow@mvista.com>
13750
13751         * linux-low.c: Update copyright year.
13752         (check_removed_breakpoint): Clear pending_is_breakpoint.
13753         (linux_set_resume_request, linux_queue_one_thread)
13754         (resume_status_pending_p): New functions.
13755         (linux_continue_one_thread): Use process->resume.
13756         (linux_resume): Only resume threads if there are no pending events.
13757         * linux-low.h (struct process_info): Add resume request
13758         pointer.
13759
13760 2004-01-30  Daniel Jacobowitz  <drow@mvista.com>
13761
13762         * regcache.c (new_register_cache): Clear the allocated register
13763         buffer.  Suggested by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.
13764
13765 2003-10-13  Daniel Jacobowitz  <drow@mvista.com>
13766
13767         * linux-low.c (linux_resume): Take a struct thread_resume *
13768         argument.
13769         (linux_wait): Update call.
13770         (resume_ptr): New static variable.
13771         (linux_continue_one_thread): Renamed from
13772         linux_continue_one_process.  Use resume_ptr.
13773         (linux_resume): Use linux_continue_one_thread.
13774         * server.c (handle_v_cont, handle_v_requests): New functions.
13775         (myresume): New function.
13776         (main): Handle 'v' case.
13777         * target.h (struct thread_resume): New type.
13778         (struct target_ops): Change argument of "resume" to struct
13779         thread_resume *.
13780         (myresume): Delete macro.
13781
13782 2003-08-08  H.J. Lu  <hongjiu.lu@intel.com>
13783
13784         * Makefile.in (install-only): Create dest dir. Support DESTDIR.
13785         (uninstall): Support DESTDIR.
13786
13787 Mon Jul 21 20:09:34 UTC 2003  Brendan Conoboy  <blc@redhat.com>
13788
13789         * configure.srv: Add xscale*linux copy of arm*linux entry.
13790
13791 2003-07-24  Daniel Jacobowitz  <drow@mvista.com>
13792
13793         * linux-arm-low.c (arm_reinsert_addr): New function.
13794         (the_low_target): Add arm_reinsert_addr.
13795
13796 2003-07-08  Mark Kettenis  <kettenis@gnu.org>
13797
13798         * mem-break.c: Remove whitespace at end of file.
13799
13800 2003-06-28  Daniel Jacobowitz  <drow@mvista.com>
13801
13802         * configure.in: Check whether we need to prototype strerror.
13803         * server.h: Optionally prototype strerror.
13804         * gdbreplay.c (perror_with_name): Use strerror.
13805         * linux-low.c (linux_attach_lwp): Use strerror.
13806         * utils.c (perror_with_name): Use strerror.
13807         * config.in, configure: Regenerated.
13808
13809 2003-06-28  Daniel Jacobowitz  <drow@mvista.com>
13810
13811         * linux-sh-low.c (sh_regmap): Fix FP register offsets, reported by
13812         SUGIOKA Toshinobu <sugioka@itonet.co.jp>.
13813
13814 2003-06-20  Daniel Jacobowitz  <drow@mvista.com>
13815
13816         * Makefile.in (SFILES): Update.
13817         * low-hppabsd.c, low-lynx.c, low-nbsd.c, low-sim.c, low-sparc.c,
13818         low-sun3.c: Remove files.
13819
13820 2003-06-17  Daniel Jacobowitz  <drow@mvista.com>
13821
13822         * linux-low.c: Move comment to linux_thread_alive where it belonged.
13823         (linux_detach_one_process, linux_detach): New functions.
13824         (linux_target_ops): Add linux_detach.
13825         * server.c (main): Handle 'D' packet.
13826         * target.h (struct target_ops): Add "detach" member.
13827         (detach_inferior): Define.
13828
13829 2003-06-13  Mark Kettenis  <kettenis@gnu.org>
13830
13831         From Kelley Cook  <kelleycook@wideopenwest.com>:
13832         * configure.srv: Accept i[34567]86 variants.
13833
13834 2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
13835
13836         * linux-low.c (linux_wait_for_event): Correct comment typos.
13837         (linux_resume_one_process): Call check_removed_breakpoint.
13838         (linux_send_signal): New function.
13839         (linux_target_ops): Add linux_send_signal.
13840         * remote-utils.c (putpkt, input_interrupt): Use send_signal instead
13841         of kill.
13842         * target.h (struct target_ops): Add send_signal.
13843
13844 2003-05-29  Jim Blandy  <jimb@redhat.com>
13845
13846         * linux-low.c (usr_store_inferior_registers): Transfer buf in
13847         PTRACE_XFER_TYPE-sized chunks, not int-sized chunks.  Otherwise,
13848         if 'int' is smaller than PTRACE_XFER_TYPE, you end up throwing
13849         away part of the register's value.
13850
13851 2003-03-26  Daniel Jacobowitz  <drow@mvista.com>
13852
13853         * linux-low.c (linux_create_inferior): Use __SIGRTMIN.
13854         (linux_wait_for_event, linux_init_signals): Likewise.
13855
13856 2003-03-17  Daniel Jacobowitz  <drow@mvista.com>
13857
13858         * configure.in: Check for stdlib.h.
13859         * configure: Regenerated.
13860         * config.in: Regenerated.
13861
13862 2003-01-04  Andreas Schwab  <schwab@suse.de>
13863
13864         * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31.
13865
13866 2003-01-02  Andrew Cagney  <ac131313@redhat.com>
13867
13868         * Makefile.in: Remove obsolete code.
13869
13870 2002-11-20  Daniel Jacobowitz  <drow@mvista.com>
13871
13872         * linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of
13873         defined(PT_FPR0_HI).
13874
13875 2002-11-17  Stuart Hughes  <seh@zee2.com>
13876
13877         * linux-arm-low.c (arm_num_regs): Increase.
13878         (arm_regmap): Include status register.
13879
13880 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
13881
13882         * linux-low.c (register_addr): Remove incorrect -1 check.
13883
13884 2002-08-29  Daniel Jacobowitz  <drow@mvista.com>
13885
13886         * linux-low.c (linux_create_inferior): Call setpgid.  Return
13887         the new PID.
13888         (unstopped_p, linux_signal_pid): Remove.
13889         (linux_target_ops): Remove linux_signal_pid.
13890         * remote-utils.c (putpkt, input_interrupt): Use signal_pid
13891         global instead of target method.
13892         * target.h (struct target_ops): Remove signal_pid.  Update comment
13893         for create_inferior.
13894         * server.c (signal_pid): New variable.
13895         (create_inferior): Set signal_pid.  Block SIGTTOU and SIGTTIN in
13896         gdbserver.  Set the child to be the foreground process group.
13897         (attach_inferior): Set signal_pid.
13898
13899 2002-08-23  Daniel Jacobowitz  <drow@mvista.com>
13900
13901         * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2.
13902
13903 2002-08-20  Jim Blandy  <jimb@redhat.com>
13904
13905         * Makefile.in (LDFLAGS): Allow the configure script to establish a
13906         default for this.
13907
13908 2002-08-01  Andrew Cagney  <cagney@redhat.com>
13909
13910         * Makefile.in: Make chill references obsolete.
13911
13912 2002-07-24  Kevin Buettner  <kevinb@redhat.com>
13913
13914         * configure.in (unistd.h): Add to AC_CHECK_HEADERS list.
13915         * configure: Regenerate.
13916         * config.in: Regenerate.
13917
13918 2002-07-09  David O'Brien  <obrien@FreeBSD.org>
13919
13920         * gdbreplay.c (stdlib.h, unistd.h): Conditionaly include.
13921         (perror_with_name, remote_close, remote_open, expect, play): Static.
13922
13923 2002-07-04  Michal Ludvig  <mludvig@suse.cz>
13924
13925         * linux-x86-64-low.c (x86_64_regmap): Make it an array of
13926         byte offsets instead of an array of indexes.
13927         (x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.
13928
13929 2002-06-13  Daniel Jacobowitz  <drow@mvista.com>
13930
13931         * regcache.c: Add comment.
13932
13933 2002-06-11  Daniel Jacobowitz  <drow@mvista.com>
13934
13935         * thread-db.c: New file.
13936         * proc-service.c: New file.
13937         * acinclude.m4: New file.
13938         * Makefile.in: Add GDBSERVER_LIBS, gdb_proc_service_h,
13939         proc-service.o, and thread-db.o.
13940         (linux-low.o): Add USE_THREAD_DB.
13941         * acconfig.h: Add HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T,
13942         HAVE_LWPID_T, HAVE_PSADDR_T, and PRFPREGSET_T_BROKEN.
13943         * aclocal.m4: Regenerated.
13944         * config.in: Regenerated.
13945         * configure: Regenerated.
13946         * configure.in: Check for proc_service.h, sys/procfs.h,
13947         thread_db.h, and linux/elf.h headrs.
13948         Check for lwpid_t, psaddr_t, prgregset_t, prfpregset_t, and
13949         PRFPREGSET_T_BROKEN.  Introduce srv_thread_depfiles and USE_THREAD_DB.
13950         Check for -lthread_db and thread support.
13951         * configure.srv: Enable thread_db support for ARM, i386, MIPS,
13952         PowerPC, and SuperH.
13953         * i387-fp.c: Constify arguments.
13954         * i387-fp.h: Likewise.
13955         * inferiors.c: (struct thread_info): Renamed from
13956         `struct inferior_info'.  Remove PID member.  Use generic inferior
13957         list header.  All uses updated.
13958         (inferiors, signal_pid): Removed.
13959         (all_threads): New variable.
13960         (get_thread): Define.
13961         (add_inferior_to_list): New function.
13962         (for_each_inferior): New function.
13963         (change_inferior_id): New function.
13964         (add_inferior): Removed.
13965         (remove_inferior): New function.
13966         (add_thread): New function.
13967         (free_one_thread): New function.
13968         (remove_thread): New function.
13969         (clear_inferiors): Use for_each_inferior and free_one_thread.
13970         (find_inferior): New function.
13971         (find_inferior_id): New function.
13972         (inferior_target_data): Update argument type.
13973         (set_inferior_target_data): Likewise.
13974         (inferior_regcache_data): Likewise.
13975         (set_inferior_regcache_data): Likewise.
13976         * linux-low.c (linux_bp_reinsert): Remove.
13977         (all_processes, stopping_threads, using_thrads)
13978         (struct pending_signals, debug_threads, pid_of): New.
13979         (inferior_pid): Replace with macro.
13980         (struct inferior_linux_data): Remove.
13981         (get_stop_pc, add_process): New functions.
13982         (linux_create_inferior): Restore SIGRTMIN+1 before calling exec.
13983         Use add_process and add_thread.
13984         (linux_attach_lwp): New function, based on old linux_attach.  Use
13985         add_process and add_thread.  Set stop_expected for new threads.
13986         (linux_attach): New function.
13987         (linux_kill_one_process): New function.
13988         (linux_kill): Kill all LWPs.
13989         (linux_thread_alive): Use find_inferior_id.
13990         (check_removed_breakpoints, status_pending_p): New functions.
13991         (linux_wait_for_process): Renamed from linux_wait_for_one_inferior.
13992         Update.  Use WNOHANG.  Wait for cloned processes also.  Update process
13993         struct for the found process.
13994         (linux_wait_for_event): New function.
13995         (linux_wait): Use it.  Support LWPs.
13996         (send_sigstop, wait_for_sigstop, stop_all_processes)
13997         (linux_resume_one_process, linux_continue_one_process): New functions.
13998         (linux_resume): Support LWPs.
13999         (REGISTER_RAW_SIZE): Remove.
14000         (fetch_register): Use register_size instead.  Call supply_register.
14001         (usr_store_inferior_registers): Likewise.  Call collect_register.
14002         Fix recursive case.
14003         (regsets_fetch_inferior_registers): Improve error message.
14004         (regsets_store_inferior_registers): Add debugging.
14005         (linux_look_up_symbols): Call thread_db_init if USE_THREAD_DB.
14006         (unstopped_p, linux_signal_pid): New functions.
14007         (linux_target_ops): Add linux_signal_pid.
14008         (linux_init_signals): New function.
14009         (initialize_low): Call it.  Initialize using_threads.
14010         * regcache.c (inferior_regcache_data): Add valid
14011         flag.
14012         (get_regcache): Fetch registers lazily.  Add fetch argument
14013         and update all callers.
14014         (regcache_invalidate_one, regcache_invalidate): New
14015         functions.
14016         (new_register_cache): Renamed from create_register_cache.
14017         Return the new regcache.
14018         (free_register_cache): Change argument to a void *.
14019         (registers_to_string, registers_from_string): Call get_regcache
14020         with fetch flag set.
14021         (register_data): Make static.  Pass fetch flag to get_regcache.
14022         (supply_register): Call get_regcache with fetch flag clear.
14023         (collect_register): Call get_regcache with fetch flag set.
14024         (collect_register_as_string): New function.
14025         * regcache.h: Update.
14026         * remote-utils.c (putpkt): Flush after debug output and use
14027         stderr.
14028         Handle input interrupts while waiting for an ACK.
14029         (input_interrupt): Use signal_pid method.
14030         (getpkt): Flush after debug output and use stderr.
14031         (outreg): Use collect_register_as_string.
14032         (new_thread_notify, dead_thread_notify): New functions.
14033         (prepare_resume_reply): Check using_threads.  Set thread_from_wait
14034         and general_thread.
14035         (look_up_one_symbol): Flush after debug output.
14036         * server.c (step_thread, server_waiting): New variables.
14037         (start_inferior): Don't use signal_pid.  Update call to mywait.
14038         (attach_inferior): Update call to mywait.
14039         (handle_query): Handle qfThreadInfo and qsThreadInfo.
14040         (main): Don't fetch/store registers explicitly.  Use
14041         set_desired_inferior.  Support proposed ``Hs'' packet.  Update
14042         calls to mywait.
14043         * server.h: Update.
14044         (struct inferior_list, struct_inferior_list_entry): New.
14045         * target.c (set_desired_inferior): New.
14046         (write_inferior_memory): Constify.
14047         (mywait): New function.
14048         * target.h: Update.
14049         (struct target_ops): New signal_pid method.
14050         (mywait): Removed macro, added prototype.
14051
14052         * linux-low.h (regset_func): Removed.
14053         (regset_fill_func, regset_store_func): New.
14054         (enum regset_type): New.
14055         (struct regset_info): Add type field.  Use new operation types.
14056         (struct linux_target_ops): stop_pc renamed to get_pc.
14057         Add decr_pc_after_break and breakpoint_at.
14058         (get_process, get_thread_proess, get_process_thread)
14059         (strut process_info, all_processes, linux_attach_lwp)
14060         (thread_db_init): New.
14061
14062         * linux-arm-low.c (arm_get_pc, arm_set_pc,
14063         arm_breakpoint, arm_breakpoint_len, arm_breakpoint_at): New.
14064         (the_low_target): Add new members.
14065         * linux-i386-low.c (i386_store_gregset, i386_store_fpregset)
14066         (i386_store_fpxregset): Constify.
14067         (target_regsets): Add new kind identifier.
14068         (i386_get_pc): Renamed from i386_stop_pc.  Simplify.
14069         (i386_set_pc): Add debugging.
14070         (i386_breakpoint_at): New function.
14071         (the_low_target): Add new members.
14072         * linux-mips-low.c (mips_get_pc, mips_set_pc)
14073         (mips_breakpoint, mips_breakpoint_len, mips_reinsert_addr)
14074         (mips_breakpoint_at): New.
14075         (the_low_target): Add new members.
14076         * linux-ppc-low.c (ppc_get_pc, ppc_set_pc)
14077         (ppc_breakpoint, ppc_breakpoint_len, ppc_breakpoint_at): New.
14078         (the_low_target): Add new members.
14079         * linux-sh-low.c (sh_get_pc, sh_set_pc)
14080         (sh_breakpoint, sh_breakpoint_len, sh_breakpoint_at): New.
14081         (the_low_target): Add new members.
14082         * linux-x86-64-low.c (target_regsets): Add new kind
14083         identifier.
14084
14085 2002-05-15  Daniel Jacobowitz  <drow@mvista.com>
14086
14087         From Martin Pool <mbp@samba.org>:
14088         * server.c (gdbserver_usage): New function.
14089         (main): Call it.
14090
14091 2002-05-14  Daniel Jacobowitz  <drow@mvista.com>
14092
14093         * mem-break.c (reinsert_breakpoint_by_bp): Correct typo
14094         stop_at -> stop_pc.
14095
14096 2002-05-04  Andrew Cagney  <ac131313@redhat.com>
14097
14098         * Makefile.in: Remove obsolete code.
14099
14100 2002-04-24  Michal Ludvig  <mludvig@suse.cz>
14101
14102         * linux-low.c (regsets_fetch_inferior_registers),
14103         (regsets_store_inferior_registers): Removed cast to int from
14104         ptrace() calls.
14105         * regcache.h: Added declaration of struct inferior_info.
14106
14107 2002-04-20  Daniel Jacobowitz  <drow@mvista.com>
14108
14109         * inferiors.c (struct inferior_info): Add regcache_data.
14110         (add_inferior): Call create_register_cache.
14111         (clear_inferiors): Call free_register_cache.
14112         (inferior_regcache_data, set_inferior_regcache_data): New functions.
14113         * regcache.c (struct inferior_regcache_data): New.
14114         (registers): Remove.
14115         (get_regcache): New function.
14116         (create_register_cache, free_register_cache): New functions.
14117         (set_register_cache): Don't initialize the register cache here.
14118         (registers_to_string, registers_from_string, register_data): Call
14119         get_regcache.
14120         * regcache.h: Add prototypes.
14121         * server.h: Likewise.
14122
14123 2002-04-20  Daniel Jacobowitz  <drow@mvista.com>
14124
14125         * mem-break.c: New file.
14126         * mem-break.h: New file.
14127         * Makefile.in: Add mem-break.o rule; update server.h
14128         dependencies.
14129         * inferiors.c (struct inferior_info): Add target_data
14130         member.
14131         (clear_inferiors): Free target_data member if set.
14132         (inferior_target_data, set_inferior_target_data): New functions.
14133         * linux-i386-low.c (i386_breakpoint, i386_breakpoint_len)
14134         (i386_stop_pc, i386_set_pc): New.  Add to the_low_target.
14135         * linux-low.c (linux_bp_reinsert): New variable.
14136         (struct inferior_linux_data): New.
14137         (linux_create_inferior): Use set_inferior_target_data.
14138         (linux_attach): Likewise.  Call add_inferior.
14139         (linux_wait_for_one_inferior): New function.
14140         (linux_wait): Call it.
14141         (linux_write_memory): Add const.
14142         (initialize_low): Call set_breakpoint_data.
14143         * linux-low.h (struct linux_target_ops): Add breakpoint
14144         handling members.
14145         * server.c (attach_inferior): Remove extra add_inferior
14146         call.
14147         * server.h: Include mem-break.h.  Update inferior.c
14148         prototypes.
14149         * target.c (read_inferior_memory)
14150         (write_inferior_memory): New functions.
14151         * target.h (read_inferior_memory)
14152         (write_inferior_memory): Change macros to prototypes.
14153         (struct target_ops): Update comments.  Add const to write_memory
14154         definition.
14155
14156 2002-04-11  Daniel Jacobowitz  <drow@mvista.com>
14157
14158         * linux-low.c (usr_store_inferior_registers): Support
14159         registers which are allowed to fail to store.
14160         * linux-low.h (linux_target_ops): Likewise.
14161         * linux-ppc-low.c (ppc_regmap): Support FPSCR.
14162         (ppc_cannot_store_register): FPSCR may not be storable.
14163
14164 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
14165
14166         * server.h: Include <string.h> if HAVE_STRING_H.
14167         * ChangeLog: Correct paths in last ChangeLog entry.
14168
14169 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
14170
14171         * linux-low.h: Remove obsolete prototypes.
14172         (struct linux_target_ops): New.
14173         (extern the_low_target): New.
14174         * linux-low.c (num_regs, regmap): Remove declarations.
14175         (register_addr): Use the_low_target explicitly.
14176         (fetch_register): Likewise.
14177         (usr_fetch_inferior_registers): Likewise.
14178         (usr_store_inferior_registers): Likewise.
14179         * linux-arm-low.c (num_regs): Remove.
14180         (arm_num_regs): Define.
14181         (arm_regmap): Renamed from regmap, made static.
14182         (arm_cannot_fetch_register): Renamed from cannot_fetch_register,
14183         made static.
14184         (arm_cannot_store_register): Renamed from cannot_store_register,
14185         made static.
14186         (the_low_target): New.
14187         * linux-i386-low.c (num_regs): Remove.
14188         (i386_num_regs): Define.
14189         (i386_regmap): Renamed from regmap, made static.
14190         (i386_cannot_fetch_register): Renamed from cannot_fetch_register,
14191         made static.
14192         (i386_cannot_store_register): Renamed from cannot_store_register,
14193         made static.
14194         (the_low_target): New.
14195         * linux-ia64-low.c (num_regs): Remove.
14196         (ia64_num_regs): Define.
14197         (ia64_regmap): Renamed from regmap, made static.
14198         (ia64_cannot_fetch_register): Renamed from cannot_fetch_register,
14199         made static.
14200         (ia64_cannot_store_register): Renamed from cannot_store_register,
14201         made static.
14202         (the_low_target): New.
14203         * linux-m68k-low.c (num_regs): Remove.
14204         (m68k_num_regs): Define.
14205         (m68k_regmap): Renamed from regmap, made static.
14206         (m68k_cannot_fetch_register): Renamed from cannot_fetch_register,
14207         made static.
14208         (m68k_cannot_store_register): Renamed from cannot_store_register,
14209         made static.
14210         (the_low_target): New.
14211         * linux-mips-low.c (num_regs): Remove.
14212         (mips_num_regs): Define.
14213         (mips_regmap): Renamed from regmap, made static.
14214         (mips_cannot_fetch_register): Renamed from cannot_fetch_register,
14215         made static.
14216         (mips_cannot_store_register): Renamed from cannot_store_register,
14217         made static.
14218         (the_low_target): New.
14219         * linux-ppc-low.c (num_regs): Remove.
14220         (ppc_num_regs): Define.
14221         (ppc_regmap): Renamed from regmap, made static.
14222         (ppc_cannot_fetch_register): Renamed from cannot_fetch_register,
14223         made static.
14224         (ppc_cannot_store_register): Renamed from cannot_store_register,
14225         made static.
14226         (the_low_target): New.
14227         * linux-s390-low.c (num_regs): Remove.
14228         (s390_num_regs): Define.
14229         (s390_regmap): Renamed from regmap, made static.
14230         (s390_cannot_fetch_register): Renamed from cannot_fetch_register,
14231         made static.
14232         (s390_cannot_store_register): Renamed from cannot_store_register,
14233         made static.
14234         (the_low_target): New.
14235         * linux-sh-low.c (num_regs): Remove.
14236         (sh_num_regs): Define.
14237         (sh_regmap): Renamed from regmap, made static.
14238         (sh_cannot_fetch_register): Renamed from cannot_fetch_register,
14239         made static.
14240         (sh_cannot_store_register): Renamed from cannot_store_register,
14241         made static.
14242         (the_low_target): New.
14243         * linux-x86-64-low.c (x86_64_regmap): Renamed from regmap.
14244         (the_low_target): New.
14245
14246 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
14247
14248         * Makefile.in: Add stamp-h target.
14249         * configure.in: Create stamp-h.
14250         * configure: Regenerated.
14251
14252 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
14253
14254         * inferiors.c: New file.
14255         * target.c: New file.
14256         * target.h: New file.
14257         * Makefile.in:  Add target.o and inferiors.o.  Update
14258         dependencies.
14259         * linux-low.c (inferior_pid): New static variable,
14260         moved from server.c.
14261         (linux_create_inferior): Renamed from create_inferior.
14262         Call add_inferior.  Return 0 on success instead of a PID.
14263         (linux_attach): Renamed from myattach.
14264         (linux_kill): Renamed from kill_inferior.  Call clear_inferiors ().
14265         (linux_thread_alive): Renamed from mythread_alive.
14266         (linux_wait): Renamed from mywait.  Call clear_inferiors () if the
14267         child dies.
14268         (linux_resume): Renamed from myresume.  Add missing ``return 0''.
14269         (regsets_store_inferior_registers): Correct error message.
14270         Add missing ``return 0''.
14271         (linux_fetch_registers): Renamed from fetch_inferior_registers.
14272         (linux_store_registers): Renamed from store_inferior_registers.
14273         (linux_read_memory): Renamed from read_inferior_memory.
14274         (linux_write_memory): Renamed from write_inferior_memory.
14275         (linux_target_ops): New structure.
14276         (initialize_low): Call set_target_ops ().
14277         * remote-utils.c (unhexify): New function.
14278         (hexify): New function.
14279         (input_interrupt): Send signals to ``signal_pid''.
14280         * server.c (inferior_pid): Remove.
14281         (start_inferior): Update create_inferior call.
14282         (attach_inferior): Call add_inferior.
14283         (handle_query): New function.
14284         (main): Call handle_query for `q' packets.
14285         * server.h: Include "target.h".  Remove obsolete prototypes.
14286         Add prototypes for "inferiors.c", "target.c", hexify, and unhexify.
14287
14288 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
14289
14290         * Makefile.in: Add WARN_CFLAGS.  Update configury
14291         dependencies.
14292         * configure.in: Check for <string.h>
14293         * configure: Regenerate.
14294         * config.in: Regenerate.
14295         * gdbreplay.c: Include needed system headers.
14296         (remote_open): Remove strchr prototype.
14297         * linux-low.h: Correct #ifdef to HAVE_LINUX_USRREGS.
14298         * regcache.c (supply_register): Change buf argument to const void *.
14299         (supply_register_by_name): Likewise.
14300         (collect_register): Change buf argument to void *.
14301         (collect_register_by_name): Likewise.
14302         * regcache.h: Add missing prototypes.
14303         * remote-utils.c: Include <arpa/inet.h> for inet_ntoa.
14304         * server.c (handle_query): New function.
14305         (attached): New static variable, moved out of main.
14306         (main): Quiet longjmp clobber warnings.
14307         * server.h: Add ATTR_NORETURN and ATTR_FORMAT.  Update prototypes.
14308         * utils.c (error): Remove NORETURN.
14309         (fatal): Likewise.