2010-04-16 Andreas Schwab <schwab@redhat.com>
[deliverable/binutils-gdb.git] / gdb / gdbserver / ChangeLog
CommitLineData
711e434b
PM
12010-04-16 Pierre Muller <muller@ics.u-strasbg.fr>
2
3 * server.c (handle_query): Handle 'qGetTIBAddr' query.
4 * target.h (target_ops): New get_tib_address field.
5 * win32-low.h (win32_thread_info): Add thread_local_base field.
6 * win32-low.c (child_add_thread): Add tlb argument.
7 Set thread_local_base field to TLB.
8 (get_child_debug_event): Adapt to child_add_thread change.
9 (win32_get_tib_address): New function.
10 (win32_target_ops): Set get_tib_address field to
11 win32_get_tib_address.
12 * linux-low.c (linux_target_ops): Set get_tib_address field to NULL.
13
505106cd
PA
142010-04-12 Pedro Alves <pedro@codesourcery.com>
15
505106cd
PA
16 * linux-low.c (linux_mourn): Also remove the process.
17 * server.c (handle_target_event): Don't remove the process here.
18 * nto-low.c (nto_mourn): New.
19 (nto_target_ops): Install it.
20 * spu-low.c (spu_mourn): New.
21 (spu_target_ops): Install it.
22 * win32-low.c (win32_mourn): New.
23 (win32_target_ops): Install it.
24
e8470a06
PA
252010-04-12 Pedro Alves <pedro@codesourcery.com>
26
27 * server.h (buffer_xml_printf): Remove redundant `;'.
28
45ba0d02
PA
292010-04-12 Pedro Alves <pedro@codesourcery.com>
30
31 * regcache.c (set_register_cache): Invalidate regcaches before
32 changing the register cache layout.
33 (regcache_invalidate_one): Allow a NULL regcache.
34 * linux-x86-low.c (x86_linux_update_xmltarget): Invalidate
35 regcaches before changing the register cache layout or the target
36 regsets.
37
59e04013
L
382010-04-12 H.J. Lu <hongjiu.lu@intel.com>
39
40 * linux-x86-low.c (x86_linux_update_xmltarget): Avoid unused
41 variable warning on Linux/x86-64.
42
8336d594
PA
432010-04-11 Pedro Alves <pedro@codesourcery.com>
44
45 GDBserver disconnected tracing support.
46
47 * linux-low.c (linux_remove_process): Delete.
48 (add_lwp): Don't set last_resume_kind here.
49 (linux_kill): Use `mourn'.
50 (linux_detach): Use `thread_db_detach', and `mourn'.
51 (linux_mourn): New.
52 (linux_attach_lwp_1): Adjust comment.
53 (linux_attach): last_resume_kind moved the thread_info; adjust.
54 (status_pending_p_callback): Adjust.
55 (linux_wait_for_event_1): Adjust.
56 (count_events_callback, select_singlestep_lwp_callback)
57 (select_event_lwp_callback, cancel_breakpoints_callback)
58 (db_wants_lwp_stopped, linux_wait_1, need_step_over_p)
59 (proceed_one_lwp): Adjust.
60 (linux_async): Add debug output.
61 (linux_thread_stopped): New.
62 (linux_pause_all): New.
63 (linux_target_ops): Install linux_mourn, linux_thread_stopped and
64 linux_pause_all.
65 * linux-low.h (struct lwp_info): Delete last_resume_kind field.
66 (thread_db_free): Delete declaration.
67 (thread_db_detach, thread_db_mourn): Declare.
68 * thread-db.c (thread_db_init): Use thread_db_mourn.
69 (thread_db_free): Delete, split in two.
70 (disable_thread_event_reporting): New.
71 (thread_db_detach): New.
72 (thread_db_mourn): New.
73
74 * server.h (struct thread_info) <last_resume_kind>: New field.
75 <attached>: Add comment.
76 <gdb_detached>: New field.
77 (handler_func): Change return type to int.
78 (handle_serial_event, handle_target_event): Ditto.
79 (gdb_connected): Declare.
80 (tracing): Delete.
81 (disconnected_tracing): Declare.
82 (stop_tracing): Declare.
83
84 * server.c (handle_query) <qSupported>: Report support for
85 disconnected tracing.
86 (queue_stop_reply_callback): Account for running threads.
87 (gdb_wants_thread_stopped): New.
88 (gdb_wants_all_threads_stopped): New.
89 (gdb_reattached_process): New.
90 (handle_status): Clear the `gdb_detached' flag of all processes.
91 In all-stop, stop all threads.
92 (main): Be sure to leave tfind mode. Handle disconnected tracing.
93 (process_serial_event): If the remote connection breaks, or if an
94 exit was forced with "monitor exit", force an event loop exit.
95 Handle disconnected tracing on detach.
96 (handle_serial_event): Adjust.
97 (handle_target_event): If GDB isn't connected, forward events back
98 to the inferior, unless the last process exited, in which case,
99 exit gdbserver. Adjust interface.
100
101 * remote-utils.c (remote_open): Don't block in accept. Instead
102 register an event loop source on the listen socket file
103 descriptor. Refactor bits into ...
104 (listen_desc): ... this new global.
105 (gdb_connected): ... this new function.
106 (enable_async_notification): ... this new function.
107 (handle_accept_event): ... this new function.
108 (remote_close): Clear remote_desc.
109
110 * inferiors.c (add_thread): Set the new thread's last_resume_kind.
111
112 * target.h (struct target_ops) <mourn, thread_stopped, pause_all>:
113 New fields.
114 (mourn_inferior): Define.
115 (target_process_qsupported): Avoid the dangling else problem.
116 (thread_stopped): Define.
117 (pause_all): Define.
118 (target_waitstatus_to_string): Declare.
119 * target.c (target_waitstatus_to_string): New.
120
121 * tracepoint.c (tracing): Make extern.
122 (disconnected_tracing): New.
123 (stop_tracing): Make extern. Handle tracing stops due to GDB
124 disconnecting.
125 (cmd_qtdisconnected): New.
126 (cmd_qtstatus): Report disconnected tracing status in trace reply.
127 (handle_tracepoint_general_set): Handle QTDisconnected.
128
129 * event-loop.c (event_handler_func): Change return type to int.
130 (process_event): Bail out if the event handler wants the event
131 loop to stop.
132 (handle_file_event): Ditto.
133 (start_event_loop): Bail out if the event handler wants the event
134 loop to stop.
135
136 * nto-low.c (nto_target_ops): Adjust.
137 * spu-low.c (spu_wait): Don't remove the process here.
138 (spu_target_ops): Adjust.
139 * win32-low.c (win32_wait): Don't remove the process here.
140 (win32_target_ops): Adjust.
141
5d267c4c
PA
1422010-04-11 Pedro Alves <pedro@codesourcery.com>
143
144 * regcache.c (realloc_register_cache): Invalidate inferior's
145 regcache before recreating it.
146
623ccd72
PA
1472010-04-09 Pedro Alves <pedro@codesourcery.com>
148
149 * tracepoint.c (cmd_qtstatus): Report trace buffer circularity.
150
219f2f23
PA
1512010-04-09 Stan Shebs <stan@codesourcery.com>
152 Pedro Alves <pedro@codesourcery.com>
153
154 * server.h (LONGEST): New.
155 (struct thread_info) <while_stepping>: New field.
156 (unpack_varlen_hex, xrealloc, pulongest, plongest, phex_nz):
157 Declare.
158 (initialize_tracepoint, handle_tracepoint_general_set)
159 (handle_tracepoint_query, tracepoint_finished_step)
160 (tracepoint_was_hit, release_while_stepping_state_list):
161 (current_traceframe): Declare.
162 * server.c (handle_general_set): Handle tracepoint packets.
163 (read_memory): New.
164 (write_memory): New.
165 (handle_search_memory_1): Use read_memory.
166 (handle_query): Report support for conditional tracepoints, trace
167 state variables, and tracepoint sources. Handle tracepoint
168 queries.
169 (main): Initialize the tracepoints module.
170 (process_serial_event): Handle traceframe reads/writes.
171
172 * linux-low.c (handle_tracepoints): New.
173 (linux_wait_1): Call it.
174 (linux_resume_one_lwp): Handle while-stepping.
175 (linux_supports_tracepoints, linux_read_pc, linux_write_pc): New.
176 (linux_target_ops): Install them.
177 * linux-low.h (struct linux_target_ops) <supports_tracepoints>:
178 New field.
179 * linux-x86-low.c (x86_supports_tracepoints): New.
180 (the_low_target). Install it.
181
182 * mem-break.h (delete_breakpoint): Declare.
183 * mem-break.c (delete_breakpoint): Make external.
184
185 * target.h (struct target_ops): Add `supports_tracepoints',
186 `read_pc', and `write_pc' fields.
187 (target_supports_tracepoints): Define.
188 * utils.c (xrealloc, decimal2str, pulongest, plongest, thirty_two)
189 (phex_nz): New.
190
191 * regcache.h (struct regcache) <registers_owned>: New field.
192 (init_register_cache, regcache_cpy): Declare.
193 (regcache_read_pc, regcache_write_pc): Declare.
194 (register_cache_size): Declare.
195 (supply_regblock): Declare.
196 * regcache.c (init_register_cache): New.
197 (new_register_cache): Use it.
198 (regcache_cpy): New.
199 (register_cache_size): New.
200 (supply_regblock): New.
201 (regcache_read_pc, regcache_write_pc): New.
202
203 * tracepoint.c: New.
204
205 * Makefile.in (OBS): Add tracepoint.o.
206 (tracepoint.o): New rule.
207
3a13a53b
L
2082010-04-08 H.J. Lu <hongjiu.lu@intel.com>
209
210 * Makefile.in (clean): Also remove i386-mmx.c i386-mmx-linux.c.
211 (i386-mmx.o): New.
212 (i386-mmx.c): Likewise.
213 (i386-mmx-linux.o): Likewise.
214 (i386-mmx-linux.c): Likewise.
215
216 * configure.srv (srv_i386_regobj): Add i386-mmx.o.
217 (srv_i386_linux_regobj): Add i386-mmx-linux.o.
218 (srv_i386_xmlfiles): Add i386/i386-mmx.xml.
219 (srv_i386_linux_xmlfiles): Add i386/i386-mmx-linux.xml.
220
221 * linux-x86-low.c (init_registers_i386_mmx_linux): New.
222 (x86_linux_update_xmltarget): Call init_registers_i386_mmx_linux
223 and return if ptrace PTRACE_GETFPXREGS failed in 32bit.
224
1570b33e
L
2252010-04-07 H.J. Lu <hongjiu.lu@intel.com>
226
227 * Makefile.in (clean): Updated.
228 (i386-avx.o): New.
229 (i386-avx.c): Likewise.
230 (i386-avx-linux.o): Likewise.
231 (i386-avx-linux.c): Likewise.
232 (amd64-avx.o): Likewise.
233 (amd64-avx.c): Likewise.
234 (amd64-avx-linux.o): Likewise.
235 (amd64-avx-linux.c): Likewise.
236
237 * configure.srv (srv_i386_regobj): Add i386-avx.o.
238 (srv_i386_linux_regobj): Add i386-avx-linux.o.
239 (srv_amd64_regobj): Add amd64-avx.o.
240 (srv_amd64_linux_regobj): Add amd64-avx-linux.o.
241 (srv_i386_32bit_xmlfiles): Add i386/32bit-avx.xml.
242 (srv_i386_64bit_xmlfiles): Add i386/64bit-avx.xml.
243 (srv_i386_xmlfiles): Add i386/i386-avx.xml.
244 (srv_amd64_xmlfiles): Add i386/amd64-avx.xml.
245 (srv_i386_linux_xmlfiles): Add i386/i386-avx-linux.xml.
246 (srv_amd64_linux_xmlfiles): Add i386/amd64-avx-linux.xml.
247
248 * i387-fp.c: Include "i386-xstate.h".
249 (i387_xsave): New.
250 (i387_cache_to_xsave): Likewise.
251 (i387_xsave_to_cache): Likewise.
252 (x86_xcr0): Likewise.
253
254 * i387-fp.h (i387_cache_to_xsave): Likewise.
255 (i387_xsave_to_cache): Likewise.
256 (x86_xcr0): Likewise.
257
258 * linux-arm-low.c (target_regsets): Initialize nt_type to 0.
259 * linux-crisv32-low.c (target_regsets): Likewise.
260 * linux-m68k-low.c (target_regsets): Likewise.
261 * linux-mips-low.c (target_regsets): Likewise.
262 * linux-ppc-low.c (target_regsets): Likewise.
263 * linux-s390-low.c (target_regsets): Likewise.
264 * linux-sh-low.c (target_regsets): Likewise.
265 * linux-sparc-low.c (target_regsets): Likewise.
266 * linux-xtensa-low.c (target_regsets): Likewise.
267
268 * linux-low.c: Include <sys/uio.h>.
269 (regsets_fetch_inferior_registers): Support nt_type.
270 (regsets_store_inferior_registers): Likewise.
271 (linux_process_qsupported): New.
272 (linux_target_ops): Add linux_process_qsupported.
273
274 * linux-low.h (regset_info): Add nt_type.
275 (linux_target_ops): Add process_qsupported.
276
277 * linux-x86-low.c: Include "i386-xstate.h", "elf/common.h"
278 and <sys/uio.h>.
279 (init_registers_i386_avx_linux): New.
280 (init_registers_amd64_avx_linux): Likewise.
281 (xmltarget_i386_linux_no_xml): Likewise.
282 (xmltarget_amd64_linux_no_xml): Likewise.
283 (PTRACE_GETREGSET): Likewise.
284 (PTRACE_SETREGSET): Likewise.
285 (x86_fill_xstateregset): Likewise.
286 (x86_store_xstateregset): Likewise.
287 (use_xml): Likewise.
288 (x86_linux_update_xmltarget): Likewise.
289 (x86_linux_process_qsupported): Likewise.
290 (target_regsets): Add NT_X86_XSTATE entry and Initialize nt_type.
291 (x86_arch_setup): Don't call init_registers_amd64_linux nor
292 init_registers_i386_linux here. Call
293 x86_linux_update_xmltarget.
294 (the_low_target): Add x86_linux_process_qsupported.
295
296 * server.c (handle_query): Call target_process_qsupported.
297
298 * target.h (target_ops): Add process_qsupported.
299 (target_process_qsupported): New.
300
fc7238bb
PA
3012010-04-03 Pedro Alves <pedro@codesourcery.com>
302
303 * inferiors.c (add_thread): Set last_status kind to
304 TARGET_WAITKIND_IGNORE.
305 * linux-low.c (cancel_breakpoint): Remove unnecessary regcache
306 fetch. Use ptid_of. Avoid unnecessary get_lwp_thread calls.
307 (linux_wait_1): Move `thread' local definition to block that uses
308 it. Don't NULL initialize `event_child'.
309 (linux_resume_one_thread): Avoid unnecessary get_lwp_thread calls.
310 Alway set the thread's last_status to TARGET_WAITKIND_IGNORE.
311 * linux-x86-low.c (x86_breakpoint_at): Read raw memory.
312
bdabb078
PA
3132010-04-01 Pedro Alves <pedro@codesourcery.com>
314
315 * linux-low.c (get_stop_pc): Don't adjust the PC if stopped with
316 an extended waitstatus, or by a watchpoint.
317 (cancel_breakpoints_callback): Don't cancel a breakpoint if the
318 thread was stepping or has been stopped by a watchpoint.
319
d3bbe7a0
PA
3202010-04-01 Pedro Alves <pedro@codesourcery.com>
321
322 * mem-break.c (struct raw_breakpoint): New field shlib_disabled.
323 (set_gdb_breakpoint_at): If GDB is inserting a breakpoint on top
324 of another, then delete the previous, and validate all
325 breakpoints.
326 (validate_inserted_breakpoint): New.
327 (delete_disabled_breakpoints): New.
328 (validate_breakpoints): New.
329 (check_mem_read): Validate breakpoints before trusting their
330 shadow. Delete disabled breakpoints.
331 (check_mem_write): Validate breakpoints before trusting they
332 should be inserted. Delete disabled breakpoints.
333 * mem-break.h (validate_breakpoints):
334 * server.c (handle_query): Validate breakpoints when we see a
335 qSymbol query.
336
8b07ae33
PA
3372010-04-01 Pedro Alves <pedro@codesourcery.com>
338
339 * linux-low.c (linux_wait_1): Avoid setting need_step_over is
340 there's a GDB breakpoint at stop_pc. Always report a trap to GDB
341 if we could tell there's a GDB breakpoint at stop_pc.
342 (need_step_over_p): Don't do a step over if we find a GDB
343 breakpoint at the resume PC.
344
345 * mem-break.c (struct raw_breakpoint): New.
346 (enum bkpt_type): New type `gdb_breakpoint'.
347 (struct breakpoint): Delete the `PC', `old_data' and `inserted'
348 fields. New field `raw'.
349 (find_raw_breakpoint_at): New.
350 (set_raw_breakpoint_at): Handle refcounting. Create a raw
351 breakpoint instead.
352 (set_breakpoint_at): Adjust.
353 (delete_raw_breakpoint): New.
354 (release_breakpoint): New.
355 (delete_breakpoint): Rename to...
356 (delete_breakpoint_1): ... this. Add proc parameter. Use
357 release_breakpoint. Return ENOENT.
358 (delete_breakpoint): Reimplement.
359 (find_breakpoint_at): Delete.
360 (find_gdb_breakpoint_at): New.
361 (delete_breakpoint_at): Delete.
362 (set_gdb_breakpoint_at): New.
363 (delete_gdb_breakpoint_at): New.
364 (gdb_breakpoint_here): New.
365 (set_reinsert_breakpoint): Use release_breakpoint.
366 (uninsert_breakpoint): Rename to ...
367 (uninsert_raw_breakpoint): ... this.
368 (uninsert_breakpoints_at): Adjust to handle raw breakpoints.
369 (reinsert_raw_breakpoint): Change parameter type to
370 raw_breakpoint.
371 (reinsert_breakpoints_at): Adjust to handle raw breakpoints
372 instead.
373 (check_breakpoints): Adjust. Use release_breakpoint.
374 (breakpoint_here): Rewrite using find_raw_breakpoint_at.
375 (breakpoint_inserted_here): Ditto.
376 (check_mem_read): Adjust to iterate over raw breakpoints instead.
377 Don't trust the breakpoint's shadow if it is not inserted.
378 (check_mem_write): Adjust to iterate over raw breakpoints instead.
379 (delete_all_breakpoints): Adjust.
380 (free_all_breakpoints): Mark all breakpoints as uninserted, and
381 use delete_breakpoint_1.
382
383 * mem-break.h (breakpoints_supported): Delete declaration.
384 (set_gdb_breakpoint_at): Declare.
385 (gdb_breakpoint_here): Declare.
386 (delete_breakpoint_at): Delete.
387 (delete_gdb_breakpoint_at): Declare.
388
389 * server.h (struct raw_breakpoint): Forward declare.
390 (struct process_info): New field `raw_breakpoints'.
391
392 * linux-x86-low.c (x86_insert_point, x86_remote_point): Handle Z0
393 breakpoints.
394
6bf5e0ba
PA
3952010-03-24 Pedro Alves <pedro@codesourcery.com>
396
397 * linux-low.c (status_pending_p_callback): Fix comment.
398 (linux_wait_for_event_1): Move most of the internal breakpoint
399 handling from here...
400 (linux_wait_1): ... to here.
401 (count_events_callback): New.
402 (select_singlestep_lwp_callback): New.
403 (select_event_lwp_callback): New.
404 (cancel_breakpoints_callback): New.
405 (select_event_lwp): New.
406 (linux_wait_1): Simplify internal breakpoint handling. Give equal
407 priority to all LWPs that have had events that should be reported
408 to the client. Cancel breakpoints when about to reporting the
409 event to the client, not while stopping lwps. No longer cancel
410 finished single-steps here.
411 (cancel_finished_single_step): Delete.
412 (cancel_finished_single_steps): Delete.
413
414a389f
PA
4142010-03-24 Pedro Alves <pedro@codesourcery.com>
415
416 * mem-break.c (enum bkpt_type): New.
417 (struct breakpoint): New field `type'.
418 (set_breakpoint_at): Change return type to struct breakpoint
419 pointer. Set type to `other_breakpoint' by default.
420 (delete_breakpoint): Rewrite, supporting more than one breakpoint
421 in the breakpoint list.
422 (delete_reinsert_breakpoints): Only delete reinsert breakpoints.
423 (reinsert_breakpoint): Rename to ...
424 (reinsert_raw_breakpoint): ... this.
425 (reinsert_breakpoints_at): Adjust.
426 * mem-break.h (struct breakpoint): Declare.
427 (set_breakpoint_at): Change return type to struct breakpoint
428 pointer.
429
2280c721
PA
4302010-03-24 Pedro Alves <pedro@codesourcery.com>
431
432 * server.c (handle_query): Assign, not compare.
433
d50171e4
PA
4342010-03-24 Pedro Alves <pedro@codesourcery.com>
435
436 Teach linux gdbserver to step-over-breakpoints.
437
438 * linux-low.c (can_hardware_single_step): New.
439 (supports_breakpoints): New.
440 (handle_extended_wait): If stopping threads, read the stop pc of
441 the new cloned LWP.
442 (get_pc): New.
443 (get_stop_pc): Add `lwp' parameter. Handle it. Bail out if the
444 low target doesn't support retrieving the PC.
445 (add_lwp): Set last_resume_kind to resume_continue.
446 (linux_attach_lwp_1): Adjust comments. Always set stop_expected.
447 (linux_attach): Don't clear stop_expected. Set the lwp's
448 last_resume_kind to resume_stop.
449 (linux_detach_one_lwp): Don't check for removed breakpoints.
450 (check_removed_breakpoint): Delete.
451 (status_pending_p): Rename to ...
452 (status_pending_p_callback): ... this. Don't check for removed
453 breakpoints. Don't consider threads that are stopped from GDB's
454 perspective.
455 (linux_wait_for_lwp): Always read the stop_pc here.
456 (cancel_breakpoint): New.
457 (step_over_bkpt): New global.
458 (linux_wait_for_event_1): Implement stepping over breakpoints.
459 (gdb_wants_lwp_stopped): New.
460 (gdb_wants_all_stopped): New.
461 (linux_wait_1): Tag threads as gdb-wants-stopped. Cancel finished
462 single-step traps here. Store the thread's last reported target
463 wait status.
464 (send_sigstop): Don't clear stop_expected. Always set it,
465 instead.
466 (mark_lwp_dead): Remove reference to pending_is_breakpoint.
467 (cancel_finished_single_step): New.
468 (cancel_finished_single_steps): New.
469 (wait_for_sigstop): Don't cancel finished single-step traps here.
470 (linux_resume_one_lwp): Don't check for removed breakpoints.
471 Don't set `step' on non-hardware step archs.
472 (linux_set_resume_request): Ignore resume_stop requests if already
473 stopping or stopped. Set the lwp's last_resume_kind.
474 (resume_status_pending_p): Don't check for removed breakpoints.
475 (need_step_over_p): New.
476 (start_step_over): New.
477 (finish_step_over): New.
478 (linux_resume_one_thread): Always queue a sigstop for resume_stop
479 requests. Clear the thread's last reported target waitstatus.
480 Don't use the `suspended' flag. Don't consider pending breakpoints.
481 (linux_resume): Start a step-over if necessary.
482 (proceed_one_lwp): New.
483 (proceed_all_lwps): New.
484 (unstop_all_lwps): New.
485 * linux-low.h (struct lwp_info): Rewrite comment for the
486 `suspended' flag. Add the `stop_pc' field. Delete the
487 `pending_stop_pc' field. Tweak the `stepping' flag's comment.
488 Add `'last_resume_kind' and `need_step_over' fields.
489 * inferiors.c (struct thread_info): Delete, moved elsewhere.
490 * mem-break.c (struct breakpoint): Delete `reinserting' flag.
491 Delete `breakpoint_to_reinsert' field. New flag `inserted'.
492 (set_raw_breakpoint_at): New.
493 (set_breakpoint_at): Rewrite to use it.
494 (reinsert_breakpoint_handler): Delete.
495 (set_reinsert_breakpoint): New.
496 (reinsert_breakpoint_by_bp): Delete.
497 (delete_reinsert_breakpoints): New.
498 (uninsert_breakpoint): Rewrite.
499 (uninsert_breakpoints_at): New.
500 (reinsert_breakpoint): Rewrite.
501 (reinsert_breakpoints_at): New.
502 (check_breakpoints): Rewrite.
503 (breakpoint_here): New.
504 (breakpoint_inserted_here): New.
505 (check_mem_read): Adjust.
506 * mem-break.h (breakpoints_supported, breakpoint_here)
507 (breakpoint_inserted_here, set_reinsert_breakpoint): Declare.
508 (reinsert_breakpoint_by_bp): Delete declaration.
509 (delete_reinsert_breakpoints): Declare.
510 (reinsert_breakpoint): Delete declaration.
511 (reinsert_breakpoints_at): Declare.
512 (uninsert_breakpoint): Delete declaration.
513 (uninsert_breakpoints_at): Declare.
514 (check_breakpoints): Adjust prototype.
515 * server.h: Adjust include order.
516 (struct thread_info): Declare here. Add a `last_status' field.
517
30ba68cb
MS
5182010-03-23 Michael Snyder <msnyder@vmware.com>
519
520 * server.c (crc32): New function.
521 (handle_query): Add handling for 'qCRC:' request.
522
b9a881c2
PA
5232010-03-23 Pedro Alves <pedro@codesourcery.com>
524
525 * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR6 if the
526 lwp had been stopped by a watchpoint.
527
e92d13d5
PA
5282010-03-16 Pedro Alves <pedro@codesourcery.com>
529
530 * server.h (internal_error): Declare.
531 (gdb_assert, ASSERT_FUNCTION, gdb_assert_fail): Define.
532 * utils.c (internal_error): New function.
533
64daa791
AS
5342010-03-15 Andreas Schwab <schwab@redhat.com>
535
536 * configure.srv: Fix typo setting srv_regobj.
537
f52cd8cd
PA
5382010-03-15 Pedro Alves <pedro@codesourcery.com>
539
540 * linux-low.c (fetch_register): Avoid passing a non string literal
541 format to `error'.
542 (usr_store_inferior_registers): Ditto.
543
93ae6fdc
PA
5442010-03-14 Pedro Alves <pedro@codesourcery.com>
545
546 * linux-low.c (linux_write_memory): Bail out early if peeking
547 memory failed.
548
c3adc08c
PA
5492010-03-14 Pedro Alves <pedro@codesourcery.com>
550
551 * linux-low.h (struct lwp_info): New fields
552 `stopped_by_watchpoint' and `stopped_data_address'.
553 * linux-low.c (linux_wait_for_lwp): Check for watchpoint triggers
554 here, and cache them in the lwp object.
555 (wait_for_sigstop): Check stopped_by_watchpoint lwp field
556 directly.
557 (linux_resume_one_lwp): Clear the lwp's stopped_by_watchpoint
558 field.
559 (linux_stopped_by_watchpoint): Rewrite.
560 (linux_stopped_data_address): Rewrite.
561
bce522a2
PA
5622010-03-06 Simo Melenius <simo.melenius@iki.fi>
563
564 * linux-low.c (linux_wait_for_lwp): Fetch the regcache after
565 switching the current inferior, not before.
566
90884b2b
L
5672010-03-01 H.J. Lu <hongjiu.lu@intel.com>
568
569 * Makefile.in (clean): Replace reg-i386.c, reg-x86-64.c,
570 reg-i386-linux.c and reg-x86-64-linux.c with i386.c, amd64.c,
571 i386-linux.c and amd64-linux.c.
572 (reg-i386.o): Removed.
573 (reg-i386.c): Likewise.
574 (reg-i386-linux.o): Likewise.
575 (reg-i386-linux.c): Likewise.
576 (reg-x86-64.o): Likewise.
577 (reg-x86-64.c): Likewise.
578 (reg-x86-64-linux.o): Likewise.
579 (reg-x86-64-linux.c): Likewise.
580 (i386.o): New.
581 (i386.c): Likewise.
582 (i386-linux.o): Likewise.
583 (i386-linux.c): Likewise.
584 (amd64.o): Likewise.
585 (amd64.c): Likewise.
586 (amd64-linux.o): Likewise.
587 (amd64-linux.c): Likewise.
588
589 * configure.srv (srv_i386_regobj): New.
590 (srv_i386_linux_regobj): Likewise.
591 (srv_amd64_regobj): Likewise.
592 (srv_amd64_linux_regobj): Likewise.
593 (srv_i386_32bit_xmlfiles): Likewise.
594 (srv_i386_64bit_xmlfiles): Likewise.
595 (srv_i386_xmlfiles): Likewise.
596 (srv_amd64_xmlfiles): Likewise.
597 (srv_i386_linux_xmlfiles): Likewise.
598 (srv_amd64_linux_xmlfiles): Likewise.
599 (i[34567]86-*-cygwin*): Set srv_regobj to $srv_i386_regobj. Set
600 srv_xmlfiles to $srv_i386_xmlfiles.
601 (i[34567]86-*-mingw32ce*): Likewise.
602 (i[34567]86-*-mingw*): Likewise.
603 (i[34567]86-*-nto*): Likewise.
604 (i[34567]86-*-linux*): Set srv_regobj to $srv_i386_linux_regobj
605 and $srv_amd64_linux_regobj. Set srv_xmlfiles to
606 $srv_i386_linux_xmlfiles and $srv_amd64_linux_xmlfiles.
607 (x86_64-*-linux*): Likewise.
608
609 * linux-x86-low.c (init_registers_x86_64_linux): Removed.
610 (init_registers_amd64_linux): New.
611 (x86_arch_setup): Replace init_registers_x86_64_linux with
612 init_registers_amd64_linux.
613
193f13e6
MK
6142010-02-23 Maxim Kuvyrkov <maxim@codesourcery.com>
615
616 * configure.ac: Check for libdl. If it is not available link against
617 static libthread_db.
618 * configure: Regenerate.
619
85d721b8
PA
6202010-02-22 Pedro Alves <pedro@codesourcery.com>
621
622 PR9605
623
624 * i386-low.c (i386_length_and_rw_bits): Throw a fatal error if
625 handing a read watchpoint.
626 (i386_low_insert_watchpoint): Read watchpoints aren't supported.
627
6076632b
DE
6282010-02-12 Doug Evans <dje@google.com>
629
630 * linux-low.c (linux_supports_tracefork_flag): Document.
631 (linux_look_up_symbols): Add comment.
632
3327ccf7
L
6332010-02-03 H.J. Lu <hongjiu.lu@intel.com>
634
635 * regcache.c (supply_register): Clear regcache if buf is NULL.
636
0718675c 6372010-02-02 Nicolas Roche <roche@sourceware.org>
3327ccf7 638 Joel Brobecker <brobecker@adacore.com>
0718675c
JB
639
640 * inferiors.c (find_inferior): Add function documentation.
641 (unloaded_dll): Handle the case where the unloaded dll has not
642 been previously registered in the dll list.
643
177321bd
DJ
6442010-02-01 Daniel Jacobowitz <dan@codesourcery.com>
645
646 * linux-arm-low.c (thumb_breakpoint_len): Delete.
647 (thumb2_breakpoint): New.
648 (arm_breakpoint_at): Check for Thumb-2 breakpoints.
649
2b009048
DJ
6502010-01-29 Daniel Jacobowitz <dan@codesourcery.com>
651
652 * linux-low.c (get_stop_pc): Check for SIGTRAP.
653 (linux_wait_for_event_1): Handle SIGILL and SIGSEGV as possible
654 breakpoints.
655
3be029c7
PA
6562010-01-21 Pedro Alves <pedro@codesourcery.com>
657
658 * linux-ppc-low.c (ppc_arch_setup): Adjust to regcache changes.
659
18f5de3b
JK
6602010-01-21 Jan Kratochvil <jan.kratochvil@redhat.com>
661
662 * linux-s390-low.c (s390_collect_ptrace_register)
663 (s390_supply_ptrace_register): Adjust it for the new regcache parameter.
664
3743bb4f
DE
6652010-01-21 Doug Evans <dje@google.com>
666
14ce3065
DE
667 * linux-low.c (PTRACE_ARG3_TYPE): Change from long to void*.
668 (PTRACE_ARG4_TYPE): New macro.
669 (handle_extended_wait): Cast ptrace arg4 to PTRACE_ARG4_TYPE.
670 (linux_wait_for_event_1, linux_resume_one_lwp): Ditto.
671 (fetch_register): Cast to uintptr_t before casting to PTRACE_ARG3_TYPE.
672 (usr_store_inferior_registers): Ditto.
673 (linux_read_memory, linux_write_memory): Ditto.
674 (linux_test_for_tracefork): Ditto.
675
3743bb4f
DE
676 * linux-arm-low.c: Remove redundant include of gdb_proc_service.h.
677 Only include elf.h if gdb_proc_service.h didn't include linux/elf.h.
678
8b315be5
PA
6792010-01-21 Pedro Alves <pedro@codesourcery.com>
680
681 * proc-service.c (ps_lgetregs): Don't refetch registers from the
682 target.
683
85492558
PA
6842010-01-21 Pedro Alves <pedro@codesourcery.com>
685
686 * spu-low.c (spu_fetch_registers, spu_store_registers): Change
687 prototype to take a regcache. Adjust.
688
442ea881
PA
6892010-01-20 Pedro Alves <pedro@codesourcery.com>
690
691 * regcache.h (struct thread_info): Forward declare.
692 (struct regcache): New.
693 (new_register_cache): Adjust prototype.
694 (get_thread_regcache): Declare.
695 (free_register_cache): Adjust prototype.
696 (registers_to_string, registers_from_string): Ditto.
697 (supply_register, supply_register_by_name, collect_register)
698 (collect_register_as_string, collect_register_by_name): Ditto.
699 * regcache.c (struct inferior_regcache_data): Delete.
700 (get_regcache): Rename to ...
701 (get_thread_regcache): ... this. Adjust. Switch inferior before
702 fetching registers.
703 (regcache_invalidate_one): Adjust.
704 (regcache_invalidate): Fix prototype.
705 (new_register_cache): Return the new register cache.
706 (free_register_cache): Change prototype.
707 (realloc_register_cache): Adjust.
708 (registers_to_string): Change prototype to take a regcache. Adjust.
709 (registers_from_string): Ditto.
710 (register_data): Ditto.
711 (supply_register): Ditto.
712 (supply_register_by_name): Ditto.
713 (collect_register): Ditto.
714 (collect_register_as_string): Ditto.
715 (collect_register_by_name): Ditto.
716 * server.c (process_serial_event): Adjust.
717 * linux-low.h (regset_fill_func, regset_store_func): Change
718 prototype.
719 (get_pc, set_pc, collect_ptrace_register, supply_ptrace_register):
720 Change prototype.
721 * linux-low.c (get_stop_pc): Adjust.
722 (check_removed_breakpoint): Adjust.
723 (linux_wait_for_event): Adjust.
724 (linux_resume_one_lwp): Adjust.
725 (fetch_register): Add regcache parameter. Adjust.
726 (usr_store_inferior_registers): Ditto.
727 (regsets_fetch_inferior_registers): Ditto.
728 (regsets_store_inferior_registers): Ditto.
729 (linux_fetch_registers, linux_store_registers): Ditto.
730 * i387-fp.c (i387_cache_to_fsave): Change prototype to take a
731 regcache. Adjust.
732 (i387_fsave_to_cache, i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto.
733 * i387-fp.h (i387_cache_to_fsave, i387_fsave_to_cache): Change
734 prototype to take a regcache.
735 (i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto.
736 * remote-utils.c (convert_ascii_to_int, outreg)
737 (prepare_resume_reply): Change prototype to take a regcache.
738 Adjust.
739 * target.h (struct target_ops) <fetch_registers, store_registers>:
740 Change prototype to take a regcache.
741 (fetch_inferior_registers, store_inferior_registers): Change
742 prototype to take a regcache. Adjust.
743 * proc-service.c (ps_lgetregs): Adjust.
744 * linux-x86-low.c (x86_fill_gregset, x86_store_gregset)
745 (x86_fill_fpregset, x86_store_fpregset, x86_fill_fpxregset)
746 (x86_store_fpxregset, x86_get_pc, x86_set_pc): Change prototype to
747 take a regcache. Adjust.
748 * linux-arm-low.c (arm_fill_gregset, arm_store_gregset)
749 (arm_fill_wmmxregset, arm_store_wmmxregset, arm_fill_vfpregset)
750 (arm_store_vfpregset, arm_get_pc, arm_set_pc):
751 (arm_breakpoint_at): Change prototype to take a regcache. Adjust.
752 * linux-cris-low.c (cris_get_pc, cris_set_pc)
753 (cris_cannot_fetch_register):
754 (cris_breakpoint_at): Change prototype to take a regcache.
755 Adjust.
756 * linux-crisv32-low.c (cris_get_pc, cris_set_pc,
757 cris_reinsert_addr, cris_write_data_breakpoint): Change prototype
758 to take a regcache. Adjust.
759 (cris_breakpoint_at, cris_insert_point, cris_remove_point):
760 Adjust.
761 * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Change prototype to
762 take a regcache. Adjust.
763 * linux-m68k-low.c (m68k_fill_gregset, m68k_store_gregset)
764 (m68k_fill_fpregset, m68k_store_fpregset, m68k_get_pc,
765 (m68k_set_pc): Change prototype to take a regcache. Adjust.
766 * linux-mips-low.c (mips_get_pc):
767 (mips_set_pc): Change prototype to take a regcache. Adjust.
768 (mips_reinsert_addr): Adjust.
769 (mips_collect_register): Change prototype to take a regcache.
770 Adjust.
771 (mips_supply_register):
772 (mips_collect_register_32bit, mips_supply_register_32bit)
773 (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
774 (mips_store_fpregset): Ditto.
775 * linux-ppc-low.c (ppc_supply_ptrace_register, ppc_supply_ptrace_register):
776 Ditto.
777 (parse_spufs_run): Adjust.
778 (ppc_get_pc, ppc_set_pc, ppc_fill_gregset, ppc_fill_vsxregset)
779 (ppc_store_vsxregset, ppc_fill_vrregset, ppc_store_vrregset)
780 (ppc_fill_evrregset, ppc_store_evrregset): Change prototype to
781 take a regcache. Adjust.
782 * linux-s390-low.c (s390_collect_ptrace_register)
783 (s390_supply_ptrace_register, s390_fill_gregset, s390_get_pc)
784 (s390_set_pc): Change prototype to take a regcache. Adjust.
785 (s390_arch_setup): Adjust.
786 * linux-sh-low.c (sh_get_pc, sh_breakpoint_at)
787 (sh_fill_gregset): Change prototype to take a regcache. Adjust.
788 * linux-sparc-low.c (sparc_fill_gregset_to_stack)
789 (sparc_fill_gregset, sparc_store_gregset_from_stack)
790 (sparc_store_gregset, sparc_get_pc): Change prototype to take a
791 regcache. Adjust.
792 (sparc_breakpoint_at): Adjust.
793 * linux-xtensa-low.c (xtensa_fill_gregset):
794 (xtensa_store_gregset):
795 (xtensa_fill_xtregset, xtensa_store_xtregset, xtensa_get_pc)
796 (xtensa_set_pc): Change prototype to take a regcache. Adjust.
797 * nto-low.c (nto_fetch_registers, nto_store_registers): Change
798 prototype to take a regcache. Adjust.
799 * win32-arm-low.c (arm_fetch_inferior_register)
800 (arm_store_inferior_register): Change prototype to take a
801 regcache. Adjust.
802 * win32-i386-low.c (i386_fetch_inferior_register)
803 (i386_store_inferior_register): Change prototype to take a
804 regcache. Adjust.
805 * win32-low.c (child_fetch_inferior_registers)
806 (child_store_inferior_registers): Change prototype to take a
807 regcache. Adjust.
808 (win32_wait): Adjust.
809 (win32_fetch_inferior_registers): Change prototype to take a
810 regcache. Adjust.
811 (win32_store_inferior_registers): Adjust.
812 * win32-low.h (struct win32_target_ops) <fetch_inferior_register,
813 store_inferior_register>: Change prototype to take a regcache.
814
60c3d7b0
DE
8152010-01-20 Doug Evans <dje@google.com>
816
817 * linux-low.c (linux_create_inferior): Wrap use of __SIGRTMIN in
818 #ifdef.
819 (linux_wait_for_event1, linux_init_signals): Ditto.
ec8ebe72 820 (W_STOPCODE): Provide definition if missing.
60c3d7b0 821
dc146f7c
VP
8222010-01-13 Vladimir Prus <vladimir@codesourcery.com>
823
824 * linux-low.c (linux_core_of_thread): New.
825 (compare_ints, show_process, list_threads): New.
826 (linux_qxfer_osdata): Report threads and cores.
827 (linux_target_op): Register linux_core_of_thread.
828 * remote-utils.c (prepare_resume_reply): Report the core.
829 (buffer_xml_printf): Support %d specifier.
830 * server.c (handle_threads_qxfer_proper, handle_threads_qxfer):
831 New.
832 (handle_query): Handle qXfer:threads. Announce availability
833 thereof.
834 * target.h (struct target_ops): New field core_of_thread.
835
7803799a
UW
8362010-01-04 Ulrich Weigand <uweigand@de.ibm.com>
837
838 * Makefile.in (clean): Remove new generated files.
839 (reg-s390.o, reg-s390.c): Remove rules.
840 (reg-s390x.o, reg-s390x.c): Likewise.
841 (s390-linux32.o, s390-linux32.c): Add rules.
842 (s390-linux64.o, s390-linux64.c): Likewise.
843 (s390x-linux64.o, s390x-linux64.c): Likewise.
844 * configure.srv (s390*-*-linux*): Update srv_regobj and srv_xmlfiles.
845 * linux-s390-low.c: Include <elf.h>.
846 (HWCAP_S390_HIGH_GPRS): Define if undefined.
847 (init_registers_s390): Remove prototype.
848 (init_registers_s390x): Likewise.
849 (init_registers_s390_linux32): Add prototype.
850 (init_registers_s390_linux64): Likewise.
851 (init_registers_s390x_linux64): Likewise.
852 (s390_num_regs_3264): New define.
853 (s390_regmap_3264): New global variable.
854 (s390_cannot_fetch_register): Remove obsolete check.
855 (s390_cannot_store_register): Likewise.
856 (s390_collect_ptrace_register): Handle upper/lower register halves.
857 (s390_supply_ptrace_register): Likewise.
858 (s390_fill_gregset): Update to register number changes.
859 (s390_get_hwcap): New routine.
860 (s390_arch_setup): Detect 32-bit process running on 64-bit system.
861 Install appropriate regmap and register set.
862
6e7ffa39
JB
8632010-01-01 Joel Brobecker <brobecker@adacore.com>
864
865 * server.c (gdbserver_version): Update copyright year to 2010.
866 * gdbreplay.c (gdbreplay_version): Likewise.
867
957f3f49
DE
8682009-12-28 Doug Evans <dje@google.com>
869
870 * linux-low.c: Delete inclusion of ansidecl.h, elf/common.h,
871 elf/external.h. Include <elf.h> instead but only if necessary.
872
ca5c370d
PA
8732009-12-28 Pedro Alves <pedro@codesourcery.com>
874
875 * linux-low.c (linux_remove_process): Remove `detaching'
876 parameter. Don't release/detach from thread_db here.
877 (linux_kill): Release/detach from thread_db here, ...
878 (linux_detach): ... and here, before actually detaching.
879 (linux_wait_1): ... and here, when a process exits.
880 * thread-db.c (any_thread_of): New.
881 (thread_db_free): Switch the current inferior to a thread of the
882 passed in process.
883
4ee62156
DE
8842009-12-21 Doug Evans <dje@google.com>
885
d90e6a88
DE
886 * linux-x86-low.c: Delete outdated comment about Elf32_Phdr.
887
c5f62d5f
DE
888 * linux-low.c (kill_lwp): Use __NR_tkill instead of SYS_tkill.
889 Move definition of tkill_failed to ifdef __NR_tkill to avoid gcc
890 warning ifndef __NR_tkill. Move setting of errno there too.
891 Delete unnecessary resetting of errno after syscall.
892 Minor comment changes to match gdb/linux-nat.c:kill_lwp.
893
10e86dd7
DE
894 * configure.ac: Check for dladdr.
895 * config.in: Regenerate.
896 * configure: Regenerate.
897 * thread-db.c (dladdr_to_soname): Only define ifdef HAVE_DLADDR.
898 (try_thread_db_load): Update.
899
4ee62156
DE
900 * linux-low.c (my_waitpid): Delete unnecessary prototype.
901
00f515da
DE
9022009-12-18 Doug Evans <dje@google.com>
903
e9464885
DE
904 * event-loop.c: Include unistd.h if it exists.
905
07d4f67e
DE
906 * linux-low.c (my_waitpid): Move definition away from being in
907 between linux_tracefork_child/linux_test_for_tracefork.
908
00f515da
DE
909 * gdb_proc_service.h (psaddr_t): Fix type.
910 * thread-db.c (thread_db_info.td_thr_tls_get_addr_p): Fix
911 signature to match glibc.
912
1de1badb
DE
9132009-12-16 Doug Evans <dje@google.com>
914
915 * linux-low.c (linux_read_memory): Fix argument to read.
916
aeeb81d1
PA
9172009-11-26 Pedro Alves <pedro@codesourcery.com>
918
919 * win32-low.c (get_child_debug_event): On EXIT_THREAD_DEBUG_EVENT
920 events, don't leave current_inferior pointing at null.
921
10357975
PA
9222009-11-26 Pedro Alves <pedro@codesourcery.com>
923
924 * win32-low.c (LOG): Delete.
925 (OUTMSG): Output to stderr.
926 (OUTMSG2): Conditionalize on `debug_threads' variable, instead of
927 on compile time LOG macro.
928 (win32_wait): Fix debug output.
929
cf6e3471
PA
9302009-11-26 Pedro Alves <pedro@codesourcery.com>
931
932 * win32-low.c (win32_add_one_solib): If the dll name is
933 "ntdll.dll", prepend the system directory to the dll path.
934
0c85e18e
MK
9352009-11-17 Daniel Jacobowitz <dan@codesourcery.com>
936
937 * m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization.
938
9ac544ce 9392009-11-17 Nathan Sidwell <nathan@codesourcery.com>
0c85e18e 940 Vladimir Prus <vladimir@codesourcery.com>
9ac544ce
MK
941
942 * Makefile.in (reg-cf.o, reg-cf.c): New targets.
943 * configure.ac: Check for __mcoldfire__ and set
944 gdb_cv_m68k_is_coldfire.
945 * configure.srv: Use gdb_cv_m68k_is_coldfire to select between
946 reg-cf.o and reg-m68k.o.
947 * configure: Regenerated.
948
fd7dd3e6
PA
9492009-11-16 Pedro Alves <pedro@codesourcery.com>
950
951 * linux-low.c (linux_remove_process): Add `detaching' parameter.
952 Pass it to thread_db_free.
953 (linux_kill, linux_detach, linux_wait_1): Adjust to pass the
954 proper `detaching' argument to linux_remove_process.
955 * linux-low.h (thread_db_free): Add `detaching' parameter.
956 * thread-db.c (thread_db_init): Pass false as `detaching' argument
957 to thread_db_free.
958 (thread_db_free): Add `detaching' parameter. Only
959 call td_ta_clear_event if detaching from process.
960
75aa492e
MK
9612009-11-12 Maxim Kuvyrkov <maxim@codesourcery.com>
962
963 * thread-db.c (thread_db_free): Fix typo.
964
21e1bee4
PP
9652009-11-11 Paul Pluzhnikov <ppluzhnikov@google.com>
966
967 PR gdb/10838
968 * thread-db.c (thread_db_free): Call td_ta_clear_event.
969
8838b45e
NS
9702009-11-03 Nathan Sidwell <nathan@codesourcery.com>
971
972 * configure.ac (i[34567]86-*): Check if we're targetting x86-64
973 with an i686 compiler.
974 * configure.srv (i[34567]86-*-linux*): Pull in x86-64 handling if
975 needed.
976 * configure: Rebuilt.
977
8a35fb51
SL
9782009-10-29 Sandra Loosemore <sandra@codesourcery.com>
979
980 PR gdb/10783
981
982 * server.c (handle_search_memory_1): Correct read_addr initialization
983 in loop for searching subsequent chunks.
984
96f15937
PP
9852009-10-29 Paul Pluzhnikov <ppluzhnikov@google.com>
986
987 * configure.ac: New --with-libthread-db option.
988 * thread-db.c: Allow direct dependence on libthread_db.
989 (thread_db_free): Adjust.
990 * config.in: Regenerate.
991 * configure: Likewise.
992
5f7d1694
PP
9932009-10-28 Paul Pluzhnikov <ppluzhnikov@google.com>
994
995 PR gdb/10757
996 * thread-db.c (attach_thread): New function.
997 (maybe_attach_thread): Return success/failure.
998 (find_new_threads_callback): Adjust.
999 (thread_db_find_new_threads): Loop until no new threads.
1000
88e3b899
PA
10012009-10-13 Pedro Alves <pedro@codesourcery.com>
1002
1003 * proc-service.c (ps_lgetregs): Formatting.
1004
cdbfd419
PP
10052009-10-08 Paul Pluzhnikov <ppluzhnikov@google.com>
1006
1007 * acinclude.m4: (SRV_CHECK_THREAD_DB, SRV_CHECK_TLS_GET_ADDR): Remove.
1008 * configure.ac: Adjust.
1009 * linux-low.h (struct process_info_private): Move members to struct
1010 thread_db.
1011 (thread_db_free, thread_db_handle_monitor_command): New prototype.
1012 * linux-low.c (linux_remove_process): Adjust.
1013 (linux_wait_for_event_1, linux_look_up_symbols): Likewise.
1014 * server.c (handle_query): Move code ...
1015 (handle_monitor_command): ... here. New function.
1016 * target.h (struct target_ops): New member.
1017 * thread-db.c (struct thread_db): New.
1018 (libthread_db_search_path): New variable.
1019 (thread_db_create_event, thread_db_enable_reporting)
1020 (find_one_thread, maybe_attach_thread, find_new_threads_callback)
1021 (thread_db_find_new_threads, (thread_db_get_tls_address): Adjust.
1022 (try_thread_db_load_1, dladdr_to_soname): New functions.
1023 (try_thread_db_load, thread_db_load_search): New functions.
1024 (thread_db_init): Search for libthread_db.
1025 (thread_db_free): New function.
1026 (thread_db_handle_monitor_command): Likewise.
1027 * config.in: Regenerate.
1028 * configure: Regenerate.
1029
4168d2d6
UW
10302009-09-27 Ulrich Weigand <uweigand@de.ibm.com>
1031
1032 * spu-low.c (spu_kill): Wait for inferior to terminate.
1033 Call clear_inferiors.
1034 (spu_detach): Call clear_inferiors.
1035
81ecdfbb
RW
10362009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1037
1038 * aclocal.m4: Regenerate.
1039 * config.in: Likewise.
1040 * configure: Likewise.
1041
0b9ff2c0
UW
10422009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
1043
1044 * linux-ppc-low.c (INSTR_SC, NR_spu_run): Define.
1045 (parse_spufs_run): New function.
1046 (ppc_get_pc, ppc_set_pc): Detect and handle SPU PC.
1047 (ppc_breakpoint_at): Handle SPU breakpoints.
1048
efcbbd14
UW
10492009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
1050
1051 * linux-low.c: Include <sys/stat.h> and <sys/vfs.h>.
1052 (SPUFS_MAGIC): Define.
1053 (spu_enumerate_spu_ids): New function.
1054 (linux_qxfer_spu): New function.
1055 (linux_target_ops): Install linux_qxfer_spu.
1056
f4d9bade
UW
10572009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
1058
1059 * configure.srv (powerpc*-*-linux*): Add powerpc-cell32l.o
1060 and powerpc-cell64l.o to srv_regobj. Add rs6000/powerpc-cell32l.xml
1061 and rs6000/powerpc-cell64l.xml to srv_xmlfiles.
1062 * Makefile.in (powerpc-cell32l.o, powerpc-cell32l.c): New rules.
1063 (powerpc-cell64l.o, powerpc-cell64l.c): Likewise.
1064 (clean): Handle powerpc-cell32l.c and powerpc-cell64l.c.
1065 * linux-ppc-low.c (PPC_FEATURE_CELL): Define.
1066 (init_registers_powerpc_cell32l): Add prototype.
1067 (init_registers_powerpc_cell64l): Likewise.
1068 (ppc_arch_setup): Detect Cell/B.E. architecture.
1069
96e946ca
RW
10702009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1071
1072 * Makefile.in (datarootdir): New variable.
1073
58d6951d
DJ
10742009-07-28 Daniel Jacobowitz <dan@codesourcery.com>
1075
1076 * linux-low.c (linux_write_memory): Update debugging output.
1077 * Makefile.in (clean): Add new descriptions.
1078 (arm-with-vfpv2.o, arm-with-vfpv2.c, arm-with-vfpv3.o)
1079 (arm-with-vfpv3.c, arm-with-neon.o, arm-with-neon.c): New rules.
1080 * configure.srv: Add new files for arm*-*-linux*.
1081 * linux-arm-low.c: Add new declarations.
1082 (PTRACE_GETVFPREGS, PTRACE_SETVFPREGS): Define if undefined.
1083 (arm_hwcap, HWCAP_VFP, HWCAP_IWMMXT, HWCAP_NEON, HWCAP_VFPv3)
1084 (HWCAP_VFPv3D16): New.
1085 (arm_fill_wmmxregset, arm_store_wmmxregset): Check HWCAP_IWMMXT
1086 instead of __IWMMXT__.
1087 (arm_fill_vfpregset, arm_store_vfpregset, arm_get_hwcap)
1088 (arm_arch_setup): New.
1089 (target_regsets): Remove #ifdef. Add VFP regset.
1090 (the_low_target): Use arm_arch_setup.
1091
12b42a12
DJ
10922009-07-28 Daniel Jacobowitz <dan@codesourcery.com>
1093
1094 * linux-low.c (linux_kill_one_lwp): Adjust kernel workaround to skip
1095 the main thread again.
1096
ac8c974e
AR
10972009-07-06 Aleksandar Ristovski <aristovski@qnx.com>
1098
1099 Adding Neutrino gdbserver.
1100 * configure: Regenerated.
1101 * configure.ac: Add case for srv_qnx and set LIBS accordingly.
1102 * configure.srv (i[34567]86-*-nto*): New target.
1103 * nto-low.c, nto-low.h, nto-x86-low.c: New files.
1104 * remote-utils.c [__QNX__]: Include sys/iomgr.h
1105 (nto_comctrl) [__QNX__]: New function.
1106 (enable_async_io, disable_async_io) [__QNX__]: Call nto_comctrl.
1107
4424e0c3 11082009-07-05 Danny Backx <dannybackx@users.sourceforge.net>
7437790a
PA
1109
1110 * configure.srv (i[34567]86-*-mingw32ce*): Add i386-low.o to
1111 srv_tgtobj.
1112
912cf4ba
PA
11132009-07-04 Danny Backx <dannybackx@users.sourceforge.net>
1114 Pedro Alves <pedro@codesourcery.com>
1115
1116 * win32-i386-low.c (i386_get_thread_context): Handle systems that
1117 don't support CONTEXT_EXTENDED_REGISTERS.
1118 (i386_win32_breakpoint, i386_win32_breakpoint_len): New.
1119 (the_low_target): Install them.
1120 * win32-low.c (get_child_debug_event): Handle WaitForDebugEvent
1121 failing with ERROR_PIPE_NOT_CONNECTED.
1122
aa5ca48f
DE
11232009-06-30 Doug Evans <dje@google.com>
1124 Pierre Muller <muller@ics.u-strasbg.fr>
1125
1126 Add h/w watchpoint support to x86-linux, win32-i386.
1127 * Makefile.in (SFILES): Add i386-low.c
1128 (i386_low_h): Define.
1129 (i386-low.o): Add dependencies.
1130 (linux-x86-low.o): Add i386-low.h dependency.
1131 (win32-i386-low.o): Ditto.
1132 * i386-low.c: New file.
1133 * i386-low.h: New file.
1134 * configure.srv (i[34567]86-*-cygwin*): Add i386-low.o to srv_tgtobj.
1135 (i[34567]86-*-linux*, i[34567]86-*-mingw*, x86_64-*-linux*): Ditto.
1136 * linux-low.c (linux_add_process): Initialize arch_private.
1137 (linux_remove_process): Free arch_private.
1138 (add_lwp): Initialize arch_private.
1139 (delete_lwp): Free arch_private.
1140 (linux_resume_one_lwp): Call the_low_target.prepare_to_resume if
1141 provided.
1142 * linux-low.h (process_info_private): New member arch_private.
1143 (lwp_info): New member arch_private.
1144 (linux_target_ops): New members new_process, new_thread,
1145 prepare_to_resume.
1146 (ptid_of): New macro.
1147 * linux-x86-low.c: Include stddef.h, i386-low.h.
1148 (arch_process_info): New struct.
1149 (arch_lwp_info): New struct.
1150 (x86_linux_dr_get, x86_linux_dr_set): New functions.
1151 (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
1152 (i386_dr_low_get_status): New function.
1153 (x86_insert_point, x86_remove_point): New functions.
1154 (x86_stopped_by_watchpoint): New function.
1155 (x86_stopped_data_address): New function.
1156 (x86_linux_new_process, x86_linux_new_thread): New functions.
1157 (x86_linux_prepare_to_resume): New function.
1158 (the_low_target): Add entries for insert_point, remove_point,
1159 stopped_by_watchpoint, stopped_data_address, new_process, new_thread,
1160 prepare_to_resume.
1161 * server.c (debug_hw_points): New global.
1162 (monitor_show_help): Document set debug-hw-points.
1163 (handle_query): Process "set debug-hw-points".
1164 * server.h (debug_hw_points): Declare.
1165 (paddress): Declare.
1166 * utils.c (NUMCELLS, CELLSIZE): New macros.
1167 (get_sell, xsnprintf, paddress): New functions.
1168 * win32-arm-low.c (the_low_target): Add entries for insert_point,
1169 remove_point, stopped_by_watchpoint, stopped_data_address.
1170 * win32-i386-low.c: Include i386-low.h.
1171 (debug_reg_state): Replaces dr.
1172 (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
1173 (i386_dr_low_get_status): New function.
1174 (i386_insert_point, i386_remove_point): New functions.
1175 (i386_stopped_by_watchpoint): New function.
1176 (i386_stopped_data_address): New function.
1177 (i386_initial_stuff): Update.
1178 (get_thread_context,set_thread_context,i386_thread_added): Update.
1179 (the_low_target): Add entries for insert_point,
1180 remove_point, stopped_by_watchpoint, stopped_data_address.
1181 * win32-low.c (win32_insert_watchpoint): New function.
1182 (win32_remove_watchpoint): New function.
1183 (win32_stopped_by_watchpoint): New function.
1184 (win32_stopped_data_address): New function.
1185 (win32_target_ops): Add entries for insert_watchpoint,
1186 remove_watchpoint, stopped_by_watchpoint, stopped_data_address.
1187 * win32-low.h (win32_target_ops): New members insert_point,
1188 remove_point, stopped_by_watchpoint, stopped_data_address.
1189
d993e290
PA
11902009-06-25 Pedro Alves <pedro@codesourcery.com>
1191
1192 * server.c (process_serial_event): Re-return unsupported, not
1193 error, if the type isn't recognized. Re-allow supporting only
1194 insert or remove packets. Also call require_running for
1195 breakpoints. Add missing break statement to default case. Tidy.
1196 * target.h (struct target_ops): Rename insert_watchpoint to
1197 insert_point, and remove_watchpoint to remove_point.
1198
1199 * linux-low.h (struct linux_target_ops): Likewise.
1200 * linux-low.c (linux_insert_watchpoint): Rename to ...
1201 (linux_insert_point): ... this. Adjust.
1202 (linux_remove_watchpoint): Rename to ...
1203 (linux_remove_point): ... this. Adjust.
1204 (linux_target_ops): Adjust.
1205 * linux-crisv32-low.c (cris_insert_watchpoint): Rename to ...
1206 (cris_insert_point): ... this.
1207 (cris_remove_watchpoint): Rename to ...
1208 (cris_remove_point): ... this.
1209 (the_low_target): Adjust.
1210
0f54c268
PM
12112009-06-24 Pierre Muller <muller@ics.u-strasbg.fr>
1212
1213 * server.c (handle_v_kill): Pass signal_pid to
1214 kill_inferior if multi_process is zero.
1215
c6314022
AR
12162009-06-23 Aleksandar Ristovski <aristovski@qnx.com>
1217
1218 * server.c (process_serial_event): Add support for Z0 and Z1 packet.
1219 * target.h (target_ops): Comment for *_watchpoint to make it clear
1220 the functions can get types '0' and '1'.
1221
4463ce24
AR
12222009-06-22 Aleksandar Ristovski <aristovski@qnx.com>
1223
1224 * linux-low.c (usr_fetch_inferior_registers): Remove check for regno 0.
1225 * proc-service.c (ps_lgetregs): Pass -1 to fetch all registers.
1226 * regcache.c (get_regcache): Likewise.
1227 * spu-low.c (spu_fetch_registers): Remove 0 to -1 conversion.
1228 * win32-low.c (child_fetch_inferior_registers): Remove check for
1229 regno 0.
1230
cf8fd78b
PA
12312009-06-19 Aleksandar Ristovski <aristovski@qnx.com>
1232 Pedro Alves <pedro@codesourcery.com>
1233
1234 * target.h (struct target_ops) <supports_multi_process>: New
1235 callback.
1236 (target_supports_multi_process): New.
1237 * server.c (handle_query): Even if GDB reports support, only
1238 enable multi-process if the target also supports it. Report
1239 multi-process support only if the target backend supports it.
1240 * linux-low.c (linux_supports_multi_process): New function.
1241 (linux_target_ops): Install it as target_supports_multi_process
1242 callback.
1243
47c0c975
DE
12442009-05-24 Doug Evans <dje@google.com>
1245
e09875d4
DE
1246 Global renaming of find_thread_pid to find_thread_ptid.
1247 * server.h (find_thread_ptid): Renamed from find_thread_pid.
1248 * inferiors.c (find_thread_ptid): Renamed from find_thread_pid.
1249 All callers updated.
1250
e27d73f6
DE
1251 * linux-low.c (handle_extended_wait): Use linux_resume_one_lwp
1252 to resume the newly created thread, don't call ptrace (PTRACE_CONT)
1253 directly.
1254
47c0c975
DE
1255 * linux-low.c (get_stop_pc): Print pc if debug_threads.
1256 (check_removed_breakpoint, linux_wait_for_lwp): Ditto.
1257 (linux_resume_one_lwp): Ditto.
1258
2acc282a
DE
12592009-05-23 Doug Evans <dje@google.com>
1260
1261 * linux-low.c (linux_resume_one_lwp): Change type of first arg
1262 from struct inferior_list_entry * to struct lwp_info *.
1263 All callers updated.
1264
9f1036c1
DE
12652009-05-13 Doug Evans <dje@google.com>
1266
1267 * linux-x86-low.c: Don't include assert.h.
1268 (x86_siginfo_fixup): Use fatal, not assert.
1269 (x86_arch_setup): Fix comment.
1270
d0722149
DE
12712009-05-12 Doug Evans <dje@google.com>
1272
1273 Biarch support for i386/amd64 gdbserver.
1274 * Makefile.in (SFILES): Remove linux-i386-low.c, linux-x86-64-low.c.
1275 Add linux-x86-low.c.
1276 (linux-i386-low.o, linux-x86-64-low.o): Delete.
1277 (linux-x86-low.o): Add.
1278 * linux-x86-64-low.c: Delete.
1279 * linux-i386-low.c: Delete.
1280 * linux-x86-low.c: New file.
1281 * configure.srv (i?86-linux srv_tgtobj): Replace linux-i386-low.o with
1282 linux-x86-low.o.
1283 (x86_64-linux srv_tgtobj): Replace linux-x86-64-low.o with
1284 linux-x86-low.o.
1285 (x86_64-linux srv_regobj): Add reg-i386-linux.o.
1286 * linux-low.c: Include ansidecl.h, elf/common.h, elf/external.h.
1287 (linux_child_pid_to_exec_file): New function.
1288 (elf_64_header_p, elf_64_file_p): New functions.
1289 (siginfo_fixup): New function.
1290 (linux_xfer_siginfo): New local inf_siginfo. Call siginfo_fixup to
1291 give target a chance to convert layout.
1292 * linux-low.h (linux_target_ops): New member siginfo_fixup.
1293 (linux_child_pid_to_exec_file, elf_64_file_p): Declare.
1294
fdeb2a12
DE
12952009-05-07 Doug Evans <dje@google.com>
1296
1297 * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak.
1298 (regsets_store_inferior_registers): Ditto.
1299
a6dbe5df
PA
13002009-05-06 Pedro Alves <pedro@codesourcery.com>
1301
1302 PR server/10048
1303
1304 * linux-low.c (must_set_ptrace_flags): Delete.
1305 (linux_create_inferior): Set `lwp->must_set_ptrace_flags' instead
1306 of the global.
1307 (linux_attach_lwp_1): Don't set PTRACE_SETOPTIONS here. Set
1308 `lwp->must_set_ptrace_flags' instead.
ba42693b 1309 (linux_wait_for_event_1): Set ptrace options here.
a6dbe5df
PA
1310 (linux_wait_1): ... not here.
1311
5091eb23
DE
13122009-04-30 Doug Evans <dje@google.com>
1313
9f767825
DE
1314 * inferiors.c (started_inferior_callback): New function.
1315 (attached_inferior_callback): New function.
1316 (have_started_inferiors_p, have_attached_inferiors_p): New functions.
1317 * server.c (print_started_pid, print_attached_pid): New functions.
1318 (detach_or_kill_for_exit): New function.
1319 (main): Call it instead of for_each_inferior (kill_inferior_callback).
1320 * server.h (have_started_inferiors_p): Declare.
1321 (have_attached_inferiors_p): Declare.
1322
5091eb23
DE
1323 * inferiors.c (remove_process): Fix memory leak, free process.
1324 * linux-low.c (linux_remove_process): New function.
1325 (linux_kill): Call it instead of remove_process.
1326 (linux_detach, linux_wait_1): Ditto.
1327
155c8968
PA
13282009-04-19 Danny Backx <dannybackx@users.sourceforge.net>
1329
1330 * configure.srv: Add x86 Windows CE target.
1331
7fe519cb
UW
13322009-04-03 Ulrich Weigand <uweigand@de.ibm.com>
1333
1334 * inferiors.c (get_thread_process): Make global.
1335 * server.h (get_thread_process): Add prototype.
1336 * thread-db.c (find_one_thread): Use get_thread_process
1337 instead of current_process.
1338 (thread_db_get_tls_address): Do not crash if called when
1339 thread layer is not yet initialized.
1340
5472f405
UW
13412009-04-03 Ulrich Weigand <uweigand@de.ibm.com>
1342
1343 * remote-utils.c (prepare_resume_reply): Null-terminate packet.
1344 * spu-low.c (current_tid): Rename to ...
1345 (current_ptid): ... this.
1346 (fetch_ppc_register, fetch_ppc_memory, store_ppc_memory,
1347 spu_proc_xfer_spu, spu_resume, spu_request_interrupt): Use
1348 ptid_get_lwp (current_ptid) instead of current_tid.
1349 (spu_kill, spu_detach, spu_join, spu_wait): Use pid argument
1350 instead of current_tid. Use find_process_pid to verify pid
1351 argument is valid. Pass proper argument to remove_process.
1352 (spu_thread_alive): Compare current_ptid instead of current_tid.
1353 (spu_resume): Likewise.
1354
55ac2b99
PA
13552009-04-02 Pedro Alves <pedro@codesourcery.com>
1356
1357 * linux-low.c (usr_store_inferior_registers): Declare local `pid'
1358 variable.
1359
95954743
PA
13602009-04-01 Pedro Alves <pedro@codesourcery.com>
1361
1362 Implement the multiprocess extensions, and add linux multiprocess
1363 support.
1364
1365 * server.h (ULONGEST): Declare.
1366 (struct ptid, ptid_t): New.
1367 (minus_one_ptid, null_ptid): Declare.
1368 (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
1369 (ptid_get_tid, ptid_equal, ptid_is_pid): Declare.
1370 (struct inferior_list_entry): Change `id' type from unsigned from
1371 to ptid_t.
1372 (struct sym_cache, struct breakpoint, struct
1373 process_info_private): Forward declare.
1374 (struct process_info): Declare.
1375 (current_process): Declare.
1376 (all_processes): Declare.
1377 (initialize_inferiors): Declare.
1378 (add_thread): Adjust to use ptid_t.
1379 (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): Ditto.
1380 (add_process, remove_process, find_thread_pid): Declare.
1381 (find_inferior_id): Adjust to use ptid_t.
1382 (cont_thread, general_thread, step_thread): Change type to ptid_t.
1383 (multi_process): Declare.
1384 (push_event): Adjust to use ptid_t.
1385 (read_ptid, write_ptid): Declare.
1386 (prepare_resume_reply): Adjust to use ptid_t.
1387 (clear_symbol_cache): Declare.
1388 * inferiors.c (all_processes): New.
1389 (null_ptid, minus_one_ptid): New.
1390 (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
1391 (ptid_get_tid, ptid_equal, ptid_is_pid): New.
1392 (add_thread): Change unsigned long to ptid. Remove gdb_id
1393 parameter. Adjust.
1394 (thread_id_to_gdb_id, thread_to_gdb_id): Change unsigned long to ptid.
1395 (gdb_id_to_thread): Rename to ...
1396 (find_thread_pid): ... this. Change unsigned long to ptid.
1397 (gdb_id_to_thread_id, find_inferior_id): Change unsigned long to ptid.
1398 (loaded_dll, pull_pid_from_list): Adjust.
1399 (add_process, remove_process, find_process_pid)
1400 (get_thread_process, current_process, initialize_inferiors): New.
1401 * target.h (struct thread_resume) <thread>: Change type to ptid_t.
1402 (struct target_waitstatus) <related_pid>: Ditto.
1403 (struct target_ops) <kill, detach>: Add `pid' argument. Change
1404 return type to int.
1405 (struct target_ops) <join>: Add `pid' argument.
1406 (struct target_ops) <thread_alive>: Change pid's type to ptid_t.
1407 (struct target_ops) <wait>: Add `ptid' field. Change return type
1408 to ptid.
1409 (kill_inferior, detach_inferior, join_inferior): Add `pid' argument.
1410 (mywait): Add `ptid' argument. Change return type to ptid_t.
1411 (target_pid_to_str): Declare.
1412 * target.c (set_desired_inferior): Adjust to use ptids.
1413 (mywait): Add new `ptid' argument. Adjust.
1414 (target_pid_to_str): New.
1415 * mem-break.h (free_all_breakpoints): Declare.
1416 * mem-break.c (breakpoints): Delelete.
1417 (set_breakpoint_at, delete_breakpoint, find_breakpoint_at)
1418 (check_mem_read, check_mem_write, delete_all_breakpoints): Adjust
1419 to use per-process breakpoint list.
1420 (free_all_breakpoints): New.
1421 * remote-utils.c (struct sym_cache) <name>: Drop `const'.
1422 (symbol_cache, all_symbols_looked_up): Delete.
1423 (hexchars): New.
1424 (ishex, unpack_varlen_hex, write_ptid, hex_or_minus_one,
1425 read_ptid): New.
1426 (prepare_resume_reply): Change ptid argument's type from unsigned
1427 long to ptid_t. Adjust. Implement W;process and X;process.
1428 (free_sym_cache, clear_symbol_cache): New.
1429 (look_up_one_symbol): Adjust to per-process symbol cache. *
1430 * server.c (cont_thread, general_thread, step_thread): Change type
1431 to ptid_t.
1432 (attached): Delete.
1433 (multi_process): New.
1434 (last_ptid): Change type to ptid_t.
1435 (struct vstop_notif) <ptid>: Change type to ptid_t.
1436 (queue_stop_reply, push_event): Change `ptid' argument's type to
1437 ptid_t.
1438 (discard_queued_stop_replies): Add `pid' argument.
1439 (start_inferior): Adjust to use ptids. Adjust to mywait interface
1440 changes. Don't reference the `attached' global.
1441 (attach_inferior): Adjust to mywait interface changes.
1442 (handle_query): Adjust to use ptids. Parse GDB's qSupported
1443 features. Handle and report "multiprocess+". Handle
1444 "qAttached:PID".
1445 (handle_v_cont): Adjust to use ptids. Adjust to mywait interface
1446 changes.
1447 (handle_v_kill): New.
1448 (handle_v_stopped): Adjust to use target_pid_to_str.
1449 (handle_v_requests): Allow multiple attaches and runs when
1450 multiprocess extensions are in effect. Handle "vKill".
1451 (myresume): Adjust to use ptids.
1452 (queue_stop_reply_callback): Add `arg' parameter. Handle it.
1453 (handle_status): Adjust to discard_queued_stop_replies interface
1454 change.
1455 (first_thread_of, kill_inferior_callback)
1456 (detach_or_kill_inferior_callback, join_inferiors_callback): New.
1457 (main): Call initialize_inferiors. Adjust to use ptids, killing
1458 and detaching from all inferiors. Handle multiprocess packet
1459 variants.
1460 * linux-low.h: Include gdb_proc_service.h.
1461 (struct process_info_private): New.
1462 (struct linux_target_ops) <pid_of>: Use ptid_get_pid.
1463 <lwpid_of>: Use ptid_get_lwp.
1464 (get_lwp_thread): Adjust.
1465 (struct lwp_info): Add `dead' member.
1466 (find_lwp_pid): Declare.
1467 * linux-low.c (thread_db_active): Delete.
1468 (new_inferior): Adjust comment.
1469 (inferior_pid): Delete.
1470 (linux_add_process): New.
1471 (handle_extended_wait): Adjust.
1472 (add_lwp): Change unsigned long to ptid.
1473 (linux_create_inferior): Add process to processes table. Adjust
1474 to use ptids. Don't set new_inferior here.
1475 (linux_attach_lwp): Rename to ...
1476 (linux_attach_lwp_1): ... this. Add `initial' argument. Handle
1477 it. Adjust to use ptids.
1478 (linux_attach_lwp): New.
1479 (linux_attach): Add process to processes table. Don't set
1480 new_inferior here.
1481 (struct counter): New.
1482 (second_thread_of_pid_p, last_thread_of_process_p): New.
1483 (linux_kill_one_lwp): Add `args' parameter. Handle it. Adjust to
1484 multiple processes.
1485 (linux_kill): Add `pid' argument. Handle it. Adjust to multiple
1486 processes. Remove process from process table.
1487 (linux_detach_one_lwp): Add `args' parameter. Handle it. Adjust
1488 to multiple processes.
1489 (any_thread_of): New.
1490 (linux_detach): Add `pid' argument, and handle it. Remove process
1491 from processes table.
1492 (linux_join): Add `pid' argument. Handle it.
1493 (linux_thread_alive): Change unsighed long argument to ptid_t.
1494 Consider dead lwps as not being alive.
1495 (status_pending_p): Rename `dummy' argument to `arg'. Filter out
1496 threads we're not interested in.
1497 (same_lwp, find_lwp_pid): New.
1498 (linux_wait_for_lwp): Change `pid' argument's type from int to
1499 ptid_t. Adjust.
1500 (linux_wait_for_event): Rename to ...
1501 (linux_wait_for_event_1): ... this. Change `pid' argument's type
1502 from int to ptid_t. Adjust.
1503 (linux_wait_for_event): New.
1504 (linux_wait_1): Add `ptid' argument. Change return type to
1505 ptid_t. Adjust. Use last_thread_of_process_p. Remove processes
1506 that exit from the process table.
1507 (linux_wait): Add `ptid' argument. Change return type to ptid_t.
1508 Adjust.
1509 (mark_lwp_dead): New.
1510 (wait_for_sigstop): Adjust to use ptids. If a process exits while
1511 stopping all threads, mark its main lwp as dead.
1512 (linux_set_resume_request, linux_resume_one_thread): Adjust to use
1513 ptids.
1514 (fetch_register, usr_store_inferior_registers)
1515 (regsets_fetch_inferior_registers)
1516 (regsets_store_inferior_registers, linux_read_memory)
1517 (linux_write_memory): Inline `inferior_pid'.
1518 (linux_look_up_symbols): Adjust to use per-process
1519 `thread_db_active'.
1520 (linux_request_interrupt): Adjust to use ptids.
1521 (linux_read_auxv): Inline `inferior_pid'.
1522 (initialize_low): Don't reference thread_db_active.
1523 * gdb_proc_service.h (struct ps_prochandle) <pid>: Remove.
1524 * proc-service.c (ps_lgetregs): Use find_lwp_pid.
1525 (ps_getpid): Return the pid of the current inferior.
1526 * thread-db.c (proc_handle, thread_agent): Delete.
1527 (thread_db_create_event, thread_db_enable_reporting): Adjust to
1528 per-process data.
1529 (find_one_thread): Change argument type to ptid_t. Adjust to
1530 per-process data.
1531 (maybe_attach_thread): Adjust to per-process data and ptids.
1532 (thread_db_find_new_threads): Ditto.
1533 (thread_db_init): Ditto.
1534 * spu-low.c (spu_create_inferior, spu_attach): Add process to
1535 processes table. Adjust to use ptids.
1536 (spu_kill, spu_detach): Adjust interface. Remove process from
1537 processes table.
1538 (spu_join, spu_thread_alive): Adjust interface.
1539 (spu_wait): Adjust interface. Remove process from processes
1540 table. Adjust to use ptids.
1541 * win32-low.c (current_inferior_tid): Delete.
1542 (current_inferior_ptid): New.
1543 (debug_event_ptid): New.
1544 (thread_rec): Take a ptid. Adjust.
1545 (child_add_thread): Add `pid' argument. Adjust to use ptids.
1546 (child_delete_thread): Ditto.
1547 (do_initial_child_stuff): Add `attached' argument. Add process to
1548 processes table.
1549 (child_fetch_inferior_registers, child_store_inferior_registers):
1550 Adjust.
1551 (win32_create_inferior): Pass 0 to do_initial_child_stuff.
1552 (win32_attach): Pass 1 to do_initial_child_stuff.
1553 (win32_kill): Adjust interface. Remove process from processes
1554 table.
1555 (win32_detach): Ditto.
1556 (win32_join): Adjust interface.
1557 (win32_thread_alive): Take a ptid.
1558 (win32_resume): Adjust to use ptids.
1559 (get_child_debug_event): Ditto.
1560 (win32_wait): Adjust interface. Remove exiting process from
1561 processes table.
1562
bd99dc85
PA
15632009-04-01 Pedro Alves <pedro@codesourcery.com>
1564
1565 Non-stop mode support.
1566
1567 * server.h (non_stop): Declare.
1568 (gdb_client_data, handler_func): Declare.
1569 (delete_file_handler, add_file_handler, start_event_loop):
1570 Declare.
1571 (handle_serial_event, handle_target_event, push_event)
1572 (putpkt_notif): Declare.
1573 * target.h (enum resume_kind): New.
1574 (struct thread_resume): Replace `step' field by `kind' field.
1575 (TARGET_WNOHANG): Define.
1576 (struct target_ops) <wait>: Add `options' argument.
1577 <supports_non_stop, async, start_non_stop>: New fields.
1578 (target_supports_non_stop, target_async): New.
1579 (start_non_stop): Declare.
1580 (mywait): Add `options' argument.
1581 * target.c (mywait): Add `options' argument. Print child exit
1582 notifications here.
1583 (start_non_stop): New.
1584 * server.c (non_stop, own_buf, mem_buf): New globals.
1585 (struct vstop_notif): New.
1586 (notif_queue): New global.
1587 (queue_stop_reply, push_event, discard_queued_stop_replies)
1588 (send_next_stop_reply): New.
1589 (start_inferior): Adjust to use resume_kind. Adjust to mywait
1590 interface changes.
1591 (attach_inferior): In non-stop mode, don't wait for the target
1592 here.
1593 (handle_general_set): Handle QNonStop.
1594 (handle_query): When handling qC, return the current general
1595 thread, instead of the first thread of the list.
1596 (handle_query): If the backend supports non-stop mode, include
1597 QNonStop+ in the qSupported query response.
1598 (handle_v_cont): Adjust to use resume_kind. Handle resume_stop
1599 and non-stop mode.
1600 (handle_v_attach, handle_v_run): Handle non-stop mode.
1601 (handle_v_stopped): New.
1602 (handle_v_requests): Report support for vCont;t. Handle vStopped.
1603 (myresume): Adjust to use resume_kind. Handle non-stop.
1604 (queue_stop_reply_callback): New.
1605 (handle_status): Handle non-stop mode.
1606 (main): Clear non_stop flag on reconnection. Use the event-loop.
1607 Refactor serial protocol handling from here ...
1608 (process_serial_event): ... to this new function. When GDB
1609 selects any thread, select one here. In non-stop mode, wait until
1610 GDB acks all pending events before exiting.
1611 (handle_serial_event, handle_target_event): New.
1612 * remote-utils.c (remote_open): Install remote_desc in the event
1613 loop.
1614 (remote_close): Remove remote_desc from the event loop.
1615 (putpkt_binary): Rename to...
1616 (putpkt_binary_1): ... this. Add `is_notic' argument. Handle it.
1617 (putpkt_binary): New as wrapper around putpkt_binary_1.
1618 (putpkt_notif): New.
1619 (prepare_resume_reply): In non-stop mode, don't change the
1620 general_thread.
1621 * event-loop.c: New.
1622 * Makefile.in (OBJ): Add event-loop.o.
1623 (event-loop.o): New rule.
1624
1625 * linux-low.h (pid_of): Moved here.
1626 (lwpid_of): New.
1627 (get_lwp_thread): Use lwpid_of.
1628 (struct lwp_info): Delete `lwpid' field. Add `suspended' field.
1629 * linux-low.c (pid_of): Delete.
1630 (inferior_pid): Use lwpid_of.
1631 (linux_event_pipe): New.
1632 (target_is_async_p): New.
1633 (delete_lwp): New.
1634 (handle_extended_wait): Use lwpid_of.
1635 (add_lwp): Don't set lwpid field.
1636 (linux_attach_lwp): Adjust debug output. Use lwpid_of.
1637 (linux_kill_one_lwp): If killing a running lwp, stop it first.
1638 Use lwpid_of. Adjust to linux_wait_for_event interface changes.
1639 (linux_detach_one_lwp): If detaching from a running lwp, stop it
1640 first. Adjust to linux_wait_for_event interface changes. Use
1641 lwpid_of.
1642 (linux_detach): Don't delete the main lwp here.
1643 (linux_join): Use my_waitpid. Avoid signal_pid. Use lwpid_of.
1644 (status_pending_p): Don't consider explicitly suspended lwps.
1645 (linux_wait_for_lwp): Take an integer pid instead of a lwp_info
1646 pointer. Add OPTIONS argument. Change return type to int. Use
1647 my_waitpid instead of sleeping. Handle WNOHANG. Use lwpid_of.
1648 (linux_wait_for_event): Take an integer pid instead of a lwp_info
1649 pointer. Add status pointer argument. Return a pid instead of a
1650 status. Use lwpid_of. Adjust to linux_wait_for_lwp interface
1651 changes. In non-stop mode, don't switch to a random thread.
1652 (linux_wait): Rename to...
1653 (linux_wait_1): ... this. Add target_options argument, and handle
1654 it. Adjust to use resume_kind. Use lwpid_of. In non-stop mode,
1655 don't handle the continue thread. Handle TARGET_WNOHANG. Merge
1656 clean exit and signal exit code. Don't stop all threads in
1657 non-stop mode. In all-stop mode, only stop all threads when
1658 reporting a stop to GDB. Handle explicit thread stop requests.
1659 (async_file_flush, async_file_mark): New.
1660 (linux_wait): New.
1661 (send_sigstop): Use lwpid_of.
1662 (wait_for_sigstop): Use lwpid_of. Adjust to linux_wait_for_event
1663 interface changes. In non-stop mode, don't switch to a random
1664 thread.
1665 (linux_resume_one_lwp): Use lwpid_of.
1666 (linux_continue_one_thread, linux_queue_one_thread): Merge into ...
1667 (linux_resume_one_thread): ... this. Handle resume_stop. In
1668 non-stop mode, don't look for pending flag in all threads.
1669 (resume_status_pending_p): Don't consider explicitly suspended
1670 threads.
1671 (my_waitpid): Reimplement. Emulate __WALL.
1672 (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
1673 Use lwpid_of.
1674 (sigchld_handler, linux_supports_non_stop, linux_async)
1675 (linux_start_non_stop): New.
1676 (linux_target_ops): Register linux_supports_non_stop, linux_async
1677 and linux_start_non_stop.
1678 (initialize_low): Install SIGCHLD handler.
1679 * thread-db.c (thread_db_create_event, find_one_thread)
1680 (thread_db_get_tls_address): Use lwpid_of.
1681 * win32-low.c (win32_detach): Adjust to use resume_kind.
1682 (win32_wait): Add `options' argument.
1683 * spu-low.c (spu_resume): Adjust to use resume_kind.
1684 (spu_wait): Add `options' argument.
1685
5b1c542e
PA
16862009-04-01 Pedro Alves <pedro@codesourcery.com>
1687
1688 Decouple target code from remote protocol.
1689
1690 * target.h (enum target_waitkind): New.
1691 (struct target_waitstatus): New.
1692 (struct target_ops) <wait>: Return an unsigned long. Take a
1693 target_waitstatus pointer instead of a char pointer.
1694 (mywait): Likewise.
1695 * target.c (mywait): Change prototype to return an unsigned long.
1696 Take a target_waitstatus pointer instead of a char pointer. Adjust.
1697 * server.h (thread_from_wait, old_thread_from_wait): Delete
1698 declarations.
1699 (prepare_resume_reply): Change prototype to take a
1700 target_waitstatus.
1701 * server.c (thread_from_wait, old_thread_from_wait): Delete.
1702 (last_status, last_ptid): New.
1703 (start_inferior): Remove "statusptr" argument. Adjust. Return a
1704 pid instead of a signal.
1705 (attach_inferior): Remove "status" and "signal" parameters.
1706 Adjust.
1707 (handle_query): For qGetTLSAddr, parse the thread id with strtol,
1708 not as an address.
1709 (handle_v_cont, handle_v_attach, handle_v_run, handle_v_kill)
1710 (handle_v_requests, myresume): Remove "status" and "signal"
1711 parameters. Adjust.
1712 (handle_status): New.
1713 (main): Delete local `status'. Adjust.
1714 * remote-utils.c: Include target.h.
1715 (prepare_resume_reply): Change prototype to take a
1716 target_waitstatus. Adjust.
1717
1718 * linux-low.c (linux_wait): Adjust to new target_ops->wait
1719 interface.
1720 * spu-low.c (spu_wait): Adjust.
1721 * win32-low.c (enum target_waitkind, struct target_waitstatus):
1722 Delete.
1723 (win32_wait): Adjust.
1724
2bd7c093
PA
17252009-04-01 Pedro Alves <pedro@codesourcery.com>
1726
1727 * target.h (struct thread_resume): Delete leave_stopped member.
1728 (struct target_ops): Add a `n' argument to the `resume' callback.
1729 * server.c (start_inferior): Adjust.
1730 (handle_v_cont, myresume): Adjust.
1731 * linux-low.c (check_removed_breakpoint): Adjust to resume
1732 interface change, and to removed leave_stopped field.
1733 (resume_ptr): Delete.
1734 (struct thread_resume_array): New.
1735 (linux_set_resume_request): Add new `arg' parameter. Adjust to
1736 resume interface change.
1737 (linux_continue_one_thread, linux_queue_one_thread)
1738 (resume_status_pending_p): Check if the resume field is NULL
1739 instead of checking the leave_stopped member.
1740 (linux_resume): Adjust to the target resume interface change.
1741 * spu-low.c (spu_resume): Adjust to the target resume interface
1742 change.
1743 * win32-low.c (win32_detach, win32_resume): Ditto.
1744
c35fafde
PA
17452009-04-01 Pedro Alves <pedro@codesourcery.com>
1746
1747 * linux-low.c (linux_wait_for_event): Don't clear the `stepping'
1748 flag.
1749 (wait_for_sigstop): Don't leave a finished single-step SIGTRAP
1750 pending.
1751 (linux_continue_one_thread): Only preserve the stepping flag if
1752 there's a pending breakpoint.
1753
0a59d50b
PA
17542009-03-31 Pedro Alves <pedro@codesourcery.com>
1755
1756 * server.c (main): After the inferior having exited, call
1757 remote_close before exiting gdbserver.
1758
f04c6d38
TJB
17592009-03-25 Thiago Jung Bauermann <bauerman@br.ibm.com>
1760
1761 Fix size of FPSCR in Power 7 processors.
1762 * linux-ppc-low.c (PPC_FEATURE_ARCH_2_05): Remove #define.
1763 (PPC_FEATURE_HAS_DFP): New #define.
1764 (ppc_arch_setup): Check for DFP feature instead of ISA 2.05 to decide on
1765 size of the FPSCR.
1766
78e5cee6
PA
17672009-03-23 Pedro Alves <pedro@codesourcery.com>
1768
1769 * server.c (handle_query) Whitespace and formatting.
1770
1b3f6016
PA
17712009-03-22 Pedro Alves <pedro@codesourcery.com>
1772
1773 * i387-fp.c, linux-arm-low.c, linux-cris-low.c,
1774 linux-crisv32-low.c, linux-i386-low.c, linux-low.c,
1775 linux-mips-low.c, linux-s390-low.c, linux-sparc-low.c,
1776 linux-x86-64-low.c, linux-xtensa-low.c, proc-service.c,
1777 regcache.c, remote-utils.c, server.c, spu-low.c, target.h,
1778 thread-db.c, win32-low.c, xtensa-xtregs.c, gdbreplay.c,
1779 Makefile.in, configure.ac: Fix whitespace throughout.
1780 * configure: Regenerate.
1781
a07b2135
PA
17822009-03-22 Pedro Alves <pedro@codesourcery.com>
1783
1784 * inferiors.c (find_inferior): Make it safe for the callback
1785 function to delete the currently iterated inferior.
1786
67cc2626
PA
17872009-03-22 Pedro Alves <pedro@codesourcery.com>
1788
1789 * Makefile.in (linuw_low_h): Move higher.
1790 (thread-db.o): Depend on $(linux_low_h).
1791
54a0b537
PA
17922009-03-17 Pedro Alves <pedro@codesourcery.com>
1793
1794 Rename "process" to "lwp" throughout.
1795
1796 * linux-low.c (all_processes): Rename to...
1797 (all_lwps): ... this.
1798 (inferior_pid, handle_extended_wait, get_stop_pc): Adjust.
1799 (add_process): Rename to ...
1800 (add_lwp): ... this. Adjust.
1801 (linux_create_inferior): Adjust.
1802 (linux_attach_lwp): Adjust.
1803 (linux_attach): Adjust.
1804 (linux_kill_one_process): Rename to ...
1805 (linux_kill_one_lwp): ... this. Adjust.
1806 (linux_kill): Adjust.
1807 (linux_detach_one_process): Rename to ...
1808 (linux_detach_one_lwp): ... this. Adjust.
1809 (linux_detach): Adjust.
1810 (check_removed_breakpoint): Adjust.
1811 (status_pending_p): Adjust.
1812 (linux_wait_for_process): Rename to ...
1813 (linux_wait_for_lwp): ... this. Adjust.
1814 (linux_wait_for_event): Adjust.
1815 (send_sigstop): Adjust.
1816 (wait_for_sigstop): Adjust.
1817 (stop_all_processes): Rename to ...
1818 (stop_all_lwps): ... this.
1819 (linux_resume_one_process): Rename to ...
1820 (linux_resume_one_lwp): ... this. Adjust.
1821 (linux_set_resume_request, linux_continue_one_thread)
1822 (linux_queue_one_thread, resume_status_pending_p)
1823 (usr_store_inferior_registers, regsets_store_inferior_registers)
1824 (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
1825 Adjust.
1826 * linux-low.h (get_process): Rename to ...
1827 (get_lwp): ... this. Adjust.
1828 (get_thread_process): Rename to ...
1829 (get_thread_lwp): ... this. Adjust.
1830 (get_process_thread): Rename to ...
1831 (get_lwp_thread): ... this. Adjust.
1832 (struct process_info): Rename to ...
1833 (struct lwp_info): ... this.
1834 (all_processes): Rename to ...
1835 (all_lwps): ... this.
1836 * proc-service.c (ps_lgetregs): Adjust.
1837 * thread-db.c (thread_db_create_event, find_one_thread)
1838 (maybe_attach_thread, thread_db_get_tls_address): Adjust.
1839
0b16c5cf
PA
18402009-03-14 Pedro Alves <pedro@codesourcery.com>
1841
1842 * server.c (handle_query): Handle "qAttached".
1843
32de4b9d
NS
18442009-03-13 Nathan Sidwell <nathan@codesourcery.com>
1845
1846 * Makefile.in, hostio-errno.c, errno.c, xtensa-xtregs.c: Change to
1847 GPLv3, update license URL.
1848
2aecd87f
DE
18492009-03-01 Doug Evans <dje@google.com>
1850
93efd302 1851 * Makefile.in (INCLUDE_CFLAGS): Add -I$(srcdir)/../common.
2aecd87f
DE
1852 (server_h): Add gdb_signals.h.
1853 (signals.o): Update.
1854 * server.h (target_signal_from_host,target_signal_to_host_p)
1855 (target_signal_to_host,target_signal_to_name): Moved to gdb_signals.h.
1856
86b1f9c5
PM
18572009-02-14 Pierre Muller <muller@ics.u-strasbg.fr>
1858
1859 * remote-utils.c (getpkt): Also generate remote-debug
1860 information if noack_mode is set.
1861
4aa995e1
PA
18622009-02-06 Pedro Alves <pedro@codesourcery.com>
1863
1864 * server.c (handle_query): Report qXfer:siginfo:read and
1865 qXfer:siginfo:write as supported and handle them.
1866 * target.h (struct target_ops) <qxfer_siginfo>: New field.
1867 * linux-low.c (linux_xfer_siginfo): New.
1868 (linux_target_ops): Set it.
1869
62709adf
PA
18702009-01-26 Pedro Alves <pedro@codesourcery.com>
1871
1872 * server.c (gdbserver_usage): Mention --remote-debug.
1873 (main): Accept '--remote-debug' switch.
1874
aef93bd7
DE
18752009-01-18 Doug Evans <dje@google.com>
1876
1877 * regcache.c (new_register_cache): No need to check result of xcalloc.
1878 * server.c (handle_search_memory): Back out calls to xmalloc,
1879 result is checked and error is returned to user upon failure.
1880 (handle_query): Ditto. Add more checks for result of malloc.
1881 (handle_v_cont): Check result of malloc, report error back to
1882 user upon failure.
1883 (handle_v_run): Ditto. Call freeargv.
1884 * server.h (freeargv): Declare.
1885 * utils.c (freeargv): New fn.
1886
54363045
DE
18872009-01-15 Doug Evans <dje@google.com>
1888
f626972c
DE
1889 * gdbreplay.c (perror_with_name): Make arg const char *.
1890 * server.h (target_signal_to_name): Make return type const char *.
0842e787 1891 * thread-db.c (thread_db_err_str): Make return type const char *.
f626972c 1892 * utils.c (perror_with_name): Make arg const char *.
54363045 1893
18aae699
PA
18942009-01-14 Pedro Alves <pedro@codesourcery.com>
1895
1896 * win32-low.c (get_child_debug_event): Issue a final DBG_CONTINUE
1897 when handling a EXIT_PROCESS_DEBUG_EVENT.
1898
ff703abe
JB
18992009-01-06 Joel Brobecker <brobecker@adacore.com>
1900
1901 * gdbreplay.c (gdbreplay_version): Update copyright year.
1902 * server.c (gdbserver_version): Likewise.
1903
f21cc1a2 19042009-01-05 Doug Evans <dje@google.com>
0e21c1ec
DE
1905
1906 * linux-low.c (linux_attach_lwp): Add some comments/fixmes.
f21cc1a2 1907 (handle_extended_wait): Improve comment.
0e21c1ec 1908
bca929d3
DE
19092008-12-13 Doug Evans <dje@google.com>
1910
1911 * utils.c (xmalloc,xcalloc,xstrdup): New fns.
1912 * server.h (ATTR_MALLOC): New macro.
1913 (xmalloc,xcalloc,xstrdup): Declare.
1914 * hostio.c: Replace malloc,calloc,strdup with xmalloc,xcalloc,xstrdup.
1915 * inferiors.c: Ditto.
1916 * linux-low.c: Ditto.
1917 * mem-break.c: Ditto.
1918 * regcache.c: Ditto.
1919 * remote-utils.c: Ditto.
1920 * server.c: Ditto.
1921 * target.c: Ditto.
1922 * win32-low.c: Ditto.
1923
97438e3f
DE
19242008-12-12 Doug Evans <dje@google.com>
1925
896c7fbb
DE
1926 * linux-low.c (linux_wait_for_process): Don't clobber current_inferior
1927 in debugging printf.
1928
97438e3f
DE
1929 * linux-low.c (handle_extended_wait): Simplify, use my_waitpid.
1930
e3b886f8
DE
19312008-12-09 Doug Evans <dje@google.com>
1932
1933 * linux-low.h (struct process_info): Delete member tid, unused.
1934 * thread-db.c (find_one_thread): Update.
1935 (maybe_attach_thread): Update.
1936
07e059b5
VP
19372008-12-02 Pedro Alves <pedro@codesourcery.com>
1938
1939 * target.h (struct target_ops): Add qxfer_osdata member.
1940 * linux-low.c: Include ctype.h and pwd.h and sys/types.h
1941 and dirent.h.
1942 (linux_qxfer_osdata): New functions.
1943 (linux_target_ops): Register linux_qxfer_osdata as qxfer_osdata
1944 callback.
1945 * server.c (handle_query): Handle "qXfer:osdata:read:".
1946 * remote-utils.c (buffer_grow, buffer_free, buffer_init, buffer_finish)
1947 (buffer_xml_printf): New functions.
1948 * server.h (struct buffer): New.
1949 (buffer_grow_str, buffer_grow_str0): New macros.
1950 (buffer_grow, buffer_free, buffer_init, buffer_finish)
1951 (buffer_xml_printf): Declare.
1952
4cab47ab
DE
19532008-11-24 Doug Evans <dje@google.com>
1954
1955 * Makefile.in (VERSION,DIST,LINT,LINTFLAGS): Delete, unused.
1956
f142445f
DJ
19572008-11-24 Daniel Jacobowitz <dan@codesourcery.com>
1958
1959 * server.c (handle_v_run): Always use the supplied argument list.
1960
d0107bb6
BW
19612008-11-19 Bob Wilson <bob.wilson@acm.org>
1962
1963 * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4.
1964 (xtensa_regmap_table): Add entry for scompare1.
1965
2c4ad781
TJB
19662008-11-18 Thiago Jung Bauermann <bauerman@br.ibm.com>
1967
1968 * Makefile.in (powerpc-isa205-32l.o, powerpc-isa205-32l.c,
1969 powerpc-isa205-altivec32l.o, powerpc-isa205-altivec32l.c,
1970 powerpc-isa205-vsx32l.o, powerpc-isa205-vsx32l.c,
1971 powerpc-isa205-64l.o, powerpc-isa205-64l.c,
1972 powerpc-isa205-altivec64l.o, powerpc-isa205-altivec64l.c,
1973 powerpc-isa205-vsx64l.o, powerpc-isa205-vsx64l.c): New targets.
1974 * configure.srv (powerpc*-*-linux*): Add ISA 2.05 object files and
1975 XML target descriptions.
1976 * linux-ppc-low.c (ppc_arch_setup): Init registers with 64-bit FPSCR
1977 when inferior is running on an ISA 2.05 or later processor. Add
1978 special case to return offset for full 64-bit slot of FPSCR when
1979 in 32-bits.
1980
dfb64f85
DJ
19812008-11-14 Daniel Gutson <dgutson@codesourcery.com>
1982
1983 * Makefile.in (SFILES, clean): Added sparc64 files.
1984 (reg-sparc64.o, reg-sparc64.c): New.
1985 * configure.srv (sparc*-*-linux*): New configuration.
1986 * linux-low.c (regsets_fetch_inferior_registers): Swap ptrace
1987 syscall arguments for SPARC.
1988 (regsets_store_inferior_registers): Likewise.
1989 * linux-sparc-low.c: New file.
1990
66b6e1dd
DE
19912008-10-21 Doug Evans <dje@google.com>
1992
1993 * Makefile.in (BFD_DIR,BFD,BFD_SRC,BFD_CFLAGS): Delete.
1994 (READLINE_DIR,READLINE_DEP): Delete.
1995 (INTERNAL_CFLAGS): Update.
1996 (LINTFLAGS): Update.
1997
9b710a42
PA
19982008-10-10 Pedro Alves <pedro@codesourcery.com>
1999
2000 * server.c (handle_v_run): If GDB didn't specify an argv, use the
2001 whole argv from the last run, not just argv[0].
2002
5822d809
PA
20032008-09-08 Pedro Alves <pedro@codesourcery.com>
2004
2005 * regcache.c (new_register_cache): Return NULL if the register
2006 cache size isn't known yet.
2007 (free_register_cache): Avoid dereferencing a NULL regcache.
2008
74aac56f
DJ
20092008-09-04 Daniel Jacobowitz <dan@codesourcery.com>
2010
2011 * configure.srv: Merge MIPS and MIPS64.
2012
400b20f5
MR
20132008-08-24 Maciej W. Rozycki <macro@linux-mips.org>
2014
2015 * Makefile.in (uninstall): Apply $(EXEEXT) too.
2016
677c5bb1
LM
20172008-08-18 Luis Machado <luisgpm@br.ibm.com>
2018
2019 * Makefile.in: Add required vsx dependencies.
2020
2021 * linux-ppc-low: Define PPC_FEATURE_HAS_VSX.
2022 Declare init_registers_powerpc_vsx32l.
2023 Declare init_registers_powerpc_vsx64l.
2024 Define PTRACE_GETVSXREGS and PTRACE_SETVSXREGS.
2025 (ppc_arch_setup): Check for VSX in hwcap.
2026 (ppc_fill_vsxregset): New function.
2027 (ppc_store_vsxregset): New function.
2028 Add new VSX entry in regset_info target_regsets.
2029
2030 * configure.srv: Add new VSX dependencies.
2031
a6f3e723
SL
20322008-08-12 Pedro Alves <pedro@codesourcery.com>
2033
2034 * remote-utils.c (noack_mode, transport_is_reliable): New globals.
2035 (remote_open): Set or clear transport_is_reliable.
2036 (putpkt_binary): Don't expect acks in noack mode.
2037 (getpkt): Don't send ack/nac in noack mode.
2038 * server.c (handle_general_set): Handle QStartNoAckMode.
2039 (handle_query): If connected by tcp pass QStartNoAckMode+ in
2040 qSupported.
2041 (main): Reset noack_mode on every connection.
2042 * server.h (noack_mode): Declare.
2043
a417dc56
RW
20442008-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2045
2046 * Makefile.in (GDBREPLAY_OBS): New variable.
2047 (gdbreplay$(EXEEXT)): Use it to avoid unportable $^.
2048
3221518c
UW
20492008-08-05 Ulrich Weigand <uweigand@de.ibm.com>
2050 Daniel Jacobowitz <dan@codesourcery.com>
2051
2052 * linux-low.c (linux_resume_one_process): Ignore ESRCH.
2053 (usr_store_inferior_registers): Likewise.
2054 (regsets_store_inferior_registers): Likewise.
2055
ec56be1b
PA
20562008-07-31 Rolf Jansen <rj@surtec.com>
2057 Pedro Alves <pedro@codesourcery.com>
2058
2059 * configure.ac: Check for memmem declaration.
2060 * server.c [HAVE_MALLOC_H]: Include malloc.h.
2061 (disable_packet_vCont, disable_packet_Tthread, disable_packet_qC)
2062 (disable_packet_qfThreadInfo): Unconditionally compile.
2063 * server.h [!HAVE_DECL_MEMMEM]: Declare memmem.
2064 * configure, config.in: Regenerate.
2065
2fe5e3ff
DE
20662008-07-28 Doug Kwan <dougkwan@google.com>
2067
2068 * linux-low.c (sys/dir.h, sys/user.h): Remove includes.
2069 (linux_write_memory): Remove declaration of errno.
2070
836acd6d
UW
20712008-07-12 Ulrich Weigand <uweigand@de.ibm.com>
2072
2073 * linux-low.c (handle_extended_wait): Do not use "status"
2074 variable uninitialized.
2075
aeba519e
PA
20762008-07-07 Pedro Alves <pedro@codesourcery.com>
2077
2078 * server.c (handle_v_attach): Inhibit reporting dll changes.
2079
db42f210
PA
20802008-06-27 Pedro Alves <pedro@codesourcery.com>
2081
2082 * remote-utils.c (prepare_resume_reply): If requested, don't
2083 output "thread:TID" in the T stop reply.
2084
2085 * server.c (disable_packet_vCont, disable_packet_Tthread)
2086 (disable_packet_qC, disable_packet_qfThreadInfo): New globals.
2087 (handle_query): If requested, disable support for qC, qfThreadInfo
2088 and qsThreadInfo.
2089 (handle_v_requests): If requested, disable support for vCont.
2090 (gdbserver_show_disableable): New.
2091 (main): Handle --disable-packet and --disable-packet=LIST.
2092
2093 * server.h (disable_packet_vCont, disable_packet_Tthread)
2094 (disable_packet_qC, disable_packet_qfThreadInfo): Declare.
2095
8e4c5421
CD
20962008-06-20 Carlos O'Donell <carlos@codesourcery.com>
2097
2098 * server.c (gdbserver_usage): Mention --version.
2099
6e23a804
DJ
21002008-06-06 Daniel Jacobowitz <dan@codesourcery.com>
2101
2102 * Makefile.in (gdbreplay.o): New rule.
2103
90aa6a40
JM
21042008-06-06 Joseph Myers <joseph@codesourcery.com>
2105
2106 * gdbreplay.c (gdbreplay_version): Say gdbreplay in version
2107 message, not gdbserver.
2108
c16158bc
JM
21092008-06-05 Vladimir Prus <vladimir@codesourcery.com>
2110 Nathan Sidwell <nathan@codesourcery.com>
2111 Joseph Myers <joseph@codesourcery.com>
2112
2113 * acinclude.m4: Include ../../config/acx.m4.
2114 * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
2115 * configure, config.in: Regenerate.
2116 * Makefile.in (gdbreplay$(EXEEXT)): Add version.o.
2117 * server.c (gdbserver_version): Print PKGVERSION.
2118 (gdbsrever_usage): Add stream parameter. Print REPORT_BUGS_TO.
2119 (main): Adjust gdbserver_usage calls.
2120 * gdbreplay.c (version, host_name): Add declarations.
2121 (gdbreplay_version, gdbreplay_usage): New.
2122 (main): Accept --version and --help options.
2123
aeb75bf5
DJ
21242008-06-04 Daniel Jacobowitz <dan@codesourcery.com>
2125
2126 * linux-arm-low.c (thumb_breakpoint, thumb_breakpoint_len): New.
2127 (arm_breakpoint_at): Handle Thumb.
2128 (the_low_target): Add comment.
2129
76b233dd
UW
21302008-05-29 Ulrich Weigand <uweigand@de.ibm.com>
2131
2132 * linux-ppc-low.c (ppc_collect_ptrace_register): Clear buffer.
2133
08388c79
DE
21342008-05-09 Doug Evans <dje@google.com>
2135
a3c83fae
DE
2136 * server.h (decode_search_memory_packet): Declare.
2137 * remote-utils.c (decode_search_memory_packet): New fn.
2138 * server.c (handle_search_memory_1): New fn.
08388c79
DE
2139 (handle_search_memory): New fn.
2140 (handle_query): Process qSearch:memory packets.
2141
bb9c3d36
UW
21422008-05-08 Ulrich Weigand <uweigand@de.ibm.com>
2143
2144 * regcache.c (registers_length): Remove.
2145 (set_register_cache): Verify that PBUFSIZ is large enough to hold a
2146 full register packet.
2147 * regcache.h (registers_length): Remove prototype.
2148 * server.h (PBUFSIZ): Define to 16384.
2149
7284e1be
UW
21502008-05-03 Ulrich Weigand <uweigand@de.ibm.com>
2151
2152 * configure.srv (powerpc*-*-linux*): Set srv_regobj to
2153 powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o,
2154 powerpc-64l.o, and powerpc-altivec64l.o.
2155 Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and
2156 rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml,
2157 rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml,
2158 rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml,
2159 rs6000/power-linux.xml, and rs6000/power64-linux.xml
2160 to srv_xmlfiles.
2161
2162 * Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ...
2163 (powerpc-32l.o, powerpc-32l.c): ... these new rules.
2164 (powerpc-32.o, powerpc-32.c): Remove, replace by ...
2165 (powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules.
2166 (powerpc-e500.o, powerpc-e500.c): Remove, replace by ...
2167 (powerpc-e500l.o, powerpc-e500l.c): ... these new rules.
2168 (reg-ppc64.o, reg-ppc64.c): Remove, replace by ...
2169 (powerpc-64l.o, powerpc-64l.c): ... these new rules.
2170 (powerpc-64.o, powerpc-64.c): Remove, replace by ...
2171 (powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules.
2172 (clean): Update.
2173
2174 * linux-ppc-low.c (init_registers_ppc): Remove, replace by ...
2175 (init_registers_powerpc_32l): ... this new prototype.
2176 (init_registers_powerpc_32): Remove, replace by ...
2177 (init_registers_powerpc_altivec32l): ... this new prototype.
2178 (init_registers_powerpc_e500): Remove, replace by ...
2179 (init_registers_powerpc_e500l): ... this new prototype.
2180 (init_registers_ppc64): Remove, replace by ...
2181 (init_registers_powerpc_64l): ... this new prototype.
2182 (init_registers_powerpc_64): Remove, replace by ...
2183 (init_registers_powerpc_altivec64l): ... this new prototype.
2184 (ppc_num_regs): Set to 73.
2185 (PT_ORIG_R3, PT_TRAP): Define if necessary.
2186 (ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap.
2187 (ppc_cannot_store_register): Handle orig_r3 and trap.
2188 (ppc_arch_setup): Update init_registers_... calls.
2189 (ppc_fill_gregset): Handle orig_r3 and trap.
2190
2191 * inferiors.c (clear_inferiors): Reset current_inferior.
2192
fdc59709
PB
21932008-04-23 Paolo Bonzini <bonzini@gnu.org>
2194
2195 * acinclude.m4: Add override.m4.
2196 * configure: Regenerate.
2197
c9b2f845
UW
21982008-04-21 Ulrich Weigand <uweigand@de.ibm.com>
2199
2200 * linux-ppc-low.c (ppc_arch_setup): Reset ppc_hwcap after the
2201 initial call to init_register_ppc64.
2202
550512b8
UW
22032008-04-21 Ulrich Weigand <uweigand@de.ibm.com>
2204
2205 * configure.srv (powerpc64-*-linux*, powerpc-*-linux*): Merge into single
2206 powerpc*-*-linux* case.
2207 (s390-*-linux*, s390x-*-linux*): Merge into single s390*-*-linux* case.
2208
b6430ec3
UW
22092008-04-17 Ulrich Weigand <uweigand@de.ibm.com>
2210
2211 * configure.srv [powerpc64-*-linux*]: Remove powerpc-e500.o from
2212 srv_regobj. Remove rs6000/powerpc-e500.xml and rs6000/power-spe.xml
2213 from reg_xmlfiles.
2214 * linux-ppc-low.c: Include <elf.h>.
2215 (PPC_FEATURE_HAS_ALTIVEC, PPC_FEATURE_HAS_SPE): Define.
2216 (ppc_hwcap): New global variable.
2217 (ppc_regmap): Remove __SPE__ #ifdef sections.
2218 (ppc_regmap_e500): New global variable.
2219 (ppc_cannot_store_register): Update __SPE__ special case.
2220 (ppc_get_hwcap): New function.
2221 (ppc_arch_setup): Use it to determine whether inferior supports
2222 AltiVec or SPE registers. Set the_low_target.regmap if appropriate.
2223 (ppc_fill_vrregset, ppc_store_vrregset): Define unconditionally.
2224 Do not access registers if target does not support AltiVec.
2225 (ppc_fill_evrregset, ppc_store_evrregset): Define unconditionally.
2226 Do not access registers if target does not support SPE.
2227 (target_regsets): Unconditionally include AltiVec and SPE regsets.
2228
52fa2412
UW
22292008-04-17 Daniel Jacobowitz <dan@codesourcery.com>
2230
2231 * linux-low.c (disabled_regsets, num_regsets): New.
2232 (use_regsets_p): Delete.
2233 (linux_wait_for_process): Clear disabled_regsets.
2234 (regsets_fetch_inferior_registers): Check and set it.
2235 (regsets_store_inferior_registers): Likewise.
2236 (linux_fetch_registers, linux_store_registers): Do not use
2237 use_regsets_p.
2238 (initialize_low): Allocate disabled_regsets.
2239
e28b3332
DJ
22402008-04-14 Daniel Jacobowitz <dan@codesourcery.com>
2241
2242 * Makefile.in (LIBOBJS): New.
2243 (OBS): Use LIBOBJS.
2244 (memmem.o): New rule.
2245 * configure.ac: Use AC_CONFIG_LIBOBJ_DIR and check for memmem.
2246 * configure: Regenerated.
2247
4536995d
UW
22482008-04-04 Ulrich Weigand <uweigand@de.ibm.com>
2249
2250 * server.c (handle_query): Never return "unsupported" for
2251 qXfer:features:read queries.
2252
221c031f
UW
22532008-03-27 Ulrich Weigand <uweigand@de.ibm.com>
2254
2255 * server.c (get_features_xml): Fix inverted condition.
2256 (handle_query): Always support qXfer:feature:read.
2257
ccd213ac
DJ
22582008-03-10 Daniel Jacobowitz <dan@codesourcery.com>
2259
2260 * server.c (wrapper_argv): New.
2261 (start_inferior): Handle wrapper_argv. If set, expect an extra
2262 trap.
2263 (gdbserver_usage): Document --wrapper.
2264 (main): Parse --wrapper.
2265
6fe305f7
UW
22662008-02-28 Ulrich Weigand <uweigand@de.ibm.com>
2267
2268 * configure.srv [powerpc64-*-linux*]: Add all files mentioned for
2269 powerpc-*-linux* to srv_regobj and reg_xmlfiles.
2270 * linux-ppc-low.c (ppc_get_pc): Support bi-arch operation.
2271 (ppc_set_pc): Likewise.
2272 (ppc_arch_setup): New function.
2273 (ppc_fill_gregset): Call ppc_collect_ptrace_register instead
2274 of collect_register.
2275 (the_low_target): Use ppc_arch_setup as arch_setup initializer.
2276
5b0a002e
UW
22772008-02-28 Ulrich Weigand <uweigand@de.ibm.com>
2278
2279 * configure.srv [powerpc64-*-linux*]: Use linux-ppc-low.o
2280 instead of linux-ppc64-low.o.
2281 * linux-ppc64-low.c: Remove file.
2282 * Makefile.in (SFILES): Remove linux-ppc64-low.c.
2283 (linux-ppc64-low.o): Remove rule.
2284
2285 * linux-ppc-low.c (init_registers_ppc64): Add prototype.
2286 (init_registers_powerpc_64): Likewise.
2287 (ppc_regmap): Conditionally define depending on __powerpc64__.
2288 (ppc_cannot_store_register): Do not special-case "fpscr" when
2289 compiled on __powerpc64__.
2290 (ppc_collect_ptrace_register): New function.
2291 (ppc_supply_ptrace_register): New function.
2292 (ppc_breakpoint): Change type to "unsigned int".
2293 (ppc_breakpoint_at): Change type of "insn" to "unsigned int".
2294 (the_low_target): Conditionally provide initializers for the
2295 arch_setup member depending on __powerpc64__. Install
2296 collect_ptrace_register and supply_ptrace_register members.
2297
9b4b61c8
UW
22982008-02-28 Ulrich Weigand <uweigand@de.ibm.com>
2299
2300 * regcache.h (gdbserver_xmltarget): Add extern declaration.
2301 * server.c (gdbserver_xmltarget): Define.
2302 (get_features_xml): Use it to replace "target.xml" and arch_string.
2303
2304 * configure.srv: Remove srv_xmltarget. Add XML files that were
2305 mentioned there to srv_xmlfiles instead. Remove conditional tests
2306 on gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe; set
2307 srv_xmlfiles and srv_regobj to include all possible choices.
2308 * configure.ac (srv_xmltarget): Remove.
2309 (srv_xmlfiles): Do not add "target.xml".
2310 (gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe): Remove
2311 checks for supplementary target information.
2312 * configure: Regenerate.
2313 * Makefile.in (XML_TARGET): Remove.
2314 (target.xml): Remove rule.
2315 (clean): Do not clean up target.xml.
2316 (.PRECIOUS): Do not mention target.xml.
2317
2318 * target.h (struct target_ops): Remove arch_string member.
2319 * linux-low.c (linux_arch_string): Remove.
2320 (linux_target_ops): Remove arch_string initializer.
2321 * linux-low.h (struct linux_target_ops): Remove arch_string member.
2322 * linux-i386-low.c (the_low_target): Remove arch_string initializer.
2323 * linux-x86-64-low.c (the_low_target): Remove arch_string initializer.
2324 * spu-low.c (spu_arch_string): Remove.
2325 (spu_target_ops): Remove arch_string initializer.
2326 * win32-low.c (win32_arch_string): Remove.
2327 (win32_target_ops): Remove arch_string initializer.
2328 * win32-low.h (struct win32_target_ops): Remove arch_string member.
2329 * win32-arm-low.c (the_low_target): Remove arch_string initializer.
2330 * win32-i368-low.c (the_low_target): Remove arch_string initializer.
2331
ee1a7ae4
UW
23322008-02-27 Ulrich Weigand <uweigand@de.ibm.com>
2333
2334 * linux-low.h (struct linux_target_ops): Replace left_pad_xfer field
2335 by collect_ptrace_register and supply_ptrace_register hooks.
2336 * linux-low.c (fetch_register): Use supply_ptrace_register callback
2337 instead of checking for the_low_target.left_pad_xfer.
2338 (usr_store_inferior_registers): Use collect_ptrace_register callback
2339 instead of checking for the_low_target.left_pad_xfer.
2340
2341 * linux-s390-low.c (s390_collect_ptrace_register): New function.
2342 (s390_supply_ptrace_register): Likewise.
2343 (s390_fill_gregset): Call s390_collect_ptrace_register.
2344 (the_low_target): Update.
2345
2346 * linux-ppc64-low.c (ppc_collect_ptrace_register): New function.
2347 (ppc_supply_ptrace_register): Likewise.
2348 (the_low_target): Update.
2349
2350 * linux-i386-low.c (the_low_target): Update.
2351 * linux-x86-64-low.c (the_low_target): Update.
2352
d61ddec4
UW
23532008-02-27 Ulrich Weigand <uweigand@de.ibm.com>
2354
2355 * configure.srv [s390x-*-linux*]: Set srv_regobj to include both
2356 reg-s390.o and reg-s390x.o.
2357
2358 * linux-low.c (new_inferior): New global variable.
2359 (linux_create_inferior, linux_attach): Set it.
2360 (linux_wait_for_process): Call the_low_target.arch_setup after the
2361 target has stopped for the first time.
2362 (initialize_low): Do not call the_low_target.arch_setup.
2363
2364 * linux-s390-low.c (s390_get_pc): Support bi-arch operation.
2365 (s390_set_pc): Likewise.
2366 (s390_arch_setup): New function.
2367 (the_low_target): Use s390_arch_setup as arch_setup routine.
2368
2369 * regcache.c (realloc_register_cache): New function.
2370 (set_register_cache): Call it for each existing regcache.
2371
d05b4ac3
UW
23722008-02-27 Ulrich Weigand <uweigand@de.ibm.com>
2373
2374 * server.h (init_registers): Remove prototype.
2375
2376 * linux-low.h (struct linux_target_ops): Add arch_setup field.
2377 * linux-low.c (initialize_low): Call the_low_target.arch_setup ()
2378 instead of init_registers ().
2379 * linux-arm-low.c (init_registers_arm): Add prototype.
2380 (init_registers_arm_with_iwmmxt): Likewise.
2381 (the_low_target): Add initializer for arch_setup field.
2382 * linux-cris-low.c (init_registers_cris): Add prototype.
2383 (the_low_target): Add initializer for arch_setup field.
2384 * linux-crisv32-low.c (init_registers_crisv32): Add prototype.
2385 (the_low_target): Add initializer for arch_setup field.
2386 * linux-i386-low.c (init_registers_i386_linux): Add prototype.
2387 (the_low_target): Add initializer for arch_setup field.
2388 * linux-ia64-low.c (init_registers_ia64): Add prototype.
2389 (the_low_target): Add initializer for arch_setup field.
2390 * linux-m32r-low.c (init_registers_m32r): Add prototype.
2391 (the_low_target): Add initializer for arch_setup field.
2392 * linux-m68k-low.c (init_registers_m68k): Add prototype.
2393 (the_low_target): Add initializer for arch_setup field.
2394 * linux-mips-low.c (init_registers_mips_linux): Add prototype.
2395 (init_registers_mips64_linux): Likewise.
2396 (the_low_target): Add initializer for arch_setup field.
2397 * linux-ppc-low.c (init_registers_ppc): Add prototype.
2398 (init_registers_powerpc_32, init_registers_powerpc_e500): Likewise.
2399 (the_low_target): Add initializer for arch_setup field.
2400 * linux-ppc64-low.c (init_registers_ppc64): Add prototype.
2401 (init_registers_powerpc_64): Likewise.
2402 (the_low_target): Add initializer for arch_setup field.
2403 * linux-s390-low.c (init_registers_s390): Add prototype.
2404 (init_registers_s390x): Likewise.
2405 (the_low_target): Add initializer for arch_setup field.
2406 * linux-sh-low.c (init_registers_sh): Add prototype.
2407 (the_low_target): Add initializer for arch_setup field.
2408 * linux-x86-64-low.c (init_registers_x86_64_linux): Add prototype.
2409 (the_low_target): Add initializer for arch_setup field.
2410 * linux-xtensa-low.c (init_registers_xtensa): Add prototype.
2411 (the_low_target): Add initializer for arch_setup field.
2412
2413 * win32-low.h (struct win32_target_ops): Add arch_setup field.
2414 * win32-low.c (initialize_low): Call the_low_target.arch_setup ()
2415 instead of init_registers ().
2416 * win32-arm-low.c (init_registers_arm): Add prototype.
2417 (the_low_target): Add initializer for arch_setup field.
2418 * win32-i386-low.c (init_registers_i386): Add prototype.
2419 (the_low_target): Add initializer for arch_setup field.
2420
2421 * spu-low.c (init_registers_spu): Add prototype.
2422 (initialize_low): Call initialie_registers_spu () instead of
2423 initialize_registers ().
2424
fd96d250
PA
24252008-02-19 Pedro Alves <pedro@codesourcery.com>
2426
2427 * server.c (handle_v_requests): When handling the vRun and vAttach
2428 packets, if already debugging a process, don't kill it. Return an
2429 error instead.
2430
d41b6bb4
DJ
24312008-02-17 Daniel Jacobowitz <dan@codesourcery.com>
2432
2433 * server.c (handle_query): Correct length check.
2434
5ac588cf
PA
24352008-02-14 Pedro Alves <pedro_alves@portugalmail.pt>
2436
2437 * win32-low.c (do_initial_child_stuff): Add process handle
2438 parameter. Set current_process_handle and current_process_id from the
2439 parameters. Clear globals.
2440 (win32_create_inferior): Don't set current_process_handle and
2441 current_process_id here. Instead pass them on the call to
2442 do_initial_child_stuff.
2443 (win32_attach): Likewise.
2444 (win32_clear_inferiors): New.
2445 (win32_kill): Don't close the current process handle or the
2446 current thread handle here. Instead call win32_clear_inferiors.
2447 (win32_detach): Don't open a new handle to the process. Call
2448 win32_clear_inferiors.
2449 (win32_join): Don't rely on current_process_handle; open a new
2450 handle using the process id.
2451 (win32_wait): Call win32_clear_inferiors when the inferior process
2452 has exited.
2453
ecd7ecbc
DJ
24542008-02-14 Daniel Jacobowitz <dan@codesourcery.com>
2455
2456 * server.c (monitor_show_help): Add "exit".
2457
1525d545
MG
24582008-02-11 Maxim Grigoriev <maxim2405@gmail.com>
2459
ecd7ecbc 2460 * Makefile.in (SFILES): Add linux-xtensa-low.c.
1525d545
MG
2461 (clean): Add reg-xtensa.c.
2462 (linux-xtensa-low.o, reg-xtensa.o, reg-xtensa.c): New dependencies.
ecd7ecbc
DJ
2463 * configure.srv (xtensa*-*-linux*) New target.
2464 * linux-xtensa-low.c: New.
2465 * xtensa-xtregs.c: New.
1525d545 2466
59a016f0
PA
24672008-02-01 Pedro Alves <pedro_alves@portugalmail.pt>
2468
2469 * hostio.c: Don't include errno.h.
2470 (errno_to_fileio_errno): Move to hostio-errno.
2471 * hostio.c: (hostio_error): Remove the error parameter. Defer the
2472 error number outputting to the target->hostio_last_error callback.
2473 (hostio_packet_error): Use FILEIO_EINVAL directly.
2474 (handle_open, handle_pread, hostio_error, handle_unlink): Update
2475 calls to hostio_error.
2476 * hostio-errno.c: New.
2477 * server.h (hostio_last_error_from_errno): Declare.
2478 * target.h (target_ops): Add hostio_last_error member.
2479 * linux-low.c (linux_target_op): Register hostio_last_error_from_errno
2480 as hostio_last_error handler.
2481 * spu-low.c (spu_target_ops): Likewise.
2482 * win32-low.c [_WIN32_WCE] (win32_error_to_fileio_error)
2483 (wince_hostio_last_error): New functions.
2484 (win32_target_ops) [_WIN32_WCE]: Register wince_hostio_last_error
2485 as hostio_last_error handler.
2486 (win32_target_ops) [!_WIN32_WCE]: Register
2487 hostio_last_error_from_errno as hostio_last_error handler.
2488 * Makefile.in (SFILES): Add hostio.c and hostio-errno.c.
2489 (hostio-errno.o): New rule.
2490 * configure.ac (GDBSERVER_DEPFILES): Add $srv_hostio_err_objs.
2491 * configure.srv (srv_hostio_err_objs): New variable. Default to
2492 hostio-errno.o.
2493 (arm*-*-mingw32ce*): Set srv_hostio_err_objs to "".
2494 * configure: Regenerate.
2495
2d717e4f
DJ
24962008-01-29 Daniel Jacobowitz <dan@codesourcery.com>
2497
2498 * linux-low.c (linux_attach_lwp): Do not _exit after errors.
2499 (linux_kill, linux_detach): Clean up the process list.
2500 * remote-utils.c (remote_open): Improve port number parsing.
2501 (putpkt_binary, input_interrupt): Only send interrupts if the target
2502 is running.
2503 * server.c (extended_protocol): Make static.
2504 (attached): Define earlier.
2505 (exit_requested, response_needed, program_argv): New variables.
2506 (target_running): New.
2507 (start_inferior): Clear attached here.
2508 (attach_inferior): Set attached here.
2509 (require_running): Define.
2510 (handle_query): Use require_running and target_running. Implement
2511 "monitor exit".
2512 (handle_v_attach, handle_v_run): New.
2513 (handle_v_requests): Use require_running. Handle vAttach and vRun.
2514 (gdbserver_usage): Update.
2515 (main): Redo argument parsing. Handle --debug and --multi. Handle
2516 --attach along with other options or after the port. Save
2517 program_argv. Support no initial program. Resynchronize
2518 communication with GDB after an error. Handle "monitor exit".
2519 Use require_running and target_running. Always allow the extended
2520 protocol. Do not error out for Hc0 or Hc-1. Do not automatically
2521 restart in extended mode.
2522 * README: Refer to the GDB manual. Update --attach usage.
2523
7407e2de
AS
25242007-12-20 Andreas Schwab <schwab@suse.de>
2525
2526 * linux-low.c (STACK_SIZE): Define.
2527 (linux_tracefork_child): Use it. Use __clone2 on ia64.
2528 (linux_test_for_tracefork): Likewise.
2529
b65d95c5
DJ
25302007-12-18 Daniel Jacobowitz <dan@codesourcery.com>
2531
2532 * linux-low.c (linux_wait_for_event): Update messages. Do not
2533 reinsert auto-delete breakpoints.
2534 * mem-break.c (struct breakpoint): Change return type of handler to
2535 int.
2536 (set_breakpoint_at): Update handler type.
2537 (reinsert_breakpoint_handler): Return 1 instead of calling
2538 delete_breakpoint.
2539 (reinsert_breakpoint_by_bp): Check for the original breakpoint before
2540 setting a new one.
2541 (check_breakpoints): Delete auto-delete breakpoints and return 2.
2542 * mem-break.h (set_breakpoint_at): Update handler type.
2543 * thread-db.c (thread_db_create_event, thread_db_create_event): Update.
2544 * win32-low.c (auto_delete_breakpoint): New.
2545 (get_child_debug_event): Use it.
2546
4e799345
DJ
25472007-12-16 Daniel Jacobowitz <dan@codesourcery.com>
2548
2549 * configure.ac: Check for pread and pwrite.
2550 * hostio.c (handle_pread): Fall back to lseek and read.
2551 (handle_pwrite): Fall back to lseek and write.
2552 * config.in, configure: Regenerated.
2553
27524b67
DJ
25542007-12-07 Daniel Jacobowitz <dan@codesourcery.com>
2555
2556 * server.c (myresume): Add own_buf argument.
2557 (main): Update calls.
2558
a20d5e98
DJ
25592007-12-06 Daniel Jacobowitz <dan@codesourcery.com>
2560
2561 * linux-low.c (linux_wait, linux_resume): Do not handle async I/O.
2562 * remote-utils.c (remote_open): Do not call disable_async_io.
2563 (block_async_io): Delete.
2564 (unblock_async_io): Make static.
2565 (initialize_async_io): New.
2566 * server.c (handle_v_cont): Handle async I/O here.
2567 (myresume): Likewise. Move other common resume tasks here...
2568 (main): ... from here. Call initialize_async_io. Disable async
2569 I/O before the main loop.
2570 * server.h (initialize_async_io): Declare.
2571 (block_async_io, unblock_async_io): Delete prototypes.
2572 * spu-low.c (spu_resume, spu_wait): Do not handle async I/O here.
2573
b79d787e
DJ
25742007-12-06 Mick Davis <mickd@goanna.iinet.net.au>
2575
2576 * remote-utils.c (readchar): Allow binary data in received messages.
2577
d97903b2
PA
25782007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
2579
2580 * win32-low.c (attaching): New global.
2581 (win32_create_inferior): Clear the `attaching' global.
2582 (win32_attach): Set the `attaching' global.
2583 (get_child_debug_event) [_WIN32_WCE]: Stop the inferior when
2584 attaching. Only set a breakpoint at the entry point if not
2585 attaching.
2586
311de423
PA
25872007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
2588
2589 * server.c (main): Don't report dll events on the initial
2590 connection on attaches.
2591
6c2d16d2
PA
25922007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
2593
2594 * server.c (main): Relax numerical bases supported for the pid of
2595 the --attach command line argument.
2596
5ca906e6
PA
25972007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
2598
2599 * win32-low.c (win32_attach): Call OpenProcess before
2600 DebugActiveProcess, not after. Add last error output to error
2601 call.
2602
9c6c8194
PA
26032007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
2604
2605 * win32-low.c (win32_get_thread_context)
2606 (win32_set_thread_context): New functions.
2607 (thread_rec): Use win32_get_thread_context.
2608 (continue_one_thread, win32_resume): Use win32_set_thread_context.
2609 * win32-low.h (win32_thread_info) [_WIN32_WCE]: Add `base_context'
2610 field.
2611
4d5d1aaa
PA
26122007-12-03 Leo Zayas
2613 Pedro Alves <pedro_alves@portugalmail.pt>
2614
2615 * win32-low.c (soft_interrupt_requested, faked_breakpoint): New
2616 global variables.
2617 (child_add_thread): Minor cleanup.
2618 (child_continue): Resume artificially suspended threads before
2619 calling ContinueDebugEvent.
2620 (suspend_one_thread): New.
2621 (fake_breakpoint_event): New.
2622 (get_child_debug_event): Change return type to int. Check here if
2623 gdb sent an interrupt request. If a soft interrupt was requested,
2624 fake a breakpoint event. Return 0 if there is no event to handle,
2625 and 1 otherwise.
2626 (win32_wait): Don't check here if gdb sent an interrupt request.
2627 Ensure there is a valid event to handle.
2628 (win32_request_interrupt): Add soft interruption method as last
2629 resort.
2630
c436e841
PA
26312007-12-03 Leo Zayas
2632 Pedro Alves <pedro_alves@portugalmail.pt>
2633
2634 * win32-low.h (win32_thread_info): Add descriptions to the
2635 structure members. Replace `suspend_count' counter by a
2636 `suspended' flag.
2637 * win32-low.c (thread_rec): Update condition of when to get the
2638 context from the inferior. Rely on ContextFlags being set if it
2639 has already been retrieved. Only suspend the inferior thread if
2640 we haven't already. Warn if that fails.
2641 (continue_one_thread): s/suspend_count/suspended/. Only call
2642 ResumeThread once. Warn if that fails.
2643
e7b5fa67
PA
26442007-12-02 Pedro Alves <pedro_alves@portugalmail.pt>
2645
2646 * win32-low.c (win32_wait): Don't read from the inferior when it
2647 has already exited.
2648
a385171d
PA
26492007-12-02 Pedro Alves <pedro_alves@portugalmail.pt>
2650
2651 * Makefile.in (win32_low_h): New variable.
2652 (win32-low.o): Add dependency on $(win32_low_h).
2653 (win32-arm-low.o, win32-i386-low.o): New rules.
2654
f80c84b3
DJ
26552007-11-30 Daniel Jacobowitz <dan@codesourcery.com>
2656
2657 * hostio.c: Correct copyright year.
2658
a6b151f1
DJ
26592007-11-30 Daniel Jacobowitz <dan@codesourcery.com>
2660
2661 * Makefile.in (OBS): Add hostio.o.
2662 (hostio.o): New rule.
2663 * server.h (handle_vFile): Declare.
2664 * hostio.c: New file.
2665 * server.c (handle_v_requests): Take packet_len and new_packet_len
2666 for binary packets. Call handle_vFile.
2667 (main): Update call to handle_v_requests.
2668
f9387fc3
DJ
26692007-11-05 Daniel Jacobowitz <dan@codesourcery.com>
2670
2671 * linux-low.c: Include <sched.h>.
2672
51c2684e
DJ
26732007-11-01 Daniel Jacobowitz <dan@codesourcery.com>
2674
2675 * linux-low.c (linux_tracefork_grandchild): New.
2676 (linux_tracefork_child): Use clone.
2677 (linux_test_for_tracefork): Use clone; allocate and free a stack.
2678
75f83163
JB
26792007-10-31 Joel Brobecker <brobecker@adacore.com>
2680
2681 * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh.
2682
da5898ce
DJ
26832007-10-24 Daniel Jacobowitz <dan@codesourcery.com>
2684
2685 * linux-low.c (handle_extended_wait): Handle unexpected signals.
2686
24a09b5f
DJ
26872007-10-23 Daniel Jacobowitz <dan@codesourcery.com>
2688
2689 * inferiors.c (change_inferior_id): Delete.
2690 (add_pid_to_list, pull_pid_from_list): New.
2691 * linux-low.c (PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG)
2692 (PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK)
2693 (PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC, PTRACE_O_TRACEVFORKDONE)
2694 (PTRACE_O_TRACEEXIT, PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK)
2695 (PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE)
2696 (PTRACE_EVENT_EXIT, __WALL): Provide default definitions.
2697 (stopped_pids, thread_db_active, must_set_ptrace_flags): New variables.
2698 (using_threads): Always set to 1.
2699 (handle_extended_wait): New.
2700 (add_process): Do not set TID.
2701 (linux_create_inferior): Set must_set_ptrace_flags.
2702 (linux_attach_lwp): Remove TID argument. Do not check using_threads.
2703 Use PTRACE_SETOPTIONS. Call new_thread_notify. Update all callers.
2704 (linux_thread_alive): Rename TID argument to LWPID.
2705 (linux_wait_for_process): Handle unknown processes. Do not use TID.
2706 (linux_wait_for_event): Do not use TID or check using_threads. Update
2707 call to dead_thread_notify. Call handle_extended_wait.
2708 (linux_create_inferior): Use PTRACE_SETOPTIONS.
2709 (send_sigstop): Delete sigstop_sent.
2710 (wait_for_sigstop): Avoid TID.
2711 (linux_supports_tracefork_flag, linux_tracefork_child, my_waitpid)
2712 (linux_test_for_tracefork): New.
2713 (linux_lookup_signals): Use thread_db_active and
2714 linux_supports_tracefork_flag.
2715 (initialize_low): Use thread_db_active and linux_test_for_tracefork.
2716 * linux-low.h (get_process_thread): Avoid TID.
2717 (struct process_ifo): Move thread_known and tid to the end. Remove
2718 sigstop_sent.
2719 (linux_attach_lwp, thread_db_init): Update prototypes.
2720 * server.h (change_inferior_id): Delete prototype.
2721 (add_pid_to_list, pull_pid_from_list): New prototypes.
2722 * thread-db.c (thread_db_use_events): New.
2723 (find_first_thread): Rename to...
2724 (find_one_thread): ...this. Update callers and messages. Do not
2725 call fatal. Check thread_db_use_events. Do not call
2726 change_inferior_id or new_thread_notify.
2727 (maybe_attach_thread): Update. Do not call new_thread_notify.
2728 (thread_db_init): Set thread_db_use_events. Check use_events.
2729 * utils.c (fatal, warning): Correct message prefix.
2730
30ed0a8f
DJ
27312007-10-15 Daniel Jacobowitz <dan@codesourcery.com>
2732
2733 * Makefile.in (clean): Remove new files.
2734 (powerpc-32.o, powerpc-32.c, powerpc-e500.o, powerpc-e500.c)
2735 (powerpc-64.o, powerpc-64.c): New rules.
2736 * configure.srv: Use alternate register sets for powerpc64-*-linux*
2737 with AltiVec, powerpc-*-linux* with AltiVec, and powerpc-*-linux*
2738 with SPE.
2739 * linux-ppc-low.c (ppc_regmap): Do not fetch the FP registers for
2740 SPE targets.
2741 (ppc_cannot_store_register): Do not check for FPSCR for SPE targets.
2742 (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS, ppc_fill_vrregset)
2743 (ppc_store_vrregset, PTRACE_GETEVRREGS, PTRACE_SETEVRREGS)
2744 (struct gdb_evrregset_t, ppc_fill_evrregset, ppc_store_evrregset): New.
2745 (target_regsets): Add AltiVec and SPE register sets.
2746 * configure.ac: Check for AltiVec and SPE.
2747 * linux-ppc64-low.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS)
2748 (ppc_fill_vrregset, ppc_store_vrregset): New.
2749 (target_regsets): Add AltiVec register set.
2750 * configure: Regenerated.
2751
fd462a61
DJ
27522007-09-19 Daniel Jacobowitz <dan@codesourcery.com>
2753
2754 * linux-low.c (O_LARGEFILE): Define.
2755 (linux_read_memory): Use /proc/PID/mem.
2756 * configure.ac: Use AC_GNU_SOURCE. Check for pread64.
2757 * configure, config.in: Regenerated.
2758
69f223ed
DJ
27592007-09-04 Daniel Jacobowitz <dan@codesourcery.com>
2760
2761 * linux-low.c (linux_wait_for_event): Do not pass signals while
2762 single-stepping.
2763
aec18585
PA
27642007-09-03 Pedro Alves <pedro_alves@portugalmail.pt>
2765
2766 * win32-low.c (create_process): New.
2767 (win32_create_inferior): Use create_process instead of
2768 CreateProcess. If create_process failed retry appending an ".exe"
2769 suffix. Store the GetLastError result immediatelly after
2770 create_process calls and use it on the call to error.
2771
34d86ddd
PA
27722007-09-03 Pedro Alves <pedro_alves@portugalmail.pt>
2773
2774 * win32-low.c (handle_load_dll): Don't use toolhelp when waiting.
2775
5a0e3bd0
JB
27762007-08-23 Joel Brobecker <brobecker@adacore.com>
2777
2778 * configure.ac: Switch license to GPLv3.
2779
f88c79e6
MS
27802007-08-01 Michael Snyder <msnyder@access-company.com>
2781
2782 * remote-utils.c (putpkt_binary): Memory leak, free buf2.
2783
6b3d9b83
PA
27842007-07-31 Pedro Alves <pedro_alves@portugalmail.pt>
2785
2786 * win32-low.c (winapi_CloseToolhelp32Snapshot) [_WIN32_WCE]: New
2787 typedef.
2788 (win32_CloseToolhelp32Snapshot) [_WIN32_WCE]: New global var.
2789 (load_toolhelp) [_WIN32_WCE]: Load TOOLHELP.DLL. Get
2790 CloseToolhelp32Snapshot.
2791 (toolhelp_get_dll_name) [_WIN32_WCE]: Close the snapshot with
2792 CloseToolhelp32Snapshot.
2793
c588c53c
MS
27942007-07-27 Michael Snyder <michael.snyder@access-company.com>
2795
2796 * server.c (main): Check for inferior exit before main loop.
2797
aa0403d9
PA
27982007-07-18 Pedro Alves <pedro_alves@portugalmail.pt>
2799
2800 * remote-utils.c (remote_open): Set SO_KEEPALIVE on remote_desc
2801 instead of on tmp_desc.
2802
255e7678
DJ
28032007-07-17 Pedro Alves <pedro_alves@portugalmail.pt>
2804 Daniel Jacobowitz <dan@codesourcery.com>
2805
2806 * inferiors.c (all_dlls, dlls_changed, get_dll): New.
2807 (add_thread): Minor cleanups.
2808 (clear_inferiors): Move lower in the file. Clear the DLL
2809 list.
2810 (free_one_dll, match_dll, loaded_dll, unloaded_dll, clear_list): New.
2811 * remote-utils.c (prepare_resume_reply): Check dlls_changed.
2812 (xml_escape_text): New.
2813 * server.c (handle_query): Handle qXfer:libraries:read. Report it
2814 for qSupported.
2815 (handle_v_cont): Report errors.
2816 (gdbserver_version): Update.
2817 (main): Correct size of own_buf. Do not report initial DLL events.
2818 * server.h (struct dll_info, all_dlls, dlls_changed, loaded_dll)
2819 (unloaded_dll, xml_escape_text): New.
2820 * win32-low.c (enum target_waitkind): Update comments.
2821 (win32_add_one_solib, get_image_name, winapi_EnumProcessModules)
2822 (winapi_GetModuleInformation, winapi_GetModuleFileNameExA)
2823 (win32_EnumProcessModules, win32_GetModuleInformation)
2824 (win32_GetModuleFileNameExA, load_psapi, psapi_get_dll_name)
2825 (winapi_CreateToolhelp32Snapshot, winapi_Module32First)
2826 (winapi_Module32Next, win32_CreateToolhelp32Snapshot)
2827 (win32_Module32First, win32_Module32Next, load_toolhelp)
2828 (toolhelp_get_dll_name, handle_load_dll, handle_unload_dll): New.
2829 (get_child_debug_event): Handle DLL events.
2830 (win32_wait): Likewise.
2831
0d37add9
DJ
28322007-07-12 Daniel Jacobowitz <dan@codesourcery.com>
2833
2834 * configure.srv: Set srv_linux_regsets for sh*-*-linux*.
2835 * linux-sh-low.c (sh_fill_gregset, target_regsets): New.
2836
45e2715e
PA
28372007-07-08 Pedro Alves <pedro_alves@portugalmail.pt>
2838
2839 * win32-low.c (handle_output_debug_string): Ignore event if not
2840 waiting.
2841
c5674cf1
PA
28422007-07-08 Pedro Alves <pedro_alves@portugalmail.pt>
2843
2844 * win32-arm-low.c (arm_wince_breakpoint): Fix typo.
2845
2bbe3cc1
DJ
28462007-07-03 Daniel Jacobowitz <dan@codesourcery.com>
2847
2848 * remote-utils.c (look_up_one_symbol): Handle 'm' packets.
2849
ae13219e
DJ
28502007-07-02 Daniel Jacobowitz <dan@codesourcery.com>
2851
2852 * inferiors.c (change_inferior_id): Add comment.
2853 * linux-low.c (check_removed_breakpoint): Add an early
2854 prototype. Improve debug output.
2855 (linux_attach): Doc update.
2856 (linux_detach_one_process, linux_detach): Clean up before releasing
2857 each process.
2858 (send_sigstop, wait_for_sigstop): Improve comments and debug output.
2859 * linux-low.h (struct process_info): Doc improvement.
2860 * mem-break.c (delete_all_breakpoints): New.
2861 * mem-break.h (delete_all_breakpoints): New prototype.
2862 * thread-db.c (find_first_thread): New.
2863 (thread_db_create_event): Call it instead of
2864 thread_db_find_new_threads. Clean up unused variables.
2865 (maybe_attach_thread): Remove first thread handling.
2866 (thread_db_find_new_threads): Use find_first_thread.
2867 (thread_db_get_tls_address): Likewise.
2868
4105de34
DJ
28692007-06-27 Daniel Jacobowitz <dan@codesourcery.com>
2870
2871 * thread-db.c (thread_db_find_new_threads): Add prototype.
2872 (thread_db_create_event): Check for the main thread before adding
2873 a new thread.
2874 (maybe_attach_thread): Only enable event reporting if TID == 0.
2875 (thread_db_get_tls_address): Check for new threads.
2876
2b876972
DJ
28772007-06-20 Daniel Jacobowitz <dan@codesourcery.com>
2878
2879 * linux-low.c (linux_create_inferior): Try execv before execvp.
2880 * spu-low.c (spu_create_inferior): Likewise.
2881
7a245884
DJ
28822007-06-13 Mike Frysinger <vapier@gentoo.org>
2883
2884 * linux-low.c (linux_create_inferior): Change execv to execvp.
2885 * spu-low.c (spu_create_inferior): Likewies.
2886
117ce543
DJ
28872007-06-13 Daniel Jacobowitz <dan@codesourcery.com>
2888
2889 * Makefile.in (clean): Clean new files instead of deleted ones.
2890 (reg-mips.o, reg-mips.c, reg-mips64.o, reg-mips64.c): Delete.
2891 (mips-linux.o, mips-linux.c, mips64-linux.o, mips64-linux.c): New
2892 rules.
2893 * configure.srv: Specify XML files and new regformats for MIPS and
2894 MIPS64 GNU/Linux.
2895 * linux-mips-low.c (mips_num_regs): Set to only used registers.
2896 (mips_regmap): Do not fetch $0. Remove unused registers. Add
2897 an entry for the restart register.
2898 (mips_cannot_fetch_register, mips_cannot_store_register)
2899 (mips_reinsert_addr, mips_fill_fpregset, mips_store_fpregset): Update
2900 register names to match the XML descriptions.
2901 (mips_fill_gregset, mips_store_gregset): Likewise. Handle the
2902 restart register instead of $0.
2903
0e7f50da
UW
29042007-06-12 Ulrich Weigand <uweigand@de.ibm.com>
2905 Markus Deuling <deuling@de.ibm.com>
2906
2907 * remote-utils.c (decode_xfer_write): New function.
2908 * server.h (decode_xfer_write): Add prototype.
2909 * server.c (handle_query): Add PACKET_LEN argument. Support
2910 qXfer:spu:read and qXfer:spu:write packets.
2911 (main): Pass packet_len to handle_query.
2912 * spu-low.c (spu_target_ops): Add spu_proc_xfer_spu.
2913 * target.h (target_ops): Add qxfer_spu.
2914
374c1d38
UW
29152007-06-12 Ulrich Weigand <uweigand@de.ibm.com>
2916
2917 * spu-low.c (spu_proc_xfer_spu): Do not return failure when
2918 accessing non-seekable spufs files.
2919
bb63802a
UW
29202007-05-16 Markus Deuling <deuling@de.ibm.com>
2921
2922 * server.c (handle_query): Add reply for qC packet.
2923
7390519e
PA
29242007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
2925 Leo Zayas <lerele@champenstudios@com>
2926
2927 * server.h (check_remote_input_interrupt_request): New function.
2928 * remote_utils.c (INVALID_DESCRIPTOR): New define.
2929 (remote_desc): Initialize with INVALID_DESCRIPTOR.
2930 (input_interrupt): Expose on USE_WIN32API too. Fix whitespace.
2931 (check_remote_input_interrupt_request): New function.
2932 * server.h (check_remote_input_interrupt_request): Declare.
3ecf0694 2933 * win32-low.c (winapi_DebugBreakProcess,
7390519e
PA
2934 winapi_GenerateConsoleCtrlEvent): New typedefs.
2935 (get_child_debug_event): Lower Win32 debug event polling from 1 sec
2936 to 250 ms.
2937 (win32_wait): Check for remote interrupt request
2938 with check_remote_input_interrupt_request.
2939 (win32_request_interrupt): New function.
2940 (win32_target_op): Set request_interrupt to win32_request_interrupt.
2941
34b34921
PA
29422007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
2943
2944 * win32-low.c (debug_registers_changed,
2945 debug_registers_used, CONTEXT_EXTENDED_REGISTERS,
2946 CONTEXT_FLOATING_POINT, CONTEXT_DEBUG_REGISTERS,
2947 CONTEXT_DEBUGGER, CONTEXT_DEBUGGER_DR): Delete.
2948 (thread_rec): Get context using the low target.
2949 (child_add_thread): Call thread_added on the low target,
2950 which does the same thing.
2951 (regptr): Delete.
2952 (do_initial_child_stuff): Remove debug registers references.
2953 Set context using the low target. Resume threads after
2954 setting the contexts.
2955 (child_continue): Remove dead variable. Remove debug
2956 registers references.
2957 (child_fetch_inferior_registers): Go through the low target.
2958 (do_child_store_inferior_registers): Remove.
2959 (child_store_inferior_registers): Go through the low target.
2960 (win32_resume): Remove debug registers references.
2961 Set context using the low target.
2962 (handle_exception): Change return type to void. Don't record
2963 context here. Set status to TARGET_WAITKIND_SPURIOUS on a
2964 first chance exception.
2965 (get_child_debug_event): Change return type to void. Remove
2966 goto loop. Always return after waiting for debug event.
2967 (win32_wait): Convert to switch statement. Handle spurious
2968 events.
2969
2970 * win32-i386-low.c (debug_registers_changed,
2971 debug_registers_used): New.
2972 (initial_stuff): Rename to ...
2973 (i386_initial_stuff): ... this. Clear debug registers
2974 state variables.
2975 (store_debug_registers): Delete.
2976 (i386_get_thread_context): New.
2977 (load_debug_registers): Delete.
2978 (i386_set_thread_context): New.
2979 (i386_thread_added): New.
2980 (single_step): Rename to ...
2981 (i386_single_step): ... this.
2982 (do_fetch_inferior_registers): Rename to ...
2983 (i386_fetch_inferior_register): ... this.
2984 (i386_store_inferior_register): New.
2985 (the_low_target): Adapt to new interface.
2986
2987 * win32-arm-low.c (CONTEXT_FLOATING_POINT): Define.
2988 (arm_get_thread_context): New.
2989 (arm_set_thread_context): New.
2990 (regptr): New.
2991 (do_fetch_inferior_registers): Rename to ...
2992 (arm_fetch_inferior_register): ... this.
2993 (arm_store_inferior_register): New.
2994 (arm_wince_breakpoint): Reimplement as unsigned long.
2995 (arm_wince_breakpoint_len): Define.
2996 (the_low_target): Adapt to new interface.
2997
2998 * win32-low.h (target_ops): Remove regmap, store_debug_registers and
2999 load_debug_registers. Add get_thread_context, set_thread_context,
3000 thread_added and store_inferior_register. Rename
3001 fetch_inferior_registers to fetch_inferior_register.
3002 (regptr): Remove declaration.
3003
dd6953e1
PA
30042007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
3005
3006 * linux-low.c (linux_detach): Change return type to int. Return 0.
3007 * spu-low.c (spu_detach): Likewise.
3008
444d6139
PA
30092007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
3010
3011 * target.h (target_ops): Change return type of detach to int.
3012 Add join.
3013 (join_inferior): New.
3014 * server.c (main): Don't skip detach support on mingw32.
3015 If the inferior doesn't support detaching return error.
3016 Call join_inferior instead of using waitpid.
3017 * linux-low.c (linux_join): New.
3018 (linux_target_op): Add linux_join.
3019 * spu-low.c (spu_join): New.
3020 (spu_target_ops): Add spu_join.
3021 * win32-low.c (win32_detach): Adapt to new interface.
3022 Reopen current_process_handle before detaching. Issue a child
3023 resume before detaching.
3024 (win32_join): New.
3025 (win32_target_op): Add win32_join.
3026
1d5315fe
PA
30272007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
3028
3029 * win32-low.c (win32-attach): Fix return value.
3030 * target.h (target_ops): Describe ATTACH return values.
3031
bf914831
PA
30322007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
3033
3034 * win32-low.c (GETPROCADDRESS): Define.
3035 (winapi_DebugActiveProcessStop): Add WINAPI. typedef as pointer.
3036 (winapi_DebugSetProcessKillOnExit): Likewise.
3037 (win32_create_inferior): Force usage of ansi CreateProcessA.
3038 (win32_attach): Use GETPROCADDRESS.
3039 (win32_detach): Likewise.
3040
f72f3e60
PA
30412007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
3042
3043 * win32-low.c (win32_wait): Don't use WSTOPSIG.
3044
ed50f18f
PA
30452007-03-30 Pedro Alves <pedro_alves@portugalmail.pt>
3046
3047 * win32-low.c: Commit leftover changes from 2007-03-29.
3048
0c2ead7e
DJ
30492007-03-30 Daniel Jacobowitz <dan@codesourcery.com>
3050
3051 * i387-fp.c (struct i387_fsave, struct i387_fxsave): Make 16-bit
3052 fields short instead of int. Add explicit padding.
3053 (i387_cache_to_fsave): Remove unnecessary casts.
3054 (i387_fsave_to_cache): Doc fix.
3055 (i387_cache_to_fxsave): Remove unnecessary casts and masking.
3056
73725ff3
DJ
30572007-03-30 Daniel Jacobowitz <dan@codesourcery.com>
3058
3059 * i387-fp.c (i387_cache_to_fxsave): Reinitialize val2 before use.
3060 (i387_fxsave_to_cache): Check fp->ftag while building ftag value.
3061
d99f33d8
PA
30622007-03-29 Pedro Alves <pedro_alves@portugalmail.pt>
3063
3064 * configure.srv (arm*-*-mingw32ce*): Move near the other
3065 arm targets.
3066
68070c10
PA
30672007-03-29 Pedro Alves <pedro_alves@portugalmail.pt>
3068
2482afc6 3069 * configure.ac: Add errno checking.
68070c10
PA
3070 (AC_CHECK_HEADERS): Add errno.h, fcntl.h, signal.h,
3071 sys/file.h and malloc.h.
3072 (AC_CHECK_DECLS): Add perror.
3073 (srv_mingwce): Handle.
2482afc6 3074 * configure.srv (i[34567]86-*-cygwin*): Add
68070c10
PA
3075 win32-i386-low.o to srv_tgtobj.
3076 (i[34567]86-*-mingw*): Likewise.
3077 (arm*-*-mingw32ce*): Add case.
3078 * gdbreplay.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
3079 HAVE_FCNTL_H, HAVE_ERRNO_H, HAVE_MALLOC_H]: Check.
3080 [__MINGW32CE__] (strerror): New function.
3081 [__MINGW32CE__] (errno): Define to GetLastError.
3082 [__MINGW32CE__] (COUNTOF): New macro.
3083 (remote_open): Remove extra close call.
3084 * mem-break.c (delete_breakpoint_at): New function.
3085 * mem-break.h (delete_breakpoint_at): Declare.
3086 * remote-utils.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
3087 HAVE_FCNTL_H, HAVE_UNISTD_H, HAVE_ERRNO_H]: Check.
3088 [USE_WIN32API] (read, write): Add char* casts.
3089 * server.c [HAVE_UNISTD_H, HAVE_SIGNAL_H]: Check.
3090 * server.h: Include wincecompat.h on Windows CE.
3091 [HAVE_ERRNO_H]: Check.
3092 (perror): Declare if not declared.
3093 * utils.c: Add stdlib.h, errno.h and malloc.h includes.
3094 (perror_with_name): Remove errno declaration.
3095 * wincecompat.h: New.
3096 * wincecompat.c: New.
3097 * win32-low.h: New.
3098 * win32-arm-low.c: New.
3099 * win32-i386-low.c: New.
3100 (win32-low.c): Include mem-break.h and win32-low.h, and winnt.h.
3101 (OUTMSG2): Make it safe.
3102 (_T): New macro.
3103 (COUNTOF): New macro.
3104 (NUM_REGS): Get it from the low target.
3105 (CONTEXT_EXTENDED_REGISTERS, CONTEXT_FLOATING_POINT,
3106 CONTEXT_DEBUG_REGISTERS): Add fallbacks to 0.
3107 (thread_rec): Let low target handle debug registers.
3108 (child_add_thread): Likewise.
3109 (child_init_thread_list): Likewise.
3110 (continue_one_thread): Likewise.
3111 (regptr): New.
3112 (do_child_fetch_inferior_registers): Move to ...
3113 * win32-i386-low.c: ... here, and rename to ...
3114 (do_fetch_inferior_registers): ... this.
3115 * win32-low.c (child_fetch_inferior_registers):
3116 Go through the low target.
3117 (do_child_store_inferior_registers): Use regptr.
3118 (strwinerror): New function.
3119 (win32_create_inferior): Handle Windows CE.
3120 Use strwinerror instead of strerror on Windows error
3121 codes. Add program to the error output.
3122 Don't close the main thread handle on Windows CE.
3123 (win32_attach): Use coredll.dll on Windows CE.
3124 (win32_kill): Close current process and current
3125 thread handles.
3126 (win32_detach): Use coredll.dll on Windows CE.
3127 (win32_resume): Let low target handle debug registers, and
3128 step request.
3129 (handle_exception): Add/Remove initial breakpoint. Avoid
3130 non-existant WSTOPSIG on Windows CE.
3131 (win32_read_inferior_memory): Cast to remove warning.
3132 (win32_arch_string): Go through the low target.
3133 (initialize_low): Call set_breakpoint_data with the low
3134 target's breakpoint.
3135 * win32-low.c (dr, FLAG_TRACE_BIT, FCS_REGNUM,
3136 FOP_REGNUM, mappings): Move to ...
3137 * win32-i386-low.c: ... here.
3138 * win32-low.c (win32_thread_info): Move to ...
3139 * win32-low.h: ... here.
3140 * Makefile.in (SFILES): Add win32-low.c, win32-i386-low.c,
3141 win32-arm-low.c and wincecompat.c.
3142 (all:): Add $EXEEXT.
3143 (install-only:): Likewise.
3144 (gdbserver:): Likewise.
3145 (gdbreplay:): Likewise.
3146 * config.in: Regenerate.
3147 * configure: Regenerate.
3148
41093d81
PA
31492007-03-28 Pedro Alves <pedro_alves@portugalmail.pt>
3150
3151 * win32-low.c: Rename typedef thread_info to
3152 win32_thread_info throughout.
3153
544afa54
PA
31542007-03-28 Pedro Alves <pedro_alves@portugalmail.pt>
3155
3156 * win32-i386-low.c: Rename to ...
3157 * win32-low.c: ... this.
3158 * configure.srv: Replace win32-i386-low.o with win32-low.o.
3159 * Makefile.in: Likewise.
3160
bce7165d
PA
31612007-03-27 Pedro Alves <pedro_alves@portugalmail.pt>
3162
3163 * remote-utils.c (monitor_output): Constify msg parameter.
3164 * server.h (monitor_output): Likewise.
3165 * win32-i386-low.c (handle_output_debug_string): New.
3166 (win32_kill): Handle OUTPUT_DEBUG_STRING_EVENT events using
3167 handle_output_debug_string.
3168 (get_child_debug_event): Likewise.
3169
506c7aa0
DJ
31702007-03-27 Mat Hostetter <mat@lcs.mit.edu>
3171
3172 * server.c (main): Correct strtoul check.
3173
42c81e2a
DJ
31742007-03-27 Jon Ringle <jon@ringle.org>
3175
3176 * linux-low.c: Check __ARCH_HAS_MMU__ also.
3177
9453113a
DJ
31782007-03-27 Brooks Moses <brooks.moses@codesourcery.com>
3179
3180 * Makefile.in: Add dummy "pdf" and "install-pdf" targets.
3181
64a69107
DJ
31822007-02-27 Daniel Jacobowitz <dan@codesourcery.com>
3183
3184 * terminal.h: Check HAVE_SGTTY_H.
3185
31862007-02-27 Mat Hostetter <mat@lcs.mit.edu>
6f8486da
DJ
3187
3188 * remote-utils.c (remote_open): Print out the assigned port number.
3189
c74d0ad8
DJ
31902007-02-26 Daniel Jacobowitz <dan@codesourcery.com>
3191
3192 * remote-utils.c (monitor_output): New function.
3193 * server.c (debug_threads): Define here.
3194 (monitor_show_help): New function.
3195 (handle_query): Handle qRcmd.
3196 (main): Do not handle 'd' packet.
3197 * server.h (debug_threads, remote_debug, monitor_output): Declare.
3198 * linux-low.c, spu-low.c, win32-i386-low.c: Remove definitions
3199 of debug_threads.
3200
de7c3b4a
PA
32012007-02-25 Pedro Alves <pedro_alves@portugalmail.pt>
3202
3203 * Makefile.in (EXEEXT): New.
3204 (clean): Use $(EXEEXT).
3205
ef57601b
PA
32062007-02-25 Pedro Alves <pedro_alves@portugalmail.pt>
3207
3208 * target.h (target_ops): Rename send_signal to request_interrupt,
3209 and remove enum target_signal parameter.
3210 * linux-low.c (linux_request_interrupt): Rename from
3211 linux_send_signal, and always send SIGINT.
3212 * spu-low.c (spu_request_interrupt): Rename from spu_send_signal,
3213 and always send SIGINT.
3214 * remote-utils.c (putpkt_binary): Call request_interrupt, instead
3215 of send_signal.
3216 (input_interrupt): Likewise.
3217
820f2bda
PA
32182007-02-25 Pedro Alves <pedro_alves@portugalmail.pt>
3219
3220 * server.c (get_features_xml): Check if target implemented
3221 arch_string.
3222 * win32-i386-low.c (win32_arch_string): New.
3223 (win32_target_ops): Add win32_arch_string as arch_string member.
3224
ab39bf24
UW
32252007-02-22 Markus Deuling <deuling@de.ibm.com>
3226
3227 * spu-low.c (spu_arch_string): New.
3228 (spu_target_ops): Add spu_arch_string.
3229
61ff6e04
DJ
32302007-02-16 Daniel Jacobowitz <dan@codesourcery.com>
3231
3232 * remote-utils.c: Remove HAVE_TERMINAL_H check.
3233 * configure.ac: Do not check for terminal.h.
3234 * configure, config.in: Regenerated.
3235
fb1e4ffc
DJ
32362007-02-08 Daniel Jacobowitz <dan@codesourcery.com>
3237
3238 * Makefile.in (OBS): Add $(XML_BUILTIN).
3239 (XML_DIR, XML_TARGET, XML_FILES, XML_BUILTIN): New.
3240 (clean): Update.
3241 (target.xml, xml-builtin.c, stamp-xml, arm-with-iwmmxt.o)
3242 (arm-with-iwmmxt.c): New.
3243 * config.in, configure: Regenerate.
3244 * configure.ac: Check for iWMMXt. Handle srv_xmltarget,
3245 srv_xmlbuiltin, and srv_xmlfiles. Define USE_XML.
3246 * configure.srv: Mention srv_xmltarget and srv_xmlfiles.
3247 (arm*-*-linux*): Add iWMMXt and regset support.
3248 * linux-arm-low.c (PTRACE_GETWMMXREGS, PTRACE_SETWMMXREGS): Define.
3249 (arm_fill_gregset, arm_store_gregset, arm_fill_wmmxregset)
3250 (arm_store_wmmxregset, target_regsets): New.
3251 * server.c (get_features_xml): Take annex argument. Check builtin
3252 XML documents.
3253 (handle_query): Handle multiple annexes.
3254
0f48aa01
DJ
32552007-01-29 Daniel Jacobowitz <dan@codesourcery.com>
3256
3257 * remote-utils.c [USE_WIN32API] (read, write): Define.
3258 (putpkt_binary, input_interrupt, readchar, getpkt): Use read and
3259 write.
3260
23181151
DJ
32612007-01-09 Daniel Jacobowitz <dan@codesourcery.com>
3262
3263 * linux-i386-low.c (the_low_target): Set arch_string.
3264 * linux-x86-64-low.c (the_low_target): Likewise.
3265 * linux-low.c (linux_arch_string): New.
3266 (linux_target_ops): Add it.
3267 * linux-low.h (struct linux_target_ops): Add arch_string.
3268 * server.c (write_qxfer_response): Use const void * for DATA.
3269 (get_features_xml): New.
3270 (handle_query): Handle qXfer:features:read. Report it for qSupported.
3271 * target.h (struct target_ops): Add arch_string method.
3272
9d606399
DJ
32732007-01-03 Denis Pilat <denis.pilat@st.com>
3274 Daniel Jacobowitz <dan@codesourcery.com>
3275
3276 * linux-low.c (linux_kill): Handle being called with no threads.
3277 * win32-i386-low.c (win32_kill): Likewise.
3278 (get_child_debug_event): Clear current_process_handle.
3279
32802006-12-30 Denis PILAT <denis.pilat@st.com>
8264bb58
DJ
3281 Daniel Jacobowitz <dan@codesourcery.com>
3282
3283 * remote-utils.c (remote_open): Check the type of specified
3284 serial port devices before opening them.
3285 * server.c (main): Kill the inferior if an error occurs during
3286 the first remote_open.
3287
a5e13d24
DJ
32882006-12-05 Markus Deuling <deuling@de.ibm.com>
3289
3290 * README: Update supported targets.
3291
186947f7
DJ
32922006-11-28 Daniel Jacobowitz <dan@codesourcery.com>
3293
3294 * Makefile.in (clean): Remove reg-mips64.c.
3295 (reg-mips64.c, reg-mips64.o): New rules.
3296 * configure.srv: Handle mips64. Include regset support for mips.
3297 * linux-mips-low.c (union mips_register): New.
3298 (mips_get_pc, mips_set_pc, mips_reinsert_addr): Use it.
3299 (mips_breakpoint, mips_breakpoint_at): Use int.
3300 (mips_collect_register, mips_supply_register)
3301 (mips_collect_register_32bit, mips_supply_register_32bit)
3302 (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
3303 (mips_store_fpregset, target_regsets): New.
3304 * thread-db.c (thread_db_get_tls_address): Use uintptr_t.
3305
a13e2c95
UW
33062006-11-22 Ulrich Weigand <uweigand@de.ibm.com>
3307
3308 * configure.srv: Add target "spu*-*-*".
3309 * Makefile.in (clean): Remove reg-spu.c.
3310 (reg-spu.c, reg-spu.o, spu-low.o): Add dependencies.
3311 * spu-low.c: New file.
3312
cb7283db
DJ
33132006-11-16 Daniel Jacobowitz <dan@codesourcery.com>
3314
3315 * configure.ac: Correct td_thr_tls_get_addr test.
3316 * configure: Regenerated.
3317
89be2091
DJ
33182006-11-16 Daniel Jacobowitz <dan@codesourcery.com>
3319
3320 * linux-low.c (linux_wait_for_event): Reformat. Use the
3321 pass_signals array.
3322 * remote-utils.c (decode_address_to_semicolon): New.
3323 * server.c (pass_signals, handle_general_set): New.
3324 (handle_query): Mention QPassSignals for qSupported.
3325 (main): Call handle_general_set.
3326 * server.h (pass_signals, decode_address_to_semicolon): New.
3327
000ef4f0
DJ
33282006-11-06 Daniel Jacobowitz <dan@codesourcery.com>
3329
3330 * server.c (handle_query): Correct error handling for read_auxv.
3331
b7149293
UW
33322005-10-19 Ulrich Weigand <uweigand@de.ibm.com>
3333
3334 * configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets
3335 and srv_linux_thread_db to yes.
3336 * linux-s390-low.c (s390_fill_gregset): New function.
3337 (target_regsets): Define data structure.
3338
dae5f5cf
DJ
33392006-10-17 Daniel Jacobowitz <dan@codesourcery.com>
3340
3341 * acinclude.m4 (SRV_CHECK_TLS_GET_ADDR): New.
3342 * configure.ac: Use it. Define HAVE_TD_THR_TLS_GET_ADDR.
3343 * config.in, configure: Regenerated.
3344 * inferiors.c (gdb_id_to_thread): New function.
3345 (gdb_id_to_thread_id): Use it.
3346 * linux-low.c (linux_target_ops): Use thread_db_get_tls_address.
3347 * linux-low.h (struct process_info): Add th member.
3348 (thread_db_get_tls_address): New prototype.
3349 * remote-utils.c (decode_address): Make non-static.
3350 * server.c (handle_query): Handle qGetTLSAddr.
3351 * server.h (gdb_id_to_thread, decode_address): New prototypes.
3352 * target.h (struct target_ops): Add get_tls_address.
3353 * thread-db.c (maybe_attach_thread): Save the thread handle.
3354 (thread_db_get_tls_address): New.
3355
32ca6d61
DJ
33562006-09-28 Daniel Jacobowitz <dan@codesourcery.com>
3357
3358 * linux-low.c (PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
3359 (linux_resume_one_process): Take a siginfo_t *. Update all
3360 callers. Queue it if necessary. Use PTRACE_SETSIGINFO.
3361 (struct pending_signals): Add a siginfo_t.
3362 (linux_wait_for_process): Always set last_status.
3363 (linux_wait_for_event): Use PTRACE_GETSIGINFO.
3364 (linux_queue_one_thread): Use PTRACE_GETSIGINFO.
3365 * linux-low.h (struct process_info): Add last_status.
3366
5ffff7c1
DJ
33672006-09-21 Daniel Jacobowitz <dan@codesourcery.com>
3368
3369 * remote-utils.c (try_rle): New function.
3370 (putpkt_binary): Use it.
3371
8695c747
DJ
33722006-08-19 Daniel Jacobowitz <dan@codesourcery.com>
3373
3374 * Makefile.in (clean): Clean reg-x86-64-linux.c.
3375 (reg-x86-64-linux.o, reg-x86-64-linux.c): New.
3376 * configure.srv (x86_64-*-linux*): Use reg-x86-64-linux.o.
3377 * linux-x86-64-low.c (x86_64_regmap): Include ORIG_RAX.
3378 (x86_64_fill_gregset, x86_64_store_gregset): Skip floating
3379 point registers.
3380
290fadea
RS
33812006-08-08 Richard Sandiford <richard@codesourcery.com>
3382
3383 * server.c (terminal_fd): New variable.
3384 (old_foreground_pgrp): Likewise.
3385 (restore_old_foreground_pgrp): New function.
3386 (start_inferior): Record the terminal file descriptor in terminal_fd
3387 and its original foreground group in old_foreground_pgrp. Register
3388 restore_old_foreground_pgrp with atexit().
3389
9f2e1e63
DJ
33902006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
3391
3392 * server.c (handle_query): Correct qPart to qXfer.
3393
b80864fb
DJ
33942006-07-22 Daniel Jacobowitz <dan@codesourcery.com>
3395
3396 * configure.ac: Check for more headers which are missing on
3397 Windows. Automatically supply -lwsock32 and USE_WIN32API.
3398 * configure.srv: Add Cygwin and mingw32.
3399 * remote-utils.c: Don't include headers unconditionally which
3400 are missing on mingw32. Include <winsock.h> for mingw32.
3401 (remote_open): Adjust for mingw32 support. Flush
3402 standard error after writing to it.
3403 (remote_close, putpkt_binary, input_interrupt, block_async_io)
3404 (unblock_async_io, enable_async_io, disable_async_io)
3405 (readchar, getpkt): Update for Winsock support.
3406 (prepare_resume_reply): Expect a protocol signal number.
3407 * server.c: Disable <sys/wait.h> on mingw32.
3408 (start_inferior): Adjust for mingw32 support. Flush
3409 standard error after writing to it.
3410 (attach_inferior): Likewise. Use protocol signal
3411 numbers.
3412 (main): Skip 'D' packet on mingw32. Use protocol signal numbers
3413 and names.
3414 * win32-i386-low.c: New file.
3415 * Makefile.in (XM_CLIBS): Set.
3416 (gdbserver, gdbreplay): Use $(INTERNAL_CFLAGS).
3417 (win32-i386-low.o): New dependency rule.
3418 * linux-low.c (linux_wait): Use target signal numbers.
3419 * target.h (struct target_ops): Doc fix.
3420 * server.h (target_signal_to_name): New prototype.
3421 * gdbreplay.c: Don't include headers unconditionally which
3422 are missing on mingw32. Include <winsock.h> for mingw32.
3423 (remote_close, remote_open): Adjust for Winsock support.
3424 * configure, config.in: Regenerated.
3425
0876f84a
DJ
34262006-07-12 Daniel Jacobowitz <dan@codesourcery.com>
3427
3428 * server.c (decode_xfer_read, write_qxfer_response): New.
3429 (handle_query): Take a packet length argument. Handle
3430 qXfer:auxv:read instead of qPart:auxv:read. Mention it in
3431 the qSupported response.
3432 (main): Update call to handle_query.
3433
01f9e8fa
DJ
34342006-06-22 Daniel Jacobowitz <dan@codesourcery.com>
3435
3436 * remote-utils.c (remote_escape_output, remote_unescape_input): New.
3437 (putpkt_binary): Renamed from putpkt and adjusted for binary
3438 data.
3439 (putpkt): New wrapper for putpkt_binary.
3440 (readchar): Don't mask off the high bit.
3441 (decode_X_packet): New function.
3442 * server.c (main): Call putpkt_binary if a handler sets the packet
3443 length. Save the length of the incoming packet. Handle 'X'.
3444 * server.h (gdb_byte, remote_escape_output, decode_X_packet): New.
3445
be2a5f71
DJ
34462006-06-21 Daniel Jacobowitz <dan@codesourcery.com>
3447
3448 * server.c (handle_query): Handle qSupported.
3449
ea025f5f
DJ
34502006-05-30 Daniel Jacobowitz <dan@codesourcery.com>
3451
3452 * remote-utils.c (all_symbols_looked_up): New variable.
3453 (look_up_one_symbol): Check it.
3454 * server.h (look_up_one_symbol): New declaration.
3455 * thread-db.c (thread_db_init): Set all_symbols_looked_up.
3456
9308fc88
DJ
34572006-05-30 Daniel Jacobowitz <dan@codesourcery.com>
3458
3459 * Makefile.in (linux-arm-low.o): Update dependencies.
66f338c7 3460 * linux-arm-low.c: Include "gdb_proc_service.h".
9308fc88
DJ
3461 (PTRACE_GET_THREAD_AREA): Define.
3462 (ps_get_thread_area): New function.
3463
52fb6437
NS
34642006-05-09 Nathan Sidwell <nathan@codesourcery.com>
3465
3466 * configure.srv (m68k*-*-uclinux*): New target.
3467 * linux-low.c (linux_create_inferior): Use vfork on mmuless systems.
3468 (linux_resume_one_process): Remove extraneous cast.
3469 (linux_read_offsets): New.
3470 (linux_target_op): Add linux_read_offsets on mmuless systems.
3471 * server.c (handle_query): Add qOffsets logic.
3472 * target.h (struct target_ops): Add read_offsets.
3473
21b0f40c
DJ
34742006-03-15 Daniel Jacobowitz <dan@codesourcery.com>
3475
3476 * linux-mips-low.c: Include <sys/ptrace.h> and "gdb_proc_service.h".
3477 (PTRACE_GET_THREAD_AREA): Define.
3478 (ps_get_thread_area): New function.
3479 * Makefile.in (linux-i386-low.o, linux-mips-low.o)
3480 (linux-x86-64-low.o): Update.
3481
0050a760
DJ
34822006-03-15 Daniel Jacobowitz <dan@codesourcery.com>
3483
3484 * configure.ac: Remove checks for prfpregset_t.
3485 * gdb_proc_service.h: New file.
3486 * linux-i386-low.c, linux-x86-64-low.c, thread-db.c: Use the
3487 new "gdb_proc_service.h".
3488 * proc-service.c: Likewise.
3489 (ps_pglobal_lookup, ps_pdread, ps_pdwrite): Use psaddr_t.
3490 (ps_lgetfpregs, ps_lsetfpregs): Use a void* argument.
3491 * Makefile.in (gdb_proc_service_h): Updated.
3492 * configure, config.in: Regenerated.
3493
b92a518e
DJ
34942006-03-03 Daniel Jacobowitz <dan@codesourcery.com>
3495
3496 * remote-utils.c (prepare_resume_reply): Move declaration
3497 of gdb_id_from_wait to the top of the block.
3498
545587ee
DJ
34992006-02-15 Daniel Jacobowitz <dan@codesourcery.com>
3500
3501 * linux-low.c (regsets_store_inferior_registers): Read the regset
3502 from the target before filling it.
3503
9db87ebd
DJ
35042006-02-08 Daniel Jacobowitz <dan@codesourcery.com>
3505
3506 * server.c (attach_inferior): Return SIGTRAP for a successful
3507 attach.
3508
dd24457d
DJ
35092006-02-01 Daniel Jacobowitz <dan@codesourcery.com>
3510
3511 * Makefile.in (OBS): Add version.o.
3512 (STAGESTUFF): Delete.
3513 (version.o): Add dependencies.
3514 (version.c): Replace rule.
3515 (clean): Remove version.c.
3516 * server.c (gdbserver_version): New.
3517 (gdbserver_usage): Use printf.
3518 (main): Handle --version and --help.
3519 * server.h (version, host_name): Add declarations.
3520
6f0f660e
EZ
35212005-12-23 Eli Zaretskii <eliz@gnu.org>
3522
3523 * linux-arm-low.c:
3524 * linux-arm-low.c:
3525 * inferiors.c:
3526 * i387-fp.h:
3527 * i387-fp.c:
3528 * gdbreplay.c:
3529 * regcache.c:
3530 * proc-service.c:
3531 * mem-break.h:
3532 * mem-break.c:
3533 * linux-x86-64-low.c:
3534 * linux-sh-low.c:
3535 * linux-s390-low.c:
3536 * linux-ppc64-low.c:
3537 * linux-ppc-low.c:
3538 * linux-mips-low.c:
3539 * linux-m68k-low.c:
3540 * linux-m32r-low.c:
3541 * linux-low.h:
3542 * linux-low.c:
3543 * linux-ia64-low.c:
3544 * linux-i386-low.c:
3545 * linux-crisv32-low.c:
3546 * thread-db.c:
3547 * terminal.h:
3548 * target.h:
3549 * target.c:
3550 * server.h:
3551 * server.c:
3552 * remote-utils.c:
3553 * regcache.h:
3554 * utils.c:
3555 * Makefile.in:
3556 * configure.ac:
3557 * gdbserver.1: Add (C) after Copyright. Update the FSF
3558 address.
3559
9d1fb177
DJ
35602005-11-13 Daniel Jacobowitz <dan@codesourcery.com>
3561
3562 * linux-arm-low.c (arm_eabi_breakpoint): New variable.
3563 (arm_breakpoint_at): Recognize both breakpoints.
3564 (the_low_target): Use the correct breakpoint instruction.
3565
011a70c2
DJ
35662005-11-02 Daniel Jacobowitz <dan@codesourcery.com>
3567
3568 * configure.srv (x86_64-*-linux*): Turn on thread_db support.
3569 * linux-x86-64-low.c (x86_64_breakpoint, x86_64_breakpoint_len)
3570 (x86_64_get_pc, x86_64_set_pc, x86_64_breakpoint_at): New.
3571 (the_low_target): Update.
3572
7fb85e41
AS
35732005-10-25 Andreas Schwab <schwab@suse.de>
3574
3575 * server.c (main): Allocate mem_buf with PBUFSIZ bytes.
3576
3577 * linux-ia64-low.c (ia64_regmap): Remove NAT registers.
3578 (ia64_num_regs): Reduce to 462.
3579
3db0444b
DJ
35802005-09-17 Daniel Jacobowitz <dan@codesourcery.com>
3581
3582 * acinclude.m4: Correct quoting.
3583 * aclocal.m4: Regenerated.
3584
3585 Suggested by SZOKOVACS Robert <szo@ies.hu>:
3586 * thread-db.c (thread_db_err_str): Handle TD_VERSION.
3587 (thread_db_init): Call thread_db_err_str.
3588 * configure.ac: Check for TD_VERSION.
3589 * config.in, configure: Regenerated.
3590
bee0189a
DJ
35912005-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3592
3593 * server.h (error, fatal, warning): Add ATTR_FORMAT.
3594
e9d25b98
DJ
35952005-07-13 Daniel Jacobowitz <dan@codesourcery.com>
3596
3597 * configure.ac: Define HAVE_LINUX_REGSETS even if PTRACE_GETREGS
3598 is not available. Define HAVE_PTRACE_GETREGS if it is.
3599 * config.in, configure: Regenerated.
3600 * configure.srv: Set srv_linux_regsets for PowerPC and PowerPC64.
3601 * linux-i386-low.c, linux-m68k-low.c: Update to use
3602 HAVE_PTRACE_GETREGS.
3603 * linux-low.c (regsets_fetch_inferior_registers)
3604 (regsets_store_inferior_registers): Only return 0 if we processed
3605 GENERAL_REGS.
3606 * linux-ppc-low.c (ppc_fill_gregset, target_regsets): New.
3607 * linux-ppc64-low.c (ppc_fill_gregset, target_regsets): New.
3608
a06660f7
DJ
36092005-07-13 Daniel Jacobowitz <dan@codesourcery.com>
3610
3611 * inferiors.c (struct thread_info): Add gdb_id.
3612 (add_thread): Add gdb_id argument.
3613 (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New.
3614 * linux-low.c (linux_create_inferior, linux_attach_lwp): Update
3615 calls to add_thread.
3616 * remote-utils.c (prepare_resume_reply: Use thread_to_gdb_id.
3617 * server.c (handle_query): Use thread_to_gdb_id.
3618 (handle_v_cont, main): Use gdb_id_to_thread_id.
3619 * server.h (add_thread): Update prototype.
3620 (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New
3621 prototypes.
3622
5a1f5858
DJ
36232005-07-13 Daniel Jacobowitz <dan@codesourcery.com>
3624
3625 * linux-low.c (fetch_register, usr_store_inferior_registers): Handle
3626 left-padded registers.
3627 * linux-low.h (struct linux_target_ops): Add left_pad_xfer.
3628 * linux-ppc64-low.c (the_low_target): Set left_pad_xfer.
3629
e122f1f5
SE
36302005-07-01 Steve Ellcey <sje@cup.hp.com>
3631
3632 * configure.ac (BFD_NEED_DECLARATION): Replace with AC_CHECK_DECLS.
3633 * configure: Regenerate.
3634 * config.in: Regenerate.
3635 * server.h (NEED_DECLARATION_STRERROR):
3636 Replace with !HAVE_DECL_STRERROR.
3637
d592fa2f
DJ
36382005-06-16 Daniel Jacobowitz <dan@codesourcery.com>
3639
3640 * linux-low.c (linux_wait, linux_send_signal): Don't test
3641 an unsigned long variable for > 0 if it could be MAX_ULONG.
3642 * server.c (myresume): Likewise.
3643 * target.c (set_desired_inferior): Likewise.
3644
ccbd4912
MK
36452005-06-13 Mark Kettenis <kettenis@gnu.org>
3646
3647 * configure.ac: Simplify and improve check for socklen_t.
3648 * configure, config.in: Regenerate.
3649
f450004a
DJ
36502005-06-12 Daniel Jacobowitz <dan@codesourcery.com>
3651
3652 * acconfig.h: Remove.
3653 * configure.ac: Add a test for socklen_t. Use three-argument
3654 AC_DEFINE throughout.
3655 * config.in: Regenerated using autoheader 2.59.
3656 * configure: Regenerated.
3657
3658 * gdbreplay.c (socklen_t): Provide a default.
3659 (remote_open): Use socklen_t.
3660 * remote-utils.c (socklen_t): Provide a default.
3661 (remote_open): Use socklen_t.
3662 (convert_int_to_ascii, convert_ascii_to_int, decode_M_packet): Use
3663 unsigned char.
3664
3665 * i387-fp.c (struct i387_fsave, struct i387_fxsave): Use unsigned
3666 char for buffers.
3667 * linux-low.c (linux_read_memory, linux_write_memory)
3668 (linux_read_auxv): Likewise.
3669 * mem-break.c (breakpoint_data, set_breakpoint_data, check_mem_read)
3670 (check_mem_write): Likewise.
3671 * mem-break.h (set_breakpoint_data, check_mem_read, check_mem_write):
3672 Likewise.
3673 * regcache.c (struct inferior_rgcache_data, registers_to_string)
3674 (registers_from_string, register_data): Likewise.
3675 * server.c (handle_query, main): Likewise.
3676 * server.h (convert_ascii_to_int, convert_int_to_ascii)
3677 (decode_M_packet): Likewise.
3678 * target.c (read_inferior_memory, write_inferior_memory): Likewise.
3679 * target.h (struct target_ops): Update read_memory, write_memory,
3680 and read_auxv.
3681 (read_inferior_memory, write_inferior_memory): Update.
3682 * linux-low.h (struct linux_target_ops): Change type of breakpoint
3683 to unsigned char *.
3684 * linux-arm-low.c, linux-cris-low.c, linux-crisv32-low.c,
3685 linux-i386-low.c, linux-m32r-low.c, linux-m68k-low.c,
3686 linux-mips-low.c, linux-ppc-low.c, linux-ppc64-low.c,
3687 linux-s390-low.c, linux-sh-low.c: Update for changes in
3688 read_inferior_memory and the_low_target->breakpoint.
3689
eee84df1
DJ
36902005-05-28 Daniel Jacobowitz <dan@codesourcery.com>
3691
3692 * Makefile.in (SFILES): Add linux-ppc64-low.c.
3693 (linux-ppc64-low.o, reg-ppc64.c, reg-ppc64.o): New targets.
3694 * configure.srv: Add powerpc64-*-linux*.
3695 * linux-ppc64-low.c: New file.
3696
45b134e5
OF
36972005-05-23 Orjan Friberg <orjanf@axis.com>
3698
3699 * linux-cris-low.c: New file with support for CRIS.
3700 * linux-crisv32-low.c: Ditto for CRISv32.
3701 * Makefile.in (SFILES): Add linux-cris-low.c, linux-crisv32-low.c.
3702 (clean): Add reg-cris.c and reg-crisv32.c.
3703 Add linux-cris-low.o, linux-crisv32-low.o, reg-cris.o, reg-cris.c,
3704 reg-crisv32.o, and reg-crisv32.c to make rules.
3705 * configure.srv: Add cris-*-linux* and crisv32-*-linux* to list of
3706 recognized targets.
3707
48d93c75
UW
37082005-05-16 Ulrich Weigand <uweigand@de.ibm.com>
3709
3710 * linux-low.c (fetch_register): Ensure buffer size is a multiple
3711 of sizeof (PTRACE_XFER_TYPE).
3712 (usr_store_inferior_registers): Likewise. Zero out excess bytes.
3713
e013ee27
OF
37142005-05-12 Orjan Friberg <orjanf@axis.com>
3715
3716 * target.h (struct target_ops): Add insert_watchpoint,
3717 remove_watchpoint, stopped_by_watchpoint, stopped_data_address function
3718 pointers for hardware watchpoint support.
3719 * linux-low.h (struct linux_target_ops): Ditto.
3720 * linux-low.c (linux_insert_watchpoint, linux_remove_watchpoint)
3721 (linux_stopped_by_watchpoint, linux_stopped_data_address): New. Add
3722 to linux_target_ops.
3723 * remote-utils.c (prepare_resume_reply): Add watchpoint information to
3724 reply packet.
3725 * server.c (main): Recognize 'Z' and 'z' packets.
3726
b0ded00b
UW
37272005-05-10 Ulrich Weigand <uweigand@de.ibm.com>
3728
3729 * linux-s390-low.c (s390_breakpoint, s390_breakpoint_len): Define.
3730 (s390_get_pc, s390_set_pc, s390_breakpoint_at): New functions.
3731 (the_low_target): Add new members.
3732
8643e2ad
DJ
37332005-05-04 Daniel Jacobowitz <dan@codesourcery.com>
3734
3735 * proc-service.c (ps_lgetregs): Search all_processes instead of
3736 all_threads.
3737
fc620387
DJ
37382005-05-04 Daniel Jacobowitz <dan@codesourcery.com>
3739
3740 * server.c (start_inferior): Change return type to int.
3741 (attach_inferior): Change sigptr to int *.
3742 (handle_v_cont, handle_v_requests): Change signal to int *.
3743 (main): Change signal to int.
3744
37452005-04-15 Kei Sakamoto <sakamoto.kei@renesas.com>
7cfbc4a0
KI
3746
3747 * Makefile.in: Add linux-m32r-low.o, reg-m32r.c and reg-m32r.o.
3748 * configure.srv: Add m32r*-*-linux*.
3749 * linux-m32r-low.c: New file.
3750
e0e76420
DJ
37512005-03-04 Daniel Jacobowitz <dan@codesourcery.com>
3752
3753 * Makefile.in (stamp-h): Set CONFIG_HEADERS explicitly.
3754
a1928bad
DJ
37552005-03-03 Daniel Jacobowitz <dan@codesourcery.com>
3756
3757 * inferiors.c (change_inferior_id, add_thread, find_inferior_id):
3758 Take unsigned long arguments for PIDs.
3759 * linux-low.c (add_process, linux_attach_lwp, linux_attach)
3760 (linux_thread_alive, linux_wait_for_event, kill_lwp, send_sigstop)
3761 (wait_for_sigstop, linux_resume_one_process)
3762 (regsets_fetch_inferior_registers, linux_send_signal)
3763 (linux_read_auxv): Likewise. Update the types of variables holding
3764 PIDs. Update format string specifiers.
3765 * linux-low.h (struct process_info, linux_attach_lwp): Likewise.
3766 * remote-utils.c (prepare_resume_reply): Likewise.
3767 * server.c (cont_thread, general_thread, step_thread)
3768 (thread_from_wait, old_thread_from_wait, signal_pid): Change type to
3769 unsigned long.
3770 (handle_query): Update format specifiers.
3771 (handle_v_cont, main): Use strtoul for thread IDs.
3772 * server.h (struct inferior_list_entry): Use unsigned long for ID.
3773 (add_thread, find_inferior_id, change_inferior_id, cont_thread)
3774 (general_thread, step_thread, thread_from_wait)
3775 (old_thread_from_wait): Update.
3776 * target.h (struct thread_resume): Use unsigned long for THREAD.
3777 (struct target_ops): Use unsigned long for arguments to attach and
3778 thread_alive.
3779
dcdb98d2
DJ
37802005-02-24 Daniel Jacobowitz <dan@codesourcery.com>
3781
3782 * acinclude.m4: Include bfd/bfd.m4 directly.
3783 * configure.ac: Use AC_ARG_PROGRAM. Suggested by Aron Griffis
3784 <agriffis@toolchain.org>.
3785 * aclocal.m4, configure: Regenerated.
3786
bec39cab
AC
37872005-01-07 Andrew Cagney <cagney@gnu.org>
3788
3789 * configure.ac: Rename configure.in, require autoconf 2.59.
3790 * configure: Re-generate.
3791
434c4c77
DJ
37922004-12-08 Daniel Jacobowitz <dan@debian.org>
3793
3794 * acinclude.m4 (SRV_CHECK_THREAD_DB): Add ps_get_thread_area. Reset
3795 LIBS when finished.
3796 * aclocal.m4: Regenerated.
3797 * configure: Regenerated.
3798
db1d3e1b
AS
37992004-11-21 Andreas Schwab <schwab@suse.de>
3800
3801 * linux-m68k-low.c (m68k_num_gregs): Define.
3802 (m68k_fill_gregset, m68k_store_gregset, m68k_fill_fpregset)
3803 (m68k_store_fpregset, target_regsets) [HAVE_LINUX_REGSETS]: New.
3804 (m68k_breakpoint, m68k_breakpoint_len, m68k_get_pc, m68k_set_pc)
3805 (m68k_breakpoint_at): New. Add to the_low_target.
3806
3807 * configure.srv (m68*-*-linux*): Set srv_linux_regsets and
3808 srv_linux_thread_db to yes.
3809
43360365
JB
38102004-10-20 Joel Brobecker <brobecker@gnat.com>
3811
3812 * linux-x86-64-low.c (ARCH_SET_GS): Add definition if missing.
3813 (ARCH_SET_FS): Likewise.
3814 (ARCH_GET_FS): Likewise.
3815 (ARCH_GET_GS): Likewise.
3816
fd500816
DJ
38172004-10-16 Daniel Jacobowitz <dan@debian.org>
3818
3819 * linux-i386-low.c (ps_get_thread_area): New.
3820 * linux-x86-64-low.c (ps_get_thread_area): New.
3821 * linux-low.c: Include <sys/syscall.h>.
3822 (linux_kill_one_process): Don't kill the first thread here.
3823 (linux_kill): Kill the first thread here.
3824 (kill_lwp): New function.
3825 (send_sigstop, linux_send_signal): Use it.
3826 * proc-service.c: Clean up #ifdefs.
3827 (fpregset_info): Delete.
3828 (ps_lgetregs): Update and enable implementation.
3829 (ps_lsetregs, ps_lgetfpregs, ps_lsetfpregs): Remove disabled
3830 implementations.
3831 * remote-utils.c (struct sym_cache, symbol_cache): New.
3832 (input_interrupt): Print a clearer message.
3833 (async_io_enabled): New variable.
3834 (enable_async_io, disable_async_io): Use it. Update comments.
3835 (look_up_one_symbol): Use the symbol cache.
3836 * thread-db.c (thread_db_look_up_symbols): New function.
3837 (thread_db_init): Update comments. Call thread_db_look_up_symbols.
3838
f6de3c42
DJ
38392004-10-16 Daniel Jacobowitz <dan@debian.org>
3840
3841 * configure.in: Test for -rdynamic.
3842 * configure: Regenerated.
3843 * Makefile (INTERNAL_LDFLAGS): New.
3844 (gdbserver, gdbreplay): Use it.
3845
2c0fc042
AC
38462004-09-02 Andrew Cagney <cagney@gnu.org>
3847
3848 * Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE.
3849
075b3282
DJ
38502004-03-23 Daniel Jacobowitz <drow@mvista.com>
3851
3852 * linux-low.c (linux_wait): Clear all_processes list also.
3853
fa6a77dc
DJ
38542004-03-12 Daniel Jacobowitz <drow@mvista.com>
3855
3856 * linux-low.c: Include <errno.h>. Remove extern declaration of
3857 errno.
3858
6d782a97
DJ
38592004-03-12 Daniel Jacobowitz <drow@mvista.com>
3860
3861 * gdbreplay.c, server.h, utils.c: Update copyright years.
3862
3a7fb99b
DJ
38632004-03-04 Nathan J. Williams <nathanw@wasabisystems.com>
3864
3865 * server.c (main): Print child status or termination signal from
3866 variable 'signal', not 'sig'.
3867
c3e735a6
DJ
38682004-03-04 Nathan J. Williams <nathanw@wasabisystems.com>
3869
3870 * linux-low.c (linux_read_memory): Change return type to
3871 int. Check for and return error from ptrace().
3872 * target.c (read_inferior_memory): Change return type to int. Pass
3873 back return status from the_target->read_memory().
3874 * target.h (struct target_ops): Adapt *read_memory() prototype.
3875 Update comment.
3876 (read_inferior_memory): Adapt prototype.
3877 * server.c (main): Return an error packet if
3878 read_inferior_memory() returns an error.
3879
a59d1c82
DJ
38802004-03-04 Daniel Jacobowitz <drow@mvista.com>
3881
3882 * Makefile.in (distclean): Remove config.h, stamp-h, and config.log.
3883 Unify with other clean targets.
3884
dc3f8883
DJ
38852004-02-29 Daniel Jacobowitz <drow@mvista.com>
3886
3887 * server.c (handle_v_cont): Call set_desired_inferior.
3888
89a208da
DJ
38892004-02-29 Daniel Jacobowitz <drow@mvista.com>
3890
3891 * remote-utils.c (prepare_resume_reply): Always supply "thread:".
3892
62ea82f5
DJ
38932004-02-29 Daniel Jacobowitz <drow@mvista.com>
3894
3895 * linux-low.c (linux_wait): Unblock async I/O.
3896 (linux_resume): Block and enable async I/O.
3897 * remote-utils.c (block_async_io, unblock_async_io): New functions.
3898 * server.h (block_async_io, unblock_async_io): Add prototypes.
3899
6910d122
DJ
39002004-02-29 Daniel Jacobowitz <drow@mvista.com>
3901
3902 * remote-utils.c (remote_open): Print a status notice after
3903 opening a TCP port.
3904 * server.c (attach_inferior): Print a status notice after
3905 attaching.
3906
39072004-02-29 Daniel Jacobowitz <drow@mvista.com>
d677d77d
DJ
3908
3909 * linux-arm-low.c (arm_get_pc): Print out stop PC in debug mode.
3910
c89dc5d4
DJ
39112004-02-26 Daniel Jacobowitz <drow@mvista.com>
3912
3913 * remote-utils.c (write_enn): Use "E01" instead of "ENN" for the
3914 error packet.
3915 * server.c, target.h: Update copyright years.
3916
4b8dad4a
RM
39172004-02-25 Roland McGrath <roland@redhat.com>
3918
3919 * target.h (struct target_ops): New member `read_auxv'.
3920 * server.c (handle_query): Handle qPart:auxv:read: query using that.
3921 * linux-low.c (linux_read_auxv): New function.
3922 (linux_target_ops): Initialize `read_auxv' member to that.
3923
d7446758
JB
39242004-02-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3925
3926 Committed by Jim Blandy <jimb@redhat.com>.
3927
3928 * linux-s390-low.c (s390_num_regs): Update.
4b8dad4a 3929 (s390_regmap): Remove control registers. Use __s390x__ predefine
d7446758
JB
3930 instead of GPR_SIZE to distiguish s390 and s390x targets.
3931
5544ad89
DJ
39322004-01-31 Daniel Jacobowitz <drow@mvista.com>
3933
3934 * linux-low.c: Update copyright year.
3935 (check_removed_breakpoint): Clear pending_is_breakpoint.
3936 (linux_set_resume_request, linux_queue_one_thread)
3937 (resume_status_pending_p): New functions.
3938 (linux_continue_one_thread): Use process->resume.
3939 (linux_resume): Only resume threads if there are no pending events.
3940 * linux-low.h (struct process_info): Add resume request
3941 pointer.
3942
2a68b70e
DJ
39432004-01-30 Daniel Jacobowitz <drow@mvista.com>
3944
3945 * regcache.c (new_register_cache): Clear the allocated register
3946 buffer. Suggested by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.
3947
64386c31
DJ
39482003-10-13 Daniel Jacobowitz <drow@mvista.com>
3949
3950 * linux-low.c (linux_resume): Take a struct thread_resume *
3951 argument.
3952 (linux_wait): Update call.
3953 (resume_ptr): New static variable.
3954 (linux_continue_one_thread): Renamed from
3955 linux_continue_one_process. Use resume_ptr.
3956 (linux_resume): Use linux_continue_one_thread.
3957 * server.c (handle_v_cont, handle_v_requests): New functions.
3958 (myresume): New function.
3959 (main): Handle 'v' case.
3960 * target.h (struct thread_resume): New type.
3961 (struct target_ops): Change argument of "resume" to struct
3962 thread_resume *.
3963 (myresume): Delete macro.
3964
c938e9b0
L
39652003-08-08 H.J. Lu <hongjiu.lu@intel.com>
3966
3967 * Makefile.in (install-only): Create dest dir. Support DESTDIR.
3968 (uninstall): Support DESTDIR.
3969
7f313d07
BC
3970Mon Jul 21 20:09:34 UTC 2003 Brendan Conoboy <blc@redhat.com>
3971
3972 * configure.srv: Add xscale*linux copy of arm*linux entry.
3973
3b2fc2ea
DJ
39742003-07-24 Daniel Jacobowitz <drow@mvista.com>
3975
3976 * linux-arm-low.c (arm_reinsert_addr): New function.
3977 (the_low_target): Add arm_reinsert_addr.
3978
1c0a559e
MK
39792003-07-08 Mark Kettenis <kettenis@gnu.org>
3980
3981 * mem-break.c: Remove whitespace at end of file.
3982
43d5792c
DJ
39832003-06-28 Daniel Jacobowitz <drow@mvista.com>
3984
3985 * configure.in: Check whether we need to prototype strerror.
3986 * server.h: Optionally prototype strerror.
3987 * gdbreplay.c (perror_with_name): Use strerror.
3988 * linux-low.c (linux_attach_lwp): Use strerror.
3989 * utils.c (perror_with_name): Use strerror.
3990 * config.in, configure: Regenerated.
3991
c8a86edf
DJ
39922003-06-28 Daniel Jacobowitz <drow@mvista.com>
3993
3994 * linux-sh-low.c (sh_regmap): Fix FP register offsets, reported by
3995 SUGIOKA Toshinobu <sugioka@itonet.co.jp>.
3996
73d37363
DJ
39972003-06-20 Daniel Jacobowitz <drow@mvista.com>
3998
3999 * Makefile.in (SFILES): Update.
4000 * low-hppabsd.c, low-lynx.c, low-nbsd.c, low-sim.c, low-sparc.c,
4001 low-sun3.c: Remove files.
4002
6ad8ae5c
DJ
40032003-06-17 Daniel Jacobowitz <drow@mvista.com>
4004
4005 * linux-low.c: Move comment to linux_thread_alive where it belonged.
4006 (linux_detach_one_process, linux_detach): New functions.
4007 (linux_target_ops): Add linux_detach.
4008 * server.c (main): Handle 'D' packet.
4009 * target.h (struct target_ops): Add "detach" member.
4010 (detach_inferior): Define.
4011
1581182a
MK
40122003-06-13 Mark Kettenis <kettenis@gnu.org>
4013
4014 From Kelley Cook <kelleycook@wideopenwest.com>:
4015 * configure.srv: Accept i[34567]86 variants.
4016
e5379b03
DJ
40172003-06-05 Daniel Jacobowitz <drow@mvista.com>
4018
4019 * linux-low.c (linux_wait_for_event): Correct comment typos.
4020 (linux_resume_one_process): Call check_removed_breakpoint.
4021 (linux_send_signal): New function.
4022 (linux_target_ops): Add linux_send_signal.
4023 * remote-utils.c (putpkt, input_interrupt): Use send_signal instead
4024 of kill.
4025 * target.h (struct target_ops): Add send_signal.
4026
2ff29de4
JB
40272003-05-29 Jim Blandy <jimb@redhat.com>
4028
4029 * linux-low.c (usr_store_inferior_registers): Transfer buf in
4030 PTRACE_XFER_TYPE-sized chunks, not int-sized chunks. Otherwise,
4031 if 'int' is smaller than PTRACE_XFER_TYPE, you end up throwing
4032 away part of the register's value.
4033
254787d4
DJ
40342003-03-26 Daniel Jacobowitz <drow@mvista.com>
4035
4036 * linux-low.c (linux_create_inferior): Use __SIGRTMIN.
4037 (linux_wait_for_event, linux_init_signals): Likewise.
4038
94e10508
DJ
40392003-03-17 Daniel Jacobowitz <drow@mvista.com>
4040
4041 * configure.in: Check for stdlib.h.
4042 * configure: Regenerated.
4043 * config.in: Regenerated.
4044
4c0711e0
DJ
40452003-01-04 Andreas Schwab <schwab@suse.de>
4046
4047 * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31.
4048
ef66e766
AC
40492003-01-02 Andrew Cagney <ac131313@redhat.com>
4050
4051 * Makefile.in: Remove obsolete code.
4052
a1358604
DJ
40532002-11-20 Daniel Jacobowitz <drow@mvista.com>
4054
4055 * linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of
4056 defined(PT_FPR0_HI).
4057
23ce3b1c
DJ
40582002-11-17 Stuart Hughes <seh@zee2.com>
4059
4060 * linux-arm-low.c (arm_num_regs): Increase.
4061 (arm_regmap): Include status register.
4062
40632002-11-17 Daniel Jacobowitz <drow@mvista.com>
4064
4065 * linux-low.c (register_addr): Remove incorrect -1 check.
4066
a9fa9f7d
DJ
40672002-08-29 Daniel Jacobowitz <drow@mvista.com>
4068
4069 * linux-low.c (linux_create_inferior): Call setpgid. Return
4070 the new PID.
4071 (unstopped_p, linux_signal_pid): Remove.
4072 (linux_target_ops): Remove linux_signal_pid.
4073 * remote-utils.c (putpkt, input_interrupt): Use signal_pid
4074 global instead of target method.
4075 * target.h (struct target_ops): Remove signal_pid. Update comment
4076 for create_inferior.
4077 * server.c (signal_pid): New variable.
4078 (create_inferior): Set signal_pid. Block SIGTTOU and SIGTTIN in
4b8dad4a 4079 gdbserver. Set the child to be the foreground process group.
a9fa9f7d
DJ
4080 (attach_inferior): Set signal_pid.
4081
17574093
DJ
40822002-08-23 Daniel Jacobowitz <drow@mvista.com>
4083
4084 * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2.
4085
40862002-08-20 Jim Blandy <jimb@redhat.com>
4087
4088 * Makefile.in (LDFLAGS): Allow the configure script to establish a
4089 default for this.
4090
40912002-08-01 Andrew Cagney <cagney@redhat.com>
4092
4093 * Makefile.in: Make chill references obsolete.
4094
40952002-07-24 Kevin Buettner <kevinb@redhat.com>
4096
4097 * configure.in (unistd.h): Add to AC_CHECK_HEADERS list.
4098 * configure: Regenerate.
4099 * config.in: Regenerate.
4100
41012002-07-09 David O'Brien <obrien@FreeBSD.org>
4102
4103 * gdbreplay.c (stdlib.h, unistd.h): Conditionaly include.
4104 (perror_with_name, remote_close, remote_open, expect, play): Static.
4105
41062002-07-04 Michal Ludvig <mludvig@suse.cz>
4107
4b8dad4a 4108 * linux-x86-64-low.c (x86_64_regmap): Make it an array of
17574093
DJ
4109 byte offsets instead of an array of indexes.
4110 (x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.
4111
41122002-06-13 Daniel Jacobowitz <drow@mvista.com>
4113
4114 * regcache.c: Add comment.
4115
41162002-06-11 Daniel Jacobowitz <drow@mvista.com>
4117
4118 * thread-db.c: New file.
4119 * proc-service.c: New file.
4120 * acinclude.m4: New file.
4121 * Makefile.in: Add GDBSERVER_LIBS, gdb_proc_service_h,
4122 proc-service.o, and thread-db.o.
4123 (linux-low.o): Add USE_THREAD_DB.
4124 * acconfig.h: Add HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T,
4125 HAVE_LWPID_T, HAVE_PSADDR_T, and PRFPREGSET_T_BROKEN.
4126 * aclocal.m4: Regenerated.
4127 * config.in: Regenerated.
4128 * configure: Regenerated.
4129 * configure.in: Check for proc_service.h, sys/procfs.h,
4130 thread_db.h, and linux/elf.h headrs.
4131 Check for lwpid_t, psaddr_t, prgregset_t, prfpregset_t, and
4132 PRFPREGSET_T_BROKEN. Introduce srv_thread_depfiles and USE_THREAD_DB.
4133 Check for -lthread_db and thread support.
4134 * configure.srv: Enable thread_db support for ARM, i386, MIPS,
4135 PowerPC, and SuperH.
4136 * i387-fp.c: Constify arguments.
4137 * i387-fp.h: Likewise.
4138 * inferiors.c: (struct thread_info): Renamed from
4139 `struct inferior_info'. Remove PID member. Use generic inferior
4140 list header. All uses updated.
4141 (inferiors, signal_pid): Removed.
4142 (all_threads): New variable.
4143 (get_thread): Define.
4144 (add_inferior_to_list): New function.
4145 (for_each_inferior): New function.
4146 (change_inferior_id): New function.
4147 (add_inferior): Removed.
4148 (remove_inferior): New function.
4149 (add_thread): New function.
4150 (free_one_thread): New function.
4151 (remove_thread): New function.
4152 (clear_inferiors): Use for_each_inferior and free_one_thread.
4153 (find_inferior): New function.
4154 (find_inferior_id): New function.
4155 (inferior_target_data): Update argument type.
4156 (set_inferior_target_data): Likewise.
4157 (inferior_regcache_data): Likewise.
4158 (set_inferior_regcache_data): Likewise.
4159 * linux-low.c (linux_bp_reinsert): Remove.
4160 (all_processes, stopping_threads, using_thrads)
4161 (struct pending_signals, debug_threads, pid_of): New.
4162 (inferior_pid): Replace with macro.
4163 (struct inferior_linux_data): Remove.
4164 (get_stop_pc, add_process): New functions.
4165 (linux_create_inferior): Restore SIGRTMIN+1 before calling exec.
4166 Use add_process and add_thread.
4167 (linux_attach_lwp): New function, based on old linux_attach. Use
4168 add_process and add_thread. Set stop_expected for new threads.
4169 (linux_attach): New function.
4170 (linux_kill_one_process): New function.
4171 (linux_kill): Kill all LWPs.
4172 (linux_thread_alive): Use find_inferior_id.
4173 (check_removed_breakpoints, status_pending_p): New functions.
4174 (linux_wait_for_process): Renamed from linux_wait_for_one_inferior.
4175 Update. Use WNOHANG. Wait for cloned processes also. Update process
4176 struct for the found process.
4177 (linux_wait_for_event): New function.
4178 (linux_wait): Use it. Support LWPs.
4179 (send_sigstop, wait_for_sigstop, stop_all_processes)
4180 (linux_resume_one_process, linux_continue_one_process): New functions.
4181 (linux_resume): Support LWPs.
4182 (REGISTER_RAW_SIZE): Remove.
4183 (fetch_register): Use register_size instead. Call supply_register.
4184 (usr_store_inferior_registers): Likewise. Call collect_register.
4185 Fix recursive case.
4186 (regsets_fetch_inferior_registers): Improve error message.
4187 (regsets_store_inferior_registers): Add debugging.
4188 (linux_look_up_symbols): Call thread_db_init if USE_THREAD_DB.
4189 (unstopped_p, linux_signal_pid): New functions.
4190 (linux_target_ops): Add linux_signal_pid.
4191 (linux_init_signals): New function.
4192 (initialize_low): Call it. Initialize using_threads.
4193 * regcache.c (inferior_regcache_data): Add valid
4194 flag.
4195 (get_regcache): Fetch registers lazily. Add fetch argument
4196 and update all callers.
4197 (regcache_invalidate_one, regcache_invalidate): New
4198 functions.
4199 (new_register_cache): Renamed from create_register_cache.
4200 Return the new regcache.
4201 (free_register_cache): Change argument to a void *.
4202 (registers_to_string, registers_from_string): Call get_regcache
4203 with fetch flag set.
4204 (register_data): Make static. Pass fetch flag to get_regcache.
4205 (supply_register): Call get_regcache with fetch flag clear.
4206 (collect_register): Call get_regcache with fetch flag set.
4207 (collect_register_as_string): New function.
4208 * regcache.h: Update.
4209 * remote-utils.c (putpkt): Flush after debug output and use
4210 stderr.
4211 Handle input interrupts while waiting for an ACK.
4212 (input_interrupt): Use signal_pid method.
4213 (getpkt): Flush after debug output and use stderr.
4214 (outreg): Use collect_register_as_string.
4215 (new_thread_notify, dead_thread_notify): New functions.
4216 (prepare_resume_reply): Check using_threads. Set thread_from_wait
4217 and general_thread.
4218 (look_up_one_symbol): Flush after debug output.
4219 * server.c (step_thread, server_waiting): New variables.
4220 (start_inferior): Don't use signal_pid. Update call to mywait.
4221 (attach_inferior): Update call to mywait.
4222 (handle_query): Handle qfThreadInfo and qsThreadInfo.
4223 (main): Don't fetch/store registers explicitly. Use
4224 set_desired_inferior. Support proposed ``Hs'' packet. Update
4225 calls to mywait.
4226 * server.h: Update.
4227 (struct inferior_list, struct_inferior_list_entry): New.
4228 * target.c (set_desired_inferior): New.
4229 (write_inferior_memory): Constify.
4230 (mywait): New function.
4231 * target.h: Update.
4232 (struct target_ops): New signal_pid method.
4233 (mywait): Removed macro, added prototype.
4234
4235 * linux-low.h (regset_func): Removed.
4236 (regset_fill_func, regset_store_func): New.
4237 (enum regset_type): New.
4238 (struct regset_info): Add type field. Use new operation types.
4239 (struct linux_target_ops): stop_pc renamed to get_pc.
4240 Add decr_pc_after_break and breakpoint_at.
4241 (get_process, get_thread_proess, get_process_thread)
4242 (strut process_info, all_processes, linux_attach_lwp)
4243 (thread_db_init): New.
4244
4245 * linux-arm-low.c (arm_get_pc, arm_set_pc,
4246 arm_breakpoint, arm_breakpoint_len, arm_breakpoint_at): New.
4247 (the_low_target): Add new members.
4248 * linux-i386-low.c (i386_store_gregset, i386_store_fpregset)
4249 (i386_store_fpxregset): Constify.
4250 (target_regsets): Add new kind identifier.
4251 (i386_get_pc): Renamed from i386_stop_pc. Simplify.
4252 (i386_set_pc): Add debugging.
4253 (i386_breakpoint_at): New function.
4254 (the_low_target): Add new members.
4255 * linux-mips-low.c (mips_get_pc, mips_set_pc)
4256 (mips_breakpoint, mips_breakpoint_len, mips_reinsert_addr)
4257 (mips_breakpoint_at): New.
4258 (the_low_target): Add new members.
4259 * linux-ppc-low.c (ppc_get_pc, ppc_set_pc)
4260 (ppc_breakpoint, ppc_breakpoint_len, ppc_breakpoint_at): New.
4261 (the_low_target): Add new members.
4262 * linux-sh-low.c (sh_get_pc, sh_set_pc)
4263 (sh_breakpoint, sh_breakpoint_len, sh_breakpoint_at): New.
4264 (the_low_target): Add new members.
4265 * linux-x86-64-low.c (target_regsets): Add new kind
4266 identifier.
4267
42682002-05-15 Daniel Jacobowitz <drow@mvista.com>
4269
4270 From Martin Pool <mbp@samba.org>:
4271 * server.c (gdbserver_usage): New function.
4272 (main): Call it.
4273
42742002-05-14 Daniel Jacobowitz <drow@mvista.com>
4275
4276 * mem-break.c (reinsert_breakpoint_by_bp): Correct typo
4277 stop_at -> stop_pc.
4278
42792002-05-04 Andrew Cagney <ac131313@redhat.com>
4280
4281 * Makefile.in: Remove obsolete code.
4282
42832002-04-24 Michal Ludvig <mludvig@suse.cz>
4284
4285 * linux-low.c (regsets_fetch_inferior_registers),
4286 (regsets_store_inferior_registers): Removed cast to int from
4287 ptrace() calls.
4288 * regcache.h: Added declaration of struct inferior_info.
4289
42902002-04-20 Daniel Jacobowitz <drow@mvista.com>
4291
4292 * inferiors.c (struct inferior_info): Add regcache_data.
4293 (add_inferior): Call create_register_cache.
4294 (clear_inferiors): Call free_register_cache.
4295 (inferior_regcache_data, set_inferior_regcache_data): New functions.
4296 * regcache.c (struct inferior_regcache_data): New.
4297 (registers): Remove.
4298 (get_regcache): New function.
4299 (create_register_cache, free_register_cache): New functions.
4300 (set_register_cache): Don't initialize the register cache here.
4301 (registers_to_string, registers_from_string, register_data): Call
4302 get_regcache.
4303 * regcache.h: Add prototypes.
4304 * server.h: Likewise.
4305
43062002-04-20 Daniel Jacobowitz <drow@mvista.com>
4307
4308 * mem-break.c: New file.
4309 * mem-break.h: New file.
4310 * Makefile.in: Add mem-break.o rule; update server.h
4311 dependencies.
4312 * inferiors.c (struct inferior_info): Add target_data
4313 member.
4314 (clear_inferiors): Free target_data member if set.
4315 (inferior_target_data, set_inferior_target_data): New functions.
4316 * linux-i386-low.c (i386_breakpoint, i386_breakpoint_len)
4317 (i386_stop_pc, i386_set_pc): New. Add to the_low_target.
4318 * linux-low.c (linux_bp_reinsert): New variable.
4319 (struct inferior_linux_data): New.
4320 (linux_create_inferior): Use set_inferior_target_data.
4321 (linux_attach): Likewise. Call add_inferior.
4322 (linux_wait_for_one_inferior): New function.
4323 (linux_wait): Call it.
4324 (linux_write_memory): Add const.
4325 (initialize_low): Call set_breakpoint_data.
4326 * linux-low.h (struct linux_target_ops): Add breakpoint
4327 handling members.
4328 * server.c (attach_inferior): Remove extra add_inferior
4329 call.
4330 * server.h: Include mem-break.h. Update inferior.c
4331 prototypes.
4332 * target.c (read_inferior_memory)
4333 (write_inferior_memory): New functions.
4334 * target.h (read_inferior_memory)
4335 (write_inferior_memory): Change macros to prototypes.
4336 (struct target_ops): Update comments. Add const to write_memory
4337 definition.
4338
43392002-04-11 Daniel Jacobowitz <drow@mvista.com>
4340
4341 * linux-low.c (usr_store_inferior_registers): Support
4342 registers which are allowed to fail to store.
4343 * linux-low.h (linux_target_ops): Likewise.
4344 * linux-ppc-low.c (ppc_regmap): Support FPSCR.
4345 (ppc_cannot_store_register): FPSCR may not be storable.
4346
43472002-04-09 Daniel Jacobowitz <drow@mvista.com>
4348
4349 * server.h: Include <string.h> if HAVE_STRING_H.
4350 * ChangeLog: Correct paths in last ChangeLog entry.
4351
43522002-04-09 Daniel Jacobowitz <drow@mvista.com>
4353
4354 * linux-low.h: Remove obsolete prototypes.
4355 (struct linux_target_ops): New.
4356 (extern the_low_target): New.
4357 * linux-low.c (num_regs, regmap): Remove declarations.
4358 (register_addr): Use the_low_target explicitly.
4359 (fetch_register): Likewise.
4360 (usr_fetch_inferior_registers): Likewise.
4361 (usr_store_inferior_registers): Likewise.
4362 * linux-arm-low.c (num_regs): Remove.
4363 (arm_num_regs): Define.
4364 (arm_regmap): Renamed from regmap, made static.
4365 (arm_cannot_fetch_register): Renamed from cannot_fetch_register,
4366 made static.
4367 (arm_cannot_store_register): Renamed from cannot_store_register,
4368 made static.
4369 (the_low_target): New.
4370 * linux-i386-low.c (num_regs): Remove.
4371 (i386_num_regs): Define.
4372 (i386_regmap): Renamed from regmap, made static.
4373 (i386_cannot_fetch_register): Renamed from cannot_fetch_register,
4374 made static.
4375 (i386_cannot_store_register): Renamed from cannot_store_register,
4376 made static.
4377 (the_low_target): New.
4378 * linux-ia64-low.c (num_regs): Remove.
4379 (ia64_num_regs): Define.
4380 (ia64_regmap): Renamed from regmap, made static.
4381 (ia64_cannot_fetch_register): Renamed from cannot_fetch_register,
4382 made static.
4383 (ia64_cannot_store_register): Renamed from cannot_store_register,
4384 made static.
4385 (the_low_target): New.
4386 * linux-m68k-low.c (num_regs): Remove.
4387 (m68k_num_regs): Define.
4388 (m68k_regmap): Renamed from regmap, made static.
4389 (m68k_cannot_fetch_register): Renamed from cannot_fetch_register,
4390 made static.
4391 (m68k_cannot_store_register): Renamed from cannot_store_register,
4392 made static.
4393 (the_low_target): New.
4394 * linux-mips-low.c (num_regs): Remove.
4395 (mips_num_regs): Define.
4396 (mips_regmap): Renamed from regmap, made static.
4397 (mips_cannot_fetch_register): Renamed from cannot_fetch_register,
4398 made static.
4399 (mips_cannot_store_register): Renamed from cannot_store_register,
4400 made static.
4401 (the_low_target): New.
4402 * linux-ppc-low.c (num_regs): Remove.
4403 (ppc_num_regs): Define.
4404 (ppc_regmap): Renamed from regmap, made static.
4405 (ppc_cannot_fetch_register): Renamed from cannot_fetch_register,
4406 made static.
4407 (ppc_cannot_store_register): Renamed from cannot_store_register,
4408 made static.
4409 (the_low_target): New.
4410 * linux-s390-low.c (num_regs): Remove.
4411 (s390_num_regs): Define.
4412 (s390_regmap): Renamed from regmap, made static.
4413 (s390_cannot_fetch_register): Renamed from cannot_fetch_register,
4414 made static.
4415 (s390_cannot_store_register): Renamed from cannot_store_register,
4416 made static.
4417 (the_low_target): New.
4418 * linux-sh-low.c (num_regs): Remove.
4419 (sh_num_regs): Define.
4420 (sh_regmap): Renamed from regmap, made static.
4421 (sh_cannot_fetch_register): Renamed from cannot_fetch_register,
4422 made static.
4423 (sh_cannot_store_register): Renamed from cannot_store_register,
4424 made static.
4425 (the_low_target): New.
4426 * linux-x86-64-low.c (x86_64_regmap): Renamed from regmap.
4427 (the_low_target): New.
4428
44292002-04-09 Daniel Jacobowitz <drow@mvista.com>
4430
4431 * Makefile.in: Add stamp-h target.
4432 * configure.in: Create stamp-h.
4433 * configure: Regenerated.
4434
44352002-04-09 Daniel Jacobowitz <drow@mvista.com>
4436
4437 * inferiors.c: New file.
4438 * target.c: New file.
4439 * target.h: New file.
4440 * Makefile.in: Add target.o and inferiors.o. Update
4441 dependencies.
4442 * linux-low.c (inferior_pid): New static variable,
4443 moved from server.c.
4444 (linux_create_inferior): Renamed from create_inferior.
4445 Call add_inferior. Return 0 on success instead of a PID.
4446 (linux_attach): Renamed from myattach.
4447 (linux_kill): Renamed from kill_inferior. Call clear_inferiors ().
4448 (linux_thread_alive): Renamed from mythread_alive.
4449 (linux_wait): Renamed from mywait. Call clear_inferiors () if the
4450 child dies.
4451 (linux_resume): Renamed from myresume. Add missing ``return 0''.
4452 (regsets_store_inferior_registers): Correct error message.
4453 Add missing ``return 0''.
4454 (linux_fetch_registers): Renamed from fetch_inferior_registers.
4455 (linux_store_registers): Renamed from store_inferior_registers.
4456 (linux_read_memory): Renamed from read_inferior_memory.
4457 (linux_write_memory): Renamed from write_inferior_memory.
4458 (linux_target_ops): New structure.
4459 (initialize_low): Call set_target_ops ().
4460 * remote-utils.c (unhexify): New function.
4461 (hexify): New function.
4462 (input_interrupt): Send signals to ``signal_pid''.
4463 * server.c (inferior_pid): Remove.
4464 (start_inferior): Update create_inferior call.
4465 (attach_inferior): Call add_inferior.
4466 (handle_query): New function.
4467 (main): Call handle_query for `q' packets.
4468 * server.h: Include "target.h". Remove obsolete prototypes.
4469 Add prototypes for "inferiors.c", "target.c", hexify, and unhexify.
4470
44712002-04-09 Daniel Jacobowitz <drow@mvista.com>
4472
4473 * Makefile.in: Add WARN_CFLAGS. Update configury
4474 dependencies.
4475 * configure.in: Check for <string.h>
4476 * configure: Regenerate.
4477 * config.in: Regenerate.
4478 * gdbreplay.c: Include needed system headers.
4479 (remote_open): Remove strchr prototype.
4480 * linux-low.h: Correct #ifdef to HAVE_LINUX_USRREGS.
4481 * regcache.c (supply_register): Change buf argument to const void *.
4482 (supply_register_by_name): Likewise.
4483 (collect_register): Change buf argument to void *.
4484 (collect_register_by_name): Likewise.
4485 * regcache.h: Add missing prototypes.
4486 * remote-utils.c: Include <arpa/inet.h> for inet_ntoa.
4487 * server.c (handle_query): New function.
4488 (attached): New static variable, moved out of main.
4489 (main): Quiet longjmp clobber warnings.
4490 * server.h: Add ATTR_NORETURN and ATTR_FORMAT. Update prototypes.
4491 * utils.c (error): Remove NORETURN.
4492 (fatal): Likewise.
This page took 0.764348 seconds and 4 git commands to generate.