GDBserver: Fix "Cond. jump or move depends on uninit value" in x87 code
[external/binutils.git] / gdb / gdbserver / ChangeLog
1 2018-07-11  Pedro Alves  <palves@redhat.com>
2
3         * i387-fp.c (i387_cache_to_fsave, cache_to_fxsave)
4         (i387_cache_to_xsave): Use regcache_raw_get_unsigned_by_name
5         instead of collect_register_by_name.
6         * regcache.c (regcache_raw_get_unsigned_by_name): New.
7         * regcache.h (regcache_raw_get_unsigned_by_name): New.
8
9 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
10             Pedro Alves  <palves@redhat.com>
11
12         * linux-low.c (initialize_low): Call linux_proc_init_warnings.
13
14 2018-07-03  Tom Tromey  <tom@tromey.com>
15
16         * linux-low.c: Update.
17         * lynx-low.c: Update.
18         * mem-break.c: Update.
19         * nto-low.c: Update.
20         * remote-utils.c: Update.
21         * server.c: Update.
22         * spu-low.c: Update.
23         * target.c: Update.
24         * win32-low.c: Update.
25
26 2018-07-03  Tom Tromey  <tom@tromey.com>
27
28         * server.c: Update.
29
30 2018-07-03  Tom Tromey  <tom@tromey.com>
31
32         * linux-low.c: Update.
33
34 2018-07-03  Tom Tromey  <tom@tromey.com>
35
36         * target.c: Update.
37
38 2018-07-03  Tom Tromey  <tom@tromey.com>
39
40         * linux-low.c: Update.
41         * linux-mips-low.c: Update.
42         * lynx-low.c: Update.
43         * nto-low.c: Update.
44         * remote-utils.c: Update.
45         * server.c: Update.
46         * spu-low.c: Update.
47         * target.c: Update.
48         * thread-db.c: Update.
49
50 2018-07-03  Tom Tromey  <tom@tromey.com>
51
52         * linux-low.c: Update.
53         * linux-mips-low.c: Update.
54         * lynx-low.c: Update.
55         * mem-break.c: Update.
56         * nto-low.c: Update.
57         * remote-utils.c: Update.
58         * server.c: Update.
59         * spu-low.c: Update.
60         * target.c: Update.
61         * tracepoint.c: Update.
62
63 2018-07-03  Tom Tromey  <tom@tromey.com>
64
65         * linux-low.c: Update.
66         * linux-ppc-low.c: Update.
67         * linux-x86-low.c: Update.
68         * proc-service.c: Update.
69         * server.c: Update.
70         * spu-low.c: Update.
71         * thread-db.c: Update.
72         * win32-low.c: Update.
73
74 2018-07-03  Tom Tromey  <tom@tromey.com>
75
76         * linux-low.c: Update.
77         * lynx-low.c: Update.
78         * nto-low.c: Update.
79         * remote-utils.c: Update.
80         * spu-low.c: Update.
81         * thread-db.c: Update.
82         * win32-low.c: Update.
83
84 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
85
86         * linux-x86-tdesc.c (amd64_linux_read_description): Add missing
87         parameter in call to 'amd64_create_target_description'.
88
89 2018-06-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
90
91         * x86-tdesc.h: Remove executable permission flag.
92
93 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
94
95         * configure.ac: Remove AC_PREREQ, add missing quoting.
96         * configure: Re-generate.
97         * config.in: Re-generate.
98         * aclocal.m4: Re-generate.
99
100 2018-06-18  Simon Marchi  <simon.marchi@ericsson.com>
101
102         * tracepoint.h (current_traceframe): Remove declaration.
103
104 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
105
106         * linux-aarch64-low.c (is_sve_tdesc): New function.
107         (aarch64_sve_regs_copy_to_regcache): Likewise.
108         (aarch64_sve_regs_copy_from_regcache): Likewise.
109         (aarch64_regs_info): Add SVE checks.
110         (initialize_low_arch): Initialize SVE.
111
112 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
113
114         * Makefile.in: Add aarch64-sve-linux-ptrace.c.
115
116 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
117
118         * linux-aarch64-ipa.c (get_ipa_tdesc): Add null VQ param.
119         (initialize_low_tracepoint): Likewise
120         * linux-aarch64-low.c (aarch64_arch_setup): Get VQ.
121         * linux-aarch64-tdesc-selftest.c (aarch64_tdesc_test): Add null VQ
122         param.
123         * linux-aarch64-tdesc.c (aarch64_linux_read_description): Add VQ
124         checks.
125         * linux-aarch64-tdesc.h (aarch64_linux_read_description): Add VQ.
126
127 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
128
129         * server.h (PBUFSIZ): Increase size
130
131 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
132
133         * regcache.c (regcache::raw_compare): New function.
134         * regcache.h (regcache::raw_compare): New declaration.
135
136 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
137
138         * regcache.c (new_register_cache): Use new.
139         (free_register_cache): Use delete.
140         (register_data): Use const.
141         (supply_register): Move body inside regcache.
142         (regcache::raw_supply): New override function.
143         (collect_register): Move body inside regcache.
144         (regcache::raw_collect): New override function.
145         (regcache::get_register_status): New override function.
146         * regcache.h (struct regcache): Inherit from reg_buffer_common.
147
148 2018-06-09  Tom Tromey  <tom@tromey.com>
149
150         * event-loop.c (gdb_event, gdb_event_p): Remove typedefs.  Don't
151         declare queue.
152         (event_queue): Use std::queue.
153         (gdb_event_xfree): Remove.
154         (initialize_event_loop, process_event, wait_for_event): Update.
155
156 2018-06-08  Stan Cox  <scox@redhat.com>
157
158         * win32-low.c (win32_create_inferior):  last_ptid and last_status
159         moved to client_state.
160
161 2018-06-08  Pedro Alves  <palves@redhat.com>
162
163         * Makefile.in (GDBREPLAY_OBS): Add common/cleanups.o,
164         common/common-exceptions.o, common/common-utils.o,
165         common/errors.o, common/print-utils.o and utils.o.
166         * gdbreplay.c: Include "common-defs.h" instead of the two
167         'config.h's here.  Don't include stdio.h, errno.h, stdlib.h,
168         string.h or alloca.h.
169         (perror_with_name): Delete.
170         (remote_open): Use xstrdup instead of strdup.
171         (main): Rename to ...
172         (captured_main): ... this.
173         (main): New.
174
175 2018-06-08  Tom Tromey  <tom@tromey.com>
176
177         * linux-low.c (linux_low_read_btrace): Update.
178
179 2018-06-04  Stan Cox  <scox@redhat.com>
180
181         * server.h (struct client_state): New.
182         * server.c (cont_thread, general_thread, multi_process)
183         (report_fork_events, report_vfork_events, report_exec_events)
184         (report_thread_events, swbreak_feature, hwbreak_feature)
185         (vCont_supported, disable_randomization, pass_signals)
186         (program_signals, program_signals_p, last_status, last_ptid, own_buf):
187         Moved to client_state.
188         * remote-utils.c (remote_debug, noack_mode)
189         (transport_is_reliable): Moved to client_state.
190         * tracepoint.c (current_traceframe): Moved to client_state.
191
192         Update all callers.
193         * server.c, remote-utils.c, tracepoint.c, fork-child.c,
194         linux-low.c, remote-utils.h, target.c: Use client_state.
195
196 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
197
198         * configure.srv: Add new c/h file.
199
200 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
201
202         * linux-aarch64-tdesc.c (aarch64_linux_read_description): Add
203         null VQ.
204
205 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
206
207         * gdb.arch/mips-fpregset-core.exp: New test.
208         * gdb.arch/mips-fpregset-core.c: New test source.
209
210 2018-05-23  Erik Kurzinger  <ekurzinger@nvidia.com>
211
212         PR server/23198
213         * hostio.c (require_int): Do not report overflow for integers
214         between 0xfffffff and 0x7fffffff.
215
216 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
217
218         * linux-mips-low.c [HAVE_PTRACE_GETREGS] (mips_collect_register)
219         (mips_supply_register): Move outside HAVE_PTRACE_GETREGS.
220         (mips_collect_ptrace_register, mips_supply_ptrace_register): New
221         functions.
222         (the_low_target): Wire them.
223
224 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
225
226         * linux-ppc-low.c (ppc_fill_vrregset): Add vscr_offset variable.
227         Set vscr_offset to 0 in little-endian mode and 12 in big-endian
228         mode. Call collect_register_by_name with vscr using
229         vscr_offset. Zero-pad vscr and vrsave fields in collector buffer.
230         (ppc_store_vrregset): Add and set vscr_offset variable as in
231         ppc_fill_vrregset. Call supply_register_by_name with vscr using
232         vscr_offset.
233
234 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
235
236         * linux-ppc-low.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
237         (ppc_arch_setup): Change SIZEOF_VRREGS and SIZEOF_VSXREGS to
238         PPC_LINUX_SIZEOF_VRREGSET and PPC_LINUX_SIZEOF_VSXREGSET.
239
240 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
241
242         * linux-ppc-low.c (ppc_fill_vsxregset): Remove ppc_hwcap check.
243         (ppc_store_vsxregset): Likewise.
244         (ppc_fill_vrregset): Likewise.
245         (ppc_store_vrregset): Likewise.
246         (ppc_fill_evrregset): Likewise.
247         (ppc_store_evrregset): Likewise.
248         (ppc_regsets): Set VSX/VR/EVR regset sizes to 0.
249         (ppc_arch_setup): Iterate through ppc_regsets and set sizes when
250         needed.
251
252 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
253
254         * linux-ppc-low.c (ppc_arch_setup): Remove code for getting the
255         wordsize of the inferior. Call ppc_linux_target_wordsize.
256
257 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
258
259         * configure.srv (srv_tgtobj): Add arch/ppc-linux-common.o.
260         * Makefile.in (SFILES): Add arch/ppc-linux-common.c.
261         * linux-ppc-tdesc.h: Rename to linux-ppc-tdesc-init.h.
262         * linux-ppc-tdesc-init.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
263         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
264         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
265         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
266         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
267         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
268         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
269         (tdesc_powerpc_e500l): Remove.
270         * linux-ppc-ipa.c: Include arch/ppc-linux-tdesc.h and
271         linux-ppc-tdesc-init.h. Don't include linux-ppc-tdesc.h.
272         * linux-ppc-low.c: Include arch/ppc-linux-common.h,
273         arch/ppc-linux-tdesc.h, and linux-ppc-tdesc-init.h. Don't include
274         linux-ppc-tdesc.h.
275         (ppc_arch_setup): Remove target description matching code. Fill a
276         ppc_linux_features struct and call ppc_linux_match_description
277         with it.
278
279 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
280
281         * linux-mips-low.c (mips_cannot_fetch_register): Return 1 if the
282         width of the requested register exceeds the width of the
283         `ptrace' data type.
284         (mips_cannot_store_register): Likewise.
285
286 2018-05-21  Maciej W. Rozycki  <macro@mips.com>
287
288         * linux-mips-low.c (mips_fetch_register): New function.  Update
289         preceding comment.
290         (mips_store_gregset): Supply 0 rather than $restart for $zero.
291         (the_low_target): Wire `mips_fetch_register'.
292
293 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
294
295         * lynx-i386-low.c (LYNXOS_178): New macro.
296         [LYNXOS_178] (usr_fcontext_t): Provide a definition that matches
297         the layout on LynxOS-178.
298         (lynx_i386_fill_fpregset, lynx_i386_store_fpregset): Do not
299         handle floating point registers that are not supported by
300         LynxOS-178.
301
302 2018-05-10  Tom Tromey  <tom@tromey.com>
303
304         * configure: Rebuild.
305
306 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
307
308         PR server/23158:
309         * tdesc.h (init_target_desc) <expedite_regs>: New parameter.
310         * tdesc.c (init_target_desc) <expedite_regs>: New parameter.
311         Use it to set the expedite_regs field in the given tdesc.
312         * x86-tdesc.h: New file.
313         * linux-aarch64-tdesc.c (aarch64_linux_read_description):
314         Adjust following the addition of the new expedite_regs parameter
315         to init_target_desc.
316         * linux-tic6x-low.c (tic6x_read_description): Likewise.
317         * linux-x86-tdesc.c: #include "x86-tdesc.h".
318         (i386_linux_read_description, amd64_linux_read_description):
319         Adjust following the addition of the new expedite_regs parameter
320         to init_target_desc.
321         * lynx-i386-low.c: #include "x86-tdesc.h".
322         (lynx_i386_arch_setup): Adjust following the addition of the new
323         expedite_regs parameter to init_target_desc.
324         * nto-x86-low.c: #include "x86-tdesc.h".
325         (nto_x86_arch_setup): Adjust following the addition of the new
326         expedite_regs parameter to init_target_desc.
327         * win32-i386-low.c: #include "x86-tdesc.h".
328         (i386_arch_setup): Adjust following the addition of the new
329         expedite_regs parameter to init_target_desc.
330
331 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
332
333         PR server/23158:
334         * win32-low.c (win32_create_inferior): Add call to my_wait
335         setting last_status global.
336
337 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
338
339         PR server/23158:
340         * win32-low.c (create_process): Only call gdb_tilde_expand if
341         inferior_cwd is not NULL.
342
343 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
344
345         * i387-fp.c (i387_cache_to_xsave): Only write x87 control
346         registers to the cache if their values have changed.
347         (i387_xsave_to_cache): Provide default values for x87 control
348         registers when these features are available, but disabled.
349         * regcache.c (supply_register_by_name_zeroed): New function.
350         * regcache.h (supply_register_by_name_zeroed): Declare new
351         function.
352
353 2018-05-07  Tom Tromey  <tom@tromey.com>
354
355         * configure: Rebuild.
356
357 2018-05-04  Tom Tromey  <tom@tromey.com>
358
359         * configure: Rebuild.
360
361 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
362             Pedro Alves <palves@redhat.com>
363
364         * linux-aarch64-low.c (aarch64_stopped_data_address):
365         Likewise.
366
367 2018-04-27  Tom Tromey  <tom@tromey.com>
368
369         * configure: Rebuild.
370
371 2018-04-23  Tom Tromey  <tom@tromey.com>
372
373         * configure: Rebuild.
374
375 2018-04-19  Simon Marchi  <simon.marchi@ericsson.com>
376
377         * Makefile.in (depcomp): Add "..".
378         (all_deps_files): New and use it.
379
380 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
381
382         * configure.srv (aarch64*-*-linux*): Don't include xml.
383         (i[34567]86-*-cygwin*): Likewise.
384         (i[34567]86-*-linux*): Likewise.
385         (i[34567]86-*-lynxos*): Likewise.
386         (i[34567]86-*-mingw32ce*): Likewise.
387         (i[34567]86-*-mingw*): Likewise.
388         (i[34567]86-*-nto*): Likewise.
389         (tic6x-*-uclinux): Likewise.
390         (x86_64-*-linux*): Likewise.
391         (x86_64-*-mingw*): Likewise.
392         (x86_64-*-cygwin*): Likewise.
393
394 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
395
396         * tdesc.c: Remove xml parameter.
397
398 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
399
400         * server.c (get_features_xml): Remove cast.
401         * tdesc.c (void target_desc::accept): Fill in function.
402         (tdesc_get_features_xml): Remove old xml creation.
403         (print_xml_feature::visit_pre): Add xml vistor.
404         * tdesc.h (struct target_desc): Make xmltarget mutable.
405         (tdesc_get_features_xml): Remove declaration.
406
407 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
408
409         * tdesc.c (tdesc_architecture_name): Add new function.
410         (tdesc_osabi_name): Likewise.
411         (tdesc_get_features_xml): Use new functions.
412
413 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
414
415         * tdesc.c (tdesc_create_flags): Remove.
416         (tdesc_add_flag): Likewise.
417         (tdesc_named_type): Likewise.
418         (tdesc_create_union): Likewise.
419         (tdesc_create_struct): Likewise.
420         (tdesc_create_vector): Likewise.
421         (tdesc_add_bitfield): Likewise.
422         (tdesc_add_field): Likewise.
423         (tdesc_set_struct_size): Likewise.
424
425 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
426
427         * tdesc.c (~target_desc): Remove implictly deleted items.
428         (init_target_desc): Iterate all features.
429         (tdesc_get_features_xml): Use vector.
430         (tdesc_create_feature): Create feature.
431         * tdesc.h (tdesc_feature) Remove
432         (target_desc): Add features.
433
434 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
435
436         * Makefile.in: Add common/tdesc.c
437         * tdesc.c (init_target_desc): init all reg_defs from register
438         vector.
439         (tdesc_create_reg): Create tdesc_reg.
440         * tdesc.h (tdesc_feature): Add register vector.
441
442 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
443
444         * tdesc.h (struct target_desc) <features>: Change type to
445         std::vector<std::string>.
446         * tdesc.c (target_desc::~target_desc): Adjust to std::vector
447         changes.
448         (tdesc_get_features_xml): Likewise.
449         (tdesc_create_feature): Likewise.
450
451 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
452
453         * regcache.c (find_register_by_number): Return a ref.
454         (find_regno): Use references.
455         (register_size): Likewise.
456         (register_data): Likewise.
457         * tdesc.c (target_desc::~target_desc): Remove free calls.
458         (target_desc::operator==): Use std::vector compare.
459         (init_target_desc): Use reference.
460         (tdesc_create_reg): Use reg constructors.
461         * tdesc.h (struct target_desc): Replace pointer with object.
462
463 2018-03-23  Alan Hayward  <alan.hayward@arm.com>
464
465         * regcache.c (find_register_by_number): Make static.
466         (find_regno): Use find_register_by_number
467         * regcache.h (struct reg): Remove declaration.
468
469 2018-03-23  Alan Hayward  <alan.hayward@arm.com>
470
471         * tdesc.c (target_desc::~target_desc): Move to here.
472         (target_desc::operator==): Likewise.
473         * tdesc.h (target_desc::~target_desc): Move from here.
474         (target_desc::operator==): Likewise.
475
476 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
477
478         * linux-s390-low.c (s390_get_wordsize): Correct brace style.
479
480 2018-03-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
481
482         * linux-s390-ipa.c (get_ipa_tdesc): Add handling for
483         S390_TDESC_GS.
484         * linux-s390-low.c (s390_get_ipa_tdesc_idx): Likewise.
485         (initialize_low_tracepoint): Call init_registers_s390x_gs_linux64
486         and init_registers_s390_gs_linux64.
487
488 2018-03-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
489
490         * linux-s390-low.c (s390_fill_gs): Remove function.
491         (s390_fill_gsbc): Remove function.
492         (s390_regsets): Set fill functions for the guarded storage regsets
493         to NULL.
494
495 2018-03-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
496
497         * linux-s390-low.c (s390_get_hwcap): Replace tdesc parameter by
498         the word size.  Add comment.
499         (s390_get_wordsize): New function.
500         (s390_arch_setup): No longer select a temporary tdesc to fetch the
501         pswm with it.  Instead, use s390_get_wordsize to determine the
502         word size first and derive the correct tdesc from that directly.
503
504 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
505
506         * Makefile.in: Include silent-rules.mk.
507         (srcdir, abs_top_srcdir, abs_srcdir, VPATH): Move up.
508         (COMPILE): Add ECHO_CXX.
509         (gdbserver$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
510         (gdbreplay$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
511         ($(IPA_LIB)): Add SILENCE and ECHO_CXXLD.
512         (version-generated.c): Add ECHO_GEN.
513         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN_GENERATED.
514         (IPAGENT_COMPILE): Add ECHO_CXX.
515         (%-generated.c): Add ECHO_REGDAT.
516
517 2018-03-14  Tom Tromey  <tom@tromey.com>
518
519         PR cli/14977:
520         * ax.c (ax_printf): Special case for NULL.
521
522 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
523
524         * linux-low.c (linux_qxfer_libraries_svr4): Use
525         xml_escape_text_append.
526
527 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
528
529         * linux-low.c (linux_qxfer_libraries_svr4): Use std::string.
530
531 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
532
533         * server.c (handle_general_set): Remove unnecessary xstrdup.
534
535 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
536
537         * server.c (parse_debug_format_options): Adjust to
538         delim_string_to_char_ptr_vec changes.
539         * thread-db.c (thread_db_load_search): Adjust to
540         dirnames_to_char_ptr_vec changes.
541
542 2018-03-01  Markus Metzger  <markus.t.metzger@intel.com>
543
544         * target.h (target_enable_btrace, target_disable_btrace)
545         (target_read_btrace, target_read_btrace_conf): Turn macro into
546         inline function.  Throw error if target method is not defined.
547         * server.c (handle_qxfer_btrace handle_qxfer_btrace_conf): Remove
548         check for btrace target method.  Be prepared to handle exceptions
549         from btrace target methods.
550
551 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
552
553         * server.c (captured_main): Change order of error message printed
554         when the current working directory cannot be found.
555
556 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
557
558         * server.c: Include "filenames.h" and "pathstuff.h".
559         (program_name): Delete variable.
560         (program_path): New anonymous class.
561         (get_exec_wrapper): Use "program_path" instead of
562         "program_name".
563         (handle_v_run): Likewise.
564         (captured_main): Likewise.
565         (process_serial_event): Likewise.
566
567 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
568
569         * Makefile.in (SFILES): Add "$(srcdir)/common/pathstuff.c".
570         (OBJS): Add "pathstuff.o".
571         * server.c (current_directory): New global variable.
572         (captured_main): Initialize "current_directory".
573
574 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
575
576         * tdesc.c: Use common/tdesc.h.
577         * tdesc.h: Likewise.
578
579 2018-02-20  Alan Hayward  <alan.hayward@arm.com>
580             Simon Marchi  <simon.marchi@ericsson.com>
581
582         * Makefile.in: Switch order of make rules.
583
584 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
585
586         * Makefile.in: Add common directory in build.
587         * configure.ac: Add common reference.
588         * configure: Regenerate.
589
590 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
591
592         * linux-low.c (linux_target_ops): Remove linux_supports_btrace.
593         * nto-low.c (nto_target_ops): Remove NULL for supports_btrace.
594         * spu-low.c (spu_target_ops): Likewise.
595         * win32-low.c (win32_target_ops): Likewise.
596         * server.c (supported_btrace_packets): Report packets unconditionally.
597         * target.h (target_ops) <supports_btrace>: Remove.
598         (target_supports_btrace): Remove.
599
600 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
601
602         * server.c (handle_btrace_enable_bts, handle_btrace_enable_pt)
603         (handle_btrace_disable): Change return type to void.  Use exceptions
604         to report errors.
605         (handle_btrace_general_set): Catch exception and copy message to
606         return message.
607
608 2018-02-08  Tom Tromey  <tom@tromey.com>
609
610         * linux-low.c (install_software_single_step_breakpoints): Use
611         make_scoped_restore.
612         * inferiors.c (make_cleanup_restore_current_thread): Remove.
613         (do_restore_current_thread_cleanup): Remove.
614         * gdbthread.h (make_cleanup_restore_current_thread): Don't
615         declare.
616
617 2018-02-08  Tom Tromey  <tom@tromey.com>
618
619         * mem-break.c (set_raw_breakpoint_at): Use
620         gdb::unique_xmalloc_ptr.
621
622 2018-01-30  Pedro Alves  <palves@redhat.com>
623
624         PR gdb/13211
625         * target.c (target_terminal::terminal_state): Rename to ...
626         (target_terminal::m_terminal_state): ... this.
627
628 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
629
630         * linux-low.c (handle_extended_wait): Surround call to
631         thread_db_notice_clone with #ifdef USE_THREAD_DB.
632
633 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
634
635         * linux-low.c (attach_proc_task_lwp_callback): Adjust to
636         linux_ptrace_attach_fail_reason_string now returning an
637         std::string.
638         (linux_attach): Likewise.
639         * thread-db.c (attach_thread): Likewise.
640
641 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
642
643         PR gdb/21559
644         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
645         checking for fs_base/gs_base fields in struct user_regs_struct.
646         * configure: Regenerate.
647
648 2018-01-16  Yao Qi  <yao.qi@linaro.org>
649
650         PR gdb/18749
651         * linux-low.c (fetch_register): Call supply_register instead of
652         error.
653
654 2018-01-08  Yao Qi  <yao.qi@linaro.org>
655             Simon Marchi  <simon.marchi@ericsson.com>
656
657         * Makefile.in (OBS): Remove selftest.o.
658         * configure.ac: Set srv_selftest_objs if $development is true.
659         (GDBSERVER_DEPFILES): Append $srv_selftest_objs.
660         * configure: Re-generated.
661         * server.c (captured_main): Wrap variable selftest_filter with
662         GDB_SELF_TEST.
663
664 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
665
666         * server.c (parse_debug_format_options): Return std::string.
667         (handle_monitor_command, captured_main): Adjust.
668
669 2018-01-05  Pedro Alves  <palves@redhat.com>
670
671         PR gdb/18653
672         * server.c (captured_main): Pass quiet=false to
673         save_original_signals_state.
674
675 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
676
677         * gdbreplay.c (gdbreplay_version): Update copyright year in
678         version message.
679         * server.c (gdbserver_version): Likewise.
680
681 2017-12-08  Tom Tromey  <tom@tromey.com>
682
683         * ax.c (ax_printf): Update.
684
685 2017-12-07  Yao Qi  <yao.qi@linaro.org>
686
687         * linux-aarch64-ipa.c (initialize_low_tracepoint): Call
688         aarch64_linux_read_description.
689         * linux-amd64-ipa.c (idx2mask): New array.
690         (get_ipa_tdesc): Move idx2mask out.
691         (initialize_low_tracepoint): Initialize target descriptions.
692         * linux-i386-ipa.c (idx2mask): New array.
693         (get_ipa_tdesc): Move idx2mask out.
694         (initialize_low_tracepoint): Initialize target descriptions.
695
696 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
697
698         * tdesc.c (struct tdesc_type): Change return type.
699         (tdesc_add_flag): Change parameter type.
700         (tdesc_add_bitfield): Likewise.
701         (tdesc_add_field): Likewise.
702         (tdesc_set_struct_size): Likewise.
703
704 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
705
706         * regcache.c (registers_to_string): Remove unused variable.
707
708 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
709
710         * inferiors.c (for_each_inferior_with_data): Remove.
711         * inferiors.h (for_each_inferior_with_data): Remove.
712         * server.c (handle_qxfer_threads_worker): Change parameter type.
713         (handle_qxfer_threads_proper): Use for_each_thread.
714
715 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
716
717         * inferiors.c (for_each_inferior): Remove.
718         (clear_inferiors): Use for_each_thread.
719         * inferiors.h (for_each_inferior): Remove.
720         * linux-low.c (linux_wait_for_event_filtered): Use
721         for_each_thread.
722         (linux_stabilize_threads): Likewise.
723         * regcache.c (regcache_release): Likewise.
724         * server.c (gdb_wants_all_threads_stopped): Likewise.
725         (clear_pending_status_callback): Remove.
726         (handle_status): Use for_each_thread.
727         (captured_main): Likewise.
728         * win32-low.c (child_init_thread_list): Likewise.
729         (win32_clear_inferiors): Likewise.
730         (fake_breakpoint_event): Likewise.
731
732 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
733
734         * inferiors.h (find_inferior): Remove.
735         * inferiors.c (find_inferior): Remove.
736
737 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
738
739         * linux-low.c (resume_status_pending_p): Update comment.
740         (need_step_over_p): Update comment.
741
742 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
743
744         * linux-low.c (proceed_one_lwp): Return void, change parameter
745         type.
746         (unsuspend_and_proceed_one_lwp): Likewise.
747         (proceed_all_lwps): Use for_each_thread.
748         (unstop_all_lwps): Likewise.
749
750 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
751
752         * linux-low.c (linux_resume_one_thread): Return void, take
753         parameter directly.
754         (linux_resume): Use for_each_thread.
755
756 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
757
758         * linux-low.c (send_sigstop_callback): Return void, change
759         parameter type.  Rename to...
760         (send_sigstop): ... this.
761         (suspend_and_send_sigstop_callback): Return void, change parameter
762         type.  Rename to...
763         (suspend_and_send_sigstop): ... this.
764         (stop_all_lwps): Use for_each_thread.
765
766 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
767
768         * linux-low.c (lwp_running): Return bool, remove unused
769         argument.
770         (linux_stabilize_threads): Use find_thread.
771
772 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
773
774         * linux-low.c (select_singlestep_lwp_callback): Remove.
775         (count_events_callback): Remove.
776         (select_event_lwp_callback): Remove.
777         (select_event_lwp): Use find_thread/for_each_thread.
778
779 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
780
781         * linux-low.c (not_stopped_callback): Return bool, take filter
782         argument directly.
783         (linux_wait_for_event_filtered): Use find_thread.
784         (linux_wait_1): Likewise.
785
786 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
787
788         * linux-low.c (same_lwp): Remove.
789         (find_lwp_pid): Use find_thread.
790
791 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
792
793         * linux-low.c (delete_lwp_callback): Remove.
794         (linux_mourn): Use for_each_thread.
795
796 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
797
798         * linux-low.c (linux_detach_lwp_callback): Return void, remove
799         args parameter, don't check for pid.
800         (linux_detach): Use for_each_thread.
801
802 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
803
804         * linux-low.c (struct counter): Remove.
805         (second_thread_of_pid_p): Remove.
806         (last_thread_of_process_p): Use find_thread.
807
808 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
809
810         * inferiors.c (find_inferior_in_random): Remove.
811         * inferiors.h (find_inferior_in_random): Remove.
812         * linux-low.c (status_pending_p_callback): Return bool, accept
813         parameter ptid directly.
814         (linux_wait_for_event_filtered): Use find_thread_in_random.
815         (linux_wait_1): Likewise.
816
817 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
818
819         * inferiors.c (find_inferior_id): Remove.
820         (find_thread_ptid): Move implemention from find_inferior_id to
821         here.
822         * inferiors.h (find_inferior_id): Remove.
823         * server.c (handle_status): Use find_thread_ptid.
824         (process_serial_event): Likewise.
825         * thread-db.c (find_one_thread): Likewise.
826         (thread_db_thread_handle): Likewise.
827         * win32-low.c (thread_rec): Likewise.
828         (child_delete_thread): Likewise.
829         (win32_thread_alive): Likewise.
830         (get_child_debug_event): Likewise.
831
832 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
833
834         * linux-mips-low.c (update_watch_registers_callback): Return
835         void, remove pid_p parameter, don't check for pid.
836         (mips_insert_point, mips_remove_point): Use for_each_thread.
837
838 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
839
840         * lynx.low (lynx_delete_thread_callback): Remove.
841         (lynx_mourn): Use for_each_thread.
842
843 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
844
845         * regcache.c (regcache_invalidate_one): Remove.
846         (regcache_invalidate_pid): use for_each_thread.
847
848 2017-11-26  Tom Tromey  <tom@tromey.com>
849
850         * linux-low.c (linux_create_inferior): Update.
851
852 2017-11-24  Ulrich Weigand  <uweigand@de.ibm.com>
853
854         * spu-low.c (spu_create_inferior): Fix typo in argument name.
855
856 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
857
858         * configure.srv: Add linux-aarch64-tdesc-selftest.o.
859         * linux-aarch64-low.c (initialize_low_arch): Call init func.
860         * linux-aarch64-tdesc-selftest.c: New file.
861         * linux-aarch64-tdesc.h (initialize_low_tdesc): New declaration.
862
863 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
864
865         * configure.srv: Add new file.
866         * linux-aarch64-low.c (initialize_low_arch): Call init func.
867         * linux-aarch64-tdesc-selftest.c: New file.
868         * linux-aarch64-tdesc.h (initialize_low_tdesc): New declaration.
869
870 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
871
872         * linux-aarch64-ipa.c (initialize_low_tracepoint): Remove init.
873         * linux-aarch64-low.c (initialize_low_arch): Remove init.
874         * linux-aarch64-tdesc.c (aarch64_linux_read_description): Add init.
875
876 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
877
878         * configure.srv: Add new files.
879         * linux-aarch64-ipa.c (get_ipa_tdesc): Call
880         aarch64_linux_read_description.
881         * linux-aarch64-low.c (aarch64_linux_read_description):
882         Merge with aarch64_arch_setup.
883         (aarch64_arch_setup): Call aarch64_linux_read_description.
884         * linux-aarch64-tdesc.c: New file.
885         * linux-aarch64-tdesc.h: New file.
886
887 2017-11-24  Yao Qi  <yao.qi@linaro.org>
888
889         * configure.srv: Set $srv_regobj for tic6x-linux.
890         * linux-tic6x-low.c: Include "arch/tic6x.h" and "tdesc.h".
891         (tic6x_read_description): Move some code to tic6x_arch_setup.
892         (tic6x_tdesc_test): New function.
893         (initialize_low_arch): Call selftests::register_test.
894
895 2017-11-22  Yao Qi  <yao.qi@linaro.org>
896
897         * remote-utils.c (prepare_resume_reply): Use memcpy.
898
899 2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
900
901         * linux-low.c (kill_one_lwp_callback): Return void, take
902         argument directly, don't filter on pid.
903         (linux_kill): Use for_each_thread.
904
905 2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
906
907         * linux-low.c (need_step_over_p): Return bool, remove dummy
908         argument.
909         (linux_resume, proceed_all_lwps): Use find_thread.
910
911 2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
912
913         * linux-low.c (resume_status_pending_p): Return bool, remove
914         flag_p argument.
915         (linux_resume): Use find_thread.
916
917 2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
918
919         * linux-low.c (struct thread_resume_array): Remove.
920         (linux_set_resume_request): Return void, take arguments
921         directly.
922         (linux_resume): Use for_each_thread.
923
924 2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
925
926         * linux-low.c (stuck_in_jump_pad_callback): Change prototype,
927         return bool, remove data argument.
928         (linux_stabilize_threads): Use find_thread.
929
930 2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
931
932         * linux-low.c (unsuspend_one_lwp): Remove.
933         (unsuspend_all_lwps): Use for_each_thread, inline code from
934         unsuspend_one_lwp.
935
936 2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
937
938         * gdbthread.h (find_thread): Add overload with ptid_t filter.
939         * linux-low.c (struct iterate_over_lwps_args): Remove.
940         (iterate_over_lwps_filter): Remove.
941         (iterate_over_lwps): Use find_thread.
942
943 2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
944
945         * linux-low.c (reset_lwp_ptrace_options_callback): Remove.
946         (linux_handle_new_gdb_connection): Use for_each_thread, inline
947         code from reset_lwp_ptrace_options_callback.
948
949 2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
950
951         * linux-arm-low.c (struct update_registers_data): Remove.
952         (update_registers_callback): Return void, take arguments
953         directly, don't check thread's pid.
954         (arm_insert_point, arm_remove_point): Use for_each_thread.
955
956 2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
957
958         * win32-low.c (continue_one_thread): Return void, take argument
959         directly.
960         (child_continue): Use for_each_thread.
961
962 2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
963
964         * win32-i386-low.c (update_debug_registers_callback): Rename
965         to ...
966         (update_debug_registers): ... this, return void, remove pid_p arg.
967         (x86_dr_low_set_addr, x86_dr_low_set_control): Use for_each_thread.
968
969 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
970
971         * inferiors.h (struct process_info): Add constructor, initialize
972         fields..
973         <syscalls_to_catch>: Change type to std::vector<int>.
974         * inferiors.c (add_process): Allocate process_info with new.
975         (remove_process): Free process_info with delete.
976         * linux-low.c (handle_extended_wait): Adjust.
977         (gdb_catching_syscalls_p, gdb_catch_this_syscall_p): Adjust.
978         * server.c (handle_general_set): Adjust.
979
980 2017-11-16  Pedro Alves  <palves@redhat.com>
981
982         * remote-utils.c (remote_close): Block SIGIO signals instead of
983         uninstalling the SIGIO handler.
984
985 2017-11-16  Alan Hayward  <alan.hayward@arm.com>
986
987         * tdesc.c (tdesc_get_features_xml): Allow null osabi.
988
989 2017-11-16  Yao Qi  <yao.qi@linaro.org>
990
991         * linux-tic6x-low.c (tic6x_fill_gregset): Cast buf.
992         (tic6x_store_gregset): Likewise.
993         (tic6x_usrregs_info): Move it up.
994
995 2017-11-15  Alan Hayward  <alan.hayward@arm.com>
996
997         * Makefile.in: Update arch rules.
998         * configure.srv: Explicitly mark arch/ files.
999
1000 2017-11-13  Andreas Schwab  <schwab@suse.de>
1001
1002         * linux-m68k-low.c (m68k_supports_hardware_single_step): New
1003         function.
1004         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
1005
1006 2017-11-06  Pedro Alves  <palves@redhat.com>
1007
1008         * config.in, configure: Regenerate.
1009
1010 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
1011
1012         * target.c (struct thread_search): Remove.
1013         (thread_search_callback): Remove.
1014         (prepare_to_access_memory): Use for_each_thread instead of
1015         find_inferior.  Inline code from thread_search_callback.
1016
1017 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
1018
1019         * server.c (struct visit_actioned_threads_data): Remove.
1020         (visit_actioned_threads): Change prototype to take arguments
1021         directly.
1022         (resume): Use find_thread instead of find_inferior.
1023
1024 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
1025
1026         * server.c (queue_stop_reply_callback): Change prototype, return
1027         void.
1028         (find_status_pending_thread_callback): Remove.
1029         (handle_status): Replace find_inferior with find_thread and
1030         for_each_thread.
1031
1032 2017-10-25  Alan Hayward  <alan.hayward@arm.com>
1033
1034         * linux-aarch64-low.c (aarch64_fill_gregset): Replace defines
1035         with REGNO.
1036         (aarch64_store_gregset): Likewise.
1037         (aarch64_fill_fpregset): Likewise.
1038         (aarch64_store_fpregset): Likewise.
1039
1040 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
1041
1042         * gdbthread.h (find_thread, for_each_thread): New functions.
1043         * inferiors.c (thread_of_pid): Remove.
1044         (find_any_thread_of_pid): Use find_thread.
1045         * linux-low.c (num_lwps): Use for_each_thread.
1046
1047 2017-10-17  Yao Qi  <yao.qi@linaro.org>
1048
1049         * Makefile.in: Remove one rule.
1050         * configure.srv: Rename aarch64-insn.o with arch/aarch64-insn.o.
1051
1052 2017-10-17  Yao Qi  <yao.qi@linaro.org>
1053
1054         * configure.srv: Rename arm-linux.o with arch/arm-linux.o.
1055         Rename arm-get-next-pcs.o with arch/arm-get-next-pcs.o.
1056
1057 2017-10-17  Yao Qi  <yao.qi@linaro.org>
1058
1059         * configure.srv: Rename arm.o with arch/arm.o.
1060
1061 2017-10-17  Yao Qi  <yao.qi@linaro.org>
1062
1063         * Makefile.in (CONFIG_SRC_SUBDIR): New variable.
1064         (clean): Remove .o files in CONFIG_SRC_SUBDIR.
1065         (distclean): Remove DEPDIR in CONFIG_SRC_SUBDIR.
1066         (arch-i386.o, arch-amd64.o): Remove rules.
1067         (arch/%.o): New rule.
1068         Update POSTCOMPILE and COMPILE.pre.
1069         * configure.ac: Invoke AC_CONFIG_COMMANDS.
1070         * configure: Re-generated.
1071         * configure.srv: Replace arch-i386.o with arch/i386.o.
1072         Replace arch-amd64.o with arch/amd64.o.
1073
1074 2017-10-16  Yao Qi  <yao.qi@linaro.org>
1075
1076         * configure: Regenerated.
1077
1078 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
1079
1080         * inferiors.h: (struct inferior_list): Remove.
1081         (struct inferior_list_entry); Remove.
1082         (add_inferior_to_list, clear_inferior_list, one_inferior_p,
1083         A_I_NEXT, ALL_INFERIORS_TYPE, ALL_INFERIORS, remove_inferior,
1084         get_first_inferior): Remove.
1085         (for_each_inferior, for_each_inferior_with_data, find_inferior,
1086         find_inferior_id, find_inferior_in_random): Change signature.
1087         * inferiors.c (all_threads): Change type to
1088         std::list<thread_info *>.
1089         (get_thread): Remove macro.
1090         (find_inferior, find_inferior_id): Change signature, implement
1091         using find_thread.
1092         (find_inferior_in_random): Change signature, implement using
1093         find_thread_in_random.
1094         (for_each_inferior, for_each_inferior_with_data): Change
1095         signature, implement using for_each_thread.
1096         (add_inferior_to_list, remove_inferior): Remove.
1097         (add_thread, get_first_thread, thread_of_pid,
1098         find_any_thread_of_pid, free_one_thread, remove_thread): Update.
1099         (get_first_inferior, one_inferior_p, clear_inferior_list):
1100         Remove.
1101         (clear_inferiors, get_thread_process): Update.
1102         * gdbthread.h: Include <list>.
1103         (struct thread_info) <entry>: Remove field.
1104         <id>: New field.
1105         (all_threads): Change type to std::list<thread_info *>.
1106         (get_first_inferior): Add doc.
1107         (find_thread, for_each_thread, find_thread_in_random): New
1108         functions.
1109         (current_ptid, pid_of, ptid_of, lwpid_of): Update.
1110         * linux-arm-low.c (update_registers_callback): Update.
1111         * linux-low.c (second_thread_of_pid_p): Update.
1112         (kill_one_lwp_callback, linux_detach_lwp_callback,
1113         delete_lwp_callback, status_pending_p_callback, same_lwp,
1114         find_lwp_pid, num_lwps, iterate_over_lwps_filter,
1115         iterate_over_lwps, not_stopped_callback,
1116         resume_stopped_resumed_lwps, count_events_callback,
1117         select_singlestep_lwp_callback, select_event_lwp_callback,
1118         unsuspend_one_lwp, linux_wait_1, send_sigstop_callback,
1119         suspend_and_send_sigstop_callback, wait_for_sigstop,
1120         stuck_in_jump_pad_callback, move_out_of_jump_pad_callback,
1121         lwp_running, linux_set_resume_request, resume_status_pending_p,
1122         need_step_over_p, start_step_over, linux_resume_one_thread,
1123         proceed_one_lwp, unsuspend_and_proceed_one_lwp,
1124         reset_lwp_ptrace_options_callback): Update.
1125         * linux-mips-low.c (update_watch_registers_callback): Update.
1126         * regcache.c (regcache_invalidate_one, regcache_invalidate):
1127         Update.
1128         (free_register_cache_thread_one): Remove.
1129         (regcache_release): Update.
1130         * server.c (handle_btrace_enable_bts, handle_btrace_enable_pt,
1131         handle_qxfer_threads_worker): Update.
1132         (handle_query): Update, use list iterator.
1133         (visit_actioned_threads, handle_pending_status,
1134         queue_stop_reply_callback, gdb_wants_all_threads_stopped,
1135         clear_pending_status_callback, set_pending_status_callback,
1136         find_status_pending_thread_callback, handle_status,
1137         process_serial_event): Update.
1138         * target.c (thread_search_callback): Update.
1139         * thread-db.c (thread_db_get_tls_address): Update.
1140         * tracepoint.c (tracepoint_finished_step, tracepoint_was_hit):
1141         Update.
1142         * win32-i386-low.c (update_debug_registers_callback): Update.
1143         * win32-low.c (delete_thread_info, child_delete_thread,
1144         continue_one_thread, suspend_one_thread,
1145         get_child_debug_event): Adjust.
1146
1147 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
1148
1149         * gdbthread.h (ptid_of, pid_of, lwpid_of): New functions.
1150         * inferiors.h: Include <list>.
1151         (struct process_info) <entry>: Remove field.
1152         <pid>: New field.
1153         (pid_of): Change macro to function.
1154         (ptid_of, lwpid_of): Remove macro.
1155         (all_processes): Change type to std::list<process_info *>.
1156         (ALL_PROCESSES): Remove macro.
1157         (for_each_process, find_process): New function.
1158         * inferiors.c (all_processes): Change type to
1159         std::list<process_info *>.
1160         (find_thread_process): Adjust.
1161         (add_process): Likewise.
1162         (remove_process): Likewise.
1163         (find_process_pid): Likewise.
1164         (get_first_process): Likewise.
1165         (started_inferior_callback): Remove.
1166         (have_started_inferiors_p): Adjust.
1167         (attached_inferior_callback): Remove.
1168         (have_attached_inferiors_p): Adjust.
1169         * linux-low.c (check_zombie_leaders): Likewise.
1170         * linux-x86-low.c (x86_arch_setup_process_callback): Remove.
1171         (x86_linux_update_xmltarget): Adjust.
1172         * server.c (handle_query): Likewise.
1173         (gdb_reattached_process): Remove.
1174         (handle_status): Adjust.
1175         (kill_inferior_callback): Likewise.
1176         (detach_or_kill_inferior): Remove.
1177         (print_started_pid): Likewise.
1178         (print_attached_pid): Likewise.
1179         (detach_or_kill_for_exit): Update.
1180         (process_serial_event): Likewise.
1181         * linux-arm-low.c (arm_new_fork): Likewise.
1182
1183 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
1184
1185         * dll.h: Include <list>.
1186         (struct dll_info): Add constructor.
1187         <entry>: Remove field.
1188         (all_dlls): Change type to std::list<dll_info>.
1189         * dll.c: Include <algorithm>.
1190         (get_dll): Remove macro.
1191         (all_dlls): Change type to std::list<dll_info *>.
1192         (free_one_dll): Remove.
1193         (match_dll): Likewise.
1194         (loaded_dll): Adjust.
1195         (unloaded_dll): Adjust to all_dlls type change, use
1196         std::find_if.  Inline code from match_dll.
1197         (clear_dlls): Adjust to all_dlls type change.
1198         * server.c (emit_dll_description): Remove.
1199         (handle_qxfer_libraries): Adjust to all_dlls type change,
1200         integrate emit_dll_description's functionality.
1201
1202 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
1203
1204         * linux-low.h (struct linux_target_ops) <delete_process>: New
1205         field.
1206         * linux-low.c (linux_mourn): Call the_low_target.delete_process.
1207         * linux-aarch64-low.c (aarch64_linux_delete_process): New.
1208         (struct linux_target_ops): Add delete_process callback.
1209         * linux-arm-low.c (arm_delete_process): New.
1210         (struct linux_target_ops): Add delete_process callback.
1211         * linux-bfin-low.c (struct linux_target_ops): Likewise.
1212         * linux-crisv32-low.c (struct linux_target_ops): Likewise.
1213         * linux-m32r-low.c (struct linux_target_ops): Likewise.
1214         * linux-mips-low.c (mips_linux_delete_process): New.
1215         (struct linux_target_ops): Add delete_process callback.
1216         * linux-ppc-low.c (struct linux_target_ops): Likewise.
1217         * linux-s390-low.c (struct linux_target_ops): Likewise.
1218         * linux-sh-low.c (struct linux_target_ops): Likewise.
1219         * linux-tic6x-low.c (struct linux_target_ops): Likewise.
1220         * linux-tile-low.c (struct linux_target_ops): Likewise.
1221         * linux-x86-low.c (x86_linux_delete_process): New.
1222         (struct linux_target_ops): Add delete_process callback.
1223         * linux-xtensa-low.c (struct linux_target_ops): Likewise.
1224
1225 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
1226
1227         * linux-aarch64-low.c (the_low_target): Add thread delete
1228         callback.
1229         * linux-arm-low.c (arm_delete_thread): New function.
1230         (the_low_target): Add thread delete callback.
1231         * linux-bfin-low.c (the_low_target): Likewise.
1232         * linux-crisv32-low.c (the_low_target): Likewise.
1233         * linux-low.c (delete_lwp): Invoke delete_thread callback if
1234         set.
1235         * linux-low.h (struct linux_target_ops) <delete_thread>: New
1236         field.
1237         * linux-m32r-low.c (the_low_target): Add thread delete callback.
1238         * linux-mips-low.c (mips_linux_delete_thread): New function.
1239         (the_low_target): Add thread delete callback.
1240         * linux-ppc-low.c (the_low_target): Likewise.
1241         * linux-s390-low.c (the_low_target): Likewise.
1242         * linux-sh-low.c (the_low_target): Likewise.
1243         * linux-tic6x-low.c (the_low_target): Likewise.
1244         * linux-tile-low.c (the_low_target): Likewise.
1245         * linux-x86-low.c (the_low_target): Likewise.
1246         * linux-xtensa-low.c (the_low_target): Likewise.
1247
1248 2017-10-06  Yuanhui Zhang  <asmwarrior@gmail.com>
1249
1250         * win32-low.c: Include "common-inferior.h".
1251
1252 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
1253
1254         * inferiors.c (set_inferior_cwd): New function.
1255         * server.c (handle_general_set): Handle QSetWorkingDir packet.
1256         (handle_query): Inform that QSetWorkingDir is supported.
1257         * win32-low.c (create_process): Pass the inferior's cwd to
1258         CreateProcess.
1259
1260 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
1261
1262         * inferiors.c (current_inferior_cwd): New global variable.
1263         (get_inferior_cwd): New function.
1264         * inferiors.h (struct process_info) <cwd>: New field.
1265
1266 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
1267
1268         * Makefile.in (SFILES): Add $(srcdir)/common/gdb_tilde_expand.c.
1269         (OBS): Add gdb_tilde_expand.o.
1270
1271 2017-10-02  Simon Marchi  <simon.marchi@ericsson.com>
1272
1273         * lynx-i386-low.c (lynx_i386_arch_setup): Call init_target_desc.
1274         * nto-x86-low.c (nto_x86_arch_setup): Likewise.
1275
1276 2017-09-29  Pedro Alves  <palves@redhat.com>
1277
1278         * ax.c (gdb_parse_agent_expr): Constify.
1279         * ax.h (gdb_parse_agent_expr): Constify.
1280         * mem-break.c (add_breakpoint_condition, add_breakpoint_commands):
1281         Constify.
1282         * mem-break.h (add_breakpoint_condition, add_breakpoint_commands): Constify.
1283         * remote-utils.c (hex_or_minus_one, read_ptid): Constify.
1284         * remote-utils.h (read_ptid): Constify.
1285         * server.c (handle_qxfer_exec_file, handle_query, handle_v_cont)
1286         (process_point_options, process_serial_event): Constify.
1287         * tracepoint.c (add_tracepoint_action, cmd_qtdp, cmd_qtdpsrc)
1288         (cmd_qtdv, cmd_qtenable_disable, cmd_qtro, cmd_qtframe, cmd_qtp)
1289         (cmd_qtbuffer): Constify.
1290
1291 2017-09-29  Pedro Alves  <palves@redhat.com>
1292
1293         * proc-service.c (ps_pdread): Return PS_ERR if reading memory
1294         fails.
1295
1296 2017-09-29  Pedro Alves  <palves@redhat.com>
1297
1298         * linux-low.c (handle_extended_wait): Pass parent thread instead
1299         of process to thread_db_notice_clone.
1300         * linux-low.h (thread_db_notice_clone): Replace parent process
1301         parameter with parent thread parameter.
1302         * thread-db.c (find_one_thread): Add comment.
1303         (thread_db_notice_clone): Replace parent process parameter with
1304         parent thread parameter.  Temporarily switch to the parent thread.
1305
1306 2017-09-26  Sergio Durigan Junior  <sergiodj@redhat.com>
1307
1308         * gdbthread.h: Include "common-gdbthread.h".
1309         * inferiors.c (switch_to_thread): Use "gdb_assert" instead of
1310         "if" when validating the ptid.
1311         * remote-utils.c: Include "gdbthread.h".
1312         (prepare_resume_reply): Use "switch_to_thread".
1313         * target.c (done_accessing_memory): Likewise.
1314
1315 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1316
1317         * configure.srv (s390*-*-linux*): Add s390-gs-linux64.o and
1318         s390x-gs-linux64.o to srv_regobj.  Add s390-gs-linux64.xml,
1319         s390x-gs-linux64.xml, s390-gs.xml, and s390-gsbc.xml to
1320         srv_xmlfiles.  Add s390-gs-linux64-ipa.o and
1321         s390x-gs-linux64-ipa.o to ipa_obj.
1322         * linux-s390-low.c (HWCAP_S390_GS): New define.
1323         (s390_fill_gs, s390_store_gs, s390_fill_gsbc, s390_store_gsbc):
1324         New functions.
1325         (s390_regsets): Add regsets for NT_S390_GS_CB and NT_S390_GS_BC.
1326         (s390_arch_setup): Check for guarded-storage support and choose
1327         appropriate tdesc.
1328         (initialize_low_arch): Invoke init_registers_s390_gs_linux64 and
1329         init_registers_s390x_gs_linux64.
1330         * linux-s390-tdesc.h (enum s390_linux_tdesc) <S390_TDESC_GS>: New
1331         enum value.
1332         (init_registers_s390x_gs_linux64, tdesc_s390x_gs_linux64)
1333         (init_registers_s390_gs_linux64, tdesc_s390_gs_linux64): Declare.
1334
1335 2017-09-22  Simon Marchi  <simon.marchi@ericsson.com>
1336
1337         * win32-i386-low.c (i386_arch_setup): Call init_target_desc.
1338
1339 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
1340
1341         * linux-low.h (struct lwp_info): Add new field, thread_handle.
1342         (thread_db_thread_handle): Declare.
1343         * linux-low.c (linux_target_ops): Initialize thread_handle.
1344         * server.c (handle_qxfer_threads_worker): Add support for
1345         "handle" attribute.
1346         * target.h (struct target_ops): Add new function pointer,
1347         thread_handle.
1348         (target_thread_handle): Define.
1349         * thread-db.c (find_one_thread, attach_thread): Set thread_handle
1350         field in lwp.
1351         (thread_db_thread_handle): New function.
1352
1353 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
1354
1355         * linux-low.c (handle_extended_wait): Call thread_db_notice_clone().
1356         * linux-low.h (thread_db_notice_clone): Declare.
1357         * thread-db.c (thread_db_notice_clone): New function.
1358
1359 2017-09-21  Pedro Alves  <palves@redhat.com>
1360
1361         * server.c (gdb_read_memory, handle_status, process_serial_event)
1362         (handle_serial_event, handle_target_event): Adjust to
1363         set_desired_thread prototype change.
1364         * target.c (set_desired_thread): Remove 'use_general' parameter
1365         and adjust.
1366         * target.h (set_desired_thread): Remove 'use_general' parameter.
1367
1368 2017-09-20  Tom Tromey  <tom@tromey.com>
1369
1370         * target.c (target_terminal::terminal_state): Define.
1371         (target_terminal::init): Rename from target_terminal_init.
1372         (target_terminal::inferior): Rename from
1373         target_terminal_inferior.
1374         (target_terminal::ours): Rename from target_terminal_ours.
1375         (target_terminal::ours_for_output, target_terminal::info): New.
1376
1377 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
1378
1379         * server.c (accumulate_file_name_length): Remove.
1380         (emit_dll_description): Adjust to std::string change.
1381         (handle_qxfer_libraries): Use std::string to hold document.
1382
1383 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
1384
1385         * linux-low.c (linux_qxfer_libraries_svr4): Adjust to change of
1386         return type of xml_escape_text.
1387         * server.c (emit_dll_description): Likewise.
1388
1389 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
1390
1391         * server.c (captured_main): Accept argument for --selftest.
1392         Update run_tests call.
1393         * linux-x86-tdesc-selftest.c (initialize_low_tdesc): Add names
1394         when registering selftests.
1395
1396 2017-09-16  Sergio Durigan Junior  <sergiodj@redhat.com>
1397
1398         * regcache.c (get_thread_regcache): Update code to use "std::vector"
1399         instead of "VEC" for "target_desc.reg_defs".
1400         (regcache_cpy): Likewise.
1401         (registers_to_string): Likewise.
1402         (registers_from_string): Likewise.
1403         (find_regno): Likewise.
1404         (supply_regblock): Likewise.
1405         (regcache_raw_read_unsigned): Likewise.
1406         * tdesc.c (init_target_desc): Likewise.
1407         (tdesc_create_reg): Likewise.
1408         * tdesc.h: Remove declaration of "tdesc_reg_p".  Include <vector>.
1409         (struct target_desc) <reg_defs>: Convert to "std::vector".
1410         (target_desc): Do not initialize "reg_defs".
1411         (~target_desc): Update code to use "std::vector" instead of "VEC"
1412         for "target_desc.reg_defs".
1413         (operator==): Likewise.
1414
1415 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
1416
1417         * inferiors.h (thread_to_gdb_id): Remove.
1418         * inferiors.c (thread_to_gdb_id): Remove.
1419         * server.c (handle_qxfer_threads_worker, handle_query): Adjust.
1420         * lynx-low.c (lynx_resume, lynx_wait_1, lynx_fetch_registers,
1421         lynx_store_registers, lynx_read_memory, lynx_write_memory):
1422         Likewise.
1423         * nto-low.c (nto_fetch_registers, nto_store_registers,
1424         nto_stopped_by_watchpoint, nto_stopped_data_address): Likewise.
1425
1426 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
1427
1428         * inferiors.h (gdb_id_to_thread_id): Remove.
1429         * inferiors.c (gdb_id_to_thread_id): Remove.
1430         * server.c (process_serial_event): Adjust to gdb_id_to_thread_id
1431         removal.  Move pid declaration closer to where it's used.
1432
1433 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
1434
1435         * server.c (handle_detach): New function.
1436         (process_serial_event): Move code out, call handle_detach.
1437
1438 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
1439
1440         * server.c (require_running): Rename to ...
1441         (require_running_or_return): ... this ...
1442         (require_running_or_break): ... and this.
1443         (handle_query, process_serial_event): Adjust.
1444
1445 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
1446
1447         * linux-low.c (linux_set_resume_request): Remove unused
1448         variables.
1449
1450 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
1451
1452         * server.c (first_thread_of): Remove.
1453         (process_serial_event): Replace usage of first_thread_of with
1454         find_any_thread_of_pid.
1455         * tracepoint.c (same_process_p): Remove.
1456         (gdb_agent_about_to_close): Replace usage of same_process_p with
1457         find_any_thread_of_pid.
1458         * linux-x86-low.c (same_process_callback): Remove.
1459         (x86_arch_setup_process_callback): Replace usage of
1460         same_process_callback with find_any_thread_of_pid.
1461         * thread-db.c (any_thread_of): Remove.
1462         (switch_to_process): Replace usage of any_thread_of with
1463         find_any_thread_of_pid.
1464         * inferiors.c (thread_pid_matches_callback): Remove.
1465         (find_thread_process): Adjust to use find_any_thread_of_pid.
1466
1467 2017-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
1468
1469         * regcache.c (get_thread_regcache): Guard calls to "memset"
1470           with "!VEC_empty".
1471
1472 2017-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
1473
1474         * linux-low.c (handle_extended_wait): Use
1475         "allocate_target_description" instead of "XNEW".
1476         * linux-x86-low.c (initialize_low_arch): Likewise.
1477
1478 2017-09-05  Yao Qi  <yao.qi@linaro.org>
1479
1480         * configure.srv (srv_i386_regobj): Remove.
1481         (srv_amd64_regobj): Remove.
1482         (srv_regobj): Set it to "" for x86 non-linux targets.
1483         * linux-x86-tdesc.c (i386_linux_read_description):
1484         * lynx-i386-low.c: Include x86-xstate.h and arch/i386.h.
1485         (init_registers_i386): Remove the declaration.
1486         (tdesc_i386): Remove the declaration.
1487         (lynx_i386_arch_setup): Call i386_create_target_description.
1488         * nto-x86-low.c: Likewise.
1489         * win32-i386-low.c [__x86_64__]: include arch/amd64.h.
1490         [!__x86_64__]: include arch/i386.h.
1491         (i386_arch_setup) [__x86_64__]: Call amd64_create_target_description.
1492
1493 2017-09-05  Yao Qi  <yao.qi@linaro.org>
1494
1495         * configure.srv (srv_amd64_linux_xmlfiles): Remove
1496         i386/amd64-XXX-linux from it.
1497
1498 2017-09-05  Yao Qi  <yao.qi@linaro.org>
1499
1500         * configure.srv: Empty srv_amd64_linux_regobj if $development is
1501         false.
1502         (ipa_amd64_linux_regobj): Remove.
1503         (ipa_x32_linux_regobj): Remove.
1504
1505 2017-09-05  Yao Qi  <yao.qi@linaro.org>
1506
1507         * Makefile.in (arch-amd64.o): New rule.
1508         * configure.srv: Append arch-amd64.o.
1509         * linux-amd64-ipa.c: Include common/x86-xstate.h.
1510         (get_ipa_tdesc): Call amd64_linux_read_description.
1511         (initialize_low_tracepoint): Don't call init_registers_x32_XXX
1512         and init_registers_amd64_XXX.
1513         * linux-x86-low.c (x86_linux_read_description): Call
1514         amd64_linux_read_description.
1515         (x86_get_ipa_tdesc_idx): Call amd64_get_ipa_tdesc_idx.
1516         (initialize_low_arch): Don't call init_registers_x32_XXX and
1517         init_registers_amd64_XXX.
1518         * linux-x86-tdesc-selftest.c: Declare init_registers_amd64_XXX
1519         and tdesc_amd64_XXX.
1520         [__x86_64__] (amd64_tdesc_test): New function.
1521         (initialize_low_tdesc) [__x86_64__]: Call init_registers_x32_XXX
1522         and init_registers_amd64_XXX.
1523         * linux-x86-tdesc.c: Include arch/amd64.h.
1524         (xcr0_to_tdesc_idx): New function.
1525         (i386_linux_read_description): New function.
1526         (amd64_get_ipa_tdesc_idx): New function.
1527         * linux-x86-tdesc.h (amd64_get_ipa_tdesc_idx): Declare.
1528         (amd64_get_ipa_tdesc): Declare.
1529
1530 2017-09-05  Yao Qi  <yao.qi@linaro.org>
1531
1532         * configure.srv (srv_i386_linux_xmlfiles): Remove
1533         i386/i386-XXX-linux.xml from it.
1534
1535 2017-09-05  Yao Qi  <yao.qi@linaro.org>
1536
1537         * configure.srv: Set srv_i386_linux_regobj empty if $development
1538         is false.
1539         * linux-i386-ipa.c (initialize_low_tracepoint): Don't call
1540         initialize_low_tdesc.
1541         * linux-x86-low.c (initialize_low_arch): Wrap initialize_low_tdesc
1542         with #if initialize_low_tdesc.
1543         * linux-x86-tdesc-selftest.c: New file.
1544         * linux-x86-tdesc.c: Move code to linux-x86-tdesc-selftest.c.
1545
1546 2017-09-05  Yao Qi  <yao.qi@linaro.org>
1547
1548         * Makefile.in (arch-i386.o): New rule.
1549         * configure.srv (i[34567]86-*-linux*): Add arch-i386.o.
1550         (x86_64-*-linux*): Likewise.
1551         * linux-x86-tdesc.c: Don't include ../features/i386/32bit-XXX.c,
1552         include arch/i386.h.
1553         (i386_linux_read_description): Remove code and call
1554         i386_create_target_description.
1555         * tdesc.c (allocate_target_description): New function.
1556         * tdesc.h (set_tdesc_architecture): Remove declaration.
1557         (set_tdesc_osabi): Likewise.
1558
1559 2017-09-05  Yao Qi  <yao.qi@linaro.org>
1560
1561         * linux-x86-tdesc.c: Don't include <inttypes.h>.
1562         (i386_linux_read_description) [!IN_PROCESS_AGENT]: Call
1563         set_tdesc_architecture and set_tdesc_osabi.  Remove code setting
1564         .xmltarget.
1565         * server.c (get_features_xml): Call tdesc_get_features_xml.
1566         * tdesc.c (set_tdesc_architecture): New function.
1567         (set_tdesc_osabi): New function.
1568         (tdesc_get_features_xml): New function.
1569         (tdesc_create_feature): Add an argument.
1570         * tdesc.h (struct target_desc) <features>: New field.
1571         <arch, osabi>: New field.
1572         (~target_desc): xfree features, arch, and osabi.
1573         (target_desc::oerator==): Don't compare .xmltarget.
1574         [!IN_PROCESS_AGENT] (set_tdesc_architecture): Declare.
1575         (set_tdesc_osabi): Likewise.
1576         (tdesc_get_features_xml): Likewise.
1577
1578 2017-09-05  Yao Qi  <yao.qi@linaro.org>
1579
1580         * linux-x86-tdesc.c: Include selftest.h.
1581         (i386_tdesc_test): New function.
1582         (initialize_low_tdesc): Call selftests::register_test.
1583         * tdesc.h: Include regdef.h.
1584         (target_desc): Override operator == and !=.
1585
1586 2017-09-05  Yao Qi  <yao.qi@linaro.org>
1587
1588         * configure.srv (srv_tgtobj): Append linux-x86-tdesc.o.
1589         (ipa_obj): Likewise.
1590         * linux-i386-ipa.c: Include common/x86-xstate.h
1591         (get_ipa_tdesc): Call i386_linux_read_description.
1592         (initialize_low_tracepoint): Don't call  init_registers_XXX
1593         functions, call initialize_low_tdesc instead.
1594         * linux-x86-low.c (x86_linux_read_description): Call
1595         i386_linux_read_description.
1596         (initialize_low_arch): Don't call init_registers_i386_XXX
1597         functions, call initialize_low_tdesc.
1598         * linux-x86-tdesc.c: New file.
1599         * linux-x86-tdesc.h (x86_linux_tdesc): New X86_TDESC_LAST.
1600         (i386_get_ipa_tdesc_idx): Declare.
1601         (i386_get_ipa_tdesc): Declare.
1602         (initialize_low_tdesc): Declare.
1603
1604 2017-09-05  Yao Qi  <yao.qi@linaro.org>
1605
1606         * linux-x86-low.c (x86_get_ipa_tdesc_idx): Use X86_TDESC_MMX
1607         instead of 0.
1608
1609 2017-09-05  Yao Qi  <yao.qi@linaro.org>
1610
1611         * Makefile.in (IPA_OBJS): Add vec-ipa.o
1612         * regcache.c (get_thread_regcache): Use VEC_length.
1613         (init_register_cache): Likewise.
1614         (regcache_cpy): Likewise.
1615         (registers_to_string): Iterate reg_defs via VEC_iterate.
1616         (find_regno): Likewise.
1617         (find_register_by_number): Use VEC_index.
1618         (register_size): Call find_register_by_number.
1619         (register_data): Call find_register_by_number.
1620         (supply_regblock): Use VEC_length.
1621         (regcache_raw_read_unsigned): Likewise.
1622         * tdesc.c (init_target_desc): Iterate reg_defs via
1623         VEC_iterate.
1624         (default_description): Update initializer.
1625         (copy_target_description): Don't update field num_registers.
1626         * tdesc.h (struct target_desc) <reg_defs>: Change it to VEC.
1627         <num_registers>: Remove.
1628
1629 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
1630
1631         * Makefile.in (.SECONDARY): Define target.
1632
1633 2017-09-03  Simon Marchi  <simon.marchi@ericsson.com>
1634
1635         * linux-low.c (linux_wait_1): Adjust.
1636         * server.c (queue_stop_reply_callback): Adjust.
1637
1638 2017-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
1639
1640         * server.c (handle_general_set): Handle QEnvironmentHexEncoded,
1641         QEnvironmentUnset and QEnvironmentReset packets.
1642         (handle_query): Inform remote that QEnvironmentHexEncoded,
1643         QEnvironmentUnset and QEnvironmentReset are supported.
1644
1645 2017-08-25  Simon Marchi  <simon.marchi@ericsson.com>
1646
1647         * inferiors.h (inferior_target_data): Rename to ...
1648         (thread_target_data): ... this.
1649         (inferior_regcache_data): Rename to ...
1650         (thread_regcache_data): ... this.
1651         (set_inferior_regcache_data): Rename to ...
1652         (set_thread_regcache_data): ... this.
1653         * inferiors.c (inferior_target_data): Rename to ...
1654         (thread_target_data): ... this.
1655         (inferior_regcache_data): Rename to ...
1656         (thread_regcache_data): ... this.
1657         (set_inferior_regcache_data): Rename to ...
1658         (set_thread_regcache_data): ... this.
1659         (free_one_thread): Update.
1660         * linux-low.h (get_thread_lwp): Update.
1661         * regcache.c (get_thread_regcache): Update.
1662         (regcache_invalidate_thread): Update.
1663         (free_register_cache_thread): Update.
1664         * win32-i386-low.c (update_debug_registers_callback): Update.
1665         (win32_get_current_dr): Update.
1666         * win32-low.c (thread_rec): Update.
1667         (delete_thread_info): Update.
1668         (continue_one_thread): Update.
1669         (suspend_one_thread): Update.
1670
1671 2017-08-24  Simon Marchi  <simon.marchi@ericsson.com>
1672
1673         * inferiors.c (set_inferior_target_data): Remove.
1674         * inferiors.h (set_inferior_target_data): Remove.
1675
1676 2017-08-18  Yao Qi  <yao.qi@linaro.org>
1677
1678         * Makefile.in (OBS): Add selftest.o.
1679         * configure.ac: AC_DEFINE GDB_SELF_TEST if $development.
1680         * configure, config.in: Re-generated.
1681         * server.c: Include common/sefltest.h.
1682         (captured_main): Handle option --selftest.
1683
1684 2017-08-09  Yao Qi  <yao.qi@linaro.org>
1685
1686         * configure.srv (srv_i386_regobj): Remove i386-avx.o,
1687         i386-avx-avx512.o, i386-avx-mpx-avx512-pku.o, i386-mpx.o,
1688         i386-avx-mpx.o and i386-mmx.o.
1689         (srv_amd64_regobj): Remove amd64-avx.o, amd64-avx-avx512.o,
1690         amd64-avx-mpx-avx512-pku.o, amd64-mpx.o and amd64-avx-mpx.o.
1691         (srv_i386_xmlfiles): Remove i386/i386-avx.xml,
1692         i386/i386-avx-avx512.xml, i386/i386-avx-mpx-avx512-pku.xml,
1693         i386/i386-mpx.xml, i386/i386-avx-mpx.xml and i386/i386-mmx.xml.
1694         (srv_amd64_xmlfile):i386/amd64-avx.xml, i386/amd64-avx-avx512.xml,
1695         i386/amd64-avx-mpx-avx512-pku.xml, i386/amd64-mpx.xml,
1696         i386/amd64-avx-mpx.xml.
1697
1698 2017-08-09  Yao Qi  <yao.qi@linaro.org>
1699
1700         * configure.srv (srv_amd64_regobj): Remove x32.o, x32-avx.o
1701         and x32-avx-avx512.o.
1702         (srv_amd64_xmlfiles): Remove i386/x32.xml, i386/x32-avx.xml
1703         i386/x32-avx-avx512.xml.
1704
1705 2017-07-26  Simon Marchi  <simon.marchi@ericsson.com>
1706
1707         * tracepoint.h (enum class fast_tpoint_collect_result): New
1708         enumeration.
1709         (fast_tracepoint_collecting): Change return type to
1710         fast_tpoint_collect_result.
1711         * tracepoint.c (fast_tracepoint_collecting): Likewise.
1712         * linux-low.h: Include tracepoint.h.
1713         (struct lwp_info) <collecting_fast_tracepoint>: Change type to
1714         fast_tpoint_collect_result.
1715         * linux-low.c (handle_tracepoints): Adjust.
1716         (linux_fast_tracepoint_collecting): Change return type to
1717         fast_tpoint_collect_result.
1718         (maybe_move_out_of_jump_pad, linux_wait_for_event_filtered,
1719         linux_wait_1, stuck_in_jump_pad_callback,
1720         lwp_signal_can_be_delivered, linux_resume_one_lwp_throw,
1721         proceed_one_lwp): Adjust to type change.
1722
1723 2017-07-10  Yao Qi  <yao.qi@linaro.org>
1724
1725         * linux-x86-low.c (x86_linux_read_description): Re-indent the code.
1726
1727 2017-06-29  Yao Qi  <yao.qi@linaro.org>
1728
1729         * tdesc.h (struct target_desc) [IN_PROCESS_AGENT] <expedite_regs>:
1730         Remove.
1731         [IN_PROCESS_AGENT] <xmltarget>: Likewise.
1732
1733 2017-06-20  Simon Marchi  <simon.marchi@ericsson.com>
1734
1735         * Makefile.in (IPA_OBJS): Sort and format one item per line.
1736
1737 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
1738
1739         * linux-low.c (linux_create_inferior): Adjust code to access the
1740         environment information via 'gdb_environ' class.
1741         * lynx-low.c (lynx_create_inferior): Likewise.
1742         * server.c (our_environ): Make it an instance of 'gdb_environ'.
1743         (get_environ): Return a pointer to 'our_environ'.
1744         (captured_main): Initialize 'our_environ'.
1745         * server.h (get_environ): Adjust prototype.
1746         * spu-low.c (spu_create_inferior): Adjust code to access the
1747         environment information via 'gdb_environ' class.
1748
1749 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
1750
1751         * linux-low.c (linux_read_memory, linux_write_memory): Remove
1752         usage of "register" keyword.
1753
1754 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
1755
1756         * configure: Re-generate.
1757
1758 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
1759
1760         * configure: Re-generate.
1761
1762 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
1763
1764         * Makefile.in (COMPILE.pre): Add "-x c++".
1765
1766 2017-06-09  Sergio Durigan Junior  <sergiodj@redhat.com>
1767
1768         * fork-child.c: Conditionally include <signal.h>.
1769
1770 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
1771
1772         * server.c (handle_general_set): Handle new packet
1773         "QStartupWithShell".
1774         (handle_query): Add "QStartupWithShell" to the list of supported
1775         packets.
1776         (gdbserver_usage): Add help text explaining the
1777         new "--startup-with-shell" and "--no-startup-with-shell" CLI
1778         options.
1779         (captured_main): Recognize and act upon the presence of the new
1780         CLI options.
1781
1782 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
1783             Pedro Alves  <palves@redhat.com>
1784
1785         * Makefile.in (SFILES): Add "nat/fork-inferior.o".
1786         * configure: Regenerate.
1787         * configure.srv (srv_linux_obj): Add "fork-child.o" and
1788         "fork-inferior.o".
1789         (i[34567]86-*-lynxos*): Likewise.
1790         (spu*-*-*): Likewise.
1791         * fork-child.c: New file.
1792         * linux-low.c: Include "common-inferior.h", "nat/fork-inferior.h"
1793         and "environ.h".
1794         (linux_ptrace_fun): New function.
1795         (linux_create_inferior): Adjust function prototype to reflect
1796         change on "target.h".  Adjust function code to use
1797         "fork_inferior".
1798         (linux_request_interrupt): Delete "signal_pid".
1799         * lynx-low.c: Include "common-inferior.h" and "nat/fork-inferior.h".
1800         (lynx_ptrace_fun): New function.
1801         (lynx_create_inferior): Adjust function prototype to reflect
1802         change on "target.h".  Adjust function code to use
1803         "fork_inferior".
1804         * nto-low.c (nto_create_inferior): Adjust function prototype and
1805         code to reflect change on "target.h".  Update comments.
1806         * server.c: Include "common-inferior.h", "nat/fork-inferior.h",
1807         "common-terminal.h" and "environ.h".
1808         (terminal_fd): Moved to fork-child.c.
1809         (old_foreground_pgrp): Likewise.
1810         (restore_old_foreground_pgrp): Likewise.
1811         (last_status): Make it global.
1812         (last_ptid): Likewise.
1813         (our_environ): New variable.
1814         (startup_with_shell): Likewise.
1815         (program_name): Likewise.
1816         (program_argv): Rename to...
1817         (program_args): ...this.
1818         (wrapper_argv): New variable.
1819         (start_inferior): Delete function.
1820         (get_exec_wrapper): New function.
1821         (get_exec_file): Likewise.
1822         (get_environ): Likewise.
1823         (prefork_hook): Likewise.
1824         (post_fork_inferior): Likewise.
1825         (postfork_hook): Likewise.
1826         (postfork_child_hook): Likewise.
1827         (handle_v_run): Update code to deal with arguments coming from the
1828         remote host.  Update calls from "start_inferior" to
1829         "create_inferior".
1830         (captured_main): Likewise.  Initialize environment variable.  Call
1831         "have_job_control".
1832         * server.h (post_fork_inferior): New prototype.
1833         (get_environ): Likewise.
1834         (last_status): Declare.
1835         (last_ptid): Likewise.
1836         (signal_pid): Likewise.
1837         * spu-low.c: Include "common-inferior.h" and "nat/fork-inferior.h".
1838         (spu_ptrace_fun): New function.
1839         (spu_create_inferior): Adjust function prototype to reflect change
1840         on "target.h".  Adjust function code to use "fork_inferior".
1841         * target.c (target_terminal_init): New function.
1842         (target_terminal_inferior): Likewise.
1843         (target_terminal_ours): Likewise.
1844         * target.h: Include <vector>.
1845         (struct target_ops) <create_inferior>: Update prototype.
1846         (create_inferior): Update macro.
1847         * utils.c (gdb_flush_out_err): New function.
1848         * win32-low.c (win32_create_inferior): Adjust function prototype
1849         and code to reflect change on "target.h".
1850
1851 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
1852
1853         * inferiors.c (switch_to_thread): New function.
1854
1855 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
1856
1857         * Makefile.in (SFILE): Add "common/job-control.c".
1858         (OBS): Add "job-control.o".
1859
1860 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
1861
1862         * Makefile: Remove "@host_makefile_frag@".
1863
1864 2017-05-05  Pedro Alves  <palves@redhat.com>
1865
1866         * configure: Regenerate.
1867
1868 2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
1869
1870         * configure: Regenerate.
1871
1872 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
1873
1874         * linux-arm-low.c (arm_gdbserver_get_next_pcs): Adjust to
1875         software_single_step change of return type to
1876         std::vector<CORE_ADDR>.
1877         * linux-low.c (install_software_single_step_breakpoints):
1878         Likewise.
1879         * linux-low.h (install_software_single_step_breakpoints):
1880         Likewise.
1881
1882 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1883
1884         * remote-utils.c: Include "gdb_termios.h" instead of
1885         "terminal.h".
1886         * terminal.h: Delete file.
1887
1888 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1889
1890         * server.c: Include <vector>.
1891         <program_argv, wrapper_argv>: Convert to std::vector.
1892         (start_inferior): Rewrite function to use C++.
1893         (handle_v_run): Likewise.  Update code that calculates the argv
1894         based on the vRun packet; use C++.
1895         (captured_main): Likewise.
1896
1897 2017-04-06  Simon Marchi  <simon.marchi@ericsson.com>
1898
1899         * server.c (handle_v_cont): Initialize thread_resume::thread
1900         with null_ptid.
1901
1902 2017-04-05  Pedro Alves  <palves@redhat.com>
1903
1904         * configure: Regenerate.
1905
1906 2017-04-05  Pedro Alves  <palves@redhat.com>
1907
1908         * gdbreplay.c (sync_error): Constify.
1909         * linux-x86-low.c (push_opcode): Constify.
1910
1911 2017-04-05  Pedro Alves  <palves@redhat.com>
1912
1913         * win32-low.c (get_child_debug_event)
1914         <CREATE_PROCESS_DEBUG_EVENT>: Don't report TARGET_WAITKIND_EXECD.
1915         Report TARGET_WAITKIND_SPURIOUS instead.
1916
1917 2017-04-05  Pedro Alves  <palves@redhat.com>
1918
1919         * remote-utils.c (remote_prepare, remote_open): Constify.
1920         * remote-utils.h (remote_prepare, remote_open): Constify.
1921         * server.c (captured_main): Constify 'port' handling.
1922
1923 2017-04-04  Simon Marchi  <simon.marchi@ericsson.com>
1924
1925         * Makefile.in (clean): Clear .deps.
1926
1927 2017-03-31  Simon Marchi  <simon.marchi@polymtl.ca>
1928
1929         * .gitignore: Remove generated files, replace with wildcard.
1930         * (clean): Replace removal of generated files with wildcard.
1931         (version.c): Replace with...
1932         (version-generated.c): ...this.
1933         (xml-builtin.c): Replace with...
1934         (xml-builtin-generated.c): ...this.
1935         (%-ipa.o: %-generated.c, %.o: %-generated.c): New rules.
1936         (%.c: *regformats*): Replace with...
1937         (%-generated.c: *regformats*): ...this.
1938
1939 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
1940
1941         * linux-xtensa-low.c (regnum::R_THREADPTR): New enum member.
1942         (xtensa_fill_gregset): Call collect_register_by_name for
1943         threadptr register.
1944         (xtensa_store_gregset): Call supply_register_by_name for
1945         threadptr register.
1946
1947 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
1948
1949         * linux-xtensa-low.c (xtensa_fill_gregset): Call collect_register
1950         for all registers in a0_regnum..a0_regnum + C0_NREGS range.
1951         (xtensa_store_gregset): Call supply_register for all registers in
1952         a0_regnum..a0_regnum + C0_NREGS range.
1953
1954 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
1955
1956         * Makefile.in (%-ipa.o: %-ipa.c): New rule.
1957         (ax-ipa.o: ax.c): Remove.
1958         (linux-i386-ipa.o: linux-i386-ipa.c): Remove.
1959         (linux-amd64-ipa.o: linux-amd64-ipa.c): Remove.
1960         (linux-aarch64-ipa.o: linux-aarch64-ipa.c): Remove.
1961         (linux-s390-ipa.o: linux-s390-ipa.c): Remove.
1962         (linux-ppc-ipa.o: linux-ppc-ipa.c): Remove.
1963
1964 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
1965
1966         * Makefile.in (%-ipa.o: ../common/%.c): New rule.
1967         (print-utils-ipa.o: ../common/print-utils.c): Remove.
1968         (rsp-low-ipa.o: ../common/rsp-low.c): Remove.
1969         (errors-ipa.o: ../common/errors.c): Remove.
1970         (format-ipa.o: ../common/format.c): Remove.
1971         (common-utils-ipa.o: ../common/common-utils.c): Remove.
1972
1973 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
1974
1975         * Makefile.in (%-ipa.o: %.c): New rule.
1976         (tracepoint-ipa.o: tracepoint.c): Remove.
1977         (utils-ipa.o: utils.c): Remove.
1978         (remote-utils-ipa.o: remote-utils.c): Remove.
1979         (regcache-ipa.o: regcache.c): Remove.
1980         (i386-linux-ipa.o: i386-linux.c): Remove.
1981         (i386-mmx-linux-ipa.o: i386-mmx-linux.c): Remove.
1982         (i386-avx-linux-ipa.o: i386-avx-linux.c): Remove.
1983         (i386-mpx-linux-ipa.o: i386-mpx-linux.c): Remove.
1984         (i386-avx-mpx-linux-ipa.o: i386-avx-mpx-linux.c): Remove.
1985         (i386-avx-avx512-linux-ipa.o: i386-avx-avx512-linux.c): Remove.
1986         (i386-avx-mpx-avx512-pku-linux-ipa.o: i386-avx-mpx-avx512-pku-linux.c): Remove.
1987         (amd64-linux-ipa.o: amd64-linux.c): Remove.
1988         (amd64-avx-linux-ipa.o: amd64-avx-linux.c): Remove.
1989         (amd64-mpx-linux-ipa.o: amd64-mpx-linux.c): Remove.
1990         (amd64-avx-mpx-linux-ipa.o: amd64-avx-mpx-linux.c): Remove.
1991         (amd64-avx-avx512-linux-ipa.o: amd64-avx-avx512-linux.c): Remove.
1992         (amd64-avx-mpx-avx512-pku-linux-ipa.o: amd64-avx-mpx-avx512-pku-linux.c): Remove.
1993         (aarch64-ipa.o: aarch64.c): Remove.
1994         (s390-linux32-ipa.o: s390-linux32.c): Remove.
1995         (s390-linux32v1-ipa.o: s390-linux32v1.c): Remove.
1996         (s390-linux32v2-ipa.o: s390-linux32v2.c): Remove.
1997         (s390-linux64-ipa.o: s390-linux64.c): Remove.
1998         (s390-linux64v1-ipa.o: s390-linux64v1.c): Remove.
1999         (s390-linux64v2-ipa.o: s390-linux64v2.c): Remove.
2000         (s390-te-linux64-ipa.o: s390-te-linux64.c): Remove.
2001         (s390-vx-linux64-ipa.o: s390-vx-linux64.c): Remove.
2002         (s390-tevx-linux64-ipa.o: s390-tevx-linux64.c): Remove.
2003         (s390x-linux64-ipa.o: s390x-linux64.c): Remove.
2004         (s390x-linux64v1-ipa.o: s390x-linux64v1.c): Remove.
2005         (s390x-linux64v2-ipa.o: s390x-linux64v2.c): Remove.
2006         (s390x-te-linux64-ipa.o: s390x-te-linux64.c): Remove.
2007         (s390x-vx-linux64-ipa.o: s390x-vx-linux64.c): Remove.
2008         (s390x-tevx-linux64-ipa.o: s390x-tevx-linux64.c): Remove.
2009         (powerpc-32l-ipa.o: powerpc-32l.c): Remove.
2010         (powerpc-altivec32l-ipa.o: powerpc-altivec32l.c): Remove.
2011         (powerpc-cell32l-ipa.o: powerpc-cell32l.c): Remove.
2012         (powerpc-vsx32l-ipa.o: powerpc-vsx32l.c): Remove.
2013         (powerpc-isa205-32l-ipa.o: powerpc-isa205-32l.c): Remove.
2014         (powerpc-isa205-altivec32l-ipa.o: powerpc-isa205-altivec32l.c): Remove.
2015         (powerpc-isa205-vsx32l-ipa.o: powerpc-isa205-vsx32l.c): Remove.
2016         (powerpc-e500l-ipa.o: powerpc-e500l.c): Remove.
2017         (powerpc-64l-ipa.o: powerpc-64l.c): Remove.
2018         (powerpc-altivec64l-ipa.o: powerpc-altivec64l.c): Remove.
2019         (powerpc-cell64l-ipa.o: powerpc-cell64l.c): Remove.
2020         (powerpc-vsx64l-ipa.o: powerpc-vsx64l.c): Remove.
2021         (powerpc-isa205-64l-ipa.o: powerpc-isa205-64l.c): Remove.
2022         (powerpc-isa205-altivec64l-ipa.o: powerpc-isa205-altivec64l.c): Remove.
2023         (powerpc-isa205-vsx64l-ipa.o: powerpc-isa205-vsx64l.c): Remove.
2024         (tdesc-ipa.o: tdesc.c): Remove.
2025         (x32-linux-ipa.o: x32-linux.c): Remove.
2026         (x32-avx-linux-ipa.o: x32-avx-linux.c): Remove.
2027         (x32-avx512-linux-ipa.o: x32-avx512-linux.c): Remove.
2028
2029 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
2030
2031         * Makefile.in (%.o: ../arch/%.c): New rule.
2032         (arm.o: ../arch/arm.c): Remove.
2033         (arm-linux.o: ../arch/arm-linux.c): Remove.
2034         (arm-get-next-pcs.o: ../arch/arm-get-next-pcs.c): Remove.
2035         (aarch64-insn.o: ../arch/aarch64-insn.c): Remove.
2036
2037 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
2038
2039         * Makefile.in (%.o: ../nat/%.c): New rule.
2040         (x86-dregs.o: ../nat/x86-dregs.c): Remove.
2041         (amd64-linux-siginfo.o: ../nat/amd64-linux-siginfo.c): Remove.
2042         (linux-btrace.o: ../nat/linux-btrace.c): Remove.
2043         (linux-osdata.o: ../nat/linux-osdata.c): Remove.
2044         (linux-procfs.o: ../nat/linux-procfs.c): Remove.
2045         (linux-ptrace.o: ../nat/linux-ptrace.c): Remove.
2046         (linux-waitpid.o: ../nat/linux-waitpid.c): Remove.
2047         (mips-linux-watch.o: ../nat/mips-linux-watch.c): Remove.
2048         (ppc-linux.o: ../nat/ppc-linux.c): Remove.
2049         (linux-personality.o: ../nat/linux-personality.c): Remove.
2050         (aarch64-linux-hw-point.o: ../nat/aarch64-linux-hw-point.c): Remove.
2051         (aarch64-linux.o: ../nat/aarch64-linux.c): Remove.
2052         (x86-linux.o: ../nat/x86-linux.c): Remove.
2053         (x86-linux-dregs.o: ../nat/x86-linux-dregs.c): Remove.
2054         (linux-namespaces.o: ../nat/linux-namespaces.c): Remove.
2055
2056 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
2057
2058         * Makefile.in (%.o: ../common/%.c): New rule.
2059         (signals.o: ../common/signals.c): Remove.
2060         (print-utils.o: ../common/print-utils.c): Remove.
2061         (rsp-low.o: ../common/rsp-low.c): Remove.
2062         (common-utils.o: ../common/common-utils.c): Remove.
2063         (posix-strerror.o: ../common/posix-strerror.c): Remove.
2064         (mingw-strerror.o: ../common/mingw-strerror.c): Remove.
2065         (vec.o: ../common/vec.c): Remove.
2066         (gdb_vecs.o: ../common/gdb_vecs.c): Remove.
2067         (xml-utils.o: ../common/xml-utils.c): Remove.
2068         (ptid.o: ../common/ptid.c): Remove.
2069         (buffer.o: ../common/buffer.c): Remove.
2070         (format.o: ../common/format.c): Remove.
2071         (filestuff.o: ../common/filestuff.c): Remove.
2072         (agent.o: ../common/agent.c): Remove.
2073         (errors.o: ../common/errors.c): Remove.
2074         (environ.o: ../common/environ.c): Remove.
2075         (common-debug.o: ../common/common-debug.c): Remove.
2076         (cleanups.o: ../common/cleanups.c): Remove.
2077         (common-exceptions.o: ../common/common-exceptions.c): Remove.
2078         (fileio.o: ../common/fileio.c): Remove.
2079         (common-regcache.o: ../common/common-regcache.c): Remove.
2080         (signals-state-save-restore.o: ../common/signals-state-save-restore.c): Remove.
2081         (new-op.o: ../common/new-op.c): Remove.
2082         (btrace-common.o: ../common/btrace-common.c): Remove.
2083
2084 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
2085
2086         * Makefile.in (%.o: ../target/%.c): New rule.
2087         (waitstatus.o: ../target/waitstatus.c): Remove.
2088
2089 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
2090
2091         * Makefile.in
2092         (%.c: ../regformats/%.dat,
2093         (%.c: ../regformats/arm/%.dat,
2094         (%.c: ../regformats/i386/%.dat,
2095         (%.c: ../regformats/rs6000/%.dat): New rules.
2096         (aarch64.c): Remove.
2097         (reg-arm.c): Remove.
2098         (arm-with-iwmmxt.c): Remove.
2099         (arm-with-vfpv2.c): Remove.
2100         (arm-with-vfpv3.c): Remove.
2101         (arm-with-neon.c): Remove.
2102         (reg-bfin.c): Remove.
2103         (reg-cris.c): Remove.
2104         (reg-crisv32.c): Remove.
2105         (i386.c): Remove.
2106         (i386-linux.c): Remove.
2107         (i386-avx.c): Remove.
2108         (i386-avx-linux.c): Remove.
2109         (i386-avx-avx512.c): Remove.
2110         (i386-avx-avx512-linux.c): Remove.
2111         (i386-mpx.c): Remove.
2112         (i386-mpx-linux.c): Remove.
2113         (i386-avx-mpx-avx512-pku.c): Remove.
2114         (i386-avx-mpx-avx512-pku-linux.c): Remove.
2115         (i386-avx-mpx.c): Remove.
2116         (i386-avx-mpx-linux.c): Remove.
2117         (i386-mmx.c): Remove.
2118         (i386-mmx-linux.c): Remove.
2119         (reg-ia64.c): Remove.
2120         (reg-m32r.c): Remove.
2121         (reg-m68k.c): Remove.
2122         (reg-cf.c): Remove.
2123         (mips-linux.c): Remove.
2124         (mips-dsp-linux.c): Remove.
2125         (mips64-linux.c): Remove.
2126         (mips64-dsp-linux.c): Remove.
2127         (nios2-linux.c): Remove.
2128         (powerpc-32.c): Remove.
2129         (powerpc-32l.c): Remove.
2130         (powerpc-altivec32l.c): Remove.
2131         (powerpc-cell32l.c): Remove.
2132         (powerpc-vsx32l.c): Remove.
2133         (powerpc-isa205-32l.c): Remove.
2134         (powerpc-isa205-altivec32l.c): Remove.
2135         (powerpc-isa205-vsx32l.c): Remove.
2136         (powerpc-e500l.c): Remove.
2137         (powerpc-64l.c): Remove.
2138         (powerpc-altivec64l.c): Remove.
2139         (powerpc-cell64l.c): Remove.
2140         (powerpc-vsx64l.c): Remove.
2141         (powerpc-isa205-64l.c): Remove.
2142         (powerpc-isa205-altivec64l.c): Remove.
2143         (powerpc-isa205-vsx64l.c): Remove.
2144         (s390-linux32.c): Remove.
2145         (s390-linux32v1.c): Remove.
2146         (s390-linux32v2.c): Remove.
2147         (s390-linux64.c): Remove.
2148         (s390-linux64v1.c): Remove.
2149         (s390-linux64v2.c): Remove.
2150         (s390-te-linux64.c): Remove.
2151         (s390-vx-linux64.c): Remove.
2152         (s390-tevx-linux64.c): Remove.
2153         (s390x-linux64.c): Remove.
2154         (s390x-linux64v1.c): Remove.
2155         (s390x-linux64v2.c): Remove.
2156         (s390x-te-linux64.c): Remove.
2157         (s390x-vx-linux64.c): Remove.
2158         (s390x-tevx-linux64.c): Remove.
2159         (tic6x-c64xp-linux.c): Remove.
2160         (tic6x-c64x-linux.c): Remove.
2161         (tic6x-c62x-linux.c): Remove.
2162         (reg-sh.c): Remove.
2163         (reg-sparc64.c): Remove.
2164         (reg-spu.c): Remove.
2165         (amd64.c): Remove.
2166         (amd64-linux.c): Remove.
2167         (amd64-avx.c): Remove.
2168         (amd64-avx-linux.c): Remove.
2169         (amd64-avx-avx512.c): Remove.
2170         (amd64-avx-avx512-linux.c): Remove.
2171         (amd64-mpx.c): Remove.
2172         (amd64-mpx-linux.c): Remove.
2173         (amd64-avx-mpx-avx512-pku.c): Remove.
2174         (amd64-avx-mpx-avx512-pku-linux.c): Remove.
2175         (amd64-avx-mpx.c): Remove.
2176         (amd64-avx-mpx-linux.c): Remove.
2177         (x32.c): Remove.
2178         (x32-linux.c): Remove.
2179         (x32-avx.c): Remove.
2180         (x32-avx-linux.c): Remove.
2181         (x32-avx-avx512.c): Remove.
2182         (x32-avx-avx512-linux.c): Remove.
2183         (reg-xtensa.c): Remove.
2184         (reg-tilegx.c): Remove.
2185         (reg-tilegx32.c): Remove.
2186
2187 2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
2188
2189         * Makefile.in (SFILES): Add "common/environ.c".
2190         (OBJS): Add "common/environ.h".
2191
2192 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
2193
2194         * configure.ac: Check if the fs_base and gs_base members of
2195         `struct user_regs_struct' exist.
2196         * config.in: Regenerated.
2197         * configure: Likewise.
2198
2199 2017-01-09  Antoine Tremblay  <antoine.tremblay@ericsson.com>
2200
2201         * linux-aarch32-low.c (arm_breakpoint_kind_from_pc): Use
2202         target_read_memory.
2203         * linux-arm-low.c (get_next_pcs_read_memory_unsigned_integer): Likewise.
2204         (get_next_pcs_syscall_next_pc): Likewise.
2205
2206 2016-12-23  Luis Machado  <lgustavo@codesourcery.com>
2207
2208         * win32-i386-low.c: Fix incorrect reference to a couple source files.
2209         * nto-x86-low.c: Likewise.
2210
2211 2016-11-30  Simon Marchi  <simon.marchi@polymtl.ca>
2212
2213         * Makefile.in: Include disable-implicit-rules.mk.
2214
2215 2016-11-23  Pedro Alves  <palves@redhat.com>
2216
2217         * debug.c: Include <chrono> instead of "gdb_sys_time.h".
2218         (debug_vprintf): Use std::chrono::steady_clock instead of
2219         gettimeofday.  Use '.' instead of ':'.
2220         * tracepoint.c: Include <chrono> instead of "gdb_sys_time.h".
2221         (get_timestamp): Use std::chrono::steady_clock instead of
2222         gettimeofday.
2223
2224 2016-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2225
2226         * Makefile.in: Fix whitespace formatting.
2227
2228 2016-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2229
2230         * Makefile.in (SFILES, OBS): Flatten list and order
2231         alphabetically.
2232
2233 2016-11-23  Pedro Alves  <palves@redhat.com>
2234
2235         * event-loop.c (handle_file_event): Use warning.
2236         * linux-low.c (linux_resume_one_lwp_throw): Use warning.
2237         * mem-break.c (add_breakpoint_condition, add_breakpoint_commands):
2238         Use warning.
2239
2240 2016-11-23  Pedro Alves  <palves@redhat.com>
2241
2242         * linux-low.c (check_zombie_leaders): Use debug_printf for debug
2243         output.
2244         * notif.c (handle_notif_ack, notif_event_enque): Likewise.
2245         * remote-utils.c (putpkt_binary_1, readchar, getpkt): Use
2246         debug_printf and debug_flush for debug output.
2247         * server.c (handle_general_set): Likewise.
2248         * thread-db.c (try_thread_db_load): Use debug_printf for debug
2249         output.
2250
2251 2016-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2252
2253         * Makefile.in (.c.o): Replace rule with ...
2254         (%.o: %.c): ... this one.
2255
2256 2016-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2257
2258         * Makefile.in: Remove @GMAKE_TRUE@ prefixes and removes lines
2259         prefixed with @GMAKE_FALSE@.  Update comment related to non-GNU
2260         make.
2261         * configure.ac: Remove checks for the make program.
2262         * configure: Re-generate.
2263
2264 2016-10-28  Pedro Alves  <palves@redhat.com>
2265
2266         * Makefile.in (CXX_DIALECT): Get from configure.
2267         (COMPILE.pre, CC_LD): Append $(CXX_DIALECT).
2268         * acinclude.m4: Include ../ax_cxx_compile_stdcxx.m4.
2269         * configure.ac: Call AX_CXX_COMPILE_STDCXX.
2270         * config.in: Regenerate.
2271         * configure: Regenerate.
2272
2273 2016-10-27  Yao Qi  <yao.qi@linaro.org>
2274
2275         * linux-low.c (linux_supports_range_stepping): Return true if
2276         can_software_single_step return true.
2277
2278 2016-10-27  Yao Qi  <yao.qi@linaro.org>
2279
2280         * inferiors.c (find_inferior_in_random): New function.
2281         * inferiors.h (find_inferior_in_random): Declare.
2282         * linux-low.c (linux_wait_for_event_filtered): Call
2283         find_inferior_in_random instead of find_inferior.
2284
2285 2016-10-27  Yao Qi  <yao.qi@linaro.org>
2286
2287         * linux-low.c (linux_wait_1): If single-step breakpoints are
2288         inserted, remove them.
2289
2290 2016-10-26  Pedro Alves  <palves@redhat.com>
2291
2292         * linux-low.c (handle_extended_wait): Link parent/child fork
2293         threads.
2294         (linux_wait_1): Unlink them.
2295         (linux_set_resume_request): Ignore resume requests for
2296         already-resumed and unhandled fork child threads.
2297         * linux-low.h (struct lwp_info) <fork_relative>: New field.
2298         * server.c (in_queued_stop_replies_ptid, in_queued_stop_replies):
2299         New functions.
2300         (handle_v_requests) <vCont>: Don't call require_running.
2301         * server.h (in_queued_stop_replies): New declaration.
2302
2303 2016-10-24  Yao Qi  <yao.qi@linaro.org>
2304
2305         PR server/20733
2306         * linux-aarch64-low.c (append_insns): Cast the return value to
2307         'uint32_t *'.
2308
2309 2016-10-10  Yao Qi  <yao.qi@linaro.org>
2310
2311         * linux-aarch32-low.c (enum arm_breakpoint_kinds): Remove.
2312
2313 2016-10-06  Sergio Durigan Junior  <sergiodj@redhat.com>
2314
2315         * target.c (target_supports_multi_process): New function, moved
2316         from...
2317         * target.h (target_supports_multi_process): ... here.  Remove
2318         macro.
2319
2320 2016-10-05  Tom Tromey  <tom@tromey.com>
2321
2322         PR remote/20655:
2323         * tracepoint.c (handle_tracepoint_bkpts): Check
2324         ipa_error_tracepoint, not ipa_stopping_tracepoint.
2325
2326 2016-10-05  Yao Qi  <yao.qi@linaro.org>
2327
2328         * configure.srv: Update the path of arm-*.xml files.
2329
2330 2016-10-05  Terry Guo  <terry.guo@arm.com>
2331             Yao Qi  <yao.qi@linaro.org>
2332
2333         * Makefile.in: Adjust the path of rules.
2334         * configure.srv: Update the path of xml files.
2335         * regformats/arm-with-iwmmxt.dat: Regenerated.
2336         * regformats/arm-with-neon.dat: Likewise.
2337         * regformats/arm-with-vfpv2.dat: Likewise.
2338         * regformats/arm-with-vfpv3.dat Likewise.
2339
2340 2016-09-30  Yao Qi  <yao.qi@linaro.org>
2341
2342         PR gdbserver/20627
2343         * target.c (target_stop_and_wait): Don't call
2344         target_continue_no_signal, use resume_stop instead.
2345
2346 2016-09-26  Yao Qi  <yao.qi@linaro.org>
2347
2348         * linux-low.c (linux_wait_1): Call debug_exit.
2349
2350 2016-09-23  Pedro Alves  <palves@redhat.com>
2351
2352         * Makefile.in (SFILES): Add common/new-op.c.
2353         (OBS): Add common/new-op.o.
2354         (new-op.o): New rule.
2355
2356 2016-09-21  Simon Marchi  <simon.marchi@ericsson.com>
2357
2358         * .gitinore: Ignore more files.
2359
2360 2016-09-21  Yao Qi  <yao.qi@linaro.org>
2361
2362         * linux-aarch32-low.c (arm_fill_gregset): Keep bits 20 to
2363         23.
2364
2365 2016-09-19  Sergio Durigan Junior  <sergiodj@redhat.com>
2366
2367         * server.c (start_inferior): Call target_mourn_inferior instead of
2368         mourn_inferior; pass ptid_t argument to it.
2369         (resume): Likewise.
2370         (handle_target_event): Likewise.
2371         * target.c (target_mourn_inferior): New function.
2372         * target.h (mourn_inferior): Delete macro.
2373
2374 2016-09-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
2375
2376         * linux-low.c (lwp_is_stepping): New function.
2377
2378 2016-09-06  Carl Love  <cel@us.ibm.com>
2379
2380         * server.c (start_inferior):  Fixed comment, requested comment change
2381         didn't get updated correctly.  Removed reference to ptrace () call as
2382         it is only true on Linux systems.
2383
2384 2016-09-06  Carl Love  <cel@us.ibm.com>
2385
2386         * server.c (start_inferior):  Do not call
2387         function target_post_create_inferior () if the
2388         inferior process has already exited.
2389
2390 2016-09-05  Pedro Alves  <palves@redhat.com>
2391
2392         * Makefile.in (COMPILER, COMPILER_CFLAGS): Remove.
2393         (COMPILE.pre, CC_LD): Use CXX directly.
2394         (INTERNAL_CFLAGS_BASE): Use CXXFLAGS directly.
2395         * acinclude.m4: Don't include build-with-cxx.m4.
2396         * configure.ac: Remove GDB_AC_BUILD_WITH_CXX call.
2397         * configure: Regenerate.
2398
2399 2016-09-02  Akash Trehan  <akash.trehan123@gmail.com>
2400
2401         PR gdb/19495
2402         * remote-utils.c (relocate_instruction): Remove redundant strcpy()
2403         call writing data to own_buf.
2404
2405 2016-09-01  Sergio Durigan Junior  <sergiodj@redhat.com>
2406
2407         * target.c (mywait): Call target_wait instead of
2408         the_target->wait.
2409         (target_wait): New function.
2410
2411 2016-09-01  Sergio Durigan Junior  <sergiodj@redhat.com>
2412
2413         * server.c (start_inferior): New variable 'ptid'.  Replace calls
2414         to the_target->resume by target_continue{,_no_signal}, depending
2415         on the case.
2416         * target.c (target_stop_and_wait): Call target_continue_no_signal
2417         instead of the_target->resume.
2418         (target_continue): New function.
2419
2420 2016-08-31  Antoine Tremblay  <antoine.tremblay@ericsson.com>
2421
2422         * linux-low.c (linux_wait_1): Move event switch after unsuspend_lwps.
2423
2424 2016-08-25  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2425
2426         PR server/20491
2427         * gdb_proc_service.h (ps_get_thread_area): Remove const from struct
2428         ps_prochandle.
2429         * linux-aarch64-low.c (ps_get_thread_area): Likewise.
2430         * linux-arm-low.c (ps_get_thread_area): Likewise.
2431         * linux-crisv32-low.c (ps_get_thread_area): Likewise.
2432         * linux-m68k-low.c (ps_get_thread_area): Likewise.
2433         * linux-mips-low.c (ps_get_thread_area): Likewise.
2434         * linux-nios2-low.c (ps_get_thread_area): Likewise.
2435         * linux-tic6x-low.c (ps_get_thread_area): Likewise.
2436         * linux-x86-low.c (ps_get_thread_area): Likewise.
2437         * linux-xtensa-low.c (ps_get_thread_area): Likewise.
2438
2439 2016-08-19  Pedro Alves  <palves@redhat.com>
2440
2441         * linux-x86-low.c (amd64_emit_call): Emit missing call opcode.
2442
2443 2016-08-19  Pedro Alves  <palves@redhat.com>
2444
2445         * linux-x86-low.c (amd64_install_fast_tracepoint_jump_pad): Fix
2446         comment.  Use memcpy instead of casting through unsigned long.
2447
2448 2016-08-19  Pedro Alves  <palves@redhat.com>
2449
2450         * linux-amd64-ipa.c (alloc_jump_pad_buffer) [__ILP32__]: Try
2451         allocating around 0x80000000.
2452
2453 2016-08-19  Pedro Alves  <palves@redhat.com>
2454
2455         PR gdb/20415
2456         * Makefile.in (x32-linux-ipa.o, x32-avx-linux-ipa.o)
2457         (x32-avx512-linux-ipa.o): New rules.
2458         * configure.ac (x86_64-*-linux*): New x32 check.
2459         * configure.srv (ipa_x32_linux_regobj): New.
2460         (x86_64-*-linux*): Use $ipa_x32_linux_regobj if building for x32.
2461         * linux-amd64-ipa.c (get_ipa_tdesc) [__ILP32__]: Return x32
2462         descriptions.
2463         (initialize_low_tracepoint) [__ILP32__]: Initialize x32
2464         descriptions.
2465         * configure: Regenerate.
2466
2467 2016-08-09  Pedro Alves  <palves@redhat.com>
2468
2469         PR gdb/18653
2470         * Makefile.in (OBS): Add signals-state-save-restore.o.
2471         (signals-state-save-restore.o): New rule.
2472         * config.in: Regenerate.
2473         * configure: Regenerate.
2474         * linux-low.c: Include "signals-state-save-restore.h".
2475         (linux_create_inferior): Call
2476         restore_original_signals_state.
2477         * server.c: Include "dispositions-save-restore.h".
2478         (captured_main): Call save_original_signals_state.
2479
2480 2016-08-05  Pedro Alves  <palves@redhat.com>
2481
2482         * configure: Regenerate.
2483
2484 2016-08-04  Yao Qi  <yao.qi@linaro.org>
2485
2486         * linux-low.c (regsets_fetch_inferior_registers): Check
2487         errno is ESRCH or not.
2488
2489 2016-08-02  Yao Qi  <yao.qi@linaro.org>
2490
2491         * thread-db.c (struct thread_db) <td_ta_event_getmsg_p>: Remove.
2492         <td_ta_set_event_p, td_ta_event_addr_p>: Remove.
2493         (thread_db_load_search): Update.
2494         (try_thread_db_load_1): Don't look for td_ta_event_addr,
2495         td_ta_set_event and td_ta_event_getmsg.
2496
2497 2016-07-26  Pedro Alves  <palves@redhat.com>
2498
2499         PR server/20414
2500         * linux-x86-low.c (x86_get_pc, x86_set_pc): Use uint64_t instead
2501         of unsigned long for 64-bit registers and use uint32_t instead of
2502         unsigned int for 32-bit registers.
2503
2504 2016-07-26  Pedro Alves  <palves@redhat.com>
2505
2506         * linux-x86-low.c (x86_siginfo_fixup): Rename 'native' parameter
2507         to 'ptrace'.
2508
2509 2016-07-21  Tom Tromey  <tom@tromey.com>
2510
2511         * configure: Rebuild.
2512
2513 2016-07-21  Yao Qi  <yao.qi@linaro.org>
2514
2515         * mem-break.c (find_gdb_breakpoint): Cast bp to
2516         'struct gdb_breakpoint *' rather than 'gdb_breakpoint *'.
2517
2518 2016-07-21  Yao Qi  <yao.qi@linaro.org>
2519
2520         * server.c (handle_v_requests): Support s and S actions
2521         if target_supports_software_single_step return true.
2522
2523 2016-07-21  Yao Qi  <yao.qi@linaro.org>
2524
2525         * linux-low.c (resume_stopped_resumed_lwps): If resume request
2526         is resume_step, call maybe_hw_step.
2527         (linux_wait_1): Stop all threads, remove reinsert breakpoints,
2528         and unstop them.
2529         (linux_resume_one_lwp_throw): Don't assert the thread has reinsert
2530         breakpoints or not.
2531         (proceed_one_lwp): If resume request is resume_step, install
2532         reinsert breakpoints and call maybe_hw_step.
2533
2534 2016-07-21  Yao Qi  <yao.qi@linaro.org>
2535
2536         * linux-low.c (proceed_one_lwp): Declare.
2537         (linux_resume_one_thread): Remove local variable 'step'.
2538         Lift code enqueue signal.  Call proceed_one_lwp instead of
2539         linux_resume_one_lwp.
2540
2541 2016-07-21  Yao Qi  <yao.qi@linaro.org>
2542
2543         * linux-low.c (linux_resume_one_thread): Call
2544         enqueue_pending_signal.
2545
2546 2016-07-21  Yao Qi  <yao.qi@linaro.org>
2547
2548         * gdbthread.h (make_cleanup_restore_current_thread): Declare.
2549         * inferiors.c (do_restore_current_thread_cleanup): New function.
2550         (make_cleanup_restore_current_thread): Likewise.
2551         * linux-low.c (install_software_single_step_breakpoints): Call
2552         make_cleanup_restore_current_thread.  Switch current_thread to
2553         thread.
2554
2555 2016-07-21  Yao Qi  <yao.qi@linaro.org>
2556
2557         * mem-break.c (struct reinsert_breakpoint) <ptid>: New field.
2558         (set_reinsert_breakpoint): New parameter ptid.  Callers updated.
2559         (clone_one_breakpoint): Likewise.
2560         (delete_reinsert_breakpoints): Change parameter to thread.
2561         Callers updated.
2562         (has_reinsert_breakpoints): Likewise.
2563         (uninsert_reinsert_breakpoints): Likewise.
2564         (reinsert_reinsert_breakpoints): Likewise.
2565         * mem-break.h (set_reinsert_breakpoint): Update declaration.
2566         (delete_reinsert_breakpoints): Likewise.
2567         (reinsert_reinsert_breakpoints): Likewise.
2568         (uninsert_reinsert_breakpoints): Likewise.
2569         (has_reinsert_breakpoints): Likewise.
2570
2571 2016-07-21  Yao Qi  <yao.qi@linaro.org>
2572
2573         * inferiors.c (get_thread_process): Make parameter const.
2574         * inferiors.h (get_thread_process): Update declaration.
2575         * mem-break.c (clone_all_breakpoints): Remove all parameters.
2576         Add new parameters child_thread and parent_thread.  Callers
2577         updated.
2578         * mem-break.h (clone_all_breakpoints): Update declaration.
2579
2580 2016-07-21  Yao Qi  <yao.qi@linaro.org>
2581
2582         * mem-break.c (struct breakpoint) <cond_list>: Remove.
2583         <command_list, handler>: Remove.
2584         (struct gdb_breakpoint): New.
2585         (struct other_breakpoint): New.
2586         (struct reinsert_breakpoint): New.
2587         (is_gdb_breakpoint): New function.
2588         (any_persistent_commands): Update command_list if
2589         is_gdb_breakpoint returns true.
2590         (set_breakpoint): Create breakpoints according to their types.
2591         (find_gdb_breakpoint): Return 'struct gdb_breakpoint *'.
2592         (set_gdb_breakpoint_1): Likewise.
2593         (set_gdb_breakpoint): Likewise.
2594         (clear_breakpoint_conditions): Change parameter type to
2595         'struct gdb_breakpoint *'.
2596         (clear_breakpoint_commands): Likewise.
2597         (clear_breakpoint_conditions_and_commands): Likewise.
2598         (add_condition_to_breakpoint): Likewise.
2599         (add_breakpoint_condition): Likewise.
2600         (add_commands_to_breakpoint): Likewise.
2601         (check_breakpoints): Check other_breakpoint.
2602         (clone_one_breakpoint): Clone breakpopint according to its type.
2603         * mem-break.h (struct gdb_breakpoint): Declare.
2604         (set_gdb_breakpoint): Update declaration.
2605         (clear_breakpoint_conditions_and_commands): Likewise.
2606         (add_breakpoint_condition): Likewise.
2607         (add_breakpoint_commands): Likewise.
2608         * server.c (process_point_options): Change parameter type to
2609         'struct gdb_breakpoint *'.
2610
2611 2016-07-21  Yao Qi  <yao.qi@linaro.org>
2612
2613         * mem-break.c (set_breakpoint_at): Rename it to ...
2614         (set_breakpoint_type_at): ... it.
2615         (set_breakpoint_at): Call set_breakpoint_type_at.
2616         (set_reinsert_breakpoint): Call set_breakpoint_type_at.
2617         * mem-break.h (set_breakpoint_at): Update comments.
2618
2619 2016-07-12  Chung-Lin Tang  <cltang@codesourcery.com>
2620
2621         * linux-nios2-low.c (nios2_fill_gregset): Add type cast
2622         to buf parameter.
2623         (nios2_store_gregset): Likewise.
2624
2625 2016-07-01  Pedro Alves  <palves@redhat.com>
2626             Antoine Tremblay  <antoine.tremblay@ericsson.com>
2627
2628         * linux-low.c: Change interface to take the target lwp_info
2629         pointer directly and return void.  Handle detaching from a zombie
2630         thread.
2631         (linux_detach_lwp_callback): New function.
2632         (linux_detach): Detach from the leader thread after detaching from
2633         the clone threads.
2634
2635 2016-06-28  Yao Qi  <yao.qi@linaro.org>
2636
2637         * linux-aarch64-low.c (aarch64_ftrace_insn_reloc_b): Use int64_t
2638         for variable new_offset.
2639         (aarch64_ftrace_insn_reloc_b_cond): Likewise.
2640         (aarch64_ftrace_insn_reloc_cb): Likewise.
2641         (aarch64_ftrace_insn_reloc_tb): Likewise.
2642         (aarch64_install_fast_tracepoint_jump_pad): Likewise.  Use
2643         PRIx64 instead of PRIx32.
2644
2645 2016-06-28  Yao Qi  <yao.qi@linaro.org>
2646
2647         * linux-arm-low.c (arm_get_syscall_trapinfo): New function.
2648         (the_low_target): Install arm_get_syscall_trapinfo.
2649
2650 2016-06-28  Yao Qi  <yao.qi@linaro.org>
2651
2652         * linux-aarch64-low.c (aarch64_get_syscall_trapinfo): New
2653         function.
2654         (the_low_target): Install aarch64_get_syscall_trapinfo.
2655
2656 2016-06-28  Yao Qi  <yao.qi@linaro.org>
2657
2658         * linux-low.c (get_syscall_trapinfo): Remove parameter sysret.
2659         Callers updated.
2660         * linux-low.h (struct linux_target_ops) <get_syscall_trapinfo>:
2661         Remove parameter sysno.
2662         * linux-x86-low.c (x86_get_syscall_trapinfo): Remove parameter
2663         sysret.
2664
2665 2016-06-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
2666
2667         * linux-s390-low.c (s390_emit_eq_goto): Mark function static.
2668         (s390_emit_ne_goto): Likewise.
2669         (s390_emit_lt_goto): Likewise.
2670         (s390_emit_le_goto): Likewise.
2671         (s390_emit_gt_goto): Likewise.
2672         (s390_emit_ge_goto): Likewise.
2673         (s390x_emit_eq_goto): Likewise.
2674         (s390x_emit_ne_goto): Likewise.
2675         (s390x_emit_lt_goto): Likewise.
2676         (s390x_emit_le_goto): Likewise.
2677         (s390x_emit_gt_goto): Likewise.
2678         (s390x_emit_ge_goto): Likewise.
2679         (s390_emit_ops_impl): Mark variable static.
2680         (s390x_emit_ops): Likewise.
2681
2682 2016-06-17  Yao Qi  <yao.qi@linaro.org>
2683
2684         * linux-low.c (handle_extended_wait): Call
2685         uninsert_reinsert_breakpoints for the parent process.  Remove
2686         reinsert breakpoints from the child process.  Reinsert them to
2687         the parent process when vfork is done.
2688         * mem-break.c (uninsert_reinsert_breakpoints): New function.
2689         (reinsert_reinsert_breakpoints): New function.
2690         * mem-break.h (uninsert_reinsert_breakpoints): Declare
2691         (reinsert_reinsert_breakpoints): Declare.
2692
2693 2016-06-17  Yao Qi  <yao.qi@linaro.org>
2694
2695         * linux-low.c (handle_extended_wait): If the parent is doing
2696         step-over, remove the reinsert breakpoints from the forked child.
2697
2698 2016-06-17  Yao Qi  <yao.qi@linaro.org>
2699
2700         * linux-low.c (unsuspend_all_lwps): Declare.
2701         (linux_low_filter_event): If thread exited, call finish_step_over.
2702         If step-over is finished, unsuspend other threads.
2703
2704 2016-06-17  Yao Qi  <yao.qi@linaro.org>
2705
2706         * linux-low.c (linux_resume_one_lwp_throw): Assert
2707         has_reinsert_breakpoints returns false.
2708         * mem-break.c (delete_disabled_breakpoints): Assert
2709         bp type isn't reinsert_breakpoint.
2710
2711 2016-06-17  Yao Qi  <yao.qi@linaro.org>
2712
2713         * linux-low.c (maybe_hw_step): New function.
2714         (linux_resume_one_lwp_throw): Call maybe_hw_step.
2715         (finish_step_over): Switch current_thread to lwp temporarily,
2716         and assert has_reinsert_breakpoints returns true.
2717         (proceed_one_lwp): Call maybe_hw_step.
2718         * mem-break.c (has_reinsert_breakpoints): New function.
2719         * mem-break.h (has_reinsert_breakpoints): Declare.
2720
2721 2016-06-02  Jon Turney  <jon.turney@dronecode.org.uk>
2722
2723         * win32-low.c (win32_create_inferior): Add pointer casts for C++.
2724
2725 2016-05-17  Yao Qi  <yao.qi@linaro.org>
2726
2727         * linux-low.c (linux_stabilize_threads): Call unsuspend_all_lwps
2728         instead of find_inferior.
2729
2730 2016-05-05  Yao Qi  <yao.qi@linaro.org>
2731
2732         * linux-arm-low.c (get_next_pcs_read_memory_unsigned_integer):
2733         Initialize res to zero.
2734
2735 2016-05-05  Yao Qi  <yao.qi@linaro.org>
2736
2737         * linux-arm-low.c (arm_sigreturn_next_pc): Change type of cpsr
2738         to uint32_t.
2739
2740 2016-05-04  Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2741
2742         * spu-low.c (fetch_ppc_register): Cast PowerPC-Linux-specific value
2743         used as first ptrace argument to PTRACE_TYPE_ARG1 for C++.
2744         (fetch_ppc_memory_1, store_ppc_memory_1): Likewise.
2745
2746 2016-04-28  Par Olsson  <par.olsson@windriver.com>
2747             Simon Marchi  <simon.marchi@ericsson.com>
2748
2749         * tracepoint.c (write_inferior_int8): New function.
2750         (cmd_qtenable_disable): Write enable flag using
2751         write_inferior_int8.
2752
2753 2016-04-25  Yao Qi  <yao.qi@linaro.org>
2754
2755         * linux-low.c (lwp_signal_can_be_delivered): Adjust.
2756         (need_step_over_p): Return zero if the LWP has pending signals
2757         can be delivered on software single step target.
2758
2759 2016-04-25  Yao Qi  <yao.qi@linaro.org>
2760
2761         * linux-low.c (reinsert_raw_breakpoint): If bp->inserted is true
2762         return instead of error.
2763
2764 2016-04-22  Yao Qi  <yao.qi@linaro.org>
2765
2766         * linux-aarch32-low.c (arm_store_gregset): Clear CPSR bits 20
2767         to 23.
2768
2769 2016-04-22  Yao Qi  <yao.qi@linaro.org>
2770
2771         * linux-low.c (lwp_signal_can_be_delivered): Don't deliver
2772         signal when stepping over breakpoint with software single
2773         step.
2774
2775 2016-04-21  Pedro Alves  <palves@redhat.com>
2776
2777         * linux-s390-low.c (s390_collect_ptrace_register)
2778         (s390_supply_ptrace_register, s390_get_hwcap): Use gdb_byte * and
2779         add casts.
2780         (s390_check_regset): Use void * instead of gdb_byte *.
2781
2782 2016-04-20  Pedro Alves  <palves@redhat.com>
2783
2784         * configure: Renegerate.
2785
2786 2016-04-20  Yao Qi  <yao.qi@linaro.org>
2787
2788         * linux-aarch32-low.c: Include "arch/arm-linux.h".
2789         (arm_fill_gregset): Use ARM_CPSR_GREGNUM rather than magic
2790         number 16.
2791         (arm_store_gregset): Likewise.
2792
2793 2016-04-16  Walfred Tedeschi  <walfred.tedeschi@intel.com>
2794
2795         * Makefile.in (clean): Add removal for i386-avx-mpx.c,
2796         i386-avx-mpx-linux.c, amd64-avx-mpx.c and amd64-avx-mpx-linux.c.
2797         (i386-avx-mpx.c, i386-avx-mpx-linux.c, amd64-avx-mpx.c)
2798         (amd64-avx-mpx-linux.c): New rules.
2799         (amd64-avx-mpx-linux-ipa.o, i386-avx-mpx-linux-ipa.o): New rule.
2800         * configure.srv (srv_i386_regobj): Add i386-avx-mpx.o.
2801         (srv_i386_linux_regobj): Add i386-avx-mpx-linux.o.
2802         (srv_amd64_regobj): Add amd64-avx-mpx.o.
2803         (srv_amd64_linux_regobj): Add amd64-avx-mpx-linux.o.
2804         (srv_i386_xmlfiles): Add i386/i386-avx-mpx.xml.
2805         (srv_amd64_xmlfiles): Add i386/amd64-avx-mpx.xml.
2806         (srv_i386_linux_xmlfiles): Add i386/i386-avx-mpx-linux.xml.
2807         (srv_amd64_linux_xmlfiles): Add i386/amd64-avx-mpx-linux.xml.
2808         (ipa_i386_linux_regobj): Add i386-avx-mpx-linux-ipa.o.
2809         (ipa_amd64_linux_regobj): Add amd64-avx-mpx-linux-ipa.o.
2810         * linux-x86-low.c (x86_linux_read_description): Add case for
2811         X86_XSTATE_AVX_MPX_MASK.
2812         (x86_get_ipa_tdesc_idx): Add cases for avx_mpx.
2813         (initialize_low_arch): Call init_registers_amd64_avx_mpx_linux and
2814         init_registers_i386_avx_mpx_linux.
2815         * linux-i386-ipa.c (get_ipa_tdesc): Add case for avx_mpx.
2816         (initialize_low_tracepoint): Call
2817         init_registers_i386_avx_mpx_linux.
2818         * linux-amd64-ipa.c (get_ipa_tdesc):  Add case for avx_mpx.
2819         (initialize_low_tracepoint): Call
2820         init_registers_amd64_avx_mpx_linux.
2821         * linux-x86-tdesc.h (X86_TDESC_AVX_MPX): New enum value.
2822         (init_registers_amd64_avx_mpx_linux, tdesc_amd64_avx_mpx_linux)
2823         (init_registers_i386_avx_mpx_linux, tdesc_i386_avx_mpx_linux): New
2824         declarations.
2825
2826 2016-04-18  Pedro Alves  <palves@redhat.com>
2827
2828         * configure: Regenerate.
2829
2830 2016-04-13  Antoine Tremblay  <antoine.tremblay@ericsson.com>
2831
2832         * linux-aarch64-low.c (aarch64_emit_add): Switch x1 and x0.
2833         (aarch64_emit_sub): Likewise.
2834
2835 2016-04-12  Pedro Alves  <palves@redhat.com>
2836
2837         * utils.c (prepare_to_throw_exception): Delete.
2838
2839 2016-04-05  Simon Marchi  <simon.marchi@ericsson.com>
2840
2841         * Makefile.in ($(IPA_LIB)): Set SONAME of the IPA lib.
2842
2843 2016-04-05  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
2844
2845         * tracepoint.c (getauxval): Move to #ifdef IN_PROCESS_AGENT.
2846
2847 2016-04-03  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
2848
2849         * linux-aarch64-ipa.c: Add <elf.h> include.
2850         * linux-ppc-ipa.c: Add <elf.h> include.
2851         * linux-s390-ipa.c: Add <elf.h> include.
2852
2853 2016-03-31  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
2854
2855         * tracepoint.c (gdb_collect_ptr): Remove const qualifier.
2856         (get_raw_reg_ptr): Likewise.
2857         (get_trace_state_variable_value_ptr): Likewise.
2858         (set_trace_state_variable_value_ptr): Likewise.
2859         (initialize_tracepoint): Cast alloc_jump_pad_buffer result to
2860         char *.
2861
2862 2016-03-31  Wei-cheng Wang  <cole945@gmail.com>
2863             Marcin KoÅ›cielnicki  <koriakin@0x04.net>
2864
2865         PR/17221
2866         * linux-ppc-low.c (emit_insns): New function.
2867         (__EMIT_ASM, _EMIT_ASM, EMIT_ASM): New macros.
2868         (ppc_emit_prologue): New function.
2869         (ppc_emit_epilogue): New function.
2870         (ppc_emit_add): New function.
2871         (ppc_emit_sub): New function.
2872         (ppc_emit_mul): New function.
2873         (ppc_emit_lsh): New function.
2874         (ppc_emit_rsh_signed): New function.
2875         (ppc_emit_rsh_unsigned): New function.
2876         (ppc_emit_ext): New function.
2877         (ppc_emit_zero_ext): New function.
2878         (ppc_emit_log_not): New function.
2879         (ppc_emit_bit_and): New function.
2880         (ppc_emit_bit_or): New function.
2881         (ppc_emit_bit_xor): New function.
2882         (ppc_emit_bit_not): New function.
2883         (ppc_emit_equal): New function.
2884         (ppc_emit_less_signed): New function.
2885         (ppc_emit_less_unsigned): New function.
2886         (ppc_emit_ref): New function.
2887         (ppc_emit_const): New function.
2888         (ppc_emit_reg): New function.
2889         (ppc_emit_pop): New function.
2890         (ppc_emit_stack_flush): New function.
2891         (ppc_emit_swap): New function.
2892         (ppc_emit_stack_adjust): New function.
2893         (ppc_emit_call): New function.
2894         (ppc_emit_int_call_1): New function.
2895         (ppc_emit_void_call_2): New function.
2896         (ppc_emit_if_goto): New function.
2897         (ppc_emit_goto): New function.
2898         (ppc_emit_eq_goto): New function.
2899         (ppc_emit_ne_goto): New function.
2900         (ppc_emit_lt_goto): New function.
2901         (ppc_emit_le_goto): New function.
2902         (ppc_emit_gt_goto): New function.
2903         (ppc_emit_ge_goto): New function.
2904         (ppc_write_goto_address): New function.
2905         (ppc_emit_ops_impl): New static variable.
2906         (ppc64v1_emit_prologue): New function.
2907         (ppc64v2_emit_prologue): New function.
2908         (ppc64_emit_epilogue): New function.
2909         (ppc64_emit_add): New function.
2910         (ppc64_emit_sub): New function.
2911         (ppc64_emit_mul): New function.
2912         (ppc64_emit_lsh): New function.
2913         (ppc64_emit_rsh_signed): New function.
2914         (ppc64_emit_rsh_unsigned): New function.
2915         (ppc64_emit_ext): New function.
2916         (ppc64_emit_zero_ext): New function.
2917         (ppc64_emit_log_not): New function.
2918         (ppc64_emit_bit_and): New function.
2919         (ppc64_emit_bit_or): New function.
2920         (ppc64_emit_bit_xor): New function.
2921         (ppc64_emit_bit_not): New function.
2922         (ppc64_emit_equal): New function.
2923         (ppc64_emit_less_signed): New function.
2924         (ppc64_emit_less_unsigned): New function.
2925         (ppc64_emit_ref): New function.
2926         (ppc64_emit_const): New function.
2927         (ppc64v1_emit_reg): New function.
2928         (ppc64v2_emit_reg): New function.
2929         (ppc64_emit_pop): New function.
2930         (ppc64_emit_stack_flush): New function.
2931         (ppc64_emit_swap): New function.
2932         (ppc64v1_emit_call): New function.
2933         (ppc64v2_emit_call): New function.
2934         (ppc64v1_emit_int_call_1): New function.
2935         (ppc64v2_emit_int_call_1): New function.
2936         (ppc64v1_emit_void_call_2): New function.
2937         (ppc64v2_emit_void_call_2): New function.
2938         (ppc64_emit_if_goto): New function.
2939         (ppc64_emit_eq_goto): New function.
2940         (ppc64_emit_ne_goto): New function.
2941         (ppc64_emit_lt_goto): New function.
2942         (ppc64_emit_le_goto): New function.
2943         (ppc64_emit_gt_goto): New function.
2944         (ppc64_emit_ge_goto): New function.
2945         (ppc64v1_emit_ops_impl): New static variable.
2946         (ppc64v2_emit_ops_impl): New static variable.
2947         (ppc_emit_ops): New function.
2948         (linux_low_target): Wire in ppc_emit_ops.
2949
2950 2016-03-31  Wei-cheng Wang  <cole945@gmail.com>
2951             Marcin KoÅ›cielnicki  <koriakin@0x04.net>
2952
2953         PR/17221
2954         * Makefile.in: Add powerpc-*-ipa.o
2955         * configure.srv: Add ipa_obj for powerpc*-linux.
2956         * linux-ppc-ipa.c: New file.
2957         * linux-ppc-low.c: Added linux-ppc-tdesc.h, ax.h, tracepoint.h
2958         includes.
2959         (PPC_FIELD): New macro.
2960         (PPC_SEXT): New macro.
2961         (PPC_OP6): New macro.
2962         (PPC_BO): New macro.
2963         (PPC_LI): New macro.
2964         (PPC_BD): New macro.
2965         (init_registers_*): Move prototype to linux-ppc-tdesc.h.
2966         (tdesc_*): Move declaration to linux-ppc-tdesc.h.
2967         (ppc_get_hwcap): Rename to ppc_get_auxv and add type parameter.
2968         (ppc_get_thread_area): New function.
2969         (is_elfv2_inferior): New function.
2970         (gen_ds_form): New function.
2971         (GEN_STD): New macro.
2972         (GEN_STDU): New macro.
2973         (GEN_LD): New macro.
2974         (GEN_LDU): New macro.
2975         (gen_d_form): New function.
2976         (GEN_ADDI): New macro.
2977         (GEN_ADDIS): New macro.
2978         (GEN_LI): New macro.
2979         (GEN_LIS): New macro.
2980         (GEN_ORI): New macro.
2981         (GEN_ORIS): New macro.
2982         (GEN_LWZ): New macro.
2983         (GEN_STW): New macro.
2984         (GEN_STWU): New macro.
2985         (gen_xfx_form): New function.
2986         (GEN_MFSPR): New macro.
2987         (GEN_MTSPR): New macro.
2988         (GEN_MFCR): New macro.
2989         (GEN_MTCR): New macro.
2990         (GEN_SYNC): New macro.
2991         (GEN_LWSYNC): New macro.
2992         (gen_x_form): New function.
2993         (GEN_OR): New macro.
2994         (GEN_MR): New macro.
2995         (GEN_LWARX): New macro.
2996         (GEN_STWCX): New macro.
2997         (GEN_CMPW): New macro.
2998         (gen_md_form): New function.
2999         (GEN_RLDICL): New macro.
3000         (GEN_RLDICR): New macro.
3001         (gen_i_form): New function.
3002         (GEN_B): New macro.
3003         (GEN_BL): New macro.
3004         (gen_b_form): New function.
3005         (GEN_BNE): New macro.
3006         (GEN_LOAD): New macro.
3007         (GEN_STORE): New macro.
3008         (gen_limm): New function.
3009         (gen_atomic_xchg): New function.
3010         (gen_call): New function.
3011         (ppc_relocate_instruction): New function.
3012         (ppc_install_fast_tracepoint_jump_pad): New function.
3013         (ppc_get_min_fast_tracepoint_insn_len): New function.
3014         (ppc_get_ipa_tdesc_idx): New function.
3015         (the_low_target): Wire in the new functions.
3016         (initialize_low_arch) [!__powerpc64__]: Don'it initialize 64-bit
3017         tdescs.
3018         * linux-ppc-tdesc.h: New file.
3019
3020 2016-03-31  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3021
3022         * linux-aarch64-ipa.c: Add <sys/mman.h> and <sys/auxv.h> includes.
3023         (alloc_jump_pad_buffer): New function.
3024         * linux-amd64-ipa.c: Add <sys/mman.h> include.
3025         (alloc_jump_pad_buffer): New function.
3026         * linux-i386-ipa.c (alloc_jump_pad_buffer): New function.
3027         * linux-s390-ipa.c: Add <sys/mman.h> and <sys/auxv.h> includes.
3028         (alloc_jump_pad_buffer): New function.
3029         * tracepoint.c (getauxval) [!HAVE_GETAUXVAL]: New function.
3030         (initialize_tracepoint): Delegate to alloc_jump_pad_buffer.
3031         * tracepoint.h (alloc_jump_pad_buffer): New prototype.
3032         (getauxval) [!HAVE_GETAUXVAL]: New prototype.
3033
3034 2016-03-30  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3035
3036         * linux-aarch64-ipa.c: Rename gdb_agent_get_raw_reg to get_raw_reg.
3037         * linux-amd64-ipa.c: Likewise.
3038         * linux-i386-ipa.c: Likewise.
3039         * linux-s390-ipa.c: Likewise.
3040         * tracepoint.c: IPA-export gdb_collect_ptr instead of gdb_collect,
3041         ditto for get_raw_reg_ptr, get_trace_state_variable_value_ptr,
3042         set_trace_state_variable_value_ptr.
3043         (struct ipa_sym_addresses): Likewise.
3044         (symbol_list): Likewise.
3045         (install_fast_tracepoint): Dereference gdb_collect_ptr instead of
3046         accessing gdb_collect directly.
3047         (gdb_collect_ptr_type): New typedef.
3048         (get_raw_reg_ptr_type): New typedef.
3049         (get_trace_state_variable_value_ptr_type): New typedef.
3050         (set_trace_state_variable_value_ptr_type): New typedef.
3051         (gdb_collect_ptr): New global.
3052         (get_raw_reg_ptr): New global.
3053         (get_trace_state_variable_value_ptr): New global.
3054         (set_trace_state_variable_value_ptr): New global.
3055         (get_raw_reg_func_addr): Dereference get_raw_reg_ptr instead of
3056         accessing get_raw_reg directly.
3057         (get_get_tsv_func_addr): Likewise for
3058         get_trace_state_variable_value_ptr.
3059         (get_set_tsv_func_addr): Likewise for
3060         set_trace_state_variable_value_ptr.
3061         * tracepoint.h: Rename gdb_agent_get_raw_reg to get_raw_reg.
3062
3063 2016-03-30  Simon Marchi  <simon.marchi@ericsson.com>
3064
3065         * tracepoint.c (cmd_qtenable_disable): Remove whitespace.
3066
3067 2016-03-30  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3068
3069         * remote-utils.c (look_up_one_symbol): Remove own_buf, handle 'v'
3070         packets.
3071         (relocate_instruction): Remove own_buf.
3072         * server.c (own_buf): Make global.
3073         (handle_v_requests): Make global.
3074         * server.h (own_buf): New declaration.
3075         (handle_v_requests): New prototype.
3076
3077 2016-03-29  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3078
3079         PR 18377
3080         * linux-s390-low.c (add_insns): New function.
3081         (s390_emit_prologue): New function.
3082         (s390_emit_epilogue): New function.
3083         (s390_emit_add): New function.
3084         (s390_emit_sub): New function.
3085         (s390_emit_mul): New function.
3086         (s390_emit_lsh): New function.
3087         (s390_emit_rsh_signed): New function.
3088         (s390_emit_rsh_unsigned): New function.
3089         (s390_emit_ext): New function.
3090         (s390_emit_log_not): New function.
3091         (s390_emit_bit_and): New function.
3092         (s390_emit_bit_or): New function.
3093         (s390_emit_bit_xor): New function.
3094         (s390_emit_bit_not): New function.
3095         (s390_emit_equal): New function.
3096         (s390_emit_less_signed): New function.
3097         (s390_emit_less_unsigned): New function.
3098         (s390_emit_ref): New function.
3099         (s390_emit_if_goto): New function.
3100         (s390_emit_goto): New function.
3101         (s390_write_goto_address): New function.
3102         (s390_emit_litpool): New function.
3103         (s390_emit_const): New function.
3104         (s390_emit_call): New function.
3105         (s390_emit_reg): New function.
3106         (s390_emit_pop): New function.
3107         (s390_emit_stack_flush): New function.
3108         (s390_emit_zero_ext): New function.
3109         (s390_emit_swap): New function.
3110         (s390_emit_stack_adjust): New function.
3111         (s390_emit_set_r2): New function.
3112         (s390_emit_int_call_1): New function.
3113         (s390_emit_void_call_2): New function.
3114         (s390_emit_eq_goto): New function.
3115         (s390_emit_ne_goto): New function.
3116         (s390_emit_lt_goto): New function.
3117         (s390_emit_le_goto): New function.
3118         (s390_emit_gt_goto): New function.
3119         (s390_emit_ge_goto): New function.
3120         (s390x_emit_prologue): New function.
3121         (s390x_emit_epilogue): New function.
3122         (s390x_emit_add): New function.
3123         (s390x_emit_sub): New function.
3124         (s390x_emit_mul): New function.
3125         (s390x_emit_lsh): New function.
3126         (s390x_emit_rsh_signed): New function.
3127         (s390x_emit_rsh_unsigned): New function.
3128         (s390x_emit_ext): New function.
3129         (s390x_emit_log_not): New function.
3130         (s390x_emit_bit_and): New function.
3131         (s390x_emit_bit_or): New function.
3132         (s390x_emit_bit_xor): New function.
3133         (s390x_emit_bit_not): New function.
3134         (s390x_emit_equal): New function.
3135         (s390x_emit_less_signed): New function.
3136         (s390x_emit_less_unsigned): New function.
3137         (s390x_emit_ref): New function.
3138         (s390x_emit_if_goto): New function.
3139         (s390x_emit_const): New function.
3140         (s390x_emit_call): New function.
3141         (s390x_emit_reg): New function.
3142         (s390x_emit_pop): New function.
3143         (s390x_emit_stack_flush): New function.
3144         (s390x_emit_zero_ext): New function.
3145         (s390x_emit_swap): New function.
3146         (s390x_emit_stack_adjust): New function.
3147         (s390x_emit_int_call_1): New function.
3148         (s390x_emit_void_call_2): New function.
3149         (s390x_emit_eq_goto): New function.
3150         (s390x_emit_ne_goto): New function.
3151         (s390x_emit_lt_goto): New function.
3152         (s390x_emit_le_goto): New function.
3153         (s390x_emit_gt_goto): New function.
3154         (s390x_emit_ge_goto): New function.
3155         (s390_emit_ops): New function.
3156         (struct linux_target_ops): Fill in emit_ops hook.
3157
3158 2016-03-29  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3159
3160         PR 18377
3161         * Makefile.in: Add s390 IPA files.
3162         * configure.srv: Build IPA for s390.
3163         * linux-s390-ipa.c: New file.
3164         * linux-s390-low.c: New includes - inttypes.h and linux-s390-tdesc.h.
3165         (init_registers_s390_linux32): Move declaration to linux-s390-tdesc.h.
3166         (tdesc_s390_linux32): Likewise.
3167         (init_registers_s390_linux32v1): Likewise.
3168         (tdesc_s390_linux32v1): Likewise.
3169         (init_registers_s390_linux32v2): Likewise.
3170         (tdesc_s390_linux32v2): Likewise.
3171         (init_registers_s390_linux64): Likewise.
3172         (tdesc_s390_linux64): Likewise.
3173         (init_registers_s390_linux64v1): Likewise.
3174         (tdesc_s390_linux64v1): Likewise.
3175         (init_registers_s390_linux64v2): Likewise.
3176         (tdesc_s390_linux64v2): Likewise.
3177         (init_registers_s390_te_linux64): Likewise.
3178         (tdesc_s390_te_linux64): Likewise.
3179         (init_registers_s390_vx_linux64): Likewise.
3180         (tdesc_s390_vx_linux64): Likewise.
3181         (init_registers_s390_tevx_linux64): Likewise.
3182         (tdesc_s390_tevx_linux64): Likewise.
3183         (init_registers_s390x_linux64): Likewise.
3184         (tdesc_s390x_linux64): Likewise.
3185         (init_registers_s390x_linux64v1): Likewise.
3186         (tdesc_s390x_linux64v1): Likewise.
3187         (init_registers_s390x_linux64v2): Likewise.
3188         (tdesc_s390x_linux64v2): Likewise.
3189         (init_registers_s390x_te_linux64): Likewise.
3190         (tdesc_s390x_te_linux64): Likewise.
3191         (init_registers_s390x_vx_linux64): Likewise.
3192         (tdesc_s390x_vx_linux64): Likewise.
3193         (init_registers_s390x_tevx_linux64): Likewise.
3194         (tdesc_s390x_tevx_linux64): Likewise.
3195         (have_hwcap_s390_vx): New static variable.
3196         (s390_arch_setup): Fill have_hwcap_s390_vx.
3197         (s390_get_thread_area): New function.
3198         (s390_ft_entry_gpr_esa): New const.
3199         (s390_ft_entry_gpr_zarch): New const.
3200         (s390_ft_entry_misc): New const.
3201         (s390_ft_entry_fr): New const.
3202         (s390_ft_entry_vr): New const.
3203         (s390_ft_main_31): New const.
3204         (s390_ft_main_64): New const.
3205         (s390_ft_exit_fr): New const.
3206         (s390_ft_exit_vr): New const.
3207         (s390_ft_exit_misc): New const.
3208         (s390_ft_exit_gpr_esa): New const.
3209         (s390_ft_exit_gpr_zarch): New const.
3210         (append_insns): New function.
3211         (s390_relocate_instruction): New function.
3212         (s390_install_fast_tracepoint_jump_pad): New function.
3213         (s390_get_min_fast_tracepoint_insn_len): New function.
3214         (s390_get_ipa_tdesc_idx): New function.
3215         (struct linux_target_ops): Wire in the above functions.
3216         (initialize_low_arch) [!__s390x__]: Don't initialize s390x tdescs.
3217         * linux-s390-tdesc.h: New file.
3218
3219 2016-03-29  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3220
3221         * linux-s390-low.c (s390_supports_tracepoints): New function.
3222         (struct linux_target_ops): Fill supports_tracepoints hook.
3223
3224 2016-03-18  Yao Qi  <yao.qi@linaro.org>
3225
3226         * linux-low.c (lwp_signal_can_be_delivered): New function.
3227         (linux_resume_one_lwp_throw): Use lwp_signal_can_be_delivered.
3228
3229 2016-03-18  Yao Qi  <yao.qi@linaro.org>
3230
3231         * linux-low.c (linux_resume_one_lwp_throw): Set 'signal' to
3232         0 if signal is enqueued.  Remove 'signal' from one debugging
3233         message.  Move one debugging message to some lines below.
3234         Remove code setting 'signal' to 0.
3235
3236 2016-03-18  Yao Qi  <yao.qi@linaro.org>
3237
3238         * linux-low.c (linux_low_filter_event): Remove redundant
3239         WIFSTOPPED check together with linux_wstatus_maybe_breakpoint.
3240
3241 2016-03-09  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3242
3243         * linux-ppc-low.c (ppc_supports_tracepoints): New function.
3244         (struct linux_target_ops): Wire in the above.
3245
3246 2016-03-03  Yao Qi  <yao.qi@linaro.org>
3247
3248         * linux-low.c: Update comments to start_step_over.
3249
3250 2016-03-03  Yao Qi  <yao.qi@linaro.org>
3251
3252         PR server/19736
3253         * linux-low.c (handle_extended_wait): Set child suspended
3254         if event_lwp->bp_reinsert isn't zero.
3255
3256 2016-03-02  Yao Qi  <yao.qi@linaro.org>
3257
3258         * linux-low.c (linux_resume_one_lwp_throw): Replace code with
3259         enqueue_pending_signal.
3260
3261 2016-03-02  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3262
3263         * tracepoint.c (cmd_qtstart): Only set ipa_tdesc_idx if agent
3264         is actually loaded.
3265
3266 2016-02-25  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3267
3268         * linux-s390-low.c (s390_num_regs_3264): Define on 31-bit too.
3269         (s390_regmap_3264) [!__s390x__]: New global.
3270         (s390_collect_ptrace_register): Skip map entries containing -1.
3271         (s390_supply_ptrace_register): Ditto.
3272         (s390_fill_gprs_high): New function.
3273         (s390_store_gprs_high): New function.
3274         (s390_regsets): Add NT_S390_HIGH_GPRS.
3275         (s390_get_hwcap): Enable on 31-bit.
3276         (have_hwcap_s390_high_gprs): Enable on 31-bit.
3277         (s390_arch_setup): Enable detection of high GPRs, TDB, VX on 31-bit.
3278         Detect NT_S390_HIGH_GPRS.
3279         (s390_usrregs_info_3264): Enable on 31-bit.
3280         (s390_regs_info): Enable regs_info_3264 on 31-bit.
3281         (initialize_low_arch): Initialize s390_regsets_info_3264 on 31-bit.
3282
3283 2016-02-25  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3284
3285         PR gdb/13808
3286         * Makefile.in: Add i386-*-linux-ipa.o and amd64-*-linux-ipa.o.
3287         * configure.srv: Ditto.
3288         * linux-aarch64-ipa.c (get_ipa_tdesc): New function.
3289         (initialize_low_tracepoint): Remove ipa_tdesc assignment.
3290         * linux-amd64-ipa.c: Add "linux-x86-tdesc.h" include.
3291         (init_registers_amd64_linux): Remove prototype.
3292         (tdesc_amd64_linux): Remove declaration.
3293         (get_ipa_tdesc): New function.
3294         (initialize_low_tracepoint): Remove ipa_tdesc assignment,
3295         initialize remaining tdescs.
3296         * linux-i386-ipa.c: Add "linux-x86-tdesc.h" include.
3297         (init_registers_i386_linux): Remove prototype.
3298         (tdesc_i386_linux): Remove declaration.
3299         (get_ipa_tdesc): New function.
3300         (initialize_low_tracepoint): Remove ipa_tdesc assignment,
3301         initialize remaining tdescs.
3302         * linux-low.c (linux_get_ipa_tdesc_idx): New function.
3303         (linux_target_ops): wire in linux_get_ipa_tdesc_idx.
3304         * linux-low.h (struct linux_target_ops): Add get_ipa_tdesc_idx.
3305         * linux-x86-low.c: Move tdesc declarations to linux-x86-tdesc.h.
3306         (x86_get_ipa_tdesc_idx): New function.
3307         (the_low_target): Wire in x86_get_ipa_tdesc_idx.
3308         * linux-x86-tdesc.h: New file.
3309         * target.h (struct target_ops): Add get_ipa_tdesc_idx.
3310         (target_get_ipa_tdesc_idx): New macro.
3311         * tracepoint.c (ipa_tdesc_idx): New macro.
3312         (struct ipa_sym_addresses): Add addr_ipa_tdesc_idx.
3313         (symbol_list): Add ipa_tdesc_idx.
3314         (cmd_qtstart): Write ipa_tdesc_idx in the target.
3315         (ipa_tdesc): Remove.
3316         (ipa_tdesc_idx): New variable.
3317         (get_context_regcache): Use get_ipa_tdesc.
3318         (gdb_collect): Ditto.
3319         (gdb_probe): Ditto.
3320         * tracepoint.h (get_ipa_tdesc): New prototype.
3321         (ipa_tdesc): Remove.
3322
3323 2016-02-24  Pedro Alves  <palves@redhat.com>
3324
3325         * linux-low.c (check_stopped_by_breakpoint): Rename to ...
3326         (save_stop_reason): ... this.  Use GDB_ARCH_IS_TRAP_HWBKPT and
3327         handle ambiguous GDB_ARCH_IS_TRAP_BRKPT / GDB_ARCH_IS_TRAP_HWBKPT.
3328         Factor out common code between the USE_SIGTRAP_SIGINFO and
3329         !USE_SIGTRAP_SIGINFO blocks.
3330         (linux_low_filter_event): Call save_stop_reason instead of
3331         check_stopped_by_breakpoint and check_stopped_by_watchpoint.
3332         Update comments.
3333         (linux_wait_1): Update comments.
3334
3335 2016-02-24  Wei-cheng Wang  <cole945@gmail.com>
3336
3337         * linux-ppc-low.c (ppc_supports_z_point_type): New function:
3338         (ppc_insert_point, ppc_remove_point): Insert/remove z-packet breakpoints.
3339         (ppc64_emit_ops_vector): Add target ops - ppc_supports_z_point_type,
3340         ppc_insert_point, ppc_remove_point.
3341
3342 2016-02-17  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3343
3344         * linux-s390-low.c (s390_supports_z_point_type): New function.
3345         (struct linux_target_ops): Wire s390_supports_z_point_type in.
3346
3347 2016-02-16  Yao Qi  <yao.qi@linaro.org>
3348
3349         * linux-arm-low.c (get_next_pcs_syscall_next_pc): Remove argument
3350         PC.  Get pc from regcache_read_pc.
3351
3352 2016-02-12  Yao Qi  <yao.qi@linaro.org>
3353
3354         * linux-aarch64-low.c (aarch64_get_pc): Call linux_get_pc_64bit
3355         or linux_get_pc_32bit.
3356         (aarch64_set_pc): Call linux_set_pc_64bit or linux_set_pc_32bit.
3357
3358 2016-02-12  Yao Qi  <yao.qi@linaro.org>
3359
3360         * linux-arm-low.c (get_next_pcs_ops): Initialize it with
3361         arm_linux_get_next_pcs_fixup.
3362
3363 2016-02-12  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3364
3365         * tracepoint.c (x_tracepoint_action_download): Change
3366         write_inferior_data_ptr to write_inferior_data_pointer.
3367         (cmd_qtstart): Likewise.
3368         (write_inferior_data_ptr): Remove.
3369         (download_agent_expr): Change write_inferior_data_ptr to
3370         write_inferior_data_pointer.
3371         (download_tracepoint_1): Likewise.
3372         (download_tracepoint): Likewise.
3373         (download_trace_state_variables): Likewise.
3374
3375 2016-02-11  Wei-cheng Wang  <cole945@gmail.com>
3376             Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3377
3378         * tracepoint.c (struct tracepoint_action_ops): Remove.
3379         (struct tracepoint_action): Remove ops.
3380         (m_tracepoint_action_download, r_tracepoint_action_download)
3381         (x_tracepoint_action_download, l_tracepoint_action_download): Adjust
3382         size and offset accordingly.
3383         (m_tracepoint_action_ops, r_tracepoint_action_ops)
3384         (x_tracepoint_action_ops, l_tracepoint_action_ops): Remove.
3385         (tracepoint_action_send, tracepoint_action_download): New functions.
3386         Helpers for trace action handlers.
3387         (add_tracepoint_action): Remove setup actions ops.
3388         (download_tracepoint_1, tracepoint_send_agent): Call helper functions.
3389
3390 2016-02-10  Yao Qi  <yao.qi@linaro.org>
3391
3392         * regcache.c (regcache_raw_read_unsigned): Clear *VAL.
3393
3394 2016-02-09  Simon Marchi  <simon.marchi@ericsson.com>
3395
3396         * configure.ac: Use AC_CONFIG_FILES instead of passing arguments
3397         to AC_OUTPUT.
3398         * configure: Regenerate.
3399
3400 2016-02-09  Simon Marchi  <simon.marchi@ericsson.com>
3401
3402         * linux-aarch64-low.c (aarch64_linux_siginfo_fixup): Change
3403         void * to gdb_byte *.
3404         * linux-low.c (siginfo_fixup): Likewise.
3405         (linux_xfer_siginfo): Likewise.
3406         * linux-low.h (struct linux_target_ops) <siginfo_fixup>:
3407         Likewise.
3408         * linux-x86-low.c (x86_siginfo_fixup): Likewise.
3409
3410 2016-02-02  Walfred Tedeschi  <walfred.tedeschi@intel.com>
3411
3412         * configure.srv (x86_64-*-linux*): Add amd64-linux-siginfo.o
3413         to srv_tgtobj.
3414         (i[34567]86-*-linux*): Add amd64-linux-siginfo.o
3415         to srv_tgtobj.
3416         * linux-x86-low.c [__x86_64__]: Include
3417         "nat/amd64-linux-siginfo.h".
3418         (compat_siginfo_from_siginfo, siginfo_from_compat_siginfo)
3419         (compat_x32_siginfo_from_siginfo, siginfo_from_compat_x32_siginfo)
3420         (compat_timeval, compat_sigval, compat_x32_clock, cpt_si_pid)
3421         (cpt_si_uid, cpt_si_timerid, cpt_si_overrun, cpt_si_status)
3422         (cpt_si_utime, cpt_si_stime, cpt_si_ptr, cpt_si_addr, cpt_si_band)
3423         (cpt_si_fd, si_timerid, si_overrun): Move from
3424         nat/amd64-linux-siginfo.c.
3425         * Makefile.in (amd64-linux-siginfo.o:): New rule.
3426
3427 2016-01-28  Simon Marchi  <simon.marchi@ericsson.com>
3428
3429         * server.c (skip_to_semicolon):  Remove.
3430         (process_point_options): Use strchrnul instead of
3431         skip_to_semicolon.
3432
3433 2016-01-26  Yao Qi  <yao.qi@linaro.org>
3434
3435         * linux-arm-low.c (arm_gdbserver_get_next_pcs): Remove argument pc.
3436         * linux-low.c (install_software_single_step_breakpoints): Don't
3437         call regcache_read_pc.
3438         * linux-low.h (struct linux_target_ops) <get_next_pcs>: Remove
3439         argument pc.
3440
3441 2016-01-26  Yao Qi  <yao.qi@linaro.org>
3442
3443         * linux-low.c (install_software_single_step_breakpoints): Call
3444         regcache_read_pc instead of get_pc.
3445
3446 2016-01-26  Yao Qi  <yao.qi@linaro.org>
3447
3448         * remote-utils.c (remote_close) [!USE_WIN32API]: Ignore SIGIO.
3449         (unblock_async_io): Rename to ...
3450         (block_unblock_async_io): ... it.  New function.
3451         (enable_async_io): Don't install SIGIO handler.  Unblock it
3452         instead.
3453         (disable_async_io): Don't ignore SIGIO.  Block it instead.
3454         (initialize_async_io): Install SIGIO handler.  Don't call
3455         unblock_async_io.
3456
3457 2016-01-26  Yao Qi  <yao.qi@linaro.org>
3458
3459         * remote-utils.c (getpkt): If the buffer isn't empty, and the
3460         first character is '\003', call *the_target->request_interrupt.
3461
3462 2016-01-25  Yao Qi  <yao.qi@linaro.org>
3463
3464         * remote-utils.c (new_thread_notify): Remove.
3465         (dead_thread_notify): Likewise.
3466         * remote-utils.h (new_thread_notify): Remove declaration.
3467         (dead_thread_notify): Likewise.
3468
3469 2016-01-23  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3470
3471         * gdb.trace/pending.exp: Fix expected message on continue.
3472
3473 2016-01-22  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
3474
3475         * tracepoint.c (write_inferior_data_ptr): Cast to uintptr_t, so that
3476         it works properly on big-endian machines where sizeof (CORE_ADDR)
3477         != sizeof (void *).
3478
3479 2016-01-21  Pedro Alves  <palves@redhat.com>
3480
3481         * Makefile.in (COMPILER_CFLAGS, CXXFLAGS): New.
3482         (INTERNAL_CFLAGS_BASE): Use COMPILER_CFLAGS instead of CFLAGS.
3483         * configure: Regenerate.
3484
3485 2016-01-21  Yao Qi  <yao.qi@linaro.org>
3486
3487         * linux-arm-low.c (arm_sigreturn_next_pc): Add parameter
3488         is_thumb and set it according to CPSR saved on the stack.
3489         (get_next_pcs_syscall_next_pc): Pass is_thumb to
3490         arm_sigreturn_next_pc.
3491
3492 2016-01-18  Yao Qi  <yao.qi@linaro.org>
3493
3494         * linux-low.c (linux_set_pc_64bit): New function.
3495         (linux_get_pc_64bit): New function.
3496         * linux-low.h (linux_set_pc_64bit, linux_get_pc_64bit):
3497         Declare.
3498         * linux-sparc-low.c (debug_threads): Remove declaration.
3499         (sparc_get_pc): Remove.
3500         (the_low_target): Use linux_get_pc_64bit instead of
3501         sparc_get_pc.
3502         * linux-tile-low.c (tile_get_pc, tile_set_pc): Remove.
3503         (the_low_target): Use linux_get_pc_64bit and
3504         linux_set_pc_64bit.
3505
3506 2016-01-18  Yao Qi  <yao.qi@linaro.org>
3507
3508         * linux-arm-low.c (debug_threads): Remove declaration.
3509         (arm_get_pc, arm_set_pc): Remove.
3510         (the_low_target): Use linux_get_pc_32bit and
3511         linux_set_pc_32bit.
3512         * linux-bfin-low.c (bfin_get_pc, bfin_set_pc): Remove.
3513         (the_low_target): Use linux_get_pc_32bit and
3514         linux_set_pc_32bit.
3515         * linux-cris-low.c (debug_threads): Remove declaration.
3516         (cris_get_pc, cris_set_pc,): Remove.
3517         (the_low_target): Use linux_get_pc_32bit and
3518         linux_set_pc_32bit.
3519         * linux-crisv32-low.c (debug_threads): Remove declaration.
3520         (cris_get_pc, cris_set_pc): Remove.
3521         (the_low_target): Use linux_get_pc_32bit and
3522         linux_set_pc_32bit.
3523         * linux-low.c: Include inttypes.h.
3524         (linux_get_pc_32bit, linux_set_pc_32bit): New functions.
3525         * linux-low.h (linux_get_pc_32bit, linux_set_pc_32bit): Declare.
3526         * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Remove.
3527         (the_low_target): Use linux_get_pc_32bit and
3528         linux_set_pc_32bit.
3529         * linux-m68k-low.c (m68k_get_pc, m68k_set_pc): Remove.
3530         (the_low_target): Use linux_get_pc_32bit and
3531         linux_set_pc_32bit.
3532         * linux-nios2-low.c (nios2_get_pc, nios2_set_pc): Remove.
3533         (the_low_target): Use linux_get_pc_32bit and
3534         linux_set_pc_32bit.
3535         * linux-sh-low.c (sh_get_pc, sh_set_pc): Remove.
3536         (the_low_target): Use linux_get_pc_32bit and
3537         linux_set_pc_32bit.
3538         * linux-xtensa-low.c (xtensa_get_pc, xtensa_set_pc): Remove.
3539         (the_low_target): Use linux_get_pc_32bit and
3540         linux_set_pc_32bit.
3541
3542 2016-01-18  Gary Benson  <gbenson@redhat.com>
3543
3544         * configure.ac (AC_FUNC_FORK): New check.
3545         * config.in: Regenerate.
3546         * configure: Likewise.
3547
3548 2016-01-14  Yao Qi  <yao.qi@linaro.org>
3549
3550         * linux-aarch32-low.c (thumb2_breakpoint): Make it static.
3551         * linux-aarch32-low.h (thumb2_breakpoint): Remove declaration.
3552         * linux-arm-low.c (arm_gdbserver_get_next_pcs): Pass 1 to
3553         arm_get_next_pcs_ctor.
3554
3555 2016-01-12  Josh Stone  <jistone@redhat.com>
3556             Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3557
3558         * inferiors.h: Include "gdb_vecs.h".
3559         (struct process_info): Add syscalls_to_catch.
3560         * inferiors.c (remove_process): Free syscalls_to_catch.
3561         * remote-utils.c (prepare_resume_reply): Report syscall_entry and
3562         syscall_return stops.
3563         * server.h (UNKNOWN_SYSCALL, ANY_SYSCALL): Define.
3564         * server.c (handle_general_set): Handle QCatchSyscalls.
3565         (handle_query): Report support for QCatchSyscalls.
3566         * target.h (struct target_ops): Add supports_catch_syscall.
3567         (target_supports_catch_syscall): New macro.
3568         * linux-low.h (struct linux_target_ops): Add get_syscall_trapinfo.
3569         (struct lwp_info): Add syscall_state.
3570         * linux-low.c (handle_extended_wait): Mark syscall_state as an entry.
3571         Maintain syscall_state and syscalls_to_catch across exec.
3572         (get_syscall_trapinfo): New function, proxy to the_low_target.
3573         (linux_low_ptrace_options): Enable PTRACE_O_TRACESYSGOOD.
3574         (linux_low_filter_event): Toggle syscall_state entry/return for
3575         syscall traps, and set it ignored for all others.
3576         (gdb_catching_syscalls_p): New function.
3577         (gdb_catch_this_syscall_p): New function.
3578         (linux_wait_1): Handle SYSCALL_SIGTRAP.
3579         (linux_resume_one_lwp_throw): Add PTRACE_SYSCALL possibility.
3580         (linux_supports_catch_syscall): New function.
3581         (linux_target_ops): Install it.
3582         * linux-x86-low.c (x86_get_syscall_trapinfo): New function.
3583         (the_low_target): Install it.
3584
3585 2016-01-12  Mike Frysinger  <vapier@gentoo.org>
3586
3587         * acinclude.m4: Include new ../warning.m4 file.
3588         * configure: Regenerated.
3589         * configure.ac: Replace all warning logic with AM_GDB_WARNINGS.
3590
3591 2016-01-12  Mike Frysinger  <vapier@gentoo.org>
3592
3593         * ax.c (is_goto_target): Mark static.
3594         * linux-low.c (register_addr): Likewise.
3595         (linux_fetch_registers, linux_store_registers): Likewise.
3596         * mem-break.c (any_persistent_commands): Fix old prototype.
3597         (add_commands_to_breakpoint): Mark static.
3598         * regcache.c (find_register_by_name): Delete unused func.
3599         * remote-utils.c (hex_or_minus_one): Mark static.
3600         * server.c (monitor_show_help): Mark static.
3601         (handle_query, handle_v_cont, handle_v_attach, handle_v_kill,
3602         handle_v_requests): Likewise.
3603
3604 2016-01-12  Pedro Alves  <palves@redhat.com>
3605
3606         Remove use of the registered trademark symbol throughout.
3607
3608 2016-01-08  Yao Qi  <yao.qi@linaro.org>
3609
3610         * remote-utils.c (getpkt): If c is '\003', call target hook
3611         request_interrupt.
3612
3613 2016-01-06  Yao Qi  <yao.qi@linaro.org>
3614
3615         * linux-aarch32-low.h (arm_abi_breakpoint): Move to
3616         linux-aarch32-low.c.
3617         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
3618         (arm_breakpoint_len, thumb_breakpoint_len): Likewise.
3619         (thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
3620         (thumb2_breakpoint): Declare.
3621         * linux-aarch32-low.c (arm_abi_breakpoint): Moved from
3622         linux-aarch32-low.h.
3623         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
3624         (arm_breakpoint_len, thumb_breakpoint_len): Likewise.
3625         (thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
3626
3627 2016-01-01  Joel Brobecker  <brobecker@adacore.com>
3628
3629         * gdbreplay.c (gdbreplay_version): Change copyright year in
3630         version message.
3631         * server.c (gdbserver_version): Likewise.
3632
3633 2015-12-28  Patrick Palka  <patrick@parcs.ath.cx>
3634
3635         * server.c (crc32_table): Delete.
3636         (crc32): Use libiberty's xcrc32 function.
3637
3638 2015-12-22  Joel Brobecker  <brobecker@adacore.com>
3639
3640         * lynx-low.c (lynx_delete_thread_callback): New function.
3641         (lynx_mourn): Properly delete our process and all of its
3642         threads.  Remove call to clear_inferiors.
3643
3644 2015-12-22  Joel Brobecker  <brobecker@adacore.com>
3645
3646         * target.c (thread_search_callback): Add check that
3647         the thread_stopped target callback is not NULL before
3648         calling it.
3649
3650 2015-12-21  Yao Qi  <yao.qi@linaro.org>
3651
3652         * linux-aarch32-low.h [__aarch64__]: Use arm_abi_breakpoint
3653         arm breakpoint.
3654
3655 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
3656
3657         * server.c (handle_query): Call target_supports_software_single_step.
3658
3659 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
3660
3661         * linux-low.c (single_step): New function.
3662         (linux_resume_one_lwp_throw): Call single_step.
3663         (start_step_over): Likewise.
3664
3665 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
3666
3667         * Makefile.in (SFILES): Append arch/arm-linux.c,
3668         arch/arm-get-next-pcs.c.
3669         (arm-linux.o): New rule.
3670         (arm-get-next-pcs.o): New rule.
3671         * configure.srv (arm*-*-linux*): Add arm-get-next-pcs.o,
3672         arm-linux.o.
3673         * linux-aarch32-low.c (arm_abi_breakpoint): Remove macro.  Moved
3674         to linux-aarch32-low.c.
3675         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
3676         (arm_breakpoint_len, thumb_breakpoint): Likewise.
3677         (thumb_breakpoint_len, thumb2_breakpoint): Likewise.
3678         (thumb2_breakpoint_len): Likewise.
3679         (arm_is_thumb_mode): Make non-static.
3680         * linux-aarch32-low.h (arm_abi_breakpoint): New macro.  Moved
3681         from linux-aarch32-low.c.
3682         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
3683         (arm_breakpoint_len, thumb_breakpoint): Likewise.
3684         (thumb_breakpoint_len, thumb2_breakpoint): Likewise.
3685         (thumb2_breakpoint_len): Likewise.
3686         (arm_is_thumb_mode): New declaration.
3687         * linux-arm-low.c: Include arch/arm-linux.h
3688         aarch/arm-get-next-pcs.h, sys/syscall.h.
3689         (get_next_pcs_ops): New struct.
3690         (get_next_pcs_addr_bits_remove): New function.
3691         (get_next_pcs_is_thumb): New function.
3692         (get_next_pcs_read_memory_unsigned_integer): Likewise.
3693         (arm_sigreturn_next_pc): Likewise.
3694         (get_next_pcs_syscall_next_pc): Likewise.
3695         (arm_gdbserver_get_next_pcs): Likewise.
3696         (struct linux_target_ops) <arm_gdbserver_get_next_pcs>:
3697         Initialize.
3698         * linux-low.h: Move CORE_ADDR vector definition to gdb_vecs.h.
3699         * server.h: Include gdb_vecs.h.
3700
3701 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
3702
3703         * Makefile.in (SFILES): Append common/common-regcache.c.
3704         (OBS): Append common-regcache.o.
3705         (common-regcache.o): New rule.
3706         * regcache.c (init_register_cache): Initialize cache to
3707         REG_UNAVAILABLE.
3708         (regcache_raw_read_unsigned): New function.
3709         * regcache.h (REG_UNAVAILABLE, REG_VALID): Replaced by shared
3710         register_status enum.
3711
3712 2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
3713
3714         * linux-aarch64-low.c (the_low_targets): Rename
3715         breakpoint_reinsert_addr to get_next_pcs.
3716         * linux-arm-low.c (the_low_targets): Likewise.
3717         * linux-bfin-low.c (the_low_targets): Likewise.
3718         * linux-cris-low.c (the_low_targets): Likewise.
3719         * linux-crisv32-low.c (the_low_targets): Likewise.
3720         * linux-low.c (can_software_single_step): Likewise.
3721         (install_software_single_step_breakpoints): New function.
3722         (start_step_over): Use install_software_single_step_breakpoints.
3723         * linux-low.h: New CORE_ADDR vector.
3724         (struct linux_target_ops) Rename breakpoint_reinsert_addr to
3725         get_next_pcs.
3726         * linux-mips-low.c (the_low_targets): Likewise.
3727         * linux-nios2-low.c (the_low_targets): Likewise.
3728         * linux-sparc-low.c (the_low_targets): Likewise.
3729
3730 2015-12-17  Pedro Alves  <palves@redhat.com>
3731
3732         * linux-low.c (linux_kill_one_lwp): Remove references to
3733         LinuxThreads.
3734         (kill_lwp): Remove HAVE_TKILL_SYSCALL check.  No longer fall back
3735         to 'kill'.
3736         (linux_init_signals): Delete.
3737         (initialize_low): Adjust.
3738         * thread-db.c (thread_db_init): Remove LinuxThreads reference.
3739
3740 2015-12-16  Pedro Alves  <palves@redhat.com>
3741
3742         * configure.ac (compiler warning flags): When testing a
3743         -Wno-foo option, check whether -Wfoo works instead.
3744         * configure: Regenerate.
3745
3746 2015-12-11  Don Breazeal  <donb@codesourcery.com>
3747
3748         * server.c (process_serial_event): Don't exit from gdbserver
3749         in remote mode if there are still active inferiors.
3750
3751 2015-12-11  Yao Qi  <yao.qi@linaro.org>
3752
3753         * linux-aarch64-low.c (aarch64_breakpoint_at): Call
3754         arm_breakpoint_at if the process is 32-bit.
3755
3756 2015-12-11  Yao Qi  <yao.qi@linaro.org>
3757
3758         * linux-aarch32-low.c [__aarch64__]: Use arm_abi_breakpoint
3759         arm breakpoint.
3760
3761 2015-12-07  Yao Qi  <yao.qi@linaro.org>
3762
3763         * configure.srv: Append arm.o to srv_tgtobj for
3764         aarch64*-*-linux* target.
3765         * linux-aarch32-low.c (arm_abi_breakpoint): New macro.  Moved
3766         from linux-arm-low.c.
3767         (arm_eabi_breakpoint, arm_breakpoint): Likewise.
3768         (arm_breakpoint_len, thumb_breakpoint): Likewise.
3769         (thumb_breakpoint_len, thumb2_breakpoint): Likewise.
3770         (thumb2_breakpoint_len): Likewise.
3771         (arm_is_thumb_mode, arm_breakpoint_at): Likewise.
3772         (arm_breakpoint_kinds): Likewise.
3773         (arm_breakpoint_kind_from_pc): Likewise.
3774         (arm_sw_breakpoint_from_kind): Likewise.
3775         (arm_breakpoint_kind_from_current_state): Likewise.
3776         * linux-aarch32-low.h (arm_breakpoint_kind_from_pc): Declare.
3777         (arm_sw_breakpoint_from_kind): Declare.
3778         (arm_breakpoint_kind_from_current_state): Declare.
3779         (arm_breakpoint_at): Declare.
3780         * linux-aarch64-low.c (aarch64_sw_breakpoint_from_kind): Call
3781         arm_sw_breakpoint_from_kind if process is 32-bit.
3782         (aarch64_breakpoint_kind_from_pc): New function.
3783         (aarch64_breakpoint_kind_from_current_state): New function.
3784         (the_low_target): Initialize fields breakpoint_kind_from_pc
3785         and breakpoint_kind_from_current_state.
3786         * linux-arm-low.c (arm_breakpoint_kinds): Move to
3787         linux-aarch32-low.c.
3788         (arm_abi_breakpoint, arm_eabi_breakpoint): Likewise.
3789         (arm_breakpoint, arm_breakpoint_len): Likewise.
3790         (thumb_breakpoint, thumb_breakpoint_len): Likewise.
3791         (thumb2_breakpoint, thumb2_breakpoint_len): Likewise.
3792         (arm_is_thumb_mode): Likewise.
3793         (arm_breakpoint_at): Likewise.
3794         (arm_breakpoint_kind_from_pc): Likewise.
3795         (arm_sw_breakpoint_from_kind): Likewise.
3796         (arm_breakpoint_kind_from_current_state): Likewise.
3797
3798         Revert:
3799         2015-08-04  Yao Qi  <yao.qi@linaro.org>
3800
3801         * linux-aarch64-low.c (aarch64_supports_z_point_type): Return
3802         0 for Z_PACKET_SW_BP if it may be used in multi-arch debugging.
3803         * server.c (extended_protocol): Remove "static".
3804         * server.h (extended_protocol): Declare it.
3805
3806 2015-12-04  Josh Stone  <jistone@redhat.com>
3807
3808         * target.h (struct target_ops) <arch_setup>: Rename to ...
3809         (struct target_ops) <post_create_inferior>: ... this.
3810         (target_arch_setup): Rename to ...
3811         (target_post_create_inferior): ... this, calling post_create_inferior.
3812         * server.c (start_inferior): Update target_arch_setup calls to
3813         target_post_create_inferior.
3814         * linux-low.c (linux_low_ptrace_options): Forward declare.
3815         (linux_arch_setup): Update its comment for general use.
3816         (linux_post_create_inferior): New, run arch_setup and setup ptrace.
3817         (struct linux_target_ops): Use linux_post_create_inferior.
3818         * lynx-low.c (struct lynx_target_ops): Update arch_setup stub comment
3819         to post_create_inferior.
3820         * nto-low.c (struct nto_target_ops): Likewise.
3821         * spu-low.c (struct spu_target_ops): Likewise.
3822         * win32-low.c (struct win32_target_ops): Likewise.
3823
3824 2015-12-03  Antoine Tremblay  <antoine.tremblay@ericsson.com>
3825
3826         * linux-arm-low.c: Remove duplicate arch/arm.h include.
3827
3828 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
3829
3830         * linux-arm-low.c (arm_reinsert_addr): Remove function.
3831         (struct linux_target_ops <breakpoint_reinsert_addr>: Set to NULL.
3832         * linux-cris-low.c (cris_reinsert_addr> Remove function.
3833         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
3834         * linux-crisv32-low.c (cris_reinsert_addr): Remove function.
3835         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
3836         * linux-mips-low.c (mips_reinsert_addr): Remove function.
3837         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
3838         * linux-nios2-low.c (nios2_reinsert_addr): Remove function.
3839         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
3840         * linux-sparc-low.c (sparc_reinsert_addr): Remove function.
3841         (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
3842
3843 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
3844
3845         * linux-low.c (linux_look_up_symbols): Don't call
3846         linux_supports_traceclone.
3847         * linux-low.h (thread_db_init): Remove use_events argument.
3848         * thread-db.c (thread_db_use_event): Remove global variable.
3849         (struct thread_db) <td_thr_event_enable_p>: Remove field.
3850         (struct thread_db) <td_create_bp>: Remove field.
3851         (thread_db_create_event): Remove function.
3852         (thread_db_enable_reporting): Likewise.
3853         (find_one_thread): Don't check for thread_db_use_events.
3854         (attach_thread): Likewise.
3855         (thread_db_load_search): Remove td_thr_event_enable_p initialization.
3856         (try_thread_db_load_1): Don't check for thread_db_use_events.
3857         (thread_db_init): Remove use_events argument and thread events
3858         handling.
3859         (remove_thread_event_breakpoints): Remove function.
3860         (thread_db_detach): Remove call to remove_thred_event_breakpoints.
3861
3862 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
3863
3864         * linux-aarch64-low.c (aarch64_supports_hardware_single_step):
3865         New function.
3866         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
3867         * linux-arm-low.c (arm_supports_hardware_single_step): New function.
3868         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
3869         * linux-bfin-low.c (bfin_supports_hardware_single_step): New function.
3870         (struct linux_target_ops) <bfin_supports_hardware_single_step>:
3871         Initialize.
3872         * linux-crisv32-low.c (cris_supports_hardware_single_step):
3873         New function.
3874         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
3875         * linux-low.c (can_hardware_single_step): Use
3876         supports_hardware_single_step.
3877         (can_software_single_step): New function.
3878         (start_step_over): Call can_software_single_step.
3879         (linux_supports_hardware_single_step): New function.
3880         (struct target_ops) <supports_software_single_step>: Initialize.
3881         * linux-low.h (struct linux_target_ops)
3882         <supports_hardware_single_step>: Initialize.
3883         * linux-m32r-low.c (m32r_supports_hardware_single_step): New function.
3884         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
3885         * linux-ppc-low.c (ppc_supports_hardware_single_step): New function.
3886         (struct linux_target_ops) <supports_hardware_single_step> Initialize.
3887         * linux-s390-low.c (s390_supports_hardware_single_step): New function.
3888         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
3889         * linux-sh-low.c (sh_supports_hardware_single_step): New function.
3890         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
3891         * linux-tic6x-low.c (tic6x_supports_hardware_single_step): New function.
3892         (struct linux_target_ops) <tic6x_supports_hardware_single_step>:
3893         Initialize.
3894         * linux-tile-low.c (tile_supports_hardware_single_step): New function.
3895         (struct linux_target_ops) <tile_supports_hardware_single_step>:
3896         Initialize.
3897         * linux-x86-low.c (x86_supports_hardware_single_step) New function.
3898         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
3899         * linux-xtensa-low.c (xtensa_supports_hardware_single_step):
3900         New function.
3901         (struct linux_target_ops) <supports_hardware_single_step>: Initialize.
3902         * target.h (struct target_ops): <supports_software_single_step>:
3903         New field.
3904         (target_supports_software_single_step): New macro.
3905
3906 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
3907
3908         * linux-low.c (linux_wait_1): Fix pc advance condition.
3909         * mem-break.c (reinsert_breakpoint_inserted_here): New function.
3910         * mem-break.h (reinsert_breakpoint_inserted_here): New declaration.
3911
3912 2015-11-30  Antoine Tremblay  <antoine.tremblay@ericsson.com>
3913
3914         * linux-arm-low.c (arm_is_thumb_mode): New function.
3915         (arm_breakpoint_at): Use arm_is_thumb_mode.
3916         (arm_breakpoint_kind_from_current_state): New function.
3917         (struct linux_target_ops) <breakpoint_kind_from_current_state>:
3918         Initialize.
3919         * linux-low.c (linux_wait_1): Call breakpoint_kind_from_current_state.
3920         (linux_breakpoint_kind_from_current_state): New function.
3921         (struct target_ops <breakpoint_kind_from_current_state>: Initialize.
3922         * linux-low.h (struct linux_target_ops)
3923         <breakpoint_kind_from_current_state>: New field.
3924         * target.h (struct target_ops): Likewise.
3925         (target_breakpoint_kind_from_current_state): New macro.
3926
3927 2015-11-30  Pedro Alves  <palves@redhat.com>
3928
3929         * linux-low.c (linux_resume): Wake up the event loop before
3930         returning.
3931
3932 2015-11-30  Pedro Alves  <palves@redhat.com>
3933
3934         * mem-break.c (check_gdb_bp_preconditions): Remove current_thread
3935         check.
3936         (set_gdb_breakpoint): If prepare_to_access_memory fails, set *ERR
3937         to -1.
3938         * target.c (struct thread_search): New structure.
3939         (thread_search_callback): New function.
3940         (prev_general_thread): New global.
3941         (prepare_to_access_memory, done_accessing_memory): New functions.
3942         * target.h (prepare_to_access_memory, done_accessing_memory):
3943         Replace macros with function declarations.
3944
3945 2015-11-30  Pedro Alves  <palves@redhat.com>
3946
3947         PR 14618
3948         * linux-low.c (linux_wait_1): If the last resumed thread is gone,
3949         report TARGET_WAITKIND_NO_RESUMED.
3950         * remote-utils.c (prepare_resume_reply): Handle
3951         TARGET_WAITKIND_NO_RESUMED.
3952         * server.c (report_no_resumed): New global.
3953         (handle_query) <qSupported>: Handle "no-resumed+".  Report
3954         "no-resumed+" support.
3955         (resume): When the target reports TARGET_WAITKIND_NO_RESUMED, only
3956         return error if the client doesn't support no-resumed events.
3957         (push_stop_notification): New function.
3958         (handle_target_event): Use it.  Report TARGET_WAITKIND_NO_RESUMED
3959         events if the client supports them.
3960
3961 2015-11-30  Pedro Alves  <palves@redhat.com>
3962
3963         * linux-low.c (thread_still_has_status_pending_p): Don't check
3964         vCont;t here.
3965         (lwp_resumed): New function.
3966         (status_pending_p_callback): Return early if the LWP is not
3967         supposed to be resumed.
3968
3969 2015-11-30  Pedro Alves  <palves@redhat.com>
3970
3971         * linux-low.c (handle_extended_wait): Assert that the LWP's
3972         waitstatus is TARGET_WAITKIND_IGNORE.  If GDB wants to hear about
3973         thread create events, leave the new child's status pending.
3974         (linux_low_filter_event): If GDB wants to hear about thread exit
3975         events, leave the LWP marked dead and don't delete it.
3976         (linux_wait_for_event_filtered): Don't check for thread exit.
3977         (filter_exit_event): New function.
3978         (linux_wait_1): Use it, when returning an exit event.
3979         (linux_resume_one_lwp_throw): Assert that the LWP's
3980         waitstatus is TARGET_WAITKIND_IGNORE.
3981         * remote-utils.c (prepare_resume_reply): Handle
3982         TARGET_WAITKIND_THREAD_CREATED and TARGET_WAITKIND_THREAD_EXITED.
3983         * server.c (report_thread_events): New global.
3984         (handle_general_set): Handle QThreadEvents.
3985         (handle_query) <qSupported>: Handle and report QThreadEvents+;
3986         (handle_target_event): Handle TARGET_WAITKIND_THREAD_CREATED and
3987         TARGET_WAITKIND_THREAD_EXITED.
3988         * server.h (report_thread_events): Declare.
3989
3990 2015-11-30  Pedro Alves  <palves@redhat.com>
3991
3992         * linux-low.c (resume_stopped_resumed_lwps): Don't check whether
3993         the thread's last_resume_kind was resume_stop.
3994
3995 2015-11-30  Pedro Alves  <palves@redhat.com>
3996
3997         * linux-low.c (linux_attach): In non-stop mode, wait for one stop
3998         before returning.
3999
4000 2015-11-30  Pedro Alves  <palves@redhat.com>
4001
4002         * server.c (handle_v_requests): Handle vCtrlC.
4003
4004 2015-11-30  Pedro Alves  <palves@redhat.com>
4005
4006         * gdbthread.h (find_any_thread_of_pid): Declare.
4007         * inferiors.c (thread_of_pid, find_any_thread_of_pid): New
4008         functions.
4009         * server.c (handle_query): If current_thread is NULL, look for
4010         another thread of the selected process.
4011
4012 2015-11-26  Daniel Colascione  <dancol@dancol.org>
4013             Simon Marchi  <simon.marchi@ericsson.com>
4014
4015         * linux-low.c (linux_target_ops): Use linux_proc_tid_get_name.
4016         * server.c (handle_qxfer_threads_worker): Refactor to include thread
4017         name in reply.
4018         * target.h (struct target_ops) <thread_name>: New field.
4019         (target_thread_name): New macro.
4020
4021 2015-11-23  Joel Brobecker  <brobecker@adacore.com>
4022
4023         * regcache.h (regcache_invalidate_pid): Add declaration.
4024         * regcache.c (regcache_invalidate_pid): New function, extracted
4025         from regcache_invalidate.
4026         (regcache_invalidate): Reimplement using regcache_invalidate_pid.
4027         Add trivial documentation comment.
4028         * lynx-low.c: Use regcache_invalidate_pid instead of
4029         regcache_invalidate.
4030
4031 2015-11-23  Joel Brobecker  <brobecker@adacore.com>
4032
4033         * configure.ac: Do not call AC_CHECK_TYPES for Elf32_auxv_t
4034         and Elf64_auxv_t if the target is Android.
4035
4036 2015-11-22  Doug Evans  <xdje42@gmail.com>
4037
4038         * target.h: #include <sys/types.h>.
4039
4040 2015-11-19  Pedro Alves  <palves@redhat.com>
4041
4042         * linux-low.c (linux_process_qsupported): Change prototype.
4043         Adjust.
4044         * linux-low.h (struct linux_target_ops) <process_qsupported>:
4045         Change prototype.
4046         * linux-x86-low.c (x86_linux_process_qsupported): Change prototype
4047         and adjust to loop over all features.
4048         * server.c (handle_query) <qSupported>: Adjust to call
4049         target_process_qsupported once, passing it a vector of unprocessed
4050         features.
4051         * target.h (struct target_ops) <process_qsupported>: Change
4052         prototype.
4053         (target_process_qsupported): Adjust.
4054
4055 2015-11-19  Pedro Alves  <palves@redhat.com>
4056
4057         * configure.ac (ERROR_ON_WARNING): Don't check whether in C++
4058         mode.
4059         * configure: Regenerate.
4060
4061 2015-11-19  Pedro Alves  <palves@redhat.com>
4062
4063         * configure: Regenerate.
4064
4065 2015-11-19  Yao Qi  <yao.qi@linaro.org>
4066
4067         * linux-aarch64-low.c (emit_data_processing_reg): Change opcode
4068         type to uint32_t.
4069
4070 2015-11-19  Yao Qi  <yao.qi@linaro.org>
4071
4072         * linux-aarch64-low.c (enum aarch64_operand_type): New.
4073         (struct aarch64_operand): Move enum out.
4074
4075 2015-11-19  Yao Qi  <yao.qi@linaro.org>
4076
4077         * linux-aarch64-low.c (aarch64_fill_fpregset): Cast buf to
4078         struct user_fpsimd_state *.
4079         (aarch64_store_fpregset): Likewise.
4080
4081 2015-11-19  Yao Qi  <yao.qi@linaro.org>
4082
4083         * linux-aarch64-low.c (aarch64_fill_gregset): Cast buf to
4084         struct user_pt_regs *.
4085         (aarch64_store_gregset): Likewise.
4086
4087 2015-11-18  Pedro Alves  <palves@redhat.com>
4088
4089         * Makefile.in (all_object_files): Add $IPA_OBJS.
4090
4091 2015-11-17  Pedro Alves  <palves@redhat.com>
4092
4093         * win32-low.c (win32_resume): Use gdb_signal_from_host,
4094         GDB_SIGNAL_0 and gdb_signal_to_string.
4095
4096 2015-11-17  Pedro Alves  <palves@redhat.com>
4097
4098         * win32-low.c (handle_output_debug_string): Remove parameter.
4099         (win32_kill): Remove our_status local and adjust call to
4100         handle_output_debug_string.
4101         (get_child_debug_event): Adjust call to
4102         handle_output_debug_string.
4103
4104 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
4105
4106         * linux-mips-low.c (mips_fill_gregset): Add cast.
4107         (mips_store_gregset): Likewise.
4108         (mips_fill_fpregset): Likewise.
4109         (mips_store_fpregset): Likewise.
4110
4111 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
4112
4113         * linux-mips-low.c (mips_add_watchpoint): Rename private to
4114         priv.
4115
4116 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
4117
4118         * linux-mips-low.c (mips_linux_new_thread): Change type of
4119         watch_type to enum target_hw_bp_type.
4120
4121 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
4122
4123                 * linux-arm-low.c (raw_bkpt_type_to_arm_hwbp_type):
4124                 Change return type to arm_hwbp_type.
4125
4126 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
4127
4128         * linux-aarch32-low.c (arm_fill_gregset): Add cast.
4129         (arm_store_gregset): Likewise.
4130         * linux-arm-low.c (arm_get_hwcap): Likewise.
4131         (arm_read_description): Likewise.
4132
4133 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
4134
4135         * linux-aarch32-low.c (aarch32_regsets): Use NULL_REGSET.
4136
4137 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
4138
4139         * linux-ppc-low.c (ppc_get_hwcap): Add cast.
4140         (ppc_fill_vsxregset): Likewise.
4141         (ppc_store_vsxregset): Likewise.
4142         (ppc_fill_vrregset): Likewise.
4143         (ppc_store_vrregset): Likewise.
4144         (ppc_fill_evrregset): Likewise.
4145         (ppc_store_evrregset): Likewise.
4146
4147 2015-11-03  Simon Marchi  <simon.marchi@polymtl.ca>
4148
4149         * linux-ppc-low.c (ppc_usrregs_info): Remove
4150         forward-declaration.
4151         (ppc_arch_setup): Move lower in file.
4152
4153 2015-10-30  Simon Marchi  <simon.marchi@ericsson.com>
4154
4155         * proc-service.c (ps_pdread): Change CORE_ADDR cast to uintptr_t.
4156         (ps_pdwrite): Likewise.
4157
4158 2015-10-29 Henrik Wallin <henrik.wallin@windriver.com>
4159
4160         * linux-arm-low.c (arm_new_thread): Move pointer dereference
4161         to after assert checks.
4162
4163 2015-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4164
4165         * proc-service.c (ps_pdread): Add/adjust casts.
4166         (ps_pdwrite): Add/adjust casts.
4167
4168 2015-10-29  Simon Marchi  <simon.marchi@polymtl.ca>
4169
4170         * server.c (handle_search_memory_1): Cast return value of
4171         memmem.
4172
4173 2015-10-29  Simon Marchi  <simon.marchi@polymtl.ca>
4174
4175         * server.c (write_qxfer_response): Change type of data to
4176         gdb_byte *.
4177
4178 2015-10-29  Pedro Alves  <palves@redhat.com>
4179
4180         * mem-break.c (Z_packet_to_bkpt_type): Add cast.
4181
4182 2015-10-29  Pedro Alves  <palves@redhat.com>
4183
4184         * tracepoint.c (clear_installed_tracepoints): Add casts.
4185
4186 2015-10-29  Pedro Alves  <palves@redhat.com>
4187
4188         * server.c (handle_v_cont, process_serial_event): Add enum
4189         gdb_signal casts to signal parsing code.
4190
4191 2015-10-29  Pedro Alves  <palves@redhat.com>
4192
4193         * linux-low.h (NULL_REGSET): Define.
4194         * linux-aarch64-low.c (aarch64_regsets): Use NULL_REGSET.
4195         * linux-arm-low.c (arm_regsets): Likewise.
4196         * linux-crisv32-low.c (cris_regsets): Likewise.
4197         * linux-m68k-low.c (m68k_regsets): Likewise.
4198         * linux-mips-low.c (mips_regsets): Likewise.
4199         * linux-nios2-low.c (nios2_regsets): Likewise.
4200         * linux-ppc-low.c (ppc_regsets): Likewise.
4201         * linux-s390-low.c (s390_regsets): Likewise.
4202         * linux-sh-low.c (sh_regsets): Likewise.
4203         * linux-sparc-low.c (sparc_regsets): Likewise.
4204         * linux-tic6x-low.c (tic6x_regsets): Likewise.
4205         * linux-tile-low.c (tile_regsets): Likewise.
4206         * linux-x86-low.c (x86_regsets): Likewise.
4207         * linux-xtensa-low.c (xtensa_regsets): Likewise.
4208
4209 2015-10-29  Pedro Alves  <palves@redhat.com>
4210
4211         * linux-low.h (NULL_REGSET): Define.
4212         * linux-aarch64-low.c (aarch64_regsets): Use NULL_REGSET.
4213         * linux-arm-low.c (arm_regsets): Likewise.
4214         * linux-crisv32-low.c (cris_regsets): Likewise.
4215         * linux-m68k-low.c (m68k_regsets): Likewise.
4216         * linux-mips-low.c (mips_regsets): Likewise.
4217         * linux-nios2-low.c (nios2_regsets): Likewise.
4218         * linux-ppc-low.c (ppc_regsets): Likewise.
4219         * linux-s390-low.c (s390_regsets): Likewise.
4220         * linux-sh-low.c (sh_regsets): Likewise.
4221         * linux-sparc-low.c (sparc_regsets): Likewise.
4222         * linux-tic6x-low.c (tic6x_regsets): Likewise.
4223         * linux-tile-low.c (tile_regsets): Likewise.
4224         * linux-x86-low.c (x86_regsets): Likewise.
4225         * linux-xtensa-low.c (xtensa_regsets): Likewise.
4226
4227 2015-10-26  Doug Evans  <dje@google.com>
4228
4229         * linux-low.c (__SIGRTMIN): Move to nat/linux-nat.h.
4230
4231 2015-10-26  Doug Evans  <dje@google.com>
4232
4233         * linux-low.c (W_STOPCODE): Moved to common/gdb_wait.h.
4234
4235 2015-10-26  Doug Evans  <dje@google.com>
4236
4237         * thread-db.c (find_one_thread): Cast ti.ti_tid to unsigned long
4238         for debug_printf.
4239         (attach_thread, find_new_threads_callback): Ditto.
4240
4241 2015-10-23  Antoine Tremblay  <antoine.tremblay@ericsson.com>
4242
4243         * mem-break.h (set_breakpoint_data): Remove.
4244
4245 2015-10-23  Antoine Tremblay  <antoine.tremblay@ericsson.com>
4246
4247         * nto-low.c (nto_sw_breakpoint_from_kind): New function.
4248         (struct target_ops) <sw_breakpoint_from_kind>: Initialize.
4249         (initialize_low): Remove set_breakpoint_data call.
4250         * spu-low.c (spu_sw_breakpoint_from_kind): New function.
4251         (struct target_ops) <sw_breakpoint_from_kind>: Iniitalize.
4252         (initialize_low): Remove set_breakpoint_data call.
4253         * win32-low.c (win32_sw_breakpoint_from_kind): New function.
4254         (struct target_ops) <sw_breakpoint_from_kind>: Initialize.
4255         (initialize_low): Remove set_breakpoint_data call.
4256
4257 2015-10-23  Antoine Tremblay  <antoine.tremblay@ericsson.com>
4258
4259         * linux-low.c (default_breakpoint_kind_from_pc): Move to target.c.
4260         * mem-break.c (set_breakpoint_at): Use target_breakpoint_kind_from_pc.
4261         * target.c (default_breakpoint_kind_from_pc): Moved from linux-low.c
4262         * target.h (target_breakpoint_kind_from_pc): New macro.
4263
4264 2015-10-22  Antoine Tremblay  <antoine.tremblay@ericsson.com>
4265
4266         * linux-low.c (default_breakpoint_kind_from_pc): New function.
4267         (linux_breakpoint_kind_from_pc): Use default_breakpoint_kind_from_pc for
4268         the default breakpoint kind.
4269
4270 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
4271
4272         * linux-arm-low.c (arm_supports_z_point_type): Add software
4273         breakpoint support.
4274
4275 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
4276
4277         * linux-arm-low.c: Refactor breakpoint definitions.
4278         (arm_breakpoint_at): Adjust for arm_abi_breakpoint.
4279         (arm_sw_breakpoint_from_kind): Adjust for arm_breakpoint.
4280
4281 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
4282
4283         * Makefile.in: Add arm.c/o.
4284         * configure.srv: Likewise.
4285         * linux-arm-low.c (arm_breakpoint_kinds): New enum.
4286         (arm_breakpoint_kind_from_pc): New function.
4287         (arm_sw_breakpoint_from_kind): Return proper kind.
4288         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize.
4289
4290 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
4291
4292         * linux-low.c (initialize_low): Ajdust for breakpoint global variables
4293         removal.
4294         * mem-break.c : Remove breakpoint_data/breakpoint_len global variables.
4295         (struct raw_breakpoint) <size>: Remove.
4296         (struct raw_breakpoint) <kind>: Add.
4297         (bp_size): New function.
4298         (bp_opcode): Likewise.
4299         (find_raw_breakpoint_at): Adjust for kind.
4300         (insert_memory_breakpoint): Adjust for kind call bp_size,bp_opcode.
4301         (remove_memory_breakpoint): Adjust for kind call bp_size.
4302         (set_raw_breakpoint_at): Adjust for kind.
4303         (set_breakpoint): Likewise.
4304         (set_breakpoint_at): Call breakpoint_kind_from_pc.
4305         (delete_raw_breakpoint): Adjust for kind.
4306         (delete_breakpoint): Likewise.
4307         (find_gdb_breakpoint): Likewise.
4308         (set_gdb_breakpoint_1): Likewise.
4309         (set_gdb_breakpoint): Likewise.
4310         (delete_gdb_breakpoint_1): Likewise.
4311         (delete_gdb_breakpoint): Likewise.
4312         (uninsert_raw_breakpoint): Likewise.
4313         (reinsert_raw_breakpoint): Likewise.
4314         (set_breakpoint_data): Remove.
4315         (validate_inserted_breakpoint): Adjust for kind call bp_size,bp_opcode.
4316         (check_mem_read): Adjust for kind call bp_size.
4317         (check_mem_write): Adjust for kind call bp_size,bp_opcode.
4318         (clone_one_breakpoint): Adjust for kind.
4319         * mem-break.h (set_gdb_breakpoint): Likewise.
4320         (delete_gdb_breakpoint): Likewise.
4321         * server.c (process_serial_event): Likewise.
4322
4323 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
4324
4325         * linux-aarch64-low.c (aarch64_sw_breakpoint_from_kind): New function.
4326         (struct linux_target_ops) <breakpoint>: Remove.
4327         (struct linux_target_ops) <breakpoint_len>: Remove.
4328         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4329         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4330         * linux-arm-low.c (arm_breakpoint_kind_from_pc): New function.
4331         (arm_sw_breakpoint_from_kind): New function.
4332         * linux-bfin-low.c (bfin_sw_breakpoint_from_kind): New function.
4333         (struct linux_target_ops) <breakpoint>: Remove.
4334         (struct linux_target_ops) <breakpoint_len>: Remove.
4335         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4336         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4337         * linux-cris-low.c (cris_sw_breakpoint_from_kind): New function.
4338         (struct linux_target_ops) <breakpoint>: Remove.
4339         (struct linux_target_ops) <breakpoint_len>: Remove.
4340         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4341         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4342         * linux-crisv32-low.c (cris_sw_breakpoint_from_kind): New function.
4343         (struct linux_target_ops) <breakpoint>: Remove.
4344         (struct linux_target_ops) <breakpoint_len>: Remove.
4345         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4346         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4347         * linux-low.c (linux_wait_1): Call breakpoint_kind_from_pc
4348         and sw_breakpoint_from_kind to increment the pc.
4349         (linux_breakpoint_kind_from_pc): New function.
4350         (linux_sw_breakpoint_from_kind): New function.
4351         (struct target_ops) <sw_breakpoint_from_kind>: Initialize field.
4352         (initialize_low): Call breakpoint_kind_from_pc and
4353         sw_breakpoint_from_kind to replace breakpoint_data/len.
4354         * linux-low.h (struct linux_target_ops) <breakpoint_kind_from_pc>:
4355         New field.
4356         (struct linux_target_ops) <sw_breakpoint_from_kind>: Likewise.
4357         * linux-m32r-low.c (m32r_sw_breakpoint_from_kind): New function.
4358         (struct linux_target_ops) <breakpoint>: Remove.
4359         (struct linux_target_ops) <breakpoint_len>: Remove.
4360         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4361         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4362         * linux-m68k-low.c (m68k_sw_breakpoint_from_kind): New function.
4363         (struct linux_target_ops) <breakpoint>: Remove.
4364         (struct linux_target_ops) <breakpoint_len>: Remove.
4365         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4366         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4367         * linux-mips-low.c (mips_sw_breakpoint_from_kind): New function.
4368         (struct linux_target_ops) <breakpoint>: Remove.
4369         (struct linux_target_ops) <breakpoint_len>: Remove.
4370         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4371         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4372         * linux-nios2-low.c (nios2_sw_breakpoint_from_kind): New function.
4373         (struct linux_target_ops) <breakpoint>: Remove.
4374         (struct linux_target_ops) <breakpoint_len>: Remove.
4375         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4376         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4377         * linux-ppc-low.c (ppc_sw_breakpoint_from_kind): New function.
4378         (struct linux_target_ops) <breakpoint>: Remove.
4379         (struct linux_target_ops) <breakpoint_len>: Remove.
4380         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4381         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4382         * linux-s390-low.c (s390_sw_breakpoint_from_kind): New function.
4383         (struct linux_target_ops) <breakpoint>: Remove.
4384         (struct linux_target_ops) <breakpoint_len>: Remove.
4385         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4386         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4387         * linux-sh-low.c (sh_sw_breakpoint_from_kind): New function.
4388         (struct linux_target_ops) <breakpoint>: Remove.
4389         (struct linux_target_ops) <breakpoint_len>: Remove.
4390         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4391         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4392         * linux-sparc-low.c (sparc_sw_breakpoint_from_kind): New function.
4393         (struct linux_target_ops) <breakpoint>: Remove.
4394         (struct linux_target_ops) <breakpoint_len>: Remove.
4395         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4396         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4397         * linux-tic6x-low.c (tic6x_sw_breakpoint_from_kind): New function.
4398         (struct linux_target_ops) <breakpoint>: Remove.
4399         (struct linux_target_ops) <breakpoint_len>: Remove.
4400         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4401         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4402         * linux-tile-low.c (tile_sw_breakpoint_from_kind): New function.
4403         * linux-x86-low.c (x86_sw_breakpoint_from_kind): New function.
4404         (struct linux_target_ops) <breakpoint>: Remove.
4405         (struct linux_target_ops) <breakpoint_len>: Remove.
4406         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4407         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4408         * linux-xtensa-low.c (xtensa_sw_breakpoint_from_kind) New function.
4409         (struct linux_target_ops) <breakpoint>: Remove.
4410         (struct linux_target_ops) <breakpoint_len>: Remove.
4411         (struct linux_target_ops) <breakpoint_kind_from_pc>: Initialize field.
4412         (struct linux_target_ops) <sw_breakpoint_from_kind>: Initialize field.
4413
4414 2015-10-21  Antoine Tremblay  <antoine.tremblay@ericsson.com>
4415
4416         * linux-cris-low.c (cris_get_pc): Remove void arg.
4417
4418 2015-10-16  Aleksandar Ristovski  <aristovski@qnx.com>
4419
4420         * gdbserver/nto-low.c (nto_insert_point, nto_remove_point): Fix
4421         variable name.
4422
4423 2015-10-16  Aleksandar Ristovski  <aristovski@qnx.com>
4424
4425         * inferiors.c (thread_pid_matches_callback): New function.
4426         (find_thread_process): New function.
4427         (remove_thread): Reset current_thread.
4428         (remove_process): Assert threads have been removed first.
4429
4430 2015-10-15  Yao Qi  <yao.qi@linaro.org>
4431
4432         * linux-aarch64-low.c (aarch64_insert_point): Set len to 2
4433         if it is 3.
4434         (aarch64_remove_point): Likewise.
4435         * regcache.c (regcache_register_size): New function.
4436
4437 2015-10-12  Yao Qi  <yao.qi@linaro.org>
4438
4439         * linux-aarch64-low.c: Update all callers as emit_load_store
4440         is renamed to aarch64_emit_load_store.
4441
4442 2015-10-12  Yao Qi  <yao.qi@linaro.org>
4443
4444         * linux-aarch64-low.c: Update all callers of function renaming
4445         from emit_insn to aarch64_emit_insn.
4446
4447 2015-10-12  Yao Qi  <yao.qi@linaro.org>
4448
4449         * linux-aarch64-low.c (enum aarch64_opcodes): Move to
4450         arch/aarch64-insn.h.
4451         (struct aarch64_memory_operand): Likewise.
4452         (ENCODE): Likewise.
4453         (emit_insn): Move to arch/aarch64-insn.c.
4454         (emit_b, emit_bcond, emit_cb, emit_tb): Remove.
4455         (emit_load_store): Move to arch/aarch64-insn.c.
4456         (emit_ldr, emit_ldrb, emit_ldrsw, emit_nop): Remove.
4457         (can_encode_int32): Remove.
4458
4459 2015-10-12  Yao Qi  <yao.qi@linaro.org>
4460
4461         * linux-aarch64-low.c (extract_signed_bitfield): Remove.
4462         (aarch64_decode_ldr_literal): Move to gdb/arch/aarch64-insn.c.
4463         (aarch64_relocate_instruction): Likewise.
4464         (struct aarch64_insn_data): Move to gdb/arch/aarch64-insn.h.
4465         (struct aarch64_insn_visitor): Likewise.
4466
4467 2015-10-12  Yao Qi  <yao.qi@linaro.org>
4468
4469         * linux-aarch64-low.c (struct aarch64_insn_data): New.
4470         (struct aarch64_insn_visitor): New.
4471         (struct aarch64_insn_relocation_data): New.
4472         (aarch64_ftrace_insn_reloc_b): New function.
4473         (aarch64_ftrace_insn_reloc_b_cond): Likewise.
4474         (aarch64_ftrace_insn_reloc_cb): Likewise.
4475         (aarch64_ftrace_insn_reloc_tb): Likewise.
4476         (aarch64_ftrace_insn_reloc_adr): Likewise.
4477         (aarch64_ftrace_insn_reloc_ldr_literal): Likewise.
4478         (aarch64_ftrace_insn_reloc_others): Likewise.
4479         (visitor): New.
4480         (aarch64_relocate_instruction): Use visitor.
4481
4482 2015-10-12  Yao Qi  <yao.qi@linaro.org>
4483
4484         * linux-aarch64-low.c (aarch64_relocate_instruction): Return
4485         int.  Add argument buf.
4486         (aarch64_install_fast_tracepoint_jump_pad): Pass buf to
4487         aarch64_relocate_instruction.
4488
4489 2015-10-12  Yao Qi  <yao.qi@linaro.org>
4490
4491         * linux-aarch64-low.c (aarch64_relocate_instruction): Add
4492         argument insn.  Remove local variable insn.  Don't call
4493         target_read_uint32.
4494         (aarch64_install_fast_tracepoint_jump_pad): Call
4495         target_read_uint32.
4496
4497 2015-09-30  Yao Qi  <yao.qi@linaro.org>
4498
4499         * linux-aarch64-low.c (emit_movk): Shorten a long line.
4500         (emit_load_store_pair): Likewise.
4501
4502 2015-09-25  Simon Marchi  <simon.marchi@ericsson.com>
4503
4504         * dll.c (match_dll): Add cast(s).
4505         (unloaded_dll): Likewise.
4506         * linux-low.c (second_thread_of_pid_p): Likewise.
4507         (delete_lwp_callback): Likewise.
4508         (count_events_callback): Likewise.
4509         (select_event_lwp_callback): Likewise.
4510         (linux_set_resume_request): Likewise.
4511         * server.c (accumulate_file_name_length): Likewise.
4512         (emit_dll_description): Likewise.
4513         (handle_qxfer_threads_worker): Likewise.
4514         (visit_actioned_threads): Likewise.
4515         * thread-db.c (any_thread_of): Likewise.
4516         * tracepoint.c (same_process_p): Likewise.
4517         (match_blocktype): Likewise.
4518         (build_traceframe_info_xml): Likewise.
4519
4520 2015-09-25  Simon Marchi  <simon.marchi@ericsson.com>
4521
4522         * ax.c (gdb_parse_agent_expr): Add cast to allocation result
4523         assignment.
4524         (gdb_unparse_agent_expr): Likewise.
4525         * hostio.c (require_data): Likewise.
4526         (handle_pread): Likewise.
4527         * linux-low.c (disable_regset): Likewise.
4528         (fetch_register): Likewise.
4529         (store_register): Likewise.
4530         (get_dynamic): Likewise.
4531         (linux_qxfer_libraries_svr4): Likewise.
4532         * mem-break.c (delete_fast_tracepoint_jump): Likewise.
4533         (set_fast_tracepoint_jump): Likewise.
4534         (uninsert_fast_tracepoint_jumps_at): Likewise.
4535         (reinsert_fast_tracepoint_jumps_at): Likewise.
4536         (validate_inserted_breakpoint): Likewise.
4537         (clone_agent_expr): Likewise.
4538         * regcache.c (init_register_cache): Likewise.
4539         * remote-utils.c (putpkt_binary_1): Likewise.
4540         (decode_M_packet): Likewise.
4541         (decode_X_packet): Likewise.
4542         (look_up_one_symbol): Likewise.
4543         (relocate_instruction): Likewise.
4544         (monitor_output): Likewise.
4545         * server.c (handle_search_memory): Likewise.
4546         (handle_qxfer_exec_file): Likewise.
4547         (handle_qxfer_libraries): Likewise.
4548         (handle_qxfer): Likewise.
4549         (handle_query): Likewise.
4550         (handle_v_cont): Likewise.
4551         (handle_v_run): Likewise.
4552         (captured_main): Likewise.
4553         * target.c (write_inferior_memory): Likewise.
4554         * thread-db.c (try_thread_db_load_from_dir): Likewise.
4555         * tracepoint.c (init_trace_buffer): Likewise.
4556         (add_tracepoint_action): Likewise.
4557         (add_traceframe): Likewise.
4558         (add_traceframe_block): Likewise.
4559         (cmd_qtdpsrc): Likewise.
4560         (cmd_qtdv): Likewise.
4561         (cmd_qtstatus): Likewise.
4562         (response_source): Likewise.
4563         (response_tsv): Likewise.
4564         (cmd_qtnotes): Likewise.
4565         (gdb_collect): Likewise.
4566         (initialize_tracepoint): Likewise.
4567
4568 2015-09-21  Pierre Langlois  <pierre.langlois@arm.com>
4569
4570         * linux-aarch64-low-.c: Include ax.h and tracepoint.h.
4571         (enum aarch64_opcodes) <RET>, <SUBS>, <AND>, <ORR>, <ORN>,
4572         <EOR>, <LSLV>, <LSRV>, <ASRV>, <SBFM>, <UBFM>, <CSINC>, <MUL>,
4573         <NOP>: New.
4574         (enum aarch64_condition_codes): New enum.
4575         (w0): New static global.
4576         (fp): Likewise.
4577         (lr): Likewise.
4578         (struct aarch64_memory_operand) <type>: New
4579         MEMORY_OPERAND_POSTINDEX type.
4580         (postindex_memory_operand): New helper function.
4581         (emit_ret): New function.
4582         (emit_load_store_pair): New function, factored out of emit_stp
4583         with support for MEMORY_OPERAND_POSTINDEX.
4584         (emit_stp): Rewrite using emit_load_store_pair.
4585         (emit_ldp): New function.
4586         (emit_load_store): Likewise.
4587         (emit_ldr): Mention post-index instruction in comment.
4588         (emit_ldrh): New function.
4589         (emit_ldrb): New function.
4590         (emit_ldrsw): Mention post-index instruction in comment.
4591         (emit_str): Likewise.
4592         (emit_subs): New function.
4593         (emit_cmp): Likewise.
4594         (emit_and): Likewise.
4595         (emit_orr): Likewise.
4596         (emit_orn): Likewise.
4597         (emit_eor): Likewise.
4598         (emit_mvn): Likewise.
4599         (emit_lslv): Likewise.
4600         (emit_lsrv): Likewise.
4601         (emit_asrv): Likewise.
4602         (emit_mul): Likewise.
4603         (emit_sbfm): Likewise.
4604         (emit_sbfx): Likewise.
4605         (emit_ubfm): Likewise.
4606         (emit_ubfx): Likewise.
4607         (emit_csinc): Likewise.
4608         (emit_cset): Likewise.
4609         (emit_nop): Likewise.
4610         (emit_ops_insns): New helper function.
4611         (emit_pop): Likewise.
4612         (emit_push): Likewise.
4613         (aarch64_emit_prologue): New function.
4614         (aarch64_emit_epilogue): Likewise.
4615         (aarch64_emit_add): Likewise.
4616         (aarch64_emit_sub): Likewise.
4617         (aarch64_emit_mul): Likewise.
4618         (aarch64_emit_lsh): Likewise.
4619         (aarch64_emit_rsh_signed): Likewise.
4620         (aarch64_emit_rsh_unsigned): Likewise.
4621         (aarch64_emit_ext): Likewise.
4622         (aarch64_emit_log_not): Likewise.
4623         (aarch64_emit_bit_and): Likewise.
4624         (aarch64_emit_bit_or): Likewise.
4625         (aarch64_emit_bit_xor): Likewise.
4626         (aarch64_emit_bit_not): Likewise.
4627         (aarch64_emit_equal): Likewise.
4628         (aarch64_emit_less_signed): Likewise.
4629         (aarch64_emit_less_unsigned): Likewise.
4630         (aarch64_emit_ref): Likewise.
4631         (aarch64_emit_if_goto): Likewise.
4632         (aarch64_emit_goto): Likewise.
4633         (aarch64_write_goto_address): Likewise.
4634         (aarch64_emit_const): Likewise.
4635         (aarch64_emit_call): Likewise.
4636         (aarch64_emit_reg): Likewise.
4637         (aarch64_emit_pop): Likewise.
4638         (aarch64_emit_stack_flush): Likewise.
4639         (aarch64_emit_zero_ext): Likewise.
4640         (aarch64_emit_swap): Likewise.
4641         (aarch64_emit_stack_adjust): Likewise.
4642         (aarch64_emit_int_call_1): Likewise.
4643         (aarch64_emit_void_call_2): Likewise.
4644         (aarch64_emit_eq_goto): Likewise.
4645         (aarch64_emit_ne_goto): Likewise.
4646         (aarch64_emit_lt_goto): Likewise.
4647         (aarch64_emit_le_goto): Likewise.
4648         (aarch64_emit_gt_goto): Likewise.
4649         (aarch64_emit_ge_got): Likewise.
4650         (aarch64_emit_ops_impl): New static global variable.
4651         (aarch64_emit_ops): New target function, return
4652         &aarch64_emit_ops_impl.
4653         (struct linux_target_ops): Install it.
4654
4655 2015-09-21  Pierre Langlois  <pierre.langlois@arm.com>
4656
4657         * Makefile.in (linux-aarch64-ipa.o, aarch64-ipa.o): New rules.
4658         * configure.srv (aarch64*-*-linux*): Add linux-aarch64-ipa.o and
4659         aarch64-ipa.o.
4660         * linux-aarch64-ipa.c: New file.
4661         * linux-aarch64-low.c: Include arch/aarch64-insn.h, inttypes.h
4662         and endian.h.
4663         (aarch64_get_thread_area): New target method.
4664         (extract_signed_bitfield): New helper function.
4665         (aarch64_decode_ldr_literal): New function.
4666         (enum aarch64_opcodes): New enum.
4667         (struct aarch64_register): New struct.
4668         (struct aarch64_operand): New struct.
4669         (x0): New static global.
4670         (x1): Likewise.
4671         (x2): Likewise.
4672         (x3): Likewise.
4673         (x4): Likewise.
4674         (w2): Likewise.
4675         (ip0): Likewise.
4676         (sp): Likewise.
4677         (xzr): Likewise.
4678         (aarch64_register): New helper function.
4679         (register_operand): Likewise.
4680         (immediate_operand): Likewise.
4681         (struct aarch64_memory_operand): New struct.
4682         (offset_memory_operand): New helper function.
4683         (preindex_memory_operand): Likewise.
4684         (enum aarch64_system_control_registers): New enum.
4685         (ENCODE): New macro.
4686         (emit_insn): New helper function.
4687         (emit_b): New function.
4688         (emit_bcond): Likewise.
4689         (emit_cb): Likewise.
4690         (emit_tb): Likewise.
4691         (emit_blr): Likewise.
4692         (emit_stp): Likewise.
4693         (emit_ldp_q_offset): Likewise.
4694         (emit_stp_q_offset): Likewise.
4695         (emit_load_store): Likewise.
4696         (emit_ldr): Likewise.
4697         (emit_ldrsw): Likewise.
4698         (emit_str): Likewise.
4699         (emit_ldaxr): Likewise.
4700         (emit_stxr): Likewise.
4701         (emit_stlr): Likewise.
4702         (emit_data_processing_reg): Likewise.
4703         (emit_data_processing): Likewise.
4704         (emit_add): Likewise.
4705         (emit_sub): Likewise.
4706         (emit_mov): Likewise.
4707         (emit_movk): Likewise.
4708         (emit_mov_addr): Likewise.
4709         (emit_mrs): Likewise.
4710         (emit_msr): Likewise.
4711         (emit_sevl): Likewise.
4712         (emit_wfe): Likewise.
4713         (append_insns): Likewise.
4714         (can_encode_int32_in): New helper function.
4715         (aarch64_relocate_instruction): New function.
4716         (aarch64_install_fast_tracepoint_jump_pad): Likewise.
4717         (aarch64_get_min_fast_tracepoint_insn_len): Likewise.
4718         (struct linux_target_ops): Install aarch64_get_thread_area,
4719         aarch64_install_fast_tracepoint_jump_pad and
4720         aarch64_get_min_fast_tracepoint_insn_len.
4721
4722 2015-09-21  Pierre Langlois  <pierre.langlois@arm.com>
4723
4724         * Makefile.in (aarch64-insn.o): New rule.
4725         * configure.srv (aarch64*-*-linux*): Add aarch64-insn.o.
4726
4727 2015-09-21  Yao Qi  <yao.qi@linaro.org>
4728
4729         * ax.c [!IN_PROCESS_AGENT] (gdb_agent_op_sizes): Define it.
4730
4731 2015-09-21  Yao Qi  <yao.qi@linaro.org>
4732
4733         * tracepoint.c (max_jump_pad_size): Remove.
4734
4735 2015-09-18  Yao Qi  <yao.qi@linaro.org>
4736
4737         * linux-aarch64-low.c: Don't include sys/uio.h.
4738         (ps_get_thread_area): Call aarch64_ps_get_thread_area.
4739
4740 2015-09-16  Wei-cheng Wang  <cole945@gmail.com>
4741
4742         * tracepoint.c (eval_result_type): Change prototype.
4743         (condition_true_at_tracepoint): Fix argument to compiled_cond.
4744
4745 2015-09-15  Pedro Alves  <palves@redhat.com>
4746
4747         * remote-utils.c (prepare_resume_reply) <TARGET_WAITKIND_EXECD>:
4748         Check whether to report exec events instead of checking whether
4749         multiprocess is enabled.
4750
4751 2015-09-15  Pedro Alves  <palves@redhat.com>
4752
4753         PR remote/18965
4754         * remote-utils.c (prepare_resume_reply): Merge
4755         TARGET_WAITKIND_VFORK_DONE switch case with the
4756         TARGET_WAITKIND_FORKED case.
4757
4758 2015-09-15  Yao Qi  <yao.qi@linaro.org>
4759
4760         * server.c (handle_query): Check string comparison using
4761         "else if" instead of "if".
4762
4763 2015-09-15  Yao Qi  <yao.qi@linaro.org>
4764
4765         * server.c (vCont_supported): New global variable.
4766         (handle_query): Set vCont_supported to 1 if "vContSupported+"
4767         matches.  Append ";vContSupported+" to own_buf.
4768         (handle_v_requests): Append ";s;S" to own_buf if target supports
4769         hardware single step or vCont_supported is false.
4770         (capture_main): Set vCont_supported to zero.
4771
4772 2015-09-15  Yao Qi  <yao.qi@linaro.org>
4773
4774         * linux-low.c (linux_supports_conditional_breakpoints): Rename
4775         it to ...
4776         (linux_supports_hardware_single_step): ... New function.
4777         (linux_target_ops): Update.
4778         * lynx-low.c (lynx_target_ops): Set field
4779         supports_hardware_single_step to target_can_do_hardware_single_step.
4780         * nto-low.c (nto_target_ops): Likewise.
4781         * spu-low.c (spu_target_ops): Likewise.
4782         * win32-low.c (win32_target_ops): Likewise.
4783         * target.c (target_can_do_hardware_single_step): New function.
4784         * target.h (struct target_ops) <supports_conditional_breakpoints>:
4785         Remove.  <supports_hardware_single_step>: New field.
4786         (target_supports_conditional_breakpoints): Remove.
4787         (target_supports_hardware_single_step): New macro.
4788         (target_can_do_hardware_single_step): Declare.
4789         * server.c (handle_query): Use target_supports_hardware_single_step
4790         instead of target_supports_conditional_breakpoints.
4791
4792 2015-09-15  Yao Qi  <yao.qi@linaro.org>
4793
4794         * linux-aarch64-low.c (aarch64_linux_siginfo_fixup): New
4795         function.
4796         (struct linux_target_ops the_low_target): Install
4797         aarch64_linux_siginfo_fixup.
4798
4799 2015-09-11  Don Breazeal  <donb@codesourcery.com>
4800             Luis Machado  <lgustavo@codesourcery.com>
4801
4802         * linux-low.c (linux_mourn): Static declaration.
4803         (linux_arch_setup): Move in front of
4804         handle_extended_wait.
4805         (linux_arch_setup_thread): New function.
4806         (handle_extended_wait): Handle exec events.  Call
4807         linux_arch_setup_thread.  Make event_lwp argument a
4808         pointer-to-a-pointer.
4809         (check_zombie_leaders): Do not check stopped threads.
4810         (linux_low_ptrace_options): Add PTRACE_O_TRACEEXEC.
4811         (linux_low_filter_event): Add lwp and thread for exec'ing
4812         non-leader thread if leader thread has been deleted.
4813         Refactor code into linux_arch_setup_thread and call it.
4814         Pass child lwp pointer by reference to handle_extended_wait.
4815         (linux_wait_for_event_filtered): Update comment.
4816         (linux_wait_1): Prevent clobbering exec event status.
4817         (linux_supports_exec_events): New function.
4818         (linux_target_ops) <supports_exec_events>: Initialize new member.
4819         * lynx-low.c (lynx_target_ops) <supports_exec_events>: Initialize
4820         new member.
4821         * remote-utils.c (prepare_resume_reply): New stop reason 'exec'.
4822         * server.c (report_exec_events): New global variable.
4823         (handle_query): Handle qSupported query for exec-events feature.
4824         (captured_main): Initialize report_exec_events.
4825         * server.h (report_exec_events): Declare new global variable.
4826         * target.h (struct target_ops) <supports_exec_events>: New
4827         member.
4828         (target_supports_exec_events): New macro.
4829         * win32-low.c (win32_target_ops) <supports_exec_events>:
4830         Initialize new member.
4831
4832 2015-09-09  Markus Metzger  <markus.t.metzger@intel.com>
4833
4834         * linux-low.c (linux_low_enable_btrace): Remove.
4835         (linux_target_ops): Replace linux_low_enable_btrace with
4836         linux_enable_btrace.
4837
4838 2015-09-03  Yao Qi  <yao.qi@linaro.org>
4839
4840         * linux-aarch64-low.c (aarch64_insert_point): Call
4841         aarch64_handle_watchpoint if aarch64_linux_region_ok_for_watchpoint
4842         returns true.
4843
4844 2015-08-27  Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4845
4846         * linux-low.c (check_stopped_by_breakpoint): Use
4847         GDB_ARCH_IS_TRAP_BRKPT instead of GDB_ARCH_TRAP_BRKPT.
4848
4849 2015-08-27  Pedro Alves  <palves@redhat.com>
4850
4851         * proc-service.c (ps_pdwrite): Return PS_ERR/PS_OK explicily.
4852
4853 2015-08-26  Simon Marchi  <simon.marchi@ericsson.com>
4854
4855         * ax.c (gdb_parse_agent_expr): Replace xmalloc-family function with
4856         the XNEW-family equivalent.
4857         (compile_bytecodes): Likewise.
4858         * dll.c (loaded_dll): Likewise.
4859         * event-loop.c (append_callback_event): Likewise.
4860         (create_file_handler): Likewise.
4861         (create_file_event): Likewise.
4862         * hostio.c (handle_open): Likewise.
4863         * inferiors.c (add_thread): Likewise.
4864         (add_process): Likewise.
4865         * linux-aarch64-low.c (aarch64_linux_new_process): Likewise.
4866         * linux-arm-low.c (arm_new_process): Likewise.
4867         (arm_new_thread): Likewise.
4868         * linux-low.c (add_to_pid_list): Likewise.
4869         (linux_add_process): Likewise.
4870         (handle_extended_wait): Likewise.
4871         (add_lwp): Likewise.
4872         (enqueue_one_deferred_signal): Likewise.
4873         (enqueue_pending_signal): Likewise.
4874         (linux_resume_one_lwp_throw): Likewise.
4875         (linux_resume_one_thread): Likewise.
4876         (linux_read_memory): Likewise.
4877         (linux_write_memory): Likewise.
4878         * linux-mips-low.c (mips_linux_new_process): Likewise.
4879         (mips_linux_new_thread): Likewise.
4880         (mips_add_watchpoint): Likewise.
4881         * linux-x86-low.c (initialize_low_arch): Likewise.
4882         * lynx-low.c (lynx_add_process): Likewise.
4883         * mem-break.c (set_raw_breakpoint_at): Likewise.
4884         (set_breakpoint): Likewise.
4885         (add_condition_to_breakpoint): Likewise.
4886         (add_commands_to_breakpoint): Likewise.
4887         (clone_agent_expr): Likewise.
4888         (clone_one_breakpoint): Likewise.
4889         * regcache.c (new_register_cache): Likewise.
4890         * remote-utils.c (look_up_one_symbol): Likewise.
4891         * server.c (queue_stop_reply): Likewise.
4892         (start_inferior): Likewise.
4893         (queue_stop_reply_callback): Likewise.
4894         (handle_target_event): Likewise.
4895         * spu-low.c (fetch_ppc_memory): Likewise.
4896         (store_ppc_memory): Likewise.
4897         * target.c (set_target_ops): Likewise.
4898         * thread-db.c (thread_db_load_search): Likewise.
4899         (try_thread_db_load_1): Likewise.
4900         * tracepoint.c (add_tracepoint): Likewise.
4901         (add_tracepoint_action): Likewise.
4902         (create_trace_state_variable): Likewise.
4903         (cmd_qtdpsrc): Likewise.
4904         (cmd_qtro): Likewise.
4905         (add_while_stepping_state): Likewise.
4906         * win32-low.c (child_add_thread): Likewise.
4907         (get_image_name): Likewise.
4908
4909 2015-08-25  Yao Qi  <yao.qi@linaro.org>
4910
4911         * linux-aarch64-low.c (aarch64_linux_new_thread): Remove.
4912
4913 2015-08-25  Yao Qi  <yao.qi@linaro.org>
4914
4915         * Makefile.in (aarch64-linux.o): New rule.
4916         * configure.srv (aarch64*-*-linux*): Append aarch64-linux.o to
4917         srv_tgtobj.
4918         * linux-aarch64-low.c: Include nat/aarch64-linux.h.
4919         (aarch64_init_debug_reg_state): Make it extern.
4920         (aarch64_linux_prepare_to_resume): Remove.
4921
4922 2015-08-25  Yao Qi  <yao.qi@linaro.org>
4923
4924         * linux-aarch64-low.c (aarch64_linux_prepare_to_resume): Use
4925         lwp_arch_private_info and ptid_of_lwp.
4926
4927 2015-08-25  Yao Qi  <yao.qi@linaro.org>
4928
4929         * linux-aarch64-low.c (aarch64_get_debug_reg_state): Add argument pid.
4930         Find proc_info by find_process_pid.  All callers updated.
4931
4932 2015-08-25  Yao Qi  <yao.qi@linaro.org>
4933
4934         * linux-aarch64-low.c (struct arch64_dr_update_callback_param):
4935         Remove.
4936         (debug_reg_change_callback): Remove.
4937         (aarch64_notify_debug_reg_change): Remove.
4938
4939 2015-08-25  Yao Qi  <yao.qi@linaro.org>
4940
4941         * linux-aarch64-low.c (aarch64_notify_debug_reg_change):
4942         Call current_lwp_ptid.
4943
4944 2015-08-25  Yao Qi  <yao.qi@linaro.org>
4945
4946         * linux-aarch64-low.c (debug_reg_change_callback): Use
4947         debug_printf.
4948
4949 2015-08-25  Yao Qi  <yao.qi@linaro.org>
4950
4951         * linux-aarch64-low.c (debug_reg_change_callback): Use phex.
4952
4953 2015-08-25  Yao Qi  <yao.qi@linaro.org>
4954
4955         * linux-aarch64-low.c (debug_reg_change_callback): Remove comments.
4956
4957 2015-08-25  Yao Qi  <yao.qi@linaro.org>
4958
4959         * linux-aarch64-low.c (debug_reg_change_callback): Re-indent
4960         the code.
4961
4962 2015-08-25  Yao Qi  <yao.qi@linaro.org>
4963
4964         * linux-aarch64-low.c (aarch64_dr_update_callback_param) <pid>:
4965         Remove.
4966         (debug_reg_change_callback): Remove argument entry and add argument
4967         lwp.  Remove local variable thread.  Don't print thread id in the
4968         debugging output.  Don't check whether pid of thread equals to pid.
4969         (aarch64_notify_debug_reg_change): Don't set param.pid.  Call
4970         iterate_over_lwps instead find_inferior.
4971
4972 2015-08-24  Pedro Alves  <palves@redhat.com>
4973
4974         * inferiors.c (get_first_process): New function.
4975         * inferiors.h (get_first_process): New declaration.
4976         * remote-utils.c (read_ptid): Default to the first process in the
4977         list, instead of to the current thread's process.
4978
4979 2015-08-24  Pedro Alves  <palves@redhat.com>
4980
4981         * debug.c: Include gdb_sys_time.h instead of sys/time.h.
4982         * event-loop.c: Likewise.
4983         * remote-utils.c: Likewise.
4984         * tracepoint.c: Likewise.
4985
4986 2015-08-24  Pedro Alves  <palves@redhat.com>
4987
4988         * spu-low.c (spu_request_interrupt): Use lwpid_of instead of
4989         ptid_get_lwp.
4990
4991 2015-08-21  Pedro Alves  <palves@redhat.com>
4992
4993         * ax.c (gdb_eval_agent_expr): Return expr_eval_unhandled_opcode
4994         instead of literal 1.
4995
4996 2015-08-21  Pedro Alves  <palves@redhat.com>
4997
4998         * tdesc.c (default_description): Explicitly zero-initialize.
4999
5000 2015-08-21  Pedro Alves  <palves@redhat.com>
5001
5002         PR gdb/18749
5003         * inferiors.c (remove_thread): Discard any pending stop reply for
5004         this thread.
5005         * server.c (remove_all_on_match_pid): Rename to ...
5006         (remove_all_on_match_ptid): ... this.  Work with a filter ptid
5007         instead of a pid.
5008         (discard_queued_stop_replies): Change parameter to a ptid.  Now
5009         extern.
5010         (handle_v_kill, kill_inferior_callback, captured_main)
5011         (process_serial_event): Adjust.
5012         * server.h (discard_queued_stop_replies): Declare.
5013
5014 2015-08-21  Pedro Alves  <palves@redhat.com>
5015
5016         * linux-low.c (wait_for_sigstop): Always switch to no thread
5017         selected if the previously current thread dies.
5018         * lynx-low.c (lynx_request_interrupt): Use the first thread's
5019         process instead of the current thread's.
5020         * remote-utils.c (input_interrupt): Don't check if there's no
5021         current thread.
5022         * server.c (gdb_read_memory, gdb_write_memory): If setting the
5023         current thread to the general thread fails, error out.
5024         (handle_qxfer_auxv, handle_qxfer_libraries)
5025         (handle_qxfer_libraries_svr4, handle_qxfer_siginfo)
5026         (handle_qxfer_spu, handle_qxfer_statictrace, handle_qxfer_fdpic)
5027         (handle_query): Check if there's a thread selected instead of
5028         checking whether there's any thread in the thread list.
5029         (handle_qxfer_threads, handle_qxfer_btrace)
5030         (handle_qxfer_btrace_conf): Don't error out early if there's no
5031         thread in the thread list.
5032         (handle_v_cont, myresume): Don't set the current thread to the
5033         continue thread.
5034         (process_serial_event) <Hg handling>: Also set thread_id if the
5035         previous general thread is still alive.
5036         (process_serial_event) <g/G handling>: If setting the current
5037         thread to the general thread fails, error out.
5038         * spu-low.c (spu_resume, spu_request_interrupt): Use the first
5039         thread's lwp instead of the current thread's.
5040         * target.c (set_desired_thread): If the desired thread was not
5041         found, leave the current thread pointing to NULL.  Return an int
5042         (boolean) indicating success.
5043         * target.h (set_desired_thread): Change return type to int.
5044
5045 2015-08-20  Max Filippov  <jcmvbkbc@gmail.com>
5046
5047         * configure.srv (xtensa*-*-linux*): Add srv_linux_thread_db=yes.
5048         * linux-xtensa-low.c (arch/xtensa.h gdb_proc_service.h): New
5049         #includes.
5050         (ps_get_thread_area): New function.
5051
5052 2015-08-19  Gary Benson  <gbenson@redhat.com>
5053
5054         * hostio.c (handle_pread): Do not attempt to read more data
5055         than hostio_reply_with_data can fit in a packet.
5056
5057 2015-08-18  Joel Brobecker  <brobecker@adacore.com>
5058
5059         * linux-aarch32-low.c (NT_ARM_VFP): Define if not already defined.
5060
5061 2015-08-14  Matthew Fortune  <matthew.fortune@imgtec.com>
5062
5063         * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP_REL.
5064
5065 2015-08-06  Pedro Alves  <palves@redhat.com>
5066
5067         * tracepoint.c (expr_eval_result): Now an int.
5068
5069 2015-08-06  Pedro Alves  <palves@redhat.com>
5070
5071         * gdbthread.h (struct regcache): Forward declare.
5072         (struct thread_info) <regcache_data>: Now a struct regcache
5073         pointer.
5074         * inferiors.c (inferior_regcache_data)
5075         (set_inferior_regcache_data): Now work with struct regcache
5076         pointers.
5077         * inferiors.h (struct regcache): Forward declare.
5078         (inferior_regcache_data, set_inferior_regcache_data): Now work
5079         with struct regcache pointers.
5080         * regcache.c (get_thread_regcache, regcache_invalidate_thread)
5081         (free_register_cache_thread): Remove struct regcache pointer
5082         casts.
5083
5084 2015-08-06  Pedro Alves  <palves@redhat.com>
5085
5086         * server.c (captured_main): On error, print the exception message
5087         to stderr, and if run_once is set, throw a quit.
5088
5089 2015-08-06  Pedro Alves  <palves@redhat.com>
5090
5091         * linux-low.c (move_out_of_jump_pad_callback): Temporarily switch
5092         the current thread.
5093
5094 2015-08-06  Pedro Alves  <palves@redhat.com>
5095
5096         * linux-low.c (linux_write_memory): Rewrite debug output to avoid
5097         reading beyond the passed in buffer length.
5098
5099 2015-08-06  Pierre Langlois  <pierre.langlois@arm.com>
5100
5101         * tracepoint.c (symbol_list) <required>: Remove.
5102
5103 2015-08-06  Pedro Alves  <palves@redhat.com>
5104
5105         * linux-low.c (handle_extended_wait): Set the fork child's suspend
5106         count if stopping and suspending threads.
5107         (check_stopped_by_breakpoint): If stopped by trace, set the LWP's
5108         stop reason to TARGET_STOPPED_BY_SINGLE_STEP.
5109         (linux_detach): Complete an ongoing step-over.
5110         (lwp_suspended_inc, lwp_suspended_decr): New functions.  Use
5111         throughout.
5112         (resume_stopped_resumed_lwps): Don't resume a suspended thread.
5113         (linux_wait_1): If passing a signal to the inferior after
5114         finishing a step-over, unsuspend and re-resume all lwps.  If we
5115         see a single-step event but the thread should be continuing, don't
5116         pass the trap to gdb.
5117         (stuck_in_jump_pad_callback, move_out_of_jump_pad_callback): Use
5118         internal_error instead of gdb_assert.
5119         (enqueue_pending_signal): New function.
5120         (check_ptrace_stopped_lwp_gone): Add debug output.
5121         (start_step_over): Use internal_error instead of gdb_assert.
5122         (complete_ongoing_step_over): New function.
5123         (linux_resume_one_thread): Don't resume a suspended thread.
5124         (proceed_one_lwp): If the LWP is stepping over a breakpoint, reset
5125         it stepping.
5126
5127 2015-08-06  Pedro Alves  <palves@redhat.com>
5128
5129         * linux-low.c (add_lwp): Set waitstatus to TARGET_WAITKIND_IGNORE.
5130         (linux_thread_alive): Use lwp_is_marked_dead.
5131         (extended_event_reported): Delete.
5132         (linux_wait_1): Check if waitstatus is TARGET_WAITKIND_IGNORE
5133         instead of extended_event_reported.
5134         (mark_lwp_dead): Don't set the 'dead' flag.  Store the waitstatus
5135         as well.
5136         (lwp_is_marked_dead): New function.
5137         (lwp_running): Use lwp_is_marked_dead.
5138         * linux-low.h: Delete 'dead' field, and update 'waitstatus's
5139         comment.
5140
5141 2015-08-06  Pedro Alves  <palves@redhat.com>
5142
5143         * linux-low.c (linux_wait_1): Move fork event output out of the
5144         !report_to_gdb check.  Pass event_child->waitstatus to
5145         target_waitstatus_to_string instead of ourstatus.
5146
5147 2015-08-04  Yao Qi  <yao.qi@linaro.org>
5148
5149         * linux-aarch64-low.c (aarch64_supports_tracepoints): Return 0
5150         if current_thread is 32 bit.
5151
5152 2015-08-04  Yao Qi  <yao.qi@linaro.org>
5153
5154         * linux-aarch64-low.c (aarch64_supports_z_point_type): Return
5155         0 for Z_PACKET_SW_BP if it may be used in multi-arch debugging.
5156         * server.c (extended_protocol): Remove "static".
5157         * server.h (extended_protocol): Declare it.
5158
5159 2015-08-04  Yao Qi  <yao.qi@linaro.org>
5160
5161         * linux-aarch64-low.c (aarch64_get_pc): Get PC register on
5162         both aarch64 and aarch32.
5163         (aarch64_set_pc): Likewise.
5164
5165 2015-08-04  Yao Qi  <yao.qi@linaro.org>
5166
5167         * configure.srv (case aarch64*-*-linux*): Append arm-with-neon.o
5168         to srv_regobj and append arm-core.xml arm-vfpv3.xml and
5169         arm-with-neon.xml to srv_xmlfiles.
5170         * linux-aarch64-low.c: Include linux-aarch32-low.h.
5171         (is_64bit_tdesc): New function.
5172         (aarch64_linux_read_description): New function.
5173         (aarch64_arch_setup): Call aarch64_linux_read_description.
5174         (regs_info): Rename to regs_info_aarch64.
5175         (aarch64_regs_info): Return right regs_info.
5176         (initialize_low_arch): Call initialize_low_arch_aarch32.
5177
5178 2015-08-04  Yao Qi  <yao.qi@linaro.org>
5179
5180         * configure.srv (srv_tgtobj): Add linux-aarch32-low.o.
5181         * linux-aarch32-low.c: New file.
5182         * linux-aarch32-low.h: New file.
5183         * linux-arm-low.c (arm_fill_gregset): Move it to
5184         linux-aarch32-low.c.
5185         (arm_store_gregset): Likewise.
5186         (arm_fill_vfpregset): Call arm_fill_vfpregset_num
5187         (arm_store_vfpregset): Call arm_store_vfpregset_num.
5188         (arm_arch_setup): Check if PTRACE_GETREGSET works.
5189         (regs_info): Rename to regs_info_arm.
5190         (arm_regs_info): Return regs_info_aarch32 if
5191         have_ptrace_getregset is 1 and target description is
5192         arm_with_neon or arm_with_vfpv3.
5193         (initialize_low_arch): Don't call init_registers_arm_with_neon.
5194         Call initialize_low_arch_aarch32 instead.
5195
5196 2015-08-04  Yao Qi  <yao.qi@linaro.org>
5197
5198         * linux-x86-low.c (have_ptrace_getregset): Move it to ...
5199         * linux-low.c: ... here.
5200         * linux-low.h (have_ptrace_getregset): Declare it.
5201
5202 2015-08-04  Pedro Alves  <palves@redhat.com>
5203
5204         * thread-db.c (struct thread_db): Use new typedefs.
5205         (try_thread_db_load_1): Define local TDB_DLSYM macro and use it in
5206         CHK calls.
5207         (disable_thread_event_reporting): Cast result of dlsym to
5208         destination function pointer type.
5209         (thread_db_mourn): Use td_ta_delete_ftype.
5210
5211 2015-08-03  Sandra Loosemore  <sandra@codesourcery.com>
5212
5213         * linux-nios2-low.c (NIOS2_BREAKPOINT): Conditionalize for
5214         arch variant.
5215         (CDX_BREAKPOINT): Define for R2.
5216         (nios2_breakpoint_at): Check for CDX_BREAKPOINT when R2.
5217         (the_low_target): Add comments.
5218
5219 2015-07-30  Yao Qi  <yao.qi@linaro.org>
5220
5221         * linux-arm-low.c (arm_hwcap): Remove it.
5222         (arm_read_description): New local variable arm_hwcap.  Don't
5223         set arm_hwcap to zero.
5224
5225 2015-07-30  Yao Qi  <yao.qi@linaro.org>
5226
5227         * linux-arm-low.c (arm_fill_wmmxregset): Don't use arm_hwcap.
5228         Use regcache->tdesc instead.
5229         (arm_store_wmmxregset): Likewise.
5230         (arm_fill_vfpregset): Likewise.
5231         (arm_store_vfpregset): Likewise.
5232
5233 2015-07-30  Yao Qi  <yao.qi@linaro.org>
5234
5235         * linux-arm-low.c: Include arch/arm.h.
5236         (arm_fill_gregset): Don't use arm_num_regs and arm_regmap.
5237         (arm_store_gregset): Likewise.
5238
5239 2015-07-29  Simon Marchi  <simon.marchi@ericsson.com>
5240
5241         * linux-mips-low.c (mips_linux_prepare_to_resume): Add NULL as
5242         ptrace's 4th parameter.
5243
5244 2015-07-27  Yao Qi  <yao.qi@linaro.org>
5245
5246         * configure.srv (case aarch64*-*-linux*): Don't set
5247         srv_linux_usrregs.
5248
5249 2015-07-24  Pedro Alves  <palves@redhat.c: Likewise.om>
5250
5251         * linux-aarch64-low.c: Include nat/gdb_ptrace.h instead of
5252         sys/ptrace.h.
5253         * linux-arm-low.c: Likewise.
5254         * linux-cris-low.c: Likewise.
5255         * linux-crisv32-low.c: Likewise.
5256         * linux-low.c: Likewise.
5257         * linux-m68k-low.c: Likewise.
5258         * linux-mips-low.c: Likewise.
5259         * linux-nios2-low.c: Likewise.
5260         * linux-s390-low.c: Likewise.
5261         * linux-sparc-low.c: Likewise.
5262         * linux-tic6x-low.c: Likewise.
5263         * linux-tile-low.c: Likewise.
5264         * linux-x86-low.c: Likewise.
5265
5266 2015-07-24  Pedro Alves  <palves@redhat.com>
5267
5268         * config.in: Regenerate.
5269         * configure: Regenerate.
5270
5271 2015-07-24  Pedro Alves  <palves@redhat.com>
5272
5273         * acinclude.m4: Include ../ptrace.m4.
5274         * configure.ac: Call GDB_AC_PTRACE.
5275         * config.in, configure: Regenerate.
5276
5277 2015-07-24  Yao Qi  <yao.qi@linaro.org>
5278
5279         * linux-low.c (linux_create_inferior): Remove setting to
5280         proc->priv->new_inferior.
5281         (linux_attach): Likewise.
5282         (linux_low_filter_event): Likewise.
5283         * linux-low.h (struct process_info_private) <new_inferior>: Remove.
5284
5285 2015-07-24  Yao Qi  <yao.qi@linaro.org>
5286
5287         * linux-low.c (linux_arch_setup): New function.
5288         (linux_low_filter_event): If proc->tdesc is NULL and
5289         proc->attached is true, call the_low_target.arch_setup.
5290         Otherwise, keep status pending, and return.
5291         (linux_resume_one_lwp_throw): Don't call get_pc if
5292         thread->while_stepping isn't NULL.  Don't call
5293         get_thread_regcache if proc->tdesc is NULL.
5294         (need_step_over_p): Return 0 if proc->tdesc is NULL.
5295         (linux_target_ops): Install arch_setup.
5296         * server.c (start_inferior): Call the_target->arch_setup.
5297         * target.h (struct target_ops) <arch_setup>: New field.
5298         (target_arch_setup): New marco.
5299         * lynx-low.c (lynx_target_ops): Update.
5300         * nto-low.c (nto_target_ops): Update.
5301         * spu-low.c (spu_target_ops): Update.
5302         * win32-low.c (win32_target_ops): Update.
5303
5304 2015-07-24  Yao Qi  <yao.qi@linaro.org>
5305
5306         * linux-low.c (linux_add_process): Don't set
5307         proc->priv->new_inferior.
5308         (linux_create_inferior): Set proc->priv->new_inferior to 1.
5309         (linux_attach): Likewise.
5310
5311 2015-07-24  Yao Qi  <yao.qi@linaro.org>
5312
5313         * server.c (start_inferior): Code refactor.
5314
5315 2015-07-24  Yao Qi  <yao.qi@linaro.org>
5316
5317         * server.c (process_serial_event): Set general_thread.
5318
5319 2015-07-21  Yao Qi  <yao.qi@linaro.org>
5320
5321         * linux-aarch64-low.c (aarch64_arch_setup): Remove code and call
5322         aarch64_linux_get_debug_reg_capacity.
5323
5324 2015-07-17  Yao Qi  <yao.qi@linaro.org>
5325
5326         * Makefile.in (aarch64-linux-hw-point.o): New rule.
5327         * configure.srv (srv_tgtobj): Append aarch64-linux-hw-point.o.
5328         * linux-aarch64-low.c: Include nat/aarch64-linux-hw-point.h.
5329         (AARCH64_HBP_MAX_NUM): Move to nat/aarch64-linux-hw-point.h.
5330         (AARCH64_HWP_MAX_NUM, AARCH64_HBP_ALIGNMENT): Likewise.
5331         (AARCH64_HWP_ALIGNMENT): Likewise.
5332         (AARCH64_HWP_MAX_LEN_PER_REG): Likewise.
5333         (AARCH64_DEBUG_NUM_SLOTS, AARCH64_DEBUG_ARCH): Likewise.
5334         (aarch64_num_bp_regs, aarch64_num_wp_regs): Likewise.
5335         (AARCH64_DEBUG_ARCH_V8, DR_MARK_ALL_CHANGED): Likewise.
5336         (DR_MARK_N_CHANGED, DR_CLEAR_CHANGED): Likewise.
5337         (DR_HAS_CHANGED, DR_N_HAS_CHANGE): Likewise.
5338         (struct aarch64_debug_reg_state): Likewise.
5339         (struct arch_lwp_info): Likewise.
5340         (aarch64_align_watchpoint): Likewise.
5341         (DR_CONTROL_ENABLED, DR_CONTROL_LENGTH): Likewise.
5342         (aarch64_watchpoint_length): Likewise.
5343         (aarch64_point_encode_ctrl_reg): Likewise
5344         (aarch64_point_is_aligned): Likewise.
5345         (aarch64_align_watchpoint): Likewise.
5346         (aarch64_linux_set_debug_regs):
5347         (aarch64_dr_state_insert_one_point): Likewise.
5348         (aarch64_dr_state_remove_one_point): Likewise.
5349         (aarch64_handle_breakpoint): Likewise.
5350         (aarch64_handle_aligned_watchpoint): Likewise.
5351         (aarch64_handle_unaligned_watchpoint): Likewise.
5352         (aarch64_handle_watchpoint): Likewise.
5353
5354 2015-07-17  Yao Qi  <yao.qi@linaro.org>
5355
5356         * linux-aarch64-low.c (aarch64_handle_breakpoint): Add argument state
5357         and don't aarch64_get_debug_reg_state.  All callers update.
5358         (aarch64_handle_aligned_watchpoint): Likewise.
5359         (aarch64_handle_unaligned_watchpoint): Likewise.
5360         (aarch64_handle_watchpoint): Likewise.
5361         (aarch64_insert_point): Call aarch64_get_debug_reg_state earlier.
5362         (aarch64_remove_point): Likewise.
5363
5364 2015-07-17  Yao Qi  <yao.qi@linaro.org>
5365
5366         * linux-aarch64-low.c (aarch64_show_debug_reg_state): Use
5367         debug_printf.
5368         (aarch64_handle_unaligned_watchpoint): Likewise.
5369
5370 2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
5371
5372         Revert the previous 3 commits:
5373         Move gdb_regex* to common/
5374         Move linux_find_memory_regions_full & co.
5375         gdbserver build-id attribute generator
5376
5377 2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
5378             Jan Kratochvil  <jan.kratochvil@redhat.com>
5379
5380         gdbserver build-id attribute generator.
5381         * linux-low.c (nat/linux-maps.h, search.h, rsp-low.h): Include.
5382         (ElfXX_Ehdr, ElfXX_Phdr, ElfXX_Nhdr): New.
5383         (ELFXX_FLD, ELFXX_SIZEOF, ELFXX_ROUNDUP, BUILD_ID_INVALID): New.
5384         (find_phdr): New.
5385         (get_dynamic): Use find_pdhr to traverse program headers.
5386         (struct mapping_entry, mapping_entry_s, free_mapping_entry_vec)
5387         (compare_mapping_entry_range, struct find_memory_region_callback_data)
5388         (read_build_id, find_memory_region_callback, lrfind_mapping_entry)
5389         (get_hex_build_id): New.
5390         (linux_qxfer_libraries_svr4): Add optional build-id attribute
5391         to reply XML document.
5392
5393 2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
5394             Jan Kratochvil  <jan.kratochvil@redhat.com>
5395
5396         * target.c: Include target/target-utils.h and fcntl.h.
5397         (target_fileio_read_stralloc_1_pread, target_fileio_read_stralloc_1)
5398         (target_fileio_read_stralloc): New functions.
5399
5400 2015-07-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
5401
5402         * Makefile.in (OBS): Add gdb_regex.o.
5403         (gdb_regex.o): New.
5404         * config.in: Rebuilt.
5405         * configure: Rebuilt.
5406
5407 2015-07-15  Aleksandar Ristovski  <aristovski@qnx.com
5408             Jan Kratochvil  <jan.kratochvil@redhat.com>
5409
5410         Create empty nat/linux-maps.[ch] and common/target-utils.[ch].
5411         * Makefile.in (OBS): Add target-utils.o.
5412         (linux-maps.o, target-utils.o): New.
5413         * configure.srv (srv_linux_obj): Add linux-maps.o.
5414
5415 2015-07-15  Pierre Langlois  <pierre.langlois@arm.com>
5416
5417         * linux-aarch64-low.c (aarch64_supports_range_stepping): New
5418         function, return 1.
5419         (the_low_target): Install it.
5420
5421 2015-07-14  Pedro Alves  <palves@redhat.com>
5422
5423         * linux-low.c (kill_wait_lwp): Don't assert if waitpid fails.
5424         Instead, ignore ECHILD, and throw an error for other errnos.
5425
5426 2015-07-10  Pedro Alves  <palves@redhat.com>
5427
5428         * event-loop.c (struct callback_event) <data>: Change type to
5429         gdb_client_data instance instead of gdb_client_data pointer.
5430         (append_callback_event): Adjust.
5431
5432 2015-07-10  Pierre Langlois  <pierre.langlois@arm.com>
5433
5434         * linux-aarch64-low.c: Add comments for each linux_target_ops
5435         method.  Remove comments already covered in target_ops and
5436         linux_target_ops definitions.
5437         (the_low_target): Add comments for each unimplemented method.
5438
5439 2015-07-09  Yao Qi  <yao.qi@linaro.org>
5440
5441         * linux-aarch64-low.c (aarch64_regmap): Remove.
5442         (aarch64_usrregs_info): Remove.
5443         (regs_info): Set field usrregs to NULL.
5444
5445 2015-07-02  Markus Metzger  <markus.t.metzger@intel.com>
5446
5447         * linux-low.c: Include "rsp-low.h"
5448         (linux_low_encode_pt_config, linux_low_encode_raw): New.
5449         (linux_low_read_btrace): Support BTRACE_FORMAT_PT.
5450         (linux_low_btrace_conf): Support BTRACE_FORMAT_PT.
5451         (handle_btrace_enable_pt): New.
5452         (handle_btrace_general_set): Support "pt".
5453         (handle_btrace_conf_general_set): Support "pt:size".
5454
5455 2015-06-29  Pierre Langlois  <pierre.langlois@arm.com>
5456
5457         * linux-aarch64-low.c (aarch64_supports_z_point_type): Enable for
5458         Z_PACKET_SW_BP.
5459
5460 2015-06-29  Pierre Langlois  <pierre.langlois@arm.com>
5461
5462         * linux-aarch64-low.c: Remove comment about endianness.
5463         (aarch64_breakpoint): Change type to gdb_byte[].  Set to "brk #0".
5464         (aarch64_breakpoint_at): Change type of insn to gdb_byte[].  Use
5465         memcmp.
5466
5467 2015-06-24  Gary Benson  <gbenson@redhat.com>
5468
5469         * linux-i386-ipa.c (stdint.h): Do not include.
5470         * lynx-i386-low.c (stdint.h): Likewise.
5471         * lynx-ppc-low.c (stdint.h): Likewise.
5472         * mem-break.c (stdint.h): Likewise.
5473         * thread-db.c (stdint.h): Likewise.
5474         * tracepoint.c (stdint.h): Likewise.
5475         * win32-low.c (stdint.h): Likewise.
5476
5477 2015-06-18  Simon Marchi  <simon.marchi@ericsson.com>
5478
5479         * server.c (write_qxfer_response): Update call to
5480         remote_escape_output.
5481
5482 2015-06-15  Aleksandar Ristovski  <aristovski@qnx.com
5483             Jan Kratochvil  <jan.kratochvil@redhat.com>
5484
5485         Merge multiple hex conversions.
5486         * gdbreplay.c (tohex): Rename to 'fromhex'.
5487         (logchar): Use fromhex.
5488
5489 2015-06-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
5490
5491         * server.c (handle_qxfer_libraries): Set `version' attribute for
5492         <library-list>.
5493
5494 2015-06-10  Gary Benson  <gbenson@redhat.com>
5495
5496         * target.h (struct target_ops) <multifs_open>: New field.
5497         <multifs_unlink>: Likewise.
5498         <multifs_readlink>: Likewise.
5499         * linux-low.c (nat/linux-namespaces.h): New include.
5500         (linux_target_ops): Initialize the_target->multifs_open,
5501         the_target->multifs_unlink and the_target->multifs_readlink.
5502         * hostio.h (hostio_handle_new_gdb_connection): New declaration.
5503         * hostio.c (hostio_fs_pid): New static variable.
5504         (hostio_handle_new_gdb_connection): New function.
5505         (handle_setfs): Likewise.
5506         (handle_open): Use the_target->multifs_open as appropriate.
5507         (handle_unlink): Use the_target->multifs_unlink as appropriate.
5508         (handle_readlink): Use the_target->multifs_readlink as
5509         appropriate.
5510         (handle_vFile): Handle vFile:setfs packets.
5511         * server.c (handle_query): Call hostio_handle_new_gdb_connection
5512         after target_handle_new_gdb_connection.
5513
5514 2015-06-10  Gary Benson  <gbenson@redhat.com>
5515
5516         * configure.ac (AC_CHECK_FUNCS): Add setns.
5517         * config.in: Regenerate.
5518         * configure: Likewise.
5519         * Makefile.in (SFILES): Add nat/linux-namespaces.c.
5520         (linux-namespaces.o): New rule.
5521         * configure.srv (srv_linux_obj): Add linux-namespaces.o.
5522
5523 2015-06-09  Gary Benson <gbenson@redhat.com>
5524
5525         * hostio.c (handle_open): Process mode argument with
5526         fileio_to_host_mode.
5527
5528 2015-06-01  Yao Qi  <yao.qi@linaro.org>
5529
5530         * linux-s390-low.c (PTRACE_GETREGSET, PTRACE_SETREGSET): Remove.
5531         * linux-x86-low.c: Likewise.
5532
5533 2015-05-28  Don Breazeal  <donb@codesourcery.com>
5534
5535         * linux-low.c (handle_extended_wait): Initialize
5536         thread_info.last_resume_kind for new fork children.
5537
5538 2015-05-15  Pedro Alves  <palves@redhat.com>
5539
5540         * target.h (target_handle_new_gdb_connection): Rewrite using if
5541         wrapped in do/while.
5542
5543 2015-05-14  Joel Brobecker  <brobecker@adacore.com>
5544
5545         * configure.ac: Add prfpregset_t BFD_HAVE_SYS_PROCFS_TYPE check.
5546         * configure, config.in: Regenerate.
5547         * gdb_proc_service.h [HAVE_PRFPREGSET_T] (prfpregset_t):
5548         Declare typedef.
5549
5550 2015-05-12  Don Breazeal  <donb@codesourcery.com>
5551
5552         * linux-low.c (handle_extended_wait): Handle PTRACE_EVENT_FORK and
5553         PTRACE_EVENT_VFORK_DONE.
5554         (linux_low_ptrace_options, extended_event_reported): Add vfork
5555         events.
5556         * remote-utils.c (prepare_resume_reply): New stop reasons "vfork"
5557         and "vforkdone" for RSP 'T' Stop Reply Packet.
5558         * server.h (report_vfork_events): Declare
5559         global variable.
5560
5561 2015-05-12  Don Breazeal  <donb@codesourcery.com>
5562
5563         * linux-aarch64-low.c (aarch64_linux_new_fork): New function.
5564         (the_low_target) <new_fork>: Initialize new member.
5565         * linux-arm-low.c (arm_new_fork): New function.
5566         (the_low_target) <new_fork>: Initialize new member.
5567         * linux-low.c (handle_extended_wait): Call new target function
5568         new_fork.
5569         * linux-low.h (struct linux_target_ops) <new_fork>: New member.
5570         * linux-mips-low.c (mips_add_watchpoint): New function
5571         extracted from mips_insert_point.
5572         (the_low_target) <new_fork>: Initialize new member.
5573         (mips_linux_new_fork): New function.
5574         (mips_insert_point): Call mips_add_watchpoint.
5575         * linux-x86-low.c (x86_linux_new_fork): New function.
5576         (the_low_target) <new_fork>: Initialize new member.
5577
5578 2015-05-12  Don Breazeal  <donb@codesourcery.com>
5579
5580         * linux-low.c (handle_extended_wait): Implement return value,
5581         rename argument 'event_child' to 'event_lwp', handle
5582         PTRACE_EVENT_FORK, call internal_error for unrecognized event.
5583         (linux_low_ptrace_options): New function.
5584         (linux_low_filter_event): Call linux_low_ptrace_options,
5585         use different argument fo linux_enable_event_reporting,
5586         use return value from handle_extended_wait.
5587         (extended_event_reported): New function.
5588         (linux_wait_1): Call extended_event_reported and set
5589         status to report fork events.
5590         (linux_write_memory): Add pid to debug message.
5591         (reset_lwp_ptrace_options_callback): New function.
5592         (linux_handle_new_gdb_connection): New function.
5593         (linux_target_ops): Initialize new structure member.
5594         * linux-low.h (struct lwp_info) <waitstatus>: New member.
5595         * lynx-low.c: Initialize new structure member.
5596         * remote-utils.c (prepare_resume_reply): Implement stop reason
5597         "fork" for "T" stop message.
5598         * server.c (handle_query): Call handle_new_gdb_connection.
5599         * server.h (report_fork_events): Declare global flag.
5600         * target.h (struct target_ops) <handle_new_gdb_connection>:
5601         New member.
5602         (target_handle_new_gdb_connection): New macro.
5603         * win32-low.c: Initialize new structure member.
5604
5605 2015-05-12  Don Breazeal  <donb@codesourcery.com>
5606
5607         * mem-break.c (APPEND_TO_LIST): Define macro.
5608         (clone_agent_expr): New function.
5609         (clone_one_breakpoint): New function.
5610         (clone_all_breakpoints): New function.
5611         * mem-break.h: Declare new functions.
5612
5613 2015-05-12  Don Breazeal  <donb@codesourcery.com>
5614
5615         * linux-low.c (linux_supports_fork_events): New function.
5616         (linux_supports_vfork_events): New function.
5617         (linux_target_ops): Initialize new structure members.
5618         (initialize_low): Call linux_check_ptrace_features.
5619         * lynx-low.c (lynx_target_ops): Initialize new structure
5620         members.
5621         * server.c (report_fork_events, report_vfork_events):
5622         New global flags.
5623         (handle_query): Add new features to qSupported packet and
5624         response.
5625         (captured_main): Initialize new global variables.
5626         * target.h (struct target_ops) <supports_fork_events>:
5627         New member.
5628         <supports_vfork_events>: New member.
5629         (target_supports_fork_events): New macro.
5630         (target_supports_vfork_events): New macro.
5631         * win32-low.c (win32_target_ops): Initialize new structure
5632         members.
5633
5634 2015-05-12  Gary Benson <gbenson@redhat.com>
5635
5636         * server.c (handle_qxfer_exec_file): Use current process
5637         if annex is empty.
5638
5639 2015-05-08  Sandra Loosemore  <sandra@codesourcery.com>
5640
5641         * linux-nios2-low.c: Include elf/common.h.  Adjust comments.
5642         Remove HAVE_PTRACE_GETREGS conditionals.
5643         (nios2_regsets): Use PTRACE_GETREGSET and PTRACE_SETREGSET
5644         instead of PTRACE_GETREGS and PTRACE_SETREGS.
5645
5646 2015-05-08  Yao Qi  <yao.qi@linaro.org>
5647
5648         * linux-low.c (linux_supports_conditional_breakpoints): New
5649         function.
5650         (linux_target_ops): Install new target method.
5651         * lynx-low.c (lynx_target_ops): Install NULL hook for
5652         supports_conditional_breakpoints.
5653         * nto-low.c (nto_target_ops): Likewise.
5654         * spu-low.c (spu_target_ops): Likewise.
5655         * win32-low.c (win32_target_ops): Likewise.
5656         * server.c (handle_query): Check
5657         target_supports_conditional_breakpoints.
5658         * target.h (struct target_ops) <supports_conditional_breakpoints>:
5659         New field.
5660         (target_supports_conditional_breakpoints): New macro.
5661
5662 2015-05-06  Pedro Alves  <palves@redhat.com>
5663
5664         PR server/18081
5665         * server.c (start_inferior): If the process exits, mourn it.
5666
5667 2015-04-21  Gary Benson <gbenson@redhat.com>
5668
5669         * hostio.c (fileio_open_flags_to_host): Factored out to
5670         fileio_to_host_openflags in common/fileio.c.  Single use
5671         updated.
5672
5673 2015-04-17  Max Filippov  <jcmvbkbc@gmail.com>
5674
5675         * linux-xtensa-low.c (xtensa_fill_gregset)
5676         (xtensa_store_gregset): Check XCHAL_HAVE_LOOPS instead of
5677         XCHAL_HAVE_LOOP.
5678
5679 2015-04-17  Max Filippov  <jcmvbkbc@gmail.com>
5680
5681         * linux-xtensa-low.c (xtensa_usrregs_info): Remove.
5682         (regs_info): Replace usrregs pointer with NULL.
5683
5684 2015-04-17  Gary Benson  <gbenson@redhat.com>
5685
5686         * target.h (struct target_ops) <pid_to_exec_file>: New field.
5687         * linux-low.c (linux_target_ops): Initialize pid_to_exec_file.
5688         * server.c (handle_qxfer_exec_file): New function.
5689         (qxfer_packets): Add exec-file entry.
5690         (handle_query): Report qXfer:exec-file:read as supported packet.
5691
5692 2015-04-14  Romain Naour <romain.naour@openwide.fr>  (tiny change)
5693
5694         * linux-low.c (linux_read_offsets): Remove get_thread_lwp.
5695
5696 2015-04-09  Gary Benson <gbenson@redhat.com>
5697
5698         * hostio-errno.c (errno_to_fileio_error): Remove function.
5699         Update caller to use remote_fileio_to_fio_error.
5700
5701 2015-04-09  Yao Qi  <yao.qi@linaro.org>
5702
5703         * linux-low.c (linux_insert_point): Call
5704         insert_memory_breakpoint if TYPE is raw_bkpt_type_sw.
5705         (linux_remove_point): Call remove_memory_breakpoint if type is
5706         raw_bkpt_type_sw.
5707         * linux-x86-low.c (x86_insert_point): Don't call
5708         insert_memory_breakpoint.
5709         (x86_remove_point): Don't call remove_memory_breakpoint.
5710
5711 2015-04-01  Pedro Alves  <palves@redhat.com>
5712             Cleber Rosa  <crosa@redhat.com>
5713
5714         * server.c (gdbserver_usage): Reorganize and extend the usage
5715         message.
5716
5717 2015-03-24  Pedro Alves  <palves@redhat.com>
5718
5719         * linux-low.c (check_stopped_by_breakpoint): Tweak debug log
5720         output.  Also dump TRAP_TRACE.
5721         (linux_low_filter_event): In debug output, distinguish a
5722         resume_stop SIGSTOP from a delayed SIGSTOP.
5723
5724 2015-03-24  Gary Benson  <gbenson@redhat.com>
5725
5726         * linux-x86-low.c (x86_linux_new_thread): Moved to
5727         nat/x86-linux.c.
5728         (x86_linux_prepare_to_resume): Likewise.
5729
5730 2015-03-24  Gary Benson  <gbenson@redhat.com>
5731
5732         * Makefile.in (x86-linux-dregs.o): New rule.
5733         * configure.srv: Add x86-linux-dregs.o to relevant targets.
5734         * linux-x86-low.c: Include nat/x86-linux-dregs.h.
5735         (u_debugreg_offset): Moved to nat/x86-linux-dregs.c.
5736         (x86_linux_dr_get): Likewise.
5737         (x86_linux_dr_set): Likewise.
5738         (update_debug_registers_callback): Likewise.
5739         (x86_linux_dr_set_addr): Likewise.
5740         (x86_linux_dr_get_addr): Likewise.
5741         (x86_linux_dr_set_control): Likewise.
5742         (x86_linux_dr_get_control): Likewise.
5743         (x86_linux_dr_get_status): Likewise.
5744         (x86_linux_update_debug_registers): Likewise.
5745
5746 2015-03-24  Gary Benson  <gbenson@redhat.com>
5747
5748         * linux-x86-low.c (x86_linux_update_debug_registers):
5749         New function, factored out from...
5750         (x86_linux_prepare_to_resume): ...this.
5751
5752 2015-03-24  Gary Benson  <gbenson@redhat.com>
5753
5754         * linux-x86-low.c (x86_linux_dr_get): Update comments.
5755         (x86_linux_dr_set): Likewise.
5756         (update_debug_registers_callback): Likewise.
5757         (x86_linux_dr_set_addr): Likewise.
5758         (x86_linux_dr_get_addr): Likewise.
5759         (x86_linux_dr_set_control): Likewise.
5760         (x86_linux_dr_get_control): Likewise.
5761         (x86_linux_dr_get_status): Likewise.
5762         (x86_linux_prepare_to_resume): Likewise.
5763
5764 2015-03-24  Gary Benson  <gbenson@redhat.com>
5765
5766         * linux-x86-low.c (x86_linux_dr_get): Add assertion.
5767         Use perror_with_name.  Pass string through gettext.
5768         (x86_linux_dr_set): Likewise.
5769
5770 2015-03-24  Gary Benson  <gbenson@redhat.com>
5771
5772         * linux-x86-low.c (x86_dr_low_set_addr): Rename to...
5773         (x86_linux_dr_set_addr): ...this.
5774         (x86_dr_low_get_addr): Rename to...
5775         (x86_linux_dr_get_addr): ...this.
5776         (x86_dr_low_set_control): Rename to...
5777         (x86_linux_dr_set_control): ...this.
5778         (x86_dr_low_get_control): Rename to...
5779         (x86_linux_dr_get_control): ...this.
5780         (x86_dr_low_get_status): Rename to...
5781         (x86_linux_dr_get_status): ...this.
5782         (x86_dr_low): Update with new function names.
5783
5784 2015-03-24  Gary Benson  <gbenson@redhat.com>
5785
5786         * Makefile.in (x86-linux.o): New rule.
5787         * configure.srv: Add x86-linux.o to relevant targets.
5788         * linux-low.c (lwp_set_arch_private_info): New function.
5789         (lwp_arch_private_info): Likewise.
5790         * linux-x86-low.c: Include nat/x86-linux.h.
5791         (arch_lwp_info): Removed structure.
5792         (update_debug_registers_callback):
5793         Use lwp_set_debug_registers_changed.
5794         (x86_linux_prepare_to_resume): Use lwp_debug_registers_changed
5795         and lwp_set_debug_registers_changed.
5796         (x86_linux_new_thread): Use lwp_set_debug_registers_changed.
5797
5798 2015-03-24  Gary Benson  <gbenson@redhat.com>
5799
5800         * linux-low.h (linux_target_ops) <new_thread>: Changed signature.
5801         * linux-arm-low.c (arm_new_thread): Likewise.
5802         * linux-aarch64-low.c (aarch64_linux_new_thread): Likewise.
5803         * linux-mips-low.c (mips_linux_new_thread): Likewise.
5804         * linux-x86-low.c (x86_linux_new_thread): Likewise.
5805         * linux-low.c (add_lwp): Update the_low_target.new_thread call.
5806
5807 2015-03-24  Gary Benson  <gbenson@redhat.com>
5808
5809         * linux-low.c (ptid_of_lwp): New function.
5810         (lwp_is_stopped): Likewise.
5811         (lwp_stop_reason): Likewise.
5812         * linux-x86-low.c (update_debug_registers_callback):
5813         Use lwp_is_stopped.
5814         (x86_linux_prepare_to_resume): Use ptid_of_lwp and
5815         lwp_stop_reason.
5816
5817 2015-03-24  Gary Benson  <gbenson@redhat.com>
5818
5819         * linux-low.h (linux_stop_lwp): Remove declaration.
5820
5821 2015-03-24  Gary Benson  <gbenson@redhat.com>
5822
5823         * linux-low.h: Include nat/linux-nat.h.
5824         * linux-low.c (iterate_over_lwps_args): New structure.
5825         (iterate_over_lwps_filter): New function.
5826         (iterate_over_lwps): Likewise.
5827         * linux-x86-low.c (update_debug_registers_callback):
5828         Update signature to what iterate_over_lwps expects.
5829         Remove PID check that iterate_over_lwps now performs.
5830         (x86_dr_low_set_addr): Use iterate_over_lwps.
5831         (x86_dr_low_set_control): Likewise.
5832
5833 2015-03-24  Gary Benson  <gbenson@redhat.com>
5834
5835         * linux-x86-low.c (x86_debug_reg_state): New function.
5836         (x86_linux_prepare_to_resume): Use the above.
5837
5838 2015-03-24  Gary Benson  <gbenson@redhat.com>
5839
5840         * linux-low.c (current_lwp_ptid): New function.
5841         * linux-x86-low.c: Include nat/linux-nat.h.
5842         (x86_dr_low_get_addr): Use current_lwp_ptid.
5843         (x86_dr_low_get_control): Likewise.
5844         (x86_dr_low_get_status): Likewise.
5845
5846 2015-03-20  Pedro Alves  <palves@redhat.com>
5847
5848         * tracepoint.c (cmd_qtstatus): Make "str" const.
5849
5850 2015-03-20  Pedro Alves  <palves@redhat.com>
5851
5852         * server.c (handle_general_set): Make "req_str" const.
5853
5854 2015-03-19  Pedro Alves  <palves@redhat.com>
5855
5856         * linux-low.c (linux_resume_one_lwp): Rename to ...
5857         (linux_resume_one_lwp_throw): ... this.  Don't handle ESRCH here,
5858         instead call perror_with_name.
5859         (check_ptrace_stopped_lwp_gone): New function.
5860         (linux_resume_one_lwp): Reimplement as wrapper around
5861         linux_resume_one_lwp_throw that swallows errors if the LWP is
5862         gone.
5863
5864 2015-03-19  Pedro Alves  <palves@redhat.com>
5865
5866         * linux-low.c (count_events_callback, select_event_lwp_callback):
5867         No longer check whether the thread has resume_stop as last resume
5868         kind.
5869
5870 2015-03-19 Pedro Alves  <palves@redhat.com>
5871
5872         * linux-low.c (count_events_callback, select_event_lwp_callback):
5873         Use the lwp's status_pending_p field, not the thread's.
5874
5875 2015-03-19  Pedro Alves  <palves@redhat.com>
5876
5877         * linux-low.c (select_event_lwp_callback): Update comments to
5878         no longer mention SIGTRAP.
5879
5880 2015-03-18  Gary Benson  <gbenson@redhat.com>
5881
5882         * server.c (handle_query): Do not report vFile:fstat as supported.
5883
5884 2015-03-11  Gary Benson  <gbenson@redhat.com>
5885
5886         * hostio.c (sys/types.h): New include.
5887         (sys/stat.h): Likewise.
5888         (common-remote-fileio.h): Likewise.
5889         (handle_fstat): New function.
5890         (handle_vFile): Handle vFile:fstat packets.
5891
5892 2015-03-11  Gary Benson  <gbenson@redhat.com>
5893
5894         * configure.ac (AC_CHECK_MEMBERS): Add checks for
5895         struct stat.st_blocks and struct stat.st_blksize.
5896         * configure: Regenerate.
5897         * config.in: Likewise.
5898         * Makefile.in (SFILES): Add common/common-remote-fileio.c.
5899         (OBS): Add common-remote-fileio.o.
5900         (common-remote-fileio.o): New rule.
5901
5902 2015-03-09  Pedro Alves  <palves@redhat.com>
5903
5904         * tracepoint.c (gdb_agent_helper_thread): Cast '&sockaddr' to
5905         'struct sockaddr' pointer in 'accept' call.
5906
5907 2015-03-09  Pedro Alves  <palves@redhat.com>
5908
5909         Revert:
5910         2015-03-07  Pedro Alves  <palves@redhat.com>
5911         * gdbreplay.c: No longer include <netinet/in.h>, <sys/socket.h>,
5912         or <winsock2.h> here.  Instead include "gdb_socket.h".
5913         (remote_open): Use union gdb_sockaddr_u.
5914         * remote-utils.c: No longer include <netinet/in.h>, <sys/socket.h>
5915         or <winsock2.h> here.  Instead include "gdb_socket.h".
5916         (handle_accept_event, remote_prepare): Use union gdb_sockaddr_u.
5917         * tracepoint.c: Include "gdb_socket.h" instead of <sys/socket.h>
5918         or <sys/un.h>.
5919         (init_named_socket, gdb_agent_helper_thread): Use union
5920         gdb_sockaddr_u.
5921
5922 2015-03-07  Pedro Alves  <palves@redhat.com>
5923
5924         * configure.ac (build_warnings): Move
5925         -Wdeclaration-after-statement to the C-specific set.
5926         * configure: Regenerate.
5927
5928 2015-03-07  Pedro Alves  <palves@redhat.com>
5929
5930         * gdbreplay.c: No longer include <netinet/in.h>, <sys/socket.h>,
5931         or <winsock2.h> here.  Instead include "gdb_socket.h".
5932         (remote_open): Use union gdb_sockaddr_u.
5933         * remote-utils.c: No longer include <netinet/in.h>, <sys/socket.h>
5934         or <winsock2.h> here.  Instead include "gdb_socket.h".
5935         (handle_accept_event, remote_prepare): Use union gdb_sockaddr_u.
5936         * tracepoint.c: Include "gdb_socket.h" instead of <sys/socket.h>
5937         or <sys/un.h>.
5938         (init_named_socket, gdb_agent_helper_thread): Use union
5939         gdb_sockaddr_u.
5940
5941 2015-03-07  Pedro Alves  <palves@redhat.com>
5942
5943         Adjust all callers of TRY_CATCH to use TRY/CATCH/END_CATCH
5944         instead.
5945
5946 2015-03-06  Yao Qi  <yao.qi@linaro.org>
5947
5948         * linux-aarch64-low.c (aarch64_insert_point): Use
5949         show_debug_regs as a boolean.
5950         (aarch64_remove_point): Likewise.
5951
5952 2015-03-05  Pedro Alves  <palves@redhat.com>
5953
5954         * lynx-low.c (lynx_target_ops): Install NULL hooks for
5955         stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
5956         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint.
5957         * nto-low.c (nto_target_ops): Likewise.
5958         * spu-low.c (spu_target_ops): Likewise.
5959         * win32-low.c (win32_target_ops): Likewise.
5960
5961 2015-03-04  Pedro Alves  <palves@redhat.com>
5962
5963         * linux-low.c (check_stopped_by_breakpoint) [USE_SIGTRAP_SIGINFO]:
5964         Decide whether a breakpoint triggered based on the SIGTRAP's
5965         siginfo.si_code.
5966         (thread_still_has_status_pending_p) [USE_SIGTRAP_SIGINFO]: Don't check whether a
5967         breakpoint is inserted if relying on SIGTRAP's siginfo.si_code.
5968         (linux_low_filter_event): Check for breakpoints before checking
5969         watchpoints.
5970         (linux_wait_1): Don't re-increment the PC if relying on SIGTRAP's
5971         siginfo.si_code.
5972         (linux_stopped_by_sw_breakpoint)
5973         (linux_supports_stopped_by_sw_breakpoint)
5974         (linux_stopped_by_hw_breakpoint)
5975         (linux_supports_stopped_by_hw_breakpoint): New functions.
5976         (linux_target_ops): Install new target methods.
5977
5978 2015-03-04  Pedro Alves  <palves@redhat.com>
5979
5980         * remote-utils.c (prepare_resume_reply): Report swbreak/hbreak.
5981         * server.c (swbreak_feature, hwbreak_feature): New globals.
5982         (handle_query) <qSupported>: Handle "swbreak+" and "hwbreak+".
5983         (captured_main): Clear swbreak_feature and hwbreak_feature.
5984         * server.h (swbreak_feature, hwbreak_feature): Declare.
5985         * target.h (struct target_ops) <stopped_by_sw_breakpoint,
5986         supports_stopped_by_sw_breakpoint, stopped_by_hw_breakpoint,
5987         supports_stopped_by_hw_breakpoint>: New fields.
5988         (target_supports_stopped_by_sw_breakpoint)
5989         (target_stopped_by_sw_breakpoint)
5990         (target_supports_stopped_by_hw_breakpoint)
5991         (target_stopped_by_hw_breakpoint): Declare.
5992
5993 2015-03-04  Pedro Alves  <palves@redhat.com>
5994
5995         enum lwp_stop_reason -> enum target_stop_reason
5996         * linux-low.c (check_stopped_by_breakpoint): Adjust.
5997         (thread_still_has_status_pending_p, check_stopped_by_watchpoint)
5998         (linux_wait_1, stuck_in_jump_pad_callback)
5999         (move_out_of_jump_pad_callback, linux_resume_one_lwp)
6000         (linux_stopped_by_watchpoint):
6001         * linux-low.h (enum lwp_stop_reason): Delete.
6002         (struct lwp_info) <stop_reason>: Now an enum target_stop_reason.
6003         * linux-x86-low.c (x86_linux_prepare_to_resume): Adjust.
6004
6005 2015-03-04  Yao Qi  <yao.qi@linaro.org>
6006
6007         * Makefile.in (SFILES): Add linux-aarch64-low.c.
6008
6009 2015-03-03  Gary Benson  <gbenson@redhat.com>
6010
6011         * hostio.c (handle_vFile): Fix prefix lengths.
6012
6013 2015-03-03  Markus Metzger  <markus.t.metzger@intel.com>
6014
6015         * linux-low.c (linux_low_enable_btrace): Do not overwrite non-zero
6016         ptr_bits.
6017
6018 2015-03-02  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6019
6020         * Makefile.in (s390-vx-linux64.c, s390-tevx-linux64.c)
6021         (s390x-vx-linux64.c, s390x-tevx-linux64.c): New rules.
6022         (clean): Add "rm -f" for above C files.
6023         * configure.srv (srv_regobj): Add s390-vx-linux64.o,
6024         s390-tevx-linux64.o, s390x-vx-linux64.o, and s390x-tevx-linux64.o.
6025         (srv_xmlfiles): Add s390-vx-linux64.xml, s390-tevx-linux64.xml,
6026         s390x-vx-linux64.xml, s390x-tevx-linux64.xml, and s390-vx.xml.
6027         * linux-s390-low.c (HWCAP_S390_VX): New macro.
6028         (init_registers_s390_vx_linux64, init_registers_s390_tevx_linux64)
6029         (init_registers_s390x_vx_linux64)
6030         (init_registers_s390x_tevx_linux64)
6031         (tdesc_s390_vx_linux64, tdesc_s390_tevx_linux64)
6032         (tdesc_s390x_vx_linux64, tdesc_s390x_tevx_linux64): New extern
6033         declarations.
6034         (s390_fill_vxrs_low, s390_store_vxrs_low, s390_fill_vxrs_high)
6035         (s390_store_vxrs_high): New functions.
6036         (s390_regsets): Add entries for NT_S390_VXRS_LOW and
6037         NT_S390_VXRS_HIGH.
6038         (s390_arch_setup): Add logic for selecting one of the new target
6039         descriptions.  Activate the new vector regsets if applicable.
6040         (initialize_low_arch): Also invoke init_registers_s390_vx_linux64,
6041         init_registers_s390_tevx_linux64, init_registers_s390x_vx_linux64,
6042         and init_registers_s390x_tevx_linux64.
6043
6044 2015-03-01  Pedro Alves  <palves@redhat.com>
6045
6046         * linux-i386-ipa.c (gdb_agent_get_raw_reg): Constify 'raw_regs'
6047         parameter.
6048
6049 2015-02-27  Pedro Alves  <palves@redhat.com>
6050
6051         * linux-x86-low.c (u_debugreg_offset): New function.
6052         (x86_linux_dr_get, x86_linux_dr_set): Use it.
6053
6054 2015-02-27  Pedro Alves  <palves@redhat.com>
6055
6056         * gdb_proc_service.h: Wrap with EXTERN_C_PUSH/EXTERN_C_POP.
6057         [!HAVE_PROC_SERVICE_H] (struct ps_prochandle): Forward declare.
6058         [!HAVE_PROC_SERVICE_H] (ps_pdread, ps_pdwrite, ps_ptread)
6059         ps_ptwrite, ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
6060         (ps_lsetfpregs, ps_getpid)
6061         (ps_get_thread_area, ps_pglobal_lookup, ps_pstop, ps_pcontinue)
6062         (ps_lstop, ps_lcontinue, ps_lgetxregsize, ps_lgetxregs)
6063         (ps_lsetxregs, ps_plog): Declare.
6064
6065 2015-02-27  Pedro Alves  <palves@redhat.com>
6066
6067         * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Use
6068         IP_AGENT_EXPORT_FUNC.
6069         * linux-i386-ipa.c (gdb_agent_get_raw_reg): Use
6070         IP_AGENT_EXPORT_FUNC.
6071         * tracepoint.c (ATTR_USED, ATTR_NOINLINE, ATTR_CONSTRUCTOR)
6072         (IP_AGENT_EXPORT): Delete.
6073         (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
6074         (gdb_trampoline_buffer, gdb_trampoline_buffer_end)
6075         (gdb_trampoline_buffer_error, collecting, gdb_collect)
6076         (stop_tracing, flush_trace_buffer, about_to_request_buffer_space)
6077         (trace_buffer_is_full, stopping_tracepoint, expr_eval_result)
6078         (error_tracepoint, tracepoints, tracing, trace_buffer_ctrl)
6079         (trace_buffer_ctrl_curr, trace_buffer_lo, trace_buffer_hi)
6080         (traceframe_read_count, traceframe_write_count)
6081         (traceframes_created, trace_state_variables, get_raw_reg)
6082         (get_trace_state_variable_value, set_trace_state_variable_value)
6083         (ust_loaded, helper_thread_id, cmd_buf): Use
6084         IPA_SYM_EXPORTED_NAME.
6085         (stop_tracing, flush_trace_buffer): Use IP_AGENT_EXPORT_FUNC.
6086         (tracepoints) Use IP_AGENT_EXPORT_VAR.
6087         (stopping_tracepoint, trace_buffer_is_full, expr_eval_result): Use
6088         IP_AGENT_EXPORT_VAR and wrap in EXTERN_C_PUSH/EXTERN_C_POP.
6089         (last_tracepoint): Move into !IN_PROCESS_AGENT block.
6090         (error_tracepoint): Use IP_AGENT_EXPORT_VAR and wrap in
6091         EXTERN_C_PUSH/EXTERN_C_POP.
6092         (trace_state_variables): Use IP_AGENT_EXPORT_VAR.
6093         (trace_buffer_lo, trace_buffer_hi): Use IP_AGENT_EXPORT_VAR and
6094         wrap in EXTERN_C_PUSH/EXTERN_C_POP.
6095         (trace_buffer_ctrl, trace_buffer_ctrl_curr)
6096         (traceframe_write_count, traceframe_read_count)
6097         (traceframes_created, tracing): Use IP_AGENT_EXPORT_VAR.
6098         (about_to_request_buffer_space, get_trace_state_variable_value)
6099         (set_trace_state_variable_value): Use IP_AGENT_EXPORT_FUNC.
6100         (collecting): Use IP_AGENT_EXPORT_VAR and wrap in
6101         EXTERN_C_PUSH/EXTERN_C_POP.
6102         (gdb_collect): Use IP_AGENT_EXPORT_FUNC.
6103         (ust_loaded, cmd_buf): Use IP_AGENT_EXPORT_VAR.
6104         (helper_thread_id, gdb_agent_capability): Use IP_AGENT_EXPORT_VAR
6105         and wrap in EXTERN_C_PUSH/EXTERN_C_POP.
6106         (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
6107         (gdb_trampoline_buffer, gdb_trampoline_buffer_end)
6108         (gdb_trampoline_buffer_error): Use IP_AGENT_EXPORT_VAR.
6109         * tracepoint.h (ATTR_USED, ATTR_NOINLINE, EXPORTED_SYMBOL):
6110         Define.
6111         (IP_AGENT_EXPORT_FUNC, IP_AGENT_EXPORT_VAR)
6112         (IP_AGENT_EXPORT_VAR_DECL): Define.
6113         (tracing): Declare.
6114         (gdb_agent_get_raw_reg): Declare.
6115
6116 2015-02-27  Tom Tromey  <tromey@redhat.com>
6117             Pedro Alves  <palves@redhat.com>
6118
6119         Rename symbols whose names are reserved C++ keywords throughout.
6120
6121 2015-02-27  Pedro Alves  <palves@redhat.com>
6122
6123         * Makefile.in (COMPILER): New, get it from autoconf.
6124         (CXX): Get from autoconf instead.
6125         (COMPILE.pre): Use COMPILER.
6126         (CC-LD): Rename to ...
6127         (CC_LD): ... this.  Use COMPILER.
6128         (gdbserver$(EXEEXT), gdbreplay$(EXEEXT), $(IPA_LIB)): Adjust.
6129         (CXX_FOR_TARGET): Default to g++ instead of gcc.
6130         * acinclude.m4: Include build-with-cxx.m4.
6131         * configure.ac: Call AC_PROG_CXX and GDB_AC_BUILD_WITH_CXX.
6132         Disable -Werror by default if building in C++ mode.
6133         (build_warnings): Add -Wno-sign-compare, -Wno-write-strings and
6134         -Wno-narrowing in C++ mode. Run supported-warning-flags tests with
6135         the C++ compiler.  Save/restore CXXFLAGS too.
6136         * configure: Regenerate.
6137
6138 2015-02-27  Pedro Alves  <palves@redhat.com>
6139
6140         * acinclude.m4: Include libiberty.m4.
6141         * configure.ac: Call libiberty_INIT.
6142         * config.in, configure: Regenerate.
6143
6144 2015-02-26  Pedro Alves  <palves@redhat.com>
6145
6146         * linux-low.c (linux_wait_1): When incrementing the PC past a
6147         program breakpoint always use the_low_target.breakpoint_len as
6148         increment, rather than the maximum between that and
6149         the_low_target.decr_pc_after_break.
6150
6151 2015-02-23  Pedro Alves  <palves@redhat.com>
6152
6153         * linux-low.c (check_stopped_by_breakpoint): Don't check if the
6154         thread was doing a step-over; always adjust the PC if
6155         we stepped over a permanent breakpoint.
6156         (linux_wait_1): If we stepped over breakpoint that was on top of a
6157         permanent breakpoint, manually advance the PC past it.
6158
6159 2015-02-23  Pedro Alves  <palves@redhat.com>
6160
6161         * linux-x86-low.c (REGSIZE): Define in both 32-bit and 64-bit
6162         modes.
6163         (x86_fill_gregset, x86_store_gregset): Use it when handling
6164         $orig_eax.
6165
6166 2015-02-20  Pedro Alves  <palves@redhat.com>
6167
6168         * thread-db.c: Include "nat/linux-procfs.h".
6169         (thread_db_init): Skip listing new threads if the kernel supports
6170         PTRACE_EVENT_CLONE and /proc/PID/task/ is accessible.
6171
6172 2015-02-20  Pedro Alves  <palves@redhat.com>
6173
6174         * linux-low.c (status_pending_p_callback): Use ptid_match.
6175
6176 2015-02-19  Antoine Tremblay  <antoine.tremblay@ericsson.com>
6177
6178         PR breakpoints/16812
6179         * linux-low.c (wstatus_maybe_breakpoint): Remove.
6180         (linux_low_filter_event): Update wstatus_maybe_breakpoint name.
6181         (linux_wait_1): Report SIGTRAP,SIGILL,SIGSEGV.
6182
6183 2015-02-10  Antoine Tremblay <antoine.tremblay@ericsson.com>
6184
6185         PR breakpoints/15956
6186         * tracepoint.c (cmd_qtinit): Add check for current_thread.
6187
6188 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
6189
6190         * linux-low.c (linux_low_btrace_conf): Print size.
6191         * server.c (handle_btrace_conf_general_set): New.
6192         (hanle_general_set): Call handle_btrace_conf_general_set.
6193         (handle_query): Report Qbtrace-conf:bts:size as supported.
6194
6195 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
6196
6197         * linux-low.c (linux_low_enable_btrace): Update parameters.
6198         (linux_low_btrace_conf): New.
6199         (linux_target_ops)<to_btrace_conf>: Initialize.
6200         * server.c (current_btrace_conf): New.
6201         (handle_btrace_enable): Rename to ...
6202         (handle_btrace_enable_bts): ... this.  Pass &current_btrace_conf
6203         to target_enable_btrace.  Update comment.  Update users.
6204         (handle_qxfer_btrace_conf): New.
6205         (qxfer_packets): Add btrace-conf entry.
6206         (handle_query): Report qXfer:btrace-conf:read as supported packet.
6207         * target.h (target_ops)<enable_btrace>: Update parameters and comment.
6208         (target_ops)<read_btrace_conf>: New.
6209         (target_enable_btrace): Update parameters.
6210         (target_read_btrace_conf): New.
6211
6212 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
6213
6214         * server.c (handle_btrace_general_set): Remove call to
6215         target_supports_btrace.
6216         (supported_btrace_packets): New.
6217         (handle_query): Call supported_btrace_packets.
6218         * target.h: include btrace-common.h.
6219         (btrace_target_info): Removed.
6220         (supports_btrace, target_supports_btrace): Update parameters.
6221
6222 2015-02-09  Markus Metzger  <markus.t.metzger@intel.com>
6223
6224         * Makefile.in (SFILES): Add common/btrace-common.c.
6225         (OBS): Add common/btrace-common.o.
6226         (btrace-common.o): Add build rules.
6227         * linux-low: Include btrace-common.h.
6228         (linux_low_read_btrace): Use struct btrace_data.  Call
6229         btrace_data_init and btrace_data_fini.
6230
6231 2015-02-06  Pedro Alves  <palves@redhat.com>
6232
6233         * thread-db.c (find_new_threads_callback): Add debug output.
6234
6235 2015-02-04  Pedro Alves  <palves@redhat.com>
6236
6237         * linux-low.c (handle_extended_wait): Don't resume LWPs here.
6238         (resume_stopped_resumed_lwps): New function.
6239         (linux_wait_for_event_filtered): Use it.
6240
6241 2015-01-15  Sergio Durigan Junior  <sergiodj@redhat.com>
6242
6243         * Makefile.in (SFILES): Add linux-personality.c.
6244         (linux-personality.o): New rule.
6245         * configure.srv (srv_linux_obj): Add linux-personality.o to the
6246         list of objects to be built.
6247         * linux-low.c: Include nat/linux-personality.h.
6248         (linux_create_inferior): Remove code to disable address space
6249         randomization (moved to ../nat/linux-personality.c).  Create
6250         cleanup to disable address space randomization.
6251
6252 2015-01-15  Sergio Durigan Junior  <sergiodj@redhat.com>
6253
6254         * Makefile.in (posix-strerror.o): New rule.
6255         (mingw-strerror.o): Likewise.
6256         * configure: Regenerated.
6257         * configure.ac: Source file ../common/common.host.  Initialize new
6258         variable srv_host_obs.  Add srv_host_obs to GDBSERVER_DEPFILES.
6259
6260 2015-01-14  Yao Qi  <yao@codesourcery.com>
6261
6262         * Makefile.in (SFILES): Add nat/ppc-linux.c.
6263         (ppc-linux.o): New rule.
6264         * configure.srv (powerpc*-*-linux*): Add ppc-linux.o.
6265         * configure.ac: AC_CHECK_FUNCS(getauxval).
6266         * config.in: Re-generated.
6267         * configure: Re-generated.
6268         * linux-ppc-low.c (ppc_arch_setup) [__powerpc64__]: Call
6269         ppc64_64bit_inferior_p
6270
6271 2015-01-14  Yao Qi  <yao@codesourcery.com>
6272
6273         * linux-ppc-low.c: Include "nat/ppc-linux.h".
6274          (PPC_FEATURE_HAS_VSX): Move to nat/ppc-linux.h.
6275         (PPC_FEATURE_HAS_ALTIVEC,  PPC_FEATURE_HAS_SPE): Likewise.
6276         (PT_ORIG_R3, PT_TRAP): Likewise.
6277         (PTRACE_GETVSXREGS, PTRACE_SETVSXREGS): Likewise.
6278         (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Likewise.
6279         (PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): Likewise.
6280
6281 2015-01-10  Joel Brobecker  <brobecker@adacore.com>
6282
6283         * i387-fp.c (i387_cache_to_xsave): In look over
6284         num_avx512_zmmh_high_registers, replace use of struct i387_xsave
6285         zmmh_low_space field by use of zmmh_high_space.
6286
6287 2015-01-09  Pedro Alves  <palves@redhat.com>
6288
6289         * linux-low.c (step_over_bkpt): Move higher up in the file.
6290         (handle_extended_wait): Don't store the stop_pc here.
6291         (get_stop_pc): Adjust comments and rename to ...
6292         (check_stopped_by_breakpoint): ... this.  Record whether the LWP
6293         stopped for a software breakpoint or hardware breakpoint.
6294         (thread_still_has_status_pending_p): New function.
6295         (status_pending_p_callback): Use
6296         thread_still_has_status_pending_p.  If the event is no longer
6297         interesting, resume the LWP.
6298         (handle_tracepoints): Add assert.
6299         (maybe_move_out_of_jump_pad): Remove cancel_breakpoints call.
6300         (wstatus_maybe_breakpoint): New function.
6301         (cancel_breakpoint): Delete function.
6302         (check_stopped_by_watchpoint): New function, factored out from
6303         linux_low_filter_event.
6304         (lp_status_maybe_breakpoint): Delete function.
6305         (linux_low_filter_event): Remove filter_ptid argument.
6306         Leave thread group exits pending here.  Store the LWP's stop PC.
6307         Always leave events pending.
6308         (linux_wait_for_event_filtered): Pull all events out of the
6309         kernel, and leave them all pending.
6310         (count_events_callback, select_event_lwp_callback): Consider all
6311         events.
6312         (cancel_breakpoints_callback, linux_cancel_breakpoints): Delete.
6313         (select_event_lwp): Only give preference to the stepping LWP in
6314         all-stop mode.  Adjust comments.
6315         (ignore_event): New function.
6316         (linux_wait_1): Delete 'retry' label.  Use ignore_event.  Remove
6317         references to cancel_breakpoints.  Adjust to renames.  Also give
6318         equal priority to all LWPs that have had events in non-stop mode.
6319         If reporting a software breakpoint event, unadjust the LWP's PC.
6320         (linux_wait): If linux_wait_1 returned an ignored event, retry.
6321         (stuck_in_jump_pad_callback, move_out_of_jump_pad_callback):
6322         Adjust.
6323         (linux_resume_one_lwp): Store the LWP's PC.  Adjust.
6324         (resume_status_pending_p): Use thread_still_has_status_pending_p.
6325         (linux_stopped_by_watchpoint): Adjust.
6326         (linux_target_ops): Remove reference to linux_cancel_breakpoints.
6327         * linux-low.h (enum lwp_stop_reason): New.
6328         (struct lwp_info) <stop_pc>: Adjust comment.
6329         <stopped_by_watchpoint>: Delete field.
6330         <stop_reason>: New field.
6331         * linux-x86-low.c (x86_linux_prepare_to_resume): Adjust.
6332         * mem-break.c (software_breakpoint_inserted_here)
6333         (hardware_breakpoint_inserted_here): New function.
6334         * mem-break.h (software_breakpoint_inserted_here)
6335         (hardware_breakpoint_inserted_here): Declare.
6336         * target.h (struct target_ops) <cancel_breakpoints>: Remove field.
6337         (cancel_breakpoints): Delete.
6338         * tracepoint.c (clear_installed_tracepoints, stop_tracing)
6339         (upload_fast_traceframes): Remove references to
6340         cancel_breakpoints.
6341
6342 2015-01-09  Pedro Alves  <palves@redhat.com>
6343
6344         * thread-db.c (find_new_threads_callback): Ignore thread if the
6345         kernel thread ID is -1.
6346
6347 2015-01-09  Pedro Alves  <palves@redhat.com>
6348
6349         * linux-low.c (linux_attach_fail_reason_string): Move to
6350         nat/linux-ptrace.c, and rename.
6351         (linux_attach_lwp): Update comment.
6352         (attach_proc_task_lwp_callback): New function.
6353         (linux_attach): Adjust to rename and use
6354         linux_proc_attach_tgid_threads.
6355         (linux_attach_fail_reason_string): Delete declaration.
6356
6357 2015-01-01  Joel Brobecker  <brobecker@adacore.com>
6358
6359         * gdbreplay.c (gdbreplay_version): Update copyright year to 2015.
6360         * server.c (gdbserver_version): Likewise.
6361
6362 2014-12-29  Sergio Durigan Junior  <sergiodj@redhat.com>
6363
6364         * remote-utils.c: Include ctype.h.
6365         (input_interrupt): Explicitly handle the case when the char
6366         received is the NUL byte.  Improve the printing of non-ASCII
6367         characters.
6368
6369 2014-12-16  Joel Brobecker  <brobecker@adacore.com>
6370
6371         * linux-low.c (linux_low_filter_event): Update call to
6372         linux_enable_event_reporting following the addition of
6373         a new parameter to that function.
6374
6375 2014-12-16  Catalin Udma  <catalin.udma@freescale.com>
6376
6377         PR server/17457
6378         * linux-aarch64-low.c (AARCH64_FPSR_REGNO): New define.
6379         (AARCH64_FPCR_REGNO): Likewise.
6380         (AARCH64_NUM_REGS): Update to include fpsr/fpcr registers.
6381         (aarch64_fill_fpregset): Add missing fpsr/fpcr registers.
6382         (aarch64_store_fpregset): Likewise.
6383
6384 2014-12-15  Joel Brobecker  <brobecker@adacore.com>
6385
6386         * lynx-low.c (lynx_resume): Use PTRACE_SINGLESTEP_ONE if N == 1.
6387         Remove FIXME comment about assumption about N.
6388
6389 2014-12-13  Joel Brobecker  <brobecker@adacore.com>
6390
6391         * configure.ac: If large-file support is disabled in GDBserver,
6392         pass --disable-largefile to ACX_CONFIGURE_DIR call for "gnulib".
6393         * configure: Regenerate.
6394
6395 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6396
6397         * linux-low.c (regsets_fetch_inferior_registers): Suppress the
6398         warning upon ENODATA from ptrace.
6399         * linux-s390-low.c (s390_store_tdb): New.
6400         (s390_regsets): Add regset for NT_S390_TDB.
6401
6402 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6403
6404         * linux-low.c (regsets_store_inferior_registers): Skip regsets
6405         without a fill_function.
6406         * linux-s390-low.c (s390_fill_last_break): Remove.
6407         (s390_regsets): Set fill_function to NULL for NT_S390_LAST_BREAK.
6408         (s390_arch_setup): Use regset's size instead of fill_function for
6409         loop end condition.
6410
6411 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6412
6413         * linux-low.c (regsets_fetch_inferior_registers): Do not invoke
6414         the regset's store function when ptrace returned an error.
6415         * regcache.c (get_thread_regcache): Invalidate register cache
6416         before fetching inferior's registers.
6417
6418 2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6419
6420         * linux-low.c (regsets_fetch_inferior_registers): Rephrase
6421         while-loop as for-loop.
6422         (regsets_store_inferior_registers): Likewise.
6423
6424 2014-11-28  Yao Qi  <yao@codesourcery.com>
6425
6426         * configure.ac(AC_CHECK_FUNCS): Remove readlink.
6427         * config.in, configure: Re-generate.
6428         * hostio.c (handle_unlink): Remove code checking HAVE_READLINK
6429         is defined.
6430
6431 2014-11-21  Yao Qi  <yao@codesourcery.com>
6432
6433         * configure.ac: Don't invoke AC_FUNC_ALLOCA.
6434         (AC_CHECK_HEADERS): Remove malloc.h.
6435         * configure: Re-generated.
6436         * config.in: Re-generated.
6437         * server.h: Don't include alloca.h and malloc.h.
6438         * gdbreplay.c: Don't check HAVE_ALLOCA_H is defined.
6439         Don't include malloc.h.
6440
6441 2014-11-17  Joel Brobecker  <brobecker@adacore.com>
6442
6443         * lynx-low.c (lynx_write_memory): Put lynx_read_memory and
6444         corresponding ERRNO check in same block.
6445
6446 2014-11-12  Pedro Alves  <palves@redhat.com>
6447
6448         * server.c (cont_thread): Update comment.
6449         (start_inferior, attach_inferior): No longer clear cont_thread.
6450         (handle_v_cont): No longer set cont_thread.
6451         (captured_main): Clear cont_thread each time a GDB connects.
6452
6453 2014-11-12  Pedro Alves  <palves@redhat.com>
6454
6455         * linux-low.c (linux_wait_1): Don't force a wait for the Hc
6456         thread, and don't resume all threads if the Hc thread has exited.
6457
6458 2014-11-12  Pedro Alves  <palves@redhat.com>
6459
6460         * linux-low.c (linux_request_interrupt): Always send a SIGINT to
6461         the process group instead of to a specific LWP.
6462
6463 2014-10-15  Pedro Alves  <palves@redhat.com>
6464
6465         PR server/17487
6466         * win32-arm-low.c (arm_set_thread_context): Remove current_event
6467         parameter.
6468         (arm_set_thread_context): Delete.
6469         (the_low_target): Adjust.
6470         * win32-i386-low.c (debug_registers_changed)
6471         (debug_registers_used): Delete.
6472         (update_debug_registers_callback): New function.
6473         (x86_dr_low_set_addr, x86_dr_low_set_control): Mark all threads as
6474         needing to update their debug registers.
6475         (win32_get_current_dr): New function.
6476         (x86_dr_low_get_addr, x86_dr_low_get_control)
6477         (x86_dr_low_get_status): Fetch the debug register from the thread
6478         record's context.
6479         (i386_initial_stuff): Adjust.
6480         (i386_get_thread_context): Remove current_event parameter.  Don't
6481         clear debug_registers_changed nor copy DR values to
6482         debug_reg_state.
6483         (i386_set_thread_context): Delete.
6484         (i386_prepare_to_resume): New function.
6485         (i386_thread_added): Mark the thread as needing to update irs
6486         debug registers.
6487         (the_low_target): Remove i386_set_thread_context and install
6488         i386_prepare_to_resume.
6489         * win32-low.c (win32_get_thread_context): Adjust.
6490         (win32_set_thread_context): Use SetThreadContext
6491         directly.
6492         (win32_prepare_to_resume): New function.
6493         (win32_require_context): New function, factored out from ...
6494         (thread_rec): ... this.
6495         (continue_one_thread): Call win32_prepare_to_resume on each thread
6496         we're about to continue.
6497         (win32_resume): Call win32_prepare_to_resume on the event thread.
6498         * win32-low.h (struct win32_thread_info)
6499         <debug_registers_changed>: New field.
6500         (struct win32_target_ops): Change prototype of set_thread_context,
6501         delete set_thread_context and add prepare_to_resume.
6502         (win32_require_context): New declaration.
6503
6504 2014-10-08  Gary Benson  <gbenson@redhat.com>
6505
6506         * server.h: Do not include common-exceptions.h.
6507
6508 2014-10-08  Gary Benson  <gbenson@redhat.com>
6509
6510         * server.h: Do not include cleanups.h.
6511
6512 2014-09-30  James Hogan  <james.hogan@imgtec.com>
6513
6514         * Makefile.in (clean): Add rm -f commands for mips-dsp-linux.c and
6515         mips64-dsp-linux.c.
6516
6517 2014-09-23  Yao Qi  <yao@codesourcery.com>
6518
6519         * linux-low.c (lp_status_maybe_breakpoint): New function.
6520         (linux_low_filter_event): Call lp_status_maybe_breakpoint.
6521         (count_events_callback): Likewise.
6522         (select_event_lwp_callback): Likewise.
6523         (cancel_breakpoints_callback): Likewise.
6524
6525 2014-09-19  Don Breazeal  <donb@codesourcery.com>
6526
6527         * linux-low.c (handle_extended_wait): Call
6528         linux_ptrace_get_extended_event.
6529         (get_stop_pc, get_detach_signal, linux_low_filter_event): Call
6530         linux_is_extended_waitstatus.
6531
6532 2014-09-16  Joel Brobecker  <brobecker@adacore.com>
6533
6534         * Makefile.in (CPPFLAGS): Define.
6535         (INTERNAL_CFLAGS_BASE): Add ${CPPFLAGS}.
6536         (IPAGENT_CFLAGS): Remove ${CPPFLAGS}.
6537
6538 2014-09-16  Gary Benson  <gbenson@redhat.com>
6539
6540         * inferiors.h (current_inferior): Renamed as...
6541         (current_thread): New variable.  All uses updated.
6542         * linux-low.c (get_pc): Renamed saved_inferior as saved_thread.
6543         (maybe_move_out_of_jump_pad): Likewise.
6544         (cancel_breakpoint): Likewise.
6545         (linux_low_filter_event): Likewise.
6546         (wait_for_sigstop): Likewise.
6547         (linux_resume_one_lwp): Likewise.
6548         (need_step_over_p): Likewise.
6549         (start_step_over): Likewise.
6550         (linux_stabilize_threads): Renamed save_inferior as saved_thread.
6551         * linux-x86-low.c (x86_linux_update_xmltarget): Likewise.
6552         * proc-service.c (ps_lgetregs): Renamed reg_inferior as reg_thread
6553         and save_inferior as saved_thread.
6554         * regcache.c (get_thread_regcache): Renamed saved_inferior as
6555         saved_thread.
6556         (regcache_invalidate_thread): Likewise.
6557         * remote-utils.c (prepare_resume_reply): Likewise.
6558         * thread-db.c (thread_db_get_tls_address): Likewise.
6559         (disable_thread_event_reporting): Likewise.
6560         (remove_thread_event_breakpoints): Likewise.
6561         * tracepoint.c (gdb_agent_about_to_close): Renamed save_inferior
6562         as saved_thread.
6563         * target.h (set_desired_inferior): Renamed as...
6564         (set_desired_thread): New declaration.  All uses updated.
6565         * server.c (myresume): Updated comment to reference thread instead
6566         of inferior.
6567         (handle_serial_event): Likewise.
6568         (handle_target_event): Likewise.
6569
6570 2014-09-12  Tom Tromey  <tromey@redhat.com>
6571             Gary Benson  <gbenson@redhat.com>
6572
6573         * regcache.h: Include common-regcache.h.
6574         (regcache_read_pc): Don't declare.
6575         * regcache.c (get_thread_regcache_for_ptid): New function.
6576
6577 2014-09-11  Tom Tromey  <tromey@redhat.com>
6578             Gary Benson  <gbenson@redhat.com>
6579
6580         * symbol.c: New file.
6581         * Makefile.in (SFILES): Add symbol.c.
6582         (OBS): Add symbol.o.
6583
6584 2014-09-11  Gary Benson  <gbenson@redhat.com>
6585
6586         * target.c (target_stop_ptid, target_continue_ptid): New
6587         functions.
6588
6589 2014-09-11  Tom Tromey  <tromey@redhat.com>
6590             Gary Benson  <gbenson@redhat.com>
6591
6592         * target.h: Include target/target.h.
6593         * target.c (target_read_memory, target_read_uint32)
6594         (target_write_memory): New functions.
6595
6596 2014-09-11  Gary Benson  <gbenson@redhat.com>
6597
6598         * server.h (debug_hw_points): Don't declare.
6599         * server.c (debug_hw_points): Don't define.  Replace all uses
6600         with show_debug_regs.
6601         * linux-aarch64-low.c (debug_hw_points): Don't define.  Replace
6602         all uses with show_debug_regs.
6603
6604 2014-09-08  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
6605
6606         * linux-ppc-low.c (ppc_collect_ptrace_register): Adjust routine to take
6607         endianness into account.
6608         (ppc_supply_ptrace_register): Likewise.
6609
6610 2014-09-03  James Hogan  <james.hogan@imgtec.com>
6611
6612         * linux-mips-low.c (mips_read_description): Reset errno to 0 prior
6613         to reading DSP_CONTROL with PTRACE_PEEKUSER ptrace call.
6614
6615 2014-09-03  Gary Benson  <gbenson@redhat.com>
6616
6617         * linux-x86-low.c (x86_linux_prepare_to_resume): Use
6618         ALL_DEBUG_ADDRESS_REGISTERS.
6619
6620 2014-09-02  Gary Benson  <gbenson@redhat.com>
6621
6622         * i386-low.h: Renamed as...
6623         * x86-low.h: New file.  All type, function and variable name
6624         prefixes changed from "i386_" to "x86_".  All references updated.
6625         * i386-low.c: Renamed as...
6626         * x86-low.c: New file.  All type, function and variable name
6627         prefixes changed from "i386_" to "x86_".  All references updated.
6628
6629 2014-09-02  Gary Benson  <gbenson@redhat.com>
6630
6631         * linux-x86-low.c (x86_linux_new_process): Use XCNEW.
6632         (x86_linux_new_thread): Likewise.
6633
6634 2014-08-29  Gary Benson  <gbenson@redhat.com>
6635
6636         * server.h (setjmp.h): Do not include.
6637         (toplevel): Do not declare.
6638         (common-exceptions.h): Include.
6639         (cleanups.h): Likewise.
6640         * server.c (toplevel): Do not define.
6641         (exit_code): New static global.
6642         (detach_or_kill_for_exit_cleanup): New function.
6643         (main): New function.  Original main renamed to...
6644         (captured_main): New function.
6645         * utils.c (verror) [!IN_PROCESS_AGENT]: Use throw_verror.
6646
6647 2014-08-29  Gary Benson  <gbenson@redhat.com>
6648
6649         * Makefile.in (SFILES): Add common/common-exceptions.c.
6650         (OBS): Add common-exceptions.o.
6651         (common-exceptions.o): New rule.
6652         * utils.c (prepare_to_throw_exception): New function.
6653
6654 2014-08-29  Gary Benson  <gbenson@redhat.com>
6655
6656         * config.in: Regenerate.
6657         * configure: Likewise.
6658
6659 2014-08-29  Gary Benson  <gbenson@redhat.com>
6660
6661         * Makefile.in (SFILES): Add common/cleanups.c.
6662         (OBS): cleanups.o.
6663         (cleanups.o): New rule.
6664
6665 2014-08-29  Gary Benson  <gbenson@redhat.com>
6666
6667         * utils.c (internal_vwarning): New function.
6668
6669 2014-08-28  Gary Benson  <gbenson@redhat.com>
6670
6671         * utils.h (fatal): Remove declaration.
6672         * utils.c (fatal): Remove function.
6673
6674 2014-08-28  Gary Benson  <gbenson@redhat.com>
6675
6676         * tracepoint.c (gdb_agent_init): Replace fatal with
6677         perror_with_name.
6678         (initialize_tracepoint): Likewise.
6679
6680 2014-08-28  Gary Benson  <gbenson@redhat.com>
6681
6682         * remote-utils.c (remote_prepare): Replace fatal with error.
6683
6684 2014-08-28  Gary Benson  <gbenson@redhat.com>
6685
6686         * linux-low.c (linux_async): Replace fatal with warning.
6687         Tidy up and return.
6688         (linux_start_non_stop): Return -1 if linux_async failed.
6689
6690 2014-08-28  Gary Benson  <gbenson@redhat.com>
6691
6692         * linux-x86-low.c (i386_dr_low_set_addr): Replace check with
6693         gdb_assert.
6694         (i386_dr_low_get_addr): Remove vague comment.
6695         * win32-i386-low.c (i386_dr_low_set_addr): Replace check with
6696         gdb_assert.
6697
6698 2014-08-28  Gary Benson  <gbenson@redhat.com>
6699
6700         * inferiors.c (get_thread_process): Replace check with gdb_assert.
6701         * linux-low.c (linux_wait_for_event_filtered): Replace fatal with
6702         internal_error.
6703         (linux_resume_one_lwp): Likewise.
6704         * linux-x86-low.c (x86_siginfo_fixup): Replace checks with
6705         gdb_assert.
6706         * mem-break.c (raw_bkpt_type_to_target_hw_bp_type): Replace fatal
6707         with internal_error.
6708         * regcache.c (get_thread_regcache): Replace check with gdb_assert.
6709         (init_register_cache): Replace fatal with gdb_assert_not_reached.
6710         (find_register_by_name): Replace fatal with internal_error.
6711         (find_regno): Likewise.
6712         * tdesc.c (init_target_desc): Replace check with gdb_assert.
6713         * thread-db.c (thread_db_create_event): Likewise.
6714         (thread_db_load_search): Likewise.
6715         (try_thread_db_load_1): Likewise.
6716         * tracepoint.c (get_jump_space_head): Replace fatal with
6717         internal_error.
6718         (claim_trampoline_space): Likewise.
6719         (have_fast_tracepoint_trampoline_buffer): Likewise.
6720         (cmd_qtstart): Likewise.
6721         (stop_tracing): Likewise.
6722         (fast_tracepoint_collecting): Likewise.
6723         (target_malloc): Likewise.
6724         (download_tracepoint): Likewise.
6725         (download_trace_state_variables): Replace check with gdb_assert.
6726         (upload_fast_traceframes): Replace fatal with internal_error.
6727
6728 2014-08-19  Tom Tromey  <tromey@redhat.com>
6729             Gary Benson  <gbenson@redhat.com>
6730
6731         * Makefile.in (SFILES): Add common/common-debug.c.
6732         (OBS): Add common-debug.o.
6733         (common-debug.o): New rule.
6734         * debug.h (debug_printf): Don't declare.
6735         * debug.c (debug_printf): Renamed and rewritten as...
6736         (debug_vprintf): New function.
6737
6738 2014-08-19  Gary Benson  <gbenson@redhat.com>
6739
6740         * utils.h: Do not include print-utils.h.
6741
6742 2014-08-19  Tom Tromey  <tromey@redhat.com>
6743             Gary Benson  <gbenson@redhat.com>
6744
6745         * server.h: Add static assertion.
6746         (gdb_byte, CORE_ADDR, LONGEST, ULONGEST): Remove.
6747
6748 2014-08-19  Tom Tromey  <tromey@redhat.com>
6749             Gary Benson  <gbenson@redhat.com>
6750
6751         * Makefile.in (SFILES): Add common/errors.c.
6752         (OBS): Add errors.o.
6753         (IPA_OBS): Add errors-ipa.o.
6754         (errors.o): New rule.
6755         (errors-ipa.o): Likewise.
6756         * utils.h (perror_with_name, error, warning): Don't declare.
6757         * utils.c (warning): Renamed and rewritten as...
6758         (vwarning): New function.
6759         (error): Renamed and rewritten as...
6760         (verror): New function.
6761         (internal_error): Renamed and rewritten as...
6762         (internal_verror): New function.
6763
6764 2014-08-07  Gary Benson  <gbenson@redhat.com>
6765
6766         * configure.ac (AC_CHECK_HEADERS): Remove errno.h.
6767         * configure: Regenerate.
6768         * config.in: Likewise.
6769         * server.h: Do not include errno.h.
6770         * event-loop.c: Likewise.
6771         * hostio-errno.c: Likewise.
6772         * linux-low.c: Likewise.
6773         * remote-utils.c: Likewise.
6774         * spu-low.c: Likewise.
6775         * utils.c: Likewise.
6776         * gdbreplay.c: Unconditionally include errno.h.
6777
6778 2014-08-07  Gary Benson  <gbenson@redhat.com>
6779
6780         * server.h: Do not include string.h.
6781         * event-loop.c: Likewise.
6782         * linux-low.c: Likewise.
6783         * regcache.c: Likewise.
6784         * remote-utils.c: Likewise.
6785         * spu-low.c: Likewise.
6786         * utils.c: Likewise.
6787
6788 2014-08-07  Gary Benson  <gbenson@redhat.com>
6789
6790         * server.h: Do not include gdb_assert.h.
6791
6792 2014-08-07  Gary Benson  <gbenson@redhat.com>
6793
6794         * server.h: Do not include common-utils.h.
6795
6796 2014-08-07  Gary Benson  <gbenson@redhat.com>
6797
6798         * server.h: Do not include ptid.h.
6799         * notif.h: Likewise.
6800
6801 2014-08-07  Gary Benson  <gbenson@redhat.com>
6802
6803         * server.h: Do not include gdb_locale.h.
6804
6805 2014-08-07  Gary Benson  <gbenson@redhat.com>
6806
6807         * server.h: Do not include gdb/signals.h.
6808         * win32-low.c: Likewise.
6809
6810 2014-08-07  Gary Benson  <gbenson@redhat.com>
6811
6812         * server.h: Do not include pathmax.h.
6813
6814 2014-08-07  Gary Benson  <gbenson@redhat.com>
6815
6816         * server.h: Do not include libiberty.h.
6817         * linux-bfin-low.c: Likewise.
6818
6819 2014-08-07  Gary Benson  <gbenson@redhat.com>
6820
6821         * server.h: Do not include ansidecl.h.
6822
6823 2014-08-07  Gary Benson  <gbenson@redhat.com>
6824
6825         * linux-x86-low.c: Do not include stddef.h.
6826         * lynx-ppc-low.c: Likewise.
6827         * tracepoint.c: Likewise.
6828
6829 2014-08-07  Gary Benson  <gbenson@redhat.com>
6830
6831         * server.h: Do not include stdarg.h.
6832         * nto-low.c: Likewise.
6833
6834 2014-08-07  Gary Benson  <gbenson@redhat.com>
6835
6836         * server.h: Do not include stdlib.h.
6837         * inferiors.c: Likewise.
6838         * linux-low.c: Likewise.
6839         * regcache.c: Likewise.
6840         * spu-low.c: Likewise.
6841         * tracepoint.c: Likewise.
6842         * utils.c: Likewise.
6843
6844 2014-08-07  Gary Benson  <gbenson@redhat.com>
6845
6846         * server.h: Do not include stdio.h.
6847         * linux-low.c: Likewise.
6848         * remote-utils.c: Likewise.
6849         * spu-low.c: Likewise.
6850         * utils.c: Likewise.
6851         * wincecompat.c: Likewise.
6852
6853 2014-08-06  Gary Benson  <gbenson@redhat.com>
6854
6855         * regcache.c (init_register_cache): Move conditionals inside if.
6856
6857 2014-08-06  Gary Benson  <gbenson@redhat.com>
6858
6859         * linux-low.c (linux_supports_non_stop): Use target_is_async_p.
6860
6861 2014-07-31  Gary Benson  <gbenson@redhat.com>
6862
6863         * ax.h: Do not include server.h.
6864         * gdbthread.h: Likewise.
6865         * lynx-low.h: Likewise.
6866         * notif.h: Likewise.
6867
6868 2014-07-30  Gary Benson  <gbenson@redhat.com>
6869
6870         * server.h: Include common-defs.h.
6871         Do not include config.h or build-gnulib-gdbserver/config.h.
6872
6873 2014-07-30  Gary Benson  <gbenson@redhat.com>
6874
6875         * hostio-errno.c: Move server.h to top of includes list.
6876         * inferiors.c: Likewise.
6877         * linux-x86-low.c: Likewise.
6878         * notif.c: Include server.h.
6879
6880 2014-07-24  Tom Tromey  <tromey@redhat.com>
6881             Gary Benson  <gbenson@redhat.com>
6882
6883         * server.h (CORE_ADDR): Now unsigned.
6884
6885 2014-07-16  Pedro Alves  <palves@redhat.com>
6886
6887         * linux-low.c (linux_kill_one_lwp): Use kill_lwp, not kill.
6888
6889 2014-07-15  Pedro Alves  <palves@redhat.com>
6890
6891         * linux-low.c (linux_kill_one_lwp): Save errno and work with saved
6892         copy.
6893
6894 2014-07-11  Pedro Alves  <palves@redhat.com>
6895
6896         * linux-low.c (kill_wait_lwp): New function, based on
6897         kill_one_lwp_callback, but use my_waitpid directly.
6898         (kill_one_lwp_callback, linux_kill): Use it.
6899
6900 2014-06-23  Pedro Alves  <palves@redhat.com>
6901
6902         * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR_CONTROL
6903         before setting DR0..DR3.
6904
6905 2014-06-20  Gary Benson  <gbenson@redhat.com>
6906
6907         * configure.ac (AC_REPLACE_FUNCS) <vasprintf, vsnprintf>: Removed.
6908         * configure: Regenerated.
6909         * config.in: Likewise.
6910
6911 2014-06-20  Gary Benson  <gbenson@redhat.com>
6912
6913         * Makefile.in (SFILES): Update locations for files moved
6914         from common to nat.
6915         (object file files): Reordered.
6916
6917 2014-06-20  Gary Benson  <gbenson@redhat.com>
6918
6919         * i386-low.h (i386_dr_low_can_set_addr): Removed.
6920         (i386_dr_low_set_addr): Likewise.
6921         (i386_dr_low_get_addr): Likewise.
6922         (i386_dr_low_can_set_control): Likewise.
6923         (i386_dr_low_set_control): Likewise.
6924         (i386_dr_low_get_control): Likewise.
6925         (i386_dr_low_get_status): Likewise.
6926         (i386_get_debug_register_length): Likewise.
6927         * linux-x86-low.c (i386_dr_low_set_addr):
6928         Changed signature.  Made static.
6929         (i386_dr_low_get_addr): Likewise.
6930         (i386_dr_low_set_control): Likewise.
6931         (i386_dr_low_get_control): Likewise.
6932         (i386_dr_low_get_status): Likewise.
6933         (i386_dr_low): New global variable.
6934         * win32-i386-low.c (i386_dr_low_set_addr):
6935         Changed signature.  Made static.
6936         (i386_dr_low_get_addr): Likewise.
6937         (i386_dr_low_set_control): Likewise.
6938         (i386_dr_low_get_control): Likewise.
6939         (i386_dr_low_get_status): Likewise.
6940         (i386_dr_low): New global variable.
6941
6942 2014-06-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
6943
6944         * configure.ac: Invoke. AC_CHECK_TOOL(AR, ar).
6945         * Makefile.in (AR, AR_FLAGS): Define.
6946         * configure: Regenerate.
6947
6948 2014-06-19  Gary Benson  <gbenson@redhat.com>
6949
6950         * Makefile.in (i386-dregs.o): New rule.
6951         * configure.srv: Add i386-dregs.o to all targets using i386-low.o.
6952         * i386-low.c (target.h): Remove include.
6953         (TARGET_HAS_DR_LEN_8): Now in i386-dregs.c.
6954         (DR_CONTROL_SHIFT): Likewise.
6955         (DR_CONTROL_SIZE): Likewise.
6956         (DR_RW_EXECUTE): Likewise.
6957         (DR_RW_WRITE): Likewise.
6958         (DR_RW_READ): Likewise.
6959         (DR_RW_IORW): Likewise.
6960         (DR_LEN_1): Likewise.
6961         (DR_LEN_2): Likewise.
6962         (DR_LEN_4): Likewise.
6963         (DR_LEN_8): Likewise.
6964         (DR_LOCAL_ENABLE_SHIFT): Likewise.
6965         (DR_GLOBAL_ENABLE_SHIFT): Likewise.
6966         (DR_ENABLE_SIZE): Likewise.
6967         (DR_LOCAL_SLOWDOWN): Likewise.
6968         (DR_GLOBAL_SLOWDOWN): Likewise.
6969         (DR_CONTROL_RESERVED): Likewise.
6970         (I386_DR_CONTROL_MASK): Likewise.
6971         (I386_DR_VACANT): Likewise.
6972         (I386_DR_LOCAL_ENABLE): Likewise.
6973         (I386_DR_GLOBAL_ENABLE): Likewise.
6974         (I386_DR_DISABLE): Likewise.
6975         (I386_DR_SET_RW_LEN): Likewise.
6976         (I386_DR_GET_RW_LEN): Likewise.
6977         (I386_DR_WATCH_HIT): Likewise.
6978         (i386_wp_op_t): Likewise.
6979         (i386_show_dr): Likewise.
6980         (i386_length_and_rw_bits): Likewise.
6981         (i386_insert_aligned_watchpoint): Likewise.
6982         (i386_remove_aligned_watchpoint): Likewise.
6983         (i386_handle_nonaligned_watchpoint): Likewise.
6984         i386_update_inferior_debug_regs(): Likewise.
6985         (i386_dr_insert_watchpoint): Likewise.
6986         (i386_dr_remove_watchpoint): Likewise.
6987         (i386_dr_region_ok_for_watchpoint): Likewise.
6988         (i386_dr_stopped_data_address): Likewise.
6989         (i386_dr_stopped_by_watchpoint): Likewise.
6990
6991 2014-06-19  Gary Benson  <gbenson@redhat.com>
6992
6993         * i386-low.c (i386_dr_show): Renamed to
6994         i386_show_dr and made static.  All uses updated.
6995         (i386_dr_length_and_rw_bits): Renamed to
6996         i386_length_and_rw_bits and made static.
6997         All uses updated.
6998         (i386_dr_insert_aligned_watchpoint): Renamed to
6999         i386_insert_aligned_watchpoint and made static.
7000         All uses updated.
7001         (i386_dr_remove_aligned_watchpoint): Renamed to
7002         i386_remove_aligned_watchpoint and made static.
7003         All uses updated.
7004         (i386_dr_update_inferior_debug_regs): Renamed to
7005         i386_update_inferior_debug_regs and made static.
7006         All uses updated.
7007
7008 2014-06-18  Gary Benson  <gbenson@redhat.com>
7009
7010         * i386-low.h (i386_dr_low_can_set_addr): New macro.
7011         (i386_dr_low_can_set_control): Likewise.
7012         (i386_get_debug_register_length): Likewise.
7013         * i386-low.c (i386_dr_low_can_set_addr): Now in i386-low.h.
7014         (i386_dr_low_can_set_control): Likewise.
7015         (i386_get_debug_register_length): Likewise.
7016
7017 2014-06-17  Gary Benson  <gbenson@redhat.com>
7018
7019         * i386-low.h (i386-dregs.h): New include.
7020         (DR_FIRSTADDR): Now in i386-dregs.h.
7021         (DR_LASTADDR): Likewise.
7022         (DR_NADDR): Likewise.
7023         (DR_STATUS): Likewise.
7024         (DR_CONTROL): Likewise.
7025         (i386_debug_reg_state): Likewise.
7026         (i386_dr_insert_watchpoint): Likewise.
7027         (i386_dr_remove_watchpoint): Likewise.
7028         (i386_dr_region_ok_for_watchpoint): Likewise.
7029         (i386_dr_stopped_data_address): Likewise.
7030         (i386_dr_stopped_by_watchpoint): Likewise.
7031         * i386-low.c (ALL_DEBUG_REGISTERS): Likewise.
7032
7033 2014-06-18  Gary Benson  <gbenson@redhat.com>
7034
7035         * i386-low.h (i386_low_insert_watchpoint): Renamed to
7036         i386_dr_insert_watchpoint.
7037         (i386_low_remove_watchpoint): Renamed to
7038         i386_dr_remove_watchpoint.
7039         (i386_low_region_ok_for_watchpoint): Renamed to
7040         i386_dr_region_ok_for_watchpoint.
7041         (i386_low_stopped_data_address): Renamed to
7042         i386_dr_stopped_data_address.
7043         (i386_low_stopped_by_watchpoint): Renamed to
7044         i386_dr_stopped_by_watchpoint.
7045         * i386-low.c (i386_show_dr): Renamed to
7046         i386_dr_show and made nonstatic.  All uses updated.
7047         (i386_length_and_rw_bits): Renamed to
7048         i386_dr_length_and_rw_bits and made nonstatic.
7049         All uses updated.
7050         (i386_insert_aligned_watchpoint): Renamed to
7051         i386_dr_insert_aligned_watchpoint and made nonstatic.
7052         All uses updated.
7053         (i386_remove_aligned_watchpoint): Renamed to
7054         i386_dr_remove_aligned_watchpoint and made nonstatic.
7055         All uses updated.
7056         (i386_update_inferior_debug_regs): Renamed to
7057         i386_dr_update_inferior_debug_regs and made nonstatic.
7058         All uses updated.
7059         (i386_low_insert_watchpoint): Renamed to
7060         i386_dr_insert_watchpoint.  All uses updated.
7061         (i386_low_remove_watchpoint): Renamed to
7062         i386_dr_remove_watchpoint.  All uses updated.
7063         (i386_low_region_ok_for_watchpoint): Renamed to
7064         i386_dr_region_ok_for_watchpoint.  All uses updated.
7065         (i386_low_stopped_data_address): Renamed to
7066         i386_dr_stopped_data_address.  All uses updated.
7067         (i386_low_stopped_by_watchpoint): Renamed to
7068         i386_dr_stopped_by_watchpoint.  All uses updated.
7069
7070 2014-06-18  Gary Benson  <gbenson@redhat.com>
7071
7072         * i386-low.c (i386_dr_low_can_set_addr): New macro.
7073         (i386_dr_low_can_set_control): Likewise.
7074         (i386_insert_aligned_watchpoint): New check.
7075
7076 2014-06-18  Gary Benson  <gbenson@redhat.com>
7077
7078         * i386-low.c (i386_update_inferior_debug_regs) <inf_state>:
7079         Renamed to state.
7080
7081 2014-06-18  Gary Benson  <gbenson@redhat.com>
7082
7083         * i386-low.c (i386_length_and_rw_bits): Use internal_error
7084         instead of fatal and error.
7085         (i386_handle_nonaligned_watchpoint): Likewise.
7086
7087 2014-06-18  Gary Benson  <gbenson@redhat.com>
7088
7089         * i386-low.c (i386_get_debug_register_length): New macro.
7090         (TARGET_HAS_DR_LEN_8): Remove conditional.  Use above macro.
7091         (i386_show_dr): Use debug_printf instead of fprintf.  Use
7092         phex to format values.
7093
7094 2014-06-18  Gary Benson  <gbenson@redhat.com>
7095
7096         * i386-low.h: Comment changes.
7097         * i386-low.c: Likewise.
7098
7099 2014-06-18  Gary Benson  <gbenson@redhat.com>
7100
7101         * i386-low.c: Whitespace changes.
7102
7103 2014-06-12  Tom Tromey  <tromey@redhat.com>
7104
7105         * utils.c (freeargv): Remove.
7106
7107 2014-06-12  Tom Tromey  <tromey@redhat.com>
7108
7109         * debug.c (debug_printf): Remove HAVE_GETTIMEOFDAY checks.
7110         * server.c (monitor_show_help): Remove HAVE_GETTIMEOFDAY check.
7111         (parse_debug_format_options): Likewise.
7112         (gdbserver_usage): Likewise.
7113         * Makefile.in (LIBIBERTY_BUILDDIR, LIBIBERTY): New variables.
7114         (SUBDIRS, REQUIRED_SUBDIRS): Add libiberty.
7115         (gdbserver$(EXEEXT), gdbreplay$(EXEEXT)): Depend on and link
7116         against libiberty.
7117         ($(LIBGNU)): Depend on libiberty.
7118         (all-lib): Recurse into all subdirs.
7119         (install-only): Invoke "install" target in subdirs.
7120         (vasprintf.o, vsnprintf.o, safe-ctype.o, lbasename.o): Remove
7121         targets.
7122         * configure: Rebuild.
7123         * configure.ac: Add ACX_CONFIGURE_DIR for libiberty.  Don't check
7124         for vasprintf, vsnprintf, or gettimeofday.
7125         * configure.srv: Don't add safe-ctype.o or lbasename.o to
7126         srv_tgtobj.
7127
7128 2014-06-05  Joel Brobecker  <brobecker@adacore.com>
7129
7130         * development.sh: Delete.
7131         * Makefile.in (config.status): Adjust dependency on development.sh.
7132         * configure.ac: Adjust development.sh source call.
7133         * configure: Regenerate.
7134
7135 2014-06-02  Pedro Alves  <palves@redhat.com>
7136
7137         * ax.c (gdb_free_agent_expr): New function.
7138         * ax.h (gdb_free_agent_expr): New declaration.
7139         * mem-break.c (delete_gdb_breakpoint_1): Also clear the commands
7140         list.
7141         (clear_breakpoint_conditions, clear_breakpoint_commands): Make
7142         static.
7143         (clear_breakpoint_conditions_and_commands): New function.
7144         * mem-break.h (clear_breakpoint_conditions): Delete declaration.
7145         (clear_breakpoint_conditions_and_commands): New declaration.
7146
7147 2014-05-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
7148
7149         * linux-aarch64-low.c (asm/ptrace.h): Include.
7150
7151 2014-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
7152
7153         Fix TLS access for -static -pthread.
7154         * gdbserver/thread-db.c (struct thread_db): Add td_thr_tlsbase_p.
7155         (thread_db_get_tls_address): Call it if LOAD_MODULE is zero.
7156         (thread_db_load_search, try_thread_db_load_1): Initialize it.
7157
7158 2014-05-20  Pedro Alves  <palves@redhat.com>
7159
7160         * linux-aarch64-low.c (aarch64_insert_point)
7161         (aarch64_remove_point): No longer check whether the type is
7162         supported here.  Adjust to new interface.
7163         (the_low_target): Install aarch64_supports_z_point_type as
7164         supports_z_point_type method.
7165         * linux-arm-low.c (raw_bkpt_type_to_arm_hwbp_type): New function.
7166         (arm_linux_hw_point_initialize): Take an enum raw_bkpt_type
7167         instead of a Z packet char.  Adjust.
7168         (arm_supports_z_point_type): New function.
7169         (arm_insert_point, arm_remove_point): Adjust to new interface.
7170         (the_low_target): Install arm_supports_z_point_type.
7171         * linux-crisv32-low.c (cris_supports_z_point_type): New function.
7172         (cris_insert_point, cris_remove_point): Adjust to new interface.
7173         Don't check whether the type is supported here.
7174         (the_low_target): Install cris_supports_z_point_type.
7175         * linux-low.c (linux_supports_z_point_type): New function.
7176         (linux_insert_point, linux_remove_point): Adjust to new interface.
7177         * linux-low.h (struct linux_target_ops) <insert_point,
7178         remove_point>: Take an enum raw_bkpt_type instead of a char.  Add
7179         raw_breakpoint pointer parameter.
7180         <supports_z_point_type>: New method.
7181         * linux-mips-low.c (mips_supports_z_point_type): New function.
7182         (mips_insert_point, mips_remove_point): Adjust to new interface.
7183         Use mips_supports_z_point_type.
7184         (the_low_target): Install mips_supports_z_point_type.
7185         * linux-ppc-low.c (the_low_target): Install NULL as
7186         supports_z_point_type method.
7187         * linux-s390-low.c (the_low_target): Install NULL as
7188         supports_z_point_type method.
7189         * linux-sparc-low.c (the_low_target): Install NULL as
7190         supports_z_point_type method.
7191         * linux-x86-low.c (x86_supports_z_point_type): New function.
7192         (x86_insert_point): Adjust to new insert_point interface.  Use
7193         insert_memory_breakpoint.  Adjust to new
7194         i386_low_insert_watchpoint interface.
7195         (x86_remove_point): Adjust to remove_point interface.  Use
7196         remove_memory_breakpoint.  Adjust to new
7197         i386_low_remove_watchpoint interface.
7198         (the_low_target): Install x86_supports_z_point_type.
7199         * lynx-low.c (lynx_target_ops): Install NULL as
7200         supports_z_point_type callback.
7201         * nto-low.c (nto_supports_z_point_type): New.
7202         (nto_insert_point, nto_remove_point): Adjust to new interface.
7203         (nto_target_ops): Install nto_supports_z_point_type.
7204         * mem-break.c: Adjust intro comment.
7205         (struct raw_breakpoint) <raw_type, size>: New fields.
7206         <inserted>: Update comment.
7207         <shlib_disabled>: Delete field.
7208         (enum bkpt_type) <gdb_breakpoint>: Delete value.
7209         <gdb_breakpoint_Z0, gdb_breakpoint_Z1, gdb_breakpoint_Z2,
7210         gdb_breakpoint_Z3, gdb_breakpoint_Z4>: New values.
7211         (raw_bkpt_type_to_target_hw_bp_type): New function.
7212         (find_enabled_raw_code_breakpoint_at): New function.
7213         (find_raw_breakpoint_at): New type and size parameters.  Use them.
7214         (insert_memory_breakpoint): New function, based off
7215         set_raw_breakpoint_at.
7216         (remove_memory_breakpoint): New function.
7217         (set_raw_breakpoint_at): Reimplement.
7218         (set_breakpoint): New, based on set_breakpoint_at.
7219         (set_breakpoint_at): Reimplement.
7220         (delete_raw_breakpoint): Go through the_target->remove_point
7221         instead of assuming memory breakpoints.
7222         (find_gdb_breakpoint_at): Delete.
7223         (Z_packet_to_bkpt_type, Z_packet_to_raw_bkpt_type): New functions.
7224         (find_gdb_breakpoint): New function.
7225         (set_gdb_breakpoint_at): Delete.
7226         (z_type_supported): New function.
7227         (set_gdb_breakpoint_1): New function, loosely based off
7228         set_gdb_breakpoint_at.
7229         (check_gdb_bp_preconditions, set_gdb_breakpoint): New functions.
7230         (delete_gdb_breakpoint_at): Delete.
7231         (delete_gdb_breakpoint_1): New function, loosely based off
7232         delete_gdb_breakpoint_at.
7233         (delete_gdb_breakpoint): New function.
7234         (clear_gdb_breakpoint_conditions): Rename to ...
7235         (clear_breakpoint_conditions): ... this.  Don't handle a NULL
7236         breakpoint.
7237         (add_condition_to_breakpoint): Make static.
7238         (add_breakpoint_condition): Take a struct breakpoint pointer
7239         instead of an address.  Adjust.
7240         (gdb_condition_true_at_breakpoint): Rename to ...
7241         (gdb_condition_true_at_breakpoint_z_type): ... this, and add
7242         z_type parameter.
7243         (gdb_condition_true_at_breakpoint): Reimplement.
7244         (add_breakpoint_commands): Take a struct breakpoint pointer
7245         instead of an address.  Adjust.
7246         (gdb_no_commands_at_breakpoint): Rename to ...
7247         (gdb_no_commands_at_breakpoint_z_type): ... this.  Add z_type
7248         parameter.  Return true if no breakpoint was found.  Change debug
7249         output.
7250         (gdb_no_commands_at_breakpoint): Reimplement.
7251         (run_breakpoint_commands): Rename to ...
7252         (run_breakpoint_commands_z_type): ... this.  Add z_type parameter,
7253         and change return type to boolean.
7254         (run_breakpoint_commands): New function.
7255         (gdb_breakpoint_here): Also check for Z1 breakpoints.
7256         (uninsert_raw_breakpoint): Don't try to reinsert a disabled
7257         breakpoint.  Go through the_target->remove_point instead of
7258         assuming memory breakpoint.
7259         (uninsert_breakpoints_at, uninsert_all_breakpoints): Uninsert
7260         software and hardware breakpoints.
7261         (reinsert_raw_breakpoint): Go through the_target->insert_point
7262         instead of assuming memory breakpoint.
7263         (reinsert_breakpoints_at, reinsert_all_breakpoints): Reinsert
7264         software and hardware breakpoints.
7265         (check_breakpoints, breakpoint_here, breakpoint_inserted_here):
7266         Check both software and hardware breakpoints.
7267         (validate_inserted_breakpoint): Assert the breakpoint is a
7268         software breakpoint.  Set the inserted flag to -1 instead of
7269         setting shlib_disabled.
7270         (delete_disabled_breakpoints): Adjust.
7271         (validate_breakpoints): Only validate software breakpoints.
7272         Adjust to inserted flag change.
7273         (check_mem_read, check_mem_write): Skip breakpoint types other
7274         than software breakpoints.  Adjust to inserted flag change.
7275         * mem-break.h (enum raw_bkpt_type): New enum.
7276         (raw_breakpoint, struct process_info): Forward declare.
7277         (Z_packet_to_target_hw_bp_type): Delete declaration.
7278         (raw_bkpt_type_to_target_hw_bp_type, Z_packet_to_raw_bkpt_type)
7279         (set_gdb_breakpoint, delete_gdb_breakpoint)
7280         (clear_breakpoint_conditions): New declarations.
7281         (set_gdb_breakpoint_at, clear_gdb_breakpoint_conditions): Delete.
7282         (breakpoint_inserted_here): Update comment.
7283         (add_breakpoint_condition, add_breakpoint_commands): Replace
7284         address parameter with a breakpoint pointer parameter.
7285         (gdb_breakpoint_here): Update comment.
7286         (delete_gdb_breakpoint_at): Delete.
7287         (insert_memory_breakpoint, remove_memory_breakpoint): Declare.
7288         * server.c (process_point_options): Take a struct breakpoint
7289         pointer instead of an address.  Adjust.
7290         (process_serial_event) <Z/z packets>: Use set_gdb_breakpoint and
7291         delete_gdb_breakpoint.
7292         * spu-low.c (spu_target_ops): Install NULL as
7293         supports_z_point_type method.
7294         * target.h: Include mem-break.h.
7295         (struct target_ops) <prepare_to_access_memory>: Update comment.
7296         <supports_z_point_type>: New field.
7297         <insert_point, remove_point>: Take an enum raw_bkpt_type argument
7298         instead of a char.  Also take a raw breakpoint pointer.
7299         * win32-arm-low.c (the_low_target): Install NULL as
7300         supports_z_point_type.
7301         * win32-i386-low.c (i386_supports_z_point_type): New function.
7302         (i386_insert_point, i386_remove_point): Adjust to new interface.
7303         (the_low_target): Install i386_supports_z_point_type.
7304         * win32-low.c (win32_supports_z_point_type): New function.
7305         (win32_insert_point, win32_remove_point): Adjust to new interface.
7306         (win32_target_ops): Install win32_supports_z_point_type.
7307         * win32-low.h (struct win32_target_ops):
7308         <supports_z_point_type>: New method.
7309         <insert_point, remove_point>: Take an enum raw_bkpt_type argument
7310         instead of a char.  Also take a raw breakpoint pointer.
7311
7312 2014-05-20  Pedro Alves  <palves@redhat.com>
7313
7314         * mem-break.h: Include break-common.h.
7315         (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP)
7316         (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): New defines.
7317         (Z_packet_to_target_hw_bp_type): New declaration.
7318         * mem-break.c (Z_packet_to_target_hw_bp_type): New function.
7319         * i386-low.c (Z_PACKET_HW_BP, Z_PACKET_WRITE_WP, Z_PACKET_READ_WP)
7320         (Z_PACKET_ACCESS_WP): Delete macros.
7321         (Z_packet_to_hw_type): Delete function.
7322         * i386-low.h: Don't include break-common.h here.
7323         (Z_packet_to_hw_type): Delete declaration.
7324         * linux-x86-low.c (x86_insert_point, x86_insert_point): Call
7325         Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type.
7326         * win32-i386-low.c (i386_insert_point, i386_remove_point): Call
7327         Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type.
7328         * linux-aarch64-low.c: Don't include break-common.h here.
7329         (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP)
7330         (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): Delete macros.
7331         (Z_packet_to_target_hw_bp_type): Delete function.
7332         * linux-mips-low.c (rsp_bp_type_to_target_hw_bp_type): Delete
7333         function.
7334         (mips_insert_point, mips_remove_point): Use
7335         Z_packet_to_target_hw_bp_type.
7336
7337 2014-05-20  Pedro Alves  <palves@redhat.com>
7338
7339         * linux-aarch64-low.c: Include break-common.h.
7340         (enum target_point_type): Delete.
7341         (Z_packet_to_point_type): Rename to ...
7342         (Z_packet_to_target_hw_bp_type): ... this, and return a
7343         target_hw_bp_type instead.
7344         (aarch64_show_debug_reg_state): Take an enum target_hw_bp_type
7345         instead of an enum target_point_type.
7346         (aarch64_point_encode_ctrl_reg): Likewise.  Compute type mask from
7347         breakpoint type.
7348         (aarch64_dr_state_insert_one_point)
7349         (aarch64_dr_state_remove_one_point, aarch64_handle_breakpoint)
7350         (aarch64_handle_aligned_watchpoint)
7351         (aarch64_handle_unaligned_watchpoint, aarch64_handle_watchpoint):
7352         Take an enum target_hw_bp_type instead of an enum
7353         target_point_type.
7354         (aarch64_supports_z_point_type): New function.
7355         (aarch64_insert_point, aarch64_remove_point): Use it.  Adjust to
7356         use Z_packet_to_target_hw_bp_type.
7357
7358 2014-05-20  Joel Brobecker  <brobecker@adacore.com>
7359
7360         * configure.ac: Only use -Werror by default when DEVELOPMENT
7361         is true.
7362         * configure: Regenerate.
7363
7364 2014-05-19  Jan Kratochvil  <jan.kratochvil@redhat.com>
7365
7366         Fix gdbserver qGetTLSAddr for x86_64 -m32.
7367         * linux-x86-low.c (X86_64_USER_REGS): New.
7368         (x86_fill_gregset): Call memset for BUF first in x86_64 -m32 case.
7369
7370 2014-04-28  Yao Qi  <yao@codesourcery.com>
7371
7372         * Makefile.in (i386-avx512.c): Fix the typo of generated file
7373         name.
7374
7375 2014-04-25  Pedro Alves  <palves@redhat.com>
7376
7377         PR server/16255
7378         * linux-low.c (linux_attach_fail_reason_string): New function.
7379         (linux_attach_lwp): Delete.
7380         (linux_attach_lwp_1): Rename to ...
7381         (linux_attach_lwp): ... this.  Take a ptid instead of a pid as
7382         argument.  Remove "initial" parameter.  Return int instead of
7383         void.  Don't error or warn here.
7384         (linux_attach): Adjust to call linux_attach_lwp.  Call error on
7385         failure to attach to the tgid.  Call warning when failing to
7386         attach to an lwp.
7387         * linux-low.h (linux_attach_lwp): Take a ptid instead of a pid as
7388         argument.  Remove "initial" parameter.  Return int instead of
7389         void.  Don't error or warn here.
7390         (linux_attach_fail_reason_string): New declaration.
7391         * thread-db.c (attach_thread): Adjust to linux_attach_lwp's
7392         interface change.  Use linux_attach_fail_reason_string.
7393
7394 2014-04-24  Michael Sturm  <michael.sturm@mintel.com>
7395             Walfred Tedeschi  <walfred.tedeschi@intel.com>
7396
7397         * Makefile.in: Added rules to handle new files
7398         i386-avx512.c i386-avx512-linux.c amd64-avx512.c
7399         amd64-avx512-linux.c x32-avx512.c x32-avx512-linux.c.
7400         * configure.srv (srv_i386_regobj): Add i386-avx512.o.
7401         (srv_i386_linux_regobj): Add i386-avx512-linux.o.
7402         (srv_amd64_regobj): Add amd64-avx512.o and x32-avx512.o.
7403         (srv_amd64_linux_regobj): Add amd64-avx512-linux.o and
7404         x32-avx512-linux.o.
7405         (srv_i386_32bit_xmlfiles): Add i386/32bit-avx512.xml.
7406         (srv_i386_64bit_xmlfiles): Add i386/64bit-avx512.xml.
7407         (srv_amd64_xmlfiles): Add i386/amd64-avx512.xml and
7408         i386/x32-avx512.xml.
7409         (srv_i386_linux_xmlfiles): Add i386/i386-avx512-linux.xml.
7410         (srv_amd64_linux_xmlfiles): Add i386/amd64-avx512-linux.xml and
7411         i386/x32-avx512-linux.xml.
7412         * i387-fp.c (num_avx512_k_registers): New constant for number
7413         of K registers.
7414         (num_avx512_zmmh_low_registers): New constant for number of
7415         lower ZMM registers (0-15).
7416         (num_avx512_zmmh_high_registers): New constant for number of
7417         higher ZMM registers (16-31).
7418         (num_avx512_ymmh_registers): New contant for number of higher
7419         YMM registers (ymm16-31 added by avx521 on x86_64).
7420         (num_avx512_xmm_registers): New constant for number of higher
7421         XMM registers (xmm16-31 added by AVX512 on x86_64).
7422         (struct i387_xsave): Add space for AVX512 registers.
7423         (i387_cache_to_xsave): Change raw buffer size to 64 characters.
7424         Add code to handle AVX512 registers.
7425         (i387_xsave_to_cache): Add code to handle AVX512 registers.
7426         * linux-x86-low.c (init_registers_amd64_avx512_linux): New
7427         prototypei from generated file.
7428         (tdesc_amd64_avx512_linux): Likewise.
7429         (init_registers_x32_avx512_linux): Likewise.
7430         (tdesc_x32_avx512_linux): Likewise.
7431         (init_registers_i386_avx512_linux): Likewise.
7432         (tdesc_i386_avx512_linux): Likewise.
7433         (x86_64_regmap): Add AVX512 registers.
7434         (x86_linux_read_description): Add code to handle AVX512 XSTATE
7435         mask.
7436         (initialize_low_arch): Add code to initialize AVX512 registers.
7437
7438 2014-04-23  Pedro Alves  <palves@redhat.com>
7439
7440         * mem-break.c (find_gdb_breakpoint_at): Make static.
7441         * mem-break.h (find_gdb_breakpoint_at): Delete declaration.
7442
7443 2014-04-23  Pedro Alves  <palves@redhat.com>
7444
7445         * i386-low.c: Don't include break-common.h here.
7446         (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change
7447         prototype to take target_hw_bp_type as argument instead of a Z
7448         packet char.
7449         * i386-low.h: Include break-common.h here.
7450         (Z_packet_to_hw_type): Declare.
7451         (i386_low_insert_watchpoint, i386_low_remove_watchpoint): Change
7452         prototypes.
7453         * linux-x86-low.c (x86_insert_point): Convert the packet number to
7454         a target_hw_bp_type before calling i386_low_insert_watchpoint.
7455         (x86_remove_point): Convert the packet number to a
7456         target_hw_bp_type before calling i386_low_remove_watchpoint.
7457         * win32-i386-low.c (i386_insert_point): Convert the packet number
7458         to a target_hw_bp_type before calling i386_low_insert_watchpoint.
7459         (i386_remove_point): Convert the packet number to a
7460         target_hw_bp_type before calling i386_low_remove_watchpoint.
7461
7462 2014-04-23  Pedro Alves  <palves@redhat.com>
7463
7464         * utils.h (perror_with_name): Add ATTRIBUTE_NORETURN.
7465
7466 2014-04-10  Pedro Alves  <palves@redhat.com>
7467
7468         * mem-break.c (add_breakpoint_condition, add_breakpoint_commands):
7469         Check if the condition or command is NULL before checking if the
7470         breakpoint is known.  On success, return true.
7471         * mem-break.h (add_breakpoint_condition): Document return.
7472         (add_breakpoint_commands): Add describing comment.
7473         * server.c (skip_to_semicolon): New function.
7474         (process_point_options): Use it.
7475
7476 2014-04-09  Pedro Alves  <palves@redhat.com>
7477
7478         * linux-low.c (linux_read_loadmap): Pass current_inferior directly
7479         to lwpid_of.
7480
7481 2014-02-27  Pedro Alves  <palves@redhat.com>
7482
7483         PR 12702
7484         * inferiors.h (A_I_NEXT, ALL_INFERIORS_TYPE, ALL_PROCESSES): New
7485         macros.
7486         * linux-low.c (delete_lwp, handle_extended_wait): Add debug
7487         output.
7488         (last_thread_of_process_p): Take a PID argument instead of a
7489         thread pointer.
7490         (linux_wait_for_lwp): Delete.
7491         (num_lwps, check_zombie_leaders, not_stopped_callback): New
7492         functions.
7493         (linux_low_filter_event): New function, party factored out from
7494         linux_wait_for_event.
7495         (linux_wait_for_event): Rename to ...
7496         (linux_wait_for_event_filtered): ... this.  Add new filter ptid
7497         argument.  Partly rewrite.  Always use waitpid(-1, WNOHANG) and
7498         sigsuspend.  Check for zombie leaders.
7499         (linux_wait_for_event): Reimplement as wrapper around
7500         linux_wait_for_event_filtered.
7501         (linux_wait_1): Handle TARGET_WAITKIND_NO_RESUMED.  Assume that if
7502         a normal or signal exit is seen, it's the whole process exiting.
7503         (wait_for_sigstop): No longer a for_each_inferior callback.
7504         Rewrite on top of linux_wait_for_event_filtered.
7505         (stop_all_lwps): Call wait_for_sigstop directly.
7506         * server.c (resume, handle_target_event): Handle
7507         TARGET_WAITKIND_NO_RESUMED.
7508
7509 2014-02-26  Joel Brobecker  <brobecker@adacore.com>
7510
7511         * win32-low.c (psapi_get_dll_name,
7512         * win32_CreateToolhelp32Snapshot): Delete.
7513         (win32_CreateToolhelp32Snapshot, win32_Module32First)
7514         (win32_Module32Next, load_toolhelp, toolhelp_get_dll_name):
7515         Delete.
7516         (handle_load_dll): Add function description.
7517         Remove code using psapi_get_dll_name and toolhelp_get_dll_name.
7518
7519 2014-02-26  Joel Brobecker  <brobecker@adacore.com>
7520
7521         * win32-low.c (win32_add_one_solib): Add 0x1000 to load_addr.
7522         Add comment.
7523         (win32_add_all_dlls): Remove 0x1000 offset applied to DLL
7524         base address when calling win32_add_one_solib.
7525         (handle_load_dll): Delete local variable load_addr.
7526         Remove 0x1000 offset applied to DLL base address when calling
7527         win32_add_one_solib.
7528         (handle_unload_dll): Add comment.
7529
7530 2014-02-26  Joel Brobecker  <brobecker@adacore.com>
7531
7532         * win32-low.c (win32_add_all_dlls): Renames
7533         win32_ensure_ntdll_loaded.  Rewrite function documentation.
7534         Adjust implementation to always load all DLLs.
7535         Add 0x1000 offset to DLL base address when calling
7536         win32_add_one_solib.
7537         (child_initialization_done): New static global.
7538         (do_initial_child_stuff): Set child_initialization_done to
7539         zero during child initialization, and 1 after.  Replace call
7540         to win32_ensure_ntdll_loaded by call to win32_add_all_dlls.
7541         Add comment.
7542         (match_dll_by_basename, dll_is_loaded_by_basename): Delete.
7543         (handle_unload_dll): Add function documentation.
7544         (get_child_debug_event): Ignore load and unload DLL events
7545         during child initialization.
7546
7547 2014-02-20  Doug Evans  <dje@google.com>
7548
7549         Remove global all_lwps.
7550         * inferiors.h (ptid_of): Move here from linux-low.h.
7551         (pid_of, lwpid_of): Ditto.
7552         * linux-aarch64-low.c (debug_reg_change_callback): Update, "entry"
7553         parameter is a struct thread_info * now.
7554         (aarch64_notify_debug_reg_change): Fetch pid from current_inferior
7555         directly.  Pass &all_threads to find_inferior instead of &all_lwps.
7556         (aarch64_stopped_data_address): Fetch lwpid from current_inferior
7557         directly.
7558         (aarch64_linux_prepare_to_resume): Fetch ptid from thread.
7559         (aarch64_arch_setup): Fetch lwpid from current_inferior directly.
7560         * linux-arm-low.c (update_registers_callback): Update, "entry"
7561         parameter is a struct thread_info * now.
7562         Fetch lwpid from current_inferior directly.
7563         (arm_insert_point): Pass &all_threads to find_inferior instead of
7564         &all_lwps.
7565         (arm_remove_point): Ditto.
7566         (arm_stopped_by_watchpoint): Fetch lwp from current_inferior.
7567         (arm_prepare_to_resume): Fetch pid from thread.
7568         (arm_read_description): Fetch lwpid from current_inferior directly.
7569         * linux-low.c (all_lwps): Delete.
7570         (delete_lwp): Delete call to remove_inferior.
7571         (handle_extended_wait): Fetch lwpid from thread.
7572         (add_lwp): Don't set lwp->entry.id.  Remove call to
7573         add_inferior_to_list.
7574         (linux_attach_lwp_1): Fetch pid from current_inferior directly.
7575         (linux_kill_one_lwp): Fetch ptid,lwpid from thread.
7576         (kill_one_lwp_callback): Ditto.
7577         (linux_kill): Don't dereference NULL pointer.
7578         Fetch ptid,lwpid from thread.
7579         (get_detach_signal): Fetch ptid from thread.
7580         (linux_detach_one_lwp): Fetch ptid,lwpid from thread.
7581         Simplify call to regcache_invalidate_thread.
7582         (delete_lwp_callback): Update, "entry" parameter is a
7583         struct thread_info * now.  Fetch pid from thread.
7584         (linux_mourn): Pass &all_threads to find_inferior instead of &all_lwps.
7585         (status_pending_p_callback): Update, "entry" parameter is a
7586         struct thread_info * now.  Fetch ptid from thread.
7587         (find_lwp_pid): Update, "entry" parameter is a
7588         struct thread_info * now.
7589         (linux_wait_for_lwp): Fetch pid from thread.
7590         (linux_fast_tracepoint_collecting): Fetch lwpid from thread.
7591         (maybe_move_out_of_jump_pad): Fetch lwpid from current_inferior.
7592         (enqueue_one_deferred_signal): Fetch lwpid from thread.
7593         (dequeue_one_deferred_signal): Ditto.
7594         (cancel_breakpoint): Fetch ptid from current_inferior.
7595         (linux_wait_for_event): Pass &all_threads to find_inferior,
7596         not &all_lwps.  Fetch ptid, lwpid from thread.
7597         (count_events_callback): Update, "entry" parameter is a
7598         struct thread_info * now.
7599         (select_singlestep_lwp_callback): Ditto.
7600         (select_event_lwp_callback): Ditto.
7601         (cancel_breakpoints_callback): Ditto.
7602         (linux_cancel_breakpoints): Pass &all_threads to find_inferior,
7603         not &all_lwps.
7604         (select_event_lwp): Ditto.  Fetch ptid from event_thread.
7605         (unsuspend_one_lwp): Update, "entry" parameter is a
7606         struct thread_info * now.
7607         (unsuspend_all_lwps): Pass &all_threads to find_inferior,
7608         not &all_lwps.
7609         (linux_stabilize_threads): Ditto.  And for for_each_inferior.
7610         Fetch lwpid from thread, not lwp.
7611         (linux_wait_1): Fetch ptid, lwpid from current_inferior.
7612         Pass &all_threads to find_inferior, not &all_lwps.
7613         (send_sigstop): Fetch lwpid from thread, not lwp.
7614         (send_sigstop_callback): Update, "entry" parameter is a
7615         struct thread_info * now.
7616         (suspend_and_send_sigstop_callback): Ditto.
7617         (wait_for_sigstop): Ditto.  Fetch ptid, lwpid from thread, lwp.
7618         (stuck_in_jump_pad_callback): Update, "entry" parameter is a
7619         struct thread_info * now.
7620         (move_out_of_jump_pad_callback): Ditto.  Fetch ptid, lwpid
7621         from thread, lwp.
7622         (lwp_running): Update, "entry" parameter is a
7623         struct thread_info * now.
7624         (stop_all_lwps): Fetch ptid from thread.
7625         Pass &all_threads to find_inferior, for_each_inferior, not &all_lwps.
7626         (linux_resume_one_lwp): Fetch lwpid from thread.
7627         (linux_set_resume_request): Update, "entry" parameter is a
7628         struct thread_info * now.  Fetch pid, lwpid from thread.
7629         (resume_status_pending_p): Update, "entry" parameter is a
7630         struct thread_info * now.
7631         (need_step_over_p): Ditto.  Fetch lwpid from thread.
7632         (start_step_over): Fetch lwpid from thread.
7633         (linux_resume_one_thread): Update, "entry" parameter is a
7634         struct thread_info * now.  Fetch lwpid from thread.
7635         (linux_resume): Pass &all_threads to find_inferior, not &all_lwps.
7636         (proceed_one_lwp): Update, "entry" parameter is a
7637         struct thread_info * now.  Fetch lwpid from thread.
7638         (unsuspend_and_proceed_one_lwp): Update, "entry" parameter is a
7639         struct thread_info * now.
7640         (proceed_all_lwps): Pass &all_threads to find_inferior, not &all_lwps.
7641         (unstop_all_lwps): Ditto.  Fetch lwpid from thread.
7642         (regsets_fetch_inferior_registers): Fetch lwpid from current_inferior
7643         directly.
7644         (regsets_store_inferior_registers): Ditto.
7645         (fetch_register, store_register): Ditto.
7646         (linux_read_memory, linux_write_memory): Ditto.
7647         (linux_request_interrupt): Ditto.
7648         (linux_read_auxv): Ditto.
7649         (linux_xfer_siginfo): Ditto.
7650         (linux_qxfer_spu): Ditto.
7651         (linux_qxfer_libraries_svr4): Ditto.
7652         * linux-low.h (ptid_of, pid_of, lwpid_of): Delete,
7653         moved to inferiors.h.
7654         (get_lwp): Delete.
7655         (get_thread_lwp): Update.
7656         (struct lwp_info): Delete member "entry".  Simplify comment for
7657         member "thread".
7658         (all_lwps): Delete.
7659         * linux-mips-low.c (mips_read_description): Fetch lwpid from
7660         current_inferior directly.
7661         (update_watch_registers_callback): Update, "entry" parameter is a
7662         struct thread_info * now.  Fetch pid from thread.
7663         (mips_linux_prepare_to_resume): Fetch ptid from thread.
7664         (mips_insert_point): Fetch lwpid from current_inferior.
7665         Pass &all_threads to find_inferior, not &all_lwps.
7666         (mips_remove_point): Pass &all_threads to find_inferior, not &all_lwps.
7667         (mips_stopped_by_watchpoint): Fetch lwpid from current_inferior
7668         directly.
7669         (mips_stopped_data_address): Ditto.
7670         * linux-s390-low.c (s390_arch_setup): Fetch pid from current_inferior
7671         directly.
7672         * linux-tile-low.c (tile_arch_setup): Ditto.
7673         * linux-x86-low.c (x86_get_thread_area): Fetch lwpid from thread.
7674         (update_debug_registers_callback): Update, "entry" parameter is a
7675         struct thread_info * now.  Fetch pid from thread.
7676         (i386_dr_low_set_addr): Fetch pid from current_inferior directly.
7677         Pass &all_threads to find_inferior, not &all_lwps.
7678         (i386_dr_low_get_addr): Fetch ptid from current_inferior directly.
7679         (i386_dr_low_set_control): Fetch pid from current_inferior directly.
7680         Pass &all_threads to find_inferior, not &all_lwps.
7681         (i386_dr_low_get_control): Fetch ptid from current_inferior directly.
7682         (i386_dr_low_get_status): Ditto.
7683         (x86_linux_prepare_to_resume): Fetch ptid from thread.
7684         (x86_siginfo_fixup): Fetch lwpid from current_inferior directly.
7685         (x86_linux_read_description): Ditto.
7686         * proc-service.c (ps_getpid): Fetch pid from current_inferior directly.
7687
7688 2014-02-20  Doug Evans  <dje@google.com>
7689
7690         * inferiors.c (get_first_inferior): Fix buglet.
7691
7692 2014-02-19  Doug Evans  <dje@google.com>
7693
7694         * gdbthread.h (add_thread): Change result type to struct thread_info *.
7695         * inferiors.c (add_thread): Change result type to struct thread_info *.
7696         All callers updated.
7697         (add_lwp): Call add_thread here instead of in callers.
7698         All callers updated.
7699         * linux-low.h (get_lwp_thread): Rewrite.
7700         (struct lwp_info): New member "thread".
7701
7702 2014-02-19  Doug Evans  <dje@google.com>
7703
7704         * linux-low.c (add_lwp): Change result to struct lwp_info *.
7705         All callers updated.
7706
7707 2014-02-19  Doug Evans  <dje@google.com>
7708
7709         * inferiors.c (add_thread): Fix whitespace.
7710
7711 2014-02-19  Doug Evans  <dje@google.com>
7712
7713         * dll.c (clear_dlls): Replace accessing list implemention details
7714         with API function.
7715         * gdbthread.h (get_first_thread): Declare.
7716         * inferiors.c (for_each_inferior_with_data): New function.
7717         (get_first_thread): New function.
7718         (find_thread_ptid): Simplify.
7719         (get_first_inferior): New function.
7720         (clear_list): Delete.
7721         (one_inferior_p): New function.
7722         (clear_inferior_list): New function.
7723         (clear_inferiors): Update.
7724         * inferiors.h (for_each_inferior_with_data): Declare.
7725         (clear_inferior_list): Declare.
7726         (one_inferior_p): Declare.
7727         (get_first_inferior): Declare.
7728         * linux-low.c (linux_wait_for_event): Replace accessing list
7729         implemention details with API function.
7730         * server.c (target_running): Ditto.
7731         (accumulate_file_name_length): New function.
7732         (emit_dll_description): New function.
7733         (handle_qxfer_libraries): Replace accessing list implemention
7734         details with API function.
7735         (handle_qxfer_threads_worker): New function.
7736         (handle_qxfer_threads_proper): Replace accessing list implemention
7737         details with API function.
7738         (handle_query): Ditto.
7739         (visit_actioned_threads_callback_ftype): New typedef.
7740         (visit_actioned_threads_data): New struct.
7741         (visit_actioned_threads): Rewrite to be find_inferior callback.
7742         (resume): Call find_inferior.
7743         (handle_status): Replace accessing list implemention
7744         details with API function.
7745         (process_serial_event): Replace accessing list implemention details
7746         with API function.
7747         * target.c (set_desired_inferior): Replace accessing list implemention
7748         details with API function.
7749         * tracepoint.c (same_process_p): New function.
7750         (gdb_agent_about_to_close): Replace accessing list implemention
7751         details with API function.
7752         * win32-low.c (child_delete_thread): Replace accessing list
7753         implemention details with API function.
7754         (match_dll_by_basename): New function.
7755         (dll_is_loaded_by_basename): New function.
7756         (win32_ensure_ntdll_loaded): Replace accessing list implemention
7757         details call to dll_is_loaded_by_basename.
7758
7759 2014-02-19  Doug Evans  <dje@google.com>
7760
7761         * dll.h (struct dll_info): Add comment.
7762         * gdbthread.h (struct thread_info): Add comment.
7763         (current_ptid): Simplify.
7764         * inferiors.c (add_process): Update.
7765         (remove_process): Update.
7766         * inferiors.h (struct process_info): Rename member "head" to "entry".
7767         * linux-low.c (delete_lwp): Update.
7768         (add_lwp): Update.
7769         (last_thread_of_process_p): Update.
7770         (kill_one_lwp_callback, linux_kill): Update.
7771         (status_pending_p_callback): Update.
7772         (wait_for_sigstop): Update.  Simplify read of ptid.
7773         (start_step_over): Update.
7774         * linux-low.h (ptid_of, pid_of, lwpid_of): Update.
7775         (get_lwp_thread): Update.
7776         (struct lwp_info): Rename member "head" to "entry".
7777         * regcache.h (inferior_list_entry): Delete.
7778         * server.c (kill_inferior_callback): Update.
7779         (detach_or_kill_inferior_callback): Update.
7780         (print_started_pid): Update.
7781         (print_attached_pid): Update.
7782         (process_serial_event): Simplify read of ptid.
7783         * thread-db.c (thread_db_create_event): Update.
7784         (thread_db_get_tls_address): Update.
7785         * win32-low.c (current_inferior_ptid): Simplify.
7786
7787 2014-02-19  Tom Tromey  <tromey@redhat.com>
7788
7789         * target.h (struct target_ops) <supports_btrace>: Add target_ops
7790         argument.
7791         (target_supports_btrace): Update.
7792
7793 2014-02-14  Yao Qi  <yao@codesourcery.com>
7794
7795         * Makefile.in (IPA_OBJS): Append rsp-low-ipa.o.
7796         (rsp-low-ipa.o): New target.
7797
7798 2014-02-12  Tom Tromey  <tromey@redhat.com>
7799
7800         * ax.c (gdb_parse_agent_expr): Use hex2bin, not
7801         convert_ascii_to_int.
7802         * regcache.c (registers_to_string): Likewise.
7803         * remote-utils.c (decode_M_packet): Likewise.
7804         * server.c (process_serial_event): Likewise.
7805
7806 2014-02-12  Tom Tromey  <tromey@redhat.com>
7807
7808         * server.c (handle_query, handle_v_run): Use hex2bin, not
7809         unhexify.
7810         * tracepoint.c (cmd_qtdpsrc, cmd_qtdv, cmd_qtnotes): Likewise.
7811
7812 2014-02-12  Tom Tromey  <tromey@redhat.com>
7813
7814         * ax.c (gdb_unparse_agent_expr): Use bin2hex, not
7815         convert_int_to_ascii.
7816         * regcache.c (registers_to_string, collect_register_as_string):
7817         Likewise.
7818         * remote-utils.c (look_up_one_symbol, relocate_instruction):
7819         Likewise.
7820         * server.c (process_serial_event): Likewise.
7821         * tracepoint.c (cmd_qtstatus, response_source, response_tsv)
7822         (cmd_qtbuffer, cstr_to_hexstr): Likewise.
7823
7824 2014-02-12  Tom Tromey  <tromey@redhat.com>
7825
7826         * remote-utils.c (look_up_one_symbol, monitor_output): Use
7827         bin2hex, not hexify.
7828         * tracepoint.c (cmd_qtstatus): Likewise.
7829
7830 2014-02-12  Tom Tromey  <tromey@redhat.com>
7831
7832         * remote-utils.c (monitor_output): Pass explicit length to
7833         hexify.
7834
7835 2014-02-12  Tom Tromey  <tromey@redhat.com>
7836
7837         * tracepoint.c: Include rsp-low.h.
7838         * server.c: Include rsp-low.h.
7839         * remote-utils.h (convert_ascii_to_int, convert_int_to_ascii)
7840         (unhexify, hexify, remote_escape_output, unpack_varlen_hex): Don't
7841         declare.
7842         * remote-utils.c: Include rsp-low.h.
7843         (fromhex, hexchars, ishex, unhexify, tohex, hexify)
7844         (remote_escape_output, remote_unescape_input, unpack_varlen_hex)
7845         (convert_int_to_ascii, convert_ascii_to_int): Move to
7846         common/rsp-low.c.
7847         * regcache.c: Include rsp-low.h.
7848         * ax.c: Include rsp-low.h.
7849         * Makefile.in (SFILES): Add common/rsp-low.c.
7850         (OBS): Add rsp-low.o.
7851         (rsp-low.o): New target.
7852
7853 2014-02-12  Tom Tromey  <tromey@redhat.com>
7854
7855         * utils.h (pulongest, plongest, phex_nz): Don't declare.
7856         Include print-utils.h.
7857         * utils.c (NUMCELLS, CELLSIZE, get_cell, decimal2str, pulongest)
7858         (plongest, thirty_two, phex_nz): Remove.
7859         * Makefile.in (SFILES): Add common/print-utils.c.
7860         (OBS): Add print-utils.o.
7861         (print-utils-ipa.o): New target.
7862         (print-utils.o): New target.
7863         (IPA_OBJS): Add print-utils-ipa.o.
7864
7865 2014-02-06  Tom Tromey  <tromey@redhat.com>
7866
7867         * Makefile.in (SFILES): Fix indentation.
7868
7869 2014-02-05  Doug Evans  <dje@google.com>
7870
7871         * linux-low.c (linux_wait_for_event): Improve comment.
7872         (linux_wait_1): Keep current_inferior in sync with event_child.
7873
7874 2014-01-22  Doug Evans  <dje@google.com>
7875
7876         * gdbthread.h (gdb_id_to_thread): Delete, unused.
7877
7878 2014-01-22  Doug Evans  <dje@google.com>
7879
7880         * configure.ac (AC_CHECK_FUNCS): Add test for gettimeofday.
7881         * configure: Regenerate.
7882         * config.in: Regenerate.
7883         * Makefile.in (SFILES): Add debug.c.
7884         (OBS): Add debug.o.
7885         * debug.c: New file.
7886         * debug.h: New file.
7887         * linux-aarch64-low.c (*): Update all debugging printfs to use
7888         debug_printf instead of fprintf.
7889         * linux-arm-low.c (*): Ditto.
7890         * linux-cris-low.c (*): Ditto.
7891         * linux-crisv32-low.c (*): Ditto.
7892         * linux-m32r-low.c (*): Ditto.
7893         * linux-sparc-low.c (*): Ditto.
7894         * linux-x86.c (*): Ditto.
7895         * linux-low.c (*): Ditto.
7896         (linux_wait_1): Add calls to debug_enter, debug_exit.
7897         (linux_wait): Remove redundant debugging printf.
7898         (stop_all_lwps): Add calls to debug_enter, debug_exit.
7899         (linux_resume, unstop_all_lwps): Ditto.
7900         * mem-break.c (*): Update all debugging printfs to use
7901         debug_printf instead of fprintf.
7902         * remote-utils.c (*): Ditto.
7903         * thread-db.c (*): Ditto.
7904         * server.c #include <ctype.h>, "gdb_vecs.h".
7905         (debug_threads): Moved to debug.c.
7906         (*): Update all debugging printfs to use debug_printf instead of
7907         fprintf.
7908         (start_inferior): Replace call to fflush with call to debug_flush.
7909         (monitor_show_help): Mention set debug-format.
7910         (parse_debug_format_options): New function.
7911         (handle_monitor_command): Handle "monitor set debug-format".
7912         (gdbserver_usage): Mention --debug-format.
7913         (main): Parse --debug-format.
7914         * server.h (debug_threads): Declaration moved to debug.h.
7915         #include "debug.h".
7916         * tracepoint.c (trace_debug_1) [!IN_PROCESS_AGENT]: Add version of
7917         trace_debug_1 that uses debug_printf.
7918         (tracepoint_look_up_symbols): Update all debugging printfs to use
7919         debug_printf instead of fprintf.
7920
7921 2014-01-20  Baruch Siach  <baruch@tkos.co.il>
7922
7923         * linux-xtensa-low.c: Include asm/ptrace.h instead of
7924         sys/ptrace.h.
7925
7926 2014-01-17  Pedro Alves  <palves@redhat.com>
7927
7928         PR build/16445
7929         * linux-x86-low.c: Don't include elf/common.h if ELFMAG0 is
7930         defined after including gdb_proc_service.h.
7931
7932 2014-01-16  Doug Evans  <dje@google.com>
7933
7934         * dll.c (UNSPECIFIED_CORE_ADDR): New macro.
7935         (match_dll): Use it.
7936
7937 2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
7938
7939         * target.h (target_ops) <read_btrace>: Change parameters and
7940         return type to allow error reporting.
7941         * server.c (handle_qxfer_btrace): Support delta reads.  Pass
7942         trace reading errors on.
7943         * linux-low.c (linux_low_read_btrace): Pass trace reading
7944         errors on.
7945         (linux_low_disable_btrace): New.
7946
7947 2014-01-15  Doug Evans  <dje@google.com>
7948
7949         * inferiors.c (thread_id_to_gdb_id): Delete.
7950         * inferiors.h (thread_id_to_gdb_id): Delete.
7951
7952 2014-01-13  Eli Zaretskii  <eliz@gnu.org>
7953
7954         * Makefile.in (INCLUDE_CFLAGS): Remove trailing slash from
7955         "-I$(srcdir)/../".  Fixes MinGW compilation errors with old GCC
7956         versions.
7957
7958 2014-01-08  Pedro Alves  <palves@redhat.com>
7959
7960         * server.c (handle_status): Don't discard previous queued stop
7961         replies or thread's pending status here.
7962         (main) <disconnection>: Do it here instead.
7963
7964 2014-01-08  Pedro Alves  <palves@redhat.com>
7965
7966         * gdbthread.h (struct thread_info) <status_pending_p>: New field.
7967         * server.c (visit_actioned_threads, handle_pending_status): New
7968         function.
7969         (handle_v_cont): Factor out parts to ...
7970         (resume): ... this new function.  If in all-stop, and a thread
7971         being resumed has a pending status, report it without actually
7972         resuming.
7973         (myresume): Adjust to use the new 'resume' function.
7974         (clear_pending_status_callback, set_pending_status_callback)
7975         (find_status_pending_thread_callback): New functions.
7976         (handle_status): Handle the case of multiple threads having
7977         interesting statuses to report.  Report threads' real last signal
7978         instead of always reporting GDB_SIGNAL_TRAP.  Look for a thread
7979         with an interesting thread to report the status for, instead of
7980         always reporting the status of the first thread.
7981
7982 2014-01-01  Joel Brobecker  <brobecker@adacore.com>
7983
7984         * gdbserver.c (gdbserver_version): Set copyright year to 2014.
7985         * gdbreplay.c (gdbreplay_version): Likewise.
7986
7987 2013-12-18  Yufeng Zhang  <yufeng.zhang@arm.com>
7988
7989         * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Set
7990         iov.iov_len with the real length in use.
7991
7992 2013-12-13  Joel Brobecker  <brobecker@adacore.com>
7993
7994         * Makefile.in (safe-ctype.o, lbasename.o): New rules.
7995         * configure.srv: Add safe-ctype.o and lbasename.o to srv_tgtobj
7996         for all targets that use win32-low.c.
7997         * win32-low.c (win32_ensure_ntdll_loaded): New function.
7998         (do_initial_child_stuff): Add call to win32_ensure_ntdll_loaded.
7999
8000 2013-12-13  Pedro Alves  <palves@redhat.com>
8001
8002         * target.c (mywait): Set OURSTATUS->KIND to TARGET_WAITKIND_STOPPED
8003         if equal to TARGET_WAITKIND_LOADED.
8004         * win32-low.c (cached_status): New static global.
8005         (win32_wait): Add declaration.
8006         (do_initial_child_stuff): Flush all initial pending debug events
8007         up to the initial breakpoint.
8008         (win32_wait): If CACHED_STATUS was set, return that instead
8009         of doing a real wait.  Remove the code resuming the execution
8010         of the inferior after receiving a TARGET_WAITKIND_LOADED event
8011         during the initial phase.  Also remove the code changing
8012         OURSTATUS->KIND from TARGET_WAITKIND_LOADED to
8013         TARGET_WAITKIND_STOPPED.
8014
8015 2013-12-11  Yao Qi  <yao@codesourcery.com>
8016
8017         * notif.c (handle_notif_ack): Return 0 if no notification
8018         matches.
8019
8020 2013-11-20  Doug Evans  <dje@google.com>
8021
8022         * linux-low.c (linux_set_resume_request): Fix comment.
8023
8024 2013-11-20  Doug Evans  <dje@google.com>
8025
8026         * linux-low.c (resume_status_pending_p): Tweak comment.
8027
8028 2013-11-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
8029
8030         * Makefile.in: Add i386-mpx.c, i386-mpx-linux.c, amd64-mpx.c,
8031         amd64-mpx-linux.c, x32-mpx.c and x32-mpx-linux.c generation.
8032         * configure.srv (srv_i386_regobj): Add i386-mpx.o.
8033         (srv_i386_linux_regobj): Add i386-mpx-linux.o.
8034         (srv_amd64_regobj): Add amd64-mpx.o.
8035         (srv_amd64_linux_regobj): Add amd64-mpx-linux.o.
8036         (srv_i386_32bit_xmlfiles): Add i386/32bit-mpx.xml.
8037         (srv_i386_64bit_xmlfiles): Add i386/64bit-mpx.xml.
8038         * i387-fp.c (num_pl_bnd_register) Added constant.
8039         (num_pl_bnd_cfg_registers) Added constant.
8040         (struct i387_xsave) Added reserved area and MPX fields.
8041         (i387_cache_to_xsave, i387_xsave_to_cache) Add MPX.
8042         * linux-x86-low.c (init_registers_i386_mpx_linux): Declare new
8043         function.
8044         (tdesc_i386_mpx_linux): Add MPX amd64 target.
8045         (init_registers_amd64_mpx_linux): Declare new function.
8046         (tdesc_amd64_mpx_linux): Add MPX amd64 target.
8047         (x86_64_regmap): Add MPX registers.
8048         (x86_linux_read_description): Add MPX case.
8049         (initialize_low_arch): Initialize MPX targets.
8050
8051 2013-11-18  Tom Tromey  <tromey@redhat.com>
8052
8053         * configure: Rebuild.
8054         * configure.ac: Don't check for stdlib.h.
8055         * gdbreplay.c: Unconditionally include stdlib.h.
8056
8057 2013-11-18  Tom Tromey  <tromey@redhat.com>
8058
8059         * config.in: Rebuild.
8060         * configure: Rebuild.
8061         * configure.ac: Don't use AC_HEADER_DIRENT.
8062
8063 2013-11-18  Tom Tromey  <tromey@redhat.com>
8064
8065         * server.h: Don't check HAVE_STRING_H.
8066         * gdbreplay.c: Don't check HAVE_STRING_H.
8067         * configure: Rebuild.
8068
8069 2013-11-18  Tom Tromey  <tromey@redhat.com>
8070
8071         * Makefile.in (gdbreplay$(EXEEXT)): Depend on and link against
8072         LIBGNU.
8073
8074 2013-11-08  Tom Tromey  <tromey@redhat.com>
8075
8076         * configure, config.in: Rebuild.
8077         * configure.ac: Remove unused configury.
8078
8079 2013-11-08  Tom Tromey  <tromey@redhat.com>
8080
8081         * acinclude.m4: Include common.m4, codeset.m4.
8082         * configure, config.in: Rebuild.
8083         * configure.ac: Use GDB_AC_COMMON.
8084
8085 2013-11-06  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8086
8087         * linux-s390-low.c (HWCAP_S390_TE): New define.
8088         (s390_arch_setup): Consider the TE field in the HWCAP for
8089         determining 'have_regset_tdb'.
8090
8091 2013-10-16  Sergio Durigan Junior  <sergiodj@redhat.com>
8092
8093         PR gdb/16014
8094         * tracepoint.c (download_tracepoint_1): Remove unnecessary double
8095         call to sizeof.
8096
8097 2013-10-02  Pedro Alves  <palves@redhat.com>
8098
8099         * server.c (process_serial_event): Don't output "GDBserver
8100         exiting" if GDB is connected through stdio.
8101         * target.c (mywait): Likewise, be silent if GDB is connected
8102         through stdio.
8103
8104 2013-10-01  Joel Brobecker  <brobecker@adacore.com>
8105
8106         * lynx-low.c (lynx_add_threads_after_attach): New function.
8107         (lynx_attach): Remove call to add_thread.  Add call to
8108         lynx_add_threads_after_attach instead.
8109
8110 2013-09-28  Mike Frysinger  <vapier@gentoo.org>
8111
8112         * configure.ac (AC_CHECK_HEADERS): Add sys/syscall.h
8113         * config.in, configure: Regenerated.
8114
8115 2013-09-18  Yao Qi  <yao@codesourcery.com>
8116
8117         PR server/15959
8118         * server.c (start_inferior): Clear 'resume_info'.
8119
8120 2013-09-16  Jiong Wang  <jiwang@tilera.com>
8121
8122         * linux-tile-low.c (tile_regsets): Modify the size field to 64-bit
8123         for each register.
8124
8125 2013-09-16  Jiong Wang  <jiwang@tilera.com>
8126
8127         * configure.srv <tilegx*-*-linux*>: Remove linux-osdata.o from and add
8128         linux-tile-low.o to srv_tgtobj.
8129
8130 2013-09-16  Will Newton  <will.newton@linaro.org>
8131
8132         * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Zero
8133         out regs.
8134
8135 2013-09-06  Pedro Alves  <palves@redhat.com>
8136
8137         * Makefile.in (gdb_proc_service_h, regdef_h, regcache_h)
8138         (signals_def, signals_h, ptid_h, ax_h, agent_h, linux_btrace_h)
8139         (linux_osdata_h, vec_h, gdb_vecs_h, host_defs_h, libiberty_h)
8140         (server_h, gdbthread_h, linux_low_h, linux_ptrace_h)
8141         (gdb_thread_db_h, linux_procfs_h, lynx_low_h, nto_low_h)
8142         (mips_linux_watch_h, i386_low_h, win32_low_h): Delete.
8143
8144 2013-09-06  Pedro Alves  <palves@redhat.com>
8145
8146         * Makefile.in (linux-btrace.o, mips-linux-watch.o): Remove
8147         explicit header dependencies and use $COMPILE/$POSTCOMPILE.
8148
8149 2013-09-06  Pedro Alves  <palves@redhat.com>
8150
8151         * linux-amd64-ipa.c: Include tracepoint.h.
8152         * linux-i386-ipa.c: Include tracepoint.h.
8153
8154 2013-09-06  Ricard Wanderlof  <ricardw@axis.com>
8155
8156         * linux-crisv32-low.c (PTRACE_GET_THREAD_AREA): New macro.
8157         (ps_get_thread_area): New function.
8158
8159 2013-09-06  Ricard Wanderlof  <ricardw@axis.com>
8160
8161         * linux-crisv32-low.c (elf_gregset_t): Delete typedef.
8162         (initialize_low_arch): Call init_registers_crisv32 rather than
8163         init_register_crisv32.
8164
8165 2013-09-05  Pedro Alves  <palves@redhat.com>
8166
8167         * server.h (handle_vFile, hostio_last_error_from_errno): Move
8168         to ...
8169         * hostio.h: ... this new file.
8170         * hostio.c, server.c, linux-low.c, nto-low.c, spu-low,
8171         win32-low.c: Include hostio.h.
8172
8173 2013-09-05  Pedro Alves  <palves@redhat.com>
8174
8175         * server.h (gdb_client_data, handler_func, callback_handler_func)
8176         (delete_file_handler, add_file_handler, append_callback_event)
8177         (delete_callback_event, start_event_loop, initialize_event_loop):
8178         Move to event-loop.h and include it.
8179         * event-loop.h: New file.
8180
8181 2013-09-05  Pedro Alves  <palves@redhat.com>
8182
8183         * dll.c, inferiors.c, remote-utils.c, server.c: Include "dll.h".
8184         * server.h (struct dll_info, all_dlls, dlls_changed, clear_dlls)
8185         (loaded_dll, unloaded_dll): Move to ...
8186         * dll.h: ... this new file.
8187         * inferiors.c, remote-utils.c, win32-low.c: Include "dll.h".
8188
8189 2013-09-05  Pedro Alves  <palves@redhat.com>
8190
8191         * server.h (current_process, get_thread_process, all_processes)
8192         (add_inferior_to_list, for_each_inferior, current_inferior)
8193         (remove_inferior, add_process, remove_process, find_process_pid)
8194         (have_started_inferiors_p, have_attached_inferiors_p)
8195         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id)
8196         (clear_inferiors, find_inferior, find_inferior_id)
8197         (inferior_target_data, set_inferior_target_data)
8198         (inferior_regcache_data, set_inferior_regcache_data): Move to
8199         inferiors.h, and include it.
8200         * inferiors.h: New file.
8201
8202 2013-09-05  Pedro Alves  <palves@redhat.com>
8203
8204         * server.h (struct emit_ops, current_insn_ptr, emit_error):
8205         Move ...
8206         * ax.h: ... here.
8207
8208 2013-09-05  Pedro Alves  <palves@redhat.com>
8209
8210         * ax.c, linux-low.c, linux-x86-low.c, server.c: Include
8211         tracepoint.h.
8212         * server.h (IPA_BUFSIZ, initialize_tracepoint, tracing)
8213         (disconnected_tracing, tracepoint_look_up_symbols, stop_tracing
8214         (handle_tracepoint_general_set, handle_tracepoint_query)
8215         (tracepoint_finished_step, tracepoint_was_hit)
8216         (release_while_stepping_state_list, current_traceframe)
8217         (in_readonly_region, traceframe_read_mem)
8218         (fetch_traceframe_registers, traceframe_read_sdata)
8219         (traceframe_read_info, struct fast_tpoint_collect_status)
8220         (fast_tracepoint_collecting, force_unlock_trace_buffer)
8221         (handle_tracepoit_bkpts, initialize_low_tracepoint)
8222         (supply_fast_tracepoint_registers)
8223         (supply_static_tracepoint_registers, set_trampoline_buffer_space)
8224         (ipa_tdesc, claim_trampoline_space)
8225         (have_fast_tracepoint_trampoline_buffer, gdb_agent_about_to_close)
8226         (agent_mem_read, agent_get_trace_state_variable_value)
8227         (agent_set_trace_state_variable_value, agent_tsv_read)
8228         (agent_mem_read_string, get_raw_reg_func_addr)
8229         (get_get_tsv_func_addr, get_set_tsv_func_addr): Move to ...
8230         * tracepoint.h: ... this new file.
8231
8232 2013-09-05  Pedro Alves  <palves@redhat.com>
8233
8234         * server.h (perror_with_name, error, fatal, warning, paddress)
8235         (pulongest, plongest, phex_nz, pfildes): Move to utils.h, and
8236         include it.
8237         * utils.h: New file.
8238
8239 2013-09-05  Pedro Alves  <palves@redhat.com>
8240
8241         * server.h (remote_debug, noack_mode, transport_is_reliable)
8242         (gdb_connected, STDIO_CONNECTION_NAME, remote_connection_is_stdio)
8243         (read_ptid, write_ptid, putpkt, putpkt_binary, putpkt_notif)
8244         (getpkt, remote_prepare, remote_open, remote_close, write_ok)
8245         (write_enn, initialize_async_io, enable_async_io)
8246         (disable_async_io, check_remote_input_interrupt_request)
8247         (convert_ascii_to_int, convert_int_to_ascii, new_thread_notify)
8248         (dead_thread_notify, prepare_resume_reply)
8249         (decode_address_to_semicolon, decode_address, decode_m_packet)
8250         (decode_M_packet, decode_X_packet, decode_xfer_write)
8251         (decode_search_memory_packet, unhexify, hexify)
8252         (remote_escape_output, unpack_varlen_hex, clear_symbol_cache)
8253         (look_up_one_symbol, relocate_instruction)
8254         (monitor_output): Move to remote-utils.h, and include it.
8255         * remote-utils.h: New file.
8256
8257 2013-09-05  Pedro Alves  <palves@redhat.com>
8258
8259         * server.h (_): Delete.
8260
8261 2013-09-02  Pedro Alves  <palves@redhat.com>
8262
8263         * tracepoint.c (TRACEFRAME_EOB_MARKER_SIZE): New macro.
8264         (init_trace_buffer): Ensure at least TRACEFRAME_EOB_MARKER_SIZE is
8265         allocated.
8266         (trace_buffer_alloc): Use TRACEFRAME_EOB_MARKER_SIZE.
8267
8268 2013-09-02  Pierre Muller  <muller@sourceware.org>
8269
8270         * win32-low.c (child_xfer_memory): Check if ReadProcessMemory
8271         or WriteProcessMemory complete successfully and handle
8272         ERROR_PARTIAL_COPY error.
8273
8274 2013-09-02  Pedro Alves  <palves@redhat.com>
8275
8276         * server.c (gdb_read_memory): Return -1 on traceframe memory read
8277         error instead of EIO.
8278
8279 2013-08-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
8280
8281         PR server/15604
8282         * linux-low.c: Include filestuff.h.
8283         (linux_create_inferior) <pid == 0>: Call close_most_fds.
8284         * lynx-low.c: Include filestuff.h.
8285         (lynx_create_inferior) <pid == 0>: Call close_most_fds.
8286         * server.c: Include filestuff.h.
8287         (main): Call notice_open_fds.
8288         * spu-low.c: Include filestuff.h.
8289         (spu_create_inferior) <pid == 0>: Call close_most_fds.
8290
8291 2013-08-22  Luis Machado  <lgustavo@codesourcery.com>
8292
8293         * Makefile.in: Explain why ../target and ../nat are not
8294         listed as include file search paths.
8295         (linux-waitpid.o): New object file rule.
8296         * configure.srv (srv_native_linux_obj): New variable.
8297         Replace all occurrences of linux native object files with
8298         $srv_native_linux_obj.
8299         * linux-low.c: Include nat/linux-nat.h and nat/linux-waitpid.h.
8300         (HAS_NOMMU): Move defining logic to common/linux-ptrace.c.
8301         (linux_enable_event_reporting): Remove declaration.
8302         (my_waitpid): Moved to common/linux-waitpid.c.
8303         (linux_wait_for_event): Pass ptid when calling
8304         linux_enable_event_reporting.
8305         (linux_supports_tracefork_flag): Remove.
8306         (linux_enable_event_reporting): Likewise.
8307         (linux_tracefork_grandchild): Remove.
8308         (STACK_SIZE): Moved to common/linux-ptrace.c.
8309         (linux_tracefork_child): Remove.
8310         (linux_test_for_tracefork): Remove.
8311         (linux_look_up_symbols): Call linux_supports_traceclone.
8312         (initialize_low): Remove call to linux_test_for_tracefork.
8313         * linux-low.h (PTRACE_TYPE_ARG3): Move to
8314         common/linux-ptrace.h.
8315         (PTRACE_TYPE_ARG4): Likewise.
8316         Include linux-ptrace.h.
8317
8318 2013-08-21  Pedro Alves  <palves@redhat.com>
8319
8320         * config.in: Renegerate.
8321
8322 2013-08-19  Luis Machado  <lgustavo@codesourcery.com>
8323
8324         * Makefile.in (INCLUDE_CFLAGS): Include -I$(srcdir)/../.
8325         (SFILES): Remove $(srcdir)/common/target-common.c and
8326         add $(srcdir)/target/waitstatus.c.
8327         (OBS): Remove target-common.o and add waitstatus.o.
8328         (server_h): Remove $(srcdir)/../common/target-common.h and
8329         add $(srcdir)/../target/resume.h, $(srcdir)/../target/wait.h
8330         and $(srcdir)/../target/waitstatus.h.
8331         (target-common.o): Remove.
8332         (waitstatus.o): New target object file.
8333         * target.h: Do not include target-common.h and
8334         include target/resume.h, target/wait.h and
8335         target/waitstatus.h.
8336
8337 2013-08-13  Luis Machado  <lgustavo@codesourcery.com>
8338
8339         * linux-arm-low.c: Rename all occurrences of PTRACE_ARG3_TYPE
8340         to PTRACE_TYPE_ARG3.
8341         * linux-low.c: Rename all occurrences of PTRACE_ARG3_TYPE
8342         to PTRACE_TYPE_ARG3 and PTRACE_ARG4_TYPE to
8343         PTRACE_TYPE_ARG4.
8344         * linux-low.h (PTRACE_ARG3_TYPE): Rename to PTRACE_TYPE_ARG3.
8345         (PTRACE_ARG4_TYPE): Rename to PTRACE_TYPE_ARG4.
8346
8347 2013-07-27  Jie Zhang  <jie@codesourcery.com>
8348             Daniel Jacobowitz  <dan@codesourcery.com>
8349             Yao Qi  <yao@codesourcery.com>
8350
8351         * Makefile.in (SFILES): Add common/mips-linux-watch.c.
8352         (mips-linux-watch.o): New rule.
8353         (mips_linux_watch_h): New variable.
8354         * configure.srv <mips*-*-linux*>: Add mips-linux-watch.o to
8355         srv_tgtobj.
8356         * linux-mips-low.c: Include mips-linux-watch.h.
8357         (struct arch_process_info, struct arch_lwp_info): New.
8358         (update_watch_registers_callback): New function.
8359         (mips_linux_new_process, mips_linux_new_thread) New functions.
8360         (mips_linux_prepare_to_resume, mips_insert_point): New
8361         functions.
8362         (mips_remove_point, mips_stopped_by_watchpoint): New
8363         functions.
8364         (rsp_bp_type_to_target_hw_bp_type): New function.
8365         (mips_stopped_data_address): New function.
8366         (the_low_target): Add watchpoint support functions.
8367
8368 2013-07-27  Yao Qi  <yao@codesourcery.com>
8369
8370         * i386-low.c: Include break-common.h.
8371         (enum target_hw_bp_type): Remove.
8372
8373 2013-07-24  Luis Machado  <lgustavo@codesourcery.com>
8374
8375         * Makefile.in (SFILES): /common/target-common.c.
8376         (OBS): Add target-common.o.
8377         (server_h): Add $(srcdir)/../common/target-common.h.
8378         (target-common.o): New target.
8379         * server.c (queue_stop_reply_callback): Free
8380         status string after use.
8381         * target.c (target_waitstatus_to_string): Remove.
8382         * target.h: Include target-common.h.
8383         (resume_kind): Likewise.
8384         (target_waitkind): Likewise.
8385         (target_waitstatus): Likewise.
8386         (TARGET_WNOHANG): Likewise.
8387
8388 2013-07-04  Yao Qi  <yao@codesourcery.com>
8389
8390         * Makefile.in (host_alias): Use @host_noncanonical@.
8391         (target_alias): Use @target_noncanonical@.
8392         * configure.ac: Use ACX_NONCANONICAL_TARGET and
8393         ACX_NONCANONICAL_HOST.
8394         * configure: Regenerated.
8395
8396         Revert:
8397         2013-06-28  Mircea Gherzan  <mircea.gherzan@intel.com>
8398
8399         * configure.ac (version_host, version_target): Set and AC_SUBST them.
8400         * configure: Rebuild.
8401         * Makefile.in (version_host, version_target): Get from configure.
8402         (version.c): Use $(version_host) and $(version_target).
8403
8404 2013-07-03  Pedro Alves  <palves@redhat.com>
8405
8406         * Makefile.in (config.status): Depend on development.sh.
8407         * acinclude.m4: Include libmcheck.m4.
8408         * configure: Regenerate.
8409
8410 2013-07-02  Mircea Gherzan  <mircea.gherzan@intel.com>
8411
8412         * win32-low.c (winapi_DebugActiveProcessStop): Move the WINAPI
8413         attribute inside the parentheses.
8414         (winapi_DebugSetProcessKillOnExit): Ditto.
8415         (winapi_DebugBreakProcess): Ditto.
8416         (winapi_GenerateConsoleCtrlEvent): Ditto.
8417
8418 2013-07-02  Mircea Gherzan  <mircea.gherzan@intel.com>
8419
8420         * notif.h (notif_event): Add a dummy member to avoid compiler
8421         errors.
8422
8423 2013-07-01  Pedro Alves  <palves@redhat.com>
8424
8425         * hostio.c (HOSTIO_PATH_MAX): Define.
8426         (require_filename, handle_open, handle_unlink, handle_readlink):
8427         Use it.
8428
8429 2013-07-01  Pedro Alves  <palves@redhat.com>
8430
8431         * server.h: Include "pathmax.h".
8432         * linux-low.c: Don't include sys/param.h.
8433         (linux_pid_exe_is_elf_64_file): Use PATH_MAX instead of
8434         MAXPATHLEN.
8435         * win32-low.c: Don't include sys/param.h.
8436         (win32_create_inferior): Use PATH_MAX instead of MAXPATHLEN.
8437
8438 2013-07-01  Pedro Alves  <palves@redhat.com>
8439
8440         * event-loop.c: Don't check HAVE_UNISTD_H before including
8441         <unistd.h>.
8442         * gdbreplay.c: Likewise.
8443         * remote-utils.c: Likewise.
8444         * server.c: Likewise.
8445         * configure.ac: Don't check for unistd.h.
8446         * configure: Regenerate.
8447
8448 2013-06-28  Tom Tromey  <tromey@redhat.com>
8449
8450         * Makefile.in (version.c): Use version.in, not
8451         common/version.in.
8452
8453 2013-06-28  Mircea Gherzan  <mircea.gherzan@intel.com>
8454
8455         * configure.ac (version_host, version_target): Set and AC_SUBST them.
8456         * configure: Rebuild.
8457         * Makefile.in (version_host, version_target): Get from configure.
8458         (version.c): Use $(version_host) and $(version_target).
8459
8460 2013-06-10  Dmitry Kozlov <ddk@codesourcery.com>
8461
8462         Fix trace-status to output user name without trailing colon.
8463         * tracepoint.c (cmd_qtstatus): Remove unnecessary colon from user name.
8464
8465 2013-06-10  Dmitry Kozlov <ddk@codesourcery.com>
8466
8467         Fix trace-status to output proper start-time and stop-time.
8468         * tracepoint.c (cmd_qtstatus): Modify trace-status output to
8469         output start time and stop time in hex as gdb expects.
8470
8471 2013-06-26  Pedro Alves  <pedro@codesourcery.com>
8472
8473         * tracepoint.c (build_traceframe_info_xml): Output trace state
8474         variables present in the trace buffer.
8475
8476 2013-06-24  Tom Tromey  <tromey@redhat.com>
8477
8478         * Makefile.in (version.c): Use bfd/version.h, common/version.in,
8479         create-version.sh.
8480         (version.o): Remove.
8481         * gdbreplay.c: Include version.h.
8482         (version, host_name): Don't declare.
8483         * server.h: Include version.h.
8484         (version, host_name): Don't declare.
8485
8486 2013-06-12  Pedro Alves  <palves@redhat.com>
8487
8488         * linux-x86-low.c (linux_is_elf64): Delete global.
8489         (x86_siginfo_fixup): Replace reference to `linux_is_elf64' global
8490         with local linux_pid_exe_is_elf_64_file use.
8491
8492 2013-06-11  Pedro Alves  <palves@redhat.com>
8493
8494         * linux-low.c (regset_disabled, disable_regset): New functions.
8495         (regsets_fetch_inferior_registers)
8496         (regsets_store_inferior_registers): Use them.
8497         (initialize_regsets_info); Don't allocate the disabled_regsets
8498         array here.
8499         * linux-low.h (struct regsets_info) <disabled_regsets>: Extend
8500         comment.
8501
8502 2013-06-11  Pedro Alves  <palves@redhat.com>
8503
8504         * linux-low.c (initialize_regsets_info): Use xcalloc instead of
8505         xmalloc.
8506
8507 2013-06-11  Pedro Alves  <palves@redhat.com>
8508
8509         * linux-x86-low.c (initialize_low_arch): Call
8510         init_registers_x32_avx_linux.
8511
8512 2013-06-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
8513
8514         Fix compatibility with Android Bionic.
8515         * linux-low.c (linux_qxfer_libraries_svr4): Ignore first entry even if
8516         it is not empty.
8517
8518 2013-06-07  Pedro Alves  <palves@redhat.com>
8519
8520         PR server/14823
8521         * Makefile.in (OBS): Add tdesc.o.
8522         (IPA_OBJS): Add tdesc-ipa.o.
8523         (tdesc-ipa.o): New rule.
8524         * ax.c (gdb_eval_agent_expr): Adjust register_size call to new
8525         interface.
8526         * linux-low.c (new_inferior): Delete.
8527         (disabled_regsets, num_regsets): Delete.
8528         (linux_add_process): Adjust to set the new per-process
8529         new_inferior flag.
8530         (linux_detach_one_lwp): Adjust to call regcache_invalidate_thread.
8531         (linux_wait_for_lwp): Adjust.  Only call arch_setup if the event
8532         was a stop.  When calling arch_setup, switch the current inferior
8533         to the thread that got an event.
8534         (linux_resume_one_lwp): Adjust to call regcache_invalidate_thread.
8535         (regsets_fetch_inferior_registers)
8536         (regsets_store_inferior_registers): New regsets_info parameter.
8537         Adjust to use it.
8538         (linux_register_in_regsets): New regs_info parameter.  Adjust to
8539         use it.
8540         (register_addr, fetch_register, store_register): New usrregs_info
8541         parameter.  Adjust to use it.
8542         (usr_fetch_inferior_registers, usr_store_inferior_registers): New
8543         parameter regs_info.  Adjust to use it.
8544         (linux_fetch_registers): Get the current inferior's regs_info, and
8545         adjust to use it.
8546         (linux_store_registers): Ditto.
8547         [HAVE_LINUX_REGSETS] (initialize_regsets_info): New.
8548         (initialize_low): Don't initialize the target_regsets here.  Call
8549         initialize_low_arch.
8550         * linux-low.h (target_regsets): Delete declaration.
8551         (struct regsets_info): New.
8552         (struct usrregs_info): New.
8553         (struct regs_info): New.
8554         (struct process_info_private) <new_inferior>: New field.
8555         (struct linux_target_ops): Delete the num_regs, regmap, and
8556         regset_bitmap fields.  New field regs_info.
8557         [HAVE_LINUX_REGSETS] (initialize_regsets_info): Declare.
8558         * i387-fp.c (num_xmm_registers): Delete.
8559         (i387_cache_to_fsave, i387_fsave_to_cache): Adjust find_regno
8560         calls to new interface.
8561         (i387_cache_to_fxsave, i387_cache_to_xsave, i387_fxsave_to_cache)
8562         (i387_xsave_to_cache): Adjust find_regno calls to new interface.
8563         Infer the number of xmm registers from the regcache's target
8564         description.
8565         * i387-fp.h (num_xmm_registers): Delete.
8566         * inferiors.c (add_thread): Don't install the thread's regcache
8567         here.
8568         * proc-service.c (gregset_info): Fetch the current inferior's
8569         regs_info.  Adjust to use it.
8570         * regcache.c: Include tdesc.h.
8571         (register_bytes, reg_defs, num_registers)
8572         (gdbserver_expedite_regs): Delete.
8573         (get_thread_regcache): If the thread doesn't have a regcache yet,
8574         create one, instead of aborting gdbserver.
8575         (regcache_invalidate_one): Rename to ...
8576         (regcache_invalidate_thread): ... this.
8577         (regcache_invalidate_one): New.
8578         (regcache_invalidate): Only invalidate registers of the current
8579         process.
8580         (init_register_cache): Add target_desc parameter, and use it.
8581         (new_register_cache): Ditto.  Assert the target description has a
8582         non zero registers_size.
8583         (regcache_cpy): Add assertions.  Adjust.
8584         (realloc_register_cache, set_register_cache): Delete.
8585         (registers_to_string, registers_from_string): Adjust.
8586         (find_register_by_name, find_regno, find_register_by_number)
8587         (register_cache_size): Add target_desc parameter, and use it.
8588         (free_register_cache_thread, free_register_cache_thread_one)
8589         (regcache_release, register_cache_size): New.
8590         (register_size): Add target_desc parameter, and use it.
8591         (register_data, supply_register, supply_register_zeroed)
8592         (supply_regblock, supply_register_by_name, collect_register)
8593         (collect_register_as_string, collect_register_by_name): Adjust.
8594         * regcache.h (struct target_desc): Forward declare.
8595         (struct regcache) <tdesc>: New field.
8596         (init_register_cache, new_register_cache): Add target_desc
8597         parameter.
8598         (regcache_invalidate_thread): Declare.
8599         (regcache_invalidate_one): Delete declaration.
8600         (regcache_release): Declare.
8601         (find_register_by_number, register_cache_size, register_size)
8602         (find_regno): Add target_desc parameter.
8603         (gdbserver_expedite_regs, gdbserver_xmltarget): Delete
8604         declarations.
8605         * remote-utils.c: Include tdesc.h.
8606         (outreg, prepare_resume_reply): Adjust.
8607         * server.c: Include tdesc.h.
8608         (gdbserver_xmltarget): Delete declaration.
8609         (get_features_xml, process_serial_event): Adjust.
8610         * server.h [IN_PROCESS_AGENT] (struct target_desc): Forward
8611         declare.
8612         (struct process_info) <tdesc>: New field.
8613         (ipa_tdesc): Declare.
8614         * tdesc.c: New file.
8615         * tdesc.h: New file.
8616         * tracepoint.c: Include tdesc.h.
8617         [IN_PROCESS_AGENT] (ipa_tdesc): Define.
8618         (get_context_regcache): Adjust to pass ipa_tdesc down.
8619         (do_action_at_tracepoint): Adjust to get the register cache size
8620         from the context regcache's description.
8621         (traceframe_walk_blocks): Adjust to get the register cache size
8622         from the current trace frame's description.
8623         (traceframe_get_pc): Adjust to get current trace frame's
8624         description and pass it down.
8625         (gdb_collect): Adjust to get the register cache size from the
8626         IPA's description.
8627         * linux-amd64-ipa.c (tdesc_amd64_linux): Declare.
8628         (gdbserver_xmltarget): Delete.
8629         (initialize_low_tracepoint): Set the ipa's target description.
8630         * linux-i386-ipa.c (tdesc_i386_linux): Declare.
8631         (initialize_low_tracepoint): Set the ipa's target description.
8632         * linux-x86-low.c: Include tdesc.h.
8633         [__x86_64__] (is_64bit_tdesc): New.
8634         (ps_get_thread_area, x86_get_thread_area): Use it.
8635         (i386_cannot_store_register): Rename to ...
8636         (x86_cannot_store_register): ... this.  Use is_64bit_tdesc.
8637         (i386_cannot_fetch_register): Rename to ...
8638         (x86_cannot_fetch_register): ... this.  Use is_64bit_tdesc.
8639         (x86_fill_gregset, x86_store_gregset): Adjust register_size calls
8640         to new interface.
8641         (target_regsets): Rename to ...
8642         (x86_regsets): ... this.
8643         (x86_get_pc, x86_set_pc): Adjust register_size calls to new
8644         interface.
8645         (x86_siginfo_fixup): Use is_64bit_tdesc.
8646         [__x86_64__] (tdesc_amd64_linux, tdesc_amd64_avx_linux)
8647         (tdesc_x32_avx_linux, tdesc_x32_linux)
8648         (tdesc_i386_linux, tdesc_i386_mmx_linux, tdesc_i386_avx_linux):
8649         Declare.
8650         (x86_linux_update_xmltarget): Delete.
8651         (I386_LINUX_XSAVE_XCR0_OFFSET): Define.
8652         (have_ptrace_getfpxregs, have_ptrace_getregset): New.
8653         (AMD64_LINUX_USER64_CS): New.
8654         (x86_linux_read_description): New, based on
8655         x86_linux_update_xmltarget.
8656         (same_process_callback): New.
8657         (x86_arch_setup_process_callback): New.
8658         (x86_linux_update_xmltarget): New.
8659         (x86_regsets_info): New.
8660         (amd64_linux_regs_info): New.
8661         (i386_linux_usrregs_info): New.
8662         (i386_linux_regs_info): New.
8663         (x86_linux_regs_info): New.
8664         (x86_arch_setup): Reimplement.
8665         (x86_install_fast_tracepoint_jump_pad): Use is_64bit_tdesc.
8666         (x86_emit_ops): Ditto.
8667         (the_low_target): Adjust.  Install x86_linux_regs_info,
8668         x86_cannot_fetch_register, and x86_cannot_store_register.
8669         (initialize_low_arch): New.
8670         * linux-ia64-low.c (tdesc_ia64): Declare.
8671         (ia64_fetch_register): Adjust.
8672         (ia64_usrregs_info, regs_info): New globals.
8673         (ia64_regs_info): New function.
8674         (the_low_target): Adjust.
8675         (initialize_low_arch): New function.
8676         * linux-sparc-low.c (tdesc_sparc64): Declare.
8677         (sparc_fill_gregset_to_stack, sparc_store_gregset_from_stack):
8678         Adjust.
8679         (sparc_arch_setup): New function.
8680         (sparc_regsets_info, sparc_usrregs_info, regs_info): New globals.
8681         (the_low_target): Adjust.
8682         (initialize_low_arch): New function.
8683         * linux-ppc-low.c (tdesc_powerpc_32l, tdesc_powerpc_altivec32l)
8684         (tdesc_powerpc_cell32l, tdesc_powerpc_vsx32l)
8685         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_altivec32l)
8686         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_e500l)
8687         (tdesc_powerpc_64l, tdesc_powerpc_altivec64l)
8688         (tdesc_powerpc_cell64l, tdesc_powerpc_vsx64l)
8689         (tdesc_powerpc_isa205_64l, tdesc_powerpc_isa205_altivec64l)
8690         (tdesc_powerpc_isa205_vsx64l): Declare.
8691         (ppc_cannot_store_register, ppc_collect_ptrace_register)
8692         (ppc_supply_ptrace_register, parse_spufs_run, ppc_get_pc)
8693         (ppc_set_pc, ppc_get_hwcap): Adjust.
8694         (ppc_usrregs_info): Forward declare.
8695         (!__powerpc64__) ppc_regmap_adjusted: New global.
8696         (ppc_arch_setup): Adjust to the current process'es target
8697         description.
8698         (ppc_fill_vsxregset, ppc_store_vsxregset, ppc_fill_vrregset)
8699         (ppc_store_vrregset, ppc_fill_evrregset, ppc_store_evrregse)
8700         (ppc_store_evrregset): Adjust.
8701         (target_regsets): Rename to ...
8702         (ppc_regsets): ... this, and make static.
8703         (ppc_usrregs_info, ppc_regsets_info, regs_info): New globals.
8704         (ppc_regs_info): New function.
8705         (the_low_target): Adjust.
8706         (initialize_low_arch): New function.
8707         * linux-s390-low.c (tdesc_s390_linux32, tdesc_s390_linux32v1)
8708         (tdesc_s390_linux32v2, tdesc_s390_linux64, tdesc_s390_linux64v1)
8709         (tdesc_s390_linux64v2, tdesc_s390x_linux64, tdesc_s390x_linux64v1)
8710         (tdesc_s390x_linux64v2): Declare.
8711         (s390_collect_ptrace_register, s390_supply_ptrace_register)
8712         (s390_fill_gregset, s390_store_last_break): Adjust.
8713         (target_regsets): Rename to ...
8714         (s390_regsets): ... this, and make static.
8715         (s390_get_pc, s390_set_pc): Adjust.
8716         (s390_get_hwcap): New target_desc parameter, and use it.
8717         [__s390x__] (have_hwcap_s390_high_gprs): New global.
8718         (s390_arch_setup): Adjust to set the current process'es target
8719         description.  Don't adjust the regmap.
8720         (s390_usrregs_info, s390_regsets_info, regs_info): New globals.
8721         [__s390x__] (s390_usrregs_info_3264, s390_regsets_info_3264)
8722         (regs_info_3264): New globals.
8723         (s390_regs_info): New function.
8724         (the_low_target): Adjust.
8725         (initialize_low_arch): New function.
8726         * linux-mips-low.c (tdesc_mips_linux, tdesc_mips_dsp_linux)
8727         (tdesc_mips64_linux, tdesc_mips64_dsp_linux): Declare.
8728         [__mips64] (init_registers_mips_linux)
8729         (init_registers_mips_dsp_linux): Delete defines.
8730         [__mips64] (tdesc_mips_linux, tdesc_mips_dsp_linux): New defines.
8731         (have_dsp): New global.
8732         (mips_read_description): New, based on mips_arch_setup.
8733         (mips_arch_setup): Reimplement.
8734         (get_usrregs_info): New function.
8735         (mips_cannot_fetch_register, mips_cannot_store_register)
8736         (mips_get_pc, mips_set_pc, mips_fill_gregset, mips_store_gregset)
8737         (mips_fill_fpregset, mips_store_fpregset): Adjust.
8738         (target_regsets): Rename to ...
8739         (mips_regsets): ... this, and make static.
8740         (mips_regsets_info, mips_dsp_usrregs_info, mips_usrregs_info)
8741         (dsp_regs_info, regs_info): New globals.
8742         (mips_regs_info): New function.
8743         (the_low_target): Adjust.
8744         (initialize_low_arch): New function.
8745         * linux-arm-low.c (tdesc_arm, tdesc_arm_with_iwmmxt)
8746         (tdesc_arm_with_vfpv2, tdesc_arm_with_vfpv3, tdesc_arm_with_neon):
8747         Declare.
8748         (arm_fill_vfpregset, arm_store_vfpregset): Adjust.
8749         (arm_read_description): New, with bits factored from
8750         arm_arch_setup.
8751         (arm_arch_setup): Reimplement.
8752         (target_regsets): Rename to ...
8753         (arm_regsets): ... this, and make static.
8754         (arm_regsets_info, arm_usrregs_info, regs_info): New globals.
8755         (arm_regs_info): New function.
8756         (the_low_target): Adjust.
8757         (initialize_low_arch): New function.
8758         * linux-m68k-low.c (tdesc_m68k): Declare.
8759         (target_regsets): Rename to ...
8760         (m68k_regsets): ... this, and make static.
8761         (m68k_regsets_info, m68k_usrregs_info, regs_info): New globals.
8762         (m68k_regs_info): New function.
8763         (m68k_arch_setup): New function.
8764         (the_low_target): Adjust.
8765         (initialize_low_arch): New function.
8766         * linux-sh-low.c (tdesc_sharch): Declare.
8767         (target_regsets): Rename to ...
8768         (sh_regsets): ... this, and make static.
8769         (sh_regsets_info, sh_usrregs_info, regs_info): New globals.
8770         (sh_regs_info, sh_arch_setup): New functions.
8771         (the_low_target): Adjust.
8772         (initialize_low_arch): New function.
8773         * linux-bfin-low.c (tdesc_bfin): Declare.
8774         (bfin_arch_setup): New function.
8775         (bfin_usrregs_info, regs_info): New globals.
8776         (bfin_regs_info): New function.
8777         (the_low_target): Adjust.
8778         (initialize_low_arch): New function.
8779         * linux-cris-low.c (tdesc_cris): Declare.
8780         (cris_arch_setup): New function.
8781         (cris_usrregs_info, regs_info): New globals.
8782         (cris_regs_info): New function.
8783         (the_low_target): Adjust.
8784         (initialize_low_arch): New function.
8785         * linux-cris-low.c (tdesc_crisv32): Declare.
8786         (cris_arch_setup): New function.
8787         (cris_regsets_info, cris_usrregs_info, regs_info): New globals.
8788         (cris_regs_info): New function.
8789         (the_low_target): Adjust.
8790         (initialize_low_arch): New function.
8791         * linux-m32r-low.c (tdesc_m32r): Declare.
8792         (m32r_arch_setup): New function.
8793         (m32r_usrregs_info, regs_info): New globals.
8794         (m32r_regs_info): Adjust.
8795         (initialize_low_arch): New function.
8796         * linux-tic6x-low.c (tdesc_tic6x_c64xp_linux)
8797         (tdesc_tic6x_c64x_linux, tdesc_tic6x_c62x_linux): Declare.
8798         (tic6x_usrregs_info): Forward declare.
8799         (tic6x_read_description): New function, based on ...
8800         (tic6x_arch_setup): ... this.  Reimplement.
8801         (target_regsets): Rename to ...
8802         (tic6x_regsets): ... this, and make static.
8803         (tic6x_regsets_info, tic6x_usrregs_info, regs_info): New globals.
8804         (tic6x_regs_info): New function.
8805         (the_low_target): Adjust.
8806         (initialize_low_arch): New function.
8807         * linux-xtensa-low.c (tdesc_xtensa): Declare.
8808         (xtensa_fill_gregset, xtensa_store_gregset): Adjust.
8809         (target_regsets): Rename to ...
8810         (xtensa_regsets): ... this, and make static.
8811         (xtensa_regsets_info, xtensa_usrregs_info, regs_info): New
8812         globals.
8813         (xtensa_arch_setup, xtensa_regs_info): New functions.
8814         (the_low_target): Adjust.
8815         (initialize_low_arch): New function.
8816         * linux-nios2-low.c (tdesc_nios2_linux): Declare.
8817         (nios2_arch_setup): Set the current process'es tdesc.
8818         (target_regsets): Rename to ...
8819         (nios2_regsets): ... this.
8820         (nios2_regsets_info, nios2_usrregs_info, regs_info): New globals.
8821         (nios2_regs_info): New function.
8822         (the_low_target): Adjust.
8823         (initialize_low_arch): New function.
8824         * linux-aarch64-low.c (tdesc_aarch64): Declare.
8825         (aarch64_arch_setup): Set the current process'es tdesc.
8826         (target_regsets): Rename to ...
8827         (aarch64_regsets): ... this.
8828         (aarch64_regsets_info, aarch64_usrregs_info, regs_info): New globals.
8829         (aarch64_regs_info): New function.
8830         (the_low_target): Adjust.
8831         (initialize_low_arch): New function.
8832         * linux-tile-low.c (tdesc_tilegx, tdesc_tilegx32): Declare
8833         globals.
8834         (target_regsets): Rename to ...
8835         (tile_regsets): ... this.
8836         (tile_regsets_info, tile_usrregs_info, regs_info): New globals.
8837         (tile_regs_info): New function.
8838         (tile_arch_setup): Set the current process'es tdesc.
8839         (the_low_target): Adjust.
8840         (initialize_low_arch): New function.
8841         * spu-low.c (tdesc_spu): Declare.
8842         (spu_create_inferior, spu_attach): Set the new process'es tdesc.
8843         * win32-arm-low.c (tdesc_arm): Declare.
8844         (arm_arch_setup): New function.
8845         (the_low_target): Install arm_arch_setup instead of
8846         init_registers_arm.
8847         * win32-i386-low.c (tdesc_i386, tdesc_amd64): Declare.
8848         (init_windows_x86): Rename to ...
8849         (i386_arch_setup): ... this.  Set `win32_tdesc'.
8850         (the_low_target): Adjust.
8851         * win32-low.c (win32_tdesc): New global.
8852         (child_add_thread): Don't create the thread cache here.
8853         (do_initial_child_stuff): Set the new process'es tdesc.
8854         * win32-low.h (struct target_desc): Forward declare.
8855         (win32_tdesc): Declare.
8856         * lynx-i386-low.c (tdesc_i386): Declare global.
8857         (lynx_i386_arch_setup): Set `lynx_tdesc'.
8858         * lynx-low.c (lynx_tdesc): New global.
8859         (lynx_add_process): Set the new process'es tdesc.
8860         * lynx-low.h (struct target_desc): Forward declare.
8861         (lynx_tdesc): Declare global.
8862         * lynx-ppc-low.c (tdesc_powerpc_32): Declare global.
8863         (lynx_ppc_arch_setup): Set `lynx_tdesc'.
8864         * nto-low.c (nto_tdesc): New global.
8865         (do_attach): Set the new process'es tdesc.
8866         * nto-low.h (struct target_desc): Forward declare.
8867         (nto_tdesc): Declare.
8868         * nto-x86-low.c (tdesc_i386): Declare.
8869         (nto_x86_arch_setup): Set `nto_tdesc'.
8870
8871 2013-06-04  Gary Benson  <gbenson@redhat.com>
8872
8873         * server.c (handle_query): Add "augmented-libraries-svr4-read+"
8874         to qSupported response when appropriate.
8875         (handle_qxfer_libraries_svr4): Allow qXfer:libraries-svr4:read
8876         with nonzero-length annex.
8877         * linux-low.c (linux_qxfer_libraries_svr4): Parse and handle
8878         arguments supplied in annex.
8879
8880 2013-05-31  Doug Evans  <dje@google.com>
8881
8882         PR server/15594
8883         * linux-x86-low.c (ps_get_thread_area): Properly extend address to
8884         64 bits in 64-cross-32 environment.
8885
8886 2013-05-28  Pedro Alves  <palves@redhat.com>
8887
8888         * Makefile.in (clean): Remove reference to aarch64-without-fpu.c.
8889         (aarch64-without-fpu.c): Delete rule.
8890         * configure.srv (aarch64*-*-linux*): Remove references to
8891         aarch64-without-fpu.o and aarch64-without-fpu.xml.
8892         * linux-aarch64-low.c (init_registers_aarch64_without_fpu): Remove
8893         declaration.
8894
8895 2013-05-24  Pedro Alves  <palves@redhat.com>
8896
8897         * server.c (handle_v_cont) <vCont;r>: Use unpack_varlen_hex
8898         instead of strchr/decode_address.  Error if the range isn't split
8899         with a ','.  Don't assume there's be a ':' in the action.
8900
8901 2013-05-23  Yao Qi  <yao@codesourcery.com>
8902             Pedro Alves  <palves@redhat.com>
8903
8904         * linux-low.c (lwp_in_step_range): New function.
8905         (linux_wait_1): If the thread was range stepping and stopped
8906         outside the stepping range, report the stop to GDB.  Otherwise,
8907         continue stepping.  Add range stepping debug output.
8908         (linux_set_resume_request): Copy the step range from the resume
8909         request to the lwp.
8910         (linux_supports_range_stepping): New.
8911         (linux_target_ops) <supports_range_stepping>: Set to
8912         linux_supports_range_stepping.
8913         * linux-low.h (struct linux_target_ops)
8914         <supports_range_stepping>: New field.
8915         (struct lwp_info) <step_range_start, step_range_end>: New fields.
8916         * linux-x86-low.c (x86_supports_range_stepping): New.
8917         (the_low_target) <supports_range_stepping>: Set to
8918         x86_supports_range_stepping.
8919         * server.c (handle_v_cont): Handle 'r' action.
8920         (handle_v_requests): Append ";r" if the target supports range
8921         stepping.
8922         * target.h (struct thread_resume) <step_range_start,
8923         step_range_end>: New fields.
8924         (struct target_ops) <supports_range_stepping>:
8925         New field.
8926         (target_supports_range_stepping): New macro.
8927
8928 2013-05-17  Joel Brobecker  <brobecker@adacore.com>
8929
8930         * lynx-low.c (lynx_resume): Fix null_ptid/minus_one_ptid
8931         confusion in comment.
8932
8933 2013-05-17  Joel Brobecker  <brobecker@adacore.com>
8934
8935         * lynx-low.c (struct process_info_private): New type.
8936         (lynx_add_process): New function.
8937         (lynx_create_inferior, lynx_attach): Replace calls to
8938         add_process by calls to lynx_add_process.
8939         (lynx_resume): If PTID is null, then try using
8940         current_process()->private->last_wait_event_ptid.
8941         Add comments.
8942         (lynx_clear_inferiors): Delete.  The contents of that function
8943         has been inlined in lynx_mourn;
8944         (lynx_wait_1): Save the ptid in the process's private data.
8945         (lynx_mourn): Free the process' private data.  Replace call
8946         to lynx_clear_inferiors by call to clear_inferiors.
8947
8948 2013-05-17  Yao Qi  <yao@codesourcery.com>
8949
8950         * i386-low.c (i386_length_and_rw_bits): Move the comment to
8951         the right place.
8952
8953 2013-05-16  Luis Machado  <lgustavo@codesourcery.com>
8954
8955         * linux-low.c: Move definition checks upwards for PT_TEXT_ADDR,
8956         PT_DATA_ADDR and PT_TEXT_END_ADDR.  Update comments.
8957         (linux_read_offsets): Remove PT_TEXT_ADDR, PT_DATA_ADDR and
8958         PT_TEXT_END_ADDR guards.  Update comments.
8959         (linux_target_op) <read_offsets>: Conditionally define to
8960         linux_read_offsets if the target is UCLIBC and if it defines
8961         PT_TEXT_ADDR, PT_DATA_ADDR and PT_TEXT_END_ADDR.
8962
8963 2013-05-06  Sandra Loosemore  <sandra@codesourcery.com>
8964             Andrew Jenner  <andrew@codesourcery.com>
8965
8966         * Makefile.in (SFILES): Add linux-nios2-low.c.
8967         (clean): Add action to delete nios2-linux.c.
8968         (nios2-linux.c): New rule.
8969         * configure.srv: Add nios2*-*-linux*.
8970         * linux-nios2-low.c: New.
8971
8972 2013-05-03  Hafiz Abid Qadeer  <abidh@codesourcery.com>
8973
8974         * tracepoint.c (cmd_qtinit): Call 'stop_tracing'.
8975
8976 2013-04-25  Hui Zhu  <hui@codesourcery.com>
8977
8978         PR gdb/15186
8979         * ax.c (ax_printf): Add fflush.
8980
8981 2013-04-22  Tom Tromey  <tromey@redhat.com>
8982
8983         * Makefile.in (SFILES): Add filestuff.c.
8984         (OBS): Add filestuff.o.
8985         (filestuff.o): New target.
8986         * config.in, configure: Rebuild.
8987         * configure.ac: Check for fdwalk, pipe2.
8988
8989 2013-04-17  Pedro Alves  <palves@redhat.com>
8990
8991         * configure.ac (USE_THREAD_DB): Delete variable.
8992         (if test "$srv_linux_thread_db" = "yes"): AC_DEFINE USE_THREAD_DB.
8993         Don't AC_SUBST USE_THREAD_DB.
8994         * Makefile.in (INTERNAL_CFLAGS): Remove @USE_THREAD_DB@.
8995         * config.in, configure: Regenerate.
8996
8997 2013-04-16  Pedro Alves  <palves@redhat.com>
8998
8999         * linux-low.h (struct lwp_info) <thread_known>: Move under
9000         the USE_THREAD_DB #ifdef.
9001
9002 2013-04-16  Pedro Alves  <palves@redhat.com>
9003
9004         * Makefile.in (INTERNAL_CFLAGS): Add @USE_THREAD_DB@.
9005         (linux-low.o): Delete rule.
9006         * linux-low.h: Always include "gdb_thread_db.h" instead of
9007         conditionally including thread_db.h.
9008         (struct lwp_info) <th>: Guard with #ifdef USE_THREAD_DB instead of
9009         HAVE_THREAD_DB_H.
9010
9011 2013-04-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
9012
9013         * Makefile.in (install-only): Fix make install regression.
9014
9015 2013-04-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
9016
9017         Convert man pages to texinfo, new gdbinit.5 texinfo page.
9018         * Makefile.in (install-only): Remove $(man1dir) and gdbserver.1
9019         installation.
9020         * gdbserver.1: Remove.
9021
9022 2013-03-22  Pedro Alves  <palves@redhat.com>
9023
9024         * linux-low.c (handle_extended_wait): Don't call
9025         linux_enable_event_reporting.
9026
9027 2013-03-15  Tony Theodore  <tonyt@logyst.com>
9028
9029         PR build/9098:
9030         * Makefile.in (SHELL): Use @SHELL@.
9031
9032 2013-03-14  Sergio Durigan Junior  <sergiodj@redhat.com>
9033
9034         * tracepoint.c (cmd_qtv): Initialize `val' with zero, silencing
9035         compiler warning.
9036
9037 2013-03-13  Joel Brobecker  <brobecker@adacore.com>
9038
9039         * linux-low.c (linux_target_ops) [!HAVE_LINUX_BTRACE]:
9040         Remove extraneous NULL element.
9041
9042 2013-03-13  Yao Qi  <yao@codesourcery.com>
9043
9044         * tracepoint.c (traceframe_read_tsv): Look for the last matched
9045         'V' block in trace frame.
9046
9047 2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
9048
9049         * target.h (struct target_ops): Add btrace ops.
9050         (target_supports_btrace): New macro.
9051         (target_enable_btrace): New macro.
9052         (target_disable_btrace): New macro.
9053         (target_read_btrace): New macro.
9054         * gdbthread.h (struct thread_info): Add btrace field.
9055         * server.c: Include btrace-common.h.
9056         (handle_btrace_general_set): New function.
9057         (handle_btrace_enable): New function.
9058         (handle_btrace_disable): New function.
9059         (handle_general_set): Call handle_btrace_general_set.
9060         (handle_qxfer_btrace): New function.
9061         (struct qxfer qxfer_packets[]): Add btrace entry.
9062         * inferiors.c (remove_thread): Disable btrace.
9063         * linux-low: Include linux-btrace.h.
9064         (linux_low_enable_btrace): New function.
9065         (linux_low_read_btrace): New function.
9066         (linux_target_ops): Add btrace ops.
9067         * configure.srv (i[34567]86-*-linux*): Add linux-btrace.o.
9068         Add srv_linux_btrace=yes.
9069         (x86_64-*-linux*): Add linux-btrace.o.
9070         Add srv_linux_btrace=yes.
9071         * configure.ac: Define HAVE_LINUX_BTRACE.
9072         * config.in: Regenerated.
9073         * configure: Regenerated.
9074
9075 2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
9076
9077         * server.c (handle_qxfer): Preserve error message if -3 is
9078         returned.
9079         (qxfer): Document the -3 return value.
9080
9081 2013-03-11  Markus Metzger  <markus.t.metzger@intel.com>
9082
9083         * Makefile.in (SFILES): Add $(srcdir)/common/linux-btrace.c.
9084         (linux_btrace_h): New variable.
9085         (linux-btrace.o): New rule.
9086
9087 2013-03-08  Stan Shebs  <stan@codesourcery.com>
9088             Hafiz Abid Qadeer  <abidh@codesourcery.com>
9089
9090         * tracepoint.c (trace_buffer_size): New global.
9091         (DEFAULT_TRACE_BUFFER_SIZE): New define.
9092         (init_trace_buffer): Change to one-argument function. Allocate
9093         trace buffer memory.
9094         (handle_tracepoint_general_set): Call cmd_bigqtbuffer_size to
9095         handle QTBuffer:size packet.
9096         (cmd_bigqtbuffer_size): New function.
9097         (initialize_tracepoint): Call init_trace_buffer with
9098         DEFAULT_TRACE_BUFFER_SIZE.
9099         * server.c (handle_query): Add QTBuffer:size in the
9100         supported packets.
9101
9102 2013-03-07  Yao Qi  <yao@codesourcery.com>
9103
9104         * tracepoint.c (cur_action, cur_step_action): Make them unsigned.
9105         (cmd_qtfp): Initialize cur_action and cur_step_action 0 instead
9106         of -1.
9107         (cmd_qtsp): Adjust condition.  Do post increment.
9108         Set cur_action and cur_step_action back to 0.
9109
9110 2013-03-07  Jeremy Bennett  <jeremy.bennett@embecosm.com>
9111
9112         PR server/15236
9113         * linux-low.c (linux_write_memory): Return early success if LEN is
9114         zero.
9115
9116 2013-03-05  Corinna Vinschen  <vinschen@redhat.de>
9117
9118         * configure.srv: Add x86_64-*-cygwin* as target.
9119
9120 2013-02-28  Tom Tromey  <tromey@redhat.com>
9121
9122         * configure.ac: Invoke AC_SYS_LARGEFILE.
9123         * configure, config.in: Rebuild.
9124
9125 2013-02-28  Corinna Vinschen  <vinschen@redhat.com>
9126
9127         * win32-low.c: Throughout, fix format strings and casts of
9128         printf-like functions to avoid type related warnings on all
9129         platforms.
9130         (get_child_debug_event): Print dwDebugEventCode as hex since
9131         that's how it's usually documented.
9132
9133 2013-02-28  Yao Qi  <yao@codesourcery.com>
9134
9135         * tracepoint.c (cmd_qtbuffer): Call phex_nz instead of
9136         pulongest.
9137
9138 2013-02-27  Jiong Wang  <jiwang@tilera.com>
9139
9140         * Makefile.in (clean): Remove reg-tilegx.c, reg-tilegx32.c.
9141         (reg-tilegx32.c): New rule.
9142         * configure.srv (tilegx-*-linux*): Add reg-tilegx32.o to srv_regobj.
9143         * linux-tile-low.c (tile_arch_setup): New function.  Invoke
9144         different register info initializer according to elf class.
9145         (init_registers_tilgx32): New function.  The tilegx32 register info
9146         initializer.
9147         (tile_fill_gregset): Use "uint_reg_t" to represent register size.
9148         (tile_store_gregset): Likewise.
9149
9150 2013-02-27  Yao Qi  <yao@codesourcery.com>
9151
9152         * server.c (process_point_options): Print debug message when
9153         debug_threads is true.
9154
9155 2013-02-26  Yao Qi  <yao@codesourcery.com>
9156
9157         * tracepoint.c (cmd_qtbuffer): Don't set '\0' in OWN_BUF.
9158
9159 2013-02-19  Pedro Alves  <palves@redhat.com>
9160             Kai Tietz <ktietz@redhat.com>
9161
9162         PR gdb/15161
9163
9164         * server.c (handle_query) <CRC check>: Use unpack_varlen_hex
9165         instead of strtoul to extract address from packet.
9166         (process_serial_event) <'z'>: Likewise.
9167
9168 2013-02-18  Yao Qi  <yao@codesourcery.com>
9169
9170         * linux-bfin-low.c (the_low_target): Use NULL instead of 0.
9171
9172 2013-02-14  Pedro Alves  <palves@redhat.com>
9173
9174         Plug memory leak.
9175
9176         * tracepoint.c (cmd_qtnotes): Free TRACING_USER_NAME,
9177         TRACING_NOTES and TRACING_STOP_NOTE before clobbering.
9178
9179 2013-02-14  Pedro Alves  <palves@redhat.com>
9180
9181         * tracepoint.c (cmd_qtdpsrc): Use savestring.
9182
9183 2013-02-14  Pedro Alves  <palves@redhat.com>
9184
9185         * tracepoint.c (save_string): Delete.
9186         (add_tracepoint_action): Use savestring instead of save_string.
9187
9188 2013-02-12  Pedro Alves  <palves@redhat.com>
9189
9190         * linux-xtensa-low.c: Ditto.
9191         * xtensa-xtregs.c: Ditto.
9192
9193 2013-02-12  Sanimir Agovic  <sanimir.agovic@intel.com>
9194
9195         * thread-db.c (thread_db_get_tls_address): NULL pointer check
9196         thread_db.
9197
9198 2013-02-07  Marcus Shawcroft  <marcus.shawcroft@arm.com>
9199
9200         * linux-aarch64-low.c (aarch64_arch_setup): Clamp
9201         aarch64_num_wp_regs and aarch64_num_bp_regs to
9202         AARCH64_HWP_MAX_NUM and AARCH64_HBP_MAX_NUM respectively.
9203
9204 2013-02-07  Marcus Shawcroft  <marcus.shawcroft@arm.com>
9205
9206         * linux-aarch64-low.c (ps_get_thread_area): Replace
9207         PTRACE_GET_THREAD_AREA with PTRACE_GETREGSET.
9208
9209 2013-02-04  Jim MacArthur  <jim.macarthur@arm.com>
9210             Marcus Shawcroft  <marcus.shawcroft@arm.com>
9211             Nigel Stephens  <nigel.stephens@arm.com>
9212             Yufeng Zhang  <yufeng.zhang@arm.com>
9213
9214         * Makefile.in (clean): Remove aarch64.c and aarch64-without-fpu.c.
9215         (aarch64.c, aarch64-without-fpu.c): New targets.
9216         * configure.srv (aarch64*-*-linux*): New.
9217         * linux-aarch64-low.c: New file.
9218
9219 2013-02-04  Marcus Shawcroft  <marcus.shawcroft@arm.com>
9220
9221         * linux-low.c (handle_extended_wait, linux_create_inferior)
9222         (linux_attach_lwp_1, linux_kill_one_lwp, linux_attach_one_lwp)
9223         (dequeue_one_deferred_signal, linux_resume_one_thread)
9224         (fetch_register, linux_write_memory, linux_enable_event_reporting)
9225         (linux_tracefork_grandchild, linux_test_for_tracefork)
9226         (linux_read_offsets, linux_xfer_siginfo, linux_xfer_siginfo): Add
9227         PTRACE_ARG3_TYPE and PTRACE_ARG4_TYPE cast to ptrace arguments
9228         where the argument is 0.
9229
9230 2013-01-25  Yao Qi  <yao@codesourcery.com>
9231
9232         * event-loop.c: Include "queue.h".
9233         (gdb_event_p): New typedef.
9234         (struct gdb_event) <next_event>: Remove.
9235         (event_queue): Change to QUEUE(gdb_event_p).
9236         (async_queue_event): Remove.
9237         (gdb_event_xfree): New.
9238         (initialize_event_loop): New.
9239         (process_event): Use API from QUEUE.
9240         (wait_for_event): Likewise.
9241         * server.c (main): Call initialize_event_loop.
9242         * server.h (initialize_event_loop): Declare.
9243
9244 2013-01-18  Yao Qi  <yao@codesourcery.com>
9245
9246         * ax.h (struct eval_agent_expr_context): New.
9247         (gdb_eval_agent_expr): Update declaration.
9248         * ax.c (gdb_eval_agent_expr): Remove argument REGCACHE and
9249         TFRAME.  Add new argument CTX.
9250         * server.h (struct eval_agent_expr_context): Declare.
9251         (agent_mem_read, agent_tsv_read): Update declaration.
9252         (agent_mem_read_string): Likewise.
9253         * tracepoint.c (eval_tracepoint_agent_expr): Remove.
9254         (add_traceframe_block): Add new argument TPOINT.
9255         Increase TPOINT->traceframe_usage.
9256         (do_action_at_tracepoint): Call gdb_eval_agent_expr instead of
9257         eval_tracepoint_agent_expr.
9258         (condition_true_at_tracepoint): Likewise.
9259         (agent_mem_read): Remove argument TFRAME.  Add argument CTX.
9260         (agent_mem_read_string, agent_tsv_read): Likewise.
9261
9262 2013-01-16  Yao Qi  <yao@codesourcery.com>
9263
9264         * linux-low.c (linux_resume_one_lwp): Don't check
9265         'lwp->bp_reinsert != 0'.
9266
9267 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
9268             Pedro Alves  <palves@redhat.com>
9269
9270         * lynx-low.c (ptrace_request_to_str): Define a temporary
9271         macro and use it to simplify this function's implementation.
9272
9273 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
9274
9275         * lynx-low.c (lynx_resume): Call perror_with_name if lynx_ptrace
9276         sets errno.
9277
9278 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
9279
9280         * configure.srv (i[34567]86-*-lynxos*): Set srv_xmlfiles.
9281
9282 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
9283
9284         * configure.srv (powerpc-*-lynxos*): Set srv_xmlfiles.
9285
9286 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
9287
9288         * lynx-low.c (lynx_resume): Use the resume_info parameter
9289         to determine the ptid for the lynx_ptrace call, unless
9290         it is equal to minus_one_ptid, in which case we use the
9291         ptid of the current_inferior.
9292         (lynx_wait_1): After having received a thread create/exit
9293         event, resume the inferior's execution using the signaling
9294         thread's ptid, rather than the old ptid.
9295
9296 2013-01-07  Joel Brobecker  <brobecker@adacore.com>
9297
9298         * lynx-low.c (lynx_resume): Delete variable ret.
9299
9300 2013-01-01  Joel Brobecker  <brobecker@adacore.com>
9301
9302         * gdbreplay.c (gdbreplay_version): Update copyright year.
9303         * server.c (gdbserver_version): Likewise.
9304
9305 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
9306
9307         * lynx-low.c (lynx_wait_1): Add debug trace before adding
9308         new thread.
9309
9310 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
9311
9312         * lynx-low.c (ptrace_request_to_str): Add handling for
9313         PTRACE_GETTRACESIG.
9314
9315 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
9316
9317         * lynx-low.c (lynx_attach): Delete variable new_process.
9318
9319 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
9320
9321         * lynx-low.c (lynx_create_inferior): Delete variable
9322         new_process.
9323
9324 2012-12-17  Joel Brobecker  <brobecker@adacore.com>
9325
9326         * lynx-low.c (ptrace_request_to_str): Do not handle
9327         PTRACE_GETTHREADLIST if this macro does not exist.
9328
9329 2012-12-15  Yao Qi  <yao@codesourcery.com>
9330
9331         * Makefile.in (OBS): Add notif.o.
9332         * notif.c, notif.h: New.
9333         * server.c: Include "notif.h".
9334         (struct vstop_notif) <next>: Remove.
9335         <base>: New field.
9336         (queue_stop_reply): Update.
9337         (push_event, send_next_stop_reply): Remove.
9338         (discard_queued_stop_replies): Update.
9339         (notif_stop): New variable.
9340         (handle_v_stopped): Remove.
9341         (handle_v_requests): Don't call handle_v_stopped.  Call
9342         handle_ack_notif instead.
9343         (queue_stop_reply_callback): Call notif_event_enque instead
9344         of queue_stop_reply.
9345         (handle_status): Don't call send_next_stop_reply, call
9346         notif_write_event instead.
9347         (kill_inferior_callback): Likewise.
9348         (detach_or_kill_inferior_callback): Likewise.
9349         (main): Call initialize_notif.
9350         (process_serial_event): Call QUEUE_is_empty.
9351         (handle_target_event): Call notif_push instead of push event.
9352         * server.h (push_event): Remove declaration.
9353
9354 2012-12-10  Tom Tromey  <tromey@redhat.com>
9355
9356         * Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.pre)
9357         (COMPILE.post, COMPILE, POSTCOMPILE, IPAGENT_COMPILE): New
9358         macros.
9359         (.c.o): Rewrite.
9360         (ax-ipa.o, tracepoint-ipa.o, utils-ipa.o, format-ipa.o)
9361         (common-utils-ipa.o, remote-utils-ipa.o, regcache-ipa.o)
9362         (i386-linux-ipa.o, linux-i386-ipa.o, linux-amd64-ipa.o)
9363         (amd64-linux-ipa.o, ax.o): Rewrite.
9364         (event-loop.o, hostio.o, hostio-errno.o, inferiors.o, mem-break.o)
9365         (proc-service.o, regcache.o, remote-utils.o, server.o, target.o)
9366         (thread-db.o, tracepoint.o, utils.o, gdbreplay.o, dll.o): Remove.
9367         (signals.o, linux-procfs.o, linux-ptrace.o, common-utils.o, vec.o)
9368         (gdb_vecs.o, xml-utils.o, linux-osdata.o, ptid.o, buffer.o)
9369         (format.o, agent.o, vasprintf.o, vsnprintf.o): Rewrite.
9370         (i386-low.o, i387-fp.o, linux-low.o, linux-arm-low.o)
9371         (linux-bfin-low.o, linux-cris-low.o, linux-crisv32-low.o)
9372         (linux-ia64-low.o, linux-m32r-low.o, linux-mips-low.o)
9373         (linux-ppc-low.o, linux-s390-low.o, linux-sh-low.o)
9374         (linux-tic6x-low.o, linux-x86-low.o, linux-xtensa-low.o)
9375         (linux-tile-low.o, lynx-low.o, lynx-ppc-low.o, nto-low.o)
9376         (nto-x86-low.o, linux-low.o, win32-low.o, win32-arm-low.o)
9377         (win32-i386-low.o, spu-low.o, reg-arm.o, arm-with-iwmmxt.o)
9378         (arm-with-vfpv2.o, arm-with-vfpv3.o, arm-with-neon.o, reg-bfin.o)
9379         (reg-cris.o, reg-crisv32.o, i386.o, i386-linux.o, i386-avx.o)
9380         (i386-avx-linux.o, i386-mmx.o, i386-mmx-linux.o, reg-ia64.o)
9381         (reg-m32r.o, reg-m68k.o, reg-cf.o, mips-linux.o, mips-dsp-linux.o)
9382         (mips64-linux.o, mips64-dsp-linux.o, powerpc-32.o, powerpc-32l.o)
9383         (powerpc-altivec32l.o, powerpc-cell32l.o, powerpc-vsx32l.o)
9384         (powerpc-isa205-32l.o, powerpc-isa205-altivec32l.o)
9385         (powerpc-isa205-vsx32l.o, powerpc-e500l.o, powerpc-64l.o)
9386         (powerpc-altivec64l.o, powerpc-cell64l.o, powerpc-vsx64l.o)
9387         (powerpc-isa205-64l.o, powerpc-isa205-altivec64l.o)
9388         (powerpc-isa205-vsx64l.o, s390-linux32.o, s390-linux32v1.o)
9389         (s390-linux32v2.o, s390-linux64.o, s390-linux64v1.o)
9390         (s390-linux64v2.o, s390x-linux64.o, s390x-linux64v1.o)
9391         (s390x-linux64v2.o, tic6x-c64xp-linux.o, tic6x-c64x-linux.o)
9392         (tic6x-c62x-linux.o, reg-sh.o, reg-sparc64.o, reg-spu.o, amd64.o)
9393         (amd64-linux.o, amd64-avx.o, amd64-avx-linux.o, x32.o)
9394         (x32-linux.o, x32-avx.o, x32-avx-linux.o, reg-xtensa.o)
9395         (reg-tilegx.o): Remove.
9396         (all_object_files): New macro.
9397         Include .deps files.
9398         * aclocal.m4, configure: Rebuild.
9399         * acinclude.m4: Include depstand.m4, lead-dot.m4.
9400         * configure.ac: Invoke ZW_CREATE_DEPDIR,
9401         ZW_PROG_COMPILER_DEPENDENCIES.  Compute GMAKE condition.
9402
9403 2012-12-05  Tom Tromey  <tromey@redhat.com>
9404
9405         PR gdb/14917:
9406         * server.h (current_insn_ptr, emit_error): Declare 'extern'.
9407
9408 2012-11-28  Markus Metzger  <markus.t.metzger@intel.com>
9409
9410         * configure.ac: Check for linux/perf_event.h.
9411         * config.in: Regenerated.
9412         * configure: Regenerated.
9413
9414 2012-11-26  Maxime Villard  <rustyBSD@gmx.fr>
9415
9416         * hostio.c (handle_readlink): Decrease buffer size
9417         parameter passed to readlink by one byte.
9418
9419 2012-11-26  Yao Qi  <yao@codesourcery.com>
9420
9421         * configure.ac (build_warnings): Append '-Wempty-body'.
9422         * configure: Regenerated.
9423         * linux-low.c (linux_create_inferior): Use braces for empty 'if'
9424         body.
9425
9426 2012-11-15  Pierre Muller  <muller@sourceware.org>
9427
9428         * configure.ac (AC_CHECK_HEADERS): Add wait.h header.
9429         * config.in: Regenerate.
9430         * configure: Regenerate.
9431         * linux-low.c: Use "gdb_stat.h" header instead of <sys/stat.h> header.
9432         Use "gdb_wait.h" header instead of <sys/wait.h> header.
9433         * lynx-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
9434         * remote-utils.c: Use "gdb_stat.h" header instead of <sys/stat.h>
9435         header.
9436         * server.c: Remove HAVE_WAIT_H conditional.  Use "gdb_wait.h" header
9437         instead of <sys/wait.h> header.
9438         * spu-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
9439
9440 2012-11-13 Markus Metzger  <markus.t.metzger@intel.com>
9441
9442         * Makefile.in: (INTERNAL_CFLAGS): Add -DGDBSERVER
9443         (various make rules): Remove -DGDBSERVER
9444
9445 2012-11-09  Yao Qi  <yao@codesourcery.com>
9446
9447         * spu-low.c (current_ptid): Move it to ..
9448         * gdbthread.h: ... here.  New.
9449         * remote-utils.c (read_ptid): Use macro 'current_ptid'.
9450         * server.c (myresume, process_serial_event): Likewise.
9451         * thread-db.c (thread_db_find_new_threads): Likewise.
9452         * tracepoint.c (run_inferior_command): Likewise.
9453
9454 2012-10-01  Andrew Burgess  <aburgess@broadcom.com>
9455
9456         * server.c (handle_search_memory_1): Include access length in
9457         warning message.
9458
9459 2012-09-05  Michael Brandt  <michael.brandt@axis.com>
9460
9461         * linux-crisv32-low.c: Fix compile errors.
9462
9463 2012-09-04  Yao Qi  <yao@codesourcery.com>
9464
9465         * tracepoint.c (cmd_qtsv): Adjust debug message.
9466         Don't check CUR_TPOINT.
9467
9468 2012-08-28  Yao Qi  <yao@codesourcery.com>
9469
9470         * ax.c, tracepoint.c: Replace ATTR_FORMAT with ATTRIBUTE_PRINTF.
9471         * server.h: Include 'libiberty.h' and 'ansidecl.h'.
9472         (ATTR_NORETURN, ATTR_FORMAT, ATTR_MALLOC): Remove.
9473         Remove declarations of xmalloc, xreallloc, xstrdup and
9474         freeargv.
9475         * Makefile.in (libiberty_h): New.
9476         (server_h): Append dependencies 'libiberty.h' and 'ansidecl.h'.
9477         (linux-bfin-low.o): Append dependency 'libiberty.h'.
9478
9479 2012-08-23  Yao Qi  <yao@codesourcery.com>
9480
9481         * server.h: Remove declaration of 'xsnprintf'.
9482
9483 2012-08-22  Keith Seitz  <keiths@redhat.com>
9484
9485         * server.h: Include build-gnulib-gbserver/config.h.
9486         * gdbreplay.c: Likewise.
9487
9488 2012-08-08  Doug Evans  <dje@google.com>
9489
9490         * Makefile.in (SFILES): Add gdb_vecs.c.
9491         (OBS): Add gdb_vecs.o.
9492         (gdb_vecs_h, host_defs_h): New variables.
9493         (thread-db.o): Add $(gdb_vecs_h) dependency.
9494         (gdb_vecs.o): New rule.
9495         * thread-db.c: #include "gdb_vecs.h".
9496         (thread_db_load_search): Use a vector to iterate over path elements.
9497         Handle text appearing after "$pdir".
9498
9499         * configure.ac: Add check for strstr.
9500         * config.in: Regenerate.
9501         * configure: Regenerate.
9502
9503 2012-08-02  Ulrich Weigand  <ulrich.weigand@linaro.org>
9504
9505         * hostio.c (handle_pread): If pread fails, fall back to attempting
9506         lseek/read.
9507         (handle_pwrite): Likewise for pwrite.
9508
9509 2012-08-01  Ulrich Weigand  <ulrich.weigand@linaro.org>
9510
9511         * linux-arm-low.c (arm_linux_hw_point_initialize): Distinguish
9512         between unsupported TYPE and unimplementable ADDR/LEN combination.
9513         (arm_insert_point): Act on new return value.
9514
9515 2012-07-31  Pedro Alves  <palves@redhat.com>
9516
9517         * server.c (process_point_options): Only skip tokens if we find
9518         one that is unrecognized.  Don't treat 'X' specially while
9519         skipping unrecognized tokens.
9520
9521 2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
9522
9523         * linux-arm-low.c (arm_linux_hw_point_initialize): Do not attempt
9524         to 4-byte-align HW breakpoint addresses for Thumb.
9525
9526 2012-07-27  Yao Qi  <yao@codesourcery.com>
9527
9528         PR remote/14161.
9529
9530         * server.h: Declare gdb_agent_about_to_close.
9531         * target.c (kill_inferior): Include "agent.h".
9532         New.  Send command 'kill'.
9533         * target.h (kill_inferior): Removed macro.
9534         * tracepoint.c (gdb_agent_about_to_close): New.
9535         (gdb_agent_helper_thread): Handle command 'close'.
9536         Wait endlessly until the inferior stops.
9537         Install gdb_agent_remove_socket to atexit hook.
9538         (agent_socket_name): New static variable.
9539         (gdb_agent_socket_init): Replace local variable 'name' with
9540         'agent_socket_name'.
9541         (gdb_agent_remove_socket): New.
9542
9543 2012-07-27  Yao Qi  <yao@codesourcery.com>
9544
9545         * server.c (process_point_options): Stop at 'X' when parsing.
9546
9547 2012-07-19  Michael Eager  <eager@eagercon.com>
9548
9549         * i386-low.c (Z_packet_to_hw_type): Add Z_PACKET_HW_BP, translate
9550         to hw_execute.
9551         * linux-x86-low.c (x86_insert_point, x86_remove_point):
9552         Call i386_low_insert_watchpoint, i386_low_remove_watchpoint to add/del
9553         hardware breakpoint.
9554
9555 2012-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
9556
9557         * gdbserver/linux-low.c (initialize_low): Call
9558         linux_ptrace_init_warnings.
9559
9560 2012-07-02  Doug Evans  <dje@google.com>
9561
9562         * mem-break.c (gdb_no_commands_at_breakpoint): Fix cast from
9563         pointer to int.
9564
9565 2012-07-02  Stan Shebs  <stan@codesourcery.com>
9566
9567         * Makefile.in (WARN_CFLAGS_NO_FORMAT): Define.
9568         (ax.o): Add it to build rule.
9569         (ax-ipa.o): Ditto.
9570         (OBS): Add format.o.
9571         (IPA_OBS): Add format.o.
9572         * server.c (handle_query): Claim support for breakpoint commands.
9573         (process_point_options): Add command case.
9574         (process_serial_event): Leave running if there are printfs in
9575         effect.
9576         * mem-break.h (any_persistent_commands): Declare.
9577         (add_breakpoint_commands): Declare.
9578         (gdb_no_commands_at_breakpoint): Declare.
9579         (run_breakpoint_commands): Declare.
9580         * mem-break.c (struct point_command_list): New struct.
9581         (struct breakpoint): New field command_list.
9582         (any_persistent_commands): New function.
9583         (add_commands_to_breakpoint): New function.
9584         (add_breakpoint_commands): New function.
9585         (gdb_no_commands_at_breakpoint): New function.
9586         (run_breakpoint_commands): New function.
9587         * linux-low.c (linux_wait_1): Test for and run breakpoint commands
9588         locally.
9589         * ax.c: Include format.h.
9590         (ax_printf): New function.
9591         (gdb_eval_agent_expr): Add printf opcode.
9592
9593 2012-06-13  Yao Qi  <yao@codesourcery.com>
9594
9595         * server.c (start_inferior): Remove duplicated writes to fields
9596         'last_resume_kind' and 'last_status' of 'current_inferior'.
9597
9598 2012-06-12  Yao Qi  <yao@codesourcery.com>
9599             Pedro Alves  <palves@redhat.com>
9600
9601         * linux-low.c (linux_set_resume_request): Simplify predicate.  Add
9602         comment.
9603         * server.c (handle_v_cont): Extend comment.
9604
9605 2012-06-11  Yao Qi  <yao@codesourcery.com>
9606
9607         * linux-low.c (linux_attach): Add 'static'.
9608
9609 2012-06-06  Yao Qi  <yao@codesourcery.com>
9610
9611         * ax.c (gdb_eval_agent_expr): Print `top' in hex.
9612
9613 2012-06-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
9614
9615         Fix gcc -flto compilation warning.
9616         * server.c (main): Make variable multi_mode and attach volatile.
9617
9618 2012-05-30  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
9619
9620         * linux-low.c (get_r_debug): Disable code using DT_MIPS_RLD_MAP
9621         if the platform doesn't know about it.
9622
9623 2012-05-30  Jeff Kenton  <jkenton@tilera.com>
9624
9625         * Makefile.in (SFILES): Add linux-tile-low.c.
9626         (linux-tile-low.o, reg-tilegx.o, reg-tilegx.c): New rules.
9627         * configure.srv: Handle tilegx-*-linux*.
9628         * linux-tile-low.c: New file.
9629
9630 2012-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
9631
9632         * linux-low.c (linux_qxfer_libraries_svr4): Return -1 if R_DEBUG is -1.
9633
9634 2012-05-24  Pedro Alves  <palves@redhat.com>
9635
9636         PR gdb/7205
9637
9638         Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
9639
9640 2012-05-24  Pedro Alves  <palves@redhat.com>
9641
9642         PR gdb/7205
9643
9644         Replace target_signal with gdb_signal throughout.
9645
9646 2012-05-22  Maciej W. Rozycki  <macro@codesourcery.com>
9647
9648         * linux-low.c (linux_store_registers): Avoid the copying sequence
9649         when no data has been retrieved by ptrace.
9650
9651 2012-05-22  Will Deacon  <will.deacon@arm.com>
9652
9653         * linux-low (__UCLIBC__ && !(__UCLIBC_HAS_MMU__ || __ARCH_HAS_MMU__)):
9654         Include asm/ptrace.h.
9655         (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define only if not
9656         already defined.
9657
9658 2012-05-21  Maciej W. Rozycki  <macro@codesourcery.com>
9659
9660         * linux-low.c (linux_store_registers): Don't re-retrieve data
9661         with ptrace that has already been obtained from /proc.  Always
9662         copy any data retrieved with ptrace to the buffer supplied.
9663
9664 2012-05-11  Yao Qi  <yao@codesourcery.com>
9665             Pedro Alves  <palves@redhat.com>
9666
9667         * linux-low.c (enum stopping_threads_kind): New.
9668         (stopping_threads): Change type to `enum stopping_threads_kind'.
9669         (handle_extended_wait): If stopping and suspending threads, leave
9670         the new_lwp suspended too.
9671         (linux_wait_for_event): Adjust.
9672         (stop_all_lwps): Set `stopping_threads' to
9673         STOPPING_AND_SUSPENDING_THREADS or STOPPING_THREADS depending on
9674         whether we're suspending threads or just stopping them.  Assert no
9675         recursion happens.
9676
9677 2012-04-29  Yao Qi  <yao@codesourcery.com>
9678
9679         * server.h: Move some code to ...
9680         * gdbthread.h: ... here.  New.
9681         * Makefile.in (inferiors.o, regcache.o): Depends on gdbthread.h
9682         (remote-utils.o, server.o, target.o tracepoint.o): Likewise.
9683         (nto-low.o, win32-low.o): Likewise.
9684         * inferiors.c, linux-low.h, nto-low.c: Include gdbthread.h.
9685         * regcache.c, remote-utils.c, server.c: Likewise.
9686         * target.c, tracepoint.c, win32-low.c: Likewise.
9687
9688 2012-04-24  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
9689
9690         * linux-low.h (PTRACE_ARG3_TYPE): Move macro from linux-low.c.
9691         (PTRACE_ARG4_TYPE): Likewise.
9692         (PTRACE_XFER_TYPE): Likewise.
9693         * linux-arm-low.c (arm_prepare_to_resume): Cast third argument of
9694         ptrace to PTRACE_ARG3_TYPE.
9695         * linux-low.c (PTRACE_ARG3_TYPE): Move macro to linux-low.h.
9696         (PTRACE_ARG4_TYPE): Likewise.
9697         (PTRACE_XFER_TYPE): Likewise.
9698         (linux_detach_one_lwp): Cast fourth argument of
9699         ptrace to long then PTRACE_ARG4_TYPE.
9700         (regsets_fetch_inferior_registers): Cast third argument of
9701         ptrace to long then PTRACE_ARG3_TYPE.
9702         (regsets_store_inferior_registers): Likewise.
9703
9704 2012-04-20  Pedro Alves  <palves@redhat.com>
9705
9706         * configure: Regenerate.
9707
9708 2012-04-19  Pedro Alves  <palves@redhat.com>
9709
9710         * Makefile.in (GNULIB_BUILDDIR): New.
9711         (LIBGNU, INCGNU, GNULIB_H): Adjust.
9712         (SUBDIRS, CLEANDIRS, REQUIRED_SUBDIRS): New.
9713         (all, install-only, uninstall, clean-info, all-lib, clean): No
9714         longer pass GNULIB_FLAGS_TO_PASS.  Use subdir_do.
9715         (maintainer-clean realclean distclean): Use subdir_do.
9716         (subdir_do): New.
9717         (gnulib/import/Makefile): Adjust.  Replace gnulib/import with
9718         $(GNULIB_BUILDDIR).  Don't pass argument to config.status.
9719         * acinclude.m4: Include acx_configure_dir.m4.
9720         * configure.ac: Remove gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE
9721         calls.  Call AC_PROG_RANLIB.  Configure gnulib using
9722         ACX_CONFIGURE_DIR.
9723         (GNULIB): New.
9724         (GNULIB_STDINT_H): Adjust.
9725         (AC_OUTPUT): Don't output gnulib/Makefile anymore.
9726         * gdbreplay.c: Include build-gnulib/config.h.
9727         * server.h: Likewise.
9728         * aclocal.m4: Regenerate.
9729         * config.in: Regenerate.
9730         * configure: Regenerate.
9731
9732 2012-04-19  Pedro Alves  <palves@redhat.com>
9733
9734         * Makefile.in (LIBGNU, INCGNU): Adjust.
9735         (GNULIB_FLAGS_TO_PASS, GNULIB_H): Adjust.
9736         (all, install-only, uninstall, clean-info, all-lib, clean)
9737         (maintainer-clean, Makefile, gnulib/Makefile): Adjust.
9738         * configure.ac: Adjust AC_OUTPUT output.
9739         * aclocal.m4: Regenerate.
9740         * configure: Regenerate.
9741
9742 2012-04-19  Pedro Alves  <palves@redhat.com>
9743
9744         * Makefile.in (generated_files): New.
9745         (server_h): Remove the explicit dependency on config.h, and depend
9746         on $generated_files.
9747
9748 2012-04-19  Pedro Alves  <palves@redhat.com>
9749
9750         * Makefile.in (INCGNU): Add -Ignulib.
9751
9752 2012-04-19  Pedro Alves  <palves@redhat.com>
9753
9754         * Makefile.in (GNULIB_INCLUDE_DIR): Rename to ...
9755         (INCGNU): ... this, and spell out -I here.
9756         (GNULIB_LIB): Rename to ...
9757         (LIBGNU): ... this.
9758         (INCLUDE_CFLAGS, gdbserver$(EXEEXT), $(GNULIB_LIB) rule): Adjust.
9759
9760 2012-04-19  Pedro Alves  <palves@redhat.com>
9761
9762         * config.in: Regenerate.
9763
9764 2012-04-19  Pedro Alves  <palves@redhat.com>
9765
9766         * configure.ac: Remove AC_CHECK_DECLS check for memmem.
9767         * server.h (memmem): Remove declaration.
9768         * config.in: Regenerate.
9769         * configure: Regenerate.
9770
9771 2012-04-19  Yao Qi  <yao@codesourcery.com>
9772
9773         * Makefile.in (SFILES): Add common/vec.c.
9774         (OBS): Add vec.o.
9775         (vec.o): New rule.
9776
9777 2012-04-19  Yao Qi  <yao@codesourcery.com>
9778
9779         * remote-utils.c (prepare_resume_reply): Replace with macro
9780         target_core_of_thread.
9781         * server.c (handle_qxfer_threads_proper): Likewise.
9782         * target.h (traget_core_of_thread): New macro.
9783
9784 2012-04-18  Pedro Alves  <palves@redhat.com>
9785
9786         * aclocal.m4: Regenerate.
9787         * configure: Regenerate.
9788
9789 2012-04-16  Yao Qi  <yao@codesourcery.com>
9790
9791         * tracepoint.c (cmd_qtstart): Download tracepoints even when they are
9792         duplicated on address.
9793
9794 2012-04-16  Yao Qi  <yao@codesourcery.com>
9795
9796         * tracepoint.c (COPY_FIELD_TO_BUF): New macro.
9797         (struct tracepoint_action_ops) <send>: New field.
9798         (m_tracepoint_action_send, r_tracepoint_action_send): New.
9799         (agent_expr_send, x_tracepoint_action_send): New.
9800         (l_tracepoint_action_send): New.
9801         (cmd_qtdp): Download and install tracepoint
9802         according to `use_agent'.
9803         (run_inferior_command): Add one more parameter `len'.
9804         Update callers.
9805         (tracepoint_send_agent): New.
9806         (cmd_qtdp, cmd_qtstart): Call tracepoint_send_agent.
9807
9808 2012-04-16  Yao Qi  <yao@codesourcery.com>
9809
9810         * tracepoint.c (download_tracepoints): Moved to ...
9811         (cmd_qtstart): ... here.
9812
9813 2012-04-14  Yao Qi  <yao@codesourcery.com>
9814
9815         * tracepoint.c: Include inttypes.h.
9816         (struct collect_memory_action): Use sized types.
9817         (struct tracepoint): Likewise.
9818         (cmd_qtdp, stop_tracing): Update print specifiers.
9819         (cmd_qtp, response_tracepoint): Likewise.
9820         (collect_data_at_tracepoint): Likewise.
9821         (collect_data_at_step): Likewise.
9822
9823 2012-04-14  Yao Qi  <yao@codesourcery.com>
9824
9825         Import gnulib module inttypes.
9826         * aclocal.m4, config.in, configure: Regenerated.
9827
9828 2012-04-14  Yao Qi  <yao@codesourcery.com>
9829
9830         * Makefile.in (maintainer-clean, realclean, distclean): Remove
9831         Makefile and config.status at last.
9832
9833 2012-04-13  Yao Qi  <yao@codesourcery.com>
9834
9835         * tracepoint.c: Include stdint.h unconditionally.
9836
9837 2012-04-13  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
9838
9839         * acinclude.m4 (GDBSERVER_HAVE_THREAD_DB_TYPE): New macro based
9840         on BFD_HAVE_SYS_PROCFS_TYPE.
9841         * configure.ac: Look for lwpid_t and psaddr_t in libthread_db.h.
9842         * configure: Regenerate.
9843         * config.in: Likewise.
9844
9845 2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
9846
9847         * Makefile.in (clean): Also remove x32.c x32-linux.c
9848         x32-avx.c x32-avx-linux.c.
9849         (x32.o): New target.
9850         (x32.c): Likewise.
9851         (x32-linux.o): Likewise.
9852         (x32-linux.c): Likewise.
9853         (x32-avx.o): Likewise.
9854         (x32-avx.c): Likewise.
9855         (x32-avx-linux.o): Likewise.
9856         (x32-avx-linux.c): Likewise.
9857
9858         * configure.srv (srv_amd64_regobj): Add x32.o x32-avx.o.
9859         (srv_amd64_linux_regobj): Add x32-linux.o x32-avx-linux.o.
9860         (srv_i386_64bit_xmlfiles): Add i386/x32-core.xml.
9861         (srv_amd64_xmlfiles): Add i386/x32.xml i386/x32-avx.xml.
9862         (srv_amd64_linux_xmlfiles): Add i386/x32-linux.xml
9863         i386/x32-avx-linux.xml.
9864
9865         * linux-x86-low.c (init_registers_x32_linux): New prototype.
9866         (init_registers_x32_avx_linux): Likwise.
9867         (x86_linux_update_xmltarget): Call init_registers_x32_linux
9868         or init_registers_x32_avx_linux if linux_is_elf64 is false.
9869
9870 2012-04-13  Pedro Alves  <palves@redhat.com>
9871
9872         * Makefile.in (GNULIB_FLAGS_TO_PASS): New.
9873         (FLAGS_TO_PASS): Don't change or set $top_srcdir, $srcdir and VPATH.
9874         (all, uninstall, clean-info, all-lib, clean, maintainer-clean)
9875         (realclean, distclean): Explicitly pass $GNULIB_FLAGS_TO_PASS to
9876         the sub-make.
9877
9878 2012-04-12  H.J. Lu  <hongjiu.lu@intel.com>
9879
9880         * linux-x86-low.c (compat_x32_clock_t): New.
9881         (compat_x32_siginfo_t): Likewise.
9882         (compat_x32_siginfo_from_siginfo): Likewise.
9883         (siginfo_from_compat_x32_siginfo): Likewise.
9884         (linux_is_elf64): Likewise.
9885         (x86_siginfo_fixup): Call compat_x32_siginfo_from_siginfo
9886         and siginfo_from_compat_x32_siginfo for x32.
9887         (x86_arch_setup): Set linux_is_elf64.
9888
9889 2012-04-12  H.J. Lu  <hongjiu.lu@intel.com>
9890
9891         PR gdb/13969
9892         * linux-low.c (linux_pid_exe_is_elf_64_file): Also return the
9893         e_machine field.
9894         (linux_qxfer_libraries_svr4): Update call to elf_64_file_p.
9895         * linux-low.h (linux_pid_exe_is_elf_64_file): Updated.
9896         * linux-x86-low.c (x86_arch_setup): Check if GDBserver is
9897         compatible with process.
9898
9899 2012-04-12  Yao Qi  <yao@codesourcery.com>
9900
9901         * Makefile.in: Define abs_top_srcdir and abs_srcdir.
9902         (INCLUDE_CFLAGS): Append GNULIB_INCLUDE_DIR.
9903         (install-only, install-info, clean): Handle sub dir gnulib.
9904         (all-lib, am--refresh): New targets.
9905         (memmem.o): Remove target.
9906         * configure.ac: Remove AC_CONFIG_LIBOBJ_DIR.
9907         Invoke gl_EARLY.  Invoke AC_CHECK_PROGS for make.
9908         (AC_REPLACE_FUNCS): Remove memmem.
9909         Invoke gl_INIT and AM_INIT_AUTOMAKE.
9910         (AC_OUTPUT): Generate Makefile in gnulib/.
9911         * aclocal.m4, config.in, configure: Regenerated.
9912
9913 2012-04-10  Maciej W. Rozycki  <macro@codesourcery.com>
9914
9915         * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP.
9916
9917 2012-04-05  Pedro Alves  <palves@redhat.com>
9918
9919         -Werror=strict-aliasing
9920
9921         * spu-low.c (parse_spufs_run): Avoid dereferencing type-punned
9922         pointer.
9923
9924 2012-04-04  Pedro Alves  <palves@redhat.com>
9925
9926         * linux-sparc-low.c (sparc_fill_gregset_to_stack)
9927         (sparc_store_gregset_from_stack, sparc_store_gregset)
9928         (sparc_breakpoint_at): Fix formatting.
9929
9930 2012-03-30  Thiago Jung Bauermann  <thiago.bauermann@linaro.org>
9931
9932         * configure.ac: Check whether Elf32_auxv_t and Elf64_auxv_t
9933         are available.
9934         * linux-low.c [HAVE_ELF32_AUXV_T] (Elf32_auxv_t): Add typedef.
9935         [HAVE_ELF64_AUXV_T] (Elf64_auxv_t): Likewise.
9936         * config.in: Regenerate.
9937         * configure: Likewise.
9938
9939 2012-03-29  Pedro Alves  <palves@redhat.com>
9940
9941         * linux-low.c (regsets_store_inferior_registers) [__sparc__]:
9942         Correct ptrace arguments.
9943
9944 2012-03-28  Pedro Alves  <palves@redhat.com>
9945
9946         * linux-ia64-low.c (ia64_regmap): Map IA64_EC_REGNUM to PT_AR_EC.
9947         (IA64_GR0_REGNUM, IA64_FR0_REGNUM)
9948         (IA64_FR1_REGNUM): New defines.
9949         (ia64_fetch_register): New.
9950         (the_low_target): Install it.
9951         * linux-low.h (struct linux_target_ops) <fetch_register>: New
9952         field.
9953         * linux-low.c (linux_fetch_registers): Try the
9954         the_low_target.fetch_register hook first.
9955
9956         * linux-arm-low.c (the_low_target): Adjust.
9957         * linux-bfin-low.c (the_low_target): Adjust.
9958         * linux-cris-low.c (the_low_target): Adjust.
9959         * linux-crisv32-low.c (the_low_target): Adjust.
9960         * linux-m32r-low.c (the_low_target): Adjust.
9961         * linux-m68k-low.c (the_low_target): Adjust.
9962         * linux-mips-low.c (the_low_target): Adjust.
9963         * linux-ppc-low.c (the_low_target): Adjust.
9964         * linux-s390-low.c (the_low_target): Adjust.
9965         * linux-sh-low.c (the_low_target): Adjust.
9966         * linux-sparc-low.c (the_low_target): Adjust.
9967         * linux-tic6x-low.c (the_low_target): Adjust.
9968         * linux-x86-low.c (the_low_target): Adjust.
9969         * linux-xtensa-low.c (the_low_target): Adjust.
9970
9971 2012-03-26  Pedro Alves  <palves@redhat.com>
9972
9973         * server.c (handle_qxfer_libraries): Don't bail early if
9974         the_target->qxfer_libraries_svr4 is not NULL.
9975
9976 2012-03-26  Pedro Alves  <palves@redhat.com>
9977
9978         * linux-low.c (linux_qxfer_libraries_svr4): Fix pasto in comment.
9979
9980 2012-03-23  Pedro Alves  <palves@redhat.com>
9981
9982         * linux-low.c (linux_qxfer_libraries_svr4): Terminate the
9983         "library-list-svr4" element's start tag when the the DSO list is
9984         empty.
9985
9986 2012-03-23  Pedro Alves  <palves@redhat.com>
9987
9988         * linux-low.c (read_one_ptr): Read the inferior's pointer through
9989         a variable whose type size is the same as the inferior's pointer
9990         size.
9991
9992 2012-03-21  Thomas Schwinge  <thomas@codesourcery.com>
9993
9994         * linux-arm-low.c (arm_stopped_by_watchpoint): Use siginfo_t instead of
9995         struct siginfo.
9996         * linux-low.c (siginfo_fixup, linux_xfer_siginfo): Likewise.
9997         * linux-x86-low.c (x86_siginfo_fixup): Likewise.
9998         * linux-low.h: Include <signal.h>.
9999         (struct siginfo): Remove forward declaration.
10000         (struct linux_target_ops) <siginfo_fixup>: Use siginfo_t instead of
10001         struct siginfo.
10002
10003 2012-03-21  Mike Frysinger  <vapier@gentoo.org>
10004
10005         * .gitignore: Ignore more files.
10006
10007 2012-03-19  Pedro Alves  <palves@redhat.com>
10008             Jan Kratochvil  <jan.kratochvil@redhat.com>
10009
10010         * server.c (cont_thread, general_thread): Add describing comments.
10011         (start_inferior): Clear `cont_thread'.
10012         (handle_v_cont): Don't set `cont_thread' if resuming all threads
10013         of a process.
10014
10015 2012-03-15  Yao Qi  <yao@codesourcery.com>
10016
10017         * tracepoint.c (install_tracepoint): Move duplicated tracepoint
10018         handling to ...
10019         (cmd_qtdp): ... here.
10020
10021 2012-03-15  Yao Qi  <yao@codesourcery.com>
10022
10023         * tracepoint.c (struct tracepoint_action_ops): New.
10024         (struct tracepoint_action) [!IN_PROCESS_AGENT] <ops>: New field.
10025         (m_tracepoint_action_download): New.
10026         (r_tracepoint_action_download): New.
10027         (x_tracepoint_action_download): New.
10028         (l_tracepoint_action_download): New.
10029         (add_tracepoint_action): Install `action->ops' according type.
10030         (download_tracepoint_1): Move code `download' function pointer
10031         of various tracepoint_action_ops.
10032
10033 2012-03-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
10034
10035         * linux-low.c (linux_attach_lwp_1): New variable buffer.  Call
10036         linux_ptrace_attach_warnings.
10037
10038 2012-03-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
10039
10040         * Makefile.in (linux-ptrace.o): New.
10041         * configure.srv (arm*-*-linux*, bfin-*-*linux*, crisv32-*-linux*)
10042         (cris-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*)
10043         (m68*-*-linux*, m68*-*-uclinux*, mips*-*-linux*, powerpc*-*-linux*)
10044         (s390*-*-linux*, sh*-*-linux*, sparc*-*-linux*, tic6x-*-uclinux)
10045         (x86_64-*-linux*, xtensa*-*-linux*): Add linux-ptrace.o to SRV_TGTOBJ
10046         of these targets.
10047         * linux-low.c (linux_attach_lwp_1): Remove redundent else clause.
10048
10049 2012-03-08  Yao Qi  <yao@codesourcery.com>
10050             Pedro Alves  <palves@redhat.com>
10051
10052         Fix PR server/13392.
10053         * linux-x86-low.c (amd64_install_fast_tracepoint_jump_pad): Check
10054         offset of JMP insn.
10055         * tracepoint.c (remove_tracepoint): New.
10056         (cmd_qtdp): Call remove_tracepoint when failed to install.
10057
10058 2012-03-07  Pedro Alves  <palves@redhat.com>
10059
10060         * linux-low.c (get_detach_signal): New.
10061         (linux_detach_one_lwp): Get rid of a pending SIGSTOP with SIGCONT.
10062         Pass on pending signals to PTRACE_DETACH.  Check the result of the
10063         ptrace call.
10064         * server.c (program_signals, program_signals_p): New.
10065         (handle_general_set): Handle QProgramSignals.
10066         * server.h (program_signals, program_signals_p): Declare.
10067
10068 2012-03-05  Pedro Alves  <palves@redhat.com>
10069             Jan Kratochvil  <jan.kratochvil@redhat.com>
10070
10071         * linux-low.c (get_dynamic): Don't warn when PT_PHDR isn't found.
10072         New comment why.
10073
10074 2012-03-03  Yao Qi  <yao@codesourcery.com>
10075
10076         * tracepoint.c (tracepoint_look_up_symbols): Update call to
10077         agent_look_up_symbols.
10078
10079 2012-03-03  Yao Qi  <yao@codesourcery.com>
10080
10081         * Makefile.in (linux-low.o): Keep dependence on agent.h.
10082         (linux-x86-low.o): Likewise.
10083         * server.h: Remove in_process_agent_loaded.
10084         * tracepoint.c (in_process_agent_loaded): Removed.  Moved it
10085         common/agent.c.
10086         Update callers.
10087
10088 2012-03-03  Yao Qi  <yao@codesourcery.com>
10089
10090         * tracepoint.c (gdb_agent_capability): New global.
10091         (in_process_agent_loaded_ust): Renamed to
10092         `in_process_agent_supports_ust'.
10093         Update callers.
10094         (in_process_agent_supports_ust): Call agent_capability_check.
10095         (clear_installed_tracepoints): Assert that agent supports
10096         agent.
10097
10098 2012-03-03  Yao Qi  <yao@codesourcery.com>
10099
10100         * linux-low.c (linux_supports_agent): New.
10101         (linux_target_ops): Initialize field `supports_agent' with
10102         linux_supports_agent.
10103         * target.h (struct target_ops) <supports_agent>: New.
10104         (target_supports_agent): New macro.
10105         * server.c (handle_general_set): Handle packet 'QAgent'.
10106         (handle_query): Send `QAgent+'.
10107         * Makefile.in (server.o): Depends on agent.h.
10108
10109 2012-03-03  Yao Qi  <yao@codesourcery.com>
10110
10111         * Makefile.in (OBS): Add agent.o.
10112         Add new rule for agent.o.
10113         Track dependence of tracepoint.c on agent.h.
10114         * tracepoint.c (run_inferior_command_1):
10115         (run_inferior_command): Call agent_run_command.
10116         (gdb_ust_connect_sync_socket): Deleted.  Move it to
10117         common/agent.c.
10118         (resume_thread, stop_thread): Likewise.
10119         (gdb_ust_socket_init): Renamed to ...
10120         (gdb_agent_socket_init): ... New.
10121         (gdb_ust_thread): Renamed to ...
10122         (gdb_agent_helper_thread): ... New.
10123         (gdb_ust_init): Move some code to ...
10124         (gdb_agent_init): ... here.  New.
10125         [HAVE_UST]: Call gdb_ust_init.
10126         (initialize_tracepoint_ftlib):  Call gdb_agent_init.
10127         * configure.ac: Add `sys/un.h' to AC_CHECK_HEADERS.
10128         * config.in, configure: Regenerated.
10129
10130 2012-03-02  Pedro Alves  <palves@redhat.com>
10131
10132         * inferiors.c (add_pid_to_list, pull_pid_from_list): Delete.
10133         * linux-low.c (struct simple_pid_list): New.
10134         (stopped_pids): New a struct simple_pid_list pointer.
10135         (add_to_pid_list, pull_pid_from_list): New.
10136         (handle_extended_wait): Don't assume the first signal new children
10137         report is SIGSTOP.  Adjust call to pull_pid_from_list.
10138         (linux_wait_for_lwp): Adjust.
10139
10140 2012-03-02  Yao Qi  <yao@codesourcery.com>
10141
10142         * tracepoint.c (do_action_at_tracepoint): Write `stop_pc' in
10143         debug log.
10144
10145 2012-03-02  Yao Qi  <yao@codesourcery.com>
10146
10147         * tracepoint.c (collect_ust_data_at_tracepoint): Remove parameters
10148         `stop_pc' and `tpoint'.  Update caller.
10149
10150 2012-03-01  Maciej W. Rozycki  <macro@codesourcery.com>
10151
10152         * linux-low.h (linux_target_ops): Add regset_bitmap member.
10153         * linux-low.c (use_linux_regsets): New macro.
10154         [!HAVE_LINUX_REGSETS] (regsets_fetch_inferior_registers): Likewise.
10155         [!HAVE_LINUX_REGSETS] (regsets_store_inferior_registers): Likewise.
10156         (linux_register_in_regsets): New function.
10157         (usr_fetch_inferior_registers): Skip registers covered by
10158         regsets.
10159         (usr_store_inferior_registers): Likewise.
10160         (usr_fetch_inferior_registers): New macro.
10161         (usr_store_inferior_registers): Likewise.
10162         (linux_fetch_registers): Handle mixed regset/non-regset targets.
10163         (linux_store_registers): Likewise.
10164         * linux-mips-low.c (init_registers_mips_dsp_linux): New
10165         prototype.
10166         (init_registers_mips64_dsp_linux): Likewise.
10167         (init_registers_mips_linux): New macro.
10168         (init_registers_mips_dsp_linux): Likewise.
10169         (mips_dsp_num_regs): Likewise.
10170         (DSP_BASE, DSP_CONTROL): New fallback macros.
10171         (mips_base_regs): New macro.
10172         (mips_regmap): Use it.  Fix the size.
10173         (mips_dsp_regmap): New variable.
10174         (mips_dsp_regset_bitmap): Likewise.
10175         (mips_arch_setup): New function.
10176         (mips_cannot_fetch_register): Use the_low_target.regmap rather
10177         than mips_regmap.
10178         (mips_cannot_store_register): Likewise.
10179         (the_low_target): Update .arch_setup, .num_regs and .regmap
10180         initializers.  Add .regset_bitmap initializer.
10181         * linux-arm-low.c (the_low_target): Add .regset_bitmap
10182         initializer.
10183         * linux-bfin-low.c (the_low_target): Likewise.
10184         * linux-cris-low.c (the_low_target): Likewise.
10185         * linux-crisv32-low.c (the_low_target): Likewise.
10186         * linux-ia64-low.c (the_low_target): Likewise.
10187         * linux-m32r-low.c (the_low_target): Likewise.
10188         * linux-m68k-low.c (the_low_target): Likewise.
10189         * linux-ppc-low.c (the_low_target): Likewise.
10190         * linux-s390-low.c (the_low_target): Likewise.
10191         * linux-sh-low.c (the_low_target): Likewise.
10192         * linux-sparc-low.c (the_low_target): Likewise.
10193         * linux-tic6x-low.c (the_low_target): Likewise.
10194         * linux-x86-low.c (the_low_target): Likewise.
10195         * linux-xtensa-low.c (the_low_target): Likewise.
10196         * configure.srv <mips*-*-linux*>: Add mips-dsp-linux.o and
10197         mips64-dsp-linux.o to srv_regobj.  Add mips-dsp-linux.xml,
10198         mips64-dsp-linux.xml, mips-dsp.xml and mips64-dsp.xml to
10199         srv_xmlfiles.
10200         * Makefile.in (mips-dsp-linux.o, mips-dsp-linux.c): New targets.
10201         (mips64-dsp-linux.o, mips64-dsp-linux.c): Likewise.
10202
10203 2012-02-29  Yao Qi  <yao@codesourcery.com>
10204             Pedro Alves  <palves@redhat.com>
10205
10206         * linux-low.c: (linux_wait_1): Call unsuspend_all_lwps when
10207         `step_over_finished' is true.
10208
10209 2012-02-27  Pedro Alves  <palves@redhat.com>
10210
10211         * linux-low.c (pid_is_stopped): Delete, moved to common/.
10212         (linux_attach_lwp_1): Adjust to use linux_proc_pid_is_stopped.
10213
10214 2012-02-27  Pedro Alves  <palves@redhat.com>
10215
10216         PR server/9684
10217         * linux-low.c (pid_is_stopped): New.
10218         (linux_attach_lwp_1): Handle attaching to 'T (stopped)' processes.
10219
10220 2012-02-25  Luis Machado  <lgustavo@codesourcery.com>
10221
10222         * mem-break.c (clear_gdb_breakpoint_conditions): Fix de-allocation
10223         of conditions.
10224
10225 2012-02-24  Maciej W. Rozycki  <macro@codesourcery.com>
10226
10227         * linux-mips-low.c (mips_regmap): Correct the index of $f9.
10228
10229 2012-02-24  Luis Machado  <lgustavo@codesourcery>
10230
10231         * server.c (handle_query): Advertise support for target-side
10232         breakpoint condition evaluation.
10233         (process_point_options): New function.
10234         (process_serial_event): When inserting a breakpoint, check for
10235         a target-side condition that should be evaluated.
10236
10237         * mem-break.c: Include regcache.h and ax.h.
10238         (point_cond_list_t): New data structure.
10239         (breakpoint) <cond_list>: New field.
10240         (find_gdb_breakpoint_at): Make non-static.
10241         (delete_gdb_breakpoint_at): Clear any target-side
10242         conditions.
10243         (clear_gdb_breakpoint_conditions): New function.
10244         (add_condition_to_breakpoint): Likewise.
10245         (add_breakpoint_condition): Likewise.
10246         (gdb_condition_true_at_breakpoint): Likewise.
10247         (gdb_breakpoint_here): Return result directly instead
10248         of going through a local variable.
10249
10250         * mem-break.h (find_gdb_breakpoint_at): New prototype.
10251         (clear_gdb_breakpoint_conditions): Likewise.
10252         (add_breakpoint_condition): Likewise.
10253         (gdb_condition_true_at_breakpoint): Likewise.
10254
10255         * linux-low.c (linux_wait_1): Evaluate target-side breakpoint condition.
10256         (need_step_over_p): Take target-side breakpoint condition into
10257         consideration.
10258
10259 2012-02-24  Luis Machado  <lgustavo@codesourcery>
10260
10261         * server.h: Include tracepoint.h.
10262         (agent_mem_read, agent_get_trace_state_variable_value,
10263         agent_set_trace_state_variable_value,
10264         agent_tsv_read, agent_mem_read_string, get_get_tsv_func_addr,
10265         get_set_tsv_func_addr): New prototypes.
10266
10267         * ax.h: New include file.
10268         * ax.c: New source file.
10269
10270         * tracepoint.c: Include ax.h.
10271         (gdb_agent_op, gdb_agent_op_names, gdb_agent_op_sizes,
10272         agent_expr, eval_result_type): Move to ax.h.
10273         (parse_agent_expr): Rename to ...
10274         (gdb_parse_agent_expr): ... this, make it non-static and move
10275         to ax.h.
10276         (unparse_agent_expr) Rename to ...
10277         (gdb_unparse_agent_expr): ... this, make it non-static and move
10278         to ax.h.
10279         (eval_agent_expr): Rename to ...
10280         (eval_tracepoint_agent_expr): ... this.
10281         (agent_mem_read, agent_mem_read_string, agent_tsv_read): Remove
10282         forward declarations.
10283         (add_tracepoint_action): Call gdb_parse_agent_expr (...).
10284         (agent_get_trace_state_variable_value): New function.
10285         (agent_set_trace_state_variable_value): New function.
10286         (cmd_qtdp): Call gdb_parse_agent_expr (...).
10287         (response_tracepoint): Call gdb_unparse_agent_expr (...).
10288         (do_action_at_tracepoint): Call eval_tracepoint_agent_expr (...).
10289         (condition_true_at_tracepoint): Likewise.
10290         (parse_agent_expr): Rename to ...
10291         (gdb_parse_agent_expr): ... this and move to ax.c.
10292         (unparse_agent_expr): Rename to ...
10293         (gdb_unparse_agent_expr): ... this and move to ax.c.
10294         (gdb_agent_op_name): Move to ax.c.
10295         (eval_agent_expr): Rename to ...
10296         (gdb_eval_agent_expr): ... this, use regcache passed as parameter
10297         and move to ax.c.
10298         (eval_tracepoint_agent_expr): New function.
10299         (agent_mem_read, agent_mem_read_string, agent_tsv_read): Make
10300         non-static.
10301         (current_insn_ptr, emit_error, struct bytecode_address): Move to
10302         ax.c.
10303         (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul, emit_lsh,
10304         emit_rsh_signed, emit_rsh_unsigned, emit_ext, emit_log_not,
10305         emit_bit_and, emit_bit_or, emit_bit_xor, emit_bit_not, emit_equal,
10306         emit_less_signed, emit_less_unsigned, emit_ref, emit_if_goto,
10307         emit_goto, write_goto_address, emit_const, emit_reg, emit_pop,
10308         emit_stack, emit_zero_ext, emit_swap, emit_stack_adjust,
10309         emit_int_call_1, emit_void_call_2, emit_eq_goto, emit_ne_goto,
10310         emit_lt_goto, emit_ge_goto, emit_gt_goto, emit_le_goto): Move to ax.c.
10311         (get_get_tsv_func_addr, get_set_tsv_func_addr): New functions.
10312         (compile_bytecodes): Remove forward declaration.
10313         (is_goto_target): Move to ax.c.
10314         (compile_bytecodes): Move to ax.c and call
10315         agent_get_trace_state_variable_value (...) and
10316         agent_set_trace_state_variable_value (...).
10317
10318         * Makefile.in: Update ax.c and IPA dependencies.
10319
10320 2012-02-24  Pedro Alves  <palves@redhat.com>
10321
10322         * tracepoint.c (cmd_bigqtbuffer): Rename as ...
10323         (cmd_bigqtbuffer_circular): ... this.  Only handle
10324         'QTBuffer:circular:'.
10325         (handle_tracepoint_general_set): Adjust.
10326
10327 2012-02-16  Yao Qi  <yao@codesourcery.com>
10328
10329         * inferiors.c: Move code to ...
10330         * dll.c: .... here.  New.
10331         * server.h: Declare clear_dlls.
10332         * Makefile.in (SFILES): Add dll.c.
10333         (OBS): Add dll.o
10334         (dll.o): New rule.
10335
10336 2012-02-11  Yao Qi  <yao@codesourcery.com>
10337
10338         * server.c: (handle_monitor_command): Add a new parameter
10339         `own_buf'.
10340         (handle_query): Update caller.
10341
10342 2012-02-09  Joel Brobecker  <brobecker@adacore.com>
10343
10344         * configure.ac: Add readlink to AC_CHECK_FUNCS list.
10345         * configure, config.in: Regenerate.
10346         * hostio.c: Provide an alternate implementation if HAVE_READLINK
10347         is not defined.
10348
10349 2012-02-02  Pedro Alves  <palves@redhat.com>
10350
10351         Try SIGKILL first, then PTRACE_KILL.
10352         * linux-low.c (linux_kill_one_lwp): New.
10353         (linux_kill_one_lwp): Rename to ...
10354         (kill_one_lwp_callback): ... this.  Use the new
10355         linux_kill_one_lwp.
10356
10357 2012-02-02  Pedro Alves  <palves@redhat.com>
10358
10359         * tracepoint.c (cmd_qtminftpilen): Return 0 if there's no current
10360         inferior.
10361
10362 2012-01-27  Pedro Alves  <palves@redhat.com>
10363
10364         * linux-low.c (linux_child_pid_to_exec_file): Delete.
10365         (elf_64_file_p): Make static.
10366         (linux_pid_exe_is_elf_64_file): New.
10367         * linux-low.h (linux_child_pid_to_exec_file, elf_64_file_p):
10368         Delete declarations.
10369         (linux_pid_exe_is_elf_64_file): Declare.
10370         * linux-x86-low.c (x86_arch_setup): Use
10371         linux_pid_exe_is_elf_64_file.
10372
10373 2012-01-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
10374
10375         * linux-low.c (linux_wait_for_event_1): Rename to ...
10376         (linux_wait_for_event): ... here and merge it with former
10377         linux_wait_for_event - new variable wait_ptid, use it.
10378         (linux_wait_for_event): Remove - merge it to linux_wait_for_event_1.
10379
10380 2012-01-23  Pedro Alves  <palves@redhat.com>
10381
10382         * server.c (main): Avoid yet another case of infinite loop while
10383         detaching/killing after a longjmp.
10384
10385 2012-01-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
10386
10387         Code cleanup.
10388         * linux-low.c (linux_wait_for_event_1): Use ptid_is_pid.
10389
10390 2012-01-20  Ulrich Weigand  <ulrich.weigand@linaro.org>
10391
10392         * hostio.c (handle_readlink): New function.
10393         (handle_vFile): Call it to handle "vFile:readlink" packets.
10394
10395 2012-01-20  Pedro Alves  <palves@redhat.com>
10396             Ulrich Weigand  <ulrich.weigand@linaro.org>
10397
10398         * server.c (handle_v_requests): Only support vAttach and vRun to
10399         start multiple processes when in extended protocol mode.
10400
10401 2012-01-17  Pedro Alves  <palves@redhat.com>
10402
10403         * tracepoint.c (initialize_tracepoint): Use mmap instead of
10404         memalign plus mprotect to allocate the scratch buffer.
10405
10406 2012-01-13  Pedro Alves  <palves@redhat.com>
10407
10408         * server.c (attach_inferior): Clear `cont_thread'.
10409
10410 2012-01-13  Pedro Alves  <palves@redhat.com>
10411
10412         * server.c (main): Avoid infinite loop while detaching/killing
10413         after a longjmp.
10414
10415 2012-01-09  Doug Evans  <dje@google.com>
10416
10417         * server.c (start_inferior): Set last_ptid in --wrapper case.
10418
10419 2012-01-06  Yao Qi  <yao@codesourcery.com>
10420
10421         * tracepoint.c [IN_PROCESS_AGENT] (debug_threads): Macro
10422         defined.
10423         [IN_PROCESS_AGENT] (debug_agent): New global variable.
10424
10425 2012-01-04  Yao Qi  <yao@codesourcery.com>
10426
10427         * tracepoint.c (cmd_qtdp): Print debug message
10428         for static tracepoint.
10429
10430 2012-01-04  Yao Qi  <yao@codesourcery.com>
10431
10432         * tracepoint.c (trace_vdebug): Differentiate debug message
10433         between gdbserver and IPA.
10434
10435 2012-01-03  Yao Qi  <yao@codesourcery.com>
10436
10437         * tracepoint.c (tracepoint_was_hit): Don't collect for
10438         static tracepoint.
10439
10440 2012-01-02  Joel Brobecker  <brobecker@adacore.com>
10441
10442         * terminal.h: Reformat copyright header.
10443
10444 2012-01-02  Joel Brobecker  <brobecker@adacore.com>
10445
10446         * server.c (gdbserver_version): Update copyright year.
10447         * gdbreplay.c (gdbreplay_version): Likewise.
10448
10449 2011-12-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
10450
10451         * linux-low.c (linux_create_inferior): Put empty if clause for write.
10452
10453         Revert:
10454         2011-12-18  Hui Zhu  <teawater@gmail.com>
10455         * linux-low.c (linux_create_inferior): Save return value to ret.
10456
10457 2011-12-18  Hui Zhu  <teawater@gmail.com>
10458
10459         * linux-low.c (linux_create_inferior): Save return value to ret.
10460
10461 2011-12-16  Doug Evans  <dje@google.com>
10462
10463         * linux-low.c (linux_create_inferior): If stdio connection,
10464         redirect stdin from /dev/null, stdout to stderr.
10465         * remote-utils.c (remote_is_stdio): New static global.
10466         (remote_connection_is_stdio): New function.
10467         (remote_prepare): Handle stdio connection.
10468         (remote_open): Ditto.
10469         (remote_close): Don't close stdin for stdio connections.
10470         (read_prim,write_prim): New functions.  Replace all calls to
10471         read/write to these.
10472         * server.c (main): Watch for "-" argument.  Move call to
10473         remote_prepare before start_inferior.
10474         * server.h (STDIO_CONNECTION_NAME): New macro.
10475         (remote_connection_is_stdio): Declare.
10476
10477         * remote-utils.c (prepare_resume_reply): Remove extraneous \n
10478         in debugging output.
10479
10480 2011-12-15  Yao Qi  <yao@codesourcery.com>
10481
10482         * tracepoint.c: Include sys/syscall.h.
10483         (gdb_ust_thread): Remove preprocessor conditional.
10484
10485 2011-12-14  Pedro Alves  <pedro@codesourcery.com>
10486
10487         * linux-low.c (linux_detach_one_lwp): Call
10488         the_low_target.prepare_to_resume before detaching.
10489
10490 2011-12-14  Yao Qi  <yao@codesourcery.com>
10491
10492         * tracepoint.c (gdb_ust_thread): Don't ignore return value
10493         of write.
10494
10495 2011-12-14  Yao Qi  <yao@codesourcery.com>
10496
10497         * i386-low.c (i386_low_stopped_data_address): Initialize local
10498         variable `control'.
10499
10500 2011-12-13  Pedro Alves  <pedro@codesourcery.com>
10501
10502         PR remote/13492
10503
10504         * i386-low.c (i386_low_stopped_data_address): Avoid fetching
10505         DR_CONTROL unless necessary.  Extend comments.
10506         * linux-x86-low.c (x86_linux_prepare_to_resume): Don't write to
10507         DR0-3 if not used.  If any watchpoint was set, clear DR_STATUS.
10508
10509 2011-12-13  Yao Qi  <yao@codesourcery.com>
10510
10511         * tracepoint.c (trace_buffer_alloc): Replace magic numbers with
10512         macros.
10513         (upload_fast_traceframes, upload_fast_traceframes): Likewise.
10514
10515 2011-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
10516
10517         * linux-low.c (linux_kill): Skip PTRACE_KILL if LWP does not exist.
10518         Print new debug message for such case.
10519
10520 2011-12-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
10521
10522         Fix overlapping memcpy.
10523         * mem-break.c (set_raw_breakpoint_at): New variable buf.  Use it for
10524         the read_inferior_memory transfer.
10525         (delete_fast_tracepoint_jump): New variable buf.  Use it for the
10526         write_inferior_memory transfer.
10527         (set_fast_tracepoint_jump): New variable buf.  Use it for the
10528         read_inferior_memory and write_inferior_memory transfers.
10529         (uninsert_fast_tracepoint_jumps_at, reinsert_fast_tracepoint_jumps_at)
10530         (delete_raw_breakpoint, uninsert_raw_breakpoint): New variable buf.
10531         Use it for the write_inferior_memory transfer.
10532         (check_mem_read, check_mem_write): New gdb_asserts for overlapping
10533         buffers.
10534
10535 2011-12-06  Maciej W. Rozycki  <macro@codesourcery.com>
10536
10537         * linux-low.c (fetch_register, store_register): Make code
10538         consistent, fix formatting.
10539
10540 2011-12-06  Maciej W. Rozycki  <macro@codesourcery.com>
10541
10542         * linux-low.c (usr_store_inferior_registers): Factor out code
10543         to handle individual registers into...
10544         (store_register): ... this new function.
10545
10546 2011-12-06  Ulrich Weigand  <uweigand@de.ibm.com>
10547
10548         * Makefile.in (s390-linux32v1.o, s390-linux32v1.c): New rules.
10549         (s390-linux32v2.o, s390-linux32v2.c): Likewise.
10550         (s390-linux64v1.o, s390-linux64v1.c): Likewise.
10551         (s390-linux64v2.o, s390-linux64v2.c): Likewise.
10552         (s390x-linux64v1.o, s390x-linux64v1.c): Likewise.
10553         (s390x-linux64v2.o, s390x-linux64v2.c): Likewise.
10554         * configure.srv [s390*-*-linux*] (srv_regobj): Add new objects.
10555         (srv_xmlfiles): Add new XML files.
10556
10557         * linux-s390-low.c: Include "elf/common.h", <sys/ptrace.h>,
10558         and <sys/uio.h>.
10559         (PTRACE_GETREGSET, PTRACE_SETREGSET): Define if undefined.
10560         (init_registers_s390_linux32v1): Add prototype.
10561         (init_registers_s390_linux32v2): Likewise.
10562         (init_registers_s390_linux64v1): Likewise.
10563         (init_registers_s390_linux64v2): Likewise.
10564         (init_registers_s390x_linux64v1): Likewise.
10565         (init_registers_s390x_linux64v2): Likewise.
10566         (s390_num_regs): Increment to 52.
10567         (s390_regmap): Add orig_r2 register.
10568         (s390_num_regs_3264): Increment to 68.
10569         (s390_regmap_3264): Add orig_r2 register.
10570         (s390_collect_ptrace_register): Handle orig_r2 register.
10571         (s390_supply_ptrace_register): Likewise.
10572         (s390_fill_last_break): New function.
10573         (s390_store_last_break): Likewise.
10574         (s390_fill_system_call): New function.
10575         (s390_store_system_call): Likewise.
10576         (target_regsets): Handle NT_S390_LAST_BREAK and NT_S390_SYSTEM_CALL
10577         register sets.
10578         (s390_check_regset): New function.
10579         (s390_arch_setup): Check for presence of NT_S390_LAST_BREAK and
10580         NT_S390_SYSTEM_CALL regsets and use appropriate description.
10581         Update target_regsets for available register sets.
10582
10583 2011-12-02  Paul Pluzhnikov  <ppluzhnikov@google.com>
10584             Jan Kratochvil  <jan.kratochvil@redhat.com>
10585
10586         * linux-low.c (get_phdr_phnum_from_proc_auxv, get_dynamic, get_r_debug)
10587         (read_one_ptr, struct link_map_offsets, linux_qxfer_libraries_svr4):
10588         New.
10589         (struct linux_target_ops): Install linux_qxfer_libraries_svr4.
10590         * linux-low.h (struct process_info_private): New member r_debug.
10591         * server.c (handle_qxfer_libraries): Call
10592         the_target->qxfer_libraries_svr4.
10593         (handle_qxfer_libraries_svr4): New function.
10594         (qxfer_packets): New entry "libraries-svr4".
10595         (handle_query): Check QXFER_LIBRARIES_SVR4 and report libraries-svr4.
10596         * target.h (struct target_ops): New member qxfer_libraries_svr4.
10597         * remote.c (remote_xfer_partial): Call add_packet_config_cmd for
10598         PACKET_qXfer_libraries_svr4.
10599
10600 2011-11-30  Ulrich Weigand  <uweigand@de.ibm.com>
10601
10602         * linux-s390-low.c (s390_collect_ptrace_register): Fully convert
10603         PSW address/mask between 8-byte and 16-byte formats.
10604         (s390_supply_ptrace_register): Likewise.
10605         (s390_get_pc, s390_set_pc): 4-byte PSW address always includes
10606         basic addressing mode bit.
10607
10608 2011-11-24  Stan Shebs  <stan@codesourcery.com>
10609
10610         * tracepoint.c (cmd_qtstatus): Use plongest instead of %llx.
10611
10612 2011-11-17  Stan Shebs  <stan@codesourcery.com>
10613
10614         * tracepoint.c (struct tracepoint): New field traceframe_usage.
10615         (tracing_start_time): New global.
10616         (tracing_stop_time): New global.
10617         (tracing_user_name): New global.
10618         (tracing_notes): New global.
10619         (tracing_stop_note): New global.
10620         (cmd_qtstart): Set traceframe_usage, start_time.
10621         (stop_tracing): Set stop_time.
10622         (cmd_qtstatus): Report additional status.
10623         (cmd_qtp): New function.
10624         (handle_tracepoint_query): Call it.
10625         (cmd_qtnotes): New function.
10626         (handle_tracepoint_general_set): Call it.
10627         (get_timestamp): Rename from tsv_get_timestamp.
10628
10629 2011-11-14  Stan Shebs  <stan@codesourcery.com>
10630             Kwok Cheung Yeung  <kcy@codesourcery.com>
10631
10632         * linux-x86-low.c (small_jump_insn): New.
10633         (i386_install_fast_tracepoint_jump_pad): Add arguments for
10634         trampoline and error message, build a trampoline and issue a small
10635         jump instruction to it.
10636         (x86_install_fast_tracepoint_jump_pad): Add arguments for
10637         trampoline and error message.
10638         (x86_get_min_fast_tracepoint_insn_len): New.
10639         (the_low_target): Add call to x86_get_min_fast_tracepoint_insn_len.
10640         * linux-low.h (struct linux_target_ops): Add arguments to
10641         install_fast_tracepoint_jump_pad operation, add new operation.
10642         * linux-low.c (linux_install_fast_tracepoint_jump_pad): Add
10643         arguments.
10644         (linux_get_min_fast_tracepoint_insn_len): New function.
10645         (linux_target_op): Add new operation.
10646         * tracepoint.c (gdb_trampoline_buffer): New IPA variable.
10647         (gdb_trampoline_buffer_end): Ditto.
10648         (gdb_trampoline_buffer_error): Ditto.
10649         (struct ipa_sym_addresses): Add fields for new IPA variables.
10650         (symbol_list): Add entries for new IPA variables.
10651         (struct tracepoint): Add fields to hold the address range of the
10652         trampoline used by the tracepoint.
10653         (trampoline_buffer_head): New static variable.
10654         (trampoline_buffer_tail): Ditto.
10655         (claim_trampoline_space): New function.
10656         (have_fast_tracepoint_trampoline_buffer): New function.
10657         (clone_fast_tracepoint): Fill in trampoline fields of tracepoint
10658         structure.
10659         (install_fast_tracepoint): Ditto, also add error buffer argument.
10660         (cmd_qtminftpilen): New function.
10661         (handle_tracepoint_query): Add response to qTMinFTPILen packet.
10662         (fast_tracepoint_from_trampoline_address): New function.
10663         (fast_tracepoint_collecting): Handle trampoline as part of jump
10664         pad space.
10665         (set_trampoline_buffer_space): New function.
10666         (initialize_tracepoint): Initialize new IPA variables.
10667         * target.h (struct target_ops): Add arguments to
10668         install_fast_tracepoint_jump_pad operation, add new
10669         get_min_fast_tracepoint_insn_len operation.
10670         (target_get_min_fast_tracepoint_insn_len): New.
10671         (install_fast_tracepoint_jump_pad): Add arguments.
10672         * server.h (IPA_BUFSIZ): Define.
10673         * linux-i386-ipa.c: Include extra header files.
10674         (initialize_fast_tracepoint_trampoline_buffer): New function.
10675         (initialize_low_tracepoint): Call it.
10676         * server.h (set_trampoline_buffer_space): Declare.
10677         (claim_trampoline_space): Ditto.
10678         (have_fast_tracepoint_trampoline_buffer): Ditto.
10679
10680 2011-11-14  Yao Qi  <yao@codesourcery.com>
10681
10682         * server.c (handle_query): Handle InstallInTrace for qSupported.
10683         * tracepoint.c (add_tracepoint): Sort list.
10684         (install_tracepoint, download_tracepoint): New.
10685         (cmd_qtdp): Call them to install and download tracepoints.
10686         (sort_tracepoints): Removed.
10687         (cmd_qtstart): Update.
10688
10689 2011-11-14  Yao Qi  <yao@codesourcery.com>
10690
10691         * mem-break.c (inc_ref_fast_tracepoint_jump): New.
10692         * mem-break.h: Declare.
10693         * tracepoint.c (cmd_qtstart): Move some code to ...
10694         (clone_fast_tracepoint, install_fast_tracepoint): ... here.
10695         New.
10696         (download_tracepoints): Move some code to ...
10697         (download_tracepoint_1): ... here.  New.
10698
10699 2011-11-08  Yao Qi  <yao@codesourcery.com>
10700
10701         * remote-utils.c (relocate_instruction): A comment fix.
10702
10703 2011-11-07  Joel Brobecker  <brobecker@adacore.com>
10704
10705         * win32-i386-low.c (dr_status_mirror, dr_control_mirror): Delete.
10706         (i386_dr_low_get_control, i386_dr_low_get_status): Use
10707         dr_status_mirror and dr_control_mirror from debug_reg_state.
10708         (i386_dr_low_get_status): Use debug_reg_state.dr_status_mirror
10709         (i386_initial_stuff): Remove use of deleted globals.
10710         (i386_get_thread_context, i386_set_thread_context,
10711         i386_thread_added): Use dr_status_mirror and dr_control_mirror
10712         from debug_reg_state.
10713
10714 2011-11-05  Yao Qi  <yao@codesourcery.com>
10715
10716         * tracepoint.c (gdb_collect): Loop over tracepoints of same
10717         address as TPOINT's.
10718
10719 2011-11-02  Stan Shebs  <stan@codesourcery.com>
10720
10721         * tracepoint.c (agent_mem_read_string): New function.
10722         (eval_agent_expr): Call it for tracenz.
10723         * server.c (handle_query): Report support for tracenz.
10724
10725 2011-11-02  Yao Qi  <yao@codesourcery.com>
10726
10727         * tracepoint.c (cmd_qtstart): Remove unused local variables.
10728
10729 2011-11-02  Yao Qi  <yao@codesourcery.com>
10730
10731         * target.h: Fix a typo in comment.
10732
10733 2011-10-31  Pedro Alves  <pedro@codesourcery.com>
10734
10735         * mem-break.c (check_mem_write): Add `myaddr' parameter.  Don't
10736         clobber the breakpoints' shadows with fast tracepoint jumps.
10737         * mem-break.h (check_mem_write): Add `myaddr' parameter.
10738         * target.c (write_inferior_memory): Also pass MYADDR down to
10739         check_mem_write.
10740
10741 2011-10-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
10742
10743         * configure.ac: Check support for personality routine.
10744         * configure: Regenerate.
10745         * config.in: Likewise.
10746         * linux-low.c: Include <sys/personality.h>.
10747         Define ADDR_NO_RANDOMIZE if necessary.
10748         (linux_create_inferior): Disable address space randomization when
10749         forking inferior, if requested.
10750         (linux_supports_disable_randomization): New function.
10751         (linux_target_ops): Install it.
10752         * server.h (disable_randomization): Declare.
10753         * server.c (disable_randomization): New global variable.
10754         (handle_general_set): Handle QDisableRandomization.
10755         (handle_query): Likewise for qSupported.
10756         (main): Support --disable-randomization and --no-disable-randomization
10757         command line arguments.
10758         * target.h (struct target_ops): Add supports_disable_randomization.
10759         (target_supports_disable_randomization): New macro.
10760
10761 2011-09-29  Mike Frysinger  <vapier@gentoo.org>
10762
10763         * linux-low.c (target_loadseg): Add defined PTRACE_GETFDPIC to the
10764         ifdef check.
10765         [PT_GETDSBT] (target_loadmap): Wrap in a defined PT_GETDSBT check.
10766         [!PT_GETDSBT] (target_loadmap): New definition.
10767         (LINUX_LOADMAP, LINUX_LOADMAP_EXEC, LINUX_LOADMAP_INTERP): Define.
10768         (linux_read_loadmap): Change PTRACE_GETDSBT_EXEC to
10769         LINUX_LOADMAP_EXEC, PTRACE_GETDSBT_INTERP to LINUX_LOADMAP_INTERP,
10770         and PT_GETDSBT to LINUX_LOADMAP.
10771         [!PT_GETDSBT] (linux_read_loadmap): Define to NULL.
10772         (linux_target_ops): Delete unnecessary ifdef PT_GETDSBT check.
10773
10774 2011-09-21  Ulrich Weigand  <ulrich.weigand@linaro.org>
10775
10776         * linux-arm-low.c (struct arm_linux_hwbp_cap): Remove.
10777         (arm_linux_hwbp_cap): New static variable.
10778         (arm_linux_get_hwbp_cap): Replace by ...
10779         (arm_linux_init_hwbp_cap): ... this new function.
10780         (arm_linux_get_hw_breakpoint_count): Use arm_linux_hwbp_cap.
10781         (arm_linux_get_hw_watchpoint_count): Likewise.
10782         (arm_linux_get_hw_watchpoint_max_length): Likewise.
10783         (arm_arch_setup): Call arm_linux_init_hwbp_cap.
10784         (arm_prepare_to_resume): Use perror_with_name instead of error.
10785
10786 2011-09-21  Ulrich Weigand  <ulrich.weigand@linaro.org>
10787
10788         * linux-arm-low.c: Include <signal.h>.
10789         (PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define if necessary.
10790         (struct arm_linux_hwbp_cap): New data type.
10791         (arm_hwbp_type, arm_hwbp_control_t): New typedefs.
10792         (struct arm_linux_hw_breakpoint): New data type.
10793         (MAX_BPTS, MAX_WPTS): Define.
10794         (struct arch_process_info, struct arch_lwp_info): New data types.
10795         (arm_linux_get_hwbp_cap): New function.
10796         (arm_linux_get_hw_breakpoint_count): Likewise.
10797         (arm_linux_get_hw_watchpoint_count): Likewise.
10798         (arm_linux_get_hw_watchpoint_max_length): Likewise.
10799         (arm_hwbp_control_initialize): Likewise.
10800         (arm_hwbp_control_is_enabled): Likewise.
10801         (arm_hwbp_control_is_initialized): Likewise.
10802         (arm_hwbp_control_disable): Likewise.
10803         (arm_linux_hw_breakpoint_equal): Likewise.
10804         (arm_linux_hw_point_initialize): Likewise.
10805         (struct update_registers_data): New data structure.
10806         (update_registers_callback: New function.
10807         (arm_insert_point): Likewise.
10808         (arm_remove_point): Likewise.
10809         (arm_stopped_by_watchpoint): Likewise.
10810         (arm_stopped_data_address): Likewise.
10811         (arm_new_process): Likewise.
10812         (arm_new_thread): Likewise.
10813         (arm_prepare_to_resume): Likewise.
10814         (the_low_target): Register arm_insert_point, arm_remove_point,
10815         arm_stopped_by_watchpoint, arm_stopped_data_address, arm_new_process,
10816         arm_new_thread, and arm_prepare_to_resume.
10817
10818 2011-09-15  Stan Shebs  <stan@codesourcery.com>
10819
10820         * server.h (struct emit_ops): Add compare-goto fields.
10821         * tracepoint.c (gdb_agent_op_sizes): New table.
10822         (emit_eq_goto): New function.
10823         (emit_ne_goto): New function.
10824         (emit_lt_goto): New function.
10825         (emit_le_goto): New function.
10826         (emit_gt_goto): New function.
10827         (emit_ge_goto): New function.
10828         (is_goto_target): New function.
10829         (compile_bytecodes): Recognize special cases of compare-goto
10830         combinations and call specialized emitters for them.
10831         * linux-x86-low.c (amd64_emit_eq_goto): New function.
10832         (amd64_emit_ne_goto): New function.
10833         (amd64_emit_lt_goto): New function.
10834         (amd64_emit_le_goto): New function.
10835         (amd64_emit_gt_goto): New function.
10836         (amd64_emit_ge_goto): New function.
10837         (amd64_emit_ops): Add the new functions.
10838         (i386_emit_eq_goto): New function.
10839         (i386_emit_ne_goto): New function.
10840         (i386_emit_lt_goto): New function.
10841         (i386_emit_le_goto): New function.
10842         (i386_emit_gt_goto): New function.
10843         (i386_emit_ge_goto): New function.
10844         (i386_emit_ops): Add the new functions.
10845
10846 2011-09-08  Stan Shebs  <stan@codesourcery.com>
10847
10848         * linux-x86-low.c (i386_emit_prologue): Save %ebx.
10849         (i386_emit_epilogue): Restore %ebx.
10850
10851 2011-08-31  Jie Zhang  <jzhang918@gmail.com>
10852
10853         * server.c (step_thread): Remove definition.
10854         (process_serial_event): Don't handle Hs.
10855         * server.h (step_thread): Remove declaration.
10856         * target.c (set_desired_inferior): Remove use of step_thread.
10857
10858 2011-08-24  Luis Machado  <lgustavo@codesourcery.com>
10859
10860         * linux-low.c: Include linux-procfs.h.
10861         (linux_attach_lwp_1): Update comments.
10862         (linux_attach): Scan for existing threads when attaching to a
10863         process that is the tgid.
10864         * Makefile.in: Update dependencies.
10865
10866 2011-08-24  Luis Machado  <lgustavo@codesourcery.com>
10867
10868         * configure.srv: Add linux-procfs.o dependencies.
10869
10870 2011-08-14  Yao Qi  <yao@codesourcery.com>
10871
10872         * target.h (struct target_ops): Fix indent.
10873         * win32-low.c (win32_target_ops): Fix comment.
10874
10875 2011-08-14  Andrew Jenner  <andrew@codesourcery.com>
10876             Yao Qi  <yao@codesourcery.com>
10877
10878         * Makefile.in (clean): Remove tic6x-*.c files.
10879         (linux-tic6x-low.o, tic6x-c62x-linux.o, tic6x-c64x-linux.o): New rules.
10880         (tic6x-c64xp-linux.o, tic6x-c62x-linux.c, tic6x-c64x-linux.c): Likewise.
10881         (tic6x-c64xp-linux.c): Likewise.
10882         * configure.srv: Add support for tic6x-*-uclinux.
10883         * linux-tic6x-low.c: New.
10884         * linux-low.c (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define.
10885
10886 2011-08-14  Andrew Stubbs <ams@codesourcery.com>
10887             Yao Qi  <yao@codesourcery.com>
10888
10889         * target.h (struct target_ops): Add read_loadmap.
10890         * linux-low.c (struct target_loadseg): New type.
10891         (struct target_loadmap): New type.
10892         (linux_read_loadmap): New function.
10893         (linux_target_ops): Add linux_read_loadmap.
10894         * server.c (handle_query): Support qXfer:fdpic:read packet.
10895         * win32-low.c (win32_target_ops): Initialize field `read_loadmap'
10896         to NULL.
10897
10898 2011-08-05  Eli Zaretskii  <eliz@gnu.org>
10899
10900         * win32-low.c: Include <stdint.h>.
10901
10902 2011-07-22  Pedro Alves  <pedro@codesourcery.com>
10903
10904         * i386-low.c (i386_insert_aligned_watchpoint): Don't pass the info
10905         to the inferior here.
10906         (i386_remove_aligned_watchpoint): Ditto.
10907         (i386_handle_nonaligned_watchpoint): Return immediate on fail to
10908         fit part of the watchpoint in the debug registers.
10909         (i386_update_inferior_debug_regs): New.
10910         (i386_low_insert_watchpoint): Work on a local mirror of the debug
10911         registers, and only update the inferior on success.
10912         (i386_low_remove_watchpoint): Ditto.
10913
10914 2011-07-22  Kwok Cheung Yeung  <kcy@codesourcery.com>
10915
10916         * linux-low.c (compare_ints, unique, list_threads, show_process,
10917         linux_core_of_thread): Delete.
10918         (linux_target_ops): Change linux_core_of_thread to
10919         linux_common_core_of_thread.
10920         (linux_qxfer_osdata): Defer to linux_common_xfer_osdata.
10921         * utils.c (malloc_failure): Change type of argument.
10922         (xmalloc, xrealloc, xcalloc, xsnprintf): Delete.
10923         * Makefile.in (SFILES): Add common/common-utils.c, common/xml-utils.c,
10924         common/linux-osdata.c, common/ptid.c and common/buffer.c.
10925         (OBS): Add xml-utils.o, common-utils.o, ptid.o and buffer.o.
10926         (IPA_OBJS): Add common-utils-ipa.o.
10927         (ptid_h, linux_osdata_h): New macros.
10928         (server_h): Add common/common-utils.h, common/xml-utils.h,
10929         common/buffer.h, common/gdb_assert.h, common/gdb_locale.h and
10930         common/ptid.h.
10931         (common-utils-ipa.o, common-utils.o, xml-utils.o, linux-osdata.o,
10932         ptid.o, buffer.o): New rules.
10933         (linux-low.o): Add common/linux-osdata.h as a dependency.
10934         * configure.srv (srv_tgtobj): Add linux-osdata.o to Linux targets.
10935         * configure.ac: Add AC_HEADER_DIRENT check.
10936         * config.in: Regenerate.
10937         * configure: Regenerate.
10938         * remote-utils.c (xml_escape_text): Delete.
10939         (buffer_grow, buffer_free, buffer_init, buffer_finish,
10940         buffer_xml_printf): Move to common/buffer.c.
10941         * server.c (main): Remove call to initialize_inferiors.
10942         * server.h (struct ptid, ptid_t, minus_one_ptid, null_ptid,
10943         ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid,
10944         ptid_equal, ptid_is_pid, initialize_inferiors, xml_escape_text,
10945         internal_error, gdb_assert, gdb_assert_fail): Delete.
10946         (struct buffer, buffer_grow, buffer_free, buffer_init, buffer_finish,
10947         buffer_xml_printf, buffer_grow_str, buffer_grow_str0): Move to
10948         common/buffer.h.
10949         * inferiors.c (null_ptid, minus_one_ptid, ptid_build, pid_to_ptid,
10950         ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid,
10951         initialize_inferiors): Delete.
10952
10953 2011-07-20  Pedro Alves  <pedro@codesourcery.com>
10954
10955         * tracepoint.c (tracepoint_look_up_symbols): Return upon the first
10956         symbol error.
10957
10958 2011-05-31  Pedro Alves  <pedro@codesourcery.com>
10959
10960         * linux-x86-low.c (i386_dr_low_get_addr): Fix off by one in
10961         assertion.
10962         * win32-i386-low.c (i386_dr_low_get_addr): Ditto.
10963
10964 2011-05-26  Yao Qi  <yao@codesourcery.com>
10965
10966         * Makefile.in (thread-db.o): Track dependence to
10967         common/gdb_thread_db.h.
10968         * thread-db.c: include gdb_thread_db.h from right place.
10969
10970 2011-05-16  Adrian Cornish  <gnu@bluedreamer.com>
10971
10972         * linux-i386-ipa.c (supply_static_tracepoint_registers): Pass
10973         __FILE__ and __LINE__ to internal_error.
10974
10975 2011-05-13  Doug Evans  <dje@google.com>
10976
10977         * thread-db.c (try_thread_db_load_from_sdir): New function.
10978         (try_thread_db_load_from_dir): New function.
10979         (thread_db_load_search): Handle $sdir, ignore $pdir.
10980         Remove trying of system directories if search of
10981         libthread-db-search-path fails, that is now done via $sdir.
10982
10983 2011-05-12  Kwok Cheung Yeung  <kcy@codesourcery.com>
10984
10985         * server.c (handle_query): Add EnableDisableTracepoints to the list
10986         of supported features.
10987         * tracepoint.c (clear_installed_tracepoints): Uninstall disabled
10988         tracepoints.
10989         (cmd_qtenable_disable): New.
10990         (cmd_qtstart): Install tracepoints even if disabled.
10991         (handle_tracepoint_general_set): Add call to cmd_qtenable_disable on
10992         receiving a QTEnable or QTDisable packet.
10993         (gdb_collect): Skip data collection if fast tracepoint is disabled.
10994         (ust_marker_to_static_tracepoint): Do not ignore disabled static
10995         tracepoints.
10996         (gdb_probe): Skip data collection if static tracepoint is disabled.
10997
10998 2011-05-10  Doug Evans  <dje@google.com>
10999
11000         * thread-db.c (thread_db_handle_monitor_command): Handle elided path.
11001
11002 2011-05-04  Doug Evans  <dje@google.com>
11003
11004         * linux-low.c (linux_join): Skip process lookup.
11005         * spu-low.c (spu_join): Ditto.
11006         * server.c (join_inferiors_callback): Delete.
11007         (process_serial_event): For 'D' packet (detach) call join_inferior
11008         directly.
11009
11010 2011-05-04  Joseph Myers  <joseph@codesourcery.com>
11011
11012         * README: Don't mention xscale*-*-linux*.
11013         * configure.srv (xscale*-*-linux*): Don't handle target.
11014
11015 2011-04-27  Nathan Froyd  <froydnj@codesourcery.com>
11016
11017         * linux-x86-low.c (amd64_emit_const): Call memcpy instead of
11018         casting pointers.
11019         (amd64_emit_reg, amd64_emit_int_call_1, amd64_emit_void_call_2):
11020         (i386_emit_const, i386_emit_reg, i386_emit_int_call_1):
11021         (i386_emit_void_call_2): Likewise.
11022
11023 2011-04-26  Yao Qi  <yao@codesourcery.com>
11024
11025         * linux-low.c: Move common macros to linux-ptrace.h.
11026         Include linux-ptrace.h.
11027         * Makefile.in (linux_ptrace_h): New.
11028         (linux-low.o): Depends on linux-ptrace.h.
11029
11030 2011-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
11031
11032         * remote-utils.c (handle_accept_event): Close LISTEN_DESC only if
11033         RUN_ONCE.  Comment for the LISTEN_DESC delete_file_handler call.
11034         (remote_prepare): New function with most of the TCP code from ...
11035         (remote_open): ... here.  Detect PORT here unconditionally.  Move also
11036         setting transport_is_reliable.
11037         * server.c (run_once): New variable.
11038         (gdbserver_usage): Document it.
11039         (main): Set run_once for `--once'.  Call remote_prepare.  Exit after
11040         the first run if RUN_ONCE.
11041         * server.h (run_once, remote_prepare): New declarations.
11042
11043 2011-04-19  Tom Tromey  <tromey@redhat.com>
11044
11045         * win32-low.c (handle_load_dll): Remove duplicate "the".
11046
11047 2011-04-07  Pierre Muller  <muller@ics.u-strasbg.fr>
11048
11049         Remove support for old Cygwin 1.5 versions.
11050         * win32-low.c (win32_create_inferior): Use new cygwin_path_list
11051         function to avoid warning.
11052         (win32_add_one_solib): Use cygwin_conv_path function to avoid
11053         warning.
11054
11055 2011-03-18  Pierre Muller  <muller@ics.u-strasbg.fr>
11056
11057         * gdbserver/server.h (Macro _): Define it if not available.
11058
11059 2011-03-14  Michael Snyder  <msnyder@vmware.com>
11060
11061         * hostio.c (handle_close): Remove unnecessary null test.
11062
11063 2011-03-10  Joel Brobecker  <brobecker@adacore.com>
11064
11065         * Makefile.in (maintainer-clean realclean distclean): Remove
11066         "make ...  subdir_do" command.
11067
11068 2011-03-10  Michael Snyder  <msnyder@vmware.com>
11069
11070         * tracepoint.c (tracepoint_finish_step): Fix loop variable.
11071
11072         * server.c (handle_v_run): Free alloced buffer on early return.
11073
11074 2011-03-09  Yao Qi  <yao@codesourcery.com>
11075
11076         Revert:
11077         2011-03-04  Yao Qi  <yao@codesourcery.com>
11078
11079         * Makefile.in: Remove GNU make feature --directory.
11080
11081         2011-03-05  Yao Qi  <yao@codesourcery.com>
11082
11083         * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable.
11084         (subdir_do): New make target.  Copied from gdb/Makefile.
11085         (maintainer-clean, realclean, distclean, clean): Call corresponding
11086         make targets in common/Makefile.
11087
11088         2011-02-11  Yao Qi  <yao@codesourcery.com>
11089
11090         * configure.ac: Call AC_PROG_RANLIB.
11091         * Makefile.in: Remove signals.o from OBS.  Link libcommon.a.
11092         * configure: Regenerate.
11093
11094 2011-03-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
11095
11096         * remote-utils.c (putpkt_binary_1): Calculate BUF2 size dynamically.
11097
11098 2011-03-06  Yao Qi  <yao@codesourcery.com>
11099
11100         * Makefile.in (REQUIRED_SUBDIRS): Remove $(LIBCOMMON_DIR).
11101
11102 2011-03-05  Yao Qi  <yao@codesourcery.com>
11103
11104         * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable.
11105         (subdir_do): New make target.  Copied from gdb/Makefile.
11106         (maintainer-clean, realclean, distclean, clean): Call corresponding
11107         make targets in common/Makefile.
11108
11109 2011-03-04  Yao Qi  <yao@codesourcery.com>
11110
11111         * Makefile.in: Remove GNU make feature --directory.
11112
11113 2011-03-04  Michael Snyder  <msnyder@vmware.com>
11114
11115         * server.c (queue_stop_reply): Call xmalloc not malloc.
11116
11117 2011-03-02  Michael Snyder  <msnyder@vmware.com>
11118
11119         * linux-arm-low.c (arm_arch_setup): Replace malloc with xmalloc.
11120
11121 2011-02-28  Michael Snyder  <msnyder@vmware.com>
11122
11123         * tracepoint.c (cmd_qtv): Discard unused value 'packet'.
11124         (cmd_qtframe): Ditto.
11125         (cmd_qtbuffer): Ditto.
11126         (cmd_bigqtbuffer): Ditto.
11127
11128         * utils.c (decimal2str): Initialize 'width' to nine, then
11129         don't mess with it.
11130
11131 2011-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
11132
11133         * hostio.c (require_data): Free *data, not data.
11134
11135 2011-02-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
11136
11137         * hostio.c (require_data): Use free, not xfree.
11138
11139 2011-02-27  Michael Snyder  <msnyder@vmware.com>
11140
11141         * server.c (handle_query): Discard unused value.
11142
11143         * hostio.c (require_data): Free malloc memory before returning
11144         error.
11145
11146 2011-02-26  Michael Snyder  <msnyder@vmware.com>
11147
11148         * linux-low.c (list_threads): Call closedir for dirent.
11149
11150 2011-02-27  Michael Snyder  <msnyder@vmware.com>
11151
11152         * i386-low.c (i386-length_and_rw_bits): Comment the fact that
11153         a case statement falls through.
11154
11155         * linux-low.c (linux_xfer_siginfo): Fix fencepost error.
11156
11157         * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Fix fencepost error
11158         in comparison.
11159
11160 2011-02-26  Michael Snyder  <msnyder@vmware.com>
11161
11162         * utils.c (decimal2str): Eliminate dead code and dead param.
11163         (pulongest): Drop dead param from call to decimal2str.
11164         (plongest): Ditto.
11165
11166 2011-02-24  Joel Brobecker  <brobecker@adacore.com>
11167
11168         Revert the following patch (not approved yet):
11169         2011-02-21  Hui Zhu  <teawater@gmail.com>
11170         * tracepoint.c (tp_printf): New function.
11171         (eval_agent_expr): Handle gdb_agent_op_printf.
11172
11173 2011-02-21  Hui Zhu  <teawater@gmail.com>
11174
11175         * tracepoint.c (tp_printf): New function.
11176         (eval_agent_expr): Handle gdb_agent_op_printf.
11177
11178 2011-02-18  Tom Tromey  <tromey@redhat.com>
11179
11180         * Makefile.in (tracepoint-ipa.o): Depend on ax.def.
11181         (tracepoint.o): Likewise.
11182         * tracepoint.c (enum gdb_agent_op): Use ax.def.
11183         (gdb_agent_op_names): Likewise.
11184
11185 2011-02-18  Tom Tromey  <tromey@redhat.com>
11186
11187         * tracepoint.c (enum gdb_agent_op) <gdb_agent_op_pick,
11188         gdb_agent_op_rot>: New constants.
11189         (gdb_agent_op_names): Add pick and roll.
11190         (eval_agent_expr) <gdb_agent_op_pick, gdb_agent_op_rot>: New
11191         cases.
11192
11193 2011-02-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
11194
11195         * aclocal.m4: Regenerated with aclocal-1.11.1.
11196
11197 2011-02-14  Pedro Alves  <pedro@codesourcery.com>
11198
11199         * server.c (handle_qxfer_traceframe_info): New.
11200         (qxfer_packets): Register "traceframe-info".
11201         (handle_query): Report support for qXfer:traceframe-info:read+.
11202         * tracepoint.c (match_blocktype): New.
11203         (traceframe_find_block_type): Rename to ...
11204         (traceframe_walk_blocks): ... this.  Add callback filter argument,
11205         and use it.
11206         (traceframe_find_block_type): New, reimplemented on top of
11207         traceframe_walk_blocks.
11208         (build_traceframe_info_xml): New.
11209         (traceframe_read_info): New.
11210         * server.h (traceframe_read_info): Declare.
11211
11212 2011-02-11  Yao Qi  <yao@codesourcery.com>
11213
11214         * configure.ac: Call AC_PROG_RANLIB.
11215         * Makefile.in: Remove signals.o from OBS.  Link libcommon.a.
11216         * configure: Regenerate.
11217
11218 2011-02-07  Pedro Alves  <pedro@codesourcery.com>
11219
11220         * server.c (gdb_read_memory): Change return semantics to allow
11221         partial transfers.
11222         (handle_search_memory_1): Adjust.
11223         (process_serial_event) <'m' packet>: Handle partial transfers.
11224         * tracepoint.c (traceframe_read_mem): Handle partial transfers.
11225
11226 2011-01-28  Pedro Alves  <pedro@codesourcery.com>
11227
11228         * regcache.c (init_register_cache): Initialize
11229         regcache->register_status.
11230         (free_register_cache): Release regcache->register_status.
11231         (regcache_cpy): Copy register_status.
11232         (registers_to_string): Print 'x's for unavailable registers.
11233         (supply_register): Mark the register's status valid or
11234         unavailable, depending on whether a buffer was passed in or not.
11235         (supply_register_zeroed): New.
11236         (supply_regblock): Mark the registers' status valid or
11237         unavailable, depending on whether a buffer was passed in or not.
11238         * regcache.h (REG_UNAVAILABLE, REG_VALID): New defines.
11239         (struct regcache): New `register_status' field.
11240         (supply_register_zeroed): Declare.
11241         * i387-fp.c (i387_xsave_to_cache): Zero out registers using
11242         supply_register_zeroed, rather than passing a NULL buffer to
11243         supply_register.
11244         * tracepoint.c (fetch_traceframe_registers): Update comment.
11245
11246 2011-01-28  Pedro Alves  <pedro@codesourcery.com>
11247
11248         * i387-fp.c (i387_xsave_to_cache): Make passing NULL as register
11249         buffer explicit.
11250
11251 2011-01-25  Pedro Alves  <pedro@codesourcery.com>
11252
11253         * server.h (decode_xfer_write): Change prototype.
11254         * remote-utils.c (decode_xfer_write): Remove `annex' parameter,
11255         and don't extract the annex here.
11256         * server.c (decode_xfer_read): Remove `annex' parameter,
11257         and don't extract the annex here.
11258         (decode_xfer): New.
11259         (struct qxfer): New.
11260         (handle_qxfer_auxv, handle_qxfer_features, handle_qxfer_libraries)
11261         (handle_qxfer_osdata, handle_qxfer_siginfo, handle_qxfer_spu)
11262         (handle_qxfer_statictrace): New functions, abstracted out from
11263         handle_query, and made to use the struct qxfer interface.
11264         (handle_threads_qxfer_proper): Rename to ...
11265         (handle_qxfer_threads_proper): ... this.
11266         (handle_threads_qxfer): Rename to ...
11267         (handle_qxfer_threads): ... this.  Adjust.
11268         (qxfer_packets): New array.
11269         (handle_qxfer): New function.
11270         (handle_query): Use handle_qxfer.
11271
11272 2011-01-05  Michael Snyder  <msnyder@msnyder-server.eng.vmware.com>
11273
11274         * gdbreplay.c: Shorten lines of >= 80 columns.
11275         * linux-low.c: Ditto.
11276         * linux-ppc-low.c: Ditto.
11277         * linux-s390-low.c: Ditto.
11278         * linux-sparc-low.c: Ditto.
11279         * linux-x86-low.c: Ditto.
11280         * linux-xtensa-low.c: Ditto.
11281         * mem-break.c: Ditto.
11282         * nto-low.c: Ditto.
11283         * regcache.h: Ditto.
11284         * remote-utils.c: Ditto.
11285         * server.c: Ditto.
11286         * server.h: Ditto.
11287         * thread-db.c: Ditto.
11288         * tracepoint.c: Ditto.
11289         * utils.c: Ditto.
11290         * win32-low.h: Ditto.
11291
11292 2011-01-05  Joel Brobecker  <brobecker@adacore.com>
11293
11294         * gdbserver/configure.ac, gdbserver/gdbserver.1: Copyright year
11295         update.
11296
11297 2011-01-01  Joel Brobecker  <brobecker@adacore.com>
11298
11299         * server.c (gdbserver_version): Update copyright year in version
11300         output.
11301         * gdbreplay.c (gdbreplay_version): Ditto.
11302
11303 2010-12-29  Jie Zhang  <jie.zhang@analog.com>
11304
11305         * configure.srv (bfin-*-*linux*): Handle Blackfin/Linux targets.
11306         * linux-bfin-low.c: New file.
11307         * linux-low.c: Define PT_TEXT_ADDR, PT_TEXT_END_ADDR, and
11308         PT_DATA_ADDR for BFIN targets.
11309         * Makefile.in (SFILES): Add linux-bfin-low.c.
11310         (clean): Remove reg-bfin.c.
11311         (linux-bfin-low.o, reg-bfin.o, reg-bfin.c): New targets.
11312         * README: Mention supported Blackfin targets.
11313
11314 2010-12-23  Mike Frysinger  <vapier@gentoo.org>
11315
11316         * .gitignore: New file.
11317
11318 2010-11-16  Mike Frysinger  <vapier@gentoo.org>
11319
11320         * linux-low.c (linux_tracefork_child): Add char* cast to arg.
11321
11322 2010-10-22  Jie Zhang  <jie@codesourcery.com>
11323
11324         * Makefile.in: Add FLAGS_TO_PASS variable.
11325         (install): Remove dependency of install-only and recursively
11326         invoke make for install-only.
11327
11328 2010-10-04  Doug Evans  <dje@google.com>
11329
11330         * Makefile.in (uninstall): Use $(DESTDIR).
11331
11332 2010-09-24  Pedro Alves  <pedro@codesourcery.com>
11333
11334         PR gdb/11842
11335
11336         * linux-x86-low.c (compat_siginfo_from_siginfo)
11337         (siginfo_from_compat_siginfo): Also copy si_pid and si_uid when
11338         si_code is < 0.  Check for si_code == SI_TIMER before checking for
11339         si_code < 0.
11340
11341 2010-09-13  Joel Brobecker  <brobecker@adacore.com>
11342
11343         * lynx-i386-low.c: New file.
11344         * configure.srv: Add handling of i[34567]86-*-lynxos* targets.
11345
11346 2010-09-13  Joel Brobecker  <brobecker@adacore.com>
11347
11348         * lynx-low.c (ptrace_request_to_str): Remove handling for
11349         request values that have been removed in LynxOS 5.x.
11350
11351 2010-09-13  Joel Brobecker  <brobecker@adacore.com>
11352
11353         * lynx-low.c, lynx-ppc-loc.c: Include <sys/ptrace.h> instead of
11354         <ptrace.h>
11355
11356 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
11357
11358         * configure.ac: Add --enable-inprocess-agent option.
11359         * configure: Rebuilt.
11360
11361 2010-09-06  Yao Qi  <yao@codesourcery.com>
11362
11363         * linux-low.c (linux_kill): Remove unused variable.
11364         (linux_stabilize_threads): Likewise.
11365         * server.c (start_inferior): Likewise.
11366         (queue_stop_reply_callback): Likewise.
11367         * tracepoint.c (do_action_at_tracepoint): Likewise.
11368
11369 2010-09-06  Yao Qi  <yao@codesourcery.com>
11370
11371         * linux-low.c (maybe_move_out_of_jump_pad): Restore current_inferior
11372         on return.
11373
11374 2010-09-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
11375
11376         * target.c (mywait) <TARGET_WAITKIND_EXITED>: Fix to use INTEGER.
11377
11378 2010-09-06  Pedro Alves  <pedro@codesourcery.com>
11379
11380         * Makefile.in (install-only): Replace $IPA_DEPFILES with
11381         "$(IPA_DEPFILES)".
11382
11383 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
11384
11385         * gdbserver/lynx-low.c, gdbserver/lynx-low.h,
11386         gdbserver/lynx-ppc-low.c: New files.
11387         * Makefile.in (lynx_low_h): New variable.
11388         (lynx-low.o, lynx-ppc-low.o): New rules.
11389         * configure.ac: On LynxOS, link with -lnetinet.
11390         * configure.srv: Add handling of powerpc-*-lynxos* targets.
11391         * configure: regenerate.
11392
11393 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
11394
11395         * Makefile.in (vasprintf.o, vsnprintf.o): New rules.
11396         * configure.ac: Add check for vasprintf and vsnprintf.
11397         * configure, config.in: Regenerate.
11398         * server.h (vasprintf, vsnprintf): Add conditional declarations.
11399
11400 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
11401
11402         * gdbreplay.c: Move include of alloca.h up, next to include of
11403         malloc.h.
11404         * server.h: Add include of malloc.h.
11405         * mem-break.c: Remove include of malloc.h.
11406         * server.c, tracepoint.c, utils.c, win32-low.c: Likewise.
11407
11408 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
11409
11410         * Makefile.in (memmem.o): Build with -Wno-error.
11411
11412 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
11413
11414         * utils.c (xsnprintf): Make non-static.
11415         * server.h: Add xsnprintf declaration.
11416         * linux-low.c, nto-low.c, target.c, thread-db.c, tracepoint.c:
11417         replace calls to snprintf by calls to xsnprintf throughout.
11418
11419 2010-09-01  Joel Brobecker  <brobecker@adacore.com>
11420
11421         * configure.ac: Add configure check for alloca.
11422         * configure, config.in: Regenerate.
11423         * server.h: Include alloca.h if it exists.
11424         * gdbreplay.c: Include alloca.h if it exists.
11425
11426 2010-08-28  Pedro Alves  <pedro@codesourcery.com>
11427
11428         * linux-low.c (__SIGRTMIN): Define if not already defined.
11429         (linux_create_inferior): Check for __ANDROID__ rather than
11430         __SIGRTMIN.
11431         (enqueue_one_deferred_signal): Don't requeue non-RT signals that
11432         are already deferred.
11433         (linux_wait_1): Check for __ANDROID__ rather than __SIGRTMIN.
11434         (linux_resume_one_thread): Don't queue a SIGSTOP if the lwp is
11435         stopped and already has a pending signal to report.
11436         (proceed_one_lwp): : Don't queue a SIGSTOP if the lwp already has
11437         a pending signal to report or is moving out of a jump pad.
11438         (linux_init_signals): Check for __ANDROID__ rather than
11439         __SIGRTMIN.
11440
11441 2010-08-28  Pedro Alves  <pedro@codesourcery.com>
11442
11443         * linux-low.c (linux_stabilize_threads): Wrap debug output in a
11444         debug_threads check.  Avoid a linear search when not doing debug
11445         output.
11446
11447 2010-08-27  Pedro Alves  <pedro@codesourcery.com>
11448
11449         * event-loop.c (event_handle_func): Adjust to use gdb_fildes_t.
11450         (struct gdb_event) <fd>: Change type to gdb_fildes_t.
11451         (struct file_handler) <fd>: Change type to gdb_fildes_t.
11452         (process_event): Change local fd's type to gdb_fildes_t.
11453         (create_file_handler): Adjust prototype.
11454         (delete_file_handler): Adjust prototype.
11455         (handle_file_event): Adjust prototype.  Use pfildes.
11456         (create_file_event): Adjsut prototype.
11457         * remote-utils.c (remote_desc, listen_desc): Change type to
11458         gdb_fildes_t.
11459         * server.h: New gdb_fildes_t typedef.
11460         [USE_WIN32API]: Include winsock2.h.
11461         (delete_file_handler, add_file_handler): Adjust prototypes.
11462         (pfildes): Declare.
11463         * utils.c (pfildes): New.
11464
11465 2010-08-27  Pedro Alves  <pedro@codesourcery.com>
11466
11467         * configure.ac (build_warnings): Add -Wno-char-subscripts.
11468         * configure: Regenerate.
11469
11470 2010-08-27  Pedro Alves  <pedro@codesourcery.com>
11471
11472         * linux-low.c (linux_unprepare_to_access_memory): Rename to ...
11473         (linux_done_accessing_memory): ... this.
11474         (linux_target_ops): Adjust.
11475         * linux-x86-low.c (x86_insert_point, x86_remove_point): Adjust.
11476         * nto-low.c (nto_target_ops): Adjust comment.
11477         * server.c (gdb_read_memory, gdb_write_memory): Adjust.
11478         * spu-low.c (spu_target_ops): Adjust comment.
11479         * target.h (target_ops): Rename unprepare_to_access_memory field
11480         to done_accessing_memory.
11481         (unprepare_to_access_memory): Rename to ...
11482         (done_accessing_memory): ... this.
11483
11484 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
11485
11486         * linux-low.c (linux_prepare_to_access_memory): New.
11487         (linux_unprepare_to_access_memory): New.
11488         (linux_target_ops): Install them.
11489         * server.c (read_memory): Rename to ...
11490         (gdb_read_memory): ... this.  Use
11491         prepare_to_access_memory/prepare_to_access_memory.
11492         (write_memory): Rename to ...
11493         (gdb_write_memory): ... this.  Use
11494         prepare_to_access_memory/prepare_to_access_memory.
11495         (handle_search_memory_1): Adjust.
11496         (process_serial_event): Adjust.
11497         * target.h (struct target_ops): New fields
11498         prepare_to_access_memory and unprepare_to_access_memory.
11499         (prepare_to_access_memory, unprepare_to_access_memory): New.
11500         * linux-x86-low.c (x86_insert_point, x86_remove_point): Use
11501         prepare_to_access_memory/prepare_to_access_memory.
11502         * nto-low.c (nto_target_ops): Adjust.
11503         * spu-low.c (spu_target_ops): Adjust.
11504         * win32-low.c (win32_target_ops): Adjust.
11505
11506 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
11507
11508         * Makefile.in (WARN_CFLAGS): Get it from configure.
11509         (WERROR_CFLAGS): New.
11510         (INTERNAL_CFLAGS): Add WERROR_CFLAGS.
11511         * configure.ac: Introduce --enable-werror, which adds -Werror to
11512         the compiler command line.  Enabled by default.  Disable with
11513         --disable-werror.  Add -Wdeclaration-after-statement
11514         Wpointer-arith and -Wformat-nonliteral to warning flags.
11515         * configure: Regenerate.
11516
11517 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
11518
11519         * mem-break.c [HAVE_MALLOC_H]: Include malloc.h.
11520
11521 2010-08-26  Pedro Alves  <pedro@codesourcery.com>
11522
11523         * gdbreplay.c (remote_error): New.
11524         (gdbchar): New.
11525         (expect): Use gdbchar.  Check for error reading from GDB.
11526         Clarify sync error output.
11527         (play): Check for errors writing to GDB.
11528         * linux-low.c (sigchld_handler): Really ignore `write' errors.
11529         * remote-utils.c (getpkt): Check for errors writing to the remote
11530         descriptor.
11531
11532 2010-08-25  Pedro Alves  <pedro@codesourcery.com>
11533
11534         * linux-low.c (linux_wait_1): Move non-debugging code out of
11535         `debug_threads' control.
11536
11537 2010-08-25  Pedro Alves  <pedro@codesourcery.com>
11538
11539         * linux-low.c (linux_wait_1): Don't set last_status here.
11540         * server.c (push_event, queue_stop_reply_callback): Assert we're
11541         not pushing a TARGET_WAITKIND_IGNORE event.
11542         (start_inferior, start_inferior, attach_inferior, handle_v_cont)
11543         (myresume, handle_target_event): Set the thread's last_resume_kind
11544         and last_status from the target returned status.
11545
11546 2010-08-25  Pedro Alves  <pedro@codesourcery.com>
11547
11548         PR threads/10729
11549
11550         * linux-x86-low.c (update_debug_registers_callback): New.
11551         (i386_dr_low_set_addr): Use it.
11552         (i386_dr_low_get_addr): New.
11553         (i386_dr_low_set_control): Use update_debug_registers_callback.
11554         (i386_dr_low_get_control): New.
11555         (i386_dr_low_get_status): Adjust.
11556         * linux-low.c (linux_stop_lwp): New.
11557         * linux-low.h (linux_stop_lwp): Declare.
11558
11559         * i386-low.c (I386_DR_GET_RW_LEN): Take the dr7 contents as
11560         argument instead of a i386_debug_reg_state.
11561         (I386_DR_WATCH_HIT): Take the dr6 contents as argument instead of
11562         a i386_debug_reg_state.
11563         (i386_insert_aligned_watchpoint): Adjust.
11564         (i386_remove_aligned_watchpoint): Adjust.
11565         (i386_low_stopped_data_address): Read the debug registers from the
11566         inferior instead of from the mirrors.
11567         * i386-low.h (struct i386_debug_reg_state): Extend comment.
11568         (i386_dr_low_get_addr): Declare.
11569         (i386_dr_low_get_control): Declare.
11570         (i386_dr_low_get_status): Change prototype.
11571
11572         * win32-i386-low.c (dr_status_mirror, dr_control_mirror): New globals.
11573         (i386_dr_low_get_addr): New.
11574         (i386_dr_low_get_control): New.
11575         (i386_dr_low_get_status): Adjust prototype.  Return
11576         dr_status_mirror.
11577         (i386_initial_stuff): Clear dr_status_mirror and
11578         dr_control_mirror.
11579         (i386_get_thread_context): Adjust.
11580         (i386_set_thread_context): Adjust.
11581         (i386_thread_added): Adjust.
11582
11583 2010-08-24  Pedro Alves  <pedro@codesourcery.com>
11584
11585         * linux-low.h (linux_thread_area): Delete declaration.
11586
11587 2010-08-11  Thomas Schwinge  <thomas@codesourcery.com>
11588
11589         * linux-low.c (linux_wait_1): Correctly return the ptid of the child
11590         after its termination.
11591
11592 2010-08-09  Pedro Alves  <pedro@codesourcery.com>
11593
11594         * linux-low.c (gdb_wants_lwp_stopped): Delete.
11595         (gdb_wants_all_stopped): Delete.
11596         (linux_wait_1): Don't call them.
11597         * server.c (handle_v_cont): Tag all threads as want-stopped.
11598         (gdb_wants_thread_stopped): Fix comments.  Tag the thread that
11599         stopped as "client-wants-stopped".
11600
11601 2010-07-31  Pedro Alves  <pedro@codesourcery.com>
11602
11603         * Makefile.in (signals_h): New.
11604         (server_h): Depend on it.
11605         (server.o): Don't depend on $(signals_def).
11606         (signals.o): Depend on $(signals_def).
11607
11608 2010-07-31  Jan Kratochvil  <jan.kratochvil@redhat.com>
11609
11610         * Makefile.in (signals_def): New.
11611         (server_h): Append include/gdb/signals.h and signals_def.
11612         (server.o): Append signals_def.
11613
11614 2010-07-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
11615
11616         * server.c (handle_target_event): Use target_signal_to_host for
11617         resume_info.sig initialization.
11618         * target.h (struct thread_resume) <sig>: New comment.
11619
11620 2010-07-20  Ozkan Sezer  <sezeroz@gmail.com>
11621
11622         * server.c (handle_query): strcpy() the returned string from paddress()
11623         instead of sprintf().
11624         * utils.c (paddress): Return phex_nz().
11625
11626 2010-07-07  Joel Brobecker  <brobecker@adacore.com>
11627
11628         * server.c (handle_v_cont): Call mourn_inferior if process
11629         just exited.
11630         (myresume): Likewise.
11631
11632 2010-07-01  Pedro Alves  <pedro@codesourcery.com>
11633
11634         Static tracepoints, and integration with UST.
11635
11636         * configure.ac: Handle --with-ust.  substitute ustlibs and ustinc.
11637         * mem-break.c (uninsert_all_breakpoints)
11638         (reinsert_all_breakpoints): New.
11639         * mem-break.h (reinsert_all_breakpoints, uninsert_all_breakpoints):
11640         * tracepoint.c (ust_loaded, helper_thread_id, cmd_buf): New.
11641         (gdb_agent_ust_loaded, helper_thread_id)
11642         (gdb_agent_helper_thread_id): New macros.
11643         (struct ipa_sym_addresses): Add addr_ust_loaded,
11644         addr_helper_thread_id, addr_cmd_buf.
11645         (symbol_list): Add ust_loaded, helper_thread_id, cmd_buf.
11646         (in_process_agent_loaded_ust): New.
11647         (write_e_ust_not_loaded): New.
11648         (maybe_write_ipa_ust_not_loaded): New.
11649         (struct collect_static_trace_data_action): New.
11650         (enum tracepoint_type) <static_tracepoint>: New.
11651         (struct tracepoint) <handle>: Mention static tracepoints.
11652         (struct static_tracepoint_ctx): New.
11653         (CMD_BUF_SIZE): New.
11654         (add_tracepoint_action): Handle static tracepoint actions.
11655         (unprobe_marker_at): New.
11656         (clear_installed_tracepoints): Handle static tracepoints.
11657         (cmd_qtdp): Handle static tracepoints.
11658         (probe_marker_at): New.
11659         (cmd_qtstart): Handle static tracepoints.
11660         (response_tracepoint): Handle static tracepoints.
11661         (cmd_qtfstm, cmd_qtsstm, cmd_qtstmat): New.
11662         (handle_tracepoint_query): Handle qTfSTM, qTsSTM and qTSTMat.
11663         (get_context_regcache): Handle static tracepoints.
11664         (do_action_at_tracepoint): Handle static tracepoint actions.
11665         (traceframe_find_block_type): Handle static trace data blocks.
11666         (traceframe_read_sdata): New.
11667         (download_tracepoints): Download static tracepoint actions.
11668         [HAVE_UST] Include ust/ust.h, dlfcn.h, sys/socket.h, and sys/un.h.
11669         (GDB_PROBE_NAME): New.
11670         (ust_ops): New.
11671         (GET_UST_SYM): New.
11672         (USTF): New.
11673         (dlsym_ust): New.
11674         (ust_marker_to_static_tracepoint): New.
11675         (gdb_probe): New.
11676         (collect_ust_data_at_tracepoint): New.
11677         (gdb_ust_probe): New.
11678         (UNIX_PATH_MAX, SOCK_DIR): New.
11679         (gdb_ust_connect_sync_socket): New.
11680         (resume_thread, stop_thread): New.
11681         (run_inferior_command): New.
11682         (init_named_socket): New.
11683         (gdb_ust_socket_init): New.
11684         (cstr_to_hexstr): New.
11685         (next_st): New.
11686         (first_marker, next_marker): New.
11687         (response_ust_marker): New.
11688         (cmd_qtfstm, cmd_qtsstm): New.
11689         (unprobe_marker_at, probe_marker_at): New.
11690         (cmd_qtstmat, gdb_ust_thread): New.
11691         (gdb_ust_init): New.
11692         (initialize_tracepoint_ftlib): Call gdb_ust_init.
11693         * linux-amd64-ipa.c [HAVE_UST]: Include ust/processor.h
11694         (ST_REGENTRY): New.
11695         (x86_64_st_collect_regmap): New.
11696         (X86_64_NUM_ST_COLLECT_GREGS): New.
11697         (AMD64_RIP_REGNUM): New.
11698         (supply_static_tracepoint_registers): New.
11699         * linux-i386-ipa.c [HAVE_UST]: Include ust/processor.h
11700         (ST_REGENTRY): New.
11701         (i386_st_collect_regmap): New.
11702         (i386_NUM_ST_COLLECT_GREGS): New.
11703         (supply_static_tracepoint_registers): New.
11704         * server.c (handle_query): Handle qXfer:statictrace:read.
11705         <qSupported>: Report support for StaticTracepoints, and
11706         qXfer:statictrace:read features.
11707         * server.h (traceframe_read_sdata)
11708         (supply_static_tracepoint_registers): Declare.
11709         * remote-utils.c (convert_int_to_ascii, hexchars, ishex, tohex)
11710         (unpack_varlen_hex): Include in IPA build.
11711         * Makefile.in (ustlibs, ustinc): New.
11712         (IPA_OBJS): Add remote-utils-ipa.o.
11713         ($(IPA_LIB)): Link -ldl and -lpthread.
11714         (UST_CFLAGS): New.
11715         (IPAGENT_CFLAGS): Add UST_CFLAGS.
11716         * config.in, configure: Regenerate.
11717
11718 2010-06-20  Ian Lance Taylor  <iant@google.com>
11719             Pedro Alves  <pedro@codesourcery.com>
11720
11721         * linux-x86-low.c (always_true): Delete.
11722         (EMIT_ASM, EMIT_ASM32): Use an uncondition asm jmp instead of
11723         trying to fool the compiler with always_true.
11724
11725 2010-06-20  Pedro Alves  <pedro@codesourcery.com>
11726
11727         * tracepoint.c (condition_true_at_tracepoint): Don't run compiled
11728         conditions in gdbserver.
11729
11730 2010-06-19  Ulrich Weigand  <uweigand@de.ibm.com>
11731
11732         * spu-low.c (spu_read_memory): Wrap around local store limit.
11733         (spu_write_memory): Likewise.
11734
11735 2010-06-15  Pedro Alves  <pedro@codesourcery.com>
11736
11737         * linux-x86-low.c (amd64_emit_const, amd64_emit_void_call_2)
11738         (i386_emit_const, i386_emit_void_call_2): Replace int64_t uses with
11739         LONGEST uses.
11740         * server.h (struct emit_ops): Replace int64_t uses with LONGEST
11741         uses.
11742         * tracepoint.c (emit_const, emit_void_call_2): Replace int64_t
11743         uses with LONGEST uses.
11744
11745 2010-06-14  Stan Shebs  <stan@codesourcery.com>
11746             Pedro Alves  <pedro@codesourcery.com>
11747
11748         Bytecode compiler.
11749
11750         * linux-x86-low.c: Include limits.h.
11751         (add_insns): New.
11752         (always_true): New.
11753         (EMIT_ASM): New.
11754         (EMIT_ASM32): New.
11755         (amd64_emit_prologue, amd64_emit_epilogue, amd64_emit_add)
11756         (amd64_emit_sub, amd64_emit_mul, amd64_emit_lsh)
11757         (amd64_emit_rsh_signed, amd64_emit_rsh_unsigned, amd64_emit_ext,
11758         (amd64_emit_log_not, amd64_emit_bit_and, amd64_emit_bit_or)
11759         (amd64_emit_bit_xor, amd64_emit_bit_not, amd64_emit_equal,
11760         (amd64_emit_less_signed, amd64_emit_less_unsigned, amd64_emit_ref,
11761         (amd64_emit_if_goto, amd64_emit_goto, amd64_write_goto_address)
11762         (amd64_emit_const, amd64_emit_call, amd64_emit_reg)
11763         (amd64_emit_pop, amd64_emit_stack_flush, amd64_emit_zero_ext)
11764         (amd64_emit_swap, amd64_emit_stack_adjust, amd64_emit_int_call_1)
11765         (amd64_emit_void_call_2): New.
11766         (amd64_emit_ops): New.
11767         (i386_emit_prologue, i386_emit_epilogue, i386_emit_add)
11768         (i386_emit_sub,i386_emit_mul, i386_emit_lsh, i386_emit_rsh_signed)
11769         (i386_emit_rsh_unsigned, i386_emit_ext, i386_emit_log_not)
11770         (i386_emit_bit_and, i386_emit_bit_or, i386_emit_bit_xor)
11771         (i386_emit_bit_not, i386_emit_equal, i386_emit_less_signed)
11772         (i386_emit_less_unsigned, i386_emit_ref, i386_emit_if_goto)
11773         (i386_emit_goto, i386_write_goto_address, i386_emit_const)
11774         (i386_emit_call, i386_emit_reg, i386_emit_pop)
11775         (i386_emit_stack_flush, i386_emit_zero_ext, i386_emit_swap)
11776         (i386_emit_stack_adjust, i386_emit_int_call_1)
11777         (i386_emit_void_call_2): New.
11778         (i386_emit_ops): New.
11779         (x86_emit_ops): New.
11780         (the_low_target): Install x86_emit_ops.
11781         * server.h (struct emit_ops): New.
11782         (get_raw_reg_func_addr): Declare.
11783         (current_insn_ptr, emit_error): Declare.
11784         * tracepoint.c (get_raw_reg, get_trace_state_variable_value)
11785         (set_trace_state_variable_value): New defines.
11786         (struct ipa_sym_addresses): New fields addr_get_raw_reg,
11787         addr_get_trace_state_variable_value and
11788         addr_set_trace_state_variable_value.
11789         (symbol_list): New fields for get_raw_reg,
11790         get_trace_state_variable_value and set_trace_state_variable_value.
11791         (condfn): New typedef.
11792         (struct tracepoint): New field `compiled_cond'.
11793         (do_action_at_tracepoint): Clear compiled_cond.
11794         (get_trace_state_variable_value, set_trace_state_variable_value):
11795         Export in the IPA.
11796         (condition_true_at_tracepoint): If there's a compiled condition,
11797         run that.
11798         (current_insn_ptr, emit_error): New globals.
11799         (struct bytecode_address): New.
11800         (get_raw_reg_func_addr): New.
11801         (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul)
11802         (emit_lsh, emit_rsh_signed, emit_rsh_unsigned, emit_ext)
11803         (emit_log_not, emit_bit_and, emit_bit_or, emit_bit_xor)
11804         (emit_bit_not, emit_equal, emit_less_signed, emit_less_unsigned)
11805         (emit_ref, emit_if_goto, emit_goto, write_goto_address, emit_const)
11806         (emit_reg, emit_pop, emit_stack_flush, emit_zero_ext, emit_swap)
11807         (emit_stack_adjust, emit_int_call_1, emit_void_call_2): New.
11808         (compile_tracepoint_condition, compile_bytecodes): New.
11809         * target.h (emit_ops): Forward declare.
11810         (struct target_ops): New field emit_ops.
11811         (target_emit_ops): New.
11812         * linux-amd64-ipa.c (gdb_agent_get_raw_reg): New.
11813         * linux-i386-ipa.c (gdb_agent_get_raw_reg): New.
11814         * linux-low.c (linux_emit_ops): New.
11815         (linux_target_ops): Install it.
11816         * linux-low.h (struct linux_target_ops): New field emit_ops.
11817
11818 2010-06-14  Ulrich Weigand  <uweigand@de.ibm.com>
11819
11820         * linux-ppc-low.c (ppc_arch_setup): Use private regcache to test MSR.
11821         * linux-s390-low.c (ppc_arch_setup): Use private regcache to test PSW.
11822
11823 2010-06-01  Pedro Alves  <pedro@codesourcery.com>
11824             Stan Shebs  <stan@codesourcery.com>
11825
11826         * Makefile.in (IPA_DEPFILES, extra_libraries): New.
11827         (all): Depend on $(extra_libraries).
11828         (install-only): Install the IPA.
11829         (IPA_OBJS, IPA_LIB): New.
11830         (clean): Remove the IPA lib.
11831         (IPAGENT_CFLAGS): New.
11832         (tracepoint-ipa.o, utils-ipa.o, remote-utils-ipa.o)
11833         (regcache-ipa.o, i386-linux-ipa.o, linux-i386-ipa.o)
11834         (linux-amd64-ipa.o, amd64-linux-ipa.o): New rules.
11835         * linux-amd64-ipa.c, linux-i386-ipa.c: New files.
11836         * configure.ac: Check for atomic builtins support in the compiler.
11837         (IPA_DEPFILES, extra_libraries): Define.
11838         * configure.srv (ipa_obj): Add description.
11839         (ipa_i386_linux_regobj, ipa_amd64_linux_regobj): Define.
11840         (i[34567]86-*-linux*): Set ipa_obj.
11841         (x86_64-*-linux*): Set ipa_obj.
11842         * linux-low.c (stabilizing_threads): New.
11843         (supports_fast_tracepoints): New.
11844         (linux_detach): Stabilize threads before detaching.
11845         (handle_tracepoints): Handle internal tracing breakpoints.  Assert
11846         the lwp is either not stabilizing, or is moving out of a jump pad.
11847         (linux_fast_tracepoint_collecting): New.
11848         (maybe_move_out_of_jump_pad): New.
11849         (enqueue_one_deferred_signal): New.
11850         (dequeue_one_deferred_signal): New.
11851         (linux_wait_for_event_1): If moving out of a jump pad, defer
11852         pending signals to later.
11853         (linux_stabilize_threads): New.
11854         (linux_wait_1): Check if threads need moving out of jump pads, and
11855         do it if so.
11856         (stuck_in_jump_pad_callback): New.
11857         (move_out_of_jump_pad_callback): New.
11858         (lwp_running): New.
11859         (linux_resume_one_lwp): Handle moving out of jump pads.
11860         (linux_set_resume_request): Dequeue deferred signals.
11861         (need_step_over_p): Also step over fast tracepoint jumps.
11862         (start_step_over): Also uninsert fast tracepoint jumps.
11863         (finish_step_over): Also reinsert fast tracepoint jumps.
11864         (linux_install_fast_tracepoint_jump): New.
11865         (linux_target_ops): Install linux_stabilize_threads and
11866         linux_install_fast_tracepoint_jump_pad.
11867         * linux-low.h (linux_target_ops) <get_thread_area,
11868         install_fast_tracepoint_jump_pad>: New fields.
11869         (struct lwp_info) <collecting_fast_tracepoint,
11870         pending_signals_to_report, exit_jump_pad_bkpt>: New fields.
11871         (linux_get_thread_area): Declare.
11872         * linux-x86-low.c (jump_insn): New.
11873         (x86_get_thread_area): New.
11874         (append_insns): New.
11875         (push_opcode): New.
11876         (amd64_install_fast_tracepoint_jump_pad): New.
11877         (i386_install_fast_tracepoint_jump_pad): New.
11878         (x86_install_fast_tracepoint_jump_pad): New.
11879         (the_low_target): Install x86_get_thread_area and
11880         x86_install_fast_tracepoint_jump_pad.
11881         * mem-break.c (set_raw_breakpoint_at): Use read_inferior_memory.
11882         (struct fast_tracepoint_jump): New.
11883         (fast_tracepoint_jump_insn): New.
11884         (fast_tracepoint_jump_shadow): New.
11885         (find_fast_tracepoint_jump_at): New.
11886         (fast_tracepoint_jump_here): New.
11887         (delete_fast_tracepoint_jump): New.
11888         (set_fast_tracepoint_jump): New.
11889         (uninsert_fast_tracepoint_jumps_at): New.
11890         (reinsert_fast_tracepoint_jumps_at): New.
11891         (set_breakpoint_at): Use write_inferior_memory.
11892         (uninsert_raw_breakpoint): Use write_inferior_memory.
11893         (check_mem_read): Mask out fast tracepoint jumps.
11894         (check_mem_write): Mask out fast tracepoint jumps.
11895         * mem-break.h (struct fast_tracepoint_jump): Forward declare.
11896         (set_fast_tracepoint_jump): Declare.
11897         (delete_fast_tracepoint_jump)
11898         (fast_tracepoint_jump_here, uninsert_fast_tracepoint_jumps_at)
11899         (reinsert_fast_tracepoint_jumps_at): Declare.
11900         * regcache.c: Don't compile many functions when building the
11901         in-process agent library.
11902         (init_register_cache) [IN_PROCESS_AGENT]: Don't allow allocating
11903         the register buffer in the heap.
11904         (free_register_cache): If the register buffer isn't owned by the
11905         regcache, don't free it.
11906         (set_register_cache) [IN_PROCESS_AGENT]: Don't re-alocate
11907         pre-existing register caches.
11908         * remote-utils.c (convert_int_to_ascii): Constify `from' parameter
11909         type.
11910         (convert_ascii_to_int): : Constify `from' parameter type.
11911         (decode_M_packet, decode_X_packet): Replace the `to' parameter by
11912         a `to_p' pointer to pointer parameter.  If TO_P is NULL, malloc
11913         the needed buffer in-place.
11914         (relocate_instruction): New.
11915         * server.c (handle_query) <qSymbols>: If the target supports
11916         tracepoints, give it a chance of looking up symbols.  Report
11917         support for fast tracepoints.
11918         (handle_status): Stabilize threads.
11919         (process_serial_event): Adjust.
11920         * server.h (struct fast_tracepoint_jump): Forward declare.
11921         (struct process_info) <fast_tracepoint_jumps>: New field.
11922         (convert_ascii_to_int, convert_int_to_ascii): Adjust.
11923         (decode_X_packet, decode_M_packet): Adjust.
11924         (relocate_instruction): Declare.
11925         (in_process_agent_loaded): Declare.
11926         (tracepoint_look_up_symbols): Declare.
11927         (struct fast_tpoint_collect_status): Declare.
11928         (fast_tracepoint_collecting): Declare.
11929         (force_unlock_trace_buffer): Declare.
11930         (handle_tracepoint_bkpts): Declare.
11931         (initialize_low_tracepoint)
11932         (supply_fast_tracepoint_registers) [IN_PROCESS_AGENT]: Declare.
11933         * target.h (struct target_ops) <stabilize_threads,
11934         install_fast_tracepoint_jump_pad>: New fields.
11935         (stabilize_threads, install_fast_tracepoint_jump_pad): New.
11936         * tracepoint.c [HAVE_MALLOC_H]: Include malloc.h.
11937         [HAVE_STDINT_H]: Include stdint.h.
11938         (trace_debug_1): Rename to ...
11939         (trace_vdebug): ... this.
11940         (trace_debug): Rename to ...
11941         (trace_debug_1): ... this.  Add `level' parameter.
11942         (trace_debug): New.
11943         (ATTR_USED, ATTR_NOINLINE): New.
11944         (IP_AGENT_EXPORT): New.
11945         (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
11946         (collecting, gdb_collect, stop_tracing, flush_trace_buffer)
11947         (about_to_request_buffer_space, trace_buffer_is_full)
11948         (stopping_tracepoint, expr_eval_result, error_tracepoint)
11949         (tracepoints, tracing, trace_buffer_ctrl, trace_buffer_ctrl_curr)
11950         (trace_buffer_lo, trace_buffer_hi, traceframe_read_count)
11951         (traceframe_write_count, traceframes_created)
11952         (trace_state_variables)
11953         New renaming defines.
11954         (struct ipa_sym_addresses): New.
11955         (STRINGIZE_1, STRINGIZE, IPA_SYM): New.
11956         (symbol_list): New.
11957         (ipa_sym_addrs): New.
11958         (all_tracepoint_symbols_looked_up): New.
11959         (in_process_agent_loaded): New.
11960         (write_e_ipa_not_loaded): New.
11961         (maybe_write_ipa_not_loaded): New.
11962         (tracepoint_look_up_symbols): New.
11963         (debug_threads) [IN_PROCESS_AGENT]: New.
11964         (read_inferior_memory) [IN_PROCESS_AGENT]: New.
11965         (UNKNOWN_SIDE_EFFECTS): New.
11966         (stop_tracing): New.
11967         (flush_trace_buffer): New.
11968         (stop_tracing_bkpt): New.
11969         (flush_trace_buffer_bkpt): New.
11970         (read_inferior_integer): New.
11971         (read_inferior_uinteger): New.
11972         (read_inferior_data_pointer): New.
11973         (write_inferior_data_pointer): New.
11974         (write_inferior_integer): New.
11975         (write_inferior_uinteger): New.
11976         (struct collect_static_trace_data_action): Delete.
11977         (enum tracepoint_type): New.
11978         (struct tracepoint) <type>: New field `type'.
11979         <actions_str, step_actions, step_actions_str>: Only include in
11980         GDBserver.
11981         <orig_size, obj_addr_on_target, adjusted_insn_addr>
11982         <adjusted_insn_addr_end, jump_pad, jump_pad_end>: New fields.
11983         (tracepoints): Use IP_AGENT_EXPORT.
11984         (last_tracepoint): Don't include in the IPA.
11985         (stopping_tracepoint): Use IP_AGENT_EXPORT.
11986         (trace_buffer_is_full): Use IP_AGENT_EXPORT.
11987         (alloced_trace_state_variables): New.
11988         (trace_state_variables): Use IP_AGENT_EXPORT.
11989         (traceframe_t): Delete unused variable.
11990         (circular_trace_buffer): Don't include in the IPA.
11991         (trace_buffer_start): Delete.
11992         (struct trace_buffer_control): New.
11993         (trace_buffer_free): Delete.
11994         (struct ipa_trace_buffer_control): New.
11995         (GDBSERVER_FLUSH_COUNT_MASK, GDBSERVER_FLUSH_COUNT_MASK_PREV)
11996         (GDBSERVER_FLUSH_COUNT_MASK_CURR, GDBSERVER_UPDATED_FLUSH_COUNT_BIT):
11997         New.
11998         (trace_buffer_ctrl): New.
11999         (TRACE_BUFFER_CTRL_CURR): New.
12000         (trace_buffer_start, trace_buffer_free, trace_buffer_end_free):
12001         Reimplement as macros.
12002         (trace_buffer_wrap): Delete.
12003         (traceframe_write_count, traceframe_read_count)
12004         (traceframes_created, tracing): Use IP_AGENT_EXPORT.
12005         (struct tracepoint_hit_ctx) <type>: New field.
12006         (struct fast_tracepoint_ctx): New.
12007         (memory_barrier): New.
12008         (cmpxchg): New.
12009         (record_tracepoint_error): Update atomically in the IPA.
12010         (clear_inferior_trace_buffer): New.
12011         (about_to_request_buffer_space): New.
12012         (trace_buffer_alloc): Handle GDBserver and inferior simulatenous
12013         updating the same buffer.
12014         (add_tracepoint): Default the tracepoint's type to trap
12015         tracepoint, and orig_size to -1.
12016         (get_trace_state_variable) [IN_PROCESS_AGENT]: Handle allocated
12017         internal variables.
12018         (create_trace_state_variable): New parameter `gdb'.  Handle it.
12019         (clear_installed_tracepoints): Clear fast tracepoint jumps.
12020         (cmd_qtdp): Handle fast tracepoints.
12021         (cmd_qtdv): Adjust.
12022         (max_jump_pad_size): New.
12023         (gdb_jump_pad_head): New.
12024         (get_jump_space_head): New.
12025         (claim_jump_space): New.
12026         (sort_tracepoints): New.
12027         (MAX_JUMP_SIZE): New.
12028         (cmd_qtstart): Handle fast tracepoints.  Sync tracepoints with the
12029         IPA.
12030         (stop_tracing) [IN_PROCESS_AGENT]: Don't include the tdisconnected
12031         support.  Upload fast traceframes, and delete internal IPA
12032         breakpoints.
12033         (stop_tracing_handler): New.
12034         (flush_trace_buffer_handler): New.
12035         (cmd_qtstop): Upload fast tracepoints.
12036         (response_tracepoint): Handle fast tracepoints.
12037         (tracepoint_finished_step): Upload fast traceframes.  Set the
12038         tracepoint hit context's tracepoint type.
12039         (handle_tracepoint_bkpts): New.
12040         (tracepoint_was_hit): Set the tracepoint hit context's tracepoint
12041         type.  Add comment about fast tracepoints.
12042         (collect_data_at_tracepoint) [IN_PROCESS_AGENT]: Don't access the
12043         non-existing action_str field.
12044         (get_context_regcache): Handle fast tracepoints.
12045         (do_action_at_tracepoint) [!IN_PROCESS_AGENT]: Don't write the PC
12046         to the regcache.
12047         (fast_tracepoint_from_jump_pad_address): New.
12048         (fast_tracepoint_from_ipa_tpoint_address): New.
12049         (collecting_t): New.
12050         (force_unlock_trace_buffer): New.
12051         (fast_tracepoint_collecting): New.
12052         (collecting): New.
12053         (gdb_collect): New.
12054         (write_inferior_data_ptr): New.
12055         (target_tp_heap): New.
12056         (target_malloc): New.
12057         (download_agent_expr): New.
12058         (UALIGN): New.
12059         (download_tracepoints): New.
12060         (download_trace_state_variables): New.
12061         (upload_fast_traceframes): New.
12062         (IPA_FIRST_TRACEFRAME): New.
12063         (IPA_NEXT_TRACEFRAME_1): New.
12064         (IPA_NEXT_TRACEFRAME): New.
12065         [IN_PROCESS_AGENT]: Include sys/mman.h and fcntl.h.
12066         [IN_PROCESS_AGENT] (gdb_tp_heap_buffer, gdb_jump_pad_buffer)
12067         (gdb_jump_pad_buffer_end): New.
12068         [IN_PROCESS_AGENT] (initialize_tracepoint_ftlib): New.
12069         (initialize_tracepoint): Adjust.
12070         [IN_PROCESS_AGENT]: Allocate the IPA heap, and jump pad scratch
12071         buffer.  Initialize the low module.
12072         * utils.c (PREFIX, TOOLNAME): New.
12073         (malloc_failure): Use PREFIX.
12074         (error): In the IPA, an error causes an exit.
12075         (fatal, warning): Use PREFIX.
12076         (internal_error): Use TOOLNAME.
12077         (NUMCELLS): Increase to 10.
12078         * configure, config.in: Regenerate.
12079
12080 2010-06-01  Pedro Alves  <pedro@codesourcery.com>
12081
12082         * server.c (handle_query) <qSupported>: Do two passes over the
12083         qSupported string to avoid nesting strtok.
12084
12085 2010-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
12086
12087         * Makefile.in (SFILES): Add $(srcdir)/proc-service.list.
12088         (CDEPS): New.
12089         * configure.ac (RDYNAMIC): New AC_MSG_CHECKING wrapping.  Test also
12090         -Wl,--dynamic-list.
12091         * configure: Regenerate.
12092         * proc-service.list: New.
12093
12094 2010-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
12095
12096         * linux-low.c (linux_core_of_thread): Fix crash on invalid CONTENT.
12097         New comment.
12098
12099 2010-05-26  Ozkan Sezer  <sezeroz@gmail.com>
12100
12101         * gdbreplay.c (remote_open): Check error return from socket() call by
12102         its equality to -1 not by it being negative.
12103         * remote-utils.c (remote_open): Likewise.
12104
12105 2010-05-23  Pedro Alves  <pedro@codesourcery.com>
12106
12107         * config.h: Regenerate.
12108
12109 2010-05-19  Maxim Kuvyrkov  <maxim@codesourcery.com>
12110
12111         * linux-m68k-low.c (ps_get_thread_area): Don't define if kernel
12112         doesn't provide PTRACE_GET_THREAD_AREA.
12113
12114 2010-05-19  Maxim Kuvyrkov  <maxim@codesourcery.com>
12115
12116         * linux-m68k-low.c: Include <asm/ptrace.h>
12117         (ps_get_thread_area): Implement.
12118
12119 2010-05-03  Doug Evans  <dje@google.com>
12120
12121         * event-loop.c (struct callback_event): New struct.
12122         (callback_list): New global.
12123         (append_callback_event, delete_callback_event): New functions.
12124         (process_callback): New function.
12125         (start_event_loop): Call it.
12126         * remote-utils.c (NOT_SCHEDULED): Define.
12127         (readchar_buf, readchar_bufcnt, readchar_bufp): New static globals,
12128         moved out of readchar.
12129         (readchar): Rewrite.  Call reschedule before returning.
12130         (reset_readchar): New function.
12131         (remote_close): Call it.
12132         (process_remaining, reschedule): New functions.
12133         * server.h (callback_handler_func): New typedef.
12134         (append_callback_event, delete_callback_event): Declare.
12135
12136 2010-05-03  Pedro Alves  <pedro@codesourcery.com>
12137
12138         * proc-service.c (ps_pglobal_lookup): Use
12139         thread_db_look_up_one_symbol.
12140         * remote-utils.c (look_up_one_symbol): Add new `may_ask_gdb'
12141         parameter.  Use it instead of all_symbols_looked_up.
12142         * server.h (struct process_info) <all_symbols_looked_up>: Delete
12143         field.
12144         (all_symbols_looked_up): Don't declare.
12145         (look_up_one_symbol): Add new `may_ask_gdb' parameter.
12146         * thread-db.c (struct thread_db) <all_symbols_looked_up>: New
12147         field.
12148         (thread_db_look_up_symbols): Adjust call to look_up_one_symbol.
12149         Set all_symbols_looked_up here.
12150         (thread_db_look_up_one_symbol): New.
12151         (thread_db_get_tls_address): Adjust.
12152         (thread_db_load_search, try_thread_db_load_1): Always allocate the
12153         thread_db object on the heap, and tentatively set it in the
12154         process structure.
12155         (thread_db_init): Don't set all_symbols_looked_up here.
12156         * linux-low.h (thread_db_look_up_one_symbol): Declare.
12157
12158 2010-05-03  Pedro Alves  <pedro@codesourcery.com>
12159
12160         * linux-low.c (linux_kill, linux_detach): Adjust.
12161         (status_pending_p_callback): Remove redundant statement.  Check
12162         for !TARGET_WAITIKIND_IGNORE, instead of
12163         TARGET_WAITKIND_STOPPED.
12164         (handle_tracepoints): Make sure LWP is locked.  Adjust.
12165         (linux_wait_for_event_1): Adjust.
12166         (linux_cancel_breakpoints): New.
12167         (unsuspend_one_lwp): New.
12168         (unsuspend_all_lwps): New.
12169         (linux_wait_1): If finishing a step-over, unsuspend all lwps.
12170         (send_sigstop_callback): Change return type to int, add new
12171         `except' parameter and handle it.
12172         (suspend_and_send_sigstop_callback): New.
12173         (stop_all_lwps): Add new `suspend' and `expect' parameters, and
12174         pass them down.  If SUSPEND, also increment the lwp's suspend
12175         count.
12176         (linux_resume_one_lwp): Add notice about resuming a suspended LWP.
12177         (need_step_over_p): Don't consider suspended LWPs.
12178         (start_step_over): Adjust.
12179         (proceed_one_lwp): Change return type to int, add new `except'
12180         parameter and handle it.
12181         (unsuspend_and_proceed_one_lwp): New.
12182         (proceed_all_lwps): Use find_inferior instead of
12183         for_each_inferior.
12184         (unstop_all_lwps): Add `unsuspend' parameter.  If UNSUSPEND, them
12185         also decrement the suspend count of LWPs.  Pass `except' down,
12186         instead of hacking its suspend count.
12187         (linux_pause_all): Add `freeze' parameter.  Adjust.
12188         (linux_unpause_all): New.
12189         (linux_target_ops): Install linux_unpause_all.
12190         * server.c (handle_status): Adjust.
12191         * target.h (struct target_ops): New fields `unpause_all' and
12192         `cancel_breakpoints'.  Add new parameter to `pause_all'.
12193         (pause_all): Add new `freeze' parameter.
12194         (unpause_all): New.
12195         (cancel_breakpoints): New.
12196         * tracepoint.c (clear_installed_tracepoints): Pause threads, and
12197         cancel breakpoints.
12198         (cmd_qtstart): Pause threads.
12199         (stop_tracing): Pause threads, and cancel breakpoints.
12200         * win32-low.c (win32_target_ops): Adjust.
12201
12202 2010-05-03  Pedro Alves  <pedro@codesourcery.com>
12203
12204         * linux-low.c (linux_wait_for_event_1): Move passing the signal to
12205         the inferior right away from here...
12206         (linux_wait_1): ... to here, and adjust to check the thread's
12207         last_resume_kind instead of the lwp's step or stop_expected flags.
12208
12209 2010-05-02  Pedro Alves  <pedro@codesourcery.com>
12210
12211         * README: Use consistent `GDB' and `GDBserver' spellings.
12212
12213 2010-05-02  Pedro Alves  <pedro@codesourcery.com>
12214
12215         * linux-low.c (linux_kill_one_lwp): Assume the lwp is stopped.
12216         (linux_kill): Stop all lwps here.  Don't delete the main lwp here.
12217         (linux_detach_one_lwp): Assume the lwp is stopped.
12218         (any_thread_of): Delete.
12219         (linux_detach): Stop all lwps here.  Don't blindly delete all
12220         breakpoints.
12221         (delete_lwp_callback): New.
12222         (linux_mourn): Delete all lwps of the process that is gone.
12223         (linux_wait_1): Don't delete the last lwp of the process here.
12224         * mem-break.h (mark_breakpoints_out): Declare.
12225         * mem-break.c (mark_breakpoints_out): New.
12226         (free_all_breakpoints): Use it.
12227         * server.c (handle_target_event): If the process is gone, mark
12228         breakpoints out.
12229         * thread-db.c (struct thread_db) <create_bp>: New field.
12230         (thread_db_enable_reporting): Fix prototype.  Store a thread event
12231         breakpoint reference in the thread_db struct.
12232         (thread_db_load_search): Clear the thread_db object.
12233         (try_thread_db_load_1): Ditto.
12234         (switch_to_process): New.
12235         (disable_thread_event_reporting): Use it.
12236         (remove_thread_event_breakpoints): New.
12237         (thread_db_detach, thread_db_mourn): Use it.
12238
12239 2010-05-01  Pedro Alves  <pedro@codesourcery.com>
12240
12241         * linux-low.c (linux_enable_event_reporting): New.
12242         (linux_wait_for_event_1, handle_extended_wait): Use it.
12243
12244 2010-04-30  Pedro Alves  <pedro@codesourcery.com>
12245
12246         * linux-low.c (linux_kill_one_lwp, linux_kill)
12247         (linux_detach_one_lwp): Adjust to send_sigstop interface change.
12248         (send_sigstop): Take an lwp_info as parameter instead.  Queue a
12249         SIGSTOP even if the LWP is stopped.
12250         (send_sigstop_callback): New.
12251         (stop_all_lwps): Use send_sigstop_callback instead.
12252         (linux_resume_one_thread): Adjust.
12253         (proceed_one_lwp): Still proceed an LWP that the client has
12254         requested to stop, if we haven't reported it as stopped yet.  Make
12255         sure that LWPs the client want stopped, have a pending SIGSTOP.
12256
12257 2010-04-26  Doug Evans  <dje@google.com>
12258
12259         * server.c (handle_general_set): Make static.
12260
12261         * remote-utils.c (putpkt_binary_1): Call readchar instead of read.
12262         Print received char after testing for error/eof instead of before.
12263         (input_interrupt): Tweak comment.
12264
12265 2010-04-23  Doug Evans  <dje@google.com>
12266
12267         * server.c (start_inferior): Print inferior argv if --debug.
12268
12269 2010-04-21  Aleksandar Ristovski  <aristovski@qnx.com>
12270
12271         * Makefile.in (nto_low_h nto-low.o nto-x86-low.o): New dependency lists.
12272         * nto-x86-low.c: Include server.h
12273
12274 2010-04-20  Pierre Muller  <muller@ics.u-strasbg.fr>
12275
12276         * win32-i386-low.c: Use __x86_64__ macro instead of __x86_64 to
12277         be consistent with other sources of this directory.
12278         (init_registers_amd64): Correct name of source file of this function
12279         in the comment.
12280
12281 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
12282
12283         * configure.srv (x86_64-*-mingw*): New configuration for Windows
12284         64-bit executables.
12285
12286 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
12287
12288         * win32-i386-low.c: Add 64-bit support.
12289         (CONTEXT_EXTENDED_REGISTERS): Set macro to zero if not exisiting.
12290         (init_registers_amd64): Declare.
12291         (mappings): Add 64-bit version of array.
12292         (init_windows_x86): New function.
12293         (the_low_target): Change init_arch field to init_windows_x86.
12294
12295 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
12296
12297         * win32-low.c: Adapt to support also 64-bit architecture.
12298         (child_xfer_memory): Use uintptr_t type for local variable `addr'.
12299         (get_image_name): Use SIZE_T type for local variable `done'.
12300         (psapi_get_dll_name): Use LPVOID type for parameter `BaseAddress'.
12301         (toolhelp_get_dll_name): Idem.
12302         (handle_load_dll): Use CORE_ADDR type for local variable `load_addr'.
12303         Use uintptr_t typecast to avoid warning.
12304         (handle_unload_dll): Use uintptr_t typecast to avoid warning.
12305         (handle_exception): Use phex_nz to avoid warning.
12306         (win32_wait): Remove unused local variable `process'.
12307
12308 2010-04-19  Pierre Muller  <muller@ics.u-strasbg.fr>
12309
12310         * configure.srv (srv_amd64_regobj): Replace `x86-64-avx.o' by
12311         `amd64-avx.o'.
12312
12313 2010-04-17  Pierre Muller  <muller@ics.u-strasbg.fr>
12314
12315         * configure.ac: Use `ws2_32' library for srv_mingw.
12316         * configure: Regenerate.
12317         * gdbreplay.c: Include winsock2.h instead of winsock.h.
12318         * remote-utils.c: Likewise.
12319
12320 2010-04-17  H.J. Lu  <hongjiu.lu@intel.com>
12321
12322         * linux-x86-low.c (xmltarget_amd64_linux_no_xml): Define only
12323         if __x86_64__ is defined.
12324
12325 2010-04-16  Pierre Muller  <muller@ics.u-strasbg.fr>
12326
12327         * configure: Regenerate.
12328
12329 2010-04-16  Pierre Muller  <muller@ics.u-strasbg.fr>
12330
12331         * server.c (handle_query): Handle 'qGetTIBAddr' query.
12332         * target.h (target_ops): New get_tib_address field.
12333         * win32-low.h (win32_thread_info): Add thread_local_base field.
12334         * win32-low.c (child_add_thread): Add tlb argument.
12335         Set thread_local_base field to TLB.
12336         (get_child_debug_event): Adapt to child_add_thread change.
12337         (win32_get_tib_address): New function.
12338         (win32_target_ops): Set get_tib_address field to
12339         win32_get_tib_address.
12340         * linux-low.c (linux_target_ops): Set get_tib_address field to NULL.
12341
12342 2010-04-12  Pedro Alves  <pedro@codesourcery.com>
12343
12344         * linux-low.c (linux_mourn): Also remove the process.
12345         * server.c (handle_target_event): Don't remove the process here.
12346         * nto-low.c (nto_mourn): New.
12347         (nto_target_ops): Install it.
12348         * spu-low.c (spu_mourn): New.
12349         (spu_target_ops): Install it.
12350         * win32-low.c (win32_mourn): New.
12351         (win32_target_ops): Install it.
12352
12353 2010-04-12  Pedro Alves  <pedro@codesourcery.com>
12354
12355         * server.h (buffer_xml_printf): Remove redundant `;'.
12356
12357 2010-04-12  Pedro Alves  <pedro@codesourcery.com>
12358
12359         * regcache.c (set_register_cache): Invalidate regcaches before
12360         changing the register cache layout.
12361         (regcache_invalidate_one): Allow a NULL regcache.
12362         * linux-x86-low.c (x86_linux_update_xmltarget): Invalidate
12363         regcaches before changing the register cache layout or the target
12364         regsets.
12365
12366 2010-04-12  H.J. Lu  <hongjiu.lu@intel.com>
12367
12368         * linux-x86-low.c (x86_linux_update_xmltarget): Avoid unused
12369         variable warning on Linux/x86-64.
12370
12371 2010-04-11  Pedro Alves  <pedro@codesourcery.com>
12372
12373         GDBserver disconnected tracing support.
12374
12375         * linux-low.c (linux_remove_process): Delete.
12376         (add_lwp): Don't set last_resume_kind here.
12377         (linux_kill): Use `mourn'.
12378         (linux_detach): Use `thread_db_detach', and `mourn'.
12379         (linux_mourn): New.
12380         (linux_attach_lwp_1): Adjust comment.
12381         (linux_attach): last_resume_kind moved the thread_info; adjust.
12382         (status_pending_p_callback): Adjust.
12383         (linux_wait_for_event_1): Adjust.
12384         (count_events_callback, select_singlestep_lwp_callback)
12385         (select_event_lwp_callback, cancel_breakpoints_callback)
12386         (db_wants_lwp_stopped, linux_wait_1, need_step_over_p)
12387         (proceed_one_lwp): Adjust.
12388         (linux_async): Add debug output.
12389         (linux_thread_stopped): New.
12390         (linux_pause_all): New.
12391         (linux_target_ops): Install linux_mourn, linux_thread_stopped and
12392         linux_pause_all.
12393         * linux-low.h (struct lwp_info): Delete last_resume_kind field.
12394         (thread_db_free): Delete declaration.
12395         (thread_db_detach, thread_db_mourn): Declare.
12396         * thread-db.c (thread_db_init): Use thread_db_mourn.
12397         (thread_db_free): Delete, split in two.
12398         (disable_thread_event_reporting): New.
12399         (thread_db_detach): New.
12400         (thread_db_mourn): New.
12401
12402         * server.h (struct thread_info) <last_resume_kind>: New field.
12403         <attached>: Add comment.
12404         <gdb_detached>: New field.
12405         (handler_func): Change return type to int.
12406         (handle_serial_event, handle_target_event): Ditto.
12407         (gdb_connected): Declare.
12408         (tracing): Delete.
12409         (disconnected_tracing): Declare.
12410         (stop_tracing): Declare.
12411
12412         * server.c (handle_query) <qSupported>: Report support for
12413         disconnected tracing.
12414         (queue_stop_reply_callback): Account for running threads.
12415         (gdb_wants_thread_stopped): New.
12416         (gdb_wants_all_threads_stopped): New.
12417         (gdb_reattached_process): New.
12418         (handle_status): Clear the `gdb_detached' flag of all processes.
12419         In all-stop, stop all threads.
12420         (main): Be sure to leave tfind mode.  Handle disconnected tracing.
12421         (process_serial_event): If the remote connection breaks, or if an
12422         exit was forced with "monitor exit", force an event loop exit.
12423         Handle disconnected tracing on detach.
12424         (handle_serial_event): Adjust.
12425         (handle_target_event): If GDB isn't connected, forward events back
12426         to the inferior, unless the last process exited, in which case,
12427         exit gdbserver.  Adjust interface.
12428
12429         * remote-utils.c (remote_open): Don't block in accept.  Instead
12430         register an event loop source on the listen socket file
12431         descriptor.  Refactor bits into ...
12432         (listen_desc): ... this new global.
12433         (gdb_connected): ... this new function.
12434         (enable_async_notification): ... this new function.
12435         (handle_accept_event): ... this new function.
12436         (remote_close): Clear remote_desc.
12437
12438         * inferiors.c (add_thread): Set the new thread's last_resume_kind.
12439
12440         * target.h (struct target_ops) <mourn, thread_stopped, pause_all>:
12441         New fields.
12442         (mourn_inferior): Define.
12443         (target_process_qsupported): Avoid the dangling else problem.
12444         (thread_stopped): Define.
12445         (pause_all): Define.
12446         (target_waitstatus_to_string): Declare.
12447         * target.c (target_waitstatus_to_string): New.
12448
12449         * tracepoint.c (tracing): Make extern.
12450         (disconnected_tracing): New.
12451         (stop_tracing): Make extern.  Handle tracing stops due to GDB
12452         disconnecting.
12453         (cmd_qtdisconnected): New.
12454         (cmd_qtstatus): Report disconnected tracing status in trace reply.
12455         (handle_tracepoint_general_set): Handle QTDisconnected.
12456
12457         * event-loop.c (event_handler_func): Change return type to int.
12458         (process_event): Bail out if the event handler wants the event
12459         loop to stop.
12460         (handle_file_event): Ditto.
12461         (start_event_loop): Bail out if the event handler wants the event
12462         loop to stop.
12463
12464         * nto-low.c (nto_target_ops): Adjust.
12465         * spu-low.c (spu_wait): Don't remove the process here.
12466         (spu_target_ops): Adjust.
12467         * win32-low.c (win32_wait): Don't remove the process here.
12468         (win32_target_ops): Adjust.
12469
12470 2010-04-11  Pedro Alves  <pedro@codesourcery.com>
12471
12472         * regcache.c (realloc_register_cache): Invalidate inferior's
12473         regcache before recreating it.
12474
12475 2010-04-09  Pedro Alves  <pedro@codesourcery.com>
12476
12477         * tracepoint.c (cmd_qtstatus): Report trace buffer circularity.
12478
12479 2010-04-09  Stan Shebs  <stan@codesourcery.com>
12480             Pedro Alves  <pedro@codesourcery.com>
12481
12482         * server.h (LONGEST): New.
12483         (struct thread_info) <while_stepping>: New field.
12484         (unpack_varlen_hex, xrealloc, pulongest, plongest, phex_nz):
12485         Declare.
12486         (initialize_tracepoint, handle_tracepoint_general_set)
12487         (handle_tracepoint_query, tracepoint_finished_step)
12488         (tracepoint_was_hit, release_while_stepping_state_list):
12489         (current_traceframe): Declare.
12490         * server.c (handle_general_set): Handle tracepoint packets.
12491         (read_memory): New.
12492         (write_memory): New.
12493         (handle_search_memory_1): Use read_memory.
12494         (handle_query): Report support for conditional tracepoints, trace
12495         state variables, and tracepoint sources.  Handle tracepoint
12496         queries.
12497         (main): Initialize the tracepoints module.
12498         (process_serial_event): Handle traceframe reads/writes.
12499
12500         * linux-low.c (handle_tracepoints): New.
12501         (linux_wait_1): Call it.
12502         (linux_resume_one_lwp): Handle while-stepping.
12503         (linux_supports_tracepoints, linux_read_pc, linux_write_pc): New.
12504         (linux_target_ops): Install them.
12505         * linux-low.h (struct linux_target_ops) <supports_tracepoints>:
12506         New field.
12507         * linux-x86-low.c (x86_supports_tracepoints): New.
12508         (the_low_target). Install it.
12509
12510         * mem-break.h (delete_breakpoint): Declare.
12511         * mem-break.c (delete_breakpoint): Make external.
12512
12513         * target.h (struct target_ops): Add `supports_tracepoints',
12514         `read_pc', and `write_pc' fields.
12515         (target_supports_tracepoints): Define.
12516         * utils.c (xrealloc, decimal2str, pulongest, plongest, thirty_two)
12517         (phex_nz): New.
12518
12519         * regcache.h (struct regcache) <registers_owned>: New field.
12520         (init_register_cache, regcache_cpy): Declare.
12521         (regcache_read_pc, regcache_write_pc): Declare.
12522         (register_cache_size): Declare.
12523         (supply_regblock): Declare.
12524         * regcache.c (init_register_cache): New.
12525         (new_register_cache): Use it.
12526         (regcache_cpy): New.
12527         (register_cache_size): New.
12528         (supply_regblock): New.
12529         (regcache_read_pc, regcache_write_pc): New.
12530
12531         * tracepoint.c: New.
12532
12533         * Makefile.in (OBS): Add tracepoint.o.
12534         (tracepoint.o): New rule.
12535
12536 2010-04-08  H.J. Lu  <hongjiu.lu@intel.com>
12537
12538         * Makefile.in (clean): Also remove i386-mmx.c i386-mmx-linux.c.
12539         (i386-mmx.o): New.
12540         (i386-mmx.c): Likewise.
12541         (i386-mmx-linux.o): Likewise.
12542         (i386-mmx-linux.c): Likewise.
12543
12544         * configure.srv (srv_i386_regobj): Add i386-mmx.o.
12545         (srv_i386_linux_regobj): Add i386-mmx-linux.o.
12546         (srv_i386_xmlfiles): Add i386/i386-mmx.xml.
12547         (srv_i386_linux_xmlfiles): Add i386/i386-mmx-linux.xml.
12548
12549         * linux-x86-low.c (init_registers_i386_mmx_linux): New.
12550         (x86_linux_update_xmltarget): Call init_registers_i386_mmx_linux
12551         and return if ptrace PTRACE_GETFPXREGS failed in 32bit.
12552
12553 2010-04-07  H.J. Lu  <hongjiu.lu@intel.com>
12554
12555         * Makefile.in (clean): Updated.
12556         (i386-avx.o): New.
12557         (i386-avx.c): Likewise.
12558         (i386-avx-linux.o): Likewise.
12559         (i386-avx-linux.c): Likewise.
12560         (amd64-avx.o): Likewise.
12561         (amd64-avx.c): Likewise.
12562         (amd64-avx-linux.o): Likewise.
12563         (amd64-avx-linux.c): Likewise.
12564
12565         * configure.srv (srv_i386_regobj): Add i386-avx.o.
12566         (srv_i386_linux_regobj): Add i386-avx-linux.o.
12567         (srv_amd64_regobj): Add amd64-avx.o.
12568         (srv_amd64_linux_regobj): Add amd64-avx-linux.o.
12569         (srv_i386_32bit_xmlfiles): Add i386/32bit-avx.xml.
12570         (srv_i386_64bit_xmlfiles): Add i386/64bit-avx.xml.
12571         (srv_i386_xmlfiles): Add i386/i386-avx.xml.
12572         (srv_amd64_xmlfiles): Add i386/amd64-avx.xml.
12573         (srv_i386_linux_xmlfiles): Add i386/i386-avx-linux.xml.
12574         (srv_amd64_linux_xmlfiles): Add i386/amd64-avx-linux.xml.
12575
12576         * i387-fp.c: Include "i386-xstate.h".
12577         (i387_xsave): New.
12578         (i387_cache_to_xsave): Likewise.
12579         (i387_xsave_to_cache): Likewise.
12580         (x86_xcr0): Likewise.
12581
12582         * i387-fp.h (i387_cache_to_xsave): Likewise.
12583         (i387_xsave_to_cache): Likewise.
12584         (x86_xcr0): Likewise.
12585
12586         * linux-arm-low.c (target_regsets): Initialize nt_type to 0.
12587         * linux-crisv32-low.c (target_regsets): Likewise.
12588         * linux-m68k-low.c (target_regsets): Likewise.
12589         * linux-mips-low.c (target_regsets): Likewise.
12590         * linux-ppc-low.c (target_regsets): Likewise.
12591         * linux-s390-low.c (target_regsets): Likewise.
12592         * linux-sh-low.c (target_regsets): Likewise.
12593         * linux-sparc-low.c (target_regsets): Likewise.
12594         * linux-xtensa-low.c (target_regsets): Likewise.
12595
12596         * linux-low.c: Include <sys/uio.h>.
12597         (regsets_fetch_inferior_registers): Support nt_type.
12598         (regsets_store_inferior_registers): Likewise.
12599         (linux_process_qsupported): New.
12600         (linux_target_ops): Add linux_process_qsupported.
12601
12602         * linux-low.h (regset_info): Add nt_type.
12603         (linux_target_ops): Add process_qsupported.
12604
12605         * linux-x86-low.c: Include "i386-xstate.h", "elf/common.h"
12606         and <sys/uio.h>.
12607         (init_registers_i386_avx_linux): New.
12608         (init_registers_amd64_avx_linux): Likewise.
12609         (xmltarget_i386_linux_no_xml): Likewise.
12610         (xmltarget_amd64_linux_no_xml): Likewise.
12611         (PTRACE_GETREGSET): Likewise.
12612         (PTRACE_SETREGSET): Likewise.
12613         (x86_fill_xstateregset): Likewise.
12614         (x86_store_xstateregset): Likewise.
12615         (use_xml): Likewise.
12616         (x86_linux_update_xmltarget): Likewise.
12617         (x86_linux_process_qsupported): Likewise.
12618         (target_regsets): Add NT_X86_XSTATE entry and Initialize nt_type.
12619         (x86_arch_setup): Don't call init_registers_amd64_linux nor
12620         init_registers_i386_linux here.  Call
12621         x86_linux_update_xmltarget.
12622         (the_low_target): Add x86_linux_process_qsupported.
12623
12624         * server.c (handle_query): Call target_process_qsupported.
12625
12626         * target.h (target_ops): Add process_qsupported.
12627         (target_process_qsupported): New.
12628
12629 2010-04-03  Pedro Alves  <pedro@codesourcery.com>
12630
12631         * inferiors.c (add_thread): Set last_status kind to
12632         TARGET_WAITKIND_IGNORE.
12633         * linux-low.c (cancel_breakpoint): Remove unnecessary regcache
12634         fetch.  Use ptid_of.  Avoid unnecessary get_lwp_thread calls.
12635         (linux_wait_1): Move `thread' local definition to block that uses
12636         it.  Don't NULL initialize `event_child'.
12637         (linux_resume_one_thread): Avoid unnecessary get_lwp_thread calls.
12638         Alway set the thread's last_status to TARGET_WAITKIND_IGNORE.
12639         * linux-x86-low.c (x86_breakpoint_at): Read raw memory.
12640
12641 2010-04-01  Pedro Alves  <pedro@codesourcery.com>
12642
12643         * linux-low.c (get_stop_pc): Don't adjust the PC if stopped with
12644         an extended waitstatus, or by a watchpoint.
12645         (cancel_breakpoints_callback): Don't cancel a breakpoint if the
12646         thread was stepping or has been stopped by a watchpoint.
12647
12648 2010-04-01  Pedro Alves  <pedro@codesourcery.com>
12649
12650         * mem-break.c (struct raw_breakpoint): New field shlib_disabled.
12651         (set_gdb_breakpoint_at): If GDB is inserting a breakpoint on top
12652         of another, then delete the previous, and validate all
12653         breakpoints.
12654         (validate_inserted_breakpoint): New.
12655         (delete_disabled_breakpoints): New.
12656         (validate_breakpoints): New.
12657         (check_mem_read): Validate breakpoints before trusting their
12658         shadow.  Delete disabled breakpoints.
12659         (check_mem_write): Validate breakpoints before trusting they
12660         should be inserted.  Delete disabled breakpoints.
12661         * mem-break.h (validate_breakpoints):
12662         * server.c (handle_query): Validate breakpoints when we see a
12663         qSymbol query.
12664
12665 2010-04-01  Pedro Alves  <pedro@codesourcery.com>
12666
12667         * linux-low.c (linux_wait_1): Avoid setting need_step_over is
12668         there's a GDB breakpoint at stop_pc.  Always report a trap to GDB
12669         if we could tell there's a GDB breakpoint at stop_pc.
12670         (need_step_over_p): Don't do a step over if we find a GDB
12671         breakpoint at the resume PC.
12672
12673         * mem-break.c (struct raw_breakpoint): New.
12674         (enum bkpt_type): New type `gdb_breakpoint'.
12675         (struct breakpoint): Delete the `PC', `old_data' and `inserted'
12676         fields.  New field `raw'.
12677         (find_raw_breakpoint_at): New.
12678         (set_raw_breakpoint_at): Handle refcounting.  Create a raw
12679         breakpoint instead.
12680         (set_breakpoint_at): Adjust.
12681         (delete_raw_breakpoint): New.
12682         (release_breakpoint): New.
12683         (delete_breakpoint): Rename to...
12684         (delete_breakpoint_1): ... this.  Add proc parameter.  Use
12685         release_breakpoint.  Return ENOENT.
12686         (delete_breakpoint): Reimplement.
12687         (find_breakpoint_at): Delete.
12688         (find_gdb_breakpoint_at): New.
12689         (delete_breakpoint_at): Delete.
12690         (set_gdb_breakpoint_at): New.
12691         (delete_gdb_breakpoint_at): New.
12692         (gdb_breakpoint_here): New.
12693         (set_reinsert_breakpoint): Use release_breakpoint.
12694         (uninsert_breakpoint): Rename to ...
12695         (uninsert_raw_breakpoint): ... this.
12696         (uninsert_breakpoints_at): Adjust to handle raw breakpoints.
12697         (reinsert_raw_breakpoint): Change parameter type to
12698         raw_breakpoint.
12699         (reinsert_breakpoints_at): Adjust to handle raw breakpoints
12700         instead.
12701         (check_breakpoints): Adjust.  Use release_breakpoint.
12702         (breakpoint_here): Rewrite using find_raw_breakpoint_at.
12703         (breakpoint_inserted_here): Ditto.
12704         (check_mem_read): Adjust to iterate over raw breakpoints instead.
12705         Don't trust the breakpoint's shadow if it is not inserted.
12706         (check_mem_write): Adjust to iterate over raw breakpoints instead.
12707         (delete_all_breakpoints): Adjust.
12708         (free_all_breakpoints): Mark all breakpoints as uninserted, and
12709         use delete_breakpoint_1.
12710
12711         * mem-break.h (breakpoints_supported): Delete declaration.
12712         (set_gdb_breakpoint_at): Declare.
12713         (gdb_breakpoint_here): Declare.
12714         (delete_breakpoint_at): Delete.
12715         (delete_gdb_breakpoint_at): Declare.
12716
12717         * server.h (struct raw_breakpoint): Forward declare.
12718         (struct process_info): New field `raw_breakpoints'.
12719
12720         * linux-x86-low.c (x86_insert_point, x86_remote_point): Handle Z0
12721         breakpoints.
12722
12723 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
12724
12725         * linux-low.c (status_pending_p_callback): Fix comment.
12726         (linux_wait_for_event_1): Move most of the internal breakpoint
12727         handling from here...
12728         (linux_wait_1): ... to here.
12729         (count_events_callback): New.
12730         (select_singlestep_lwp_callback): New.
12731         (select_event_lwp_callback): New.
12732         (cancel_breakpoints_callback): New.
12733         (select_event_lwp): New.
12734         (linux_wait_1): Simplify internal breakpoint handling.  Give equal
12735         priority to all LWPs that have had events that should be reported
12736         to the client.  Cancel breakpoints when about to reporting the
12737         event to the client, not while stopping lwps.  No longer cancel
12738         finished single-steps here.
12739         (cancel_finished_single_step): Delete.
12740         (cancel_finished_single_steps): Delete.
12741
12742 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
12743
12744         * mem-break.c (enum bkpt_type): New.
12745         (struct breakpoint): New field `type'.
12746         (set_breakpoint_at): Change return type to struct breakpoint
12747         pointer.  Set type to `other_breakpoint' by default.
12748         (delete_breakpoint): Rewrite, supporting more than one breakpoint
12749         in the breakpoint list.
12750         (delete_reinsert_breakpoints): Only delete reinsert breakpoints.
12751         (reinsert_breakpoint): Rename to ...
12752         (reinsert_raw_breakpoint): ... this.
12753         (reinsert_breakpoints_at): Adjust.
12754         * mem-break.h (struct breakpoint): Declare.
12755         (set_breakpoint_at): Change return type to struct breakpoint
12756         pointer.
12757
12758 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
12759
12760         * server.c (handle_query): Assign, not compare.
12761
12762 2010-03-24  Pedro Alves  <pedro@codesourcery.com>
12763
12764         Teach linux gdbserver to step-over-breakpoints.
12765
12766         * linux-low.c (can_hardware_single_step): New.
12767         (supports_breakpoints): New.
12768         (handle_extended_wait): If stopping threads, read the stop pc of
12769         the new cloned LWP.
12770         (get_pc): New.
12771         (get_stop_pc): Add `lwp' parameter.  Handle it.  Bail out if the
12772         low target doesn't support retrieving the PC.
12773         (add_lwp): Set last_resume_kind to resume_continue.
12774         (linux_attach_lwp_1): Adjust comments.  Always set stop_expected.
12775         (linux_attach): Don't clear stop_expected.  Set the lwp's
12776         last_resume_kind to resume_stop.
12777         (linux_detach_one_lwp): Don't check for removed breakpoints.
12778         (check_removed_breakpoint): Delete.
12779         (status_pending_p): Rename to ...
12780         (status_pending_p_callback): ... this.  Don't check for removed
12781         breakpoints.  Don't consider threads that are stopped from GDB's
12782         perspective.
12783         (linux_wait_for_lwp): Always read the stop_pc here.
12784         (cancel_breakpoint): New.
12785         (step_over_bkpt): New global.
12786         (linux_wait_for_event_1): Implement stepping over breakpoints.
12787         (gdb_wants_lwp_stopped): New.
12788         (gdb_wants_all_stopped): New.
12789         (linux_wait_1): Tag threads as gdb-wants-stopped.  Cancel finished
12790         single-step traps here.  Store the thread's last reported target
12791         wait status.
12792         (send_sigstop): Don't clear stop_expected.  Always set it,
12793         instead.
12794         (mark_lwp_dead): Remove reference to pending_is_breakpoint.
12795         (cancel_finished_single_step): New.
12796         (cancel_finished_single_steps): New.
12797         (wait_for_sigstop): Don't cancel finished single-step traps here.
12798         (linux_resume_one_lwp): Don't check for removed breakpoints.
12799         Don't set `step' on non-hardware step archs.
12800         (linux_set_resume_request): Ignore resume_stop requests if already
12801         stopping or stopped.  Set the lwp's last_resume_kind.
12802         (resume_status_pending_p): Don't check for removed breakpoints.
12803         (need_step_over_p): New.
12804         (start_step_over): New.
12805         (finish_step_over): New.
12806         (linux_resume_one_thread): Always queue a sigstop for resume_stop
12807         requests.  Clear the thread's last reported target waitstatus.
12808         Don't use the `suspended' flag.  Don't consider pending breakpoints.
12809         (linux_resume): Start a step-over if necessary.
12810         (proceed_one_lwp): New.
12811         (proceed_all_lwps): New.
12812         (unstop_all_lwps): New.
12813         * linux-low.h (struct lwp_info): Rewrite comment for the
12814         `suspended' flag.  Add the `stop_pc' field.  Delete the
12815         `pending_stop_pc' field.  Tweak the `stepping' flag's comment.
12816         Add `'last_resume_kind' and `need_step_over' fields.
12817         * inferiors.c (struct thread_info): Delete, moved elsewhere.
12818         * mem-break.c (struct breakpoint): Delete `reinserting' flag.
12819         Delete `breakpoint_to_reinsert' field.  New flag `inserted'.
12820         (set_raw_breakpoint_at): New.
12821         (set_breakpoint_at): Rewrite to use it.
12822         (reinsert_breakpoint_handler): Delete.
12823         (set_reinsert_breakpoint): New.
12824         (reinsert_breakpoint_by_bp): Delete.
12825         (delete_reinsert_breakpoints): New.
12826         (uninsert_breakpoint): Rewrite.
12827         (uninsert_breakpoints_at): New.
12828         (reinsert_breakpoint): Rewrite.
12829         (reinsert_breakpoints_at): New.
12830         (check_breakpoints): Rewrite.
12831         (breakpoint_here): New.
12832         (breakpoint_inserted_here): New.
12833         (check_mem_read): Adjust.
12834         * mem-break.h (breakpoints_supported, breakpoint_here)
12835         (breakpoint_inserted_here, set_reinsert_breakpoint): Declare.
12836         (reinsert_breakpoint_by_bp): Delete declaration.
12837         (delete_reinsert_breakpoints): Declare.
12838         (reinsert_breakpoint): Delete declaration.
12839         (reinsert_breakpoints_at): Declare.
12840         (uninsert_breakpoint): Delete declaration.
12841         (uninsert_breakpoints_at): Declare.
12842         (check_breakpoints): Adjust prototype.
12843         * server.h: Adjust include order.
12844         (struct thread_info): Declare here.  Add a `last_status' field.
12845
12846 2010-03-23  Michael Snyder  <msnyder@vmware.com>
12847
12848         * server.c (crc32): New function.
12849         (handle_query): Add handling for 'qCRC:' request.
12850
12851 2010-03-23  Pedro Alves  <pedro@codesourcery.com>
12852
12853         * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR6 if the
12854         lwp had been stopped by a watchpoint.
12855
12856 2010-03-16  Pedro Alves  <pedro@codesourcery.com>
12857
12858         * server.h (internal_error): Declare.
12859         (gdb_assert, ASSERT_FUNCTION, gdb_assert_fail): Define.
12860         * utils.c (internal_error): New function.
12861
12862 2010-03-15  Andreas Schwab  <schwab@redhat.com>
12863
12864         * configure.srv: Fix typo setting srv_regobj.
12865
12866 2010-03-15  Pedro Alves  <pedro@codesourcery.com>
12867
12868         * linux-low.c (fetch_register): Avoid passing a non string literal
12869         format to `error'.
12870         (usr_store_inferior_registers): Ditto.
12871
12872 2010-03-14  Pedro Alves  <pedro@codesourcery.com>
12873
12874         * linux-low.c (linux_write_memory): Bail out early if peeking
12875         memory failed.
12876
12877 2010-03-14  Pedro Alves  <pedro@codesourcery.com>
12878
12879         * linux-low.h (struct lwp_info): New fields
12880         `stopped_by_watchpoint' and `stopped_data_address'.
12881         * linux-low.c (linux_wait_for_lwp): Check for watchpoint triggers
12882         here, and cache them in the lwp object.
12883         (wait_for_sigstop): Check stopped_by_watchpoint lwp field
12884         directly.
12885         (linux_resume_one_lwp): Clear the lwp's stopped_by_watchpoint
12886         field.
12887         (linux_stopped_by_watchpoint): Rewrite.
12888         (linux_stopped_data_address): Rewrite.
12889
12890 2010-03-06  Simo Melenius  <simo.melenius@iki.fi>
12891
12892         * linux-low.c (linux_wait_for_lwp): Fetch the regcache after
12893         switching the current inferior, not before.
12894
12895 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
12896
12897         * Makefile.in (clean): Replace reg-i386.c, reg-x86-64.c,
12898         reg-i386-linux.c and reg-x86-64-linux.c with i386.c, amd64.c,
12899         i386-linux.c and amd64-linux.c.
12900         (reg-i386.o): Removed.
12901         (reg-i386.c): Likewise.
12902         (reg-i386-linux.o): Likewise.
12903         (reg-i386-linux.c): Likewise.
12904         (reg-x86-64.o): Likewise.
12905         (reg-x86-64.c): Likewise.
12906         (reg-x86-64-linux.o): Likewise.
12907         (reg-x86-64-linux.c): Likewise.
12908         (i386.o): New.
12909         (i386.c): Likewise.
12910         (i386-linux.o): Likewise.
12911         (i386-linux.c): Likewise.
12912         (amd64.o): Likewise.
12913         (amd64.c): Likewise.
12914         (amd64-linux.o): Likewise.
12915         (amd64-linux.c): Likewise.
12916
12917         * configure.srv (srv_i386_regobj): New.
12918         (srv_i386_linux_regobj): Likewise.
12919         (srv_amd64_regobj): Likewise.
12920         (srv_amd64_linux_regobj): Likewise.
12921         (srv_i386_32bit_xmlfiles): Likewise.
12922         (srv_i386_64bit_xmlfiles): Likewise.
12923         (srv_i386_xmlfiles): Likewise.
12924         (srv_amd64_xmlfiles): Likewise.
12925         (srv_i386_linux_xmlfiles): Likewise.
12926         (srv_amd64_linux_xmlfiles): Likewise.
12927         (i[34567]86-*-cygwin*): Set srv_regobj to $srv_i386_regobj.  Set
12928         srv_xmlfiles to $srv_i386_xmlfiles.
12929         (i[34567]86-*-mingw32ce*): Likewise.
12930         (i[34567]86-*-mingw*): Likewise.
12931         (i[34567]86-*-nto*): Likewise.
12932         (i[34567]86-*-linux*): Set srv_regobj to $srv_i386_linux_regobj
12933         and $srv_amd64_linux_regobj.  Set srv_xmlfiles to
12934         $srv_i386_linux_xmlfiles and $srv_amd64_linux_xmlfiles.
12935         (x86_64-*-linux*): Likewise.
12936
12937         * linux-x86-low.c (init_registers_x86_64_linux): Removed.
12938         (init_registers_amd64_linux): New.
12939         (x86_arch_setup): Replace init_registers_x86_64_linux with
12940         init_registers_amd64_linux.
12941
12942 2010-02-23  Maxim Kuvyrkov  <maxim@codesourcery.com>
12943
12944         * configure.ac: Check for libdl.  If it is not available link against
12945         static libthread_db.
12946         * configure: Regenerate.
12947
12948 2010-02-22  Pedro Alves  <pedro@codesourcery.com>
12949
12950         PR9605
12951
12952         * i386-low.c (i386_length_and_rw_bits): Throw a fatal error if
12953         handing a read watchpoint.
12954         (i386_low_insert_watchpoint): Read watchpoints aren't supported.
12955
12956 2010-02-12  Doug Evans  <dje@google.com>
12957
12958         * linux-low.c (linux_supports_tracefork_flag): Document.
12959         (linux_look_up_symbols): Add comment.
12960
12961 2010-02-03  H.J. Lu  <hongjiu.lu@intel.com>
12962
12963         * regcache.c (supply_register): Clear regcache if buf is NULL.
12964
12965 2010-02-02  Nicolas Roche  <roche@sourceware.org>
12966             Joel Brobecker  <brobecker@adacore.com>
12967
12968         * inferiors.c (find_inferior): Add function documentation.
12969         (unloaded_dll): Handle the case where the unloaded dll has not
12970         been previously registered in the dll list.
12971
12972 2010-02-01  Daniel Jacobowitz  <dan@codesourcery.com>
12973
12974         * linux-arm-low.c (thumb_breakpoint_len): Delete.
12975         (thumb2_breakpoint): New.
12976         (arm_breakpoint_at): Check for Thumb-2 breakpoints.
12977
12978 2010-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
12979
12980         * linux-low.c (get_stop_pc): Check for SIGTRAP.
12981         (linux_wait_for_event_1): Handle SIGILL and SIGSEGV as possible
12982         breakpoints.
12983
12984 2010-01-21  Pedro Alves  <pedro@codesourcery.com>
12985
12986         * linux-ppc-low.c (ppc_arch_setup): Adjust to regcache changes.
12987
12988 2010-01-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
12989
12990         * linux-s390-low.c (s390_collect_ptrace_register)
12991         (s390_supply_ptrace_register): Adjust it for the new regcache parameter.
12992
12993 2010-01-21  Doug Evans  <dje@google.com>
12994
12995         * linux-low.c (PTRACE_ARG3_TYPE): Change from long to void*.
12996         (PTRACE_ARG4_TYPE): New macro.
12997         (handle_extended_wait): Cast ptrace arg4 to PTRACE_ARG4_TYPE.
12998         (linux_wait_for_event_1, linux_resume_one_lwp): Ditto.
12999         (fetch_register): Cast to uintptr_t before casting to PTRACE_ARG3_TYPE.
13000         (usr_store_inferior_registers): Ditto.
13001         (linux_read_memory, linux_write_memory): Ditto.
13002         (linux_test_for_tracefork): Ditto.
13003
13004         * linux-arm-low.c: Remove redundant include of gdb_proc_service.h.
13005         Only include elf.h if gdb_proc_service.h didn't include linux/elf.h.
13006
13007 2010-01-21  Pedro Alves  <pedro@codesourcery.com>
13008
13009         * proc-service.c (ps_lgetregs): Don't refetch registers from the
13010         target.
13011
13012 2010-01-21  Pedro Alves  <pedro@codesourcery.com>
13013
13014         * spu-low.c (spu_fetch_registers, spu_store_registers): Change
13015         prototype to take a regcache.  Adjust.
13016
13017 2010-01-20  Pedro Alves  <pedro@codesourcery.com>
13018
13019         * regcache.h (struct thread_info): Forward declare.
13020         (struct regcache): New.
13021         (new_register_cache): Adjust prototype.
13022         (get_thread_regcache): Declare.
13023         (free_register_cache): Adjust prototype.
13024         (registers_to_string, registers_from_string): Ditto.
13025         (supply_register, supply_register_by_name, collect_register)
13026         (collect_register_as_string, collect_register_by_name): Ditto.
13027         * regcache.c (struct inferior_regcache_data): Delete.
13028         (get_regcache): Rename to ...
13029         (get_thread_regcache): ... this.  Adjust.  Switch inferior before
13030         fetching registers.
13031         (regcache_invalidate_one): Adjust.
13032         (regcache_invalidate): Fix prototype.
13033         (new_register_cache): Return the new register cache.
13034         (free_register_cache): Change prototype.
13035         (realloc_register_cache): Adjust.
13036         (registers_to_string): Change prototype to take a regcache.  Adjust.
13037         (registers_from_string): Ditto.
13038         (register_data): Ditto.
13039         (supply_register): Ditto.
13040         (supply_register_by_name): Ditto.
13041         (collect_register): Ditto.
13042         (collect_register_as_string): Ditto.
13043         (collect_register_by_name): Ditto.
13044         * server.c (process_serial_event): Adjust.
13045         * linux-low.h (regset_fill_func, regset_store_func): Change
13046         prototype.
13047         (get_pc, set_pc, collect_ptrace_register, supply_ptrace_register):
13048         Change prototype.
13049         * linux-low.c (get_stop_pc): Adjust.
13050         (check_removed_breakpoint): Adjust.
13051         (linux_wait_for_event): Adjust.
13052         (linux_resume_one_lwp): Adjust.
13053         (fetch_register): Add regcache parameter.  Adjust.
13054         (usr_store_inferior_registers): Ditto.
13055         (regsets_fetch_inferior_registers): Ditto.
13056         (regsets_store_inferior_registers): Ditto.
13057         (linux_fetch_registers, linux_store_registers): Ditto.
13058         * i387-fp.c (i387_cache_to_fsave): Change prototype to take a
13059         regcache.  Adjust.
13060         (i387_fsave_to_cache, i387_cache_to_fxsave, i387_fxsave_to_cache):
13061         Ditto.
13062         * i387-fp.h (i387_cache_to_fsave, i387_fsave_to_cache): Change
13063         prototype to take a regcache.
13064         (i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto.
13065         * remote-utils.c (convert_ascii_to_int, outreg)
13066         (prepare_resume_reply): Change prototype to take a regcache.
13067         Adjust.
13068         * target.h (struct target_ops) <fetch_registers, store_registers>:
13069         Change prototype to take a regcache.
13070         (fetch_inferior_registers, store_inferior_registers): Change
13071         prototype to take a regcache.  Adjust.
13072         * proc-service.c (ps_lgetregs): Adjust.
13073         * linux-x86-low.c (x86_fill_gregset, x86_store_gregset)
13074         (x86_fill_fpregset, x86_store_fpregset, x86_fill_fpxregset)
13075         (x86_store_fpxregset, x86_get_pc, x86_set_pc): Change prototype to
13076         take a regcache.  Adjust.
13077         * linux-arm-low.c (arm_fill_gregset, arm_store_gregset)
13078         (arm_fill_wmmxregset, arm_store_wmmxregset, arm_fill_vfpregset)
13079         (arm_store_vfpregset, arm_get_pc, arm_set_pc):
13080         (arm_breakpoint_at): Change prototype to take a regcache.  Adjust.
13081         * linux-cris-low.c (cris_get_pc, cris_set_pc)
13082         (cris_cannot_fetch_register):
13083         (cris_breakpoint_at): Change prototype to take a regcache.
13084         Adjust.
13085         * linux-crisv32-low.c (cris_get_pc, cris_set_pc,
13086         cris_reinsert_addr, cris_write_data_breakpoint): Change prototype
13087         to take a regcache.  Adjust.
13088         (cris_breakpoint_at, cris_insert_point, cris_remove_point):
13089         Adjust.
13090         * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Change prototype to
13091         take a regcache.  Adjust.
13092         * linux-m68k-low.c (m68k_fill_gregset, m68k_store_gregset)
13093         (m68k_fill_fpregset, m68k_store_fpregset, m68k_get_pc,
13094         (m68k_set_pc): Change prototype to take a regcache.  Adjust.
13095         * linux-mips-low.c (mips_get_pc):
13096         (mips_set_pc): Change prototype to take a regcache.  Adjust.
13097         (mips_reinsert_addr): Adjust.
13098         (mips_collect_register): Change prototype to take a regcache.
13099         Adjust.
13100         (mips_supply_register):
13101         (mips_collect_register_32bit, mips_supply_register_32bit)
13102         (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
13103         (mips_store_fpregset): Ditto.
13104         * linux-ppc-low.c (ppc_supply_ptrace_register)
13105         (ppc_supply_ptrace_register): Ditto.
13106         (parse_spufs_run): Adjust.
13107         (ppc_get_pc, ppc_set_pc, ppc_fill_gregset, ppc_fill_vsxregset)
13108         (ppc_store_vsxregset, ppc_fill_vrregset, ppc_store_vrregset)
13109         (ppc_fill_evrregset, ppc_store_evrregset): Change prototype to
13110         take a regcache.  Adjust.
13111         * linux-s390-low.c (s390_collect_ptrace_register)
13112         (s390_supply_ptrace_register, s390_fill_gregset, s390_get_pc)
13113         (s390_set_pc): Change prototype to take a regcache.  Adjust.
13114         (s390_arch_setup): Adjust.
13115         * linux-sh-low.c (sh_get_pc, sh_breakpoint_at)
13116         (sh_fill_gregset): Change prototype to take a regcache.  Adjust.
13117         * linux-sparc-low.c (sparc_fill_gregset_to_stack)
13118         (sparc_fill_gregset, sparc_store_gregset_from_stack)
13119         (sparc_store_gregset, sparc_get_pc): Change prototype to take a
13120         regcache.  Adjust.
13121         (sparc_breakpoint_at): Adjust.
13122         * linux-xtensa-low.c (xtensa_fill_gregset):
13123         (xtensa_store_gregset):
13124         (xtensa_fill_xtregset, xtensa_store_xtregset, xtensa_get_pc)
13125         (xtensa_set_pc): Change prototype to take a regcache.  Adjust.
13126         * nto-low.c (nto_fetch_registers, nto_store_registers): Change
13127         prototype to take a regcache.  Adjust.
13128         * win32-arm-low.c (arm_fetch_inferior_register)
13129         (arm_store_inferior_register): Change prototype to take a
13130         regcache.  Adjust.
13131         * win32-i386-low.c (i386_fetch_inferior_register)
13132         (i386_store_inferior_register): Change prototype to take a
13133         regcache.  Adjust.
13134         * win32-low.c (child_fetch_inferior_registers)
13135         (child_store_inferior_registers): Change prototype to take a
13136         regcache.  Adjust.
13137         (win32_wait): Adjust.
13138         (win32_fetch_inferior_registers): Change prototype to take a
13139         regcache.  Adjust.
13140         (win32_store_inferior_registers): Adjust.
13141         * win32-low.h (struct win32_target_ops) <fetch_inferior_register,
13142         store_inferior_register>: Change prototype to take a regcache.
13143
13144 2010-01-20  Doug Evans  <dje@google.com>
13145
13146         * linux-low.c (linux_create_inferior): Wrap use of __SIGRTMIN in
13147         #ifdef.
13148         (linux_wait_for_event1, linux_init_signals): Ditto.
13149         (W_STOPCODE): Provide definition if missing.
13150
13151 2010-01-13  Vladimir Prus  <vladimir@codesourcery.com>
13152
13153         * linux-low.c (linux_core_of_thread): New.
13154         (compare_ints, show_process, list_threads): New.
13155         (linux_qxfer_osdata): Report threads and cores.
13156         (linux_target_op): Register linux_core_of_thread.
13157         * remote-utils.c (prepare_resume_reply): Report the core.
13158         (buffer_xml_printf): Support %d specifier.
13159         * server.c (handle_threads_qxfer_proper, handle_threads_qxfer):
13160         New.
13161         (handle_query): Handle qXfer:threads.  Announce availability
13162         thereof.
13163         * target.h (struct target_ops): New field core_of_thread.
13164
13165 2010-01-04  Ulrich Weigand  <uweigand@de.ibm.com>
13166
13167         * Makefile.in (clean): Remove new generated files.
13168         (reg-s390.o, reg-s390.c): Remove rules.
13169         (reg-s390x.o, reg-s390x.c): Likewise.
13170         (s390-linux32.o, s390-linux32.c): Add rules.
13171         (s390-linux64.o, s390-linux64.c): Likewise.
13172         (s390x-linux64.o, s390x-linux64.c): Likewise.
13173         * configure.srv (s390*-*-linux*): Update srv_regobj and srv_xmlfiles.
13174         * linux-s390-low.c: Include <elf.h>.
13175         (HWCAP_S390_HIGH_GPRS): Define if undefined.
13176         (init_registers_s390): Remove prototype.
13177         (init_registers_s390x): Likewise.
13178         (init_registers_s390_linux32): Add prototype.
13179         (init_registers_s390_linux64): Likewise.
13180         (init_registers_s390x_linux64): Likewise.
13181         (s390_num_regs_3264): New define.
13182         (s390_regmap_3264): New global variable.
13183         (s390_cannot_fetch_register): Remove obsolete check.
13184         (s390_cannot_store_register): Likewise.
13185         (s390_collect_ptrace_register): Handle upper/lower register halves.
13186         (s390_supply_ptrace_register): Likewise.
13187         (s390_fill_gregset): Update to register number changes.
13188         (s390_get_hwcap): New routine.
13189         (s390_arch_setup): Detect 32-bit process running on 64-bit system.
13190         Install appropriate regmap and register set.
13191
13192 2010-01-01  Joel Brobecker  <brobecker@adacore.com>
13193
13194         * server.c (gdbserver_version): Update copyright year to 2010.
13195         * gdbreplay.c (gdbreplay_version): Likewise.
13196
13197 2009-12-28  Doug Evans  <dje@google.com>
13198
13199         * linux-low.c: Delete inclusion of ansidecl.h, elf/common.h,
13200         elf/external.h.  Include <elf.h> instead but only if necessary.
13201
13202 2009-12-28  Pedro Alves  <pedro@codesourcery.com>
13203
13204         * linux-low.c (linux_remove_process): Remove `detaching'
13205         parameter.  Don't release/detach from thread_db here.
13206         (linux_kill): Release/detach from thread_db here, ...
13207         (linux_detach): ... and here, before actually detaching.
13208         (linux_wait_1): ... and here, when a process exits.
13209         * thread-db.c (any_thread_of): New.
13210         (thread_db_free): Switch the current inferior to a thread of the
13211         passed in process.
13212
13213 2009-12-21  Doug Evans  <dje@google.com>
13214
13215         * linux-x86-low.c: Delete outdated comment about Elf32_Phdr.
13216
13217         * linux-low.c (kill_lwp): Use __NR_tkill instead of SYS_tkill.
13218         Move definition of tkill_failed to ifdef __NR_tkill to avoid gcc
13219         warning ifndef __NR_tkill.  Move setting of errno there too.
13220         Delete unnecessary resetting of errno after syscall.
13221         Minor comment changes to match gdb/linux-nat.c:kill_lwp.
13222
13223         * configure.ac: Check for dladdr.
13224         * config.in: Regenerate.
13225         * configure: Regenerate.
13226         * thread-db.c (dladdr_to_soname): Only define ifdef HAVE_DLADDR.
13227         (try_thread_db_load): Update.
13228
13229         * linux-low.c (my_waitpid): Delete unnecessary prototype.
13230
13231 2009-12-18  Doug Evans  <dje@google.com>
13232
13233         * event-loop.c: Include unistd.h if it exists.
13234
13235         * linux-low.c (my_waitpid): Move definition away from being in
13236         between linux_tracefork_child/linux_test_for_tracefork.
13237
13238         * gdb_proc_service.h (psaddr_t): Fix type.
13239         * thread-db.c (thread_db_info.td_thr_tls_get_addr_p): Fix
13240         signature to match glibc.
13241
13242 2009-12-16  Doug Evans  <dje@google.com>
13243
13244         * linux-low.c (linux_read_memory): Fix argument to read.
13245
13246 2009-11-26  Pedro Alves  <pedro@codesourcery.com>
13247
13248         * win32-low.c (get_child_debug_event): On EXIT_THREAD_DEBUG_EVENT
13249         events, don't leave current_inferior pointing at null.
13250
13251 2009-11-26  Pedro Alves  <pedro@codesourcery.com>
13252
13253         * win32-low.c (LOG): Delete.
13254         (OUTMSG): Output to stderr.
13255         (OUTMSG2): Conditionalize on `debug_threads' variable, instead of
13256         on compile time LOG macro.
13257         (win32_wait): Fix debug output.
13258
13259 2009-11-26  Pedro Alves  <pedro@codesourcery.com>
13260
13261         * win32-low.c (win32_add_one_solib): If the dll name is
13262         "ntdll.dll", prepend the system directory to the dll path.
13263
13264 2009-11-17  Daniel Jacobowitz  <dan@codesourcery.com>
13265
13266         * m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization.
13267
13268 2009-11-17  Nathan Sidwell  <nathan@codesourcery.com>
13269             Vladimir Prus  <vladimir@codesourcery.com>
13270
13271         * Makefile.in (reg-cf.o, reg-cf.c): New targets.
13272         * configure.ac: Check for __mcoldfire__ and set
13273         gdb_cv_m68k_is_coldfire.
13274         * configure.srv: Use gdb_cv_m68k_is_coldfire to select between
13275         reg-cf.o and reg-m68k.o.
13276         * configure: Regenerated.
13277
13278 2009-11-16  Pedro Alves  <pedro@codesourcery.com>
13279
13280         * linux-low.c (linux_remove_process): Add `detaching' parameter.
13281         Pass it to thread_db_free.
13282         (linux_kill, linux_detach, linux_wait_1): Adjust to pass the
13283         proper `detaching' argument to linux_remove_process.
13284         * linux-low.h (thread_db_free): Add `detaching' parameter.
13285         * thread-db.c (thread_db_init): Pass false as `detaching' argument
13286         to thread_db_free.
13287         (thread_db_free): Add `detaching' parameter.  Only
13288         call td_ta_clear_event if detaching from process.
13289
13290 2009-11-12  Maxim Kuvyrkov  <maxim@codesourcery.com>
13291
13292         * thread-db.c (thread_db_free): Fix typo.
13293
13294 2009-11-11  Paul Pluzhnikov  <ppluzhnikov@google.com>
13295
13296         PR gdb/10838
13297         * thread-db.c (thread_db_free): Call td_ta_clear_event.
13298
13299 2009-11-03  Nathan Sidwell  <nathan@codesourcery.com>
13300
13301         * configure.ac (i[34567]86-*): Check if we're targetting x86-64
13302         with an i686 compiler.
13303         * configure.srv (i[34567]86-*-linux*): Pull in x86-64 handling if
13304         needed.
13305         * configure: Rebuilt.
13306
13307 2009-10-29  Sandra Loosemore  <sandra@codesourcery.com>
13308
13309         PR gdb/10783
13310
13311         * server.c (handle_search_memory_1): Correct read_addr initialization
13312         in loop for searching subsequent chunks.
13313
13314 2009-10-29  Paul Pluzhnikov  <ppluzhnikov@google.com>
13315
13316         * configure.ac: New --with-libthread-db option.
13317         * thread-db.c: Allow direct dependence on libthread_db.
13318         (thread_db_free): Adjust.
13319         * config.in: Regenerate.
13320         * configure: Likewise.
13321
13322 2009-10-28  Paul Pluzhnikov  <ppluzhnikov@google.com>
13323
13324         PR gdb/10757
13325         * thread-db.c (attach_thread): New function.
13326         (maybe_attach_thread): Return success/failure.
13327         (find_new_threads_callback): Adjust.
13328         (thread_db_find_new_threads): Loop until no new threads.
13329
13330 2009-10-13  Pedro Alves  <pedro@codesourcery.com>
13331
13332         * proc-service.c (ps_lgetregs): Formatting.
13333
13334 2009-10-08  Paul Pluzhnikov  <ppluzhnikov@google.com>
13335
13336         * acinclude.m4: (SRV_CHECK_THREAD_DB, SRV_CHECK_TLS_GET_ADDR): Remove.
13337         * configure.ac: Adjust.
13338         * linux-low.h (struct process_info_private): Move members to struct
13339         thread_db.
13340         (thread_db_free, thread_db_handle_monitor_command): New prototype.
13341         * linux-low.c (linux_remove_process): Adjust.
13342         (linux_wait_for_event_1, linux_look_up_symbols): Likewise.
13343         * server.c (handle_query): Move code ...
13344         (handle_monitor_command): ... here. New function.
13345         * target.h (struct target_ops): New member.
13346         * thread-db.c (struct thread_db): New.
13347         (libthread_db_search_path): New variable.
13348         (thread_db_create_event, thread_db_enable_reporting)
13349         (find_one_thread, maybe_attach_thread, find_new_threads_callback)
13350         (thread_db_find_new_threads, (thread_db_get_tls_address): Adjust.
13351         (try_thread_db_load_1, dladdr_to_soname): New functions.
13352         (try_thread_db_load, thread_db_load_search): New functions.
13353         (thread_db_init): Search for libthread_db.
13354         (thread_db_free): New function.
13355         (thread_db_handle_monitor_command): Likewise.
13356         * config.in: Regenerate.
13357         * configure: Regenerate.
13358
13359 2009-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
13360
13361         * spu-low.c (spu_kill): Wait for inferior to terminate.
13362         Call clear_inferiors.
13363         (spu_detach): Call clear_inferiors.
13364
13365 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13366
13367         * aclocal.m4: Regenerate.
13368         * config.in: Likewise.
13369         * configure: Likewise.
13370
13371 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
13372
13373         * linux-ppc-low.c (INSTR_SC, NR_spu_run): Define.
13374         (parse_spufs_run): New function.
13375         (ppc_get_pc, ppc_set_pc): Detect and handle SPU PC.
13376         (ppc_breakpoint_at): Handle SPU breakpoints.
13377
13378 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
13379
13380         * linux-low.c: Include <sys/stat.h> and <sys/vfs.h>.
13381         (SPUFS_MAGIC): Define.
13382         (spu_enumerate_spu_ids): New function.
13383         (linux_qxfer_spu): New function.
13384         (linux_target_ops): Install linux_qxfer_spu.
13385
13386 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
13387
13388         * configure.srv (powerpc*-*-linux*): Add powerpc-cell32l.o
13389         and powerpc-cell64l.o to srv_regobj.  Add rs6000/powerpc-cell32l.xml
13390         and rs6000/powerpc-cell64l.xml to srv_xmlfiles.
13391         * Makefile.in (powerpc-cell32l.o, powerpc-cell32l.c): New rules.
13392         (powerpc-cell64l.o, powerpc-cell64l.c): Likewise.
13393         (clean): Handle powerpc-cell32l.c and powerpc-cell64l.c.
13394         * linux-ppc-low.c (PPC_FEATURE_CELL): Define.
13395         (init_registers_powerpc_cell32l): Add prototype.
13396         (init_registers_powerpc_cell64l): Likewise.
13397         (ppc_arch_setup): Detect Cell/B.E. architecture.
13398
13399 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13400
13401         * Makefile.in (datarootdir): New variable.
13402
13403 2009-07-28  Daniel Jacobowitz  <dan@codesourcery.com>
13404
13405         * linux-low.c (linux_write_memory): Update debugging output.
13406         * Makefile.in (clean): Add new descriptions.
13407         (arm-with-vfpv2.o, arm-with-vfpv2.c, arm-with-vfpv3.o)
13408         (arm-with-vfpv3.c, arm-with-neon.o, arm-with-neon.c): New rules.
13409         * configure.srv: Add new files for arm*-*-linux*.
13410         * linux-arm-low.c: Add new declarations.
13411         (PTRACE_GETVFPREGS, PTRACE_SETVFPREGS): Define if undefined.
13412         (arm_hwcap, HWCAP_VFP, HWCAP_IWMMXT, HWCAP_NEON, HWCAP_VFPv3)
13413         (HWCAP_VFPv3D16): New.
13414         (arm_fill_wmmxregset, arm_store_wmmxregset): Check HWCAP_IWMMXT
13415         instead of __IWMMXT__.
13416         (arm_fill_vfpregset, arm_store_vfpregset, arm_get_hwcap)
13417         (arm_arch_setup): New.
13418         (target_regsets): Remove #ifdef.  Add VFP regset.
13419         (the_low_target): Use arm_arch_setup.
13420
13421 2009-07-28  Daniel Jacobowitz  <dan@codesourcery.com>
13422
13423         * linux-low.c (linux_kill_one_lwp): Adjust kernel workaround to skip
13424         the main thread again.
13425
13426 2009-07-06  Aleksandar Ristovski  <aristovski@qnx.com>
13427
13428         Adding Neutrino gdbserver.
13429         * configure: Regenerated.
13430         * configure.ac: Add case for srv_qnx and set LIBS accordingly.
13431         * configure.srv (i[34567]86-*-nto*): New target.
13432         * nto-low.c, nto-low.h, nto-x86-low.c: New files.
13433         * remote-utils.c [__QNX__]: Include sys/iomgr.h
13434         (nto_comctrl) [__QNX__]: New function.
13435         (enable_async_io, disable_async_io) [__QNX__]: Call nto_comctrl.
13436
13437 2009-07-05  Danny Backx  <dannybackx@users.sourceforge.net>
13438
13439         * configure.srv (i[34567]86-*-mingw32ce*): Add i386-low.o to
13440         srv_tgtobj.
13441
13442 2009-07-04  Danny Backx  <dannybackx@users.sourceforge.net>
13443             Pedro Alves  <pedro@codesourcery.com>
13444
13445         * win32-i386-low.c (i386_get_thread_context): Handle systems that
13446         don't support CONTEXT_EXTENDED_REGISTERS.
13447         (i386_win32_breakpoint, i386_win32_breakpoint_len): New.
13448         (the_low_target): Install them.
13449         * win32-low.c (get_child_debug_event): Handle WaitForDebugEvent
13450         failing with ERROR_PIPE_NOT_CONNECTED.
13451
13452 2009-06-30  Doug Evans  <dje@google.com>
13453             Pierre Muller  <muller@ics.u-strasbg.fr>
13454
13455         Add h/w watchpoint support to x86-linux, win32-i386.
13456         * Makefile.in (SFILES): Add i386-low.c
13457         (i386_low_h): Define.
13458         (i386-low.o): Add dependencies.
13459         (linux-x86-low.o): Add i386-low.h dependency.
13460         (win32-i386-low.o): Ditto.
13461         * i386-low.c: New file.
13462         * i386-low.h: New file.
13463         * configure.srv (i[34567]86-*-cygwin*): Add i386-low.o to srv_tgtobj.
13464         (i[34567]86-*-linux*, i[34567]86-*-mingw*, x86_64-*-linux*): Ditto.
13465         * linux-low.c (linux_add_process): Initialize arch_private.
13466         (linux_remove_process): Free arch_private.
13467         (add_lwp): Initialize arch_private.
13468         (delete_lwp): Free arch_private.
13469         (linux_resume_one_lwp): Call the_low_target.prepare_to_resume if
13470         provided.
13471         * linux-low.h (process_info_private): New member arch_private.
13472         (lwp_info): New member arch_private.
13473         (linux_target_ops): New members new_process, new_thread,
13474         prepare_to_resume.
13475         (ptid_of): New macro.
13476         * linux-x86-low.c: Include stddef.h, i386-low.h.
13477         (arch_process_info): New struct.
13478         (arch_lwp_info): New struct.
13479         (x86_linux_dr_get, x86_linux_dr_set): New functions.
13480         (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
13481         (i386_dr_low_get_status): New function.
13482         (x86_insert_point, x86_remove_point): New functions.
13483         (x86_stopped_by_watchpoint): New function.
13484         (x86_stopped_data_address): New function.
13485         (x86_linux_new_process, x86_linux_new_thread): New functions.
13486         (x86_linux_prepare_to_resume): New function.
13487         (the_low_target): Add entries for insert_point, remove_point,
13488         stopped_by_watchpoint, stopped_data_address, new_process, new_thread,
13489         prepare_to_resume.
13490         * server.c (debug_hw_points): New global.
13491         (monitor_show_help): Document set debug-hw-points.
13492         (handle_query): Process "set debug-hw-points".
13493         * server.h (debug_hw_points): Declare.
13494         (paddress): Declare.
13495         * utils.c (NUMCELLS, CELLSIZE): New macros.
13496         (get_sell, xsnprintf, paddress): New functions.
13497         * win32-arm-low.c (the_low_target): Add entries for insert_point,
13498         remove_point, stopped_by_watchpoint, stopped_data_address.
13499         * win32-i386-low.c: Include i386-low.h.
13500         (debug_reg_state): Replaces dr.
13501         (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
13502         (i386_dr_low_get_status): New function.
13503         (i386_insert_point, i386_remove_point): New functions.
13504         (i386_stopped_by_watchpoint): New function.
13505         (i386_stopped_data_address): New function.
13506         (i386_initial_stuff): Update.
13507         (get_thread_context,set_thread_context,i386_thread_added): Update.
13508         (the_low_target): Add entries for insert_point,
13509         remove_point, stopped_by_watchpoint, stopped_data_address.
13510         * win32-low.c (win32_insert_watchpoint): New function.
13511         (win32_remove_watchpoint): New function.
13512         (win32_stopped_by_watchpoint): New function.
13513         (win32_stopped_data_address): New function.
13514         (win32_target_ops): Add entries for insert_watchpoint,
13515         remove_watchpoint, stopped_by_watchpoint, stopped_data_address.
13516         * win32-low.h (win32_target_ops): New members insert_point,
13517         remove_point, stopped_by_watchpoint, stopped_data_address.
13518
13519 2009-06-25  Pedro Alves  <pedro@codesourcery.com>
13520
13521         * server.c (process_serial_event): Re-return unsupported, not
13522         error, if the type isn't recognized.  Re-allow supporting only
13523         insert or remove packets.  Also call require_running for
13524         breakpoints.  Add missing break statement to default case.  Tidy.
13525         * target.h (struct target_ops): Rename insert_watchpoint to
13526         insert_point, and remove_watchpoint to remove_point.
13527
13528         * linux-low.h (struct linux_target_ops): Likewise.
13529         * linux-low.c (linux_insert_watchpoint): Rename to ...
13530         (linux_insert_point): ... this.  Adjust.
13531         (linux_remove_watchpoint): Rename to ...
13532         (linux_remove_point): ... this.  Adjust.
13533         (linux_target_ops): Adjust.
13534         * linux-crisv32-low.c (cris_insert_watchpoint): Rename to ...
13535         (cris_insert_point): ... this.
13536         (cris_remove_watchpoint): Rename to ...
13537         (cris_remove_point): ... this.
13538         (the_low_target): Adjust.
13539
13540 2009-06-24  Pierre Muller  <muller@ics.u-strasbg.fr>
13541
13542         * server.c (handle_v_kill): Pass signal_pid to
13543         kill_inferior if multi_process is zero.
13544
13545 2009-06-23  Aleksandar Ristovski  <aristovski@qnx.com>
13546
13547         * server.c (process_serial_event): Add support for Z0 and Z1 packet.
13548         * target.h (target_ops): Comment for *_watchpoint to make it clear
13549         the functions can get types '0' and '1'.
13550
13551 2009-06-22  Aleksandar Ristovski  <aristovski@qnx.com>
13552
13553         * linux-low.c (usr_fetch_inferior_registers): Remove check for regno 0.
13554         * proc-service.c (ps_lgetregs): Pass -1 to fetch all registers.
13555         * regcache.c (get_regcache): Likewise.
13556         * spu-low.c (spu_fetch_registers): Remove 0 to -1 conversion.
13557         * win32-low.c (child_fetch_inferior_registers): Remove check for
13558         regno 0.
13559
13560 2009-06-19  Aleksandar Ristovski  <aristovski@qnx.com>
13561             Pedro Alves <pedro@codesourcery.com>
13562
13563         * target.h (struct target_ops) <supports_multi_process>: New
13564         callback.
13565         (target_supports_multi_process): New.
13566         * server.c (handle_query): Even if GDB reports support, only
13567         enable multi-process if the target also supports it.  Report
13568         multi-process support only if the target backend supports it.
13569         * linux-low.c (linux_supports_multi_process): New function.
13570         (linux_target_ops): Install it as target_supports_multi_process
13571         callback.
13572
13573 2009-05-24  Doug Evans  <dje@google.com>
13574
13575         Global renaming of find_thread_pid to find_thread_ptid.
13576         * server.h (find_thread_ptid): Renamed from find_thread_pid.
13577         * inferiors.c (find_thread_ptid): Renamed from find_thread_pid.
13578         All callers updated.
13579
13580         * linux-low.c (handle_extended_wait): Use linux_resume_one_lwp
13581         to resume the newly created thread, don't call ptrace (PTRACE_CONT)
13582         directly.
13583
13584         * linux-low.c (get_stop_pc): Print pc if debug_threads.
13585         (check_removed_breakpoint, linux_wait_for_lwp): Ditto.
13586         (linux_resume_one_lwp): Ditto.
13587
13588 2009-05-23  Doug Evans  <dje@google.com>
13589
13590         * linux-low.c (linux_resume_one_lwp): Change type of first arg
13591         from struct inferior_list_entry * to struct lwp_info *.
13592         All callers updated.
13593
13594 2009-05-13  Doug Evans  <dje@google.com>
13595
13596         * linux-x86-low.c: Don't include assert.h.
13597         (x86_siginfo_fixup): Use fatal, not assert.
13598         (x86_arch_setup): Fix comment.
13599
13600 2009-05-12  Doug Evans  <dje@google.com>
13601
13602         Biarch support for i386/amd64 gdbserver.
13603         * Makefile.in (SFILES): Remove linux-i386-low.c, linux-x86-64-low.c.
13604         Add linux-x86-low.c.
13605         (linux-i386-low.o, linux-x86-64-low.o): Delete.
13606         (linux-x86-low.o): Add.
13607         * linux-x86-64-low.c: Delete.
13608         * linux-i386-low.c: Delete.
13609         * linux-x86-low.c: New file.
13610         * configure.srv (i?86-linux srv_tgtobj): Replace linux-i386-low.o with
13611         linux-x86-low.o.
13612         (x86_64-linux srv_tgtobj): Replace linux-x86-64-low.o with
13613         linux-x86-low.o.
13614         (x86_64-linux srv_regobj): Add reg-i386-linux.o.
13615         * linux-low.c: Include ansidecl.h, elf/common.h, elf/external.h.
13616         (linux_child_pid_to_exec_file): New function.
13617         (elf_64_header_p, elf_64_file_p): New functions.
13618         (siginfo_fixup): New function.
13619         (linux_xfer_siginfo): New local inf_siginfo.  Call siginfo_fixup to
13620         give target a chance to convert layout.
13621         * linux-low.h (linux_target_ops): New member siginfo_fixup.
13622         (linux_child_pid_to_exec_file, elf_64_file_p): Declare.
13623
13624 2009-05-07  Doug Evans  <dje@google.com>
13625
13626         * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak.
13627         (regsets_store_inferior_registers): Ditto.
13628
13629 2009-05-06  Pedro Alves  <pedro@codesourcery.com>
13630
13631         PR server/10048
13632
13633         * linux-low.c (must_set_ptrace_flags): Delete.
13634         (linux_create_inferior): Set `lwp->must_set_ptrace_flags' instead
13635         of the global.
13636         (linux_attach_lwp_1): Don't set PTRACE_SETOPTIONS here.  Set
13637         `lwp->must_set_ptrace_flags' instead.
13638         (linux_wait_for_event_1): Set ptrace options here.
13639         (linux_wait_1): ... not here.
13640
13641 2009-04-30  Doug Evans  <dje@google.com>
13642
13643         * inferiors.c (started_inferior_callback): New function.
13644         (attached_inferior_callback): New function.
13645         (have_started_inferiors_p, have_attached_inferiors_p): New functions.
13646         * server.c (print_started_pid, print_attached_pid): New functions.
13647         (detach_or_kill_for_exit): New function.
13648         (main): Call it instead of for_each_inferior (kill_inferior_callback).
13649         * server.h (have_started_inferiors_p): Declare.
13650         (have_attached_inferiors_p): Declare.
13651
13652         * inferiors.c (remove_process): Fix memory leak, free process.
13653         * linux-low.c (linux_remove_process): New function.
13654         (linux_kill): Call it instead of remove_process.
13655         (linux_detach, linux_wait_1): Ditto.
13656
13657 2009-04-19  Danny Backx  <dannybackx@users.sourceforge.net>
13658
13659         * configure.srv: Add x86 Windows CE target.
13660
13661 2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
13662
13663         * inferiors.c (get_thread_process): Make global.
13664         * server.h (get_thread_process): Add prototype.
13665         * thread-db.c (find_one_thread): Use get_thread_process
13666         instead of current_process.
13667         (thread_db_get_tls_address): Do not crash if called when
13668         thread layer is not yet initialized.
13669
13670 2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
13671
13672         * remote-utils.c (prepare_resume_reply): Null-terminate packet.
13673         * spu-low.c (current_tid): Rename to ...
13674         (current_ptid): ... this.
13675         (fetch_ppc_register, fetch_ppc_memory, store_ppc_memory,
13676         spu_proc_xfer_spu, spu_resume, spu_request_interrupt): Use
13677         ptid_get_lwp (current_ptid) instead of current_tid.
13678         (spu_kill, spu_detach, spu_join, spu_wait): Use pid argument
13679         instead of current_tid.  Use find_process_pid to verify pid
13680         argument is valid.  Pass proper argument to remove_process.
13681         (spu_thread_alive): Compare current_ptid instead of current_tid.
13682         (spu_resume): Likewise.
13683
13684 2009-04-02  Pedro Alves  <pedro@codesourcery.com>
13685
13686         * linux-low.c (usr_store_inferior_registers): Declare local `pid'
13687         variable.
13688
13689 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
13690
13691         Implement the multiprocess extensions, and add linux multiprocess
13692         support.
13693
13694         * server.h (ULONGEST): Declare.
13695         (struct ptid, ptid_t): New.
13696         (minus_one_ptid, null_ptid): Declare.
13697         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
13698         (ptid_get_tid, ptid_equal, ptid_is_pid): Declare.
13699         (struct inferior_list_entry): Change `id' type from unsigned from
13700         to ptid_t.
13701         (struct sym_cache, struct breakpoint, struct
13702         process_info_private): Forward declare.
13703         (struct process_info): Declare.
13704         (current_process): Declare.
13705         (all_processes): Declare.
13706         (initialize_inferiors): Declare.
13707         (add_thread): Adjust to use ptid_t.
13708         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): Ditto.
13709         (add_process, remove_process, find_thread_pid): Declare.
13710         (find_inferior_id): Adjust to use ptid_t.
13711         (cont_thread, general_thread, step_thread): Change type to ptid_t.
13712         (multi_process): Declare.
13713         (push_event): Adjust to use ptid_t.
13714         (read_ptid, write_ptid): Declare.
13715         (prepare_resume_reply): Adjust to use ptid_t.
13716         (clear_symbol_cache): Declare.
13717         * inferiors.c (all_processes): New.
13718         (null_ptid, minus_one_ptid): New.
13719         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
13720         (ptid_get_tid, ptid_equal, ptid_is_pid): New.
13721         (add_thread): Change unsigned long to ptid.  Remove gdb_id
13722         parameter.  Adjust.
13723         (thread_id_to_gdb_id, thread_to_gdb_id): Change unsigned long to ptid.
13724         (gdb_id_to_thread): Rename to ...
13725         (find_thread_pid): ... this.  Change unsigned long to ptid.
13726         (gdb_id_to_thread_id, find_inferior_id): Change unsigned long to ptid.
13727         (loaded_dll, pull_pid_from_list): Adjust.
13728         (add_process, remove_process, find_process_pid)
13729         (get_thread_process, current_process, initialize_inferiors): New.
13730         * target.h (struct thread_resume) <thread>: Change type to ptid_t.
13731         (struct target_waitstatus) <related_pid>: Ditto.
13732         (struct target_ops) <kill, detach>: Add `pid' argument.  Change
13733         return type to int.
13734         (struct target_ops) <join>: Add `pid' argument.
13735         (struct target_ops) <thread_alive>: Change pid's type to ptid_t.
13736         (struct target_ops) <wait>: Add `ptid' field.  Change return type
13737         to ptid.
13738         (kill_inferior, detach_inferior, join_inferior): Add `pid' argument.
13739         (mywait): Add `ptid' argument.  Change return type to ptid_t.
13740         (target_pid_to_str): Declare.
13741         * target.c (set_desired_inferior): Adjust to use ptids.
13742         (mywait): Add new `ptid' argument.  Adjust.
13743         (target_pid_to_str): New.
13744         * mem-break.h (free_all_breakpoints): Declare.
13745         * mem-break.c (breakpoints): Delelete.
13746         (set_breakpoint_at, delete_breakpoint, find_breakpoint_at)
13747         (check_mem_read, check_mem_write, delete_all_breakpoints): Adjust
13748         to use per-process breakpoint list.
13749         (free_all_breakpoints): New.
13750         * remote-utils.c (struct sym_cache) <name>: Drop `const'.
13751         (symbol_cache, all_symbols_looked_up): Delete.
13752         (hexchars): New.
13753         (ishex, unpack_varlen_hex, write_ptid, hex_or_minus_one,
13754         read_ptid): New.
13755         (prepare_resume_reply): Change ptid argument's type from unsigned
13756         long to ptid_t.  Adjust.  Implement W;process and X;process.
13757         (free_sym_cache, clear_symbol_cache): New.
13758         (look_up_one_symbol): Adjust to per-process symbol cache.  *
13759         * server.c (cont_thread, general_thread, step_thread): Change type
13760         to ptid_t.
13761         (attached): Delete.
13762         (multi_process): New.
13763         (last_ptid): Change type to ptid_t.
13764         (struct vstop_notif) <ptid>: Change type to ptid_t.
13765         (queue_stop_reply, push_event): Change `ptid' argument's type to
13766         ptid_t.
13767         (discard_queued_stop_replies): Add `pid' argument.
13768         (start_inferior): Adjust to use ptids.  Adjust to mywait interface
13769         changes.  Don't reference the `attached' global.
13770         (attach_inferior): Adjust to mywait interface changes.
13771         (handle_query): Adjust to use ptids.  Parse GDB's qSupported
13772         features.  Handle and report "multiprocess+".  Handle
13773         "qAttached:PID".
13774         (handle_v_cont): Adjust to use ptids.  Adjust to mywait interface
13775         changes.
13776         (handle_v_kill): New.
13777         (handle_v_stopped): Adjust to use target_pid_to_str.
13778         (handle_v_requests): Allow multiple attaches and runs when
13779         multiprocess extensions are in effect.  Handle "vKill".
13780         (myresume): Adjust to use ptids.
13781         (queue_stop_reply_callback): Add `arg' parameter.  Handle it.
13782         (handle_status): Adjust to discard_queued_stop_replies interface
13783         change.
13784         (first_thread_of, kill_inferior_callback)
13785         (detach_or_kill_inferior_callback, join_inferiors_callback): New.
13786         (main): Call initialize_inferiors.  Adjust to use ptids, killing
13787         and detaching from all inferiors.  Handle multiprocess packet
13788         variants.
13789         * linux-low.h: Include gdb_proc_service.h.
13790         (struct process_info_private): New.
13791         (struct linux_target_ops) <pid_of>: Use ptid_get_pid.
13792         <lwpid_of>: Use ptid_get_lwp.
13793         (get_lwp_thread): Adjust.
13794         (struct lwp_info): Add `dead' member.
13795         (find_lwp_pid): Declare.
13796         * linux-low.c (thread_db_active): Delete.
13797         (new_inferior): Adjust comment.
13798         (inferior_pid): Delete.
13799         (linux_add_process): New.
13800         (handle_extended_wait): Adjust.
13801         (add_lwp): Change unsigned long to ptid.
13802         (linux_create_inferior): Add process to processes table.  Adjust
13803         to use ptids.  Don't set new_inferior here.
13804         (linux_attach_lwp): Rename to ...
13805         (linux_attach_lwp_1): ... this.  Add `initial' argument.  Handle
13806         it.  Adjust to use ptids.
13807         (linux_attach_lwp): New.
13808         (linux_attach): Add process to processes table.  Don't set
13809         new_inferior here.
13810         (struct counter): New.
13811         (second_thread_of_pid_p, last_thread_of_process_p): New.
13812         (linux_kill_one_lwp): Add `args' parameter.  Handle it.  Adjust to
13813         multiple processes.
13814         (linux_kill): Add `pid' argument.  Handle it.  Adjust to multiple
13815         processes.  Remove process from process table.
13816         (linux_detach_one_lwp): Add `args' parameter.  Handle it.  Adjust
13817         to multiple processes.
13818         (any_thread_of): New.
13819         (linux_detach): Add `pid' argument, and handle it.  Remove process
13820         from processes table.
13821         (linux_join): Add `pid' argument.  Handle it.
13822         (linux_thread_alive): Change unsighed long argument to ptid_t.
13823         Consider dead lwps as not being alive.
13824         (status_pending_p): Rename `dummy' argument to `arg'.  Filter out
13825         threads we're not interested in.
13826         (same_lwp, find_lwp_pid): New.
13827         (linux_wait_for_lwp): Change `pid' argument's type from int to
13828         ptid_t.  Adjust.
13829         (linux_wait_for_event): Rename to ...
13830         (linux_wait_for_event_1): ... this.  Change `pid' argument's type
13831         from int to ptid_t.  Adjust.
13832         (linux_wait_for_event): New.
13833         (linux_wait_1): Add `ptid' argument.  Change return type to
13834         ptid_t.  Adjust.  Use last_thread_of_process_p.  Remove processes
13835         that exit from the process table.
13836         (linux_wait): Add `ptid' argument.  Change return type to ptid_t.
13837         Adjust.
13838         (mark_lwp_dead): New.
13839         (wait_for_sigstop): Adjust to use ptids.  If a process exits while
13840         stopping all threads, mark its main lwp as dead.
13841         (linux_set_resume_request, linux_resume_one_thread): Adjust to use
13842         ptids.
13843         (fetch_register, usr_store_inferior_registers)
13844         (regsets_fetch_inferior_registers)
13845         (regsets_store_inferior_registers, linux_read_memory)
13846         (linux_write_memory): Inline `inferior_pid'.
13847         (linux_look_up_symbols): Adjust to use per-process
13848         `thread_db_active'.
13849         (linux_request_interrupt): Adjust to use ptids.
13850         (linux_read_auxv): Inline `inferior_pid'.
13851         (initialize_low): Don't reference thread_db_active.
13852         * gdb_proc_service.h (struct ps_prochandle) <pid>: Remove.
13853         * proc-service.c (ps_lgetregs): Use find_lwp_pid.
13854         (ps_getpid): Return the pid of the current inferior.
13855         * thread-db.c (proc_handle, thread_agent): Delete.
13856         (thread_db_create_event, thread_db_enable_reporting): Adjust to
13857         per-process data.
13858         (find_one_thread): Change argument type to ptid_t.  Adjust to
13859         per-process data.
13860         (maybe_attach_thread): Adjust to per-process data and ptids.
13861         (thread_db_find_new_threads): Ditto.
13862         (thread_db_init): Ditto.
13863         * spu-low.c (spu_create_inferior, spu_attach): Add process to
13864         processes table.  Adjust to use ptids.
13865         (spu_kill, spu_detach): Adjust interface.  Remove process from
13866         processes table.
13867         (spu_join, spu_thread_alive): Adjust interface.
13868         (spu_wait): Adjust interface.  Remove process from processes
13869         table.  Adjust to use ptids.
13870         * win32-low.c (current_inferior_tid): Delete.
13871         (current_inferior_ptid): New.
13872         (debug_event_ptid): New.
13873         (thread_rec): Take a ptid.  Adjust.
13874         (child_add_thread): Add `pid' argument.  Adjust to use ptids.
13875         (child_delete_thread): Ditto.
13876         (do_initial_child_stuff): Add `attached' argument.  Add process to
13877         processes table.
13878         (child_fetch_inferior_registers, child_store_inferior_registers):
13879         Adjust.
13880         (win32_create_inferior): Pass 0 to do_initial_child_stuff.
13881         (win32_attach): Pass 1 to do_initial_child_stuff.
13882         (win32_kill): Adjust interface.  Remove process from processes
13883         table.
13884         (win32_detach): Ditto.
13885         (win32_join): Adjust interface.
13886         (win32_thread_alive): Take a ptid.
13887         (win32_resume): Adjust to use ptids.
13888         (get_child_debug_event): Ditto.
13889         (win32_wait): Adjust interface.  Remove exiting process from
13890         processes table.
13891
13892 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
13893
13894         Non-stop mode support.
13895
13896         * server.h (non_stop): Declare.
13897         (gdb_client_data, handler_func): Declare.
13898         (delete_file_handler, add_file_handler, start_event_loop):
13899         Declare.
13900         (handle_serial_event, handle_target_event, push_event)
13901         (putpkt_notif): Declare.
13902         * target.h (enum resume_kind): New.
13903         (struct thread_resume): Replace `step' field by `kind' field.
13904         (TARGET_WNOHANG): Define.
13905         (struct target_ops) <wait>: Add `options' argument.
13906         <supports_non_stop, async, start_non_stop>: New fields.
13907         (target_supports_non_stop, target_async): New.
13908         (start_non_stop): Declare.
13909         (mywait): Add `options' argument.
13910         * target.c (mywait): Add `options' argument.  Print child exit
13911         notifications here.
13912         (start_non_stop): New.
13913         * server.c (non_stop, own_buf, mem_buf): New globals.
13914         (struct vstop_notif): New.
13915         (notif_queue): New global.
13916         (queue_stop_reply, push_event, discard_queued_stop_replies)
13917         (send_next_stop_reply): New.
13918         (start_inferior): Adjust to use resume_kind.  Adjust to mywait
13919         interface changes.
13920         (attach_inferior): In non-stop mode, don't wait for the target
13921         here.
13922         (handle_general_set): Handle QNonStop.
13923         (handle_query): When handling qC, return the current general
13924         thread, instead of the first thread of the list.
13925         (handle_query): If the backend supports non-stop mode, include
13926         QNonStop+ in the qSupported query response.
13927         (handle_v_cont): Adjust to use resume_kind.  Handle resume_stop
13928         and non-stop mode.
13929         (handle_v_attach, handle_v_run): Handle non-stop mode.
13930         (handle_v_stopped): New.
13931         (handle_v_requests): Report support for vCont;t.  Handle vStopped.
13932         (myresume): Adjust to use resume_kind.  Handle non-stop.
13933         (queue_stop_reply_callback): New.
13934         (handle_status): Handle non-stop mode.
13935         (main): Clear non_stop flag on reconnection.  Use the event-loop.
13936         Refactor serial protocol handling from here ...
13937         (process_serial_event): ... to this new function.  When GDB
13938         selects any thread, select one here.  In non-stop mode, wait until
13939         GDB acks all pending events before exiting.
13940         (handle_serial_event, handle_target_event): New.
13941         * remote-utils.c (remote_open): Install remote_desc in the event
13942         loop.
13943         (remote_close): Remove remote_desc from the event loop.
13944         (putpkt_binary): Rename to...
13945         (putpkt_binary_1): ... this.  Add `is_notic' argument.  Handle it.
13946         (putpkt_binary): New as wrapper around putpkt_binary_1.
13947         (putpkt_notif): New.
13948         (prepare_resume_reply): In non-stop mode, don't change the
13949         general_thread.
13950         * event-loop.c: New.
13951         * Makefile.in (OBJ): Add event-loop.o.
13952         (event-loop.o): New rule.
13953
13954         * linux-low.h (pid_of): Moved here.
13955         (lwpid_of): New.
13956         (get_lwp_thread): Use lwpid_of.
13957         (struct lwp_info): Delete `lwpid' field.  Add `suspended' field.
13958         * linux-low.c (pid_of): Delete.
13959         (inferior_pid): Use lwpid_of.
13960         (linux_event_pipe): New.
13961         (target_is_async_p): New.
13962         (delete_lwp): New.
13963         (handle_extended_wait): Use lwpid_of.
13964         (add_lwp): Don't set lwpid field.
13965         (linux_attach_lwp): Adjust debug output.  Use lwpid_of.
13966         (linux_kill_one_lwp): If killing a running lwp, stop it first.
13967         Use lwpid_of.  Adjust to linux_wait_for_event interface changes.
13968         (linux_detach_one_lwp): If detaching from a running lwp, stop it
13969         first.  Adjust to linux_wait_for_event interface changes.  Use
13970         lwpid_of.
13971         (linux_detach): Don't delete the main lwp here.
13972         (linux_join): Use my_waitpid.  Avoid signal_pid.  Use lwpid_of.
13973         (status_pending_p): Don't consider explicitly suspended lwps.
13974         (linux_wait_for_lwp): Take an integer pid instead of a lwp_info
13975         pointer.  Add OPTIONS argument.  Change return type to int.  Use
13976         my_waitpid instead of sleeping.  Handle WNOHANG.  Use lwpid_of.
13977         (linux_wait_for_event): Take an integer pid instead of a lwp_info
13978         pointer.  Add status pointer argument.  Return a pid instead of a
13979         status.  Use lwpid_of.  Adjust to linux_wait_for_lwp interface
13980         changes.  In non-stop mode, don't switch to a random thread.
13981         (linux_wait): Rename to...
13982         (linux_wait_1): ... this.  Add target_options argument, and handle
13983         it.  Adjust to use resume_kind.  Use lwpid_of.  In non-stop mode,
13984         don't handle the continue thread.  Handle TARGET_WNOHANG.  Merge
13985         clean exit and signal exit code.  Don't stop all threads in
13986         non-stop mode.  In all-stop mode, only stop all threads when
13987         reporting a stop to GDB.  Handle explicit thread stop requests.
13988         (async_file_flush, async_file_mark): New.
13989         (linux_wait): New.
13990         (send_sigstop): Use lwpid_of.
13991         (wait_for_sigstop): Use lwpid_of.  Adjust to linux_wait_for_event
13992         interface changes.  In non-stop mode, don't switch to a random
13993         thread.
13994         (linux_resume_one_lwp): Use lwpid_of.
13995         (linux_continue_one_thread, linux_queue_one_thread): Merge into ...
13996         (linux_resume_one_thread): ... this.  Handle resume_stop.  In
13997         non-stop mode, don't look for pending flag in all threads.
13998         (resume_status_pending_p): Don't consider explicitly suspended
13999         threads.
14000         (my_waitpid): Reimplement.  Emulate __WALL.
14001         (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
14002         Use lwpid_of.
14003         (sigchld_handler, linux_supports_non_stop, linux_async)
14004         (linux_start_non_stop): New.
14005         (linux_target_ops): Register linux_supports_non_stop, linux_async
14006         and linux_start_non_stop.
14007         (initialize_low): Install SIGCHLD handler.
14008         * thread-db.c (thread_db_create_event, find_one_thread)
14009         (thread_db_get_tls_address): Use lwpid_of.
14010         * win32-low.c (win32_detach): Adjust to use resume_kind.
14011         (win32_wait): Add `options' argument.
14012         * spu-low.c (spu_resume): Adjust to use resume_kind.
14013         (spu_wait): Add `options' argument.
14014
14015 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
14016
14017         Decouple target code from remote protocol.
14018
14019         * target.h (enum target_waitkind): New.
14020         (struct target_waitstatus): New.
14021         (struct target_ops) <wait>: Return an unsigned long.  Take a
14022         target_waitstatus pointer instead of a char pointer.
14023         (mywait): Likewise.
14024         * target.c (mywait): Change prototype to return an unsigned long.
14025         Take a target_waitstatus pointer instead of a char pointer.  Adjust.
14026         * server.h (thread_from_wait, old_thread_from_wait): Delete
14027         declarations.
14028         (prepare_resume_reply): Change prototype to take a
14029         target_waitstatus.
14030         * server.c (thread_from_wait, old_thread_from_wait): Delete.
14031         (last_status, last_ptid): New.
14032         (start_inferior): Remove "statusptr" argument.  Adjust.  Return a
14033         pid instead of a signal.
14034         (attach_inferior): Remove "status" and "signal" parameters.
14035         Adjust.
14036         (handle_query): For qGetTLSAddr, parse the thread id with strtol,
14037         not as an address.
14038         (handle_v_cont, handle_v_attach, handle_v_run, handle_v_kill)
14039         (handle_v_requests, myresume): Remove "status" and "signal"
14040         parameters.  Adjust.
14041         (handle_status): New.
14042         (main): Delete local `status'.  Adjust.
14043         * remote-utils.c: Include target.h.
14044         (prepare_resume_reply): Change prototype to take a
14045         target_waitstatus.  Adjust.
14046
14047         * linux-low.c (linux_wait): Adjust to new target_ops->wait
14048         interface.
14049         * spu-low.c (spu_wait): Adjust.
14050         * win32-low.c (enum target_waitkind, struct target_waitstatus):
14051         Delete.
14052         (win32_wait): Adjust.
14053
14054 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
14055
14056         * target.h (struct thread_resume): Delete leave_stopped member.
14057         (struct target_ops): Add a `n' argument to the `resume' callback.
14058         * server.c (start_inferior): Adjust.
14059         (handle_v_cont, myresume): Adjust.
14060         * linux-low.c (check_removed_breakpoint): Adjust to resume
14061         interface change, and to removed leave_stopped field.
14062         (resume_ptr): Delete.
14063         (struct thread_resume_array): New.
14064         (linux_set_resume_request): Add new `arg' parameter.  Adjust to
14065         resume interface change.
14066         (linux_continue_one_thread, linux_queue_one_thread)
14067         (resume_status_pending_p): Check if the resume field is NULL
14068         instead of checking the leave_stopped member.
14069         (linux_resume): Adjust to the target resume interface change.
14070         * spu-low.c (spu_resume): Adjust to the target resume interface
14071         change.
14072         * win32-low.c (win32_detach, win32_resume): Ditto.
14073
14074 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
14075
14076         * linux-low.c (linux_wait_for_event): Don't clear the `stepping'
14077         flag.
14078         (wait_for_sigstop): Don't leave a finished single-step SIGTRAP
14079         pending.
14080         (linux_continue_one_thread): Only preserve the stepping flag if
14081         there's a pending breakpoint.
14082
14083 2009-03-31  Pedro Alves  <pedro@codesourcery.com>
14084
14085         * server.c (main): After the inferior having exited, call
14086         remote_close before exiting gdbserver.
14087
14088 2009-03-25  Thiago Jung Bauermann  <bauerman@br.ibm.com>
14089
14090         Fix size of FPSCR in Power 7 processors.
14091         * linux-ppc-low.c (PPC_FEATURE_ARCH_2_05): Remove #define.
14092         (PPC_FEATURE_HAS_DFP): New #define.
14093         (ppc_arch_setup): Check for DFP feature instead of ISA 2.05 to decide on
14094         size of the FPSCR.
14095
14096 2009-03-23  Pedro Alves  <pedro@codesourcery.com>
14097
14098         * server.c (handle_query) Whitespace and formatting.
14099
14100 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
14101
14102         * i387-fp.c, linux-arm-low.c, linux-cris-low.c,
14103         linux-crisv32-low.c, linux-i386-low.c, linux-low.c,
14104         linux-mips-low.c, linux-s390-low.c, linux-sparc-low.c,
14105         linux-x86-64-low.c, linux-xtensa-low.c, proc-service.c,
14106         regcache.c, remote-utils.c, server.c, spu-low.c, target.h,
14107         thread-db.c, win32-low.c, xtensa-xtregs.c, gdbreplay.c,
14108         Makefile.in, configure.ac: Fix whitespace throughout.
14109         * configure: Regenerate.
14110
14111 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
14112
14113         * inferiors.c (find_inferior): Make it safe for the callback
14114         function to delete the currently iterated inferior.
14115
14116 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
14117
14118         * Makefile.in (linuw_low_h): Move higher.
14119         (thread-db.o): Depend on $(linux_low_h).
14120
14121 2009-03-17  Pedro Alves  <pedro@codesourcery.com>
14122
14123         Rename "process" to "lwp" throughout.
14124
14125         * linux-low.c (all_processes): Rename to...
14126         (all_lwps): ... this.
14127         (inferior_pid, handle_extended_wait, get_stop_pc): Adjust.
14128         (add_process): Rename to ...
14129         (add_lwp): ... this.  Adjust.
14130         (linux_create_inferior): Adjust.
14131         (linux_attach_lwp): Adjust.
14132         (linux_attach): Adjust.
14133         (linux_kill_one_process): Rename to ...
14134         (linux_kill_one_lwp): ... this.  Adjust.
14135         (linux_kill): Adjust.
14136         (linux_detach_one_process): Rename to ...
14137         (linux_detach_one_lwp): ... this.  Adjust.
14138         (linux_detach): Adjust.
14139         (check_removed_breakpoint): Adjust.
14140         (status_pending_p): Adjust.
14141         (linux_wait_for_process): Rename to ...
14142         (linux_wait_for_lwp): ... this.  Adjust.
14143         (linux_wait_for_event): Adjust.
14144         (send_sigstop): Adjust.
14145         (wait_for_sigstop): Adjust.
14146         (stop_all_processes): Rename to ...
14147         (stop_all_lwps): ... this.
14148         (linux_resume_one_process): Rename to ...
14149         (linux_resume_one_lwp): ... this.  Adjust.
14150         (linux_set_resume_request, linux_continue_one_thread)
14151         (linux_queue_one_thread, resume_status_pending_p)
14152         (usr_store_inferior_registers, regsets_store_inferior_registers)
14153         (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
14154         Adjust.
14155         * linux-low.h (get_process): Rename to ...
14156         (get_lwp): ... this.  Adjust.
14157         (get_thread_process): Rename to ...
14158         (get_thread_lwp): ... this.  Adjust.
14159         (get_process_thread): Rename to ...
14160         (get_lwp_thread): ... this.  Adjust.
14161         (struct process_info): Rename to ...
14162         (struct lwp_info): ... this.
14163         (all_processes): Rename to ...
14164         (all_lwps): ... this.
14165         * proc-service.c (ps_lgetregs): Adjust.
14166         * thread-db.c (thread_db_create_event, find_one_thread)
14167         (maybe_attach_thread, thread_db_get_tls_address): Adjust.
14168
14169 2009-03-14  Pedro Alves  <pedro@codesourcery.com>
14170
14171         * server.c (handle_query): Handle "qAttached".
14172
14173 2009-03-13  Nathan Sidwell  <nathan@codesourcery.com>
14174
14175         * Makefile.in, hostio-errno.c, errno.c, xtensa-xtregs.c: Change to
14176         GPLv3, update license URL.
14177
14178 2009-03-01  Doug Evans  <dje@google.com>
14179
14180         * Makefile.in (INCLUDE_CFLAGS): Add -I$(srcdir)/../common.
14181         (server_h): Add gdb_signals.h.
14182         (signals.o): Update.
14183         * server.h (target_signal_from_host,target_signal_to_host_p)
14184         (target_signal_to_host,target_signal_to_name): Moved to gdb_signals.h.
14185
14186 2009-02-14  Pierre Muller  <muller@ics.u-strasbg.fr>
14187
14188         * remote-utils.c (getpkt): Also generate remote-debug
14189         information if noack_mode is set.
14190
14191 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
14192
14193         * server.c (handle_query): Report qXfer:siginfo:read and
14194         qXfer:siginfo:write as supported and handle them.
14195         * target.h (struct target_ops) <qxfer_siginfo>: New field.
14196         * linux-low.c (linux_xfer_siginfo): New.
14197         (linux_target_ops): Set it.
14198
14199 2009-01-26  Pedro Alves  <pedro@codesourcery.com>
14200
14201         * server.c (gdbserver_usage): Mention --remote-debug.
14202         (main): Accept '--remote-debug' switch.
14203
14204 2009-01-18  Doug Evans  <dje@google.com>
14205
14206         * regcache.c (new_register_cache): No need to check result of xcalloc.
14207         * server.c (handle_search_memory): Back out calls to xmalloc,
14208         result is checked and error is returned to user upon failure.
14209         (handle_query): Ditto.  Add more checks for result of malloc.
14210         (handle_v_cont): Check result of malloc, report error back to
14211         user upon failure.
14212         (handle_v_run): Ditto.  Call freeargv.
14213         * server.h (freeargv): Declare.
14214         * utils.c (freeargv): New fn.
14215
14216 2009-01-15  Doug Evans  <dje@google.com>
14217
14218         * gdbreplay.c (perror_with_name): Make arg const char *.
14219         * server.h (target_signal_to_name): Make return type const char *.
14220         * thread-db.c (thread_db_err_str): Make return type const char *.
14221         * utils.c (perror_with_name): Make arg const char *.
14222
14223 2009-01-14  Pedro Alves  <pedro@codesourcery.com>
14224
14225         * win32-low.c (get_child_debug_event): Issue a final DBG_CONTINUE
14226         when handling a EXIT_PROCESS_DEBUG_EVENT.
14227
14228 2009-01-06  Joel Brobecker  <brobecker@adacore.com>
14229
14230         * gdbreplay.c (gdbreplay_version): Update copyright year.
14231         * server.c (gdbserver_version): Likewise.
14232
14233 2009-01-05  Doug Evans  <dje@google.com>
14234
14235         * linux-low.c (linux_attach_lwp): Add some comments/fixmes.
14236         (handle_extended_wait): Improve comment.
14237
14238 2008-12-13  Doug Evans  <dje@google.com>
14239
14240         * utils.c (xmalloc,xcalloc,xstrdup): New fns.
14241         * server.h (ATTR_MALLOC): New macro.
14242         (xmalloc,xcalloc,xstrdup): Declare.
14243         * hostio.c: Replace malloc,calloc,strdup with xmalloc,xcalloc,xstrdup.
14244         * inferiors.c: Ditto.
14245         * linux-low.c: Ditto.
14246         * mem-break.c: Ditto.
14247         * regcache.c: Ditto.
14248         * remote-utils.c: Ditto.
14249         * server.c: Ditto.
14250         * target.c: Ditto.
14251         * win32-low.c: Ditto.
14252
14253 2008-12-12  Doug Evans  <dje@google.com>
14254
14255         * linux-low.c (linux_wait_for_process): Don't clobber current_inferior
14256         in debugging printf.
14257
14258         * linux-low.c (handle_extended_wait): Simplify, use my_waitpid.
14259
14260 2008-12-09  Doug Evans  <dje@google.com>
14261
14262         * linux-low.h (struct process_info): Delete member tid, unused.
14263         * thread-db.c (find_one_thread): Update.
14264         (maybe_attach_thread): Update.
14265
14266 2008-12-02  Pedro Alves  <pedro@codesourcery.com>
14267
14268         * target.h (struct target_ops): Add qxfer_osdata member.
14269         * linux-low.c: Include ctype.h and pwd.h and sys/types.h
14270         and dirent.h.
14271         (linux_qxfer_osdata): New functions.
14272         (linux_target_ops): Register linux_qxfer_osdata as qxfer_osdata
14273         callback.
14274         * server.c (handle_query): Handle "qXfer:osdata:read:".
14275         * remote-utils.c (buffer_grow, buffer_free, buffer_init, buffer_finish)
14276         (buffer_xml_printf): New functions.
14277         * server.h (struct buffer): New.
14278         (buffer_grow_str, buffer_grow_str0): New macros.
14279         (buffer_grow, buffer_free, buffer_init, buffer_finish)
14280         (buffer_xml_printf): Declare.
14281
14282 2008-11-24  Doug Evans  <dje@google.com>
14283
14284         * Makefile.in (VERSION,DIST,LINT,LINTFLAGS): Delete, unused.
14285
14286 2008-11-24  Daniel Jacobowitz  <dan@codesourcery.com>
14287
14288         * server.c (handle_v_run): Always use the supplied argument list.
14289
14290 2008-11-19  Bob Wilson  <bob.wilson@acm.org>
14291
14292         * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4.
14293         (xtensa_regmap_table): Add entry for scompare1.
14294
14295 2008-11-18  Thiago Jung Bauermann  <bauerman@br.ibm.com>
14296
14297         * Makefile.in (powerpc-isa205-32l.o, powerpc-isa205-32l.c,
14298         powerpc-isa205-altivec32l.o, powerpc-isa205-altivec32l.c,
14299         powerpc-isa205-vsx32l.o, powerpc-isa205-vsx32l.c,
14300         powerpc-isa205-64l.o, powerpc-isa205-64l.c,
14301         powerpc-isa205-altivec64l.o, powerpc-isa205-altivec64l.c,
14302         powerpc-isa205-vsx64l.o, powerpc-isa205-vsx64l.c): New targets.
14303         * configure.srv (powerpc*-*-linux*): Add ISA 2.05 object files and
14304         XML target descriptions.
14305         * linux-ppc-low.c (ppc_arch_setup): Init registers with 64-bit FPSCR
14306         when inferior is running on an ISA 2.05 or later processor.  Add
14307         special case to return offset for full 64-bit slot of FPSCR when
14308         in 32-bits.
14309
14310 2008-11-14  Daniel Gutson  <dgutson@codesourcery.com>
14311
14312         * Makefile.in (SFILES, clean): Added sparc64 files.
14313         (reg-sparc64.o, reg-sparc64.c): New.
14314         * configure.srv (sparc*-*-linux*): New configuration.
14315         * linux-low.c (regsets_fetch_inferior_registers): Swap ptrace
14316         syscall arguments for SPARC.
14317         (regsets_store_inferior_registers): Likewise.
14318         * linux-sparc-low.c: New file.
14319
14320 2008-10-21  Doug Evans  <dje@google.com>
14321
14322         * Makefile.in (BFD_DIR,BFD,BFD_SRC,BFD_CFLAGS): Delete.
14323         (READLINE_DIR,READLINE_DEP): Delete.
14324         (INTERNAL_CFLAGS): Update.
14325         (LINTFLAGS): Update.
14326
14327 2008-10-10  Pedro Alves  <pedro@codesourcery.com>
14328
14329         * server.c (handle_v_run): If GDB didn't specify an argv, use the
14330         whole argv from the last run, not just argv[0].
14331
14332 2008-09-08  Pedro Alves  <pedro@codesourcery.com>
14333
14334         * regcache.c (new_register_cache): Return NULL if the register
14335         cache size isn't known yet.
14336         (free_register_cache): Avoid dereferencing a NULL regcache.
14337
14338 2008-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
14339
14340         * configure.srv: Merge MIPS and MIPS64.
14341
14342 2008-08-24  Maciej W. Rozycki  <macro@linux-mips.org>
14343
14344         * Makefile.in (uninstall): Apply $(EXEEXT) too.
14345
14346 2008-08-18  Luis Machado  <luisgpm@br.ibm.com>
14347
14348         * Makefile.in: Add required vsx dependencies.
14349
14350         * linux-ppc-low: Define PPC_FEATURE_HAS_VSX.
14351         Declare init_registers_powerpc_vsx32l.
14352         Declare init_registers_powerpc_vsx64l.
14353         Define PTRACE_GETVSXREGS and PTRACE_SETVSXREGS.
14354         (ppc_arch_setup): Check for VSX in hwcap.
14355         (ppc_fill_vsxregset): New function.
14356         (ppc_store_vsxregset): New function.
14357         Add new VSX entry in regset_info target_regsets.
14358
14359         * configure.srv: Add new VSX dependencies.
14360
14361 2008-08-12  Pedro Alves  <pedro@codesourcery.com>
14362
14363         * remote-utils.c (noack_mode, transport_is_reliable): New globals.
14364         (remote_open): Set or clear transport_is_reliable.
14365         (putpkt_binary): Don't expect acks in noack mode.
14366         (getpkt): Don't send ack/nac in noack mode.
14367         * server.c (handle_general_set): Handle QStartNoAckMode.
14368         (handle_query): If connected by tcp pass QStartNoAckMode+ in
14369         qSupported.
14370         (main): Reset noack_mode on every connection.
14371         * server.h (noack_mode): Declare.
14372
14373 2008-08-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14374
14375         * Makefile.in (GDBREPLAY_OBS): New variable.
14376         (gdbreplay$(EXEEXT)): Use it to avoid unportable $^.
14377
14378 2008-08-05  Ulrich Weigand  <uweigand@de.ibm.com>
14379             Daniel Jacobowitz  <dan@codesourcery.com>
14380
14381         * linux-low.c (linux_resume_one_process): Ignore ESRCH.
14382         (usr_store_inferior_registers): Likewise.
14383         (regsets_store_inferior_registers): Likewise.
14384
14385 2008-07-31  Rolf Jansen  <rj@surtec.com>
14386             Pedro Alves  <pedro@codesourcery.com>
14387
14388         * configure.ac: Check for memmem declaration.
14389         * server.c [HAVE_MALLOC_H]: Include malloc.h.
14390         (disable_packet_vCont, disable_packet_Tthread, disable_packet_qC)
14391         (disable_packet_qfThreadInfo): Unconditionally compile.
14392         * server.h [!HAVE_DECL_MEMMEM]: Declare memmem.
14393         * configure, config.in: Regenerate.
14394
14395 2008-07-28  Doug Kwan  <dougkwan@google.com>
14396
14397         * linux-low.c (sys/dir.h, sys/user.h): Remove includes.
14398         (linux_write_memory): Remove declaration of errno.
14399
14400 2008-07-12  Ulrich Weigand  <uweigand@de.ibm.com>
14401
14402         * linux-low.c (handle_extended_wait): Do not use "status"
14403         variable uninitialized.
14404
14405 2008-07-07  Pedro Alves  <pedro@codesourcery.com>
14406
14407         * server.c (handle_v_attach): Inhibit reporting dll changes.
14408
14409 2008-06-27  Pedro Alves  <pedro@codesourcery.com>
14410
14411         * remote-utils.c (prepare_resume_reply): If requested, don't
14412         output "thread:TID" in the T stop reply.
14413
14414         * server.c (disable_packet_vCont, disable_packet_Tthread)
14415         (disable_packet_qC, disable_packet_qfThreadInfo): New globals.
14416         (handle_query): If requested, disable support for qC, qfThreadInfo
14417         and qsThreadInfo.
14418         (handle_v_requests): If requested, disable support for vCont.
14419         (gdbserver_show_disableable): New.
14420         (main): Handle --disable-packet and --disable-packet=LIST.
14421
14422         * server.h (disable_packet_vCont, disable_packet_Tthread)
14423         (disable_packet_qC, disable_packet_qfThreadInfo): Declare.
14424
14425 2008-06-20  Carlos O'Donell  <carlos@codesourcery.com>
14426
14427         * server.c (gdbserver_usage): Mention --version.
14428
14429 2008-06-06  Daniel Jacobowitz  <dan@codesourcery.com>
14430
14431         * Makefile.in (gdbreplay.o): New rule.
14432
14433 2008-06-06  Joseph Myers  <joseph@codesourcery.com>
14434
14435         * gdbreplay.c (gdbreplay_version): Say gdbreplay in version
14436         message, not gdbserver.
14437
14438 2008-06-05  Vladimir Prus  <vladimir@codesourcery.com>
14439             Nathan Sidwell  <nathan@codesourcery.com>
14440             Joseph Myers  <joseph@codesourcery.com>
14441
14442         * acinclude.m4: Include ../../config/acx.m4.
14443         * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
14444         * configure, config.in: Regenerate.
14445         * Makefile.in (gdbreplay$(EXEEXT)): Add version.o.
14446         * server.c (gdbserver_version): Print PKGVERSION.
14447         (gdbsrever_usage): Add stream parameter.  Print REPORT_BUGS_TO.
14448         (main): Adjust gdbserver_usage calls.
14449         * gdbreplay.c (version, host_name): Add declarations.
14450         (gdbreplay_version, gdbreplay_usage): New.
14451         (main): Accept --version and --help options.
14452
14453 2008-06-04  Daniel Jacobowitz  <dan@codesourcery.com>
14454
14455         * linux-arm-low.c (thumb_breakpoint, thumb_breakpoint_len): New.
14456         (arm_breakpoint_at): Handle Thumb.
14457         (the_low_target): Add comment.
14458
14459 2008-05-29  Ulrich Weigand  <uweigand@de.ibm.com>
14460
14461         * linux-ppc-low.c (ppc_collect_ptrace_register): Clear buffer.
14462
14463 2008-05-09  Doug Evans  <dje@google.com>
14464
14465         * server.h (decode_search_memory_packet): Declare.
14466         * remote-utils.c (decode_search_memory_packet): New fn.
14467         * server.c (handle_search_memory_1): New fn.
14468         (handle_search_memory): New fn.
14469         (handle_query): Process qSearch:memory packets.
14470
14471 2008-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
14472
14473         * regcache.c (registers_length): Remove.
14474         (set_register_cache): Verify that PBUFSIZ is large enough to hold a
14475         full register packet.
14476         * regcache.h (registers_length): Remove prototype.
14477         * server.h (PBUFSIZ): Define to 16384.
14478
14479 2008-05-03  Ulrich Weigand  <uweigand@de.ibm.com>
14480
14481         * configure.srv (powerpc*-*-linux*): Set srv_regobj to
14482         powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o,
14483         powerpc-64l.o, and powerpc-altivec64l.o.
14484         Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and
14485         rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml,
14486         rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml,
14487         rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml,
14488         rs6000/power-linux.xml, and rs6000/power64-linux.xml
14489         to srv_xmlfiles.
14490
14491         * Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ...
14492         (powerpc-32l.o, powerpc-32l.c): ... these new rules.
14493         (powerpc-32.o, powerpc-32.c): Remove, replace by ...
14494         (powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules.
14495         (powerpc-e500.o, powerpc-e500.c): Remove, replace by ...
14496         (powerpc-e500l.o, powerpc-e500l.c): ... these new rules.
14497         (reg-ppc64.o, reg-ppc64.c): Remove, replace by ...
14498         (powerpc-64l.o, powerpc-64l.c): ... these new rules.
14499         (powerpc-64.o, powerpc-64.c): Remove, replace by ...
14500         (powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules.
14501         (clean): Update.
14502
14503         * linux-ppc-low.c (init_registers_ppc): Remove, replace by ...
14504         (init_registers_powerpc_32l): ... this new prototype.
14505         (init_registers_powerpc_32): Remove, replace by ...
14506         (init_registers_powerpc_altivec32l): ... this new prototype.
14507         (init_registers_powerpc_e500): Remove, replace by ...
14508         (init_registers_powerpc_e500l): ... this new prototype.
14509         (init_registers_ppc64): Remove, replace by ...
14510         (init_registers_powerpc_64l): ... this new prototype.
14511         (init_registers_powerpc_64): Remove, replace by ...
14512         (init_registers_powerpc_altivec64l): ... this new prototype.
14513         (ppc_num_regs): Set to 73.
14514         (PT_ORIG_R3, PT_TRAP): Define if necessary.
14515         (ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap.
14516         (ppc_cannot_store_register): Handle orig_r3 and trap.
14517         (ppc_arch_setup): Update init_registers_... calls.
14518         (ppc_fill_gregset): Handle orig_r3 and trap.
14519
14520         * inferiors.c (clear_inferiors): Reset current_inferior.
14521
14522 2008-04-23  Paolo Bonzini  <bonzini@gnu.org>
14523
14524         * acinclude.m4: Add override.m4.
14525         * configure: Regenerate.
14526
14527 2008-04-21  Ulrich Weigand  <uweigand@de.ibm.com>
14528
14529         * linux-ppc-low.c (ppc_arch_setup): Reset ppc_hwcap after the
14530         initial call to init_register_ppc64.
14531
14532 2008-04-21  Ulrich Weigand  <uweigand@de.ibm.com>
14533
14534         * configure.srv (powerpc64-*-linux*, powerpc-*-linux*): Merge into
14535         single powerpc*-*-linux* case.
14536         (s390-*-linux*, s390x-*-linux*): Merge into single s390*-*-linux* case.
14537
14538 2008-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
14539
14540         * configure.srv [powerpc64-*-linux*]: Remove powerpc-e500.o from
14541         srv_regobj.  Remove rs6000/powerpc-e500.xml and rs6000/power-spe.xml
14542         from reg_xmlfiles.
14543         * linux-ppc-low.c: Include <elf.h>.
14544         (PPC_FEATURE_HAS_ALTIVEC, PPC_FEATURE_HAS_SPE): Define.
14545         (ppc_hwcap): New global variable.
14546         (ppc_regmap): Remove __SPE__ #ifdef sections.
14547         (ppc_regmap_e500): New global variable.
14548         (ppc_cannot_store_register): Update __SPE__ special case.
14549         (ppc_get_hwcap): New function.
14550         (ppc_arch_setup): Use it to determine whether inferior supports
14551         AltiVec or SPE registers.  Set the_low_target.regmap if appropriate.
14552         (ppc_fill_vrregset, ppc_store_vrregset): Define unconditionally.
14553         Do not access registers if target does not support AltiVec.
14554         (ppc_fill_evrregset, ppc_store_evrregset): Define unconditionally.
14555         Do not access registers if target does not support SPE.
14556         (target_regsets): Unconditionally include AltiVec and SPE regsets.
14557
14558 2008-04-17  Daniel Jacobowitz  <dan@codesourcery.com>
14559
14560         * linux-low.c (disabled_regsets, num_regsets): New.
14561         (use_regsets_p): Delete.
14562         (linux_wait_for_process): Clear disabled_regsets.
14563         (regsets_fetch_inferior_registers): Check and set it.
14564         (regsets_store_inferior_registers): Likewise.
14565         (linux_fetch_registers, linux_store_registers): Do not use
14566         use_regsets_p.
14567         (initialize_low): Allocate disabled_regsets.
14568
14569 2008-04-14  Daniel Jacobowitz  <dan@codesourcery.com>
14570
14571         * Makefile.in (LIBOBJS): New.
14572         (OBS): Use LIBOBJS.
14573         (memmem.o): New rule.
14574         * configure.ac: Use AC_CONFIG_LIBOBJ_DIR and check for memmem.
14575         * configure: Regenerated.
14576
14577 2008-04-04  Ulrich Weigand  <uweigand@de.ibm.com>
14578
14579         * server.c (handle_query): Never return "unsupported" for
14580         qXfer:features:read queries.
14581
14582 2008-03-27  Ulrich Weigand  <uweigand@de.ibm.com>
14583
14584         * server.c (get_features_xml): Fix inverted condition.
14585         (handle_query): Always support qXfer:feature:read.
14586
14587 2008-03-10  Daniel Jacobowitz  <dan@codesourcery.com>
14588
14589         * server.c (wrapper_argv): New.
14590         (start_inferior): Handle wrapper_argv.  If set, expect an extra
14591         trap.
14592         (gdbserver_usage): Document --wrapper.
14593         (main): Parse --wrapper.
14594
14595 2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
14596
14597         * configure.srv [powerpc64-*-linux*]: Add all files mentioned for
14598         powerpc-*-linux* to srv_regobj and reg_xmlfiles.
14599         * linux-ppc-low.c (ppc_get_pc): Support bi-arch operation.
14600         (ppc_set_pc): Likewise.
14601         (ppc_arch_setup): New function.
14602         (ppc_fill_gregset): Call ppc_collect_ptrace_register instead
14603         of collect_register.
14604         (the_low_target): Use ppc_arch_setup as arch_setup initializer.
14605
14606 2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
14607
14608         * configure.srv [powerpc64-*-linux*]: Use linux-ppc-low.o
14609         instead of linux-ppc64-low.o.
14610         * linux-ppc64-low.c: Remove file.
14611         * Makefile.in (SFILES): Remove linux-ppc64-low.c.
14612         (linux-ppc64-low.o): Remove rule.
14613
14614         * linux-ppc-low.c (init_registers_ppc64): Add prototype.
14615         (init_registers_powerpc_64): Likewise.
14616         (ppc_regmap): Conditionally define depending on __powerpc64__.
14617         (ppc_cannot_store_register): Do not special-case "fpscr" when
14618         compiled on __powerpc64__.
14619         (ppc_collect_ptrace_register): New function.
14620         (ppc_supply_ptrace_register): New function.
14621         (ppc_breakpoint): Change type to "unsigned int".
14622         (ppc_breakpoint_at): Change type of "insn" to "unsigned int".
14623         (the_low_target): Conditionally provide initializers for the
14624         arch_setup member depending on __powerpc64__.  Install
14625         collect_ptrace_register and supply_ptrace_register members.
14626
14627 2008-02-28  Ulrich Weigand  <uweigand@de.ibm.com>
14628
14629         * regcache.h (gdbserver_xmltarget): Add extern declaration.
14630         * server.c (gdbserver_xmltarget): Define.
14631         (get_features_xml): Use it to replace "target.xml" and arch_string.
14632
14633         * configure.srv: Remove srv_xmltarget.  Add XML files that were
14634         mentioned there to srv_xmlfiles instead.  Remove conditional tests
14635         on gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe; set
14636         srv_xmlfiles and srv_regobj to include all possible choices.
14637         * configure.ac (srv_xmltarget): Remove.
14638         (srv_xmlfiles): Do not add "target.xml".
14639         (gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe): Remove
14640         checks for supplementary target information.
14641         * configure: Regenerate.
14642         * Makefile.in (XML_TARGET): Remove.
14643         (target.xml): Remove rule.
14644         (clean): Do not clean up target.xml.
14645         (.PRECIOUS): Do not mention target.xml.
14646
14647         * target.h (struct target_ops): Remove arch_string member.
14648         * linux-low.c (linux_arch_string): Remove.
14649         (linux_target_ops): Remove arch_string initializer.
14650         * linux-low.h (struct linux_target_ops): Remove arch_string member.
14651         * linux-i386-low.c (the_low_target): Remove arch_string initializer.
14652         * linux-x86-64-low.c (the_low_target): Remove arch_string initializer.
14653         * spu-low.c (spu_arch_string): Remove.
14654         (spu_target_ops): Remove arch_string initializer.
14655         * win32-low.c (win32_arch_string): Remove.
14656         (win32_target_ops): Remove arch_string initializer.
14657         * win32-low.h (struct win32_target_ops): Remove arch_string member.
14658         * win32-arm-low.c (the_low_target): Remove arch_string initializer.
14659         * win32-i368-low.c (the_low_target): Remove arch_string initializer.
14660
14661 2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
14662
14663         * linux-low.h (struct linux_target_ops): Replace left_pad_xfer field
14664         by collect_ptrace_register and supply_ptrace_register hooks.
14665         * linux-low.c (fetch_register): Use supply_ptrace_register callback
14666         instead of checking for the_low_target.left_pad_xfer.
14667         (usr_store_inferior_registers): Use collect_ptrace_register callback
14668         instead of checking for the_low_target.left_pad_xfer.
14669
14670         * linux-s390-low.c (s390_collect_ptrace_register): New function.
14671         (s390_supply_ptrace_register): Likewise.
14672         (s390_fill_gregset): Call s390_collect_ptrace_register.
14673         (the_low_target): Update.
14674
14675         * linux-ppc64-low.c (ppc_collect_ptrace_register): New function.
14676         (ppc_supply_ptrace_register): Likewise.
14677         (the_low_target): Update.
14678
14679         * linux-i386-low.c (the_low_target): Update.
14680         * linux-x86-64-low.c (the_low_target): Update.
14681
14682 2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
14683
14684         * configure.srv [s390x-*-linux*]: Set srv_regobj to include both
14685         reg-s390.o and reg-s390x.o.
14686
14687         * linux-low.c (new_inferior): New global variable.
14688         (linux_create_inferior, linux_attach): Set it.
14689         (linux_wait_for_process): Call the_low_target.arch_setup after the
14690         target has stopped for the first time.
14691         (initialize_low): Do not call the_low_target.arch_setup.
14692
14693         * linux-s390-low.c (s390_get_pc): Support bi-arch operation.
14694         (s390_set_pc): Likewise.
14695         (s390_arch_setup): New function.
14696         (the_low_target): Use s390_arch_setup as arch_setup routine.
14697
14698         * regcache.c (realloc_register_cache): New function.
14699         (set_register_cache): Call it for each existing regcache.
14700
14701 2008-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
14702
14703         * server.h (init_registers): Remove prototype.
14704
14705         * linux-low.h (struct linux_target_ops): Add arch_setup field.
14706         * linux-low.c (initialize_low): Call the_low_target.arch_setup ()
14707         instead of init_registers ().
14708         * linux-arm-low.c (init_registers_arm): Add prototype.
14709         (init_registers_arm_with_iwmmxt): Likewise.
14710         (the_low_target): Add initializer for arch_setup field.
14711         * linux-cris-low.c (init_registers_cris): Add prototype.
14712         (the_low_target): Add initializer for arch_setup field.
14713         * linux-crisv32-low.c (init_registers_crisv32): Add prototype.
14714         (the_low_target): Add initializer for arch_setup field.
14715         * linux-i386-low.c (init_registers_i386_linux): Add prototype.
14716         (the_low_target): Add initializer for arch_setup field.
14717         * linux-ia64-low.c (init_registers_ia64): Add prototype.
14718         (the_low_target): Add initializer for arch_setup field.
14719         * linux-m32r-low.c (init_registers_m32r): Add prototype.
14720         (the_low_target): Add initializer for arch_setup field.
14721         * linux-m68k-low.c (init_registers_m68k): Add prototype.
14722         (the_low_target): Add initializer for arch_setup field.
14723         * linux-mips-low.c (init_registers_mips_linux): Add prototype.
14724         (init_registers_mips64_linux): Likewise.
14725         (the_low_target): Add initializer for arch_setup field.
14726         * linux-ppc-low.c (init_registers_ppc): Add prototype.
14727         (init_registers_powerpc_32, init_registers_powerpc_e500): Likewise.
14728         (the_low_target): Add initializer for arch_setup field.
14729         * linux-ppc64-low.c (init_registers_ppc64): Add prototype.
14730         (init_registers_powerpc_64): Likewise.
14731         (the_low_target): Add initializer for arch_setup field.
14732         * linux-s390-low.c (init_registers_s390): Add prototype.
14733         (init_registers_s390x): Likewise.
14734         (the_low_target): Add initializer for arch_setup field.
14735         * linux-sh-low.c (init_registers_sh): Add prototype.
14736         (the_low_target): Add initializer for arch_setup field.
14737         * linux-x86-64-low.c (init_registers_x86_64_linux): Add prototype.
14738         (the_low_target): Add initializer for arch_setup field.
14739         * linux-xtensa-low.c (init_registers_xtensa): Add prototype.
14740         (the_low_target): Add initializer for arch_setup field.
14741
14742         * win32-low.h (struct win32_target_ops): Add arch_setup field.
14743         * win32-low.c (initialize_low): Call the_low_target.arch_setup ()
14744         instead of init_registers ().
14745         * win32-arm-low.c (init_registers_arm): Add prototype.
14746         (the_low_target): Add initializer for arch_setup field.
14747         * win32-i386-low.c (init_registers_i386): Add prototype.
14748         (the_low_target): Add initializer for arch_setup field.
14749
14750         * spu-low.c (init_registers_spu): Add prototype.
14751         (initialize_low): Call initialie_registers_spu () instead of
14752         initialize_registers ().
14753
14754 2008-02-19  Pedro Alves  <pedro@codesourcery.com>
14755
14756         * server.c (handle_v_requests): When handling the vRun and vAttach
14757         packets, if already debugging a process, don't kill it.  Return an
14758         error instead.
14759
14760 2008-02-17  Daniel Jacobowitz  <dan@codesourcery.com>
14761
14762         * server.c (handle_query): Correct length check.
14763
14764 2008-02-14  Pedro Alves  <pedro_alves@portugalmail.pt>
14765
14766         * win32-low.c (do_initial_child_stuff): Add process handle
14767         parameter.  Set current_process_handle and current_process_id from the
14768         parameters. Clear globals.
14769         (win32_create_inferior): Don't set current_process_handle and
14770         current_process_id here.  Instead pass them on the call to
14771         do_initial_child_stuff.
14772         (win32_attach): Likewise.
14773         (win32_clear_inferiors): New.
14774         (win32_kill): Don't close the current process handle or the
14775         current thread handle here.  Instead call win32_clear_inferiors.
14776         (win32_detach): Don't open a new handle to the process.  Call
14777         win32_clear_inferiors.
14778         (win32_join): Don't rely on current_process_handle; open a new
14779         handle using the process id.
14780         (win32_wait): Call win32_clear_inferiors when the inferior process
14781         has exited.
14782
14783 2008-02-14  Daniel Jacobowitz  <dan@codesourcery.com>
14784
14785         * server.c (monitor_show_help): Add "exit".
14786
14787 2008-02-11  Maxim Grigoriev  <maxim2405@gmail.com>
14788
14789         * Makefile.in (SFILES): Add linux-xtensa-low.c.
14790         (clean): Add reg-xtensa.c.
14791         (linux-xtensa-low.o, reg-xtensa.o, reg-xtensa.c): New dependencies.
14792         * configure.srv (xtensa*-*-linux*) New target.
14793         * linux-xtensa-low.c: New.
14794         * xtensa-xtregs.c: New.
14795
14796 2008-02-01  Pedro Alves  <pedro_alves@portugalmail.pt>
14797
14798         * hostio.c: Don't include errno.h.
14799         (errno_to_fileio_errno): Move to hostio-errno.
14800         * hostio.c: (hostio_error): Remove the error parameter.  Defer the
14801         error number outputting to the target->hostio_last_error callback.
14802         (hostio_packet_error): Use FILEIO_EINVAL directly.
14803         (handle_open, handle_pread, hostio_error, handle_unlink): Update
14804         calls to hostio_error.
14805         * hostio-errno.c: New.
14806         * server.h (hostio_last_error_from_errno): Declare.
14807         * target.h (target_ops): Add hostio_last_error member.
14808         * linux-low.c (linux_target_op): Register hostio_last_error_from_errno
14809         as hostio_last_error handler.
14810         * spu-low.c (spu_target_ops): Likewise.
14811         * win32-low.c [_WIN32_WCE] (win32_error_to_fileio_error)
14812         (wince_hostio_last_error): New functions.
14813         (win32_target_ops) [_WIN32_WCE]: Register wince_hostio_last_error
14814         as hostio_last_error handler.
14815         (win32_target_ops) [!_WIN32_WCE]: Register
14816         hostio_last_error_from_errno as hostio_last_error handler.
14817         * Makefile.in (SFILES): Add hostio.c and hostio-errno.c.
14818         (hostio-errno.o): New rule.
14819         * configure.ac (GDBSERVER_DEPFILES): Add $srv_hostio_err_objs.
14820         * configure.srv (srv_hostio_err_objs): New variable.  Default to
14821         hostio-errno.o.
14822         (arm*-*-mingw32ce*): Set srv_hostio_err_objs to "".
14823         * configure: Regenerate.
14824
14825 2008-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
14826
14827         * linux-low.c (linux_attach_lwp): Do not _exit after errors.
14828         (linux_kill, linux_detach): Clean up the process list.
14829         * remote-utils.c (remote_open): Improve port number parsing.
14830         (putpkt_binary, input_interrupt): Only send interrupts if the target
14831         is running.
14832         * server.c (extended_protocol): Make static.
14833         (attached): Define earlier.
14834         (exit_requested, response_needed, program_argv): New variables.
14835         (target_running): New.
14836         (start_inferior): Clear attached here.
14837         (attach_inferior): Set attached here.
14838         (require_running): Define.
14839         (handle_query): Use require_running and target_running.  Implement
14840         "monitor exit".
14841         (handle_v_attach, handle_v_run): New.
14842         (handle_v_requests): Use require_running.  Handle vAttach and vRun.
14843         (gdbserver_usage): Update.
14844         (main): Redo argument parsing.  Handle --debug and --multi.  Handle
14845         --attach along with other options or after the port.  Save
14846         program_argv.  Support no initial program.  Resynchronize
14847         communication with GDB after an error.  Handle "monitor exit".
14848         Use require_running and target_running.  Always allow the extended
14849         protocol.  Do not error out for Hc0 or Hc-1.  Do not automatically
14850         restart in extended mode.
14851         * README: Refer to the GDB manual.  Update --attach usage.
14852
14853 2007-12-20  Andreas Schwab  <schwab@suse.de>
14854
14855         * linux-low.c (STACK_SIZE): Define.
14856         (linux_tracefork_child): Use it.  Use __clone2 on ia64.
14857         (linux_test_for_tracefork): Likewise.
14858
14859 2007-12-18  Daniel Jacobowitz  <dan@codesourcery.com>
14860
14861         * linux-low.c (linux_wait_for_event): Update messages.  Do not
14862         reinsert auto-delete breakpoints.
14863         * mem-break.c (struct breakpoint): Change return type of handler to
14864         int.
14865         (set_breakpoint_at): Update handler type.
14866         (reinsert_breakpoint_handler): Return 1 instead of calling
14867         delete_breakpoint.
14868         (reinsert_breakpoint_by_bp): Check for the original breakpoint before
14869         setting a new one.
14870         (check_breakpoints): Delete auto-delete breakpoints and return 2.
14871         * mem-break.h (set_breakpoint_at): Update handler type.
14872         * thread-db.c (thread_db_create_event, thread_db_create_event): Update.
14873         * win32-low.c (auto_delete_breakpoint): New.
14874         (get_child_debug_event): Use it.
14875
14876 2007-12-16  Daniel Jacobowitz  <dan@codesourcery.com>
14877
14878         * configure.ac: Check for pread and pwrite.
14879         * hostio.c (handle_pread): Fall back to lseek and read.
14880         (handle_pwrite): Fall back to lseek and write.
14881         * config.in, configure: Regenerated.
14882
14883 2007-12-07  Daniel Jacobowitz  <dan@codesourcery.com>
14884
14885         * server.c (myresume): Add own_buf argument.
14886         (main): Update calls.
14887
14888 2007-12-06  Daniel Jacobowitz  <dan@codesourcery.com>
14889
14890         * linux-low.c (linux_wait, linux_resume): Do not handle async I/O.
14891         * remote-utils.c (remote_open): Do not call disable_async_io.
14892         (block_async_io): Delete.
14893         (unblock_async_io): Make static.
14894         (initialize_async_io): New.
14895         * server.c (handle_v_cont): Handle async I/O here.
14896         (myresume): Likewise.  Move other common resume tasks here...
14897         (main): ... from here.  Call initialize_async_io.  Disable async
14898         I/O before the main loop.
14899         * server.h (initialize_async_io): Declare.
14900         (block_async_io, unblock_async_io): Delete prototypes.
14901         * spu-low.c (spu_resume, spu_wait): Do not handle async I/O here.
14902
14903 2007-12-06  Mick Davis  <mickd@goanna.iinet.net.au>
14904
14905         * remote-utils.c (readchar): Allow binary data in received messages.
14906
14907 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
14908
14909         * win32-low.c (attaching): New global.
14910         (win32_create_inferior): Clear the `attaching' global.
14911         (win32_attach): Set the `attaching' global.
14912         (get_child_debug_event) [_WIN32_WCE]: Stop the inferior when
14913         attaching.  Only set a breakpoint at the entry point if not
14914         attaching.
14915
14916 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
14917
14918         * server.c (main): Don't report dll events on the initial
14919         connection on attaches.
14920
14921 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
14922
14923         * server.c (main): Relax numerical bases supported for the pid of
14924         the --attach command line argument.
14925
14926 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
14927
14928         * win32-low.c (win32_attach): Call OpenProcess before
14929         DebugActiveProcess, not after.  Add last error output to error
14930         call.
14931
14932 2007-12-03  Pedro Alves  <pedro_alves@portugalmail.pt>
14933
14934         * win32-low.c (win32_get_thread_context)
14935         (win32_set_thread_context): New functions.
14936         (thread_rec): Use win32_get_thread_context.
14937         (continue_one_thread, win32_resume): Use win32_set_thread_context.
14938         * win32-low.h (win32_thread_info) [_WIN32_WCE]: Add `base_context'
14939         field.
14940
14941 2007-12-03  Leo Zayas
14942             Pedro Alves  <pedro_alves@portugalmail.pt>
14943
14944         * win32-low.c (soft_interrupt_requested, faked_breakpoint): New
14945         global variables.
14946         (child_add_thread): Minor cleanup.
14947         (child_continue): Resume artificially suspended threads before
14948         calling ContinueDebugEvent.
14949         (suspend_one_thread): New.
14950         (fake_breakpoint_event): New.
14951         (get_child_debug_event): Change return type to int.  Check here if
14952         gdb sent an interrupt request.  If a soft interrupt was requested,
14953         fake a breakpoint event.  Return 0 if there is no event to handle,
14954         and 1 otherwise.
14955         (win32_wait): Don't check here if gdb sent an interrupt request.
14956         Ensure there is a valid event to handle.
14957         (win32_request_interrupt): Add soft interruption method as last
14958         resort.
14959
14960 2007-12-03  Leo Zayas
14961             Pedro Alves  <pedro_alves@portugalmail.pt>
14962
14963         * win32-low.h (win32_thread_info): Add descriptions to the
14964         structure members.  Replace `suspend_count' counter by a
14965         `suspended' flag.
14966         * win32-low.c (thread_rec): Update condition of when to get the
14967         context from the inferior.  Rely on ContextFlags being set if it
14968         has already been retrieved.  Only suspend the inferior thread if
14969         we haven't already.  Warn if that fails.
14970         (continue_one_thread): s/suspend_count/suspended/.  Only call
14971         ResumeThread once.  Warn if that fails.
14972
14973 2007-12-02  Pedro Alves  <pedro_alves@portugalmail.pt>
14974
14975         * win32-low.c (win32_wait): Don't read from the inferior when it
14976         has already exited.
14977
14978 2007-12-02  Pedro Alves  <pedro_alves@portugalmail.pt>
14979
14980         * Makefile.in (win32_low_h): New variable.
14981         (win32-low.o): Add dependency on $(win32_low_h).
14982         (win32-arm-low.o, win32-i386-low.o): New rules.
14983
14984 2007-11-30  Daniel Jacobowitz  <dan@codesourcery.com>
14985
14986         * hostio.c: Correct copyright year.
14987
14988 2007-11-30  Daniel Jacobowitz  <dan@codesourcery.com>
14989
14990         * Makefile.in (OBS): Add hostio.o.
14991         (hostio.o): New rule.
14992         * server.h (handle_vFile): Declare.
14993         * hostio.c: New file.
14994         * server.c (handle_v_requests): Take packet_len and new_packet_len
14995         for binary packets.  Call handle_vFile.
14996         (main): Update call to handle_v_requests.
14997
14998 2007-11-05  Daniel Jacobowitz  <dan@codesourcery.com>
14999
15000         * linux-low.c: Include <sched.h>.
15001
15002 2007-11-01  Daniel Jacobowitz  <dan@codesourcery.com>
15003
15004         * linux-low.c (linux_tracefork_grandchild): New.
15005         (linux_tracefork_child): Use clone.
15006         (linux_test_for_tracefork): Use clone; allocate and free a stack.
15007
15008 2007-10-31  Joel Brobecker  <brobecker@adacore.com>
15009
15010         * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh.
15011
15012 2007-10-24  Daniel Jacobowitz  <dan@codesourcery.com>
15013
15014         * linux-low.c (handle_extended_wait): Handle unexpected signals.
15015
15016 2007-10-23  Daniel Jacobowitz  <dan@codesourcery.com>
15017
15018         * inferiors.c (change_inferior_id): Delete.
15019         (add_pid_to_list, pull_pid_from_list): New.
15020         * linux-low.c (PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG)
15021         (PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK)
15022         (PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC, PTRACE_O_TRACEVFORKDONE)
15023         (PTRACE_O_TRACEEXIT, PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK)
15024         (PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE)
15025         (PTRACE_EVENT_EXIT, __WALL): Provide default definitions.
15026         (stopped_pids, thread_db_active, must_set_ptrace_flags): New variables.
15027         (using_threads): Always set to 1.
15028         (handle_extended_wait): New.
15029         (add_process): Do not set TID.
15030         (linux_create_inferior): Set must_set_ptrace_flags.
15031         (linux_attach_lwp): Remove TID argument.  Do not check using_threads.
15032         Use PTRACE_SETOPTIONS.  Call new_thread_notify.  Update all callers.
15033         (linux_thread_alive): Rename TID argument to LWPID.
15034         (linux_wait_for_process): Handle unknown processes.  Do not use TID.
15035         (linux_wait_for_event): Do not use TID or check using_threads.  Update
15036         call to dead_thread_notify.  Call handle_extended_wait.
15037         (linux_create_inferior): Use PTRACE_SETOPTIONS.
15038         (send_sigstop): Delete sigstop_sent.
15039         (wait_for_sigstop): Avoid TID.
15040         (linux_supports_tracefork_flag, linux_tracefork_child, my_waitpid)
15041         (linux_test_for_tracefork): New.
15042         (linux_lookup_signals): Use thread_db_active and
15043         linux_supports_tracefork_flag.
15044         (initialize_low): Use thread_db_active and linux_test_for_tracefork.
15045         * linux-low.h (get_process_thread): Avoid TID.
15046         (struct process_ifo): Move thread_known and tid to the end.  Remove
15047         sigstop_sent.
15048         (linux_attach_lwp, thread_db_init): Update prototypes.
15049         * server.h (change_inferior_id): Delete prototype.
15050         (add_pid_to_list, pull_pid_from_list): New prototypes.
15051         * thread-db.c (thread_db_use_events): New.
15052         (find_first_thread): Rename to...
15053         (find_one_thread): ...this.  Update callers and messages.  Do not
15054         call fatal.  Check thread_db_use_events.  Do not call
15055         change_inferior_id or new_thread_notify.
15056         (maybe_attach_thread): Update.  Do not call new_thread_notify.
15057         (thread_db_init): Set thread_db_use_events.  Check use_events.
15058         * utils.c (fatal, warning): Correct message prefix.
15059
15060 2007-10-15  Daniel Jacobowitz  <dan@codesourcery.com>
15061
15062         * Makefile.in (clean): Remove new files.
15063         (powerpc-32.o, powerpc-32.c, powerpc-e500.o, powerpc-e500.c)
15064         (powerpc-64.o, powerpc-64.c): New rules.
15065         * configure.srv: Use alternate register sets for powerpc64-*-linux*
15066         with AltiVec, powerpc-*-linux* with AltiVec, and powerpc-*-linux*
15067         with SPE.
15068         * linux-ppc-low.c (ppc_regmap): Do not fetch the FP registers for
15069         SPE targets.
15070         (ppc_cannot_store_register): Do not check for FPSCR for SPE targets.
15071         (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS, ppc_fill_vrregset)
15072         (ppc_store_vrregset, PTRACE_GETEVRREGS, PTRACE_SETEVRREGS)
15073         (struct gdb_evrregset_t, ppc_fill_evrregset, ppc_store_evrregset): New.
15074         (target_regsets): Add AltiVec and SPE register sets.
15075         * configure.ac: Check for AltiVec and SPE.
15076         * linux-ppc64-low.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS)
15077         (ppc_fill_vrregset, ppc_store_vrregset): New.
15078         (target_regsets): Add AltiVec register set.
15079         * configure: Regenerated.
15080
15081 2007-09-19  Daniel Jacobowitz  <dan@codesourcery.com>
15082
15083         * linux-low.c (O_LARGEFILE): Define.
15084         (linux_read_memory): Use /proc/PID/mem.
15085         * configure.ac: Use AC_GNU_SOURCE.  Check for pread64.
15086         * configure, config.in: Regenerated.
15087
15088 2007-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
15089
15090         * linux-low.c (linux_wait_for_event): Do not pass signals while
15091         single-stepping.
15092
15093 2007-09-03  Pedro Alves  <pedro_alves@portugalmail.pt>
15094
15095         * win32-low.c (create_process): New.
15096         (win32_create_inferior): Use create_process instead of
15097         CreateProcess.  If create_process failed retry appending an ".exe"
15098         suffix.  Store the GetLastError result immediatelly after
15099         create_process calls and use it on the call to error.
15100
15101 2007-09-03  Pedro Alves  <pedro_alves@portugalmail.pt>
15102
15103         * win32-low.c (handle_load_dll): Don't use toolhelp when waiting.
15104
15105 2007-08-23  Joel Brobecker  <brobecker@adacore.com>
15106
15107         * configure.ac: Switch license to GPLv3.
15108
15109 2007-08-01  Michael Snyder  <msnyder@access-company.com>
15110
15111         * remote-utils.c (putpkt_binary): Memory leak, free buf2.
15112
15113 2007-07-31  Pedro Alves  <pedro_alves@portugalmail.pt>
15114
15115         * win32-low.c (winapi_CloseToolhelp32Snapshot) [_WIN32_WCE]: New
15116         typedef.
15117         (win32_CloseToolhelp32Snapshot) [_WIN32_WCE]: New global var.
15118         (load_toolhelp) [_WIN32_WCE]: Load TOOLHELP.DLL.  Get
15119         CloseToolhelp32Snapshot.
15120         (toolhelp_get_dll_name) [_WIN32_WCE]: Close the snapshot with
15121         CloseToolhelp32Snapshot.
15122
15123 2007-07-27  Michael Snyder  <michael.snyder@access-company.com>
15124
15125         * server.c (main): Check for inferior exit before main loop.
15126
15127 2007-07-18  Pedro Alves  <pedro_alves@portugalmail.pt>
15128
15129         * remote-utils.c (remote_open): Set SO_KEEPALIVE on remote_desc
15130         instead of on tmp_desc.
15131
15132 2007-07-17  Pedro Alves  <pedro_alves@portugalmail.pt>
15133             Daniel Jacobowitz  <dan@codesourcery.com>
15134
15135         * inferiors.c (all_dlls, dlls_changed, get_dll): New.
15136         (add_thread): Minor cleanups.
15137         (clear_inferiors): Move lower in the file.  Clear the DLL
15138         list.
15139         (free_one_dll, match_dll, loaded_dll, unloaded_dll, clear_list): New.
15140         * remote-utils.c (prepare_resume_reply): Check dlls_changed.
15141         (xml_escape_text): New.
15142         * server.c (handle_query): Handle qXfer:libraries:read.  Report it
15143         for qSupported.
15144         (handle_v_cont): Report errors.
15145         (gdbserver_version): Update.
15146         (main): Correct size of own_buf.  Do not report initial DLL events.
15147         * server.h (struct dll_info, all_dlls, dlls_changed, loaded_dll)
15148         (unloaded_dll, xml_escape_text): New.
15149         * win32-low.c (enum target_waitkind): Update comments.
15150         (win32_add_one_solib, get_image_name, winapi_EnumProcessModules)
15151         (winapi_GetModuleInformation, winapi_GetModuleFileNameExA)
15152         (win32_EnumProcessModules, win32_GetModuleInformation)
15153         (win32_GetModuleFileNameExA, load_psapi, psapi_get_dll_name)
15154         (winapi_CreateToolhelp32Snapshot, winapi_Module32First)
15155         (winapi_Module32Next, win32_CreateToolhelp32Snapshot)
15156         (win32_Module32First, win32_Module32Next, load_toolhelp)
15157         (toolhelp_get_dll_name, handle_load_dll, handle_unload_dll): New.
15158         (get_child_debug_event): Handle DLL events.
15159         (win32_wait): Likewise.
15160
15161 2007-07-12  Daniel Jacobowitz  <dan@codesourcery.com>
15162
15163         * configure.srv: Set srv_linux_regsets for sh*-*-linux*.
15164         * linux-sh-low.c (sh_fill_gregset, target_regsets): New.
15165
15166 2007-07-08  Pedro Alves  <pedro_alves@portugalmail.pt>
15167
15168         * win32-low.c (handle_output_debug_string): Ignore event if not
15169         waiting.
15170
15171 2007-07-08  Pedro Alves  <pedro_alves@portugalmail.pt>
15172
15173         * win32-arm-low.c (arm_wince_breakpoint): Fix typo.
15174
15175 2007-07-03  Daniel Jacobowitz  <dan@codesourcery.com>
15176
15177         * remote-utils.c (look_up_one_symbol): Handle 'm' packets.
15178
15179 2007-07-02  Daniel Jacobowitz  <dan@codesourcery.com>
15180
15181         * inferiors.c (change_inferior_id): Add comment.
15182         * linux-low.c (check_removed_breakpoint): Add an early
15183         prototype.  Improve debug output.
15184         (linux_attach): Doc update.
15185         (linux_detach_one_process, linux_detach): Clean up before releasing
15186         each process.
15187         (send_sigstop, wait_for_sigstop): Improve comments and debug output.
15188         * linux-low.h (struct process_info): Doc improvement.
15189         * mem-break.c (delete_all_breakpoints): New.
15190         * mem-break.h (delete_all_breakpoints): New prototype.
15191         * thread-db.c (find_first_thread): New.
15192         (thread_db_create_event): Call it instead of
15193         thread_db_find_new_threads.  Clean up unused variables.
15194         (maybe_attach_thread): Remove first thread handling.
15195         (thread_db_find_new_threads): Use find_first_thread.
15196         (thread_db_get_tls_address): Likewise.
15197
15198 2007-06-27  Daniel Jacobowitz  <dan@codesourcery.com>
15199
15200         * thread-db.c (thread_db_find_new_threads): Add prototype.
15201         (thread_db_create_event): Check for the main thread before adding
15202         a new thread.
15203         (maybe_attach_thread): Only enable event reporting if TID == 0.
15204         (thread_db_get_tls_address): Check for new threads.
15205
15206 2007-06-20  Daniel Jacobowitz  <dan@codesourcery.com>
15207
15208         * linux-low.c (linux_create_inferior): Try execv before execvp.
15209         * spu-low.c (spu_create_inferior): Likewise.
15210
15211 2007-06-13  Mike Frysinger  <vapier@gentoo.org>
15212
15213         * linux-low.c (linux_create_inferior): Change execv to execvp.
15214         * spu-low.c (spu_create_inferior): Likewies.
15215
15216 2007-06-13  Daniel Jacobowitz  <dan@codesourcery.com>
15217
15218         * Makefile.in (clean): Clean new files instead of deleted ones.
15219         (reg-mips.o, reg-mips.c, reg-mips64.o, reg-mips64.c): Delete.
15220         (mips-linux.o, mips-linux.c, mips64-linux.o, mips64-linux.c): New
15221         rules.
15222         * configure.srv: Specify XML files and new regformats for MIPS and
15223         MIPS64 GNU/Linux.
15224         * linux-mips-low.c (mips_num_regs): Set to only used registers.
15225         (mips_regmap): Do not fetch $0.  Remove unused registers.  Add
15226         an entry for the restart register.
15227         (mips_cannot_fetch_register, mips_cannot_store_register)
15228         (mips_reinsert_addr, mips_fill_fpregset, mips_store_fpregset): Update
15229         register names to match the XML descriptions.
15230         (mips_fill_gregset, mips_store_gregset): Likewise.  Handle the
15231         restart register instead of $0.
15232
15233 2007-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
15234             Markus Deuling  <deuling@de.ibm.com>
15235
15236         * remote-utils.c (decode_xfer_write): New function.
15237         * server.h (decode_xfer_write): Add prototype.
15238         * server.c (handle_query): Add PACKET_LEN argument.  Support
15239         qXfer:spu:read and qXfer:spu:write packets.
15240         (main): Pass packet_len to handle_query.
15241         * spu-low.c (spu_target_ops): Add spu_proc_xfer_spu.
15242         * target.h (target_ops): Add qxfer_spu.
15243
15244 2007-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
15245
15246         * spu-low.c (spu_proc_xfer_spu): Do not return failure when
15247         accessing non-seekable spufs files.
15248
15249 2007-05-16  Markus Deuling  <deuling@de.ibm.com>
15250
15251         * server.c (handle_query): Add reply for qC packet.
15252
15253 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
15254             Leo Zayas  <lerele@champenstudios@com>
15255
15256         * server.h (check_remote_input_interrupt_request): New function.
15257         * remote_utils.c (INVALID_DESCRIPTOR): New define.
15258         (remote_desc): Initialize with INVALID_DESCRIPTOR.
15259         (input_interrupt): Expose on USE_WIN32API too.  Fix whitespace.
15260         (check_remote_input_interrupt_request): New function.
15261         * server.h (check_remote_input_interrupt_request): Declare.
15262         * win32-low.c (winapi_DebugBreakProcess,
15263         winapi_GenerateConsoleCtrlEvent): New typedefs.
15264         (get_child_debug_event): Lower Win32 debug event polling from 1 sec
15265         to 250 ms.
15266         (win32_wait): Check for remote interrupt request
15267         with check_remote_input_interrupt_request.
15268         (win32_request_interrupt): New function.
15269         (win32_target_op): Set request_interrupt to win32_request_interrupt.
15270
15271 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
15272
15273         * win32-low.c (debug_registers_changed,
15274         debug_registers_used, CONTEXT_EXTENDED_REGISTERS,
15275         CONTEXT_FLOATING_POINT, CONTEXT_DEBUG_REGISTERS,
15276         CONTEXT_DEBUGGER, CONTEXT_DEBUGGER_DR): Delete.
15277         (thread_rec): Get context using the low target.
15278         (child_add_thread): Call thread_added on the low target,
15279         which does the same thing.
15280         (regptr): Delete.
15281         (do_initial_child_stuff): Remove debug registers references.
15282         Set context using the low target.  Resume threads after
15283         setting the contexts.
15284         (child_continue): Remove dead variable.  Remove debug
15285         registers references.
15286         (child_fetch_inferior_registers): Go through the low target.
15287         (do_child_store_inferior_registers): Remove.
15288         (child_store_inferior_registers): Go through the low target.
15289         (win32_resume): Remove debug registers references.
15290         Set context using the low target.
15291         (handle_exception): Change return type to void.  Don't record
15292         context here.  Set status to TARGET_WAITKIND_SPURIOUS on a
15293         first chance exception.
15294         (get_child_debug_event): Change return type to void.  Remove
15295         goto loop.  Always return after waiting for debug event.
15296         (win32_wait): Convert to switch statement.  Handle spurious
15297         events.
15298
15299         * win32-i386-low.c (debug_registers_changed,
15300         debug_registers_used): New.
15301         (initial_stuff): Rename to ...
15302         (i386_initial_stuff): ... this.  Clear debug registers
15303         state variables.
15304         (store_debug_registers): Delete.
15305         (i386_get_thread_context): New.
15306         (load_debug_registers): Delete.
15307         (i386_set_thread_context): New.
15308         (i386_thread_added): New.
15309         (single_step): Rename to ...
15310         (i386_single_step): ... this.
15311         (do_fetch_inferior_registers): Rename to ...
15312         (i386_fetch_inferior_register): ... this.
15313         (i386_store_inferior_register): New.
15314         (the_low_target): Adapt to new interface.
15315
15316         * win32-arm-low.c (CONTEXT_FLOATING_POINT): Define.
15317         (arm_get_thread_context): New.
15318         (arm_set_thread_context): New.
15319         (regptr): New.
15320         (do_fetch_inferior_registers): Rename to ...
15321         (arm_fetch_inferior_register): ... this.
15322         (arm_store_inferior_register): New.
15323         (arm_wince_breakpoint): Reimplement as unsigned long.
15324         (arm_wince_breakpoint_len): Define.
15325         (the_low_target): Adapt to new interface.
15326
15327         * win32-low.h (target_ops): Remove regmap, store_debug_registers and
15328         load_debug_registers.  Add get_thread_context, set_thread_context,
15329         thread_added and store_inferior_register.  Rename
15330         fetch_inferior_registers to fetch_inferior_register.
15331         (regptr): Remove declaration.
15332
15333 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
15334
15335         * linux-low.c (linux_detach): Change return type to int.  Return 0.
15336         * spu-low.c (spu_detach): Likewise.
15337
15338 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
15339
15340         * target.h (target_ops): Change return type of detach to int.
15341         Add join.
15342         (join_inferior): New.
15343         * server.c (main): Don't skip detach support on mingw32.
15344         If the inferior doesn't support detaching return error.
15345         Call join_inferior instead of using waitpid.
15346         * linux-low.c (linux_join): New.
15347         (linux_target_op): Add linux_join.
15348         * spu-low.c (spu_join): New.
15349         (spu_target_ops): Add spu_join.
15350         * win32-low.c (win32_detach): Adapt to new interface.
15351         Reopen current_process_handle before detaching.  Issue a child
15352         resume before detaching.
15353         (win32_join): New.
15354         (win32_target_op): Add win32_join.
15355
15356 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
15357
15358         * win32-low.c (win32-attach): Fix return value.
15359         * target.h (target_ops): Describe ATTACH return values.
15360
15361 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
15362
15363         * win32-low.c (GETPROCADDRESS): Define.
15364         (winapi_DebugActiveProcessStop): Add WINAPI.  typedef as pointer.
15365         (winapi_DebugSetProcessKillOnExit): Likewise.
15366         (win32_create_inferior): Force usage of ansi CreateProcessA.
15367         (win32_attach): Use GETPROCADDRESS.
15368         (win32_detach): Likewise.
15369
15370 2007-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>
15371
15372         * win32-low.c (win32_wait): Don't use WSTOPSIG.
15373
15374 2007-03-30  Pedro Alves  <pedro_alves@portugalmail.pt>
15375
15376         * win32-low.c: Commit leftover changes from 2007-03-29.
15377
15378 2007-03-30  Daniel Jacobowitz  <dan@codesourcery.com>
15379
15380         * i387-fp.c (struct i387_fsave, struct i387_fxsave): Make 16-bit
15381         fields short instead of int.  Add explicit padding.
15382         (i387_cache_to_fsave): Remove unnecessary casts.
15383         (i387_fsave_to_cache): Doc fix.
15384         (i387_cache_to_fxsave): Remove unnecessary casts and masking.
15385
15386 2007-03-30  Daniel Jacobowitz  <dan@codesourcery.com>
15387
15388         * i387-fp.c (i387_cache_to_fxsave): Reinitialize val2 before use.
15389         (i387_fxsave_to_cache): Check fp->ftag while building ftag value.
15390
15391 2007-03-29  Pedro Alves  <pedro_alves@portugalmail.pt>
15392
15393         * configure.srv (arm*-*-mingw32ce*): Move near the other
15394         arm targets.
15395
15396 2007-03-29  Pedro Alves  <pedro_alves@portugalmail.pt>
15397
15398         * configure.ac: Add errno checking.
15399         (AC_CHECK_HEADERS): Add errno.h, fcntl.h, signal.h,
15400         sys/file.h and malloc.h.
15401         (AC_CHECK_DECLS): Add perror.
15402         (srv_mingwce): Handle.
15403         * configure.srv (i[34567]86-*-cygwin*): Add
15404         win32-i386-low.o to srv_tgtobj.
15405         (i[34567]86-*-mingw*): Likewise.
15406         (arm*-*-mingw32ce*): Add case.
15407         * gdbreplay.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
15408         HAVE_FCNTL_H, HAVE_ERRNO_H, HAVE_MALLOC_H]: Check.
15409         [__MINGW32CE__] (strerror): New function.
15410         [__MINGW32CE__] (errno): Define to GetLastError.
15411         [__MINGW32CE__] (COUNTOF): New macro.
15412         (remote_open): Remove extra close call.
15413         * mem-break.c (delete_breakpoint_at): New function.
15414         * mem-break.h (delete_breakpoint_at): Declare.
15415         * remote-utils.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
15416         HAVE_FCNTL_H, HAVE_UNISTD_H, HAVE_ERRNO_H]: Check.
15417         [USE_WIN32API] (read, write): Add char* casts.
15418         * server.c [HAVE_UNISTD_H, HAVE_SIGNAL_H]: Check.
15419         * server.h: Include wincecompat.h on Windows CE.
15420         [HAVE_ERRNO_H]: Check.
15421         (perror): Declare if not declared.
15422         * utils.c: Add stdlib.h, errno.h and malloc.h includes.
15423         (perror_with_name): Remove errno declaration.
15424         * wincecompat.h: New.
15425         * wincecompat.c: New.
15426         * win32-low.h: New.
15427         * win32-arm-low.c: New.
15428         * win32-i386-low.c: New.
15429         (win32-low.c): Include mem-break.h and win32-low.h, and winnt.h.
15430         (OUTMSG2): Make it safe.
15431         (_T): New macro.
15432         (COUNTOF): New macro.
15433         (NUM_REGS): Get it from the low target.
15434         (CONTEXT_EXTENDED_REGISTERS, CONTEXT_FLOATING_POINT,
15435         CONTEXT_DEBUG_REGISTERS): Add fallbacks to 0.
15436         (thread_rec): Let low target handle debug registers.
15437         (child_add_thread): Likewise.
15438         (child_init_thread_list): Likewise.
15439         (continue_one_thread): Likewise.
15440         (regptr): New.
15441         (do_child_fetch_inferior_registers): Move to ...
15442         * win32-i386-low.c: ... here, and rename to ...
15443         (do_fetch_inferior_registers): ... this.
15444         * win32-low.c (child_fetch_inferior_registers):
15445         Go through the low target.
15446         (do_child_store_inferior_registers): Use regptr.
15447         (strwinerror): New function.
15448         (win32_create_inferior): Handle Windows CE.
15449         Use strwinerror instead of strerror on Windows error
15450         codes.  Add program to the error output.
15451         Don't close the main thread handle on Windows CE.
15452         (win32_attach): Use coredll.dll on Windows CE.
15453         (win32_kill): Close current process and current
15454         thread handles.
15455         (win32_detach): Use coredll.dll on Windows CE.
15456         (win32_resume): Let low target handle debug registers, and
15457         step request.
15458         (handle_exception): Add/Remove initial breakpoint.  Avoid
15459         non-existant WSTOPSIG on Windows CE.
15460         (win32_read_inferior_memory): Cast to remove warning.
15461         (win32_arch_string): Go through the low target.
15462         (initialize_low): Call set_breakpoint_data with the low
15463         target's breakpoint.
15464         * win32-low.c (dr, FLAG_TRACE_BIT, FCS_REGNUM,
15465         FOP_REGNUM, mappings): Move to ...
15466         * win32-i386-low.c: ... here.
15467         * win32-low.c (win32_thread_info): Move to ...
15468         * win32-low.h: ... here.
15469         * Makefile.in (SFILES): Add win32-low.c, win32-i386-low.c,
15470         win32-arm-low.c and wincecompat.c.
15471         (all:): Add $EXEEXT.
15472         (install-only:): Likewise.
15473         (gdbserver:): Likewise.
15474         (gdbreplay:): Likewise.
15475         * config.in: Regenerate.
15476         * configure: Regenerate.
15477
15478 2007-03-28  Pedro Alves  <pedro_alves@portugalmail.pt>
15479
15480         * win32-low.c: Rename typedef thread_info to
15481         win32_thread_info throughout.
15482
15483 2007-03-28  Pedro Alves  <pedro_alves@portugalmail.pt>
15484
15485         * win32-i386-low.c: Rename to ...
15486         * win32-low.c: ... this.
15487         * configure.srv: Replace win32-i386-low.o with win32-low.o.
15488         * Makefile.in: Likewise.
15489
15490 2007-03-27  Pedro Alves  <pedro_alves@portugalmail.pt>
15491
15492         * remote-utils.c (monitor_output): Constify msg parameter.
15493         * server.h (monitor_output): Likewise.
15494         * win32-i386-low.c (handle_output_debug_string): New.
15495         (win32_kill): Handle OUTPUT_DEBUG_STRING_EVENT events using
15496         handle_output_debug_string.
15497         (get_child_debug_event): Likewise.
15498
15499 2007-03-27  Mat Hostetter  <mat@lcs.mit.edu>
15500
15501         * server.c (main): Correct strtoul check.
15502
15503 2007-03-27  Jon Ringle  <jon@ringle.org>
15504
15505         * linux-low.c: Check __ARCH_HAS_MMU__ also.
15506
15507 2007-03-27  Brooks Moses  <brooks.moses@codesourcery.com>
15508
15509         * Makefile.in: Add dummy "pdf" and "install-pdf" targets.
15510
15511 2007-02-27  Daniel Jacobowitz  <dan@codesourcery.com>
15512
15513         * terminal.h: Check HAVE_SGTTY_H.
15514
15515 2007-02-27  Mat Hostetter  <mat@lcs.mit.edu>
15516
15517         * remote-utils.c (remote_open): Print out the assigned port number.
15518
15519 2007-02-26  Daniel Jacobowitz  <dan@codesourcery.com>
15520
15521         * remote-utils.c (monitor_output): New function.
15522         * server.c (debug_threads): Define here.
15523         (monitor_show_help): New function.
15524         (handle_query): Handle qRcmd.
15525         (main): Do not handle 'd' packet.
15526         * server.h (debug_threads, remote_debug, monitor_output): Declare.
15527         * linux-low.c, spu-low.c, win32-i386-low.c: Remove definitions
15528         of debug_threads.
15529
15530 2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>
15531
15532         * Makefile.in (EXEEXT): New.
15533         (clean): Use $(EXEEXT).
15534
15535 2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>
15536
15537         * target.h (target_ops): Rename send_signal to request_interrupt,
15538         and remove enum target_signal parameter.
15539         * linux-low.c (linux_request_interrupt): Rename from
15540         linux_send_signal, and always send SIGINT.
15541         * spu-low.c (spu_request_interrupt): Rename from spu_send_signal,
15542         and always send SIGINT.
15543         * remote-utils.c (putpkt_binary): Call request_interrupt, instead
15544         of send_signal.
15545         (input_interrupt): Likewise.
15546
15547 2007-02-25  Pedro Alves  <pedro_alves@portugalmail.pt>
15548
15549         * server.c (get_features_xml): Check if target implemented
15550         arch_string.
15551         * win32-i386-low.c (win32_arch_string): New.
15552         (win32_target_ops): Add win32_arch_string as arch_string member.
15553
15554 2007-02-22  Markus Deuling  <deuling@de.ibm.com>
15555
15556         * spu-low.c (spu_arch_string): New.
15557         (spu_target_ops): Add spu_arch_string.
15558
15559 2007-02-16  Daniel Jacobowitz  <dan@codesourcery.com>
15560
15561         * remote-utils.c: Remove HAVE_TERMINAL_H check.
15562         * configure.ac: Do not check for terminal.h.
15563         * configure, config.in: Regenerated.
15564
15565 2007-02-08  Daniel Jacobowitz  <dan@codesourcery.com>
15566
15567         * Makefile.in (OBS): Add $(XML_BUILTIN).
15568         (XML_DIR, XML_TARGET, XML_FILES, XML_BUILTIN): New.
15569         (clean): Update.
15570         (target.xml, xml-builtin.c, stamp-xml, arm-with-iwmmxt.o)
15571         (arm-with-iwmmxt.c): New.
15572         * config.in, configure: Regenerate.
15573         * configure.ac: Check for iWMMXt.  Handle srv_xmltarget,
15574         srv_xmlbuiltin, and srv_xmlfiles.  Define USE_XML.
15575         * configure.srv: Mention srv_xmltarget and srv_xmlfiles.
15576         (arm*-*-linux*): Add iWMMXt and regset support.
15577         * linux-arm-low.c (PTRACE_GETWMMXREGS, PTRACE_SETWMMXREGS): Define.
15578         (arm_fill_gregset, arm_store_gregset, arm_fill_wmmxregset)
15579         (arm_store_wmmxregset, target_regsets): New.
15580         * server.c (get_features_xml): Take annex argument.  Check builtin
15581         XML documents.
15582         (handle_query): Handle multiple annexes.
15583
15584 2007-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
15585
15586         * remote-utils.c [USE_WIN32API] (read, write): Define.
15587         (putpkt_binary, input_interrupt, readchar, getpkt): Use read and
15588         write.
15589
15590 2007-01-09  Daniel Jacobowitz  <dan@codesourcery.com>
15591
15592         * linux-i386-low.c (the_low_target): Set arch_string.
15593         * linux-x86-64-low.c (the_low_target): Likewise.
15594         * linux-low.c (linux_arch_string): New.
15595         (linux_target_ops): Add it.
15596         * linux-low.h (struct linux_target_ops): Add arch_string.
15597         * server.c (write_qxfer_response): Use const void * for DATA.
15598         (get_features_xml): New.
15599         (handle_query): Handle qXfer:features:read.  Report it for qSupported.
15600         * target.h (struct target_ops): Add arch_string method.
15601
15602 2007-01-03  Denis Pilat  <denis.pilat@st.com>
15603             Daniel Jacobowitz  <dan@codesourcery.com>
15604
15605         * linux-low.c (linux_kill): Handle being called with no threads.
15606         * win32-i386-low.c (win32_kill): Likewise.
15607         (get_child_debug_event): Clear current_process_handle.
15608
15609 2006-12-30  Denis PILAT  <denis.pilat@st.com>
15610             Daniel Jacobowitz  <dan@codesourcery.com>
15611
15612         * remote-utils.c (remote_open): Check the type of specified
15613         serial port devices before opening them.
15614         * server.c (main): Kill the inferior if an error occurs during
15615         the first remote_open.
15616
15617 2006-12-05  Markus Deuling  <deuling@de.ibm.com>
15618
15619         * README: Update supported targets.
15620
15621 2006-11-28  Daniel Jacobowitz  <dan@codesourcery.com>
15622
15623         * Makefile.in (clean): Remove reg-mips64.c.
15624         (reg-mips64.c, reg-mips64.o): New rules.
15625         * configure.srv: Handle mips64.  Include regset support for mips.
15626         * linux-mips-low.c (union mips_register): New.
15627         (mips_get_pc, mips_set_pc, mips_reinsert_addr): Use it.
15628         (mips_breakpoint, mips_breakpoint_at): Use int.
15629         (mips_collect_register, mips_supply_register)
15630         (mips_collect_register_32bit, mips_supply_register_32bit)
15631         (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
15632         (mips_store_fpregset, target_regsets): New.
15633         * thread-db.c (thread_db_get_tls_address): Use uintptr_t.
15634
15635 2006-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
15636
15637         * configure.srv: Add target "spu*-*-*".
15638         * Makefile.in (clean): Remove reg-spu.c.
15639         (reg-spu.c, reg-spu.o, spu-low.o): Add dependencies.
15640         * spu-low.c: New file.
15641
15642 2006-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
15643
15644         * configure.ac: Correct td_thr_tls_get_addr test.
15645         * configure: Regenerated.
15646
15647 2006-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
15648
15649         * linux-low.c (linux_wait_for_event): Reformat.  Use the
15650         pass_signals array.
15651         * remote-utils.c (decode_address_to_semicolon): New.
15652         * server.c (pass_signals, handle_general_set): New.
15653         (handle_query): Mention QPassSignals for qSupported.
15654         (main): Call handle_general_set.
15655         * server.h (pass_signals, decode_address_to_semicolon): New.
15656
15657 2006-11-06  Daniel Jacobowitz  <dan@codesourcery.com>
15658
15659         * server.c (handle_query): Correct error handling for read_auxv.
15660
15661 2005-10-19  Ulrich Weigand  <uweigand@de.ibm.com>
15662
15663         * configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets
15664         and srv_linux_thread_db to yes.
15665         * linux-s390-low.c (s390_fill_gregset): New function.
15666         (target_regsets): Define data structure.
15667
15668 2006-10-17  Daniel Jacobowitz  <dan@codesourcery.com>
15669
15670         * acinclude.m4 (SRV_CHECK_TLS_GET_ADDR): New.
15671         * configure.ac: Use it.  Define HAVE_TD_THR_TLS_GET_ADDR.
15672         * config.in, configure: Regenerated.
15673         * inferiors.c (gdb_id_to_thread): New function.
15674         (gdb_id_to_thread_id): Use it.
15675         * linux-low.c (linux_target_ops): Use thread_db_get_tls_address.
15676         * linux-low.h (struct process_info): Add th member.
15677         (thread_db_get_tls_address): New prototype.
15678         * remote-utils.c (decode_address): Make non-static.
15679         * server.c (handle_query): Handle qGetTLSAddr.
15680         * server.h (gdb_id_to_thread, decode_address): New prototypes.
15681         * target.h (struct target_ops): Add get_tls_address.
15682         * thread-db.c (maybe_attach_thread): Save the thread handle.
15683         (thread_db_get_tls_address): New.
15684
15685 2006-09-28  Daniel Jacobowitz  <dan@codesourcery.com>
15686
15687         * linux-low.c (PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
15688         (linux_resume_one_process): Take a siginfo_t *.  Update all
15689         callers.  Queue it if necessary.  Use PTRACE_SETSIGINFO.
15690         (struct pending_signals): Add a siginfo_t.
15691         (linux_wait_for_process): Always set last_status.
15692         (linux_wait_for_event): Use PTRACE_GETSIGINFO.
15693         (linux_queue_one_thread): Use PTRACE_GETSIGINFO.
15694         * linux-low.h (struct process_info): Add last_status.
15695
15696 2006-09-21  Daniel Jacobowitz  <dan@codesourcery.com>
15697
15698         * remote-utils.c (try_rle): New function.
15699         (putpkt_binary): Use it.
15700
15701 2006-08-19  Daniel Jacobowitz  <dan@codesourcery.com>
15702
15703         * Makefile.in (clean): Clean reg-x86-64-linux.c.
15704         (reg-x86-64-linux.o, reg-x86-64-linux.c): New.
15705         * configure.srv (x86_64-*-linux*): Use reg-x86-64-linux.o.
15706         * linux-x86-64-low.c (x86_64_regmap): Include ORIG_RAX.
15707         (x86_64_fill_gregset, x86_64_store_gregset): Skip floating
15708         point registers.
15709
15710 2006-08-08  Richard Sandiford  <richard@codesourcery.com>
15711
15712         * server.c (terminal_fd): New variable.
15713         (old_foreground_pgrp): Likewise.
15714         (restore_old_foreground_pgrp): New function.
15715         (start_inferior): Record the terminal file descriptor in terminal_fd
15716         and its original foreground group in old_foreground_pgrp.  Register
15717         restore_old_foreground_pgrp with atexit().
15718
15719 2006-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
15720
15721         * server.c (handle_query): Correct qPart to qXfer.
15722
15723 2006-07-22  Daniel Jacobowitz  <dan@codesourcery.com>
15724
15725         * configure.ac: Check for more headers which are missing on
15726         Windows.  Automatically supply -lwsock32 and USE_WIN32API.
15727         * configure.srv: Add Cygwin and mingw32.
15728         * remote-utils.c: Don't include headers unconditionally which
15729         are missing on mingw32.  Include <winsock.h> for mingw32.
15730         (remote_open): Adjust for mingw32 support.  Flush
15731         standard error after writing to it.
15732         (remote_close, putpkt_binary, input_interrupt, block_async_io)
15733         (unblock_async_io, enable_async_io, disable_async_io)
15734         (readchar, getpkt): Update for Winsock support.
15735         (prepare_resume_reply): Expect a protocol signal number.
15736         * server.c: Disable <sys/wait.h> on mingw32.
15737         (start_inferior): Adjust for mingw32 support.  Flush
15738         standard error after writing to it.
15739         (attach_inferior): Likewise.  Use protocol signal
15740         numbers.
15741         (main): Skip 'D' packet on mingw32.  Use protocol signal numbers
15742         and names.
15743         * win32-i386-low.c: New file.
15744         * Makefile.in (XM_CLIBS): Set.
15745         (gdbserver, gdbreplay): Use $(INTERNAL_CFLAGS).
15746         (win32-i386-low.o): New dependency rule.
15747         * linux-low.c (linux_wait): Use target signal numbers.
15748         * target.h (struct target_ops): Doc fix.
15749         * server.h (target_signal_to_name): New prototype.
15750         * gdbreplay.c: Don't include headers unconditionally which
15751         are missing on mingw32.  Include <winsock.h> for mingw32.
15752         (remote_close, remote_open): Adjust for Winsock support.
15753         * configure, config.in: Regenerated.
15754
15755 2006-07-12  Daniel Jacobowitz  <dan@codesourcery.com>
15756
15757         * server.c (decode_xfer_read, write_qxfer_response): New.
15758         (handle_query): Take a packet length argument.  Handle
15759         qXfer:auxv:read instead of qPart:auxv:read.  Mention it in
15760         the qSupported response.
15761         (main): Update call to handle_query.
15762
15763 2006-06-22  Daniel Jacobowitz  <dan@codesourcery.com>
15764
15765         * remote-utils.c (remote_escape_output, remote_unescape_input): New.
15766         (putpkt_binary): Renamed from putpkt and adjusted for binary
15767         data.
15768         (putpkt): New wrapper for putpkt_binary.
15769         (readchar): Don't mask off the high bit.
15770         (decode_X_packet): New function.
15771         * server.c (main): Call putpkt_binary if a handler sets the packet
15772         length.  Save the length of the incoming packet.  Handle 'X'.
15773         * server.h (gdb_byte, remote_escape_output, decode_X_packet): New.
15774
15775 2006-06-21  Daniel Jacobowitz  <dan@codesourcery.com>
15776
15777         * server.c (handle_query): Handle qSupported.
15778
15779 2006-05-30  Daniel Jacobowitz  <dan@codesourcery.com>
15780
15781         * remote-utils.c (all_symbols_looked_up): New variable.
15782         (look_up_one_symbol): Check it.
15783         * server.h (look_up_one_symbol): New declaration.
15784         * thread-db.c (thread_db_init): Set all_symbols_looked_up.
15785
15786 2006-05-30  Daniel Jacobowitz  <dan@codesourcery.com>
15787
15788         * Makefile.in (linux-arm-low.o): Update dependencies.
15789         * linux-arm-low.c: Include "gdb_proc_service.h".
15790         (PTRACE_GET_THREAD_AREA): Define.
15791         (ps_get_thread_area): New function.
15792
15793 2006-05-09  Nathan Sidwell  <nathan@codesourcery.com>
15794
15795         * configure.srv (m68k*-*-uclinux*): New target.
15796         * linux-low.c (linux_create_inferior): Use vfork on mmuless systems.
15797         (linux_resume_one_process): Remove extraneous cast.
15798         (linux_read_offsets): New.
15799         (linux_target_op): Add linux_read_offsets on mmuless systems.
15800         * server.c (handle_query): Add qOffsets logic.
15801         * target.h (struct target_ops): Add read_offsets.
15802
15803 2006-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
15804
15805         * linux-mips-low.c: Include <sys/ptrace.h> and "gdb_proc_service.h".
15806         (PTRACE_GET_THREAD_AREA): Define.
15807         (ps_get_thread_area): New function.
15808         * Makefile.in (linux-i386-low.o, linux-mips-low.o)
15809         (linux-x86-64-low.o): Update.
15810
15811 2006-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
15812
15813         * configure.ac: Remove checks for prfpregset_t.
15814         * gdb_proc_service.h: New file.
15815         * linux-i386-low.c, linux-x86-64-low.c, thread-db.c: Use the
15816         new "gdb_proc_service.h".
15817         * proc-service.c: Likewise.
15818         (ps_pglobal_lookup, ps_pdread, ps_pdwrite): Use psaddr_t.
15819         (ps_lgetfpregs, ps_lsetfpregs): Use a void* argument.
15820         * Makefile.in (gdb_proc_service_h): Updated.
15821         * configure, config.in: Regenerated.
15822
15823 2006-03-03  Daniel Jacobowitz  <dan@codesourcery.com>
15824
15825         * remote-utils.c (prepare_resume_reply): Move declaration
15826         of gdb_id_from_wait to the top of the block.
15827
15828 2006-02-15  Daniel Jacobowitz  <dan@codesourcery.com>
15829
15830         * linux-low.c (regsets_store_inferior_registers): Read the regset
15831         from the target before filling it.
15832
15833 2006-02-08  Daniel Jacobowitz  <dan@codesourcery.com>
15834
15835         * server.c (attach_inferior): Return SIGTRAP for a successful
15836         attach.
15837
15838 2006-02-01  Daniel Jacobowitz  <dan@codesourcery.com>
15839
15840         * Makefile.in (OBS): Add version.o.
15841         (STAGESTUFF): Delete.
15842         (version.o): Add dependencies.
15843         (version.c): Replace rule.
15844         (clean): Remove version.c.
15845         * server.c (gdbserver_version): New.
15846         (gdbserver_usage): Use printf.
15847         (main): Handle --version and --help.
15848         * server.h (version, host_name): Add declarations.
15849
15850 2005-12-23  Eli Zaretskii  <eliz@gnu.org>
15851
15852         * linux-arm-low.c:
15853         * linux-arm-low.c:
15854         * inferiors.c:
15855         * i387-fp.h:
15856         * i387-fp.c:
15857         * gdbreplay.c:
15858         * regcache.c:
15859         * proc-service.c:
15860         * mem-break.h:
15861         * mem-break.c:
15862         * linux-x86-64-low.c:
15863         * linux-sh-low.c:
15864         * linux-s390-low.c:
15865         * linux-ppc64-low.c:
15866         * linux-ppc-low.c:
15867         * linux-mips-low.c:
15868         * linux-m68k-low.c:
15869         * linux-m32r-low.c:
15870         * linux-low.h:
15871         * linux-low.c:
15872         * linux-ia64-low.c:
15873         * linux-i386-low.c:
15874         * linux-crisv32-low.c:
15875         * thread-db.c:
15876         * terminal.h:
15877         * target.h:
15878         * target.c:
15879         * server.h:
15880         * server.c:
15881         * remote-utils.c:
15882         * regcache.h:
15883         * utils.c:
15884         * Makefile.in:
15885         * configure.ac:
15886         * gdbserver.1: Add (C) after Copyright.  Update the FSF
15887         address.
15888
15889 2005-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
15890
15891         * linux-arm-low.c (arm_eabi_breakpoint): New variable.
15892         (arm_breakpoint_at): Recognize both breakpoints.
15893         (the_low_target): Use the correct breakpoint instruction.
15894
15895 2005-11-02  Daniel Jacobowitz  <dan@codesourcery.com>
15896
15897         * configure.srv (x86_64-*-linux*): Turn on thread_db support.
15898         * linux-x86-64-low.c (x86_64_breakpoint, x86_64_breakpoint_len)
15899         (x86_64_get_pc, x86_64_set_pc, x86_64_breakpoint_at): New.
15900         (the_low_target): Update.
15901
15902 2005-10-25  Andreas Schwab  <schwab@suse.de>
15903
15904         * server.c (main): Allocate mem_buf with PBUFSIZ bytes.
15905
15906         * linux-ia64-low.c (ia64_regmap): Remove NAT registers.
15907         (ia64_num_regs): Reduce to 462.
15908
15909 2005-09-17  Daniel Jacobowitz  <dan@codesourcery.com>
15910
15911         * acinclude.m4: Correct quoting.
15912         * aclocal.m4: Regenerated.
15913
15914         Suggested by SZOKOVACS Robert <szo@ies.hu>:
15915         * thread-db.c (thread_db_err_str): Handle TD_VERSION.
15916         (thread_db_init): Call thread_db_err_str.
15917         * configure.ac: Check for TD_VERSION.
15918         * config.in, configure: Regenerated.
15919
15920 2005-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15921
15922         * server.h (error, fatal, warning): Add ATTR_FORMAT.
15923
15924 2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>
15925
15926         * configure.ac: Define HAVE_LINUX_REGSETS even if PTRACE_GETREGS
15927         is not available.  Define HAVE_PTRACE_GETREGS if it is.
15928         * config.in, configure: Regenerated.
15929         * configure.srv: Set srv_linux_regsets for PowerPC and PowerPC64.
15930         * linux-i386-low.c, linux-m68k-low.c: Update to use
15931         HAVE_PTRACE_GETREGS.
15932         * linux-low.c (regsets_fetch_inferior_registers)
15933         (regsets_store_inferior_registers): Only return 0 if we processed
15934         GENERAL_REGS.
15935         * linux-ppc-low.c (ppc_fill_gregset, target_regsets): New.
15936         * linux-ppc64-low.c (ppc_fill_gregset, target_regsets): New.
15937
15938 2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>
15939
15940         * inferiors.c (struct thread_info): Add gdb_id.
15941         (add_thread): Add gdb_id argument.
15942         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New.
15943         * linux-low.c (linux_create_inferior, linux_attach_lwp): Update
15944         calls to add_thread.
15945         * remote-utils.c (prepare_resume_reply: Use thread_to_gdb_id.
15946         * server.c (handle_query): Use thread_to_gdb_id.
15947         (handle_v_cont, main): Use gdb_id_to_thread_id.
15948         * server.h (add_thread): Update prototype.
15949         (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New
15950         prototypes.
15951
15952 2005-07-13  Daniel Jacobowitz  <dan@codesourcery.com>
15953
15954         * linux-low.c (fetch_register, usr_store_inferior_registers): Handle
15955         left-padded registers.
15956         * linux-low.h (struct linux_target_ops): Add left_pad_xfer.
15957         * linux-ppc64-low.c (the_low_target): Set left_pad_xfer.
15958
15959 2005-07-01  Steve Ellcey  <sje@cup.hp.com>
15960
15961         * configure.ac (BFD_NEED_DECLARATION): Replace with AC_CHECK_DECLS.
15962         * configure: Regenerate.
15963         * config.in: Regenerate.
15964         * server.h (NEED_DECLARATION_STRERROR):
15965         Replace with !HAVE_DECL_STRERROR.
15966
15967 2005-06-16  Daniel Jacobowitz  <dan@codesourcery.com>
15968
15969         * linux-low.c (linux_wait, linux_send_signal): Don't test
15970         an unsigned long variable for > 0 if it could be MAX_ULONG.
15971         * server.c (myresume): Likewise.
15972         * target.c (set_desired_inferior): Likewise.
15973
15974 2005-06-13  Mark Kettenis  <kettenis@gnu.org>
15975
15976         * configure.ac: Simplify and improve check for socklen_t.
15977         * configure, config.in: Regenerate.
15978
15979 2005-06-12  Daniel Jacobowitz  <dan@codesourcery.com>
15980
15981         * acconfig.h: Remove.
15982         * configure.ac: Add a test for socklen_t.  Use three-argument
15983         AC_DEFINE throughout.
15984         * config.in: Regenerated using autoheader 2.59.
15985         * configure: Regenerated.
15986
15987         * gdbreplay.c (socklen_t): Provide a default.
15988         (remote_open): Use socklen_t.
15989         * remote-utils.c (socklen_t): Provide a default.
15990         (remote_open): Use socklen_t.
15991         (convert_int_to_ascii, convert_ascii_to_int, decode_M_packet): Use
15992         unsigned char.
15993
15994         * i387-fp.c (struct i387_fsave, struct i387_fxsave): Use unsigned
15995         char for buffers.
15996         * linux-low.c (linux_read_memory, linux_write_memory)
15997         (linux_read_auxv): Likewise.
15998         * mem-break.c (breakpoint_data, set_breakpoint_data, check_mem_read)
15999         (check_mem_write): Likewise.
16000         * mem-break.h (set_breakpoint_data, check_mem_read, check_mem_write):
16001         Likewise.
16002         * regcache.c (struct inferior_rgcache_data, registers_to_string)
16003         (registers_from_string, register_data): Likewise.
16004         * server.c (handle_query, main): Likewise.
16005         * server.h (convert_ascii_to_int, convert_int_to_ascii)
16006         (decode_M_packet): Likewise.
16007         * target.c (read_inferior_memory, write_inferior_memory): Likewise.
16008         * target.h (struct target_ops): Update read_memory, write_memory,
16009         and read_auxv.
16010         (read_inferior_memory, write_inferior_memory): Update.
16011         * linux-low.h (struct linux_target_ops): Change type of breakpoint
16012         to unsigned char *.
16013         * linux-arm-low.c, linux-cris-low.c, linux-crisv32-low.c,
16014         linux-i386-low.c, linux-m32r-low.c, linux-m68k-low.c,
16015         linux-mips-low.c, linux-ppc-low.c, linux-ppc64-low.c,
16016         linux-s390-low.c, linux-sh-low.c: Update for changes in
16017         read_inferior_memory and the_low_target->breakpoint.
16018
16019 2005-05-28  Daniel Jacobowitz  <dan@codesourcery.com>
16020
16021         * Makefile.in (SFILES): Add linux-ppc64-low.c.
16022         (linux-ppc64-low.o, reg-ppc64.c, reg-ppc64.o): New targets.
16023         * configure.srv: Add powerpc64-*-linux*.
16024         * linux-ppc64-low.c: New file.
16025
16026 2005-05-23  Orjan Friberg  <orjanf@axis.com>
16027
16028         * linux-cris-low.c: New file with support for CRIS.
16029         * linux-crisv32-low.c: Ditto for CRISv32.
16030         * Makefile.in (SFILES): Add linux-cris-low.c, linux-crisv32-low.c.
16031         (clean): Add reg-cris.c and reg-crisv32.c.
16032         Add linux-cris-low.o, linux-crisv32-low.o, reg-cris.o, reg-cris.c,
16033         reg-crisv32.o, and reg-crisv32.c to make rules.
16034         * configure.srv: Add cris-*-linux* and crisv32-*-linux* to list of
16035         recognized targets.
16036
16037 2005-05-16  Ulrich Weigand  <uweigand@de.ibm.com>
16038
16039         * linux-low.c (fetch_register): Ensure buffer size is a multiple
16040         of sizeof (PTRACE_XFER_TYPE).
16041         (usr_store_inferior_registers): Likewise.  Zero out excess bytes.
16042
16043 2005-05-12  Orjan Friberg  <orjanf@axis.com>
16044
16045         * target.h (struct target_ops): Add insert_watchpoint,
16046         remove_watchpoint, stopped_by_watchpoint, stopped_data_address function
16047         pointers for hardware watchpoint support.
16048         * linux-low.h (struct linux_target_ops): Ditto.
16049         * linux-low.c (linux_insert_watchpoint, linux_remove_watchpoint)
16050         (linux_stopped_by_watchpoint, linux_stopped_data_address): New.  Add
16051         to linux_target_ops.
16052         * remote-utils.c (prepare_resume_reply): Add watchpoint information to
16053         reply packet.
16054         * server.c (main): Recognize 'Z' and 'z' packets.
16055
16056 2005-05-10  Ulrich Weigand  <uweigand@de.ibm.com>
16057
16058         * linux-s390-low.c (s390_breakpoint, s390_breakpoint_len): Define.
16059         (s390_get_pc, s390_set_pc, s390_breakpoint_at): New functions.
16060         (the_low_target): Add new members.
16061
16062 2005-05-04  Daniel Jacobowitz  <dan@codesourcery.com>
16063
16064         * proc-service.c (ps_lgetregs): Search all_processes instead of
16065         all_threads.
16066
16067 2005-05-04  Daniel Jacobowitz  <dan@codesourcery.com>
16068
16069         * server.c (start_inferior): Change return type to int.
16070         (attach_inferior): Change sigptr to int *.
16071         (handle_v_cont, handle_v_requests): Change signal to int *.
16072         (main): Change signal to int.
16073
16074 2005-04-15  Kei Sakamoto  <sakamoto.kei@renesas.com>
16075
16076         * Makefile.in: Add linux-m32r-low.o, reg-m32r.c and reg-m32r.o.
16077         * configure.srv: Add m32r*-*-linux*.
16078         * linux-m32r-low.c: New file.
16079
16080 2005-03-04  Daniel Jacobowitz  <dan@codesourcery.com>
16081
16082         * Makefile.in (stamp-h): Set CONFIG_HEADERS explicitly.
16083
16084 2005-03-03  Daniel Jacobowitz  <dan@codesourcery.com>
16085
16086         * inferiors.c (change_inferior_id, add_thread, find_inferior_id):
16087         Take unsigned long arguments for PIDs.
16088         * linux-low.c (add_process, linux_attach_lwp, linux_attach)
16089         (linux_thread_alive, linux_wait_for_event, kill_lwp, send_sigstop)
16090         (wait_for_sigstop, linux_resume_one_process)
16091         (regsets_fetch_inferior_registers, linux_send_signal)
16092         (linux_read_auxv): Likewise.  Update the types of variables holding
16093         PIDs.  Update format string specifiers.
16094         * linux-low.h (struct process_info, linux_attach_lwp): Likewise.
16095         * remote-utils.c (prepare_resume_reply): Likewise.
16096         * server.c (cont_thread, general_thread, step_thread)
16097         (thread_from_wait, old_thread_from_wait, signal_pid): Change type to
16098         unsigned long.
16099         (handle_query): Update format specifiers.
16100         (handle_v_cont, main): Use strtoul for thread IDs.
16101         * server.h (struct inferior_list_entry): Use unsigned long for ID.
16102         (add_thread, find_inferior_id, change_inferior_id, cont_thread)
16103         (general_thread, step_thread, thread_from_wait)
16104         (old_thread_from_wait): Update.
16105         * target.h (struct thread_resume): Use unsigned long for THREAD.
16106         (struct target_ops): Use unsigned long for arguments to attach and
16107         thread_alive.
16108
16109 2005-02-24  Daniel Jacobowitz  <dan@codesourcery.com>
16110
16111         * acinclude.m4: Include bfd/bfd.m4 directly.
16112         * configure.ac: Use AC_ARG_PROGRAM.  Suggested by Aron Griffis
16113         <agriffis@toolchain.org>.
16114         * aclocal.m4, configure: Regenerated.
16115
16116 2005-01-07  Andrew Cagney  <cagney@gnu.org>
16117
16118         * configure.ac: Rename configure.in, require autoconf 2.59.
16119         * configure: Re-generate.
16120
16121 2004-12-08  Daniel Jacobowitz  <dan@debian.org>
16122
16123         * acinclude.m4 (SRV_CHECK_THREAD_DB): Add ps_get_thread_area.  Reset
16124         LIBS when finished.
16125         * aclocal.m4: Regenerated.
16126         * configure: Regenerated.
16127
16128 2004-11-21  Andreas Schwab  <schwab@suse.de>
16129
16130         * linux-m68k-low.c (m68k_num_gregs): Define.
16131         (m68k_fill_gregset, m68k_store_gregset, m68k_fill_fpregset)
16132         (m68k_store_fpregset, target_regsets) [HAVE_LINUX_REGSETS]: New.
16133         (m68k_breakpoint, m68k_breakpoint_len, m68k_get_pc, m68k_set_pc)
16134         (m68k_breakpoint_at): New.  Add to the_low_target.
16135
16136         * configure.srv (m68*-*-linux*): Set srv_linux_regsets and
16137         srv_linux_thread_db to yes.
16138
16139 2004-10-20  Joel Brobecker  <brobecker@gnat.com>
16140
16141         * linux-x86-64-low.c (ARCH_SET_GS): Add definition if missing.
16142         (ARCH_SET_FS): Likewise.
16143         (ARCH_GET_FS): Likewise.
16144         (ARCH_GET_GS): Likewise.
16145
16146 2004-10-16  Daniel Jacobowitz  <dan@debian.org>
16147
16148         * linux-i386-low.c (ps_get_thread_area): New.
16149         * linux-x86-64-low.c (ps_get_thread_area): New.
16150         * linux-low.c: Include <sys/syscall.h>.
16151         (linux_kill_one_process): Don't kill the first thread here.
16152         (linux_kill): Kill the first thread here.
16153         (kill_lwp): New function.
16154         (send_sigstop, linux_send_signal): Use it.
16155         * proc-service.c: Clean up #ifdefs.
16156         (fpregset_info): Delete.
16157         (ps_lgetregs): Update and enable implementation.
16158         (ps_lsetregs, ps_lgetfpregs, ps_lsetfpregs): Remove disabled
16159         implementations.
16160         * remote-utils.c (struct sym_cache, symbol_cache): New.
16161         (input_interrupt): Print a clearer message.
16162         (async_io_enabled): New variable.
16163         (enable_async_io, disable_async_io): Use it.  Update comments.
16164         (look_up_one_symbol): Use the symbol cache.
16165         * thread-db.c (thread_db_look_up_symbols): New function.
16166         (thread_db_init): Update comments.  Call thread_db_look_up_symbols.
16167
16168 2004-10-16  Daniel Jacobowitz  <dan@debian.org>
16169
16170         * configure.in: Test for -rdynamic.
16171         * configure: Regenerated.
16172         * Makefile (INTERNAL_LDFLAGS): New.
16173         (gdbserver, gdbreplay): Use it.
16174
16175 2004-09-02  Andrew Cagney  <cagney@gnu.org>
16176
16177         * Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE.
16178
16179 2004-03-23  Daniel Jacobowitz  <drow@mvista.com>
16180
16181         * linux-low.c (linux_wait): Clear all_processes list also.
16182
16183 2004-03-12  Daniel Jacobowitz  <drow@mvista.com>
16184
16185         * linux-low.c: Include <errno.h>.  Remove extern declaration of
16186         errno.
16187
16188 2004-03-12  Daniel Jacobowitz  <drow@mvista.com>
16189
16190         * gdbreplay.c, server.h, utils.c: Update copyright years.
16191
16192 2004-03-04  Nathan J. Williams  <nathanw@wasabisystems.com>
16193
16194         * server.c (main): Print child status or termination signal from
16195         variable 'signal', not 'sig'.
16196
16197 2004-03-04  Nathan J. Williams  <nathanw@wasabisystems.com>
16198
16199         * linux-low.c (linux_read_memory): Change return type to
16200         int.  Check for and return error from ptrace().
16201         * target.c (read_inferior_memory): Change return type to int.  Pass
16202         back return status from the_target->read_memory().
16203         * target.h (struct target_ops): Adapt *read_memory() prototype.
16204         Update comment.
16205         (read_inferior_memory): Adapt prototype.
16206         * server.c (main): Return an error packet if
16207         read_inferior_memory() returns an error.
16208
16209 2004-03-04  Daniel Jacobowitz  <drow@mvista.com>
16210
16211         * Makefile.in (distclean): Remove config.h, stamp-h, and config.log.
16212         Unify with other clean targets.
16213
16214 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
16215
16216         * server.c (handle_v_cont): Call set_desired_inferior.
16217
16218 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
16219
16220         * remote-utils.c (prepare_resume_reply): Always supply "thread:".
16221
16222 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
16223
16224         * linux-low.c (linux_wait): Unblock async I/O.
16225         (linux_resume): Block and enable async I/O.
16226         * remote-utils.c (block_async_io, unblock_async_io): New functions.
16227         * server.h (block_async_io, unblock_async_io): Add prototypes.
16228
16229 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
16230
16231         * remote-utils.c (remote_open): Print a status notice after
16232         opening a TCP port.
16233         * server.c (attach_inferior): Print a status notice after
16234         attaching.
16235
16236 2004-02-29  Daniel Jacobowitz  <drow@mvista.com>
16237
16238         * linux-arm-low.c (arm_get_pc): Print out stop PC in debug mode.
16239
16240 2004-02-26  Daniel Jacobowitz  <drow@mvista.com>
16241
16242         * remote-utils.c (write_enn): Use "E01" instead of "ENN" for the
16243         error packet.
16244         * server.c, target.h: Update copyright years.
16245
16246 2004-02-25  Roland McGrath  <roland@redhat.com>
16247
16248         * target.h (struct target_ops): New member `read_auxv'.
16249         * server.c (handle_query): Handle qPart:auxv:read: query using that.
16250         * linux-low.c (linux_read_auxv): New function.
16251         (linux_target_ops): Initialize `read_auxv' member to that.
16252
16253 2004-02-17  Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16254
16255         Committed by Jim Blandy  <jimb@redhat.com>.
16256
16257         * linux-s390-low.c (s390_num_regs): Update.
16258         (s390_regmap): Remove control registers.  Use __s390x__ predefine
16259         instead of GPR_SIZE to distiguish s390 and s390x targets.
16260
16261 2004-01-31  Daniel Jacobowitz  <drow@mvista.com>
16262
16263         * linux-low.c: Update copyright year.
16264         (check_removed_breakpoint): Clear pending_is_breakpoint.
16265         (linux_set_resume_request, linux_queue_one_thread)
16266         (resume_status_pending_p): New functions.
16267         (linux_continue_one_thread): Use process->resume.
16268         (linux_resume): Only resume threads if there are no pending events.
16269         * linux-low.h (struct process_info): Add resume request
16270         pointer.
16271
16272 2004-01-30  Daniel Jacobowitz  <drow@mvista.com>
16273
16274         * regcache.c (new_register_cache): Clear the allocated register
16275         buffer.  Suggested by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.
16276
16277 2003-10-13  Daniel Jacobowitz  <drow@mvista.com>
16278
16279         * linux-low.c (linux_resume): Take a struct thread_resume *
16280         argument.
16281         (linux_wait): Update call.
16282         (resume_ptr): New static variable.
16283         (linux_continue_one_thread): Renamed from
16284         linux_continue_one_process.  Use resume_ptr.
16285         (linux_resume): Use linux_continue_one_thread.
16286         * server.c (handle_v_cont, handle_v_requests): New functions.
16287         (myresume): New function.
16288         (main): Handle 'v' case.
16289         * target.h (struct thread_resume): New type.
16290         (struct target_ops): Change argument of "resume" to struct
16291         thread_resume *.
16292         (myresume): Delete macro.
16293
16294 2003-08-08  H.J. Lu  <hongjiu.lu@intel.com>
16295
16296         * Makefile.in (install-only): Create dest dir. Support DESTDIR.
16297         (uninstall): Support DESTDIR.
16298
16299 Mon Jul 21 20:09:34 UTC 2003  Brendan Conoboy  <blc@redhat.com>
16300
16301         * configure.srv: Add xscale*linux copy of arm*linux entry.
16302
16303 2003-07-24  Daniel Jacobowitz  <drow@mvista.com>
16304
16305         * linux-arm-low.c (arm_reinsert_addr): New function.
16306         (the_low_target): Add arm_reinsert_addr.
16307
16308 2003-07-08  Mark Kettenis  <kettenis@gnu.org>
16309
16310         * mem-break.c: Remove whitespace at end of file.
16311
16312 2003-06-28  Daniel Jacobowitz  <drow@mvista.com>
16313
16314         * configure.in: Check whether we need to prototype strerror.
16315         * server.h: Optionally prototype strerror.
16316         * gdbreplay.c (perror_with_name): Use strerror.
16317         * linux-low.c (linux_attach_lwp): Use strerror.
16318         * utils.c (perror_with_name): Use strerror.
16319         * config.in, configure: Regenerated.
16320
16321 2003-06-28  Daniel Jacobowitz  <drow@mvista.com>
16322
16323         * linux-sh-low.c (sh_regmap): Fix FP register offsets, reported by
16324         SUGIOKA Toshinobu <sugioka@itonet.co.jp>.
16325
16326 2003-06-20  Daniel Jacobowitz  <drow@mvista.com>
16327
16328         * Makefile.in (SFILES): Update.
16329         * low-hppabsd.c, low-lynx.c, low-nbsd.c, low-sim.c, low-sparc.c,
16330         low-sun3.c: Remove files.
16331
16332 2003-06-17  Daniel Jacobowitz  <drow@mvista.com>
16333
16334         * linux-low.c: Move comment to linux_thread_alive where it belonged.
16335         (linux_detach_one_process, linux_detach): New functions.
16336         (linux_target_ops): Add linux_detach.
16337         * server.c (main): Handle 'D' packet.
16338         * target.h (struct target_ops): Add "detach" member.
16339         (detach_inferior): Define.
16340
16341 2003-06-13  Mark Kettenis  <kettenis@gnu.org>
16342
16343         From Kelley Cook  <kelleycook@wideopenwest.com>:
16344         * configure.srv: Accept i[34567]86 variants.
16345
16346 2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
16347
16348         * linux-low.c (linux_wait_for_event): Correct comment typos.
16349         (linux_resume_one_process): Call check_removed_breakpoint.
16350         (linux_send_signal): New function.
16351         (linux_target_ops): Add linux_send_signal.
16352         * remote-utils.c (putpkt, input_interrupt): Use send_signal instead
16353         of kill.
16354         * target.h (struct target_ops): Add send_signal.
16355
16356 2003-05-29  Jim Blandy  <jimb@redhat.com>
16357
16358         * linux-low.c (usr_store_inferior_registers): Transfer buf in
16359         PTRACE_XFER_TYPE-sized chunks, not int-sized chunks.  Otherwise,
16360         if 'int' is smaller than PTRACE_XFER_TYPE, you end up throwing
16361         away part of the register's value.
16362
16363 2003-03-26  Daniel Jacobowitz  <drow@mvista.com>
16364
16365         * linux-low.c (linux_create_inferior): Use __SIGRTMIN.
16366         (linux_wait_for_event, linux_init_signals): Likewise.
16367
16368 2003-03-17  Daniel Jacobowitz  <drow@mvista.com>
16369
16370         * configure.in: Check for stdlib.h.
16371         * configure: Regenerated.
16372         * config.in: Regenerated.
16373
16374 2003-01-04  Andreas Schwab  <schwab@suse.de>
16375
16376         * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31.
16377
16378 2003-01-02  Andrew Cagney  <ac131313@redhat.com>
16379
16380         * Makefile.in: Remove obsolete code.
16381
16382 2002-11-20  Daniel Jacobowitz  <drow@mvista.com>
16383
16384         * linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of
16385         defined(PT_FPR0_HI).
16386
16387 2002-11-17  Stuart Hughes  <seh@zee2.com>
16388
16389         * linux-arm-low.c (arm_num_regs): Increase.
16390         (arm_regmap): Include status register.
16391
16392 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
16393
16394         * linux-low.c (register_addr): Remove incorrect -1 check.
16395
16396 2002-08-29  Daniel Jacobowitz  <drow@mvista.com>
16397
16398         * linux-low.c (linux_create_inferior): Call setpgid.  Return
16399         the new PID.
16400         (unstopped_p, linux_signal_pid): Remove.
16401         (linux_target_ops): Remove linux_signal_pid.
16402         * remote-utils.c (putpkt, input_interrupt): Use signal_pid
16403         global instead of target method.
16404         * target.h (struct target_ops): Remove signal_pid.  Update comment
16405         for create_inferior.
16406         * server.c (signal_pid): New variable.
16407         (create_inferior): Set signal_pid.  Block SIGTTOU and SIGTTIN in
16408         gdbserver.  Set the child to be the foreground process group.
16409         (attach_inferior): Set signal_pid.
16410
16411 2002-08-23  Daniel Jacobowitz  <drow@mvista.com>
16412
16413         * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2.
16414
16415 2002-08-20  Jim Blandy  <jimb@redhat.com>
16416
16417         * Makefile.in (LDFLAGS): Allow the configure script to establish a
16418         default for this.
16419
16420 2002-08-01  Andrew Cagney  <cagney@redhat.com>
16421
16422         * Makefile.in: Make chill references obsolete.
16423
16424 2002-07-24  Kevin Buettner  <kevinb@redhat.com>
16425
16426         * configure.in (unistd.h): Add to AC_CHECK_HEADERS list.
16427         * configure: Regenerate.
16428         * config.in: Regenerate.
16429
16430 2002-07-09  David O'Brien  <obrien@FreeBSD.org>
16431
16432         * gdbreplay.c (stdlib.h, unistd.h): Conditionaly include.
16433         (perror_with_name, remote_close, remote_open, expect, play): Static.
16434
16435 2002-07-04  Michal Ludvig  <mludvig@suse.cz>
16436
16437         * linux-x86-64-low.c (x86_64_regmap): Make it an array of
16438         byte offsets instead of an array of indexes.
16439         (x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.
16440
16441 2002-06-13  Daniel Jacobowitz  <drow@mvista.com>
16442
16443         * regcache.c: Add comment.
16444
16445 2002-06-11  Daniel Jacobowitz  <drow@mvista.com>
16446
16447         * thread-db.c: New file.
16448         * proc-service.c: New file.
16449         * acinclude.m4: New file.
16450         * Makefile.in: Add GDBSERVER_LIBS, gdb_proc_service_h,
16451         proc-service.o, and thread-db.o.
16452         (linux-low.o): Add USE_THREAD_DB.
16453         * acconfig.h: Add HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T,
16454         HAVE_LWPID_T, HAVE_PSADDR_T, and PRFPREGSET_T_BROKEN.
16455         * aclocal.m4: Regenerated.
16456         * config.in: Regenerated.
16457         * configure: Regenerated.
16458         * configure.in: Check for proc_service.h, sys/procfs.h,
16459         thread_db.h, and linux/elf.h headrs.
16460         Check for lwpid_t, psaddr_t, prgregset_t, prfpregset_t, and
16461         PRFPREGSET_T_BROKEN.  Introduce srv_thread_depfiles and USE_THREAD_DB.
16462         Check for -lthread_db and thread support.
16463         * configure.srv: Enable thread_db support for ARM, i386, MIPS,
16464         PowerPC, and SuperH.
16465         * i387-fp.c: Constify arguments.
16466         * i387-fp.h: Likewise.
16467         * inferiors.c: (struct thread_info): Renamed from
16468         `struct inferior_info'.  Remove PID member.  Use generic inferior
16469         list header.  All uses updated.
16470         (inferiors, signal_pid): Removed.
16471         (all_threads): New variable.
16472         (get_thread): Define.
16473         (add_inferior_to_list): New function.
16474         (for_each_inferior): New function.
16475         (change_inferior_id): New function.
16476         (add_inferior): Removed.
16477         (remove_inferior): New function.
16478         (add_thread): New function.
16479         (free_one_thread): New function.
16480         (remove_thread): New function.
16481         (clear_inferiors): Use for_each_inferior and free_one_thread.
16482         (find_inferior): New function.
16483         (find_inferior_id): New function.
16484         (inferior_target_data): Update argument type.
16485         (set_inferior_target_data): Likewise.
16486         (inferior_regcache_data): Likewise.
16487         (set_inferior_regcache_data): Likewise.
16488         * linux-low.c (linux_bp_reinsert): Remove.
16489         (all_processes, stopping_threads, using_thrads)
16490         (struct pending_signals, debug_threads, pid_of): New.
16491         (inferior_pid): Replace with macro.
16492         (struct inferior_linux_data): Remove.
16493         (get_stop_pc, add_process): New functions.
16494         (linux_create_inferior): Restore SIGRTMIN+1 before calling exec.
16495         Use add_process and add_thread.
16496         (linux_attach_lwp): New function, based on old linux_attach.  Use
16497         add_process and add_thread.  Set stop_expected for new threads.
16498         (linux_attach): New function.
16499         (linux_kill_one_process): New function.
16500         (linux_kill): Kill all LWPs.
16501         (linux_thread_alive): Use find_inferior_id.
16502         (check_removed_breakpoints, status_pending_p): New functions.
16503         (linux_wait_for_process): Renamed from linux_wait_for_one_inferior.
16504         Update.  Use WNOHANG.  Wait for cloned processes also.  Update process
16505         struct for the found process.
16506         (linux_wait_for_event): New function.
16507         (linux_wait): Use it.  Support LWPs.
16508         (send_sigstop, wait_for_sigstop, stop_all_processes)
16509         (linux_resume_one_process, linux_continue_one_process): New functions.
16510         (linux_resume): Support LWPs.
16511         (REGISTER_RAW_SIZE): Remove.
16512         (fetch_register): Use register_size instead.  Call supply_register.
16513         (usr_store_inferior_registers): Likewise.  Call collect_register.
16514         Fix recursive case.
16515         (regsets_fetch_inferior_registers): Improve error message.
16516         (regsets_store_inferior_registers): Add debugging.
16517         (linux_look_up_symbols): Call thread_db_init if USE_THREAD_DB.
16518         (unstopped_p, linux_signal_pid): New functions.
16519         (linux_target_ops): Add linux_signal_pid.
16520         (linux_init_signals): New function.
16521         (initialize_low): Call it.  Initialize using_threads.
16522         * regcache.c (inferior_regcache_data): Add valid
16523         flag.
16524         (get_regcache): Fetch registers lazily.  Add fetch argument
16525         and update all callers.
16526         (regcache_invalidate_one, regcache_invalidate): New
16527         functions.
16528         (new_register_cache): Renamed from create_register_cache.
16529         Return the new regcache.
16530         (free_register_cache): Change argument to a void *.
16531         (registers_to_string, registers_from_string): Call get_regcache
16532         with fetch flag set.
16533         (register_data): Make static.  Pass fetch flag to get_regcache.
16534         (supply_register): Call get_regcache with fetch flag clear.
16535         (collect_register): Call get_regcache with fetch flag set.
16536         (collect_register_as_string): New function.
16537         * regcache.h: Update.
16538         * remote-utils.c (putpkt): Flush after debug output and use
16539         stderr.
16540         Handle input interrupts while waiting for an ACK.
16541         (input_interrupt): Use signal_pid method.
16542         (getpkt): Flush after debug output and use stderr.
16543         (outreg): Use collect_register_as_string.
16544         (new_thread_notify, dead_thread_notify): New functions.
16545         (prepare_resume_reply): Check using_threads.  Set thread_from_wait
16546         and general_thread.
16547         (look_up_one_symbol): Flush after debug output.
16548         * server.c (step_thread, server_waiting): New variables.
16549         (start_inferior): Don't use signal_pid.  Update call to mywait.
16550         (attach_inferior): Update call to mywait.
16551         (handle_query): Handle qfThreadInfo and qsThreadInfo.
16552         (main): Don't fetch/store registers explicitly.  Use
16553         set_desired_inferior.  Support proposed ``Hs'' packet.  Update
16554         calls to mywait.
16555         * server.h: Update.
16556         (struct inferior_list, struct_inferior_list_entry): New.
16557         * target.c (set_desired_inferior): New.
16558         (write_inferior_memory): Constify.
16559         (mywait): New function.
16560         * target.h: Update.
16561         (struct target_ops): New signal_pid method.
16562         (mywait): Removed macro, added prototype.
16563
16564         * linux-low.h (regset_func): Removed.
16565         (regset_fill_func, regset_store_func): New.
16566         (enum regset_type): New.
16567         (struct regset_info): Add type field.  Use new operation types.
16568         (struct linux_target_ops): stop_pc renamed to get_pc.
16569         Add decr_pc_after_break and breakpoint_at.
16570         (get_process, get_thread_proess, get_process_thread)
16571         (strut process_info, all_processes, linux_attach_lwp)
16572         (thread_db_init): New.
16573
16574         * linux-arm-low.c (arm_get_pc, arm_set_pc,
16575         arm_breakpoint, arm_breakpoint_len, arm_breakpoint_at): New.
16576         (the_low_target): Add new members.
16577         * linux-i386-low.c (i386_store_gregset, i386_store_fpregset)
16578         (i386_store_fpxregset): Constify.
16579         (target_regsets): Add new kind identifier.
16580         (i386_get_pc): Renamed from i386_stop_pc.  Simplify.
16581         (i386_set_pc): Add debugging.
16582         (i386_breakpoint_at): New function.
16583         (the_low_target): Add new members.
16584         * linux-mips-low.c (mips_get_pc, mips_set_pc)
16585         (mips_breakpoint, mips_breakpoint_len, mips_reinsert_addr)
16586         (mips_breakpoint_at): New.
16587         (the_low_target): Add new members.
16588         * linux-ppc-low.c (ppc_get_pc, ppc_set_pc)
16589         (ppc_breakpoint, ppc_breakpoint_len, ppc_breakpoint_at): New.
16590         (the_low_target): Add new members.
16591         * linux-sh-low.c (sh_get_pc, sh_set_pc)
16592         (sh_breakpoint, sh_breakpoint_len, sh_breakpoint_at): New.
16593         (the_low_target): Add new members.
16594         * linux-x86-64-low.c (target_regsets): Add new kind
16595         identifier.
16596
16597 2002-05-15  Daniel Jacobowitz  <drow@mvista.com>
16598
16599         From Martin Pool <mbp@samba.org>:
16600         * server.c (gdbserver_usage): New function.
16601         (main): Call it.
16602
16603 2002-05-14  Daniel Jacobowitz  <drow@mvista.com>
16604
16605         * mem-break.c (reinsert_breakpoint_by_bp): Correct typo
16606         stop_at -> stop_pc.
16607
16608 2002-05-04  Andrew Cagney  <ac131313@redhat.com>
16609
16610         * Makefile.in: Remove obsolete code.
16611
16612 2002-04-24  Michal Ludvig  <mludvig@suse.cz>
16613
16614         * linux-low.c (regsets_fetch_inferior_registers),
16615         (regsets_store_inferior_registers): Removed cast to int from
16616         ptrace() calls.
16617         * regcache.h: Added declaration of struct inferior_info.
16618
16619 2002-04-20  Daniel Jacobowitz  <drow@mvista.com>
16620
16621         * inferiors.c (struct inferior_info): Add regcache_data.
16622         (add_inferior): Call create_register_cache.
16623         (clear_inferiors): Call free_register_cache.
16624         (inferior_regcache_data, set_inferior_regcache_data): New functions.
16625         * regcache.c (struct inferior_regcache_data): New.
16626         (registers): Remove.
16627         (get_regcache): New function.
16628         (create_register_cache, free_register_cache): New functions.
16629         (set_register_cache): Don't initialize the register cache here.
16630         (registers_to_string, registers_from_string, register_data): Call
16631         get_regcache.
16632         * regcache.h: Add prototypes.
16633         * server.h: Likewise.
16634
16635 2002-04-20  Daniel Jacobowitz  <drow@mvista.com>
16636
16637         * mem-break.c: New file.
16638         * mem-break.h: New file.
16639         * Makefile.in: Add mem-break.o rule; update server.h
16640         dependencies.
16641         * inferiors.c (struct inferior_info): Add target_data
16642         member.
16643         (clear_inferiors): Free target_data member if set.
16644         (inferior_target_data, set_inferior_target_data): New functions.
16645         * linux-i386-low.c (i386_breakpoint, i386_breakpoint_len)
16646         (i386_stop_pc, i386_set_pc): New.  Add to the_low_target.
16647         * linux-low.c (linux_bp_reinsert): New variable.
16648         (struct inferior_linux_data): New.
16649         (linux_create_inferior): Use set_inferior_target_data.
16650         (linux_attach): Likewise.  Call add_inferior.
16651         (linux_wait_for_one_inferior): New function.
16652         (linux_wait): Call it.
16653         (linux_write_memory): Add const.
16654         (initialize_low): Call set_breakpoint_data.
16655         * linux-low.h (struct linux_target_ops): Add breakpoint
16656         handling members.
16657         * server.c (attach_inferior): Remove extra add_inferior
16658         call.
16659         * server.h: Include mem-break.h.  Update inferior.c
16660         prototypes.
16661         * target.c (read_inferior_memory)
16662         (write_inferior_memory): New functions.
16663         * target.h (read_inferior_memory)
16664         (write_inferior_memory): Change macros to prototypes.
16665         (struct target_ops): Update comments.  Add const to write_memory
16666         definition.
16667
16668 2002-04-11  Daniel Jacobowitz  <drow@mvista.com>
16669
16670         * linux-low.c (usr_store_inferior_registers): Support
16671         registers which are allowed to fail to store.
16672         * linux-low.h (linux_target_ops): Likewise.
16673         * linux-ppc-low.c (ppc_regmap): Support FPSCR.
16674         (ppc_cannot_store_register): FPSCR may not be storable.
16675
16676 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
16677
16678         * server.h: Include <string.h> if HAVE_STRING_H.
16679         * ChangeLog: Correct paths in last ChangeLog entry.
16680
16681 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
16682
16683         * linux-low.h: Remove obsolete prototypes.
16684         (struct linux_target_ops): New.
16685         (extern the_low_target): New.
16686         * linux-low.c (num_regs, regmap): Remove declarations.
16687         (register_addr): Use the_low_target explicitly.
16688         (fetch_register): Likewise.
16689         (usr_fetch_inferior_registers): Likewise.
16690         (usr_store_inferior_registers): Likewise.
16691         * linux-arm-low.c (num_regs): Remove.
16692         (arm_num_regs): Define.
16693         (arm_regmap): Renamed from regmap, made static.
16694         (arm_cannot_fetch_register): Renamed from cannot_fetch_register,
16695         made static.
16696         (arm_cannot_store_register): Renamed from cannot_store_register,
16697         made static.
16698         (the_low_target): New.
16699         * linux-i386-low.c (num_regs): Remove.
16700         (i386_num_regs): Define.
16701         (i386_regmap): Renamed from regmap, made static.
16702         (i386_cannot_fetch_register): Renamed from cannot_fetch_register,
16703         made static.
16704         (i386_cannot_store_register): Renamed from cannot_store_register,
16705         made static.
16706         (the_low_target): New.
16707         * linux-ia64-low.c (num_regs): Remove.
16708         (ia64_num_regs): Define.
16709         (ia64_regmap): Renamed from regmap, made static.
16710         (ia64_cannot_fetch_register): Renamed from cannot_fetch_register,
16711         made static.
16712         (ia64_cannot_store_register): Renamed from cannot_store_register,
16713         made static.
16714         (the_low_target): New.
16715         * linux-m68k-low.c (num_regs): Remove.
16716         (m68k_num_regs): Define.
16717         (m68k_regmap): Renamed from regmap, made static.
16718         (m68k_cannot_fetch_register): Renamed from cannot_fetch_register,
16719         made static.
16720         (m68k_cannot_store_register): Renamed from cannot_store_register,
16721         made static.
16722         (the_low_target): New.
16723         * linux-mips-low.c (num_regs): Remove.
16724         (mips_num_regs): Define.
16725         (mips_regmap): Renamed from regmap, made static.
16726         (mips_cannot_fetch_register): Renamed from cannot_fetch_register,
16727         made static.
16728         (mips_cannot_store_register): Renamed from cannot_store_register,
16729         made static.
16730         (the_low_target): New.
16731         * linux-ppc-low.c (num_regs): Remove.
16732         (ppc_num_regs): Define.
16733         (ppc_regmap): Renamed from regmap, made static.
16734         (ppc_cannot_fetch_register): Renamed from cannot_fetch_register,
16735         made static.
16736         (ppc_cannot_store_register): Renamed from cannot_store_register,
16737         made static.
16738         (the_low_target): New.
16739         * linux-s390-low.c (num_regs): Remove.
16740         (s390_num_regs): Define.
16741         (s390_regmap): Renamed from regmap, made static.
16742         (s390_cannot_fetch_register): Renamed from cannot_fetch_register,
16743         made static.
16744         (s390_cannot_store_register): Renamed from cannot_store_register,
16745         made static.
16746         (the_low_target): New.
16747         * linux-sh-low.c (num_regs): Remove.
16748         (sh_num_regs): Define.
16749         (sh_regmap): Renamed from regmap, made static.
16750         (sh_cannot_fetch_register): Renamed from cannot_fetch_register,
16751         made static.
16752         (sh_cannot_store_register): Renamed from cannot_store_register,
16753         made static.
16754         (the_low_target): New.
16755         * linux-x86-64-low.c (x86_64_regmap): Renamed from regmap.
16756         (the_low_target): New.
16757
16758 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
16759
16760         * Makefile.in: Add stamp-h target.
16761         * configure.in: Create stamp-h.
16762         * configure: Regenerated.
16763
16764 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
16765
16766         * inferiors.c: New file.
16767         * target.c: New file.
16768         * target.h: New file.
16769         * Makefile.in:  Add target.o and inferiors.o.  Update
16770         dependencies.
16771         * linux-low.c (inferior_pid): New static variable,
16772         moved from server.c.
16773         (linux_create_inferior): Renamed from create_inferior.
16774         Call add_inferior.  Return 0 on success instead of a PID.
16775         (linux_attach): Renamed from myattach.
16776         (linux_kill): Renamed from kill_inferior.  Call clear_inferiors ().
16777         (linux_thread_alive): Renamed from mythread_alive.
16778         (linux_wait): Renamed from mywait.  Call clear_inferiors () if the
16779         child dies.
16780         (linux_resume): Renamed from myresume.  Add missing ``return 0''.
16781         (regsets_store_inferior_registers): Correct error message.
16782         Add missing ``return 0''.
16783         (linux_fetch_registers): Renamed from fetch_inferior_registers.
16784         (linux_store_registers): Renamed from store_inferior_registers.
16785         (linux_read_memory): Renamed from read_inferior_memory.
16786         (linux_write_memory): Renamed from write_inferior_memory.
16787         (linux_target_ops): New structure.
16788         (initialize_low): Call set_target_ops ().
16789         * remote-utils.c (unhexify): New function.
16790         (hexify): New function.
16791         (input_interrupt): Send signals to ``signal_pid''.
16792         * server.c (inferior_pid): Remove.
16793         (start_inferior): Update create_inferior call.
16794         (attach_inferior): Call add_inferior.
16795         (handle_query): New function.
16796         (main): Call handle_query for `q' packets.
16797         * server.h: Include "target.h".  Remove obsolete prototypes.
16798         Add prototypes for "inferiors.c", "target.c", hexify, and unhexify.
16799
16800 2002-04-09  Daniel Jacobowitz  <drow@mvista.com>
16801
16802         * Makefile.in: Add WARN_CFLAGS.  Update configury
16803         dependencies.
16804         * configure.in: Check for <string.h>
16805         * configure: Regenerate.
16806         * config.in: Regenerate.
16807         * gdbreplay.c: Include needed system headers.
16808         (remote_open): Remove strchr prototype.
16809         * linux-low.h: Correct #ifdef to HAVE_LINUX_USRREGS.
16810         * regcache.c (supply_register): Change buf argument to const void *.
16811         (supply_register_by_name): Likewise.
16812         (collect_register): Change buf argument to void *.
16813         (collect_register_by_name): Likewise.
16814         * regcache.h: Add missing prototypes.
16815         * remote-utils.c: Include <arpa/inet.h> for inet_ntoa.
16816         * server.c (handle_query): New function.
16817         (attached): New static variable, moved out of main.
16818         (main): Quiet longjmp clobber warnings.
16819         * server.h: Add ATTR_NORETURN and ATTR_FORMAT.  Update prototypes.
16820         * utils.c (error): Remove NORETURN.
16821         (fatal): Likewise.