Fix ChangeLog format.
[deliverable/binutils-gdb.git] / gdb / gdbserver / ChangeLog
CommitLineData
8b93d60f
JB
12012-12-17 Joel Brobecker <brobecker@adacore.com>
2
3 * lynx-low.c (lynx_wait_1): Add debug trace before adding
4 new thread.
5
037335a7
JB
62012-12-17 Joel Brobecker <brobecker@adacore.com>
7
8 * lynx-low.c (ptrace_request_to_str): Add handling for
9 PTRACE_GETTRACESIG.
10
52d4cbd8
JB
112012-12-17 Joel Brobecker <brobecker@adacore.com>
12
13 * lynx-low.c (lynx_attach): Delete variable new_process.
14
ab8f6ca9
JB
152012-12-17 Joel Brobecker <brobecker@adacore.com>
16
17 * lynx-low.c (lynx_create_inferior): Delete variable
18 new_process.
19
78cbc024
JB
202012-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
14a00470
YQ
252012-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
61c125b9
TT
502012-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
e90e9ad9
TT
992012-12-05 Tom Tromey <tromey@redhat.com>
100
101 PR gdb/14917:
102 * server.h (current_insn_ptr, emit_error): Declare 'extern'.
103
02d403bf 1042012-11-28 Markus Metzger <markus.t.metzger@intel.com>
945bf713
MM
105
106 * configure.ac: Check for linux/perf_event.h.
107 * config.in: Regenerated.
108 * configure: Regenerated.
109
0270a750
PA
1102012-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
8c29b58e
YQ
1152012-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
8bdce1ff
PM
1222012-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
02d403bf 1362012-11-13 Markus Metzger <markus.t.metzger@intel.com>
3ba6ad0f
MM
137
138 * Makefile.in: (INTERNAL_CFLAGS): Add -DGDBSERVER
139 (various make rules): Remove -DGDBSERVER
140
fbd5db48
YQ
1412012-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
b3dc46ff
AB
1502012-10-01 Andrew Burgess <aburgess@broadcom.com>
151
152 * server.c (handle_search_memory_1): Include access length in
153 warning message.
154
07c04788
HPN
1552012-09-05 Michael Brandt <michael.brandt@axis.com>
156
157 * linux-crisv32-low.c: Fix compile errors.
158
918d227b
YQ
1592012-09-04 Yao Qi <yao@codesourcery.com>
160
161 * tracepoint.c (cmd_qtsv): Adjust debug message.
162 Don't check CUR_TPOINT.
163
18c1b81a
YQ
1642012-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
dc82f37b
YQ
1752012-08-23 Yao Qi <yao@codesourcery.com>
176
177 * server.h: Remove declaration of 'xsnprintf'.
178
406b1477
KS
1792012-08-22 Keith Seitz <keiths@redhat.com>
180
181 * server.h: Include build-gnulib-gbserver/config.h.
182 * gdbreplay.c: Likewise.
183
e6712ff1
DE
1842012-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
7c3270ae
UW
1992012-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
b62e2b27
UW
2052012-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
78a99e91
PA
2112012-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
fcf303ab
UW
2172012-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
7255706c
YQ
2222012-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
5a3f286f
YQ
2392012-07-27 Yao Qi <yao@codesourcery.com>
240
241 * server.c (process_point_options): Stop at 'X' when parsing.
242
961bd387
ME
2432012-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
aa7c7447
JK
2512012-07-07 Jan Kratochvil <jan.kratochvil@redhat.com>
252
253 * gdbserver/linux-low.c (initialize_low): Call
254 linux_ptrace_init_warnings.
255
7f216e7c
DE
2562012-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
d3ce09f5
SS
2612012-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
2f8f6aed
YQ
2892012-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
0c9070b3
YQ
2942012-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
c52daf70
YQ
3012012-06-11 Yao Qi <yao@codesourcery.com>
302
303 * linux-low.c (linux_attach): Add 'static'.
304
d38bbb0a
YQ
3052012-06-06 Yao Qi <yao@codesourcery.com>
306
307 * ax.c (gdb_eval_agent_expr): Print `top' in hex.
308
89dc0afd
JK
3092012-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
75f62ce7
TJB
3142012-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
65f479b6
PA
3192012-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
0c5bf5a9
JK
3262012-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
a493e3e2
PA
3302012-05-24 Pedro Alves <palves@redhat.com>
331
332 PR gdb/7205
333
334 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
335
2ea28649
PA
3362012-05-24 Pedro Alves <palves@redhat.com>
337
338 PR gdb/7205
339
340 Replace target_signal with gdb_signal throughout.
341
8d409d16
MR
3422012-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
23512c01
MGD
3472012-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
4934b29e
MR
3542012-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
bde24c0a
PA
3602012-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
623b6bdf
YQ
3732012-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
f15f9948
TJB
3842012-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
38ea300a
PA
4002012-04-20 Pedro Alves <palves@redhat.com>
401
402 * configure: Regenerate.
403
c971b7fa
PA
4042012-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
809277f8
PA
4282012-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
fd9bb8b8
PA
4382012-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
1c298c66
PA
4442012-04-19 Pedro Alves <palves@redhat.com>
445
446 * Makefile.in (INCGNU): Add -Ignulib.
447
57c4b50b
PA
4482012-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
1030e047
PA
4562012-04-19 Pedro Alves <palves@redhat.com>
457
458 * config.in: Regenerate.
459
447d4319
PA
4602012-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
aad9eab9
YQ
4672012-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
3e10640f
YQ
4732012-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
71622373
PA
4802012-04-18 Pedro Alves <palves@redhat.com>
481
482 * aclocal.m4: Regenerate.
483 * configure: Regenerate.
484
80d26939
YQ
4852012-04-16 Yao Qi <yao@codesourcery.com>
486
487 * tracepoint.c (cmd_qtstart): Download tracepoints even when they are
488 duplicated on address.
489
42476b70
YQ
4902012-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
7bc83639
YQ
5042012-04-16 Yao Qi <yao@codesourcery.com>
505
506 * tracepoint.c (download_tracepoints): Moved to ...
507 (cmd_qtstart): ... here.
508
5f18041e
YQ
5092012-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
55a8c076
YQ
5192012-04-14 Yao Qi <yao@codesourcery.com>
520
521 Import gnulib module inttypes.
522 * aclocal.m4, config.in, configure: Regenerated.
523
dc750257
YQ
5242012-04-14 Yao Qi <yao@codesourcery.com>
525
526 * Makefile.in (maintainer-clean, realclean, distclean): Remove
527 Makefile and config.status at last.
528
0ab5faf9
YQ
5292012-04-13 Yao Qi <yao@codesourcery.com>
530
531 * tracepoint.c: Include stdint.h unconditionally.
532
18f5fd81
TJB
5332012-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
4d47af5c
L
5412012-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
ecedbe58
PA
5662012-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
c92b5177
L
5742012-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
214d508e
L
5852012-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
c9a1864a
YQ
5952012-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
367ba2c2
MR
6092012-04-10 Maciej W. Rozycki <macro@codesourcery.com>
610
611 * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP.
612
9d236627
PA
6132012-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
111217b3
PA
6202012-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
8365dcf5
TJB
6262012-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
689cc2ae
PA
6352012-03-29 Pedro Alves <palves@redhat.com>
636
637 * linux-low.c (regsets_store_inferior_registers) [__sparc__]:
638 Correct ptrace arguments.
639
c14dfd32
PA
6402012-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
63c88e13
PA
6672012-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
fb723180
PA
6722012-03-26 Pedro Alves <palves@redhat.com>
673
674 * linux-low.c (linux_qxfer_libraries_svr4): Fix pasto in comment.
675
0afae3cf
PA
6762012-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
485f1ee4
PA
6822012-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
a5362b9a
TS
6882012-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
d226c142
MF
6992012-03-21 Mike Frysinger <vapier@gentoo.org>
700
701 * .gitignore: Ignore more files.
702
122f36ef
PA
7032012-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
fc3e5175
YQ
7112012-03-15 Yao Qi <yao@codesourcery.com>
712
713 * tracepoint.c (install_tracepoint): Move duplicated tracepoint
714 handling to ...
715 (cmd_qtdp): ... here.
716
8d0d92cd
YQ
7172012-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
87b0bb13
JK
7292012-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
5f572dec
JK
7342012-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
f4647387
YQ
7452012-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
9b224c5e
PA
7542012-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
e237a7e2
JK
7642012-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
5808517f
YQ
7702012-03-03 Yao Qi <yao@codesourcery.com>
771
772 * tracepoint.c (tracepoint_look_up_symbols): Update call to
773 agent_look_up_symbols.
774
58b4daa5
YQ
7752012-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
8ffcbaaf
YQ
7842012-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
d1feda86
YQ
7942012-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
2fa291ac
YQ
8052012-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
05044653
PA
8262012-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
8d00225b
YQ
8362012-03-02 Yao Qi <yao@codesourcery.com>
837
838 * tracepoint.c (do_action_at_tracepoint): Write `stop_pc' in
839 debug log.
840
19560ba5
YQ
8412012-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
1faeff08
MR
8462012-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
c03e6ccc
YQ
8992012-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
644cebc9
PA
9052012-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
c14d7ab2
PA
9102012-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
412c89dd
LM
9162012-02-25 Luis Machado <lgustavo@codesourcery.com>
917
918 * mem-break.c (clear_gdb_breakpoint_conditions): Fix de-allocation
919 of conditions.
920
b745defe
MR
9212012-02-24 Maciej W. Rozycki <macro@codesourcery.com>
922
923 * linux-mips-low.c (mips_regmap): Correct the index of $f9.
924
9f3a5c85
LM
9252012-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
5e1dc496
LM
9552012-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
277e4e52
PA
10162012-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
bf4c19f7
YQ
10232012-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
d73f2619
YQ
10322012-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
f8255c2a
JB
10382012-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
da84f473
PA
10452012-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
e886a173
PA
10532012-02-02 Pedro Alves <palves@redhat.com>
1054
1055 * tracepoint.c (cmd_qtminftpilen): Return 0 if there's no current
1056 inferior.
1057
be07f1a2
PA
10582012-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
d8301ad1
JK
10692012-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
01b17894
PA
10762012-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
e825046f
JK
10812012-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
b9e7b9c3
UW
10862012-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
901f9912
UW
10912012-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
fc1ab1a0
PA
10972012-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
7d5d4e98
PA
11022012-01-13 Pedro Alves <palves@redhat.com>
1103
1104 * server.c (attach_inferior): Clear `cont_thread'.
1105
f128d5e9
PA
11062012-01-13 Pedro Alves <palves@redhat.com>
1107
1108 * server.c (main): Avoid infinite loop while detaching/killing
1109 after a longjmp.
1110
06db92f0
DE
11112012-01-09 Doug Evans <dje@google.com>
1112
1113 * server.c (start_inferior): Set last_ptid in --wrapper case.
1114
32d92999
YQ
11152012-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
5e0a92a9
YQ
11212012-01-04 Yao Qi <yao@codesourcery.com>
1122
1123 * tracepoint.c (cmd_qtdp): Print debug message
1124 for static tracepoint.
1125
ae639e8c
YQ
11262012-01-04 Yao Qi <yao@codesourcery.com>
1127
1128 * tracepoint.c (trace_vdebug): Differentiate debug message
1129 between gdbserver and IPA.
1130
f72429c5
YQ
11312012-01-03 Yao Qi <yao@codesourcery.com>
1132
1133 * tracepoint.c (tracepoint_was_hit): Don't collect for
1134 static tracepoint.
1135
12c3e59c
JB
11362012-01-02 Joel Brobecker <brobecker@adacore.com>
1137
1138 * terminal.h: Reformat copyright header.
1139
67827812
JB
11402012-01-02 Joel Brobecker <brobecker@adacore.com>
1141
1142 * server.c (gdbserver_version): Update copyright year.
1143 * gdbreplay.c (gdbreplay_version): Likewise.
1144
3e52c33d
JK
11452011-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
66f1260e
HZ
11532011-12-18 Hui Zhu <teawater@gmail.com>
1154
1155 * linux-low.c (linux_create_inferior): Save return value to ret.
1156
e77616d7
DE
11572011-12-16 Doug Evans <dje@google.com>
1158
e7b06c57
DE
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
e77616d7
DE
1173 * remote-utils.c (prepare_resume_reply): Remove extraneous \n
1174 in debugging output.
1175
82067193
YQ
11762011-12-15 Yao Qi <yao@codesourcery.com>
1177
1178 * tracepoint.c: Include sys/syscall.h.
1179 (gdb_ust_thread): Remove preprocessor conditional.
1180
82bfbe7e
PA
11812011-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
712c6575
YQ
11862011-12-14 Yao Qi <yao@codesourcery.com>
1187
1188 * tracepoint.c (gdb_ust_thread): Don't ignore return value
1189 of write.
1190
d54d1edf
YQ
11912011-12-14 Yao Qi <yao@codesourcery.com>
1192
1193 * i386-low.c (i386_low_stopped_data_address): Initialize local
1194 variable `control'.
1195
6210a125
PA
11962011-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
2ece8244
YQ
12052011-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
784867a5
JK
12112011-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
6bf36717
JK
12162011-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
50275556
MR
12312011-12-06 Maciej W. Rozycki <macro@codesourcery.com>
1232
1233 * linux-low.c (fetch_register, store_register): Make code
1234 consistent, fix formatting.
1235
7325beb4
MR
12362011-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
c642a434
UW
12422011-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
2268b414
JK
12792011-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
d6db1fab
UW
12962011-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
242f5f1c
SS
13042011-11-24 Stan Shebs <stan@codesourcery.com>
1305
1306 * tracepoint.c (cmd_qtstatus): Use plongest instead of %llx.
1307
f196051f
SS
13082011-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
405f8e94
SS
13252011-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
1e4d1764
YQ
13762011-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
5c73ff4e
YQ
13852011-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
86a30030
YQ
13952011-11-08 Yao Qi <yao@codesourcery.com>
1396
1397 * remote-utils.c (relocate_instruction): A comment fix.
1398
8d26e50c
JB
13992011-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
a59306a3
YQ
14102011-11-05 Yao Qi <yao@codesourcery.com>
1411
1412 * tracepoint.c (gdb_collect): Loop over tracepoints of same
1413 address as TPOINT's.
1414
3065dfb6
SS
14152011-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
fd0d8c7c
YQ
14212011-11-02 Yao Qi <yao@codesourcery.com>
1422
1423 * tracepoint.c (cmd_qtstart): Remove unused local variables.
1424
609086b1
YQ
14252011-11-02 Yao Qi <yao@codesourcery.com>
1426
1427 * target.h: Fix a typo in comment.
1428
b9fd1791
PA
14292011-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
03583c20
UW
14372011-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
723b724b
MF
14572011-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
55329a5c 14702011-09-21 Ulrich Weigand <ulrich.weigand@linaro.org>
71487fd7
UW
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
55329a5c 14822011-09-21 Ulrich Weigand <ulrich.weigand@linaro.org>
09b4ad9f
UW
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
6b9801d4
SS
15142011-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
bf15cbda
SS
15422011-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
943ca1dd
JZ
15472011-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
e3deef73
LM
15542011-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
13da1c97
LM
15622011-08-24 Luis Machado <lgustavo@codesourcery.com>
1563
1564 * configure.srv: Add linux-procfs.o dependencies.
1565
881127c9
YQ
15662011-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
58dbd541
YQ
15712011-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
78d85199
YQ
15822011-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
a959a88d
EZ
15932011-08-05 Eli Zaretskii <eliz@gnu.org>
1594
1595 * win32-low.c: Include <stdint.h>.
1596
1ced966e
PA
15972011-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
d26e3629
KY
16092011-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
2275a1a7
PA
16482011-07-20 Pedro Alves <pedro@codesourcery.com>
1649
1650 * tracepoint.c (tracepoint_look_up_symbols): Return upon the first
1651 symbol error.
1652
0a5b1e09
PA
16532011-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
6938fd34
YQ
16592011-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
b481f9e0
TT
16652011-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
98a5dd13
DE
16702011-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
d248b706
KY
16782011-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
84e578fb
DE
16932011-05-10 Doug Evans <dje@google.com>
1694
1695 * thread-db.c (thread_db_handle_monitor_command): Handle elided path.
1696
71f55dd8
DE
16972011-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
4d393d60
JM
17052011-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
b00ad6ff
NF
17102011-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
af96c192
YQ
17182011-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
03f2bd59
JK
17252011-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
7a9dd1b2
TT
17382011-04-19 Tom Tromey <tromey@redhat.com>
1739
1740 * win32-low.c (handle_load_dll): Remove duplicate "the".
1741
81239425
PM
17422011-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
9e0627f1
PM
17502011-03-18 Pierre Muller <muller@ics.u-strasbg.fr>
1751
1752 * gdbserver/server.h (Macro _): Define it if not available.
1753
588eebee
MS
17542011-03-14 Michael Snyder <msnyder@vmware.com>
1755
348af9f7 1756 * hostio.c (handle_close): Remove unnecessary null test.
588eebee 1757
43f70d4c
JB
17582011-03-10 Joel Brobecker <brobecker@adacore.com>
1759
1760 * Makefile.in (maintainer-clean realclean distclean): Remove
1761 "make ... subdir_do" command.
1762
348af9f7
MS
17632011-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
e637a4f5
YQ
17692011-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
e6edda56
JK
17892011-03-07 Jan Kratochvil <jan.kratochvil@redhat.com>
1790
1791 * remote-utils.c (putpkt_binary_1): Calculate BUF2 size dynamically.
1792
e5141119
JB
17932011-03-06 Yao Qi <yao@codesourcery.com>
1794
1795 * Makefile.in (REQUIRED_SUBDIRS): Remove $(LIBCOMMON_DIR).
1796
64794aa4
JB
17972011-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
7a762829
YQ
18042011-03-04 Yao Qi <yao@codesourcery.com>
1805
1806 * Makefile.in: Remove GNU make feature --directory.
1807
348af9f7
MS
18082011-03-04 Michael Snyder <msnyder@vmware.com>
1809
1810 * server.c (queue_stop_reply): Call xmalloc not malloc.
1811
18122011-03-02 Michael Snyder <msnyder@vmware.com>
1813
1814 * linux-arm-low.c (arm_arch_setup): Replace malloc with xmalloc.
1815
9f72fee2
MS
18162011-02-28 Michael Snyder <msnyder@vmware.com>
1817
588eebee
MS
1818 * tracepoint.c (cmd_qtv): Discard unused value 'packet'.
1819 (cmd_qtframe): Ditto.
1820 (cmd_qtbuffer): Ditto.
1821 (cmd_bigqtbuffer): Ditto.
1822
9f72fee2
MS
1823 * utils.c (decimal2str): Initialize 'width' to nine, then
1824 don't mess with it.
1825
8040bd49
UW
18262011-02-28 Ulrich Weigand <uweigand@de.ibm.com>
1827
1828 * hostio.c (require_data): Free *data, not data.
1829
7e52cbd0
JK
18302011-02-28 Jan Kratochvil <jan.kratochvil@redhat.com>
1831
1832 * hostio.c (require_data): Use free, not xfree.
1833
9130f83e
MS
18342011-02-27 Michael Snyder <msnyder@vmware.com>
1835
4b812f4e
MS
1836 * server.c (handle_query): Discard unused value.
1837
9130f83e
MS
1838 * hostio.c (require_data): Free malloc memory before returning
1839 error.
1840
69d37113
MS
18412011-02-26 Michael Snyder <msnyder@vmware.com>
1842
1843 * linux-low.c (list_threads): Call closedir for dirent.
1844
35f5825a
MS
18452011-02-27 Michael Snyder <msnyder@vmware.com>
1846
2a589cef
MS
1847 * i386-low.c (i386-length_and_rw_bits): Comment the fact that
1848 a case statement falls through.
1849
0adea5f7
MS
1850 * linux-low.c (linux_xfer_siginfo): Fix fencepost error.
1851
35f5825a
MS
1852 * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Fix fencepost error
1853 in comparison.
1854
238f1c74
MS
18552011-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
633ff500
JB
18612011-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
f9c6ff72
HZ
18682011-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
94d5e490
TT
18732011-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
c7f96d2b
TT
18802011-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
0feedb2c
JK
18882011-02-15 Jan Kratochvil <jan.kratochvil@redhat.com>
1889
1890 * aclocal.m4: Regenerated with aclocal-1.11.1.
1891
b3b9301e
PA
18922011-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
4f3e6fb7
YQ
19072011-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
764880b7
PA
19132011-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
1c79eb8a
PA
19212011-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
85724a0e
PA
19412011-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
d08aafef
PA
19462011-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
493e2a69
MS
19672011-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
44944448
JB
19872011-01-05 Joel Brobecker <brobecker@adacore.com>
1988
1989 * gdbserver/configure.ac, gdbserver/gdbserver.1: Copyright year
1990 update.
1991
71ce852c
JB
19922011-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
eb826dc6
MF
19982010-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
39ab222a
MF
20092010-12-23 Mike Frysinger <vapier@gentoo.org>
2010
2011 * .gitignore: New file.
2012
a1f2ce7d
MF
20132010-11-16 Mike Frysinger <vapier@gentoo.org>
2014
2015 * linux-low.c (linux_tracefork_child): Add char* cast to arg.
2016
f474844c
JZ
20172010-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
f1048712
DE
20232010-10-04 Doug Evans <dje@google.com>
2024
2025 * Makefile.in (uninstall): Use $(DESTDIR).
2026
b53a1623
PA
20272010-09-24 Pedro Alves <pedro@codesourcery.com>
2028
e6ee044d
PA
2029 PR gdb/11842
2030
b53a1623
PA
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
fa1bd1e4
JB
20362010-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
47fac8f8
JB
20412010-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
1adfc54d
JB
20462010-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
c2a66c29
NS
20512010-09-09 Nathan Sidwell <nathan@codesourcery.com>
2052
2053 * configure.ac: Add --enable-inprocess-agent option.
2054 * configure: Rebuilt.
2055
32fcada3
YQ
20562010-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
0cccb683
YQ
20642010-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
423ec54c
JK
20692010-09-06 Jan Kratochvil <jan.kratochvil@redhat.com>
2070
2071 * target.c (mywait) <TARGET_WAITKIND_EXITED>: Fix to use INTEGER.
2072
12ac6819
PA
20732010-09-06 Pedro Alves <pedro@codesourcery.com>
2074
2075 * Makefile.in (install-only): Replace $IPA_DEPFILES with
2076 "$(IPA_DEPFILES)".
2077
8ed54b31
JB
20782010-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
bb0116a4
JB
20882010-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
a778ab81 20952010-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
8b034a19 21032010-09-01 Joel Brobecker <brobecker@adacore.com>
2104
2105 * Makefile.in (memmem.o): Build with -Wno-error.
2106
21072010-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
21142010-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
1a981360
PA
21212010-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
b4d51a55
PA
21362010-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
ec48365d
PA
21422010-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
854d88f0
PA
21602010-08-27 Pedro Alves <pedro@codesourcery.com>
2161
2162 * configure.ac (build_warnings): Add -Wno-char-subscripts.
2163 * configure: Regenerate.
2164
0146f85b
PA
21652010-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
90d74c30
PA
21792010-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
fd467969
PA
22012010-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
331e2f5f
PA
22122010-08-26 Pedro Alves <pedro@codesourcery.com>
2213
2214 * mem-break.c [HAVE_MALLOC_H]: Include malloc.h.
2215
e581f2b4
PA
22162010-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
3c11dd79
PA
22272010-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
d20a8ad9
PA
22322010-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
964e4306
PA
22412010-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
5f21a75b
PA
22782010-08-24 Pedro Alves <pedro@codesourcery.com>
2279
2280 * linux-low.h (linux_thread_area): Delete declaration.
2281
3e4c1235
TS
22822010-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
1971b033
PA
22872010-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
310444ac
PA
22962010-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
a19cae16
JK
23032010-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
30d50328
JK
23092010-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
5c3216e2
OS
23152010-07-20 Ozkan Sezer <sezeroz@gmail.com>
2316
c6f46ca0
OS
2317 * server.c (handle_query): strcpy() the returned string from paddress()
2318 instead of sprintf().
5c3216e2
OS
2319 * utils.c (paddress): Return phex_nz().
2320
6bd31874
JB
23212010-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
0fb4aa4b
PA
23272010-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
9e4344e5
PA
24132010-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
c6beb2cb
PA
24202010-06-20 Pedro Alves <pedro@codesourcery.com>
2421
2422 * tracepoint.c (condition_true_at_tracepoint): Don't run compiled
2423 conditions in gdbserver.
2424
d2ed6730
UW
24252010-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
4e29fb54
PA
24302010-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
6a271cae
PA
24402010-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
92b72907
UW
25132010-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
fa593d66
PA
25182010-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
d149dd1d
PA
27742010-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
f6528abd
JK
27792010-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
ca2a87a0
JK
27882010-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
363a6e9f
OS
27932010-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
d23b6cb1
PA
27992010-05-23 Pedro Alves <pedro@codesourcery.com>
2800
2801 * config.h: Regenerate.
2802
28d3cf85
MK
28032010-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
fea36a59
MK
28082010-05-19 Maxim Kuvyrkov <maxim@codesourcery.com>
2809
2810 * linux-m68k-low.c: Include <asm/ptrace.h>
2811 (ps_get_thread_area): Implement.
2812
24b066ba
DE
28132010-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
9836d6ea
PA
28302010-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
7984d532
PA
28522010-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
e471f25b
PA
28962010-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
1915ef4f
PA
29032010-05-02 Pedro Alves <pedro@codesourcery.com>
2904
2905 * README: Use consistent `GDB' and `GDBserver' spellings.
2906
f9e39928
PA
29072010-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
1e7fc18c
PA
29332010-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
02fc4de7
PA
29382010-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
bc3b5632
DE
29512010-04-26 Doug Evans <dje@google.com>
2952
ae1ada35
DE
2953 * server.c (handle_general_set): Make static.
2954
bc3b5632
DE
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
65730243
DE
29592010-04-23 Doug Evans <dje@google.com>
2960
2961 * server.c (start_inferior): Print inferior argv if --debug.
2962
a8ae7dc0
AR
29632010-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
1c07cc19
PM
29682010-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
e0a61e09
PM
29752010-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
54709339
PM
29802010-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
e8f0053d
PM
29892010-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
c481e77e
PM
30022010-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
12ea4b69
PM
30072010-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
f6d1620c
L
30142010-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
8e642873
PM
30192010-04-16 Pierre Muller <muller@ics.u-strasbg.fr>
3020
3021 * configure: Regenerate.
3022
711e434b
PM
30232010-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
505106cd
PA
30362010-04-12 Pedro Alves <pedro@codesourcery.com>
3037
505106cd
PA
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
e8470a06
PA
30472010-04-12 Pedro Alves <pedro@codesourcery.com>
3048
3049 * server.h (buffer_xml_printf): Remove redundant `;'.
3050
45ba0d02
PA
30512010-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
59e04013
L
30602010-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
8336d594
PA
30652010-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
5d267c4c
PA
31642010-04-11 Pedro Alves <pedro@codesourcery.com>
3165
3166 * regcache.c (realloc_register_cache): Invalidate inferior's
3167 regcache before recreating it.
3168
623ccd72
PA
31692010-04-09 Pedro Alves <pedro@codesourcery.com>
3170
3171 * tracepoint.c (cmd_qtstatus): Report trace buffer circularity.
3172
219f2f23
PA
31732010-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.
889bf7c5 3224
219f2f23
PA
3225 * tracepoint.c: New.
3226
3227 * Makefile.in (OBS): Add tracepoint.o.
3228 (tracepoint.o): New rule.
3229
3a13a53b
L
32302010-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
1570b33e
L
32472010-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
fc7238bb
PA
33232010-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
bdabb078
PA
33352010-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
d3bbe7a0
PA
33422010-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
8b07ae33
PA
33592010-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
6bf5e0ba
PA
34172010-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
414a389f
PA
34362010-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
2280c721
PA
34522010-03-24 Pedro Alves <pedro@codesourcery.com>
3453
3454 * server.c (handle_query): Assign, not compare.
3455
d50171e4
PA
34562010-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
30ba68cb
MS
35402010-03-23 Michael Snyder <msnyder@vmware.com>
3541
3542 * server.c (crc32): New function.
3543 (handle_query): Add handling for 'qCRC:' request.
3544
b9a881c2
PA
35452010-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
e92d13d5
PA
35502010-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
64daa791
AS
35562010-03-15 Andreas Schwab <schwab@redhat.com>
3557
3558 * configure.srv: Fix typo setting srv_regobj.
3559
f52cd8cd
PA
35602010-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
93ae6fdc
PA
35662010-03-14 Pedro Alves <pedro@codesourcery.com>
3567
3568 * linux-low.c (linux_write_memory): Bail out early if peeking
3569 memory failed.
3570
c3adc08c
PA
35712010-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
bce522a2
PA
35842010-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
90884b2b
L
35892010-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
193f13e6
MK
36362010-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
85d721b8
PA
36422010-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
6076632b
DE
36502010-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
3327ccf7
L
36552010-02-03 H.J. Lu <hongjiu.lu@intel.com>
3656
3657 * regcache.c (supply_register): Clear regcache if buf is NULL.
3658
0718675c 36592010-02-02 Nicolas Roche <roche@sourceware.org>
3327ccf7 3660 Joel Brobecker <brobecker@adacore.com>
0718675c
JB
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
177321bd
DJ
36662010-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
2b009048
DJ
36722010-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
3be029c7
PA
36782010-01-21 Pedro Alves <pedro@codesourcery.com>
3679
3680 * linux-ppc-low.c (ppc_arch_setup): Adjust to regcache changes.
3681
18f5de3b
JK
36822010-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
3743bb4f
DE
36872010-01-21 Doug Evans <dje@google.com>
3688
14ce3065
DE
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
3743bb4f
DE
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
8b315be5
PA
37012010-01-21 Pedro Alves <pedro@codesourcery.com>
3702
3703 * proc-service.c (ps_lgetregs): Don't refetch registers from the
3704 target.
3705
85492558
PA
37062010-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
442ea881
PA
37112010-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
60c3d7b0
DE
38372010-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.
ec8ebe72 3842 (W_STOPCODE): Provide definition if missing.
60c3d7b0 3843
dc146f7c
VP
38442010-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
7803799a
UW
38582010-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
6e7ffa39
JB
38852010-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
957f3f49
DE
38902009-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
ca5c370d
PA
38952009-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
4ee62156
DE
39062009-12-21 Doug Evans <dje@google.com>
3907
d90e6a88
DE
3908 * linux-x86-low.c: Delete outdated comment about Elf32_Phdr.
3909
c5f62d5f
DE
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
10e86dd7
DE
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
4ee62156
DE
3922 * linux-low.c (my_waitpid): Delete unnecessary prototype.
3923
00f515da
DE
39242009-12-18 Doug Evans <dje@google.com>
3925
e9464885
DE
3926 * event-loop.c: Include unistd.h if it exists.
3927
07d4f67e
DE
3928 * linux-low.c (my_waitpid): Move definition away from being in
3929 between linux_tracefork_child/linux_test_for_tracefork.
3930
00f515da
DE
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
1de1badb
DE
39352009-12-16 Doug Evans <dje@google.com>
3936
3937 * linux-low.c (linux_read_memory): Fix argument to read.
3938
aeeb81d1
PA
39392009-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
10357975
PA
39442009-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
cf6e3471
PA
39522009-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
0c85e18e
MK
39572009-11-17 Daniel Jacobowitz <dan@codesourcery.com>
3958
3959 * m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization.
3960
9ac544ce 39612009-11-17 Nathan Sidwell <nathan@codesourcery.com>
889bf7c5 3962 Vladimir Prus <vladimir@codesourcery.com>
9ac544ce
MK
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
fd7dd3e6
PA
39712009-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
75aa492e
MK
39832009-11-12 Maxim Kuvyrkov <maxim@codesourcery.com>
3984
3985 * thread-db.c (thread_db_free): Fix typo.
3986
21e1bee4
PP
39872009-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
8838b45e
NS
39922009-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
8a35fb51
SL
40002009-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
96f15937
PP
40072009-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.
889bf7c5 4014
5f7d1694
PP
40152009-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.
889bf7c5
PA
4021 (thread_db_find_new_threads): Loop until no new threads.
4022
88e3b899
PA
40232009-10-13 Pedro Alves <pedro@codesourcery.com>
4024
4025 * proc-service.c (ps_lgetregs): Formatting.
4026
cdbfd419
PP
40272009-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.
889bf7c5 4051
4168d2d6
UW
40522009-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
81ecdfbb
RW
40582009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4059
4060 * aclocal.m4: Regenerate.
4061 * config.in: Likewise.
4062 * configure: Likewise.
4063
0b9ff2c0
UW
40642009-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
efcbbd14
UW
40712009-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
f4d9bade
UW
40792009-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
96e946ca
RW
40922009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4093
4094 * Makefile.in (datarootdir): New variable.
4095
58d6951d
DJ
40962009-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
12b42a12
DJ
41142009-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
ac8c974e
AR
41192009-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
4424e0c3 41302009-07-05 Danny Backx <dannybackx@users.sourceforge.net>
7437790a
PA
4131
4132 * configure.srv (i[34567]86-*-mingw32ce*): Add i386-low.o to
4133 srv_tgtobj.
4134
912cf4ba
PA
41352009-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
aa5ca48f
DE
41452009-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
d993e290
PA
42122009-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
0f54c268
PM
42332009-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
c6314022
AR
42382009-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
4463ce24
AR
42442009-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
cf8fd78b
PA
42532009-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
47c0c975
DE
42662009-05-24 Doug Evans <dje@google.com>
4267
e09875d4
DE
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
e27d73f6
DE
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
47c0c975
DE
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
2acc282a
DE
42812009-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
9f1036c1
DE
42872009-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
d0722149
DE
42932009-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
fdeb2a12
DE
43172009-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
a6dbe5df
PA
43222009-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.
ba42693b 4331 (linux_wait_for_event_1): Set ptrace options here.
a6dbe5df
PA
4332 (linux_wait_1): ... not here.
4333
5091eb23
DE
43342009-04-30 Doug Evans <dje@google.com>
4335
9f767825
DE
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
5091eb23
DE
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
155c8968
PA
43502009-04-19 Danny Backx <dannybackx@users.sourceforge.net>
4351
4352 * configure.srv: Add x86 Windows CE target.
4353
7fe519cb
UW
43542009-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
5472f405
UW
43632009-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
55ac2b99
PA
43772009-04-02 Pedro Alves <pedro@codesourcery.com>
4378
4379 * linux-low.c (usr_store_inferior_registers): Declare local `pid'
4380 variable.
4381
95954743
PA
43822009-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
bd99dc85
PA
45852009-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
5b1c542e
PA
47082009-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
2bd7c093
PA
47472009-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
c35fafde
PA
47672009-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
0a59d50b
PA
47762009-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
f04c6d38
TJB
47812009-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
78e5cee6
PA
47892009-03-23 Pedro Alves <pedro@codesourcery.com>
4790
4791 * server.c (handle_query) Whitespace and formatting.
4792
1b3f6016
PA
47932009-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
a07b2135
PA
48042009-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
67cc2626
PA
48092009-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
54a0b537
PA
48142009-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
0b16c5cf
PA
48622009-03-14 Pedro Alves <pedro@codesourcery.com>
4863
4864 * server.c (handle_query): Handle "qAttached".
4865
32de4b9d
NS
48662009-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
2aecd87f
DE
48712009-03-01 Doug Evans <dje@google.com>
4872
93efd302 4873 * Makefile.in (INCLUDE_CFLAGS): Add -I$(srcdir)/../common.
2aecd87f
DE
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
86b1f9c5
PM
48792009-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
4aa995e1
PA
48842009-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
62709adf
PA
48922009-01-26 Pedro Alves <pedro@codesourcery.com>
4893
4894 * server.c (gdbserver_usage): Mention --remote-debug.
4895 (main): Accept '--remote-debug' switch.
4896
aef93bd7
DE
48972009-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
54363045
DE
49092009-01-15 Doug Evans <dje@google.com>
4910
f626972c
DE
4911 * gdbreplay.c (perror_with_name): Make arg const char *.
4912 * server.h (target_signal_to_name): Make return type const char *.
0842e787 4913 * thread-db.c (thread_db_err_str): Make return type const char *.
f626972c 4914 * utils.c (perror_with_name): Make arg const char *.
54363045 4915
18aae699
PA
49162009-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
ff703abe
JB
49212009-01-06 Joel Brobecker <brobecker@adacore.com>
4922
4923 * gdbreplay.c (gdbreplay_version): Update copyright year.
4924 * server.c (gdbserver_version): Likewise.
4925
f21cc1a2 49262009-01-05 Doug Evans <dje@google.com>
0e21c1ec
DE
4927
4928 * linux-low.c (linux_attach_lwp): Add some comments/fixmes.
f21cc1a2 4929 (handle_extended_wait): Improve comment.
0e21c1ec 4930
bca929d3
DE
49312008-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
97438e3f
DE
49462008-12-12 Doug Evans <dje@google.com>
4947
896c7fbb
DE
4948 * linux-low.c (linux_wait_for_process): Don't clobber current_inferior
4949 in debugging printf.
4950
97438e3f
DE
4951 * linux-low.c (handle_extended_wait): Simplify, use my_waitpid.
4952
e3b886f8
DE
49532008-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
07e059b5
VP
49592008-12-02 Pedro Alves <pedro@codesourcery.com>
4960
889bf7c5
PA
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.
07e059b5 4974
4cab47ab
DE
49752008-11-24 Doug Evans <dje@google.com>
4976
4977 * Makefile.in (VERSION,DIST,LINT,LINTFLAGS): Delete, unused.
4978
f142445f
DJ
49792008-11-24 Daniel Jacobowitz <dan@codesourcery.com>
4980
4981 * server.c (handle_v_run): Always use the supplied argument list.
4982
d0107bb6 49832008-11-19 Bob Wilson <bob.wilson@acm.org>
889bf7c5 4984
d0107bb6
BW
4985 * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4.
4986 (xtensa_regmap_table): Add entry for scompare1.
889bf7c5 4987
2c4ad781
TJB
49882008-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
dfb64f85
DJ
50032008-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
66b6e1dd
DE
50132008-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
9b710a42
PA
50202008-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
5822d809
PA
50252008-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
74aac56f
DJ
50312008-09-04 Daniel Jacobowitz <dan@codesourcery.com>
5032
5033 * configure.srv: Merge MIPS and MIPS64.
5034
400b20f5
MR
50352008-08-24 Maciej W. Rozycki <macro@linux-mips.org>
5036
5037 * Makefile.in (uninstall): Apply $(EXEEXT) too.
5038
677c5bb1
LM
50392008-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
a6f3e723
SL
50542008-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
a417dc56
RW
50662008-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
3221518c
UW
50712008-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
ec56be1b
PA
50782008-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
2fe5e3ff
DE
50882008-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
836acd6d
UW
50932008-07-12 Ulrich Weigand <uweigand@de.ibm.com>
5094
5095 * linux-low.c (handle_extended_wait): Do not use "status"
5096 variable uninitialized.
5097
aeba519e
PA
50982008-07-07 Pedro Alves <pedro@codesourcery.com>
5099
5100 * server.c (handle_v_attach): Inhibit reporting dll changes.
5101
db42f210
PA
51022008-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
8e4c5421
CD
51182008-06-20 Carlos O'Donell <carlos@codesourcery.com>
5119
5120 * server.c (gdbserver_usage): Mention --version.
5121
6e23a804
DJ
51222008-06-06 Daniel Jacobowitz <dan@codesourcery.com>
5123
5124 * Makefile.in (gdbreplay.o): New rule.
5125
90aa6a40
JM
51262008-06-06 Joseph Myers <joseph@codesourcery.com>
5127
5128 * gdbreplay.c (gdbreplay_version): Say gdbreplay in version
5129 message, not gdbserver.
5130
c16158bc 51312008-06-05 Vladimir Prus <vladimir@codesourcery.com>
889bf7c5
PA
5132 Nathan Sidwell <nathan@codesourcery.com>
5133 Joseph Myers <joseph@codesourcery.com>
c16158bc
JM
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
aeb75bf5
DJ
51462008-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
76b233dd
UW
51522008-05-29 Ulrich Weigand <uweigand@de.ibm.com>
5153
5154 * linux-ppc-low.c (ppc_collect_ptrace_register): Clear buffer.
5155
08388c79
DE
51562008-05-09 Doug Evans <dje@google.com>
5157
a3c83fae
DE
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.
08388c79
DE
5161 (handle_search_memory): New fn.
5162 (handle_query): Process qSearch:memory packets.
5163
bb9c3d36
UW
51642008-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
7284e1be
UW
51722008-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
fdc59709
PB
52152008-04-23 Paolo Bonzini <bonzini@gnu.org>
5216
889bf7c5
PA
5217 * acinclude.m4: Add override.m4.
5218 * configure: Regenerate.
fdc59709 5219
c9b2f845
UW
52202008-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
550512b8
UW
52252008-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
b6430ec3
UW
52312008-04-17 Ulrich Weigand <uweigand@de.ibm.com>
5232
5233 * configure.srv [powerpc64-*-linux*]: Remove powerpc-e500.o from
889bf7c5 5234 srv_regobj. Remove rs6000/powerpc-e500.xml and rs6000/power-spe.xml
b6430ec3
UW
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
52fa2412
UW
52512008-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
e28b3332
DJ
52622008-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
4536995d
UW
52702008-04-04 Ulrich Weigand <uweigand@de.ibm.com>
5271
5272 * server.c (handle_query): Never return "unsupported" for
5273 qXfer:features:read queries.
5274
221c031f
UW
52752008-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
ccd213ac
DJ
52802008-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
6fe305f7
UW
52882008-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.
889bf7c5 5297 (the_low_target): Use ppc_arch_setup as arch_setup initializer.
6fe305f7 5298
5b0a002e
UW
52992008-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
889bf7c5 5317 arch_setup member depending on __powerpc64__. Install
5b0a002e
UW
5318 collect_ptrace_register and supply_ptrace_register members.
5319
9b4b61c8
UW
53202008-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
ee1a7ae4
UW
53542008-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
d61ddec4
UW
53752008-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
d05b4ac3
UW
53942008-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
fd96d250
PA
54472008-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
d41b6bb4
DJ
54532008-02-17 Daniel Jacobowitz <dan@codesourcery.com>
5454
5455 * server.c (handle_query): Correct length check.
5456
5ac588cf
PA
54572008-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
ecd7ecbc
DJ
54762008-02-14 Daniel Jacobowitz <dan@codesourcery.com>
5477
5478 * server.c (monitor_show_help): Add "exit".
5479
1525d545
MG
54802008-02-11 Maxim Grigoriev <maxim2405@gmail.com>
5481
ecd7ecbc 5482 * Makefile.in (SFILES): Add linux-xtensa-low.c.
1525d545
MG
5483 (clean): Add reg-xtensa.c.
5484 (linux-xtensa-low.o, reg-xtensa.o, reg-xtensa.c): New dependencies.
ecd7ecbc
DJ
5485 * configure.srv (xtensa*-*-linux*) New target.
5486 * linux-xtensa-low.c: New.
5487 * xtensa-xtregs.c: New.
1525d545 5488
59a016f0
PA
54892008-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.
889bf7c5 5503 * spu-low.c (spu_target_ops): Likewise.
59a016f0
PA
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
2d717e4f
DJ
55182008-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
7407e2de
AS
55462007-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
b65d95c5
DJ
55522007-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
4e799345
DJ
55692007-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
27524b67
DJ
55762007-12-07 Daniel Jacobowitz <dan@codesourcery.com>
5577
5578 * server.c (myresume): Add own_buf argument.
5579 (main): Update calls.
5580
a20d5e98
DJ
55812007-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
b79d787e
DJ
55962007-12-06 Mick Davis <mickd@goanna.iinet.net.au>
5597
5598 * remote-utils.c (readchar): Allow binary data in received messages.
5599
d97903b2
PA
56002007-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
311de423
PA
56092007-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
6c2d16d2
PA
56142007-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
5ca906e6
PA
56192007-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
9c6c8194
PA
56252007-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
4d5d1aaa
PA
56342007-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
c436e841
PA
56532007-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
e7b5fa67
PA
56662007-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
a385171d
PA
56712007-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
f80c84b3
DJ
56772007-11-30 Daniel Jacobowitz <dan@codesourcery.com>
5678
5679 * hostio.c: Correct copyright year.
5680
a6b151f1
DJ
56812007-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
f9387fc3
DJ
56912007-11-05 Daniel Jacobowitz <dan@codesourcery.com>
5692
5693 * linux-low.c: Include <sched.h>.
5694
51c2684e
DJ
56952007-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
75f83163
JB
57012007-10-31 Joel Brobecker <brobecker@adacore.com>
5702
5703 * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh.
5704
da5898ce
DJ
57052007-10-24 Daniel Jacobowitz <dan@codesourcery.com>
5706
5707 * linux-low.c (handle_extended_wait): Handle unexpected signals.
5708
24a09b5f
DJ
57092007-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
30ed0a8f
DJ
57532007-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
fd462a61
DJ
57742007-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
69f223ed
DJ
57812007-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
aec18585
PA
57862007-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
34d86ddd
PA
57942007-09-03 Pedro Alves <pedro_alves@portugalmail.pt>
5795
5796 * win32-low.c (handle_load_dll): Don't use toolhelp when waiting.
5797
5a0e3bd0
JB
57982007-08-23 Joel Brobecker <brobecker@adacore.com>
5799
5800 * configure.ac: Switch license to GPLv3.
5801
f88c79e6
MS
58022007-08-01 Michael Snyder <msnyder@access-company.com>
5803
5804 * remote-utils.c (putpkt_binary): Memory leak, free buf2.
5805
6b3d9b83
PA
58062007-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
c588c53c
MS
58162007-07-27 Michael Snyder <michael.snyder@access-company.com>
5817
5818 * server.c (main): Check for inferior exit before main loop.
5819
aa0403d9
PA
58202007-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
255e7678
DJ
58252007-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
0d37add9
DJ
58542007-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
45e2715e
PA
58592007-07-08 Pedro Alves <pedro_alves@portugalmail.pt>
5860
5861 * win32-low.c (handle_output_debug_string): Ignore event if not
5862 waiting.
5863
c5674cf1
PA
58642007-07-08 Pedro Alves <pedro_alves@portugalmail.pt>
5865
5866 * win32-arm-low.c (arm_wince_breakpoint): Fix typo.
5867
2bbe3cc1
DJ
58682007-07-03 Daniel Jacobowitz <dan@codesourcery.com>
5869
5870 * remote-utils.c (look_up_one_symbol): Handle 'm' packets.
5871
ae13219e
DJ
58722007-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
4105de34
DJ
58912007-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
2b876972
DJ
58992007-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
7a245884
DJ
59042007-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
117ce543
DJ
59092007-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
0e7f50da
UW
59262007-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
374c1d38
UW
59372007-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
bb63802a
UW
59422007-05-16 Markus Deuling <deuling@de.ibm.com>
5943
889bf7c5 5944 * server.c (handle_query): Add reply for qC packet.
bb63802a 5945
7390519e
PA
59462007-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.
3ecf0694 5955 * win32-low.c (winapi_DebugBreakProcess,
7390519e
PA
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
34b34921
PA
59642007-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.
889bf7c5 5987 (get_child_debug_event): Change return type to void. Remove
34b34921
PA
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
dd6953e1
PA
60262007-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
444d6139
PA
60312007-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
1d5315fe
PA
60492007-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
bf914831
PA
60542007-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
f72f3e60
PA
60632007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
6064
6065 * win32-low.c (win32_wait): Don't use WSTOPSIG.
6066
ed50f18f
PA
60672007-03-30 Pedro Alves <pedro_alves@portugalmail.pt>
6068
6069 * win32-low.c: Commit leftover changes from 2007-03-29.
6070
0c2ead7e
DJ
60712007-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
73725ff3
DJ
60792007-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
d99f33d8
PA
60842007-03-29 Pedro Alves <pedro_alves@portugalmail.pt>
6085
6086 * configure.srv (arm*-*-mingw32ce*): Move near the other
6087 arm targets.
6088
68070c10
PA
60892007-03-29 Pedro Alves <pedro_alves@portugalmail.pt>
6090
2482afc6 6091 * configure.ac: Add errno checking.
68070c10
PA
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.
2482afc6 6096 * configure.srv (i[34567]86-*-cygwin*): Add
68070c10
PA
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.
889bf7c5 6137 * win32-low.c (child_fetch_inferior_registers):
68070c10
PA
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
41093d81
PA
61712007-03-28 Pedro Alves <pedro_alves@portugalmail.pt>
6172
6173 * win32-low.c: Rename typedef thread_info to
6174 win32_thread_info throughout.
6175
544afa54
PA
61762007-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
bce7165d
PA
61832007-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
506c7aa0
DJ
61922007-03-27 Mat Hostetter <mat@lcs.mit.edu>
6193
6194 * server.c (main): Correct strtoul check.
6195
42c81e2a
DJ
61962007-03-27 Jon Ringle <jon@ringle.org>
6197
6198 * linux-low.c: Check __ARCH_HAS_MMU__ also.
6199
9453113a
DJ
62002007-03-27 Brooks Moses <brooks.moses@codesourcery.com>
6201
6202 * Makefile.in: Add dummy "pdf" and "install-pdf" targets.
6203
64a69107
DJ
62042007-02-27 Daniel Jacobowitz <dan@codesourcery.com>
6205
6206 * terminal.h: Check HAVE_SGTTY_H.
6207
62082007-02-27 Mat Hostetter <mat@lcs.mit.edu>
6f8486da
DJ
6209
6210 * remote-utils.c (remote_open): Print out the assigned port number.
6211
c74d0ad8
DJ
62122007-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
de7c3b4a
PA
62232007-02-25 Pedro Alves <pedro_alves@portugalmail.pt>
6224
6225 * Makefile.in (EXEEXT): New.
6226 (clean): Use $(EXEEXT).
6227
ef57601b
PA
62282007-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
820f2bda
PA
62402007-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
ab39bf24
UW
62472007-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
61ff6e04
DJ
62522007-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
fb1e4ffc
DJ
62582007-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
0f48aa01
DJ
62772007-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
23181151
DJ
62832007-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
9d606399
DJ
62952007-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
63022006-12-30 Denis PILAT <denis.pilat@st.com>
8264bb58
DJ
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
a5e13d24
DJ
63102006-12-05 Markus Deuling <deuling@de.ibm.com>
6311
6312 * README: Update supported targets.
6313
186947f7
DJ
63142006-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
a13e2c95
UW
63282006-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
cb7283db
DJ
63352006-11-16 Daniel Jacobowitz <dan@codesourcery.com>
6336
6337 * configure.ac: Correct td_thr_tls_get_addr test.
6338 * configure: Regenerated.
6339
89be2091
DJ
63402006-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
000ef4f0
DJ
63502006-11-06 Daniel Jacobowitz <dan@codesourcery.com>
6351
6352 * server.c (handle_query): Correct error handling for read_auxv.
6353
b7149293
UW
63542005-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
dae5f5cf
DJ
63612006-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
32ca6d61
DJ
63782006-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
5ffff7c1
DJ
63892006-09-21 Daniel Jacobowitz <dan@codesourcery.com>
6390
6391 * remote-utils.c (try_rle): New function.
6392 (putpkt_binary): Use it.
6393
8695c747
DJ
63942006-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
290fadea
RS
64032006-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
9f2e1e63
DJ
64122006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
6413
6414 * server.c (handle_query): Correct qPart to qXfer.
6415
b80864fb
DJ
64162006-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
0876f84a
DJ
64482006-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
01f9e8fa
DJ
64562006-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
be2a5f71
DJ
64682006-06-21 Daniel Jacobowitz <dan@codesourcery.com>
6469
6470 * server.c (handle_query): Handle qSupported.
6471
ea025f5f
DJ
64722006-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
9308fc88
DJ
64792006-05-30 Daniel Jacobowitz <dan@codesourcery.com>
6480
6481 * Makefile.in (linux-arm-low.o): Update dependencies.
66f338c7 6482 * linux-arm-low.c: Include "gdb_proc_service.h".
9308fc88
DJ
6483 (PTRACE_GET_THREAD_AREA): Define.
6484 (ps_get_thread_area): New function.
6485
52fb6437
NS
64862006-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
21b0f40c
DJ
64962006-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
0050a760
DJ
65042006-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
b92a518e
DJ
65162006-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
545587ee
DJ
65212006-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
9db87ebd
DJ
65262006-02-08 Daniel Jacobowitz <dan@codesourcery.com>
6527
6528 * server.c (attach_inferior): Return SIGTRAP for a successful
6529 attach.
6530
dd24457d
DJ
65312006-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
6f0f660e
EZ
65432005-12-23 Eli Zaretskii <eliz@gnu.org>
6544
889bf7c5
PA
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:
6f0f660e
EZ
6579 * gdbserver.1: Add (C) after Copyright. Update the FSF
6580 address.
6581
9d1fb177
DJ
65822005-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
011a70c2
DJ
65882005-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
7fb85e41
AS
65952005-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
3db0444b
DJ
66022005-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
bee0189a
DJ
66132005-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6614
6615 * server.h (error, fatal, warning): Add ATTR_FORMAT.
6616
e9d25b98
DJ
66172005-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
a06660f7
DJ
66312005-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
5a1f5858
DJ
66452005-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
e122f1f5
SE
66522005-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
d592fa2f
DJ
66602005-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
ccbd4912
MK
66672005-06-13 Mark Kettenis <kettenis@gnu.org>
6668
6669 * configure.ac: Simplify and improve check for socklen_t.
6670 * configure, config.in: Regenerate.
6671
f450004a
DJ
66722005-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
eee84df1
DJ
67122005-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
45b134e5
OF
67192005-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.
889bf7c5 6725 Add linux-cris-low.o, linux-crisv32-low.o, reg-cris.o, reg-cris.c,
45b134e5
OF
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
48d93c75
UW
67302005-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
e013ee27
OF
67362005-05-12 Orjan Friberg <orjanf@axis.com>
6737
889bf7c5 6738 * target.h (struct target_ops): Add insert_watchpoint,
e013ee27
OF
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
b0ded00b
UW
67492005-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
8643e2ad
DJ
67552005-05-04 Daniel Jacobowitz <dan@codesourcery.com>
6756
6757 * proc-service.c (ps_lgetregs): Search all_processes instead of
6758 all_threads.
6759
fc620387
DJ
67602005-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
67672005-04-15 Kei Sakamoto <sakamoto.kei@renesas.com>
7cfbc4a0
KI
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
e0e76420
DJ
67732005-03-04 Daniel Jacobowitz <dan@codesourcery.com>
6774
6775 * Makefile.in (stamp-h): Set CONFIG_HEADERS explicitly.
6776
a1928bad
DJ
67772005-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
dcdb98d2
DJ
68022005-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
bec39cab
AC
68092005-01-07 Andrew Cagney <cagney@gnu.org>
6810
6811 * configure.ac: Rename configure.in, require autoconf 2.59.
6812 * configure: Re-generate.
6813
434c4c77
DJ
68142004-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
db1d3e1b
AS
68212004-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
43360365
JB
68322004-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
fd500816
DJ
68392004-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
f6de3c42
DJ
68612004-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
2c0fc042
AC
68682004-09-02 Andrew Cagney <cagney@gnu.org>
6869
6870 * Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE.
6871
075b3282
DJ
68722004-03-23 Daniel Jacobowitz <drow@mvista.com>
6873
6874 * linux-low.c (linux_wait): Clear all_processes list also.
6875
fa6a77dc
DJ
68762004-03-12 Daniel Jacobowitz <drow@mvista.com>
6877
6878 * linux-low.c: Include <errno.h>. Remove extern declaration of
6879 errno.
6880
6d782a97
DJ
68812004-03-12 Daniel Jacobowitz <drow@mvista.com>
6882
6883 * gdbreplay.c, server.h, utils.c: Update copyright years.
6884
3a7fb99b
DJ
68852004-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
c3e735a6
DJ
68902004-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
a59d1c82
DJ
69022004-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
dc3f8883
DJ
69072004-02-29 Daniel Jacobowitz <drow@mvista.com>
6908
6909 * server.c (handle_v_cont): Call set_desired_inferior.
6910
89a208da
DJ
69112004-02-29 Daniel Jacobowitz <drow@mvista.com>
6912
6913 * remote-utils.c (prepare_resume_reply): Always supply "thread:".
6914
62ea82f5
DJ
69152004-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
6910d122
DJ
69222004-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
69292004-02-29 Daniel Jacobowitz <drow@mvista.com>
d677d77d
DJ
6930
6931 * linux-arm-low.c (arm_get_pc): Print out stop PC in debug mode.
6932
c89dc5d4
DJ
69332004-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
4b8dad4a
RM
69392004-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
d7446758
JB
69462004-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.
4b8dad4a 6951 (s390_regmap): Remove control registers. Use __s390x__ predefine
d7446758
JB
6952 instead of GPR_SIZE to distiguish s390 and s390x targets.
6953
5544ad89
DJ
69542004-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
2a68b70e
DJ
69652004-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
64386c31
DJ
69702003-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
c938e9b0
L
69872003-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
7f313d07
BC
6992Mon 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
3b2fc2ea
DJ
69962003-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
1c0a559e
MK
70012003-07-08 Mark Kettenis <kettenis@gnu.org>
7002
7003 * mem-break.c: Remove whitespace at end of file.
7004
43d5792c
DJ
70052003-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
c8a86edf
DJ
70142003-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
73d37363
DJ
70192003-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
6ad8ae5c
DJ
70252003-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
1581182a
MK
70342003-06-13 Mark Kettenis <kettenis@gnu.org>
7035
7036 From Kelley Cook <kelleycook@wideopenwest.com>:
7037 * configure.srv: Accept i[34567]86 variants.
7038
e5379b03
DJ
70392003-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
2ff29de4
JB
70492003-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
254787d4
DJ
70562003-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
94e10508
DJ
70612003-03-17 Daniel Jacobowitz <drow@mvista.com>
7062
7063 * configure.in: Check for stdlib.h.
7064 * configure: Regenerated.
7065 * config.in: Regenerated.
7066
4c0711e0
DJ
70672003-01-04 Andreas Schwab <schwab@suse.de>
7068
7069 * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31.
7070
ef66e766
AC
70712003-01-02 Andrew Cagney <ac131313@redhat.com>
7072
7073 * Makefile.in: Remove obsolete code.
7074
a1358604
DJ
70752002-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
23ce3b1c
DJ
70802002-11-17 Stuart Hughes <seh@zee2.com>
7081
7082 * linux-arm-low.c (arm_num_regs): Increase.
7083 (arm_regmap): Include status register.
7084
70852002-11-17 Daniel Jacobowitz <drow@mvista.com>
7086
7087 * linux-low.c (register_addr): Remove incorrect -1 check.
7088
a9fa9f7d
DJ
70892002-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
4b8dad4a 7101 gdbserver. Set the child to be the foreground process group.
a9fa9f7d
DJ
7102 (attach_inferior): Set signal_pid.
7103
17574093
DJ
71042002-08-23 Daniel Jacobowitz <drow@mvista.com>
7105
7106 * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2.
7107
71082002-08-20 Jim Blandy <jimb@redhat.com>
7109
7110 * Makefile.in (LDFLAGS): Allow the configure script to establish a
7111 default for this.
7112
71132002-08-01 Andrew Cagney <cagney@redhat.com>
7114
7115 * Makefile.in: Make chill references obsolete.
7116
71172002-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
71232002-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
71282002-07-04 Michal Ludvig <mludvig@suse.cz>
7129
4b8dad4a 7130 * linux-x86-64-low.c (x86_64_regmap): Make it an array of
17574093
DJ
7131 byte offsets instead of an array of indexes.
7132 (x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.
7133
71342002-06-13 Daniel Jacobowitz <drow@mvista.com>
7135
7136 * regcache.c: Add comment.
7137
71382002-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
72902002-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
72962002-05-14 Daniel Jacobowitz <drow@mvista.com>
7297
7298 * mem-break.c (reinsert_breakpoint_by_bp): Correct typo
7299 stop_at -> stop_pc.
7300
73012002-05-04 Andrew Cagney <ac131313@redhat.com>
7302
7303 * Makefile.in: Remove obsolete code.
7304
73052002-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
73122002-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
73282002-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
73612002-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
73692002-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
73742002-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
74512002-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
74572002-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
74932002-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 1.122387 seconds and 4 git commands to generate.