f9e1f0c642a4f3e987369caf53ce3d91fed6782d
[deliverable/binutils-gdb.git] / gdb / gdbserver / ChangeLog
1 2012-12-17 Joel Brobecker <brobecker@adacore.com>
2
3 * lynx-low.c (lynx_wait_1): Add debug trace before adding
4 new thread.
5
6 2012-12-17 Joel Brobecker <brobecker@adacore.com>
7
8 * lynx-low.c (ptrace_request_to_str): Add handling for
9 PTRACE_GETTRACESIG.
10
11 2012-12-17 Joel Brobecker <brobecker@adacore.com>
12
13 * lynx-low.c (lynx_attach): Delete variable new_process.
14
15 2012-12-17 Joel Brobecker <brobecker@adacore.com>
16
17 * lynx-low.c (lynx_create_inferior): Delete variable
18 new_process.
19
20 2012-12-17 Joel Brobecker <brobecker@adacore.com>
21
22 * lynx-low.c (ptrace_request_to_str): Do not handle
23 PTRACE_GETTHREADLIST if this macro does not exist.
24
25 2012-12-15 Yao Qi <yao@codesourcery.com>
26
27 * Makefile.in (OBS): Add notif.o.
28 * notif.c, notif.h: New.
29 * server.c: Include "notif.h".
30 (struct vstop_notif) <next>: Remove.
31 <base>: New field.
32 (queue_stop_reply): Update.
33 (push_event, send_next_stop_reply): Remove.
34 (discard_queued_stop_replies): Update.
35 (notif_stop): New variable.
36 (handle_v_stopped): Remove.
37 (handle_v_requests): Don't call handle_v_stopped. Call
38 handle_ack_notif instead.
39 (queue_stop_reply_callback): Call notif_event_enque instead
40 of queue_stop_reply.
41 (handle_status): Don't call send_next_stop_reply, call
42 notif_write_event instead.
43 (kill_inferior_callback): Likewise.
44 (detach_or_kill_inferior_callback): Likewise.
45 (main): Call initialize_notif.
46 (process_serial_event): Call QUEUE_is_empty.
47 (handle_target_event): Call notif_push instead of push event.
48 * server.h (push_event): Remove declaration.
49
50 2012-12-10 Tom Tromey <tromey@redhat.com>
51
52 * Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.pre)
53 (COMPILE.post, COMPILE, POSTCOMPILE, IPAGENT_COMPILE): New
54 macros.
55 (.c.o): Rewrite.
56 (ax-ipa.o, tracepoint-ipa.o, utils-ipa.o, format-ipa.o)
57 (common-utils-ipa.o, remote-utils-ipa.o, regcache-ipa.o)
58 (i386-linux-ipa.o, linux-i386-ipa.o, linux-amd64-ipa.o)
59 (amd64-linux-ipa.o, ax.o): Rewrite.
60 (event-loop.o, hostio.o, hostio-errno.o, inferiors.o, mem-break.o)
61 (proc-service.o, regcache.o, remote-utils.o, server.o, target.o)
62 (thread-db.o, tracepoint.o, utils.o, gdbreplay.o, dll.o): Remove.
63 (signals.o, linux-procfs.o, linux-ptrace.o, common-utils.o, vec.o)
64 (gdb_vecs.o, xml-utils.o, linux-osdata.o, ptid.o, buffer.o)
65 (format.o, agent.o, vasprintf.o, vsnprintf.o): Rewrite.
66 (i386-low.o, i387-fp.o, linux-low.o, linux-arm-low.o)
67 (linux-bfin-low.o, linux-cris-low.o, linux-crisv32-low.o)
68 (linux-ia64-low.o, linux-m32r-low.o, linux-mips-low.o)
69 (linux-ppc-low.o, linux-s390-low.o, linux-sh-low.o)
70 (linux-tic6x-low.o, linux-x86-low.o, linux-xtensa-low.o)
71 (linux-tile-low.o, lynx-low.o, lynx-ppc-low.o, nto-low.o)
72 (nto-x86-low.o, linux-low.o, win32-low.o, win32-arm-low.o)
73 (win32-i386-low.o, spu-low.o, reg-arm.o, arm-with-iwmmxt.o)
74 (arm-with-vfpv2.o, arm-with-vfpv3.o, arm-with-neon.o, reg-bfin.o)
75 (reg-cris.o, reg-crisv32.o, i386.o, i386-linux.o, i386-avx.o)
76 (i386-avx-linux.o, i386-mmx.o, i386-mmx-linux.o, reg-ia64.o)
77 (reg-m32r.o, reg-m68k.o, reg-cf.o, mips-linux.o, mips-dsp-linux.o)
78 (mips64-linux.o, mips64-dsp-linux.o, powerpc-32.o, powerpc-32l.o)
79 (powerpc-altivec32l.o, powerpc-cell32l.o, powerpc-vsx32l.o)
80 (powerpc-isa205-32l.o, powerpc-isa205-altivec32l.o)
81 (powerpc-isa205-vsx32l.o, powerpc-e500l.o, powerpc-64l.o)
82 (powerpc-altivec64l.o, powerpc-cell64l.o, powerpc-vsx64l.o)
83 (powerpc-isa205-64l.o, powerpc-isa205-altivec64l.o)
84 (powerpc-isa205-vsx64l.o, s390-linux32.o, s390-linux32v1.o)
85 (s390-linux32v2.o, s390-linux64.o, s390-linux64v1.o)
86 (s390-linux64v2.o, s390x-linux64.o, s390x-linux64v1.o)
87 (s390x-linux64v2.o, tic6x-c64xp-linux.o, tic6x-c64x-linux.o)
88 (tic6x-c62x-linux.o, reg-sh.o, reg-sparc64.o, reg-spu.o, amd64.o)
89 (amd64-linux.o, amd64-avx.o, amd64-avx-linux.o, x32.o)
90 (x32-linux.o, x32-avx.o, x32-avx-linux.o, reg-xtensa.o)
91 (reg-tilegx.o): Remove.
92 (all_object_files): New macro.
93 Include .deps files.
94 * aclocal.m4, configure: Rebuild.
95 * acinclude.m4: Include depstand.m4, lead-dot.m4.
96 * configure.ac: Invoke ZW_CREATE_DEPDIR,
97 ZW_PROG_COMPILER_DEPENDENCIES. Compute GMAKE condition.
98
99 2012-12-05 Tom Tromey <tromey@redhat.com>
100
101 PR gdb/14917:
102 * server.h (current_insn_ptr, emit_error): Declare 'extern'.
103
104 2012-11-28 Markus Metzger <markus.t.metzger@intel.com>
105
106 * configure.ac: Check for linux/perf_event.h.
107 * config.in: Regenerated.
108 * configure: Regenerated.
109
110 2012-11-26 Maxime Villard <rustyBSD@gmx.fr>
111
112 * hostio.c (handle_readlink): Decrease buffer size
113 parameter passed to readlink by one byte.
114
115 2012-11-26 Yao Qi <yao@codesourcery.com>
116
117 * configure.ac (build_warnings): Append '-Wempty-body'.
118 * configure: Regenerated.
119 * linux-low.c (linux_create_inferior): Use braces for empty 'if'
120 body.
121
122 2012-11-15 Pierre Muller <muller@sourceware.org>
123
124 * configure.ac (AC_CHECK_HEADERS): Add wait.h header.
125 * config.in: Regenerate.
126 * configure: Regenerate.
127 * linux-low.c: Use "gdb_stat.h" header instead of <sys/stat.h> header.
128 Use "gdb_wait.h" header instead of <sys/wait.h> header.
129 * lynx-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
130 * remote-utils.c: Use "gdb_stat.h" header instead of <sys/stat.h>
131 header.
132 * server.c: Remove HAVE_WAIT_H conditional. Use "gdb_wait.h" header
133 instead of <sys/wait.h> header.
134 * spu-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
135
136 2012-11-13 Markus Metzger <markus.t.metzger@intel.com>
137
138 * Makefile.in: (INTERNAL_CFLAGS): Add -DGDBSERVER
139 (various make rules): Remove -DGDBSERVER
140
141 2012-11-09 Yao Qi <yao@codesourcery.com>
142
143 * spu-low.c (current_ptid): Move it to ..
144 * gdbthread.h: ... here. New.
145 * remote-utils.c (read_ptid): Use macro 'current_ptid'.
146 * server.c (myresume, process_serial_event): Likewise.
147 * thread-db.c (thread_db_find_new_threads): Likewise.
148 * tracepoint.c (run_inferior_command): Likewise.
149
150 2012-10-01 Andrew Burgess <aburgess@broadcom.com>
151
152 * server.c (handle_search_memory_1): Include access length in
153 warning message.
154
155 2012-09-05 Michael Brandt <michael.brandt@axis.com>
156
157 * linux-crisv32-low.c: Fix compile errors.
158
159 2012-09-04 Yao Qi <yao@codesourcery.com>
160
161 * tracepoint.c (cmd_qtsv): Adjust debug message.
162 Don't check CUR_TPOINT.
163
164 2012-08-28 Yao Qi <yao@codesourcery.com>
165
166 * ax.c, tracepoint.c: Replace ATTR_FORMAT with ATTRIBUTE_PRINTF.
167 * server.h: Include 'libiberty.h' and 'ansidecl.h'.
168 (ATTR_NORETURN, ATTR_FORMAT, ATTR_MALLOC): Remove.
169 Remove declarations of xmalloc, xreallloc, xstrdup and
170 freeargv.
171 * Makefile.in (libiberty_h): New.
172 (server_h): Append dependencies 'libiberty.h' and 'ansidecl.h'.
173 (linux-bfin-low.o): Append dependency 'libiberty.h'.
174
175 2012-08-23 Yao Qi <yao@codesourcery.com>
176
177 * server.h: Remove declaration of 'xsnprintf'.
178
179 2012-08-22 Keith Seitz <keiths@redhat.com>
180
181 * server.h: Include build-gnulib-gbserver/config.h.
182 * gdbreplay.c: Likewise.
183
184 2012-08-08 Doug Evans <dje@google.com>
185
186 * Makefile.in (SFILES): Add gdb_vecs.c.
187 (OBS): Add gdb_vecs.o.
188 (gdb_vecs_h, host_defs_h): New variables.
189 (thread-db.o): Add $(gdb_vecs_h) dependency.
190 (gdb_vecs.o): New rule.
191 * thread-db.c: #include "gdb_vecs.h".
192 (thread_db_load_search): Use a vector to iterate over path elements.
193 Handle text appearing after "$pdir".
194
195 * configure.ac: Add check for strstr.
196 * config.in: Regenerate.
197 * configure: Regenerate.
198
199 2012-08-02 Ulrich Weigand <ulrich.weigand@linaro.org>
200
201 * hostio.c (handle_pread): If pread fails, fall back to attempting
202 lseek/read.
203 (handle_pwrite): Likewise for pwrite.
204
205 2012-08-01 Ulrich Weigand <ulrich.weigand@linaro.org>
206
207 * linux-arm-low.c (arm_linux_hw_point_initialize): Distinguish
208 between unsupported TYPE and unimplementable ADDR/LEN combination.
209 (arm_insert_point): Act on new return value.
210
211 2012-07-31 Pedro Alves <palves@redhat.com>
212
213 * server.c (process_point_options): Only skip tokens if we find
214 one that is unrecognized. Don't treat 'X' specially while
215 skipping unrecognized tokens.
216
217 2012-07-30 Ulrich Weigand <ulrich.weigand@linaro.org>
218
219 * linux-arm-low.c (arm_linux_hw_point_initialize): Do not attempt
220 to 4-byte-align HW breakpoint addresses for Thumb.
221
222 2012-07-27 Yao Qi <yao@codesourcery.com>
223
224 PR remote/14161.
225
226 * server.h: Declare gdb_agent_about_to_close.
227 * target.c (kill_inferior): Include "agent.h".
228 New. Send command 'kill'.
229 * target.h (kill_inferior): Removed macro.
230 * tracepoint.c (gdb_agent_about_to_close): New.
231 (gdb_agent_helper_thread): Handle command 'close'.
232 Wait endlessly until the inferior stops.
233 Install gdb_agent_remove_socket to atexit hook.
234 (agent_socket_name): New static variable.
235 (gdb_agent_socket_init): Replace local variable 'name' with
236 'agent_socket_name'.
237 (gdb_agent_remove_socket): New.
238
239 2012-07-27 Yao Qi <yao@codesourcery.com>
240
241 * server.c (process_point_options): Stop at 'X' when parsing.
242
243 2012-07-19 Michael Eager <eager@eagercon.com>
244
245 * i386-low.c (Z_packet_to_hw_type): Add Z_PACKET_HW_BP, translate
246 to hw_execute.
247 * linux-x86-low.c (x86_insert_point, x86_remove_point):
248 Call i386_low_insert_watchpoint, i386_low_remove_watchpoint to add/del
249 hardware breakpoint.
250
251 2012-07-07 Jan Kratochvil <jan.kratochvil@redhat.com>
252
253 * gdbserver/linux-low.c (initialize_low): Call
254 linux_ptrace_init_warnings.
255
256 2012-07-02 Doug Evans <dje@google.com>
257
258 * mem-break.c (gdb_no_commands_at_breakpoint): Fix cast from
259 pointer to int.
260
261 2012-07-02 Stan Shebs <stan@codesourcery.com>
262
263 * Makefile.in (WARN_CFLAGS_NO_FORMAT): Define.
264 (ax.o): Add it to build rule.
265 (ax-ipa.o): Ditto.
266 (OBS): Add format.o.
267 (IPA_OBS): Add format.o.
268 * server.c (handle_query): Claim support for breakpoint commands.
269 (process_point_options): Add command case.
270 (process_serial_event): Leave running if there are printfs in
271 effect.
272 * mem-break.h (any_persistent_commands): Declare.
273 (add_breakpoint_commands): Declare.
274 (gdb_no_commands_at_breakpoint): Declare.
275 (run_breakpoint_commands): Declare.
276 * mem-break.c (struct point_command_list): New struct.
277 (struct breakpoint): New field command_list.
278 (any_persistent_commands): New function.
279 (add_commands_to_breakpoint): New function.
280 (add_breakpoint_commands): New function.
281 (gdb_no_commands_at_breakpoint): New function.
282 (run_breakpoint_commands): New function.
283 * linux-low.c (linux_wait_1): Test for and run breakpoint commands
284 locally.
285 * ax.c: Include format.h.
286 (ax_printf): New function.
287 (gdb_eval_agent_expr): Add printf opcode.
288
289 2012-06-13 Yao Qi <yao@codesourcery.com>
290
291 * server.c (start_inferior): Remove duplicated writes to fields
292 'last_resume_kind' and 'last_status' of 'current_inferior'.
293
294 2012-06-12 Yao Qi <yao@codesourcery.com>
295 Pedro Alves <palves@redhat.com>
296
297 * linux-low.c (linux_set_resume_request): Simplify predicate. Add
298 comment.
299 * server.c (handle_v_cont): Extend comment.
300
301 2012-06-11 Yao Qi <yao@codesourcery.com>
302
303 * linux-low.c (linux_attach): Add 'static'.
304
305 2012-06-06 Yao Qi <yao@codesourcery.com>
306
307 * ax.c (gdb_eval_agent_expr): Print `top' in hex.
308
309 2012-06-01 Jan Kratochvil <jan.kratochvil@redhat.com>
310
311 Fix gcc -flto compilation warning.
312 * server.c (main): Make variable multi_mode and attach volatile.
313
314 2012-05-30 Thiago Jung Bauermann <thiago.bauermann@linaro.org>
315
316 * linux-low.c (get_r_debug): Disable code using DT_MIPS_RLD_MAP
317 if the platform doesn't know about it.
318
319 2012-05-30 Jeff Kenton <jkenton@tilera.com>
320
321 * Makefile.in (SFILES): Add linux-tile-low.c.
322 (linux-tile-low.o, reg-tilegx.o, reg-tilegx.c): New rules.
323 * configure.srv: Handle tilegx-*-linux*.
324 * linux-tile-low.c: New file.
325
326 2012-05-28 Jan Kratochvil <jan.kratochvil@redhat.com>
327
328 * linux-low.c (linux_qxfer_libraries_svr4): Return -1 if R_DEBUG is -1.
329
330 2012-05-24 Pedro Alves <palves@redhat.com>
331
332 PR gdb/7205
333
334 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
335
336 2012-05-24 Pedro Alves <palves@redhat.com>
337
338 PR gdb/7205
339
340 Replace target_signal with gdb_signal throughout.
341
342 2012-05-22 Maciej W. Rozycki <macro@codesourcery.com>
343
344 * linux-low.c (linux_store_registers): Avoid the copying sequence
345 when no data has been retrieved by ptrace.
346
347 2012-05-22 Will Deacon <will.deacon@arm.com>
348
349 * linux-low (__UCLIBC__ && !(__UCLIBC_HAS_MMU__ || __ARCH_HAS_MMU__)):
350 Include asm/ptrace.h.
351 (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define only if not
352 already defined.
353
354 2012-05-21 Maciej W. Rozycki <macro@codesourcery.com>
355
356 * linux-low.c (linux_store_registers): Don't re-retrieve data
357 with ptrace that has already been obtained from /proc. Always
358 copy any data retrieved with ptrace to the buffer supplied.
359
360 2012-05-11 Yao Qi <yao@codesourcery.com>
361 Pedro Alves <palves@redhat.com>
362
363 * linux-low.c (enum stopping_threads_kind): New.
364 (stopping_threads): Change type to `enum stopping_threads_kind'.
365 (handle_extended_wait): If stopping and suspending threads, leave
366 the new_lwp suspended too.
367 (linux_wait_for_event): Adjust.
368 (stop_all_lwps): Set `stopping_threads' to
369 STOPPING_AND_SUSPENDING_THREADS or STOPPING_THREADS depending on
370 whether we're suspending threads or just stopping them. Assert no
371 recursion happens.
372
373 2012-04-29 Yao Qi <yao@codesourcery.com>
374
375 * server.h: Move some code to ...
376 * gdbthread.h: ... here. New.
377 * Makefile.in (inferiors.o, regcache.o): Depends on gdbthread.h
378 (remote-utils.o, server.o, target.o tracepoint.o): Likewise.
379 (nto-low.o, win32-low.o): Likewise.
380 * inferiors.c, linux-low.h, nto-low.c: Include gdbthread.h.
381 * regcache.c, remote-utils.c, server.c: Likewise.
382 * target.c, tracepoint.c, win32-low.c: Likewise.
383
384 2012-04-24 Thiago Jung Bauermann <thiago.bauermann@linaro.org>
385
386 * linux-low.h (PTRACE_ARG3_TYPE): Move macro from linux-low.c.
387 (PTRACE_ARG4_TYPE): Likewise.
388 (PTRACE_XFER_TYPE): Likewise.
389 * linux-arm-low.c (arm_prepare_to_resume): Cast third argument of
390 ptrace to PTRACE_ARG3_TYPE.
391 * linux-low.c (PTRACE_ARG3_TYPE): Move macro to linux-low.h.
392 (PTRACE_ARG4_TYPE): Likewise.
393 (PTRACE_XFER_TYPE): Likewise.
394 (linux_detach_one_lwp): Cast fourth argument of
395 ptrace to long then PTRACE_ARG4_TYPE.
396 (regsets_fetch_inferior_registers): Cast third argument of
397 ptrace to long then PTRACE_ARG3_TYPE.
398 (regsets_store_inferior_registers): Likewise.
399
400 2012-04-20 Pedro Alves <palves@redhat.com>
401
402 * configure: Regenerate.
403
404 2012-04-19 Pedro Alves <palves@redhat.com>
405
406 * Makefile.in (GNULIB_BUILDDIR): New.
407 (LIBGNU, INCGNU, GNULIB_H): Adjust.
408 (SUBDIRS, CLEANDIRS, REQUIRED_SUBDIRS): New.
409 (all, install-only, uninstall, clean-info, all-lib, clean): No
410 longer pass GNULIB_FLAGS_TO_PASS. Use subdir_do.
411 (maintainer-clean realclean distclean): Use subdir_do.
412 (subdir_do): New.
413 (gnulib/import/Makefile): Adjust. Replace gnulib/import with
414 $(GNULIB_BUILDDIR). Don't pass argument to config.status.
415 * acinclude.m4: Include acx_configure_dir.m4.
416 * configure.ac: Remove gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE
417 calls. Call AC_PROG_RANLIB. Configure gnulib using
418 ACX_CONFIGURE_DIR.
419 (GNULIB): New.
420 (GNULIB_STDINT_H): Adjust.
421 (AC_OUTPUT): Don't output gnulib/Makefile anymore.
422 * gdbreplay.c: Include build-gnulib/config.h.
423 * server.h: Likewise.
424 * aclocal.m4: Regenerate.
425 * config.in: Regenerate.
426 * configure: Regenerate.
427
428 2012-04-19 Pedro Alves <palves@redhat.com>
429
430 * Makefile.in (LIBGNU, INCGNU): Adjust.
431 (GNULIB_FLAGS_TO_PASS, GNULIB_H): Adjust.
432 (all, install-only, uninstall, clean-info, all-lib, clean)
433 (maintainer-clean, Makefile, gnulib/Makefile): Adjust.
434 * configure.ac: Adjust AC_OUTPUT output.
435 * aclocal.m4: Regenerate.
436 * configure: Regenerate.
437
438 2012-04-19 Pedro Alves <palves@redhat.com>
439
440 * Makefile.in (generated_files): New.
441 (server_h): Remove the explicit dependency on config.h, and depend
442 on $generated_files.
443
444 2012-04-19 Pedro Alves <palves@redhat.com>
445
446 * Makefile.in (INCGNU): Add -Ignulib.
447
448 2012-04-19 Pedro Alves <palves@redhat.com>
449
450 * Makefile.in (GNULIB_INCLUDE_DIR): Rename to ...
451 (INCGNU): ... this, and spell out -I here.
452 (GNULIB_LIB): Rename to ...
453 (LIBGNU): ... this.
454 (INCLUDE_CFLAGS, gdbserver$(EXEEXT), $(GNULIB_LIB) rule): Adjust.
455
456 2012-04-19 Pedro Alves <palves@redhat.com>
457
458 * config.in: Regenerate.
459
460 2012-04-19 Pedro Alves <palves@redhat.com>
461
462 * configure.ac: Remove AC_CHECK_DECLS check for memmem.
463 * server.h (memmem): Remove declaration.
464 * config.in: Regenerate.
465 * configure: Regenerate.
466
467 2012-04-19 Yao Qi <yao@codesourcery.com>
468
469 * Makefile.in (SFILES): Add common/vec.c.
470 (OBS): Add vec.o.
471 (vec.o): New rule.
472
473 2012-04-19 Yao Qi <yao@codesourcery.com>
474
475 * remote-utils.c (prepare_resume_reply): Replace with macro
476 target_core_of_thread.
477 * server.c (handle_qxfer_threads_proper): Likewise.
478 * target.h (traget_core_of_thread): New macro.
479
480 2012-04-18 Pedro Alves <palves@redhat.com>
481
482 * aclocal.m4: Regenerate.
483 * configure: Regenerate.
484
485 2012-04-16 Yao Qi <yao@codesourcery.com>
486
487 * tracepoint.c (cmd_qtstart): Download tracepoints even when they are
488 duplicated on address.
489
490 2012-04-16 Yao Qi <yao@codesourcery.com>
491
492 * tracepoint.c (COPY_FIELD_TO_BUF): New macro.
493 (struct tracepoint_action_ops) <send>: New field.
494 (m_tracepoint_action_send, r_tracepoint_action_send): New.
495 (agent_expr_send, x_tracepoint_action_send): New.
496 (l_tracepoint_action_send): New.
497 (cmd_qtdp): Download and install tracepoint
498 according to `use_agent'.
499 (run_inferior_command): Add one more parameter `len'.
500 Update callers.
501 (tracepoint_send_agent): New.
502 (cmd_qtdp, cmd_qtstart): Call tracepoint_send_agent.
503
504 2012-04-16 Yao Qi <yao@codesourcery.com>
505
506 * tracepoint.c (download_tracepoints): Moved to ...
507 (cmd_qtstart): ... here.
508
509 2012-04-14 Yao Qi <yao@codesourcery.com>
510
511 * tracepoint.c: Include inttypes.h.
512 (struct collect_memory_action): Use sized types.
513 (struct tracepoint): Likewise.
514 (cmd_qtdp, stop_tracing): Update print specifiers.
515 (cmd_qtp, response_tracepoint): Likewise.
516 (collect_data_at_tracepoint): Likewise.
517 (collect_data_at_step): Likewise.
518
519 2012-04-14 Yao Qi <yao@codesourcery.com>
520
521 Import gnulib module inttypes.
522 * aclocal.m4, config.in, configure: Regenerated.
523
524 2012-04-14 Yao Qi <yao@codesourcery.com>
525
526 * Makefile.in (maintainer-clean, realclean, distclean): Remove
527 Makefile and config.status at last.
528
529 2012-04-13 Yao Qi <yao@codesourcery.com>
530
531 * tracepoint.c: Include stdint.h unconditionally.
532
533 2012-04-13 Thiago Jung Bauermann <thiago.bauermann@linaro.org>
534
535 * acinclude.m4 (GDBSERVER_HAVE_THREAD_DB_TYPE): New macro based
536 on BFD_HAVE_SYS_PROCFS_TYPE.
537 * configure.ac: Look for lwpid_t and psaddr_t in libthread_db.h.
538 * configure: Regenerate.
539 * config.in: Likewise.
540
541 2012-04-13 H.J. Lu <hongjiu.lu@intel.com>
542
543 * Makefile.in (clean): Also remove x32.c x32-linux.c
544 x32-avx.c x32-avx-linux.c.
545 (x32.o): New target.
546 (x32.c): Likewise.
547 (x32-linux.o): Likewise.
548 (x32-linux.c): Likewise.
549 (x32-avx.o): Likewise.
550 (x32-avx.c): Likewise.
551 (x32-avx-linux.o): Likewise.
552 (x32-avx-linux.c): Likewise.
553
554 * configure.srv (srv_amd64_regobj): Add x32.o x32-avx.o.
555 (srv_amd64_linux_regobj): Add x32-linux.o x32-avx-linux.o.
556 (srv_i386_64bit_xmlfiles): Add i386/x32-core.xml.
557 (srv_amd64_xmlfiles): Add i386/x32.xml i386/x32-avx.xml.
558 (srv_amd64_linux_xmlfiles): Add i386/x32-linux.xml
559 i386/x32-avx-linux.xml.
560
561 * linux-x86-low.c (init_registers_x32_linux): New prototype.
562 (init_registers_x32_avx_linux): Likwise.
563 (x86_linux_update_xmltarget): Call init_registers_x32_linux
564 or init_registers_x32_avx_linux if linux_is_elf64 is false.
565
566 2012-04-13 Pedro Alves <palves@redhat.com>
567
568 * Makefile.in (GNULIB_FLAGS_TO_PASS): New.
569 (FLAGS_TO_PASS): Don't change or set $top_srcdir, $srcdir and VPATH.
570 (all, uninstall, clean-info, all-lib, clean, maintainer-clean)
571 (realclean, distclean): Explicitly pass $GNULIB_FLAGS_TO_PASS to
572 the sub-make.
573
574 2012-04-12 H.J. Lu <hongjiu.lu@intel.com>
575
576 * linux-x86-low.c (compat_x32_clock_t): New.
577 (compat_x32_siginfo_t): Likewise.
578 (compat_x32_siginfo_from_siginfo): Likewise.
579 (siginfo_from_compat_x32_siginfo): Likewise.
580 (linux_is_elf64): Likewise.
581 (x86_siginfo_fixup): Call compat_x32_siginfo_from_siginfo
582 and siginfo_from_compat_x32_siginfo for x32.
583 (x86_arch_setup): Set linux_is_elf64.
584
585 2012-04-12 H.J. Lu <hongjiu.lu@intel.com>
586
587 PR gdb/13969
588 * linux-low.c (linux_pid_exe_is_elf_64_file): Also return the
589 e_machine field.
590 (linux_qxfer_libraries_svr4): Update call to elf_64_file_p.
591 * linux-low.h (linux_pid_exe_is_elf_64_file): Updated.
592 * linux-x86-low.c (x86_arch_setup): Check if GDBserver is
593 compatible with process.
594
595 2012-04-12 Yao Qi <yao@codesourcery.com>
596
597 * Makefile.in: Define abs_top_srcdir and abs_srcdir.
598 (INCLUDE_CFLAGS): Append GNULIB_INCLUDE_DIR.
599 (install-only, install-info, clean): Handle sub dir gnulib.
600 (all-lib, am--refresh): New targets.
601 (memmem.o): Remove target.
602 * configure.ac: Remove AC_CONFIG_LIBOBJ_DIR.
603 Invoke gl_EARLY. Invoke AC_CHECK_PROGS for make.
604 (AC_REPLACE_FUNCS): Remove memmem.
605 Invoke gl_INIT and AM_INIT_AUTOMAKE.
606 (AC_OUTPUT): Generate Makefile in gnulib/.
607 * aclocal.m4, config.in, configure: Regenerated.
608
609 2012-04-10 Maciej W. Rozycki <macro@codesourcery.com>
610
611 * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP.
612
613 2012-04-05 Pedro Alves <palves@redhat.com>
614
615 -Werror=strict-aliasing
616
617 * spu-low.c (parse_spufs_run): Avoid dereferencing type-punned
618 pointer.
619
620 2012-04-04 Pedro Alves <palves@redhat.com>
621
622 * linux-sparc-low.c (sparc_fill_gregset_to_stack)
623 (sparc_store_gregset_from_stack, sparc_store_gregset)
624 (sparc_breakpoint_at): Fix formatting.
625
626 2012-03-30 Thiago Jung Bauermann <thiago.bauermann@linaro.org>
627
628 * configure.ac: Check whether Elf32_auxv_t and Elf64_auxv_t
629 are available.
630 * linux-low.c [HAVE_ELF32_AUXV_T] (Elf32_auxv_t): Add typedef.
631 [HAVE_ELF64_AUXV_T] (Elf64_auxv_t): Likewise.
632 * config.in: Regenerate.
633 * configure: Likewise.
634
635 2012-03-29 Pedro Alves <palves@redhat.com>
636
637 * linux-low.c (regsets_store_inferior_registers) [__sparc__]:
638 Correct ptrace arguments.
639
640 2012-03-28 Pedro Alves <palves@redhat.com>
641
642 * linux-ia64-low.c (ia64_regmap): Map IA64_EC_REGNUM to PT_AR_EC.
643 (IA64_GR0_REGNUM, IA64_FR0_REGNUM)
644 (IA64_FR1_REGNUM): New defines.
645 (ia64_fetch_register): New.
646 (the_low_target): Install it.
647 * linux-low.h (struct linux_target_ops) <fetch_register>: New
648 field.
649 * linux-low.c (linux_fetch_registers): Try the
650 the_low_target.fetch_register hook first.
651
652 * linux-arm-low.c (the_low_target): Adjust.
653 * linux-bfin-low.c (the_low_target): Adjust.
654 * linux-cris-low.c (the_low_target): Adjust.
655 * linux-crisv32-low.c (the_low_target): Adjust.
656 * linux-m32r-low.c (the_low_target): Adjust.
657 * linux-m68k-low.c (the_low_target): Adjust.
658 * linux-mips-low.c (the_low_target): Adjust.
659 * linux-ppc-low.c (the_low_target): Adjust.
660 * linux-s390-low.c (the_low_target): Adjust.
661 * linux-sh-low.c (the_low_target): Adjust.
662 * linux-sparc-low.c (the_low_target): Adjust.
663 * linux-tic6x-low.c (the_low_target): Adjust.
664 * linux-x86-low.c (the_low_target): Adjust.
665 * linux-xtensa-low.c (the_low_target): Adjust.
666
667 2012-03-26 Pedro Alves <palves@redhat.com>
668
669 * server.c (handle_qxfer_libraries): Don't bail early if
670 the_target->qxfer_libraries_svr4 is not NULL.
671
672 2012-03-26 Pedro Alves <palves@redhat.com>
673
674 * linux-low.c (linux_qxfer_libraries_svr4): Fix pasto in comment.
675
676 2012-03-23 Pedro Alves <palves@redhat.com>
677
678 * linux-low.c (linux_qxfer_libraries_svr4): Terminate the
679 "library-list-svr4" element's start tag when the the DSO list is
680 empty.
681
682 2012-03-23 Pedro Alves <palves@redhat.com>
683
684 * linux-low.c (read_one_ptr): Read the inferior's pointer through
685 a variable whose type size is the same as the inferior's pointer
686 size.
687
688 2012-03-21 Thomas Schwinge <thomas@codesourcery.com>
689
690 * linux-arm-low.c (arm_stopped_by_watchpoint): Use siginfo_t instead of
691 struct siginfo.
692 * linux-low.c (siginfo_fixup, linux_xfer_siginfo): Likewise.
693 * linux-x86-low.c (x86_siginfo_fixup): Likewise.
694 * linux-low.h: Include <signal.h>.
695 (struct siginfo): Remove forward declaration.
696 (struct linux_target_ops) <siginfo_fixup>: Use siginfo_t instead of
697 struct siginfo.
698
699 2012-03-21 Mike Frysinger <vapier@gentoo.org>
700
701 * .gitignore: Ignore more files.
702
703 2012-03-19 Pedro Alves <palves@redhat.com>
704 Jan Kratochvil <jan.kratochvil@redhat.com>
705
706 * server.c (cont_thread, general_thread): Add describing comments.
707 (start_inferior): Clear `cont_thread'.
708 (handle_v_cont): Don't set `cont_thread' if resuming all threads
709 of a process.
710
711 2012-03-15 Yao Qi <yao@codesourcery.com>
712
713 * tracepoint.c (install_tracepoint): Move duplicated tracepoint
714 handling to ...
715 (cmd_qtdp): ... here.
716
717 2012-03-15 Yao Qi <yao@codesourcery.com>
718
719 * tracepoint.c (struct tracepoint_action_ops): New.
720 (struct tracepoint_action) [!IN_PROCESS_AGENT] <ops>: New field.
721 (m_tracepoint_action_download): New.
722 (r_tracepoint_action_download): New.
723 (x_tracepoint_action_download): New.
724 (l_tracepoint_action_download): New.
725 (add_tracepoint_action): Install `action->ops' according type.
726 (download_tracepoint_1): Move code `download' function pointer
727 of various tracepoint_action_ops.
728
729 2012-03-13 Jan Kratochvil <jan.kratochvil@redhat.com>
730
731 * linux-low.c (linux_attach_lwp_1): New variable buffer. Call
732 linux_ptrace_attach_warnings.
733
734 2012-03-13 Jan Kratochvil <jan.kratochvil@redhat.com>
735
736 * Makefile.in (linux-ptrace.o): New.
737 * configure.srv (arm*-*-linux*, bfin-*-*linux*, crisv32-*-linux*)
738 (cris-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*)
739 (m68*-*-linux*, m68*-*-uclinux*, mips*-*-linux*, powerpc*-*-linux*)
740 (s390*-*-linux*, sh*-*-linux*, sparc*-*-linux*, tic6x-*-uclinux)
741 (x86_64-*-linux*, xtensa*-*-linux*): Add linux-ptrace.o to SRV_TGTOBJ
742 of these targets.
743 * linux-low.c (linux_attach_lwp_1): Remove redundent else clause.
744
745 2012-03-08 Yao Qi <yao@codesourcery.com>
746 Pedro Alves <palves@redhat.com>
747
748 Fix PR server/13392.
749 * linux-x86-low.c (amd64_install_fast_tracepoint_jump_pad): Check
750 offset of JMP insn.
751 * tracepoint.c (remove_tracepoint): New.
752 (cmd_qtdp): Call remove_tracepoint when failed to install.
753
754 2012-03-07 Pedro Alves <palves@redhat.com>
755
756 * linux-low.c (get_detach_signal): New.
757 (linux_detach_one_lwp): Get rid of a pending SIGSTOP with SIGCONT.
758 Pass on pending signals to PTRACE_DETACH. Check the result of the
759 ptrace call.
760 * server.c (program_signals, program_signals_p): New.
761 (handle_general_set): Handle QProgramSignals.
762 * server.h (program_signals, program_signals_p): Declare.
763
764 2012-03-05 Pedro Alves <palves@redhat.com>
765 Jan Kratochvil <jan.kratochvil@redhat.com>
766
767 * linux-low.c (get_dynamic): Don't warn when PT_PHDR isn't found.
768 New comment why.
769
770 2012-03-03 Yao Qi <yao@codesourcery.com>
771
772 * tracepoint.c (tracepoint_look_up_symbols): Update call to
773 agent_look_up_symbols.
774
775 2012-03-03 Yao Qi <yao@codesourcery.com>
776
777 * Makefile.in (linux-low.o): Keep dependence on agent.h.
778 (linux-x86-low.o): Likewise.
779 * server.h: Remove in_process_agent_loaded.
780 * tracepoint.c (in_process_agent_loaded): Removed. Moved it
781 common/agent.c.
782 Update callers.
783
784 2012-03-03 Yao Qi <yao@codesourcery.com>
785
786 * tracepoint.c (gdb_agent_capability): New global.
787 (in_process_agent_loaded_ust): Renamed to
788 `in_process_agent_supports_ust'.
789 Update callers.
790 (in_process_agent_supports_ust): Call agent_capability_check.
791 (clear_installed_tracepoints): Assert that agent supports
792 agent.
793
794 2012-03-03 Yao Qi <yao@codesourcery.com>
795
796 * linux-low.c (linux_supports_agent): New.
797 (linux_target_ops): Initialize field `supports_agent' with
798 linux_supports_agent.
799 * target.h (struct target_ops) <supports_agent>: New.
800 (target_supports_agent): New macro.
801 * server.c (handle_general_set): Handle packet 'QAgent'.
802 (handle_query): Send `QAgent+'.
803 * Makefile.in (server.o): Depends on agent.h.
804
805 2012-03-03 Yao Qi <yao@codesourcery.com>
806
807 * Makefile.in (OBS): Add agent.o.
808 Add new rule for agent.o.
809 Track dependence of tracepoint.c on agent.h.
810 * tracepoint.c (run_inferior_command_1):
811 (run_inferior_command): Call agent_run_command.
812 (gdb_ust_connect_sync_socket): Deleted. Move it to
813 common/agent.c.
814 (resume_thread, stop_thread): Likewise.
815 (gdb_ust_socket_init): Renamed to ...
816 (gdb_agent_socket_init): ... New.
817 (gdb_ust_thread): Renamed to ...
818 (gdb_agent_helper_thread): ... New.
819 (gdb_ust_init): Move some code to ...
820 (gdb_agent_init): ... here. New.
821 [HAVE_UST]: Call gdb_ust_init.
822 (initialize_tracepoint_ftlib): Call gdb_agent_init.
823 * configure.ac: Add `sys/un.h' to AC_CHECK_HEADERS.
824 * config.in, configure: Regenerated.
825
826 2012-03-02 Pedro Alves <palves@redhat.com>
827
828 * inferiors.c (add_pid_to_list, pull_pid_from_list): Delete.
829 * linux-low.c (struct simple_pid_list): New.
830 (stopped_pids): New a struct simple_pid_list pointer.
831 (add_to_pid_list, pull_pid_from_list): New.
832 (handle_extended_wait): Don't assume the first signal new children
833 report is SIGSTOP. Adjust call to pull_pid_from_list.
834 (linux_wait_for_lwp): Adjust.
835
836 2012-03-02 Yao Qi <yao@codesourcery.com>
837
838 * tracepoint.c (do_action_at_tracepoint): Write `stop_pc' in
839 debug log.
840
841 2012-03-02 Yao Qi <yao@codesourcery.com>
842
843 * tracepoint.c (collect_ust_data_at_tracepoint): Remove parameters
844 `stop_pc' and `tpoint'. Update caller.
845
846 2012-03-01 Maciej W. Rozycki <macro@codesourcery.com>
847
848 * linux-low.h (linux_target_ops): Add regset_bitmap member.
849 * linux-low.c (use_linux_regsets): New macro.
850 [!HAVE_LINUX_REGSETS] (regsets_fetch_inferior_registers): Likewise.
851 [!HAVE_LINUX_REGSETS] (regsets_store_inferior_registers): Likewise.
852 (linux_register_in_regsets): New function.
853 (usr_fetch_inferior_registers): Skip registers covered by
854 regsets.
855 (usr_store_inferior_registers): Likewise.
856 (usr_fetch_inferior_registers): New macro.
857 (usr_store_inferior_registers): Likewise.
858 (linux_fetch_registers): Handle mixed regset/non-regset targets.
859 (linux_store_registers): Likewise.
860 * linux-mips-low.c (init_registers_mips_dsp_linux): New
861 prototype.
862 (init_registers_mips64_dsp_linux): Likewise.
863 (init_registers_mips_linux): New macro.
864 (init_registers_mips_dsp_linux): Likewise.
865 (mips_dsp_num_regs): Likewise.
866 (DSP_BASE, DSP_CONTROL): New fallback macros.
867 (mips_base_regs): New macro.
868 (mips_regmap): Use it. Fix the size.
869 (mips_dsp_regmap): New variable.
870 (mips_dsp_regset_bitmap): Likewise.
871 (mips_arch_setup): New function.
872 (mips_cannot_fetch_register): Use the_low_target.regmap rather
873 than mips_regmap.
874 (mips_cannot_store_register): Likewise.
875 (the_low_target): Update .arch_setup, .num_regs and .regmap
876 initializers. Add .regset_bitmap initializer.
877 * linux-arm-low.c (the_low_target): Add .regset_bitmap
878 initializer.
879 * linux-bfin-low.c (the_low_target): Likewise.
880 * linux-cris-low.c (the_low_target): Likewise.
881 * linux-crisv32-low.c (the_low_target): Likewise.
882 * linux-ia64-low.c (the_low_target): Likewise.
883 * linux-m32r-low.c (the_low_target): Likewise.
884 * linux-m68k-low.c (the_low_target): Likewise.
885 * linux-ppc-low.c (the_low_target): Likewise.
886 * linux-s390-low.c (the_low_target): Likewise.
887 * linux-sh-low.c (the_low_target): Likewise.
888 * linux-sparc-low.c (the_low_target): Likewise.
889 * linux-tic6x-low.c (the_low_target): Likewise.
890 * linux-x86-low.c (the_low_target): Likewise.
891 * linux-xtensa-low.c (the_low_target): Likewise.
892 * configure.srv <mips*-*-linux*>: Add mips-dsp-linux.o and
893 mips64-dsp-linux.o to srv_regobj. Add mips-dsp-linux.xml,
894 mips64-dsp-linux.xml, mips-dsp.xml and mips64-dsp.xml to
895 srv_xmlfiles.
896 * Makefile.in (mips-dsp-linux.o, mips-dsp-linux.c): New targets.
897 (mips64-dsp-linux.o, mips64-dsp-linux.c): Likewise.
898
899 2012-02-29 Yao Qi <yao@codesourcery.com>
900 Pedro Alves <palves@redhat.com>
901
902 * linux-low.c: (linux_wait_1): Call unsuspend_all_lwps when
903 `step_over_finished' is true.
904
905 2012-02-27 Pedro Alves <palves@redhat.com>
906
907 * linux-low.c (pid_is_stopped): Delete, moved to common/.
908 (linux_attach_lwp_1): Adjust to use linux_proc_pid_is_stopped.
909
910 2012-02-27 Pedro Alves <palves@redhat.com>
911
912 PR server/9684
913 * linux-low.c (pid_is_stopped): New.
914 (linux_attach_lwp_1): Handle attaching to 'T (stopped)' processes.
915
916 2012-02-25 Luis Machado <lgustavo@codesourcery.com>
917
918 * mem-break.c (clear_gdb_breakpoint_conditions): Fix de-allocation
919 of conditions.
920
921 2012-02-24 Maciej W. Rozycki <macro@codesourcery.com>
922
923 * linux-mips-low.c (mips_regmap): Correct the index of $f9.
924
925 2012-02-24 Luis Machado <lgustavo@codesourcery>
926
927 * server.c (handle_query): Advertise support for target-side
928 breakpoint condition evaluation.
929 (process_point_options): New function.
930 (process_serial_event): When inserting a breakpoint, check for
931 a target-side condition that should be evaluated.
932
933 * mem-break.c: Include regcache.h and ax.h.
934 (point_cond_list_t): New data structure.
935 (breakpoint) <cond_list>: New field.
936 (find_gdb_breakpoint_at): Make non-static.
937 (delete_gdb_breakpoint_at): Clear any target-side
938 conditions.
939 (clear_gdb_breakpoint_conditions): New function.
940 (add_condition_to_breakpoint): Likewise.
941 (add_breakpoint_condition): Likewise.
942 (gdb_condition_true_at_breakpoint): Likewise.
943 (gdb_breakpoint_here): Return result directly instead
944 of going through a local variable.
945
946 * mem-break.h (find_gdb_breakpoint_at): New prototype.
947 (clear_gdb_breakpoint_conditions): Likewise.
948 (add_breakpoint_condition): Likewise.
949 (gdb_condition_true_at_breakpoint): Likewise.
950
951 * linux-low.c (linux_wait_1): Evaluate target-side breakpoint condition.
952 (need_step_over_p): Take target-side breakpoint condition into
953 consideration.
954
955 2012-02-24 Luis Machado <lgustavo@codesourcery>
956
957 * server.h: Include tracepoint.h.
958 (agent_mem_read, agent_get_trace_state_variable_value,
959 agent_set_trace_state_variable_value,
960 agent_tsv_read, agent_mem_read_string, get_get_tsv_func_addr,
961 get_set_tsv_func_addr): New prototypes.
962
963 * ax.h: New include file.
964 * ax.c: New source file.
965
966 * tracepoint.c: Include ax.h.
967 (gdb_agent_op, gdb_agent_op_names, gdb_agent_op_sizes,
968 agent_expr, eval_result_type): Move to ax.h.
969 (parse_agent_expr): Rename to ...
970 (gdb_parse_agent_expr): ... this, make it non-static and move
971 to ax.h.
972 (unparse_agent_expr) Rename to ...
973 (gdb_unparse_agent_expr): ... this, make it non-static and move
974 to ax.h.
975 (eval_agent_expr): Rename to ...
976 (eval_tracepoint_agent_expr): ... this.
977 (agent_mem_read, agent_mem_read_string, agent_tsv_read): Remove
978 forward declarations.
979 (add_tracepoint_action): Call gdb_parse_agent_expr (...).
980 (agent_get_trace_state_variable_value): New function.
981 (agent_set_trace_state_variable_value): New function.
982 (cmd_qtdp): Call gdb_parse_agent_expr (...).
983 (response_tracepoint): Call gdb_unparse_agent_expr (...).
984 (do_action_at_tracepoint): Call eval_tracepoint_agent_expr (...).
985 (condition_true_at_tracepoint): Likewise.
986 (parse_agent_expr): Rename to ...
987 (gdb_parse_agent_expr): ... this and move to ax.c.
988 (unparse_agent_expr): Rename to ...
989 (gdb_unparse_agent_expr): ... this and move to ax.c.
990 (gdb_agent_op_name): Move to ax.c.
991 (eval_agent_expr): Rename to ...
992 (gdb_eval_agent_expr): ... this, use regcache passed as parameter
993 and move to ax.c.
994 (eval_tracepoint_agent_expr): New function.
995 (agent_mem_read, agent_mem_read_string, agent_tsv_read): Make
996 non-static.
997 (current_insn_ptr, emit_error, struct bytecode_address): Move to
998 ax.c.
999 (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul, emit_lsh,
1000 emit_rsh_signed, emit_rsh_unsigned, emit_ext, emit_log_not,
1001 emit_bit_and, emit_bit_or, emit_bit_xor, emit_bit_not, emit_equal,
1002 emit_less_signed, emit_less_unsigned, emit_ref, emit_if_goto,
1003 emit_goto, write_goto_address, emit_const, emit_reg, emit_pop,
1004 emit_stack, emit_zero_ext, emit_swap, emit_stack_adjust,
1005 emit_int_call_1, emit_void_call_2, emit_eq_goto, emit_ne_goto,
1006 emit_lt_goto, emit_ge_goto, emit_gt_goto, emit_le_goto): Move to ax.c.
1007 (get_get_tsv_func_addr, get_set_tsv_func_addr): New functions.
1008 (compile_bytecodes): Remove forward declaration.
1009 (is_goto_target): Move to ax.c.
1010 (compile_bytecodes): Move to ax.c and call
1011 agent_get_trace_state_variable_value (...) and
1012 agent_set_trace_state_variable_value (...).
1013
1014 * Makefile.in: Update ax.c and IPA dependencies.
1015
1016 2012-02-24 Pedro Alves <palves@redhat.com>
1017
1018 * tracepoint.c (cmd_bigqtbuffer): Rename as ...
1019 (cmd_bigqtbuffer_circular): ... this. Only handle
1020 'QTBuffer:circular:'.
1021 (handle_tracepoint_general_set): Adjust.
1022
1023 2012-02-16 Yao Qi <yao@codesourcery.com>
1024
1025 * inferiors.c: Move code to ...
1026 * dll.c: .... here. New.
1027 * server.h: Declare clear_dlls.
1028 * Makefile.in (SFILES): Add dll.c.
1029 (OBS): Add dll.o
1030 (dll.o): New rule.
1031
1032 2012-02-11 Yao Qi <yao@codesourcery.com>
1033
1034 * server.c: (handle_monitor_command): Add a new parameter
1035 `own_buf'.
1036 (handle_query): Update caller.
1037
1038 2012-02-09 Joel Brobecker <brobecker@adacore.com>
1039
1040 * configure.ac: Add readlink to AC_CHECK_FUNCS list.
1041 * configure, config.in: Regenerate.
1042 * hostio.c: Provide an alternate implementation if HAVE_READLINK
1043 is not defined.
1044
1045 2012-02-02 Pedro Alves <palves@redhat.com>
1046
1047 Try SIGKILL first, then PTRACE_KILL.
1048 * linux-low.c (linux_kill_one_lwp): New.
1049 (linux_kill_one_lwp): Rename to ...
1050 (kill_one_lwp_callback): ... this. Use the new
1051 linux_kill_one_lwp.
1052
1053 2012-02-02 Pedro Alves <palves@redhat.com>
1054
1055 * tracepoint.c (cmd_qtminftpilen): Return 0 if there's no current
1056 inferior.
1057
1058 2012-01-27 Pedro Alves <palves@redhat.com>
1059
1060 * linux-low.c (linux_child_pid_to_exec_file): Delete.
1061 (elf_64_file_p): Make static.
1062 (linux_pid_exe_is_elf_64_file): New.
1063 * linux-low.h (linux_child_pid_to_exec_file, elf_64_file_p):
1064 Delete declarations.
1065 (linux_pid_exe_is_elf_64_file): Declare.
1066 * linux-x86-low.c (x86_arch_setup): Use
1067 linux_pid_exe_is_elf_64_file.
1068
1069 2012-01-25 Jan Kratochvil <jan.kratochvil@redhat.com>
1070
1071 * linux-low.c (linux_wait_for_event_1): Rename to ...
1072 (linux_wait_for_event): ... here and merge it with former
1073 linux_wait_for_event - new variable wait_ptid, use it.
1074 (linux_wait_for_event): Remove - merge it to linux_wait_for_event_1.
1075
1076 2012-01-23 Pedro Alves <palves@redhat.com>
1077
1078 * server.c (main): Avoid yet another case of infinite loop while
1079 detaching/killing after a longjmp.
1080
1081 2012-01-20 Jan Kratochvil <jan.kratochvil@redhat.com>
1082
1083 Code cleanup.
1084 * linux-low.c (linux_wait_for_event_1): Use ptid_is_pid.
1085
1086 2012-01-20 Ulrich Weigand <ulrich.weigand@linaro.org>
1087
1088 * hostio.c (handle_readlink): New function.
1089 (handle_vFile): Call it to handle "vFile:readlink" packets.
1090
1091 2012-01-20 Pedro Alves <palves@redhat.com>
1092 Ulrich Weigand <ulrich.weigand@linaro.org>
1093
1094 * server.c (handle_v_requests): Only support vAttach and vRun to
1095 start multiple processes when in extended protocol mode.
1096
1097 2012-01-17 Pedro Alves <palves@redhat.com>
1098
1099 * tracepoint.c (initialize_tracepoint): Use mmap instead of
1100 memalign plus mprotect to allocate the scratch buffer.
1101
1102 2012-01-13 Pedro Alves <palves@redhat.com>
1103
1104 * server.c (attach_inferior): Clear `cont_thread'.
1105
1106 2012-01-13 Pedro Alves <palves@redhat.com>
1107
1108 * server.c (main): Avoid infinite loop while detaching/killing
1109 after a longjmp.
1110
1111 2012-01-09 Doug Evans <dje@google.com>
1112
1113 * server.c (start_inferior): Set last_ptid in --wrapper case.
1114
1115 2012-01-06 Yao Qi <yao@codesourcery.com>
1116
1117 * tracepoint.c [IN_PROCESS_AGENT] (debug_threads): Macro
1118 defined.
1119 [IN_PROCESS_AGENT] (debug_agent): New global variable.
1120
1121 2012-01-04 Yao Qi <yao@codesourcery.com>
1122
1123 * tracepoint.c (cmd_qtdp): Print debug message
1124 for static tracepoint.
1125
1126 2012-01-04 Yao Qi <yao@codesourcery.com>
1127
1128 * tracepoint.c (trace_vdebug): Differentiate debug message
1129 between gdbserver and IPA.
1130
1131 2012-01-03 Yao Qi <yao@codesourcery.com>
1132
1133 * tracepoint.c (tracepoint_was_hit): Don't collect for
1134 static tracepoint.
1135
1136 2012-01-02 Joel Brobecker <brobecker@adacore.com>
1137
1138 * terminal.h: Reformat copyright header.
1139
1140 2012-01-02 Joel Brobecker <brobecker@adacore.com>
1141
1142 * server.c (gdbserver_version): Update copyright year.
1143 * gdbreplay.c (gdbreplay_version): Likewise.
1144
1145 2011-12-18 Jan Kratochvil <jan.kratochvil@redhat.com>
1146
1147 * linux-low.c (linux_create_inferior): Put empty if clause for write.
1148
1149 Revert:
1150 2011-12-18 Hui Zhu <teawater@gmail.com>
1151 * linux-low.c (linux_create_inferior): Save return value to ret.
1152
1153 2011-12-18 Hui Zhu <teawater@gmail.com>
1154
1155 * linux-low.c (linux_create_inferior): Save return value to ret.
1156
1157 2011-12-16 Doug Evans <dje@google.com>
1158
1159 * linux-low.c (linux_create_inferior): If stdio connection,
1160 redirect stdin from /dev/null, stdout to stderr.
1161 * remote-utils.c (remote_is_stdio): New static global.
1162 (remote_connection_is_stdio): New function.
1163 (remote_prepare): Handle stdio connection.
1164 (remote_open): Ditto.
1165 (remote_close): Don't close stdin for stdio connections.
1166 (read_prim,write_prim): New functions. Replace all calls to
1167 read/write to these.
1168 * server.c (main): Watch for "-" argument. Move call to
1169 remote_prepare before start_inferior.
1170 * server.h (STDIO_CONNECTION_NAME): New macro.
1171 (remote_connection_is_stdio): Declare.
1172
1173 * remote-utils.c (prepare_resume_reply): Remove extraneous \n
1174 in debugging output.
1175
1176 2011-12-15 Yao Qi <yao@codesourcery.com>
1177
1178 * tracepoint.c: Include sys/syscall.h.
1179 (gdb_ust_thread): Remove preprocessor conditional.
1180
1181 2011-12-14 Pedro Alves <pedro@codesourcery.com>
1182
1183 * linux-low.c (linux_detach_one_lwp): Call
1184 the_low_target.prepare_to_resume before detaching.
1185
1186 2011-12-14 Yao Qi <yao@codesourcery.com>
1187
1188 * tracepoint.c (gdb_ust_thread): Don't ignore return value
1189 of write.
1190
1191 2011-12-14 Yao Qi <yao@codesourcery.com>
1192
1193 * i386-low.c (i386_low_stopped_data_address): Initialize local
1194 variable `control'.
1195
1196 2011-12-13 Pedro Alves <pedro@codesourcery.com>
1197
1198 PR remote/13492
1199
1200 * i386-low.c (i386_low_stopped_data_address): Avoid fetching
1201 DR_CONTROL unless necessary. Extend comments.
1202 * linux-x86-low.c (x86_linux_prepare_to_resume): Don't write to
1203 DR0-3 if not used. If any watchpoint was set, clear DR_STATUS.
1204
1205 2011-12-13 Yao Qi <yao@codesourcery.com>
1206
1207 * tracepoint.c (trace_buffer_alloc): Replace magic numbers with
1208 macros.
1209 (upload_fast_traceframes, upload_fast_traceframes): Likewise.
1210
1211 2011-12-08 Jan Kratochvil <jan.kratochvil@redhat.com>
1212
1213 * linux-low.c (linux_kill): Skip PTRACE_KILL if LWP does not exist.
1214 Print new debug message for such case.
1215
1216 2011-12-06 Jan Kratochvil <jan.kratochvil@redhat.com>
1217
1218 Fix overlapping memcpy.
1219 * mem-break.c (set_raw_breakpoint_at): New variable buf. Use it for
1220 the read_inferior_memory transfer.
1221 (delete_fast_tracepoint_jump): New variable buf. Use it for the
1222 write_inferior_memory transfer.
1223 (set_fast_tracepoint_jump): New variable buf. Use it for the
1224 read_inferior_memory and write_inferior_memory transfers.
1225 (uninsert_fast_tracepoint_jumps_at, reinsert_fast_tracepoint_jumps_at)
1226 (delete_raw_breakpoint, uninsert_raw_breakpoint): New variable buf.
1227 Use it for the write_inferior_memory transfer.
1228 (check_mem_read, check_mem_write): New gdb_asserts for overlapping
1229 buffers.
1230
1231 2011-12-06 Maciej W. Rozycki <macro@codesourcery.com>
1232
1233 * linux-low.c (fetch_register, store_register): Make code
1234 consistent, fix formatting.
1235
1236 2011-12-06 Maciej W. Rozycki <macro@codesourcery.com>
1237
1238 * linux-low.c (usr_store_inferior_registers): Factor out code
1239 to handle individual registers into...
1240 (store_register): ... this new function.
1241
1242 2011-12-06 Ulrich Weigand <uweigand@de.ibm.com>
1243
1244 * Makefile.in (s390-linux32v1.o, s390-linux32v1.c): New rules.
1245 (s390-linux32v2.o, s390-linux32v2.c): Likewise.
1246 (s390-linux64v1.o, s390-linux64v1.c): Likewise.
1247 (s390-linux64v2.o, s390-linux64v2.c): Likewise.
1248 (s390x-linux64v1.o, s390x-linux64v1.c): Likewise.
1249 (s390x-linux64v2.o, s390x-linux64v2.c): Likewise.
1250 * configure.srv [s390*-*-linux*] (srv_regobj): Add new objects.
1251 (srv_xmlfiles): Add new XML files.
1252
1253 * linux-s390-low.c: Include "elf/common.h", <sys/ptrace.h>,
1254 and <sys/uio.h>.
1255 (PTRACE_GETREGSET, PTRACE_SETREGSET): Define if undefined.
1256 (init_registers_s390_linux32v1): Add prototype.
1257 (init_registers_s390_linux32v2): Likewise.
1258 (init_registers_s390_linux64v1): Likewise.
1259 (init_registers_s390_linux64v2): Likewise.
1260 (init_registers_s390x_linux64v1): Likewise.
1261 (init_registers_s390x_linux64v2): Likewise.
1262 (s390_num_regs): Increment to 52.
1263 (s390_regmap): Add orig_r2 register.
1264 (s390_num_regs_3264): Increment to 68.
1265 (s390_regmap_3264): Add orig_r2 register.
1266 (s390_collect_ptrace_register): Handle orig_r2 register.
1267 (s390_supply_ptrace_register): Likewise.
1268 (s390_fill_last_break): New function.
1269 (s390_store_last_break): Likewise.
1270 (s390_fill_system_call): New function.
1271 (s390_store_system_call): Likewise.
1272 (target_regsets): Handle NT_S390_LAST_BREAK and NT_S390_SYSTEM_CALL
1273 register sets.
1274 (s390_check_regset): New function.
1275 (s390_arch_setup): Check for presence of NT_S390_LAST_BREAK and
1276 NT_S390_SYSTEM_CALL regsets and use appropriate description.
1277 Update target_regsets for available register sets.
1278
1279 2011-12-02 Paul Pluzhnikov <ppluzhnikov@google.com>
1280 Jan Kratochvil <jan.kratochvil@redhat.com>
1281
1282 * linux-low.c (get_phdr_phnum_from_proc_auxv, get_dynamic, get_r_debug)
1283 (read_one_ptr, struct link_map_offsets, linux_qxfer_libraries_svr4):
1284 New.
1285 (struct linux_target_ops): Install linux_qxfer_libraries_svr4.
1286 * linux-low.h (struct process_info_private): New member r_debug.
1287 * server.c (handle_qxfer_libraries): Call
1288 the_target->qxfer_libraries_svr4.
1289 (handle_qxfer_libraries_svr4): New function.
1290 (qxfer_packets): New entry "libraries-svr4".
1291 (handle_query): Check QXFER_LIBRARIES_SVR4 and report libraries-svr4.
1292 * target.h (struct target_ops): New member qxfer_libraries_svr4.
1293 * remote.c (remote_xfer_partial): Call add_packet_config_cmd for
1294 PACKET_qXfer_libraries_svr4.
1295
1296 2011-11-30 Ulrich Weigand <uweigand@de.ibm.com>
1297
1298 * linux-s390-low.c (s390_collect_ptrace_register): Fully convert
1299 PSW address/mask between 8-byte and 16-byte formats.
1300 (s390_supply_ptrace_register): Likewise.
1301 (s390_get_pc, s390_set_pc): 4-byte PSW address always includes
1302 basic addressing mode bit.
1303
1304 2011-11-24 Stan Shebs <stan@codesourcery.com>
1305
1306 * tracepoint.c (cmd_qtstatus): Use plongest instead of %llx.
1307
1308 2011-11-17 Stan Shebs <stan@codesourcery.com>
1309
1310 * tracepoint.c (struct tracepoint): New field traceframe_usage.
1311 (tracing_start_time): New global.
1312 (tracing_stop_time): New global.
1313 (tracing_user_name): New global.
1314 (tracing_notes): New global.
1315 (tracing_stop_note): New global.
1316 (cmd_qtstart): Set traceframe_usage, start_time.
1317 (stop_tracing): Set stop_time.
1318 (cmd_qtstatus): Report additional status.
1319 (cmd_qtp): New function.
1320 (handle_tracepoint_query): Call it.
1321 (cmd_qtnotes): New function.
1322 (handle_tracepoint_general_set): Call it.
1323 (get_timestamp): Rename from tsv_get_timestamp.
1324
1325 2011-11-14 Stan Shebs <stan@codesourcery.com>
1326 Kwok Cheung Yeung <kcy@codesourcery.com>
1327
1328 * linux-x86-low.c (small_jump_insn): New.
1329 (i386_install_fast_tracepoint_jump_pad): Add arguments for
1330 trampoline and error message, build a trampoline and issue a small
1331 jump instruction to it.
1332 (x86_install_fast_tracepoint_jump_pad): Add arguments for
1333 trampoline and error message.
1334 (x86_get_min_fast_tracepoint_insn_len): New.
1335 (the_low_target): Add call to x86_get_min_fast_tracepoint_insn_len.
1336 * linux-low.h (struct linux_target_ops): Add arguments to
1337 install_fast_tracepoint_jump_pad operation, add new operation.
1338 * linux-low.c (linux_install_fast_tracepoint_jump_pad): Add
1339 arguments.
1340 (linux_get_min_fast_tracepoint_insn_len): New function.
1341 (linux_target_op): Add new operation.
1342 * tracepoint.c (gdb_trampoline_buffer): New IPA variable.
1343 (gdb_trampoline_buffer_end): Ditto.
1344 (gdb_trampoline_buffer_error): Ditto.
1345 (struct ipa_sym_addresses): Add fields for new IPA variables.
1346 (symbol_list): Add entries for new IPA variables.
1347 (struct tracepoint): Add fields to hold the address range of the
1348 trampoline used by the tracepoint.
1349 (trampoline_buffer_head): New static variable.
1350 (trampoline_buffer_tail): Ditto.
1351 (claim_trampoline_space): New function.
1352 (have_fast_tracepoint_trampoline_buffer): New function.
1353 (clone_fast_tracepoint): Fill in trampoline fields of tracepoint
1354 structure.
1355 (install_fast_tracepoint): Ditto, also add error buffer argument.
1356 (cmd_qtminftpilen): New function.
1357 (handle_tracepoint_query): Add response to qTMinFTPILen packet.
1358 (fast_tracepoint_from_trampoline_address): New function.
1359 (fast_tracepoint_collecting): Handle trampoline as part of jump
1360 pad space.
1361 (set_trampoline_buffer_space): New function.
1362 (initialize_tracepoint): Initialize new IPA variables.
1363 * target.h (struct target_ops): Add arguments to
1364 install_fast_tracepoint_jump_pad operation, add new
1365 get_min_fast_tracepoint_insn_len operation.
1366 (target_get_min_fast_tracepoint_insn_len): New.
1367 (install_fast_tracepoint_jump_pad): Add arguments.
1368 * server.h (IPA_BUFSIZ): Define.
1369 * linux-i386-ipa.c: Include extra header files.
1370 (initialize_fast_tracepoint_trampoline_buffer): New function.
1371 (initialize_low_tracepoint): Call it.
1372 * server.h (set_trampoline_buffer_space): Declare.
1373 (claim_trampoline_space): Ditto.
1374 (have_fast_tracepoint_trampoline_buffer): Ditto.
1375
1376 2011-11-14 Yao Qi <yao@codesourcery.com>
1377
1378 * server.c (handle_query): Handle InstallInTrace for qSupported.
1379 * tracepoint.c (add_tracepoint): Sort list.
1380 (install_tracepoint, download_tracepoint): New.
1381 (cmd_qtdp): Call them to install and download tracepoints.
1382 (sort_tracepoints): Removed.
1383 (cmd_qtstart): Update.
1384
1385 2011-11-14 Yao Qi <yao@codesourcery.com>
1386
1387 * mem-break.c (inc_ref_fast_tracepoint_jump): New.
1388 * mem-break.h: Declare.
1389 * tracepoint.c (cmd_qtstart): Move some code to ...
1390 (clone_fast_tracepoint, install_fast_tracepoint): ... here.
1391 New.
1392 (download_tracepoints): Move some code to ...
1393 (download_tracepoint_1): ... here. New.
1394
1395 2011-11-08 Yao Qi <yao@codesourcery.com>
1396
1397 * remote-utils.c (relocate_instruction): A comment fix.
1398
1399 2011-11-07 Joel Brobecker <brobecker@adacore.com>
1400
1401 * win32-i386-low.c (dr_status_mirror, dr_control_mirror): Delete.
1402 (i386_dr_low_get_control, i386_dr_low_get_status): Use
1403 dr_status_mirror and dr_control_mirror from debug_reg_state.
1404 (i386_dr_low_get_status): Use debug_reg_state.dr_status_mirror
1405 (i386_initial_stuff): Remove use of deleted globals.
1406 (i386_get_thread_context, i386_set_thread_context,
1407 i386_thread_added): Use dr_status_mirror and dr_control_mirror
1408 from debug_reg_state.
1409
1410 2011-11-05 Yao Qi <yao@codesourcery.com>
1411
1412 * tracepoint.c (gdb_collect): Loop over tracepoints of same
1413 address as TPOINT's.
1414
1415 2011-11-02 Stan Shebs <stan@codesourcery.com>
1416
1417 * tracepoint.c (agent_mem_read_string): New function.
1418 (eval_agent_expr): Call it for tracenz.
1419 * server.c (handle_query): Report support for tracenz.
1420
1421 2011-11-02 Yao Qi <yao@codesourcery.com>
1422
1423 * tracepoint.c (cmd_qtstart): Remove unused local variables.
1424
1425 2011-11-02 Yao Qi <yao@codesourcery.com>
1426
1427 * target.h: Fix a typo in comment.
1428
1429 2011-10-31 Pedro Alves <pedro@codesourcery.com>
1430
1431 * mem-break.c (check_mem_write): Add `myaddr' parameter. Don't
1432 clobber the breakpoints' shadows with fast tracepoint jumps.
1433 * mem-break.h (check_mem_write): Add `myaddr' parameter.
1434 * target.c (write_inferior_memory): Also pass MYADDR down to
1435 check_mem_write.
1436
1437 2011-10-07 Ulrich Weigand <ulrich.weigand@linaro.org>
1438
1439 * configure.ac: Check support for personality routine.
1440 * configure: Regenerate.
1441 * config.in: Likewise.
1442 * linux-low.c: Include <sys/personality.h>.
1443 Define ADDR_NO_RANDOMIZE if necessary.
1444 (linux_create_inferior): Disable address space randomization when
1445 forking inferior, if requested.
1446 (linux_supports_disable_randomization): New function.
1447 (linux_target_ops): Install it.
1448 * server.h (disable_randomization): Declare.
1449 * server.c (disable_randomization): New global variable.
1450 (handle_general_set): Handle QDisableRandomization.
1451 (handle_query): Likewise for qSupported.
1452 (main): Support --disable-randomization and --no-disable-randomization
1453 command line arguments.
1454 * target.h (struct target_ops): Add supports_disable_randomization.
1455 (target_supports_disable_randomization): New macro.
1456
1457 2011-09-29 Mike Frysinger <vapier@gentoo.org>
1458
1459 * linux-low.c (target_loadseg): Add defined PTRACE_GETFDPIC to the
1460 ifdef check.
1461 [PT_GETDSBT] (target_loadmap): Wrap in a defined PT_GETDSBT check.
1462 [!PT_GETDSBT] (target_loadmap): New definition.
1463 (LINUX_LOADMAP, LINUX_LOADMAP_EXEC, LINUX_LOADMAP_INTERP): Define.
1464 (linux_read_loadmap): Change PTRACE_GETDSBT_EXEC to
1465 LINUX_LOADMAP_EXEC, PTRACE_GETDSBT_INTERP to LINUX_LOADMAP_INTERP,
1466 and PT_GETDSBT to LINUX_LOADMAP.
1467 [!PT_GETDSBT] (linux_read_loadmap): Define to NULL.
1468 (linux_target_ops): Delete unnecessary ifdef PT_GETDSBT check.
1469
1470 2011-09-21 Ulrich Weigand <ulrich.weigand@linaro.org>
1471
1472 * linux-arm-low.c (struct arm_linux_hwbp_cap): Remove.
1473 (arm_linux_hwbp_cap): New static variable.
1474 (arm_linux_get_hwbp_cap): Replace by ...
1475 (arm_linux_init_hwbp_cap): ... this new function.
1476 (arm_linux_get_hw_breakpoint_count): Use arm_linux_hwbp_cap.
1477 (arm_linux_get_hw_watchpoint_count): Likewise.
1478 (arm_linux_get_hw_watchpoint_max_length): Likewise.
1479 (arm_arch_setup): Call arm_linux_init_hwbp_cap.
1480 (arm_prepare_to_resume): Use perror_with_name instead of error.
1481
1482 2011-09-21 Ulrich Weigand <ulrich.weigand@linaro.org>
1483
1484 * linux-arm-low.c: Include <signal.h>.
1485 (PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define if necessary.
1486 (struct arm_linux_hwbp_cap): New data type.
1487 (arm_hwbp_type, arm_hwbp_control_t): New typedefs.
1488 (struct arm_linux_hw_breakpoint): New data type.
1489 (MAX_BPTS, MAX_WPTS): Define.
1490 (struct arch_process_info, struct arch_lwp_info): New data types.
1491 (arm_linux_get_hwbp_cap): New function.
1492 (arm_linux_get_hw_breakpoint_count): Likewise.
1493 (arm_linux_get_hw_watchpoint_count): Likewise.
1494 (arm_linux_get_hw_watchpoint_max_length): Likewise.
1495 (arm_hwbp_control_initialize): Likewise.
1496 (arm_hwbp_control_is_enabled): Likewise.
1497 (arm_hwbp_control_is_initialized): Likewise.
1498 (arm_hwbp_control_disable): Likewise.
1499 (arm_linux_hw_breakpoint_equal): Likewise.
1500 (arm_linux_hw_point_initialize): Likewise.
1501 (struct update_registers_data): New data structure.
1502 (update_registers_callback: New function.
1503 (arm_insert_point): Likewise.
1504 (arm_remove_point): Likewise.
1505 (arm_stopped_by_watchpoint): Likewise.
1506 (arm_stopped_data_address): Likewise.
1507 (arm_new_process): Likewise.
1508 (arm_new_thread): Likewise.
1509 (arm_prepare_to_resume): Likewise.
1510 (the_low_target): Register arm_insert_point, arm_remove_point,
1511 arm_stopped_by_watchpoint, arm_stopped_data_address, arm_new_process,
1512 arm_new_thread, and arm_prepare_to_resume.
1513
1514 2011-09-15 Stan Shebs <stan@codesourcery.com>
1515
1516 * server.h (struct emit_ops): Add compare-goto fields.
1517 * tracepoint.c (gdb_agent_op_sizes): New table.
1518 (emit_eq_goto): New function.
1519 (emit_ne_goto): New function.
1520 (emit_lt_goto): New function.
1521 (emit_le_goto): New function.
1522 (emit_gt_goto): New function.
1523 (emit_ge_goto): New function.
1524 (is_goto_target): New function.
1525 (compile_bytecodes): Recognize special cases of compare-goto
1526 combinations and call specialized emitters for them.
1527 * linux-x86-low.c (amd64_emit_eq_goto): New function.
1528 (amd64_emit_ne_goto): New function.
1529 (amd64_emit_lt_goto): New function.
1530 (amd64_emit_le_goto): New function.
1531 (amd64_emit_gt_goto): New function.
1532 (amd64_emit_ge_goto): New function.
1533 (amd64_emit_ops): Add the new functions.
1534 (i386_emit_eq_goto): New function.
1535 (i386_emit_ne_goto): New function.
1536 (i386_emit_lt_goto): New function.
1537 (i386_emit_le_goto): New function.
1538 (i386_emit_gt_goto): New function.
1539 (i386_emit_ge_goto): New function.
1540 (i386_emit_ops): Add the new functions.
1541
1542 2011-09-08 Stan Shebs <stan@codesourcery.com>
1543
1544 * linux-x86-low.c (i386_emit_prologue): Save %ebx.
1545 (i386_emit_epilogue): Restore %ebx.
1546
1547 2011-08-31 Jie Zhang <jzhang918@gmail.com>
1548
1549 * server.c (step_thread): Remove definition.
1550 (process_serial_event): Don't handle Hs.
1551 * server.h (step_thread): Remove declaration.
1552 * target.c (set_desired_inferior): Remove use of step_thread.
1553
1554 2011-08-24 Luis Machado <lgustavo@codesourcery.com>
1555
1556 * linux-low.c: Include linux-procfs.h.
1557 (linux_attach_lwp_1): Update comments.
1558 (linux_attach): Scan for existing threads when attaching to a
1559 process that is the tgid.
1560 * Makefile.in: Update dependencies.
1561
1562 2011-08-24 Luis Machado <lgustavo@codesourcery.com>
1563
1564 * configure.srv: Add linux-procfs.o dependencies.
1565
1566 2011-08-14 Yao Qi <yao@codesourcery.com>
1567
1568 * target.h (struct target_ops): Fix indent.
1569 * win32-low.c (win32_target_ops): Fix comment.
1570
1571 2011-08-14 Andrew Jenner <andrew@codesourcery.com>
1572 Yao Qi <yao@codesourcery.com>
1573
1574 * Makefile.in (clean): Remove tic6x-*.c files.
1575 (linux-tic6x-low.o, tic6x-c62x-linux.o, tic6x-c64x-linux.o): New rules.
1576 (tic6x-c64xp-linux.o, tic6x-c62x-linux.c, tic6x-c64x-linux.c): Likewise.
1577 (tic6x-c64xp-linux.c): Likewise.
1578 * configure.srv: Add support for tic6x-*-uclinux.
1579 * linux-tic6x-low.c: New.
1580 * linux-low.c (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define.
1581
1582 2011-08-14 Andrew Stubbs <ams@codesourcery.com>
1583 Yao Qi <yao@codesourcery.com>
1584
1585 * target.h (struct target_ops): Add read_loadmap.
1586 * linux-low.c (struct target_loadseg): New type.
1587 (struct target_loadmap): New type.
1588 (linux_read_loadmap): New function.
1589 (linux_target_ops): Add linux_read_loadmap.
1590 * server.c (handle_query): Support qXfer:fdpic:read packet.
1591 * win32-low.c (win32_target_ops): Initialize field `read_loadmap' to NULL.
1592
1593 2011-08-05 Eli Zaretskii <eliz@gnu.org>
1594
1595 * win32-low.c: Include <stdint.h>.
1596
1597 2011-07-22 Pedro Alves <pedro@codesourcery.com>
1598
1599 * i386-low.c (i386_insert_aligned_watchpoint): Don't pass the info
1600 to the inferior here.
1601 (i386_remove_aligned_watchpoint): Ditto.
1602 (i386_handle_nonaligned_watchpoint): Return immediate on fail to
1603 fit part of the watchpoint in the debug registers.
1604 (i386_update_inferior_debug_regs): New.
1605 (i386_low_insert_watchpoint): Work on a local mirror of the debug
1606 registers, and only update the inferior on success.
1607 (i386_low_remove_watchpoint): Ditto.
1608
1609 2011-07-22 Kwok Cheung Yeung <kcy@codesourcery.com>
1610
1611 * linux-low.c (compare_ints, unique, list_threads, show_process,
1612 linux_core_of_thread): Delete.
1613 (linux_target_ops): Change linux_core_of_thread to
1614 linux_common_core_of_thread.
1615 (linux_qxfer_osdata): Defer to linux_common_xfer_osdata.
1616 * utils.c (malloc_failure): Change type of argument.
1617 (xmalloc, xrealloc, xcalloc, xsnprintf): Delete.
1618 * Makefile.in (SFILES): Add common/common-utils.c, common/xml-utils.c,
1619 common/linux-osdata.c, common/ptid.c and common/buffer.c.
1620 (OBS): Add xml-utils.o, common-utils.o, ptid.o and buffer.o.
1621 (IPA_OBJS): Add common-utils-ipa.o.
1622 (ptid_h, linux_osdata_h): New macros.
1623 (server_h): Add common/common-utils.h, common/xml-utils.h,
1624 common/buffer.h, common/gdb_assert.h, common/gdb_locale.h and
1625 common/ptid.h.
1626 (common-utils-ipa.o, common-utils.o, xml-utils.o, linux-osdata.o,
1627 ptid.o, buffer.o): New rules.
1628 (linux-low.o): Add common/linux-osdata.h as a dependency.
1629 * configure.srv (srv_tgtobj): Add linux-osdata.o to Linux targets.
1630 * configure.ac: Add AC_HEADER_DIRENT check.
1631 * config.in: Regenerate.
1632 * configure: Regenerate.
1633 * remote-utils.c (xml_escape_text): Delete.
1634 (buffer_grow, buffer_free, buffer_init, buffer_finish,
1635 buffer_xml_printf): Move to common/buffer.c.
1636 * server.c (main): Remove call to initialize_inferiors.
1637 * server.h (struct ptid, ptid_t, minus_one_ptid, null_ptid,
1638 ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid,
1639 ptid_equal, ptid_is_pid, initialize_inferiors, xml_escape_text,
1640 internal_error, gdb_assert, gdb_assert_fail): Delete.
1641 (struct buffer, buffer_grow, buffer_free, buffer_init, buffer_finish,
1642 buffer_xml_printf, buffer_grow_str, buffer_grow_str0): Move to
1643 common/buffer.h.
1644 * inferiors.c (null_ptid, minus_one_ptid, ptid_build, pid_to_ptid,
1645 ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid,
1646 initialize_inferiors): Delete.
1647
1648 2011-07-20 Pedro Alves <pedro@codesourcery.com>
1649
1650 * tracepoint.c (tracepoint_look_up_symbols): Return upon the first
1651 symbol error.
1652
1653 2011-05-31 Pedro Alves <pedro@codesourcery.com>
1654
1655 * linux-x86-low.c (i386_dr_low_get_addr): Fix off by one in
1656 assertion.
1657 * win32-i386-low.c (i386_dr_low_get_addr): Ditto.
1658
1659 2011-05-26 Yao Qi <yao@codesourcery.com>
1660
1661 * Makefile.in (thread-db.o): Track dependence to
1662 common/gdb_thread_db.h.
1663 * thread-db.c: include gdb_thread_db.h from right place.
1664
1665 2011-05-16 Adrian Cornish <gnu@bluedreamer.com>
1666
1667 * linux-i386-ipa.c (supply_static_tracepoint_registers): Pass
1668 __FILE__ and __LINE__ to internal_error.
1669
1670 2011-05-13 Doug Evans <dje@google.com>
1671
1672 * thread-db.c (try_thread_db_load_from_sdir): New function.
1673 (try_thread_db_load_from_dir): New function.
1674 (thread_db_load_search): Handle $sdir, ignore $pdir.
1675 Remove trying of system directories if search of
1676 libthread-db-search-path fails, that is now done via $sdir.
1677
1678 2011-05-12 Kwok Cheung Yeung <kcy@codesourcery.com>
1679
1680 * server.c (handle_query): Add EnableDisableTracepoints to the list
1681 of supported features.
1682 * tracepoint.c (clear_installed_tracepoints): Uninstall disabled
1683 tracepoints.
1684 (cmd_qtenable_disable): New.
1685 (cmd_qtstart): Install tracepoints even if disabled.
1686 (handle_tracepoint_general_set): Add call to cmd_qtenable_disable on
1687 receiving a QTEnable or QTDisable packet.
1688 (gdb_collect): Skip data collection if fast tracepoint is disabled.
1689 (ust_marker_to_static_tracepoint): Do not ignore disabled static
1690 tracepoints.
1691 (gdb_probe): Skip data collection if static tracepoint is disabled.
1692
1693 2011-05-10 Doug Evans <dje@google.com>
1694
1695 * thread-db.c (thread_db_handle_monitor_command): Handle elided path.
1696
1697 2011-05-04 Doug Evans <dje@google.com>
1698
1699 * linux-low.c (linux_join): Skip process lookup.
1700 * spu-low.c (spu_join): Ditto.
1701 * server.c (join_inferiors_callback): Delete.
1702 (process_serial_event): For 'D' packet (detach) call join_inferior
1703 directly.
1704
1705 2011-05-04 Joseph Myers <joseph@codesourcery.com>
1706
1707 * README: Don't mention xscale*-*-linux*.
1708 * configure.srv (xscale*-*-linux*): Don't handle target.
1709
1710 2011-04-27 Nathan Froyd <froydnj@codesourcery.com>
1711
1712 * linux-x86-low.c (amd64_emit_const): Call memcpy instead of
1713 casting pointers.
1714 (amd64_emit_reg, amd64_emit_int_call_1, amd64_emit_void_call_2):
1715 (i386_emit_const, i386_emit_reg, i386_emit_int_call_1):
1716 (i386_emit_void_call_2): Likewise.
1717
1718 2011-04-26 Yao Qi <yao@codesourcery.com>
1719
1720 * linux-low.c: Move common macros to linux-ptrace.h.
1721 Include linux-ptrace.h.
1722 * Makefile.in (linux_ptrace_h): New.
1723 (linux-low.o): Depends on linux-ptrace.h.
1724
1725 2011-04-24 Jan Kratochvil <jan.kratochvil@redhat.com>
1726
1727 * remote-utils.c (handle_accept_event): Close LISTEN_DESC only if
1728 RUN_ONCE. Comment for the LISTEN_DESC delete_file_handler call.
1729 (remote_prepare): New function with most of the TCP code from ...
1730 (remote_open): ... here. Detect PORT here unconditionally. Move also
1731 setting transport_is_reliable.
1732 * server.c (run_once): New variable.
1733 (gdbserver_usage): Document it.
1734 (main): Set run_once for `--once'. Call remote_prepare. Exit after
1735 the first run if RUN_ONCE.
1736 * server.h (run_once, remote_prepare): New declarations.
1737
1738 2011-04-19 Tom Tromey <tromey@redhat.com>
1739
1740 * win32-low.c (handle_load_dll): Remove duplicate "the".
1741
1742 2011-04-07 Pierre Muller <muller@ics.u-strasbg.fr>
1743
1744 Remove support for old Cygwin 1.5 versions.
1745 * win32-low.c (win32_create_inferior): Use new cygwin_path_list
1746 function to avoid warning.
1747 (win32_add_one_solib): Use cygwin_conv_path function to avoid
1748 warning.
1749
1750 2011-03-18 Pierre Muller <muller@ics.u-strasbg.fr>
1751
1752 * gdbserver/server.h (Macro _): Define it if not available.
1753
1754 2011-03-14 Michael Snyder <msnyder@vmware.com>
1755
1756 * hostio.c (handle_close): Remove unnecessary null test.
1757
1758 2011-03-10 Joel Brobecker <brobecker@adacore.com>
1759
1760 * Makefile.in (maintainer-clean realclean distclean): Remove
1761 "make ... subdir_do" command.
1762
1763 2011-03-10 Michael Snyder <msnyder@vmware.com>
1764
1765 * tracepoint.c (tracepoint_finish_step): Fix loop variable.
1766
1767 * server.c (handle_v_run): Free alloced buffer on early return.
1768
1769 2011-03-09 Yao Qi <yao@codesourcery.com>
1770
1771 Revert:
1772 2011-03-04 Yao Qi <yao@codesourcery.com>
1773
1774 * Makefile.in: Remove GNU make feature --directory.
1775
1776 2011-03-05 Yao Qi <yao@codesourcery.com>
1777
1778 * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable.
1779 (subdir_do): New make target. Copied from gdb/Makefile.
1780 (maintainer-clean, realclean, distclean, clean): Call corresponding
1781 make targets in common/Makefile.
1782
1783 2011-02-11 Yao Qi <yao@codesourcery.com>
1784
1785 * configure.ac: Call AC_PROG_RANLIB.
1786 * Makefile.in: Remove signals.o from OBS. Link libcommon.a.
1787 * configure: Regenerate.
1788
1789 2011-03-07 Jan Kratochvil <jan.kratochvil@redhat.com>
1790
1791 * remote-utils.c (putpkt_binary_1): Calculate BUF2 size dynamically.
1792
1793 2011-03-06 Yao Qi <yao@codesourcery.com>
1794
1795 * Makefile.in (REQUIRED_SUBDIRS): Remove $(LIBCOMMON_DIR).
1796
1797 2011-03-05 Yao Qi <yao@codesourcery.com>
1798
1799 * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable.
1800 (subdir_do): New make target. Copied from gdb/Makefile.
1801 (maintainer-clean, realclean, distclean, clean): Call corresponding
1802 make targets in common/Makefile.
1803
1804 2011-03-04 Yao Qi <yao@codesourcery.com>
1805
1806 * Makefile.in: Remove GNU make feature --directory.
1807
1808 2011-03-04 Michael Snyder <msnyder@vmware.com>
1809
1810 * server.c (queue_stop_reply): Call xmalloc not malloc.
1811
1812 2011-03-02 Michael Snyder <msnyder@vmware.com>
1813
1814 * linux-arm-low.c (arm_arch_setup): Replace malloc with xmalloc.
1815
1816 2011-02-28 Michael Snyder <msnyder@vmware.com>
1817
1818 * tracepoint.c (cmd_qtv): Discard unused value 'packet'.
1819 (cmd_qtframe): Ditto.
1820 (cmd_qtbuffer): Ditto.
1821 (cmd_bigqtbuffer): Ditto.
1822
1823 * utils.c (decimal2str): Initialize 'width' to nine, then
1824 don't mess with it.
1825
1826 2011-02-28 Ulrich Weigand <uweigand@de.ibm.com>
1827
1828 * hostio.c (require_data): Free *data, not data.
1829
1830 2011-02-28 Jan Kratochvil <jan.kratochvil@redhat.com>
1831
1832 * hostio.c (require_data): Use free, not xfree.
1833
1834 2011-02-27 Michael Snyder <msnyder@vmware.com>
1835
1836 * server.c (handle_query): Discard unused value.
1837
1838 * hostio.c (require_data): Free malloc memory before returning
1839 error.
1840
1841 2011-02-26 Michael Snyder <msnyder@vmware.com>
1842
1843 * linux-low.c (list_threads): Call closedir for dirent.
1844
1845 2011-02-27 Michael Snyder <msnyder@vmware.com>
1846
1847 * i386-low.c (i386-length_and_rw_bits): Comment the fact that
1848 a case statement falls through.
1849
1850 * linux-low.c (linux_xfer_siginfo): Fix fencepost error.
1851
1852 * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Fix fencepost error
1853 in comparison.
1854
1855 2011-02-26 Michael Snyder <msnyder@vmware.com>
1856
1857 * utils.c (decimal2str): Eliminate dead code and dead param.
1858 (pulongest): Drop dead param from call to decimal2str.
1859 (plongest): Ditto.
1860
1861 2011-02-24 Joel Brobecker <brobecker@adacore.com>
1862
1863 Revert the following patch (not approved yet):
1864 2011-02-21 Hui Zhu <teawater@gmail.com>
1865 * tracepoint.c (tp_printf): New function.
1866 (eval_agent_expr): Handle gdb_agent_op_printf.
1867
1868 2011-02-21 Hui Zhu <teawater@gmail.com>
1869
1870 * tracepoint.c (tp_printf): New function.
1871 (eval_agent_expr): Handle gdb_agent_op_printf.
1872
1873 2011-02-18 Tom Tromey <tromey@redhat.com>
1874
1875 * Makefile.in (tracepoint-ipa.o): Depend on ax.def.
1876 (tracepoint.o): Likewise.
1877 * tracepoint.c (enum gdb_agent_op): Use ax.def.
1878 (gdb_agent_op_names): Likewise.
1879
1880 2011-02-18 Tom Tromey <tromey@redhat.com>
1881
1882 * tracepoint.c (enum gdb_agent_op) <gdb_agent_op_pick,
1883 gdb_agent_op_rot>: New constants.
1884 (gdb_agent_op_names): Add pick and roll.
1885 (eval_agent_expr) <gdb_agent_op_pick, gdb_agent_op_rot>: New
1886 cases.
1887
1888 2011-02-15 Jan Kratochvil <jan.kratochvil@redhat.com>
1889
1890 * aclocal.m4: Regenerated with aclocal-1.11.1.
1891
1892 2011-02-14 Pedro Alves <pedro@codesourcery.com>
1893
1894 * server.c (handle_qxfer_traceframe_info): New.
1895 (qxfer_packets): Register "traceframe-info".
1896 (handle_query): Report support for qXfer:traceframe-info:read+.
1897 * tracepoint.c (match_blocktype): New.
1898 (traceframe_find_block_type): Rename to ...
1899 (traceframe_walk_blocks): ... this. Add callback filter argument,
1900 and use it.
1901 (traceframe_find_block_type): New, reimplemented on top of
1902 traceframe_walk_blocks.
1903 (build_traceframe_info_xml): New.
1904 (traceframe_read_info): New.
1905 * server.h (traceframe_read_info): Declare.
1906
1907 2011-02-11 Yao Qi <yao@codesourcery.com>
1908
1909 * configure.ac: Call AC_PROG_RANLIB.
1910 * Makefile.in: Remove signals.o from OBS. Link libcommon.a.
1911 * configure: Regenerate.
1912
1913 2011-02-07 Pedro Alves <pedro@codesourcery.com>
1914
1915 * server.c (gdb_read_memory): Change return semantics to allow
1916 partial transfers.
1917 (handle_search_memory_1): Adjust.
1918 (process_serial_event) <'m' packet>: Handle partial transfers.
1919 * tracepoint.c (traceframe_read_mem): Handle partial transfers.
1920
1921 2011-01-28 Pedro Alves <pedro@codesourcery.com>
1922
1923 * regcache.c (init_register_cache): Initialize
1924 regcache->register_status.
1925 (free_register_cache): Release regcache->register_status.
1926 (regcache_cpy): Copy register_status.
1927 (registers_to_string): Print 'x's for unavailable registers.
1928 (supply_register): Mark the register's status valid or
1929 unavailable, depending on whether a buffer was passed in or not.
1930 (supply_register_zeroed): New.
1931 (supply_regblock): Mark the registers' status valid or
1932 unavailable, depending on whether a buffer was passed in or not.
1933 * regcache.h (REG_UNAVAILABLE, REG_VALID): New defines.
1934 (struct regcache): New `register_status' field.
1935 (supply_register_zeroed): Declare.
1936 * i387-fp.c (i387_xsave_to_cache): Zero out registers using
1937 supply_register_zeroed, rather than passing a NULL buffer to
1938 supply_register.
1939 * tracepoint.c (fetch_traceframe_registers): Update comment.
1940
1941 2011-01-28 Pedro Alves <pedro@codesourcery.com>
1942
1943 * i387-fp.c (i387_xsave_to_cache): Make passing NULL as register
1944 buffer explicit.
1945
1946 2011-01-25 Pedro Alves <pedro@codesourcery.com>
1947
1948 * server.h (decode_xfer_write): Change prototype.
1949 * remote-utils.c (decode_xfer_write): Remove `annex' parameter,
1950 and don't extract the annex here.
1951 * server.c (decode_xfer_read): Remove `annex' parameter,
1952 and don't extract the annex here.
1953 (decode_xfer): New.
1954 (struct qxfer): New.
1955 (handle_qxfer_auxv, handle_qxfer_features, handle_qxfer_libraries)
1956 (handle_qxfer_osdata, handle_qxfer_siginfo, handle_qxfer_spu)
1957 (handle_qxfer_statictrace): New functions, abstracted out from
1958 handle_query, and made to use the struct qxfer interface.
1959 (handle_threads_qxfer_proper): Rename to ...
1960 (handle_qxfer_threads_proper): ... this.
1961 (handle_threads_qxfer): Rename to ...
1962 (handle_qxfer_threads): ... this. Adjust.
1963 (qxfer_packets): New array.
1964 (handle_qxfer): New function.
1965 (handle_query): Use handle_qxfer.
1966
1967 2011-01-05 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
1968
1969 * gdbreplay.c: Shorten lines of >= 80 columns.
1970 * linux-low.c: Ditto.
1971 * linux-ppc-low.c: Ditto.
1972 * linux-s390-low.c: Ditto.
1973 * linux-sparc-low.c: Ditto.
1974 * linux-x86-low.c: Ditto.
1975 * linux-xtensa-low.c: Ditto.
1976 * mem-break.c: Ditto.
1977 * nto-low.c: Ditto.
1978 * regcache.h: Ditto.
1979 * remote-utils.c: Ditto.
1980 * server.c: Ditto.
1981 * server.h: Ditto.
1982 * thread-db.c: Ditto.
1983 * tracepoint.c: Ditto.
1984 * utils.c: Ditto.
1985 * win32-low.h: Ditto.
1986
1987 2011-01-05 Joel Brobecker <brobecker@adacore.com>
1988
1989 * gdbserver/configure.ac, gdbserver/gdbserver.1: Copyright year
1990 update.
1991
1992 2011-01-01 Joel Brobecker <brobecker@adacore.com>
1993
1994 * server.c (gdbserver_version): Update copyright year in version
1995 output.
1996 * gdbreplay.c (gdbreplay_version): Ditto.
1997
1998 2010-12-29 Jie Zhang <jie.zhang@analog.com>
1999
2000 * configure.srv (bfin-*-*linux*): Handle Blackfin/Linux targets.
2001 * linux-bfin-low.c: New file.
2002 * linux-low.c: Define PT_TEXT_ADDR, PT_TEXT_END_ADDR, and
2003 PT_DATA_ADDR for BFIN targets.
2004 * Makefile.in (SFILES): Add linux-bfin-low.c.
2005 (clean): Remove reg-bfin.c.
2006 (linux-bfin-low.o, reg-bfin.o, reg-bfin.c): New targets.
2007 * README: Mention supported Blackfin targets.
2008
2009 2010-12-23 Mike Frysinger <vapier@gentoo.org>
2010
2011 * .gitignore: New file.
2012
2013 2010-11-16 Mike Frysinger <vapier@gentoo.org>
2014
2015 * linux-low.c (linux_tracefork_child): Add char* cast to arg.
2016
2017 2010-10-22 Jie Zhang <jie@codesourcery.com>
2018
2019 * Makefile.in: Add FLAGS_TO_PASS variable.
2020 (install): Remove dependency of install-only and recursively
2021 invoke make for install-only.
2022
2023 2010-10-04 Doug Evans <dje@google.com>
2024
2025 * Makefile.in (uninstall): Use $(DESTDIR).
2026
2027 2010-09-24 Pedro Alves <pedro@codesourcery.com>
2028
2029 PR gdb/11842
2030
2031 * linux-x86-low.c (compat_siginfo_from_siginfo)
2032 (siginfo_from_compat_siginfo): Also copy si_pid and si_uid when
2033 si_code is < 0. Check for si_code == SI_TIMER before checking for
2034 si_code < 0.
2035
2036 2010-09-13 Joel Brobecker <brobecker@adacore.com>
2037
2038 * lynx-i386-low.c: New file.
2039 * configure.srv: Add handling of i[34567]86-*-lynxos* targets.
2040
2041 2010-09-13 Joel Brobecker <brobecker@adacore.com>
2042
2043 * lynx-low.c (ptrace_request_to_str): Remove handling for
2044 request values that have been removed in LynxOS 5.x.
2045
2046 2010-09-13 Joel Brobecker <brobecker@adacore.com>
2047
2048 * lynx-low.c, lynx-ppc-loc.c: Include <sys/ptrace.h> instead of
2049 <ptrace.h>
2050
2051 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
2052
2053 * configure.ac: Add --enable-inprocess-agent option.
2054 * configure: Rebuilt.
2055
2056 2010-09-06 Yao Qi <yao@codesourcery.com>
2057
2058 * linux-low.c (linux_kill): Remove unused variable.
2059 (linux_stabilize_threads): Likewise.
2060 * server.c (start_inferior): Likewise.
2061 (queue_stop_reply_callback): Likewise.
2062 * tracepoint.c (do_action_at_tracepoint): Likewise.
2063
2064 2010-09-06 Yao Qi <yao@codesourcery.com>
2065
2066 * linux-low.c (maybe_move_out_of_jump_pad): Restore current_inferior
2067 on return.
2068
2069 2010-09-06 Jan Kratochvil <jan.kratochvil@redhat.com>
2070
2071 * target.c (mywait) <TARGET_WAITKIND_EXITED>: Fix to use INTEGER.
2072
2073 2010-09-06 Pedro Alves <pedro@codesourcery.com>
2074
2075 * Makefile.in (install-only): Replace $IPA_DEPFILES with
2076 "$(IPA_DEPFILES)".
2077
2078 2010-09-01 Joel Brobecker <brobecker@adacore.com>
2079
2080 * gdbserver/lynx-low.c, gdbserver/lynx-low.h,
2081 gdbserver/lynx-ppc-low.c: New files.
2082 * Makefile.in (lynx_low_h): New variable.
2083 (lynx-low.o, lynx-ppc-low.o): New rules.
2084 * configure.ac: On LynxOS, link with -lnetinet.
2085 * configure.srv: Add handling of powerpc-*-lynxos* targets.
2086 * configure: regenerate.
2087
2088 2010-09-01 Joel Brobecker <brobecker@adacore.com>
2089
2090 * Makefile.in (vasprintf.o, vsnprintf.o): New rules.
2091 * configure.ac: Add check for vasprintf and vsnprintf.
2092 * configure, config.in: Regenerate.
2093 * server.h (vasprintf, vsnprintf): Add conditional declarations.
2094
2095 2010-09-01 Joel Brobecker <brobecker@adacore.com>
2096
2097 * gdbreplay.c: Move include of alloca.h up, next to include of
2098 malloc.h.
2099 * server.h: Add include of malloc.h.
2100 * mem-break.c: Remove include of malloc.h.
2101 * server.c, tracepoint.c, utils.c, win32-low.c: Likewise.
2102
2103 2010-09-01 Joel Brobecker <brobecker@adacore.com>
2104
2105 * Makefile.in (memmem.o): Build with -Wno-error.
2106
2107 2010-09-01 Joel Brobecker <brobecker@adacore.com>
2108
2109 * utils.c (xsnprintf): Make non-static.
2110 * server.h: Add xsnprintf declaration.
2111 * linux-low.c, nto-low.c, target.c, thread-db.c, tracepoint.c:
2112 replace calls to snprintf by calls to xsnprintf throughout.
2113
2114 2010-09-01 Joel Brobecker <brobecker@adacore.com>
2115
2116 * configure.ac: Add configure check for alloca.
2117 * configure, config.in: Regenerate.
2118 * server.h: Include alloca.h if it exists.
2119 * gdbreplay.c: Include alloca.h if it exists.
2120
2121 2010-08-28 Pedro Alves <pedro@codesourcery.com>
2122
2123 * linux-low.c (__SIGRTMIN): Define if not already defined.
2124 (linux_create_inferior): Check for __ANDROID__ rather than
2125 __SIGRTMIN.
2126 (enqueue_one_deferred_signal): Don't requeue non-RT signals that
2127 are already deferred.
2128 (linux_wait_1): Check for __ANDROID__ rather than __SIGRTMIN.
2129 (linux_resume_one_thread): Don't queue a SIGSTOP if the lwp is
2130 stopped and already has a pending signal to report.
2131 (proceed_one_lwp): : Don't queue a SIGSTOP if the lwp already has
2132 a pending signal to report or is moving out of a jump pad.
2133 (linux_init_signals): Check for __ANDROID__ rather than
2134 __SIGRTMIN.
2135
2136 2010-08-28 Pedro Alves <pedro@codesourcery.com>
2137
2138 * linux-low.c (linux_stabilize_threads): Wrap debug output in a
2139 debug_threads check. Avoid a linear search when not doing debug
2140 output.
2141
2142 2010-08-27 Pedro Alves <pedro@codesourcery.com>
2143
2144 * event-loop.c (event_handle_func): Adjust to use gdb_fildes_t.
2145 (struct gdb_event) <fd>: Change type to gdb_fildes_t.
2146 (struct file_handler) <fd>: Change type to gdb_fildes_t.
2147 (process_event): Change local fd's type to gdb_fildes_t.
2148 (create_file_handler): Adjust prototype.
2149 (delete_file_handler): Adjust prototype.
2150 (handle_file_event): Adjust prototype. Use pfildes.
2151 (create_file_event): Adjsut prototype.
2152 * remote-utils.c (remote_desc, listen_desc): Change type to
2153 gdb_fildes_t.
2154 * server.h: New gdb_fildes_t typedef.
2155 [USE_WIN32API]: Include winsock2.h.
2156 (delete_file_handler, add_file_handler): Adjust prototypes.
2157 (pfildes): Declare.
2158 * utils.c (pfildes): New.
2159
2160 2010-08-27 Pedro Alves <pedro@codesourcery.com>
2161
2162 * configure.ac (build_warnings): Add -Wno-char-subscripts.
2163 * configure: Regenerate.
2164
2165 2010-08-27 Pedro Alves <pedro@codesourcery.com>
2166
2167 * linux-low.c (linux_unprepare_to_access_memory): Rename to ...
2168 (linux_done_accessing_memory): ... this.
2169 (linux_target_ops): Adjust.
2170 * linux-x86-low.c (x86_insert_point, x86_remove_point): Adjust.
2171 * nto-low.c (nto_target_ops): Adjust comment.
2172 * server.c (gdb_read_memory, gdb_write_memory): Adjust.
2173 * spu-low.c (spu_target_ops): Adjust comment.
2174 * target.h (target_ops): Rename unprepare_to_access_memory field
2175 to done_accessing_memory.
2176 (unprepare_to_access_memory): Rename to ...
2177 (done_accessing_memory): ... this.
2178
2179 2010-08-26 Pedro Alves <pedro@codesourcery.com>
2180
2181 * linux-low.c (linux_prepare_to_access_memory): New.
2182 (linux_unprepare_to_access_memory): New.
2183 (linux_target_ops): Install them.
2184 * server.c (read_memory): Rename to ...
2185 (gdb_read_memory): ... this. Use
2186 prepare_to_access_memory/prepare_to_access_memory.
2187 (write_memory): Rename to ...
2188 (gdb_write_memory): ... this. Use
2189 prepare_to_access_memory/prepare_to_access_memory.
2190 (handle_search_memory_1): Adjust.
2191 (process_serial_event): Adjust.
2192 * target.h (struct target_ops): New fields
2193 prepare_to_access_memory and unprepare_to_access_memory.
2194 (prepare_to_access_memory, unprepare_to_access_memory): New.
2195 * linux-x86-low.c (x86_insert_point, x86_remove_point): Use
2196 prepare_to_access_memory/prepare_to_access_memory.
2197 * nto-low.c (nto_target_ops): Adjust.
2198 * spu-low.c (spu_target_ops): Adjust.
2199 * win32-low.c (win32_target_ops): Adjust.
2200
2201 2010-08-26 Pedro Alves <pedro@codesourcery.com>
2202
2203 * Makefile.in (WARN_CFLAGS): Get it from configure.
2204 (WERROR_CFLAGS): New.
2205 (INTERNAL_CFLAGS): Add WERROR_CFLAGS.
2206 * configure.ac: Introduce --enable-werror, which adds -Werror to
2207 the compiler command line. Enabled by default. Disable with
2208 --disable-werror. Add -Wdeclaration-after-statement
2209 Wpointer-arith and -Wformat-nonliteral to warning flags.
2210 * configure: Regenerate.
2211
2212 2010-08-26 Pedro Alves <pedro@codesourcery.com>
2213
2214 * mem-break.c [HAVE_MALLOC_H]: Include malloc.h.
2215
2216 2010-08-26 Pedro Alves <pedro@codesourcery.com>
2217
2218 * gdbreplay.c (remote_error): New.
2219 (gdbchar): New.
2220 (expect): Use gdbchar. Check for error reading from GDB.
2221 Clarify sync error output.
2222 (play): Check for errors writing to GDB.
2223 * linux-low.c (sigchld_handler): Really ignore `write' errors.
2224 * remote-utils.c (getpkt): Check for errors writing to the remote
2225 descriptor.
2226
2227 2010-08-25 Pedro Alves <pedro@codesourcery.com>
2228
2229 * linux-low.c (linux_wait_1): Move non-debugging code out of
2230 `debug_threads' control.
2231
2232 2010-08-25 Pedro Alves <pedro@codesourcery.com>
2233
2234 * linux-low.c (linux_wait_1): Don't set last_status here.
2235 * server.c (push_event, queue_stop_reply_callback): Assert we're
2236 not pushing a TARGET_WAITKIND_IGNORE event.
2237 (start_inferior, start_inferior, attach_inferior, handle_v_cont)
2238 (myresume, handle_target_event): Set the thread's last_resume_kind
2239 and last_status from the target returned status.
2240
2241 2010-08-25 Pedro Alves <pedro@codesourcery.com>
2242
2243 PR threads/10729
2244
2245 * linux-x86-low.c (update_debug_registers_callback): New.
2246 (i386_dr_low_set_addr): Use it.
2247 (i386_dr_low_get_addr): New.
2248 (i386_dr_low_set_control): Use update_debug_registers_callback.
2249 (i386_dr_low_get_control): New.
2250 (i386_dr_low_get_status): Adjust.
2251 * linux-low.c (linux_stop_lwp): New.
2252 * linux-low.h (linux_stop_lwp): Declare.
2253
2254 * i386-low.c (I386_DR_GET_RW_LEN): Take the dr7 contents as
2255 argument instead of a i386_debug_reg_state.
2256 (I386_DR_WATCH_HIT): Take the dr6 contents as argument instead of
2257 a i386_debug_reg_state.
2258 (i386_insert_aligned_watchpoint): Adjust.
2259 (i386_remove_aligned_watchpoint): Adjust.
2260 (i386_low_stopped_data_address): Read the debug registers from the
2261 inferior instead of from the mirrors.
2262 * i386-low.h (struct i386_debug_reg_state): Extend comment.
2263 (i386_dr_low_get_addr): Declare.
2264 (i386_dr_low_get_control): Declare.
2265 (i386_dr_low_get_status): Change prototype.
2266
2267 * win32-i386-low.c (dr_status_mirror, dr_control_mirror): New globals.
2268 (i386_dr_low_get_addr): New.
2269 (i386_dr_low_get_control): New.
2270 (i386_dr_low_get_status): Adjust prototype. Return
2271 dr_status_mirror.
2272 (i386_initial_stuff): Clear dr_status_mirror and
2273 dr_control_mirror.
2274 (i386_get_thread_context): Adjust.
2275 (i386_set_thread_context): Adjust.
2276 (i386_thread_added): Adjust.
2277
2278 2010-08-24 Pedro Alves <pedro@codesourcery.com>
2279
2280 * linux-low.h (linux_thread_area): Delete declaration.
2281
2282 2010-08-11 Thomas Schwinge <thomas@codesourcery.com>
2283
2284 * linux-low.c (linux_wait_1): Correctly return the ptid of the child
2285 after its termination.
2286
2287 2010-08-09 Pedro Alves <pedro@codesourcery.com>
2288
2289 * linux-low.c (gdb_wants_lwp_stopped): Delete.
2290 (gdb_wants_all_stopped): Delete.
2291 (linux_wait_1): Don't call them.
2292 * server.c (handle_v_cont): Tag all threads as want-stopped.
2293 (gdb_wants_thread_stopped): Fix comments. Tag the thread that
2294 stopped as "client-wants-stopped".
2295
2296 2010-07-31 Pedro Alves <pedro@codesourcery.com>
2297
2298 * Makefile.in (signals_h): New.
2299 (server_h): Depend on it.
2300 (server.o): Don't depend on $(signals_def).
2301 (signals.o): Depend on $(signals_def).
2302
2303 2010-07-31 Jan Kratochvil <jan.kratochvil@redhat.com>
2304
2305 * Makefile.in (signals_def): New.
2306 (server_h): Append include/gdb/signals.h and signals_def.
2307 (server.o): Append signals_def.
2308
2309 2010-07-25 Jan Kratochvil <jan.kratochvil@redhat.com>
2310
2311 * server.c (handle_target_event): Use target_signal_to_host for
2312 resume_info.sig initialization.
2313 * target.h (struct thread_resume) <sig>: New comment.
2314
2315 2010-07-20 Ozkan Sezer <sezeroz@gmail.com>
2316
2317 * server.c (handle_query): strcpy() the returned string from paddress()
2318 instead of sprintf().
2319 * utils.c (paddress): Return phex_nz().
2320
2321 2010-07-07 Joel Brobecker <brobecker@adacore.com>
2322
2323 * server.c (handle_v_cont): Call mourn_inferior if process
2324 just exited.
2325 (myresume): Likewise.
2326
2327 2010-07-01 Pedro Alves <pedro@codesourcery.com>
2328
2329 Static tracepoints, and integration with UST.
2330
2331 * configure.ac: Handle --with-ust. substitute ustlibs and ustinc.
2332 * mem-break.c (uninsert_all_breakpoints)
2333 (reinsert_all_breakpoints): New.
2334 * mem-break.h (reinsert_all_breakpoints, uninsert_all_breakpoints):
2335 * tracepoint.c (ust_loaded, helper_thread_id, cmd_buf): New.
2336 (gdb_agent_ust_loaded, helper_thread_id)
2337 (gdb_agent_helper_thread_id): New macros.
2338 (struct ipa_sym_addresses): Add addr_ust_loaded,
2339 addr_helper_thread_id, addr_cmd_buf.
2340 (symbol_list): Add ust_loaded, helper_thread_id, cmd_buf.
2341 (in_process_agent_loaded_ust): New.
2342 (write_e_ust_not_loaded): New.
2343 (maybe_write_ipa_ust_not_loaded): New.
2344 (struct collect_static_trace_data_action): New.
2345 (enum tracepoint_type) <static_tracepoint>: New.
2346 (struct tracepoint) <handle>: Mention static tracepoints.
2347 (struct static_tracepoint_ctx): New.
2348 (CMD_BUF_SIZE): New.
2349 (add_tracepoint_action): Handle static tracepoint actions.
2350 (unprobe_marker_at): New.
2351 (clear_installed_tracepoints): Handle static tracepoints.
2352 (cmd_qtdp): Handle static tracepoints.
2353 (probe_marker_at): New.
2354 (cmd_qtstart): Handle static tracepoints.
2355 (response_tracepoint): Handle static tracepoints.
2356 (cmd_qtfstm, cmd_qtsstm, cmd_qtstmat): New.
2357 (handle_tracepoint_query): Handle qTfSTM, qTsSTM and qTSTMat.
2358 (get_context_regcache): Handle static tracepoints.
2359 (do_action_at_tracepoint): Handle static tracepoint actions.
2360 (traceframe_find_block_type): Handle static trace data blocks.
2361 (traceframe_read_sdata): New.
2362 (download_tracepoints): Download static tracepoint actions.
2363 [HAVE_UST] Include ust/ust.h, dlfcn.h, sys/socket.h, and sys/un.h.
2364 (GDB_PROBE_NAME): New.
2365 (ust_ops): New.
2366 (GET_UST_SYM): New.
2367 (USTF): New.
2368 (dlsym_ust): New.
2369 (ust_marker_to_static_tracepoint): New.
2370 (gdb_probe): New.
2371 (collect_ust_data_at_tracepoint): New.
2372 (gdb_ust_probe): New.
2373 (UNIX_PATH_MAX, SOCK_DIR): New.
2374 (gdb_ust_connect_sync_socket): New.
2375 (resume_thread, stop_thread): New.
2376 (run_inferior_command): New.
2377 (init_named_socket): New.
2378 (gdb_ust_socket_init): New.
2379 (cstr_to_hexstr): New.
2380 (next_st): New.
2381 (first_marker, next_marker): New.
2382 (response_ust_marker): New.
2383 (cmd_qtfstm, cmd_qtsstm): New.
2384 (unprobe_marker_at, probe_marker_at): New.
2385 (cmd_qtstmat, gdb_ust_thread): New.
2386 (gdb_ust_init): New.
2387 (initialize_tracepoint_ftlib): Call gdb_ust_init.
2388 * linux-amd64-ipa.c [HAVE_UST]: Include ust/processor.h
2389 (ST_REGENTRY): New.
2390 (x86_64_st_collect_regmap): New.
2391 (X86_64_NUM_ST_COLLECT_GREGS): New.
2392 (AMD64_RIP_REGNUM): New.
2393 (supply_static_tracepoint_registers): New.
2394 * linux-i386-ipa.c [HAVE_UST]: Include ust/processor.h
2395 (ST_REGENTRY): New.
2396 (i386_st_collect_regmap): New.
2397 (i386_NUM_ST_COLLECT_GREGS): New.
2398 (supply_static_tracepoint_registers): New.
2399 * server.c (handle_query): Handle qXfer:statictrace:read.
2400 <qSupported>: Report support for StaticTracepoints, and
2401 qXfer:statictrace:read features.
2402 * server.h (traceframe_read_sdata)
2403 (supply_static_tracepoint_registers): Declare.
2404 * remote-utils.c (convert_int_to_ascii, hexchars, ishex, tohex)
2405 (unpack_varlen_hex): Include in IPA build.
2406 * Makefile.in (ustlibs, ustinc): New.
2407 (IPA_OBJS): Add remote-utils-ipa.o.
2408 ($(IPA_LIB)): Link -ldl and -lpthread.
2409 (UST_CFLAGS): New.
2410 (IPAGENT_CFLAGS): Add UST_CFLAGS.
2411 * config.in, configure: Regenerate.
2412
2413 2010-06-20 Ian Lance Taylor <iant@google.com>
2414 Pedro Alves <pedro@codesourcery.com>
2415
2416 * linux-x86-low.c (always_true): Delete.
2417 (EMIT_ASM, EMIT_ASM32): Use an uncondition asm jmp instead of
2418 trying to fool the compiler with always_true.
2419
2420 2010-06-20 Pedro Alves <pedro@codesourcery.com>
2421
2422 * tracepoint.c (condition_true_at_tracepoint): Don't run compiled
2423 conditions in gdbserver.
2424
2425 2010-06-19 Ulrich Weigand <uweigand@de.ibm.com>
2426
2427 * spu-low.c (spu_read_memory): Wrap around local store limit.
2428 (spu_write_memory): Likewise.
2429
2430 2010-06-15 Pedro Alves <pedro@codesourcery.com>
2431
2432 * linux-x86-low.c (amd64_emit_const, amd64_emit_void_call_2)
2433 (i386_emit_const, i386_emit_void_call_2): Replace int64_t uses with
2434 LONGEST uses.
2435 * server.h (struct emit_ops): Replace int64_t uses with LONGEST
2436 uses.
2437 * tracepoint.c (emit_const, emit_void_call_2): Replace int64_t
2438 uses with LONGEST uses.
2439
2440 2010-06-14 Stan Shebs <stan@codesourcery.com>
2441 Pedro Alves <pedro@codesourcery.com>
2442
2443 Bytecode compiler.
2444
2445 * linux-x86-low.c: Include limits.h.
2446 (add_insns): New.
2447 (always_true): New.
2448 (EMIT_ASM): New.
2449 (EMIT_ASM32): New.
2450 (amd64_emit_prologue, amd64_emit_epilogue, amd64_emit_add)
2451 (amd64_emit_sub, amd64_emit_mul, amd64_emit_lsh)
2452 (amd64_emit_rsh_signed, amd64_emit_rsh_unsigned, amd64_emit_ext,
2453 (amd64_emit_log_not, amd64_emit_bit_and, amd64_emit_bit_or)
2454 (amd64_emit_bit_xor, amd64_emit_bit_not, amd64_emit_equal,
2455 (amd64_emit_less_signed, amd64_emit_less_unsigned, amd64_emit_ref,
2456 (amd64_emit_if_goto, amd64_emit_goto, amd64_write_goto_address)
2457 (amd64_emit_const, amd64_emit_call, amd64_emit_reg)
2458 (amd64_emit_pop, amd64_emit_stack_flush, amd64_emit_zero_ext)
2459 (amd64_emit_swap, amd64_emit_stack_adjust, amd64_emit_int_call_1)
2460 (amd64_emit_void_call_2): New.
2461 (amd64_emit_ops): New.
2462 (i386_emit_prologue, i386_emit_epilogue, i386_emit_add)
2463 (i386_emit_sub,i386_emit_mul, i386_emit_lsh, i386_emit_rsh_signed)
2464 (i386_emit_rsh_unsigned, i386_emit_ext, i386_emit_log_not)
2465 (i386_emit_bit_and, i386_emit_bit_or, i386_emit_bit_xor)
2466 (i386_emit_bit_not, i386_emit_equal, i386_emit_less_signed)
2467 (i386_emit_less_unsigned, i386_emit_ref, i386_emit_if_goto)
2468 (i386_emit_goto, i386_write_goto_address, i386_emit_const)
2469 (i386_emit_call, i386_emit_reg, i386_emit_pop)
2470 (i386_emit_stack_flush, i386_emit_zero_ext, i386_emit_swap)
2471 (i386_emit_stack_adjust, i386_emit_int_call_1)
2472 (i386_emit_void_call_2): New.
2473 (i386_emit_ops): New.
2474 (x86_emit_ops): New.
2475 (the_low_target): Install x86_emit_ops.
2476 * server.h (struct emit_ops): New.
2477 (get_raw_reg_func_addr): Declare.
2478 (current_insn_ptr, emit_error): Declare.
2479 * tracepoint.c (get_raw_reg, get_trace_state_variable_value)
2480 (set_trace_state_variable_value): New defines.
2481 (struct ipa_sym_addresses): New fields addr_get_raw_reg,
2482 addr_get_trace_state_variable_value and
2483 addr_set_trace_state_variable_value.
2484 (symbol_list): New fields for get_raw_reg,
2485 get_trace_state_variable_value and set_trace_state_variable_value.
2486 (condfn): New typedef.
2487 (struct tracepoint): New field `compiled_cond'.
2488 (do_action_at_tracepoint): Clear compiled_cond.
2489 (get_trace_state_variable_value, set_trace_state_variable_value):
2490 Export in the IPA.
2491 (condition_true_at_tracepoint): If there's a compiled condition,
2492 run that.
2493 (current_insn_ptr, emit_error): New globals.
2494 (struct bytecode_address): New.
2495 (get_raw_reg_func_addr): New.
2496 (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul)
2497 (emit_lsh, emit_rsh_signed, emit_rsh_unsigned, emit_ext)
2498 (emit_log_not, emit_bit_and, emit_bit_or, emit_bit_xor)
2499 (emit_bit_not, emit_equal, emit_less_signed, emit_less_unsigned)
2500 (emit_ref, emit_if_goto, emit_goto, write_goto_address, emit_const)
2501 (emit_reg, emit_pop, emit_stack_flush, emit_zero_ext, emit_swap)
2502 (emit_stack_adjust, emit_int_call_1, emit_void_call_2): New.
2503 (compile_tracepoint_condition, compile_bytecodes): New.
2504 * target.h (emit_ops): Forward declare.
2505 (struct target_ops): New field emit_ops.
2506 (target_emit_ops): New.
2507 * linux-amd64-ipa.c (gdb_agent_get_raw_reg): New.
2508 * linux-i386-ipa.c (gdb_agent_get_raw_reg): New.
2509 * linux-low.c (linux_emit_ops): New.
2510 (linux_target_ops): Install it.
2511 * linux-low.h (struct linux_target_ops): New field emit_ops.
2512
2513 2010-06-14 Ulrich Weigand <uweigand@de.ibm.com>
2514
2515 * linux-ppc-low.c (ppc_arch_setup): Use private regcache to test MSR.
2516 * linux-s390-low.c (ppc_arch_setup): Use private regcache to test PSW.
2517
2518 2010-06-01 Pedro Alves <pedro@codesourcery.com>
2519 Stan Shebs <stan@codesourcery.com>
2520
2521 * Makefile.in (IPA_DEPFILES, extra_libraries): New.
2522 (all): Depend on $(extra_libraries).
2523 (install-only): Install the IPA.
2524 (IPA_OBJS, IPA_LIB): New.
2525 (clean): Remove the IPA lib.
2526 (IPAGENT_CFLAGS): New.
2527 (tracepoint-ipa.o, utils-ipa.o, remote-utils-ipa.o)
2528 (regcache-ipa.o, i386-linux-ipa.o, linux-i386-ipa.o)
2529 (linux-amd64-ipa.o, amd64-linux-ipa.o): New rules.
2530 * linux-amd64-ipa.c, linux-i386-ipa.c: New files.
2531 * configure.ac: Check for atomic builtins support in the compiler.
2532 (IPA_DEPFILES, extra_libraries): Define.
2533 * configure.srv (ipa_obj): Add description.
2534 (ipa_i386_linux_regobj, ipa_amd64_linux_regobj): Define.
2535 (i[34567]86-*-linux*): Set ipa_obj.
2536 (x86_64-*-linux*): Set ipa_obj.
2537 * linux-low.c (stabilizing_threads): New.
2538 (supports_fast_tracepoints): New.
2539 (linux_detach): Stabilize threads before detaching.
2540 (handle_tracepoints): Handle internal tracing breakpoints. Assert
2541 the lwp is either not stabilizing, or is moving out of a jump pad.
2542 (linux_fast_tracepoint_collecting): New.
2543 (maybe_move_out_of_jump_pad): New.
2544 (enqueue_one_deferred_signal): New.
2545 (dequeue_one_deferred_signal): New.
2546 (linux_wait_for_event_1): If moving out of a jump pad, defer
2547 pending signals to later.
2548 (linux_stabilize_threads): New.
2549 (linux_wait_1): Check if threads need moving out of jump pads, and
2550 do it if so.
2551 (stuck_in_jump_pad_callback): New.
2552 (move_out_of_jump_pad_callback): New.
2553 (lwp_running): New.
2554 (linux_resume_one_lwp): Handle moving out of jump pads.
2555 (linux_set_resume_request): Dequeue deferred signals.
2556 (need_step_over_p): Also step over fast tracepoint jumps.
2557 (start_step_over): Also uninsert fast tracepoint jumps.
2558 (finish_step_over): Also reinsert fast tracepoint jumps.
2559 (linux_install_fast_tracepoint_jump): New.
2560 (linux_target_ops): Install linux_stabilize_threads and
2561 linux_install_fast_tracepoint_jump_pad.
2562 * linux-low.h (linux_target_ops) <get_thread_area,
2563 install_fast_tracepoint_jump_pad>: New fields.
2564 (struct lwp_info) <collecting_fast_tracepoint,
2565 pending_signals_to_report, exit_jump_pad_bkpt>: New fields.
2566 (linux_get_thread_area): Declare.
2567 * linux-x86-low.c (jump_insn): New.
2568 (x86_get_thread_area): New.
2569 (append_insns): New.
2570 (push_opcode): New.
2571 (amd64_install_fast_tracepoint_jump_pad): New.
2572 (i386_install_fast_tracepoint_jump_pad): New.
2573 (x86_install_fast_tracepoint_jump_pad): New.
2574 (the_low_target): Install x86_get_thread_area and
2575 x86_install_fast_tracepoint_jump_pad.
2576 * mem-break.c (set_raw_breakpoint_at): Use read_inferior_memory.
2577 (struct fast_tracepoint_jump): New.
2578 (fast_tracepoint_jump_insn): New.
2579 (fast_tracepoint_jump_shadow): New.
2580 (find_fast_tracepoint_jump_at): New.
2581 (fast_tracepoint_jump_here): New.
2582 (delete_fast_tracepoint_jump): New.
2583 (set_fast_tracepoint_jump): New.
2584 (uninsert_fast_tracepoint_jumps_at): New.
2585 (reinsert_fast_tracepoint_jumps_at): New.
2586 (set_breakpoint_at): Use write_inferior_memory.
2587 (uninsert_raw_breakpoint): Use write_inferior_memory.
2588 (check_mem_read): Mask out fast tracepoint jumps.
2589 (check_mem_write): Mask out fast tracepoint jumps.
2590 * mem-break.h (struct fast_tracepoint_jump): Forward declare.
2591 (set_fast_tracepoint_jump): Declare.
2592 (delete_fast_tracepoint_jump)
2593 (fast_tracepoint_jump_here, uninsert_fast_tracepoint_jumps_at)
2594 (reinsert_fast_tracepoint_jumps_at): Declare.
2595 * regcache.c: Don't compile many functions when building the
2596 in-process agent library.
2597 (init_register_cache) [IN_PROCESS_AGENT]: Don't allow allocating
2598 the register buffer in the heap.
2599 (free_register_cache): If the register buffer isn't owned by the
2600 regcache, don't free it.
2601 (set_register_cache) [IN_PROCESS_AGENT]: Don't re-alocate
2602 pre-existing register caches.
2603 * remote-utils.c (convert_int_to_ascii): Constify `from' parameter
2604 type.
2605 (convert_ascii_to_int): : Constify `from' parameter type.
2606 (decode_M_packet, decode_X_packet): Replace the `to' parameter by
2607 a `to_p' pointer to pointer parameter. If TO_P is NULL, malloc
2608 the needed buffer in-place.
2609 (relocate_instruction): New.
2610 * server.c (handle_query) <qSymbols>: If the target supports
2611 tracepoints, give it a chance of looking up symbols. Report
2612 support for fast tracepoints.
2613 (handle_status): Stabilize threads.
2614 (process_serial_event): Adjust.
2615 * server.h (struct fast_tracepoint_jump): Forward declare.
2616 (struct process_info) <fast_tracepoint_jumps>: New field.
2617 (convert_ascii_to_int, convert_int_to_ascii): Adjust.
2618 (decode_X_packet, decode_M_packet): Adjust.
2619 (relocate_instruction): Declare.
2620 (in_process_agent_loaded): Declare.
2621 (tracepoint_look_up_symbols): Declare.
2622 (struct fast_tpoint_collect_status): Declare.
2623 (fast_tracepoint_collecting): Declare.
2624 (force_unlock_trace_buffer): Declare.
2625 (handle_tracepoint_bkpts): Declare.
2626 (initialize_low_tracepoint)
2627 (supply_fast_tracepoint_registers) [IN_PROCESS_AGENT]: Declare.
2628 * target.h (struct target_ops) <stabilize_threads,
2629 install_fast_tracepoint_jump_pad>: New fields.
2630 (stabilize_threads, install_fast_tracepoint_jump_pad): New.
2631 * tracepoint.c [HAVE_MALLOC_H]: Include malloc.h.
2632 [HAVE_STDINT_H]: Include stdint.h.
2633 (trace_debug_1): Rename to ...
2634 (trace_vdebug): ... this.
2635 (trace_debug): Rename to ...
2636 (trace_debug_1): ... this. Add `level' parameter.
2637 (trace_debug): New.
2638 (ATTR_USED, ATTR_NOINLINE): New.
2639 (IP_AGENT_EXPORT): New.
2640 (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
2641 (collecting, gdb_collect, stop_tracing, flush_trace_buffer)
2642 (about_to_request_buffer_space, trace_buffer_is_full)
2643 (stopping_tracepoint, expr_eval_result, error_tracepoint)
2644 (tracepoints, tracing, trace_buffer_ctrl, trace_buffer_ctrl_curr)
2645 (trace_buffer_lo, trace_buffer_hi, traceframe_read_count)
2646 (traceframe_write_count, traceframes_created)
2647 (trace_state_variables)
2648 New renaming defines.
2649 (struct ipa_sym_addresses): New.
2650 (STRINGIZE_1, STRINGIZE, IPA_SYM): New.
2651 (symbol_list): New.
2652 (ipa_sym_addrs): New.
2653 (all_tracepoint_symbols_looked_up): New.
2654 (in_process_agent_loaded): New.
2655 (write_e_ipa_not_loaded): New.
2656 (maybe_write_ipa_not_loaded): New.
2657 (tracepoint_look_up_symbols): New.
2658 (debug_threads) [IN_PROCESS_AGENT]: New.
2659 (read_inferior_memory) [IN_PROCESS_AGENT]: New.
2660 (UNKNOWN_SIDE_EFFECTS): New.
2661 (stop_tracing): New.
2662 (flush_trace_buffer): New.
2663 (stop_tracing_bkpt): New.
2664 (flush_trace_buffer_bkpt): New.
2665 (read_inferior_integer): New.
2666 (read_inferior_uinteger): New.
2667 (read_inferior_data_pointer): New.
2668 (write_inferior_data_pointer): New.
2669 (write_inferior_integer): New.
2670 (write_inferior_uinteger): New.
2671 (struct collect_static_trace_data_action): Delete.
2672 (enum tracepoint_type): New.
2673 (struct tracepoint) <type>: New field `type'.
2674 <actions_str, step_actions, step_actions_str>: Only include in GDBserver.
2675 <orig_size, obj_addr_on_target, adjusted_insn_addr>
2676 <adjusted_insn_addr_end, jump_pad, jump_pad_end>: New fields.
2677 (tracepoints): Use IP_AGENT_EXPORT.
2678 (last_tracepoint): Don't include in the IPA.
2679 (stopping_tracepoint): Use IP_AGENT_EXPORT.
2680 (trace_buffer_is_full): Use IP_AGENT_EXPORT.
2681 (alloced_trace_state_variables): New.
2682 (trace_state_variables): Use IP_AGENT_EXPORT.
2683 (traceframe_t): Delete unused variable.
2684 (circular_trace_buffer): Don't include in the IPA.
2685 (trace_buffer_start): Delete.
2686 (struct trace_buffer_control): New.
2687 (trace_buffer_free): Delete.
2688 (struct ipa_trace_buffer_control): New.
2689 (GDBSERVER_FLUSH_COUNT_MASK, GDBSERVER_FLUSH_COUNT_MASK_PREV)
2690 (GDBSERVER_FLUSH_COUNT_MASK_CURR, GDBSERVER_UPDATED_FLUSH_COUNT_BIT):
2691 New.
2692 (trace_buffer_ctrl): New.
2693 (TRACE_BUFFER_CTRL_CURR): New.
2694 (trace_buffer_start, trace_buffer_free, trace_buffer_end_free):
2695 Reimplement as macros.
2696 (trace_buffer_wrap): Delete.
2697 (traceframe_write_count, traceframe_read_count)
2698 (traceframes_created, tracing): Use IP_AGENT_EXPORT.
2699 (struct tracepoint_hit_ctx) <type>: New field.
2700 (struct fast_tracepoint_ctx): New.
2701 (memory_barrier): New.
2702 (cmpxchg): New.
2703 (record_tracepoint_error): Update atomically in the IPA.
2704 (clear_inferior_trace_buffer): New.
2705 (about_to_request_buffer_space): New.
2706 (trace_buffer_alloc): Handle GDBserver and inferior simulatenous
2707 updating the same buffer.
2708 (add_tracepoint): Default the tracepoint's type to trap
2709 tracepoint, and orig_size to -1.
2710 (get_trace_state_variable) [IN_PROCESS_AGENT]: Handle allocated
2711 internal variables.
2712 (create_trace_state_variable): New parameter `gdb'. Handle it.
2713 (clear_installed_tracepoints): Clear fast tracepoint jumps.
2714 (cmd_qtdp): Handle fast tracepoints.
2715 (cmd_qtdv): Adjust.
2716 (max_jump_pad_size): New.
2717 (gdb_jump_pad_head): New.
2718 (get_jump_space_head): New.
2719 (claim_jump_space): New.
2720 (sort_tracepoints): New.
2721 (MAX_JUMP_SIZE): New.
2722 (cmd_qtstart): Handle fast tracepoints. Sync tracepoints with the
2723 IPA.
2724 (stop_tracing) [IN_PROCESS_AGENT]: Don't include the tdisconnected
2725 support. Upload fast traceframes, and delete internal IPA
2726 breakpoints.
2727 (stop_tracing_handler): New.
2728 (flush_trace_buffer_handler): New.
2729 (cmd_qtstop): Upload fast tracepoints.
2730 (response_tracepoint): Handle fast tracepoints.
2731 (tracepoint_finished_step): Upload fast traceframes. Set the
2732 tracepoint hit context's tracepoint type.
2733 (handle_tracepoint_bkpts): New.
2734 (tracepoint_was_hit): Set the tracepoint hit context's tracepoint
2735 type. Add comment about fast tracepoints.
2736 (collect_data_at_tracepoint) [IN_PROCESS_AGENT]: Don't access the
2737 non-existing action_str field.
2738 (get_context_regcache): Handle fast tracepoints.
2739 (do_action_at_tracepoint) [!IN_PROCESS_AGENT]: Don't write the PC
2740 to the regcache.
2741 (fast_tracepoint_from_jump_pad_address): New.
2742 (fast_tracepoint_from_ipa_tpoint_address): New.
2743 (collecting_t): New.
2744 (force_unlock_trace_buffer): New.
2745 (fast_tracepoint_collecting): New.
2746 (collecting): New.
2747 (gdb_collect): New.
2748 (write_inferior_data_ptr): New.
2749 (target_tp_heap): New.
2750 (target_malloc): New.
2751 (download_agent_expr): New.
2752 (UALIGN): New.
2753 (download_tracepoints): New.
2754 (download_trace_state_variables): New.
2755 (upload_fast_traceframes): New.
2756 (IPA_FIRST_TRACEFRAME): New.
2757 (IPA_NEXT_TRACEFRAME_1): New.
2758 (IPA_NEXT_TRACEFRAME): New.
2759 [IN_PROCESS_AGENT]: Include sys/mman.h and fcntl.h.
2760 [IN_PROCESS_AGENT] (gdb_tp_heap_buffer, gdb_jump_pad_buffer)
2761 (gdb_jump_pad_buffer_end): New.
2762 [IN_PROCESS_AGENT] (initialize_tracepoint_ftlib): New.
2763 (initialize_tracepoint): Adjust.
2764 [IN_PROCESS_AGENT]: Allocate the IPA heap, and jump pad scratch
2765 buffer. Initialize the low module.
2766 * utils.c (PREFIX, TOOLNAME): New.
2767 (malloc_failure): Use PREFIX.
2768 (error): In the IPA, an error causes an exit.
2769 (fatal, warning): Use PREFIX.
2770 (internal_error): Use TOOLNAME.
2771 (NUMCELLS): Increase to 10.
2772 * configure, config.in: Regenerate.
2773
2774 2010-06-01 Pedro Alves <pedro@codesourcery.com>
2775
2776 * server.c (handle_query) <qSupported>: Do two passes over the
2777 qSupported string to avoid nesting strtok.
2778
2779 2010-05-28 Jan Kratochvil <jan.kratochvil@redhat.com>
2780
2781 * Makefile.in (SFILES): Add $(srcdir)/proc-service.list.
2782 (CDEPS): New.
2783 * configure.ac (RDYNAMIC): New AC_MSG_CHECKING wrapping. Test also
2784 -Wl,--dynamic-list.
2785 * configure: Regenerate.
2786 * proc-service.list: New.
2787
2788 2010-05-28 Jan Kratochvil <jan.kratochvil@redhat.com>
2789
2790 * linux-low.c (linux_core_of_thread): Fix crash on invalid CONTENT.
2791 New comment.
2792
2793 2010-05-26 Ozkan Sezer <sezeroz@gmail.com>
2794
2795 * gdbreplay.c (remote_open): Check error return from socket() call by
2796 its equality to -1 not by it being negative.
2797 * remote-utils.c (remote_open): Likewise.
2798
2799 2010-05-23 Pedro Alves <pedro@codesourcery.com>
2800
2801 * config.h: Regenerate.
2802
2803 2010-05-19 Maxim Kuvyrkov <maxim@codesourcery.com>
2804
2805 * linux-m68k-low.c (ps_get_thread_area): Don't define if kernel
2806 doesn't provide PTRACE_GET_THREAD_AREA.
2807
2808 2010-05-19 Maxim Kuvyrkov <maxim@codesourcery.com>
2809
2810 * linux-m68k-low.c: Include <asm/ptrace.h>
2811 (ps_get_thread_area): Implement.
2812
2813 2010-05-03 Doug Evans <dje@google.com>
2814
2815 * event-loop.c (struct callback_event): New struct.
2816 (callback_list): New global.
2817 (append_callback_event, delete_callback_event): New functions.
2818 (process_callback): New function.
2819 (start_event_loop): Call it.
2820 * remote-utils.c (NOT_SCHEDULED): Define.
2821 (readchar_buf, readchar_bufcnt, readchar_bufp): New static globals,
2822 moved out of readchar.
2823 (readchar): Rewrite. Call reschedule before returning.
2824 (reset_readchar): New function.
2825 (remote_close): Call it.
2826 (process_remaining, reschedule): New functions.
2827 * server.h (callback_handler_func): New typedef.
2828 (append_callback_event, delete_callback_event): Declare.
2829
2830 2010-05-03 Pedro Alves <pedro@codesourcery.com>
2831
2832 * proc-service.c (ps_pglobal_lookup): Use
2833 thread_db_look_up_one_symbol.
2834 * remote-utils.c (look_up_one_symbol): Add new `may_ask_gdb'
2835 parameter. Use it instead of all_symbols_looked_up.
2836 * server.h (struct process_info) <all_symbols_looked_up>: Delete
2837 field.
2838 (all_symbols_looked_up): Don't declare.
2839 (look_up_one_symbol): Add new `may_ask_gdb' parameter.
2840 * thread-db.c (struct thread_db) <all_symbols_looked_up>: New
2841 field.
2842 (thread_db_look_up_symbols): Adjust call to look_up_one_symbol.
2843 Set all_symbols_looked_up here.
2844 (thread_db_look_up_one_symbol): New.
2845 (thread_db_get_tls_address): Adjust.
2846 (thread_db_load_search, try_thread_db_load_1): Always allocate the
2847 thread_db object on the heap, and tentatively set it in the
2848 process structure.
2849 (thread_db_init): Don't set all_symbols_looked_up here.
2850 * linux-low.h (thread_db_look_up_one_symbol): Declare.
2851
2852 2010-05-03 Pedro Alves <pedro@codesourcery.com>
2853
2854 * linux-low.c (linux_kill, linux_detach): Adjust.
2855 (status_pending_p_callback): Remove redundant statement. Check
2856 for !TARGET_WAITIKIND_IGNORE, instead of
2857 TARGET_WAITKIND_STOPPED.
2858 (handle_tracepoints): Make sure LWP is locked. Adjust.
2859 (linux_wait_for_event_1): Adjust.
2860 (linux_cancel_breakpoints): New.
2861 (unsuspend_one_lwp): New.
2862 (unsuspend_all_lwps): New.
2863 (linux_wait_1): If finishing a step-over, unsuspend all lwps.
2864 (send_sigstop_callback): Change return type to int, add new
2865 `except' parameter and handle it.
2866 (suspend_and_send_sigstop_callback): New.
2867 (stop_all_lwps): Add new `suspend' and `expect' parameters, and
2868 pass them down. If SUSPEND, also increment the lwp's suspend
2869 count.
2870 (linux_resume_one_lwp): Add notice about resuming a suspended LWP.
2871 (need_step_over_p): Don't consider suspended LWPs.
2872 (start_step_over): Adjust.
2873 (proceed_one_lwp): Change return type to int, add new `except'
2874 parameter and handle it.
2875 (unsuspend_and_proceed_one_lwp): New.
2876 (proceed_all_lwps): Use find_inferior instead of
2877 for_each_inferior.
2878 (unstop_all_lwps): Add `unsuspend' parameter. If UNSUSPEND, them
2879 also decrement the suspend count of LWPs. Pass `except' down,
2880 instead of hacking its suspend count.
2881 (linux_pause_all): Add `freeze' parameter. Adjust.
2882 (linux_unpause_all): New.
2883 (linux_target_ops): Install linux_unpause_all.
2884 * server.c (handle_status): Adjust.
2885 * target.h (struct target_ops): New fields `unpause_all' and
2886 `cancel_breakpoints'. Add new parameter to `pause_all'.
2887 (pause_all): Add new `freeze' parameter.
2888 (unpause_all): New.
2889 (cancel_breakpoints): New.
2890 * tracepoint.c (clear_installed_tracepoints): Pause threads, and
2891 cancel breakpoints.
2892 (cmd_qtstart): Pause threads.
2893 (stop_tracing): Pause threads, and cancel breakpoints.
2894 * win32-low.c (win32_target_ops): Adjust.
2895
2896 2010-05-03 Pedro Alves <pedro@codesourcery.com>
2897
2898 * linux-low.c (linux_wait_for_event_1): Move passing the signal to
2899 the inferior right away from here...
2900 (linux_wait_1): ... to here, and adjust to check the thread's
2901 last_resume_kind instead of the lwp's step or stop_expected flags.
2902
2903 2010-05-02 Pedro Alves <pedro@codesourcery.com>
2904
2905 * README: Use consistent `GDB' and `GDBserver' spellings.
2906
2907 2010-05-02 Pedro Alves <pedro@codesourcery.com>
2908
2909 * linux-low.c (linux_kill_one_lwp): Assume the lwp is stopped.
2910 (linux_kill): Stop all lwps here. Don't delete the main lwp here.
2911 (linux_detach_one_lwp): Assume the lwp is stopped.
2912 (any_thread_of): Delete.
2913 (linux_detach): Stop all lwps here. Don't blindly delete all
2914 breakpoints.
2915 (delete_lwp_callback): New.
2916 (linux_mourn): Delete all lwps of the process that is gone.
2917 (linux_wait_1): Don't delete the last lwp of the process here.
2918 * mem-break.h (mark_breakpoints_out): Declare.
2919 * mem-break.c (mark_breakpoints_out): New.
2920 (free_all_breakpoints): Use it.
2921 * server.c (handle_target_event): If the process is gone, mark
2922 breakpoints out.
2923 * thread-db.c (struct thread_db) <create_bp>: New field.
2924 (thread_db_enable_reporting): Fix prototype. Store a thread event
2925 breakpoint reference in the thread_db struct.
2926 (thread_db_load_search): Clear the thread_db object.
2927 (try_thread_db_load_1): Ditto.
2928 (switch_to_process): New.
2929 (disable_thread_event_reporting): Use it.
2930 (remove_thread_event_breakpoints): New.
2931 (thread_db_detach, thread_db_mourn): Use it.
2932
2933 2010-05-01 Pedro Alves <pedro@codesourcery.com>
2934
2935 * linux-low.c (linux_enable_event_reporting): New.
2936 (linux_wait_for_event_1, handle_extended_wait): Use it.
2937
2938 2010-04-30 Pedro Alves <pedro@codesourcery.com>
2939
2940 * linux-low.c (linux_kill_one_lwp, linux_kill)
2941 (linux_detach_one_lwp): Adjust to send_sigstop interface change.
2942 (send_sigstop): Take an lwp_info as parameter instead. Queue a
2943 SIGSTOP even if the LWP is stopped.
2944 (send_sigstop_callback): New.
2945 (stop_all_lwps): Use send_sigstop_callback instead.
2946 (linux_resume_one_thread): Adjust.
2947 (proceed_one_lwp): Still proceed an LWP that the client has
2948 requested to stop, if we haven't reported it as stopped yet. Make
2949 sure that LWPs the client want stopped, have a pending SIGSTOP.
2950
2951 2010-04-26 Doug Evans <dje@google.com>
2952
2953 * server.c (handle_general_set): Make static.
2954
2955 * remote-utils.c (putpkt_binary_1): Call readchar instead of read.
2956 Print received char after testing for error/eof instead of before.
2957 (input_interrupt): Tweak comment.
2958
2959 2010-04-23 Doug Evans <dje@google.com>
2960
2961 * server.c (start_inferior): Print inferior argv if --debug.
2962
2963 2010-04-21 Aleksandar Ristovski <aristovski@qnx.com>
2964
2965 * Makefile.in (nto_low_h nto-low.o nto-x86-low.o): New dependency lists.
2966 * nto-x86-low.c: Include server.h
2967
2968 2010-04-20 Pierre Muller <muller@ics.u-strasbg.fr>
2969
2970 * win32-i386-low.c: Use __x86_64__ macro instead of __x86_64 to
2971 be consistent with other sources of this directory.
2972 (init_registers_amd64): Correct name of source file of this function
2973 in the comment.
2974
2975 2010-04-19 Pierre Muller <muller@ics.u-strasbg.fr>
2976
2977 * configure.srv (x86_64-*-mingw*): New configuration for Windows
2978 64-bit executables.
2979
2980 2010-04-19 Pierre Muller <muller@ics.u-strasbg.fr>
2981
2982 * win32-i386-low.c: Add 64-bit support.
2983 (CONTEXT_EXTENDED_REGISTERS): Set macro to zero if not exisiting.
2984 (init_registers_amd64): Declare.
2985 (mappings): Add 64-bit version of array.
2986 (init_windows_x86): New function.
2987 (the_low_target): Change init_arch field to init_windows_x86.
2988
2989 2010-04-19 Pierre Muller <muller@ics.u-strasbg.fr>
2990
2991 * win32-low.c: Adapt to support also 64-bit architecture.
2992 (child_xfer_memory): Use uintptr_t type for local variable `addr'.
2993 (get_image_name): Use SIZE_T type for local variable `done'.
2994 (psapi_get_dll_name): Use LPVOID type for parameter `BaseAddress'.
2995 (toolhelp_get_dll_name): Idem.
2996 (handle_load_dll): Use CORE_ADDR type for local variable `load_addr'.
2997 Use uintptr_t typecast to avoid warning.
2998 (handle_unload_dll): Use uintptr_t typecast to avoid warning.
2999 (handle_exception): Use phex_nz to avoid warning.
3000 (win32_wait): Remove unused local variable `process'.
3001
3002 2010-04-19 Pierre Muller <muller@ics.u-strasbg.fr>
3003
3004 * configure.srv (srv_amd64_regobj): Replace `x86-64-avx.o' by
3005 `amd64-avx.o'.
3006
3007 2010-04-17 Pierre Muller <muller@ics.u-strasbg.fr>
3008
3009 * configure.ac: Use `ws2_32' library for srv_mingw.
3010 * configure: Regenerate.
3011 * gdbreplay.c: Include winsock2.h instead of winsock.h.
3012 * remote-utils.c: Likewise.
3013
3014 2010-04-17 H.J. Lu <hongjiu.lu@intel.com>
3015
3016 * linux-x86-low.c (xmltarget_amd64_linux_no_xml): Define only
3017 if __x86_64__ is defined.
3018
3019 2010-04-16 Pierre Muller <muller@ics.u-strasbg.fr>
3020
3021 * configure: Regenerate.
3022
3023 2010-04-16 Pierre Muller <muller@ics.u-strasbg.fr>
3024
3025 * server.c (handle_query): Handle 'qGetTIBAddr' query.
3026 * target.h (target_ops): New get_tib_address field.
3027 * win32-low.h (win32_thread_info): Add thread_local_base field.
3028 * win32-low.c (child_add_thread): Add tlb argument.
3029 Set thread_local_base field to TLB.
3030 (get_child_debug_event): Adapt to child_add_thread change.
3031 (win32_get_tib_address): New function.
3032 (win32_target_ops): Set get_tib_address field to
3033 win32_get_tib_address.
3034 * linux-low.c (linux_target_ops): Set get_tib_address field to NULL.
3035
3036 2010-04-12 Pedro Alves <pedro@codesourcery.com>
3037
3038 * linux-low.c (linux_mourn): Also remove the process.
3039 * server.c (handle_target_event): Don't remove the process here.
3040 * nto-low.c (nto_mourn): New.
3041 (nto_target_ops): Install it.
3042 * spu-low.c (spu_mourn): New.
3043 (spu_target_ops): Install it.
3044 * win32-low.c (win32_mourn): New.
3045 (win32_target_ops): Install it.
3046
3047 2010-04-12 Pedro Alves <pedro@codesourcery.com>
3048
3049 * server.h (buffer_xml_printf): Remove redundant `;'.
3050
3051 2010-04-12 Pedro Alves <pedro@codesourcery.com>
3052
3053 * regcache.c (set_register_cache): Invalidate regcaches before
3054 changing the register cache layout.
3055 (regcache_invalidate_one): Allow a NULL regcache.
3056 * linux-x86-low.c (x86_linux_update_xmltarget): Invalidate
3057 regcaches before changing the register cache layout or the target
3058 regsets.
3059
3060 2010-04-12 H.J. Lu <hongjiu.lu@intel.com>
3061
3062 * linux-x86-low.c (x86_linux_update_xmltarget): Avoid unused
3063 variable warning on Linux/x86-64.
3064
3065 2010-04-11 Pedro Alves <pedro@codesourcery.com>
3066
3067 GDBserver disconnected tracing support.
3068
3069 * linux-low.c (linux_remove_process): Delete.
3070 (add_lwp): Don't set last_resume_kind here.
3071 (linux_kill): Use `mourn'.
3072 (linux_detach): Use `thread_db_detach', and `mourn'.
3073 (linux_mourn): New.
3074 (linux_attach_lwp_1): Adjust comment.
3075 (linux_attach): last_resume_kind moved the thread_info; adjust.
3076 (status_pending_p_callback): Adjust.
3077 (linux_wait_for_event_1): Adjust.
3078 (count_events_callback, select_singlestep_lwp_callback)
3079 (select_event_lwp_callback, cancel_breakpoints_callback)
3080 (db_wants_lwp_stopped, linux_wait_1, need_step_over_p)
3081 (proceed_one_lwp): Adjust.
3082 (linux_async): Add debug output.
3083 (linux_thread_stopped): New.
3084 (linux_pause_all): New.
3085 (linux_target_ops): Install linux_mourn, linux_thread_stopped and
3086 linux_pause_all.
3087 * linux-low.h (struct lwp_info): Delete last_resume_kind field.
3088 (thread_db_free): Delete declaration.
3089 (thread_db_detach, thread_db_mourn): Declare.
3090 * thread-db.c (thread_db_init): Use thread_db_mourn.
3091 (thread_db_free): Delete, split in two.
3092 (disable_thread_event_reporting): New.
3093 (thread_db_detach): New.
3094 (thread_db_mourn): New.
3095
3096 * server.h (struct thread_info) <last_resume_kind>: New field.
3097 <attached>: Add comment.
3098 <gdb_detached>: New field.
3099 (handler_func): Change return type to int.
3100 (handle_serial_event, handle_target_event): Ditto.
3101 (gdb_connected): Declare.
3102 (tracing): Delete.
3103 (disconnected_tracing): Declare.
3104 (stop_tracing): Declare.
3105
3106 * server.c (handle_query) <qSupported>: Report support for
3107 disconnected tracing.
3108 (queue_stop_reply_callback): Account for running threads.
3109 (gdb_wants_thread_stopped): New.
3110 (gdb_wants_all_threads_stopped): New.
3111 (gdb_reattached_process): New.
3112 (handle_status): Clear the `gdb_detached' flag of all processes.
3113 In all-stop, stop all threads.
3114 (main): Be sure to leave tfind mode. Handle disconnected tracing.
3115 (process_serial_event): If the remote connection breaks, or if an
3116 exit was forced with "monitor exit", force an event loop exit.
3117 Handle disconnected tracing on detach.
3118 (handle_serial_event): Adjust.
3119 (handle_target_event): If GDB isn't connected, forward events back
3120 to the inferior, unless the last process exited, in which case,
3121 exit gdbserver. Adjust interface.
3122
3123 * remote-utils.c (remote_open): Don't block in accept. Instead
3124 register an event loop source on the listen socket file
3125 descriptor. Refactor bits into ...
3126 (listen_desc): ... this new global.
3127 (gdb_connected): ... this new function.
3128 (enable_async_notification): ... this new function.
3129 (handle_accept_event): ... this new function.
3130 (remote_close): Clear remote_desc.
3131
3132 * inferiors.c (add_thread): Set the new thread's last_resume_kind.
3133
3134 * target.h (struct target_ops) <mourn, thread_stopped, pause_all>:
3135 New fields.
3136 (mourn_inferior): Define.
3137 (target_process_qsupported): Avoid the dangling else problem.
3138 (thread_stopped): Define.
3139 (pause_all): Define.
3140 (target_waitstatus_to_string): Declare.
3141 * target.c (target_waitstatus_to_string): New.
3142
3143 * tracepoint.c (tracing): Make extern.
3144 (disconnected_tracing): New.
3145 (stop_tracing): Make extern. Handle tracing stops due to GDB
3146 disconnecting.
3147 (cmd_qtdisconnected): New.
3148 (cmd_qtstatus): Report disconnected tracing status in trace reply.
3149 (handle_tracepoint_general_set): Handle QTDisconnected.
3150
3151 * event-loop.c (event_handler_func): Change return type to int.
3152 (process_event): Bail out if the event handler wants the event
3153 loop to stop.
3154 (handle_file_event): Ditto.
3155 (start_event_loop): Bail out if the event handler wants the event
3156 loop to stop.
3157
3158 * nto-low.c (nto_target_ops): Adjust.
3159 * spu-low.c (spu_wait): Don't remove the process here.
3160 (spu_target_ops): Adjust.
3161 * win32-low.c (win32_wait): Don't remove the process here.
3162 (win32_target_ops): Adjust.
3163
3164 2010-04-11 Pedro Alves <pedro@codesourcery.com>
3165
3166 * regcache.c (realloc_register_cache): Invalidate inferior's
3167 regcache before recreating it.
3168
3169 2010-04-09 Pedro Alves <pedro@codesourcery.com>
3170
3171 * tracepoint.c (cmd_qtstatus): Report trace buffer circularity.
3172
3173 2010-04-09 Stan Shebs <stan@codesourcery.com>
3174 Pedro Alves <pedro@codesourcery.com>
3175
3176 * server.h (LONGEST): New.
3177 (struct thread_info) <while_stepping>: New field.
3178 (unpack_varlen_hex, xrealloc, pulongest, plongest, phex_nz):
3179 Declare.
3180 (initialize_tracepoint, handle_tracepoint_general_set)
3181 (handle_tracepoint_query, tracepoint_finished_step)
3182 (tracepoint_was_hit, release_while_stepping_state_list):
3183 (current_traceframe): Declare.
3184 * server.c (handle_general_set): Handle tracepoint packets.
3185 (read_memory): New.
3186 (write_memory): New.
3187 (handle_search_memory_1): Use read_memory.
3188 (handle_query): Report support for conditional tracepoints, trace
3189 state variables, and tracepoint sources. Handle tracepoint
3190 queries.
3191 (main): Initialize the tracepoints module.
3192 (process_serial_event): Handle traceframe reads/writes.
3193
3194 * linux-low.c (handle_tracepoints): New.
3195 (linux_wait_1): Call it.
3196 (linux_resume_one_lwp): Handle while-stepping.
3197 (linux_supports_tracepoints, linux_read_pc, linux_write_pc): New.
3198 (linux_target_ops): Install them.
3199 * linux-low.h (struct linux_target_ops) <supports_tracepoints>:
3200 New field.
3201 * linux-x86-low.c (x86_supports_tracepoints): New.
3202 (the_low_target). Install it.
3203
3204 * mem-break.h (delete_breakpoint): Declare.
3205 * mem-break.c (delete_breakpoint): Make external.
3206
3207 * target.h (struct target_ops): Add `supports_tracepoints',
3208 `read_pc', and `write_pc' fields.
3209 (target_supports_tracepoints): Define.
3210 * utils.c (xrealloc, decimal2str, pulongest, plongest, thirty_two)
3211 (phex_nz): New.
3212
3213 * regcache.h (struct regcache) <registers_owned>: New field.
3214 (init_register_cache, regcache_cpy): Declare.
3215 (regcache_read_pc, regcache_write_pc): Declare.
3216 (register_cache_size): Declare.
3217 (supply_regblock): Declare.
3218 * regcache.c (init_register_cache): New.
3219 (new_register_cache): Use it.
3220 (regcache_cpy): New.
3221 (register_cache_size): New.
3222 (supply_regblock): New.
3223 (regcache_read_pc, regcache_write_pc): New.
3224
3225 * tracepoint.c: New.
3226
3227 * Makefile.in (OBS): Add tracepoint.o.
3228 (tracepoint.o): New rule.
3229
3230 2010-04-08 H.J. Lu <hongjiu.lu@intel.com>
3231
3232 * Makefile.in (clean): Also remove i386-mmx.c i386-mmx-linux.c.
3233 (i386-mmx.o): New.
3234 (i386-mmx.c): Likewise.
3235 (i386-mmx-linux.o): Likewise.
3236 (i386-mmx-linux.c): Likewise.
3237
3238 * configure.srv (srv_i386_regobj): Add i386-mmx.o.
3239 (srv_i386_linux_regobj): Add i386-mmx-linux.o.
3240 (srv_i386_xmlfiles): Add i386/i386-mmx.xml.
3241 (srv_i386_linux_xmlfiles): Add i386/i386-mmx-linux.xml.
3242
3243 * linux-x86-low.c (init_registers_i386_mmx_linux): New.
3244 (x86_linux_update_xmltarget): Call init_registers_i386_mmx_linux
3245 and return if ptrace PTRACE_GETFPXREGS failed in 32bit.
3246
3247 2010-04-07 H.J. Lu <hongjiu.lu@intel.com>
3248
3249 * Makefile.in (clean): Updated.
3250 (i386-avx.o): New.
3251 (i386-avx.c): Likewise.
3252 (i386-avx-linux.o): Likewise.
3253 (i386-avx-linux.c): Likewise.
3254 (amd64-avx.o): Likewise.
3255 (amd64-avx.c): Likewise.
3256 (amd64-avx-linux.o): Likewise.
3257 (amd64-avx-linux.c): Likewise.
3258
3259 * configure.srv (srv_i386_regobj): Add i386-avx.o.
3260 (srv_i386_linux_regobj): Add i386-avx-linux.o.
3261 (srv_amd64_regobj): Add amd64-avx.o.
3262 (srv_amd64_linux_regobj): Add amd64-avx-linux.o.
3263 (srv_i386_32bit_xmlfiles): Add i386/32bit-avx.xml.
3264 (srv_i386_64bit_xmlfiles): Add i386/64bit-avx.xml.
3265 (srv_i386_xmlfiles): Add i386/i386-avx.xml.
3266 (srv_amd64_xmlfiles): Add i386/amd64-avx.xml.
3267 (srv_i386_linux_xmlfiles): Add i386/i386-avx-linux.xml.
3268 (srv_amd64_linux_xmlfiles): Add i386/amd64-avx-linux.xml.
3269
3270 * i387-fp.c: Include "i386-xstate.h".
3271 (i387_xsave): New.
3272 (i387_cache_to_xsave): Likewise.
3273 (i387_xsave_to_cache): Likewise.
3274 (x86_xcr0): Likewise.
3275
3276 * i387-fp.h (i387_cache_to_xsave): Likewise.
3277 (i387_xsave_to_cache): Likewise.
3278 (x86_xcr0): Likewise.
3279
3280 * linux-arm-low.c (target_regsets): Initialize nt_type to 0.
3281 * linux-crisv32-low.c (target_regsets): Likewise.
3282 * linux-m68k-low.c (target_regsets): Likewise.
3283 * linux-mips-low.c (target_regsets): Likewise.
3284 * linux-ppc-low.c (target_regsets): Likewise.
3285 * linux-s390-low.c (target_regsets): Likewise.
3286 * linux-sh-low.c (target_regsets): Likewise.
3287 * linux-sparc-low.c (target_regsets): Likewise.
3288 * linux-xtensa-low.c (target_regsets): Likewise.
3289
3290 * linux-low.c: Include <sys/uio.h>.
3291 (regsets_fetch_inferior_registers): Support nt_type.
3292 (regsets_store_inferior_registers): Likewise.
3293 (linux_process_qsupported): New.
3294 (linux_target_ops): Add linux_process_qsupported.
3295
3296 * linux-low.h (regset_info): Add nt_type.
3297 (linux_target_ops): Add process_qsupported.
3298
3299 * linux-x86-low.c: Include "i386-xstate.h", "elf/common.h"
3300 and <sys/uio.h>.
3301 (init_registers_i386_avx_linux): New.
3302 (init_registers_amd64_avx_linux): Likewise.
3303 (xmltarget_i386_linux_no_xml): Likewise.
3304 (xmltarget_amd64_linux_no_xml): Likewise.
3305 (PTRACE_GETREGSET): Likewise.
3306 (PTRACE_SETREGSET): Likewise.
3307 (x86_fill_xstateregset): Likewise.
3308 (x86_store_xstateregset): Likewise.
3309 (use_xml): Likewise.
3310 (x86_linux_update_xmltarget): Likewise.
3311 (x86_linux_process_qsupported): Likewise.
3312 (target_regsets): Add NT_X86_XSTATE entry and Initialize nt_type.
3313 (x86_arch_setup): Don't call init_registers_amd64_linux nor
3314 init_registers_i386_linux here. Call
3315 x86_linux_update_xmltarget.
3316 (the_low_target): Add x86_linux_process_qsupported.
3317
3318 * server.c (handle_query): Call target_process_qsupported.
3319
3320 * target.h (target_ops): Add process_qsupported.
3321 (target_process_qsupported): New.
3322
3323 2010-04-03 Pedro Alves <pedro@codesourcery.com>
3324
3325 * inferiors.c (add_thread): Set last_status kind to
3326 TARGET_WAITKIND_IGNORE.
3327 * linux-low.c (cancel_breakpoint): Remove unnecessary regcache
3328 fetch. Use ptid_of. Avoid unnecessary get_lwp_thread calls.
3329 (linux_wait_1): Move `thread' local definition to block that uses
3330 it. Don't NULL initialize `event_child'.
3331 (linux_resume_one_thread): Avoid unnecessary get_lwp_thread calls.
3332 Alway set the thread's last_status to TARGET_WAITKIND_IGNORE.
3333 * linux-x86-low.c (x86_breakpoint_at): Read raw memory.
3334
3335 2010-04-01 Pedro Alves <pedro@codesourcery.com>
3336
3337 * linux-low.c (get_stop_pc): Don't adjust the PC if stopped with
3338 an extended waitstatus, or by a watchpoint.
3339 (cancel_breakpoints_callback): Don't cancel a breakpoint if the
3340 thread was stepping or has been stopped by a watchpoint.
3341
3342 2010-04-01 Pedro Alves <pedro@codesourcery.com>
3343
3344 * mem-break.c (struct raw_breakpoint): New field shlib_disabled.
3345 (set_gdb_breakpoint_at): If GDB is inserting a breakpoint on top
3346 of another, then delete the previous, and validate all
3347 breakpoints.
3348 (validate_inserted_breakpoint): New.
3349 (delete_disabled_breakpoints): New.
3350 (validate_breakpoints): New.
3351 (check_mem_read): Validate breakpoints before trusting their
3352 shadow. Delete disabled breakpoints.
3353 (check_mem_write): Validate breakpoints before trusting they
3354 should be inserted. Delete disabled breakpoints.
3355 * mem-break.h (validate_breakpoints):
3356 * server.c (handle_query): Validate breakpoints when we see a
3357 qSymbol query.
3358
3359 2010-04-01 Pedro Alves <pedro@codesourcery.com>
3360
3361 * linux-low.c (linux_wait_1): Avoid setting need_step_over is
3362 there's a GDB breakpoint at stop_pc. Always report a trap to GDB
3363 if we could tell there's a GDB breakpoint at stop_pc.
3364 (need_step_over_p): Don't do a step over if we find a GDB
3365 breakpoint at the resume PC.
3366
3367 * mem-break.c (struct raw_breakpoint): New.
3368 (enum bkpt_type): New type `gdb_breakpoint'.
3369 (struct breakpoint): Delete the `PC', `old_data' and `inserted'
3370 fields. New field `raw'.
3371 (find_raw_breakpoint_at): New.
3372 (set_raw_breakpoint_at): Handle refcounting. Create a raw
3373 breakpoint instead.
3374 (set_breakpoint_at): Adjust.
3375 (delete_raw_breakpoint): New.
3376 (release_breakpoint): New.
3377 (delete_breakpoint): Rename to...
3378 (delete_breakpoint_1): ... this. Add proc parameter. Use
3379 release_breakpoint. Return ENOENT.
3380 (delete_breakpoint): Reimplement.
3381 (find_breakpoint_at): Delete.
3382 (find_gdb_breakpoint_at): New.
3383 (delete_breakpoint_at): Delete.
3384 (set_gdb_breakpoint_at): New.
3385 (delete_gdb_breakpoint_at): New.
3386 (gdb_breakpoint_here): New.
3387 (set_reinsert_breakpoint): Use release_breakpoint.
3388 (uninsert_breakpoint): Rename to ...
3389 (uninsert_raw_breakpoint): ... this.
3390 (uninsert_breakpoints_at): Adjust to handle raw breakpoints.
3391 (reinsert_raw_breakpoint): Change parameter type to
3392 raw_breakpoint.
3393 (reinsert_breakpoints_at): Adjust to handle raw breakpoints
3394 instead.
3395 (check_breakpoints): Adjust. Use release_breakpoint.
3396 (breakpoint_here): Rewrite using find_raw_breakpoint_at.
3397 (breakpoint_inserted_here): Ditto.
3398 (check_mem_read): Adjust to iterate over raw breakpoints instead.
3399 Don't trust the breakpoint's shadow if it is not inserted.
3400 (check_mem_write): Adjust to iterate over raw breakpoints instead.
3401 (delete_all_breakpoints): Adjust.
3402 (free_all_breakpoints): Mark all breakpoints as uninserted, and
3403 use delete_breakpoint_1.
3404
3405 * mem-break.h (breakpoints_supported): Delete declaration.
3406 (set_gdb_breakpoint_at): Declare.
3407 (gdb_breakpoint_here): Declare.
3408 (delete_breakpoint_at): Delete.
3409 (delete_gdb_breakpoint_at): Declare.
3410
3411 * server.h (struct raw_breakpoint): Forward declare.
3412 (struct process_info): New field `raw_breakpoints'.
3413
3414 * linux-x86-low.c (x86_insert_point, x86_remote_point): Handle Z0
3415 breakpoints.
3416
3417 2010-03-24 Pedro Alves <pedro@codesourcery.com>
3418
3419 * linux-low.c (status_pending_p_callback): Fix comment.
3420 (linux_wait_for_event_1): Move most of the internal breakpoint
3421 handling from here...
3422 (linux_wait_1): ... to here.
3423 (count_events_callback): New.
3424 (select_singlestep_lwp_callback): New.
3425 (select_event_lwp_callback): New.
3426 (cancel_breakpoints_callback): New.
3427 (select_event_lwp): New.
3428 (linux_wait_1): Simplify internal breakpoint handling. Give equal
3429 priority to all LWPs that have had events that should be reported
3430 to the client. Cancel breakpoints when about to reporting the
3431 event to the client, not while stopping lwps. No longer cancel
3432 finished single-steps here.
3433 (cancel_finished_single_step): Delete.
3434 (cancel_finished_single_steps): Delete.
3435
3436 2010-03-24 Pedro Alves <pedro@codesourcery.com>
3437
3438 * mem-break.c (enum bkpt_type): New.
3439 (struct breakpoint): New field `type'.
3440 (set_breakpoint_at): Change return type to struct breakpoint
3441 pointer. Set type to `other_breakpoint' by default.
3442 (delete_breakpoint): Rewrite, supporting more than one breakpoint
3443 in the breakpoint list.
3444 (delete_reinsert_breakpoints): Only delete reinsert breakpoints.
3445 (reinsert_breakpoint): Rename to ...
3446 (reinsert_raw_breakpoint): ... this.
3447 (reinsert_breakpoints_at): Adjust.
3448 * mem-break.h (struct breakpoint): Declare.
3449 (set_breakpoint_at): Change return type to struct breakpoint
3450 pointer.
3451
3452 2010-03-24 Pedro Alves <pedro@codesourcery.com>
3453
3454 * server.c (handle_query): Assign, not compare.
3455
3456 2010-03-24 Pedro Alves <pedro@codesourcery.com>
3457
3458 Teach linux gdbserver to step-over-breakpoints.
3459
3460 * linux-low.c (can_hardware_single_step): New.
3461 (supports_breakpoints): New.
3462 (handle_extended_wait): If stopping threads, read the stop pc of
3463 the new cloned LWP.
3464 (get_pc): New.
3465 (get_stop_pc): Add `lwp' parameter. Handle it. Bail out if the
3466 low target doesn't support retrieving the PC.
3467 (add_lwp): Set last_resume_kind to resume_continue.
3468 (linux_attach_lwp_1): Adjust comments. Always set stop_expected.
3469 (linux_attach): Don't clear stop_expected. Set the lwp's
3470 last_resume_kind to resume_stop.
3471 (linux_detach_one_lwp): Don't check for removed breakpoints.
3472 (check_removed_breakpoint): Delete.
3473 (status_pending_p): Rename to ...
3474 (status_pending_p_callback): ... this. Don't check for removed
3475 breakpoints. Don't consider threads that are stopped from GDB's
3476 perspective.
3477 (linux_wait_for_lwp): Always read the stop_pc here.
3478 (cancel_breakpoint): New.
3479 (step_over_bkpt): New global.
3480 (linux_wait_for_event_1): Implement stepping over breakpoints.
3481 (gdb_wants_lwp_stopped): New.
3482 (gdb_wants_all_stopped): New.
3483 (linux_wait_1): Tag threads as gdb-wants-stopped. Cancel finished
3484 single-step traps here. Store the thread's last reported target
3485 wait status.
3486 (send_sigstop): Don't clear stop_expected. Always set it,
3487 instead.
3488 (mark_lwp_dead): Remove reference to pending_is_breakpoint.
3489 (cancel_finished_single_step): New.
3490 (cancel_finished_single_steps): New.
3491 (wait_for_sigstop): Don't cancel finished single-step traps here.
3492 (linux_resume_one_lwp): Don't check for removed breakpoints.
3493 Don't set `step' on non-hardware step archs.
3494 (linux_set_resume_request): Ignore resume_stop requests if already
3495 stopping or stopped. Set the lwp's last_resume_kind.
3496 (resume_status_pending_p): Don't check for removed breakpoints.
3497 (need_step_over_p): New.
3498 (start_step_over): New.
3499 (finish_step_over): New.
3500 (linux_resume_one_thread): Always queue a sigstop for resume_stop
3501 requests. Clear the thread's last reported target waitstatus.
3502 Don't use the `suspended' flag. Don't consider pending breakpoints.
3503 (linux_resume): Start a step-over if necessary.
3504 (proceed_one_lwp): New.
3505 (proceed_all_lwps): New.
3506 (unstop_all_lwps): New.
3507 * linux-low.h (struct lwp_info): Rewrite comment for the
3508 `suspended' flag. Add the `stop_pc' field. Delete the
3509 `pending_stop_pc' field. Tweak the `stepping' flag's comment.
3510 Add `'last_resume_kind' and `need_step_over' fields.
3511 * inferiors.c (struct thread_info): Delete, moved elsewhere.
3512 * mem-break.c (struct breakpoint): Delete `reinserting' flag.
3513 Delete `breakpoint_to_reinsert' field. New flag `inserted'.
3514 (set_raw_breakpoint_at): New.
3515 (set_breakpoint_at): Rewrite to use it.
3516 (reinsert_breakpoint_handler): Delete.
3517 (set_reinsert_breakpoint): New.
3518 (reinsert_breakpoint_by_bp): Delete.
3519 (delete_reinsert_breakpoints): New.
3520 (uninsert_breakpoint): Rewrite.
3521 (uninsert_breakpoints_at): New.
3522 (reinsert_breakpoint): Rewrite.
3523 (reinsert_breakpoints_at): New.
3524 (check_breakpoints): Rewrite.
3525 (breakpoint_here): New.
3526 (breakpoint_inserted_here): New.
3527 (check_mem_read): Adjust.
3528 * mem-break.h (breakpoints_supported, breakpoint_here)
3529 (breakpoint_inserted_here, set_reinsert_breakpoint): Declare.
3530 (reinsert_breakpoint_by_bp): Delete declaration.
3531 (delete_reinsert_breakpoints): Declare.
3532 (reinsert_breakpoint): Delete declaration.
3533 (reinsert_breakpoints_at): Declare.
3534 (uninsert_breakpoint): Delete declaration.
3535 (uninsert_breakpoints_at): Declare.
3536 (check_breakpoints): Adjust prototype.
3537 * server.h: Adjust include order.
3538 (struct thread_info): Declare here. Add a `last_status' field.
3539
3540 2010-03-23 Michael Snyder <msnyder@vmware.com>
3541
3542 * server.c (crc32): New function.
3543 (handle_query): Add handling for 'qCRC:' request.
3544
3545 2010-03-23 Pedro Alves <pedro@codesourcery.com>
3546
3547 * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR6 if the
3548 lwp had been stopped by a watchpoint.
3549
3550 2010-03-16 Pedro Alves <pedro@codesourcery.com>
3551
3552 * server.h (internal_error): Declare.
3553 (gdb_assert, ASSERT_FUNCTION, gdb_assert_fail): Define.
3554 * utils.c (internal_error): New function.
3555
3556 2010-03-15 Andreas Schwab <schwab@redhat.com>
3557
3558 * configure.srv: Fix typo setting srv_regobj.
3559
3560 2010-03-15 Pedro Alves <pedro@codesourcery.com>
3561
3562 * linux-low.c (fetch_register): Avoid passing a non string literal
3563 format to `error'.
3564 (usr_store_inferior_registers): Ditto.
3565
3566 2010-03-14 Pedro Alves <pedro@codesourcery.com>
3567
3568 * linux-low.c (linux_write_memory): Bail out early if peeking
3569 memory failed.
3570
3571 2010-03-14 Pedro Alves <pedro@codesourcery.com>
3572
3573 * linux-low.h (struct lwp_info): New fields
3574 `stopped_by_watchpoint' and `stopped_data_address'.
3575 * linux-low.c (linux_wait_for_lwp): Check for watchpoint triggers
3576 here, and cache them in the lwp object.
3577 (wait_for_sigstop): Check stopped_by_watchpoint lwp field
3578 directly.
3579 (linux_resume_one_lwp): Clear the lwp's stopped_by_watchpoint
3580 field.
3581 (linux_stopped_by_watchpoint): Rewrite.
3582 (linux_stopped_data_address): Rewrite.
3583
3584 2010-03-06 Simo Melenius <simo.melenius@iki.fi>
3585
3586 * linux-low.c (linux_wait_for_lwp): Fetch the regcache after
3587 switching the current inferior, not before.
3588
3589 2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
3590
3591 * Makefile.in (clean): Replace reg-i386.c, reg-x86-64.c,
3592 reg-i386-linux.c and reg-x86-64-linux.c with i386.c, amd64.c,
3593 i386-linux.c and amd64-linux.c.
3594 (reg-i386.o): Removed.
3595 (reg-i386.c): Likewise.
3596 (reg-i386-linux.o): Likewise.
3597 (reg-i386-linux.c): Likewise.
3598 (reg-x86-64.o): Likewise.
3599 (reg-x86-64.c): Likewise.
3600 (reg-x86-64-linux.o): Likewise.
3601 (reg-x86-64-linux.c): Likewise.
3602 (i386.o): New.
3603 (i386.c): Likewise.
3604 (i386-linux.o): Likewise.
3605 (i386-linux.c): Likewise.
3606 (amd64.o): Likewise.
3607 (amd64.c): Likewise.
3608 (amd64-linux.o): Likewise.
3609 (amd64-linux.c): Likewise.
3610
3611 * configure.srv (srv_i386_regobj): New.
3612 (srv_i386_linux_regobj): Likewise.
3613 (srv_amd64_regobj): Likewise.
3614 (srv_amd64_linux_regobj): Likewise.
3615 (srv_i386_32bit_xmlfiles): Likewise.
3616 (srv_i386_64bit_xmlfiles): Likewise.
3617 (srv_i386_xmlfiles): Likewise.
3618 (srv_amd64_xmlfiles): Likewise.
3619 (srv_i386_linux_xmlfiles): Likewise.
3620 (srv_amd64_linux_xmlfiles): Likewise.
3621 (i[34567]86-*-cygwin*): Set srv_regobj to $srv_i386_regobj. Set
3622 srv_xmlfiles to $srv_i386_xmlfiles.
3623 (i[34567]86-*-mingw32ce*): Likewise.
3624 (i[34567]86-*-mingw*): Likewise.
3625 (i[34567]86-*-nto*): Likewise.
3626 (i[34567]86-*-linux*): Set srv_regobj to $srv_i386_linux_regobj
3627 and $srv_amd64_linux_regobj. Set srv_xmlfiles to
3628 $srv_i386_linux_xmlfiles and $srv_amd64_linux_xmlfiles.
3629 (x86_64-*-linux*): Likewise.
3630
3631 * linux-x86-low.c (init_registers_x86_64_linux): Removed.
3632 (init_registers_amd64_linux): New.
3633 (x86_arch_setup): Replace init_registers_x86_64_linux with
3634 init_registers_amd64_linux.
3635
3636 2010-02-23 Maxim Kuvyrkov <maxim@codesourcery.com>
3637
3638 * configure.ac: Check for libdl. If it is not available link against
3639 static libthread_db.
3640 * configure: Regenerate.
3641
3642 2010-02-22 Pedro Alves <pedro@codesourcery.com>
3643
3644 PR9605
3645
3646 * i386-low.c (i386_length_and_rw_bits): Throw a fatal error if
3647 handing a read watchpoint.
3648 (i386_low_insert_watchpoint): Read watchpoints aren't supported.
3649
3650 2010-02-12 Doug Evans <dje@google.com>
3651
3652 * linux-low.c (linux_supports_tracefork_flag): Document.
3653 (linux_look_up_symbols): Add comment.
3654
3655 2010-02-03 H.J. Lu <hongjiu.lu@intel.com>
3656
3657 * regcache.c (supply_register): Clear regcache if buf is NULL.
3658
3659 2010-02-02 Nicolas Roche <roche@sourceware.org>
3660 Joel Brobecker <brobecker@adacore.com>
3661
3662 * inferiors.c (find_inferior): Add function documentation.
3663 (unloaded_dll): Handle the case where the unloaded dll has not
3664 been previously registered in the dll list.
3665
3666 2010-02-01 Daniel Jacobowitz <dan@codesourcery.com>
3667
3668 * linux-arm-low.c (thumb_breakpoint_len): Delete.
3669 (thumb2_breakpoint): New.
3670 (arm_breakpoint_at): Check for Thumb-2 breakpoints.
3671
3672 2010-01-29 Daniel Jacobowitz <dan@codesourcery.com>
3673
3674 * linux-low.c (get_stop_pc): Check for SIGTRAP.
3675 (linux_wait_for_event_1): Handle SIGILL and SIGSEGV as possible
3676 breakpoints.
3677
3678 2010-01-21 Pedro Alves <pedro@codesourcery.com>
3679
3680 * linux-ppc-low.c (ppc_arch_setup): Adjust to regcache changes.
3681
3682 2010-01-21 Jan Kratochvil <jan.kratochvil@redhat.com>
3683
3684 * linux-s390-low.c (s390_collect_ptrace_register)
3685 (s390_supply_ptrace_register): Adjust it for the new regcache parameter.
3686
3687 2010-01-21 Doug Evans <dje@google.com>
3688
3689 * linux-low.c (PTRACE_ARG3_TYPE): Change from long to void*.
3690 (PTRACE_ARG4_TYPE): New macro.
3691 (handle_extended_wait): Cast ptrace arg4 to PTRACE_ARG4_TYPE.
3692 (linux_wait_for_event_1, linux_resume_one_lwp): Ditto.
3693 (fetch_register): Cast to uintptr_t before casting to PTRACE_ARG3_TYPE.
3694 (usr_store_inferior_registers): Ditto.
3695 (linux_read_memory, linux_write_memory): Ditto.
3696 (linux_test_for_tracefork): Ditto.
3697
3698 * linux-arm-low.c: Remove redundant include of gdb_proc_service.h.
3699 Only include elf.h if gdb_proc_service.h didn't include linux/elf.h.
3700
3701 2010-01-21 Pedro Alves <pedro@codesourcery.com>
3702
3703 * proc-service.c (ps_lgetregs): Don't refetch registers from the
3704 target.
3705
3706 2010-01-21 Pedro Alves <pedro@codesourcery.com>
3707
3708 * spu-low.c (spu_fetch_registers, spu_store_registers): Change
3709 prototype to take a regcache. Adjust.
3710
3711 2010-01-20 Pedro Alves <pedro@codesourcery.com>
3712
3713 * regcache.h (struct thread_info): Forward declare.
3714 (struct regcache): New.
3715 (new_register_cache): Adjust prototype.
3716 (get_thread_regcache): Declare.
3717 (free_register_cache): Adjust prototype.
3718 (registers_to_string, registers_from_string): Ditto.
3719 (supply_register, supply_register_by_name, collect_register)
3720 (collect_register_as_string, collect_register_by_name): Ditto.
3721 * regcache.c (struct inferior_regcache_data): Delete.
3722 (get_regcache): Rename to ...
3723 (get_thread_regcache): ... this. Adjust. Switch inferior before
3724 fetching registers.
3725 (regcache_invalidate_one): Adjust.
3726 (regcache_invalidate): Fix prototype.
3727 (new_register_cache): Return the new register cache.
3728 (free_register_cache): Change prototype.
3729 (realloc_register_cache): Adjust.
3730 (registers_to_string): Change prototype to take a regcache. Adjust.
3731 (registers_from_string): Ditto.
3732 (register_data): Ditto.
3733 (supply_register): Ditto.
3734 (supply_register_by_name): Ditto.
3735 (collect_register): Ditto.
3736 (collect_register_as_string): Ditto.
3737 (collect_register_by_name): Ditto.
3738 * server.c (process_serial_event): Adjust.
3739 * linux-low.h (regset_fill_func, regset_store_func): Change
3740 prototype.
3741 (get_pc, set_pc, collect_ptrace_register, supply_ptrace_register):
3742 Change prototype.
3743 * linux-low.c (get_stop_pc): Adjust.
3744 (check_removed_breakpoint): Adjust.
3745 (linux_wait_for_event): Adjust.
3746 (linux_resume_one_lwp): Adjust.
3747 (fetch_register): Add regcache parameter. Adjust.
3748 (usr_store_inferior_registers): Ditto.
3749 (regsets_fetch_inferior_registers): Ditto.
3750 (regsets_store_inferior_registers): Ditto.
3751 (linux_fetch_registers, linux_store_registers): Ditto.
3752 * i387-fp.c (i387_cache_to_fsave): Change prototype to take a
3753 regcache. Adjust.
3754 (i387_fsave_to_cache, i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto.
3755 * i387-fp.h (i387_cache_to_fsave, i387_fsave_to_cache): Change
3756 prototype to take a regcache.
3757 (i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto.
3758 * remote-utils.c (convert_ascii_to_int, outreg)
3759 (prepare_resume_reply): Change prototype to take a regcache.
3760 Adjust.
3761 * target.h (struct target_ops) <fetch_registers, store_registers>:
3762 Change prototype to take a regcache.
3763 (fetch_inferior_registers, store_inferior_registers): Change
3764 prototype to take a regcache. Adjust.
3765 * proc-service.c (ps_lgetregs): Adjust.
3766 * linux-x86-low.c (x86_fill_gregset, x86_store_gregset)
3767 (x86_fill_fpregset, x86_store_fpregset, x86_fill_fpxregset)
3768 (x86_store_fpxregset, x86_get_pc, x86_set_pc): Change prototype to
3769 take a regcache. Adjust.
3770 * linux-arm-low.c (arm_fill_gregset, arm_store_gregset)
3771 (arm_fill_wmmxregset, arm_store_wmmxregset, arm_fill_vfpregset)
3772 (arm_store_vfpregset, arm_get_pc, arm_set_pc):
3773 (arm_breakpoint_at): Change prototype to take a regcache. Adjust.
3774 * linux-cris-low.c (cris_get_pc, cris_set_pc)
3775 (cris_cannot_fetch_register):
3776 (cris_breakpoint_at): Change prototype to take a regcache.
3777 Adjust.
3778 * linux-crisv32-low.c (cris_get_pc, cris_set_pc,
3779 cris_reinsert_addr, cris_write_data_breakpoint): Change prototype
3780 to take a regcache. Adjust.
3781 (cris_breakpoint_at, cris_insert_point, cris_remove_point):
3782 Adjust.
3783 * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Change prototype to
3784 take a regcache. Adjust.
3785 * linux-m68k-low.c (m68k_fill_gregset, m68k_store_gregset)
3786 (m68k_fill_fpregset, m68k_store_fpregset, m68k_get_pc,
3787 (m68k_set_pc): Change prototype to take a regcache. Adjust.
3788 * linux-mips-low.c (mips_get_pc):
3789 (mips_set_pc): Change prototype to take a regcache. Adjust.
3790 (mips_reinsert_addr): Adjust.
3791 (mips_collect_register): Change prototype to take a regcache.
3792 Adjust.
3793 (mips_supply_register):
3794 (mips_collect_register_32bit, mips_supply_register_32bit)
3795 (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
3796 (mips_store_fpregset): Ditto.
3797 * linux-ppc-low.c (ppc_supply_ptrace_register, ppc_supply_ptrace_register):
3798 Ditto.
3799 (parse_spufs_run): Adjust.
3800 (ppc_get_pc, ppc_set_pc, ppc_fill_gregset, ppc_fill_vsxregset)
3801 (ppc_store_vsxregset, ppc_fill_vrregset, ppc_store_vrregset)
3802 (ppc_fill_evrregset, ppc_store_evrregset): Change prototype to
3803 take a regcache. Adjust.
3804 * linux-s390-low.c (s390_collect_ptrace_register)
3805 (s390_supply_ptrace_register, s390_fill_gregset, s390_get_pc)
3806 (s390_set_pc): Change prototype to take a regcache. Adjust.
3807 (s390_arch_setup): Adjust.
3808 * linux-sh-low.c (sh_get_pc, sh_breakpoint_at)
3809 (sh_fill_gregset): Change prototype to take a regcache. Adjust.
3810 * linux-sparc-low.c (sparc_fill_gregset_to_stack)
3811 (sparc_fill_gregset, sparc_store_gregset_from_stack)
3812 (sparc_store_gregset, sparc_get_pc): Change prototype to take a
3813 regcache. Adjust.
3814 (sparc_breakpoint_at): Adjust.
3815 * linux-xtensa-low.c (xtensa_fill_gregset):
3816 (xtensa_store_gregset):
3817 (xtensa_fill_xtregset, xtensa_store_xtregset, xtensa_get_pc)
3818 (xtensa_set_pc): Change prototype to take a regcache. Adjust.
3819 * nto-low.c (nto_fetch_registers, nto_store_registers): Change
3820 prototype to take a regcache. Adjust.
3821 * win32-arm-low.c (arm_fetch_inferior_register)
3822 (arm_store_inferior_register): Change prototype to take a
3823 regcache. Adjust.
3824 * win32-i386-low.c (i386_fetch_inferior_register)
3825 (i386_store_inferior_register): Change prototype to take a
3826 regcache. Adjust.
3827 * win32-low.c (child_fetch_inferior_registers)
3828 (child_store_inferior_registers): Change prototype to take a
3829 regcache. Adjust.
3830 (win32_wait): Adjust.
3831 (win32_fetch_inferior_registers): Change prototype to take a
3832 regcache. Adjust.
3833 (win32_store_inferior_registers): Adjust.
3834 * win32-low.h (struct win32_target_ops) <fetch_inferior_register,
3835 store_inferior_register>: Change prototype to take a regcache.
3836
3837 2010-01-20 Doug Evans <dje@google.com>
3838
3839 * linux-low.c (linux_create_inferior): Wrap use of __SIGRTMIN in
3840 #ifdef.
3841 (linux_wait_for_event1, linux_init_signals): Ditto.
3842 (W_STOPCODE): Provide definition if missing.
3843
3844 2010-01-13 Vladimir Prus <vladimir@codesourcery.com>
3845
3846 * linux-low.c (linux_core_of_thread): New.
3847 (compare_ints, show_process, list_threads): New.
3848 (linux_qxfer_osdata): Report threads and cores.
3849 (linux_target_op): Register linux_core_of_thread.
3850 * remote-utils.c (prepare_resume_reply): Report the core.
3851 (buffer_xml_printf): Support %d specifier.
3852 * server.c (handle_threads_qxfer_proper, handle_threads_qxfer):
3853 New.
3854 (handle_query): Handle qXfer:threads. Announce availability
3855 thereof.
3856 * target.h (struct target_ops): New field core_of_thread.
3857
3858 2010-01-04 Ulrich Weigand <uweigand@de.ibm.com>
3859
3860 * Makefile.in (clean): Remove new generated files.
3861 (reg-s390.o, reg-s390.c): Remove rules.
3862 (reg-s390x.o, reg-s390x.c): Likewise.
3863 (s390-linux32.o, s390-linux32.c): Add rules.
3864 (s390-linux64.o, s390-linux64.c): Likewise.
3865 (s390x-linux64.o, s390x-linux64.c): Likewise.
3866 * configure.srv (s390*-*-linux*): Update srv_regobj and srv_xmlfiles.
3867 * linux-s390-low.c: Include <elf.h>.
3868 (HWCAP_S390_HIGH_GPRS): Define if undefined.
3869 (init_registers_s390): Remove prototype.
3870 (init_registers_s390x): Likewise.
3871 (init_registers_s390_linux32): Add prototype.
3872 (init_registers_s390_linux64): Likewise.
3873 (init_registers_s390x_linux64): Likewise.
3874 (s390_num_regs_3264): New define.
3875 (s390_regmap_3264): New global variable.
3876 (s390_cannot_fetch_register): Remove obsolete check.
3877 (s390_cannot_store_register): Likewise.
3878 (s390_collect_ptrace_register): Handle upper/lower register halves.
3879 (s390_supply_ptrace_register): Likewise.
3880 (s390_fill_gregset): Update to register number changes.
3881 (s390_get_hwcap): New routine.
3882 (s390_arch_setup): Detect 32-bit process running on 64-bit system.
3883 Install appropriate regmap and register set.
3884
3885 2010-01-01 Joel Brobecker <brobecker@adacore.com>
3886
3887 * server.c (gdbserver_version): Update copyright year to 2010.
3888 * gdbreplay.c (gdbreplay_version): Likewise.
3889
3890 2009-12-28 Doug Evans <dje@google.com>
3891
3892 * linux-low.c: Delete inclusion of ansidecl.h, elf/common.h,
3893 elf/external.h. Include <elf.h> instead but only if necessary.
3894
3895 2009-12-28 Pedro Alves <pedro@codesourcery.com>
3896
3897 * linux-low.c (linux_remove_process): Remove `detaching'
3898 parameter. Don't release/detach from thread_db here.
3899 (linux_kill): Release/detach from thread_db here, ...
3900 (linux_detach): ... and here, before actually detaching.
3901 (linux_wait_1): ... and here, when a process exits.
3902 * thread-db.c (any_thread_of): New.
3903 (thread_db_free): Switch the current inferior to a thread of the
3904 passed in process.
3905
3906 2009-12-21 Doug Evans <dje@google.com>
3907
3908 * linux-x86-low.c: Delete outdated comment about Elf32_Phdr.
3909
3910 * linux-low.c (kill_lwp): Use __NR_tkill instead of SYS_tkill.
3911 Move definition of tkill_failed to ifdef __NR_tkill to avoid gcc
3912 warning ifndef __NR_tkill. Move setting of errno there too.
3913 Delete unnecessary resetting of errno after syscall.
3914 Minor comment changes to match gdb/linux-nat.c:kill_lwp.
3915
3916 * configure.ac: Check for dladdr.
3917 * config.in: Regenerate.
3918 * configure: Regenerate.
3919 * thread-db.c (dladdr_to_soname): Only define ifdef HAVE_DLADDR.
3920 (try_thread_db_load): Update.
3921
3922 * linux-low.c (my_waitpid): Delete unnecessary prototype.
3923
3924 2009-12-18 Doug Evans <dje@google.com>
3925
3926 * event-loop.c: Include unistd.h if it exists.
3927
3928 * linux-low.c (my_waitpid): Move definition away from being in
3929 between linux_tracefork_child/linux_test_for_tracefork.
3930
3931 * gdb_proc_service.h (psaddr_t): Fix type.
3932 * thread-db.c (thread_db_info.td_thr_tls_get_addr_p): Fix
3933 signature to match glibc.
3934
3935 2009-12-16 Doug Evans <dje@google.com>
3936
3937 * linux-low.c (linux_read_memory): Fix argument to read.
3938
3939 2009-11-26 Pedro Alves <pedro@codesourcery.com>
3940
3941 * win32-low.c (get_child_debug_event): On EXIT_THREAD_DEBUG_EVENT
3942 events, don't leave current_inferior pointing at null.
3943
3944 2009-11-26 Pedro Alves <pedro@codesourcery.com>
3945
3946 * win32-low.c (LOG): Delete.
3947 (OUTMSG): Output to stderr.
3948 (OUTMSG2): Conditionalize on `debug_threads' variable, instead of
3949 on compile time LOG macro.
3950 (win32_wait): Fix debug output.
3951
3952 2009-11-26 Pedro Alves <pedro@codesourcery.com>
3953
3954 * win32-low.c (win32_add_one_solib): If the dll name is
3955 "ntdll.dll", prepend the system directory to the dll path.
3956
3957 2009-11-17 Daniel Jacobowitz <dan@codesourcery.com>
3958
3959 * m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization.
3960
3961 2009-11-17 Nathan Sidwell <nathan@codesourcery.com>
3962 Vladimir Prus <vladimir@codesourcery.com>
3963
3964 * Makefile.in (reg-cf.o, reg-cf.c): New targets.
3965 * configure.ac: Check for __mcoldfire__ and set
3966 gdb_cv_m68k_is_coldfire.
3967 * configure.srv: Use gdb_cv_m68k_is_coldfire to select between
3968 reg-cf.o and reg-m68k.o.
3969 * configure: Regenerated.
3970
3971 2009-11-16 Pedro Alves <pedro@codesourcery.com>
3972
3973 * linux-low.c (linux_remove_process): Add `detaching' parameter.
3974 Pass it to thread_db_free.
3975 (linux_kill, linux_detach, linux_wait_1): Adjust to pass the
3976 proper `detaching' argument to linux_remove_process.
3977 * linux-low.h (thread_db_free): Add `detaching' parameter.
3978 * thread-db.c (thread_db_init): Pass false as `detaching' argument
3979 to thread_db_free.
3980 (thread_db_free): Add `detaching' parameter. Only
3981 call td_ta_clear_event if detaching from process.
3982
3983 2009-11-12 Maxim Kuvyrkov <maxim@codesourcery.com>
3984
3985 * thread-db.c (thread_db_free): Fix typo.
3986
3987 2009-11-11 Paul Pluzhnikov <ppluzhnikov@google.com>
3988
3989 PR gdb/10838
3990 * thread-db.c (thread_db_free): Call td_ta_clear_event.
3991
3992 2009-11-03 Nathan Sidwell <nathan@codesourcery.com>
3993
3994 * configure.ac (i[34567]86-*): Check if we're targetting x86-64
3995 with an i686 compiler.
3996 * configure.srv (i[34567]86-*-linux*): Pull in x86-64 handling if
3997 needed.
3998 * configure: Rebuilt.
3999
4000 2009-10-29 Sandra Loosemore <sandra@codesourcery.com>
4001
4002 PR gdb/10783
4003
4004 * server.c (handle_search_memory_1): Correct read_addr initialization
4005 in loop for searching subsequent chunks.
4006
4007 2009-10-29 Paul Pluzhnikov <ppluzhnikov@google.com>
4008
4009 * configure.ac: New --with-libthread-db option.
4010 * thread-db.c: Allow direct dependence on libthread_db.
4011 (thread_db_free): Adjust.
4012 * config.in: Regenerate.
4013 * configure: Likewise.
4014
4015 2009-10-28 Paul Pluzhnikov <ppluzhnikov@google.com>
4016
4017 PR gdb/10757
4018 * thread-db.c (attach_thread): New function.
4019 (maybe_attach_thread): Return success/failure.
4020 (find_new_threads_callback): Adjust.
4021 (thread_db_find_new_threads): Loop until no new threads.
4022
4023 2009-10-13 Pedro Alves <pedro@codesourcery.com>
4024
4025 * proc-service.c (ps_lgetregs): Formatting.
4026
4027 2009-10-08 Paul Pluzhnikov <ppluzhnikov@google.com>
4028
4029 * acinclude.m4: (SRV_CHECK_THREAD_DB, SRV_CHECK_TLS_GET_ADDR): Remove.
4030 * configure.ac: Adjust.
4031 * linux-low.h (struct process_info_private): Move members to struct
4032 thread_db.
4033 (thread_db_free, thread_db_handle_monitor_command): New prototype.
4034 * linux-low.c (linux_remove_process): Adjust.
4035 (linux_wait_for_event_1, linux_look_up_symbols): Likewise.
4036 * server.c (handle_query): Move code ...
4037 (handle_monitor_command): ... here. New function.
4038 * target.h (struct target_ops): New member.
4039 * thread-db.c (struct thread_db): New.
4040 (libthread_db_search_path): New variable.
4041 (thread_db_create_event, thread_db_enable_reporting)
4042 (find_one_thread, maybe_attach_thread, find_new_threads_callback)
4043 (thread_db_find_new_threads, (thread_db_get_tls_address): Adjust.
4044 (try_thread_db_load_1, dladdr_to_soname): New functions.
4045 (try_thread_db_load, thread_db_load_search): New functions.
4046 (thread_db_init): Search for libthread_db.
4047 (thread_db_free): New function.
4048 (thread_db_handle_monitor_command): Likewise.
4049 * config.in: Regenerate.
4050 * configure: Regenerate.
4051
4052 2009-09-27 Ulrich Weigand <uweigand@de.ibm.com>
4053
4054 * spu-low.c (spu_kill): Wait for inferior to terminate.
4055 Call clear_inferiors.
4056 (spu_detach): Call clear_inferiors.
4057
4058 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4059
4060 * aclocal.m4: Regenerate.
4061 * config.in: Likewise.
4062 * configure: Likewise.
4063
4064 2009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
4065
4066 * linux-ppc-low.c (INSTR_SC, NR_spu_run): Define.
4067 (parse_spufs_run): New function.
4068 (ppc_get_pc, ppc_set_pc): Detect and handle SPU PC.
4069 (ppc_breakpoint_at): Handle SPU breakpoints.
4070
4071 2009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
4072
4073 * linux-low.c: Include <sys/stat.h> and <sys/vfs.h>.
4074 (SPUFS_MAGIC): Define.
4075 (spu_enumerate_spu_ids): New function.
4076 (linux_qxfer_spu): New function.
4077 (linux_target_ops): Install linux_qxfer_spu.
4078
4079 2009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
4080
4081 * configure.srv (powerpc*-*-linux*): Add powerpc-cell32l.o
4082 and powerpc-cell64l.o to srv_regobj. Add rs6000/powerpc-cell32l.xml
4083 and rs6000/powerpc-cell64l.xml to srv_xmlfiles.
4084 * Makefile.in (powerpc-cell32l.o, powerpc-cell32l.c): New rules.
4085 (powerpc-cell64l.o, powerpc-cell64l.c): Likewise.
4086 (clean): Handle powerpc-cell32l.c and powerpc-cell64l.c.
4087 * linux-ppc-low.c (PPC_FEATURE_CELL): Define.
4088 (init_registers_powerpc_cell32l): Add prototype.
4089 (init_registers_powerpc_cell64l): Likewise.
4090 (ppc_arch_setup): Detect Cell/B.E. architecture.
4091
4092 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4093
4094 * Makefile.in (datarootdir): New variable.
4095
4096 2009-07-28 Daniel Jacobowitz <dan@codesourcery.com>
4097
4098 * linux-low.c (linux_write_memory): Update debugging output.
4099 * Makefile.in (clean): Add new descriptions.
4100 (arm-with-vfpv2.o, arm-with-vfpv2.c, arm-with-vfpv3.o)
4101 (arm-with-vfpv3.c, arm-with-neon.o, arm-with-neon.c): New rules.
4102 * configure.srv: Add new files for arm*-*-linux*.
4103 * linux-arm-low.c: Add new declarations.
4104 (PTRACE_GETVFPREGS, PTRACE_SETVFPREGS): Define if undefined.
4105 (arm_hwcap, HWCAP_VFP, HWCAP_IWMMXT, HWCAP_NEON, HWCAP_VFPv3)
4106 (HWCAP_VFPv3D16): New.
4107 (arm_fill_wmmxregset, arm_store_wmmxregset): Check HWCAP_IWMMXT
4108 instead of __IWMMXT__.
4109 (arm_fill_vfpregset, arm_store_vfpregset, arm_get_hwcap)
4110 (arm_arch_setup): New.
4111 (target_regsets): Remove #ifdef. Add VFP regset.
4112 (the_low_target): Use arm_arch_setup.
4113
4114 2009-07-28 Daniel Jacobowitz <dan@codesourcery.com>
4115
4116 * linux-low.c (linux_kill_one_lwp): Adjust kernel workaround to skip
4117 the main thread again.
4118
4119 2009-07-06 Aleksandar Ristovski <aristovski@qnx.com>
4120
4121 Adding Neutrino gdbserver.
4122 * configure: Regenerated.
4123 * configure.ac: Add case for srv_qnx and set LIBS accordingly.
4124 * configure.srv (i[34567]86-*-nto*): New target.
4125 * nto-low.c, nto-low.h, nto-x86-low.c: New files.
4126 * remote-utils.c [__QNX__]: Include sys/iomgr.h
4127 (nto_comctrl) [__QNX__]: New function.
4128 (enable_async_io, disable_async_io) [__QNX__]: Call nto_comctrl.
4129
4130 2009-07-05 Danny Backx <dannybackx@users.sourceforge.net>
4131
4132 * configure.srv (i[34567]86-*-mingw32ce*): Add i386-low.o to
4133 srv_tgtobj.
4134
4135 2009-07-04 Danny Backx <dannybackx@users.sourceforge.net>
4136 Pedro Alves <pedro@codesourcery.com>
4137
4138 * win32-i386-low.c (i386_get_thread_context): Handle systems that
4139 don't support CONTEXT_EXTENDED_REGISTERS.
4140 (i386_win32_breakpoint, i386_win32_breakpoint_len): New.
4141 (the_low_target): Install them.
4142 * win32-low.c (get_child_debug_event): Handle WaitForDebugEvent
4143 failing with ERROR_PIPE_NOT_CONNECTED.
4144
4145 2009-06-30 Doug Evans <dje@google.com>
4146 Pierre Muller <muller@ics.u-strasbg.fr>
4147
4148 Add h/w watchpoint support to x86-linux, win32-i386.
4149 * Makefile.in (SFILES): Add i386-low.c
4150 (i386_low_h): Define.
4151 (i386-low.o): Add dependencies.
4152 (linux-x86-low.o): Add i386-low.h dependency.
4153 (win32-i386-low.o): Ditto.
4154 * i386-low.c: New file.
4155 * i386-low.h: New file.
4156 * configure.srv (i[34567]86-*-cygwin*): Add i386-low.o to srv_tgtobj.
4157 (i[34567]86-*-linux*, i[34567]86-*-mingw*, x86_64-*-linux*): Ditto.
4158 * linux-low.c (linux_add_process): Initialize arch_private.
4159 (linux_remove_process): Free arch_private.
4160 (add_lwp): Initialize arch_private.
4161 (delete_lwp): Free arch_private.
4162 (linux_resume_one_lwp): Call the_low_target.prepare_to_resume if
4163 provided.
4164 * linux-low.h (process_info_private): New member arch_private.
4165 (lwp_info): New member arch_private.
4166 (linux_target_ops): New members new_process, new_thread,
4167 prepare_to_resume.
4168 (ptid_of): New macro.
4169 * linux-x86-low.c: Include stddef.h, i386-low.h.
4170 (arch_process_info): New struct.
4171 (arch_lwp_info): New struct.
4172 (x86_linux_dr_get, x86_linux_dr_set): New functions.
4173 (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
4174 (i386_dr_low_get_status): New function.
4175 (x86_insert_point, x86_remove_point): New functions.
4176 (x86_stopped_by_watchpoint): New function.
4177 (x86_stopped_data_address): New function.
4178 (x86_linux_new_process, x86_linux_new_thread): New functions.
4179 (x86_linux_prepare_to_resume): New function.
4180 (the_low_target): Add entries for insert_point, remove_point,
4181 stopped_by_watchpoint, stopped_data_address, new_process, new_thread,
4182 prepare_to_resume.
4183 * server.c (debug_hw_points): New global.
4184 (monitor_show_help): Document set debug-hw-points.
4185 (handle_query): Process "set debug-hw-points".
4186 * server.h (debug_hw_points): Declare.
4187 (paddress): Declare.
4188 * utils.c (NUMCELLS, CELLSIZE): New macros.
4189 (get_sell, xsnprintf, paddress): New functions.
4190 * win32-arm-low.c (the_low_target): Add entries for insert_point,
4191 remove_point, stopped_by_watchpoint, stopped_data_address.
4192 * win32-i386-low.c: Include i386-low.h.
4193 (debug_reg_state): Replaces dr.
4194 (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
4195 (i386_dr_low_get_status): New function.
4196 (i386_insert_point, i386_remove_point): New functions.
4197 (i386_stopped_by_watchpoint): New function.
4198 (i386_stopped_data_address): New function.
4199 (i386_initial_stuff): Update.
4200 (get_thread_context,set_thread_context,i386_thread_added): Update.
4201 (the_low_target): Add entries for insert_point,
4202 remove_point, stopped_by_watchpoint, stopped_data_address.
4203 * win32-low.c (win32_insert_watchpoint): New function.
4204 (win32_remove_watchpoint): New function.
4205 (win32_stopped_by_watchpoint): New function.
4206 (win32_stopped_data_address): New function.
4207 (win32_target_ops): Add entries for insert_watchpoint,
4208 remove_watchpoint, stopped_by_watchpoint, stopped_data_address.
4209 * win32-low.h (win32_target_ops): New members insert_point,
4210 remove_point, stopped_by_watchpoint, stopped_data_address.
4211
4212 2009-06-25 Pedro Alves <pedro@codesourcery.com>
4213
4214 * server.c (process_serial_event): Re-return unsupported, not
4215 error, if the type isn't recognized. Re-allow supporting only
4216 insert or remove packets. Also call require_running for
4217 breakpoints. Add missing break statement to default case. Tidy.
4218 * target.h (struct target_ops): Rename insert_watchpoint to
4219 insert_point, and remove_watchpoint to remove_point.
4220
4221 * linux-low.h (struct linux_target_ops): Likewise.
4222 * linux-low.c (linux_insert_watchpoint): Rename to ...
4223 (linux_insert_point): ... this. Adjust.
4224 (linux_remove_watchpoint): Rename to ...
4225 (linux_remove_point): ... this. Adjust.
4226 (linux_target_ops): Adjust.
4227 * linux-crisv32-low.c (cris_insert_watchpoint): Rename to ...
4228 (cris_insert_point): ... this.
4229 (cris_remove_watchpoint): Rename to ...
4230 (cris_remove_point): ... this.
4231 (the_low_target): Adjust.
4232
4233 2009-06-24 Pierre Muller <muller@ics.u-strasbg.fr>
4234
4235 * server.c (handle_v_kill): Pass signal_pid to
4236 kill_inferior if multi_process is zero.
4237
4238 2009-06-23 Aleksandar Ristovski <aristovski@qnx.com>
4239
4240 * server.c (process_serial_event): Add support for Z0 and Z1 packet.
4241 * target.h (target_ops): Comment for *_watchpoint to make it clear
4242 the functions can get types '0' and '1'.
4243
4244 2009-06-22 Aleksandar Ristovski <aristovski@qnx.com>
4245
4246 * linux-low.c (usr_fetch_inferior_registers): Remove check for regno 0.
4247 * proc-service.c (ps_lgetregs): Pass -1 to fetch all registers.
4248 * regcache.c (get_regcache): Likewise.
4249 * spu-low.c (spu_fetch_registers): Remove 0 to -1 conversion.
4250 * win32-low.c (child_fetch_inferior_registers): Remove check for
4251 regno 0.
4252
4253 2009-06-19 Aleksandar Ristovski <aristovski@qnx.com>
4254 Pedro Alves <pedro@codesourcery.com>
4255
4256 * target.h (struct target_ops) <supports_multi_process>: New
4257 callback.
4258 (target_supports_multi_process): New.
4259 * server.c (handle_query): Even if GDB reports support, only
4260 enable multi-process if the target also supports it. Report
4261 multi-process support only if the target backend supports it.
4262 * linux-low.c (linux_supports_multi_process): New function.
4263 (linux_target_ops): Install it as target_supports_multi_process
4264 callback.
4265
4266 2009-05-24 Doug Evans <dje@google.com>
4267
4268 Global renaming of find_thread_pid to find_thread_ptid.
4269 * server.h (find_thread_ptid): Renamed from find_thread_pid.
4270 * inferiors.c (find_thread_ptid): Renamed from find_thread_pid.
4271 All callers updated.
4272
4273 * linux-low.c (handle_extended_wait): Use linux_resume_one_lwp
4274 to resume the newly created thread, don't call ptrace (PTRACE_CONT)
4275 directly.
4276
4277 * linux-low.c (get_stop_pc): Print pc if debug_threads.
4278 (check_removed_breakpoint, linux_wait_for_lwp): Ditto.
4279 (linux_resume_one_lwp): Ditto.
4280
4281 2009-05-23 Doug Evans <dje@google.com>
4282
4283 * linux-low.c (linux_resume_one_lwp): Change type of first arg
4284 from struct inferior_list_entry * to struct lwp_info *.
4285 All callers updated.
4286
4287 2009-05-13 Doug Evans <dje@google.com>
4288
4289 * linux-x86-low.c: Don't include assert.h.
4290 (x86_siginfo_fixup): Use fatal, not assert.
4291 (x86_arch_setup): Fix comment.
4292
4293 2009-05-12 Doug Evans <dje@google.com>
4294
4295 Biarch support for i386/amd64 gdbserver.
4296 * Makefile.in (SFILES): Remove linux-i386-low.c, linux-x86-64-low.c.
4297 Add linux-x86-low.c.
4298 (linux-i386-low.o, linux-x86-64-low.o): Delete.
4299 (linux-x86-low.o): Add.
4300 * linux-x86-64-low.c: Delete.
4301 * linux-i386-low.c: Delete.
4302 * linux-x86-low.c: New file.
4303 * configure.srv (i?86-linux srv_tgtobj): Replace linux-i386-low.o with
4304 linux-x86-low.o.
4305 (x86_64-linux srv_tgtobj): Replace linux-x86-64-low.o with
4306 linux-x86-low.o.
4307 (x86_64-linux srv_regobj): Add reg-i386-linux.o.
4308 * linux-low.c: Include ansidecl.h, elf/common.h, elf/external.h.
4309 (linux_child_pid_to_exec_file): New function.
4310 (elf_64_header_p, elf_64_file_p): New functions.
4311 (siginfo_fixup): New function.
4312 (linux_xfer_siginfo): New local inf_siginfo. Call siginfo_fixup to
4313 give target a chance to convert layout.
4314 * linux-low.h (linux_target_ops): New member siginfo_fixup.
4315 (linux_child_pid_to_exec_file, elf_64_file_p): Declare.
4316
4317 2009-05-07 Doug Evans <dje@google.com>
4318
4319 * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak.
4320 (regsets_store_inferior_registers): Ditto.
4321
4322 2009-05-06 Pedro Alves <pedro@codesourcery.com>
4323
4324 PR server/10048
4325
4326 * linux-low.c (must_set_ptrace_flags): Delete.
4327 (linux_create_inferior): Set `lwp->must_set_ptrace_flags' instead
4328 of the global.
4329 (linux_attach_lwp_1): Don't set PTRACE_SETOPTIONS here. Set
4330 `lwp->must_set_ptrace_flags' instead.
4331 (linux_wait_for_event_1): Set ptrace options here.
4332 (linux_wait_1): ... not here.
4333
4334 2009-04-30 Doug Evans <dje@google.com>
4335
4336 * inferiors.c (started_inferior_callback): New function.
4337 (attached_inferior_callback): New function.
4338 (have_started_inferiors_p, have_attached_inferiors_p): New functions.
4339 * server.c (print_started_pid, print_attached_pid): New functions.
4340 (detach_or_kill_for_exit): New function.
4341 (main): Call it instead of for_each_inferior (kill_inferior_callback).
4342 * server.h (have_started_inferiors_p): Declare.
4343 (have_attached_inferiors_p): Declare.
4344
4345 * inferiors.c (remove_process): Fix memory leak, free process.
4346 * linux-low.c (linux_remove_process): New function.
4347 (linux_kill): Call it instead of remove_process.
4348 (linux_detach, linux_wait_1): Ditto.
4349
4350 2009-04-19 Danny Backx <dannybackx@users.sourceforge.net>
4351
4352 * configure.srv: Add x86 Windows CE target.
4353
4354 2009-04-03 Ulrich Weigand <uweigand@de.ibm.com>
4355
4356 * inferiors.c (get_thread_process): Make global.
4357 * server.h (get_thread_process): Add prototype.
4358 * thread-db.c (find_one_thread): Use get_thread_process
4359 instead of current_process.
4360 (thread_db_get_tls_address): Do not crash if called when
4361 thread layer is not yet initialized.
4362
4363 2009-04-03 Ulrich Weigand <uweigand@de.ibm.com>
4364
4365 * remote-utils.c (prepare_resume_reply): Null-terminate packet.
4366 * spu-low.c (current_tid): Rename to ...
4367 (current_ptid): ... this.
4368 (fetch_ppc_register, fetch_ppc_memory, store_ppc_memory,
4369 spu_proc_xfer_spu, spu_resume, spu_request_interrupt): Use
4370 ptid_get_lwp (current_ptid) instead of current_tid.
4371 (spu_kill, spu_detach, spu_join, spu_wait): Use pid argument
4372 instead of current_tid. Use find_process_pid to verify pid
4373 argument is valid. Pass proper argument to remove_process.
4374 (spu_thread_alive): Compare current_ptid instead of current_tid.
4375 (spu_resume): Likewise.
4376
4377 2009-04-02 Pedro Alves <pedro@codesourcery.com>
4378
4379 * linux-low.c (usr_store_inferior_registers): Declare local `pid'
4380 variable.
4381
4382 2009-04-01 Pedro Alves <pedro@codesourcery.com>
4383
4384 Implement the multiprocess extensions, and add linux multiprocess
4385 support.
4386
4387 * server.h (ULONGEST): Declare.
4388 (struct ptid, ptid_t): New.
4389 (minus_one_ptid, null_ptid): Declare.
4390 (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
4391 (ptid_get_tid, ptid_equal, ptid_is_pid): Declare.
4392 (struct inferior_list_entry): Change `id' type from unsigned from
4393 to ptid_t.
4394 (struct sym_cache, struct breakpoint, struct
4395 process_info_private): Forward declare.
4396 (struct process_info): Declare.
4397 (current_process): Declare.
4398 (all_processes): Declare.
4399 (initialize_inferiors): Declare.
4400 (add_thread): Adjust to use ptid_t.
4401 (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): Ditto.
4402 (add_process, remove_process, find_thread_pid): Declare.
4403 (find_inferior_id): Adjust to use ptid_t.
4404 (cont_thread, general_thread, step_thread): Change type to ptid_t.
4405 (multi_process): Declare.
4406 (push_event): Adjust to use ptid_t.
4407 (read_ptid, write_ptid): Declare.
4408 (prepare_resume_reply): Adjust to use ptid_t.
4409 (clear_symbol_cache): Declare.
4410 * inferiors.c (all_processes): New.
4411 (null_ptid, minus_one_ptid): New.
4412 (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
4413 (ptid_get_tid, ptid_equal, ptid_is_pid): New.
4414 (add_thread): Change unsigned long to ptid. Remove gdb_id
4415 parameter. Adjust.
4416 (thread_id_to_gdb_id, thread_to_gdb_id): Change unsigned long to ptid.
4417 (gdb_id_to_thread): Rename to ...
4418 (find_thread_pid): ... this. Change unsigned long to ptid.
4419 (gdb_id_to_thread_id, find_inferior_id): Change unsigned long to ptid.
4420 (loaded_dll, pull_pid_from_list): Adjust.
4421 (add_process, remove_process, find_process_pid)
4422 (get_thread_process, current_process, initialize_inferiors): New.
4423 * target.h (struct thread_resume) <thread>: Change type to ptid_t.
4424 (struct target_waitstatus) <related_pid>: Ditto.
4425 (struct target_ops) <kill, detach>: Add `pid' argument. Change
4426 return type to int.
4427 (struct target_ops) <join>: Add `pid' argument.
4428 (struct target_ops) <thread_alive>: Change pid's type to ptid_t.
4429 (struct target_ops) <wait>: Add `ptid' field. Change return type
4430 to ptid.
4431 (kill_inferior, detach_inferior, join_inferior): Add `pid' argument.
4432 (mywait): Add `ptid' argument. Change return type to ptid_t.
4433 (target_pid_to_str): Declare.
4434 * target.c (set_desired_inferior): Adjust to use ptids.
4435 (mywait): Add new `ptid' argument. Adjust.
4436 (target_pid_to_str): New.
4437 * mem-break.h (free_all_breakpoints): Declare.
4438 * mem-break.c (breakpoints): Delelete.
4439 (set_breakpoint_at, delete_breakpoint, find_breakpoint_at)
4440 (check_mem_read, check_mem_write, delete_all_breakpoints): Adjust
4441 to use per-process breakpoint list.
4442 (free_all_breakpoints): New.
4443 * remote-utils.c (struct sym_cache) <name>: Drop `const'.
4444 (symbol_cache, all_symbols_looked_up): Delete.
4445 (hexchars): New.
4446 (ishex, unpack_varlen_hex, write_ptid, hex_or_minus_one,
4447 read_ptid): New.
4448 (prepare_resume_reply): Change ptid argument's type from unsigned
4449 long to ptid_t. Adjust. Implement W;process and X;process.
4450 (free_sym_cache, clear_symbol_cache): New.
4451 (look_up_one_symbol): Adjust to per-process symbol cache. *
4452 * server.c (cont_thread, general_thread, step_thread): Change type
4453 to ptid_t.
4454 (attached): Delete.
4455 (multi_process): New.
4456 (last_ptid): Change type to ptid_t.
4457 (struct vstop_notif) <ptid>: Change type to ptid_t.
4458 (queue_stop_reply, push_event): Change `ptid' argument's type to
4459 ptid_t.
4460 (discard_queued_stop_replies): Add `pid' argument.
4461 (start_inferior): Adjust to use ptids. Adjust to mywait interface
4462 changes. Don't reference the `attached' global.
4463 (attach_inferior): Adjust to mywait interface changes.
4464 (handle_query): Adjust to use ptids. Parse GDB's qSupported
4465 features. Handle and report "multiprocess+". Handle
4466 "qAttached:PID".
4467 (handle_v_cont): Adjust to use ptids. Adjust to mywait interface
4468 changes.
4469 (handle_v_kill): New.
4470 (handle_v_stopped): Adjust to use target_pid_to_str.
4471 (handle_v_requests): Allow multiple attaches and runs when
4472 multiprocess extensions are in effect. Handle "vKill".
4473 (myresume): Adjust to use ptids.
4474 (queue_stop_reply_callback): Add `arg' parameter. Handle it.
4475 (handle_status): Adjust to discard_queued_stop_replies interface
4476 change.
4477 (first_thread_of, kill_inferior_callback)
4478 (detach_or_kill_inferior_callback, join_inferiors_callback): New.
4479 (main): Call initialize_inferiors. Adjust to use ptids, killing
4480 and detaching from all inferiors. Handle multiprocess packet
4481 variants.
4482 * linux-low.h: Include gdb_proc_service.h.
4483 (struct process_info_private): New.
4484 (struct linux_target_ops) <pid_of>: Use ptid_get_pid.
4485 <lwpid_of>: Use ptid_get_lwp.
4486 (get_lwp_thread): Adjust.
4487 (struct lwp_info): Add `dead' member.
4488 (find_lwp_pid): Declare.
4489 * linux-low.c (thread_db_active): Delete.
4490 (new_inferior): Adjust comment.
4491 (inferior_pid): Delete.
4492 (linux_add_process): New.
4493 (handle_extended_wait): Adjust.
4494 (add_lwp): Change unsigned long to ptid.
4495 (linux_create_inferior): Add process to processes table. Adjust
4496 to use ptids. Don't set new_inferior here.
4497 (linux_attach_lwp): Rename to ...
4498 (linux_attach_lwp_1): ... this. Add `initial' argument. Handle
4499 it. Adjust to use ptids.
4500 (linux_attach_lwp): New.
4501 (linux_attach): Add process to processes table. Don't set
4502 new_inferior here.
4503 (struct counter): New.
4504 (second_thread_of_pid_p, last_thread_of_process_p): New.
4505 (linux_kill_one_lwp): Add `args' parameter. Handle it. Adjust to
4506 multiple processes.
4507 (linux_kill): Add `pid' argument. Handle it. Adjust to multiple
4508 processes. Remove process from process table.
4509 (linux_detach_one_lwp): Add `args' parameter. Handle it. Adjust
4510 to multiple processes.
4511 (any_thread_of): New.
4512 (linux_detach): Add `pid' argument, and handle it. Remove process
4513 from processes table.
4514 (linux_join): Add `pid' argument. Handle it.
4515 (linux_thread_alive): Change unsighed long argument to ptid_t.
4516 Consider dead lwps as not being alive.
4517 (status_pending_p): Rename `dummy' argument to `arg'. Filter out
4518 threads we're not interested in.
4519 (same_lwp, find_lwp_pid): New.
4520 (linux_wait_for_lwp): Change `pid' argument's type from int to
4521 ptid_t. Adjust.
4522 (linux_wait_for_event): Rename to ...
4523 (linux_wait_for_event_1): ... this. Change `pid' argument's type
4524 from int to ptid_t. Adjust.
4525 (linux_wait_for_event): New.
4526 (linux_wait_1): Add `ptid' argument. Change return type to
4527 ptid_t. Adjust. Use last_thread_of_process_p. Remove processes
4528 that exit from the process table.
4529 (linux_wait): Add `ptid' argument. Change return type to ptid_t.
4530 Adjust.
4531 (mark_lwp_dead): New.
4532 (wait_for_sigstop): Adjust to use ptids. If a process exits while
4533 stopping all threads, mark its main lwp as dead.
4534 (linux_set_resume_request, linux_resume_one_thread): Adjust to use
4535 ptids.
4536 (fetch_register, usr_store_inferior_registers)
4537 (regsets_fetch_inferior_registers)
4538 (regsets_store_inferior_registers, linux_read_memory)
4539 (linux_write_memory): Inline `inferior_pid'.
4540 (linux_look_up_symbols): Adjust to use per-process
4541 `thread_db_active'.
4542 (linux_request_interrupt): Adjust to use ptids.
4543 (linux_read_auxv): Inline `inferior_pid'.
4544 (initialize_low): Don't reference thread_db_active.
4545 * gdb_proc_service.h (struct ps_prochandle) <pid>: Remove.
4546 * proc-service.c (ps_lgetregs): Use find_lwp_pid.
4547 (ps_getpid): Return the pid of the current inferior.
4548 * thread-db.c (proc_handle, thread_agent): Delete.
4549 (thread_db_create_event, thread_db_enable_reporting): Adjust to
4550 per-process data.
4551 (find_one_thread): Change argument type to ptid_t. Adjust to
4552 per-process data.
4553 (maybe_attach_thread): Adjust to per-process data and ptids.
4554 (thread_db_find_new_threads): Ditto.
4555 (thread_db_init): Ditto.
4556 * spu-low.c (spu_create_inferior, spu_attach): Add process to
4557 processes table. Adjust to use ptids.
4558 (spu_kill, spu_detach): Adjust interface. Remove process from
4559 processes table.
4560 (spu_join, spu_thread_alive): Adjust interface.
4561 (spu_wait): Adjust interface. Remove process from processes
4562 table. Adjust to use ptids.
4563 * win32-low.c (current_inferior_tid): Delete.
4564 (current_inferior_ptid): New.
4565 (debug_event_ptid): New.
4566 (thread_rec): Take a ptid. Adjust.
4567 (child_add_thread): Add `pid' argument. Adjust to use ptids.
4568 (child_delete_thread): Ditto.
4569 (do_initial_child_stuff): Add `attached' argument. Add process to
4570 processes table.
4571 (child_fetch_inferior_registers, child_store_inferior_registers):
4572 Adjust.
4573 (win32_create_inferior): Pass 0 to do_initial_child_stuff.
4574 (win32_attach): Pass 1 to do_initial_child_stuff.
4575 (win32_kill): Adjust interface. Remove process from processes
4576 table.
4577 (win32_detach): Ditto.
4578 (win32_join): Adjust interface.
4579 (win32_thread_alive): Take a ptid.
4580 (win32_resume): Adjust to use ptids.
4581 (get_child_debug_event): Ditto.
4582 (win32_wait): Adjust interface. Remove exiting process from
4583 processes table.
4584
4585 2009-04-01 Pedro Alves <pedro@codesourcery.com>
4586
4587 Non-stop mode support.
4588
4589 * server.h (non_stop): Declare.
4590 (gdb_client_data, handler_func): Declare.
4591 (delete_file_handler, add_file_handler, start_event_loop):
4592 Declare.
4593 (handle_serial_event, handle_target_event, push_event)
4594 (putpkt_notif): Declare.
4595 * target.h (enum resume_kind): New.
4596 (struct thread_resume): Replace `step' field by `kind' field.
4597 (TARGET_WNOHANG): Define.
4598 (struct target_ops) <wait>: Add `options' argument.
4599 <supports_non_stop, async, start_non_stop>: New fields.
4600 (target_supports_non_stop, target_async): New.
4601 (start_non_stop): Declare.
4602 (mywait): Add `options' argument.
4603 * target.c (mywait): Add `options' argument. Print child exit
4604 notifications here.
4605 (start_non_stop): New.
4606 * server.c (non_stop, own_buf, mem_buf): New globals.
4607 (struct vstop_notif): New.
4608 (notif_queue): New global.
4609 (queue_stop_reply, push_event, discard_queued_stop_replies)
4610 (send_next_stop_reply): New.
4611 (start_inferior): Adjust to use resume_kind. Adjust to mywait
4612 interface changes.
4613 (attach_inferior): In non-stop mode, don't wait for the target
4614 here.
4615 (handle_general_set): Handle QNonStop.
4616 (handle_query): When handling qC, return the current general
4617 thread, instead of the first thread of the list.
4618 (handle_query): If the backend supports non-stop mode, include
4619 QNonStop+ in the qSupported query response.
4620 (handle_v_cont): Adjust to use resume_kind. Handle resume_stop
4621 and non-stop mode.
4622 (handle_v_attach, handle_v_run): Handle non-stop mode.
4623 (handle_v_stopped): New.
4624 (handle_v_requests): Report support for vCont;t. Handle vStopped.
4625 (myresume): Adjust to use resume_kind. Handle non-stop.
4626 (queue_stop_reply_callback): New.
4627 (handle_status): Handle non-stop mode.
4628 (main): Clear non_stop flag on reconnection. Use the event-loop.
4629 Refactor serial protocol handling from here ...
4630 (process_serial_event): ... to this new function. When GDB
4631 selects any thread, select one here. In non-stop mode, wait until
4632 GDB acks all pending events before exiting.
4633 (handle_serial_event, handle_target_event): New.
4634 * remote-utils.c (remote_open): Install remote_desc in the event
4635 loop.
4636 (remote_close): Remove remote_desc from the event loop.
4637 (putpkt_binary): Rename to...
4638 (putpkt_binary_1): ... this. Add `is_notic' argument. Handle it.
4639 (putpkt_binary): New as wrapper around putpkt_binary_1.
4640 (putpkt_notif): New.
4641 (prepare_resume_reply): In non-stop mode, don't change the
4642 general_thread.
4643 * event-loop.c: New.
4644 * Makefile.in (OBJ): Add event-loop.o.
4645 (event-loop.o): New rule.
4646
4647 * linux-low.h (pid_of): Moved here.
4648 (lwpid_of): New.
4649 (get_lwp_thread): Use lwpid_of.
4650 (struct lwp_info): Delete `lwpid' field. Add `suspended' field.
4651 * linux-low.c (pid_of): Delete.
4652 (inferior_pid): Use lwpid_of.
4653 (linux_event_pipe): New.
4654 (target_is_async_p): New.
4655 (delete_lwp): New.
4656 (handle_extended_wait): Use lwpid_of.
4657 (add_lwp): Don't set lwpid field.
4658 (linux_attach_lwp): Adjust debug output. Use lwpid_of.
4659 (linux_kill_one_lwp): If killing a running lwp, stop it first.
4660 Use lwpid_of. Adjust to linux_wait_for_event interface changes.
4661 (linux_detach_one_lwp): If detaching from a running lwp, stop it
4662 first. Adjust to linux_wait_for_event interface changes. Use
4663 lwpid_of.
4664 (linux_detach): Don't delete the main lwp here.
4665 (linux_join): Use my_waitpid. Avoid signal_pid. Use lwpid_of.
4666 (status_pending_p): Don't consider explicitly suspended lwps.
4667 (linux_wait_for_lwp): Take an integer pid instead of a lwp_info
4668 pointer. Add OPTIONS argument. Change return type to int. Use
4669 my_waitpid instead of sleeping. Handle WNOHANG. Use lwpid_of.
4670 (linux_wait_for_event): Take an integer pid instead of a lwp_info
4671 pointer. Add status pointer argument. Return a pid instead of a
4672 status. Use lwpid_of. Adjust to linux_wait_for_lwp interface
4673 changes. In non-stop mode, don't switch to a random thread.
4674 (linux_wait): Rename to...
4675 (linux_wait_1): ... this. Add target_options argument, and handle
4676 it. Adjust to use resume_kind. Use lwpid_of. In non-stop mode,
4677 don't handle the continue thread. Handle TARGET_WNOHANG. Merge
4678 clean exit and signal exit code. Don't stop all threads in
4679 non-stop mode. In all-stop mode, only stop all threads when
4680 reporting a stop to GDB. Handle explicit thread stop requests.
4681 (async_file_flush, async_file_mark): New.
4682 (linux_wait): New.
4683 (send_sigstop): Use lwpid_of.
4684 (wait_for_sigstop): Use lwpid_of. Adjust to linux_wait_for_event
4685 interface changes. In non-stop mode, don't switch to a random
4686 thread.
4687 (linux_resume_one_lwp): Use lwpid_of.
4688 (linux_continue_one_thread, linux_queue_one_thread): Merge into ...
4689 (linux_resume_one_thread): ... this. Handle resume_stop. In
4690 non-stop mode, don't look for pending flag in all threads.
4691 (resume_status_pending_p): Don't consider explicitly suspended
4692 threads.
4693 (my_waitpid): Reimplement. Emulate __WALL.
4694 (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
4695 Use lwpid_of.
4696 (sigchld_handler, linux_supports_non_stop, linux_async)
4697 (linux_start_non_stop): New.
4698 (linux_target_ops): Register linux_supports_non_stop, linux_async
4699 and linux_start_non_stop.
4700 (initialize_low): Install SIGCHLD handler.
4701 * thread-db.c (thread_db_create_event, find_one_thread)
4702 (thread_db_get_tls_address): Use lwpid_of.
4703 * win32-low.c (win32_detach): Adjust to use resume_kind.
4704 (win32_wait): Add `options' argument.
4705 * spu-low.c (spu_resume): Adjust to use resume_kind.
4706 (spu_wait): Add `options' argument.
4707
4708 2009-04-01 Pedro Alves <pedro@codesourcery.com>
4709
4710 Decouple target code from remote protocol.
4711
4712 * target.h (enum target_waitkind): New.
4713 (struct target_waitstatus): New.
4714 (struct target_ops) <wait>: Return an unsigned long. Take a
4715 target_waitstatus pointer instead of a char pointer.
4716 (mywait): Likewise.
4717 * target.c (mywait): Change prototype to return an unsigned long.
4718 Take a target_waitstatus pointer instead of a char pointer. Adjust.
4719 * server.h (thread_from_wait, old_thread_from_wait): Delete
4720 declarations.
4721 (prepare_resume_reply): Change prototype to take a
4722 target_waitstatus.
4723 * server.c (thread_from_wait, old_thread_from_wait): Delete.
4724 (last_status, last_ptid): New.
4725 (start_inferior): Remove "statusptr" argument. Adjust. Return a
4726 pid instead of a signal.
4727 (attach_inferior): Remove "status" and "signal" parameters.
4728 Adjust.
4729 (handle_query): For qGetTLSAddr, parse the thread id with strtol,
4730 not as an address.
4731 (handle_v_cont, handle_v_attach, handle_v_run, handle_v_kill)
4732 (handle_v_requests, myresume): Remove "status" and "signal"
4733 parameters. Adjust.
4734 (handle_status): New.
4735 (main): Delete local `status'. Adjust.
4736 * remote-utils.c: Include target.h.
4737 (prepare_resume_reply): Change prototype to take a
4738 target_waitstatus. Adjust.
4739
4740 * linux-low.c (linux_wait): Adjust to new target_ops->wait
4741 interface.
4742 * spu-low.c (spu_wait): Adjust.
4743 * win32-low.c (enum target_waitkind, struct target_waitstatus):
4744 Delete.
4745 (win32_wait): Adjust.
4746
4747 2009-04-01 Pedro Alves <pedro@codesourcery.com>
4748
4749 * target.h (struct thread_resume): Delete leave_stopped member.
4750 (struct target_ops): Add a `n' argument to the `resume' callback.
4751 * server.c (start_inferior): Adjust.
4752 (handle_v_cont, myresume): Adjust.
4753 * linux-low.c (check_removed_breakpoint): Adjust to resume
4754 interface change, and to removed leave_stopped field.
4755 (resume_ptr): Delete.
4756 (struct thread_resume_array): New.
4757 (linux_set_resume_request): Add new `arg' parameter. Adjust to
4758 resume interface change.
4759 (linux_continue_one_thread, linux_queue_one_thread)
4760 (resume_status_pending_p): Check if the resume field is NULL
4761 instead of checking the leave_stopped member.
4762 (linux_resume): Adjust to the target resume interface change.
4763 * spu-low.c (spu_resume): Adjust to the target resume interface
4764 change.
4765 * win32-low.c (win32_detach, win32_resume): Ditto.
4766
4767 2009-04-01 Pedro Alves <pedro@codesourcery.com>
4768
4769 * linux-low.c (linux_wait_for_event): Don't clear the `stepping'
4770 flag.
4771 (wait_for_sigstop): Don't leave a finished single-step SIGTRAP
4772 pending.
4773 (linux_continue_one_thread): Only preserve the stepping flag if
4774 there's a pending breakpoint.
4775
4776 2009-03-31 Pedro Alves <pedro@codesourcery.com>
4777
4778 * server.c (main): After the inferior having exited, call
4779 remote_close before exiting gdbserver.
4780
4781 2009-03-25 Thiago Jung Bauermann <bauerman@br.ibm.com>
4782
4783 Fix size of FPSCR in Power 7 processors.
4784 * linux-ppc-low.c (PPC_FEATURE_ARCH_2_05): Remove #define.
4785 (PPC_FEATURE_HAS_DFP): New #define.
4786 (ppc_arch_setup): Check for DFP feature instead of ISA 2.05 to decide on
4787 size of the FPSCR.
4788
4789 2009-03-23 Pedro Alves <pedro@codesourcery.com>
4790
4791 * server.c (handle_query) Whitespace and formatting.
4792
4793 2009-03-22 Pedro Alves <pedro@codesourcery.com>
4794
4795 * i387-fp.c, linux-arm-low.c, linux-cris-low.c,
4796 linux-crisv32-low.c, linux-i386-low.c, linux-low.c,
4797 linux-mips-low.c, linux-s390-low.c, linux-sparc-low.c,
4798 linux-x86-64-low.c, linux-xtensa-low.c, proc-service.c,
4799 regcache.c, remote-utils.c, server.c, spu-low.c, target.h,
4800 thread-db.c, win32-low.c, xtensa-xtregs.c, gdbreplay.c,
4801 Makefile.in, configure.ac: Fix whitespace throughout.
4802 * configure: Regenerate.
4803
4804 2009-03-22 Pedro Alves <pedro@codesourcery.com>
4805
4806 * inferiors.c (find_inferior): Make it safe for the callback
4807 function to delete the currently iterated inferior.
4808
4809 2009-03-22 Pedro Alves <pedro@codesourcery.com>
4810
4811 * Makefile.in (linuw_low_h): Move higher.
4812 (thread-db.o): Depend on $(linux_low_h).
4813
4814 2009-03-17 Pedro Alves <pedro@codesourcery.com>
4815
4816 Rename "process" to "lwp" throughout.
4817
4818 * linux-low.c (all_processes): Rename to...
4819 (all_lwps): ... this.
4820 (inferior_pid, handle_extended_wait, get_stop_pc): Adjust.
4821 (add_process): Rename to ...
4822 (add_lwp): ... this. Adjust.
4823 (linux_create_inferior): Adjust.
4824 (linux_attach_lwp): Adjust.
4825 (linux_attach): Adjust.
4826 (linux_kill_one_process): Rename to ...
4827 (linux_kill_one_lwp): ... this. Adjust.
4828 (linux_kill): Adjust.
4829 (linux_detach_one_process): Rename to ...
4830 (linux_detach_one_lwp): ... this. Adjust.
4831 (linux_detach): Adjust.
4832 (check_removed_breakpoint): Adjust.
4833 (status_pending_p): Adjust.
4834 (linux_wait_for_process): Rename to ...
4835 (linux_wait_for_lwp): ... this. Adjust.
4836 (linux_wait_for_event): Adjust.
4837 (send_sigstop): Adjust.
4838 (wait_for_sigstop): Adjust.
4839 (stop_all_processes): Rename to ...
4840 (stop_all_lwps): ... this.
4841 (linux_resume_one_process): Rename to ...
4842 (linux_resume_one_lwp): ... this. Adjust.
4843 (linux_set_resume_request, linux_continue_one_thread)
4844 (linux_queue_one_thread, resume_status_pending_p)
4845 (usr_store_inferior_registers, regsets_store_inferior_registers)
4846 (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
4847 Adjust.
4848 * linux-low.h (get_process): Rename to ...
4849 (get_lwp): ... this. Adjust.
4850 (get_thread_process): Rename to ...
4851 (get_thread_lwp): ... this. Adjust.
4852 (get_process_thread): Rename to ...
4853 (get_lwp_thread): ... this. Adjust.
4854 (struct process_info): Rename to ...
4855 (struct lwp_info): ... this.
4856 (all_processes): Rename to ...
4857 (all_lwps): ... this.
4858 * proc-service.c (ps_lgetregs): Adjust.
4859 * thread-db.c (thread_db_create_event, find_one_thread)
4860 (maybe_attach_thread, thread_db_get_tls_address): Adjust.
4861
4862 2009-03-14 Pedro Alves <pedro@codesourcery.com>
4863
4864 * server.c (handle_query): Handle "qAttached".
4865
4866 2009-03-13 Nathan Sidwell <nathan@codesourcery.com>
4867
4868 * Makefile.in, hostio-errno.c, errno.c, xtensa-xtregs.c: Change to
4869 GPLv3, update license URL.
4870
4871 2009-03-01 Doug Evans <dje@google.com>
4872
4873 * Makefile.in (INCLUDE_CFLAGS): Add -I$(srcdir)/../common.
4874 (server_h): Add gdb_signals.h.
4875 (signals.o): Update.
4876 * server.h (target_signal_from_host,target_signal_to_host_p)
4877 (target_signal_to_host,target_signal_to_name): Moved to gdb_signals.h.
4878
4879 2009-02-14 Pierre Muller <muller@ics.u-strasbg.fr>
4880
4881 * remote-utils.c (getpkt): Also generate remote-debug
4882 information if noack_mode is set.
4883
4884 2009-02-06 Pedro Alves <pedro@codesourcery.com>
4885
4886 * server.c (handle_query): Report qXfer:siginfo:read and
4887 qXfer:siginfo:write as supported and handle them.
4888 * target.h (struct target_ops) <qxfer_siginfo>: New field.
4889 * linux-low.c (linux_xfer_siginfo): New.
4890 (linux_target_ops): Set it.
4891
4892 2009-01-26 Pedro Alves <pedro@codesourcery.com>
4893
4894 * server.c (gdbserver_usage): Mention --remote-debug.
4895 (main): Accept '--remote-debug' switch.
4896
4897 2009-01-18 Doug Evans <dje@google.com>
4898
4899 * regcache.c (new_register_cache): No need to check result of xcalloc.
4900 * server.c (handle_search_memory): Back out calls to xmalloc,
4901 result is checked and error is returned to user upon failure.
4902 (handle_query): Ditto. Add more checks for result of malloc.
4903 (handle_v_cont): Check result of malloc, report error back to
4904 user upon failure.
4905 (handle_v_run): Ditto. Call freeargv.
4906 * server.h (freeargv): Declare.
4907 * utils.c (freeargv): New fn.
4908
4909 2009-01-15 Doug Evans <dje@google.com>
4910
4911 * gdbreplay.c (perror_with_name): Make arg const char *.
4912 * server.h (target_signal_to_name): Make return type const char *.
4913 * thread-db.c (thread_db_err_str): Make return type const char *.
4914 * utils.c (perror_with_name): Make arg const char *.
4915
4916 2009-01-14 Pedro Alves <pedro@codesourcery.com>
4917
4918 * win32-low.c (get_child_debug_event): Issue a final DBG_CONTINUE
4919 when handling a EXIT_PROCESS_DEBUG_EVENT.
4920
4921 2009-01-06 Joel Brobecker <brobecker@adacore.com>
4922
4923 * gdbreplay.c (gdbreplay_version): Update copyright year.
4924 * server.c (gdbserver_version): Likewise.
4925
4926 2009-01-05 Doug Evans <dje@google.com>
4927
4928 * linux-low.c (linux_attach_lwp): Add some comments/fixmes.
4929 (handle_extended_wait): Improve comment.
4930
4931 2008-12-13 Doug Evans <dje@google.com>
4932
4933 * utils.c (xmalloc,xcalloc,xstrdup): New fns.
4934 * server.h (ATTR_MALLOC): New macro.
4935 (xmalloc,xcalloc,xstrdup): Declare.
4936 * hostio.c: Replace malloc,calloc,strdup with xmalloc,xcalloc,xstrdup.
4937 * inferiors.c: Ditto.
4938 * linux-low.c: Ditto.
4939 * mem-break.c: Ditto.
4940 * regcache.c: Ditto.
4941 * remote-utils.c: Ditto.
4942 * server.c: Ditto.
4943 * target.c: Ditto.
4944 * win32-low.c: Ditto.
4945
4946 2008-12-12 Doug Evans <dje@google.com>
4947
4948 * linux-low.c (linux_wait_for_process): Don't clobber current_inferior
4949 in debugging printf.
4950
4951 * linux-low.c (handle_extended_wait): Simplify, use my_waitpid.
4952
4953 2008-12-09 Doug Evans <dje@google.com>
4954
4955 * linux-low.h (struct process_info): Delete member tid, unused.
4956 * thread-db.c (find_one_thread): Update.
4957 (maybe_attach_thread): Update.
4958
4959 2008-12-02 Pedro Alves <pedro@codesourcery.com>
4960
4961 * target.h (struct target_ops): Add qxfer_osdata member.
4962 * linux-low.c: Include ctype.h and pwd.h and sys/types.h
4963 and dirent.h.
4964 (linux_qxfer_osdata): New functions.
4965 (linux_target_ops): Register linux_qxfer_osdata as qxfer_osdata
4966 callback.
4967 * server.c (handle_query): Handle "qXfer:osdata:read:".
4968 * remote-utils.c (buffer_grow, buffer_free, buffer_init, buffer_finish)
4969 (buffer_xml_printf): New functions.
4970 * server.h (struct buffer): New.
4971 (buffer_grow_str, buffer_grow_str0): New macros.
4972 (buffer_grow, buffer_free, buffer_init, buffer_finish)
4973 (buffer_xml_printf): Declare.
4974
4975 2008-11-24 Doug Evans <dje@google.com>
4976
4977 * Makefile.in (VERSION,DIST,LINT,LINTFLAGS): Delete, unused.
4978
4979 2008-11-24 Daniel Jacobowitz <dan@codesourcery.com>
4980
4981 * server.c (handle_v_run): Always use the supplied argument list.
4982
4983 2008-11-19 Bob Wilson <bob.wilson@acm.org>
4984
4985 * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4.
4986 (xtensa_regmap_table): Add entry for scompare1.
4987
4988 2008-11-18 Thiago Jung Bauermann <bauerman@br.ibm.com>
4989
4990 * Makefile.in (powerpc-isa205-32l.o, powerpc-isa205-32l.c,
4991 powerpc-isa205-altivec32l.o, powerpc-isa205-altivec32l.c,
4992 powerpc-isa205-vsx32l.o, powerpc-isa205-vsx32l.c,
4993 powerpc-isa205-64l.o, powerpc-isa205-64l.c,
4994 powerpc-isa205-altivec64l.o, powerpc-isa205-altivec64l.c,
4995 powerpc-isa205-vsx64l.o, powerpc-isa205-vsx64l.c): New targets.
4996 * configure.srv (powerpc*-*-linux*): Add ISA 2.05 object files and
4997 XML target descriptions.
4998 * linux-ppc-low.c (ppc_arch_setup): Init registers with 64-bit FPSCR
4999 when inferior is running on an ISA 2.05 or later processor. Add
5000 special case to return offset for full 64-bit slot of FPSCR when
5001 in 32-bits.
5002
5003 2008-11-14 Daniel Gutson <dgutson@codesourcery.com>
5004
5005 * Makefile.in (SFILES, clean): Added sparc64 files.
5006 (reg-sparc64.o, reg-sparc64.c): New.
5007 * configure.srv (sparc*-*-linux*): New configuration.
5008 * linux-low.c (regsets_fetch_inferior_registers): Swap ptrace
5009 syscall arguments for SPARC.
5010 (regsets_store_inferior_registers): Likewise.
5011 * linux-sparc-low.c: New file.
5012
5013 2008-10-21 Doug Evans <dje@google.com>
5014
5015 * Makefile.in (BFD_DIR,BFD,BFD_SRC,BFD_CFLAGS): Delete.
5016 (READLINE_DIR,READLINE_DEP): Delete.
5017 (INTERNAL_CFLAGS): Update.
5018 (LINTFLAGS): Update.
5019
5020 2008-10-10 Pedro Alves <pedro@codesourcery.com>
5021
5022 * server.c (handle_v_run): If GDB didn't specify an argv, use the
5023 whole argv from the last run, not just argv[0].
5024
5025 2008-09-08 Pedro Alves <pedro@codesourcery.com>
5026
5027 * regcache.c (new_register_cache): Return NULL if the register
5028 cache size isn't known yet.
5029 (free_register_cache): Avoid dereferencing a NULL regcache.
5030
5031 2008-09-04 Daniel Jacobowitz <dan@codesourcery.com>
5032
5033 * configure.srv: Merge MIPS and MIPS64.
5034
5035 2008-08-24 Maciej W. Rozycki <macro@linux-mips.org>
5036
5037 * Makefile.in (uninstall): Apply $(EXEEXT) too.
5038
5039 2008-08-18 Luis Machado <luisgpm@br.ibm.com>
5040
5041 * Makefile.in: Add required vsx dependencies.
5042
5043 * linux-ppc-low: Define PPC_FEATURE_HAS_VSX.
5044 Declare init_registers_powerpc_vsx32l.
5045 Declare init_registers_powerpc_vsx64l.
5046 Define PTRACE_GETVSXREGS and PTRACE_SETVSXREGS.
5047 (ppc_arch_setup): Check for VSX in hwcap.
5048 (ppc_fill_vsxregset): New function.
5049 (ppc_store_vsxregset): New function.
5050 Add new VSX entry in regset_info target_regsets.
5051
5052 * configure.srv: Add new VSX dependencies.
5053
5054 2008-08-12 Pedro Alves <pedro@codesourcery.com>
5055
5056 * remote-utils.c (noack_mode, transport_is_reliable): New globals.
5057 (remote_open): Set or clear transport_is_reliable.
5058 (putpkt_binary): Don't expect acks in noack mode.
5059 (getpkt): Don't send ack/nac in noack mode.
5060 * server.c (handle_general_set): Handle QStartNoAckMode.
5061 (handle_query): If connected by tcp pass QStartNoAckMode+ in
5062 qSupported.
5063 (main): Reset noack_mode on every connection.
5064 * server.h (noack_mode): Declare.
5065
5066 2008-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5067
5068 * Makefile.in (GDBREPLAY_OBS): New variable.
5069 (gdbreplay$(EXEEXT)): Use it to avoid unportable $^.
5070
5071 2008-08-05 Ulrich Weigand <uweigand@de.ibm.com>
5072 Daniel Jacobowitz <dan@codesourcery.com>
5073
5074 * linux-low.c (linux_resume_one_process): Ignore ESRCH.
5075 (usr_store_inferior_registers): Likewise.
5076 (regsets_store_inferior_registers): Likewise.
5077
5078 2008-07-31 Rolf Jansen <rj@surtec.com>
5079 Pedro Alves <pedro@codesourcery.com>
5080
5081 * configure.ac: Check for memmem declaration.
5082 * server.c [HAVE_MALLOC_H]: Include malloc.h.
5083 (disable_packet_vCont, disable_packet_Tthread, disable_packet_qC)
5084 (disable_packet_qfThreadInfo): Unconditionally compile.
5085 * server.h [!HAVE_DECL_MEMMEM]: Declare memmem.
5086 * configure, config.in: Regenerate.
5087
5088 2008-07-28 Doug Kwan <dougkwan@google.com>
5089
5090 * linux-low.c (sys/dir.h, sys/user.h): Remove includes.
5091 (linux_write_memory): Remove declaration of errno.
5092
5093 2008-07-12 Ulrich Weigand <uweigand@de.ibm.com>
5094
5095 * linux-low.c (handle_extended_wait): Do not use "status"
5096 variable uninitialized.
5097
5098 2008-07-07 Pedro Alves <pedro@codesourcery.com>
5099
5100 * server.c (handle_v_attach): Inhibit reporting dll changes.
5101
5102 2008-06-27 Pedro Alves <pedro@codesourcery.com>
5103
5104 * remote-utils.c (prepare_resume_reply): If requested, don't
5105 output "thread:TID" in the T stop reply.
5106
5107 * server.c (disable_packet_vCont, disable_packet_Tthread)
5108 (disable_packet_qC, disable_packet_qfThreadInfo): New globals.
5109 (handle_query): If requested, disable support for qC, qfThreadInfo
5110 and qsThreadInfo.
5111 (handle_v_requests): If requested, disable support for vCont.
5112 (gdbserver_show_disableable): New.
5113 (main): Handle --disable-packet and --disable-packet=LIST.
5114
5115 * server.h (disable_packet_vCont, disable_packet_Tthread)
5116 (disable_packet_qC, disable_packet_qfThreadInfo): Declare.
5117
5118 2008-06-20 Carlos O'Donell <carlos@codesourcery.com>
5119
5120 * server.c (gdbserver_usage): Mention --version.
5121
5122 2008-06-06 Daniel Jacobowitz <dan@codesourcery.com>
5123
5124 * Makefile.in (gdbreplay.o): New rule.
5125
5126 2008-06-06 Joseph Myers <joseph@codesourcery.com>
5127
5128 * gdbreplay.c (gdbreplay_version): Say gdbreplay in version
5129 message, not gdbserver.
5130
5131 2008-06-05 Vladimir Prus <vladimir@codesourcery.com>
5132 Nathan Sidwell <nathan@codesourcery.com>
5133 Joseph Myers <joseph@codesourcery.com>
5134
5135 * acinclude.m4: Include ../../config/acx.m4.
5136 * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
5137 * configure, config.in: Regenerate.
5138 * Makefile.in (gdbreplay$(EXEEXT)): Add version.o.
5139 * server.c (gdbserver_version): Print PKGVERSION.
5140 (gdbsrever_usage): Add stream parameter. Print REPORT_BUGS_TO.
5141 (main): Adjust gdbserver_usage calls.
5142 * gdbreplay.c (version, host_name): Add declarations.
5143 (gdbreplay_version, gdbreplay_usage): New.
5144 (main): Accept --version and --help options.
5145
5146 2008-06-04 Daniel Jacobowitz <dan@codesourcery.com>
5147
5148 * linux-arm-low.c (thumb_breakpoint, thumb_breakpoint_len): New.
5149 (arm_breakpoint_at): Handle Thumb.
5150 (the_low_target): Add comment.
5151
5152 2008-05-29 Ulrich Weigand <uweigand@de.ibm.com>
5153
5154 * linux-ppc-low.c (ppc_collect_ptrace_register): Clear buffer.
5155
5156 2008-05-09 Doug Evans <dje@google.com>
5157
5158 * server.h (decode_search_memory_packet): Declare.
5159 * remote-utils.c (decode_search_memory_packet): New fn.
5160 * server.c (handle_search_memory_1): New fn.
5161 (handle_search_memory): New fn.
5162 (handle_query): Process qSearch:memory packets.
5163
5164 2008-05-08 Ulrich Weigand <uweigand@de.ibm.com>
5165
5166 * regcache.c (registers_length): Remove.
5167 (set_register_cache): Verify that PBUFSIZ is large enough to hold a
5168 full register packet.
5169 * regcache.h (registers_length): Remove prototype.
5170 * server.h (PBUFSIZ): Define to 16384.
5171
5172 2008-05-03 Ulrich Weigand <uweigand@de.ibm.com>
5173
5174 * configure.srv (powerpc*-*-linux*): Set srv_regobj to
5175 powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o,
5176 powerpc-64l.o, and powerpc-altivec64l.o.
5177 Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and
5178 rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml,
5179 rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml,
5180 rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml,
5181 rs6000/power-linux.xml, and rs6000/power64-linux.xml
5182 to srv_xmlfiles.
5183
5184 * Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ...
5185 (powerpc-32l.o, powerpc-32l.c): ... these new rules.
5186 (powerpc-32.o, powerpc-32.c): Remove, replace by ...
5187 (powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules.
5188 (powerpc-e500.o, powerpc-e500.c): Remove, replace by ...
5189 (powerpc-e500l.o, powerpc-e500l.c): ... these new rules.
5190 (reg-ppc64.o, reg-ppc64.c): Remove, replace by ...
5191 (powerpc-64l.o, powerpc-64l.c): ... these new rules.
5192 (powerpc-64.o, powerpc-64.c): Remove, replace by ...
5193 (powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules.
5194 (clean): Update.
5195
5196 * linux-ppc-low.c (init_registers_ppc): Remove, replace by ...
5197 (init_registers_powerpc_32l): ... this new prototype.
5198 (init_registers_powerpc_32): Remove, replace by ...
5199 (init_registers_powerpc_altivec32l): ... this new prototype.
5200 (init_registers_powerpc_e500): Remove, replace by ...
5201 (init_registers_powerpc_e500l): ... this new prototype.
5202 (init_registers_ppc64): Remove, replace by ...
5203 (init_registers_powerpc_64l): ... this new prototype.
5204 (init_registers_powerpc_64): Remove, replace by ...
5205 (init_registers_powerpc_altivec64l): ... this new prototype.
5206 (ppc_num_regs): Set to 73.
5207 (PT_ORIG_R3, PT_TRAP): Define if necessary.
5208 (ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap.
5209 (ppc_cannot_store_register): Handle orig_r3 and trap.
5210 (ppc_arch_setup): Update init_registers_... calls.
5211 (ppc_fill_gregset): Handle orig_r3 and trap.
5212
5213 * inferiors.c (clear_inferiors): Reset current_inferior.
5214
5215 2008-04-23 Paolo Bonzini <bonzini@gnu.org>
5216
5217 * acinclude.m4: Add override.m4.
5218 * configure: Regenerate.
5219
5220 2008-04-21 Ulrich Weigand <uweigand@de.ibm.com>
5221
5222 * linux-ppc-low.c (ppc_arch_setup): Reset ppc_hwcap after the
5223 initial call to init_register_ppc64.
5224
5225 2008-04-21 Ulrich Weigand <uweigand@de.ibm.com>
5226
5227 * configure.srv (powerpc64-*-linux*, powerpc-*-linux*): Merge into single
5228 powerpc*-*-linux* case.
5229 (s390-*-linux*, s390x-*-linux*): Merge into single s390*-*-linux* case.
5230
5231 2008-04-17 Ulrich Weigand <uweigand@de.ibm.com>
5232
5233 * configure.srv [powerpc64-*-linux*]: Remove powerpc-e500.o from
5234 srv_regobj. Remove rs6000/powerpc-e500.xml and rs6000/power-spe.xml
5235 from reg_xmlfiles.
5236 * linux-ppc-low.c: Include <elf.h>.
5237 (PPC_FEATURE_HAS_ALTIVEC, PPC_FEATURE_HAS_SPE): Define.
5238 (ppc_hwcap): New global variable.
5239 (ppc_regmap): Remove __SPE__ #ifdef sections.
5240 (ppc_regmap_e500): New global variable.
5241 (ppc_cannot_store_register): Update __SPE__ special case.
5242 (ppc_get_hwcap): New function.
5243 (ppc_arch_setup): Use it to determine whether inferior supports
5244 AltiVec or SPE registers. Set the_low_target.regmap if appropriate.
5245 (ppc_fill_vrregset, ppc_store_vrregset): Define unconditionally.
5246 Do not access registers if target does not support AltiVec.
5247 (ppc_fill_evrregset, ppc_store_evrregset): Define unconditionally.
5248 Do not access registers if target does not support SPE.
5249 (target_regsets): Unconditionally include AltiVec and SPE regsets.
5250
5251 2008-04-17 Daniel Jacobowitz <dan@codesourcery.com>
5252
5253 * linux-low.c (disabled_regsets, num_regsets): New.
5254 (use_regsets_p): Delete.
5255 (linux_wait_for_process): Clear disabled_regsets.
5256 (regsets_fetch_inferior_registers): Check and set it.
5257 (regsets_store_inferior_registers): Likewise.
5258 (linux_fetch_registers, linux_store_registers): Do not use
5259 use_regsets_p.
5260 (initialize_low): Allocate disabled_regsets.
5261
5262 2008-04-14 Daniel Jacobowitz <dan@codesourcery.com>
5263
5264 * Makefile.in (LIBOBJS): New.
5265 (OBS): Use LIBOBJS.
5266 (memmem.o): New rule.
5267 * configure.ac: Use AC_CONFIG_LIBOBJ_DIR and check for memmem.
5268 * configure: Regenerated.
5269
5270 2008-04-04 Ulrich Weigand <uweigand@de.ibm.com>
5271
5272 * server.c (handle_query): Never return "unsupported" for
5273 qXfer:features:read queries.
5274
5275 2008-03-27 Ulrich Weigand <uweigand@de.ibm.com>
5276
5277 * server.c (get_features_xml): Fix inverted condition.
5278 (handle_query): Always support qXfer:feature:read.
5279
5280 2008-03-10 Daniel Jacobowitz <dan@codesourcery.com>
5281
5282 * server.c (wrapper_argv): New.
5283 (start_inferior): Handle wrapper_argv. If set, expect an extra
5284 trap.
5285 (gdbserver_usage): Document --wrapper.
5286 (main): Parse --wrapper.
5287
5288 2008-02-28 Ulrich Weigand <uweigand@de.ibm.com>
5289
5290 * configure.srv [powerpc64-*-linux*]: Add all files mentioned for
5291 powerpc-*-linux* to srv_regobj and reg_xmlfiles.
5292 * linux-ppc-low.c (ppc_get_pc): Support bi-arch operation.
5293 (ppc_set_pc): Likewise.
5294 (ppc_arch_setup): New function.
5295 (ppc_fill_gregset): Call ppc_collect_ptrace_register instead
5296 of collect_register.
5297 (the_low_target): Use ppc_arch_setup as arch_setup initializer.
5298
5299 2008-02-28 Ulrich Weigand <uweigand@de.ibm.com>
5300
5301 * configure.srv [powerpc64-*-linux*]: Use linux-ppc-low.o
5302 instead of linux-ppc64-low.o.
5303 * linux-ppc64-low.c: Remove file.
5304 * Makefile.in (SFILES): Remove linux-ppc64-low.c.
5305 (linux-ppc64-low.o): Remove rule.
5306
5307 * linux-ppc-low.c (init_registers_ppc64): Add prototype.
5308 (init_registers_powerpc_64): Likewise.
5309 (ppc_regmap): Conditionally define depending on __powerpc64__.
5310 (ppc_cannot_store_register): Do not special-case "fpscr" when
5311 compiled on __powerpc64__.
5312 (ppc_collect_ptrace_register): New function.
5313 (ppc_supply_ptrace_register): New function.
5314 (ppc_breakpoint): Change type to "unsigned int".
5315 (ppc_breakpoint_at): Change type of "insn" to "unsigned int".
5316 (the_low_target): Conditionally provide initializers for the
5317 arch_setup member depending on __powerpc64__. Install
5318 collect_ptrace_register and supply_ptrace_register members.
5319
5320 2008-02-28 Ulrich Weigand <uweigand@de.ibm.com>
5321
5322 * regcache.h (gdbserver_xmltarget): Add extern declaration.
5323 * server.c (gdbserver_xmltarget): Define.
5324 (get_features_xml): Use it to replace "target.xml" and arch_string.
5325
5326 * configure.srv: Remove srv_xmltarget. Add XML files that were
5327 mentioned there to srv_xmlfiles instead. Remove conditional tests
5328 on gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe; set
5329 srv_xmlfiles and srv_regobj to include all possible choices.
5330 * configure.ac (srv_xmltarget): Remove.
5331 (srv_xmlfiles): Do not add "target.xml".
5332 (gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe): Remove
5333 checks for supplementary target information.
5334 * configure: Regenerate.
5335 * Makefile.in (XML_TARGET): Remove.
5336 (target.xml): Remove rule.
5337 (clean): Do not clean up target.xml.
5338 (.PRECIOUS): Do not mention target.xml.
5339
5340 * target.h (struct target_ops): Remove arch_string member.
5341 * linux-low.c (linux_arch_string): Remove.
5342 (linux_target_ops): Remove arch_string initializer.
5343 * linux-low.h (struct linux_target_ops): Remove arch_string member.
5344 * linux-i386-low.c (the_low_target): Remove arch_string initializer.
5345 * linux-x86-64-low.c (the_low_target): Remove arch_string initializer.
5346 * spu-low.c (spu_arch_string): Remove.
5347 (spu_target_ops): Remove arch_string initializer.
5348 * win32-low.c (win32_arch_string): Remove.
5349 (win32_target_ops): Remove arch_string initializer.
5350 * win32-low.h (struct win32_target_ops): Remove arch_string member.
5351 * win32-arm-low.c (the_low_target): Remove arch_string initializer.
5352 * win32-i368-low.c (the_low_target): Remove arch_string initializer.
5353
5354 2008-02-27 Ulrich Weigand <uweigand@de.ibm.com>
5355
5356 * linux-low.h (struct linux_target_ops): Replace left_pad_xfer field
5357 by collect_ptrace_register and supply_ptrace_register hooks.
5358 * linux-low.c (fetch_register): Use supply_ptrace_register callback
5359 instead of checking for the_low_target.left_pad_xfer.
5360 (usr_store_inferior_registers): Use collect_ptrace_register callback
5361 instead of checking for the_low_target.left_pad_xfer.
5362
5363 * linux-s390-low.c (s390_collect_ptrace_register): New function.
5364 (s390_supply_ptrace_register): Likewise.
5365 (s390_fill_gregset): Call s390_collect_ptrace_register.
5366 (the_low_target): Update.
5367
5368 * linux-ppc64-low.c (ppc_collect_ptrace_register): New function.
5369 (ppc_supply_ptrace_register): Likewise.
5370 (the_low_target): Update.
5371
5372 * linux-i386-low.c (the_low_target): Update.
5373 * linux-x86-64-low.c (the_low_target): Update.
5374
5375 2008-02-27 Ulrich Weigand <uweigand@de.ibm.com>
5376
5377 * configure.srv [s390x-*-linux*]: Set srv_regobj to include both
5378 reg-s390.o and reg-s390x.o.
5379
5380 * linux-low.c (new_inferior): New global variable.
5381 (linux_create_inferior, linux_attach): Set it.
5382 (linux_wait_for_process): Call the_low_target.arch_setup after the
5383 target has stopped for the first time.
5384 (initialize_low): Do not call the_low_target.arch_setup.
5385
5386 * linux-s390-low.c (s390_get_pc): Support bi-arch operation.
5387 (s390_set_pc): Likewise.
5388 (s390_arch_setup): New function.
5389 (the_low_target): Use s390_arch_setup as arch_setup routine.
5390
5391 * regcache.c (realloc_register_cache): New function.
5392 (set_register_cache): Call it for each existing regcache.
5393
5394 2008-02-27 Ulrich Weigand <uweigand@de.ibm.com>
5395
5396 * server.h (init_registers): Remove prototype.
5397
5398 * linux-low.h (struct linux_target_ops): Add arch_setup field.
5399 * linux-low.c (initialize_low): Call the_low_target.arch_setup ()
5400 instead of init_registers ().
5401 * linux-arm-low.c (init_registers_arm): Add prototype.
5402 (init_registers_arm_with_iwmmxt): Likewise.
5403 (the_low_target): Add initializer for arch_setup field.
5404 * linux-cris-low.c (init_registers_cris): Add prototype.
5405 (the_low_target): Add initializer for arch_setup field.
5406 * linux-crisv32-low.c (init_registers_crisv32): Add prototype.
5407 (the_low_target): Add initializer for arch_setup field.
5408 * linux-i386-low.c (init_registers_i386_linux): Add prototype.
5409 (the_low_target): Add initializer for arch_setup field.
5410 * linux-ia64-low.c (init_registers_ia64): Add prototype.
5411 (the_low_target): Add initializer for arch_setup field.
5412 * linux-m32r-low.c (init_registers_m32r): Add prototype.
5413 (the_low_target): Add initializer for arch_setup field.
5414 * linux-m68k-low.c (init_registers_m68k): Add prototype.
5415 (the_low_target): Add initializer for arch_setup field.
5416 * linux-mips-low.c (init_registers_mips_linux): Add prototype.
5417 (init_registers_mips64_linux): Likewise.
5418 (the_low_target): Add initializer for arch_setup field.
5419 * linux-ppc-low.c (init_registers_ppc): Add prototype.
5420 (init_registers_powerpc_32, init_registers_powerpc_e500): Likewise.
5421 (the_low_target): Add initializer for arch_setup field.
5422 * linux-ppc64-low.c (init_registers_ppc64): Add prototype.
5423 (init_registers_powerpc_64): Likewise.
5424 (the_low_target): Add initializer for arch_setup field.
5425 * linux-s390-low.c (init_registers_s390): Add prototype.
5426 (init_registers_s390x): Likewise.
5427 (the_low_target): Add initializer for arch_setup field.
5428 * linux-sh-low.c (init_registers_sh): Add prototype.
5429 (the_low_target): Add initializer for arch_setup field.
5430 * linux-x86-64-low.c (init_registers_x86_64_linux): Add prototype.
5431 (the_low_target): Add initializer for arch_setup field.
5432 * linux-xtensa-low.c (init_registers_xtensa): Add prototype.
5433 (the_low_target): Add initializer for arch_setup field.
5434
5435 * win32-low.h (struct win32_target_ops): Add arch_setup field.
5436 * win32-low.c (initialize_low): Call the_low_target.arch_setup ()
5437 instead of init_registers ().
5438 * win32-arm-low.c (init_registers_arm): Add prototype.
5439 (the_low_target): Add initializer for arch_setup field.
5440 * win32-i386-low.c (init_registers_i386): Add prototype.
5441 (the_low_target): Add initializer for arch_setup field.
5442
5443 * spu-low.c (init_registers_spu): Add prototype.
5444 (initialize_low): Call initialie_registers_spu () instead of
5445 initialize_registers ().
5446
5447 2008-02-19 Pedro Alves <pedro@codesourcery.com>
5448
5449 * server.c (handle_v_requests): When handling the vRun and vAttach
5450 packets, if already debugging a process, don't kill it. Return an
5451 error instead.
5452
5453 2008-02-17 Daniel Jacobowitz <dan@codesourcery.com>
5454
5455 * server.c (handle_query): Correct length check.
5456
5457 2008-02-14 Pedro Alves <pedro_alves@portugalmail.pt>
5458
5459 * win32-low.c (do_initial_child_stuff): Add process handle
5460 parameter. Set current_process_handle and current_process_id from the
5461 parameters. Clear globals.
5462 (win32_create_inferior): Don't set current_process_handle and
5463 current_process_id here. Instead pass them on the call to
5464 do_initial_child_stuff.
5465 (win32_attach): Likewise.
5466 (win32_clear_inferiors): New.
5467 (win32_kill): Don't close the current process handle or the
5468 current thread handle here. Instead call win32_clear_inferiors.
5469 (win32_detach): Don't open a new handle to the process. Call
5470 win32_clear_inferiors.
5471 (win32_join): Don't rely on current_process_handle; open a new
5472 handle using the process id.
5473 (win32_wait): Call win32_clear_inferiors when the inferior process
5474 has exited.
5475
5476 2008-02-14 Daniel Jacobowitz <dan@codesourcery.com>
5477
5478 * server.c (monitor_show_help): Add "exit".
5479
5480 2008-02-11 Maxim Grigoriev <maxim2405@gmail.com>
5481
5482 * Makefile.in (SFILES): Add linux-xtensa-low.c.
5483 (clean): Add reg-xtensa.c.
5484 (linux-xtensa-low.o, reg-xtensa.o, reg-xtensa.c): New dependencies.
5485 * configure.srv (xtensa*-*-linux*) New target.
5486 * linux-xtensa-low.c: New.
5487 * xtensa-xtregs.c: New.
5488
5489 2008-02-01 Pedro Alves <pedro_alves@portugalmail.pt>
5490
5491 * hostio.c: Don't include errno.h.
5492 (errno_to_fileio_errno): Move to hostio-errno.
5493 * hostio.c: (hostio_error): Remove the error parameter. Defer the
5494 error number outputting to the target->hostio_last_error callback.
5495 (hostio_packet_error): Use FILEIO_EINVAL directly.
5496 (handle_open, handle_pread, hostio_error, handle_unlink): Update
5497 calls to hostio_error.
5498 * hostio-errno.c: New.
5499 * server.h (hostio_last_error_from_errno): Declare.
5500 * target.h (target_ops): Add hostio_last_error member.
5501 * linux-low.c (linux_target_op): Register hostio_last_error_from_errno
5502 as hostio_last_error handler.
5503 * spu-low.c (spu_target_ops): Likewise.
5504 * win32-low.c [_WIN32_WCE] (win32_error_to_fileio_error)
5505 (wince_hostio_last_error): New functions.
5506 (win32_target_ops) [_WIN32_WCE]: Register wince_hostio_last_error
5507 as hostio_last_error handler.
5508 (win32_target_ops) [!_WIN32_WCE]: Register
5509 hostio_last_error_from_errno as hostio_last_error handler.
5510 * Makefile.in (SFILES): Add hostio.c and hostio-errno.c.
5511 (hostio-errno.o): New rule.
5512 * configure.ac (GDBSERVER_DEPFILES): Add $srv_hostio_err_objs.
5513 * configure.srv (srv_hostio_err_objs): New variable. Default to
5514 hostio-errno.o.
5515 (arm*-*-mingw32ce*): Set srv_hostio_err_objs to "".
5516 * configure: Regenerate.
5517
5518 2008-01-29 Daniel Jacobowitz <dan@codesourcery.com>
5519
5520 * linux-low.c (linux_attach_lwp): Do not _exit after errors.
5521 (linux_kill, linux_detach): Clean up the process list.
5522 * remote-utils.c (remote_open): Improve port number parsing.
5523 (putpkt_binary, input_interrupt): Only send interrupts if the target
5524 is running.
5525 * server.c (extended_protocol): Make static.
5526 (attached): Define earlier.
5527 (exit_requested, response_needed, program_argv): New variables.
5528 (target_running): New.
5529 (start_inferior): Clear attached here.
5530 (attach_inferior): Set attached here.
5531 (require_running): Define.
5532 (handle_query): Use require_running and target_running. Implement
5533 "monitor exit".
5534 (handle_v_attach, handle_v_run): New.
5535 (handle_v_requests): Use require_running. Handle vAttach and vRun.
5536 (gdbserver_usage): Update.
5537 (main): Redo argument parsing. Handle --debug and --multi. Handle
5538 --attach along with other options or after the port. Save
5539 program_argv. Support no initial program. Resynchronize
5540 communication with GDB after an error. Handle "monitor exit".
5541 Use require_running and target_running. Always allow the extended
5542 protocol. Do not error out for Hc0 or Hc-1. Do not automatically
5543 restart in extended mode.
5544 * README: Refer to the GDB manual. Update --attach usage.
5545
5546 2007-12-20 Andreas Schwab <schwab@suse.de>
5547
5548 * linux-low.c (STACK_SIZE): Define.
5549 (linux_tracefork_child): Use it. Use __clone2 on ia64.
5550 (linux_test_for_tracefork): Likewise.
5551
5552 2007-12-18 Daniel Jacobowitz <dan@codesourcery.com>
5553
5554 * linux-low.c (linux_wait_for_event): Update messages. Do not
5555 reinsert auto-delete breakpoints.
5556 * mem-break.c (struct breakpoint): Change return type of handler to
5557 int.
5558 (set_breakpoint_at): Update handler type.
5559 (reinsert_breakpoint_handler): Return 1 instead of calling
5560 delete_breakpoint.
5561 (reinsert_breakpoint_by_bp): Check for the original breakpoint before
5562 setting a new one.
5563 (check_breakpoints): Delete auto-delete breakpoints and return 2.
5564 * mem-break.h (set_breakpoint_at): Update handler type.
5565 * thread-db.c (thread_db_create_event, thread_db_create_event): Update.
5566 * win32-low.c (auto_delete_breakpoint): New.
5567 (get_child_debug_event): Use it.
5568
5569 2007-12-16 Daniel Jacobowitz <dan@codesourcery.com>
5570
5571 * configure.ac: Check for pread and pwrite.
5572 * hostio.c (handle_pread): Fall back to lseek and read.
5573 (handle_pwrite): Fall back to lseek and write.
5574 * config.in, configure: Regenerated.
5575
5576 2007-12-07 Daniel Jacobowitz <dan@codesourcery.com>
5577
5578 * server.c (myresume): Add own_buf argument.
5579 (main): Update calls.
5580
5581 2007-12-06 Daniel Jacobowitz <dan@codesourcery.com>
5582
5583 * linux-low.c (linux_wait, linux_resume): Do not handle async I/O.
5584 * remote-utils.c (remote_open): Do not call disable_async_io.
5585 (block_async_io): Delete.
5586 (unblock_async_io): Make static.
5587 (initialize_async_io): New.
5588 * server.c (handle_v_cont): Handle async I/O here.
5589 (myresume): Likewise. Move other common resume tasks here...
5590 (main): ... from here. Call initialize_async_io. Disable async
5591 I/O before the main loop.
5592 * server.h (initialize_async_io): Declare.
5593 (block_async_io, unblock_async_io): Delete prototypes.
5594 * spu-low.c (spu_resume, spu_wait): Do not handle async I/O here.
5595
5596 2007-12-06 Mick Davis <mickd@goanna.iinet.net.au>
5597
5598 * remote-utils.c (readchar): Allow binary data in received messages.
5599
5600 2007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
5601
5602 * win32-low.c (attaching): New global.
5603 (win32_create_inferior): Clear the `attaching' global.
5604 (win32_attach): Set the `attaching' global.
5605 (get_child_debug_event) [_WIN32_WCE]: Stop the inferior when
5606 attaching. Only set a breakpoint at the entry point if not
5607 attaching.
5608
5609 2007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
5610
5611 * server.c (main): Don't report dll events on the initial
5612 connection on attaches.
5613
5614 2007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
5615
5616 * server.c (main): Relax numerical bases supported for the pid of
5617 the --attach command line argument.
5618
5619 2007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
5620
5621 * win32-low.c (win32_attach): Call OpenProcess before
5622 DebugActiveProcess, not after. Add last error output to error
5623 call.
5624
5625 2007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
5626
5627 * win32-low.c (win32_get_thread_context)
5628 (win32_set_thread_context): New functions.
5629 (thread_rec): Use win32_get_thread_context.
5630 (continue_one_thread, win32_resume): Use win32_set_thread_context.
5631 * win32-low.h (win32_thread_info) [_WIN32_WCE]: Add `base_context'
5632 field.
5633
5634 2007-12-03 Leo Zayas
5635 Pedro Alves <pedro_alves@portugalmail.pt>
5636
5637 * win32-low.c (soft_interrupt_requested, faked_breakpoint): New
5638 global variables.
5639 (child_add_thread): Minor cleanup.
5640 (child_continue): Resume artificially suspended threads before
5641 calling ContinueDebugEvent.
5642 (suspend_one_thread): New.
5643 (fake_breakpoint_event): New.
5644 (get_child_debug_event): Change return type to int. Check here if
5645 gdb sent an interrupt request. If a soft interrupt was requested,
5646 fake a breakpoint event. Return 0 if there is no event to handle,
5647 and 1 otherwise.
5648 (win32_wait): Don't check here if gdb sent an interrupt request.
5649 Ensure there is a valid event to handle.
5650 (win32_request_interrupt): Add soft interruption method as last
5651 resort.
5652
5653 2007-12-03 Leo Zayas
5654 Pedro Alves <pedro_alves@portugalmail.pt>
5655
5656 * win32-low.h (win32_thread_info): Add descriptions to the
5657 structure members. Replace `suspend_count' counter by a
5658 `suspended' flag.
5659 * win32-low.c (thread_rec): Update condition of when to get the
5660 context from the inferior. Rely on ContextFlags being set if it
5661 has already been retrieved. Only suspend the inferior thread if
5662 we haven't already. Warn if that fails.
5663 (continue_one_thread): s/suspend_count/suspended/. Only call
5664 ResumeThread once. Warn if that fails.
5665
5666 2007-12-02 Pedro Alves <pedro_alves@portugalmail.pt>
5667
5668 * win32-low.c (win32_wait): Don't read from the inferior when it
5669 has already exited.
5670
5671 2007-12-02 Pedro Alves <pedro_alves@portugalmail.pt>
5672
5673 * Makefile.in (win32_low_h): New variable.
5674 (win32-low.o): Add dependency on $(win32_low_h).
5675 (win32-arm-low.o, win32-i386-low.o): New rules.
5676
5677 2007-11-30 Daniel Jacobowitz <dan@codesourcery.com>
5678
5679 * hostio.c: Correct copyright year.
5680
5681 2007-11-30 Daniel Jacobowitz <dan@codesourcery.com>
5682
5683 * Makefile.in (OBS): Add hostio.o.
5684 (hostio.o): New rule.
5685 * server.h (handle_vFile): Declare.
5686 * hostio.c: New file.
5687 * server.c (handle_v_requests): Take packet_len and new_packet_len
5688 for binary packets. Call handle_vFile.
5689 (main): Update call to handle_v_requests.
5690
5691 2007-11-05 Daniel Jacobowitz <dan@codesourcery.com>
5692
5693 * linux-low.c: Include <sched.h>.
5694
5695 2007-11-01 Daniel Jacobowitz <dan@codesourcery.com>
5696
5697 * linux-low.c (linux_tracefork_grandchild): New.
5698 (linux_tracefork_child): Use clone.
5699 (linux_test_for_tracefork): Use clone; allocate and free a stack.
5700
5701 2007-10-31 Joel Brobecker <brobecker@adacore.com>
5702
5703 * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh.
5704
5705 2007-10-24 Daniel Jacobowitz <dan@codesourcery.com>
5706
5707 * linux-low.c (handle_extended_wait): Handle unexpected signals.
5708
5709 2007-10-23 Daniel Jacobowitz <dan@codesourcery.com>
5710
5711 * inferiors.c (change_inferior_id): Delete.
5712 (add_pid_to_list, pull_pid_from_list): New.
5713 * linux-low.c (PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG)
5714 (PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK)
5715 (PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC, PTRACE_O_TRACEVFORKDONE)
5716 (PTRACE_O_TRACEEXIT, PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK)
5717 (PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE)
5718 (PTRACE_EVENT_EXIT, __WALL): Provide default definitions.
5719 (stopped_pids, thread_db_active, must_set_ptrace_flags): New variables.
5720 (using_threads): Always set to 1.
5721 (handle_extended_wait): New.
5722 (add_process): Do not set TID.
5723 (linux_create_inferior): Set must_set_ptrace_flags.
5724 (linux_attach_lwp): Remove TID argument. Do not check using_threads.
5725 Use PTRACE_SETOPTIONS. Call new_thread_notify. Update all callers.
5726 (linux_thread_alive): Rename TID argument to LWPID.
5727 (linux_wait_for_process): Handle unknown processes. Do not use TID.
5728 (linux_wait_for_event): Do not use TID or check using_threads. Update
5729 call to dead_thread_notify. Call handle_extended_wait.
5730 (linux_create_inferior): Use PTRACE_SETOPTIONS.
5731 (send_sigstop): Delete sigstop_sent.
5732 (wait_for_sigstop): Avoid TID.
5733 (linux_supports_tracefork_flag, linux_tracefork_child, my_waitpid)
5734 (linux_test_for_tracefork): New.
5735 (linux_lookup_signals): Use thread_db_active and
5736 linux_supports_tracefork_flag.
5737 (initialize_low): Use thread_db_active and linux_test_for_tracefork.
5738 * linux-low.h (get_process_thread): Avoid TID.
5739 (struct process_ifo): Move thread_known and tid to the end. Remove
5740 sigstop_sent.
5741 (linux_attach_lwp, thread_db_init): Update prototypes.
5742 * server.h (change_inferior_id): Delete prototype.
5743 (add_pid_to_list, pull_pid_from_list): New prototypes.
5744 * thread-db.c (thread_db_use_events): New.
5745 (find_first_thread): Rename to...
5746 (find_one_thread): ...this. Update callers and messages. Do not
5747 call fatal. Check thread_db_use_events. Do not call
5748 change_inferior_id or new_thread_notify.
5749 (maybe_attach_thread): Update. Do not call new_thread_notify.
5750 (thread_db_init): Set thread_db_use_events. Check use_events.
5751 * utils.c (fatal, warning): Correct message prefix.
5752
5753 2007-10-15 Daniel Jacobowitz <dan@codesourcery.com>
5754
5755 * Makefile.in (clean): Remove new files.
5756 (powerpc-32.o, powerpc-32.c, powerpc-e500.o, powerpc-e500.c)
5757 (powerpc-64.o, powerpc-64.c): New rules.
5758 * configure.srv: Use alternate register sets for powerpc64-*-linux*
5759 with AltiVec, powerpc-*-linux* with AltiVec, and powerpc-*-linux*
5760 with SPE.
5761 * linux-ppc-low.c (ppc_regmap): Do not fetch the FP registers for
5762 SPE targets.
5763 (ppc_cannot_store_register): Do not check for FPSCR for SPE targets.
5764 (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS, ppc_fill_vrregset)
5765 (ppc_store_vrregset, PTRACE_GETEVRREGS, PTRACE_SETEVRREGS)
5766 (struct gdb_evrregset_t, ppc_fill_evrregset, ppc_store_evrregset): New.
5767 (target_regsets): Add AltiVec and SPE register sets.
5768 * configure.ac: Check for AltiVec and SPE.
5769 * linux-ppc64-low.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS)
5770 (ppc_fill_vrregset, ppc_store_vrregset): New.
5771 (target_regsets): Add AltiVec register set.
5772 * configure: Regenerated.
5773
5774 2007-09-19 Daniel Jacobowitz <dan@codesourcery.com>
5775
5776 * linux-low.c (O_LARGEFILE): Define.
5777 (linux_read_memory): Use /proc/PID/mem.
5778 * configure.ac: Use AC_GNU_SOURCE. Check for pread64.
5779 * configure, config.in: Regenerated.
5780
5781 2007-09-04 Daniel Jacobowitz <dan@codesourcery.com>
5782
5783 * linux-low.c (linux_wait_for_event): Do not pass signals while
5784 single-stepping.
5785
5786 2007-09-03 Pedro Alves <pedro_alves@portugalmail.pt>
5787
5788 * win32-low.c (create_process): New.
5789 (win32_create_inferior): Use create_process instead of
5790 CreateProcess. If create_process failed retry appending an ".exe"
5791 suffix. Store the GetLastError result immediatelly after
5792 create_process calls and use it on the call to error.
5793
5794 2007-09-03 Pedro Alves <pedro_alves@portugalmail.pt>
5795
5796 * win32-low.c (handle_load_dll): Don't use toolhelp when waiting.
5797
5798 2007-08-23 Joel Brobecker <brobecker@adacore.com>
5799
5800 * configure.ac: Switch license to GPLv3.
5801
5802 2007-08-01 Michael Snyder <msnyder@access-company.com>
5803
5804 * remote-utils.c (putpkt_binary): Memory leak, free buf2.
5805
5806 2007-07-31 Pedro Alves <pedro_alves@portugalmail.pt>
5807
5808 * win32-low.c (winapi_CloseToolhelp32Snapshot) [_WIN32_WCE]: New
5809 typedef.
5810 (win32_CloseToolhelp32Snapshot) [_WIN32_WCE]: New global var.
5811 (load_toolhelp) [_WIN32_WCE]: Load TOOLHELP.DLL. Get
5812 CloseToolhelp32Snapshot.
5813 (toolhelp_get_dll_name) [_WIN32_WCE]: Close the snapshot with
5814 CloseToolhelp32Snapshot.
5815
5816 2007-07-27 Michael Snyder <michael.snyder@access-company.com>
5817
5818 * server.c (main): Check for inferior exit before main loop.
5819
5820 2007-07-18 Pedro Alves <pedro_alves@portugalmail.pt>
5821
5822 * remote-utils.c (remote_open): Set SO_KEEPALIVE on remote_desc
5823 instead of on tmp_desc.
5824
5825 2007-07-17 Pedro Alves <pedro_alves@portugalmail.pt>
5826 Daniel Jacobowitz <dan@codesourcery.com>
5827
5828 * inferiors.c (all_dlls, dlls_changed, get_dll): New.
5829 (add_thread): Minor cleanups.
5830 (clear_inferiors): Move lower in the file. Clear the DLL
5831 list.
5832 (free_one_dll, match_dll, loaded_dll, unloaded_dll, clear_list): New.
5833 * remote-utils.c (prepare_resume_reply): Check dlls_changed.
5834 (xml_escape_text): New.
5835 * server.c (handle_query): Handle qXfer:libraries:read. Report it
5836 for qSupported.
5837 (handle_v_cont): Report errors.
5838 (gdbserver_version): Update.
5839 (main): Correct size of own_buf. Do not report initial DLL events.
5840 * server.h (struct dll_info, all_dlls, dlls_changed, loaded_dll)
5841 (unloaded_dll, xml_escape_text): New.
5842 * win32-low.c (enum target_waitkind): Update comments.
5843 (win32_add_one_solib, get_image_name, winapi_EnumProcessModules)
5844 (winapi_GetModuleInformation, winapi_GetModuleFileNameExA)
5845 (win32_EnumProcessModules, win32_GetModuleInformation)
5846 (win32_GetModuleFileNameExA, load_psapi, psapi_get_dll_name)
5847 (winapi_CreateToolhelp32Snapshot, winapi_Module32First)
5848 (winapi_Module32Next, win32_CreateToolhelp32Snapshot)
5849 (win32_Module32First, win32_Module32Next, load_toolhelp)
5850 (toolhelp_get_dll_name, handle_load_dll, handle_unload_dll): New.
5851 (get_child_debug_event): Handle DLL events.
5852 (win32_wait): Likewise.
5853
5854 2007-07-12 Daniel Jacobowitz <dan@codesourcery.com>
5855
5856 * configure.srv: Set srv_linux_regsets for sh*-*-linux*.
5857 * linux-sh-low.c (sh_fill_gregset, target_regsets): New.
5858
5859 2007-07-08 Pedro Alves <pedro_alves@portugalmail.pt>
5860
5861 * win32-low.c (handle_output_debug_string): Ignore event if not
5862 waiting.
5863
5864 2007-07-08 Pedro Alves <pedro_alves@portugalmail.pt>
5865
5866 * win32-arm-low.c (arm_wince_breakpoint): Fix typo.
5867
5868 2007-07-03 Daniel Jacobowitz <dan@codesourcery.com>
5869
5870 * remote-utils.c (look_up_one_symbol): Handle 'm' packets.
5871
5872 2007-07-02 Daniel Jacobowitz <dan@codesourcery.com>
5873
5874 * inferiors.c (change_inferior_id): Add comment.
5875 * linux-low.c (check_removed_breakpoint): Add an early
5876 prototype. Improve debug output.
5877 (linux_attach): Doc update.
5878 (linux_detach_one_process, linux_detach): Clean up before releasing
5879 each process.
5880 (send_sigstop, wait_for_sigstop): Improve comments and debug output.
5881 * linux-low.h (struct process_info): Doc improvement.
5882 * mem-break.c (delete_all_breakpoints): New.
5883 * mem-break.h (delete_all_breakpoints): New prototype.
5884 * thread-db.c (find_first_thread): New.
5885 (thread_db_create_event): Call it instead of
5886 thread_db_find_new_threads. Clean up unused variables.
5887 (maybe_attach_thread): Remove first thread handling.
5888 (thread_db_find_new_threads): Use find_first_thread.
5889 (thread_db_get_tls_address): Likewise.
5890
5891 2007-06-27 Daniel Jacobowitz <dan@codesourcery.com>
5892
5893 * thread-db.c (thread_db_find_new_threads): Add prototype.
5894 (thread_db_create_event): Check for the main thread before adding
5895 a new thread.
5896 (maybe_attach_thread): Only enable event reporting if TID == 0.
5897 (thread_db_get_tls_address): Check for new threads.
5898
5899 2007-06-20 Daniel Jacobowitz <dan@codesourcery.com>
5900
5901 * linux-low.c (linux_create_inferior): Try execv before execvp.
5902 * spu-low.c (spu_create_inferior): Likewise.
5903
5904 2007-06-13 Mike Frysinger <vapier@gentoo.org>
5905
5906 * linux-low.c (linux_create_inferior): Change execv to execvp.
5907 * spu-low.c (spu_create_inferior): Likewies.
5908
5909 2007-06-13 Daniel Jacobowitz <dan@codesourcery.com>
5910
5911 * Makefile.in (clean): Clean new files instead of deleted ones.
5912 (reg-mips.o, reg-mips.c, reg-mips64.o, reg-mips64.c): Delete.
5913 (mips-linux.o, mips-linux.c, mips64-linux.o, mips64-linux.c): New
5914 rules.
5915 * configure.srv: Specify XML files and new regformats for MIPS and
5916 MIPS64 GNU/Linux.
5917 * linux-mips-low.c (mips_num_regs): Set to only used registers.
5918 (mips_regmap): Do not fetch $0. Remove unused registers. Add
5919 an entry for the restart register.
5920 (mips_cannot_fetch_register, mips_cannot_store_register)
5921 (mips_reinsert_addr, mips_fill_fpregset, mips_store_fpregset): Update
5922 register names to match the XML descriptions.
5923 (mips_fill_gregset, mips_store_gregset): Likewise. Handle the
5924 restart register instead of $0.
5925
5926 2007-06-12 Ulrich Weigand <uweigand@de.ibm.com>
5927 Markus Deuling <deuling@de.ibm.com>
5928
5929 * remote-utils.c (decode_xfer_write): New function.
5930 * server.h (decode_xfer_write): Add prototype.
5931 * server.c (handle_query): Add PACKET_LEN argument. Support
5932 qXfer:spu:read and qXfer:spu:write packets.
5933 (main): Pass packet_len to handle_query.
5934 * spu-low.c (spu_target_ops): Add spu_proc_xfer_spu.
5935 * target.h (target_ops): Add qxfer_spu.
5936
5937 2007-06-12 Ulrich Weigand <uweigand@de.ibm.com>
5938
5939 * spu-low.c (spu_proc_xfer_spu): Do not return failure when
5940 accessing non-seekable spufs files.
5941
5942 2007-05-16 Markus Deuling <deuling@de.ibm.com>
5943
5944 * server.c (handle_query): Add reply for qC packet.
5945
5946 2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
5947 Leo Zayas <lerele@champenstudios@com>
5948
5949 * server.h (check_remote_input_interrupt_request): New function.
5950 * remote_utils.c (INVALID_DESCRIPTOR): New define.
5951 (remote_desc): Initialize with INVALID_DESCRIPTOR.
5952 (input_interrupt): Expose on USE_WIN32API too. Fix whitespace.
5953 (check_remote_input_interrupt_request): New function.
5954 * server.h (check_remote_input_interrupt_request): Declare.
5955 * win32-low.c (winapi_DebugBreakProcess,
5956 winapi_GenerateConsoleCtrlEvent): New typedefs.
5957 (get_child_debug_event): Lower Win32 debug event polling from 1 sec
5958 to 250 ms.
5959 (win32_wait): Check for remote interrupt request
5960 with check_remote_input_interrupt_request.
5961 (win32_request_interrupt): New function.
5962 (win32_target_op): Set request_interrupt to win32_request_interrupt.
5963
5964 2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
5965
5966 * win32-low.c (debug_registers_changed,
5967 debug_registers_used, CONTEXT_EXTENDED_REGISTERS,
5968 CONTEXT_FLOATING_POINT, CONTEXT_DEBUG_REGISTERS,
5969 CONTEXT_DEBUGGER, CONTEXT_DEBUGGER_DR): Delete.
5970 (thread_rec): Get context using the low target.
5971 (child_add_thread): Call thread_added on the low target,
5972 which does the same thing.
5973 (regptr): Delete.
5974 (do_initial_child_stuff): Remove debug registers references.
5975 Set context using the low target. Resume threads after
5976 setting the contexts.
5977 (child_continue): Remove dead variable. Remove debug
5978 registers references.
5979 (child_fetch_inferior_registers): Go through the low target.
5980 (do_child_store_inferior_registers): Remove.
5981 (child_store_inferior_registers): Go through the low target.
5982 (win32_resume): Remove debug registers references.
5983 Set context using the low target.
5984 (handle_exception): Change return type to void. Don't record
5985 context here. Set status to TARGET_WAITKIND_SPURIOUS on a
5986 first chance exception.
5987 (get_child_debug_event): Change return type to void. Remove
5988 goto loop. Always return after waiting for debug event.
5989 (win32_wait): Convert to switch statement. Handle spurious
5990 events.
5991
5992 * win32-i386-low.c (debug_registers_changed,
5993 debug_registers_used): New.
5994 (initial_stuff): Rename to ...
5995 (i386_initial_stuff): ... this. Clear debug registers
5996 state variables.
5997 (store_debug_registers): Delete.
5998 (i386_get_thread_context): New.
5999 (load_debug_registers): Delete.
6000 (i386_set_thread_context): New.
6001 (i386_thread_added): New.
6002 (single_step): Rename to ...
6003 (i386_single_step): ... this.
6004 (do_fetch_inferior_registers): Rename to ...
6005 (i386_fetch_inferior_register): ... this.
6006 (i386_store_inferior_register): New.
6007 (the_low_target): Adapt to new interface.
6008
6009 * win32-arm-low.c (CONTEXT_FLOATING_POINT): Define.
6010 (arm_get_thread_context): New.
6011 (arm_set_thread_context): New.
6012 (regptr): New.
6013 (do_fetch_inferior_registers): Rename to ...
6014 (arm_fetch_inferior_register): ... this.
6015 (arm_store_inferior_register): New.
6016 (arm_wince_breakpoint): Reimplement as unsigned long.
6017 (arm_wince_breakpoint_len): Define.
6018 (the_low_target): Adapt to new interface.
6019
6020 * win32-low.h (target_ops): Remove regmap, store_debug_registers and
6021 load_debug_registers. Add get_thread_context, set_thread_context,
6022 thread_added and store_inferior_register. Rename
6023 fetch_inferior_registers to fetch_inferior_register.
6024 (regptr): Remove declaration.
6025
6026 2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
6027
6028 * linux-low.c (linux_detach): Change return type to int. Return 0.
6029 * spu-low.c (spu_detach): Likewise.
6030
6031 2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
6032
6033 * target.h (target_ops): Change return type of detach to int.
6034 Add join.
6035 (join_inferior): New.
6036 * server.c (main): Don't skip detach support on mingw32.
6037 If the inferior doesn't support detaching return error.
6038 Call join_inferior instead of using waitpid.
6039 * linux-low.c (linux_join): New.
6040 (linux_target_op): Add linux_join.
6041 * spu-low.c (spu_join): New.
6042 (spu_target_ops): Add spu_join.
6043 * win32-low.c (win32_detach): Adapt to new interface.
6044 Reopen current_process_handle before detaching. Issue a child
6045 resume before detaching.
6046 (win32_join): New.
6047 (win32_target_op): Add win32_join.
6048
6049 2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
6050
6051 * win32-low.c (win32-attach): Fix return value.
6052 * target.h (target_ops): Describe ATTACH return values.
6053
6054 2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
6055
6056 * win32-low.c (GETPROCADDRESS): Define.
6057 (winapi_DebugActiveProcessStop): Add WINAPI. typedef as pointer.
6058 (winapi_DebugSetProcessKillOnExit): Likewise.
6059 (win32_create_inferior): Force usage of ansi CreateProcessA.
6060 (win32_attach): Use GETPROCADDRESS.
6061 (win32_detach): Likewise.
6062
6063 2007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
6064
6065 * win32-low.c (win32_wait): Don't use WSTOPSIG.
6066
6067 2007-03-30 Pedro Alves <pedro_alves@portugalmail.pt>
6068
6069 * win32-low.c: Commit leftover changes from 2007-03-29.
6070
6071 2007-03-30 Daniel Jacobowitz <dan@codesourcery.com>
6072
6073 * i387-fp.c (struct i387_fsave, struct i387_fxsave): Make 16-bit
6074 fields short instead of int. Add explicit padding.
6075 (i387_cache_to_fsave): Remove unnecessary casts.
6076 (i387_fsave_to_cache): Doc fix.
6077 (i387_cache_to_fxsave): Remove unnecessary casts and masking.
6078
6079 2007-03-30 Daniel Jacobowitz <dan@codesourcery.com>
6080
6081 * i387-fp.c (i387_cache_to_fxsave): Reinitialize val2 before use.
6082 (i387_fxsave_to_cache): Check fp->ftag while building ftag value.
6083
6084 2007-03-29 Pedro Alves <pedro_alves@portugalmail.pt>
6085
6086 * configure.srv (arm*-*-mingw32ce*): Move near the other
6087 arm targets.
6088
6089 2007-03-29 Pedro Alves <pedro_alves@portugalmail.pt>
6090
6091 * configure.ac: Add errno checking.
6092 (AC_CHECK_HEADERS): Add errno.h, fcntl.h, signal.h,
6093 sys/file.h and malloc.h.
6094 (AC_CHECK_DECLS): Add perror.
6095 (srv_mingwce): Handle.
6096 * configure.srv (i[34567]86-*-cygwin*): Add
6097 win32-i386-low.o to srv_tgtobj.
6098 (i[34567]86-*-mingw*): Likewise.
6099 (arm*-*-mingw32ce*): Add case.
6100 * gdbreplay.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
6101 HAVE_FCNTL_H, HAVE_ERRNO_H, HAVE_MALLOC_H]: Check.
6102 [__MINGW32CE__] (strerror): New function.
6103 [__MINGW32CE__] (errno): Define to GetLastError.
6104 [__MINGW32CE__] (COUNTOF): New macro.
6105 (remote_open): Remove extra close call.
6106 * mem-break.c (delete_breakpoint_at): New function.
6107 * mem-break.h (delete_breakpoint_at): Declare.
6108 * remote-utils.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
6109 HAVE_FCNTL_H, HAVE_UNISTD_H, HAVE_ERRNO_H]: Check.
6110 [USE_WIN32API] (read, write): Add char* casts.
6111 * server.c [HAVE_UNISTD_H, HAVE_SIGNAL_H]: Check.
6112 * server.h: Include wincecompat.h on Windows CE.
6113 [HAVE_ERRNO_H]: Check.
6114 (perror): Declare if not declared.
6115 * utils.c: Add stdlib.h, errno.h and malloc.h includes.
6116 (perror_with_name): Remove errno declaration.
6117 * wincecompat.h: New.
6118 * wincecompat.c: New.
6119 * win32-low.h: New.
6120 * win32-arm-low.c: New.
6121 * win32-i386-low.c: New.
6122 (win32-low.c): Include mem-break.h and win32-low.h, and winnt.h.
6123 (OUTMSG2): Make it safe.
6124 (_T): New macro.
6125 (COUNTOF): New macro.
6126 (NUM_REGS): Get it from the low target.
6127 (CONTEXT_EXTENDED_REGISTERS, CONTEXT_FLOATING_POINT,
6128 CONTEXT_DEBUG_REGISTERS): Add fallbacks to 0.
6129 (thread_rec): Let low target handle debug registers.
6130 (child_add_thread): Likewise.
6131 (child_init_thread_list): Likewise.
6132 (continue_one_thread): Likewise.
6133 (regptr): New.
6134 (do_child_fetch_inferior_registers): Move to ...
6135 * win32-i386-low.c: ... here, and rename to ...
6136 (do_fetch_inferior_registers): ... this.
6137 * win32-low.c (child_fetch_inferior_registers):
6138 Go through the low target.
6139 (do_child_store_inferior_registers): Use regptr.
6140 (strwinerror): New function.
6141 (win32_create_inferior): Handle Windows CE.
6142 Use strwinerror instead of strerror on Windows error
6143 codes. Add program to the error output.
6144 Don't close the main thread handle on Windows CE.
6145 (win32_attach): Use coredll.dll on Windows CE.
6146 (win32_kill): Close current process and current
6147 thread handles.
6148 (win32_detach): Use coredll.dll on Windows CE.
6149 (win32_resume): Let low target handle debug registers, and
6150 step request.
6151 (handle_exception): Add/Remove initial breakpoint. Avoid
6152 non-existant WSTOPSIG on Windows CE.
6153 (win32_read_inferior_memory): Cast to remove warning.
6154 (win32_arch_string): Go through the low target.
6155 (initialize_low): Call set_breakpoint_data with the low
6156 target's breakpoint.
6157 * win32-low.c (dr, FLAG_TRACE_BIT, FCS_REGNUM,
6158 FOP_REGNUM, mappings): Move to ...
6159 * win32-i386-low.c: ... here.
6160 * win32-low.c (win32_thread_info): Move to ...
6161 * win32-low.h: ... here.
6162 * Makefile.in (SFILES): Add win32-low.c, win32-i386-low.c,
6163 win32-arm-low.c and wincecompat.c.
6164 (all:): Add $EXEEXT.
6165 (install-only:): Likewise.
6166 (gdbserver:): Likewise.
6167 (gdbreplay:): Likewise.
6168 * config.in: Regenerate.
6169 * configure: Regenerate.
6170
6171 2007-03-28 Pedro Alves <pedro_alves@portugalmail.pt>
6172
6173 * win32-low.c: Rename typedef thread_info to
6174 win32_thread_info throughout.
6175
6176 2007-03-28 Pedro Alves <pedro_alves@portugalmail.pt>
6177
6178 * win32-i386-low.c: Rename to ...
6179 * win32-low.c: ... this.
6180 * configure.srv: Replace win32-i386-low.o with win32-low.o.
6181 * Makefile.in: Likewise.
6182
6183 2007-03-27 Pedro Alves <pedro_alves@portugalmail.pt>
6184
6185 * remote-utils.c (monitor_output): Constify msg parameter.
6186 * server.h (monitor_output): Likewise.
6187 * win32-i386-low.c (handle_output_debug_string): New.
6188 (win32_kill): Handle OUTPUT_DEBUG_STRING_EVENT events using
6189 handle_output_debug_string.
6190 (get_child_debug_event): Likewise.
6191
6192 2007-03-27 Mat Hostetter <mat@lcs.mit.edu>
6193
6194 * server.c (main): Correct strtoul check.
6195
6196 2007-03-27 Jon Ringle <jon@ringle.org>
6197
6198 * linux-low.c: Check __ARCH_HAS_MMU__ also.
6199
6200 2007-03-27 Brooks Moses <brooks.moses@codesourcery.com>
6201
6202 * Makefile.in: Add dummy "pdf" and "install-pdf" targets.
6203
6204 2007-02-27 Daniel Jacobowitz <dan@codesourcery.com>
6205
6206 * terminal.h: Check HAVE_SGTTY_H.
6207
6208 2007-02-27 Mat Hostetter <mat@lcs.mit.edu>
6209
6210 * remote-utils.c (remote_open): Print out the assigned port number.
6211
6212 2007-02-26 Daniel Jacobowitz <dan@codesourcery.com>
6213
6214 * remote-utils.c (monitor_output): New function.
6215 * server.c (debug_threads): Define here.
6216 (monitor_show_help): New function.
6217 (handle_query): Handle qRcmd.
6218 (main): Do not handle 'd' packet.
6219 * server.h (debug_threads, remote_debug, monitor_output): Declare.
6220 * linux-low.c, spu-low.c, win32-i386-low.c: Remove definitions
6221 of debug_threads.
6222
6223 2007-02-25 Pedro Alves <pedro_alves@portugalmail.pt>
6224
6225 * Makefile.in (EXEEXT): New.
6226 (clean): Use $(EXEEXT).
6227
6228 2007-02-25 Pedro Alves <pedro_alves@portugalmail.pt>
6229
6230 * target.h (target_ops): Rename send_signal to request_interrupt,
6231 and remove enum target_signal parameter.
6232 * linux-low.c (linux_request_interrupt): Rename from
6233 linux_send_signal, and always send SIGINT.
6234 * spu-low.c (spu_request_interrupt): Rename from spu_send_signal,
6235 and always send SIGINT.
6236 * remote-utils.c (putpkt_binary): Call request_interrupt, instead
6237 of send_signal.
6238 (input_interrupt): Likewise.
6239
6240 2007-02-25 Pedro Alves <pedro_alves@portugalmail.pt>
6241
6242 * server.c (get_features_xml): Check if target implemented
6243 arch_string.
6244 * win32-i386-low.c (win32_arch_string): New.
6245 (win32_target_ops): Add win32_arch_string as arch_string member.
6246
6247 2007-02-22 Markus Deuling <deuling@de.ibm.com>
6248
6249 * spu-low.c (spu_arch_string): New.
6250 (spu_target_ops): Add spu_arch_string.
6251
6252 2007-02-16 Daniel Jacobowitz <dan@codesourcery.com>
6253
6254 * remote-utils.c: Remove HAVE_TERMINAL_H check.
6255 * configure.ac: Do not check for terminal.h.
6256 * configure, config.in: Regenerated.
6257
6258 2007-02-08 Daniel Jacobowitz <dan@codesourcery.com>
6259
6260 * Makefile.in (OBS): Add $(XML_BUILTIN).
6261 (XML_DIR, XML_TARGET, XML_FILES, XML_BUILTIN): New.
6262 (clean): Update.
6263 (target.xml, xml-builtin.c, stamp-xml, arm-with-iwmmxt.o)
6264 (arm-with-iwmmxt.c): New.
6265 * config.in, configure: Regenerate.
6266 * configure.ac: Check for iWMMXt. Handle srv_xmltarget,
6267 srv_xmlbuiltin, and srv_xmlfiles. Define USE_XML.
6268 * configure.srv: Mention srv_xmltarget and srv_xmlfiles.
6269 (arm*-*-linux*): Add iWMMXt and regset support.
6270 * linux-arm-low.c (PTRACE_GETWMMXREGS, PTRACE_SETWMMXREGS): Define.
6271 (arm_fill_gregset, arm_store_gregset, arm_fill_wmmxregset)
6272 (arm_store_wmmxregset, target_regsets): New.
6273 * server.c (get_features_xml): Take annex argument. Check builtin
6274 XML documents.
6275 (handle_query): Handle multiple annexes.
6276
6277 2007-01-29 Daniel Jacobowitz <dan@codesourcery.com>
6278
6279 * remote-utils.c [USE_WIN32API] (read, write): Define.
6280 (putpkt_binary, input_interrupt, readchar, getpkt): Use read and
6281 write.
6282
6283 2007-01-09 Daniel Jacobowitz <dan@codesourcery.com>
6284
6285 * linux-i386-low.c (the_low_target): Set arch_string.
6286 * linux-x86-64-low.c (the_low_target): Likewise.
6287 * linux-low.c (linux_arch_string): New.
6288 (linux_target_ops): Add it.
6289 * linux-low.h (struct linux_target_ops): Add arch_string.
6290 * server.c (write_qxfer_response): Use const void * for DATA.
6291 (get_features_xml): New.
6292 (handle_query): Handle qXfer:features:read. Report it for qSupported.
6293 * target.h (struct target_ops): Add arch_string method.
6294
6295 2007-01-03 Denis Pilat <denis.pilat@st.com>
6296 Daniel Jacobowitz <dan@codesourcery.com>
6297
6298 * linux-low.c (linux_kill): Handle being called with no threads.
6299 * win32-i386-low.c (win32_kill): Likewise.
6300 (get_child_debug_event): Clear current_process_handle.
6301
6302 2006-12-30 Denis PILAT <denis.pilat@st.com>
6303 Daniel Jacobowitz <dan@codesourcery.com>
6304
6305 * remote-utils.c (remote_open): Check the type of specified
6306 serial port devices before opening them.
6307 * server.c (main): Kill the inferior if an error occurs during
6308 the first remote_open.
6309
6310 2006-12-05 Markus Deuling <deuling@de.ibm.com>
6311
6312 * README: Update supported targets.
6313
6314 2006-11-28 Daniel Jacobowitz <dan@codesourcery.com>
6315
6316 * Makefile.in (clean): Remove reg-mips64.c.
6317 (reg-mips64.c, reg-mips64.o): New rules.
6318 * configure.srv: Handle mips64. Include regset support for mips.
6319 * linux-mips-low.c (union mips_register): New.
6320 (mips_get_pc, mips_set_pc, mips_reinsert_addr): Use it.
6321 (mips_breakpoint, mips_breakpoint_at): Use int.
6322 (mips_collect_register, mips_supply_register)
6323 (mips_collect_register_32bit, mips_supply_register_32bit)
6324 (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
6325 (mips_store_fpregset, target_regsets): New.
6326 * thread-db.c (thread_db_get_tls_address): Use uintptr_t.
6327
6328 2006-11-22 Ulrich Weigand <uweigand@de.ibm.com>
6329
6330 * configure.srv: Add target "spu*-*-*".
6331 * Makefile.in (clean): Remove reg-spu.c.
6332 (reg-spu.c, reg-spu.o, spu-low.o): Add dependencies.
6333 * spu-low.c: New file.
6334
6335 2006-11-16 Daniel Jacobowitz <dan@codesourcery.com>
6336
6337 * configure.ac: Correct td_thr_tls_get_addr test.
6338 * configure: Regenerated.
6339
6340 2006-11-16 Daniel Jacobowitz <dan@codesourcery.com>
6341
6342 * linux-low.c (linux_wait_for_event): Reformat. Use the
6343 pass_signals array.
6344 * remote-utils.c (decode_address_to_semicolon): New.
6345 * server.c (pass_signals, handle_general_set): New.
6346 (handle_query): Mention QPassSignals for qSupported.
6347 (main): Call handle_general_set.
6348 * server.h (pass_signals, decode_address_to_semicolon): New.
6349
6350 2006-11-06 Daniel Jacobowitz <dan@codesourcery.com>
6351
6352 * server.c (handle_query): Correct error handling for read_auxv.
6353
6354 2005-10-19 Ulrich Weigand <uweigand@de.ibm.com>
6355
6356 * configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets
6357 and srv_linux_thread_db to yes.
6358 * linux-s390-low.c (s390_fill_gregset): New function.
6359 (target_regsets): Define data structure.
6360
6361 2006-10-17 Daniel Jacobowitz <dan@codesourcery.com>
6362
6363 * acinclude.m4 (SRV_CHECK_TLS_GET_ADDR): New.
6364 * configure.ac: Use it. Define HAVE_TD_THR_TLS_GET_ADDR.
6365 * config.in, configure: Regenerated.
6366 * inferiors.c (gdb_id_to_thread): New function.
6367 (gdb_id_to_thread_id): Use it.
6368 * linux-low.c (linux_target_ops): Use thread_db_get_tls_address.
6369 * linux-low.h (struct process_info): Add th member.
6370 (thread_db_get_tls_address): New prototype.
6371 * remote-utils.c (decode_address): Make non-static.
6372 * server.c (handle_query): Handle qGetTLSAddr.
6373 * server.h (gdb_id_to_thread, decode_address): New prototypes.
6374 * target.h (struct target_ops): Add get_tls_address.
6375 * thread-db.c (maybe_attach_thread): Save the thread handle.
6376 (thread_db_get_tls_address): New.
6377
6378 2006-09-28 Daniel Jacobowitz <dan@codesourcery.com>
6379
6380 * linux-low.c (PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
6381 (linux_resume_one_process): Take a siginfo_t *. Update all
6382 callers. Queue it if necessary. Use PTRACE_SETSIGINFO.
6383 (struct pending_signals): Add a siginfo_t.
6384 (linux_wait_for_process): Always set last_status.
6385 (linux_wait_for_event): Use PTRACE_GETSIGINFO.
6386 (linux_queue_one_thread): Use PTRACE_GETSIGINFO.
6387 * linux-low.h (struct process_info): Add last_status.
6388
6389 2006-09-21 Daniel Jacobowitz <dan@codesourcery.com>
6390
6391 * remote-utils.c (try_rle): New function.
6392 (putpkt_binary): Use it.
6393
6394 2006-08-19 Daniel Jacobowitz <dan@codesourcery.com>
6395
6396 * Makefile.in (clean): Clean reg-x86-64-linux.c.
6397 (reg-x86-64-linux.o, reg-x86-64-linux.c): New.
6398 * configure.srv (x86_64-*-linux*): Use reg-x86-64-linux.o.
6399 * linux-x86-64-low.c (x86_64_regmap): Include ORIG_RAX.
6400 (x86_64_fill_gregset, x86_64_store_gregset): Skip floating
6401 point registers.
6402
6403 2006-08-08 Richard Sandiford <richard@codesourcery.com>
6404
6405 * server.c (terminal_fd): New variable.
6406 (old_foreground_pgrp): Likewise.
6407 (restore_old_foreground_pgrp): New function.
6408 (start_inferior): Record the terminal file descriptor in terminal_fd
6409 and its original foreground group in old_foreground_pgrp. Register
6410 restore_old_foreground_pgrp with atexit().
6411
6412 2006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
6413
6414 * server.c (handle_query): Correct qPart to qXfer.
6415
6416 2006-07-22 Daniel Jacobowitz <dan@codesourcery.com>
6417
6418 * configure.ac: Check for more headers which are missing on
6419 Windows. Automatically supply -lwsock32 and USE_WIN32API.
6420 * configure.srv: Add Cygwin and mingw32.
6421 * remote-utils.c: Don't include headers unconditionally which
6422 are missing on mingw32. Include <winsock.h> for mingw32.
6423 (remote_open): Adjust for mingw32 support. Flush
6424 standard error after writing to it.
6425 (remote_close, putpkt_binary, input_interrupt, block_async_io)
6426 (unblock_async_io, enable_async_io, disable_async_io)
6427 (readchar, getpkt): Update for Winsock support.
6428 (prepare_resume_reply): Expect a protocol signal number.
6429 * server.c: Disable <sys/wait.h> on mingw32.
6430 (start_inferior): Adjust for mingw32 support. Flush
6431 standard error after writing to it.
6432 (attach_inferior): Likewise. Use protocol signal
6433 numbers.
6434 (main): Skip 'D' packet on mingw32. Use protocol signal numbers
6435 and names.
6436 * win32-i386-low.c: New file.
6437 * Makefile.in (XM_CLIBS): Set.
6438 (gdbserver, gdbreplay): Use $(INTERNAL_CFLAGS).
6439 (win32-i386-low.o): New dependency rule.
6440 * linux-low.c (linux_wait): Use target signal numbers.
6441 * target.h (struct target_ops): Doc fix.
6442 * server.h (target_signal_to_name): New prototype.
6443 * gdbreplay.c: Don't include headers unconditionally which
6444 are missing on mingw32. Include <winsock.h> for mingw32.
6445 (remote_close, remote_open): Adjust for Winsock support.
6446 * configure, config.in: Regenerated.
6447
6448 2006-07-12 Daniel Jacobowitz <dan@codesourcery.com>
6449
6450 * server.c (decode_xfer_read, write_qxfer_response): New.
6451 (handle_query): Take a packet length argument. Handle
6452 qXfer:auxv:read instead of qPart:auxv:read. Mention it in
6453 the qSupported response.
6454 (main): Update call to handle_query.
6455
6456 2006-06-22 Daniel Jacobowitz <dan@codesourcery.com>
6457
6458 * remote-utils.c (remote_escape_output, remote_unescape_input): New.
6459 (putpkt_binary): Renamed from putpkt and adjusted for binary
6460 data.
6461 (putpkt): New wrapper for putpkt_binary.
6462 (readchar): Don't mask off the high bit.
6463 (decode_X_packet): New function.
6464 * server.c (main): Call putpkt_binary if a handler sets the packet
6465 length. Save the length of the incoming packet. Handle 'X'.
6466 * server.h (gdb_byte, remote_escape_output, decode_X_packet): New.
6467
6468 2006-06-21 Daniel Jacobowitz <dan@codesourcery.com>
6469
6470 * server.c (handle_query): Handle qSupported.
6471
6472 2006-05-30 Daniel Jacobowitz <dan@codesourcery.com>
6473
6474 * remote-utils.c (all_symbols_looked_up): New variable.
6475 (look_up_one_symbol): Check it.
6476 * server.h (look_up_one_symbol): New declaration.
6477 * thread-db.c (thread_db_init): Set all_symbols_looked_up.
6478
6479 2006-05-30 Daniel Jacobowitz <dan@codesourcery.com>
6480
6481 * Makefile.in (linux-arm-low.o): Update dependencies.
6482 * linux-arm-low.c: Include "gdb_proc_service.h".
6483 (PTRACE_GET_THREAD_AREA): Define.
6484 (ps_get_thread_area): New function.
6485
6486 2006-05-09 Nathan Sidwell <nathan@codesourcery.com>
6487
6488 * configure.srv (m68k*-*-uclinux*): New target.
6489 * linux-low.c (linux_create_inferior): Use vfork on mmuless systems.
6490 (linux_resume_one_process): Remove extraneous cast.
6491 (linux_read_offsets): New.
6492 (linux_target_op): Add linux_read_offsets on mmuless systems.
6493 * server.c (handle_query): Add qOffsets logic.
6494 * target.h (struct target_ops): Add read_offsets.
6495
6496 2006-03-15 Daniel Jacobowitz <dan@codesourcery.com>
6497
6498 * linux-mips-low.c: Include <sys/ptrace.h> and "gdb_proc_service.h".
6499 (PTRACE_GET_THREAD_AREA): Define.
6500 (ps_get_thread_area): New function.
6501 * Makefile.in (linux-i386-low.o, linux-mips-low.o)
6502 (linux-x86-64-low.o): Update.
6503
6504 2006-03-15 Daniel Jacobowitz <dan@codesourcery.com>
6505
6506 * configure.ac: Remove checks for prfpregset_t.
6507 * gdb_proc_service.h: New file.
6508 * linux-i386-low.c, linux-x86-64-low.c, thread-db.c: Use the
6509 new "gdb_proc_service.h".
6510 * proc-service.c: Likewise.
6511 (ps_pglobal_lookup, ps_pdread, ps_pdwrite): Use psaddr_t.
6512 (ps_lgetfpregs, ps_lsetfpregs): Use a void* argument.
6513 * Makefile.in (gdb_proc_service_h): Updated.
6514 * configure, config.in: Regenerated.
6515
6516 2006-03-03 Daniel Jacobowitz <dan@codesourcery.com>
6517
6518 * remote-utils.c (prepare_resume_reply): Move declaration
6519 of gdb_id_from_wait to the top of the block.
6520
6521 2006-02-15 Daniel Jacobowitz <dan@codesourcery.com>
6522
6523 * linux-low.c (regsets_store_inferior_registers): Read the regset
6524 from the target before filling it.
6525
6526 2006-02-08 Daniel Jacobowitz <dan@codesourcery.com>
6527
6528 * server.c (attach_inferior): Return SIGTRAP for a successful
6529 attach.
6530
6531 2006-02-01 Daniel Jacobowitz <dan@codesourcery.com>
6532
6533 * Makefile.in (OBS): Add version.o.
6534 (STAGESTUFF): Delete.
6535 (version.o): Add dependencies.
6536 (version.c): Replace rule.
6537 (clean): Remove version.c.
6538 * server.c (gdbserver_version): New.
6539 (gdbserver_usage): Use printf.
6540 (main): Handle --version and --help.
6541 * server.h (version, host_name): Add declarations.
6542
6543 2005-12-23 Eli Zaretskii <eliz@gnu.org>
6544
6545 * linux-arm-low.c:
6546 * linux-arm-low.c:
6547 * inferiors.c:
6548 * i387-fp.h:
6549 * i387-fp.c:
6550 * gdbreplay.c:
6551 * regcache.c:
6552 * proc-service.c:
6553 * mem-break.h:
6554 * mem-break.c:
6555 * linux-x86-64-low.c:
6556 * linux-sh-low.c:
6557 * linux-s390-low.c:
6558 * linux-ppc64-low.c:
6559 * linux-ppc-low.c:
6560 * linux-mips-low.c:
6561 * linux-m68k-low.c:
6562 * linux-m32r-low.c:
6563 * linux-low.h:
6564 * linux-low.c:
6565 * linux-ia64-low.c:
6566 * linux-i386-low.c:
6567 * linux-crisv32-low.c:
6568 * thread-db.c:
6569 * terminal.h:
6570 * target.h:
6571 * target.c:
6572 * server.h:
6573 * server.c:
6574 * remote-utils.c:
6575 * regcache.h:
6576 * utils.c:
6577 * Makefile.in:
6578 * configure.ac:
6579 * gdbserver.1: Add (C) after Copyright. Update the FSF
6580 address.
6581
6582 2005-11-13 Daniel Jacobowitz <dan@codesourcery.com>
6583
6584 * linux-arm-low.c (arm_eabi_breakpoint): New variable.
6585 (arm_breakpoint_at): Recognize both breakpoints.
6586 (the_low_target): Use the correct breakpoint instruction.
6587
6588 2005-11-02 Daniel Jacobowitz <dan@codesourcery.com>
6589
6590 * configure.srv (x86_64-*-linux*): Turn on thread_db support.
6591 * linux-x86-64-low.c (x86_64_breakpoint, x86_64_breakpoint_len)
6592 (x86_64_get_pc, x86_64_set_pc, x86_64_breakpoint_at): New.
6593 (the_low_target): Update.
6594
6595 2005-10-25 Andreas Schwab <schwab@suse.de>
6596
6597 * server.c (main): Allocate mem_buf with PBUFSIZ bytes.
6598
6599 * linux-ia64-low.c (ia64_regmap): Remove NAT registers.
6600 (ia64_num_regs): Reduce to 462.
6601
6602 2005-09-17 Daniel Jacobowitz <dan@codesourcery.com>
6603
6604 * acinclude.m4: Correct quoting.
6605 * aclocal.m4: Regenerated.
6606
6607 Suggested by SZOKOVACS Robert <szo@ies.hu>:
6608 * thread-db.c (thread_db_err_str): Handle TD_VERSION.
6609 (thread_db_init): Call thread_db_err_str.
6610 * configure.ac: Check for TD_VERSION.
6611 * config.in, configure: Regenerated.
6612
6613 2005-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6614
6615 * server.h (error, fatal, warning): Add ATTR_FORMAT.
6616
6617 2005-07-13 Daniel Jacobowitz <dan@codesourcery.com>
6618
6619 * configure.ac: Define HAVE_LINUX_REGSETS even if PTRACE_GETREGS
6620 is not available. Define HAVE_PTRACE_GETREGS if it is.
6621 * config.in, configure: Regenerated.
6622 * configure.srv: Set srv_linux_regsets for PowerPC and PowerPC64.
6623 * linux-i386-low.c, linux-m68k-low.c: Update to use
6624 HAVE_PTRACE_GETREGS.
6625 * linux-low.c (regsets_fetch_inferior_registers)
6626 (regsets_store_inferior_registers): Only return 0 if we processed
6627 GENERAL_REGS.
6628 * linux-ppc-low.c (ppc_fill_gregset, target_regsets): New.
6629 * linux-ppc64-low.c (ppc_fill_gregset, target_regsets): New.
6630
6631 2005-07-13 Daniel Jacobowitz <dan@codesourcery.com>
6632
6633 * inferiors.c (struct thread_info): Add gdb_id.
6634 (add_thread): Add gdb_id argument.
6635 (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New.
6636 * linux-low.c (linux_create_inferior, linux_attach_lwp): Update
6637 calls to add_thread.
6638 * remote-utils.c (prepare_resume_reply: Use thread_to_gdb_id.
6639 * server.c (handle_query): Use thread_to_gdb_id.
6640 (handle_v_cont, main): Use gdb_id_to_thread_id.
6641 * server.h (add_thread): Update prototype.
6642 (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New
6643 prototypes.
6644
6645 2005-07-13 Daniel Jacobowitz <dan@codesourcery.com>
6646
6647 * linux-low.c (fetch_register, usr_store_inferior_registers): Handle
6648 left-padded registers.
6649 * linux-low.h (struct linux_target_ops): Add left_pad_xfer.
6650 * linux-ppc64-low.c (the_low_target): Set left_pad_xfer.
6651
6652 2005-07-01 Steve Ellcey <sje@cup.hp.com>
6653
6654 * configure.ac (BFD_NEED_DECLARATION): Replace with AC_CHECK_DECLS.
6655 * configure: Regenerate.
6656 * config.in: Regenerate.
6657 * server.h (NEED_DECLARATION_STRERROR):
6658 Replace with !HAVE_DECL_STRERROR.
6659
6660 2005-06-16 Daniel Jacobowitz <dan@codesourcery.com>
6661
6662 * linux-low.c (linux_wait, linux_send_signal): Don't test
6663 an unsigned long variable for > 0 if it could be MAX_ULONG.
6664 * server.c (myresume): Likewise.
6665 * target.c (set_desired_inferior): Likewise.
6666
6667 2005-06-13 Mark Kettenis <kettenis@gnu.org>
6668
6669 * configure.ac: Simplify and improve check for socklen_t.
6670 * configure, config.in: Regenerate.
6671
6672 2005-06-12 Daniel Jacobowitz <dan@codesourcery.com>
6673
6674 * acconfig.h: Remove.
6675 * configure.ac: Add a test for socklen_t. Use three-argument
6676 AC_DEFINE throughout.
6677 * config.in: Regenerated using autoheader 2.59.
6678 * configure: Regenerated.
6679
6680 * gdbreplay.c (socklen_t): Provide a default.
6681 (remote_open): Use socklen_t.
6682 * remote-utils.c (socklen_t): Provide a default.
6683 (remote_open): Use socklen_t.
6684 (convert_int_to_ascii, convert_ascii_to_int, decode_M_packet): Use
6685 unsigned char.
6686
6687 * i387-fp.c (struct i387_fsave, struct i387_fxsave): Use unsigned
6688 char for buffers.
6689 * linux-low.c (linux_read_memory, linux_write_memory)
6690 (linux_read_auxv): Likewise.
6691 * mem-break.c (breakpoint_data, set_breakpoint_data, check_mem_read)
6692 (check_mem_write): Likewise.
6693 * mem-break.h (set_breakpoint_data, check_mem_read, check_mem_write):
6694 Likewise.
6695 * regcache.c (struct inferior_rgcache_data, registers_to_string)
6696 (registers_from_string, register_data): Likewise.
6697 * server.c (handle_query, main): Likewise.
6698 * server.h (convert_ascii_to_int, convert_int_to_ascii)
6699 (decode_M_packet): Likewise.
6700 * target.c (read_inferior_memory, write_inferior_memory): Likewise.
6701 * target.h (struct target_ops): Update read_memory, write_memory,
6702 and read_auxv.
6703 (read_inferior_memory, write_inferior_memory): Update.
6704 * linux-low.h (struct linux_target_ops): Change type of breakpoint
6705 to unsigned char *.
6706 * linux-arm-low.c, linux-cris-low.c, linux-crisv32-low.c,
6707 linux-i386-low.c, linux-m32r-low.c, linux-m68k-low.c,
6708 linux-mips-low.c, linux-ppc-low.c, linux-ppc64-low.c,
6709 linux-s390-low.c, linux-sh-low.c: Update for changes in
6710 read_inferior_memory and the_low_target->breakpoint.
6711
6712 2005-05-28 Daniel Jacobowitz <dan@codesourcery.com>
6713
6714 * Makefile.in (SFILES): Add linux-ppc64-low.c.
6715 (linux-ppc64-low.o, reg-ppc64.c, reg-ppc64.o): New targets.
6716 * configure.srv: Add powerpc64-*-linux*.
6717 * linux-ppc64-low.c: New file.
6718
6719 2005-05-23 Orjan Friberg <orjanf@axis.com>
6720
6721 * linux-cris-low.c: New file with support for CRIS.
6722 * linux-crisv32-low.c: Ditto for CRISv32.
6723 * Makefile.in (SFILES): Add linux-cris-low.c, linux-crisv32-low.c.
6724 (clean): Add reg-cris.c and reg-crisv32.c.
6725 Add linux-cris-low.o, linux-crisv32-low.o, reg-cris.o, reg-cris.c,
6726 reg-crisv32.o, and reg-crisv32.c to make rules.
6727 * configure.srv: Add cris-*-linux* and crisv32-*-linux* to list of
6728 recognized targets.
6729
6730 2005-05-16 Ulrich Weigand <uweigand@de.ibm.com>
6731
6732 * linux-low.c (fetch_register): Ensure buffer size is a multiple
6733 of sizeof (PTRACE_XFER_TYPE).
6734 (usr_store_inferior_registers): Likewise. Zero out excess bytes.
6735
6736 2005-05-12 Orjan Friberg <orjanf@axis.com>
6737
6738 * target.h (struct target_ops): Add insert_watchpoint,
6739 remove_watchpoint, stopped_by_watchpoint, stopped_data_address function
6740 pointers for hardware watchpoint support.
6741 * linux-low.h (struct linux_target_ops): Ditto.
6742 * linux-low.c (linux_insert_watchpoint, linux_remove_watchpoint)
6743 (linux_stopped_by_watchpoint, linux_stopped_data_address): New. Add
6744 to linux_target_ops.
6745 * remote-utils.c (prepare_resume_reply): Add watchpoint information to
6746 reply packet.
6747 * server.c (main): Recognize 'Z' and 'z' packets.
6748
6749 2005-05-10 Ulrich Weigand <uweigand@de.ibm.com>
6750
6751 * linux-s390-low.c (s390_breakpoint, s390_breakpoint_len): Define.
6752 (s390_get_pc, s390_set_pc, s390_breakpoint_at): New functions.
6753 (the_low_target): Add new members.
6754
6755 2005-05-04 Daniel Jacobowitz <dan@codesourcery.com>
6756
6757 * proc-service.c (ps_lgetregs): Search all_processes instead of
6758 all_threads.
6759
6760 2005-05-04 Daniel Jacobowitz <dan@codesourcery.com>
6761
6762 * server.c (start_inferior): Change return type to int.
6763 (attach_inferior): Change sigptr to int *.
6764 (handle_v_cont, handle_v_requests): Change signal to int *.
6765 (main): Change signal to int.
6766
6767 2005-04-15 Kei Sakamoto <sakamoto.kei@renesas.com>
6768
6769 * Makefile.in: Add linux-m32r-low.o, reg-m32r.c and reg-m32r.o.
6770 * configure.srv: Add m32r*-*-linux*.
6771 * linux-m32r-low.c: New file.
6772
6773 2005-03-04 Daniel Jacobowitz <dan@codesourcery.com>
6774
6775 * Makefile.in (stamp-h): Set CONFIG_HEADERS explicitly.
6776
6777 2005-03-03 Daniel Jacobowitz <dan@codesourcery.com>
6778
6779 * inferiors.c (change_inferior_id, add_thread, find_inferior_id):
6780 Take unsigned long arguments for PIDs.
6781 * linux-low.c (add_process, linux_attach_lwp, linux_attach)
6782 (linux_thread_alive, linux_wait_for_event, kill_lwp, send_sigstop)
6783 (wait_for_sigstop, linux_resume_one_process)
6784 (regsets_fetch_inferior_registers, linux_send_signal)
6785 (linux_read_auxv): Likewise. Update the types of variables holding
6786 PIDs. Update format string specifiers.
6787 * linux-low.h (struct process_info, linux_attach_lwp): Likewise.
6788 * remote-utils.c (prepare_resume_reply): Likewise.
6789 * server.c (cont_thread, general_thread, step_thread)
6790 (thread_from_wait, old_thread_from_wait, signal_pid): Change type to
6791 unsigned long.
6792 (handle_query): Update format specifiers.
6793 (handle_v_cont, main): Use strtoul for thread IDs.
6794 * server.h (struct inferior_list_entry): Use unsigned long for ID.
6795 (add_thread, find_inferior_id, change_inferior_id, cont_thread)
6796 (general_thread, step_thread, thread_from_wait)
6797 (old_thread_from_wait): Update.
6798 * target.h (struct thread_resume): Use unsigned long for THREAD.
6799 (struct target_ops): Use unsigned long for arguments to attach and
6800 thread_alive.
6801
6802 2005-02-24 Daniel Jacobowitz <dan@codesourcery.com>
6803
6804 * acinclude.m4: Include bfd/bfd.m4 directly.
6805 * configure.ac: Use AC_ARG_PROGRAM. Suggested by Aron Griffis
6806 <agriffis@toolchain.org>.
6807 * aclocal.m4, configure: Regenerated.
6808
6809 2005-01-07 Andrew Cagney <cagney@gnu.org>
6810
6811 * configure.ac: Rename configure.in, require autoconf 2.59.
6812 * configure: Re-generate.
6813
6814 2004-12-08 Daniel Jacobowitz <dan@debian.org>
6815
6816 * acinclude.m4 (SRV_CHECK_THREAD_DB): Add ps_get_thread_area. Reset
6817 LIBS when finished.
6818 * aclocal.m4: Regenerated.
6819 * configure: Regenerated.
6820
6821 2004-11-21 Andreas Schwab <schwab@suse.de>
6822
6823 * linux-m68k-low.c (m68k_num_gregs): Define.
6824 (m68k_fill_gregset, m68k_store_gregset, m68k_fill_fpregset)
6825 (m68k_store_fpregset, target_regsets) [HAVE_LINUX_REGSETS]: New.
6826 (m68k_breakpoint, m68k_breakpoint_len, m68k_get_pc, m68k_set_pc)
6827 (m68k_breakpoint_at): New. Add to the_low_target.
6828
6829 * configure.srv (m68*-*-linux*): Set srv_linux_regsets and
6830 srv_linux_thread_db to yes.
6831
6832 2004-10-20 Joel Brobecker <brobecker@gnat.com>
6833
6834 * linux-x86-64-low.c (ARCH_SET_GS): Add definition if missing.
6835 (ARCH_SET_FS): Likewise.
6836 (ARCH_GET_FS): Likewise.
6837 (ARCH_GET_GS): Likewise.
6838
6839 2004-10-16 Daniel Jacobowitz <dan@debian.org>
6840
6841 * linux-i386-low.c (ps_get_thread_area): New.
6842 * linux-x86-64-low.c (ps_get_thread_area): New.
6843 * linux-low.c: Include <sys/syscall.h>.
6844 (linux_kill_one_process): Don't kill the first thread here.
6845 (linux_kill): Kill the first thread here.
6846 (kill_lwp): New function.
6847 (send_sigstop, linux_send_signal): Use it.
6848 * proc-service.c: Clean up #ifdefs.
6849 (fpregset_info): Delete.
6850 (ps_lgetregs): Update and enable implementation.
6851 (ps_lsetregs, ps_lgetfpregs, ps_lsetfpregs): Remove disabled
6852 implementations.
6853 * remote-utils.c (struct sym_cache, symbol_cache): New.
6854 (input_interrupt): Print a clearer message.
6855 (async_io_enabled): New variable.
6856 (enable_async_io, disable_async_io): Use it. Update comments.
6857 (look_up_one_symbol): Use the symbol cache.
6858 * thread-db.c (thread_db_look_up_symbols): New function.
6859 (thread_db_init): Update comments. Call thread_db_look_up_symbols.
6860
6861 2004-10-16 Daniel Jacobowitz <dan@debian.org>
6862
6863 * configure.in: Test for -rdynamic.
6864 * configure: Regenerated.
6865 * Makefile (INTERNAL_LDFLAGS): New.
6866 (gdbserver, gdbreplay): Use it.
6867
6868 2004-09-02 Andrew Cagney <cagney@gnu.org>
6869
6870 * Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE.
6871
6872 2004-03-23 Daniel Jacobowitz <drow@mvista.com>
6873
6874 * linux-low.c (linux_wait): Clear all_processes list also.
6875
6876 2004-03-12 Daniel Jacobowitz <drow@mvista.com>
6877
6878 * linux-low.c: Include <errno.h>. Remove extern declaration of
6879 errno.
6880
6881 2004-03-12 Daniel Jacobowitz <drow@mvista.com>
6882
6883 * gdbreplay.c, server.h, utils.c: Update copyright years.
6884
6885 2004-03-04 Nathan J. Williams <nathanw@wasabisystems.com>
6886
6887 * server.c (main): Print child status or termination signal from
6888 variable 'signal', not 'sig'.
6889
6890 2004-03-04 Nathan J. Williams <nathanw@wasabisystems.com>
6891
6892 * linux-low.c (linux_read_memory): Change return type to
6893 int. Check for and return error from ptrace().
6894 * target.c (read_inferior_memory): Change return type to int. Pass
6895 back return status from the_target->read_memory().
6896 * target.h (struct target_ops): Adapt *read_memory() prototype.
6897 Update comment.
6898 (read_inferior_memory): Adapt prototype.
6899 * server.c (main): Return an error packet if
6900 read_inferior_memory() returns an error.
6901
6902 2004-03-04 Daniel Jacobowitz <drow@mvista.com>
6903
6904 * Makefile.in (distclean): Remove config.h, stamp-h, and config.log.
6905 Unify with other clean targets.
6906
6907 2004-02-29 Daniel Jacobowitz <drow@mvista.com>
6908
6909 * server.c (handle_v_cont): Call set_desired_inferior.
6910
6911 2004-02-29 Daniel Jacobowitz <drow@mvista.com>
6912
6913 * remote-utils.c (prepare_resume_reply): Always supply "thread:".
6914
6915 2004-02-29 Daniel Jacobowitz <drow@mvista.com>
6916
6917 * linux-low.c (linux_wait): Unblock async I/O.
6918 (linux_resume): Block and enable async I/O.
6919 * remote-utils.c (block_async_io, unblock_async_io): New functions.
6920 * server.h (block_async_io, unblock_async_io): Add prototypes.
6921
6922 2004-02-29 Daniel Jacobowitz <drow@mvista.com>
6923
6924 * remote-utils.c (remote_open): Print a status notice after
6925 opening a TCP port.
6926 * server.c (attach_inferior): Print a status notice after
6927 attaching.
6928
6929 2004-02-29 Daniel Jacobowitz <drow@mvista.com>
6930
6931 * linux-arm-low.c (arm_get_pc): Print out stop PC in debug mode.
6932
6933 2004-02-26 Daniel Jacobowitz <drow@mvista.com>
6934
6935 * remote-utils.c (write_enn): Use "E01" instead of "ENN" for the
6936 error packet.
6937 * server.c, target.h: Update copyright years.
6938
6939 2004-02-25 Roland McGrath <roland@redhat.com>
6940
6941 * target.h (struct target_ops): New member `read_auxv'.
6942 * server.c (handle_query): Handle qPart:auxv:read: query using that.
6943 * linux-low.c (linux_read_auxv): New function.
6944 (linux_target_ops): Initialize `read_auxv' member to that.
6945
6946 2004-02-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6947
6948 Committed by Jim Blandy <jimb@redhat.com>.
6949
6950 * linux-s390-low.c (s390_num_regs): Update.
6951 (s390_regmap): Remove control registers. Use __s390x__ predefine
6952 instead of GPR_SIZE to distiguish s390 and s390x targets.
6953
6954 2004-01-31 Daniel Jacobowitz <drow@mvista.com>
6955
6956 * linux-low.c: Update copyright year.
6957 (check_removed_breakpoint): Clear pending_is_breakpoint.
6958 (linux_set_resume_request, linux_queue_one_thread)
6959 (resume_status_pending_p): New functions.
6960 (linux_continue_one_thread): Use process->resume.
6961 (linux_resume): Only resume threads if there are no pending events.
6962 * linux-low.h (struct process_info): Add resume request
6963 pointer.
6964
6965 2004-01-30 Daniel Jacobowitz <drow@mvista.com>
6966
6967 * regcache.c (new_register_cache): Clear the allocated register
6968 buffer. Suggested by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.
6969
6970 2003-10-13 Daniel Jacobowitz <drow@mvista.com>
6971
6972 * linux-low.c (linux_resume): Take a struct thread_resume *
6973 argument.
6974 (linux_wait): Update call.
6975 (resume_ptr): New static variable.
6976 (linux_continue_one_thread): Renamed from
6977 linux_continue_one_process. Use resume_ptr.
6978 (linux_resume): Use linux_continue_one_thread.
6979 * server.c (handle_v_cont, handle_v_requests): New functions.
6980 (myresume): New function.
6981 (main): Handle 'v' case.
6982 * target.h (struct thread_resume): New type.
6983 (struct target_ops): Change argument of "resume" to struct
6984 thread_resume *.
6985 (myresume): Delete macro.
6986
6987 2003-08-08 H.J. Lu <hongjiu.lu@intel.com>
6988
6989 * Makefile.in (install-only): Create dest dir. Support DESTDIR.
6990 (uninstall): Support DESTDIR.
6991
6992 Mon Jul 21 20:09:34 UTC 2003 Brendan Conoboy <blc@redhat.com>
6993
6994 * configure.srv: Add xscale*linux copy of arm*linux entry.
6995
6996 2003-07-24 Daniel Jacobowitz <drow@mvista.com>
6997
6998 * linux-arm-low.c (arm_reinsert_addr): New function.
6999 (the_low_target): Add arm_reinsert_addr.
7000
7001 2003-07-08 Mark Kettenis <kettenis@gnu.org>
7002
7003 * mem-break.c: Remove whitespace at end of file.
7004
7005 2003-06-28 Daniel Jacobowitz <drow@mvista.com>
7006
7007 * configure.in: Check whether we need to prototype strerror.
7008 * server.h: Optionally prototype strerror.
7009 * gdbreplay.c (perror_with_name): Use strerror.
7010 * linux-low.c (linux_attach_lwp): Use strerror.
7011 * utils.c (perror_with_name): Use strerror.
7012 * config.in, configure: Regenerated.
7013
7014 2003-06-28 Daniel Jacobowitz <drow@mvista.com>
7015
7016 * linux-sh-low.c (sh_regmap): Fix FP register offsets, reported by
7017 SUGIOKA Toshinobu <sugioka@itonet.co.jp>.
7018
7019 2003-06-20 Daniel Jacobowitz <drow@mvista.com>
7020
7021 * Makefile.in (SFILES): Update.
7022 * low-hppabsd.c, low-lynx.c, low-nbsd.c, low-sim.c, low-sparc.c,
7023 low-sun3.c: Remove files.
7024
7025 2003-06-17 Daniel Jacobowitz <drow@mvista.com>
7026
7027 * linux-low.c: Move comment to linux_thread_alive where it belonged.
7028 (linux_detach_one_process, linux_detach): New functions.
7029 (linux_target_ops): Add linux_detach.
7030 * server.c (main): Handle 'D' packet.
7031 * target.h (struct target_ops): Add "detach" member.
7032 (detach_inferior): Define.
7033
7034 2003-06-13 Mark Kettenis <kettenis@gnu.org>
7035
7036 From Kelley Cook <kelleycook@wideopenwest.com>:
7037 * configure.srv: Accept i[34567]86 variants.
7038
7039 2003-06-05 Daniel Jacobowitz <drow@mvista.com>
7040
7041 * linux-low.c (linux_wait_for_event): Correct comment typos.
7042 (linux_resume_one_process): Call check_removed_breakpoint.
7043 (linux_send_signal): New function.
7044 (linux_target_ops): Add linux_send_signal.
7045 * remote-utils.c (putpkt, input_interrupt): Use send_signal instead
7046 of kill.
7047 * target.h (struct target_ops): Add send_signal.
7048
7049 2003-05-29 Jim Blandy <jimb@redhat.com>
7050
7051 * linux-low.c (usr_store_inferior_registers): Transfer buf in
7052 PTRACE_XFER_TYPE-sized chunks, not int-sized chunks. Otherwise,
7053 if 'int' is smaller than PTRACE_XFER_TYPE, you end up throwing
7054 away part of the register's value.
7055
7056 2003-03-26 Daniel Jacobowitz <drow@mvista.com>
7057
7058 * linux-low.c (linux_create_inferior): Use __SIGRTMIN.
7059 (linux_wait_for_event, linux_init_signals): Likewise.
7060
7061 2003-03-17 Daniel Jacobowitz <drow@mvista.com>
7062
7063 * configure.in: Check for stdlib.h.
7064 * configure: Regenerated.
7065 * config.in: Regenerated.
7066
7067 2003-01-04 Andreas Schwab <schwab@suse.de>
7068
7069 * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31.
7070
7071 2003-01-02 Andrew Cagney <ac131313@redhat.com>
7072
7073 * Makefile.in: Remove obsolete code.
7074
7075 2002-11-20 Daniel Jacobowitz <drow@mvista.com>
7076
7077 * linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of
7078 defined(PT_FPR0_HI).
7079
7080 2002-11-17 Stuart Hughes <seh@zee2.com>
7081
7082 * linux-arm-low.c (arm_num_regs): Increase.
7083 (arm_regmap): Include status register.
7084
7085 2002-11-17 Daniel Jacobowitz <drow@mvista.com>
7086
7087 * linux-low.c (register_addr): Remove incorrect -1 check.
7088
7089 2002-08-29 Daniel Jacobowitz <drow@mvista.com>
7090
7091 * linux-low.c (linux_create_inferior): Call setpgid. Return
7092 the new PID.
7093 (unstopped_p, linux_signal_pid): Remove.
7094 (linux_target_ops): Remove linux_signal_pid.
7095 * remote-utils.c (putpkt, input_interrupt): Use signal_pid
7096 global instead of target method.
7097 * target.h (struct target_ops): Remove signal_pid. Update comment
7098 for create_inferior.
7099 * server.c (signal_pid): New variable.
7100 (create_inferior): Set signal_pid. Block SIGTTOU and SIGTTIN in
7101 gdbserver. Set the child to be the foreground process group.
7102 (attach_inferior): Set signal_pid.
7103
7104 2002-08-23 Daniel Jacobowitz <drow@mvista.com>
7105
7106 * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2.
7107
7108 2002-08-20 Jim Blandy <jimb@redhat.com>
7109
7110 * Makefile.in (LDFLAGS): Allow the configure script to establish a
7111 default for this.
7112
7113 2002-08-01 Andrew Cagney <cagney@redhat.com>
7114
7115 * Makefile.in: Make chill references obsolete.
7116
7117 2002-07-24 Kevin Buettner <kevinb@redhat.com>
7118
7119 * configure.in (unistd.h): Add to AC_CHECK_HEADERS list.
7120 * configure: Regenerate.
7121 * config.in: Regenerate.
7122
7123 2002-07-09 David O'Brien <obrien@FreeBSD.org>
7124
7125 * gdbreplay.c (stdlib.h, unistd.h): Conditionaly include.
7126 (perror_with_name, remote_close, remote_open, expect, play): Static.
7127
7128 2002-07-04 Michal Ludvig <mludvig@suse.cz>
7129
7130 * linux-x86-64-low.c (x86_64_regmap): Make it an array of
7131 byte offsets instead of an array of indexes.
7132 (x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.
7133
7134 2002-06-13 Daniel Jacobowitz <drow@mvista.com>
7135
7136 * regcache.c: Add comment.
7137
7138 2002-06-11 Daniel Jacobowitz <drow@mvista.com>
7139
7140 * thread-db.c: New file.
7141 * proc-service.c: New file.
7142 * acinclude.m4: New file.
7143 * Makefile.in: Add GDBSERVER_LIBS, gdb_proc_service_h,
7144 proc-service.o, and thread-db.o.
7145 (linux-low.o): Add USE_THREAD_DB.
7146 * acconfig.h: Add HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T,
7147 HAVE_LWPID_T, HAVE_PSADDR_T, and PRFPREGSET_T_BROKEN.
7148 * aclocal.m4: Regenerated.
7149 * config.in: Regenerated.
7150 * configure: Regenerated.
7151 * configure.in: Check for proc_service.h, sys/procfs.h,
7152 thread_db.h, and linux/elf.h headrs.
7153 Check for lwpid_t, psaddr_t, prgregset_t, prfpregset_t, and
7154 PRFPREGSET_T_BROKEN. Introduce srv_thread_depfiles and USE_THREAD_DB.
7155 Check for -lthread_db and thread support.
7156 * configure.srv: Enable thread_db support for ARM, i386, MIPS,
7157 PowerPC, and SuperH.
7158 * i387-fp.c: Constify arguments.
7159 * i387-fp.h: Likewise.
7160 * inferiors.c: (struct thread_info): Renamed from
7161 `struct inferior_info'. Remove PID member. Use generic inferior
7162 list header. All uses updated.
7163 (inferiors, signal_pid): Removed.
7164 (all_threads): New variable.
7165 (get_thread): Define.
7166 (add_inferior_to_list): New function.
7167 (for_each_inferior): New function.
7168 (change_inferior_id): New function.
7169 (add_inferior): Removed.
7170 (remove_inferior): New function.
7171 (add_thread): New function.
7172 (free_one_thread): New function.
7173 (remove_thread): New function.
7174 (clear_inferiors): Use for_each_inferior and free_one_thread.
7175 (find_inferior): New function.
7176 (find_inferior_id): New function.
7177 (inferior_target_data): Update argument type.
7178 (set_inferior_target_data): Likewise.
7179 (inferior_regcache_data): Likewise.
7180 (set_inferior_regcache_data): Likewise.
7181 * linux-low.c (linux_bp_reinsert): Remove.
7182 (all_processes, stopping_threads, using_thrads)
7183 (struct pending_signals, debug_threads, pid_of): New.
7184 (inferior_pid): Replace with macro.
7185 (struct inferior_linux_data): Remove.
7186 (get_stop_pc, add_process): New functions.
7187 (linux_create_inferior): Restore SIGRTMIN+1 before calling exec.
7188 Use add_process and add_thread.
7189 (linux_attach_lwp): New function, based on old linux_attach. Use
7190 add_process and add_thread. Set stop_expected for new threads.
7191 (linux_attach): New function.
7192 (linux_kill_one_process): New function.
7193 (linux_kill): Kill all LWPs.
7194 (linux_thread_alive): Use find_inferior_id.
7195 (check_removed_breakpoints, status_pending_p): New functions.
7196 (linux_wait_for_process): Renamed from linux_wait_for_one_inferior.
7197 Update. Use WNOHANG. Wait for cloned processes also. Update process
7198 struct for the found process.
7199 (linux_wait_for_event): New function.
7200 (linux_wait): Use it. Support LWPs.
7201 (send_sigstop, wait_for_sigstop, stop_all_processes)
7202 (linux_resume_one_process, linux_continue_one_process): New functions.
7203 (linux_resume): Support LWPs.
7204 (REGISTER_RAW_SIZE): Remove.
7205 (fetch_register): Use register_size instead. Call supply_register.
7206 (usr_store_inferior_registers): Likewise. Call collect_register.
7207 Fix recursive case.
7208 (regsets_fetch_inferior_registers): Improve error message.
7209 (regsets_store_inferior_registers): Add debugging.
7210 (linux_look_up_symbols): Call thread_db_init if USE_THREAD_DB.
7211 (unstopped_p, linux_signal_pid): New functions.
7212 (linux_target_ops): Add linux_signal_pid.
7213 (linux_init_signals): New function.
7214 (initialize_low): Call it. Initialize using_threads.
7215 * regcache.c (inferior_regcache_data): Add valid
7216 flag.
7217 (get_regcache): Fetch registers lazily. Add fetch argument
7218 and update all callers.
7219 (regcache_invalidate_one, regcache_invalidate): New
7220 functions.
7221 (new_register_cache): Renamed from create_register_cache.
7222 Return the new regcache.
7223 (free_register_cache): Change argument to a void *.
7224 (registers_to_string, registers_from_string): Call get_regcache
7225 with fetch flag set.
7226 (register_data): Make static. Pass fetch flag to get_regcache.
7227 (supply_register): Call get_regcache with fetch flag clear.
7228 (collect_register): Call get_regcache with fetch flag set.
7229 (collect_register_as_string): New function.
7230 * regcache.h: Update.
7231 * remote-utils.c (putpkt): Flush after debug output and use
7232 stderr.
7233 Handle input interrupts while waiting for an ACK.
7234 (input_interrupt): Use signal_pid method.
7235 (getpkt): Flush after debug output and use stderr.
7236 (outreg): Use collect_register_as_string.
7237 (new_thread_notify, dead_thread_notify): New functions.
7238 (prepare_resume_reply): Check using_threads. Set thread_from_wait
7239 and general_thread.
7240 (look_up_one_symbol): Flush after debug output.
7241 * server.c (step_thread, server_waiting): New variables.
7242 (start_inferior): Don't use signal_pid. Update call to mywait.
7243 (attach_inferior): Update call to mywait.
7244 (handle_query): Handle qfThreadInfo and qsThreadInfo.
7245 (main): Don't fetch/store registers explicitly. Use
7246 set_desired_inferior. Support proposed ``Hs'' packet. Update
7247 calls to mywait.
7248 * server.h: Update.
7249 (struct inferior_list, struct_inferior_list_entry): New.
7250 * target.c (set_desired_inferior): New.
7251 (write_inferior_memory): Constify.
7252 (mywait): New function.
7253 * target.h: Update.
7254 (struct target_ops): New signal_pid method.
7255 (mywait): Removed macro, added prototype.
7256
7257 * linux-low.h (regset_func): Removed.
7258 (regset_fill_func, regset_store_func): New.
7259 (enum regset_type): New.
7260 (struct regset_info): Add type field. Use new operation types.
7261 (struct linux_target_ops): stop_pc renamed to get_pc.
7262 Add decr_pc_after_break and breakpoint_at.
7263 (get_process, get_thread_proess, get_process_thread)
7264 (strut process_info, all_processes, linux_attach_lwp)
7265 (thread_db_init): New.
7266
7267 * linux-arm-low.c (arm_get_pc, arm_set_pc,
7268 arm_breakpoint, arm_breakpoint_len, arm_breakpoint_at): New.
7269 (the_low_target): Add new members.
7270 * linux-i386-low.c (i386_store_gregset, i386_store_fpregset)
7271 (i386_store_fpxregset): Constify.
7272 (target_regsets): Add new kind identifier.
7273 (i386_get_pc): Renamed from i386_stop_pc. Simplify.
7274 (i386_set_pc): Add debugging.
7275 (i386_breakpoint_at): New function.
7276 (the_low_target): Add new members.
7277 * linux-mips-low.c (mips_get_pc, mips_set_pc)
7278 (mips_breakpoint, mips_breakpoint_len, mips_reinsert_addr)
7279 (mips_breakpoint_at): New.
7280 (the_low_target): Add new members.
7281 * linux-ppc-low.c (ppc_get_pc, ppc_set_pc)
7282 (ppc_breakpoint, ppc_breakpoint_len, ppc_breakpoint_at): New.
7283 (the_low_target): Add new members.
7284 * linux-sh-low.c (sh_get_pc, sh_set_pc)
7285 (sh_breakpoint, sh_breakpoint_len, sh_breakpoint_at): New.
7286 (the_low_target): Add new members.
7287 * linux-x86-64-low.c (target_regsets): Add new kind
7288 identifier.
7289
7290 2002-05-15 Daniel Jacobowitz <drow@mvista.com>
7291
7292 From Martin Pool <mbp@samba.org>:
7293 * server.c (gdbserver_usage): New function.
7294 (main): Call it.
7295
7296 2002-05-14 Daniel Jacobowitz <drow@mvista.com>
7297
7298 * mem-break.c (reinsert_breakpoint_by_bp): Correct typo
7299 stop_at -> stop_pc.
7300
7301 2002-05-04 Andrew Cagney <ac131313@redhat.com>
7302
7303 * Makefile.in: Remove obsolete code.
7304
7305 2002-04-24 Michal Ludvig <mludvig@suse.cz>
7306
7307 * linux-low.c (regsets_fetch_inferior_registers),
7308 (regsets_store_inferior_registers): Removed cast to int from
7309 ptrace() calls.
7310 * regcache.h: Added declaration of struct inferior_info.
7311
7312 2002-04-20 Daniel Jacobowitz <drow@mvista.com>
7313
7314 * inferiors.c (struct inferior_info): Add regcache_data.
7315 (add_inferior): Call create_register_cache.
7316 (clear_inferiors): Call free_register_cache.
7317 (inferior_regcache_data, set_inferior_regcache_data): New functions.
7318 * regcache.c (struct inferior_regcache_data): New.
7319 (registers): Remove.
7320 (get_regcache): New function.
7321 (create_register_cache, free_register_cache): New functions.
7322 (set_register_cache): Don't initialize the register cache here.
7323 (registers_to_string, registers_from_string, register_data): Call
7324 get_regcache.
7325 * regcache.h: Add prototypes.
7326 * server.h: Likewise.
7327
7328 2002-04-20 Daniel Jacobowitz <drow@mvista.com>
7329
7330 * mem-break.c: New file.
7331 * mem-break.h: New file.
7332 * Makefile.in: Add mem-break.o rule; update server.h
7333 dependencies.
7334 * inferiors.c (struct inferior_info): Add target_data
7335 member.
7336 (clear_inferiors): Free target_data member if set.
7337 (inferior_target_data, set_inferior_target_data): New functions.
7338 * linux-i386-low.c (i386_breakpoint, i386_breakpoint_len)
7339 (i386_stop_pc, i386_set_pc): New. Add to the_low_target.
7340 * linux-low.c (linux_bp_reinsert): New variable.
7341 (struct inferior_linux_data): New.
7342 (linux_create_inferior): Use set_inferior_target_data.
7343 (linux_attach): Likewise. Call add_inferior.
7344 (linux_wait_for_one_inferior): New function.
7345 (linux_wait): Call it.
7346 (linux_write_memory): Add const.
7347 (initialize_low): Call set_breakpoint_data.
7348 * linux-low.h (struct linux_target_ops): Add breakpoint
7349 handling members.
7350 * server.c (attach_inferior): Remove extra add_inferior
7351 call.
7352 * server.h: Include mem-break.h. Update inferior.c
7353 prototypes.
7354 * target.c (read_inferior_memory)
7355 (write_inferior_memory): New functions.
7356 * target.h (read_inferior_memory)
7357 (write_inferior_memory): Change macros to prototypes.
7358 (struct target_ops): Update comments. Add const to write_memory
7359 definition.
7360
7361 2002-04-11 Daniel Jacobowitz <drow@mvista.com>
7362
7363 * linux-low.c (usr_store_inferior_registers): Support
7364 registers which are allowed to fail to store.
7365 * linux-low.h (linux_target_ops): Likewise.
7366 * linux-ppc-low.c (ppc_regmap): Support FPSCR.
7367 (ppc_cannot_store_register): FPSCR may not be storable.
7368
7369 2002-04-09 Daniel Jacobowitz <drow@mvista.com>
7370
7371 * server.h: Include <string.h> if HAVE_STRING_H.
7372 * ChangeLog: Correct paths in last ChangeLog entry.
7373
7374 2002-04-09 Daniel Jacobowitz <drow@mvista.com>
7375
7376 * linux-low.h: Remove obsolete prototypes.
7377 (struct linux_target_ops): New.
7378 (extern the_low_target): New.
7379 * linux-low.c (num_regs, regmap): Remove declarations.
7380 (register_addr): Use the_low_target explicitly.
7381 (fetch_register): Likewise.
7382 (usr_fetch_inferior_registers): Likewise.
7383 (usr_store_inferior_registers): Likewise.
7384 * linux-arm-low.c (num_regs): Remove.
7385 (arm_num_regs): Define.
7386 (arm_regmap): Renamed from regmap, made static.
7387 (arm_cannot_fetch_register): Renamed from cannot_fetch_register,
7388 made static.
7389 (arm_cannot_store_register): Renamed from cannot_store_register,
7390 made static.
7391 (the_low_target): New.
7392 * linux-i386-low.c (num_regs): Remove.
7393 (i386_num_regs): Define.
7394 (i386_regmap): Renamed from regmap, made static.
7395 (i386_cannot_fetch_register): Renamed from cannot_fetch_register,
7396 made static.
7397 (i386_cannot_store_register): Renamed from cannot_store_register,
7398 made static.
7399 (the_low_target): New.
7400 * linux-ia64-low.c (num_regs): Remove.
7401 (ia64_num_regs): Define.
7402 (ia64_regmap): Renamed from regmap, made static.
7403 (ia64_cannot_fetch_register): Renamed from cannot_fetch_register,
7404 made static.
7405 (ia64_cannot_store_register): Renamed from cannot_store_register,
7406 made static.
7407 (the_low_target): New.
7408 * linux-m68k-low.c (num_regs): Remove.
7409 (m68k_num_regs): Define.
7410 (m68k_regmap): Renamed from regmap, made static.
7411 (m68k_cannot_fetch_register): Renamed from cannot_fetch_register,
7412 made static.
7413 (m68k_cannot_store_register): Renamed from cannot_store_register,
7414 made static.
7415 (the_low_target): New.
7416 * linux-mips-low.c (num_regs): Remove.
7417 (mips_num_regs): Define.
7418 (mips_regmap): Renamed from regmap, made static.
7419 (mips_cannot_fetch_register): Renamed from cannot_fetch_register,
7420 made static.
7421 (mips_cannot_store_register): Renamed from cannot_store_register,
7422 made static.
7423 (the_low_target): New.
7424 * linux-ppc-low.c (num_regs): Remove.
7425 (ppc_num_regs): Define.
7426 (ppc_regmap): Renamed from regmap, made static.
7427 (ppc_cannot_fetch_register): Renamed from cannot_fetch_register,
7428 made static.
7429 (ppc_cannot_store_register): Renamed from cannot_store_register,
7430 made static.
7431 (the_low_target): New.
7432 * linux-s390-low.c (num_regs): Remove.
7433 (s390_num_regs): Define.
7434 (s390_regmap): Renamed from regmap, made static.
7435 (s390_cannot_fetch_register): Renamed from cannot_fetch_register,
7436 made static.
7437 (s390_cannot_store_register): Renamed from cannot_store_register,
7438 made static.
7439 (the_low_target): New.
7440 * linux-sh-low.c (num_regs): Remove.
7441 (sh_num_regs): Define.
7442 (sh_regmap): Renamed from regmap, made static.
7443 (sh_cannot_fetch_register): Renamed from cannot_fetch_register,
7444 made static.
7445 (sh_cannot_store_register): Renamed from cannot_store_register,
7446 made static.
7447 (the_low_target): New.
7448 * linux-x86-64-low.c (x86_64_regmap): Renamed from regmap.
7449 (the_low_target): New.
7450
7451 2002-04-09 Daniel Jacobowitz <drow@mvista.com>
7452
7453 * Makefile.in: Add stamp-h target.
7454 * configure.in: Create stamp-h.
7455 * configure: Regenerated.
7456
7457 2002-04-09 Daniel Jacobowitz <drow@mvista.com>
7458
7459 * inferiors.c: New file.
7460 * target.c: New file.
7461 * target.h: New file.
7462 * Makefile.in: Add target.o and inferiors.o. Update
7463 dependencies.
7464 * linux-low.c (inferior_pid): New static variable,
7465 moved from server.c.
7466 (linux_create_inferior): Renamed from create_inferior.
7467 Call add_inferior. Return 0 on success instead of a PID.
7468 (linux_attach): Renamed from myattach.
7469 (linux_kill): Renamed from kill_inferior. Call clear_inferiors ().
7470 (linux_thread_alive): Renamed from mythread_alive.
7471 (linux_wait): Renamed from mywait. Call clear_inferiors () if the
7472 child dies.
7473 (linux_resume): Renamed from myresume. Add missing ``return 0''.
7474 (regsets_store_inferior_registers): Correct error message.
7475 Add missing ``return 0''.
7476 (linux_fetch_registers): Renamed from fetch_inferior_registers.
7477 (linux_store_registers): Renamed from store_inferior_registers.
7478 (linux_read_memory): Renamed from read_inferior_memory.
7479 (linux_write_memory): Renamed from write_inferior_memory.
7480 (linux_target_ops): New structure.
7481 (initialize_low): Call set_target_ops ().
7482 * remote-utils.c (unhexify): New function.
7483 (hexify): New function.
7484 (input_interrupt): Send signals to ``signal_pid''.
7485 * server.c (inferior_pid): Remove.
7486 (start_inferior): Update create_inferior call.
7487 (attach_inferior): Call add_inferior.
7488 (handle_query): New function.
7489 (main): Call handle_query for `q' packets.
7490 * server.h: Include "target.h". Remove obsolete prototypes.
7491 Add prototypes for "inferiors.c", "target.c", hexify, and unhexify.
7492
7493 2002-04-09 Daniel Jacobowitz <drow@mvista.com>
7494
7495 * Makefile.in: Add WARN_CFLAGS. Update configury
7496 dependencies.
7497 * configure.in: Check for <string.h>
7498 * configure: Regenerate.
7499 * config.in: Regenerate.
7500 * gdbreplay.c: Include needed system headers.
7501 (remote_open): Remove strchr prototype.
7502 * linux-low.h: Correct #ifdef to HAVE_LINUX_USRREGS.
7503 * regcache.c (supply_register): Change buf argument to const void *.
7504 (supply_register_by_name): Likewise.
7505 (collect_register): Change buf argument to void *.
7506 (collect_register_by_name): Likewise.
7507 * regcache.h: Add missing prototypes.
7508 * remote-utils.c: Include <arpa/inet.h> for inet_ntoa.
7509 * server.c (handle_query): New function.
7510 (attached): New static variable, moved out of main.
7511 (main): Quiet longjmp clobber warnings.
7512 * server.h: Add ATTR_NORETURN and ATTR_FORMAT. Update prototypes.
7513 * utils.c (error): Remove NORETURN.
7514 (fatal): Likewise.
This page took 0.202731 seconds and 4 git commands to generate.