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