]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/gdbserver/ChangeLog
bfd/ChangeLog
[thirdparty/binutils-gdb.git] / gdb / gdbserver / ChangeLog
CommitLineData
2eec7d5b
PA
12014-04-09 Pedro Alves <palves@redhat.com>
2
3 * linux-low.c (linux_read_loadmap): Pass current_inferior directly
4 to lwpid_of.
5
fa96cb38
PA
62014-02-27 Pedro Alves <palves@redhat.com>
7
8 PR 12702
9 * inferiors.h (A_I_NEXT, ALL_INFERIORS_TYPE, ALL_PROCESSES): New
10 macros.
11 * linux-low.c (delete_lwp, handle_extended_wait): Add debug
12 output.
13 (last_thread_of_process_p): Take a PID argument instead of a
14 thread pointer.
15 (linux_wait_for_lwp): Delete.
16 (num_lwps, check_zombie_leaders, not_stopped_callback): New
17 functions.
18 (linux_low_filter_event): New function, party factored out from
19 linux_wait_for_event.
20 (linux_wait_for_event): Rename to ...
21 (linux_wait_for_event_filtered): ... this. Add new filter ptid
22 argument. Partly rewrite. Always use waitpid(-1, WNOHANG) and
23 sigsuspend. Check for zombie leaders.
24 (linux_wait_for_event): Reimplement as wrapper around
25 linux_wait_for_event_filtered.
26 (linux_wait_1): Handle TARGET_WAITKIND_NO_RESUMED. Assume that if
27 a normal or signal exit is seen, it's the whole process exiting.
28 (wait_for_sigstop): No longer a for_each_inferior callback.
29 Rewrite on top of linux_wait_for_event_filtered.
30 (stop_all_lwps): Call wait_for_sigstop directly.
31 * server.c (resume, handle_target_event): Handle
32 TARGET_WAITKIND_NO_RESUMED.
33
d763de10
JB
342014-02-26 Joel Brobecker <brobecker@adacore.com>
35
36 * win32-low.c (psapi_get_dll_name,
37 * win32_CreateToolhelp32Snapshot): Delete.
38 (win32_CreateToolhelp32Snapshot, win32_Module32First)
39 (win32_Module32Next, load_toolhelp, toolhelp_get_dll_name):
40 Delete.
41 (handle_load_dll): Add function description.
42 Remove code using psapi_get_dll_name and toolhelp_get_dll_name.
43
850a0f76
JB
442014-02-26 Joel Brobecker <brobecker@adacore.com>
45
46 * win32-low.c (win32_add_one_solib): Add 0x1000 to load_addr.
47 Add comment.
48 (win32_add_all_dlls): Remove 0x1000 offset applied to DLL
49 base address when calling win32_add_one_solib.
50 (handle_load_dll): Delete local variable load_addr.
51 Remove 0x1000 offset applied to DLL base address when calling
52 win32_add_one_solib.
53 (handle_unload_dll): Add comment.
54
f25b3fc3
JB
552014-02-26 Joel Brobecker <brobecker@adacore.com>
56
57 * win32-low.c (win32_add_all_dlls): Renames
58 win32_ensure_ntdll_loaded. Rewrite function documentation.
59 Adjust implementation to always load all DLLs.
60 Add 0x1000 offset to DLL base address when calling
61 win32_add_one_solib.
62 (child_initialization_done): New static global.
63 (do_initial_child_stuff): Set child_initialization_done to
64 zero during child initialization, and 1 after. Replace call
65 to win32_ensure_ntdll_loaded by call to win32_add_all_dlls.
66 Add comment.
67 (match_dll_by_basename, dll_is_loaded_by_basename): Delete.
68 (handle_unload_dll): Add function documentation.
69 (get_child_debug_event): Ignore load and unload DLL events
70 during child initialization.
71
d86d4aaf
DE
722014-02-20 Doug Evans <dje@google.com>
73
3bc32da3 74 Remove global all_lwps.
d86d4aaf
DE
75 * inferiors.h (ptid_of): Move here from linux-low.h.
76 (pid_of, lwpid_of): Ditto.
77 * linux-aarch64-low.c (debug_reg_change_callback): Update, "entry"
78 parameter is a struct thread_info * now.
79 (aarch64_notify_debug_reg_change): Fetch pid from current_inferior
80 directly. Pass &all_threads to find_inferior instead of &all_lwps.
81 (aarch64_stopped_data_address): Fetch lwpid from current_inferior
82 directly.
83 (aarch64_linux_prepare_to_resume): Fetch ptid from thread.
84 (aarch64_arch_setup): Fetch lwpid from current_inferior directly.
85 * linux-arm-low.c (update_registers_callback): Update, "entry"
86 parameter is a struct thread_info * now.
87 Fetch lwpid from current_inferior directly.
88 (arm_insert_point): Pass &all_threads to find_inferior instead of
89 &all_lwps.
90 (arm_remove_point): Ditto.
91 (arm_stopped_by_watchpoint): Fetch lwp from current_inferior.
92 (arm_prepare_to_resume): Fetch pid from thread.
93 (arm_read_description): Fetch lwpid from current_inferior directly.
94 * linux-low.c (all_lwps): Delete.
95 (delete_lwp): Delete call to remove_inferior.
96 (handle_extended_wait): Fetch lwpid from thread.
97 (add_lwp): Don't set lwp->entry.id. Remove call to
98 add_inferior_to_list.
99 (linux_attach_lwp_1): Fetch pid from current_inferior directly.
100 (linux_kill_one_lwp): Fetch ptid,lwpid from thread.
101 (kill_one_lwp_callback): Ditto.
102 (linux_kill): Don't dereference NULL pointer.
103 Fetch ptid,lwpid from thread.
104 (get_detach_signal): Fetch ptid from thread.
105 (linux_detach_one_lwp): Fetch ptid,lwpid from thread.
106 Simplify call to regcache_invalidate_thread.
107 (delete_lwp_callback): Update, "entry" parameter is a
108 struct thread_info * now. Fetch pid from thread.
109 (linux_mourn): Pass &all_threads to find_inferior instead of &all_lwps.
110 (status_pending_p_callback): Update, "entry" parameter is a
111 struct thread_info * now. Fetch ptid from thread.
112 (find_lwp_pid): Update, "entry" parameter is a
113 struct thread_info * now.
114 (linux_wait_for_lwp): Fetch pid from thread.
115 (linux_fast_tracepoint_collecting): Fetch lwpid from thread.
116 (maybe_move_out_of_jump_pad): Fetch lwpid from current_inferior.
117 (enqueue_one_deferred_signal): Fetch lwpid from thread.
118 (dequeue_one_deferred_signal): Ditto.
119 (cancel_breakpoint): Fetch ptid from current_inferior.
120 (linux_wait_for_event): Pass &all_threads to find_inferior,
121 not &all_lwps. Fetch ptid, lwpid from thread.
122 (count_events_callback): Update, "entry" parameter is a
123 struct thread_info * now.
124 (select_singlestep_lwp_callback): Ditto.
125 (select_event_lwp_callback): Ditto.
126 (cancel_breakpoints_callback): Ditto.
127 (linux_cancel_breakpoints): Pass &all_threads to find_inferior,
128 not &all_lwps.
129 (select_event_lwp): Ditto. Fetch ptid from event_thread.
130 (unsuspend_one_lwp): Update, "entry" parameter is a
131 struct thread_info * now.
132 (unsuspend_all_lwps): Pass &all_threads to find_inferior,
133 not &all_lwps.
134 (linux_stabilize_threads): Ditto. And for for_each_inferior.
135 Fetch lwpid from thread, not lwp.
136 (linux_wait_1): Fetch ptid, lwpid from current_inferior.
137 Pass &all_threads to find_inferior, not &all_lwps.
138 (send_sigstop): Fetch lwpid from thread, not lwp.
139 (send_sigstop_callback): Update, "entry" parameter is a
140 struct thread_info * now.
141 (suspend_and_send_sigstop_callback): Ditto.
142 (wait_for_sigstop): Ditto. Fetch ptid, lwpid from thread, lwp.
143 (stuck_in_jump_pad_callback): Update, "entry" parameter is a
144 struct thread_info * now.
145 (move_out_of_jump_pad_callback): Ditto. Fetch ptid, lwpid
146 from thread, lwp.
147 (lwp_running): Update, "entry" parameter is a
148 struct thread_info * now.
149 (stop_all_lwps): Fetch ptid from thread.
150 Pass &all_threads to find_inferior, for_each_inferior, not &all_lwps.
151 (linux_resume_one_lwp): Fetch lwpid from thread.
152 (linux_set_resume_request): Update, "entry" parameter is a
153 struct thread_info * now. Fetch pid, lwpid from thread.
154 (resume_status_pending_p): Update, "entry" parameter is a
155 struct thread_info * now.
156 (need_step_over_p): Ditto. Fetch lwpid from thread.
157 (start_step_over): Fetch lwpid from thread.
158 (linux_resume_one_thread): Update, "entry" parameter is a
159 struct thread_info * now. Fetch lwpid from thread.
160 (linux_resume): Pass &all_threads to find_inferior, not &all_lwps.
161 (proceed_one_lwp): Update, "entry" parameter is a
162 struct thread_info * now. Fetch lwpid from thread.
163 (unsuspend_and_proceed_one_lwp): Update, "entry" parameter is a
164 struct thread_info * now.
165 (proceed_all_lwps): Pass &all_threads to find_inferior, not &all_lwps.
166 (unstop_all_lwps): Ditto. Fetch lwpid from thread.
167 (regsets_fetch_inferior_registers): Fetch lwpid from current_inferior
168 directly.
169 (regsets_store_inferior_registers): Ditto.
170 (fetch_register, store_register): Ditto.
171 (linux_read_memory, linux_write_memory): Ditto.
172 (linux_request_interrupt): Ditto.
173 (linux_read_auxv): Ditto.
174 (linux_xfer_siginfo): Ditto.
175 (linux_qxfer_spu): Ditto.
176 (linux_qxfer_libraries_svr4): Ditto.
177 * linux-low.h (ptid_of, pid_of, lwpid_of): Delete,
178 moved to inferiors.h.
179 (get_lwp): Delete.
180 (get_thread_lwp): Update.
181 (struct lwp_info): Delete member "entry". Simplify comment for
182 member "thread".
183 (all_lwps): Delete.
184 * linux-mips-low.c (mips_read_description): Fetch lwpid from
185 current_inferior directly.
186 (update_watch_registers_callback): Update, "entry" parameter is a
187 struct thread_info * now. Fetch pid from thread.
188 (mips_linux_prepare_to_resume): Fetch ptid from thread.
189 (mips_insert_point): Fetch lwpid from current_inferior.
190 Pass &all_threads to find_inferior, not &all_lwps.
191 (mips_remove_point): Pass &all_threads to find_inferior, not &all_lwps.
192 (mips_stopped_by_watchpoint): Fetch lwpid from current_inferior
193 directly.
194 (mips_stopped_data_address): Ditto.
195 * linux-s390-low.c (s390_arch_setup): Fetch pid from current_inferior
196 directly.
197 * linux-tile-low.c (tile_arch_setup): Ditto.
198 * linux-x86-low.c (x86_get_thread_area): Fetch lwpid from thread.
199 (update_debug_registers_callback): Update, "entry" parameter is a
200 struct thread_info * now. Fetch pid from thread.
201 (i386_dr_low_set_addr): Fetch pid from current_inferior directly.
202 Pass &all_threads to find_inferior, not &all_lwps.
203 (i386_dr_low_get_addr): Fetch ptid from current_inferior directly.
204 (i386_dr_low_set_control): Fetch pid from current_inferior directly.
205 Pass &all_threads to find_inferior, not &all_lwps.
206 (i386_dr_low_get_control): Fetch ptid from current_inferior directly.
207 (i386_dr_low_get_status): Ditto.
208 (x86_linux_prepare_to_resume): Fetch ptid from thread.
209 (x86_siginfo_fixup): Fetch lwpid from current_inferior directly.
210 (x86_linux_read_description): Ditto.
211 * proc-service.c (ps_getpid): Fetch pid from current_inferior directly.
212
3b8361aa
DE
2132014-02-20 Doug Evans <dje@google.com>
214
215 * inferiors.c (get_first_inferior): Fix buglet.
216
f7667f0d
DE
2172014-02-19 Doug Evans <dje@google.com>
218
219 * gdbthread.h (add_thread): Change result type to struct thread_info *.
220 * inferiors.c (add_thread): Change result type to struct thread_info *.
221 All callers updated.
222 (add_lwp): Call add_thread here instead of in callers.
223 All callers updated.
224 * linux-low.h (get_lwp_thread): Rewrite.
225 (struct lwp_info): New member "thread".
226
b3312d80
DE
2272014-02-19 Doug Evans <dje@google.com>
228
229 * linux-low.c (add_lwp): Change result to struct lwp_info *.
230 All callers updated.
231
ecc6f45c
DE
2322014-02-19 Doug Evans <dje@google.com>
233
234 * inferiors.c (add_thread): Fix whitespace.
235
649ebbca
DE
2362014-02-19 Doug Evans <dje@google.com>
237
238 * dll.c (clear_dlls): Replace accessing list implemention details
239 with API function.
240 * gdbthread.h (get_first_thread): Declare.
241 * inferiors.c (for_each_inferior_with_data): New function.
242 (get_first_thread): New function.
243 (find_thread_ptid): Simplify.
244 (get_first_inferior): New function.
245 (clear_list): Delete.
246 (one_inferior_p): New function.
247 (clear_inferior_list): New function.
248 (clear_inferiors): Update.
249 * inferiors.h (for_each_inferior_with_data): Declare.
250 (clear_inferior_list): Declare.
251 (one_inferior_p): Declare.
252 (get_first_inferior): Declare.
253 * linux-low.c (linux_wait_for_event): Replace accessing list
254 implemention details with API function.
255 * server.c (target_running): Ditto.
256 (accumulate_file_name_length): New function.
257 (emit_dll_description): New function.
258 (handle_qxfer_libraries): Replace accessing list implemention
259 details with API function.
260 (handle_qxfer_threads_worker): New function.
261 (handle_qxfer_threads_proper): Replace accessing list implemention
262 details with API function.
263 (handle_query): Ditto.
264 (visit_actioned_threads_callback_ftype): New typedef.
265 (visit_actioned_threads_data): New struct.
266 (visit_actioned_threads): Rewrite to be find_inferior callback.
267 (resume): Call find_inferior.
268 (handle_status): Replace accessing list implemention
269 details with API function.
270 (process_serial_event): Replace accessing list implemention details
271 with API function.
272 * target.c (set_desired_inferior): Replace accessing list implemention
273 details with API function.
274 * tracepoint.c (same_process_p): New function.
275 (gdb_agent_about_to_close): Replace accessing list implemention
276 details with API function.
277 * win32-low.c (child_delete_thread): Replace accessing list
278 implemention details with API function.
279 (match_dll_by_basename): New function.
280 (dll_is_loaded_by_basename): New function.
281 (win32_ensure_ntdll_loaded): Replace accessing list implemention
282 details call to dll_is_loaded_by_basename.
283
80894984
DE
2842014-02-19 Doug Evans <dje@google.com>
285
286 * dll.h (struct dll_info): Add comment.
287 * gdbthread.h (struct thread_info): Add comment.
288 (current_ptid): Simplify.
289 * inferiors.c (add_process): Update.
290 (remove_process): Update.
291 * inferiors.h (struct process_info): Rename member "head" to "entry".
292 * linux-low.c (delete_lwp): Update.
293 (add_lwp): Update.
294 (last_thread_of_process_p): Update.
295 (kill_one_lwp_callback, linux_kill): Update.
296 (status_pending_p_callback): Update.
297 (wait_for_sigstop): Update. Simplify read of ptid.
298 (start_step_over): Update.
299 * linux-low.h (ptid_of, pid_of, lwpid_of): Update.
300 (get_lwp_thread): Update.
301 (struct lwp_info): Rename member "head" to "entry".
302 * regcache.h (inferior_list_entry): Delete.
303 * server.c (kill_inferior_callback): Update.
304 (detach_or_kill_inferior_callback): Update.
305 (print_started_pid): Update.
306 (print_attached_pid): Update.
307 (process_serial_event): Simplify read of ptid.
308 * thread-db.c (thread_db_create_event): Update.
309 (thread_db_get_tls_address): Update.
310 * win32-low.c (current_inferior_ptid): Simplify.
311
46917d26
TT
3122014-02-19 Tom Tromey <tromey@redhat.com>
313
314 * target.h (struct target_ops) <supports_btrace>: Add target_ops
315 argument.
316 (target_supports_btrace): Update.
317
0759a81e
YQ
3182014-02-14 Yao Qi <yao@codesourcery.com>
319
320 * Makefile.in (IPA_OBJS): Append rsp-low-ipa.o.
321 (rsp-low-ipa.o): New target.
322
a7191e8b
TT
3232014-02-12 Tom Tromey <tromey@redhat.com>
324
325 * ax.c (gdb_parse_agent_expr): Use hex2bin, not
326 convert_ascii_to_int.
327 * regcache.c (registers_to_string): Likewise.
328 * remote-utils.c (decode_M_packet): Likewise.
329 * server.c (process_serial_event): Likewise.
330
ff0e980e
TT
3312014-02-12 Tom Tromey <tromey@redhat.com>
332
333 * server.c (handle_query, handle_v_run): Use hex2bin, not
334 unhexify.
335 * tracepoint.c (cmd_qtdpsrc, cmd_qtdv, cmd_qtnotes): Likewise.
336
e9371aff
TT
3372014-02-12 Tom Tromey <tromey@redhat.com>
338
339 * ax.c (gdb_unparse_agent_expr): Use bin2hex, not
340 convert_int_to_ascii.
341 * regcache.c (registers_to_string, collect_register_as_string):
342 Likewise.
343 * remote-utils.c (look_up_one_symbol, relocate_instruction):
344 Likewise.
345 * server.c (process_serial_event): Likewise.
346 * tracepoint.c (cmd_qtstatus, response_source, response_tsv)
347 (cmd_qtbuffer, cstr_to_hexstr): Likewise.
348
971dc0b8
TT
3492014-02-12 Tom Tromey <tromey@redhat.com>
350
351 * remote-utils.c (look_up_one_symbol, monitor_output): Use
352 bin2hex, not hexify.
353 * tracepoint.c (cmd_qtstatus): Likewise.
354
0a822afb
TT
3552014-02-12 Tom Tromey <tromey@redhat.com>
356
357 * remote-utils.c (monitor_output): Pass explicit length to
358 hexify.
359
9c3d6531
TT
3602014-02-12 Tom Tromey <tromey@redhat.com>
361
362 * tracepoint.c: Include rsp-low.h.
363 * server.c: Include rsp-low.h.
364 * remote-utils.h (convert_ascii_to_int, convert_int_to_ascii)
365 (unhexify, hexify, remote_escape_output, unpack_varlen_hex): Don't
366 declare.
367 * remote-utils.c: Include rsp-low.h.
368 (fromhex, hexchars, ishex, unhexify, tohex, hexify)
369 (remote_escape_output, remote_unescape_input, unpack_varlen_hex)
370 (convert_int_to_ascii, convert_ascii_to_int): Move to
371 common/rsp-low.c.
372 * regcache.c: Include rsp-low.h.
373 * ax.c: Include rsp-low.h.
374 * Makefile.in (SFILES): Add common/rsp-low.c.
375 (OBS): Add rsp-low.o.
376 (rsp-low.o): New target.
377
01fd3ea5
TT
3782014-02-12 Tom Tromey <tromey@redhat.com>
379
380 * utils.h (pulongest, plongest, phex_nz): Don't declare.
381 Include print-utils.h.
382 * utils.c (NUMCELLS, CELLSIZE, get_cell, decimal2str, pulongest)
383 (plongest, thirty_two, phex_nz): Remove.
384 * Makefile.in (SFILES): Add common/print-utils.c.
385 (OBS): Add print-utils.o.
386 (print-utils-ipa.o): New target.
387 (print-utils.o): New target.
388 (IPA_OBJS): Add print-utils-ipa.o.
389
e99dc820
TT
3902014-02-06 Tom Tromey <tromey@redhat.com>
391
392 * Makefile.in (SFILES): Fix indentation.
393
ee1e2d4f
DE
3942014-02-05 Doug Evans <dje@google.com>
395
396 * linux-low.c (linux_wait_for_event): Improve comment.
397 (linux_wait_1): Keep current_inferior in sync with event_child.
398
f5a02773
DE
3992014-01-22 Doug Evans <dje@google.com>
400
401 * gdbthread.h (gdb_id_to_thread): Delete, unused.
402
87ce2a04
DE
4032014-01-22 Doug Evans <dje@google.com>
404
405 * configure.ac (AC_CHECK_FUNCS): Add test for gettimeofday.
406 * configure: Regenerate.
407 * config.in: Regenerate.
408 * Makefile.in (SFILES): Add debug.c.
409 (OBS): Add debug.o.
410 * debug.c: New file.
411 * debug.h: New file.
412 * linux-aarch64-low.c (*): Update all debugging printfs to use
413 debug_printf instead of fprintf.
414 * linux-arm-low.c (*): Ditto.
415 * linux-cris-low.c (*): Ditto.
416 * linux-crisv32-low.c (*): Ditto.
417 * linux-m32r-low.c (*): Ditto.
418 * linux-sparc-low.c (*): Ditto.
419 * linux-x86.c (*): Ditto.
420 * linux-low.c (*): Ditto.
421 (linux_wait_1): Add calls to debug_enter, debug_exit.
422 (linux_wait): Remove redundant debugging printf.
423 (stop_all_lwps): Add calls to debug_enter, debug_exit.
424 (linux_resume, unstop_all_lwps): Ditto.
425 * mem-break.c (*): Update all debugging printfs to use
426 debug_printf instead of fprintf.
427 * remote-utils.c (*): Ditto.
428 * thread-db.c (*): Ditto.
429 * server.c #include <ctype.h>, "gdb_vecs.h".
430 (debug_threads): Moved to debug.c.
431 (*): Update all debugging printfs to use debug_printf instead of
432 fprintf.
433 (start_inferior): Replace call to fflush with call to debug_flush.
434 (monitor_show_help): Mention set debug-format.
435 (parse_debug_format_options): New function.
436 (handle_monitor_command): Handle "monitor set debug-format".
437 (gdbserver_usage): Mention --debug-format.
438 (main): Parse --debug-format.
439 * server.h (debug_threads): Declaration moved to debug.h.
440 #include "debug.h".
441 * tracepoint.c (trace_debug_1) [!IN_PROCESS_AGENT]: Add version of
442 trace_debug_1 that uses debug_printf.
443 (tracepoint_look_up_symbols): Update all debugging printfs to use
444 debug_printf instead of fprintf.
445
e671835b
BS
4462014-01-20 Baruch Siach <baruch@tkos.co.il>
447
448 * linux-xtensa-low.c: Include asm/ptrace.h instead of
449 sys/ptrace.h.
450
b5737fa9
PA
4512014-01-17 Pedro Alves <palves@redhat.com>
452
ea38d2a9 453 PR build/16445
c7faa97a
PA
454 * linux-x86-low.c: Don't include elf/common.h if ELFMAG0 is
455 defined after including gdb_proc_service.h.
b5737fa9 456
40ed484e
DE
4572014-01-16 Doug Evans <dje@google.com>
458
459 * dll.c (UNSPECIFIED_CORE_ADDR): New macro.
460 (match_dll): Use it.
461
969c39fb
MM
4622014-01-16 Markus Metzger <markus.t.metzger@intel.com>
463
464 * target.h (target_ops) <read_btrace>: Change parameters and
465 return type to allow error reporting.
466 * server.c (handle_qxfer_btrace): Support delta reads. Pass
467 trace reading errors on.
468 * linux-low.c (linux_low_read_btrace): Pass trace reading
469 errors on.
470 (linux_low_disable_btrace): New.
471
ab7f45ba
DE
4722014-01-15 Doug Evans <dje@google.com>
473
474 * inferiors.c (thread_id_to_gdb_id): Delete.
475 * inferiors.h (thread_id_to_gdb_id): Delete.
476
66af0f44
EZ
4772014-01-13 Eli Zaretskii <eliz@gnu.org>
478
479 * Makefile.in (INCLUDE_CFLAGS): Remove trailing slash from
480 "-I$(srcdir)/../". Fixes MinGW compilation errors with old GCC
481 versions.
482
9939e131
PA
4832014-01-08 Pedro Alves <palves@redhat.com>
484
485 * server.c (handle_status): Don't discard previous queued stop
486 replies or thread's pending status here.
487 (main) <disconnection>: Do it here instead.
488
b7ea362b
PA
4892014-01-08 Pedro Alves <palves@redhat.com>
490
491 * gdbthread.h (struct thread_info) <status_pending_p>: New field.
492 * server.c (visit_actioned_threads, handle_pending_status): New
493 function.
494 (handle_v_cont): Factor out parts to ...
495 (resume): ... this new function. If in all-stop, and a thread
496 being resumed has a pending status, report it without actually
497 resuming.
498 (myresume): Adjust to use the new 'resume' function.
499 (clear_pending_status_callback, set_pending_status_callback)
500 (find_status_pending_thread_callback): New functions.
501 (handle_status): Handle the case of multiple threads having
502 interesting statuses to report. Report threads' real last signal
503 instead of always reporting GDB_SIGNAL_TRAP. Look for a thread
504 with an interesting thread to report the status for, instead of
505 always reporting the status of the first thread.
506
28498c42
JB
5072014-01-01 Joel Brobecker <brobecker@adacore.com>
508
509 * gdbserver.c (gdbserver_version): Set copyright year to 2014.
510 * gdbreplay.c (gdbreplay_version): Likewise.
511
f45c82da
YZ
5122013-12-18 Yufeng Zhang <yufeng.zhang@arm.com>
513
514 * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Set
515 iov.iov_len with the real length in use.
516
379a5e2d
JB
5172013-12-13 Joel Brobecker <brobecker@adacore.com>
518
519 * Makefile.in (safe-ctype.o, lbasename.o): New rules.
520 * configure.srv: Add safe-ctype.o and lbasename.o to srv_tgtobj
521 for all targets that use win32-low.c.
522 * win32-low.c (win32_ensure_ntdll_loaded): New function.
523 (do_initial_child_stuff): Add call to win32_ensure_ntdll_loaded.
524
4210d83e
PA
5252013-12-13 Pedro Alves <palves@redhat.com>
526
527 * target.c (mywait): Set OURSTATUS->KIND to TARGET_WAITKIND_STOPPED
528 if equal to TARGET_WAITKIND_LOADED.
529 * win32-low.c (cached_status): New static global.
530 (win32_wait): Add declaration.
531 (do_initial_child_stuff): Flush all initial pending debug events
532 up to the initial breakpoint.
533 (win32_wait): If CACHED_STATUS was set, return that instead
534 of doing a real wait. Remove the code resuming the execution
535 of the inferior after receiving a TARGET_WAITKIND_LOADED event
536 during the initial phase. Also remove the code changing
537 OURSTATUS->KIND from TARGET_WAITKIND_LOADED to
538 TARGET_WAITKIND_STOPPED.
539
e7f0d979
YQ
5402013-12-11 Yao Qi <yao@codesourcery.com>
541
542 * notif.c (handle_notif_ack): Return 0 if no notification
543 matches.
544
ebcf782c
DE
5452013-11-20 Doug Evans <dje@google.com>
546
547 * linux-low.c (linux_set_resume_request): Fix comment.
548
20ad9378
DE
5492013-11-20 Doug Evans <dje@google.com>
550
551 * linux-low.c (resume_status_pending_p): Tweak comment.
552
a196ebeb
WT
5532013-11-20 Walfred Tedeschi <walfred.tedeschi@intel.com>
554
555 * Makefile.in: Add i386-mpx.c, i386-mpx-linux.c, amd64-mpx.c,
556 amd64-mpx-linux.c, x32-mpx.c and x32-mpx-linux.c generation.
557 * configure.srv (srv_i386_regobj): Add i386-mpx.o.
558 (srv_i386_linux_regobj): Add i386-mpx-linux.o.
559 (srv_amd64_regobj): Add amd64-mpx.o.
560 (srv_amd64_linux_regobj): Add amd64-mpx-linux.o.
561 (srv_i386_32bit_xmlfiles): Add i386/32bit-mpx.xml.
562 (srv_i386_64bit_xmlfiles): Add i386/64bit-mpx.xml.
563 * i387-fp.c (num_pl_bnd_register) Added constant.
564 (num_pl_bnd_cfg_registers) Added constant.
565 (struct i387_xsave) Added reserved area and MPX fields.
566 (i387_cache_to_xsave, i387_xsave_to_cache) Add MPX.
567 * linux-x86-low.c (init_registers_i386_mpx_linux): Declare new
568 function.
569 (tdesc_i386_mpx_linux): Add MPX amd64 target.
570 (init_registers_amd64_mpx_linux): Declare new function.
571 (tdesc_amd64_mpx_linux): Add MPX amd64 target.
572 (x86_64_regmap): Add MPX registers.
573 (x86_linux_read_description): Add MPX case.
574 (initialize_low_arch): Initialize MPX targets.
575
0080a2f6
TT
5762013-11-18 Tom Tromey <tromey@redhat.com>
577
578 * configure: Rebuild.
579 * configure.ac: Don't check for stdlib.h.
580 * gdbreplay.c: Unconditionally include stdlib.h.
581
2978b111
TT
5822013-11-18 Tom Tromey <tromey@redhat.com>
583
584 * config.in: Rebuild.
585 * configure: Rebuild.
586 * configure.ac: Don't use AC_HEADER_DIRENT.
587
a3d08894
TT
5882013-11-18 Tom Tromey <tromey@redhat.com>
589
590 * server.h: Don't check HAVE_STRING_H.
591 * gdbreplay.c: Don't check HAVE_STRING_H.
592 * configure: Rebuild.
593
0a5dd17d
TT
5942013-11-18 Tom Tromey <tromey@redhat.com>
595
596 * Makefile.in (gdbreplay$(EXEEXT)): Depend on and link against
597 LIBGNU.
598
1bd2f0ba
TT
5992013-11-08 Tom Tromey <tromey@redhat.com>
600
601 * configure, config.in: Rebuild.
602 * configure.ac: Remove unused configury.
603
3266f10b
TT
6042013-11-08 Tom Tromey <tromey@redhat.com>
605
606 * acinclude.m4: Include common.m4, codeset.m4.
607 * configure, config.in: Rebuild.
608 * configure.ac: Use GDB_AC_COMMON.
609
6682d959
AA
6102013-11-06 Andreas Arnez <arnez@linux.vnet.ibm.com>
611
612 * linux-s390-low.c (HWCAP_S390_TE): New define.
613 (s390_arch_setup): Consider the TE field in the HWCAP for
614 determining 'have_regset_tdb'.
615
fd0a4d76
SDJ
6162013-10-16 Sergio Durigan Junior <sergiodj@redhat.com>
617
618 PR gdb/16014
619 * tracepoint.c (download_tracepoint_1): Remove unnecessary double
620 call to sizeof.
621
1a3d890b
PA
6222013-10-02 Pedro Alves <palves@redhat.com>
623
624 * server.c (process_serial_event): Don't output "GDBserver
625 exiting" if GDB is connected through stdio.
626 * target.c (mywait): Likewise, be silent if GDB is connected
627 through stdio.
628
97ad4581
JB
6292013-10-01 Joel Brobecker <brobecker@adacore.com>
630
631 * lynx-low.c (lynx_add_threads_after_attach): New function.
632 (lynx_attach): Remove call to add_thread. Add call to
633 lynx_add_threads_after_attach instead.
634
5b4e221c
MF
6352013-09-28 Mike Frysinger <vapier@gentoo.org>
636
637 * configure.ac (AC_CHECK_HEADERS): Add sys/syscall.h
638 * config.in, configure: Regenerated.
639
ee47b2f8
YQ
6402013-09-18 Yao Qi <yao@codesourcery.com>
641
642 PR server/15959
643 * server.c (start_inferior): Clear 'resume_info'.
644
d6707650 6452013-09-16 Jiong Wang <jiwang@tilera.com>
0f63d4db 646
d6707650
JW
647 * linux-tile-low.c (tile_regsets): Modify the size field to 64-bit
648 for each register.
649
9243dd0e 6502013-09-16 Jiong Wang <jiwang@tilera.com>
0f63d4db 651
9243dd0e
JW
652 * configure.srv <tilegx*-*-linux*>: Remove linux-osdata.o from and add
653 linux-tile-low.o to srv_tgtobj.
654
c623a6ef
WN
6552013-09-16 Will Newton <will.newton@linaro.org>
656
657 * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Zero
658 out regs.
659
fb71d39e
PA
6602013-09-06 Pedro Alves <palves@redhat.com>
661
662 * Makefile.in (gdb_proc_service_h, regdef_h, regcache_h)
663 (signals_def, signals_h, ptid_h, ax_h, agent_h, linux_btrace_h)
664 (linux_osdata_h, vec_h, gdb_vecs_h, host_defs_h, libiberty_h)
665 (server_h, gdbthread_h, linux_low_h, linux_ptrace_h)
666 (gdb_thread_db_h, linux_procfs_h, lynx_low_h, nto_low_h)
667 (mips_linux_watch_h, i386_low_h, win32_low_h): Delete.
668
8e7e9910
PA
6692013-09-06 Pedro Alves <palves@redhat.com>
670
671 * Makefile.in (linux-btrace.o, mips-linux-watch.o): Remove
672 explicit header dependencies and use $COMPILE/$POSTCOMPILE.
673
7c3a12ca
PA
6742013-09-06 Pedro Alves <palves@redhat.com>
675
676 * linux-amd64-ipa.c: Include tracepoint.h.
677 * linux-i386-ipa.c: Include tracepoint.h.
678
8eb3d7b6
RW
6792013-09-06 Ricard Wanderlof <ricardw@axis.com>
680
681 * linux-crisv32-low.c (PTRACE_GET_THREAD_AREA): New macro.
682 (ps_get_thread_area): New function.
683
eddddb9d
RW
6842013-09-06 Ricard Wanderlof <ricardw@axis.com>
685
686 * linux-crisv32-low.c (elf_gregset_t): Delete typedef.
687 (initialize_low_arch): Call init_registers_crisv32 rather than
688 init_register_crisv32.
689
533b0600
PA
6902013-09-05 Pedro Alves <palves@redhat.com>
691
692 * server.h (handle_vFile, hostio_last_error_from_errno): Move
693 to ...
694 * hostio.h: ... this new file.
695 * hostio.c, server.c, linux-low.c, nto-low.c, spu-low,
696 win32-low.c: Include hostio.h.
697
0ce3d3b5
PA
6982013-09-05 Pedro Alves <palves@redhat.com>
699
700 * server.h (gdb_client_data, handler_func, callback_handler_func)
701 (delete_file_handler, add_file_handler, append_callback_event)
702 (delete_callback_event, start_event_loop, initialize_event_loop):
703 Move to event-loop.h and include it.
704 * event-loop.h: New file.
705
799cdc37
PA
7062013-09-05 Pedro Alves <palves@redhat.com>
707
708 * dll.c, inferiors.c, remote-utils.c, server.c: Include "dll.h".
709 * server.h (struct dll_info, all_dlls, dlls_changed, clear_dlls)
710 (loaded_dll, unloaded_dll): Move to ...
711 * dll.h: ... this new file.
712 * inferiors.c, remote-utils.c, win32-low.c: Include "dll.h".
713
6a6bbd9d
PA
7142013-09-05 Pedro Alves <palves@redhat.com>
715
716 * server.h (current_process, get_thread_process, all_processes)
717 (add_inferior_to_list, for_each_inferior, current_inferior)
718 (remove_inferior, add_process, remove_process, find_process_pid)
719 (have_started_inferiors_p, have_attached_inferiors_p)
720 (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id)
721 (clear_inferiors, find_inferior, find_inferior_id)
722 (inferior_target_data, set_inferior_target_data)
723 (inferior_regcache_data, set_inferior_regcache_data): Move to
724 inferiors.h, and include it.
725 * inferiors.h: New file.
726
f699aaba
PA
7272013-09-05 Pedro Alves <palves@redhat.com>
728
729 * server.h (struct emit_ops, current_insn_ptr, emit_error):
730 Move ...
731 * ax.h: ... here.
732
c144c7a0
PA
7332013-09-05 Pedro Alves <palves@redhat.com>
734
735 * ax.c, linux-low.c, linux-x86-low.c, server.c: Include
736 tracepoint.h.
737 * server.h (IPA_BUFSIZ, initialize_tracepoint, tracing)
738 (disconnected_tracing, tracepoint_look_up_symbols, stop_tracing
739 (handle_tracepoint_general_set, handle_tracepoint_query)
740 (tracepoint_finished_step, tracepoint_was_hit)
741 (release_while_stepping_state_list, current_traceframe)
742 (in_readonly_region, traceframe_read_mem)
743 (fetch_traceframe_registers, traceframe_read_sdata)
744 (traceframe_read_info, struct fast_tpoint_collect_status)
745 (fast_tracepoint_collecting, force_unlock_trace_buffer)
746 (handle_tracepoit_bkpts, initialize_low_tracepoint)
747 (supply_fast_tracepoint_registers)
748 (supply_static_tracepoint_registers, set_trampoline_buffer_space)
749 (ipa_tdesc, claim_trampoline_space)
750 (have_fast_tracepoint_trampoline_buffer, gdb_agent_about_to_close)
751 (agent_mem_read, agent_get_trace_state_variable_value)
752 (agent_set_trace_state_variable_value, agent_tsv_read)
753 (agent_mem_read_string, get_raw_reg_func_addr)
754 (get_get_tsv_func_addr, get_set_tsv_func_addr): Move to ...
755 * tracepoint.h: ... this new file.
756
ff42e6ab
PA
7572013-09-05 Pedro Alves <palves@redhat.com>
758
759 * server.h (perror_with_name, error, fatal, warning, paddress)
760 (pulongest, plongest, phex_nz, pfildes): Move to utils.h, and
761 include it.
762 * utils.h: New file.
763
541af0f4
PA
7642013-09-05 Pedro Alves <palves@redhat.com>
765
766 * server.h (remote_debug, noack_mode, transport_is_reliable)
767 (gdb_connected, STDIO_CONNECTION_NAME, remote_connection_is_stdio)
768 (read_ptid, write_ptid, putpkt, putpkt_binary, putpkt_notif)
769 (getpkt, remote_prepare, remote_open, remote_close, write_ok)
770 (write_enn, initialize_async_io, enable_async_io)
771 (disable_async_io, check_remote_input_interrupt_request)
772 (convert_ascii_to_int, convert_int_to_ascii, new_thread_notify)
773 (dead_thread_notify, prepare_resume_reply)
774 (decode_address_to_semicolon, decode_address, decode_m_packet)
775 (decode_M_packet, decode_X_packet, decode_xfer_write)
776 (decode_search_memory_packet, unhexify, hexify)
777 (remote_escape_output, unpack_varlen_hex, clear_symbol_cache)
778 (look_up_one_symbol, relocate_instruction)
779 (monitor_output): Move to remote-utils.h, and include it.
780 * remote-utils.h: New file.
781
eebdf26b
PA
7822013-09-05 Pedro Alves <palves@redhat.com>
783
784 * server.h (_): Delete.
785
3aafd2ff
PA
7862013-09-02 Pedro Alves <palves@redhat.com>
787
788 * tracepoint.c (TRACEFRAME_EOB_MARKER_SIZE): New macro.
789 (init_trace_buffer): Ensure at least TRACEFRAME_EOB_MARKER_SIZE is
790 allocated.
791 (trace_buffer_alloc): Use TRACEFRAME_EOB_MARKER_SIZE.
792
cee83bcb
PM
7932013-09-02 Pierre Muller <muller@sourceware.org>
794
795 * win32-low.c (child_xfer_memory): Check if ReadProcessMemory
796 or WriteProcessMemory complete successfully and handle
797 ERROR_PARTIAL_COPY error.
798
9a13b2fa
PA
7992013-09-02 Pedro Alves <palves@redhat.com>
800
801 * server.c (gdb_read_memory): Return -1 on traceframe memory read
802 error instead of EIO.
803
602e3198
JK
8042013-08-28 Jan Kratochvil <jan.kratochvil@redhat.com>
805
806 PR server/15604
807 * linux-low.c: Include filestuff.h.
808 (linux_create_inferior) <pid == 0>: Call close_most_fds.
809 * lynx-low.c: Include filestuff.h.
810 (lynx_create_inferior) <pid == 0>: Call close_most_fds.
811 * server.c: Include filestuff.h.
812 (main): Call notice_open_fds.
813 * spu-low.c: Include filestuff.h.
814 (spu_create_inferior) <pid == 0>: Call close_most_fds.
815
96d7229d
LM
8162013-08-22 Luis Machado <lgustavo@codesourcery.com>
817
818 * Makefile.in: Explain why ../target and ../nat are not
819 listed as include file search paths.
820 (linux-waitpid.o): New object file rule.
821 * configure.srv (srv_native_linux_obj): New variable.
822 Replace all occurrences of linux native object files with
823 $srv_native_linux_obj.
824 * linux-low.c: Include nat/linux-nat.h and nat/linux-waitpid.h.
825 (HAS_NOMMU): Move defining logic to common/linux-ptrace.c.
826 (linux_enable_event_reporting): Remove declaration.
827 (my_waitpid): Moved to common/linux-waitpid.c.
828 (linux_wait_for_event): Pass ptid when calling
829 linux_enable_event_reporting.
830 (linux_supports_tracefork_flag): Remove.
831 (linux_enable_event_reporting): Likewise.
832 (linux_tracefork_grandchild): Remove.
833 (STACK_SIZE): Moved to common/linux-ptrace.c.
834 (linux_tracefork_child): Remove.
835 (linux_test_for_tracefork): Remove.
836 (linux_look_up_symbols): Call linux_supports_traceclone.
837 (initialize_low): Remove call to linux_test_for_tracefork.
838 * linux-low.h (PTRACE_TYPE_ARG3): Move to
839 common/linux-ptrace.h.
840 (PTRACE_TYPE_ARG4): Likewise.
841 Include linux-ptrace.h.
842
32940073
PA
8432013-08-21 Pedro Alves <palves@redhat.com>
844
845 * config.in: Renegerate.
846
33b60d58 8472013-08-19 Luis Machado <lgustavo@codesourcery.com>
a261b8f5 848
33b60d58
LM
849 * Makefile.in (INCLUDE_CFLAGS): Include -I$(srcdir)/../.
850 (SFILES): Remove $(srcdir)/common/target-common.c and
851 add $(srcdir)/target/waitstatus.c.
852 (OBS): Remove target-common.o and add waitstatus.o.
853 (server_h): Remove $(srcdir)/../common/target-common.h and
854 add $(srcdir)/../target/resume.h, $(srcdir)/../target/wait.h
855 and $(srcdir)/../target/waitstatus.h.
856 (target-common.o): Remove.
857 (waitstatus.o): New target object file.
858 * target.h: Do not include target-common.h and
859 include target/resume.h, target/wait.h and
860 target/waitstatus.h.
861
b8e1b30e
LM
8622013-08-13 Luis Machado <lgustavo@codesourcery.com>
863
864 * linux-arm-low.c: Rename all occurrences of PTRACE_ARG3_TYPE
865 to PTRACE_TYPE_ARG3.
866 * linux-low.c: Rename all occurrences of PTRACE_ARG3_TYPE
867 to PTRACE_TYPE_ARG3 and PTRACE_ARG4_TYPE to
868 PTRACE_TYPE_ARG4.
869 * linux-low.h (PTRACE_ARG3_TYPE): Rename to PTRACE_TYPE_ARG3.
870 (PTRACE_ARG4_TYPE): Rename to PTRACE_TYPE_ARG4.
871
7a60ad40
YQ
8722013-07-27 Jie Zhang <jie@codesourcery.com>
873 Daniel Jacobowitz <dan@codesourcery.com>
874 Yao Qi <yao@codesourcery.com>
875
876 * Makefile.in (SFILES): Add common/mips-linux-watch.c.
877 (mips-linux-watch.o): New rule.
878 (mips_linux_watch_h): New variable.
879 * configure.srv <mips*-*-linux*>: Add mips-linux-watch.o to
880 srv_tgtobj.
881 * linux-mips-low.c: Include mips-linux-watch.h.
882 (struct arch_process_info, struct arch_lwp_info): New.
883 (update_watch_registers_callback): New function.
884 (mips_linux_new_process, mips_linux_new_thread) New functions.
885 (mips_linux_prepare_to_resume, mips_insert_point): New
886 functions.
887 (mips_remove_point, mips_stopped_by_watchpoint): New
888 functions.
889 (rsp_bp_type_to_target_hw_bp_type): New function.
890 (mips_stopped_data_address): New function.
891 (the_low_target): Add watchpoint support functions.
892
de6f69ad
YQ
8932013-07-27 Yao Qi <yao@codesourcery.com>
894
895 * i386-low.c: Include break-common.h.
896 (enum target_hw_bp_type): Remove.
897
3360c0bf
LM
8982013-07-24 Luis Machado <lgustavo@codesourcery.com>
899
900 * Makefile.in (SFILES): /common/target-common.c.
901 (OBS): Add target-common.o.
902 (server_h): Add $(srcdir)/../common/target-common.h.
903 (target-common.o): New target.
904 * server.c (queue_stop_reply_callback): Free
905 status string after use.
906 * target.c (target_waitstatus_to_string): Remove.
907 * target.h: Include target-common.h.
908 (resume_kind): Likewise.
909 (target_waitkind): Likewise.
910 (target_waitstatus): Likewise.
911 (TARGET_WNOHANG): Likewise.
912
bd885420
YQ
9132013-07-04 Yao Qi <yao@codesourcery.com>
914
915 * Makefile.in (host_alias): Use @host_noncanonical@.
916 (target_alias): Use @target_noncanonical@.
917 * configure.ac: Use ACX_NONCANONICAL_TARGET and
918 ACX_NONCANONICAL_HOST.
919 * configure: Regenerated.
920
921 Revert:
922 2013-06-28 Mircea Gherzan <mircea.gherzan@intel.com>
923
924 * configure.ac (version_host, version_target): Set and AC_SUBST them.
925 * configure: Rebuild.
926 * Makefile.in (version_host, version_target): Get from configure.
927 (version.c): Use $(version_host) and $(version_target).
928
17ef446e
PA
9292013-07-03 Pedro Alves <palves@redhat.com>
930
931 * Makefile.in (config.status): Depend on development.sh.
932 * acinclude.m4: Include libmcheck.m4.
933 * configure: Regenerate.
934
7a9a7487
MG
9352013-07-02 Mircea Gherzan <mircea.gherzan@intel.com>
936
937 * win32-low.c (winapi_DebugActiveProcessStop): Move the WINAPI
938 attribute inside the parentheses.
939 (winapi_DebugSetProcessKillOnExit): Ditto.
940 (winapi_DebugBreakProcess): Ditto.
941 (winapi_GenerateConsoleCtrlEvent): Ditto.
a261b8f5 942
49b64de6
MG
9432013-07-02 Mircea Gherzan <mircea.gherzan@intel.com>
944
945 * notif.h (notif_event): Add a dummy member to avoid compiler
946 errors.
947
d5749ee7
PA
9482013-07-01 Pedro Alves <palves@redhat.com>
949
950 * hostio.c (HOSTIO_PATH_MAX): Define.
951 (require_filename, handle_open, handle_unlink, handle_readlink):
952 Use it.
953
d8d2a3ee
PA
9542013-07-01 Pedro Alves <palves@redhat.com>
955
956 * server.h: Include "pathmax.h".
957 * linux-low.c: Don't include sys/param.h.
958 (linux_pid_exe_is_elf_64_file): Use PATH_MAX instead of
959 MAXPATHLEN.
960 * win32-low.c: Don't include sys/param.h.
961 (win32_create_inferior): Use PATH_MAX instead of MAXPATHLEN.
962
bc7dea8d
PA
9632013-07-01 Pedro Alves <palves@redhat.com>
964
965 * event-loop.c: Don't check HAVE_UNISTD_H before including
966 <unistd.h>.
967 * gdbreplay.c: Likewise.
968 * remote-utils.c: Likewise.
969 * server.c: Likewise.
970 * configure.ac: Don't check for unistd.h.
971 * configure: Regenerate.
972
d6c2da54
TT
9732013-06-28 Tom Tromey <tromey@redhat.com>
974
975 * Makefile.in (version.c): Use version.in, not
976 common/version.in.
977
257b6bec
MG
9782013-06-28 Mircea Gherzan <mircea.gherzan@intel.com>
979
980 * configure.ac (version_host, version_target): Set and AC_SUBST them.
981 * configure: Rebuild.
982 * Makefile.in (version_host, version_target): Get from configure.
983 (version.c): Use $(version_host) and $(version_target).
984
86ebe149
DK
9852013-06-10 Dmitry Kozlov <ddk@codesourcery.com>
986
987 Fix trace-status to output user name without trailing colon.
988 * tracepoint.c (cmd_qtstatus): Remove unnecessary colon from user name.
989
f30aa5af
DK
9902013-06-10 Dmitry Kozlov <ddk@codesourcery.com>
991
992 Fix trace-status to output proper start-time and stop-time.
993 * tracepoint.c (cmd_qtstatus): Modify trace-status output to
994 output start time and stop time in hex as gdb expects.
995
28a93511
YQ
9962013-06-26 Pedro Alves <pedro@codesourcery.com>
997
998 * tracepoint.c (build_traceframe_info_xml): Output trace state
999 variables present in the trace buffer.
1000
01208463
TT
10012013-06-24 Tom Tromey <tromey@redhat.com>
1002
1003 * Makefile.in (version.c): Use bfd/version.h, common/version.in,
1004 create-version.sh.
1005 (version.o): Remove.
1006 * gdbreplay.c: Include version.h.
1007 (version, host_name): Don't declare.
1008 * server.h: Include version.h.
1009 (version, host_name): Don't declare.
1010
760256f9
PA
10112013-06-12 Pedro Alves <palves@redhat.com>
1012
1013 * linux-x86-low.c (linux_is_elf64): Delete global.
1014 (x86_siginfo_fixup): Replace reference to `linux_is_elf64' global
1015 with local linux_pid_exe_is_elf_64_file use.
1016
030031ee
PA
10172013-06-11 Pedro Alves <palves@redhat.com>
1018
1019 * linux-low.c (regset_disabled, disable_regset): New functions.
1020 (regsets_fetch_inferior_registers)
1021 (regsets_store_inferior_registers): Use them.
1022 (initialize_regsets_info); Don't allocate the disabled_regsets
1023 array here.
1024 * linux-low.h (struct regsets_info) <disabled_regsets>: Extend
1025 comment.
1026
5da6eb0a
PA
10272013-06-11 Pedro Alves <palves@redhat.com>
1028
1029 * linux-low.c (initialize_regsets_info): Use xcalloc instead of
1030 xmalloc.
1031
7e5aaa09
PA
10322013-06-11 Pedro Alves <palves@redhat.com>
1033
1034 * linux-x86-low.c (initialize_low_arch): Call
1035 init_registers_x32_avx_linux.
1036
d878444c
JK
10372013-06-09 Jan Kratochvil <jan.kratochvil@redhat.com>
1038
1039 Fix compatibility with Android Bionic.
1040 * linux-low.c (linux_qxfer_libraries_svr4): Ignore first entry even if
1041 it is not empty.
1042
3aee8918
PA
10432013-06-07 Pedro Alves <palves@redhat.com>
1044
5f2b57b5 1045 PR server/14823
3aee8918
PA
1046 * Makefile.in (OBS): Add tdesc.o.
1047 (IPA_OBJS): Add tdesc-ipa.o.
1048 (tdesc-ipa.o): New rule.
1049 * ax.c (gdb_eval_agent_expr): Adjust register_size call to new
1050 interface.
1051 * linux-low.c (new_inferior): Delete.
1052 (disabled_regsets, num_regsets): Delete.
1053 (linux_add_process): Adjust to set the new per-process
1054 new_inferior flag.
1055 (linux_detach_one_lwp): Adjust to call regcache_invalidate_thread.
1056 (linux_wait_for_lwp): Adjust. Only call arch_setup if the event
1057 was a stop. When calling arch_setup, switch the current inferior
1058 to the thread that got an event.
1059 (linux_resume_one_lwp): Adjust to call regcache_invalidate_thread.
1060 (regsets_fetch_inferior_registers)
1061 (regsets_store_inferior_registers): New regsets_info parameter.
1062 Adjust to use it.
1063 (linux_register_in_regsets): New regs_info parameter. Adjust to
1064 use it.
1065 (register_addr, fetch_register, store_register): New usrregs_info
1066 parameter. Adjust to use it.
1067 (usr_fetch_inferior_registers, usr_store_inferior_registers): New
1068 parameter regs_info. Adjust to use it.
1069 (linux_fetch_registers): Get the current inferior's regs_info, and
1070 adjust to use it.
1071 (linux_store_registers): Ditto.
1072 [HAVE_LINUX_REGSETS] (initialize_regsets_info): New.
1073 (initialize_low): Don't initialize the target_regsets here. Call
1074 initialize_low_arch.
1075 * linux-low.h (target_regsets): Delete declaration.
1076 (struct regsets_info): New.
1077 (struct usrregs_info): New.
1078 (struct regs_info): New.
1079 (struct process_info_private) <new_inferior>: New field.
1080 (struct linux_target_ops): Delete the num_regs, regmap, and
1081 regset_bitmap fields. New field regs_info.
1082 [HAVE_LINUX_REGSETS] (initialize_regsets_info): Declare.
1083 * i387-fp.c (num_xmm_registers): Delete.
1084 (i387_cache_to_fsave, i387_fsave_to_cache): Adjust find_regno
1085 calls to new interface.
1086 (i387_cache_to_fxsave, i387_cache_to_xsave, i387_fxsave_to_cache)
1087 (i387_xsave_to_cache): Adjust find_regno calls to new interface.
1088 Infer the number of xmm registers from the regcache's target
1089 description.
1090 * i387-fp.h (num_xmm_registers): Delete.
1091 * inferiors.c (add_thread): Don't install the thread's regcache
1092 here.
1093 * proc-service.c (gregset_info): Fetch the current inferior's
1094 regs_info. Adjust to use it.
1095 * regcache.c: Include tdesc.h.
1096 (register_bytes, reg_defs, num_registers)
1097 (gdbserver_expedite_regs): Delete.
1098 (get_thread_regcache): If the thread doesn't have a regcache yet,
1099 create one, instead of aborting gdbserver.
1100 (regcache_invalidate_one): Rename to ...
1101 (regcache_invalidate_thread): ... this.
1102 (regcache_invalidate_one): New.
1103 (regcache_invalidate): Only invalidate registers of the current
1104 process.
1105 (init_register_cache): Add target_desc parameter, and use it.
1106 (new_register_cache): Ditto. Assert the target description has a
1107 non zero registers_size.
1108 (regcache_cpy): Add assertions. Adjust.
1109 (realloc_register_cache, set_register_cache): Delete.
1110 (registers_to_string, registers_from_string): Adjust.
1111 (find_register_by_name, find_regno, find_register_by_number)
1112 (register_cache_size): Add target_desc parameter, and use it.
1113 (free_register_cache_thread, free_register_cache_thread_one)
1114 (regcache_release, register_cache_size): New.
1115 (register_size): Add target_desc parameter, and use it.
1116 (register_data, supply_register, supply_register_zeroed)
1117 (supply_regblock, supply_register_by_name, collect_register)
1118 (collect_register_as_string, collect_register_by_name): Adjust.
1119 * regcache.h (struct target_desc): Forward declare.
1120 (struct regcache) <tdesc>: New field.
1121 (init_register_cache, new_register_cache): Add target_desc
1122 parameter.
1123 (regcache_invalidate_thread): Declare.
1124 (regcache_invalidate_one): Delete declaration.
1125 (regcache_release): Declare.
1126 (find_register_by_number, register_cache_size, register_size)
1127 (find_regno): Add target_desc parameter.
1128 (gdbserver_expedite_regs, gdbserver_xmltarget): Delete
1129 declarations.
1130 * remote-utils.c: Include tdesc.h.
1131 (outreg, prepare_resume_reply): Adjust.
1132 * server.c: Include tdesc.h.
1133 (gdbserver_xmltarget): Delete declaration.
1134 (get_features_xml, process_serial_event): Adjust.
1135 * server.h [IN_PROCESS_AGENT] (struct target_desc): Forward
1136 declare.
1137 (struct process_info) <tdesc>: New field.
1138 (ipa_tdesc): Declare.
1139 * tdesc.c: New file.
1140 * tdesc.h: New file.
1141 * tracepoint.c: Include tdesc.h.
1142 [IN_PROCESS_AGENT] (ipa_tdesc): Define.
1143 (get_context_regcache): Adjust to pass ipa_tdesc down.
1144 (do_action_at_tracepoint): Adjust to get the register cache size
1145 from the context regcache's description.
1146 (traceframe_walk_blocks): Adjust to get the register cache size
1147 from the current trace frame's description.
1148 (traceframe_get_pc): Adjust to get current trace frame's
1149 description and pass it down.
1150 (gdb_collect): Adjust to get the register cache size from the
1151 IPA's description.
1152 * linux-amd64-ipa.c (tdesc_amd64_linux): Declare.
1153 (gdbserver_xmltarget): Delete.
1154 (initialize_low_tracepoint): Set the ipa's target description.
1155 * linux-i386-ipa.c (tdesc_i386_linux): Declare.
1156 (initialize_low_tracepoint): Set the ipa's target description.
1157 * linux-x86-low.c: Include tdesc.h.
1158 [__x86_64__] (is_64bit_tdesc): New.
1159 (ps_get_thread_area, x86_get_thread_area): Use it.
1160 (i386_cannot_store_register): Rename to ...
1161 (x86_cannot_store_register): ... this. Use is_64bit_tdesc.
1162 (i386_cannot_fetch_register): Rename to ...
1163 (x86_cannot_fetch_register): ... this. Use is_64bit_tdesc.
1164 (x86_fill_gregset, x86_store_gregset): Adjust register_size calls
1165 to new interface.
1166 (target_regsets): Rename to ...
1167 (x86_regsets): ... this.
1168 (x86_get_pc, x86_set_pc): Adjust register_size calls to new
1169 interface.
1170 (x86_siginfo_fixup): Use is_64bit_tdesc.
1171 [__x86_64__] (tdesc_amd64_linux, tdesc_amd64_avx_linux)
1172 (tdesc_x32_avx_linux, tdesc_x32_linux)
1173 (tdesc_i386_linux, tdesc_i386_mmx_linux, tdesc_i386_avx_linux):
1174 Declare.
1175 (x86_linux_update_xmltarget): Delete.
1176 (I386_LINUX_XSAVE_XCR0_OFFSET): Define.
1177 (have_ptrace_getfpxregs, have_ptrace_getregset): New.
1178 (AMD64_LINUX_USER64_CS): New.
1179 (x86_linux_read_description): New, based on
1180 x86_linux_update_xmltarget.
1181 (same_process_callback): New.
1182 (x86_arch_setup_process_callback): New.
1183 (x86_linux_update_xmltarget): New.
1184 (x86_regsets_info): New.
1185 (amd64_linux_regs_info): New.
1186 (i386_linux_usrregs_info): New.
1187 (i386_linux_regs_info): New.
1188 (x86_linux_regs_info): New.
1189 (x86_arch_setup): Reimplement.
1190 (x86_install_fast_tracepoint_jump_pad): Use is_64bit_tdesc.
1191 (x86_emit_ops): Ditto.
1192 (the_low_target): Adjust. Install x86_linux_regs_info,
1193 x86_cannot_fetch_register, and x86_cannot_store_register.
1194 (initialize_low_arch): New.
1195 * linux-ia64-low.c (tdesc_ia64): Declare.
1196 (ia64_fetch_register): Adjust.
1197 (ia64_usrregs_info, regs_info): New globals.
1198 (ia64_regs_info): New function.
1199 (the_low_target): Adjust.
1200 (initialize_low_arch): New function.
1201 * linux-sparc-low.c (tdesc_sparc64): Declare.
1202 (sparc_fill_gregset_to_stack, sparc_store_gregset_from_stack):
1203 Adjust.
1204 (sparc_arch_setup): New function.
1205 (sparc_regsets_info, sparc_usrregs_info, regs_info): New globals.
1206 (the_low_target): Adjust.
1207 (initialize_low_arch): New function.
1208 * linux-ppc-low.c (tdesc_powerpc_32l, tdesc_powerpc_altivec32l)
1209 (tdesc_powerpc_cell32l, tdesc_powerpc_vsx32l)
1210 (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_altivec32l)
1211 (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_e500l)
1212 (tdesc_powerpc_64l, tdesc_powerpc_altivec64l)
1213 (tdesc_powerpc_cell64l, tdesc_powerpc_vsx64l)
1214 (tdesc_powerpc_isa205_64l, tdesc_powerpc_isa205_altivec64l)
1215 (tdesc_powerpc_isa205_vsx64l): Declare.
1216 (ppc_cannot_store_register, ppc_collect_ptrace_register)
1217 (ppc_supply_ptrace_register, parse_spufs_run, ppc_get_pc)
1218 (ppc_set_pc, ppc_get_hwcap): Adjust.
1219 (ppc_usrregs_info): Forward declare.
1220 (!__powerpc64__) ppc_regmap_adjusted: New global.
1221 (ppc_arch_setup): Adjust to the current process'es target
1222 description.
1223 (ppc_fill_vsxregset, ppc_store_vsxregset, ppc_fill_vrregset)
1224 (ppc_store_vrregset, ppc_fill_evrregset, ppc_store_evrregse)
1225 (ppc_store_evrregset): Adjust.
1226 (target_regsets): Rename to ...
1227 (ppc_regsets): ... this, and make static.
1228 (ppc_usrregs_info, ppc_regsets_info, regs_info): New globals.
1229 (ppc_regs_info): New function.
1230 (the_low_target): Adjust.
1231 (initialize_low_arch): New function.
1232 * linux-s390-low.c (tdesc_s390_linux32, tdesc_s390_linux32v1)
1233 (tdesc_s390_linux32v2, tdesc_s390_linux64, tdesc_s390_linux64v1)
1234 (tdesc_s390_linux64v2, tdesc_s390x_linux64, tdesc_s390x_linux64v1)
1235 (tdesc_s390x_linux64v2): Declare.
1236 (s390_collect_ptrace_register, s390_supply_ptrace_register)
1237 (s390_fill_gregset, s390_store_last_break): Adjust.
1238 (target_regsets): Rename to ...
1239 (s390_regsets): ... this, and make static.
1240 (s390_get_pc, s390_set_pc): Adjust.
1241 (s390_get_hwcap): New target_desc parameter, and use it.
1242 [__s390x__] (have_hwcap_s390_high_gprs): New global.
1243 (s390_arch_setup): Adjust to set the current process'es target
1244 description. Don't adjust the regmap.
1245 (s390_usrregs_info, s390_regsets_info, regs_info): New globals.
1246 [__s390x__] (s390_usrregs_info_3264, s390_regsets_info_3264)
1247 (regs_info_3264): New globals.
1248 (s390_regs_info): New function.
1249 (the_low_target): Adjust.
1250 (initialize_low_arch): New function.
1251 * linux-mips-low.c (tdesc_mips_linux, tdesc_mips_dsp_linux)
1252 (tdesc_mips64_linux, tdesc_mips64_dsp_linux): Declare.
1253 [__mips64] (init_registers_mips_linux)
1254 (init_registers_mips_dsp_linux): Delete defines.
1255 [__mips64] (tdesc_mips_linux, tdesc_mips_dsp_linux): New defines.
1256 (have_dsp): New global.
1257 (mips_read_description): New, based on mips_arch_setup.
1258 (mips_arch_setup): Reimplement.
1259 (get_usrregs_info): New function.
1260 (mips_cannot_fetch_register, mips_cannot_store_register)
1261 (mips_get_pc, mips_set_pc, mips_fill_gregset, mips_store_gregset)
1262 (mips_fill_fpregset, mips_store_fpregset): Adjust.
1263 (target_regsets): Rename to ...
1264 (mips_regsets): ... this, and make static.
1265 (mips_regsets_info, mips_dsp_usrregs_info, mips_usrregs_info)
1266 (dsp_regs_info, regs_info): New globals.
1267 (mips_regs_info): New function.
1268 (the_low_target): Adjust.
1269 (initialize_low_arch): New function.
1270 * linux-arm-low.c (tdesc_arm, tdesc_arm_with_iwmmxt)
1271 (tdesc_arm_with_vfpv2, tdesc_arm_with_vfpv3, tdesc_arm_with_neon):
1272 Declare.
1273 (arm_fill_vfpregset, arm_store_vfpregset): Adjust.
1274 (arm_read_description): New, with bits factored from
1275 arm_arch_setup.
1276 (arm_arch_setup): Reimplement.
1277 (target_regsets): Rename to ...
1278 (arm_regsets): ... this, and make static.
1279 (arm_regsets_info, arm_usrregs_info, regs_info): New globals.
1280 (arm_regs_info): New function.
1281 (the_low_target): Adjust.
1282 (initialize_low_arch): New function.
1283 * linux-m68k-low.c (tdesc_m68k): Declare.
1284 (target_regsets): Rename to ...
1285 (m68k_regsets): ... this, and make static.
1286 (m68k_regsets_info, m68k_usrregs_info, regs_info): New globals.
1287 (m68k_regs_info): New function.
1288 (m68k_arch_setup): New function.
1289 (the_low_target): Adjust.
1290 (initialize_low_arch): New function.
1291 * linux-sh-low.c (tdesc_sharch): Declare.
1292 (target_regsets): Rename to ...
1293 (sh_regsets): ... this, and make static.
1294 (sh_regsets_info, sh_usrregs_info, regs_info): New globals.
1295 (sh_regs_info, sh_arch_setup): New functions.
1296 (the_low_target): Adjust.
1297 (initialize_low_arch): New function.
1298 * linux-bfin-low.c (tdesc_bfin): Declare.
1299 (bfin_arch_setup): New function.
1300 (bfin_usrregs_info, regs_info): New globals.
1301 (bfin_regs_info): New function.
1302 (the_low_target): Adjust.
1303 (initialize_low_arch): New function.
1304 * linux-cris-low.c (tdesc_cris): Declare.
1305 (cris_arch_setup): New function.
1306 (cris_usrregs_info, regs_info): New globals.
1307 (cris_regs_info): New function.
1308 (the_low_target): Adjust.
1309 (initialize_low_arch): New function.
1310 * linux-cris-low.c (tdesc_crisv32): Declare.
1311 (cris_arch_setup): New function.
1312 (cris_regsets_info, cris_usrregs_info, regs_info): New globals.
1313 (cris_regs_info): New function.
1314 (the_low_target): Adjust.
1315 (initialize_low_arch): New function.
1316 * linux-m32r-low.c (tdesc_m32r): Declare.
1317 (m32r_arch_setup): New function.
1318 (m32r_usrregs_info, regs_info): New globals.
1319 (m32r_regs_info): Adjust.
1320 (initialize_low_arch): New function.
1321 * linux-tic6x-low.c (tdesc_tic6x_c64xp_linux)
1322 (tdesc_tic6x_c64x_linux, tdesc_tic6x_c62x_linux): Declare.
1323 (tic6x_usrregs_info): Forward declare.
1324 (tic6x_read_description): New function, based on ...
1325 (tic6x_arch_setup): ... this. Reimplement.
1326 (target_regsets): Rename to ...
1327 (tic6x_regsets): ... this, and make static.
1328 (tic6x_regsets_info, tic6x_usrregs_info, regs_info): New globals.
1329 (tic6x_regs_info): New function.
1330 (the_low_target): Adjust.
1331 (initialize_low_arch): New function.
1332 * linux-xtensa-low.c (tdesc_xtensa): Declare.
1333 (xtensa_fill_gregset, xtensa_store_gregset): Adjust.
1334 (target_regsets): Rename to ...
1335 (xtensa_regsets): ... this, and make static.
1336 (xtensa_regsets_info, xtensa_usrregs_info, regs_info): New
1337 globals.
1338 (xtensa_arch_setup, xtensa_regs_info): New functions.
1339 (the_low_target): Adjust.
1340 (initialize_low_arch): New function.
1341 * linux-nios2-low.c (tdesc_nios2_linux): Declare.
1342 (nios2_arch_setup): Set the current process'es tdesc.
1343 (target_regsets): Rename to ...
1344 (nios2_regsets): ... this.
1345 (nios2_regsets_info, nios2_usrregs_info, regs_info): New globals.
1346 (nios2_regs_info): New function.
1347 (the_low_target): Adjust.
1348 (initialize_low_arch): New function.
a261b8f5
PA
1349 * linux-aarch64-low.c (tdesc_aarch64): Declare.
1350 (aarch64_arch_setup): Set the current process'es tdesc.
1351 (target_regsets): Rename to ...
1352 (aarch64_regsets): ... this.
1353 (aarch64_regsets_info, aarch64_usrregs_info, regs_info): New globals.
1354 (aarch64_regs_info): New function.
1355 (the_low_target): Adjust.
1356 (initialize_low_arch): New function.
3aee8918
PA
1357 * linux-tile-low.c (tdesc_tilegx, tdesc_tilegx32): Declare
1358 globals.
1359 (target_regsets): Rename to ...
1360 (tile_regsets): ... this.
1361 (tile_regsets_info, tile_usrregs_info, regs_info): New globals.
1362 (tile_regs_info): New function.
1363 (tile_arch_setup): Set the current process'es tdesc.
1364 (the_low_target): Adjust.
1365 (initialize_low_arch): New function.
1366 * spu-low.c (tdesc_spu): Declare.
1367 (spu_create_inferior, spu_attach): Set the new process'es tdesc.
1368 * win32-arm-low.c (tdesc_arm): Declare.
1369 (arm_arch_setup): New function.
1370 (the_low_target): Install arm_arch_setup instead of
1371 init_registers_arm.
1372 * win32-i386-low.c (tdesc_i386, tdesc_amd64): Declare.
1373 (init_windows_x86): Rename to ...
1374 (i386_arch_setup): ... this. Set `win32_tdesc'.
1375 (the_low_target): Adjust.
1376 * win32-low.c (win32_tdesc): New global.
1377 (child_add_thread): Don't create the thread cache here.
1378 (do_initial_child_stuff): Set the new process'es tdesc.
1379 * win32-low.h (struct target_desc): Forward declare.
1380 (win32_tdesc): Declare.
1381 * lynx-i386-low.c (tdesc_i386): Declare global.
1382 (lynx_i386_arch_setup): Set `lynx_tdesc'.
1383 * lynx-low.c (lynx_tdesc): New global.
1384 (lynx_add_process): Set the new process'es tdesc.
1385 * lynx-low.h (struct target_desc): Forward declare.
1386 (lynx_tdesc): Declare global.
1387 * lynx-ppc-low.c (tdesc_powerpc_32): Declare global.
1388 (lynx_ppc_arch_setup): Set `lynx_tdesc'.
1389 * nto-low.c (nto_tdesc): New global.
1390 (do_attach): Set the new process'es tdesc.
1391 * nto-low.h (struct target_desc): Forward declare.
1392 (nto_tdesc): Declare.
1393 * nto-x86-low.c (tdesc_i386): Declare.
1394 (nto_x86_arch_setup): Set `nto_tdesc'.
1395
b1fbec62
GB
13962013-06-04 Gary Benson <gbenson@redhat.com>
1397
1398 * server.c (handle_query): Add "augmented-libraries-svr4-read+"
1399 to qSupported response when appropriate.
1400 (handle_qxfer_libraries_svr4): Allow qXfer:libraries-svr4:read
1401 with nonzero-length annex.
1402 * linux-low.c (linux_qxfer_libraries_svr4): Parse and handle
1403 arguments supplied in annex.
1404
d1ec4ce7
DE
14052013-05-31 Doug Evans <dje@google.com>
1406
ac44adcb 1407 PR server/15594
d1ec4ce7
DE
1408 * linux-x86-low.c (ps_get_thread_area): Properly extend address to
1409 64 bits in 64-cross-32 environment.
1410
9b25f2d3
PA
14112013-05-28 Pedro Alves <palves@redhat.com>
1412
1413 * Makefile.in (clean): Remove reference to aarch64-without-fpu.c.
1414 (aarch64-without-fpu.c): Delete rule.
1415 * configure.srv (aarch64*-*-linux*): Remove references to
1416 aarch64-without-fpu.o and aarch64-without-fpu.xml.
1417 * linux-aarch64-low.c (init_registers_aarch64_without_fpu): Remove
1418 declaration.
1419
6740dc9c
PA
14202013-05-24 Pedro Alves <palves@redhat.com>
1421
1422 * server.c (handle_v_cont) <vCont;r>: Use unpack_varlen_hex
1423 instead of strchr/decode_address. Error if the range isn't split
1424 with a ','. Don't assume there's be a ':' in the action.
1425
c2d6af84
PA
14262013-05-23 Yao Qi <yao@codesourcery.com>
1427 Pedro Alves <palves@redhat.com>
1428
1429 * linux-low.c (lwp_in_step_range): New function.
1430 (linux_wait_1): If the thread was range stepping and stopped
1431 outside the stepping range, report the stop to GDB. Otherwise,
1432 continue stepping. Add range stepping debug output.
1433 (linux_set_resume_request): Copy the step range from the resume
1434 request to the lwp.
1435 (linux_supports_range_stepping): New.
1436 (linux_target_ops) <supports_range_stepping>: Set to
1437 linux_supports_range_stepping.
1438 * linux-low.h (struct linux_target_ops)
1439 <supports_range_stepping>: New field.
1440 (struct lwp_info) <step_range_start, step_range_end>: New fields.
1441 * linux-x86-low.c (x86_supports_range_stepping): New.
1442 (the_low_target) <supports_range_stepping>: Set to
1443 x86_supports_range_stepping.
1444 * server.c (handle_v_cont): Handle 'r' action.
1445 (handle_v_requests): Append ";r" if the target supports range
1446 stepping.
1447 * target.h (struct thread_resume) <step_range_start,
1448 step_range_end>: New fields.
1449 (struct target_ops) <supports_range_stepping>:
1450 New field.
1451 (target_supports_range_stepping): New macro.
1452
58794e1a
JB
14532013-05-17 Joel Brobecker <brobecker@adacore.com>
1454
1455 * lynx-low.c (lynx_resume): Fix null_ptid/minus_one_ptid
1456 confusion in comment.
1457
d631c5a7
JB
14582013-05-17 Joel Brobecker <brobecker@adacore.com>
1459
1460 * lynx-low.c (struct process_info_private): New type.
1461 (lynx_add_process): New function.
1462 (lynx_create_inferior, lynx_attach): Replace calls to
1463 add_process by calls to lynx_add_process.
1464 (lynx_resume): If PTID is null, then try using
1465 current_process()->private->last_wait_event_ptid.
1466 Add comments.
1467 (lynx_clear_inferiors): Delete. The contents of that function
1468 has been inlined in lynx_mourn;
1469 (lynx_wait_1): Save the ptid in the process's private data.
1470 (lynx_mourn): Free the process' private data. Replace call
1471 to lynx_clear_inferiors by call to clear_inferiors.
1472
96f7a20f
YQ
14732013-05-17 Yao Qi <yao@codesourcery.com>
1474
1475 * i386-low.c (i386_length_and_rw_bits): Move the comment to
1476 the right place.
1477
db0dfaa0
LM
14782013-05-16 Luis Machado <lgustavo@codesourcery.com>
1479
1480 * linux-low.c: Move definition checks upwards for PT_TEXT_ADDR,
1481 PT_DATA_ADDR and PT_TEXT_END_ADDR. Update comments.
1482 (linux_read_offsets): Remove PT_TEXT_ADDR, PT_DATA_ADDR and
1483 PT_TEXT_END_ADDR guards. Update comments.
1484 (linux_target_op) <read_offsets>: Conditionally define to
1485 linux_read_offsets if the target is UCLIBC and if it defines
1486 PT_TEXT_ADDR, PT_DATA_ADDR and PT_TEXT_END_ADDR.
1487
68f5f838
SL
14882013-05-06 Sandra Loosemore <sandra@codesourcery.com>
1489 Andrew Jenner <andrew@codesourcery.com>
1490
1491 * Makefile.in (SFILES): Add linux-nios2-low.c.
1492 (clean): Add action to delete nios2-linux.c.
1493 (nios2-linux.c): New rule.
1494 * configure.srv: Add nios2*-*-linux*.
1495 * linux-nios2-low.c: New.
1496
1ebff1fd
HAQ
14972013-05-03 Hafiz Abid Qadeer <abidh@codesourcery.com>
1498
1499 * tracepoint.c (cmd_qtinit): Call 'stop_tracing'.
1500
f6150862
HZ
15012013-04-25 Hui Zhu <hui@codesourcery.com>
1502
1503 PR gdb/15186
f6150862
HZ
1504 * ax.c (ax_printf): Add fflush.
1505
614c279d
TT
15062013-04-22 Tom Tromey <tromey@redhat.com>
1507
1508 * Makefile.in (SFILES): Add filestuff.c.
1509 (OBS): Add filestuff.o.
1510 (filestuff.o): New target.
1511 * config.in, configure: Rebuild.
1512 * configure.ac: Check for fdwalk, pipe2.
1513
7d4e5717
PA
15142013-04-17 Pedro Alves <palves@redhat.com>
1515
1516 * configure.ac (USE_THREAD_DB): Delete variable.
1517 (if test "$srv_linux_thread_db" = "yes"): AC_DEFINE USE_THREAD_DB.
1518 Don't AC_SUBST USE_THREAD_DB.
1519 * Makefile.in (INTERNAL_CFLAGS): Remove @USE_THREAD_DB@.
1520 * config.in, configure: Regenerate.
1521
d5c93e41
PA
15222013-04-16 Pedro Alves <palves@redhat.com>
1523
1524 * linux-low.h (struct lwp_info) <thread_known>: Move under
1525 the USE_THREAD_DB #ifdef.
1526
04f5fe89
PA
15272013-04-16 Pedro Alves <palves@redhat.com>
1528
1529 * Makefile.in (INTERNAL_CFLAGS): Add @USE_THREAD_DB@.
1530 (linux-low.o): Delete rule.
1531 * linux-low.h: Always include "gdb_thread_db.h" instead of
1532 conditionally including thread_db.h.
1533 (struct lwp_info) <th>: Guard with #ifdef USE_THREAD_DB instead of
1534 HAVE_THREAD_DB_H.
1535
480b27bf
JK
15362013-04-07 Jan Kratochvil <jan.kratochvil@redhat.com>
1537
1538 * Makefile.in (install-only): Fix make install regression.
1539
43662968
JK
15402013-04-05 Jan Kratochvil <jan.kratochvil@redhat.com>
1541
1542 Convert man pages to texinfo, new gdbinit.5 texinfo page.
1543 * Makefile.in (install-only): Remove $(man1dir) and gdbserver.1
1544 installation.
1545 * gdbserver.1: Remove.
1546
3e74e146
PA
15472013-03-22 Pedro Alves <palves@redhat.com>
1548
1549 * linux-low.c (handle_extended_wait): Don't call
1550 linux_enable_event_reporting.
1551
a8347a2a
TT
15522013-03-15 Tony Theodore <tonyt@logyst.com>
1553
1554 PR build/9098:
1555 * Makefile.in (SHELL): Use @SHELL@.
1556
eeb56fa7
SDJ
15572013-03-14 Sergio Durigan Junior <sergiodj@redhat.com>
1558
1559 * tracepoint.c (cmd_qtv): Initialize `val' with zero, silencing
1560 compiler warning.
1561
4fa7e2ff
JB
15622013-03-13 Joel Brobecker <brobecker@adacore.com>
1563
1564 * linux-low.c (linux_target_ops) [!HAVE_LINUX_BTRACE]:
1565 Remove extraneous NULL element.
1566
8ddb1965
YQ
15672013-03-13 Yao Qi <yao@codesourcery.com>
1568
1569 * tracepoint.c (traceframe_read_tsv): Look for the last matched
1570 'V' block in trace frame.
1571
9accd112
MM
15722013-03-11 Markus Metzger <markus.t.metzger@intel.com>
1573
1574 * target.h (struct target_ops): Add btrace ops.
1575 (target_supports_btrace): New macro.
1576 (target_enable_btrace): New macro.
1577 (target_disable_btrace): New macro.
1578 (target_read_btrace): New macro.
1579 * gdbthread.h (struct thread_info): Add btrace field.
1580 * server.c: Include btrace-common.h.
1581 (handle_btrace_general_set): New function.
1582 (handle_btrace_enable): New function.
1583 (handle_btrace_disable): New function.
1584 (handle_general_set): Call handle_btrace_general_set.
1585 (handle_qxfer_btrace): New function.
1586 (struct qxfer qxfer_packets[]): Add btrace entry.
1587 * inferiors.c (remove_thread): Disable btrace.
1588 * linux-low: Include linux-btrace.h.
1589 (linux_low_enable_btrace): New function.
1590 (linux_low_read_btrace): New function.
1591 (linux_target_ops): Add btrace ops.
1592 * configure.srv (i[34567]86-*-linux*): Add linux-btrace.o.
1593 Add srv_linux_btrace=yes.
1594 (x86_64-*-linux*): Add linux-btrace.o.
1595 Add srv_linux_btrace=yes.
1596 * configure.ac: Define HAVE_LINUX_BTRACE.
1597 * config.in: Regenerated.
1598 * configure: Regenerated.
1599
5cc22e4c
MM
16002013-03-11 Markus Metzger <markus.t.metzger@intel.com>
1601
1602 * server.c (handle_qxfer): Preserve error message if -3 is
1603 returned.
1604 (qxfer): Document the -3 return value.
1605
7c97f91e
MM
16062013-03-11 Markus Metzger <markus.t.metzger@intel.com>
1607
1608 * Makefile.in (SFILES): Add $(srcdir)/common/linux-btrace.c.
1609 (linux_btrace_h): New variable.
1610 (linux-btrace.o): New rule.
1611
be9a119c 16122013-03-08 Stan Shebs <stan@codesourcery.com>
f6f899bf
HAQ
1613 Hafiz Abid Qadeer <abidh@codesourcery.com>
1614
1615 * tracepoint.c (trace_buffer_size): New global.
1616 (DEFAULT_TRACE_BUFFER_SIZE): New define.
1617 (init_trace_buffer): Change to one-argument function. Allocate
1618 trace buffer memory.
1619 (handle_tracepoint_general_set): Call cmd_bigqtbuffer_size to
1620 handle QTBuffer:size packet.
1621 (cmd_bigqtbuffer_size): New function.
1622 (initialize_tracepoint): Call init_trace_buffer with
1623 DEFAULT_TRACE_BUFFER_SIZE.
1624 * server.c (handle_query): Add QTBuffer:size in the
1625 supported packets.
1626
e64f7499
YQ
16272013-03-07 Yao Qi <yao@codesourcery.com>
1628
1629 * tracepoint.c (cur_action, cur_step_action): Make them unsigned.
1630 (cmd_qtfp): Initialize cur_action and cur_step_action 0 instead
1631 of -1.
1632 (cmd_qtsp): Adjust condition. Do post increment.
1633 Set cur_action and cur_step_action back to 0.
1634
f0ae6fc3
PA
16352013-03-07 Jeremy Bennett <jeremy.bennett@embecosm.com>
1636
1637 PR server/15236
1638 * linux-low.c (linux_write_memory): Return early success if LEN is
1639 zero.
1640
b5b0b0af
CV
16412013-03-05 Corinna Vinschen <vinschen@redhat.de>
1642
334ad4a8 1643 * configure.srv: Add x86_64-*-cygwin* as target.
b5b0b0af 1644
589bc927
TT
16452013-02-28 Tom Tromey <tromey@redhat.com>
1646
1647 * configure.ac: Invoke AC_SYS_LARGEFILE.
1648 * configure, config.in: Rebuild.
1649
dfe07582
CV
16502013-02-28 Corinna Vinschen <vinschen@redhat.com>
1651
1652 * win32-low.c: Throughout, fix format strings and casts of
1653 printf-like functions to avoid type related warnings on all
1654 platforms.
1655 (get_child_debug_event): Print dwDebugEventCode as hex since
1656 that's how it's usually documented.
1657
736cd585
YQ
16582013-02-28 Yao Qi <yao@codesourcery.com>
1659
1660 * tracepoint.c (cmd_qtbuffer): Call phex_nz instead of
1661 pulongest.
1662
e1f58301
JW
16632013-02-27 Jiong Wang <jiwang@tilera.com>
1664
1665 * Makefile.in (clean): Remove reg-tilegx.c, reg-tilegx32.c.
1666 (reg-tilegx32.c): New rule.
1667 * configure.srv (tilegx-*-linux*): Add reg-tilegx32.o to srv_regobj.
1668 * linux-tile-low.c (tile_arch_setup): New function. Invoke
1669 different register info initializer according to elf class.
1670 (init_registers_tilgx32): New function. The tilegx32 register info
1671 initializer.
1672 (tile_fill_gregset): Use "uint_reg_t" to represent register size.
1673 (tile_store_gregset): Likewise.
1674
d171ca78
YQ
16752013-02-27 Yao Qi <yao@codesourcery.com>
1676
1677 * server.c (process_point_options): Print debug message when
1678 debug_threads is true.
1679
282bbdf3
YQ
16802013-02-26 Yao Qi <yao@codesourcery.com>
1681
1682 * tracepoint.c (cmd_qtbuffer): Don't set '\0' in OWN_BUF.
1683
aca22551
PA
16842013-02-19 Pedro Alves <palves@redhat.com>
1685 Kai Tietz <ktietz@redhat.com>
1686
1687 PR gdb/15161
1688
1689 * server.c (handle_query) <CRC check>: Use unpack_varlen_hex
1690 instead of strtoul to extract address from packet.
1691 (process_serial_event) <'z'>: Likewise.
1692
4f3cee1c
YQ
16932013-02-18 Yao Qi <yao@codesourcery.com>
1694
1695 * linux-bfin-low.c (the_low_target): Use NULL instead of 0.
1696
8e1d55a3
PA
16972013-02-14 Pedro Alves <palves@redhat.com>
1698
1699 Plug memory leak.
1700
1701 * tracepoint.c (cmd_qtnotes): Free TRACING_USER_NAME,
1702 TRACING_NOTES and TRACING_STOP_NOTE before clobbering.
1703
458820da
PA
17042013-02-14 Pedro Alves <palves@redhat.com>
1705
1706 * tracepoint.c (cmd_qtdpsrc): Use savestring.
1707
baea0dae
PA
17082013-02-14 Pedro Alves <palves@redhat.com>
1709
1710 * tracepoint.c (save_string): Delete.
1711 (add_tracepoint_action): Use savestring instead of save_string.
1712
0b1afbb3
PA
17132013-02-12 Pedro Alves <palves@redhat.com>
1714
1715 * linux-xtensa-low.c: Ditto.
1716 * xtensa-xtregs.c: Ditto.
1717
8a4ac37e
PA
17182013-02-12 Sanimir Agovic <sanimir.agovic@intel.com>
1719
1720 * thread-db.c (thread_db_get_tls_address): NULL pointer check
1721 thread_db.
1722
148de6bb
MS
17232013-02-07 Marcus Shawcroft <marcus.shawcroft@arm.com>
1724
1725 * linux-aarch64-low.c (aarch64_arch_setup): Clamp
1726 aarch64_num_wp_regs and aarch64_num_bp_regs to
1727 AARCH64_HWP_MAX_NUM and AARCH64_HBP_MAX_NUM respectively.
1728
55fac6e0
MS
17292013-02-07 Marcus Shawcroft <marcus.shawcroft@arm.com>
1730
1731 * linux-aarch64-low.c (ps_get_thread_area): Replace
1732 PTRACE_GET_THREAD_AREA with PTRACE_GETREGSET.
1733
176eb98c
MS
17342013-02-04 Jim MacArthur <jim.macarthur@arm.com>
1735 Marcus Shawcroft <marcus.shawcroft@arm.com>
1736 Nigel Stephens <nigel.stephens@arm.com>
1737 Yufeng Zhang <yufeng.zhang@arm.com>
1738
1739 * Makefile.in (clean): Remove aarch64.c and aarch64-without-fpu.c.
1740 (aarch64.c, aarch64-without-fpu.c): New targets.
1741 * configure.srv (aarch64*-*-linux*): New.
1742 * linux-aarch64-low.c: New file.
1743
56f7af9c
MS
17442013-02-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
1745
43aaf8b6 1746 * linux-low.c (handle_extended_wait, linux_create_inferior)
56f7af9c
MS
1747 (linux_attach_lwp_1, linux_kill_one_lwp, linux_attach_one_lwp)
1748 (dequeue_one_deferred_signal, linux_resume_one_thread)
1749 (fetch_register, linux_write_memory, linux_enable_event_reporting)
1750 (linux_tracefork_grandchild, linux_test_for_tracefork)
1751 (linux_read_offsets, linux_xfer_siginfo, linux_xfer_siginfo): Add
1752 PTRACE_ARG3_TYPE and PTRACE_ARG4_TYPE cast to ptrace arguments
1753 where the argument is 0.
1754
60f662b0
YQ
17552013-01-25 Yao Qi <yao@codesourcery.com>
1756
1757 * event-loop.c: Include "queue.h".
1758 (gdb_event_p): New typedef.
1759 (struct gdb_event) <next_event>: Remove.
1760 (event_queue): Change to QUEUE(gdb_event_p).
1761 (async_queue_event): Remove.
1762 (gdb_event_xfree): New.
1763 (initialize_event_loop): New.
1764 (process_event): Use API from QUEUE.
1765 (wait_for_event): Likewise.
1766 * server.c (main): Call initialize_event_loop.
1767 * server.h (initialize_event_loop): Declare.
1768
5ae4861a
YQ
17692013-01-18 Yao Qi <yao@codesourcery.com>
1770
1771 * ax.h (struct eval_agent_expr_context): New.
1772 (gdb_eval_agent_expr): Update declaration.
1773 * ax.c (gdb_eval_agent_expr): Remove argument REGCACHE and
1774 TFRAME. Add new argument CTX.
1775 * server.h (struct eval_agent_expr_context): Declare.
1776 (agent_mem_read, agent_tsv_read): Update declaration.
1777 (agent_mem_read_string): Likewise.
1778 * tracepoint.c (eval_tracepoint_agent_expr): Remove.
1779 (add_traceframe_block): Add new argument TPOINT.
1780 Increase TPOINT->traceframe_usage.
1781 (do_action_at_tracepoint): Call gdb_eval_agent_expr instead of
1782 eval_tracepoint_agent_expr.
1783 (condition_true_at_tracepoint): Likewise.
1784 (agent_mem_read): Remove argument TFRAME. Add argument CTX.
1785 (agent_mem_read_string, agent_tsv_read): Likewise.
1786
85e00e85
YQ
17872013-01-16 Yao Qi <yao@codesourcery.com>
1788
1789 * linux-low.c (linux_resume_one_lwp): Don't check
1790 'lwp->bp_reinsert != 0'.
1791
4039cf45
JB
17922013-01-07 Joel Brobecker <brobecker@adacore.com>
1793 Pedro Alves <palves@redhat.com>
1794
1795 * lynx-low.c (ptrace_request_to_str): Define a temporary
1796 macro and use it to simplify this function's implementation.
1797
9044dee2
JB
17982013-01-07 Joel Brobecker <brobecker@adacore.com>
1799
1800 * lynx-low.c (lynx_resume): Call perror_with_name if lynx_ptrace
1801 sets errno.
1802
e6352c8f
JB
18032013-01-07 Joel Brobecker <brobecker@adacore.com>
1804
1805 * configure.srv (i[34567]86-*-lynxos*): Set srv_xmlfiles.
1806
50681a27
JB
18072013-01-07 Joel Brobecker <brobecker@adacore.com>
1808
1809 * configure.srv (powerpc-*-lynxos*): Set srv_xmlfiles.
1810
3f6e77ef
JB
18112013-01-07 Joel Brobecker <brobecker@adacore.com>
1812
1813 * lynx-low.c (lynx_resume): Use the resume_info parameter
1814 to determine the ptid for the lynx_ptrace call, unless
1815 it is equal to minus_one_ptid, in which case we use the
1816 ptid of the current_inferior.
1817 (lynx_wait_1): After having received a thread create/exit
1818 event, resume the inferior's execution using the signaling
1819 thread's ptid, rather than the old ptid.
1820
7fda33ae
JB
18212013-01-07 Joel Brobecker <brobecker@adacore.com>
1822
1823 * lynx-low.c (lynx_resume): Delete variable ret.
1824
b9786c74
JB
18252013-01-01 Joel Brobecker <brobecker@adacore.com>
1826
1827 * gdbreplay.c (gdbreplay_version): Update copyright year.
1828 * server.c (gdbserver_version): Likewise.
1829
8b93d60f
JB
18302012-12-17 Joel Brobecker <brobecker@adacore.com>
1831
1832 * lynx-low.c (lynx_wait_1): Add debug trace before adding
1833 new thread.
1834
037335a7
JB
18352012-12-17 Joel Brobecker <brobecker@adacore.com>
1836
1837 * lynx-low.c (ptrace_request_to_str): Add handling for
1838 PTRACE_GETTRACESIG.
1839
52d4cbd8
JB
18402012-12-17 Joel Brobecker <brobecker@adacore.com>
1841
1842 * lynx-low.c (lynx_attach): Delete variable new_process.
1843
ab8f6ca9
JB
18442012-12-17 Joel Brobecker <brobecker@adacore.com>
1845
1846 * lynx-low.c (lynx_create_inferior): Delete variable
1847 new_process.
1848
78cbc024
JB
18492012-12-17 Joel Brobecker <brobecker@adacore.com>
1850
1851 * lynx-low.c (ptrace_request_to_str): Do not handle
1852 PTRACE_GETTHREADLIST if this macro does not exist.
1853
14a00470
YQ
18542012-12-15 Yao Qi <yao@codesourcery.com>
1855
1856 * Makefile.in (OBS): Add notif.o.
1857 * notif.c, notif.h: New.
1858 * server.c: Include "notif.h".
1859 (struct vstop_notif) <next>: Remove.
1860 <base>: New field.
1861 (queue_stop_reply): Update.
1862 (push_event, send_next_stop_reply): Remove.
1863 (discard_queued_stop_replies): Update.
1864 (notif_stop): New variable.
1865 (handle_v_stopped): Remove.
1866 (handle_v_requests): Don't call handle_v_stopped. Call
1867 handle_ack_notif instead.
1868 (queue_stop_reply_callback): Call notif_event_enque instead
1869 of queue_stop_reply.
1870 (handle_status): Don't call send_next_stop_reply, call
1871 notif_write_event instead.
1872 (kill_inferior_callback): Likewise.
1873 (detach_or_kill_inferior_callback): Likewise.
1874 (main): Call initialize_notif.
1875 (process_serial_event): Call QUEUE_is_empty.
1876 (handle_target_event): Call notif_push instead of push event.
1877 * server.h (push_event): Remove declaration.
1878
61c125b9
TT
18792012-12-10 Tom Tromey <tromey@redhat.com>
1880
1881 * Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.pre)
1882 (COMPILE.post, COMPILE, POSTCOMPILE, IPAGENT_COMPILE): New
1883 macros.
1884 (.c.o): Rewrite.
1885 (ax-ipa.o, tracepoint-ipa.o, utils-ipa.o, format-ipa.o)
1886 (common-utils-ipa.o, remote-utils-ipa.o, regcache-ipa.o)
1887 (i386-linux-ipa.o, linux-i386-ipa.o, linux-amd64-ipa.o)
1888 (amd64-linux-ipa.o, ax.o): Rewrite.
1889 (event-loop.o, hostio.o, hostio-errno.o, inferiors.o, mem-break.o)
1890 (proc-service.o, regcache.o, remote-utils.o, server.o, target.o)
1891 (thread-db.o, tracepoint.o, utils.o, gdbreplay.o, dll.o): Remove.
1892 (signals.o, linux-procfs.o, linux-ptrace.o, common-utils.o, vec.o)
1893 (gdb_vecs.o, xml-utils.o, linux-osdata.o, ptid.o, buffer.o)
1894 (format.o, agent.o, vasprintf.o, vsnprintf.o): Rewrite.
1895 (i386-low.o, i387-fp.o, linux-low.o, linux-arm-low.o)
1896 (linux-bfin-low.o, linux-cris-low.o, linux-crisv32-low.o)
1897 (linux-ia64-low.o, linux-m32r-low.o, linux-mips-low.o)
1898 (linux-ppc-low.o, linux-s390-low.o, linux-sh-low.o)
1899 (linux-tic6x-low.o, linux-x86-low.o, linux-xtensa-low.o)
1900 (linux-tile-low.o, lynx-low.o, lynx-ppc-low.o, nto-low.o)
1901 (nto-x86-low.o, linux-low.o, win32-low.o, win32-arm-low.o)
1902 (win32-i386-low.o, spu-low.o, reg-arm.o, arm-with-iwmmxt.o)
1903 (arm-with-vfpv2.o, arm-with-vfpv3.o, arm-with-neon.o, reg-bfin.o)
1904 (reg-cris.o, reg-crisv32.o, i386.o, i386-linux.o, i386-avx.o)
1905 (i386-avx-linux.o, i386-mmx.o, i386-mmx-linux.o, reg-ia64.o)
1906 (reg-m32r.o, reg-m68k.o, reg-cf.o, mips-linux.o, mips-dsp-linux.o)
1907 (mips64-linux.o, mips64-dsp-linux.o, powerpc-32.o, powerpc-32l.o)
1908 (powerpc-altivec32l.o, powerpc-cell32l.o, powerpc-vsx32l.o)
1909 (powerpc-isa205-32l.o, powerpc-isa205-altivec32l.o)
1910 (powerpc-isa205-vsx32l.o, powerpc-e500l.o, powerpc-64l.o)
1911 (powerpc-altivec64l.o, powerpc-cell64l.o, powerpc-vsx64l.o)
1912 (powerpc-isa205-64l.o, powerpc-isa205-altivec64l.o)
1913 (powerpc-isa205-vsx64l.o, s390-linux32.o, s390-linux32v1.o)
1914 (s390-linux32v2.o, s390-linux64.o, s390-linux64v1.o)
1915 (s390-linux64v2.o, s390x-linux64.o, s390x-linux64v1.o)
1916 (s390x-linux64v2.o, tic6x-c64xp-linux.o, tic6x-c64x-linux.o)
1917 (tic6x-c62x-linux.o, reg-sh.o, reg-sparc64.o, reg-spu.o, amd64.o)
1918 (amd64-linux.o, amd64-avx.o, amd64-avx-linux.o, x32.o)
1919 (x32-linux.o, x32-avx.o, x32-avx-linux.o, reg-xtensa.o)
1920 (reg-tilegx.o): Remove.
1921 (all_object_files): New macro.
1922 Include .deps files.
1923 * aclocal.m4, configure: Rebuild.
1924 * acinclude.m4: Include depstand.m4, lead-dot.m4.
1925 * configure.ac: Invoke ZW_CREATE_DEPDIR,
1926 ZW_PROG_COMPILER_DEPENDENCIES. Compute GMAKE condition.
1927
e90e9ad9
TT
19282012-12-05 Tom Tromey <tromey@redhat.com>
1929
1930 PR gdb/14917:
1931 * server.h (current_insn_ptr, emit_error): Declare 'extern'.
1932
02d403bf 19332012-11-28 Markus Metzger <markus.t.metzger@intel.com>
945bf713
MM
1934
1935 * configure.ac: Check for linux/perf_event.h.
1936 * config.in: Regenerated.
1937 * configure: Regenerated.
1938
0270a750
PA
19392012-11-26 Maxime Villard <rustyBSD@gmx.fr>
1940
1941 * hostio.c (handle_readlink): Decrease buffer size
1942 parameter passed to readlink by one byte.
1943
8c29b58e
YQ
19442012-11-26 Yao Qi <yao@codesourcery.com>
1945
1946 * configure.ac (build_warnings): Append '-Wempty-body'.
1947 * configure: Regenerated.
1948 * linux-low.c (linux_create_inferior): Use braces for empty 'if'
1949 body.
1950
8bdce1ff
PM
19512012-11-15 Pierre Muller <muller@sourceware.org>
1952
1953 * configure.ac (AC_CHECK_HEADERS): Add wait.h header.
1954 * config.in: Regenerate.
1955 * configure: Regenerate.
1956 * linux-low.c: Use "gdb_stat.h" header instead of <sys/stat.h> header.
1957 Use "gdb_wait.h" header instead of <sys/wait.h> header.
1958 * lynx-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
1959 * remote-utils.c: Use "gdb_stat.h" header instead of <sys/stat.h>
1960 header.
1961 * server.c: Remove HAVE_WAIT_H conditional. Use "gdb_wait.h" header
1962 instead of <sys/wait.h> header.
1963 * spu-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
1964
02d403bf 19652012-11-13 Markus Metzger <markus.t.metzger@intel.com>
3ba6ad0f
MM
1966
1967 * Makefile.in: (INTERNAL_CFLAGS): Add -DGDBSERVER
1968 (various make rules): Remove -DGDBSERVER
1969
fbd5db48
YQ
19702012-11-09 Yao Qi <yao@codesourcery.com>
1971
1972 * spu-low.c (current_ptid): Move it to ..
1973 * gdbthread.h: ... here. New.
1974 * remote-utils.c (read_ptid): Use macro 'current_ptid'.
1975 * server.c (myresume, process_serial_event): Likewise.
1976 * thread-db.c (thread_db_find_new_threads): Likewise.
1977 * tracepoint.c (run_inferior_command): Likewise.
1978
b3dc46ff
AB
19792012-10-01 Andrew Burgess <aburgess@broadcom.com>
1980
1981 * server.c (handle_search_memory_1): Include access length in
1982 warning message.
1983
07c04788
HPN
19842012-09-05 Michael Brandt <michael.brandt@axis.com>
1985
1986 * linux-crisv32-low.c: Fix compile errors.
1987
918d227b
YQ
19882012-09-04 Yao Qi <yao@codesourcery.com>
1989
1990 * tracepoint.c (cmd_qtsv): Adjust debug message.
1991 Don't check CUR_TPOINT.
1992
18c1b81a
YQ
19932012-08-28 Yao Qi <yao@codesourcery.com>
1994
1995 * ax.c, tracepoint.c: Replace ATTR_FORMAT with ATTRIBUTE_PRINTF.
1996 * server.h: Include 'libiberty.h' and 'ansidecl.h'.
1997 (ATTR_NORETURN, ATTR_FORMAT, ATTR_MALLOC): Remove.
1998 Remove declarations of xmalloc, xreallloc, xstrdup and
1999 freeargv.
2000 * Makefile.in (libiberty_h): New.
2001 (server_h): Append dependencies 'libiberty.h' and 'ansidecl.h'.
2002 (linux-bfin-low.o): Append dependency 'libiberty.h'.
2003
dc82f37b
YQ
20042012-08-23 Yao Qi <yao@codesourcery.com>
2005
2006 * server.h: Remove declaration of 'xsnprintf'.
2007
406b1477
KS
20082012-08-22 Keith Seitz <keiths@redhat.com>
2009
2010 * server.h: Include build-gnulib-gbserver/config.h.
2011 * gdbreplay.c: Likewise.
2012
e6712ff1
DE
20132012-08-08 Doug Evans <dje@google.com>
2014
2015 * Makefile.in (SFILES): Add gdb_vecs.c.
2016 (OBS): Add gdb_vecs.o.
2017 (gdb_vecs_h, host_defs_h): New variables.
2018 (thread-db.o): Add $(gdb_vecs_h) dependency.
2019 (gdb_vecs.o): New rule.
2020 * thread-db.c: #include "gdb_vecs.h".
2021 (thread_db_load_search): Use a vector to iterate over path elements.
2022 Handle text appearing after "$pdir".
2023
2024 * configure.ac: Add check for strstr.
2025 * config.in: Regenerate.
2026 * configure: Regenerate.
2027
7c3270ae
UW
20282012-08-02 Ulrich Weigand <ulrich.weigand@linaro.org>
2029
2030 * hostio.c (handle_pread): If pread fails, fall back to attempting
2031 lseek/read.
2032 (handle_pwrite): Likewise for pwrite.
2033
b62e2b27
UW
20342012-08-01 Ulrich Weigand <ulrich.weigand@linaro.org>
2035
2036 * linux-arm-low.c (arm_linux_hw_point_initialize): Distinguish
2037 between unsupported TYPE and unimplementable ADDR/LEN combination.
2038 (arm_insert_point): Act on new return value.
2039
78a99e91
PA
20402012-07-31 Pedro Alves <palves@redhat.com>
2041
2042 * server.c (process_point_options): Only skip tokens if we find
2043 one that is unrecognized. Don't treat 'X' specially while
2044 skipping unrecognized tokens.
2045
fcf303ab
UW
20462012-07-30 Ulrich Weigand <ulrich.weigand@linaro.org>
2047
2048 * linux-arm-low.c (arm_linux_hw_point_initialize): Do not attempt
2049 to 4-byte-align HW breakpoint addresses for Thumb.
2050
7255706c
YQ
20512012-07-27 Yao Qi <yao@codesourcery.com>
2052
2053 PR remote/14161.
2054
2055 * server.h: Declare gdb_agent_about_to_close.
2056 * target.c (kill_inferior): Include "agent.h".
2057 New. Send command 'kill'.
2058 * target.h (kill_inferior): Removed macro.
2059 * tracepoint.c (gdb_agent_about_to_close): New.
2060 (gdb_agent_helper_thread): Handle command 'close'.
2061 Wait endlessly until the inferior stops.
2062 Install gdb_agent_remove_socket to atexit hook.
2063 (agent_socket_name): New static variable.
2064 (gdb_agent_socket_init): Replace local variable 'name' with
2065 'agent_socket_name'.
2066 (gdb_agent_remove_socket): New.
2067
5a3f286f
YQ
20682012-07-27 Yao Qi <yao@codesourcery.com>
2069
2070 * server.c (process_point_options): Stop at 'X' when parsing.
2071
961bd387
ME
20722012-07-19 Michael Eager <eager@eagercon.com>
2073
a261b8f5 2074 * i386-low.c (Z_packet_to_hw_type): Add Z_PACKET_HW_BP, translate
961bd387
ME
2075 to hw_execute.
2076 * linux-x86-low.c (x86_insert_point, x86_remove_point):
2077 Call i386_low_insert_watchpoint, i386_low_remove_watchpoint to add/del
2078 hardware breakpoint.
2079
aa7c7447
JK
20802012-07-07 Jan Kratochvil <jan.kratochvil@redhat.com>
2081
2082 * gdbserver/linux-low.c (initialize_low): Call
2083 linux_ptrace_init_warnings.
2084
7f216e7c
DE
20852012-07-02 Doug Evans <dje@google.com>
2086
2087 * mem-break.c (gdb_no_commands_at_breakpoint): Fix cast from
2088 pointer to int.
2089
d3ce09f5
SS
20902012-07-02 Stan Shebs <stan@codesourcery.com>
2091
2092 * Makefile.in (WARN_CFLAGS_NO_FORMAT): Define.
2093 (ax.o): Add it to build rule.
2094 (ax-ipa.o): Ditto.
2095 (OBS): Add format.o.
2096 (IPA_OBS): Add format.o.
2097 * server.c (handle_query): Claim support for breakpoint commands.
2098 (process_point_options): Add command case.
2099 (process_serial_event): Leave running if there are printfs in
2100 effect.
2101 * mem-break.h (any_persistent_commands): Declare.
2102 (add_breakpoint_commands): Declare.
2103 (gdb_no_commands_at_breakpoint): Declare.
2104 (run_breakpoint_commands): Declare.
2105 * mem-break.c (struct point_command_list): New struct.
2106 (struct breakpoint): New field command_list.
2107 (any_persistent_commands): New function.
2108 (add_commands_to_breakpoint): New function.
2109 (add_breakpoint_commands): New function.
2110 (gdb_no_commands_at_breakpoint): New function.
2111 (run_breakpoint_commands): New function.
2112 * linux-low.c (linux_wait_1): Test for and run breakpoint commands
2113 locally.
2114 * ax.c: Include format.h.
2115 (ax_printf): New function.
2116 (gdb_eval_agent_expr): Add printf opcode.
2117
2f8f6aed
YQ
21182012-06-13 Yao Qi <yao@codesourcery.com>
2119
2120 * server.c (start_inferior): Remove duplicated writes to fields
2121 'last_resume_kind' and 'last_status' of 'current_inferior'.
2122
0c9070b3
YQ
21232012-06-12 Yao Qi <yao@codesourcery.com>
2124 Pedro Alves <palves@redhat.com>
2125
2126 * linux-low.c (linux_set_resume_request): Simplify predicate. Add
2127 comment.
2128 * server.c (handle_v_cont): Extend comment.
2129
c52daf70
YQ
21302012-06-11 Yao Qi <yao@codesourcery.com>
2131
2132 * linux-low.c (linux_attach): Add 'static'.
2133
d38bbb0a
YQ
21342012-06-06 Yao Qi <yao@codesourcery.com>
2135
2136 * ax.c (gdb_eval_agent_expr): Print `top' in hex.
2137
89dc0afd
JK
21382012-06-01 Jan Kratochvil <jan.kratochvil@redhat.com>
2139
2140 Fix gcc -flto compilation warning.
2141 * server.c (main): Make variable multi_mode and attach volatile.
2142
75f62ce7
TJB
21432012-05-30 Thiago Jung Bauermann <thiago.bauermann@linaro.org>
2144
2145 * linux-low.c (get_r_debug): Disable code using DT_MIPS_RLD_MAP
2146 if the platform doesn't know about it.
2147
65f479b6
PA
21482012-05-30 Jeff Kenton <jkenton@tilera.com>
2149
2150 * Makefile.in (SFILES): Add linux-tile-low.c.
2151 (linux-tile-low.o, reg-tilegx.o, reg-tilegx.c): New rules.
2152 * configure.srv: Handle tilegx-*-linux*.
2153 * linux-tile-low.c: New file.
2154
0c5bf5a9
JK
21552012-05-28 Jan Kratochvil <jan.kratochvil@redhat.com>
2156
2157 * linux-low.c (linux_qxfer_libraries_svr4): Return -1 if R_DEBUG is -1.
2158
a493e3e2
PA
21592012-05-24 Pedro Alves <palves@redhat.com>
2160
2161 PR gdb/7205
2162
43aaf8b6 2163 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
a493e3e2 2164
2ea28649
PA
21652012-05-24 Pedro Alves <palves@redhat.com>
2166
2167 PR gdb/7205
2168
2169 Replace target_signal with gdb_signal throughout.
2170
8d409d16
MR
21712012-05-22 Maciej W. Rozycki <macro@codesourcery.com>
2172
2173 * linux-low.c (linux_store_registers): Avoid the copying sequence
2174 when no data has been retrieved by ptrace.
2175
23512c01
MGD
21762012-05-22 Will Deacon <will.deacon@arm.com>
2177
2178 * linux-low (__UCLIBC__ && !(__UCLIBC_HAS_MMU__ || __ARCH_HAS_MMU__)):
2179 Include asm/ptrace.h.
2180 (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define only if not
2181 already defined.
2182
4934b29e
MR
21832012-05-21 Maciej W. Rozycki <macro@codesourcery.com>
2184
2185 * linux-low.c (linux_store_registers): Don't re-retrieve data
2186 with ptrace that has already been obtained from /proc. Always
2187 copy any data retrieved with ptrace to the buffer supplied.
2188
bde24c0a
PA
21892012-05-11 Yao Qi <yao@codesourcery.com>
2190 Pedro Alves <palves@redhat.com>
2191
2192 * linux-low.c (enum stopping_threads_kind): New.
2193 (stopping_threads): Change type to `enum stopping_threads_kind'.
2194 (handle_extended_wait): If stopping and suspending threads, leave
2195 the new_lwp suspended too.
2196 (linux_wait_for_event): Adjust.
2197 (stop_all_lwps): Set `stopping_threads' to
2198 STOPPING_AND_SUSPENDING_THREADS or STOPPING_THREADS depending on
2199 whether we're suspending threads or just stopping them. Assert no
2200 recursion happens.
2201
623b6bdf
YQ
22022012-04-29 Yao Qi <yao@codesourcery.com>
2203
2204 * server.h: Move some code to ...
2205 * gdbthread.h: ... here. New.
2206 * Makefile.in (inferiors.o, regcache.o): Depends on gdbthread.h
2207 (remote-utils.o, server.o, target.o tracepoint.o): Likewise.
2208 (nto-low.o, win32-low.o): Likewise.
2209 * inferiors.c, linux-low.h, nto-low.c: Include gdbthread.h.
2210 * regcache.c, remote-utils.c, server.c: Likewise.
2211 * target.c, tracepoint.c, win32-low.c: Likewise.
2212
f15f9948
TJB
22132012-04-24 Thiago Jung Bauermann <thiago.bauermann@linaro.org>
2214
2215 * linux-low.h (PTRACE_ARG3_TYPE): Move macro from linux-low.c.
2216 (PTRACE_ARG4_TYPE): Likewise.
2217 (PTRACE_XFER_TYPE): Likewise.
2218 * linux-arm-low.c (arm_prepare_to_resume): Cast third argument of
2219 ptrace to PTRACE_ARG3_TYPE.
2220 * linux-low.c (PTRACE_ARG3_TYPE): Move macro to linux-low.h.
2221 (PTRACE_ARG4_TYPE): Likewise.
2222 (PTRACE_XFER_TYPE): Likewise.
2223 (linux_detach_one_lwp): Cast fourth argument of
2224 ptrace to long then PTRACE_ARG4_TYPE.
2225 (regsets_fetch_inferior_registers): Cast third argument of
2226 ptrace to long then PTRACE_ARG3_TYPE.
2227 (regsets_store_inferior_registers): Likewise.
2228
38ea300a
PA
22292012-04-20 Pedro Alves <palves@redhat.com>
2230
2231 * configure: Regenerate.
2232
c971b7fa
PA
22332012-04-19 Pedro Alves <palves@redhat.com>
2234
43aaf8b6 2235 * Makefile.in (GNULIB_BUILDDIR): New.
c971b7fa 2236 (LIBGNU, INCGNU, GNULIB_H): Adjust.
43aaf8b6
PA
2237 (SUBDIRS, CLEANDIRS, REQUIRED_SUBDIRS): New.
2238 (all, install-only, uninstall, clean-info, all-lib, clean): No
2239 longer pass GNULIB_FLAGS_TO_PASS. Use subdir_do.
2240 (maintainer-clean realclean distclean): Use subdir_do.
2241 (subdir_do): New.
2242 (gnulib/import/Makefile): Adjust. Replace gnulib/import with
c971b7fa 2243 $(GNULIB_BUILDDIR). Don't pass argument to config.status.
43aaf8b6
PA
2244 * acinclude.m4: Include acx_configure_dir.m4.
2245 * configure.ac: Remove gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE
2246 calls. Call AC_PROG_RANLIB. Configure gnulib using
2247 ACX_CONFIGURE_DIR.
2248 (GNULIB): New.
2249 (GNULIB_STDINT_H): Adjust.
2250 (AC_OUTPUT): Don't output gnulib/Makefile anymore.
2251 * gdbreplay.c: Include build-gnulib/config.h.
2252 * server.h: Likewise.
2253 * aclocal.m4: Regenerate.
2254 * config.in: Regenerate.
2255 * configure: Regenerate.
c971b7fa 2256
809277f8
PA
22572012-04-19 Pedro Alves <palves@redhat.com>
2258
2259 * Makefile.in (LIBGNU, INCGNU): Adjust.
2260 (GNULIB_FLAGS_TO_PASS, GNULIB_H): Adjust.
2261 (all, install-only, uninstall, clean-info, all-lib, clean)
2262 (maintainer-clean, Makefile, gnulib/Makefile): Adjust.
2263 * configure.ac: Adjust AC_OUTPUT output.
2264 * aclocal.m4: Regenerate.
2265 * configure: Regenerate.
2266
fd9bb8b8
PA
22672012-04-19 Pedro Alves <palves@redhat.com>
2268
2269 * Makefile.in (generated_files): New.
2270 (server_h): Remove the explicit dependency on config.h, and depend
2271 on $generated_files.
2272
1c298c66
PA
22732012-04-19 Pedro Alves <palves@redhat.com>
2274
2275 * Makefile.in (INCGNU): Add -Ignulib.
2276
57c4b50b
PA
22772012-04-19 Pedro Alves <palves@redhat.com>
2278
2279 * Makefile.in (GNULIB_INCLUDE_DIR): Rename to ...
2280 (INCGNU): ... this, and spell out -I here.
2281 (GNULIB_LIB): Rename to ...
2282 (LIBGNU): ... this.
2283 (INCLUDE_CFLAGS, gdbserver$(EXEEXT), $(GNULIB_LIB) rule): Adjust.
2284
1030e047
PA
22852012-04-19 Pedro Alves <palves@redhat.com>
2286
2287 * config.in: Regenerate.
2288
447d4319
PA
22892012-04-19 Pedro Alves <palves@redhat.com>
2290
2291 * configure.ac: Remove AC_CHECK_DECLS check for memmem.
2292 * server.h (memmem): Remove declaration.
2293 * config.in: Regenerate.
2294 * configure: Regenerate.
2295
aad9eab9
YQ
22962012-04-19 Yao Qi <yao@codesourcery.com>
2297
2298 * Makefile.in (SFILES): Add common/vec.c.
2299 (OBS): Add vec.o.
2300 (vec.o): New rule.
2301
3e10640f
YQ
23022012-04-19 Yao Qi <yao@codesourcery.com>
2303
2304 * remote-utils.c (prepare_resume_reply): Replace with macro
2305 target_core_of_thread.
2306 * server.c (handle_qxfer_threads_proper): Likewise.
2307 * target.h (traget_core_of_thread): New macro.
2308
71622373
PA
23092012-04-18 Pedro Alves <palves@redhat.com>
2310
2311 * aclocal.m4: Regenerate.
2312 * configure: Regenerate.
2313
80d26939
YQ
23142012-04-16 Yao Qi <yao@codesourcery.com>
2315
2316 * tracepoint.c (cmd_qtstart): Download tracepoints even when they are
2317 duplicated on address.
2318
42476b70
YQ
23192012-04-16 Yao Qi <yao@codesourcery.com>
2320
2321 * tracepoint.c (COPY_FIELD_TO_BUF): New macro.
2322 (struct tracepoint_action_ops) <send>: New field.
2323 (m_tracepoint_action_send, r_tracepoint_action_send): New.
2324 (agent_expr_send, x_tracepoint_action_send): New.
2325 (l_tracepoint_action_send): New.
2326 (cmd_qtdp): Download and install tracepoint
2327 according to `use_agent'.
2328 (run_inferior_command): Add one more parameter `len'.
2329 Update callers.
2330 (tracepoint_send_agent): New.
2331 (cmd_qtdp, cmd_qtstart): Call tracepoint_send_agent.
2332
7bc83639
YQ
23332012-04-16 Yao Qi <yao@codesourcery.com>
2334
2335 * tracepoint.c (download_tracepoints): Moved to ...
2336 (cmd_qtstart): ... here.
2337
5f18041e
YQ
23382012-04-14 Yao Qi <yao@codesourcery.com>
2339
2340 * tracepoint.c: Include inttypes.h.
2341 (struct collect_memory_action): Use sized types.
2342 (struct tracepoint): Likewise.
2343 (cmd_qtdp, stop_tracing): Update print specifiers.
2344 (cmd_qtp, response_tracepoint): Likewise.
2345 (collect_data_at_tracepoint): Likewise.
2346 (collect_data_at_step): Likewise.
2347
55a8c076
YQ
23482012-04-14 Yao Qi <yao@codesourcery.com>
2349
2350 Import gnulib module inttypes.
2351 * aclocal.m4, config.in, configure: Regenerated.
2352
dc750257
YQ
23532012-04-14 Yao Qi <yao@codesourcery.com>
2354
2355 * Makefile.in (maintainer-clean, realclean, distclean): Remove
2356 Makefile and config.status at last.
2357
0ab5faf9
YQ
23582012-04-13 Yao Qi <yao@codesourcery.com>
2359
2360 * tracepoint.c: Include stdint.h unconditionally.
2361
18f5fd81
TJB
23622012-04-13 Thiago Jung Bauermann <thiago.bauermann@linaro.org>
2363
2364 * acinclude.m4 (GDBSERVER_HAVE_THREAD_DB_TYPE): New macro based
2365 on BFD_HAVE_SYS_PROCFS_TYPE.
2366 * configure.ac: Look for lwpid_t and psaddr_t in libthread_db.h.
2367 * configure: Regenerate.
2368 * config.in: Likewise.
2369
4d47af5c
L
23702012-04-13 H.J. Lu <hongjiu.lu@intel.com>
2371
2372 * Makefile.in (clean): Also remove x32.c x32-linux.c
2373 x32-avx.c x32-avx-linux.c.
2374 (x32.o): New target.
2375 (x32.c): Likewise.
2376 (x32-linux.o): Likewise.
2377 (x32-linux.c): Likewise.
2378 (x32-avx.o): Likewise.
2379 (x32-avx.c): Likewise.
2380 (x32-avx-linux.o): Likewise.
2381 (x32-avx-linux.c): Likewise.
2382
2383 * configure.srv (srv_amd64_regobj): Add x32.o x32-avx.o.
2384 (srv_amd64_linux_regobj): Add x32-linux.o x32-avx-linux.o.
2385 (srv_i386_64bit_xmlfiles): Add i386/x32-core.xml.
2386 (srv_amd64_xmlfiles): Add i386/x32.xml i386/x32-avx.xml.
2387 (srv_amd64_linux_xmlfiles): Add i386/x32-linux.xml
2388 i386/x32-avx-linux.xml.
2389
2390 * linux-x86-low.c (init_registers_x32_linux): New prototype.
2391 (init_registers_x32_avx_linux): Likwise.
2392 (x86_linux_update_xmltarget): Call init_registers_x32_linux
2393 or init_registers_x32_avx_linux if linux_is_elf64 is false.
2394
ecedbe58
PA
23952012-04-13 Pedro Alves <palves@redhat.com>
2396
2397 * Makefile.in (GNULIB_FLAGS_TO_PASS): New.
2398 (FLAGS_TO_PASS): Don't change or set $top_srcdir, $srcdir and VPATH.
2399 (all, uninstall, clean-info, all-lib, clean, maintainer-clean)
2400 (realclean, distclean): Explicitly pass $GNULIB_FLAGS_TO_PASS to
2401 the sub-make.
2402
c92b5177
L
24032012-04-12 H.J. Lu <hongjiu.lu@intel.com>
2404
2405 * linux-x86-low.c (compat_x32_clock_t): New.
2406 (compat_x32_siginfo_t): Likewise.
2407 (compat_x32_siginfo_from_siginfo): Likewise.
2408 (siginfo_from_compat_x32_siginfo): Likewise.
2409 (linux_is_elf64): Likewise.
2410 (x86_siginfo_fixup): Call compat_x32_siginfo_from_siginfo
2411 and siginfo_from_compat_x32_siginfo for x32.
2412 (x86_arch_setup): Set linux_is_elf64.
2413
214d508e
L
24142012-04-12 H.J. Lu <hongjiu.lu@intel.com>
2415
2416 PR gdb/13969
2417 * linux-low.c (linux_pid_exe_is_elf_64_file): Also return the
2418 e_machine field.
2419 (linux_qxfer_libraries_svr4): Update call to elf_64_file_p.
2420 * linux-low.h (linux_pid_exe_is_elf_64_file): Updated.
2421 * linux-x86-low.c (x86_arch_setup): Check if GDBserver is
2422 compatible with process.
2423
c9a1864a
YQ
24242012-04-12 Yao Qi <yao@codesourcery.com>
2425
2426 * Makefile.in: Define abs_top_srcdir and abs_srcdir.
2427 (INCLUDE_CFLAGS): Append GNULIB_INCLUDE_DIR.
2428 (install-only, install-info, clean): Handle sub dir gnulib.
2429 (all-lib, am--refresh): New targets.
2430 (memmem.o): Remove target.
2431 * configure.ac: Remove AC_CONFIG_LIBOBJ_DIR.
2432 Invoke gl_EARLY. Invoke AC_CHECK_PROGS for make.
2433 (AC_REPLACE_FUNCS): Remove memmem.
2434 Invoke gl_INIT and AM_INIT_AUTOMAKE.
2435 (AC_OUTPUT): Generate Makefile in gnulib/.
2436 * aclocal.m4, config.in, configure: Regenerated.
2437
367ba2c2
MR
24382012-04-10 Maciej W. Rozycki <macro@codesourcery.com>
2439
2440 * linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP.
2441
9d236627
PA
24422012-04-05 Pedro Alves <palves@redhat.com>
2443
2444 -Werror=strict-aliasing
2445
2446 * spu-low.c (parse_spufs_run): Avoid dereferencing type-punned
2447 pointer.
2448
111217b3
PA
24492012-04-04 Pedro Alves <palves@redhat.com>
2450
2451 * linux-sparc-low.c (sparc_fill_gregset_to_stack)
2452 (sparc_store_gregset_from_stack, sparc_store_gregset)
2453 (sparc_breakpoint_at): Fix formatting.
2454
8365dcf5
TJB
24552012-03-30 Thiago Jung Bauermann <thiago.bauermann@linaro.org>
2456
2457 * configure.ac: Check whether Elf32_auxv_t and Elf64_auxv_t
2458 are available.
2459 * linux-low.c [HAVE_ELF32_AUXV_T] (Elf32_auxv_t): Add typedef.
2460 [HAVE_ELF64_AUXV_T] (Elf64_auxv_t): Likewise.
2461 * config.in: Regenerate.
2462 * configure: Likewise.
2463
689cc2ae
PA
24642012-03-29 Pedro Alves <palves@redhat.com>
2465
2466 * linux-low.c (regsets_store_inferior_registers) [__sparc__]:
2467 Correct ptrace arguments.
2468
c14dfd32
PA
24692012-03-28 Pedro Alves <palves@redhat.com>
2470
2471 * linux-ia64-low.c (ia64_regmap): Map IA64_EC_REGNUM to PT_AR_EC.
2472 (IA64_GR0_REGNUM, IA64_FR0_REGNUM)
2473 (IA64_FR1_REGNUM): New defines.
2474 (ia64_fetch_register): New.
2475 (the_low_target): Install it.
2476 * linux-low.h (struct linux_target_ops) <fetch_register>: New
2477 field.
2478 * linux-low.c (linux_fetch_registers): Try the
2479 the_low_target.fetch_register hook first.
2480
2481 * linux-arm-low.c (the_low_target): Adjust.
2482 * linux-bfin-low.c (the_low_target): Adjust.
2483 * linux-cris-low.c (the_low_target): Adjust.
2484 * linux-crisv32-low.c (the_low_target): Adjust.
2485 * linux-m32r-low.c (the_low_target): Adjust.
2486 * linux-m68k-low.c (the_low_target): Adjust.
2487 * linux-mips-low.c (the_low_target): Adjust.
2488 * linux-ppc-low.c (the_low_target): Adjust.
2489 * linux-s390-low.c (the_low_target): Adjust.
2490 * linux-sh-low.c (the_low_target): Adjust.
2491 * linux-sparc-low.c (the_low_target): Adjust.
2492 * linux-tic6x-low.c (the_low_target): Adjust.
2493 * linux-x86-low.c (the_low_target): Adjust.
2494 * linux-xtensa-low.c (the_low_target): Adjust.
2495
63c88e13
PA
24962012-03-26 Pedro Alves <palves@redhat.com>
2497
2498 * server.c (handle_qxfer_libraries): Don't bail early if
2499 the_target->qxfer_libraries_svr4 is not NULL.
2500
fb723180
PA
25012012-03-26 Pedro Alves <palves@redhat.com>
2502
2503 * linux-low.c (linux_qxfer_libraries_svr4): Fix pasto in comment.
2504
0afae3cf
PA
25052012-03-23 Pedro Alves <palves@redhat.com>
2506
2507 * linux-low.c (linux_qxfer_libraries_svr4): Terminate the
2508 "library-list-svr4" element's start tag when the the DSO list is
2509 empty.
2510
485f1ee4
PA
25112012-03-23 Pedro Alves <palves@redhat.com>
2512
2513 * linux-low.c (read_one_ptr): Read the inferior's pointer through
2514 a variable whose type size is the same as the inferior's pointer
2515 size.
2516
a5362b9a
TS
25172012-03-21 Thomas Schwinge <thomas@codesourcery.com>
2518
2519 * linux-arm-low.c (arm_stopped_by_watchpoint): Use siginfo_t instead of
2520 struct siginfo.
2521 * linux-low.c (siginfo_fixup, linux_xfer_siginfo): Likewise.
2522 * linux-x86-low.c (x86_siginfo_fixup): Likewise.
2523 * linux-low.h: Include <signal.h>.
2524 (struct siginfo): Remove forward declaration.
2525 (struct linux_target_ops) <siginfo_fixup>: Use siginfo_t instead of
2526 struct siginfo.
2527
d226c142
MF
25282012-03-21 Mike Frysinger <vapier@gentoo.org>
2529
2530 * .gitignore: Ignore more files.
2531
122f36ef
PA
25322012-03-19 Pedro Alves <palves@redhat.com>
2533 Jan Kratochvil <jan.kratochvil@redhat.com>
2534
2535 * server.c (cont_thread, general_thread): Add describing comments.
2536 (start_inferior): Clear `cont_thread'.
2537 (handle_v_cont): Don't set `cont_thread' if resuming all threads
2538 of a process.
2539
fc3e5175
YQ
25402012-03-15 Yao Qi <yao@codesourcery.com>
2541
2542 * tracepoint.c (install_tracepoint): Move duplicated tracepoint
2543 handling to ...
2544 (cmd_qtdp): ... here.
2545
8d0d92cd
YQ
25462012-03-15 Yao Qi <yao@codesourcery.com>
2547
2548 * tracepoint.c (struct tracepoint_action_ops): New.
2549 (struct tracepoint_action) [!IN_PROCESS_AGENT] <ops>: New field.
2550 (m_tracepoint_action_download): New.
2551 (r_tracepoint_action_download): New.
2552 (x_tracepoint_action_download): New.
2553 (l_tracepoint_action_download): New.
2554 (add_tracepoint_action): Install `action->ops' according type.
2555 (download_tracepoint_1): Move code `download' function pointer
2556 of various tracepoint_action_ops.
2557
87b0bb13
JK
25582012-03-13 Jan Kratochvil <jan.kratochvil@redhat.com>
2559
2560 * linux-low.c (linux_attach_lwp_1): New variable buffer. Call
2561 linux_ptrace_attach_warnings.
2562
5f572dec
JK
25632012-03-13 Jan Kratochvil <jan.kratochvil@redhat.com>
2564
2565 * Makefile.in (linux-ptrace.o): New.
2566 * configure.srv (arm*-*-linux*, bfin-*-*linux*, crisv32-*-linux*)
2567 (cris-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*)
2568 (m68*-*-linux*, m68*-*-uclinux*, mips*-*-linux*, powerpc*-*-linux*)
2569 (s390*-*-linux*, sh*-*-linux*, sparc*-*-linux*, tic6x-*-uclinux)
2570 (x86_64-*-linux*, xtensa*-*-linux*): Add linux-ptrace.o to SRV_TGTOBJ
2571 of these targets.
2572 * linux-low.c (linux_attach_lwp_1): Remove redundent else clause.
2573
f4647387
YQ
25742012-03-08 Yao Qi <yao@codesourcery.com>
2575 Pedro Alves <palves@redhat.com>
2576
2577 Fix PR server/13392.
2578 * linux-x86-low.c (amd64_install_fast_tracepoint_jump_pad): Check
2579 offset of JMP insn.
2580 * tracepoint.c (remove_tracepoint): New.
2581 (cmd_qtdp): Call remove_tracepoint when failed to install.
2582
9b224c5e
PA
25832012-03-07 Pedro Alves <palves@redhat.com>
2584
2585 * linux-low.c (get_detach_signal): New.
2586 (linux_detach_one_lwp): Get rid of a pending SIGSTOP with SIGCONT.
2587 Pass on pending signals to PTRACE_DETACH. Check the result of the
2588 ptrace call.
2589 * server.c (program_signals, program_signals_p): New.
2590 (handle_general_set): Handle QProgramSignals.
2591 * server.h (program_signals, program_signals_p): Declare.
2592
e237a7e2
JK
25932012-03-05 Pedro Alves <palves@redhat.com>
2594 Jan Kratochvil <jan.kratochvil@redhat.com>
2595
2596 * linux-low.c (get_dynamic): Don't warn when PT_PHDR isn't found.
2597 New comment why.
2598
5808517f
YQ
25992012-03-03 Yao Qi <yao@codesourcery.com>
2600
2601 * tracepoint.c (tracepoint_look_up_symbols): Update call to
2602 agent_look_up_symbols.
2603
58b4daa5
YQ
26042012-03-03 Yao Qi <yao@codesourcery.com>
2605
2606 * Makefile.in (linux-low.o): Keep dependence on agent.h.
2607 (linux-x86-low.o): Likewise.
2608 * server.h: Remove in_process_agent_loaded.
2609 * tracepoint.c (in_process_agent_loaded): Removed. Moved it
2610 common/agent.c.
2611 Update callers.
2612
8ffcbaaf
YQ
26132012-03-03 Yao Qi <yao@codesourcery.com>
2614
2615 * tracepoint.c (gdb_agent_capability): New global.
2616 (in_process_agent_loaded_ust): Renamed to
2617 `in_process_agent_supports_ust'.
2618 Update callers.
2619 (in_process_agent_supports_ust): Call agent_capability_check.
2620 (clear_installed_tracepoints): Assert that agent supports
2621 agent.
2622
d1feda86
YQ
26232012-03-03 Yao Qi <yao@codesourcery.com>
2624
2625 * linux-low.c (linux_supports_agent): New.
2626 (linux_target_ops): Initialize field `supports_agent' with
2627 linux_supports_agent.
2628 * target.h (struct target_ops) <supports_agent>: New.
2629 (target_supports_agent): New macro.
2630 * server.c (handle_general_set): Handle packet 'QAgent'.
2631 (handle_query): Send `QAgent+'.
2632 * Makefile.in (server.o): Depends on agent.h.
2633
2fa291ac
YQ
26342012-03-03 Yao Qi <yao@codesourcery.com>
2635
2636 * Makefile.in (OBS): Add agent.o.
2637 Add new rule for agent.o.
2638 Track dependence of tracepoint.c on agent.h.
2639 * tracepoint.c (run_inferior_command_1):
2640 (run_inferior_command): Call agent_run_command.
2641 (gdb_ust_connect_sync_socket): Deleted. Move it to
2642 common/agent.c.
2643 (resume_thread, stop_thread): Likewise.
2644 (gdb_ust_socket_init): Renamed to ...
2645 (gdb_agent_socket_init): ... New.
2646 (gdb_ust_thread): Renamed to ...
2647 (gdb_agent_helper_thread): ... New.
2648 (gdb_ust_init): Move some code to ...
2649 (gdb_agent_init): ... here. New.
2650 [HAVE_UST]: Call gdb_ust_init.
2651 (initialize_tracepoint_ftlib): Call gdb_agent_init.
2652 * configure.ac: Add `sys/un.h' to AC_CHECK_HEADERS.
2653 * config.in, configure: Regenerated.
2654
05044653
PA
26552012-03-02 Pedro Alves <palves@redhat.com>
2656
2657 * inferiors.c (add_pid_to_list, pull_pid_from_list): Delete.
2658 * linux-low.c (struct simple_pid_list): New.
2659 (stopped_pids): New a struct simple_pid_list pointer.
2660 (add_to_pid_list, pull_pid_from_list): New.
2661 (handle_extended_wait): Don't assume the first signal new children
2662 report is SIGSTOP. Adjust call to pull_pid_from_list.
2663 (linux_wait_for_lwp): Adjust.
2664
8d00225b
YQ
26652012-03-02 Yao Qi <yao@codesourcery.com>
2666
2667 * tracepoint.c (do_action_at_tracepoint): Write `stop_pc' in
2668 debug log.
2669
19560ba5
YQ
26702012-03-02 Yao Qi <yao@codesourcery.com>
2671
2672 * tracepoint.c (collect_ust_data_at_tracepoint): Remove parameters
2673 `stop_pc' and `tpoint'. Update caller.
2674
1faeff08
MR
26752012-03-01 Maciej W. Rozycki <macro@codesourcery.com>
2676
2677 * linux-low.h (linux_target_ops): Add regset_bitmap member.
2678 * linux-low.c (use_linux_regsets): New macro.
2679 [!HAVE_LINUX_REGSETS] (regsets_fetch_inferior_registers): Likewise.
2680 [!HAVE_LINUX_REGSETS] (regsets_store_inferior_registers): Likewise.
2681 (linux_register_in_regsets): New function.
2682 (usr_fetch_inferior_registers): Skip registers covered by
2683 regsets.
2684 (usr_store_inferior_registers): Likewise.
2685 (usr_fetch_inferior_registers): New macro.
2686 (usr_store_inferior_registers): Likewise.
2687 (linux_fetch_registers): Handle mixed regset/non-regset targets.
2688 (linux_store_registers): Likewise.
2689 * linux-mips-low.c (init_registers_mips_dsp_linux): New
2690 prototype.
2691 (init_registers_mips64_dsp_linux): Likewise.
2692 (init_registers_mips_linux): New macro.
2693 (init_registers_mips_dsp_linux): Likewise.
2694 (mips_dsp_num_regs): Likewise.
2695 (DSP_BASE, DSP_CONTROL): New fallback macros.
2696 (mips_base_regs): New macro.
2697 (mips_regmap): Use it. Fix the size.
2698 (mips_dsp_regmap): New variable.
2699 (mips_dsp_regset_bitmap): Likewise.
2700 (mips_arch_setup): New function.
2701 (mips_cannot_fetch_register): Use the_low_target.regmap rather
2702 than mips_regmap.
2703 (mips_cannot_store_register): Likewise.
2704 (the_low_target): Update .arch_setup, .num_regs and .regmap
2705 initializers. Add .regset_bitmap initializer.
2706 * linux-arm-low.c (the_low_target): Add .regset_bitmap
2707 initializer.
2708 * linux-bfin-low.c (the_low_target): Likewise.
2709 * linux-cris-low.c (the_low_target): Likewise.
2710 * linux-crisv32-low.c (the_low_target): Likewise.
2711 * linux-ia64-low.c (the_low_target): Likewise.
2712 * linux-m32r-low.c (the_low_target): Likewise.
2713 * linux-m68k-low.c (the_low_target): Likewise.
2714 * linux-ppc-low.c (the_low_target): Likewise.
2715 * linux-s390-low.c (the_low_target): Likewise.
2716 * linux-sh-low.c (the_low_target): Likewise.
2717 * linux-sparc-low.c (the_low_target): Likewise.
2718 * linux-tic6x-low.c (the_low_target): Likewise.
2719 * linux-x86-low.c (the_low_target): Likewise.
2720 * linux-xtensa-low.c (the_low_target): Likewise.
2721 * configure.srv <mips*-*-linux*>: Add mips-dsp-linux.o and
2722 mips64-dsp-linux.o to srv_regobj. Add mips-dsp-linux.xml,
2723 mips64-dsp-linux.xml, mips-dsp.xml and mips64-dsp.xml to
2724 srv_xmlfiles.
2725 * Makefile.in (mips-dsp-linux.o, mips-dsp-linux.c): New targets.
2726 (mips64-dsp-linux.o, mips64-dsp-linux.c): Likewise.
2727
c03e6ccc
YQ
27282012-02-29 Yao Qi <yao@codesourcery.com>
2729 Pedro Alves <palves@redhat.com>
2730
2731 * linux-low.c: (linux_wait_1): Call unsuspend_all_lwps when
2732 `step_over_finished' is true.
2733
644cebc9
PA
27342012-02-27 Pedro Alves <palves@redhat.com>
2735
2736 * linux-low.c (pid_is_stopped): Delete, moved to common/.
2737 (linux_attach_lwp_1): Adjust to use linux_proc_pid_is_stopped.
2738
c14d7ab2
PA
27392012-02-27 Pedro Alves <palves@redhat.com>
2740
2741 PR server/9684
2742 * linux-low.c (pid_is_stopped): New.
2743 (linux_attach_lwp_1): Handle attaching to 'T (stopped)' processes.
2744
412c89dd
LM
27452012-02-25 Luis Machado <lgustavo@codesourcery.com>
2746
2747 * mem-break.c (clear_gdb_breakpoint_conditions): Fix de-allocation
2748 of conditions.
2749
b745defe
MR
27502012-02-24 Maciej W. Rozycki <macro@codesourcery.com>
2751
2752 * linux-mips-low.c (mips_regmap): Correct the index of $f9.
2753
9f3a5c85
LM
27542012-02-24 Luis Machado <lgustavo@codesourcery>
2755
2756 * server.c (handle_query): Advertise support for target-side
2757 breakpoint condition evaluation.
2758 (process_point_options): New function.
2759 (process_serial_event): When inserting a breakpoint, check for
2760 a target-side condition that should be evaluated.
2761
2762 * mem-break.c: Include regcache.h and ax.h.
2763 (point_cond_list_t): New data structure.
2764 (breakpoint) <cond_list>: New field.
2765 (find_gdb_breakpoint_at): Make non-static.
2766 (delete_gdb_breakpoint_at): Clear any target-side
2767 conditions.
2768 (clear_gdb_breakpoint_conditions): New function.
2769 (add_condition_to_breakpoint): Likewise.
2770 (add_breakpoint_condition): Likewise.
2771 (gdb_condition_true_at_breakpoint): Likewise.
2772 (gdb_breakpoint_here): Return result directly instead
2773 of going through a local variable.
2774
2775 * mem-break.h (find_gdb_breakpoint_at): New prototype.
2776 (clear_gdb_breakpoint_conditions): Likewise.
2777 (add_breakpoint_condition): Likewise.
2778 (gdb_condition_true_at_breakpoint): Likewise.
2779
2780 * linux-low.c (linux_wait_1): Evaluate target-side breakpoint condition.
2781 (need_step_over_p): Take target-side breakpoint condition into
2782 consideration.
2783
5e1dc496
LM
27842012-02-24 Luis Machado <lgustavo@codesourcery>
2785
2786 * server.h: Include tracepoint.h.
2787 (agent_mem_read, agent_get_trace_state_variable_value,
2788 agent_set_trace_state_variable_value,
2789 agent_tsv_read, agent_mem_read_string, get_get_tsv_func_addr,
2790 get_set_tsv_func_addr): New prototypes.
2791
2792 * ax.h: New include file.
2793 * ax.c: New source file.
2794
2795 * tracepoint.c: Include ax.h.
2796 (gdb_agent_op, gdb_agent_op_names, gdb_agent_op_sizes,
2797 agent_expr, eval_result_type): Move to ax.h.
2798 (parse_agent_expr): Rename to ...
2799 (gdb_parse_agent_expr): ... this, make it non-static and move
2800 to ax.h.
2801 (unparse_agent_expr) Rename to ...
2802 (gdb_unparse_agent_expr): ... this, make it non-static and move
2803 to ax.h.
2804 (eval_agent_expr): Rename to ...
2805 (eval_tracepoint_agent_expr): ... this.
2806 (agent_mem_read, agent_mem_read_string, agent_tsv_read): Remove
2807 forward declarations.
2808 (add_tracepoint_action): Call gdb_parse_agent_expr (...).
2809 (agent_get_trace_state_variable_value): New function.
2810 (agent_set_trace_state_variable_value): New function.
2811 (cmd_qtdp): Call gdb_parse_agent_expr (...).
2812 (response_tracepoint): Call gdb_unparse_agent_expr (...).
2813 (do_action_at_tracepoint): Call eval_tracepoint_agent_expr (...).
2814 (condition_true_at_tracepoint): Likewise.
2815 (parse_agent_expr): Rename to ...
2816 (gdb_parse_agent_expr): ... this and move to ax.c.
2817 (unparse_agent_expr): Rename to ...
2818 (gdb_unparse_agent_expr): ... this and move to ax.c.
2819 (gdb_agent_op_name): Move to ax.c.
2820 (eval_agent_expr): Rename to ...
2821 (gdb_eval_agent_expr): ... this, use regcache passed as parameter
2822 and move to ax.c.
2823 (eval_tracepoint_agent_expr): New function.
2824 (agent_mem_read, agent_mem_read_string, agent_tsv_read): Make
43aaf8b6 2825 non-static.
5e1dc496
LM
2826 (current_insn_ptr, emit_error, struct bytecode_address): Move to
2827 ax.c.
2828 (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul, emit_lsh,
2829 emit_rsh_signed, emit_rsh_unsigned, emit_ext, emit_log_not,
2830 emit_bit_and, emit_bit_or, emit_bit_xor, emit_bit_not, emit_equal,
2831 emit_less_signed, emit_less_unsigned, emit_ref, emit_if_goto,
2832 emit_goto, write_goto_address, emit_const, emit_reg, emit_pop,
2833 emit_stack, emit_zero_ext, emit_swap, emit_stack_adjust,
2834 emit_int_call_1, emit_void_call_2, emit_eq_goto, emit_ne_goto,
2835 emit_lt_goto, emit_ge_goto, emit_gt_goto, emit_le_goto): Move to ax.c.
2836 (get_get_tsv_func_addr, get_set_tsv_func_addr): New functions.
2837 (compile_bytecodes): Remove forward declaration.
2838 (is_goto_target): Move to ax.c.
2839 (compile_bytecodes): Move to ax.c and call
2840 agent_get_trace_state_variable_value (...) and
2841 agent_set_trace_state_variable_value (...).
2842
2843 * Makefile.in: Update ax.c and IPA dependencies.
2844
277e4e52
PA
28452012-02-24 Pedro Alves <palves@redhat.com>
2846
2847 * tracepoint.c (cmd_bigqtbuffer): Rename as ...
2848 (cmd_bigqtbuffer_circular): ... this. Only handle
2849 'QTBuffer:circular:'.
2850 (handle_tracepoint_general_set): Adjust.
2851
bf4c19f7
YQ
28522012-02-16 Yao Qi <yao@codesourcery.com>
2853
2854 * inferiors.c: Move code to ...
2855 * dll.c: .... here. New.
2856 * server.h: Declare clear_dlls.
2857 * Makefile.in (SFILES): Add dll.c.
2858 (OBS): Add dll.o
2859 (dll.o): New rule.
2860
d73f2619
YQ
28612012-02-11 Yao Qi <yao@codesourcery.com>
2862
2863 * server.c: (handle_monitor_command): Add a new parameter
2864 `own_buf'.
2865 (handle_query): Update caller.
2866
f8255c2a
JB
28672012-02-09 Joel Brobecker <brobecker@adacore.com>
2868
2869 * configure.ac: Add readlink to AC_CHECK_FUNCS list.
2870 * configure, config.in: Regenerate.
2871 * hostio.c: Provide an alternate implementation if HAVE_READLINK
2872 is not defined.
2873
da84f473
PA
28742012-02-02 Pedro Alves <palves@redhat.com>
2875
2876 Try SIGKILL first, then PTRACE_KILL.
2877 * linux-low.c (linux_kill_one_lwp): New.
2878 (linux_kill_one_lwp): Rename to ...
2879 (kill_one_lwp_callback): ... this. Use the new
2880 linux_kill_one_lwp.
2881
e886a173
PA
28822012-02-02 Pedro Alves <palves@redhat.com>
2883
2884 * tracepoint.c (cmd_qtminftpilen): Return 0 if there's no current
2885 inferior.
2886
be07f1a2
PA
28872012-01-27 Pedro Alves <palves@redhat.com>
2888
2889 * linux-low.c (linux_child_pid_to_exec_file): Delete.
2890 (elf_64_file_p): Make static.
2891 (linux_pid_exe_is_elf_64_file): New.
2892 * linux-low.h (linux_child_pid_to_exec_file, elf_64_file_p):
2893 Delete declarations.
2894 (linux_pid_exe_is_elf_64_file): Declare.
2895 * linux-x86-low.c (x86_arch_setup): Use
2896 linux_pid_exe_is_elf_64_file.
2897
d8301ad1
JK
28982012-01-25 Jan Kratochvil <jan.kratochvil@redhat.com>
2899
2900 * linux-low.c (linux_wait_for_event_1): Rename to ...
2901 (linux_wait_for_event): ... here and merge it with former
2902 linux_wait_for_event - new variable wait_ptid, use it.
2903 (linux_wait_for_event): Remove - merge it to linux_wait_for_event_1.
2904
01b17894
PA
29052012-01-23 Pedro Alves <palves@redhat.com>
2906
2907 * server.c (main): Avoid yet another case of infinite loop while
2908 detaching/killing after a longjmp.
2909
e825046f
JK
29102012-01-20 Jan Kratochvil <jan.kratochvil@redhat.com>
2911
2912 Code cleanup.
2913 * linux-low.c (linux_wait_for_event_1): Use ptid_is_pid.
2914
b9e7b9c3
UW
29152012-01-20 Ulrich Weigand <ulrich.weigand@linaro.org>
2916
2917 * hostio.c (handle_readlink): New function.
2918 (handle_vFile): Call it to handle "vFile:readlink" packets.
2919
901f9912
UW
29202012-01-20 Pedro Alves <palves@redhat.com>
2921 Ulrich Weigand <ulrich.weigand@linaro.org>
2922
2923 * server.c (handle_v_requests): Only support vAttach and vRun to
2924 start multiple processes when in extended protocol mode.
2925
fc1ab1a0
PA
29262012-01-17 Pedro Alves <palves@redhat.com>
2927
2928 * tracepoint.c (initialize_tracepoint): Use mmap instead of
2929 memalign plus mprotect to allocate the scratch buffer.
2930
7d5d4e98
PA
29312012-01-13 Pedro Alves <palves@redhat.com>
2932
2933 * server.c (attach_inferior): Clear `cont_thread'.
2934
f128d5e9
PA
29352012-01-13 Pedro Alves <palves@redhat.com>
2936
2937 * server.c (main): Avoid infinite loop while detaching/killing
2938 after a longjmp.
2939
06db92f0
DE
29402012-01-09 Doug Evans <dje@google.com>
2941
2942 * server.c (start_inferior): Set last_ptid in --wrapper case.
2943
32d92999
YQ
29442012-01-06 Yao Qi <yao@codesourcery.com>
2945
2946 * tracepoint.c [IN_PROCESS_AGENT] (debug_threads): Macro
2947 defined.
2948 [IN_PROCESS_AGENT] (debug_agent): New global variable.
2949
5e0a92a9
YQ
29502012-01-04 Yao Qi <yao@codesourcery.com>
2951
2952 * tracepoint.c (cmd_qtdp): Print debug message
2953 for static tracepoint.
2954
ae639e8c
YQ
29552012-01-04 Yao Qi <yao@codesourcery.com>
2956
2957 * tracepoint.c (trace_vdebug): Differentiate debug message
2958 between gdbserver and IPA.
2959
f72429c5
YQ
29602012-01-03 Yao Qi <yao@codesourcery.com>
2961
2962 * tracepoint.c (tracepoint_was_hit): Don't collect for
2963 static tracepoint.
2964
12c3e59c
JB
29652012-01-02 Joel Brobecker <brobecker@adacore.com>
2966
2967 * terminal.h: Reformat copyright header.
2968
67827812
JB
29692012-01-02 Joel Brobecker <brobecker@adacore.com>
2970
2971 * server.c (gdbserver_version): Update copyright year.
2972 * gdbreplay.c (gdbreplay_version): Likewise.
2973
3e52c33d
JK
29742011-12-18 Jan Kratochvil <jan.kratochvil@redhat.com>
2975
2976 * linux-low.c (linux_create_inferior): Put empty if clause for write.
2977
2978 Revert:
2979 2011-12-18 Hui Zhu <teawater@gmail.com>
2980 * linux-low.c (linux_create_inferior): Save return value to ret.
2981
66f1260e
HZ
29822011-12-18 Hui Zhu <teawater@gmail.com>
2983
2984 * linux-low.c (linux_create_inferior): Save return value to ret.
2985
e77616d7
DE
29862011-12-16 Doug Evans <dje@google.com>
2987
e7b06c57
DE
2988 * linux-low.c (linux_create_inferior): If stdio connection,
2989 redirect stdin from /dev/null, stdout to stderr.
2990 * remote-utils.c (remote_is_stdio): New static global.
2991 (remote_connection_is_stdio): New function.
2992 (remote_prepare): Handle stdio connection.
2993 (remote_open): Ditto.
2994 (remote_close): Don't close stdin for stdio connections.
2995 (read_prim,write_prim): New functions. Replace all calls to
2996 read/write to these.
2997 * server.c (main): Watch for "-" argument. Move call to
2998 remote_prepare before start_inferior.
2999 * server.h (STDIO_CONNECTION_NAME): New macro.
3000 (remote_connection_is_stdio): Declare.
3001
e77616d7
DE
3002 * remote-utils.c (prepare_resume_reply): Remove extraneous \n
3003 in debugging output.
3004
82067193
YQ
30052011-12-15 Yao Qi <yao@codesourcery.com>
3006
3007 * tracepoint.c: Include sys/syscall.h.
3008 (gdb_ust_thread): Remove preprocessor conditional.
3009
82bfbe7e
PA
30102011-12-14 Pedro Alves <pedro@codesourcery.com>
3011
3012 * linux-low.c (linux_detach_one_lwp): Call
3013 the_low_target.prepare_to_resume before detaching.
3014
712c6575
YQ
30152011-12-14 Yao Qi <yao@codesourcery.com>
3016
3017 * tracepoint.c (gdb_ust_thread): Don't ignore return value
3018 of write.
3019
d54d1edf
YQ
30202011-12-14 Yao Qi <yao@codesourcery.com>
3021
3022 * i386-low.c (i386_low_stopped_data_address): Initialize local
3023 variable `control'.
3024
6210a125
PA
30252011-12-13 Pedro Alves <pedro@codesourcery.com>
3026
3027 PR remote/13492
3028
3029 * i386-low.c (i386_low_stopped_data_address): Avoid fetching
3030 DR_CONTROL unless necessary. Extend comments.
3031 * linux-x86-low.c (x86_linux_prepare_to_resume): Don't write to
3032 DR0-3 if not used. If any watchpoint was set, clear DR_STATUS.
3033
2ece8244
YQ
30342011-12-13 Yao Qi <yao@codesourcery.com>
3035
3036 * tracepoint.c (trace_buffer_alloc): Replace magic numbers with
3037 macros.
3038 (upload_fast_traceframes, upload_fast_traceframes): Likewise.
3039
784867a5
JK
30402011-12-08 Jan Kratochvil <jan.kratochvil@redhat.com>
3041
3042 * linux-low.c (linux_kill): Skip PTRACE_KILL if LWP does not exist.
3043 Print new debug message for such case.
3044
6bf36717
JK
30452011-12-06 Jan Kratochvil <jan.kratochvil@redhat.com>
3046
3047 Fix overlapping memcpy.
3048 * mem-break.c (set_raw_breakpoint_at): New variable buf. Use it for
3049 the read_inferior_memory transfer.
3050 (delete_fast_tracepoint_jump): New variable buf. Use it for the
3051 write_inferior_memory transfer.
3052 (set_fast_tracepoint_jump): New variable buf. Use it for the
3053 read_inferior_memory and write_inferior_memory transfers.
3054 (uninsert_fast_tracepoint_jumps_at, reinsert_fast_tracepoint_jumps_at)
3055 (delete_raw_breakpoint, uninsert_raw_breakpoint): New variable buf.
3056 Use it for the write_inferior_memory transfer.
3057 (check_mem_read, check_mem_write): New gdb_asserts for overlapping
3058 buffers.
3059
50275556
MR
30602011-12-06 Maciej W. Rozycki <macro@codesourcery.com>
3061
3062 * linux-low.c (fetch_register, store_register): Make code
3063 consistent, fix formatting.
3064
7325beb4
MR
30652011-12-06 Maciej W. Rozycki <macro@codesourcery.com>
3066
3067 * linux-low.c (usr_store_inferior_registers): Factor out code
3068 to handle individual registers into...
3069 (store_register): ... this new function.
3070
c642a434
UW
30712011-12-06 Ulrich Weigand <uweigand@de.ibm.com>
3072
3073 * Makefile.in (s390-linux32v1.o, s390-linux32v1.c): New rules.
3074 (s390-linux32v2.o, s390-linux32v2.c): Likewise.
3075 (s390-linux64v1.o, s390-linux64v1.c): Likewise.
3076 (s390-linux64v2.o, s390-linux64v2.c): Likewise.
3077 (s390x-linux64v1.o, s390x-linux64v1.c): Likewise.
3078 (s390x-linux64v2.o, s390x-linux64v2.c): Likewise.
3079 * configure.srv [s390*-*-linux*] (srv_regobj): Add new objects.
3080 (srv_xmlfiles): Add new XML files.
3081
3082 * linux-s390-low.c: Include "elf/common.h", <sys/ptrace.h>,
3083 and <sys/uio.h>.
3084 (PTRACE_GETREGSET, PTRACE_SETREGSET): Define if undefined.
3085 (init_registers_s390_linux32v1): Add prototype.
3086 (init_registers_s390_linux32v2): Likewise.
3087 (init_registers_s390_linux64v1): Likewise.
3088 (init_registers_s390_linux64v2): Likewise.
3089 (init_registers_s390x_linux64v1): Likewise.
3090 (init_registers_s390x_linux64v2): Likewise.
3091 (s390_num_regs): Increment to 52.
3092 (s390_regmap): Add orig_r2 register.
3093 (s390_num_regs_3264): Increment to 68.
3094 (s390_regmap_3264): Add orig_r2 register.
3095 (s390_collect_ptrace_register): Handle orig_r2 register.
3096 (s390_supply_ptrace_register): Likewise.
3097 (s390_fill_last_break): New function.
3098 (s390_store_last_break): Likewise.
3099 (s390_fill_system_call): New function.
3100 (s390_store_system_call): Likewise.
3101 (target_regsets): Handle NT_S390_LAST_BREAK and NT_S390_SYSTEM_CALL
3102 register sets.
3103 (s390_check_regset): New function.
3104 (s390_arch_setup): Check for presence of NT_S390_LAST_BREAK and
3105 NT_S390_SYSTEM_CALL regsets and use appropriate description.
3106 Update target_regsets for available register sets.
3107
2268b414
JK
31082011-12-02 Paul Pluzhnikov <ppluzhnikov@google.com>
3109 Jan Kratochvil <jan.kratochvil@redhat.com>
3110
3111 * linux-low.c (get_phdr_phnum_from_proc_auxv, get_dynamic, get_r_debug)
3112 (read_one_ptr, struct link_map_offsets, linux_qxfer_libraries_svr4):
3113 New.
3114 (struct linux_target_ops): Install linux_qxfer_libraries_svr4.
3115 * linux-low.h (struct process_info_private): New member r_debug.
3116 * server.c (handle_qxfer_libraries): Call
3117 the_target->qxfer_libraries_svr4.
3118 (handle_qxfer_libraries_svr4): New function.
3119 (qxfer_packets): New entry "libraries-svr4".
3120 (handle_query): Check QXFER_LIBRARIES_SVR4 and report libraries-svr4.
3121 * target.h (struct target_ops): New member qxfer_libraries_svr4.
3122 * remote.c (remote_xfer_partial): Call add_packet_config_cmd for
3123 PACKET_qXfer_libraries_svr4.
3124
d6db1fab
UW
31252011-11-30 Ulrich Weigand <uweigand@de.ibm.com>
3126
3127 * linux-s390-low.c (s390_collect_ptrace_register): Fully convert
3128 PSW address/mask between 8-byte and 16-byte formats.
3129 (s390_supply_ptrace_register): Likewise.
3130 (s390_get_pc, s390_set_pc): 4-byte PSW address always includes
3131 basic addressing mode bit.
3132
242f5f1c
SS
31332011-11-24 Stan Shebs <stan@codesourcery.com>
3134
3135 * tracepoint.c (cmd_qtstatus): Use plongest instead of %llx.
3136
f196051f
SS
31372011-11-17 Stan Shebs <stan@codesourcery.com>
3138
3139 * tracepoint.c (struct tracepoint): New field traceframe_usage.
3140 (tracing_start_time): New global.
3141 (tracing_stop_time): New global.
3142 (tracing_user_name): New global.
3143 (tracing_notes): New global.
3144 (tracing_stop_note): New global.
3145 (cmd_qtstart): Set traceframe_usage, start_time.
3146 (stop_tracing): Set stop_time.
3147 (cmd_qtstatus): Report additional status.
3148 (cmd_qtp): New function.
3149 (handle_tracepoint_query): Call it.
3150 (cmd_qtnotes): New function.
3151 (handle_tracepoint_general_set): Call it.
3152 (get_timestamp): Rename from tsv_get_timestamp.
3153
405f8e94
SS
31542011-11-14 Stan Shebs <stan@codesourcery.com>
3155 Kwok Cheung Yeung <kcy@codesourcery.com>
3156
3157 * linux-x86-low.c (small_jump_insn): New.
3158 (i386_install_fast_tracepoint_jump_pad): Add arguments for
3159 trampoline and error message, build a trampoline and issue a small
3160 jump instruction to it.
3161 (x86_install_fast_tracepoint_jump_pad): Add arguments for
3162 trampoline and error message.
3163 (x86_get_min_fast_tracepoint_insn_len): New.
3164 (the_low_target): Add call to x86_get_min_fast_tracepoint_insn_len.
3165 * linux-low.h (struct linux_target_ops): Add arguments to
3166 install_fast_tracepoint_jump_pad operation, add new operation.
3167 * linux-low.c (linux_install_fast_tracepoint_jump_pad): Add
3168 arguments.
3169 (linux_get_min_fast_tracepoint_insn_len): New function.
3170 (linux_target_op): Add new operation.
3171 * tracepoint.c (gdb_trampoline_buffer): New IPA variable.
3172 (gdb_trampoline_buffer_end): Ditto.
3173 (gdb_trampoline_buffer_error): Ditto.
3174 (struct ipa_sym_addresses): Add fields for new IPA variables.
3175 (symbol_list): Add entries for new IPA variables.
3176 (struct tracepoint): Add fields to hold the address range of the
3177 trampoline used by the tracepoint.
3178 (trampoline_buffer_head): New static variable.
3179 (trampoline_buffer_tail): Ditto.
3180 (claim_trampoline_space): New function.
3181 (have_fast_tracepoint_trampoline_buffer): New function.
3182 (clone_fast_tracepoint): Fill in trampoline fields of tracepoint
3183 structure.
3184 (install_fast_tracepoint): Ditto, also add error buffer argument.
3185 (cmd_qtminftpilen): New function.
3186 (handle_tracepoint_query): Add response to qTMinFTPILen packet.
3187 (fast_tracepoint_from_trampoline_address): New function.
3188 (fast_tracepoint_collecting): Handle trampoline as part of jump
3189 pad space.
3190 (set_trampoline_buffer_space): New function.
3191 (initialize_tracepoint): Initialize new IPA variables.
3192 * target.h (struct target_ops): Add arguments to
3193 install_fast_tracepoint_jump_pad operation, add new
3194 get_min_fast_tracepoint_insn_len operation.
3195 (target_get_min_fast_tracepoint_insn_len): New.
3196 (install_fast_tracepoint_jump_pad): Add arguments.
3197 * server.h (IPA_BUFSIZ): Define.
3198 * linux-i386-ipa.c: Include extra header files.
3199 (initialize_fast_tracepoint_trampoline_buffer): New function.
3200 (initialize_low_tracepoint): Call it.
3201 * server.h (set_trampoline_buffer_space): Declare.
3202 (claim_trampoline_space): Ditto.
3203 (have_fast_tracepoint_trampoline_buffer): Ditto.
3204
1e4d1764
YQ
32052011-11-14 Yao Qi <yao@codesourcery.com>
3206
3207 * server.c (handle_query): Handle InstallInTrace for qSupported.
3208 * tracepoint.c (add_tracepoint): Sort list.
3209 (install_tracepoint, download_tracepoint): New.
3210 (cmd_qtdp): Call them to install and download tracepoints.
3211 (sort_tracepoints): Removed.
3212 (cmd_qtstart): Update.
3213
5c73ff4e
YQ
32142011-11-14 Yao Qi <yao@codesourcery.com>
3215
3216 * mem-break.c (inc_ref_fast_tracepoint_jump): New.
3217 * mem-break.h: Declare.
3218 * tracepoint.c (cmd_qtstart): Move some code to ...
3219 (clone_fast_tracepoint, install_fast_tracepoint): ... here.
3220 New.
3221 (download_tracepoints): Move some code to ...
3222 (download_tracepoint_1): ... here. New.
3223
86a30030
YQ
32242011-11-08 Yao Qi <yao@codesourcery.com>
3225
3226 * remote-utils.c (relocate_instruction): A comment fix.
3227
8d26e50c
JB
32282011-11-07 Joel Brobecker <brobecker@adacore.com>
3229
3230 * win32-i386-low.c (dr_status_mirror, dr_control_mirror): Delete.
3231 (i386_dr_low_get_control, i386_dr_low_get_status): Use
3232 dr_status_mirror and dr_control_mirror from debug_reg_state.
3233 (i386_dr_low_get_status): Use debug_reg_state.dr_status_mirror
3234 (i386_initial_stuff): Remove use of deleted globals.
3235 (i386_get_thread_context, i386_set_thread_context,
3236 i386_thread_added): Use dr_status_mirror and dr_control_mirror
3237 from debug_reg_state.
3238
a59306a3
YQ
32392011-11-05 Yao Qi <yao@codesourcery.com>
3240
3241 * tracepoint.c (gdb_collect): Loop over tracepoints of same
3242 address as TPOINT's.
3243
3065dfb6
SS
32442011-11-02 Stan Shebs <stan@codesourcery.com>
3245
3246 * tracepoint.c (agent_mem_read_string): New function.
3247 (eval_agent_expr): Call it for tracenz.
3248 * server.c (handle_query): Report support for tracenz.
3249
fd0d8c7c
YQ
32502011-11-02 Yao Qi <yao@codesourcery.com>
3251
3252 * tracepoint.c (cmd_qtstart): Remove unused local variables.
3253
609086b1
YQ
32542011-11-02 Yao Qi <yao@codesourcery.com>
3255
3256 * target.h: Fix a typo in comment.
3257
b9fd1791
PA
32582011-10-31 Pedro Alves <pedro@codesourcery.com>
3259
3260 * mem-break.c (check_mem_write): Add `myaddr' parameter. Don't
3261 clobber the breakpoints' shadows with fast tracepoint jumps.
3262 * mem-break.h (check_mem_write): Add `myaddr' parameter.
3263 * target.c (write_inferior_memory): Also pass MYADDR down to
3264 check_mem_write.
3265
03583c20
UW
32662011-10-07 Ulrich Weigand <ulrich.weigand@linaro.org>
3267
3268 * configure.ac: Check support for personality routine.
3269 * configure: Regenerate.
3270 * config.in: Likewise.
3271 * linux-low.c: Include <sys/personality.h>.
3272 Define ADDR_NO_RANDOMIZE if necessary.
3273 (linux_create_inferior): Disable address space randomization when
3274 forking inferior, if requested.
3275 (linux_supports_disable_randomization): New function.
3276 (linux_target_ops): Install it.
3277 * server.h (disable_randomization): Declare.
3278 * server.c (disable_randomization): New global variable.
3279 (handle_general_set): Handle QDisableRandomization.
3280 (handle_query): Likewise for qSupported.
3281 (main): Support --disable-randomization and --no-disable-randomization
3282 command line arguments.
3283 * target.h (struct target_ops): Add supports_disable_randomization.
3284 (target_supports_disable_randomization): New macro.
3285
723b724b
MF
32862011-09-29 Mike Frysinger <vapier@gentoo.org>
3287
3288 * linux-low.c (target_loadseg): Add defined PTRACE_GETFDPIC to the
3289 ifdef check.
3290 [PT_GETDSBT] (target_loadmap): Wrap in a defined PT_GETDSBT check.
3291 [!PT_GETDSBT] (target_loadmap): New definition.
3292 (LINUX_LOADMAP, LINUX_LOADMAP_EXEC, LINUX_LOADMAP_INTERP): Define.
3293 (linux_read_loadmap): Change PTRACE_GETDSBT_EXEC to
3294 LINUX_LOADMAP_EXEC, PTRACE_GETDSBT_INTERP to LINUX_LOADMAP_INTERP,
3295 and PT_GETDSBT to LINUX_LOADMAP.
3296 [!PT_GETDSBT] (linux_read_loadmap): Define to NULL.
3297 (linux_target_ops): Delete unnecessary ifdef PT_GETDSBT check.
3298
55329a5c 32992011-09-21 Ulrich Weigand <ulrich.weigand@linaro.org>
71487fd7
UW
3300
3301 * linux-arm-low.c (struct arm_linux_hwbp_cap): Remove.
3302 (arm_linux_hwbp_cap): New static variable.
3303 (arm_linux_get_hwbp_cap): Replace by ...
3304 (arm_linux_init_hwbp_cap): ... this new function.
3305 (arm_linux_get_hw_breakpoint_count): Use arm_linux_hwbp_cap.
3306 (arm_linux_get_hw_watchpoint_count): Likewise.
3307 (arm_linux_get_hw_watchpoint_max_length): Likewise.
3308 (arm_arch_setup): Call arm_linux_init_hwbp_cap.
3309 (arm_prepare_to_resume): Use perror_with_name instead of error.
3310
55329a5c 33112011-09-21 Ulrich Weigand <ulrich.weigand@linaro.org>
09b4ad9f
UW
3312
3313 * linux-arm-low.c: Include <signal.h>.
3314 (PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define if necessary.
3315 (struct arm_linux_hwbp_cap): New data type.
3316 (arm_hwbp_type, arm_hwbp_control_t): New typedefs.
3317 (struct arm_linux_hw_breakpoint): New data type.
3318 (MAX_BPTS, MAX_WPTS): Define.
3319 (struct arch_process_info, struct arch_lwp_info): New data types.
3320 (arm_linux_get_hwbp_cap): New function.
3321 (arm_linux_get_hw_breakpoint_count): Likewise.
3322 (arm_linux_get_hw_watchpoint_count): Likewise.
3323 (arm_linux_get_hw_watchpoint_max_length): Likewise.
3324 (arm_hwbp_control_initialize): Likewise.
3325 (arm_hwbp_control_is_enabled): Likewise.
3326 (arm_hwbp_control_is_initialized): Likewise.
3327 (arm_hwbp_control_disable): Likewise.
3328 (arm_linux_hw_breakpoint_equal): Likewise.
3329 (arm_linux_hw_point_initialize): Likewise.
3330 (struct update_registers_data): New data structure.
3331 (update_registers_callback: New function.
3332 (arm_insert_point): Likewise.
3333 (arm_remove_point): Likewise.
3334 (arm_stopped_by_watchpoint): Likewise.
3335 (arm_stopped_data_address): Likewise.
3336 (arm_new_process): Likewise.
3337 (arm_new_thread): Likewise.
3338 (arm_prepare_to_resume): Likewise.
3339 (the_low_target): Register arm_insert_point, arm_remove_point,
3340 arm_stopped_by_watchpoint, arm_stopped_data_address, arm_new_process,
3341 arm_new_thread, and arm_prepare_to_resume.
3342
6b9801d4
SS
33432011-09-15 Stan Shebs <stan@codesourcery.com>
3344
3345 * server.h (struct emit_ops): Add compare-goto fields.
3346 * tracepoint.c (gdb_agent_op_sizes): New table.
3347 (emit_eq_goto): New function.
3348 (emit_ne_goto): New function.
3349 (emit_lt_goto): New function.
3350 (emit_le_goto): New function.
3351 (emit_gt_goto): New function.
3352 (emit_ge_goto): New function.
3353 (is_goto_target): New function.
3354 (compile_bytecodes): Recognize special cases of compare-goto
3355 combinations and call specialized emitters for them.
3356 * linux-x86-low.c (amd64_emit_eq_goto): New function.
3357 (amd64_emit_ne_goto): New function.
3358 (amd64_emit_lt_goto): New function.
3359 (amd64_emit_le_goto): New function.
3360 (amd64_emit_gt_goto): New function.
3361 (amd64_emit_ge_goto): New function.
3362 (amd64_emit_ops): Add the new functions.
3363 (i386_emit_eq_goto): New function.
3364 (i386_emit_ne_goto): New function.
3365 (i386_emit_lt_goto): New function.
3366 (i386_emit_le_goto): New function.
3367 (i386_emit_gt_goto): New function.
3368 (i386_emit_ge_goto): New function.
3369 (i386_emit_ops): Add the new functions.
3370
bf15cbda
SS
33712011-09-08 Stan Shebs <stan@codesourcery.com>
3372
3373 * linux-x86-low.c (i386_emit_prologue): Save %ebx.
3374 (i386_emit_epilogue): Restore %ebx.
3375
943ca1dd
JZ
33762011-08-31 Jie Zhang <jzhang918@gmail.com>
3377
3378 * server.c (step_thread): Remove definition.
3379 (process_serial_event): Don't handle Hs.
3380 * server.h (step_thread): Remove declaration.
3381 * target.c (set_desired_inferior): Remove use of step_thread.
3382
e3deef73
LM
33832011-08-24 Luis Machado <lgustavo@codesourcery.com>
3384
3385 * linux-low.c: Include linux-procfs.h.
3386 (linux_attach_lwp_1): Update comments.
3387 (linux_attach): Scan for existing threads when attaching to a
3388 process that is the tgid.
3389 * Makefile.in: Update dependencies.
3390
13da1c97
LM
33912011-08-24 Luis Machado <lgustavo@codesourcery.com>
3392
3393 * configure.srv: Add linux-procfs.o dependencies.
3394
881127c9
YQ
33952011-08-14 Yao Qi <yao@codesourcery.com>
3396
3397 * target.h (struct target_ops): Fix indent.
3398 * win32-low.c (win32_target_ops): Fix comment.
3399
58dbd541
YQ
34002011-08-14 Andrew Jenner <andrew@codesourcery.com>
3401 Yao Qi <yao@codesourcery.com>
3402
3403 * Makefile.in (clean): Remove tic6x-*.c files.
3404 (linux-tic6x-low.o, tic6x-c62x-linux.o, tic6x-c64x-linux.o): New rules.
3405 (tic6x-c64xp-linux.o, tic6x-c62x-linux.c, tic6x-c64x-linux.c): Likewise.
3406 (tic6x-c64xp-linux.c): Likewise.
3407 * configure.srv: Add support for tic6x-*-uclinux.
3408 * linux-tic6x-low.c: New.
3409 * linux-low.c (PT_TEXT_ADDR, PT_DATA_ADDR, PT_TEXT_END_ADDR): Define.
3410
78d85199
YQ
34112011-08-14 Andrew Stubbs <ams@codesourcery.com>
3412 Yao Qi <yao@codesourcery.com>
3413
3414 * target.h (struct target_ops): Add read_loadmap.
3415 * linux-low.c (struct target_loadseg): New type.
3416 (struct target_loadmap): New type.
3417 (linux_read_loadmap): New function.
3418 (linux_target_ops): Add linux_read_loadmap.
3419 * server.c (handle_query): Support qXfer:fdpic:read packet.
43aaf8b6
PA
3420 * win32-low.c (win32_target_ops): Initialize field `read_loadmap'
3421 to NULL.
78d85199 3422
a959a88d
EZ
34232011-08-05 Eli Zaretskii <eliz@gnu.org>
3424
3425 * win32-low.c: Include <stdint.h>.
3426
1ced966e
PA
34272011-07-22 Pedro Alves <pedro@codesourcery.com>
3428
3429 * i386-low.c (i386_insert_aligned_watchpoint): Don't pass the info
3430 to the inferior here.
3431 (i386_remove_aligned_watchpoint): Ditto.
3432 (i386_handle_nonaligned_watchpoint): Return immediate on fail to
3433 fit part of the watchpoint in the debug registers.
3434 (i386_update_inferior_debug_regs): New.
3435 (i386_low_insert_watchpoint): Work on a local mirror of the debug
3436 registers, and only update the inferior on success.
3437 (i386_low_remove_watchpoint): Ditto.
3438
d26e3629
KY
34392011-07-22 Kwok Cheung Yeung <kcy@codesourcery.com>
3440
3441 * linux-low.c (compare_ints, unique, list_threads, show_process,
3442 linux_core_of_thread): Delete.
3443 (linux_target_ops): Change linux_core_of_thread to
3444 linux_common_core_of_thread.
3445 (linux_qxfer_osdata): Defer to linux_common_xfer_osdata.
3446 * utils.c (malloc_failure): Change type of argument.
3447 (xmalloc, xrealloc, xcalloc, xsnprintf): Delete.
3448 * Makefile.in (SFILES): Add common/common-utils.c, common/xml-utils.c,
3449 common/linux-osdata.c, common/ptid.c and common/buffer.c.
3450 (OBS): Add xml-utils.o, common-utils.o, ptid.o and buffer.o.
3451 (IPA_OBJS): Add common-utils-ipa.o.
3452 (ptid_h, linux_osdata_h): New macros.
3453 (server_h): Add common/common-utils.h, common/xml-utils.h,
3454 common/buffer.h, common/gdb_assert.h, common/gdb_locale.h and
3455 common/ptid.h.
3456 (common-utils-ipa.o, common-utils.o, xml-utils.o, linux-osdata.o,
3457 ptid.o, buffer.o): New rules.
3458 (linux-low.o): Add common/linux-osdata.h as a dependency.
3459 * configure.srv (srv_tgtobj): Add linux-osdata.o to Linux targets.
3460 * configure.ac: Add AC_HEADER_DIRENT check.
3461 * config.in: Regenerate.
3462 * configure: Regenerate.
3463 * remote-utils.c (xml_escape_text): Delete.
3464 (buffer_grow, buffer_free, buffer_init, buffer_finish,
3465 buffer_xml_printf): Move to common/buffer.c.
3466 * server.c (main): Remove call to initialize_inferiors.
3467 * server.h (struct ptid, ptid_t, minus_one_ptid, null_ptid,
3468 ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp, ptid_get_tid,
3469 ptid_equal, ptid_is_pid, initialize_inferiors, xml_escape_text,
3470 internal_error, gdb_assert, gdb_assert_fail): Delete.
3471 (struct buffer, buffer_grow, buffer_free, buffer_init, buffer_finish,
3472 buffer_xml_printf, buffer_grow_str, buffer_grow_str0): Move to
3473 common/buffer.h.
3474 * inferiors.c (null_ptid, minus_one_ptid, ptid_build, pid_to_ptid,
3475 ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid,
3476 initialize_inferiors): Delete.
3477
2275a1a7
PA
34782011-07-20 Pedro Alves <pedro@codesourcery.com>
3479
3480 * tracepoint.c (tracepoint_look_up_symbols): Return upon the first
3481 symbol error.
3482
0a5b1e09
PA
34832011-05-31 Pedro Alves <pedro@codesourcery.com>
3484
3485 * linux-x86-low.c (i386_dr_low_get_addr): Fix off by one in
3486 assertion.
3487 * win32-i386-low.c (i386_dr_low_get_addr): Ditto.
3488
6938fd34
YQ
34892011-05-26 Yao Qi <yao@codesourcery.com>
3490
3491 * Makefile.in (thread-db.o): Track dependence to
3492 common/gdb_thread_db.h.
3493 * thread-db.c: include gdb_thread_db.h from right place.
3494
b481f9e0
TT
34952011-05-16 Adrian Cornish <gnu@bluedreamer.com>
3496
3497 * linux-i386-ipa.c (supply_static_tracepoint_registers): Pass
3498 __FILE__ and __LINE__ to internal_error.
3499
98a5dd13
DE
35002011-05-13 Doug Evans <dje@google.com>
3501
3502 * thread-db.c (try_thread_db_load_from_sdir): New function.
3503 (try_thread_db_load_from_dir): New function.
3504 (thread_db_load_search): Handle $sdir, ignore $pdir.
3505 Remove trying of system directories if search of
3506 libthread-db-search-path fails, that is now done via $sdir.
3507
d248b706
KY
35082011-05-12 Kwok Cheung Yeung <kcy@codesourcery.com>
3509
3510 * server.c (handle_query): Add EnableDisableTracepoints to the list
3511 of supported features.
43aaf8b6 3512 * tracepoint.c (clear_installed_tracepoints): Uninstall disabled
d248b706 3513 tracepoints.
43aaf8b6
PA
3514 (cmd_qtenable_disable): New.
3515 (cmd_qtstart): Install tracepoints even if disabled.
3516 (handle_tracepoint_general_set): Add call to cmd_qtenable_disable on
3517 receiving a QTEnable or QTDisable packet.
3518 (gdb_collect): Skip data collection if fast tracepoint is disabled.
3519 (ust_marker_to_static_tracepoint): Do not ignore disabled static
3520 tracepoints.
3521 (gdb_probe): Skip data collection if static tracepoint is disabled.
d248b706 3522
84e578fb
DE
35232011-05-10 Doug Evans <dje@google.com>
3524
3525 * thread-db.c (thread_db_handle_monitor_command): Handle elided path.
3526
71f55dd8
DE
35272011-05-04 Doug Evans <dje@google.com>
3528
3529 * linux-low.c (linux_join): Skip process lookup.
3530 * spu-low.c (spu_join): Ditto.
3531 * server.c (join_inferiors_callback): Delete.
3532 (process_serial_event): For 'D' packet (detach) call join_inferior
3533 directly.
3534
4d393d60
JM
35352011-05-04 Joseph Myers <joseph@codesourcery.com>
3536
3537 * README: Don't mention xscale*-*-linux*.
3538 * configure.srv (xscale*-*-linux*): Don't handle target.
3539
b00ad6ff
NF
35402011-04-27 Nathan Froyd <froydnj@codesourcery.com>
3541
3542 * linux-x86-low.c (amd64_emit_const): Call memcpy instead of
3543 casting pointers.
3544 (amd64_emit_reg, amd64_emit_int_call_1, amd64_emit_void_call_2):
3545 (i386_emit_const, i386_emit_reg, i386_emit_int_call_1):
3546 (i386_emit_void_call_2): Likewise.
3547
af96c192
YQ
35482011-04-26 Yao Qi <yao@codesourcery.com>
3549
43aaf8b6
PA
3550 * linux-low.c: Move common macros to linux-ptrace.h.
3551 Include linux-ptrace.h.
af96c192
YQ
3552 * Makefile.in (linux_ptrace_h): New.
3553 (linux-low.o): Depends on linux-ptrace.h.
3554
03f2bd59
JK
35552011-04-24 Jan Kratochvil <jan.kratochvil@redhat.com>
3556
3557 * remote-utils.c (handle_accept_event): Close LISTEN_DESC only if
3558 RUN_ONCE. Comment for the LISTEN_DESC delete_file_handler call.
3559 (remote_prepare): New function with most of the TCP code from ...
3560 (remote_open): ... here. Detect PORT here unconditionally. Move also
3561 setting transport_is_reliable.
3562 * server.c (run_once): New variable.
3563 (gdbserver_usage): Document it.
3564 (main): Set run_once for `--once'. Call remote_prepare. Exit after
3565 the first run if RUN_ONCE.
3566 * server.h (run_once, remote_prepare): New declarations.
3567
7a9dd1b2
TT
35682011-04-19 Tom Tromey <tromey@redhat.com>
3569
3570 * win32-low.c (handle_load_dll): Remove duplicate "the".
3571
81239425
PM
35722011-04-07 Pierre Muller <muller@ics.u-strasbg.fr>
3573
3574 Remove support for old Cygwin 1.5 versions.
3575 * win32-low.c (win32_create_inferior): Use new cygwin_path_list
3576 function to avoid warning.
3577 (win32_add_one_solib): Use cygwin_conv_path function to avoid
3578 warning.
3579
9e0627f1
PM
35802011-03-18 Pierre Muller <muller@ics.u-strasbg.fr>
3581
3582 * gdbserver/server.h (Macro _): Define it if not available.
3583
588eebee
MS
35842011-03-14 Michael Snyder <msnyder@vmware.com>
3585
348af9f7 3586 * hostio.c (handle_close): Remove unnecessary null test.
588eebee 3587
43f70d4c
JB
35882011-03-10 Joel Brobecker <brobecker@adacore.com>
3589
3590 * Makefile.in (maintainer-clean realclean distclean): Remove
3591 "make ... subdir_do" command.
3592
348af9f7
MS
35932011-03-10 Michael Snyder <msnyder@vmware.com>
3594
3595 * tracepoint.c (tracepoint_finish_step): Fix loop variable.
3596
3597 * server.c (handle_v_run): Free alloced buffer on early return.
3598
e637a4f5
YQ
35992011-03-09 Yao Qi <yao@codesourcery.com>
3600
3601 Revert:
3602 2011-03-04 Yao Qi <yao@codesourcery.com>
3603
3604 * Makefile.in: Remove GNU make feature --directory.
3605
3606 2011-03-05 Yao Qi <yao@codesourcery.com>
3607
3608 * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable.
3609 (subdir_do): New make target. Copied from gdb/Makefile.
3610 (maintainer-clean, realclean, distclean, clean): Call corresponding
3611 make targets in common/Makefile.
3612
3613 2011-02-11 Yao Qi <yao@codesourcery.com>
3614
3615 * configure.ac: Call AC_PROG_RANLIB.
3616 * Makefile.in: Remove signals.o from OBS. Link libcommon.a.
3617 * configure: Regenerate.
3618
e6edda56
JK
36192011-03-07 Jan Kratochvil <jan.kratochvil@redhat.com>
3620
3621 * remote-utils.c (putpkt_binary_1): Calculate BUF2 size dynamically.
3622
e5141119
JB
36232011-03-06 Yao Qi <yao@codesourcery.com>
3624
3625 * Makefile.in (REQUIRED_SUBDIRS): Remove $(LIBCOMMON_DIR).
3626
64794aa4
JB
36272011-03-05 Yao Qi <yao@codesourcery.com>
3628
3629 * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable.
3630 (subdir_do): New make target. Copied from gdb/Makefile.
3631 (maintainer-clean, realclean, distclean, clean): Call corresponding
3632 make targets in common/Makefile.
3633
7a762829
YQ
36342011-03-04 Yao Qi <yao@codesourcery.com>
3635
3636 * Makefile.in: Remove GNU make feature --directory.
3637
348af9f7
MS
36382011-03-04 Michael Snyder <msnyder@vmware.com>
3639
3640 * server.c (queue_stop_reply): Call xmalloc not malloc.
3641
36422011-03-02 Michael Snyder <msnyder@vmware.com>
3643
3644 * linux-arm-low.c (arm_arch_setup): Replace malloc with xmalloc.
3645
9f72fee2
MS
36462011-02-28 Michael Snyder <msnyder@vmware.com>
3647
588eebee
MS
3648 * tracepoint.c (cmd_qtv): Discard unused value 'packet'.
3649 (cmd_qtframe): Ditto.
3650 (cmd_qtbuffer): Ditto.
3651 (cmd_bigqtbuffer): Ditto.
3652
9f72fee2
MS
3653 * utils.c (decimal2str): Initialize 'width' to nine, then
3654 don't mess with it.
3655
8040bd49
UW
36562011-02-28 Ulrich Weigand <uweigand@de.ibm.com>
3657
3658 * hostio.c (require_data): Free *data, not data.
3659
7e52cbd0
JK
36602011-02-28 Jan Kratochvil <jan.kratochvil@redhat.com>
3661
3662 * hostio.c (require_data): Use free, not xfree.
3663
9130f83e
MS
36642011-02-27 Michael Snyder <msnyder@vmware.com>
3665
4b812f4e
MS
3666 * server.c (handle_query): Discard unused value.
3667
9130f83e
MS
3668 * hostio.c (require_data): Free malloc memory before returning
3669 error.
3670
69d37113
MS
36712011-02-26 Michael Snyder <msnyder@vmware.com>
3672
3673 * linux-low.c (list_threads): Call closedir for dirent.
3674
35f5825a
MS
36752011-02-27 Michael Snyder <msnyder@vmware.com>
3676
2a589cef
MS
3677 * i386-low.c (i386-length_and_rw_bits): Comment the fact that
3678 a case statement falls through.
3679
0adea5f7
MS
3680 * linux-low.c (linux_xfer_siginfo): Fix fencepost error.
3681
35f5825a
MS
3682 * linux-amd64-ipa.c (gdb_agent_get_raw_reg): Fix fencepost error
3683 in comparison.
3684
238f1c74
MS
36852011-02-26 Michael Snyder <msnyder@vmware.com>
3686
3687 * utils.c (decimal2str): Eliminate dead code and dead param.
3688 (pulongest): Drop dead param from call to decimal2str.
3689 (plongest): Ditto.
3690
633ff500
JB
36912011-02-24 Joel Brobecker <brobecker@adacore.com>
3692
3693 Revert the following patch (not approved yet):
3694 2011-02-21 Hui Zhu <teawater@gmail.com>
3695 * tracepoint.c (tp_printf): New function.
3696 (eval_agent_expr): Handle gdb_agent_op_printf.
3697
f9c6ff72
HZ
36982011-02-21 Hui Zhu <teawater@gmail.com>
3699
3700 * tracepoint.c (tp_printf): New function.
3701 (eval_agent_expr): Handle gdb_agent_op_printf.
3702
94d5e490
TT
37032011-02-18 Tom Tromey <tromey@redhat.com>
3704
3705 * Makefile.in (tracepoint-ipa.o): Depend on ax.def.
3706 (tracepoint.o): Likewise.
3707 * tracepoint.c (enum gdb_agent_op): Use ax.def.
3708 (gdb_agent_op_names): Likewise.
3709
c7f96d2b
TT
37102011-02-18 Tom Tromey <tromey@redhat.com>
3711
3712 * tracepoint.c (enum gdb_agent_op) <gdb_agent_op_pick,
3713 gdb_agent_op_rot>: New constants.
3714 (gdb_agent_op_names): Add pick and roll.
3715 (eval_agent_expr) <gdb_agent_op_pick, gdb_agent_op_rot>: New
3716 cases.
3717
0feedb2c
JK
37182011-02-15 Jan Kratochvil <jan.kratochvil@redhat.com>
3719
3720 * aclocal.m4: Regenerated with aclocal-1.11.1.
3721
b3b9301e
PA
37222011-02-14 Pedro Alves <pedro@codesourcery.com>
3723
3724 * server.c (handle_qxfer_traceframe_info): New.
3725 (qxfer_packets): Register "traceframe-info".
3726 (handle_query): Report support for qXfer:traceframe-info:read+.
3727 * tracepoint.c (match_blocktype): New.
3728 (traceframe_find_block_type): Rename to ...
3729 (traceframe_walk_blocks): ... this. Add callback filter argument,
3730 and use it.
3731 (traceframe_find_block_type): New, reimplemented on top of
3732 traceframe_walk_blocks.
3733 (build_traceframe_info_xml): New.
3734 (traceframe_read_info): New.
3735 * server.h (traceframe_read_info): Declare.
3736
4f3e6fb7
YQ
37372011-02-11 Yao Qi <yao@codesourcery.com>
3738
3739 * configure.ac: Call AC_PROG_RANLIB.
3740 * Makefile.in: Remove signals.o from OBS. Link libcommon.a.
3741 * configure: Regenerate.
3742
764880b7
PA
37432011-02-07 Pedro Alves <pedro@codesourcery.com>
3744
3745 * server.c (gdb_read_memory): Change return semantics to allow
3746 partial transfers.
3747 (handle_search_memory_1): Adjust.
3748 (process_serial_event) <'m' packet>: Handle partial transfers.
3749 * tracepoint.c (traceframe_read_mem): Handle partial transfers.
3750
1c79eb8a
PA
37512011-01-28 Pedro Alves <pedro@codesourcery.com>
3752
3753 * regcache.c (init_register_cache): Initialize
3754 regcache->register_status.
3755 (free_register_cache): Release regcache->register_status.
3756 (regcache_cpy): Copy register_status.
3757 (registers_to_string): Print 'x's for unavailable registers.
3758 (supply_register): Mark the register's status valid or
3759 unavailable, depending on whether a buffer was passed in or not.
3760 (supply_register_zeroed): New.
3761 (supply_regblock): Mark the registers' status valid or
3762 unavailable, depending on whether a buffer was passed in or not.
3763 * regcache.h (REG_UNAVAILABLE, REG_VALID): New defines.
3764 (struct regcache): New `register_status' field.
3765 (supply_register_zeroed): Declare.
3766 * i387-fp.c (i387_xsave_to_cache): Zero out registers using
3767 supply_register_zeroed, rather than passing a NULL buffer to
3768 supply_register.
3769 * tracepoint.c (fetch_traceframe_registers): Update comment.
3770
85724a0e
PA
37712011-01-28 Pedro Alves <pedro@codesourcery.com>
3772
3773 * i387-fp.c (i387_xsave_to_cache): Make passing NULL as register
3774 buffer explicit.
3775
d08aafef
PA
37762011-01-25 Pedro Alves <pedro@codesourcery.com>
3777
3778 * server.h (decode_xfer_write): Change prototype.
3779 * remote-utils.c (decode_xfer_write): Remove `annex' parameter,
3780 and don't extract the annex here.
3781 * server.c (decode_xfer_read): Remove `annex' parameter,
3782 and don't extract the annex here.
3783 (decode_xfer): New.
3784 (struct qxfer): New.
3785 (handle_qxfer_auxv, handle_qxfer_features, handle_qxfer_libraries)
3786 (handle_qxfer_osdata, handle_qxfer_siginfo, handle_qxfer_spu)
3787 (handle_qxfer_statictrace): New functions, abstracted out from
3788 handle_query, and made to use the struct qxfer interface.
3789 (handle_threads_qxfer_proper): Rename to ...
3790 (handle_qxfer_threads_proper): ... this.
3791 (handle_threads_qxfer): Rename to ...
3792 (handle_qxfer_threads): ... this. Adjust.
3793 (qxfer_packets): New array.
3794 (handle_qxfer): New function.
3795 (handle_query): Use handle_qxfer.
3796
493e2a69
MS
37972011-01-05 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
3798
3799 * gdbreplay.c: Shorten lines of >= 80 columns.
3800 * linux-low.c: Ditto.
3801 * linux-ppc-low.c: Ditto.
3802 * linux-s390-low.c: Ditto.
3803 * linux-sparc-low.c: Ditto.
3804 * linux-x86-low.c: Ditto.
3805 * linux-xtensa-low.c: Ditto.
3806 * mem-break.c: Ditto.
3807 * nto-low.c: Ditto.
3808 * regcache.h: Ditto.
3809 * remote-utils.c: Ditto.
3810 * server.c: Ditto.
3811 * server.h: Ditto.
3812 * thread-db.c: Ditto.
3813 * tracepoint.c: Ditto.
3814 * utils.c: Ditto.
3815 * win32-low.h: Ditto.
3816
44944448
JB
38172011-01-05 Joel Brobecker <brobecker@adacore.com>
3818
3819 * gdbserver/configure.ac, gdbserver/gdbserver.1: Copyright year
3820 update.
3821
71ce852c
JB
38222011-01-01 Joel Brobecker <brobecker@adacore.com>
3823
3824 * server.c (gdbserver_version): Update copyright year in version
3825 output.
3826 * gdbreplay.c (gdbreplay_version): Ditto.
3827
eb826dc6
MF
38282010-12-29 Jie Zhang <jie.zhang@analog.com>
3829
3830 * configure.srv (bfin-*-*linux*): Handle Blackfin/Linux targets.
3831 * linux-bfin-low.c: New file.
3832 * linux-low.c: Define PT_TEXT_ADDR, PT_TEXT_END_ADDR, and
3833 PT_DATA_ADDR for BFIN targets.
3834 * Makefile.in (SFILES): Add linux-bfin-low.c.
3835 (clean): Remove reg-bfin.c.
3836 (linux-bfin-low.o, reg-bfin.o, reg-bfin.c): New targets.
3837 * README: Mention supported Blackfin targets.
3838
39ab222a
MF
38392010-12-23 Mike Frysinger <vapier@gentoo.org>
3840
3841 * .gitignore: New file.
3842
a1f2ce7d
MF
38432010-11-16 Mike Frysinger <vapier@gentoo.org>
3844
3845 * linux-low.c (linux_tracefork_child): Add char* cast to arg.
3846
f474844c
JZ
38472010-10-22 Jie Zhang <jie@codesourcery.com>
3848
3849 * Makefile.in: Add FLAGS_TO_PASS variable.
3850 (install): Remove dependency of install-only and recursively
3851 invoke make for install-only.
3852
f1048712
DE
38532010-10-04 Doug Evans <dje@google.com>
3854
3855 * Makefile.in (uninstall): Use $(DESTDIR).
3856
b53a1623
PA
38572010-09-24 Pedro Alves <pedro@codesourcery.com>
3858
e6ee044d
PA
3859 PR gdb/11842
3860
b53a1623
PA
3861 * linux-x86-low.c (compat_siginfo_from_siginfo)
3862 (siginfo_from_compat_siginfo): Also copy si_pid and si_uid when
3863 si_code is < 0. Check for si_code == SI_TIMER before checking for
3864 si_code < 0.
3865
fa1bd1e4
JB
38662010-09-13 Joel Brobecker <brobecker@adacore.com>
3867
3868 * lynx-i386-low.c: New file.
3869 * configure.srv: Add handling of i[34567]86-*-lynxos* targets.
3870
47fac8f8
JB
38712010-09-13 Joel Brobecker <brobecker@adacore.com>
3872
3873 * lynx-low.c (ptrace_request_to_str): Remove handling for
3874 request values that have been removed in LynxOS 5.x.
3875
1adfc54d
JB
38762010-09-13 Joel Brobecker <brobecker@adacore.com>
3877
3878 * lynx-low.c, lynx-ppc-loc.c: Include <sys/ptrace.h> instead of
3879 <ptrace.h>
3880
c2a66c29
NS
38812010-09-09 Nathan Sidwell <nathan@codesourcery.com>
3882
3883 * configure.ac: Add --enable-inprocess-agent option.
3884 * configure: Rebuilt.
3885
32fcada3
YQ
38862010-09-06 Yao Qi <yao@codesourcery.com>
3887
3888 * linux-low.c (linux_kill): Remove unused variable.
3889 (linux_stabilize_threads): Likewise.
3890 * server.c (start_inferior): Likewise.
3891 (queue_stop_reply_callback): Likewise.
3892 * tracepoint.c (do_action_at_tracepoint): Likewise.
3893
0cccb683
YQ
38942010-09-06 Yao Qi <yao@codesourcery.com>
3895
3896 * linux-low.c (maybe_move_out_of_jump_pad): Restore current_inferior
3897 on return.
3898
423ec54c
JK
38992010-09-06 Jan Kratochvil <jan.kratochvil@redhat.com>
3900
3901 * target.c (mywait) <TARGET_WAITKIND_EXITED>: Fix to use INTEGER.
3902
12ac6819
PA
39032010-09-06 Pedro Alves <pedro@codesourcery.com>
3904
3905 * Makefile.in (install-only): Replace $IPA_DEPFILES with
3906 "$(IPA_DEPFILES)".
3907
8ed54b31
JB
39082010-09-01 Joel Brobecker <brobecker@adacore.com>
3909
3910 * gdbserver/lynx-low.c, gdbserver/lynx-low.h,
3911 gdbserver/lynx-ppc-low.c: New files.
3912 * Makefile.in (lynx_low_h): New variable.
3913 (lynx-low.o, lynx-ppc-low.o): New rules.
3914 * configure.ac: On LynxOS, link with -lnetinet.
3915 * configure.srv: Add handling of powerpc-*-lynxos* targets.
3916 * configure: regenerate.
3917
bb0116a4
JB
39182010-09-01 Joel Brobecker <brobecker@adacore.com>
3919
3920 * Makefile.in (vasprintf.o, vsnprintf.o): New rules.
3921 * configure.ac: Add check for vasprintf and vsnprintf.
3922 * configure, config.in: Regenerate.
3923 * server.h (vasprintf, vsnprintf): Add conditional declarations.
3924
a778ab81 39252010-09-01 Joel Brobecker <brobecker@adacore.com>
3926
3927 * gdbreplay.c: Move include of alloca.h up, next to include of
3928 malloc.h.
3929 * server.h: Add include of malloc.h.
3930 * mem-break.c: Remove include of malloc.h.
3931 * server.c, tracepoint.c, utils.c, win32-low.c: Likewise.
3932
8b034a19 39332010-09-01 Joel Brobecker <brobecker@adacore.com>
3934
3935 * Makefile.in (memmem.o): Build with -Wno-error.
3936
39372010-09-01 Joel Brobecker <brobecker@adacore.com>
3938
3939 * utils.c (xsnprintf): Make non-static.
3940 * server.h: Add xsnprintf declaration.
3941 * linux-low.c, nto-low.c, target.c, thread-db.c, tracepoint.c:
3942 replace calls to snprintf by calls to xsnprintf throughout.
3943
39442010-09-01 Joel Brobecker <brobecker@adacore.com>
3945
3946 * configure.ac: Add configure check for alloca.
3947 * configure, config.in: Regenerate.
3948 * server.h: Include alloca.h if it exists.
3949 * gdbreplay.c: Include alloca.h if it exists.
3950
1a981360
PA
39512010-08-28 Pedro Alves <pedro@codesourcery.com>
3952
3953 * linux-low.c (__SIGRTMIN): Define if not already defined.
3954 (linux_create_inferior): Check for __ANDROID__ rather than
3955 __SIGRTMIN.
3956 (enqueue_one_deferred_signal): Don't requeue non-RT signals that
3957 are already deferred.
3958 (linux_wait_1): Check for __ANDROID__ rather than __SIGRTMIN.
3959 (linux_resume_one_thread): Don't queue a SIGSTOP if the lwp is
3960 stopped and already has a pending signal to report.
3961 (proceed_one_lwp): : Don't queue a SIGSTOP if the lwp already has
3962 a pending signal to report or is moving out of a jump pad.
3963 (linux_init_signals): Check for __ANDROID__ rather than
3964 __SIGRTMIN.
3965
b4d51a55
PA
39662010-08-28 Pedro Alves <pedro@codesourcery.com>
3967
3968 * linux-low.c (linux_stabilize_threads): Wrap debug output in a
3969 debug_threads check. Avoid a linear search when not doing debug
3970 output.
3971
ec48365d
PA
39722010-08-27 Pedro Alves <pedro@codesourcery.com>
3973
3974 * event-loop.c (event_handle_func): Adjust to use gdb_fildes_t.
3975 (struct gdb_event) <fd>: Change type to gdb_fildes_t.
3976 (struct file_handler) <fd>: Change type to gdb_fildes_t.
3977 (process_event): Change local fd's type to gdb_fildes_t.
3978 (create_file_handler): Adjust prototype.
3979 (delete_file_handler): Adjust prototype.
3980 (handle_file_event): Adjust prototype. Use pfildes.
3981 (create_file_event): Adjsut prototype.
3982 * remote-utils.c (remote_desc, listen_desc): Change type to
3983 gdb_fildes_t.
3984 * server.h: New gdb_fildes_t typedef.
3985 [USE_WIN32API]: Include winsock2.h.
3986 (delete_file_handler, add_file_handler): Adjust prototypes.
3987 (pfildes): Declare.
3988 * utils.c (pfildes): New.
3989
854d88f0
PA
39902010-08-27 Pedro Alves <pedro@codesourcery.com>
3991
3992 * configure.ac (build_warnings): Add -Wno-char-subscripts.
3993 * configure: Regenerate.
3994
0146f85b
PA
39952010-08-27 Pedro Alves <pedro@codesourcery.com>
3996
3997 * linux-low.c (linux_unprepare_to_access_memory): Rename to ...
3998 (linux_done_accessing_memory): ... this.
3999 (linux_target_ops): Adjust.
4000 * linux-x86-low.c (x86_insert_point, x86_remove_point): Adjust.
4001 * nto-low.c (nto_target_ops): Adjust comment.
4002 * server.c (gdb_read_memory, gdb_write_memory): Adjust.
4003 * spu-low.c (spu_target_ops): Adjust comment.
4004 * target.h (target_ops): Rename unprepare_to_access_memory field
4005 to done_accessing_memory.
4006 (unprepare_to_access_memory): Rename to ...
4007 (done_accessing_memory): ... this.
4008
90d74c30
PA
40092010-08-26 Pedro Alves <pedro@codesourcery.com>
4010
4011 * linux-low.c (linux_prepare_to_access_memory): New.
4012 (linux_unprepare_to_access_memory): New.
4013 (linux_target_ops): Install them.
4014 * server.c (read_memory): Rename to ...
4015 (gdb_read_memory): ... this. Use
4016 prepare_to_access_memory/prepare_to_access_memory.
4017 (write_memory): Rename to ...
4018 (gdb_write_memory): ... this. Use
4019 prepare_to_access_memory/prepare_to_access_memory.
4020 (handle_search_memory_1): Adjust.
4021 (process_serial_event): Adjust.
4022 * target.h (struct target_ops): New fields
4023 prepare_to_access_memory and unprepare_to_access_memory.
4024 (prepare_to_access_memory, unprepare_to_access_memory): New.
4025 * linux-x86-low.c (x86_insert_point, x86_remove_point): Use
4026 prepare_to_access_memory/prepare_to_access_memory.
4027 * nto-low.c (nto_target_ops): Adjust.
4028 * spu-low.c (spu_target_ops): Adjust.
4029 * win32-low.c (win32_target_ops): Adjust.
4030
fd467969
PA
40312010-08-26 Pedro Alves <pedro@codesourcery.com>
4032
4033 * Makefile.in (WARN_CFLAGS): Get it from configure.
4034 (WERROR_CFLAGS): New.
4035 (INTERNAL_CFLAGS): Add WERROR_CFLAGS.
4036 * configure.ac: Introduce --enable-werror, which adds -Werror to
4037 the compiler command line. Enabled by default. Disable with
4038 --disable-werror. Add -Wdeclaration-after-statement
4039 Wpointer-arith and -Wformat-nonliteral to warning flags.
4040 * configure: Regenerate.
4041
331e2f5f
PA
40422010-08-26 Pedro Alves <pedro@codesourcery.com>
4043
4044 * mem-break.c [HAVE_MALLOC_H]: Include malloc.h.
4045
e581f2b4
PA
40462010-08-26 Pedro Alves <pedro@codesourcery.com>
4047
4048 * gdbreplay.c (remote_error): New.
4049 (gdbchar): New.
4050 (expect): Use gdbchar. Check for error reading from GDB.
4051 Clarify sync error output.
4052 (play): Check for errors writing to GDB.
4053 * linux-low.c (sigchld_handler): Really ignore `write' errors.
4054 * remote-utils.c (getpkt): Check for errors writing to the remote
4055 descriptor.
4056
3c11dd79
PA
40572010-08-25 Pedro Alves <pedro@codesourcery.com>
4058
4059 * linux-low.c (linux_wait_1): Move non-debugging code out of
4060 `debug_threads' control.
4061
d20a8ad9
PA
40622010-08-25 Pedro Alves <pedro@codesourcery.com>
4063
4064 * linux-low.c (linux_wait_1): Don't set last_status here.
4065 * server.c (push_event, queue_stop_reply_callback): Assert we're
4066 not pushing a TARGET_WAITKIND_IGNORE event.
4067 (start_inferior, start_inferior, attach_inferior, handle_v_cont)
4068 (myresume, handle_target_event): Set the thread's last_resume_kind
4069 and last_status from the target returned status.
4070
964e4306
PA
40712010-08-25 Pedro Alves <pedro@codesourcery.com>
4072
4073 PR threads/10729
4074
4075 * linux-x86-low.c (update_debug_registers_callback): New.
4076 (i386_dr_low_set_addr): Use it.
4077 (i386_dr_low_get_addr): New.
4078 (i386_dr_low_set_control): Use update_debug_registers_callback.
4079 (i386_dr_low_get_control): New.
4080 (i386_dr_low_get_status): Adjust.
4081 * linux-low.c (linux_stop_lwp): New.
4082 * linux-low.h (linux_stop_lwp): Declare.
4083
4084 * i386-low.c (I386_DR_GET_RW_LEN): Take the dr7 contents as
4085 argument instead of a i386_debug_reg_state.
4086 (I386_DR_WATCH_HIT): Take the dr6 contents as argument instead of
4087 a i386_debug_reg_state.
4088 (i386_insert_aligned_watchpoint): Adjust.
4089 (i386_remove_aligned_watchpoint): Adjust.
4090 (i386_low_stopped_data_address): Read the debug registers from the
4091 inferior instead of from the mirrors.
4092 * i386-low.h (struct i386_debug_reg_state): Extend comment.
4093 (i386_dr_low_get_addr): Declare.
4094 (i386_dr_low_get_control): Declare.
4095 (i386_dr_low_get_status): Change prototype.
4096
4097 * win32-i386-low.c (dr_status_mirror, dr_control_mirror): New globals.
4098 (i386_dr_low_get_addr): New.
4099 (i386_dr_low_get_control): New.
4100 (i386_dr_low_get_status): Adjust prototype. Return
4101 dr_status_mirror.
4102 (i386_initial_stuff): Clear dr_status_mirror and
4103 dr_control_mirror.
4104 (i386_get_thread_context): Adjust.
4105 (i386_set_thread_context): Adjust.
4106 (i386_thread_added): Adjust.
4107
5f21a75b
PA
41082010-08-24 Pedro Alves <pedro@codesourcery.com>
4109
4110 * linux-low.h (linux_thread_area): Delete declaration.
4111
3e4c1235
TS
41122010-08-11 Thomas Schwinge <thomas@codesourcery.com>
4113
4114 * linux-low.c (linux_wait_1): Correctly return the ptid of the child
4115 after its termination.
4116
1971b033
PA
41172010-08-09 Pedro Alves <pedro@codesourcery.com>
4118
4119 * linux-low.c (gdb_wants_lwp_stopped): Delete.
4120 (gdb_wants_all_stopped): Delete.
4121 (linux_wait_1): Don't call them.
4122 * server.c (handle_v_cont): Tag all threads as want-stopped.
4123 (gdb_wants_thread_stopped): Fix comments. Tag the thread that
4124 stopped as "client-wants-stopped".
4125
310444ac
PA
41262010-07-31 Pedro Alves <pedro@codesourcery.com>
4127
4128 * Makefile.in (signals_h): New.
4129 (server_h): Depend on it.
4130 (server.o): Don't depend on $(signals_def).
4131 (signals.o): Depend on $(signals_def).
4132
a19cae16
JK
41332010-07-31 Jan Kratochvil <jan.kratochvil@redhat.com>
4134
4135 * Makefile.in (signals_def): New.
4136 (server_h): Append include/gdb/signals.h and signals_def.
4137 (server.o): Append signals_def.
4138
30d50328
JK
41392010-07-25 Jan Kratochvil <jan.kratochvil@redhat.com>
4140
4141 * server.c (handle_target_event): Use target_signal_to_host for
4142 resume_info.sig initialization.
4143 * target.h (struct thread_resume) <sig>: New comment.
4144
5c3216e2
OS
41452010-07-20 Ozkan Sezer <sezeroz@gmail.com>
4146
c6f46ca0
OS
4147 * server.c (handle_query): strcpy() the returned string from paddress()
4148 instead of sprintf().
5c3216e2
OS
4149 * utils.c (paddress): Return phex_nz().
4150
6bd31874
JB
41512010-07-07 Joel Brobecker <brobecker@adacore.com>
4152
4153 * server.c (handle_v_cont): Call mourn_inferior if process
4154 just exited.
4155 (myresume): Likewise.
4156
0fb4aa4b
PA
41572010-07-01 Pedro Alves <pedro@codesourcery.com>
4158
4159 Static tracepoints, and integration with UST.
4160
4161 * configure.ac: Handle --with-ust. substitute ustlibs and ustinc.
4162 * mem-break.c (uninsert_all_breakpoints)
4163 (reinsert_all_breakpoints): New.
4164 * mem-break.h (reinsert_all_breakpoints, uninsert_all_breakpoints):
4165 * tracepoint.c (ust_loaded, helper_thread_id, cmd_buf): New.
4166 (gdb_agent_ust_loaded, helper_thread_id)
4167 (gdb_agent_helper_thread_id): New macros.
4168 (struct ipa_sym_addresses): Add addr_ust_loaded,
4169 addr_helper_thread_id, addr_cmd_buf.
4170 (symbol_list): Add ust_loaded, helper_thread_id, cmd_buf.
4171 (in_process_agent_loaded_ust): New.
4172 (write_e_ust_not_loaded): New.
4173 (maybe_write_ipa_ust_not_loaded): New.
4174 (struct collect_static_trace_data_action): New.
4175 (enum tracepoint_type) <static_tracepoint>: New.
4176 (struct tracepoint) <handle>: Mention static tracepoints.
4177 (struct static_tracepoint_ctx): New.
4178 (CMD_BUF_SIZE): New.
4179 (add_tracepoint_action): Handle static tracepoint actions.
4180 (unprobe_marker_at): New.
4181 (clear_installed_tracepoints): Handle static tracepoints.
4182 (cmd_qtdp): Handle static tracepoints.
4183 (probe_marker_at): New.
4184 (cmd_qtstart): Handle static tracepoints.
4185 (response_tracepoint): Handle static tracepoints.
4186 (cmd_qtfstm, cmd_qtsstm, cmd_qtstmat): New.
4187 (handle_tracepoint_query): Handle qTfSTM, qTsSTM and qTSTMat.
4188 (get_context_regcache): Handle static tracepoints.
4189 (do_action_at_tracepoint): Handle static tracepoint actions.
4190 (traceframe_find_block_type): Handle static trace data blocks.
4191 (traceframe_read_sdata): New.
4192 (download_tracepoints): Download static tracepoint actions.
4193 [HAVE_UST] Include ust/ust.h, dlfcn.h, sys/socket.h, and sys/un.h.
4194 (GDB_PROBE_NAME): New.
4195 (ust_ops): New.
4196 (GET_UST_SYM): New.
4197 (USTF): New.
4198 (dlsym_ust): New.
4199 (ust_marker_to_static_tracepoint): New.
4200 (gdb_probe): New.
4201 (collect_ust_data_at_tracepoint): New.
4202 (gdb_ust_probe): New.
4203 (UNIX_PATH_MAX, SOCK_DIR): New.
4204 (gdb_ust_connect_sync_socket): New.
4205 (resume_thread, stop_thread): New.
4206 (run_inferior_command): New.
4207 (init_named_socket): New.
4208 (gdb_ust_socket_init): New.
4209 (cstr_to_hexstr): New.
4210 (next_st): New.
4211 (first_marker, next_marker): New.
4212 (response_ust_marker): New.
4213 (cmd_qtfstm, cmd_qtsstm): New.
4214 (unprobe_marker_at, probe_marker_at): New.
4215 (cmd_qtstmat, gdb_ust_thread): New.
4216 (gdb_ust_init): New.
4217 (initialize_tracepoint_ftlib): Call gdb_ust_init.
4218 * linux-amd64-ipa.c [HAVE_UST]: Include ust/processor.h
4219 (ST_REGENTRY): New.
4220 (x86_64_st_collect_regmap): New.
4221 (X86_64_NUM_ST_COLLECT_GREGS): New.
4222 (AMD64_RIP_REGNUM): New.
4223 (supply_static_tracepoint_registers): New.
4224 * linux-i386-ipa.c [HAVE_UST]: Include ust/processor.h
4225 (ST_REGENTRY): New.
4226 (i386_st_collect_regmap): New.
4227 (i386_NUM_ST_COLLECT_GREGS): New.
4228 (supply_static_tracepoint_registers): New.
4229 * server.c (handle_query): Handle qXfer:statictrace:read.
4230 <qSupported>: Report support for StaticTracepoints, and
4231 qXfer:statictrace:read features.
4232 * server.h (traceframe_read_sdata)
4233 (supply_static_tracepoint_registers): Declare.
4234 * remote-utils.c (convert_int_to_ascii, hexchars, ishex, tohex)
4235 (unpack_varlen_hex): Include in IPA build.
4236 * Makefile.in (ustlibs, ustinc): New.
4237 (IPA_OBJS): Add remote-utils-ipa.o.
4238 ($(IPA_LIB)): Link -ldl and -lpthread.
4239 (UST_CFLAGS): New.
4240 (IPAGENT_CFLAGS): Add UST_CFLAGS.
4241 * config.in, configure: Regenerate.
4242
9e4344e5
PA
42432010-06-20 Ian Lance Taylor <iant@google.com>
4244 Pedro Alves <pedro@codesourcery.com>
4245
4246 * linux-x86-low.c (always_true): Delete.
4247 (EMIT_ASM, EMIT_ASM32): Use an uncondition asm jmp instead of
4248 trying to fool the compiler with always_true.
4249
c6beb2cb
PA
42502010-06-20 Pedro Alves <pedro@codesourcery.com>
4251
4252 * tracepoint.c (condition_true_at_tracepoint): Don't run compiled
4253 conditions in gdbserver.
4254
d2ed6730
UW
42552010-06-19 Ulrich Weigand <uweigand@de.ibm.com>
4256
4257 * spu-low.c (spu_read_memory): Wrap around local store limit.
4258 (spu_write_memory): Likewise.
4259
4e29fb54
PA
42602010-06-15 Pedro Alves <pedro@codesourcery.com>
4261
4262 * linux-x86-low.c (amd64_emit_const, amd64_emit_void_call_2)
4263 (i386_emit_const, i386_emit_void_call_2): Replace int64_t uses with
4264 LONGEST uses.
4265 * server.h (struct emit_ops): Replace int64_t uses with LONGEST
4266 uses.
4267 * tracepoint.c (emit_const, emit_void_call_2): Replace int64_t
4268 uses with LONGEST uses.
4269
6a271cae
PA
42702010-06-14 Stan Shebs <stan@codesourcery.com>
4271 Pedro Alves <pedro@codesourcery.com>
4272
4273 Bytecode compiler.
4274
4275 * linux-x86-low.c: Include limits.h.
4276 (add_insns): New.
4277 (always_true): New.
4278 (EMIT_ASM): New.
4279 (EMIT_ASM32): New.
4280 (amd64_emit_prologue, amd64_emit_epilogue, amd64_emit_add)
4281 (amd64_emit_sub, amd64_emit_mul, amd64_emit_lsh)
4282 (amd64_emit_rsh_signed, amd64_emit_rsh_unsigned, amd64_emit_ext,
4283 (amd64_emit_log_not, amd64_emit_bit_and, amd64_emit_bit_or)
4284 (amd64_emit_bit_xor, amd64_emit_bit_not, amd64_emit_equal,
4285 (amd64_emit_less_signed, amd64_emit_less_unsigned, amd64_emit_ref,
4286 (amd64_emit_if_goto, amd64_emit_goto, amd64_write_goto_address)
4287 (amd64_emit_const, amd64_emit_call, amd64_emit_reg)
4288 (amd64_emit_pop, amd64_emit_stack_flush, amd64_emit_zero_ext)
4289 (amd64_emit_swap, amd64_emit_stack_adjust, amd64_emit_int_call_1)
4290 (amd64_emit_void_call_2): New.
4291 (amd64_emit_ops): New.
4292 (i386_emit_prologue, i386_emit_epilogue, i386_emit_add)
4293 (i386_emit_sub,i386_emit_mul, i386_emit_lsh, i386_emit_rsh_signed)
4294 (i386_emit_rsh_unsigned, i386_emit_ext, i386_emit_log_not)
4295 (i386_emit_bit_and, i386_emit_bit_or, i386_emit_bit_xor)
4296 (i386_emit_bit_not, i386_emit_equal, i386_emit_less_signed)
4297 (i386_emit_less_unsigned, i386_emit_ref, i386_emit_if_goto)
4298 (i386_emit_goto, i386_write_goto_address, i386_emit_const)
4299 (i386_emit_call, i386_emit_reg, i386_emit_pop)
4300 (i386_emit_stack_flush, i386_emit_zero_ext, i386_emit_swap)
4301 (i386_emit_stack_adjust, i386_emit_int_call_1)
4302 (i386_emit_void_call_2): New.
4303 (i386_emit_ops): New.
4304 (x86_emit_ops): New.
4305 (the_low_target): Install x86_emit_ops.
4306 * server.h (struct emit_ops): New.
4307 (get_raw_reg_func_addr): Declare.
4308 (current_insn_ptr, emit_error): Declare.
4309 * tracepoint.c (get_raw_reg, get_trace_state_variable_value)
4310 (set_trace_state_variable_value): New defines.
4311 (struct ipa_sym_addresses): New fields addr_get_raw_reg,
4312 addr_get_trace_state_variable_value and
4313 addr_set_trace_state_variable_value.
4314 (symbol_list): New fields for get_raw_reg,
4315 get_trace_state_variable_value and set_trace_state_variable_value.
4316 (condfn): New typedef.
4317 (struct tracepoint): New field `compiled_cond'.
4318 (do_action_at_tracepoint): Clear compiled_cond.
4319 (get_trace_state_variable_value, set_trace_state_variable_value):
4320 Export in the IPA.
4321 (condition_true_at_tracepoint): If there's a compiled condition,
4322 run that.
4323 (current_insn_ptr, emit_error): New globals.
4324 (struct bytecode_address): New.
4325 (get_raw_reg_func_addr): New.
4326 (emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul)
4327 (emit_lsh, emit_rsh_signed, emit_rsh_unsigned, emit_ext)
4328 (emit_log_not, emit_bit_and, emit_bit_or, emit_bit_xor)
4329 (emit_bit_not, emit_equal, emit_less_signed, emit_less_unsigned)
4330 (emit_ref, emit_if_goto, emit_goto, write_goto_address, emit_const)
4331 (emit_reg, emit_pop, emit_stack_flush, emit_zero_ext, emit_swap)
4332 (emit_stack_adjust, emit_int_call_1, emit_void_call_2): New.
4333 (compile_tracepoint_condition, compile_bytecodes): New.
4334 * target.h (emit_ops): Forward declare.
4335 (struct target_ops): New field emit_ops.
4336 (target_emit_ops): New.
4337 * linux-amd64-ipa.c (gdb_agent_get_raw_reg): New.
4338 * linux-i386-ipa.c (gdb_agent_get_raw_reg): New.
4339 * linux-low.c (linux_emit_ops): New.
4340 (linux_target_ops): Install it.
4341 * linux-low.h (struct linux_target_ops): New field emit_ops.
4342
92b72907
UW
43432010-06-14 Ulrich Weigand <uweigand@de.ibm.com>
4344
4345 * linux-ppc-low.c (ppc_arch_setup): Use private regcache to test MSR.
4346 * linux-s390-low.c (ppc_arch_setup): Use private regcache to test PSW.
4347
fa593d66
PA
43482010-06-01 Pedro Alves <pedro@codesourcery.com>
4349 Stan Shebs <stan@codesourcery.com>
4350
4351 * Makefile.in (IPA_DEPFILES, extra_libraries): New.
4352 (all): Depend on $(extra_libraries).
4353 (install-only): Install the IPA.
4354 (IPA_OBJS, IPA_LIB): New.
4355 (clean): Remove the IPA lib.
4356 (IPAGENT_CFLAGS): New.
4357 (tracepoint-ipa.o, utils-ipa.o, remote-utils-ipa.o)
4358 (regcache-ipa.o, i386-linux-ipa.o, linux-i386-ipa.o)
4359 (linux-amd64-ipa.o, amd64-linux-ipa.o): New rules.
4360 * linux-amd64-ipa.c, linux-i386-ipa.c: New files.
4361 * configure.ac: Check for atomic builtins support in the compiler.
4362 (IPA_DEPFILES, extra_libraries): Define.
4363 * configure.srv (ipa_obj): Add description.
4364 (ipa_i386_linux_regobj, ipa_amd64_linux_regobj): Define.
4365 (i[34567]86-*-linux*): Set ipa_obj.
4366 (x86_64-*-linux*): Set ipa_obj.
4367 * linux-low.c (stabilizing_threads): New.
4368 (supports_fast_tracepoints): New.
4369 (linux_detach): Stabilize threads before detaching.
4370 (handle_tracepoints): Handle internal tracing breakpoints. Assert
4371 the lwp is either not stabilizing, or is moving out of a jump pad.
4372 (linux_fast_tracepoint_collecting): New.
4373 (maybe_move_out_of_jump_pad): New.
4374 (enqueue_one_deferred_signal): New.
4375 (dequeue_one_deferred_signal): New.
4376 (linux_wait_for_event_1): If moving out of a jump pad, defer
4377 pending signals to later.
4378 (linux_stabilize_threads): New.
4379 (linux_wait_1): Check if threads need moving out of jump pads, and
4380 do it if so.
4381 (stuck_in_jump_pad_callback): New.
4382 (move_out_of_jump_pad_callback): New.
4383 (lwp_running): New.
4384 (linux_resume_one_lwp): Handle moving out of jump pads.
4385 (linux_set_resume_request): Dequeue deferred signals.
4386 (need_step_over_p): Also step over fast tracepoint jumps.
4387 (start_step_over): Also uninsert fast tracepoint jumps.
4388 (finish_step_over): Also reinsert fast tracepoint jumps.
4389 (linux_install_fast_tracepoint_jump): New.
4390 (linux_target_ops): Install linux_stabilize_threads and
4391 linux_install_fast_tracepoint_jump_pad.
4392 * linux-low.h (linux_target_ops) <get_thread_area,
4393 install_fast_tracepoint_jump_pad>: New fields.
4394 (struct lwp_info) <collecting_fast_tracepoint,
4395 pending_signals_to_report, exit_jump_pad_bkpt>: New fields.
4396 (linux_get_thread_area): Declare.
4397 * linux-x86-low.c (jump_insn): New.
4398 (x86_get_thread_area): New.
4399 (append_insns): New.
4400 (push_opcode): New.
4401 (amd64_install_fast_tracepoint_jump_pad): New.
4402 (i386_install_fast_tracepoint_jump_pad): New.
4403 (x86_install_fast_tracepoint_jump_pad): New.
4404 (the_low_target): Install x86_get_thread_area and
4405 x86_install_fast_tracepoint_jump_pad.
4406 * mem-break.c (set_raw_breakpoint_at): Use read_inferior_memory.
4407 (struct fast_tracepoint_jump): New.
4408 (fast_tracepoint_jump_insn): New.
4409 (fast_tracepoint_jump_shadow): New.
4410 (find_fast_tracepoint_jump_at): New.
4411 (fast_tracepoint_jump_here): New.
4412 (delete_fast_tracepoint_jump): New.
4413 (set_fast_tracepoint_jump): New.
4414 (uninsert_fast_tracepoint_jumps_at): New.
4415 (reinsert_fast_tracepoint_jumps_at): New.
4416 (set_breakpoint_at): Use write_inferior_memory.
4417 (uninsert_raw_breakpoint): Use write_inferior_memory.
4418 (check_mem_read): Mask out fast tracepoint jumps.
4419 (check_mem_write): Mask out fast tracepoint jumps.
4420 * mem-break.h (struct fast_tracepoint_jump): Forward declare.
4421 (set_fast_tracepoint_jump): Declare.
4422 (delete_fast_tracepoint_jump)
4423 (fast_tracepoint_jump_here, uninsert_fast_tracepoint_jumps_at)
4424 (reinsert_fast_tracepoint_jumps_at): Declare.
4425 * regcache.c: Don't compile many functions when building the
4426 in-process agent library.
4427 (init_register_cache) [IN_PROCESS_AGENT]: Don't allow allocating
4428 the register buffer in the heap.
4429 (free_register_cache): If the register buffer isn't owned by the
4430 regcache, don't free it.
4431 (set_register_cache) [IN_PROCESS_AGENT]: Don't re-alocate
4432 pre-existing register caches.
4433 * remote-utils.c (convert_int_to_ascii): Constify `from' parameter
4434 type.
4435 (convert_ascii_to_int): : Constify `from' parameter type.
4436 (decode_M_packet, decode_X_packet): Replace the `to' parameter by
4437 a `to_p' pointer to pointer parameter. If TO_P is NULL, malloc
4438 the needed buffer in-place.
4439 (relocate_instruction): New.
4440 * server.c (handle_query) <qSymbols>: If the target supports
4441 tracepoints, give it a chance of looking up symbols. Report
4442 support for fast tracepoints.
4443 (handle_status): Stabilize threads.
4444 (process_serial_event): Adjust.
4445 * server.h (struct fast_tracepoint_jump): Forward declare.
4446 (struct process_info) <fast_tracepoint_jumps>: New field.
4447 (convert_ascii_to_int, convert_int_to_ascii): Adjust.
4448 (decode_X_packet, decode_M_packet): Adjust.
4449 (relocate_instruction): Declare.
4450 (in_process_agent_loaded): Declare.
4451 (tracepoint_look_up_symbols): Declare.
4452 (struct fast_tpoint_collect_status): Declare.
4453 (fast_tracepoint_collecting): Declare.
4454 (force_unlock_trace_buffer): Declare.
4455 (handle_tracepoint_bkpts): Declare.
4456 (initialize_low_tracepoint)
4457 (supply_fast_tracepoint_registers) [IN_PROCESS_AGENT]: Declare.
4458 * target.h (struct target_ops) <stabilize_threads,
4459 install_fast_tracepoint_jump_pad>: New fields.
4460 (stabilize_threads, install_fast_tracepoint_jump_pad): New.
4461 * tracepoint.c [HAVE_MALLOC_H]: Include malloc.h.
4462 [HAVE_STDINT_H]: Include stdint.h.
4463 (trace_debug_1): Rename to ...
4464 (trace_vdebug): ... this.
4465 (trace_debug): Rename to ...
4466 (trace_debug_1): ... this. Add `level' parameter.
4467 (trace_debug): New.
4468 (ATTR_USED, ATTR_NOINLINE): New.
4469 (IP_AGENT_EXPORT): New.
4470 (gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
4471 (collecting, gdb_collect, stop_tracing, flush_trace_buffer)
4472 (about_to_request_buffer_space, trace_buffer_is_full)
4473 (stopping_tracepoint, expr_eval_result, error_tracepoint)
4474 (tracepoints, tracing, trace_buffer_ctrl, trace_buffer_ctrl_curr)
4475 (trace_buffer_lo, trace_buffer_hi, traceframe_read_count)
4476 (traceframe_write_count, traceframes_created)
4477 (trace_state_variables)
4478 New renaming defines.
4479 (struct ipa_sym_addresses): New.
4480 (STRINGIZE_1, STRINGIZE, IPA_SYM): New.
4481 (symbol_list): New.
4482 (ipa_sym_addrs): New.
4483 (all_tracepoint_symbols_looked_up): New.
4484 (in_process_agent_loaded): New.
4485 (write_e_ipa_not_loaded): New.
4486 (maybe_write_ipa_not_loaded): New.
4487 (tracepoint_look_up_symbols): New.
4488 (debug_threads) [IN_PROCESS_AGENT]: New.
4489 (read_inferior_memory) [IN_PROCESS_AGENT]: New.
4490 (UNKNOWN_SIDE_EFFECTS): New.
4491 (stop_tracing): New.
4492 (flush_trace_buffer): New.
4493 (stop_tracing_bkpt): New.
4494 (flush_trace_buffer_bkpt): New.
4495 (read_inferior_integer): New.
4496 (read_inferior_uinteger): New.
4497 (read_inferior_data_pointer): New.
4498 (write_inferior_data_pointer): New.
4499 (write_inferior_integer): New.
4500 (write_inferior_uinteger): New.
4501 (struct collect_static_trace_data_action): Delete.
4502 (enum tracepoint_type): New.
4503 (struct tracepoint) <type>: New field `type'.
43aaf8b6
PA
4504 <actions_str, step_actions, step_actions_str>: Only include in
4505 GDBserver.
fa593d66
PA
4506 <orig_size, obj_addr_on_target, adjusted_insn_addr>
4507 <adjusted_insn_addr_end, jump_pad, jump_pad_end>: New fields.
4508 (tracepoints): Use IP_AGENT_EXPORT.
4509 (last_tracepoint): Don't include in the IPA.
4510 (stopping_tracepoint): Use IP_AGENT_EXPORT.
4511 (trace_buffer_is_full): Use IP_AGENT_EXPORT.
4512 (alloced_trace_state_variables): New.
4513 (trace_state_variables): Use IP_AGENT_EXPORT.
4514 (traceframe_t): Delete unused variable.
4515 (circular_trace_buffer): Don't include in the IPA.
4516 (trace_buffer_start): Delete.
4517 (struct trace_buffer_control): New.
4518 (trace_buffer_free): Delete.
4519 (struct ipa_trace_buffer_control): New.
4520 (GDBSERVER_FLUSH_COUNT_MASK, GDBSERVER_FLUSH_COUNT_MASK_PREV)
4521 (GDBSERVER_FLUSH_COUNT_MASK_CURR, GDBSERVER_UPDATED_FLUSH_COUNT_BIT):
4522 New.
4523 (trace_buffer_ctrl): New.
4524 (TRACE_BUFFER_CTRL_CURR): New.
4525 (trace_buffer_start, trace_buffer_free, trace_buffer_end_free):
4526 Reimplement as macros.
4527 (trace_buffer_wrap): Delete.
4528 (traceframe_write_count, traceframe_read_count)
4529 (traceframes_created, tracing): Use IP_AGENT_EXPORT.
4530 (struct tracepoint_hit_ctx) <type>: New field.
4531 (struct fast_tracepoint_ctx): New.
4532 (memory_barrier): New.
4533 (cmpxchg): New.
4534 (record_tracepoint_error): Update atomically in the IPA.
4535 (clear_inferior_trace_buffer): New.
4536 (about_to_request_buffer_space): New.
4537 (trace_buffer_alloc): Handle GDBserver and inferior simulatenous
4538 updating the same buffer.
4539 (add_tracepoint): Default the tracepoint's type to trap
4540 tracepoint, and orig_size to -1.
4541 (get_trace_state_variable) [IN_PROCESS_AGENT]: Handle allocated
4542 internal variables.
4543 (create_trace_state_variable): New parameter `gdb'. Handle it.
4544 (clear_installed_tracepoints): Clear fast tracepoint jumps.
4545 (cmd_qtdp): Handle fast tracepoints.
4546 (cmd_qtdv): Adjust.
4547 (max_jump_pad_size): New.
4548 (gdb_jump_pad_head): New.
4549 (get_jump_space_head): New.
4550 (claim_jump_space): New.
4551 (sort_tracepoints): New.
4552 (MAX_JUMP_SIZE): New.
4553 (cmd_qtstart): Handle fast tracepoints. Sync tracepoints with the
4554 IPA.
4555 (stop_tracing) [IN_PROCESS_AGENT]: Don't include the tdisconnected
4556 support. Upload fast traceframes, and delete internal IPA
4557 breakpoints.
4558 (stop_tracing_handler): New.
4559 (flush_trace_buffer_handler): New.
4560 (cmd_qtstop): Upload fast tracepoints.
4561 (response_tracepoint): Handle fast tracepoints.
4562 (tracepoint_finished_step): Upload fast traceframes. Set the
4563 tracepoint hit context's tracepoint type.
4564 (handle_tracepoint_bkpts): New.
4565 (tracepoint_was_hit): Set the tracepoint hit context's tracepoint
4566 type. Add comment about fast tracepoints.
4567 (collect_data_at_tracepoint) [IN_PROCESS_AGENT]: Don't access the
4568 non-existing action_str field.
4569 (get_context_regcache): Handle fast tracepoints.
4570 (do_action_at_tracepoint) [!IN_PROCESS_AGENT]: Don't write the PC
4571 to the regcache.
4572 (fast_tracepoint_from_jump_pad_address): New.
4573 (fast_tracepoint_from_ipa_tpoint_address): New.
4574 (collecting_t): New.
4575 (force_unlock_trace_buffer): New.
4576 (fast_tracepoint_collecting): New.
4577 (collecting): New.
4578 (gdb_collect): New.
4579 (write_inferior_data_ptr): New.
4580 (target_tp_heap): New.
4581 (target_malloc): New.
4582 (download_agent_expr): New.
4583 (UALIGN): New.
4584 (download_tracepoints): New.
4585 (download_trace_state_variables): New.
4586 (upload_fast_traceframes): New.
4587 (IPA_FIRST_TRACEFRAME): New.
4588 (IPA_NEXT_TRACEFRAME_1): New.
4589 (IPA_NEXT_TRACEFRAME): New.
4590 [IN_PROCESS_AGENT]: Include sys/mman.h and fcntl.h.
4591 [IN_PROCESS_AGENT] (gdb_tp_heap_buffer, gdb_jump_pad_buffer)
4592 (gdb_jump_pad_buffer_end): New.
4593 [IN_PROCESS_AGENT] (initialize_tracepoint_ftlib): New.
4594 (initialize_tracepoint): Adjust.
4595 [IN_PROCESS_AGENT]: Allocate the IPA heap, and jump pad scratch
4596 buffer. Initialize the low module.
4597 * utils.c (PREFIX, TOOLNAME): New.
4598 (malloc_failure): Use PREFIX.
4599 (error): In the IPA, an error causes an exit.
4600 (fatal, warning): Use PREFIX.
4601 (internal_error): Use TOOLNAME.
4602 (NUMCELLS): Increase to 10.
4603 * configure, config.in: Regenerate.
4604
d149dd1d
PA
46052010-06-01 Pedro Alves <pedro@codesourcery.com>
4606
4607 * server.c (handle_query) <qSupported>: Do two passes over the
4608 qSupported string to avoid nesting strtok.
4609
f6528abd
JK
46102010-05-28 Jan Kratochvil <jan.kratochvil@redhat.com>
4611
4612 * Makefile.in (SFILES): Add $(srcdir)/proc-service.list.
4613 (CDEPS): New.
4614 * configure.ac (RDYNAMIC): New AC_MSG_CHECKING wrapping. Test also
4615 -Wl,--dynamic-list.
4616 * configure: Regenerate.
4617 * proc-service.list: New.
4618
ca2a87a0
JK
46192010-05-28 Jan Kratochvil <jan.kratochvil@redhat.com>
4620
4621 * linux-low.c (linux_core_of_thread): Fix crash on invalid CONTENT.
4622 New comment.
4623
363a6e9f
OS
46242010-05-26 Ozkan Sezer <sezeroz@gmail.com>
4625
4626 * gdbreplay.c (remote_open): Check error return from socket() call by
4627 its equality to -1 not by it being negative.
4628 * remote-utils.c (remote_open): Likewise.
4629
d23b6cb1
PA
46302010-05-23 Pedro Alves <pedro@codesourcery.com>
4631
4632 * config.h: Regenerate.
4633
28d3cf85
MK
46342010-05-19 Maxim Kuvyrkov <maxim@codesourcery.com>
4635
4636 * linux-m68k-low.c (ps_get_thread_area): Don't define if kernel
4637 doesn't provide PTRACE_GET_THREAD_AREA.
4638
fea36a59
MK
46392010-05-19 Maxim Kuvyrkov <maxim@codesourcery.com>
4640
4641 * linux-m68k-low.c: Include <asm/ptrace.h>
4642 (ps_get_thread_area): Implement.
4643
24b066ba
DE
46442010-05-03 Doug Evans <dje@google.com>
4645
4646 * event-loop.c (struct callback_event): New struct.
4647 (callback_list): New global.
4648 (append_callback_event, delete_callback_event): New functions.
4649 (process_callback): New function.
4650 (start_event_loop): Call it.
4651 * remote-utils.c (NOT_SCHEDULED): Define.
4652 (readchar_buf, readchar_bufcnt, readchar_bufp): New static globals,
4653 moved out of readchar.
4654 (readchar): Rewrite. Call reschedule before returning.
4655 (reset_readchar): New function.
4656 (remote_close): Call it.
4657 (process_remaining, reschedule): New functions.
4658 * server.h (callback_handler_func): New typedef.
4659 (append_callback_event, delete_callback_event): Declare.
4660
9836d6ea
PA
46612010-05-03 Pedro Alves <pedro@codesourcery.com>
4662
4663 * proc-service.c (ps_pglobal_lookup): Use
4664 thread_db_look_up_one_symbol.
4665 * remote-utils.c (look_up_one_symbol): Add new `may_ask_gdb'
4666 parameter. Use it instead of all_symbols_looked_up.
4667 * server.h (struct process_info) <all_symbols_looked_up>: Delete
4668 field.
4669 (all_symbols_looked_up): Don't declare.
4670 (look_up_one_symbol): Add new `may_ask_gdb' parameter.
4671 * thread-db.c (struct thread_db) <all_symbols_looked_up>: New
4672 field.
4673 (thread_db_look_up_symbols): Adjust call to look_up_one_symbol.
4674 Set all_symbols_looked_up here.
4675 (thread_db_look_up_one_symbol): New.
4676 (thread_db_get_tls_address): Adjust.
4677 (thread_db_load_search, try_thread_db_load_1): Always allocate the
4678 thread_db object on the heap, and tentatively set it in the
4679 process structure.
4680 (thread_db_init): Don't set all_symbols_looked_up here.
4681 * linux-low.h (thread_db_look_up_one_symbol): Declare.
4682
7984d532
PA
46832010-05-03 Pedro Alves <pedro@codesourcery.com>
4684
4685 * linux-low.c (linux_kill, linux_detach): Adjust.
4686 (status_pending_p_callback): Remove redundant statement. Check
4687 for !TARGET_WAITIKIND_IGNORE, instead of
4688 TARGET_WAITKIND_STOPPED.
4689 (handle_tracepoints): Make sure LWP is locked. Adjust.
4690 (linux_wait_for_event_1): Adjust.
4691 (linux_cancel_breakpoints): New.
4692 (unsuspend_one_lwp): New.
4693 (unsuspend_all_lwps): New.
4694 (linux_wait_1): If finishing a step-over, unsuspend all lwps.
4695 (send_sigstop_callback): Change return type to int, add new
4696 `except' parameter and handle it.
4697 (suspend_and_send_sigstop_callback): New.
4698 (stop_all_lwps): Add new `suspend' and `expect' parameters, and
4699 pass them down. If SUSPEND, also increment the lwp's suspend
4700 count.
4701 (linux_resume_one_lwp): Add notice about resuming a suspended LWP.
4702 (need_step_over_p): Don't consider suspended LWPs.
4703 (start_step_over): Adjust.
4704 (proceed_one_lwp): Change return type to int, add new `except'
4705 parameter and handle it.
4706 (unsuspend_and_proceed_one_lwp): New.
4707 (proceed_all_lwps): Use find_inferior instead of
4708 for_each_inferior.
4709 (unstop_all_lwps): Add `unsuspend' parameter. If UNSUSPEND, them
4710 also decrement the suspend count of LWPs. Pass `except' down,
4711 instead of hacking its suspend count.
4712 (linux_pause_all): Add `freeze' parameter. Adjust.
4713 (linux_unpause_all): New.
4714 (linux_target_ops): Install linux_unpause_all.
4715 * server.c (handle_status): Adjust.
4716 * target.h (struct target_ops): New fields `unpause_all' and
4717 `cancel_breakpoints'. Add new parameter to `pause_all'.
4718 (pause_all): Add new `freeze' parameter.
4719 (unpause_all): New.
4720 (cancel_breakpoints): New.
4721 * tracepoint.c (clear_installed_tracepoints): Pause threads, and
4722 cancel breakpoints.
4723 (cmd_qtstart): Pause threads.
4724 (stop_tracing): Pause threads, and cancel breakpoints.
4725 * win32-low.c (win32_target_ops): Adjust.
4726
e471f25b
PA
47272010-05-03 Pedro Alves <pedro@codesourcery.com>
4728
4729 * linux-low.c (linux_wait_for_event_1): Move passing the signal to
4730 the inferior right away from here...
4731 (linux_wait_1): ... to here, and adjust to check the thread's
4732 last_resume_kind instead of the lwp's step or stop_expected flags.
4733
1915ef4f
PA
47342010-05-02 Pedro Alves <pedro@codesourcery.com>
4735
4736 * README: Use consistent `GDB' and `GDBserver' spellings.
4737
f9e39928
PA
47382010-05-02 Pedro Alves <pedro@codesourcery.com>
4739
4740 * linux-low.c (linux_kill_one_lwp): Assume the lwp is stopped.
4741 (linux_kill): Stop all lwps here. Don't delete the main lwp here.
4742 (linux_detach_one_lwp): Assume the lwp is stopped.
4743 (any_thread_of): Delete.
4744 (linux_detach): Stop all lwps here. Don't blindly delete all
4745 breakpoints.
4746 (delete_lwp_callback): New.
4747 (linux_mourn): Delete all lwps of the process that is gone.
4748 (linux_wait_1): Don't delete the last lwp of the process here.
4749 * mem-break.h (mark_breakpoints_out): Declare.
4750 * mem-break.c (mark_breakpoints_out): New.
4751 (free_all_breakpoints): Use it.
4752 * server.c (handle_target_event): If the process is gone, mark
4753 breakpoints out.
4754 * thread-db.c (struct thread_db) <create_bp>: New field.
4755 (thread_db_enable_reporting): Fix prototype. Store a thread event
4756 breakpoint reference in the thread_db struct.
4757 (thread_db_load_search): Clear the thread_db object.
4758 (try_thread_db_load_1): Ditto.
4759 (switch_to_process): New.
4760 (disable_thread_event_reporting): Use it.
4761 (remove_thread_event_breakpoints): New.
4762 (thread_db_detach, thread_db_mourn): Use it.
4763
1e7fc18c
PA
47642010-05-01 Pedro Alves <pedro@codesourcery.com>
4765
4766 * linux-low.c (linux_enable_event_reporting): New.
4767 (linux_wait_for_event_1, handle_extended_wait): Use it.
4768
02fc4de7
PA
47692010-04-30 Pedro Alves <pedro@codesourcery.com>
4770
4771 * linux-low.c (linux_kill_one_lwp, linux_kill)
4772 (linux_detach_one_lwp): Adjust to send_sigstop interface change.
4773 (send_sigstop): Take an lwp_info as parameter instead. Queue a
4774 SIGSTOP even if the LWP is stopped.
4775 (send_sigstop_callback): New.
4776 (stop_all_lwps): Use send_sigstop_callback instead.
4777 (linux_resume_one_thread): Adjust.
4778 (proceed_one_lwp): Still proceed an LWP that the client has
4779 requested to stop, if we haven't reported it as stopped yet. Make
4780 sure that LWPs the client want stopped, have a pending SIGSTOP.
4781
bc3b5632
DE
47822010-04-26 Doug Evans <dje@google.com>
4783
ae1ada35
DE
4784 * server.c (handle_general_set): Make static.
4785
bc3b5632
DE
4786 * remote-utils.c (putpkt_binary_1): Call readchar instead of read.
4787 Print received char after testing for error/eof instead of before.
4788 (input_interrupt): Tweak comment.
4789
65730243
DE
47902010-04-23 Doug Evans <dje@google.com>
4791
4792 * server.c (start_inferior): Print inferior argv if --debug.
4793
a8ae7dc0
AR
47942010-04-21 Aleksandar Ristovski <aristovski@qnx.com>
4795
4796 * Makefile.in (nto_low_h nto-low.o nto-x86-low.o): New dependency lists.
4797 * nto-x86-low.c: Include server.h
4798
1c07cc19
PM
47992010-04-20 Pierre Muller <muller@ics.u-strasbg.fr>
4800
4801 * win32-i386-low.c: Use __x86_64__ macro instead of __x86_64 to
4802 be consistent with other sources of this directory.
4803 (init_registers_amd64): Correct name of source file of this function
4804 in the comment.
4805
e0a61e09
PM
48062010-04-19 Pierre Muller <muller@ics.u-strasbg.fr>
4807
4808 * configure.srv (x86_64-*-mingw*): New configuration for Windows
4809 64-bit executables.
4810
54709339
PM
48112010-04-19 Pierre Muller <muller@ics.u-strasbg.fr>
4812
4813 * win32-i386-low.c: Add 64-bit support.
4814 (CONTEXT_EXTENDED_REGISTERS): Set macro to zero if not exisiting.
4815 (init_registers_amd64): Declare.
4816 (mappings): Add 64-bit version of array.
4817 (init_windows_x86): New function.
4818 (the_low_target): Change init_arch field to init_windows_x86.
4819
e8f0053d
PM
48202010-04-19 Pierre Muller <muller@ics.u-strasbg.fr>
4821
4822 * win32-low.c: Adapt to support also 64-bit architecture.
4823 (child_xfer_memory): Use uintptr_t type for local variable `addr'.
4824 (get_image_name): Use SIZE_T type for local variable `done'.
4825 (psapi_get_dll_name): Use LPVOID type for parameter `BaseAddress'.
4826 (toolhelp_get_dll_name): Idem.
4827 (handle_load_dll): Use CORE_ADDR type for local variable `load_addr'.
4828 Use uintptr_t typecast to avoid warning.
4829 (handle_unload_dll): Use uintptr_t typecast to avoid warning.
4830 (handle_exception): Use phex_nz to avoid warning.
4831 (win32_wait): Remove unused local variable `process'.
4832
c481e77e
PM
48332010-04-19 Pierre Muller <muller@ics.u-strasbg.fr>
4834
4835 * configure.srv (srv_amd64_regobj): Replace `x86-64-avx.o' by
4836 `amd64-avx.o'.
4837
12ea4b69
PM
48382010-04-17 Pierre Muller <muller@ics.u-strasbg.fr>
4839
4840 * configure.ac: Use `ws2_32' library for srv_mingw.
4841 * configure: Regenerate.
4842 * gdbreplay.c: Include winsock2.h instead of winsock.h.
4843 * remote-utils.c: Likewise.
4844
f6d1620c
L
48452010-04-17 H.J. Lu <hongjiu.lu@intel.com>
4846
4847 * linux-x86-low.c (xmltarget_amd64_linux_no_xml): Define only
4848 if __x86_64__ is defined.
4849
8e642873
PM
48502010-04-16 Pierre Muller <muller@ics.u-strasbg.fr>
4851
4852 * configure: Regenerate.
4853
711e434b
PM
48542010-04-16 Pierre Muller <muller@ics.u-strasbg.fr>
4855
4856 * server.c (handle_query): Handle 'qGetTIBAddr' query.
4857 * target.h (target_ops): New get_tib_address field.
4858 * win32-low.h (win32_thread_info): Add thread_local_base field.
4859 * win32-low.c (child_add_thread): Add tlb argument.
4860 Set thread_local_base field to TLB.
4861 (get_child_debug_event): Adapt to child_add_thread change.
4862 (win32_get_tib_address): New function.
4863 (win32_target_ops): Set get_tib_address field to
4864 win32_get_tib_address.
4865 * linux-low.c (linux_target_ops): Set get_tib_address field to NULL.
4866
505106cd
PA
48672010-04-12 Pedro Alves <pedro@codesourcery.com>
4868
505106cd
PA
4869 * linux-low.c (linux_mourn): Also remove the process.
4870 * server.c (handle_target_event): Don't remove the process here.
4871 * nto-low.c (nto_mourn): New.
4872 (nto_target_ops): Install it.
4873 * spu-low.c (spu_mourn): New.
4874 (spu_target_ops): Install it.
4875 * win32-low.c (win32_mourn): New.
4876 (win32_target_ops): Install it.
4877
e8470a06
PA
48782010-04-12 Pedro Alves <pedro@codesourcery.com>
4879
4880 * server.h (buffer_xml_printf): Remove redundant `;'.
4881
45ba0d02
PA
48822010-04-12 Pedro Alves <pedro@codesourcery.com>
4883
4884 * regcache.c (set_register_cache): Invalidate regcaches before
4885 changing the register cache layout.
4886 (regcache_invalidate_one): Allow a NULL regcache.
4887 * linux-x86-low.c (x86_linux_update_xmltarget): Invalidate
4888 regcaches before changing the register cache layout or the target
4889 regsets.
4890
59e04013
L
48912010-04-12 H.J. Lu <hongjiu.lu@intel.com>
4892
4893 * linux-x86-low.c (x86_linux_update_xmltarget): Avoid unused
4894 variable warning on Linux/x86-64.
4895
8336d594
PA
48962010-04-11 Pedro Alves <pedro@codesourcery.com>
4897
4898 GDBserver disconnected tracing support.
4899
4900 * linux-low.c (linux_remove_process): Delete.
4901 (add_lwp): Don't set last_resume_kind here.
4902 (linux_kill): Use `mourn'.
4903 (linux_detach): Use `thread_db_detach', and `mourn'.
4904 (linux_mourn): New.
4905 (linux_attach_lwp_1): Adjust comment.
4906 (linux_attach): last_resume_kind moved the thread_info; adjust.
4907 (status_pending_p_callback): Adjust.
4908 (linux_wait_for_event_1): Adjust.
4909 (count_events_callback, select_singlestep_lwp_callback)
4910 (select_event_lwp_callback, cancel_breakpoints_callback)
4911 (db_wants_lwp_stopped, linux_wait_1, need_step_over_p)
4912 (proceed_one_lwp): Adjust.
4913 (linux_async): Add debug output.
4914 (linux_thread_stopped): New.
4915 (linux_pause_all): New.
4916 (linux_target_ops): Install linux_mourn, linux_thread_stopped and
4917 linux_pause_all.
4918 * linux-low.h (struct lwp_info): Delete last_resume_kind field.
4919 (thread_db_free): Delete declaration.
4920 (thread_db_detach, thread_db_mourn): Declare.
4921 * thread-db.c (thread_db_init): Use thread_db_mourn.
4922 (thread_db_free): Delete, split in two.
4923 (disable_thread_event_reporting): New.
4924 (thread_db_detach): New.
4925 (thread_db_mourn): New.
4926
4927 * server.h (struct thread_info) <last_resume_kind>: New field.
4928 <attached>: Add comment.
4929 <gdb_detached>: New field.
4930 (handler_func): Change return type to int.
4931 (handle_serial_event, handle_target_event): Ditto.
4932 (gdb_connected): Declare.
4933 (tracing): Delete.
4934 (disconnected_tracing): Declare.
4935 (stop_tracing): Declare.
4936
4937 * server.c (handle_query) <qSupported>: Report support for
4938 disconnected tracing.
4939 (queue_stop_reply_callback): Account for running threads.
4940 (gdb_wants_thread_stopped): New.
4941 (gdb_wants_all_threads_stopped): New.
4942 (gdb_reattached_process): New.
4943 (handle_status): Clear the `gdb_detached' flag of all processes.
4944 In all-stop, stop all threads.
4945 (main): Be sure to leave tfind mode. Handle disconnected tracing.
4946 (process_serial_event): If the remote connection breaks, or if an
4947 exit was forced with "monitor exit", force an event loop exit.
4948 Handle disconnected tracing on detach.
4949 (handle_serial_event): Adjust.
4950 (handle_target_event): If GDB isn't connected, forward events back
4951 to the inferior, unless the last process exited, in which case,
4952 exit gdbserver. Adjust interface.
4953
4954 * remote-utils.c (remote_open): Don't block in accept. Instead
4955 register an event loop source on the listen socket file
4956 descriptor. Refactor bits into ...
4957 (listen_desc): ... this new global.
4958 (gdb_connected): ... this new function.
4959 (enable_async_notification): ... this new function.
4960 (handle_accept_event): ... this new function.
4961 (remote_close): Clear remote_desc.
4962
4963 * inferiors.c (add_thread): Set the new thread's last_resume_kind.
4964
4965 * target.h (struct target_ops) <mourn, thread_stopped, pause_all>:
4966 New fields.
4967 (mourn_inferior): Define.
4968 (target_process_qsupported): Avoid the dangling else problem.
4969 (thread_stopped): Define.
4970 (pause_all): Define.
4971 (target_waitstatus_to_string): Declare.
4972 * target.c (target_waitstatus_to_string): New.
4973
4974 * tracepoint.c (tracing): Make extern.
4975 (disconnected_tracing): New.
4976 (stop_tracing): Make extern. Handle tracing stops due to GDB
4977 disconnecting.
4978 (cmd_qtdisconnected): New.
4979 (cmd_qtstatus): Report disconnected tracing status in trace reply.
4980 (handle_tracepoint_general_set): Handle QTDisconnected.
4981
4982 * event-loop.c (event_handler_func): Change return type to int.
4983 (process_event): Bail out if the event handler wants the event
4984 loop to stop.
4985 (handle_file_event): Ditto.
4986 (start_event_loop): Bail out if the event handler wants the event
4987 loop to stop.
4988
4989 * nto-low.c (nto_target_ops): Adjust.
4990 * spu-low.c (spu_wait): Don't remove the process here.
4991 (spu_target_ops): Adjust.
4992 * win32-low.c (win32_wait): Don't remove the process here.
4993 (win32_target_ops): Adjust.
4994
5d267c4c
PA
49952010-04-11 Pedro Alves <pedro@codesourcery.com>
4996
4997 * regcache.c (realloc_register_cache): Invalidate inferior's
4998 regcache before recreating it.
4999
623ccd72
PA
50002010-04-09 Pedro Alves <pedro@codesourcery.com>
5001
5002 * tracepoint.c (cmd_qtstatus): Report trace buffer circularity.
5003
219f2f23
PA
50042010-04-09 Stan Shebs <stan@codesourcery.com>
5005 Pedro Alves <pedro@codesourcery.com>
5006
5007 * server.h (LONGEST): New.
5008 (struct thread_info) <while_stepping>: New field.
5009 (unpack_varlen_hex, xrealloc, pulongest, plongest, phex_nz):
5010 Declare.
5011 (initialize_tracepoint, handle_tracepoint_general_set)
5012 (handle_tracepoint_query, tracepoint_finished_step)
5013 (tracepoint_was_hit, release_while_stepping_state_list):
5014 (current_traceframe): Declare.
5015 * server.c (handle_general_set): Handle tracepoint packets.
5016 (read_memory): New.
5017 (write_memory): New.
5018 (handle_search_memory_1): Use read_memory.
5019 (handle_query): Report support for conditional tracepoints, trace
5020 state variables, and tracepoint sources. Handle tracepoint
5021 queries.
5022 (main): Initialize the tracepoints module.
5023 (process_serial_event): Handle traceframe reads/writes.
5024
5025 * linux-low.c (handle_tracepoints): New.
5026 (linux_wait_1): Call it.
5027 (linux_resume_one_lwp): Handle while-stepping.
5028 (linux_supports_tracepoints, linux_read_pc, linux_write_pc): New.
5029 (linux_target_ops): Install them.
5030 * linux-low.h (struct linux_target_ops) <supports_tracepoints>:
5031 New field.
5032 * linux-x86-low.c (x86_supports_tracepoints): New.
5033 (the_low_target). Install it.
5034
5035 * mem-break.h (delete_breakpoint): Declare.
5036 * mem-break.c (delete_breakpoint): Make external.
5037
5038 * target.h (struct target_ops): Add `supports_tracepoints',
5039 `read_pc', and `write_pc' fields.
5040 (target_supports_tracepoints): Define.
5041 * utils.c (xrealloc, decimal2str, pulongest, plongest, thirty_two)
5042 (phex_nz): New.
5043
5044 * regcache.h (struct regcache) <registers_owned>: New field.
5045 (init_register_cache, regcache_cpy): Declare.
5046 (regcache_read_pc, regcache_write_pc): Declare.
5047 (register_cache_size): Declare.
5048 (supply_regblock): Declare.
5049 * regcache.c (init_register_cache): New.
5050 (new_register_cache): Use it.
5051 (regcache_cpy): New.
5052 (register_cache_size): New.
5053 (supply_regblock): New.
5054 (regcache_read_pc, regcache_write_pc): New.
889bf7c5 5055
219f2f23
PA
5056 * tracepoint.c: New.
5057
5058 * Makefile.in (OBS): Add tracepoint.o.
5059 (tracepoint.o): New rule.
5060
3a13a53b
L
50612010-04-08 H.J. Lu <hongjiu.lu@intel.com>
5062
5063 * Makefile.in (clean): Also remove i386-mmx.c i386-mmx-linux.c.
5064 (i386-mmx.o): New.
5065 (i386-mmx.c): Likewise.
5066 (i386-mmx-linux.o): Likewise.
5067 (i386-mmx-linux.c): Likewise.
5068
5069 * configure.srv (srv_i386_regobj): Add i386-mmx.o.
5070 (srv_i386_linux_regobj): Add i386-mmx-linux.o.
5071 (srv_i386_xmlfiles): Add i386/i386-mmx.xml.
5072 (srv_i386_linux_xmlfiles): Add i386/i386-mmx-linux.xml.
5073
5074 * linux-x86-low.c (init_registers_i386_mmx_linux): New.
5075 (x86_linux_update_xmltarget): Call init_registers_i386_mmx_linux
5076 and return if ptrace PTRACE_GETFPXREGS failed in 32bit.
5077
1570b33e
L
50782010-04-07 H.J. Lu <hongjiu.lu@intel.com>
5079
5080 * Makefile.in (clean): Updated.
5081 (i386-avx.o): New.
5082 (i386-avx.c): Likewise.
5083 (i386-avx-linux.o): Likewise.
5084 (i386-avx-linux.c): Likewise.
5085 (amd64-avx.o): Likewise.
5086 (amd64-avx.c): Likewise.
5087 (amd64-avx-linux.o): Likewise.
5088 (amd64-avx-linux.c): Likewise.
5089
5090 * configure.srv (srv_i386_regobj): Add i386-avx.o.
5091 (srv_i386_linux_regobj): Add i386-avx-linux.o.
5092 (srv_amd64_regobj): Add amd64-avx.o.
5093 (srv_amd64_linux_regobj): Add amd64-avx-linux.o.
5094 (srv_i386_32bit_xmlfiles): Add i386/32bit-avx.xml.
5095 (srv_i386_64bit_xmlfiles): Add i386/64bit-avx.xml.
5096 (srv_i386_xmlfiles): Add i386/i386-avx.xml.
5097 (srv_amd64_xmlfiles): Add i386/amd64-avx.xml.
5098 (srv_i386_linux_xmlfiles): Add i386/i386-avx-linux.xml.
5099 (srv_amd64_linux_xmlfiles): Add i386/amd64-avx-linux.xml.
5100
5101 * i387-fp.c: Include "i386-xstate.h".
5102 (i387_xsave): New.
5103 (i387_cache_to_xsave): Likewise.
5104 (i387_xsave_to_cache): Likewise.
5105 (x86_xcr0): Likewise.
5106
5107 * i387-fp.h (i387_cache_to_xsave): Likewise.
5108 (i387_xsave_to_cache): Likewise.
5109 (x86_xcr0): Likewise.
5110
5111 * linux-arm-low.c (target_regsets): Initialize nt_type to 0.
5112 * linux-crisv32-low.c (target_regsets): Likewise.
5113 * linux-m68k-low.c (target_regsets): Likewise.
5114 * linux-mips-low.c (target_regsets): Likewise.
5115 * linux-ppc-low.c (target_regsets): Likewise.
5116 * linux-s390-low.c (target_regsets): Likewise.
5117 * linux-sh-low.c (target_regsets): Likewise.
5118 * linux-sparc-low.c (target_regsets): Likewise.
5119 * linux-xtensa-low.c (target_regsets): Likewise.
5120
5121 * linux-low.c: Include <sys/uio.h>.
5122 (regsets_fetch_inferior_registers): Support nt_type.
5123 (regsets_store_inferior_registers): Likewise.
5124 (linux_process_qsupported): New.
5125 (linux_target_ops): Add linux_process_qsupported.
5126
5127 * linux-low.h (regset_info): Add nt_type.
5128 (linux_target_ops): Add process_qsupported.
5129
5130 * linux-x86-low.c: Include "i386-xstate.h", "elf/common.h"
5131 and <sys/uio.h>.
5132 (init_registers_i386_avx_linux): New.
5133 (init_registers_amd64_avx_linux): Likewise.
5134 (xmltarget_i386_linux_no_xml): Likewise.
5135 (xmltarget_amd64_linux_no_xml): Likewise.
5136 (PTRACE_GETREGSET): Likewise.
5137 (PTRACE_SETREGSET): Likewise.
5138 (x86_fill_xstateregset): Likewise.
5139 (x86_store_xstateregset): Likewise.
5140 (use_xml): Likewise.
5141 (x86_linux_update_xmltarget): Likewise.
5142 (x86_linux_process_qsupported): Likewise.
5143 (target_regsets): Add NT_X86_XSTATE entry and Initialize nt_type.
5144 (x86_arch_setup): Don't call init_registers_amd64_linux nor
5145 init_registers_i386_linux here. Call
5146 x86_linux_update_xmltarget.
5147 (the_low_target): Add x86_linux_process_qsupported.
5148
5149 * server.c (handle_query): Call target_process_qsupported.
5150
5151 * target.h (target_ops): Add process_qsupported.
5152 (target_process_qsupported): New.
5153
fc7238bb
PA
51542010-04-03 Pedro Alves <pedro@codesourcery.com>
5155
5156 * inferiors.c (add_thread): Set last_status kind to
5157 TARGET_WAITKIND_IGNORE.
5158 * linux-low.c (cancel_breakpoint): Remove unnecessary regcache
5159 fetch. Use ptid_of. Avoid unnecessary get_lwp_thread calls.
5160 (linux_wait_1): Move `thread' local definition to block that uses
5161 it. Don't NULL initialize `event_child'.
5162 (linux_resume_one_thread): Avoid unnecessary get_lwp_thread calls.
5163 Alway set the thread's last_status to TARGET_WAITKIND_IGNORE.
5164 * linux-x86-low.c (x86_breakpoint_at): Read raw memory.
5165
bdabb078
PA
51662010-04-01 Pedro Alves <pedro@codesourcery.com>
5167
5168 * linux-low.c (get_stop_pc): Don't adjust the PC if stopped with
5169 an extended waitstatus, or by a watchpoint.
5170 (cancel_breakpoints_callback): Don't cancel a breakpoint if the
5171 thread was stepping or has been stopped by a watchpoint.
5172
d3bbe7a0
PA
51732010-04-01 Pedro Alves <pedro@codesourcery.com>
5174
5175 * mem-break.c (struct raw_breakpoint): New field shlib_disabled.
5176 (set_gdb_breakpoint_at): If GDB is inserting a breakpoint on top
5177 of another, then delete the previous, and validate all
5178 breakpoints.
5179 (validate_inserted_breakpoint): New.
5180 (delete_disabled_breakpoints): New.
5181 (validate_breakpoints): New.
5182 (check_mem_read): Validate breakpoints before trusting their
5183 shadow. Delete disabled breakpoints.
5184 (check_mem_write): Validate breakpoints before trusting they
5185 should be inserted. Delete disabled breakpoints.
5186 * mem-break.h (validate_breakpoints):
5187 * server.c (handle_query): Validate breakpoints when we see a
5188 qSymbol query.
5189
8b07ae33
PA
51902010-04-01 Pedro Alves <pedro@codesourcery.com>
5191
5192 * linux-low.c (linux_wait_1): Avoid setting need_step_over is
5193 there's a GDB breakpoint at stop_pc. Always report a trap to GDB
5194 if we could tell there's a GDB breakpoint at stop_pc.
5195 (need_step_over_p): Don't do a step over if we find a GDB
5196 breakpoint at the resume PC.
5197
5198 * mem-break.c (struct raw_breakpoint): New.
5199 (enum bkpt_type): New type `gdb_breakpoint'.
5200 (struct breakpoint): Delete the `PC', `old_data' and `inserted'
5201 fields. New field `raw'.
5202 (find_raw_breakpoint_at): New.
5203 (set_raw_breakpoint_at): Handle refcounting. Create a raw
5204 breakpoint instead.
5205 (set_breakpoint_at): Adjust.
5206 (delete_raw_breakpoint): New.
5207 (release_breakpoint): New.
5208 (delete_breakpoint): Rename to...
5209 (delete_breakpoint_1): ... this. Add proc parameter. Use
5210 release_breakpoint. Return ENOENT.
5211 (delete_breakpoint): Reimplement.
5212 (find_breakpoint_at): Delete.
5213 (find_gdb_breakpoint_at): New.
5214 (delete_breakpoint_at): Delete.
5215 (set_gdb_breakpoint_at): New.
5216 (delete_gdb_breakpoint_at): New.
5217 (gdb_breakpoint_here): New.
5218 (set_reinsert_breakpoint): Use release_breakpoint.
5219 (uninsert_breakpoint): Rename to ...
5220 (uninsert_raw_breakpoint): ... this.
5221 (uninsert_breakpoints_at): Adjust to handle raw breakpoints.
5222 (reinsert_raw_breakpoint): Change parameter type to
5223 raw_breakpoint.
5224 (reinsert_breakpoints_at): Adjust to handle raw breakpoints
5225 instead.
5226 (check_breakpoints): Adjust. Use release_breakpoint.
5227 (breakpoint_here): Rewrite using find_raw_breakpoint_at.
5228 (breakpoint_inserted_here): Ditto.
5229 (check_mem_read): Adjust to iterate over raw breakpoints instead.
5230 Don't trust the breakpoint's shadow if it is not inserted.
5231 (check_mem_write): Adjust to iterate over raw breakpoints instead.
5232 (delete_all_breakpoints): Adjust.
5233 (free_all_breakpoints): Mark all breakpoints as uninserted, and
5234 use delete_breakpoint_1.
5235
5236 * mem-break.h (breakpoints_supported): Delete declaration.
5237 (set_gdb_breakpoint_at): Declare.
5238 (gdb_breakpoint_here): Declare.
5239 (delete_breakpoint_at): Delete.
5240 (delete_gdb_breakpoint_at): Declare.
5241
5242 * server.h (struct raw_breakpoint): Forward declare.
5243 (struct process_info): New field `raw_breakpoints'.
5244
5245 * linux-x86-low.c (x86_insert_point, x86_remote_point): Handle Z0
5246 breakpoints.
5247
6bf5e0ba
PA
52482010-03-24 Pedro Alves <pedro@codesourcery.com>
5249
5250 * linux-low.c (status_pending_p_callback): Fix comment.
5251 (linux_wait_for_event_1): Move most of the internal breakpoint
5252 handling from here...
5253 (linux_wait_1): ... to here.
5254 (count_events_callback): New.
5255 (select_singlestep_lwp_callback): New.
5256 (select_event_lwp_callback): New.
5257 (cancel_breakpoints_callback): New.
5258 (select_event_lwp): New.
5259 (linux_wait_1): Simplify internal breakpoint handling. Give equal
5260 priority to all LWPs that have had events that should be reported
5261 to the client. Cancel breakpoints when about to reporting the
5262 event to the client, not while stopping lwps. No longer cancel
5263 finished single-steps here.
5264 (cancel_finished_single_step): Delete.
5265 (cancel_finished_single_steps): Delete.
5266
414a389f
PA
52672010-03-24 Pedro Alves <pedro@codesourcery.com>
5268
5269 * mem-break.c (enum bkpt_type): New.
5270 (struct breakpoint): New field `type'.
5271 (set_breakpoint_at): Change return type to struct breakpoint
5272 pointer. Set type to `other_breakpoint' by default.
5273 (delete_breakpoint): Rewrite, supporting more than one breakpoint
5274 in the breakpoint list.
5275 (delete_reinsert_breakpoints): Only delete reinsert breakpoints.
5276 (reinsert_breakpoint): Rename to ...
5277 (reinsert_raw_breakpoint): ... this.
5278 (reinsert_breakpoints_at): Adjust.
5279 * mem-break.h (struct breakpoint): Declare.
5280 (set_breakpoint_at): Change return type to struct breakpoint
5281 pointer.
5282
2280c721
PA
52832010-03-24 Pedro Alves <pedro@codesourcery.com>
5284
5285 * server.c (handle_query): Assign, not compare.
5286
d50171e4
PA
52872010-03-24 Pedro Alves <pedro@codesourcery.com>
5288
5289 Teach linux gdbserver to step-over-breakpoints.
5290
5291 * linux-low.c (can_hardware_single_step): New.
5292 (supports_breakpoints): New.
5293 (handle_extended_wait): If stopping threads, read the stop pc of
5294 the new cloned LWP.
5295 (get_pc): New.
5296 (get_stop_pc): Add `lwp' parameter. Handle it. Bail out if the
5297 low target doesn't support retrieving the PC.
5298 (add_lwp): Set last_resume_kind to resume_continue.
5299 (linux_attach_lwp_1): Adjust comments. Always set stop_expected.
5300 (linux_attach): Don't clear stop_expected. Set the lwp's
5301 last_resume_kind to resume_stop.
5302 (linux_detach_one_lwp): Don't check for removed breakpoints.
5303 (check_removed_breakpoint): Delete.
5304 (status_pending_p): Rename to ...
5305 (status_pending_p_callback): ... this. Don't check for removed
5306 breakpoints. Don't consider threads that are stopped from GDB's
5307 perspective.
5308 (linux_wait_for_lwp): Always read the stop_pc here.
5309 (cancel_breakpoint): New.
5310 (step_over_bkpt): New global.
5311 (linux_wait_for_event_1): Implement stepping over breakpoints.
5312 (gdb_wants_lwp_stopped): New.
5313 (gdb_wants_all_stopped): New.
5314 (linux_wait_1): Tag threads as gdb-wants-stopped. Cancel finished
5315 single-step traps here. Store the thread's last reported target
5316 wait status.
5317 (send_sigstop): Don't clear stop_expected. Always set it,
5318 instead.
5319 (mark_lwp_dead): Remove reference to pending_is_breakpoint.
5320 (cancel_finished_single_step): New.
5321 (cancel_finished_single_steps): New.
5322 (wait_for_sigstop): Don't cancel finished single-step traps here.
5323 (linux_resume_one_lwp): Don't check for removed breakpoints.
5324 Don't set `step' on non-hardware step archs.
5325 (linux_set_resume_request): Ignore resume_stop requests if already
5326 stopping or stopped. Set the lwp's last_resume_kind.
5327 (resume_status_pending_p): Don't check for removed breakpoints.
5328 (need_step_over_p): New.
5329 (start_step_over): New.
5330 (finish_step_over): New.
5331 (linux_resume_one_thread): Always queue a sigstop for resume_stop
5332 requests. Clear the thread's last reported target waitstatus.
5333 Don't use the `suspended' flag. Don't consider pending breakpoints.
5334 (linux_resume): Start a step-over if necessary.
5335 (proceed_one_lwp): New.
5336 (proceed_all_lwps): New.
5337 (unstop_all_lwps): New.
5338 * linux-low.h (struct lwp_info): Rewrite comment for the
5339 `suspended' flag. Add the `stop_pc' field. Delete the
5340 `pending_stop_pc' field. Tweak the `stepping' flag's comment.
5341 Add `'last_resume_kind' and `need_step_over' fields.
5342 * inferiors.c (struct thread_info): Delete, moved elsewhere.
5343 * mem-break.c (struct breakpoint): Delete `reinserting' flag.
5344 Delete `breakpoint_to_reinsert' field. New flag `inserted'.
5345 (set_raw_breakpoint_at): New.
5346 (set_breakpoint_at): Rewrite to use it.
5347 (reinsert_breakpoint_handler): Delete.
5348 (set_reinsert_breakpoint): New.
5349 (reinsert_breakpoint_by_bp): Delete.
5350 (delete_reinsert_breakpoints): New.
5351 (uninsert_breakpoint): Rewrite.
5352 (uninsert_breakpoints_at): New.
5353 (reinsert_breakpoint): Rewrite.
5354 (reinsert_breakpoints_at): New.
5355 (check_breakpoints): Rewrite.
5356 (breakpoint_here): New.
5357 (breakpoint_inserted_here): New.
5358 (check_mem_read): Adjust.
5359 * mem-break.h (breakpoints_supported, breakpoint_here)
5360 (breakpoint_inserted_here, set_reinsert_breakpoint): Declare.
5361 (reinsert_breakpoint_by_bp): Delete declaration.
5362 (delete_reinsert_breakpoints): Declare.
5363 (reinsert_breakpoint): Delete declaration.
5364 (reinsert_breakpoints_at): Declare.
5365 (uninsert_breakpoint): Delete declaration.
5366 (uninsert_breakpoints_at): Declare.
5367 (check_breakpoints): Adjust prototype.
5368 * server.h: Adjust include order.
5369 (struct thread_info): Declare here. Add a `last_status' field.
5370
30ba68cb
MS
53712010-03-23 Michael Snyder <msnyder@vmware.com>
5372
5373 * server.c (crc32): New function.
5374 (handle_query): Add handling for 'qCRC:' request.
5375
b9a881c2
PA
53762010-03-23 Pedro Alves <pedro@codesourcery.com>
5377
5378 * linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR6 if the
5379 lwp had been stopped by a watchpoint.
5380
e92d13d5
PA
53812010-03-16 Pedro Alves <pedro@codesourcery.com>
5382
5383 * server.h (internal_error): Declare.
5384 (gdb_assert, ASSERT_FUNCTION, gdb_assert_fail): Define.
5385 * utils.c (internal_error): New function.
5386
64daa791
AS
53872010-03-15 Andreas Schwab <schwab@redhat.com>
5388
5389 * configure.srv: Fix typo setting srv_regobj.
5390
f52cd8cd
PA
53912010-03-15 Pedro Alves <pedro@codesourcery.com>
5392
5393 * linux-low.c (fetch_register): Avoid passing a non string literal
5394 format to `error'.
5395 (usr_store_inferior_registers): Ditto.
5396
93ae6fdc
PA
53972010-03-14 Pedro Alves <pedro@codesourcery.com>
5398
5399 * linux-low.c (linux_write_memory): Bail out early if peeking
5400 memory failed.
5401
c3adc08c
PA
54022010-03-14 Pedro Alves <pedro@codesourcery.com>
5403
5404 * linux-low.h (struct lwp_info): New fields
5405 `stopped_by_watchpoint' and `stopped_data_address'.
5406 * linux-low.c (linux_wait_for_lwp): Check for watchpoint triggers
5407 here, and cache them in the lwp object.
5408 (wait_for_sigstop): Check stopped_by_watchpoint lwp field
5409 directly.
5410 (linux_resume_one_lwp): Clear the lwp's stopped_by_watchpoint
5411 field.
5412 (linux_stopped_by_watchpoint): Rewrite.
5413 (linux_stopped_data_address): Rewrite.
5414
bce522a2
PA
54152010-03-06 Simo Melenius <simo.melenius@iki.fi>
5416
5417 * linux-low.c (linux_wait_for_lwp): Fetch the regcache after
5418 switching the current inferior, not before.
5419
90884b2b
L
54202010-03-01 H.J. Lu <hongjiu.lu@intel.com>
5421
5422 * Makefile.in (clean): Replace reg-i386.c, reg-x86-64.c,
5423 reg-i386-linux.c and reg-x86-64-linux.c with i386.c, amd64.c,
5424 i386-linux.c and amd64-linux.c.
5425 (reg-i386.o): Removed.
5426 (reg-i386.c): Likewise.
5427 (reg-i386-linux.o): Likewise.
5428 (reg-i386-linux.c): Likewise.
5429 (reg-x86-64.o): Likewise.
5430 (reg-x86-64.c): Likewise.
5431 (reg-x86-64-linux.o): Likewise.
5432 (reg-x86-64-linux.c): Likewise.
5433 (i386.o): New.
5434 (i386.c): Likewise.
5435 (i386-linux.o): Likewise.
5436 (i386-linux.c): Likewise.
5437 (amd64.o): Likewise.
5438 (amd64.c): Likewise.
5439 (amd64-linux.o): Likewise.
5440 (amd64-linux.c): Likewise.
5441
5442 * configure.srv (srv_i386_regobj): New.
5443 (srv_i386_linux_regobj): Likewise.
5444 (srv_amd64_regobj): Likewise.
5445 (srv_amd64_linux_regobj): Likewise.
5446 (srv_i386_32bit_xmlfiles): Likewise.
5447 (srv_i386_64bit_xmlfiles): Likewise.
5448 (srv_i386_xmlfiles): Likewise.
5449 (srv_amd64_xmlfiles): Likewise.
5450 (srv_i386_linux_xmlfiles): Likewise.
5451 (srv_amd64_linux_xmlfiles): Likewise.
5452 (i[34567]86-*-cygwin*): Set srv_regobj to $srv_i386_regobj. Set
5453 srv_xmlfiles to $srv_i386_xmlfiles.
5454 (i[34567]86-*-mingw32ce*): Likewise.
5455 (i[34567]86-*-mingw*): Likewise.
5456 (i[34567]86-*-nto*): Likewise.
5457 (i[34567]86-*-linux*): Set srv_regobj to $srv_i386_linux_regobj
5458 and $srv_amd64_linux_regobj. Set srv_xmlfiles to
5459 $srv_i386_linux_xmlfiles and $srv_amd64_linux_xmlfiles.
5460 (x86_64-*-linux*): Likewise.
5461
5462 * linux-x86-low.c (init_registers_x86_64_linux): Removed.
5463 (init_registers_amd64_linux): New.
5464 (x86_arch_setup): Replace init_registers_x86_64_linux with
5465 init_registers_amd64_linux.
5466
193f13e6
MK
54672010-02-23 Maxim Kuvyrkov <maxim@codesourcery.com>
5468
5469 * configure.ac: Check for libdl. If it is not available link against
5470 static libthread_db.
5471 * configure: Regenerate.
5472
85d721b8
PA
54732010-02-22 Pedro Alves <pedro@codesourcery.com>
5474
5475 PR9605
5476
5477 * i386-low.c (i386_length_and_rw_bits): Throw a fatal error if
5478 handing a read watchpoint.
5479 (i386_low_insert_watchpoint): Read watchpoints aren't supported.
5480
6076632b
DE
54812010-02-12 Doug Evans <dje@google.com>
5482
5483 * linux-low.c (linux_supports_tracefork_flag): Document.
5484 (linux_look_up_symbols): Add comment.
5485
3327ccf7
L
54862010-02-03 H.J. Lu <hongjiu.lu@intel.com>
5487
5488 * regcache.c (supply_register): Clear regcache if buf is NULL.
5489
0718675c 54902010-02-02 Nicolas Roche <roche@sourceware.org>
3327ccf7 5491 Joel Brobecker <brobecker@adacore.com>
0718675c
JB
5492
5493 * inferiors.c (find_inferior): Add function documentation.
5494 (unloaded_dll): Handle the case where the unloaded dll has not
5495 been previously registered in the dll list.
5496
177321bd
DJ
54972010-02-01 Daniel Jacobowitz <dan@codesourcery.com>
5498
5499 * linux-arm-low.c (thumb_breakpoint_len): Delete.
5500 (thumb2_breakpoint): New.
5501 (arm_breakpoint_at): Check for Thumb-2 breakpoints.
5502
2b009048
DJ
55032010-01-29 Daniel Jacobowitz <dan@codesourcery.com>
5504
5505 * linux-low.c (get_stop_pc): Check for SIGTRAP.
5506 (linux_wait_for_event_1): Handle SIGILL and SIGSEGV as possible
5507 breakpoints.
5508
3be029c7
PA
55092010-01-21 Pedro Alves <pedro@codesourcery.com>
5510
5511 * linux-ppc-low.c (ppc_arch_setup): Adjust to regcache changes.
5512
18f5de3b
JK
55132010-01-21 Jan Kratochvil <jan.kratochvil@redhat.com>
5514
5515 * linux-s390-low.c (s390_collect_ptrace_register)
5516 (s390_supply_ptrace_register): Adjust it for the new regcache parameter.
5517
3743bb4f
DE
55182010-01-21 Doug Evans <dje@google.com>
5519
14ce3065
DE
5520 * linux-low.c (PTRACE_ARG3_TYPE): Change from long to void*.
5521 (PTRACE_ARG4_TYPE): New macro.
5522 (handle_extended_wait): Cast ptrace arg4 to PTRACE_ARG4_TYPE.
5523 (linux_wait_for_event_1, linux_resume_one_lwp): Ditto.
5524 (fetch_register): Cast to uintptr_t before casting to PTRACE_ARG3_TYPE.
5525 (usr_store_inferior_registers): Ditto.
5526 (linux_read_memory, linux_write_memory): Ditto.
5527 (linux_test_for_tracefork): Ditto.
5528
3743bb4f
DE
5529 * linux-arm-low.c: Remove redundant include of gdb_proc_service.h.
5530 Only include elf.h if gdb_proc_service.h didn't include linux/elf.h.
5531
8b315be5
PA
55322010-01-21 Pedro Alves <pedro@codesourcery.com>
5533
5534 * proc-service.c (ps_lgetregs): Don't refetch registers from the
5535 target.
5536
85492558
PA
55372010-01-21 Pedro Alves <pedro@codesourcery.com>
5538
5539 * spu-low.c (spu_fetch_registers, spu_store_registers): Change
5540 prototype to take a regcache. Adjust.
5541
442ea881
PA
55422010-01-20 Pedro Alves <pedro@codesourcery.com>
5543
5544 * regcache.h (struct thread_info): Forward declare.
5545 (struct regcache): New.
5546 (new_register_cache): Adjust prototype.
5547 (get_thread_regcache): Declare.
5548 (free_register_cache): Adjust prototype.
5549 (registers_to_string, registers_from_string): Ditto.
5550 (supply_register, supply_register_by_name, collect_register)
5551 (collect_register_as_string, collect_register_by_name): Ditto.
5552 * regcache.c (struct inferior_regcache_data): Delete.
5553 (get_regcache): Rename to ...
5554 (get_thread_regcache): ... this. Adjust. Switch inferior before
5555 fetching registers.
5556 (regcache_invalidate_one): Adjust.
5557 (regcache_invalidate): Fix prototype.
5558 (new_register_cache): Return the new register cache.
5559 (free_register_cache): Change prototype.
5560 (realloc_register_cache): Adjust.
5561 (registers_to_string): Change prototype to take a regcache. Adjust.
5562 (registers_from_string): Ditto.
5563 (register_data): Ditto.
5564 (supply_register): Ditto.
5565 (supply_register_by_name): Ditto.
5566 (collect_register): Ditto.
5567 (collect_register_as_string): Ditto.
5568 (collect_register_by_name): Ditto.
5569 * server.c (process_serial_event): Adjust.
5570 * linux-low.h (regset_fill_func, regset_store_func): Change
5571 prototype.
5572 (get_pc, set_pc, collect_ptrace_register, supply_ptrace_register):
5573 Change prototype.
5574 * linux-low.c (get_stop_pc): Adjust.
5575 (check_removed_breakpoint): Adjust.
5576 (linux_wait_for_event): Adjust.
5577 (linux_resume_one_lwp): Adjust.
5578 (fetch_register): Add regcache parameter. Adjust.
5579 (usr_store_inferior_registers): Ditto.
5580 (regsets_fetch_inferior_registers): Ditto.
5581 (regsets_store_inferior_registers): Ditto.
5582 (linux_fetch_registers, linux_store_registers): Ditto.
5583 * i387-fp.c (i387_cache_to_fsave): Change prototype to take a
5584 regcache. Adjust.
43aaf8b6
PA
5585 (i387_fsave_to_cache, i387_cache_to_fxsave, i387_fxsave_to_cache):
5586 Ditto.
442ea881
PA
5587 * i387-fp.h (i387_cache_to_fsave, i387_fsave_to_cache): Change
5588 prototype to take a regcache.
5589 (i387_cache_to_fxsave, i387_fxsave_to_cache): Ditto.
5590 * remote-utils.c (convert_ascii_to_int, outreg)
5591 (prepare_resume_reply): Change prototype to take a regcache.
5592 Adjust.
5593 * target.h (struct target_ops) <fetch_registers, store_registers>:
5594 Change prototype to take a regcache.
5595 (fetch_inferior_registers, store_inferior_registers): Change
5596 prototype to take a regcache. Adjust.
5597 * proc-service.c (ps_lgetregs): Adjust.
5598 * linux-x86-low.c (x86_fill_gregset, x86_store_gregset)
5599 (x86_fill_fpregset, x86_store_fpregset, x86_fill_fpxregset)
5600 (x86_store_fpxregset, x86_get_pc, x86_set_pc): Change prototype to
5601 take a regcache. Adjust.
5602 * linux-arm-low.c (arm_fill_gregset, arm_store_gregset)
5603 (arm_fill_wmmxregset, arm_store_wmmxregset, arm_fill_vfpregset)
5604 (arm_store_vfpregset, arm_get_pc, arm_set_pc):
5605 (arm_breakpoint_at): Change prototype to take a regcache. Adjust.
5606 * linux-cris-low.c (cris_get_pc, cris_set_pc)
5607 (cris_cannot_fetch_register):
5608 (cris_breakpoint_at): Change prototype to take a regcache.
5609 Adjust.
5610 * linux-crisv32-low.c (cris_get_pc, cris_set_pc,
5611 cris_reinsert_addr, cris_write_data_breakpoint): Change prototype
5612 to take a regcache. Adjust.
5613 (cris_breakpoint_at, cris_insert_point, cris_remove_point):
5614 Adjust.
5615 * linux-m32r-low.c (m32r_get_pc, m32r_set_pc): Change prototype to
5616 take a regcache. Adjust.
5617 * linux-m68k-low.c (m68k_fill_gregset, m68k_store_gregset)
5618 (m68k_fill_fpregset, m68k_store_fpregset, m68k_get_pc,
5619 (m68k_set_pc): Change prototype to take a regcache. Adjust.
5620 * linux-mips-low.c (mips_get_pc):
5621 (mips_set_pc): Change prototype to take a regcache. Adjust.
5622 (mips_reinsert_addr): Adjust.
5623 (mips_collect_register): Change prototype to take a regcache.
5624 Adjust.
5625 (mips_supply_register):
5626 (mips_collect_register_32bit, mips_supply_register_32bit)
5627 (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
5628 (mips_store_fpregset): Ditto.
43aaf8b6
PA
5629 * linux-ppc-low.c (ppc_supply_ptrace_register)
5630 (ppc_supply_ptrace_register): Ditto.
442ea881
PA
5631 (parse_spufs_run): Adjust.
5632 (ppc_get_pc, ppc_set_pc, ppc_fill_gregset, ppc_fill_vsxregset)
5633 (ppc_store_vsxregset, ppc_fill_vrregset, ppc_store_vrregset)
5634 (ppc_fill_evrregset, ppc_store_evrregset): Change prototype to
5635 take a regcache. Adjust.
5636 * linux-s390-low.c (s390_collect_ptrace_register)
5637 (s390_supply_ptrace_register, s390_fill_gregset, s390_get_pc)
5638 (s390_set_pc): Change prototype to take a regcache. Adjust.
5639 (s390_arch_setup): Adjust.
5640 * linux-sh-low.c (sh_get_pc, sh_breakpoint_at)
5641 (sh_fill_gregset): Change prototype to take a regcache. Adjust.
5642 * linux-sparc-low.c (sparc_fill_gregset_to_stack)
5643 (sparc_fill_gregset, sparc_store_gregset_from_stack)
5644 (sparc_store_gregset, sparc_get_pc): Change prototype to take a
5645 regcache. Adjust.
5646 (sparc_breakpoint_at): Adjust.
5647 * linux-xtensa-low.c (xtensa_fill_gregset):
5648 (xtensa_store_gregset):
5649 (xtensa_fill_xtregset, xtensa_store_xtregset, xtensa_get_pc)
5650 (xtensa_set_pc): Change prototype to take a regcache. Adjust.
5651 * nto-low.c (nto_fetch_registers, nto_store_registers): Change
5652 prototype to take a regcache. Adjust.
5653 * win32-arm-low.c (arm_fetch_inferior_register)
5654 (arm_store_inferior_register): Change prototype to take a
5655 regcache. Adjust.
5656 * win32-i386-low.c (i386_fetch_inferior_register)
5657 (i386_store_inferior_register): Change prototype to take a
5658 regcache. Adjust.
5659 * win32-low.c (child_fetch_inferior_registers)
5660 (child_store_inferior_registers): Change prototype to take a
5661 regcache. Adjust.
5662 (win32_wait): Adjust.
5663 (win32_fetch_inferior_registers): Change prototype to take a
5664 regcache. Adjust.
5665 (win32_store_inferior_registers): Adjust.
5666 * win32-low.h (struct win32_target_ops) <fetch_inferior_register,
5667 store_inferior_register>: Change prototype to take a regcache.
5668
60c3d7b0
DE
56692010-01-20 Doug Evans <dje@google.com>
5670
5671 * linux-low.c (linux_create_inferior): Wrap use of __SIGRTMIN in
5672 #ifdef.
5673 (linux_wait_for_event1, linux_init_signals): Ditto.
ec8ebe72 5674 (W_STOPCODE): Provide definition if missing.
60c3d7b0 5675
dc146f7c
VP
56762010-01-13 Vladimir Prus <vladimir@codesourcery.com>
5677
5678 * linux-low.c (linux_core_of_thread): New.
5679 (compare_ints, show_process, list_threads): New.
5680 (linux_qxfer_osdata): Report threads and cores.
5681 (linux_target_op): Register linux_core_of_thread.
5682 * remote-utils.c (prepare_resume_reply): Report the core.
5683 (buffer_xml_printf): Support %d specifier.
5684 * server.c (handle_threads_qxfer_proper, handle_threads_qxfer):
5685 New.
5686 (handle_query): Handle qXfer:threads. Announce availability
5687 thereof.
5688 * target.h (struct target_ops): New field core_of_thread.
5689
7803799a
UW
56902010-01-04 Ulrich Weigand <uweigand@de.ibm.com>
5691
5692 * Makefile.in (clean): Remove new generated files.
5693 (reg-s390.o, reg-s390.c): Remove rules.
5694 (reg-s390x.o, reg-s390x.c): Likewise.
5695 (s390-linux32.o, s390-linux32.c): Add rules.
5696 (s390-linux64.o, s390-linux64.c): Likewise.
5697 (s390x-linux64.o, s390x-linux64.c): Likewise.
5698 * configure.srv (s390*-*-linux*): Update srv_regobj and srv_xmlfiles.
5699 * linux-s390-low.c: Include <elf.h>.
5700 (HWCAP_S390_HIGH_GPRS): Define if undefined.
5701 (init_registers_s390): Remove prototype.
5702 (init_registers_s390x): Likewise.
5703 (init_registers_s390_linux32): Add prototype.
5704 (init_registers_s390_linux64): Likewise.
5705 (init_registers_s390x_linux64): Likewise.
5706 (s390_num_regs_3264): New define.
5707 (s390_regmap_3264): New global variable.
5708 (s390_cannot_fetch_register): Remove obsolete check.
5709 (s390_cannot_store_register): Likewise.
5710 (s390_collect_ptrace_register): Handle upper/lower register halves.
5711 (s390_supply_ptrace_register): Likewise.
5712 (s390_fill_gregset): Update to register number changes.
5713 (s390_get_hwcap): New routine.
5714 (s390_arch_setup): Detect 32-bit process running on 64-bit system.
5715 Install appropriate regmap and register set.
5716
6e7ffa39
JB
57172010-01-01 Joel Brobecker <brobecker@adacore.com>
5718
5719 * server.c (gdbserver_version): Update copyright year to 2010.
5720 * gdbreplay.c (gdbreplay_version): Likewise.
5721
957f3f49
DE
57222009-12-28 Doug Evans <dje@google.com>
5723
5724 * linux-low.c: Delete inclusion of ansidecl.h, elf/common.h,
5725 elf/external.h. Include <elf.h> instead but only if necessary.
5726
ca5c370d
PA
57272009-12-28 Pedro Alves <pedro@codesourcery.com>
5728
5729 * linux-low.c (linux_remove_process): Remove `detaching'
5730 parameter. Don't release/detach from thread_db here.
5731 (linux_kill): Release/detach from thread_db here, ...
5732 (linux_detach): ... and here, before actually detaching.
5733 (linux_wait_1): ... and here, when a process exits.
5734 * thread-db.c (any_thread_of): New.
5735 (thread_db_free): Switch the current inferior to a thread of the
5736 passed in process.
5737
4ee62156
DE
57382009-12-21 Doug Evans <dje@google.com>
5739
d90e6a88
DE
5740 * linux-x86-low.c: Delete outdated comment about Elf32_Phdr.
5741
c5f62d5f
DE
5742 * linux-low.c (kill_lwp): Use __NR_tkill instead of SYS_tkill.
5743 Move definition of tkill_failed to ifdef __NR_tkill to avoid gcc
5744 warning ifndef __NR_tkill. Move setting of errno there too.
5745 Delete unnecessary resetting of errno after syscall.
5746 Minor comment changes to match gdb/linux-nat.c:kill_lwp.
5747
10e86dd7
DE
5748 * configure.ac: Check for dladdr.
5749 * config.in: Regenerate.
5750 * configure: Regenerate.
5751 * thread-db.c (dladdr_to_soname): Only define ifdef HAVE_DLADDR.
5752 (try_thread_db_load): Update.
5753
4ee62156
DE
5754 * linux-low.c (my_waitpid): Delete unnecessary prototype.
5755
00f515da
DE
57562009-12-18 Doug Evans <dje@google.com>
5757
e9464885
DE
5758 * event-loop.c: Include unistd.h if it exists.
5759
07d4f67e
DE
5760 * linux-low.c (my_waitpid): Move definition away from being in
5761 between linux_tracefork_child/linux_test_for_tracefork.
5762
00f515da
DE
5763 * gdb_proc_service.h (psaddr_t): Fix type.
5764 * thread-db.c (thread_db_info.td_thr_tls_get_addr_p): Fix
5765 signature to match glibc.
5766
1de1badb
DE
57672009-12-16 Doug Evans <dje@google.com>
5768
5769 * linux-low.c (linux_read_memory): Fix argument to read.
5770
aeeb81d1
PA
57712009-11-26 Pedro Alves <pedro@codesourcery.com>
5772
5773 * win32-low.c (get_child_debug_event): On EXIT_THREAD_DEBUG_EVENT
5774 events, don't leave current_inferior pointing at null.
5775
10357975
PA
57762009-11-26 Pedro Alves <pedro@codesourcery.com>
5777
5778 * win32-low.c (LOG): Delete.
5779 (OUTMSG): Output to stderr.
5780 (OUTMSG2): Conditionalize on `debug_threads' variable, instead of
5781 on compile time LOG macro.
5782 (win32_wait): Fix debug output.
5783
cf6e3471
PA
57842009-11-26 Pedro Alves <pedro@codesourcery.com>
5785
5786 * win32-low.c (win32_add_one_solib): If the dll name is
5787 "ntdll.dll", prepend the system directory to the dll path.
5788
0c85e18e
MK
57892009-11-17 Daniel Jacobowitz <dan@codesourcery.com>
5790
5791 * m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization.
5792
9ac544ce 57932009-11-17 Nathan Sidwell <nathan@codesourcery.com>
889bf7c5 5794 Vladimir Prus <vladimir@codesourcery.com>
9ac544ce
MK
5795
5796 * Makefile.in (reg-cf.o, reg-cf.c): New targets.
5797 * configure.ac: Check for __mcoldfire__ and set
5798 gdb_cv_m68k_is_coldfire.
5799 * configure.srv: Use gdb_cv_m68k_is_coldfire to select between
5800 reg-cf.o and reg-m68k.o.
5801 * configure: Regenerated.
5802
fd7dd3e6
PA
58032009-11-16 Pedro Alves <pedro@codesourcery.com>
5804
5805 * linux-low.c (linux_remove_process): Add `detaching' parameter.
5806 Pass it to thread_db_free.
5807 (linux_kill, linux_detach, linux_wait_1): Adjust to pass the
5808 proper `detaching' argument to linux_remove_process.
5809 * linux-low.h (thread_db_free): Add `detaching' parameter.
5810 * thread-db.c (thread_db_init): Pass false as `detaching' argument
5811 to thread_db_free.
5812 (thread_db_free): Add `detaching' parameter. Only
5813 call td_ta_clear_event if detaching from process.
5814
75aa492e
MK
58152009-11-12 Maxim Kuvyrkov <maxim@codesourcery.com>
5816
5817 * thread-db.c (thread_db_free): Fix typo.
5818
21e1bee4
PP
58192009-11-11 Paul Pluzhnikov <ppluzhnikov@google.com>
5820
5821 PR gdb/10838
5822 * thread-db.c (thread_db_free): Call td_ta_clear_event.
5823
8838b45e
NS
58242009-11-03 Nathan Sidwell <nathan@codesourcery.com>
5825
5826 * configure.ac (i[34567]86-*): Check if we're targetting x86-64
5827 with an i686 compiler.
5828 * configure.srv (i[34567]86-*-linux*): Pull in x86-64 handling if
5829 needed.
5830 * configure: Rebuilt.
5831
8a35fb51
SL
58322009-10-29 Sandra Loosemore <sandra@codesourcery.com>
5833
5834 PR gdb/10783
5835
5836 * server.c (handle_search_memory_1): Correct read_addr initialization
5837 in loop for searching subsequent chunks.
5838
96f15937
PP
58392009-10-29 Paul Pluzhnikov <ppluzhnikov@google.com>
5840
5841 * configure.ac: New --with-libthread-db option.
5842 * thread-db.c: Allow direct dependence on libthread_db.
5843 (thread_db_free): Adjust.
5844 * config.in: Regenerate.
5845 * configure: Likewise.
889bf7c5 5846
5f7d1694
PP
58472009-10-28 Paul Pluzhnikov <ppluzhnikov@google.com>
5848
5849 PR gdb/10757
5850 * thread-db.c (attach_thread): New function.
5851 (maybe_attach_thread): Return success/failure.
5852 (find_new_threads_callback): Adjust.
889bf7c5
PA
5853 (thread_db_find_new_threads): Loop until no new threads.
5854
88e3b899
PA
58552009-10-13 Pedro Alves <pedro@codesourcery.com>
5856
5857 * proc-service.c (ps_lgetregs): Formatting.
5858
cdbfd419
PP
58592009-10-08 Paul Pluzhnikov <ppluzhnikov@google.com>
5860
5861 * acinclude.m4: (SRV_CHECK_THREAD_DB, SRV_CHECK_TLS_GET_ADDR): Remove.
5862 * configure.ac: Adjust.
5863 * linux-low.h (struct process_info_private): Move members to struct
5864 thread_db.
5865 (thread_db_free, thread_db_handle_monitor_command): New prototype.
5866 * linux-low.c (linux_remove_process): Adjust.
5867 (linux_wait_for_event_1, linux_look_up_symbols): Likewise.
5868 * server.c (handle_query): Move code ...
5869 (handle_monitor_command): ... here. New function.
5870 * target.h (struct target_ops): New member.
5871 * thread-db.c (struct thread_db): New.
5872 (libthread_db_search_path): New variable.
5873 (thread_db_create_event, thread_db_enable_reporting)
5874 (find_one_thread, maybe_attach_thread, find_new_threads_callback)
5875 (thread_db_find_new_threads, (thread_db_get_tls_address): Adjust.
5876 (try_thread_db_load_1, dladdr_to_soname): New functions.
5877 (try_thread_db_load, thread_db_load_search): New functions.
5878 (thread_db_init): Search for libthread_db.
5879 (thread_db_free): New function.
5880 (thread_db_handle_monitor_command): Likewise.
5881 * config.in: Regenerate.
5882 * configure: Regenerate.
889bf7c5 5883
4168d2d6
UW
58842009-09-27 Ulrich Weigand <uweigand@de.ibm.com>
5885
5886 * spu-low.c (spu_kill): Wait for inferior to terminate.
5887 Call clear_inferiors.
5888 (spu_detach): Call clear_inferiors.
5889
81ecdfbb
RW
58902009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5891
5892 * aclocal.m4: Regenerate.
5893 * config.in: Likewise.
5894 * configure: Likewise.
5895
0b9ff2c0
UW
58962009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
5897
5898 * linux-ppc-low.c (INSTR_SC, NR_spu_run): Define.
5899 (parse_spufs_run): New function.
5900 (ppc_get_pc, ppc_set_pc): Detect and handle SPU PC.
5901 (ppc_breakpoint_at): Handle SPU breakpoints.
5902
efcbbd14
UW
59032009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
5904
5905 * linux-low.c: Include <sys/stat.h> and <sys/vfs.h>.
5906 (SPUFS_MAGIC): Define.
5907 (spu_enumerate_spu_ids): New function.
5908 (linux_qxfer_spu): New function.
5909 (linux_target_ops): Install linux_qxfer_spu.
5910
f4d9bade
UW
59112009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
5912
5913 * configure.srv (powerpc*-*-linux*): Add powerpc-cell32l.o
5914 and powerpc-cell64l.o to srv_regobj. Add rs6000/powerpc-cell32l.xml
5915 and rs6000/powerpc-cell64l.xml to srv_xmlfiles.
5916 * Makefile.in (powerpc-cell32l.o, powerpc-cell32l.c): New rules.
5917 (powerpc-cell64l.o, powerpc-cell64l.c): Likewise.
5918 (clean): Handle powerpc-cell32l.c and powerpc-cell64l.c.
5919 * linux-ppc-low.c (PPC_FEATURE_CELL): Define.
5920 (init_registers_powerpc_cell32l): Add prototype.
5921 (init_registers_powerpc_cell64l): Likewise.
5922 (ppc_arch_setup): Detect Cell/B.E. architecture.
5923
96e946ca
RW
59242009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5925
5926 * Makefile.in (datarootdir): New variable.
5927
58d6951d
DJ
59282009-07-28 Daniel Jacobowitz <dan@codesourcery.com>
5929
5930 * linux-low.c (linux_write_memory): Update debugging output.
5931 * Makefile.in (clean): Add new descriptions.
5932 (arm-with-vfpv2.o, arm-with-vfpv2.c, arm-with-vfpv3.o)
5933 (arm-with-vfpv3.c, arm-with-neon.o, arm-with-neon.c): New rules.
5934 * configure.srv: Add new files for arm*-*-linux*.
5935 * linux-arm-low.c: Add new declarations.
5936 (PTRACE_GETVFPREGS, PTRACE_SETVFPREGS): Define if undefined.
5937 (arm_hwcap, HWCAP_VFP, HWCAP_IWMMXT, HWCAP_NEON, HWCAP_VFPv3)
5938 (HWCAP_VFPv3D16): New.
5939 (arm_fill_wmmxregset, arm_store_wmmxregset): Check HWCAP_IWMMXT
5940 instead of __IWMMXT__.
5941 (arm_fill_vfpregset, arm_store_vfpregset, arm_get_hwcap)
5942 (arm_arch_setup): New.
5943 (target_regsets): Remove #ifdef. Add VFP regset.
5944 (the_low_target): Use arm_arch_setup.
5945
12b42a12
DJ
59462009-07-28 Daniel Jacobowitz <dan@codesourcery.com>
5947
5948 * linux-low.c (linux_kill_one_lwp): Adjust kernel workaround to skip
5949 the main thread again.
5950
ac8c974e
AR
59512009-07-06 Aleksandar Ristovski <aristovski@qnx.com>
5952
5953 Adding Neutrino gdbserver.
5954 * configure: Regenerated.
5955 * configure.ac: Add case for srv_qnx and set LIBS accordingly.
5956 * configure.srv (i[34567]86-*-nto*): New target.
5957 * nto-low.c, nto-low.h, nto-x86-low.c: New files.
5958 * remote-utils.c [__QNX__]: Include sys/iomgr.h
5959 (nto_comctrl) [__QNX__]: New function.
5960 (enable_async_io, disable_async_io) [__QNX__]: Call nto_comctrl.
5961
4424e0c3 59622009-07-05 Danny Backx <dannybackx@users.sourceforge.net>
7437790a
PA
5963
5964 * configure.srv (i[34567]86-*-mingw32ce*): Add i386-low.o to
5965 srv_tgtobj.
5966
912cf4ba
PA
59672009-07-04 Danny Backx <dannybackx@users.sourceforge.net>
5968 Pedro Alves <pedro@codesourcery.com>
5969
5970 * win32-i386-low.c (i386_get_thread_context): Handle systems that
5971 don't support CONTEXT_EXTENDED_REGISTERS.
5972 (i386_win32_breakpoint, i386_win32_breakpoint_len): New.
5973 (the_low_target): Install them.
5974 * win32-low.c (get_child_debug_event): Handle WaitForDebugEvent
5975 failing with ERROR_PIPE_NOT_CONNECTED.
5976
aa5ca48f
DE
59772009-06-30 Doug Evans <dje@google.com>
5978 Pierre Muller <muller@ics.u-strasbg.fr>
5979
5980 Add h/w watchpoint support to x86-linux, win32-i386.
5981 * Makefile.in (SFILES): Add i386-low.c
5982 (i386_low_h): Define.
5983 (i386-low.o): Add dependencies.
5984 (linux-x86-low.o): Add i386-low.h dependency.
5985 (win32-i386-low.o): Ditto.
5986 * i386-low.c: New file.
5987 * i386-low.h: New file.
5988 * configure.srv (i[34567]86-*-cygwin*): Add i386-low.o to srv_tgtobj.
5989 (i[34567]86-*-linux*, i[34567]86-*-mingw*, x86_64-*-linux*): Ditto.
5990 * linux-low.c (linux_add_process): Initialize arch_private.
5991 (linux_remove_process): Free arch_private.
5992 (add_lwp): Initialize arch_private.
5993 (delete_lwp): Free arch_private.
5994 (linux_resume_one_lwp): Call the_low_target.prepare_to_resume if
5995 provided.
5996 * linux-low.h (process_info_private): New member arch_private.
5997 (lwp_info): New member arch_private.
5998 (linux_target_ops): New members new_process, new_thread,
5999 prepare_to_resume.
6000 (ptid_of): New macro.
6001 * linux-x86-low.c: Include stddef.h, i386-low.h.
6002 (arch_process_info): New struct.
6003 (arch_lwp_info): New struct.
6004 (x86_linux_dr_get, x86_linux_dr_set): New functions.
6005 (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
6006 (i386_dr_low_get_status): New function.
6007 (x86_insert_point, x86_remove_point): New functions.
6008 (x86_stopped_by_watchpoint): New function.
6009 (x86_stopped_data_address): New function.
6010 (x86_linux_new_process, x86_linux_new_thread): New functions.
6011 (x86_linux_prepare_to_resume): New function.
6012 (the_low_target): Add entries for insert_point, remove_point,
6013 stopped_by_watchpoint, stopped_data_address, new_process, new_thread,
6014 prepare_to_resume.
6015 * server.c (debug_hw_points): New global.
6016 (monitor_show_help): Document set debug-hw-points.
6017 (handle_query): Process "set debug-hw-points".
6018 * server.h (debug_hw_points): Declare.
6019 (paddress): Declare.
6020 * utils.c (NUMCELLS, CELLSIZE): New macros.
6021 (get_sell, xsnprintf, paddress): New functions.
6022 * win32-arm-low.c (the_low_target): Add entries for insert_point,
6023 remove_point, stopped_by_watchpoint, stopped_data_address.
6024 * win32-i386-low.c: Include i386-low.h.
6025 (debug_reg_state): Replaces dr.
6026 (i386_dr_low_set_addr, i386_dr_low_set_control): New functions.
6027 (i386_dr_low_get_status): New function.
6028 (i386_insert_point, i386_remove_point): New functions.
6029 (i386_stopped_by_watchpoint): New function.
6030 (i386_stopped_data_address): New function.
6031 (i386_initial_stuff): Update.
6032 (get_thread_context,set_thread_context,i386_thread_added): Update.
6033 (the_low_target): Add entries for insert_point,
6034 remove_point, stopped_by_watchpoint, stopped_data_address.
6035 * win32-low.c (win32_insert_watchpoint): New function.
6036 (win32_remove_watchpoint): New function.
6037 (win32_stopped_by_watchpoint): New function.
6038 (win32_stopped_data_address): New function.
6039 (win32_target_ops): Add entries for insert_watchpoint,
6040 remove_watchpoint, stopped_by_watchpoint, stopped_data_address.
6041 * win32-low.h (win32_target_ops): New members insert_point,
6042 remove_point, stopped_by_watchpoint, stopped_data_address.
6043
d993e290
PA
60442009-06-25 Pedro Alves <pedro@codesourcery.com>
6045
6046 * server.c (process_serial_event): Re-return unsupported, not
6047 error, if the type isn't recognized. Re-allow supporting only
6048 insert or remove packets. Also call require_running for
6049 breakpoints. Add missing break statement to default case. Tidy.
6050 * target.h (struct target_ops): Rename insert_watchpoint to
6051 insert_point, and remove_watchpoint to remove_point.
6052
6053 * linux-low.h (struct linux_target_ops): Likewise.
6054 * linux-low.c (linux_insert_watchpoint): Rename to ...
6055 (linux_insert_point): ... this. Adjust.
6056 (linux_remove_watchpoint): Rename to ...
6057 (linux_remove_point): ... this. Adjust.
6058 (linux_target_ops): Adjust.
6059 * linux-crisv32-low.c (cris_insert_watchpoint): Rename to ...
6060 (cris_insert_point): ... this.
6061 (cris_remove_watchpoint): Rename to ...
6062 (cris_remove_point): ... this.
6063 (the_low_target): Adjust.
6064
0f54c268
PM
60652009-06-24 Pierre Muller <muller@ics.u-strasbg.fr>
6066
6067 * server.c (handle_v_kill): Pass signal_pid to
6068 kill_inferior if multi_process is zero.
6069
c6314022
AR
60702009-06-23 Aleksandar Ristovski <aristovski@qnx.com>
6071
6072 * server.c (process_serial_event): Add support for Z0 and Z1 packet.
6073 * target.h (target_ops): Comment for *_watchpoint to make it clear
6074 the functions can get types '0' and '1'.
6075
4463ce24
AR
60762009-06-22 Aleksandar Ristovski <aristovski@qnx.com>
6077
6078 * linux-low.c (usr_fetch_inferior_registers): Remove check for regno 0.
6079 * proc-service.c (ps_lgetregs): Pass -1 to fetch all registers.
6080 * regcache.c (get_regcache): Likewise.
6081 * spu-low.c (spu_fetch_registers): Remove 0 to -1 conversion.
6082 * win32-low.c (child_fetch_inferior_registers): Remove check for
6083 regno 0.
6084
cf8fd78b
PA
60852009-06-19 Aleksandar Ristovski <aristovski@qnx.com>
6086 Pedro Alves <pedro@codesourcery.com>
6087
6088 * target.h (struct target_ops) <supports_multi_process>: New
6089 callback.
6090 (target_supports_multi_process): New.
6091 * server.c (handle_query): Even if GDB reports support, only
6092 enable multi-process if the target also supports it. Report
6093 multi-process support only if the target backend supports it.
6094 * linux-low.c (linux_supports_multi_process): New function.
6095 (linux_target_ops): Install it as target_supports_multi_process
6096 callback.
6097
47c0c975
DE
60982009-05-24 Doug Evans <dje@google.com>
6099
e09875d4
DE
6100 Global renaming of find_thread_pid to find_thread_ptid.
6101 * server.h (find_thread_ptid): Renamed from find_thread_pid.
6102 * inferiors.c (find_thread_ptid): Renamed from find_thread_pid.
6103 All callers updated.
6104
e27d73f6
DE
6105 * linux-low.c (handle_extended_wait): Use linux_resume_one_lwp
6106 to resume the newly created thread, don't call ptrace (PTRACE_CONT)
6107 directly.
6108
47c0c975
DE
6109 * linux-low.c (get_stop_pc): Print pc if debug_threads.
6110 (check_removed_breakpoint, linux_wait_for_lwp): Ditto.
6111 (linux_resume_one_lwp): Ditto.
6112
2acc282a
DE
61132009-05-23 Doug Evans <dje@google.com>
6114
6115 * linux-low.c (linux_resume_one_lwp): Change type of first arg
6116 from struct inferior_list_entry * to struct lwp_info *.
6117 All callers updated.
6118
9f1036c1
DE
61192009-05-13 Doug Evans <dje@google.com>
6120
6121 * linux-x86-low.c: Don't include assert.h.
6122 (x86_siginfo_fixup): Use fatal, not assert.
6123 (x86_arch_setup): Fix comment.
6124
d0722149
DE
61252009-05-12 Doug Evans <dje@google.com>
6126
6127 Biarch support for i386/amd64 gdbserver.
6128 * Makefile.in (SFILES): Remove linux-i386-low.c, linux-x86-64-low.c.
6129 Add linux-x86-low.c.
6130 (linux-i386-low.o, linux-x86-64-low.o): Delete.
6131 (linux-x86-low.o): Add.
6132 * linux-x86-64-low.c: Delete.
6133 * linux-i386-low.c: Delete.
6134 * linux-x86-low.c: New file.
6135 * configure.srv (i?86-linux srv_tgtobj): Replace linux-i386-low.o with
6136 linux-x86-low.o.
6137 (x86_64-linux srv_tgtobj): Replace linux-x86-64-low.o with
6138 linux-x86-low.o.
6139 (x86_64-linux srv_regobj): Add reg-i386-linux.o.
6140 * linux-low.c: Include ansidecl.h, elf/common.h, elf/external.h.
6141 (linux_child_pid_to_exec_file): New function.
6142 (elf_64_header_p, elf_64_file_p): New functions.
6143 (siginfo_fixup): New function.
6144 (linux_xfer_siginfo): New local inf_siginfo. Call siginfo_fixup to
6145 give target a chance to convert layout.
6146 * linux-low.h (linux_target_ops): New member siginfo_fixup.
6147 (linux_child_pid_to_exec_file, elf_64_file_p): Declare.
6148
fdeb2a12
DE
61492009-05-07 Doug Evans <dje@google.com>
6150
6151 * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak.
6152 (regsets_store_inferior_registers): Ditto.
6153
a6dbe5df
PA
61542009-05-06 Pedro Alves <pedro@codesourcery.com>
6155
6156 PR server/10048
6157
6158 * linux-low.c (must_set_ptrace_flags): Delete.
6159 (linux_create_inferior): Set `lwp->must_set_ptrace_flags' instead
6160 of the global.
6161 (linux_attach_lwp_1): Don't set PTRACE_SETOPTIONS here. Set
6162 `lwp->must_set_ptrace_flags' instead.
ba42693b 6163 (linux_wait_for_event_1): Set ptrace options here.
a6dbe5df
PA
6164 (linux_wait_1): ... not here.
6165
5091eb23
DE
61662009-04-30 Doug Evans <dje@google.com>
6167
9f767825
DE
6168 * inferiors.c (started_inferior_callback): New function.
6169 (attached_inferior_callback): New function.
6170 (have_started_inferiors_p, have_attached_inferiors_p): New functions.
6171 * server.c (print_started_pid, print_attached_pid): New functions.
6172 (detach_or_kill_for_exit): New function.
6173 (main): Call it instead of for_each_inferior (kill_inferior_callback).
6174 * server.h (have_started_inferiors_p): Declare.
6175 (have_attached_inferiors_p): Declare.
6176
5091eb23
DE
6177 * inferiors.c (remove_process): Fix memory leak, free process.
6178 * linux-low.c (linux_remove_process): New function.
6179 (linux_kill): Call it instead of remove_process.
6180 (linux_detach, linux_wait_1): Ditto.
6181
155c8968
PA
61822009-04-19 Danny Backx <dannybackx@users.sourceforge.net>
6183
6184 * configure.srv: Add x86 Windows CE target.
6185
7fe519cb
UW
61862009-04-03 Ulrich Weigand <uweigand@de.ibm.com>
6187
6188 * inferiors.c (get_thread_process): Make global.
6189 * server.h (get_thread_process): Add prototype.
6190 * thread-db.c (find_one_thread): Use get_thread_process
6191 instead of current_process.
6192 (thread_db_get_tls_address): Do not crash if called when
6193 thread layer is not yet initialized.
6194
5472f405
UW
61952009-04-03 Ulrich Weigand <uweigand@de.ibm.com>
6196
6197 * remote-utils.c (prepare_resume_reply): Null-terminate packet.
6198 * spu-low.c (current_tid): Rename to ...
6199 (current_ptid): ... this.
6200 (fetch_ppc_register, fetch_ppc_memory, store_ppc_memory,
6201 spu_proc_xfer_spu, spu_resume, spu_request_interrupt): Use
6202 ptid_get_lwp (current_ptid) instead of current_tid.
6203 (spu_kill, spu_detach, spu_join, spu_wait): Use pid argument
6204 instead of current_tid. Use find_process_pid to verify pid
6205 argument is valid. Pass proper argument to remove_process.
6206 (spu_thread_alive): Compare current_ptid instead of current_tid.
6207 (spu_resume): Likewise.
6208
55ac2b99
PA
62092009-04-02 Pedro Alves <pedro@codesourcery.com>
6210
6211 * linux-low.c (usr_store_inferior_registers): Declare local `pid'
6212 variable.
6213
95954743
PA
62142009-04-01 Pedro Alves <pedro@codesourcery.com>
6215
6216 Implement the multiprocess extensions, and add linux multiprocess
6217 support.
6218
6219 * server.h (ULONGEST): Declare.
6220 (struct ptid, ptid_t): New.
6221 (minus_one_ptid, null_ptid): Declare.
6222 (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
6223 (ptid_get_tid, ptid_equal, ptid_is_pid): Declare.
6224 (struct inferior_list_entry): Change `id' type from unsigned from
6225 to ptid_t.
6226 (struct sym_cache, struct breakpoint, struct
6227 process_info_private): Forward declare.
6228 (struct process_info): Declare.
6229 (current_process): Declare.
6230 (all_processes): Declare.
6231 (initialize_inferiors): Declare.
6232 (add_thread): Adjust to use ptid_t.
6233 (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): Ditto.
6234 (add_process, remove_process, find_thread_pid): Declare.
6235 (find_inferior_id): Adjust to use ptid_t.
6236 (cont_thread, general_thread, step_thread): Change type to ptid_t.
6237 (multi_process): Declare.
6238 (push_event): Adjust to use ptid_t.
6239 (read_ptid, write_ptid): Declare.
6240 (prepare_resume_reply): Adjust to use ptid_t.
6241 (clear_symbol_cache): Declare.
6242 * inferiors.c (all_processes): New.
6243 (null_ptid, minus_one_ptid): New.
6244 (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
6245 (ptid_get_tid, ptid_equal, ptid_is_pid): New.
6246 (add_thread): Change unsigned long to ptid. Remove gdb_id
6247 parameter. Adjust.
6248 (thread_id_to_gdb_id, thread_to_gdb_id): Change unsigned long to ptid.
6249 (gdb_id_to_thread): Rename to ...
6250 (find_thread_pid): ... this. Change unsigned long to ptid.
6251 (gdb_id_to_thread_id, find_inferior_id): Change unsigned long to ptid.
6252 (loaded_dll, pull_pid_from_list): Adjust.
6253 (add_process, remove_process, find_process_pid)
6254 (get_thread_process, current_process, initialize_inferiors): New.
6255 * target.h (struct thread_resume) <thread>: Change type to ptid_t.
6256 (struct target_waitstatus) <related_pid>: Ditto.
6257 (struct target_ops) <kill, detach>: Add `pid' argument. Change
6258 return type to int.
6259 (struct target_ops) <join>: Add `pid' argument.
6260 (struct target_ops) <thread_alive>: Change pid's type to ptid_t.
6261 (struct target_ops) <wait>: Add `ptid' field. Change return type
6262 to ptid.
6263 (kill_inferior, detach_inferior, join_inferior): Add `pid' argument.
6264 (mywait): Add `ptid' argument. Change return type to ptid_t.
6265 (target_pid_to_str): Declare.
6266 * target.c (set_desired_inferior): Adjust to use ptids.
6267 (mywait): Add new `ptid' argument. Adjust.
6268 (target_pid_to_str): New.
6269 * mem-break.h (free_all_breakpoints): Declare.
6270 * mem-break.c (breakpoints): Delelete.
6271 (set_breakpoint_at, delete_breakpoint, find_breakpoint_at)
6272 (check_mem_read, check_mem_write, delete_all_breakpoints): Adjust
6273 to use per-process breakpoint list.
6274 (free_all_breakpoints): New.
6275 * remote-utils.c (struct sym_cache) <name>: Drop `const'.
6276 (symbol_cache, all_symbols_looked_up): Delete.
6277 (hexchars): New.
6278 (ishex, unpack_varlen_hex, write_ptid, hex_or_minus_one,
6279 read_ptid): New.
6280 (prepare_resume_reply): Change ptid argument's type from unsigned
6281 long to ptid_t. Adjust. Implement W;process and X;process.
6282 (free_sym_cache, clear_symbol_cache): New.
6283 (look_up_one_symbol): Adjust to per-process symbol cache. *
6284 * server.c (cont_thread, general_thread, step_thread): Change type
6285 to ptid_t.
6286 (attached): Delete.
6287 (multi_process): New.
6288 (last_ptid): Change type to ptid_t.
6289 (struct vstop_notif) <ptid>: Change type to ptid_t.
6290 (queue_stop_reply, push_event): Change `ptid' argument's type to
6291 ptid_t.
6292 (discard_queued_stop_replies): Add `pid' argument.
6293 (start_inferior): Adjust to use ptids. Adjust to mywait interface
6294 changes. Don't reference the `attached' global.
6295 (attach_inferior): Adjust to mywait interface changes.
6296 (handle_query): Adjust to use ptids. Parse GDB's qSupported
6297 features. Handle and report "multiprocess+". Handle
6298 "qAttached:PID".
6299 (handle_v_cont): Adjust to use ptids. Adjust to mywait interface
6300 changes.
6301 (handle_v_kill): New.
6302 (handle_v_stopped): Adjust to use target_pid_to_str.
6303 (handle_v_requests): Allow multiple attaches and runs when
6304 multiprocess extensions are in effect. Handle "vKill".
6305 (myresume): Adjust to use ptids.
6306 (queue_stop_reply_callback): Add `arg' parameter. Handle it.
6307 (handle_status): Adjust to discard_queued_stop_replies interface
6308 change.
6309 (first_thread_of, kill_inferior_callback)
6310 (detach_or_kill_inferior_callback, join_inferiors_callback): New.
6311 (main): Call initialize_inferiors. Adjust to use ptids, killing
6312 and detaching from all inferiors. Handle multiprocess packet
6313 variants.
6314 * linux-low.h: Include gdb_proc_service.h.
6315 (struct process_info_private): New.
6316 (struct linux_target_ops) <pid_of>: Use ptid_get_pid.
6317 <lwpid_of>: Use ptid_get_lwp.
6318 (get_lwp_thread): Adjust.
6319 (struct lwp_info): Add `dead' member.
6320 (find_lwp_pid): Declare.
6321 * linux-low.c (thread_db_active): Delete.
6322 (new_inferior): Adjust comment.
6323 (inferior_pid): Delete.
6324 (linux_add_process): New.
6325 (handle_extended_wait): Adjust.
6326 (add_lwp): Change unsigned long to ptid.
6327 (linux_create_inferior): Add process to processes table. Adjust
6328 to use ptids. Don't set new_inferior here.
6329 (linux_attach_lwp): Rename to ...
6330 (linux_attach_lwp_1): ... this. Add `initial' argument. Handle
6331 it. Adjust to use ptids.
6332 (linux_attach_lwp): New.
6333 (linux_attach): Add process to processes table. Don't set
6334 new_inferior here.
6335 (struct counter): New.
6336 (second_thread_of_pid_p, last_thread_of_process_p): New.
6337 (linux_kill_one_lwp): Add `args' parameter. Handle it. Adjust to
6338 multiple processes.
6339 (linux_kill): Add `pid' argument. Handle it. Adjust to multiple
6340 processes. Remove process from process table.
6341 (linux_detach_one_lwp): Add `args' parameter. Handle it. Adjust
6342 to multiple processes.
6343 (any_thread_of): New.
6344 (linux_detach): Add `pid' argument, and handle it. Remove process
6345 from processes table.
6346 (linux_join): Add `pid' argument. Handle it.
6347 (linux_thread_alive): Change unsighed long argument to ptid_t.
6348 Consider dead lwps as not being alive.
6349 (status_pending_p): Rename `dummy' argument to `arg'. Filter out
6350 threads we're not interested in.
6351 (same_lwp, find_lwp_pid): New.
6352 (linux_wait_for_lwp): Change `pid' argument's type from int to
6353 ptid_t. Adjust.
6354 (linux_wait_for_event): Rename to ...
6355 (linux_wait_for_event_1): ... this. Change `pid' argument's type
6356 from int to ptid_t. Adjust.
6357 (linux_wait_for_event): New.
6358 (linux_wait_1): Add `ptid' argument. Change return type to
6359 ptid_t. Adjust. Use last_thread_of_process_p. Remove processes
6360 that exit from the process table.
6361 (linux_wait): Add `ptid' argument. Change return type to ptid_t.
6362 Adjust.
6363 (mark_lwp_dead): New.
6364 (wait_for_sigstop): Adjust to use ptids. If a process exits while
6365 stopping all threads, mark its main lwp as dead.
6366 (linux_set_resume_request, linux_resume_one_thread): Adjust to use
6367 ptids.
6368 (fetch_register, usr_store_inferior_registers)
6369 (regsets_fetch_inferior_registers)
6370 (regsets_store_inferior_registers, linux_read_memory)
6371 (linux_write_memory): Inline `inferior_pid'.
6372 (linux_look_up_symbols): Adjust to use per-process
6373 `thread_db_active'.
6374 (linux_request_interrupt): Adjust to use ptids.
6375 (linux_read_auxv): Inline `inferior_pid'.
6376 (initialize_low): Don't reference thread_db_active.
6377 * gdb_proc_service.h (struct ps_prochandle) <pid>: Remove.
6378 * proc-service.c (ps_lgetregs): Use find_lwp_pid.
6379 (ps_getpid): Return the pid of the current inferior.
6380 * thread-db.c (proc_handle, thread_agent): Delete.
6381 (thread_db_create_event, thread_db_enable_reporting): Adjust to
6382 per-process data.
6383 (find_one_thread): Change argument type to ptid_t. Adjust to
6384 per-process data.
6385 (maybe_attach_thread): Adjust to per-process data and ptids.
6386 (thread_db_find_new_threads): Ditto.
6387 (thread_db_init): Ditto.
6388 * spu-low.c (spu_create_inferior, spu_attach): Add process to
6389 processes table. Adjust to use ptids.
6390 (spu_kill, spu_detach): Adjust interface. Remove process from
6391 processes table.
6392 (spu_join, spu_thread_alive): Adjust interface.
6393 (spu_wait): Adjust interface. Remove process from processes
6394 table. Adjust to use ptids.
6395 * win32-low.c (current_inferior_tid): Delete.
6396 (current_inferior_ptid): New.
6397 (debug_event_ptid): New.
6398 (thread_rec): Take a ptid. Adjust.
6399 (child_add_thread): Add `pid' argument. Adjust to use ptids.
6400 (child_delete_thread): Ditto.
6401 (do_initial_child_stuff): Add `attached' argument. Add process to
6402 processes table.
6403 (child_fetch_inferior_registers, child_store_inferior_registers):
6404 Adjust.
6405 (win32_create_inferior): Pass 0 to do_initial_child_stuff.
6406 (win32_attach): Pass 1 to do_initial_child_stuff.
6407 (win32_kill): Adjust interface. Remove process from processes
6408 table.
6409 (win32_detach): Ditto.
6410 (win32_join): Adjust interface.
6411 (win32_thread_alive): Take a ptid.
6412 (win32_resume): Adjust to use ptids.
6413 (get_child_debug_event): Ditto.
6414 (win32_wait): Adjust interface. Remove exiting process from
6415 processes table.
6416
bd99dc85
PA
64172009-04-01 Pedro Alves <pedro@codesourcery.com>
6418
6419 Non-stop mode support.
6420
6421 * server.h (non_stop): Declare.
6422 (gdb_client_data, handler_func): Declare.
6423 (delete_file_handler, add_file_handler, start_event_loop):
6424 Declare.
6425 (handle_serial_event, handle_target_event, push_event)
6426 (putpkt_notif): Declare.
6427 * target.h (enum resume_kind): New.
6428 (struct thread_resume): Replace `step' field by `kind' field.
6429 (TARGET_WNOHANG): Define.
6430 (struct target_ops) <wait>: Add `options' argument.
6431 <supports_non_stop, async, start_non_stop>: New fields.
6432 (target_supports_non_stop, target_async): New.
6433 (start_non_stop): Declare.
6434 (mywait): Add `options' argument.
6435 * target.c (mywait): Add `options' argument. Print child exit
6436 notifications here.
6437 (start_non_stop): New.
6438 * server.c (non_stop, own_buf, mem_buf): New globals.
6439 (struct vstop_notif): New.
6440 (notif_queue): New global.
6441 (queue_stop_reply, push_event, discard_queued_stop_replies)
6442 (send_next_stop_reply): New.
6443 (start_inferior): Adjust to use resume_kind. Adjust to mywait
6444 interface changes.
6445 (attach_inferior): In non-stop mode, don't wait for the target
6446 here.
6447 (handle_general_set): Handle QNonStop.
6448 (handle_query): When handling qC, return the current general
6449 thread, instead of the first thread of the list.
6450 (handle_query): If the backend supports non-stop mode, include
6451 QNonStop+ in the qSupported query response.
6452 (handle_v_cont): Adjust to use resume_kind. Handle resume_stop
6453 and non-stop mode.
6454 (handle_v_attach, handle_v_run): Handle non-stop mode.
6455 (handle_v_stopped): New.
6456 (handle_v_requests): Report support for vCont;t. Handle vStopped.
6457 (myresume): Adjust to use resume_kind. Handle non-stop.
6458 (queue_stop_reply_callback): New.
6459 (handle_status): Handle non-stop mode.
6460 (main): Clear non_stop flag on reconnection. Use the event-loop.
6461 Refactor serial protocol handling from here ...
6462 (process_serial_event): ... to this new function. When GDB
6463 selects any thread, select one here. In non-stop mode, wait until
6464 GDB acks all pending events before exiting.
6465 (handle_serial_event, handle_target_event): New.
6466 * remote-utils.c (remote_open): Install remote_desc in the event
6467 loop.
6468 (remote_close): Remove remote_desc from the event loop.
6469 (putpkt_binary): Rename to...
6470 (putpkt_binary_1): ... this. Add `is_notic' argument. Handle it.
6471 (putpkt_binary): New as wrapper around putpkt_binary_1.
6472 (putpkt_notif): New.
6473 (prepare_resume_reply): In non-stop mode, don't change the
6474 general_thread.
6475 * event-loop.c: New.
6476 * Makefile.in (OBJ): Add event-loop.o.
6477 (event-loop.o): New rule.
6478
6479 * linux-low.h (pid_of): Moved here.
6480 (lwpid_of): New.
6481 (get_lwp_thread): Use lwpid_of.
6482 (struct lwp_info): Delete `lwpid' field. Add `suspended' field.
6483 * linux-low.c (pid_of): Delete.
6484 (inferior_pid): Use lwpid_of.
6485 (linux_event_pipe): New.
6486 (target_is_async_p): New.
6487 (delete_lwp): New.
6488 (handle_extended_wait): Use lwpid_of.
6489 (add_lwp): Don't set lwpid field.
6490 (linux_attach_lwp): Adjust debug output. Use lwpid_of.
6491 (linux_kill_one_lwp): If killing a running lwp, stop it first.
6492 Use lwpid_of. Adjust to linux_wait_for_event interface changes.
6493 (linux_detach_one_lwp): If detaching from a running lwp, stop it
6494 first. Adjust to linux_wait_for_event interface changes. Use
6495 lwpid_of.
6496 (linux_detach): Don't delete the main lwp here.
6497 (linux_join): Use my_waitpid. Avoid signal_pid. Use lwpid_of.
6498 (status_pending_p): Don't consider explicitly suspended lwps.
6499 (linux_wait_for_lwp): Take an integer pid instead of a lwp_info
6500 pointer. Add OPTIONS argument. Change return type to int. Use
6501 my_waitpid instead of sleeping. Handle WNOHANG. Use lwpid_of.
6502 (linux_wait_for_event): Take an integer pid instead of a lwp_info
6503 pointer. Add status pointer argument. Return a pid instead of a
6504 status. Use lwpid_of. Adjust to linux_wait_for_lwp interface
6505 changes. In non-stop mode, don't switch to a random thread.
6506 (linux_wait): Rename to...
6507 (linux_wait_1): ... this. Add target_options argument, and handle
6508 it. Adjust to use resume_kind. Use lwpid_of. In non-stop mode,
6509 don't handle the continue thread. Handle TARGET_WNOHANG. Merge
6510 clean exit and signal exit code. Don't stop all threads in
6511 non-stop mode. In all-stop mode, only stop all threads when
6512 reporting a stop to GDB. Handle explicit thread stop requests.
6513 (async_file_flush, async_file_mark): New.
6514 (linux_wait): New.
6515 (send_sigstop): Use lwpid_of.
6516 (wait_for_sigstop): Use lwpid_of. Adjust to linux_wait_for_event
6517 interface changes. In non-stop mode, don't switch to a random
6518 thread.
6519 (linux_resume_one_lwp): Use lwpid_of.
6520 (linux_continue_one_thread, linux_queue_one_thread): Merge into ...
6521 (linux_resume_one_thread): ... this. Handle resume_stop. In
6522 non-stop mode, don't look for pending flag in all threads.
6523 (resume_status_pending_p): Don't consider explicitly suspended
6524 threads.
6525 (my_waitpid): Reimplement. Emulate __WALL.
6526 (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
6527 Use lwpid_of.
6528 (sigchld_handler, linux_supports_non_stop, linux_async)
6529 (linux_start_non_stop): New.
6530 (linux_target_ops): Register linux_supports_non_stop, linux_async
6531 and linux_start_non_stop.
6532 (initialize_low): Install SIGCHLD handler.
6533 * thread-db.c (thread_db_create_event, find_one_thread)
6534 (thread_db_get_tls_address): Use lwpid_of.
6535 * win32-low.c (win32_detach): Adjust to use resume_kind.
6536 (win32_wait): Add `options' argument.
6537 * spu-low.c (spu_resume): Adjust to use resume_kind.
6538 (spu_wait): Add `options' argument.
6539
5b1c542e
PA
65402009-04-01 Pedro Alves <pedro@codesourcery.com>
6541
6542 Decouple target code from remote protocol.
6543
6544 * target.h (enum target_waitkind): New.
6545 (struct target_waitstatus): New.
6546 (struct target_ops) <wait>: Return an unsigned long. Take a
6547 target_waitstatus pointer instead of a char pointer.
6548 (mywait): Likewise.
6549 * target.c (mywait): Change prototype to return an unsigned long.
6550 Take a target_waitstatus pointer instead of a char pointer. Adjust.
6551 * server.h (thread_from_wait, old_thread_from_wait): Delete
6552 declarations.
6553 (prepare_resume_reply): Change prototype to take a
6554 target_waitstatus.
6555 * server.c (thread_from_wait, old_thread_from_wait): Delete.
6556 (last_status, last_ptid): New.
6557 (start_inferior): Remove "statusptr" argument. Adjust. Return a
6558 pid instead of a signal.
6559 (attach_inferior): Remove "status" and "signal" parameters.
6560 Adjust.
6561 (handle_query): For qGetTLSAddr, parse the thread id with strtol,
6562 not as an address.
6563 (handle_v_cont, handle_v_attach, handle_v_run, handle_v_kill)
6564 (handle_v_requests, myresume): Remove "status" and "signal"
6565 parameters. Adjust.
6566 (handle_status): New.
6567 (main): Delete local `status'. Adjust.
6568 * remote-utils.c: Include target.h.
6569 (prepare_resume_reply): Change prototype to take a
6570 target_waitstatus. Adjust.
6571
6572 * linux-low.c (linux_wait): Adjust to new target_ops->wait
6573 interface.
6574 * spu-low.c (spu_wait): Adjust.
6575 * win32-low.c (enum target_waitkind, struct target_waitstatus):
6576 Delete.
6577 (win32_wait): Adjust.
6578
2bd7c093
PA
65792009-04-01 Pedro Alves <pedro@codesourcery.com>
6580
6581 * target.h (struct thread_resume): Delete leave_stopped member.
6582 (struct target_ops): Add a `n' argument to the `resume' callback.
6583 * server.c (start_inferior): Adjust.
6584 (handle_v_cont, myresume): Adjust.
6585 * linux-low.c (check_removed_breakpoint): Adjust to resume
6586 interface change, and to removed leave_stopped field.
6587 (resume_ptr): Delete.
6588 (struct thread_resume_array): New.
6589 (linux_set_resume_request): Add new `arg' parameter. Adjust to
6590 resume interface change.
6591 (linux_continue_one_thread, linux_queue_one_thread)
6592 (resume_status_pending_p): Check if the resume field is NULL
6593 instead of checking the leave_stopped member.
6594 (linux_resume): Adjust to the target resume interface change.
6595 * spu-low.c (spu_resume): Adjust to the target resume interface
6596 change.
6597 * win32-low.c (win32_detach, win32_resume): Ditto.
6598
c35fafde
PA
65992009-04-01 Pedro Alves <pedro@codesourcery.com>
6600
6601 * linux-low.c (linux_wait_for_event): Don't clear the `stepping'
6602 flag.
6603 (wait_for_sigstop): Don't leave a finished single-step SIGTRAP
6604 pending.
6605 (linux_continue_one_thread): Only preserve the stepping flag if
6606 there's a pending breakpoint.
6607
0a59d50b
PA
66082009-03-31 Pedro Alves <pedro@codesourcery.com>
6609
6610 * server.c (main): After the inferior having exited, call
6611 remote_close before exiting gdbserver.
6612
f04c6d38
TJB
66132009-03-25 Thiago Jung Bauermann <bauerman@br.ibm.com>
6614
6615 Fix size of FPSCR in Power 7 processors.
6616 * linux-ppc-low.c (PPC_FEATURE_ARCH_2_05): Remove #define.
6617 (PPC_FEATURE_HAS_DFP): New #define.
6618 (ppc_arch_setup): Check for DFP feature instead of ISA 2.05 to decide on
6619 size of the FPSCR.
6620
78e5cee6
PA
66212009-03-23 Pedro Alves <pedro@codesourcery.com>
6622
6623 * server.c (handle_query) Whitespace and formatting.
6624
1b3f6016
PA
66252009-03-22 Pedro Alves <pedro@codesourcery.com>
6626
6627 * i387-fp.c, linux-arm-low.c, linux-cris-low.c,
6628 linux-crisv32-low.c, linux-i386-low.c, linux-low.c,
6629 linux-mips-low.c, linux-s390-low.c, linux-sparc-low.c,
6630 linux-x86-64-low.c, linux-xtensa-low.c, proc-service.c,
6631 regcache.c, remote-utils.c, server.c, spu-low.c, target.h,
6632 thread-db.c, win32-low.c, xtensa-xtregs.c, gdbreplay.c,
6633 Makefile.in, configure.ac: Fix whitespace throughout.
6634 * configure: Regenerate.
6635
a07b2135
PA
66362009-03-22 Pedro Alves <pedro@codesourcery.com>
6637
6638 * inferiors.c (find_inferior): Make it safe for the callback
6639 function to delete the currently iterated inferior.
6640
67cc2626
PA
66412009-03-22 Pedro Alves <pedro@codesourcery.com>
6642
6643 * Makefile.in (linuw_low_h): Move higher.
6644 (thread-db.o): Depend on $(linux_low_h).
6645
54a0b537
PA
66462009-03-17 Pedro Alves <pedro@codesourcery.com>
6647
6648 Rename "process" to "lwp" throughout.
6649
6650 * linux-low.c (all_processes): Rename to...
6651 (all_lwps): ... this.
6652 (inferior_pid, handle_extended_wait, get_stop_pc): Adjust.
6653 (add_process): Rename to ...
6654 (add_lwp): ... this. Adjust.
6655 (linux_create_inferior): Adjust.
6656 (linux_attach_lwp): Adjust.
6657 (linux_attach): Adjust.
6658 (linux_kill_one_process): Rename to ...
6659 (linux_kill_one_lwp): ... this. Adjust.
6660 (linux_kill): Adjust.
6661 (linux_detach_one_process): Rename to ...
6662 (linux_detach_one_lwp): ... this. Adjust.
6663 (linux_detach): Adjust.
6664 (check_removed_breakpoint): Adjust.
6665 (status_pending_p): Adjust.
6666 (linux_wait_for_process): Rename to ...
6667 (linux_wait_for_lwp): ... this. Adjust.
6668 (linux_wait_for_event): Adjust.
6669 (send_sigstop): Adjust.
6670 (wait_for_sigstop): Adjust.
6671 (stop_all_processes): Rename to ...
6672 (stop_all_lwps): ... this.
6673 (linux_resume_one_process): Rename to ...
6674 (linux_resume_one_lwp): ... this. Adjust.
6675 (linux_set_resume_request, linux_continue_one_thread)
6676 (linux_queue_one_thread, resume_status_pending_p)
6677 (usr_store_inferior_registers, regsets_store_inferior_registers)
6678 (linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
6679 Adjust.
6680 * linux-low.h (get_process): Rename to ...
6681 (get_lwp): ... this. Adjust.
6682 (get_thread_process): Rename to ...
6683 (get_thread_lwp): ... this. Adjust.
6684 (get_process_thread): Rename to ...
6685 (get_lwp_thread): ... this. Adjust.
6686 (struct process_info): Rename to ...
6687 (struct lwp_info): ... this.
6688 (all_processes): Rename to ...
6689 (all_lwps): ... this.
6690 * proc-service.c (ps_lgetregs): Adjust.
6691 * thread-db.c (thread_db_create_event, find_one_thread)
6692 (maybe_attach_thread, thread_db_get_tls_address): Adjust.
6693
0b16c5cf
PA
66942009-03-14 Pedro Alves <pedro@codesourcery.com>
6695
6696 * server.c (handle_query): Handle "qAttached".
6697
32de4b9d
NS
66982009-03-13 Nathan Sidwell <nathan@codesourcery.com>
6699
6700 * Makefile.in, hostio-errno.c, errno.c, xtensa-xtregs.c: Change to
6701 GPLv3, update license URL.
6702
2aecd87f
DE
67032009-03-01 Doug Evans <dje@google.com>
6704
93efd302 6705 * Makefile.in (INCLUDE_CFLAGS): Add -I$(srcdir)/../common.
2aecd87f
DE
6706 (server_h): Add gdb_signals.h.
6707 (signals.o): Update.
6708 * server.h (target_signal_from_host,target_signal_to_host_p)
6709 (target_signal_to_host,target_signal_to_name): Moved to gdb_signals.h.
6710
86b1f9c5
PM
67112009-02-14 Pierre Muller <muller@ics.u-strasbg.fr>
6712
6713 * remote-utils.c (getpkt): Also generate remote-debug
6714 information if noack_mode is set.
6715
4aa995e1
PA
67162009-02-06 Pedro Alves <pedro@codesourcery.com>
6717
6718 * server.c (handle_query): Report qXfer:siginfo:read and
6719 qXfer:siginfo:write as supported and handle them.
6720 * target.h (struct target_ops) <qxfer_siginfo>: New field.
6721 * linux-low.c (linux_xfer_siginfo): New.
6722 (linux_target_ops): Set it.
6723
62709adf
PA
67242009-01-26 Pedro Alves <pedro@codesourcery.com>
6725
6726 * server.c (gdbserver_usage): Mention --remote-debug.
6727 (main): Accept '--remote-debug' switch.
6728
aef93bd7
DE
67292009-01-18 Doug Evans <dje@google.com>
6730
6731 * regcache.c (new_register_cache): No need to check result of xcalloc.
6732 * server.c (handle_search_memory): Back out calls to xmalloc,
6733 result is checked and error is returned to user upon failure.
6734 (handle_query): Ditto. Add more checks for result of malloc.
6735 (handle_v_cont): Check result of malloc, report error back to
6736 user upon failure.
6737 (handle_v_run): Ditto. Call freeargv.
6738 * server.h (freeargv): Declare.
6739 * utils.c (freeargv): New fn.
6740
54363045
DE
67412009-01-15 Doug Evans <dje@google.com>
6742
f626972c
DE
6743 * gdbreplay.c (perror_with_name): Make arg const char *.
6744 * server.h (target_signal_to_name): Make return type const char *.
0842e787 6745 * thread-db.c (thread_db_err_str): Make return type const char *.
f626972c 6746 * utils.c (perror_with_name): Make arg const char *.
54363045 6747
18aae699
PA
67482009-01-14 Pedro Alves <pedro@codesourcery.com>
6749
6750 * win32-low.c (get_child_debug_event): Issue a final DBG_CONTINUE
6751 when handling a EXIT_PROCESS_DEBUG_EVENT.
6752
ff703abe
JB
67532009-01-06 Joel Brobecker <brobecker@adacore.com>
6754
6755 * gdbreplay.c (gdbreplay_version): Update copyright year.
6756 * server.c (gdbserver_version): Likewise.
6757
f21cc1a2 67582009-01-05 Doug Evans <dje@google.com>
0e21c1ec
DE
6759
6760 * linux-low.c (linux_attach_lwp): Add some comments/fixmes.
f21cc1a2 6761 (handle_extended_wait): Improve comment.
0e21c1ec 6762
bca929d3
DE
67632008-12-13 Doug Evans <dje@google.com>
6764
6765 * utils.c (xmalloc,xcalloc,xstrdup): New fns.
6766 * server.h (ATTR_MALLOC): New macro.
6767 (xmalloc,xcalloc,xstrdup): Declare.
6768 * hostio.c: Replace malloc,calloc,strdup with xmalloc,xcalloc,xstrdup.
6769 * inferiors.c: Ditto.
6770 * linux-low.c: Ditto.
6771 * mem-break.c: Ditto.
6772 * regcache.c: Ditto.
6773 * remote-utils.c: Ditto.
6774 * server.c: Ditto.
6775 * target.c: Ditto.
6776 * win32-low.c: Ditto.
6777
97438e3f
DE
67782008-12-12 Doug Evans <dje@google.com>
6779
896c7fbb
DE
6780 * linux-low.c (linux_wait_for_process): Don't clobber current_inferior
6781 in debugging printf.
6782
97438e3f
DE
6783 * linux-low.c (handle_extended_wait): Simplify, use my_waitpid.
6784
e3b886f8
DE
67852008-12-09 Doug Evans <dje@google.com>
6786
6787 * linux-low.h (struct process_info): Delete member tid, unused.
6788 * thread-db.c (find_one_thread): Update.
6789 (maybe_attach_thread): Update.
6790
07e059b5
VP
67912008-12-02 Pedro Alves <pedro@codesourcery.com>
6792
889bf7c5
PA
6793 * target.h (struct target_ops): Add qxfer_osdata member.
6794 * linux-low.c: Include ctype.h and pwd.h and sys/types.h
6795 and dirent.h.
6796 (linux_qxfer_osdata): New functions.
6797 (linux_target_ops): Register linux_qxfer_osdata as qxfer_osdata
6798 callback.
6799 * server.c (handle_query): Handle "qXfer:osdata:read:".
6800 * remote-utils.c (buffer_grow, buffer_free, buffer_init, buffer_finish)
6801 (buffer_xml_printf): New functions.
6802 * server.h (struct buffer): New.
6803 (buffer_grow_str, buffer_grow_str0): New macros.
6804 (buffer_grow, buffer_free, buffer_init, buffer_finish)
6805 (buffer_xml_printf): Declare.
07e059b5 6806
4cab47ab
DE
68072008-11-24 Doug Evans <dje@google.com>
6808
6809 * Makefile.in (VERSION,DIST,LINT,LINTFLAGS): Delete, unused.
6810
f142445f
DJ
68112008-11-24 Daniel Jacobowitz <dan@codesourcery.com>
6812
6813 * server.c (handle_v_run): Always use the supplied argument list.
6814
d0107bb6 68152008-11-19 Bob Wilson <bob.wilson@acm.org>
889bf7c5 6816
d0107bb6
BW
6817 * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4.
6818 (xtensa_regmap_table): Add entry for scompare1.
889bf7c5 6819
2c4ad781
TJB
68202008-11-18 Thiago Jung Bauermann <bauerman@br.ibm.com>
6821
6822 * Makefile.in (powerpc-isa205-32l.o, powerpc-isa205-32l.c,
6823 powerpc-isa205-altivec32l.o, powerpc-isa205-altivec32l.c,
6824 powerpc-isa205-vsx32l.o, powerpc-isa205-vsx32l.c,
6825 powerpc-isa205-64l.o, powerpc-isa205-64l.c,
6826 powerpc-isa205-altivec64l.o, powerpc-isa205-altivec64l.c,
6827 powerpc-isa205-vsx64l.o, powerpc-isa205-vsx64l.c): New targets.
6828 * configure.srv (powerpc*-*-linux*): Add ISA 2.05 object files and
6829 XML target descriptions.
6830 * linux-ppc-low.c (ppc_arch_setup): Init registers with 64-bit FPSCR
6831 when inferior is running on an ISA 2.05 or later processor. Add
6832 special case to return offset for full 64-bit slot of FPSCR when
6833 in 32-bits.
6834
dfb64f85
DJ
68352008-11-14 Daniel Gutson <dgutson@codesourcery.com>
6836
6837 * Makefile.in (SFILES, clean): Added sparc64 files.
6838 (reg-sparc64.o, reg-sparc64.c): New.
6839 * configure.srv (sparc*-*-linux*): New configuration.
6840 * linux-low.c (regsets_fetch_inferior_registers): Swap ptrace
6841 syscall arguments for SPARC.
6842 (regsets_store_inferior_registers): Likewise.
6843 * linux-sparc-low.c: New file.
6844
66b6e1dd
DE
68452008-10-21 Doug Evans <dje@google.com>
6846
6847 * Makefile.in (BFD_DIR,BFD,BFD_SRC,BFD_CFLAGS): Delete.
6848 (READLINE_DIR,READLINE_DEP): Delete.
6849 (INTERNAL_CFLAGS): Update.
6850 (LINTFLAGS): Update.
6851
9b710a42
PA
68522008-10-10 Pedro Alves <pedro@codesourcery.com>
6853
6854 * server.c (handle_v_run): If GDB didn't specify an argv, use the
6855 whole argv from the last run, not just argv[0].
6856
5822d809
PA
68572008-09-08 Pedro Alves <pedro@codesourcery.com>
6858
6859 * regcache.c (new_register_cache): Return NULL if the register
6860 cache size isn't known yet.
6861 (free_register_cache): Avoid dereferencing a NULL regcache.
6862
74aac56f
DJ
68632008-09-04 Daniel Jacobowitz <dan@codesourcery.com>
6864
6865 * configure.srv: Merge MIPS and MIPS64.
6866
400b20f5
MR
68672008-08-24 Maciej W. Rozycki <macro@linux-mips.org>
6868
6869 * Makefile.in (uninstall): Apply $(EXEEXT) too.
6870
677c5bb1
LM
68712008-08-18 Luis Machado <luisgpm@br.ibm.com>
6872
6873 * Makefile.in: Add required vsx dependencies.
6874
6875 * linux-ppc-low: Define PPC_FEATURE_HAS_VSX.
6876 Declare init_registers_powerpc_vsx32l.
6877 Declare init_registers_powerpc_vsx64l.
6878 Define PTRACE_GETVSXREGS and PTRACE_SETVSXREGS.
6879 (ppc_arch_setup): Check for VSX in hwcap.
6880 (ppc_fill_vsxregset): New function.
6881 (ppc_store_vsxregset): New function.
6882 Add new VSX entry in regset_info target_regsets.
6883
6884 * configure.srv: Add new VSX dependencies.
6885
a6f3e723
SL
68862008-08-12 Pedro Alves <pedro@codesourcery.com>
6887
6888 * remote-utils.c (noack_mode, transport_is_reliable): New globals.
6889 (remote_open): Set or clear transport_is_reliable.
6890 (putpkt_binary): Don't expect acks in noack mode.
6891 (getpkt): Don't send ack/nac in noack mode.
6892 * server.c (handle_general_set): Handle QStartNoAckMode.
6893 (handle_query): If connected by tcp pass QStartNoAckMode+ in
6894 qSupported.
6895 (main): Reset noack_mode on every connection.
6896 * server.h (noack_mode): Declare.
6897
a417dc56
RW
68982008-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6899
6900 * Makefile.in (GDBREPLAY_OBS): New variable.
6901 (gdbreplay$(EXEEXT)): Use it to avoid unportable $^.
6902
3221518c
UW
69032008-08-05 Ulrich Weigand <uweigand@de.ibm.com>
6904 Daniel Jacobowitz <dan@codesourcery.com>
6905
6906 * linux-low.c (linux_resume_one_process): Ignore ESRCH.
6907 (usr_store_inferior_registers): Likewise.
6908 (regsets_store_inferior_registers): Likewise.
6909
ec56be1b
PA
69102008-07-31 Rolf Jansen <rj@surtec.com>
6911 Pedro Alves <pedro@codesourcery.com>
6912
6913 * configure.ac: Check for memmem declaration.
6914 * server.c [HAVE_MALLOC_H]: Include malloc.h.
6915 (disable_packet_vCont, disable_packet_Tthread, disable_packet_qC)
6916 (disable_packet_qfThreadInfo): Unconditionally compile.
6917 * server.h [!HAVE_DECL_MEMMEM]: Declare memmem.
6918 * configure, config.in: Regenerate.
6919
2fe5e3ff
DE
69202008-07-28 Doug Kwan <dougkwan@google.com>
6921
6922 * linux-low.c (sys/dir.h, sys/user.h): Remove includes.
6923 (linux_write_memory): Remove declaration of errno.
6924
836acd6d
UW
69252008-07-12 Ulrich Weigand <uweigand@de.ibm.com>
6926
6927 * linux-low.c (handle_extended_wait): Do not use "status"
6928 variable uninitialized.
6929
aeba519e
PA
69302008-07-07 Pedro Alves <pedro@codesourcery.com>
6931
6932 * server.c (handle_v_attach): Inhibit reporting dll changes.
6933
db42f210
PA
69342008-06-27 Pedro Alves <pedro@codesourcery.com>
6935
6936 * remote-utils.c (prepare_resume_reply): If requested, don't
6937 output "thread:TID" in the T stop reply.
6938
6939 * server.c (disable_packet_vCont, disable_packet_Tthread)
6940 (disable_packet_qC, disable_packet_qfThreadInfo): New globals.
6941 (handle_query): If requested, disable support for qC, qfThreadInfo
6942 and qsThreadInfo.
6943 (handle_v_requests): If requested, disable support for vCont.
6944 (gdbserver_show_disableable): New.
6945 (main): Handle --disable-packet and --disable-packet=LIST.
6946
6947 * server.h (disable_packet_vCont, disable_packet_Tthread)
6948 (disable_packet_qC, disable_packet_qfThreadInfo): Declare.
6949
8e4c5421
CD
69502008-06-20 Carlos O'Donell <carlos@codesourcery.com>
6951
6952 * server.c (gdbserver_usage): Mention --version.
6953
6e23a804
DJ
69542008-06-06 Daniel Jacobowitz <dan@codesourcery.com>
6955
6956 * Makefile.in (gdbreplay.o): New rule.
6957
90aa6a40
JM
69582008-06-06 Joseph Myers <joseph@codesourcery.com>
6959
6960 * gdbreplay.c (gdbreplay_version): Say gdbreplay in version
6961 message, not gdbserver.
6962
c16158bc 69632008-06-05 Vladimir Prus <vladimir@codesourcery.com>
889bf7c5
PA
6964 Nathan Sidwell <nathan@codesourcery.com>
6965 Joseph Myers <joseph@codesourcery.com>
c16158bc
JM
6966
6967 * acinclude.m4: Include ../../config/acx.m4.
6968 * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
6969 * configure, config.in: Regenerate.
6970 * Makefile.in (gdbreplay$(EXEEXT)): Add version.o.
6971 * server.c (gdbserver_version): Print PKGVERSION.
6972 (gdbsrever_usage): Add stream parameter. Print REPORT_BUGS_TO.
6973 (main): Adjust gdbserver_usage calls.
6974 * gdbreplay.c (version, host_name): Add declarations.
6975 (gdbreplay_version, gdbreplay_usage): New.
6976 (main): Accept --version and --help options.
6977
aeb75bf5
DJ
69782008-06-04 Daniel Jacobowitz <dan@codesourcery.com>
6979
6980 * linux-arm-low.c (thumb_breakpoint, thumb_breakpoint_len): New.
6981 (arm_breakpoint_at): Handle Thumb.
6982 (the_low_target): Add comment.
6983
76b233dd
UW
69842008-05-29 Ulrich Weigand <uweigand@de.ibm.com>
6985
6986 * linux-ppc-low.c (ppc_collect_ptrace_register): Clear buffer.
6987
08388c79
DE
69882008-05-09 Doug Evans <dje@google.com>
6989
a3c83fae
DE
6990 * server.h (decode_search_memory_packet): Declare.
6991 * remote-utils.c (decode_search_memory_packet): New fn.
6992 * server.c (handle_search_memory_1): New fn.
08388c79
DE
6993 (handle_search_memory): New fn.
6994 (handle_query): Process qSearch:memory packets.
6995
bb9c3d36
UW
69962008-05-08 Ulrich Weigand <uweigand@de.ibm.com>
6997
6998 * regcache.c (registers_length): Remove.
6999 (set_register_cache): Verify that PBUFSIZ is large enough to hold a
7000 full register packet.
7001 * regcache.h (registers_length): Remove prototype.
7002 * server.h (PBUFSIZ): Define to 16384.
7003
7284e1be
UW
70042008-05-03 Ulrich Weigand <uweigand@de.ibm.com>
7005
7006 * configure.srv (powerpc*-*-linux*): Set srv_regobj to
7007 powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o,
7008 powerpc-64l.o, and powerpc-altivec64l.o.
7009 Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and
7010 rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml,
7011 rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml,
7012 rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml,
7013 rs6000/power-linux.xml, and rs6000/power64-linux.xml
7014 to srv_xmlfiles.
7015
7016 * Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ...
7017 (powerpc-32l.o, powerpc-32l.c): ... these new rules.
7018 (powerpc-32.o, powerpc-32.c): Remove, replace by ...
7019 (powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules.
7020 (powerpc-e500.o, powerpc-e500.c): Remove, replace by ...
7021 (powerpc-e500l.o, powerpc-e500l.c): ... these new rules.
7022 (reg-ppc64.o, reg-ppc64.c): Remove, replace by ...
7023 (powerpc-64l.o, powerpc-64l.c): ... these new rules.
7024 (powerpc-64.o, powerpc-64.c): Remove, replace by ...
7025 (powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules.
7026 (clean): Update.
7027
7028 * linux-ppc-low.c (init_registers_ppc): Remove, replace by ...
7029 (init_registers_powerpc_32l): ... this new prototype.
7030 (init_registers_powerpc_32): Remove, replace by ...
7031 (init_registers_powerpc_altivec32l): ... this new prototype.
7032 (init_registers_powerpc_e500): Remove, replace by ...
7033 (init_registers_powerpc_e500l): ... this new prototype.
7034 (init_registers_ppc64): Remove, replace by ...
7035 (init_registers_powerpc_64l): ... this new prototype.
7036 (init_registers_powerpc_64): Remove, replace by ...
7037 (init_registers_powerpc_altivec64l): ... this new prototype.
7038 (ppc_num_regs): Set to 73.
7039 (PT_ORIG_R3, PT_TRAP): Define if necessary.
7040 (ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap.
7041 (ppc_cannot_store_register): Handle orig_r3 and trap.
7042 (ppc_arch_setup): Update init_registers_... calls.
7043 (ppc_fill_gregset): Handle orig_r3 and trap.
7044
7045 * inferiors.c (clear_inferiors): Reset current_inferior.
7046
fdc59709
PB
70472008-04-23 Paolo Bonzini <bonzini@gnu.org>
7048
889bf7c5
PA
7049 * acinclude.m4: Add override.m4.
7050 * configure: Regenerate.
fdc59709 7051
c9b2f845
UW
70522008-04-21 Ulrich Weigand <uweigand@de.ibm.com>
7053
7054 * linux-ppc-low.c (ppc_arch_setup): Reset ppc_hwcap after the
7055 initial call to init_register_ppc64.
7056
550512b8
UW
70572008-04-21 Ulrich Weigand <uweigand@de.ibm.com>
7058
43aaf8b6
PA
7059 * configure.srv (powerpc64-*-linux*, powerpc-*-linux*): Merge into
7060 single powerpc*-*-linux* case.
550512b8
UW
7061 (s390-*-linux*, s390x-*-linux*): Merge into single s390*-*-linux* case.
7062
b6430ec3
UW
70632008-04-17 Ulrich Weigand <uweigand@de.ibm.com>
7064
7065 * configure.srv [powerpc64-*-linux*]: Remove powerpc-e500.o from
889bf7c5 7066 srv_regobj. Remove rs6000/powerpc-e500.xml and rs6000/power-spe.xml
b6430ec3
UW
7067 from reg_xmlfiles.
7068 * linux-ppc-low.c: Include <elf.h>.
7069 (PPC_FEATURE_HAS_ALTIVEC, PPC_FEATURE_HAS_SPE): Define.
7070 (ppc_hwcap): New global variable.
7071 (ppc_regmap): Remove __SPE__ #ifdef sections.
7072 (ppc_regmap_e500): New global variable.
7073 (ppc_cannot_store_register): Update __SPE__ special case.
7074 (ppc_get_hwcap): New function.
7075 (ppc_arch_setup): Use it to determine whether inferior supports
7076 AltiVec or SPE registers. Set the_low_target.regmap if appropriate.
7077 (ppc_fill_vrregset, ppc_store_vrregset): Define unconditionally.
7078 Do not access registers if target does not support AltiVec.
7079 (ppc_fill_evrregset, ppc_store_evrregset): Define unconditionally.
7080 Do not access registers if target does not support SPE.
7081 (target_regsets): Unconditionally include AltiVec and SPE regsets.
7082
52fa2412
UW
70832008-04-17 Daniel Jacobowitz <dan@codesourcery.com>
7084
7085 * linux-low.c (disabled_regsets, num_regsets): New.
7086 (use_regsets_p): Delete.
7087 (linux_wait_for_process): Clear disabled_regsets.
7088 (regsets_fetch_inferior_registers): Check and set it.
7089 (regsets_store_inferior_registers): Likewise.
7090 (linux_fetch_registers, linux_store_registers): Do not use
7091 use_regsets_p.
7092 (initialize_low): Allocate disabled_regsets.
7093
e28b3332
DJ
70942008-04-14 Daniel Jacobowitz <dan@codesourcery.com>
7095
7096 * Makefile.in (LIBOBJS): New.
7097 (OBS): Use LIBOBJS.
7098 (memmem.o): New rule.
7099 * configure.ac: Use AC_CONFIG_LIBOBJ_DIR and check for memmem.
7100 * configure: Regenerated.
7101
4536995d
UW
71022008-04-04 Ulrich Weigand <uweigand@de.ibm.com>
7103
7104 * server.c (handle_query): Never return "unsupported" for
7105 qXfer:features:read queries.
7106
221c031f
UW
71072008-03-27 Ulrich Weigand <uweigand@de.ibm.com>
7108
7109 * server.c (get_features_xml): Fix inverted condition.
7110 (handle_query): Always support qXfer:feature:read.
7111
ccd213ac
DJ
71122008-03-10 Daniel Jacobowitz <dan@codesourcery.com>
7113
7114 * server.c (wrapper_argv): New.
7115 (start_inferior): Handle wrapper_argv. If set, expect an extra
7116 trap.
7117 (gdbserver_usage): Document --wrapper.
7118 (main): Parse --wrapper.
7119
6fe305f7
UW
71202008-02-28 Ulrich Weigand <uweigand@de.ibm.com>
7121
7122 * configure.srv [powerpc64-*-linux*]: Add all files mentioned for
7123 powerpc-*-linux* to srv_regobj and reg_xmlfiles.
7124 * linux-ppc-low.c (ppc_get_pc): Support bi-arch operation.
7125 (ppc_set_pc): Likewise.
7126 (ppc_arch_setup): New function.
7127 (ppc_fill_gregset): Call ppc_collect_ptrace_register instead
7128 of collect_register.
889bf7c5 7129 (the_low_target): Use ppc_arch_setup as arch_setup initializer.
6fe305f7 7130
5b0a002e
UW
71312008-02-28 Ulrich Weigand <uweigand@de.ibm.com>
7132
7133 * configure.srv [powerpc64-*-linux*]: Use linux-ppc-low.o
7134 instead of linux-ppc64-low.o.
7135 * linux-ppc64-low.c: Remove file.
7136 * Makefile.in (SFILES): Remove linux-ppc64-low.c.
7137 (linux-ppc64-low.o): Remove rule.
7138
7139 * linux-ppc-low.c (init_registers_ppc64): Add prototype.
7140 (init_registers_powerpc_64): Likewise.
7141 (ppc_regmap): Conditionally define depending on __powerpc64__.
7142 (ppc_cannot_store_register): Do not special-case "fpscr" when
7143 compiled on __powerpc64__.
7144 (ppc_collect_ptrace_register): New function.
7145 (ppc_supply_ptrace_register): New function.
7146 (ppc_breakpoint): Change type to "unsigned int".
7147 (ppc_breakpoint_at): Change type of "insn" to "unsigned int".
7148 (the_low_target): Conditionally provide initializers for the
889bf7c5 7149 arch_setup member depending on __powerpc64__. Install
5b0a002e
UW
7150 collect_ptrace_register and supply_ptrace_register members.
7151
9b4b61c8
UW
71522008-02-28 Ulrich Weigand <uweigand@de.ibm.com>
7153
7154 * regcache.h (gdbserver_xmltarget): Add extern declaration.
7155 * server.c (gdbserver_xmltarget): Define.
7156 (get_features_xml): Use it to replace "target.xml" and arch_string.
7157
7158 * configure.srv: Remove srv_xmltarget. Add XML files that were
7159 mentioned there to srv_xmlfiles instead. Remove conditional tests
7160 on gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe; set
7161 srv_xmlfiles and srv_regobj to include all possible choices.
7162 * configure.ac (srv_xmltarget): Remove.
7163 (srv_xmlfiles): Do not add "target.xml".
7164 (gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe): Remove
7165 checks for supplementary target information.
7166 * configure: Regenerate.
7167 * Makefile.in (XML_TARGET): Remove.
7168 (target.xml): Remove rule.
7169 (clean): Do not clean up target.xml.
7170 (.PRECIOUS): Do not mention target.xml.
7171
7172 * target.h (struct target_ops): Remove arch_string member.
7173 * linux-low.c (linux_arch_string): Remove.
7174 (linux_target_ops): Remove arch_string initializer.
7175 * linux-low.h (struct linux_target_ops): Remove arch_string member.
7176 * linux-i386-low.c (the_low_target): Remove arch_string initializer.
7177 * linux-x86-64-low.c (the_low_target): Remove arch_string initializer.
7178 * spu-low.c (spu_arch_string): Remove.
7179 (spu_target_ops): Remove arch_string initializer.
7180 * win32-low.c (win32_arch_string): Remove.
7181 (win32_target_ops): Remove arch_string initializer.
7182 * win32-low.h (struct win32_target_ops): Remove arch_string member.
7183 * win32-arm-low.c (the_low_target): Remove arch_string initializer.
7184 * win32-i368-low.c (the_low_target): Remove arch_string initializer.
7185
ee1a7ae4
UW
71862008-02-27 Ulrich Weigand <uweigand@de.ibm.com>
7187
7188 * linux-low.h (struct linux_target_ops): Replace left_pad_xfer field
7189 by collect_ptrace_register and supply_ptrace_register hooks.
7190 * linux-low.c (fetch_register): Use supply_ptrace_register callback
7191 instead of checking for the_low_target.left_pad_xfer.
7192 (usr_store_inferior_registers): Use collect_ptrace_register callback
7193 instead of checking for the_low_target.left_pad_xfer.
7194
7195 * linux-s390-low.c (s390_collect_ptrace_register): New function.
7196 (s390_supply_ptrace_register): Likewise.
7197 (s390_fill_gregset): Call s390_collect_ptrace_register.
7198 (the_low_target): Update.
7199
7200 * linux-ppc64-low.c (ppc_collect_ptrace_register): New function.
7201 (ppc_supply_ptrace_register): Likewise.
7202 (the_low_target): Update.
7203
7204 * linux-i386-low.c (the_low_target): Update.
7205 * linux-x86-64-low.c (the_low_target): Update.
7206
d61ddec4
UW
72072008-02-27 Ulrich Weigand <uweigand@de.ibm.com>
7208
7209 * configure.srv [s390x-*-linux*]: Set srv_regobj to include both
7210 reg-s390.o and reg-s390x.o.
7211
7212 * linux-low.c (new_inferior): New global variable.
7213 (linux_create_inferior, linux_attach): Set it.
7214 (linux_wait_for_process): Call the_low_target.arch_setup after the
7215 target has stopped for the first time.
7216 (initialize_low): Do not call the_low_target.arch_setup.
7217
7218 * linux-s390-low.c (s390_get_pc): Support bi-arch operation.
7219 (s390_set_pc): Likewise.
7220 (s390_arch_setup): New function.
7221 (the_low_target): Use s390_arch_setup as arch_setup routine.
7222
7223 * regcache.c (realloc_register_cache): New function.
7224 (set_register_cache): Call it for each existing regcache.
7225
d05b4ac3
UW
72262008-02-27 Ulrich Weigand <uweigand@de.ibm.com>
7227
7228 * server.h (init_registers): Remove prototype.
7229
7230 * linux-low.h (struct linux_target_ops): Add arch_setup field.
7231 * linux-low.c (initialize_low): Call the_low_target.arch_setup ()
7232 instead of init_registers ().
7233 * linux-arm-low.c (init_registers_arm): Add prototype.
7234 (init_registers_arm_with_iwmmxt): Likewise.
7235 (the_low_target): Add initializer for arch_setup field.
7236 * linux-cris-low.c (init_registers_cris): Add prototype.
7237 (the_low_target): Add initializer for arch_setup field.
7238 * linux-crisv32-low.c (init_registers_crisv32): Add prototype.
7239 (the_low_target): Add initializer for arch_setup field.
7240 * linux-i386-low.c (init_registers_i386_linux): Add prototype.
7241 (the_low_target): Add initializer for arch_setup field.
7242 * linux-ia64-low.c (init_registers_ia64): Add prototype.
7243 (the_low_target): Add initializer for arch_setup field.
7244 * linux-m32r-low.c (init_registers_m32r): Add prototype.
7245 (the_low_target): Add initializer for arch_setup field.
7246 * linux-m68k-low.c (init_registers_m68k): Add prototype.
7247 (the_low_target): Add initializer for arch_setup field.
7248 * linux-mips-low.c (init_registers_mips_linux): Add prototype.
7249 (init_registers_mips64_linux): Likewise.
7250 (the_low_target): Add initializer for arch_setup field.
7251 * linux-ppc-low.c (init_registers_ppc): Add prototype.
7252 (init_registers_powerpc_32, init_registers_powerpc_e500): Likewise.
7253 (the_low_target): Add initializer for arch_setup field.
7254 * linux-ppc64-low.c (init_registers_ppc64): Add prototype.
7255 (init_registers_powerpc_64): Likewise.
7256 (the_low_target): Add initializer for arch_setup field.
7257 * linux-s390-low.c (init_registers_s390): Add prototype.
7258 (init_registers_s390x): Likewise.
7259 (the_low_target): Add initializer for arch_setup field.
7260 * linux-sh-low.c (init_registers_sh): Add prototype.
7261 (the_low_target): Add initializer for arch_setup field.
7262 * linux-x86-64-low.c (init_registers_x86_64_linux): Add prototype.
7263 (the_low_target): Add initializer for arch_setup field.
7264 * linux-xtensa-low.c (init_registers_xtensa): Add prototype.
7265 (the_low_target): Add initializer for arch_setup field.
7266
7267 * win32-low.h (struct win32_target_ops): Add arch_setup field.
7268 * win32-low.c (initialize_low): Call the_low_target.arch_setup ()
7269 instead of init_registers ().
7270 * win32-arm-low.c (init_registers_arm): Add prototype.
7271 (the_low_target): Add initializer for arch_setup field.
7272 * win32-i386-low.c (init_registers_i386): Add prototype.
7273 (the_low_target): Add initializer for arch_setup field.
7274
7275 * spu-low.c (init_registers_spu): Add prototype.
7276 (initialize_low): Call initialie_registers_spu () instead of
7277 initialize_registers ().
7278
fd96d250
PA
72792008-02-19 Pedro Alves <pedro@codesourcery.com>
7280
7281 * server.c (handle_v_requests): When handling the vRun and vAttach
7282 packets, if already debugging a process, don't kill it. Return an
7283 error instead.
7284
d41b6bb4
DJ
72852008-02-17 Daniel Jacobowitz <dan@codesourcery.com>
7286
7287 * server.c (handle_query): Correct length check.
7288
5ac588cf
PA
72892008-02-14 Pedro Alves <pedro_alves@portugalmail.pt>
7290
7291 * win32-low.c (do_initial_child_stuff): Add process handle
7292 parameter. Set current_process_handle and current_process_id from the
7293 parameters. Clear globals.
7294 (win32_create_inferior): Don't set current_process_handle and
7295 current_process_id here. Instead pass them on the call to
7296 do_initial_child_stuff.
7297 (win32_attach): Likewise.
7298 (win32_clear_inferiors): New.
7299 (win32_kill): Don't close the current process handle or the
7300 current thread handle here. Instead call win32_clear_inferiors.
7301 (win32_detach): Don't open a new handle to the process. Call
7302 win32_clear_inferiors.
7303 (win32_join): Don't rely on current_process_handle; open a new
7304 handle using the process id.
7305 (win32_wait): Call win32_clear_inferiors when the inferior process
7306 has exited.
7307
ecd7ecbc
DJ
73082008-02-14 Daniel Jacobowitz <dan@codesourcery.com>
7309
7310 * server.c (monitor_show_help): Add "exit".
7311
1525d545
MG
73122008-02-11 Maxim Grigoriev <maxim2405@gmail.com>
7313
ecd7ecbc 7314 * Makefile.in (SFILES): Add linux-xtensa-low.c.
1525d545
MG
7315 (clean): Add reg-xtensa.c.
7316 (linux-xtensa-low.o, reg-xtensa.o, reg-xtensa.c): New dependencies.
ecd7ecbc
DJ
7317 * configure.srv (xtensa*-*-linux*) New target.
7318 * linux-xtensa-low.c: New.
7319 * xtensa-xtregs.c: New.
1525d545 7320
59a016f0
PA
73212008-02-01 Pedro Alves <pedro_alves@portugalmail.pt>
7322
7323 * hostio.c: Don't include errno.h.
7324 (errno_to_fileio_errno): Move to hostio-errno.
7325 * hostio.c: (hostio_error): Remove the error parameter. Defer the
7326 error number outputting to the target->hostio_last_error callback.
7327 (hostio_packet_error): Use FILEIO_EINVAL directly.
7328 (handle_open, handle_pread, hostio_error, handle_unlink): Update
7329 calls to hostio_error.
7330 * hostio-errno.c: New.
7331 * server.h (hostio_last_error_from_errno): Declare.
7332 * target.h (target_ops): Add hostio_last_error member.
7333 * linux-low.c (linux_target_op): Register hostio_last_error_from_errno
7334 as hostio_last_error handler.
889bf7c5 7335 * spu-low.c (spu_target_ops): Likewise.
59a016f0
PA
7336 * win32-low.c [_WIN32_WCE] (win32_error_to_fileio_error)
7337 (wince_hostio_last_error): New functions.
7338 (win32_target_ops) [_WIN32_WCE]: Register wince_hostio_last_error
7339 as hostio_last_error handler.
7340 (win32_target_ops) [!_WIN32_WCE]: Register
7341 hostio_last_error_from_errno as hostio_last_error handler.
7342 * Makefile.in (SFILES): Add hostio.c and hostio-errno.c.
7343 (hostio-errno.o): New rule.
7344 * configure.ac (GDBSERVER_DEPFILES): Add $srv_hostio_err_objs.
7345 * configure.srv (srv_hostio_err_objs): New variable. Default to
7346 hostio-errno.o.
7347 (arm*-*-mingw32ce*): Set srv_hostio_err_objs to "".
7348 * configure: Regenerate.
7349
2d717e4f
DJ
73502008-01-29 Daniel Jacobowitz <dan@codesourcery.com>
7351
7352 * linux-low.c (linux_attach_lwp): Do not _exit after errors.
7353 (linux_kill, linux_detach): Clean up the process list.
7354 * remote-utils.c (remote_open): Improve port number parsing.
7355 (putpkt_binary, input_interrupt): Only send interrupts if the target
7356 is running.
7357 * server.c (extended_protocol): Make static.
7358 (attached): Define earlier.
7359 (exit_requested, response_needed, program_argv): New variables.
7360 (target_running): New.
7361 (start_inferior): Clear attached here.
7362 (attach_inferior): Set attached here.
7363 (require_running): Define.
7364 (handle_query): Use require_running and target_running. Implement
7365 "monitor exit".
7366 (handle_v_attach, handle_v_run): New.
7367 (handle_v_requests): Use require_running. Handle vAttach and vRun.
7368 (gdbserver_usage): Update.
7369 (main): Redo argument parsing. Handle --debug and --multi. Handle
7370 --attach along with other options or after the port. Save
7371 program_argv. Support no initial program. Resynchronize
7372 communication with GDB after an error. Handle "monitor exit".
7373 Use require_running and target_running. Always allow the extended
7374 protocol. Do not error out for Hc0 or Hc-1. Do not automatically
7375 restart in extended mode.
7376 * README: Refer to the GDB manual. Update --attach usage.
7377
7407e2de
AS
73782007-12-20 Andreas Schwab <schwab@suse.de>
7379
7380 * linux-low.c (STACK_SIZE): Define.
7381 (linux_tracefork_child): Use it. Use __clone2 on ia64.
7382 (linux_test_for_tracefork): Likewise.
7383
b65d95c5
DJ
73842007-12-18 Daniel Jacobowitz <dan@codesourcery.com>
7385
7386 * linux-low.c (linux_wait_for_event): Update messages. Do not
7387 reinsert auto-delete breakpoints.
7388 * mem-break.c (struct breakpoint): Change return type of handler to
7389 int.
7390 (set_breakpoint_at): Update handler type.
7391 (reinsert_breakpoint_handler): Return 1 instead of calling
7392 delete_breakpoint.
7393 (reinsert_breakpoint_by_bp): Check for the original breakpoint before
7394 setting a new one.
7395 (check_breakpoints): Delete auto-delete breakpoints and return 2.
7396 * mem-break.h (set_breakpoint_at): Update handler type.
7397 * thread-db.c (thread_db_create_event, thread_db_create_event): Update.
7398 * win32-low.c (auto_delete_breakpoint): New.
7399 (get_child_debug_event): Use it.
7400
4e799345
DJ
74012007-12-16 Daniel Jacobowitz <dan@codesourcery.com>
7402
7403 * configure.ac: Check for pread and pwrite.
7404 * hostio.c (handle_pread): Fall back to lseek and read.
7405 (handle_pwrite): Fall back to lseek and write.
7406 * config.in, configure: Regenerated.
7407
27524b67
DJ
74082007-12-07 Daniel Jacobowitz <dan@codesourcery.com>
7409
7410 * server.c (myresume): Add own_buf argument.
7411 (main): Update calls.
7412
a20d5e98
DJ
74132007-12-06 Daniel Jacobowitz <dan@codesourcery.com>
7414
7415 * linux-low.c (linux_wait, linux_resume): Do not handle async I/O.
7416 * remote-utils.c (remote_open): Do not call disable_async_io.
7417 (block_async_io): Delete.
7418 (unblock_async_io): Make static.
7419 (initialize_async_io): New.
7420 * server.c (handle_v_cont): Handle async I/O here.
7421 (myresume): Likewise. Move other common resume tasks here...
7422 (main): ... from here. Call initialize_async_io. Disable async
7423 I/O before the main loop.
7424 * server.h (initialize_async_io): Declare.
7425 (block_async_io, unblock_async_io): Delete prototypes.
7426 * spu-low.c (spu_resume, spu_wait): Do not handle async I/O here.
7427
b79d787e
DJ
74282007-12-06 Mick Davis <mickd@goanna.iinet.net.au>
7429
7430 * remote-utils.c (readchar): Allow binary data in received messages.
7431
d97903b2
PA
74322007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
7433
7434 * win32-low.c (attaching): New global.
7435 (win32_create_inferior): Clear the `attaching' global.
7436 (win32_attach): Set the `attaching' global.
7437 (get_child_debug_event) [_WIN32_WCE]: Stop the inferior when
7438 attaching. Only set a breakpoint at the entry point if not
7439 attaching.
7440
311de423
PA
74412007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
7442
7443 * server.c (main): Don't report dll events on the initial
7444 connection on attaches.
7445
6c2d16d2
PA
74462007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
7447
7448 * server.c (main): Relax numerical bases supported for the pid of
7449 the --attach command line argument.
7450
5ca906e6
PA
74512007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
7452
7453 * win32-low.c (win32_attach): Call OpenProcess before
7454 DebugActiveProcess, not after. Add last error output to error
7455 call.
7456
9c6c8194
PA
74572007-12-03 Pedro Alves <pedro_alves@portugalmail.pt>
7458
7459 * win32-low.c (win32_get_thread_context)
7460 (win32_set_thread_context): New functions.
7461 (thread_rec): Use win32_get_thread_context.
7462 (continue_one_thread, win32_resume): Use win32_set_thread_context.
7463 * win32-low.h (win32_thread_info) [_WIN32_WCE]: Add `base_context'
7464 field.
7465
4d5d1aaa
PA
74662007-12-03 Leo Zayas
7467 Pedro Alves <pedro_alves@portugalmail.pt>
7468
7469 * win32-low.c (soft_interrupt_requested, faked_breakpoint): New
7470 global variables.
7471 (child_add_thread): Minor cleanup.
7472 (child_continue): Resume artificially suspended threads before
7473 calling ContinueDebugEvent.
7474 (suspend_one_thread): New.
7475 (fake_breakpoint_event): New.
7476 (get_child_debug_event): Change return type to int. Check here if
7477 gdb sent an interrupt request. If a soft interrupt was requested,
7478 fake a breakpoint event. Return 0 if there is no event to handle,
7479 and 1 otherwise.
7480 (win32_wait): Don't check here if gdb sent an interrupt request.
7481 Ensure there is a valid event to handle.
7482 (win32_request_interrupt): Add soft interruption method as last
7483 resort.
7484
c436e841
PA
74852007-12-03 Leo Zayas
7486 Pedro Alves <pedro_alves@portugalmail.pt>
7487
7488 * win32-low.h (win32_thread_info): Add descriptions to the
7489 structure members. Replace `suspend_count' counter by a
7490 `suspended' flag.
7491 * win32-low.c (thread_rec): Update condition of when to get the
7492 context from the inferior. Rely on ContextFlags being set if it
7493 has already been retrieved. Only suspend the inferior thread if
7494 we haven't already. Warn if that fails.
7495 (continue_one_thread): s/suspend_count/suspended/. Only call
7496 ResumeThread once. Warn if that fails.
7497
e7b5fa67
PA
74982007-12-02 Pedro Alves <pedro_alves@portugalmail.pt>
7499
7500 * win32-low.c (win32_wait): Don't read from the inferior when it
7501 has already exited.
7502
a385171d
PA
75032007-12-02 Pedro Alves <pedro_alves@portugalmail.pt>
7504
7505 * Makefile.in (win32_low_h): New variable.
7506 (win32-low.o): Add dependency on $(win32_low_h).
7507 (win32-arm-low.o, win32-i386-low.o): New rules.
7508
f80c84b3
DJ
75092007-11-30 Daniel Jacobowitz <dan@codesourcery.com>
7510
7511 * hostio.c: Correct copyright year.
7512
a6b151f1
DJ
75132007-11-30 Daniel Jacobowitz <dan@codesourcery.com>
7514
7515 * Makefile.in (OBS): Add hostio.o.
7516 (hostio.o): New rule.
7517 * server.h (handle_vFile): Declare.
7518 * hostio.c: New file.
7519 * server.c (handle_v_requests): Take packet_len and new_packet_len
7520 for binary packets. Call handle_vFile.
7521 (main): Update call to handle_v_requests.
7522
f9387fc3
DJ
75232007-11-05 Daniel Jacobowitz <dan@codesourcery.com>
7524
7525 * linux-low.c: Include <sched.h>.
7526
51c2684e
DJ
75272007-11-01 Daniel Jacobowitz <dan@codesourcery.com>
7528
7529 * linux-low.c (linux_tracefork_grandchild): New.
7530 (linux_tracefork_child): Use clone.
7531 (linux_test_for_tracefork): Use clone; allocate and free a stack.
7532
75f83163
JB
75332007-10-31 Joel Brobecker <brobecker@adacore.com>
7534
7535 * Makefile.in: Use $(SHELL) instead of "sh" to call regdat.sh.
7536
da5898ce
DJ
75372007-10-24 Daniel Jacobowitz <dan@codesourcery.com>
7538
7539 * linux-low.c (handle_extended_wait): Handle unexpected signals.
7540
24a09b5f
DJ
75412007-10-23 Daniel Jacobowitz <dan@codesourcery.com>
7542
7543 * inferiors.c (change_inferior_id): Delete.
7544 (add_pid_to_list, pull_pid_from_list): New.
7545 * linux-low.c (PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG)
7546 (PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK)
7547 (PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC, PTRACE_O_TRACEVFORKDONE)
7548 (PTRACE_O_TRACEEXIT, PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK)
7549 (PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE)
7550 (PTRACE_EVENT_EXIT, __WALL): Provide default definitions.
7551 (stopped_pids, thread_db_active, must_set_ptrace_flags): New variables.
7552 (using_threads): Always set to 1.
7553 (handle_extended_wait): New.
7554 (add_process): Do not set TID.
7555 (linux_create_inferior): Set must_set_ptrace_flags.
7556 (linux_attach_lwp): Remove TID argument. Do not check using_threads.
7557 Use PTRACE_SETOPTIONS. Call new_thread_notify. Update all callers.
7558 (linux_thread_alive): Rename TID argument to LWPID.
7559 (linux_wait_for_process): Handle unknown processes. Do not use TID.
7560 (linux_wait_for_event): Do not use TID or check using_threads. Update
7561 call to dead_thread_notify. Call handle_extended_wait.
7562 (linux_create_inferior): Use PTRACE_SETOPTIONS.
7563 (send_sigstop): Delete sigstop_sent.
7564 (wait_for_sigstop): Avoid TID.
7565 (linux_supports_tracefork_flag, linux_tracefork_child, my_waitpid)
7566 (linux_test_for_tracefork): New.
7567 (linux_lookup_signals): Use thread_db_active and
7568 linux_supports_tracefork_flag.
7569 (initialize_low): Use thread_db_active and linux_test_for_tracefork.
7570 * linux-low.h (get_process_thread): Avoid TID.
7571 (struct process_ifo): Move thread_known and tid to the end. Remove
7572 sigstop_sent.
7573 (linux_attach_lwp, thread_db_init): Update prototypes.
7574 * server.h (change_inferior_id): Delete prototype.
7575 (add_pid_to_list, pull_pid_from_list): New prototypes.
7576 * thread-db.c (thread_db_use_events): New.
7577 (find_first_thread): Rename to...
7578 (find_one_thread): ...this. Update callers and messages. Do not
7579 call fatal. Check thread_db_use_events. Do not call
7580 change_inferior_id or new_thread_notify.
7581 (maybe_attach_thread): Update. Do not call new_thread_notify.
7582 (thread_db_init): Set thread_db_use_events. Check use_events.
7583 * utils.c (fatal, warning): Correct message prefix.
7584
30ed0a8f
DJ
75852007-10-15 Daniel Jacobowitz <dan@codesourcery.com>
7586
7587 * Makefile.in (clean): Remove new files.
7588 (powerpc-32.o, powerpc-32.c, powerpc-e500.o, powerpc-e500.c)
7589 (powerpc-64.o, powerpc-64.c): New rules.
7590 * configure.srv: Use alternate register sets for powerpc64-*-linux*
7591 with AltiVec, powerpc-*-linux* with AltiVec, and powerpc-*-linux*
7592 with SPE.
7593 * linux-ppc-low.c (ppc_regmap): Do not fetch the FP registers for
7594 SPE targets.
7595 (ppc_cannot_store_register): Do not check for FPSCR for SPE targets.
7596 (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS, ppc_fill_vrregset)
7597 (ppc_store_vrregset, PTRACE_GETEVRREGS, PTRACE_SETEVRREGS)
7598 (struct gdb_evrregset_t, ppc_fill_evrregset, ppc_store_evrregset): New.
7599 (target_regsets): Add AltiVec and SPE register sets.
7600 * configure.ac: Check for AltiVec and SPE.
7601 * linux-ppc64-low.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS)
7602 (ppc_fill_vrregset, ppc_store_vrregset): New.
7603 (target_regsets): Add AltiVec register set.
7604 * configure: Regenerated.
7605
fd462a61
DJ
76062007-09-19 Daniel Jacobowitz <dan@codesourcery.com>
7607
7608 * linux-low.c (O_LARGEFILE): Define.
7609 (linux_read_memory): Use /proc/PID/mem.
7610 * configure.ac: Use AC_GNU_SOURCE. Check for pread64.
7611 * configure, config.in: Regenerated.
7612
69f223ed
DJ
76132007-09-04 Daniel Jacobowitz <dan@codesourcery.com>
7614
7615 * linux-low.c (linux_wait_for_event): Do not pass signals while
7616 single-stepping.
7617
aec18585
PA
76182007-09-03 Pedro Alves <pedro_alves@portugalmail.pt>
7619
7620 * win32-low.c (create_process): New.
7621 (win32_create_inferior): Use create_process instead of
7622 CreateProcess. If create_process failed retry appending an ".exe"
7623 suffix. Store the GetLastError result immediatelly after
7624 create_process calls and use it on the call to error.
7625
34d86ddd
PA
76262007-09-03 Pedro Alves <pedro_alves@portugalmail.pt>
7627
7628 * win32-low.c (handle_load_dll): Don't use toolhelp when waiting.
7629
5a0e3bd0
JB
76302007-08-23 Joel Brobecker <brobecker@adacore.com>
7631
7632 * configure.ac: Switch license to GPLv3.
7633
f88c79e6
MS
76342007-08-01 Michael Snyder <msnyder@access-company.com>
7635
7636 * remote-utils.c (putpkt_binary): Memory leak, free buf2.
7637
6b3d9b83
PA
76382007-07-31 Pedro Alves <pedro_alves@portugalmail.pt>
7639
7640 * win32-low.c (winapi_CloseToolhelp32Snapshot) [_WIN32_WCE]: New
7641 typedef.
7642 (win32_CloseToolhelp32Snapshot) [_WIN32_WCE]: New global var.
7643 (load_toolhelp) [_WIN32_WCE]: Load TOOLHELP.DLL. Get
7644 CloseToolhelp32Snapshot.
7645 (toolhelp_get_dll_name) [_WIN32_WCE]: Close the snapshot with
7646 CloseToolhelp32Snapshot.
7647
c588c53c
MS
76482007-07-27 Michael Snyder <michael.snyder@access-company.com>
7649
7650 * server.c (main): Check for inferior exit before main loop.
7651
aa0403d9
PA
76522007-07-18 Pedro Alves <pedro_alves@portugalmail.pt>
7653
7654 * remote-utils.c (remote_open): Set SO_KEEPALIVE on remote_desc
7655 instead of on tmp_desc.
7656
255e7678
DJ
76572007-07-17 Pedro Alves <pedro_alves@portugalmail.pt>
7658 Daniel Jacobowitz <dan@codesourcery.com>
7659
7660 * inferiors.c (all_dlls, dlls_changed, get_dll): New.
7661 (add_thread): Minor cleanups.
7662 (clear_inferiors): Move lower in the file. Clear the DLL
7663 list.
7664 (free_one_dll, match_dll, loaded_dll, unloaded_dll, clear_list): New.
7665 * remote-utils.c (prepare_resume_reply): Check dlls_changed.
7666 (xml_escape_text): New.
7667 * server.c (handle_query): Handle qXfer:libraries:read. Report it
7668 for qSupported.
7669 (handle_v_cont): Report errors.
7670 (gdbserver_version): Update.
7671 (main): Correct size of own_buf. Do not report initial DLL events.
7672 * server.h (struct dll_info, all_dlls, dlls_changed, loaded_dll)
7673 (unloaded_dll, xml_escape_text): New.
7674 * win32-low.c (enum target_waitkind): Update comments.
7675 (win32_add_one_solib, get_image_name, winapi_EnumProcessModules)
7676 (winapi_GetModuleInformation, winapi_GetModuleFileNameExA)
7677 (win32_EnumProcessModules, win32_GetModuleInformation)
7678 (win32_GetModuleFileNameExA, load_psapi, psapi_get_dll_name)
7679 (winapi_CreateToolhelp32Snapshot, winapi_Module32First)
7680 (winapi_Module32Next, win32_CreateToolhelp32Snapshot)
7681 (win32_Module32First, win32_Module32Next, load_toolhelp)
7682 (toolhelp_get_dll_name, handle_load_dll, handle_unload_dll): New.
7683 (get_child_debug_event): Handle DLL events.
7684 (win32_wait): Likewise.
7685
0d37add9
DJ
76862007-07-12 Daniel Jacobowitz <dan@codesourcery.com>
7687
7688 * configure.srv: Set srv_linux_regsets for sh*-*-linux*.
7689 * linux-sh-low.c (sh_fill_gregset, target_regsets): New.
7690
45e2715e
PA
76912007-07-08 Pedro Alves <pedro_alves@portugalmail.pt>
7692
7693 * win32-low.c (handle_output_debug_string): Ignore event if not
7694 waiting.
7695
c5674cf1
PA
76962007-07-08 Pedro Alves <pedro_alves@portugalmail.pt>
7697
7698 * win32-arm-low.c (arm_wince_breakpoint): Fix typo.
7699
2bbe3cc1
DJ
77002007-07-03 Daniel Jacobowitz <dan@codesourcery.com>
7701
7702 * remote-utils.c (look_up_one_symbol): Handle 'm' packets.
7703
ae13219e
DJ
77042007-07-02 Daniel Jacobowitz <dan@codesourcery.com>
7705
7706 * inferiors.c (change_inferior_id): Add comment.
7707 * linux-low.c (check_removed_breakpoint): Add an early
7708 prototype. Improve debug output.
7709 (linux_attach): Doc update.
7710 (linux_detach_one_process, linux_detach): Clean up before releasing
7711 each process.
7712 (send_sigstop, wait_for_sigstop): Improve comments and debug output.
7713 * linux-low.h (struct process_info): Doc improvement.
7714 * mem-break.c (delete_all_breakpoints): New.
7715 * mem-break.h (delete_all_breakpoints): New prototype.
7716 * thread-db.c (find_first_thread): New.
7717 (thread_db_create_event): Call it instead of
7718 thread_db_find_new_threads. Clean up unused variables.
7719 (maybe_attach_thread): Remove first thread handling.
7720 (thread_db_find_new_threads): Use find_first_thread.
7721 (thread_db_get_tls_address): Likewise.
7722
4105de34
DJ
77232007-06-27 Daniel Jacobowitz <dan@codesourcery.com>
7724
7725 * thread-db.c (thread_db_find_new_threads): Add prototype.
7726 (thread_db_create_event): Check for the main thread before adding
7727 a new thread.
7728 (maybe_attach_thread): Only enable event reporting if TID == 0.
7729 (thread_db_get_tls_address): Check for new threads.
7730
2b876972
DJ
77312007-06-20 Daniel Jacobowitz <dan@codesourcery.com>
7732
7733 * linux-low.c (linux_create_inferior): Try execv before execvp.
7734 * spu-low.c (spu_create_inferior): Likewise.
7735
7a245884
DJ
77362007-06-13 Mike Frysinger <vapier@gentoo.org>
7737
7738 * linux-low.c (linux_create_inferior): Change execv to execvp.
7739 * spu-low.c (spu_create_inferior): Likewies.
7740
117ce543
DJ
77412007-06-13 Daniel Jacobowitz <dan@codesourcery.com>
7742
7743 * Makefile.in (clean): Clean new files instead of deleted ones.
7744 (reg-mips.o, reg-mips.c, reg-mips64.o, reg-mips64.c): Delete.
7745 (mips-linux.o, mips-linux.c, mips64-linux.o, mips64-linux.c): New
7746 rules.
7747 * configure.srv: Specify XML files and new regformats for MIPS and
7748 MIPS64 GNU/Linux.
7749 * linux-mips-low.c (mips_num_regs): Set to only used registers.
7750 (mips_regmap): Do not fetch $0. Remove unused registers. Add
7751 an entry for the restart register.
7752 (mips_cannot_fetch_register, mips_cannot_store_register)
7753 (mips_reinsert_addr, mips_fill_fpregset, mips_store_fpregset): Update
7754 register names to match the XML descriptions.
7755 (mips_fill_gregset, mips_store_gregset): Likewise. Handle the
7756 restart register instead of $0.
7757
0e7f50da
UW
77582007-06-12 Ulrich Weigand <uweigand@de.ibm.com>
7759 Markus Deuling <deuling@de.ibm.com>
7760
7761 * remote-utils.c (decode_xfer_write): New function.
7762 * server.h (decode_xfer_write): Add prototype.
7763 * server.c (handle_query): Add PACKET_LEN argument. Support
7764 qXfer:spu:read and qXfer:spu:write packets.
7765 (main): Pass packet_len to handle_query.
7766 * spu-low.c (spu_target_ops): Add spu_proc_xfer_spu.
7767 * target.h (target_ops): Add qxfer_spu.
7768
374c1d38
UW
77692007-06-12 Ulrich Weigand <uweigand@de.ibm.com>
7770
7771 * spu-low.c (spu_proc_xfer_spu): Do not return failure when
7772 accessing non-seekable spufs files.
7773
bb63802a
UW
77742007-05-16 Markus Deuling <deuling@de.ibm.com>
7775
889bf7c5 7776 * server.c (handle_query): Add reply for qC packet.
bb63802a 7777
7390519e
PA
77782007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
7779 Leo Zayas <lerele@champenstudios@com>
7780
7781 * server.h (check_remote_input_interrupt_request): New function.
7782 * remote_utils.c (INVALID_DESCRIPTOR): New define.
7783 (remote_desc): Initialize with INVALID_DESCRIPTOR.
7784 (input_interrupt): Expose on USE_WIN32API too. Fix whitespace.
7785 (check_remote_input_interrupt_request): New function.
7786 * server.h (check_remote_input_interrupt_request): Declare.
3ecf0694 7787 * win32-low.c (winapi_DebugBreakProcess,
7390519e
PA
7788 winapi_GenerateConsoleCtrlEvent): New typedefs.
7789 (get_child_debug_event): Lower Win32 debug event polling from 1 sec
7790 to 250 ms.
7791 (win32_wait): Check for remote interrupt request
7792 with check_remote_input_interrupt_request.
7793 (win32_request_interrupt): New function.
7794 (win32_target_op): Set request_interrupt to win32_request_interrupt.
7795
34b34921
PA
77962007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
7797
7798 * win32-low.c (debug_registers_changed,
7799 debug_registers_used, CONTEXT_EXTENDED_REGISTERS,
7800 CONTEXT_FLOATING_POINT, CONTEXT_DEBUG_REGISTERS,
7801 CONTEXT_DEBUGGER, CONTEXT_DEBUGGER_DR): Delete.
7802 (thread_rec): Get context using the low target.
7803 (child_add_thread): Call thread_added on the low target,
7804 which does the same thing.
7805 (regptr): Delete.
7806 (do_initial_child_stuff): Remove debug registers references.
7807 Set context using the low target. Resume threads after
7808 setting the contexts.
7809 (child_continue): Remove dead variable. Remove debug
7810 registers references.
7811 (child_fetch_inferior_registers): Go through the low target.
7812 (do_child_store_inferior_registers): Remove.
7813 (child_store_inferior_registers): Go through the low target.
7814 (win32_resume): Remove debug registers references.
7815 Set context using the low target.
7816 (handle_exception): Change return type to void. Don't record
7817 context here. Set status to TARGET_WAITKIND_SPURIOUS on a
7818 first chance exception.
889bf7c5 7819 (get_child_debug_event): Change return type to void. Remove
34b34921
PA
7820 goto loop. Always return after waiting for debug event.
7821 (win32_wait): Convert to switch statement. Handle spurious
7822 events.
7823
7824 * win32-i386-low.c (debug_registers_changed,
7825 debug_registers_used): New.
7826 (initial_stuff): Rename to ...
7827 (i386_initial_stuff): ... this. Clear debug registers
7828 state variables.
7829 (store_debug_registers): Delete.
7830 (i386_get_thread_context): New.
7831 (load_debug_registers): Delete.
7832 (i386_set_thread_context): New.
7833 (i386_thread_added): New.
7834 (single_step): Rename to ...
7835 (i386_single_step): ... this.
7836 (do_fetch_inferior_registers): Rename to ...
7837 (i386_fetch_inferior_register): ... this.
7838 (i386_store_inferior_register): New.
7839 (the_low_target): Adapt to new interface.
7840
7841 * win32-arm-low.c (CONTEXT_FLOATING_POINT): Define.
7842 (arm_get_thread_context): New.
7843 (arm_set_thread_context): New.
7844 (regptr): New.
7845 (do_fetch_inferior_registers): Rename to ...
7846 (arm_fetch_inferior_register): ... this.
7847 (arm_store_inferior_register): New.
7848 (arm_wince_breakpoint): Reimplement as unsigned long.
7849 (arm_wince_breakpoint_len): Define.
7850 (the_low_target): Adapt to new interface.
7851
7852 * win32-low.h (target_ops): Remove regmap, store_debug_registers and
7853 load_debug_registers. Add get_thread_context, set_thread_context,
7854 thread_added and store_inferior_register. Rename
7855 fetch_inferior_registers to fetch_inferior_register.
7856 (regptr): Remove declaration.
7857
dd6953e1
PA
78582007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
7859
7860 * linux-low.c (linux_detach): Change return type to int. Return 0.
7861 * spu-low.c (spu_detach): Likewise.
7862
444d6139
PA
78632007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
7864
7865 * target.h (target_ops): Change return type of detach to int.
7866 Add join.
7867 (join_inferior): New.
7868 * server.c (main): Don't skip detach support on mingw32.
7869 If the inferior doesn't support detaching return error.
7870 Call join_inferior instead of using waitpid.
7871 * linux-low.c (linux_join): New.
7872 (linux_target_op): Add linux_join.
7873 * spu-low.c (spu_join): New.
7874 (spu_target_ops): Add spu_join.
7875 * win32-low.c (win32_detach): Adapt to new interface.
7876 Reopen current_process_handle before detaching. Issue a child
7877 resume before detaching.
7878 (win32_join): New.
7879 (win32_target_op): Add win32_join.
7880
1d5315fe
PA
78812007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
7882
7883 * win32-low.c (win32-attach): Fix return value.
7884 * target.h (target_ops): Describe ATTACH return values.
7885
bf914831
PA
78862007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
7887
7888 * win32-low.c (GETPROCADDRESS): Define.
7889 (winapi_DebugActiveProcessStop): Add WINAPI. typedef as pointer.
7890 (winapi_DebugSetProcessKillOnExit): Likewise.
7891 (win32_create_inferior): Force usage of ansi CreateProcessA.
7892 (win32_attach): Use GETPROCADDRESS.
7893 (win32_detach): Likewise.
7894
f72f3e60
PA
78952007-05-10 Pedro Alves <pedro_alves@portugalmail.pt>
7896
7897 * win32-low.c (win32_wait): Don't use WSTOPSIG.
7898
ed50f18f
PA
78992007-03-30 Pedro Alves <pedro_alves@portugalmail.pt>
7900
7901 * win32-low.c: Commit leftover changes from 2007-03-29.
7902
0c2ead7e
DJ
79032007-03-30 Daniel Jacobowitz <dan@codesourcery.com>
7904
7905 * i387-fp.c (struct i387_fsave, struct i387_fxsave): Make 16-bit
7906 fields short instead of int. Add explicit padding.
7907 (i387_cache_to_fsave): Remove unnecessary casts.
7908 (i387_fsave_to_cache): Doc fix.
7909 (i387_cache_to_fxsave): Remove unnecessary casts and masking.
7910
73725ff3
DJ
79112007-03-30 Daniel Jacobowitz <dan@codesourcery.com>
7912
7913 * i387-fp.c (i387_cache_to_fxsave): Reinitialize val2 before use.
7914 (i387_fxsave_to_cache): Check fp->ftag while building ftag value.
7915
d99f33d8
PA
79162007-03-29 Pedro Alves <pedro_alves@portugalmail.pt>
7917
7918 * configure.srv (arm*-*-mingw32ce*): Move near the other
7919 arm targets.
7920
68070c10
PA
79212007-03-29 Pedro Alves <pedro_alves@portugalmail.pt>
7922
2482afc6 7923 * configure.ac: Add errno checking.
68070c10
PA
7924 (AC_CHECK_HEADERS): Add errno.h, fcntl.h, signal.h,
7925 sys/file.h and malloc.h.
7926 (AC_CHECK_DECLS): Add perror.
7927 (srv_mingwce): Handle.
2482afc6 7928 * configure.srv (i[34567]86-*-cygwin*): Add
68070c10
PA
7929 win32-i386-low.o to srv_tgtobj.
7930 (i[34567]86-*-mingw*): Likewise.
7931 (arm*-*-mingw32ce*): Add case.
7932 * gdbreplay.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
7933 HAVE_FCNTL_H, HAVE_ERRNO_H, HAVE_MALLOC_H]: Check.
7934 [__MINGW32CE__] (strerror): New function.
7935 [__MINGW32CE__] (errno): Define to GetLastError.
7936 [__MINGW32CE__] (COUNTOF): New macro.
7937 (remote_open): Remove extra close call.
7938 * mem-break.c (delete_breakpoint_at): New function.
7939 * mem-break.h (delete_breakpoint_at): Declare.
7940 * remote-utils.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
7941 HAVE_FCNTL_H, HAVE_UNISTD_H, HAVE_ERRNO_H]: Check.
7942 [USE_WIN32API] (read, write): Add char* casts.
7943 * server.c [HAVE_UNISTD_H, HAVE_SIGNAL_H]: Check.
7944 * server.h: Include wincecompat.h on Windows CE.
7945 [HAVE_ERRNO_H]: Check.
7946 (perror): Declare if not declared.
7947 * utils.c: Add stdlib.h, errno.h and malloc.h includes.
7948 (perror_with_name): Remove errno declaration.
7949 * wincecompat.h: New.
7950 * wincecompat.c: New.
7951 * win32-low.h: New.
7952 * win32-arm-low.c: New.
7953 * win32-i386-low.c: New.
7954 (win32-low.c): Include mem-break.h and win32-low.h, and winnt.h.
7955 (OUTMSG2): Make it safe.
7956 (_T): New macro.
7957 (COUNTOF): New macro.
7958 (NUM_REGS): Get it from the low target.
7959 (CONTEXT_EXTENDED_REGISTERS, CONTEXT_FLOATING_POINT,
7960 CONTEXT_DEBUG_REGISTERS): Add fallbacks to 0.
7961 (thread_rec): Let low target handle debug registers.
7962 (child_add_thread): Likewise.
7963 (child_init_thread_list): Likewise.
7964 (continue_one_thread): Likewise.
7965 (regptr): New.
7966 (do_child_fetch_inferior_registers): Move to ...
7967 * win32-i386-low.c: ... here, and rename to ...
7968 (do_fetch_inferior_registers): ... this.
889bf7c5 7969 * win32-low.c (child_fetch_inferior_registers):
68070c10
PA
7970 Go through the low target.
7971 (do_child_store_inferior_registers): Use regptr.
7972 (strwinerror): New function.
7973 (win32_create_inferior): Handle Windows CE.
7974 Use strwinerror instead of strerror on Windows error
7975 codes. Add program to the error output.
7976 Don't close the main thread handle on Windows CE.
7977 (win32_attach): Use coredll.dll on Windows CE.
7978 (win32_kill): Close current process and current
7979 thread handles.
7980 (win32_detach): Use coredll.dll on Windows CE.
7981 (win32_resume): Let low target handle debug registers, and
7982 step request.
7983 (handle_exception): Add/Remove initial breakpoint. Avoid
7984 non-existant WSTOPSIG on Windows CE.
7985 (win32_read_inferior_memory): Cast to remove warning.
7986 (win32_arch_string): Go through the low target.
7987 (initialize_low): Call set_breakpoint_data with the low
7988 target's breakpoint.
7989 * win32-low.c (dr, FLAG_TRACE_BIT, FCS_REGNUM,
7990 FOP_REGNUM, mappings): Move to ...
7991 * win32-i386-low.c: ... here.
7992 * win32-low.c (win32_thread_info): Move to ...
7993 * win32-low.h: ... here.
7994 * Makefile.in (SFILES): Add win32-low.c, win32-i386-low.c,
7995 win32-arm-low.c and wincecompat.c.
7996 (all:): Add $EXEEXT.
7997 (install-only:): Likewise.
7998 (gdbserver:): Likewise.
7999 (gdbreplay:): Likewise.
8000 * config.in: Regenerate.
8001 * configure: Regenerate.
8002
41093d81
PA
80032007-03-28 Pedro Alves <pedro_alves@portugalmail.pt>
8004
8005 * win32-low.c: Rename typedef thread_info to
8006 win32_thread_info throughout.
8007
544afa54
PA
80082007-03-28 Pedro Alves <pedro_alves@portugalmail.pt>
8009
8010 * win32-i386-low.c: Rename to ...
8011 * win32-low.c: ... this.
8012 * configure.srv: Replace win32-i386-low.o with win32-low.o.
8013 * Makefile.in: Likewise.
8014
bce7165d
PA
80152007-03-27 Pedro Alves <pedro_alves@portugalmail.pt>
8016
8017 * remote-utils.c (monitor_output): Constify msg parameter.
8018 * server.h (monitor_output): Likewise.
8019 * win32-i386-low.c (handle_output_debug_string): New.
8020 (win32_kill): Handle OUTPUT_DEBUG_STRING_EVENT events using
8021 handle_output_debug_string.
8022 (get_child_debug_event): Likewise.
8023
506c7aa0
DJ
80242007-03-27 Mat Hostetter <mat@lcs.mit.edu>
8025
8026 * server.c (main): Correct strtoul check.
8027
42c81e2a
DJ
80282007-03-27 Jon Ringle <jon@ringle.org>
8029
8030 * linux-low.c: Check __ARCH_HAS_MMU__ also.
8031
9453113a
DJ
80322007-03-27 Brooks Moses <brooks.moses@codesourcery.com>
8033
8034 * Makefile.in: Add dummy "pdf" and "install-pdf" targets.
8035
64a69107
DJ
80362007-02-27 Daniel Jacobowitz <dan@codesourcery.com>
8037
8038 * terminal.h: Check HAVE_SGTTY_H.
8039
80402007-02-27 Mat Hostetter <mat@lcs.mit.edu>
6f8486da
DJ
8041
8042 * remote-utils.c (remote_open): Print out the assigned port number.
8043
c74d0ad8
DJ
80442007-02-26 Daniel Jacobowitz <dan@codesourcery.com>
8045
8046 * remote-utils.c (monitor_output): New function.
8047 * server.c (debug_threads): Define here.
8048 (monitor_show_help): New function.
8049 (handle_query): Handle qRcmd.
8050 (main): Do not handle 'd' packet.
8051 * server.h (debug_threads, remote_debug, monitor_output): Declare.
8052 * linux-low.c, spu-low.c, win32-i386-low.c: Remove definitions
8053 of debug_threads.
8054
de7c3b4a
PA
80552007-02-25 Pedro Alves <pedro_alves@portugalmail.pt>
8056
8057 * Makefile.in (EXEEXT): New.
8058 (clean): Use $(EXEEXT).
8059
ef57601b
PA
80602007-02-25 Pedro Alves <pedro_alves@portugalmail.pt>
8061
8062 * target.h (target_ops): Rename send_signal to request_interrupt,
8063 and remove enum target_signal parameter.
8064 * linux-low.c (linux_request_interrupt): Rename from
8065 linux_send_signal, and always send SIGINT.
8066 * spu-low.c (spu_request_interrupt): Rename from spu_send_signal,
8067 and always send SIGINT.
8068 * remote-utils.c (putpkt_binary): Call request_interrupt, instead
8069 of send_signal.
8070 (input_interrupt): Likewise.
8071
820f2bda
PA
80722007-02-25 Pedro Alves <pedro_alves@portugalmail.pt>
8073
8074 * server.c (get_features_xml): Check if target implemented
8075 arch_string.
8076 * win32-i386-low.c (win32_arch_string): New.
8077 (win32_target_ops): Add win32_arch_string as arch_string member.
8078
ab39bf24
UW
80792007-02-22 Markus Deuling <deuling@de.ibm.com>
8080
8081 * spu-low.c (spu_arch_string): New.
8082 (spu_target_ops): Add spu_arch_string.
8083
61ff6e04
DJ
80842007-02-16 Daniel Jacobowitz <dan@codesourcery.com>
8085
8086 * remote-utils.c: Remove HAVE_TERMINAL_H check.
8087 * configure.ac: Do not check for terminal.h.
8088 * configure, config.in: Regenerated.
8089
fb1e4ffc
DJ
80902007-02-08 Daniel Jacobowitz <dan@codesourcery.com>
8091
8092 * Makefile.in (OBS): Add $(XML_BUILTIN).
8093 (XML_DIR, XML_TARGET, XML_FILES, XML_BUILTIN): New.
8094 (clean): Update.
8095 (target.xml, xml-builtin.c, stamp-xml, arm-with-iwmmxt.o)
8096 (arm-with-iwmmxt.c): New.
8097 * config.in, configure: Regenerate.
8098 * configure.ac: Check for iWMMXt. Handle srv_xmltarget,
8099 srv_xmlbuiltin, and srv_xmlfiles. Define USE_XML.
8100 * configure.srv: Mention srv_xmltarget and srv_xmlfiles.
8101 (arm*-*-linux*): Add iWMMXt and regset support.
8102 * linux-arm-low.c (PTRACE_GETWMMXREGS, PTRACE_SETWMMXREGS): Define.
8103 (arm_fill_gregset, arm_store_gregset, arm_fill_wmmxregset)
8104 (arm_store_wmmxregset, target_regsets): New.
8105 * server.c (get_features_xml): Take annex argument. Check builtin
8106 XML documents.
8107 (handle_query): Handle multiple annexes.
8108
0f48aa01
DJ
81092007-01-29 Daniel Jacobowitz <dan@codesourcery.com>
8110
8111 * remote-utils.c [USE_WIN32API] (read, write): Define.
8112 (putpkt_binary, input_interrupt, readchar, getpkt): Use read and
8113 write.
8114
23181151
DJ
81152007-01-09 Daniel Jacobowitz <dan@codesourcery.com>
8116
8117 * linux-i386-low.c (the_low_target): Set arch_string.
8118 * linux-x86-64-low.c (the_low_target): Likewise.
8119 * linux-low.c (linux_arch_string): New.
8120 (linux_target_ops): Add it.
8121 * linux-low.h (struct linux_target_ops): Add arch_string.
8122 * server.c (write_qxfer_response): Use const void * for DATA.
8123 (get_features_xml): New.
8124 (handle_query): Handle qXfer:features:read. Report it for qSupported.
8125 * target.h (struct target_ops): Add arch_string method.
8126
9d606399
DJ
81272007-01-03 Denis Pilat <denis.pilat@st.com>
8128 Daniel Jacobowitz <dan@codesourcery.com>
8129
8130 * linux-low.c (linux_kill): Handle being called with no threads.
8131 * win32-i386-low.c (win32_kill): Likewise.
8132 (get_child_debug_event): Clear current_process_handle.
8133
81342006-12-30 Denis PILAT <denis.pilat@st.com>
8264bb58
DJ
8135 Daniel Jacobowitz <dan@codesourcery.com>
8136
8137 * remote-utils.c (remote_open): Check the type of specified
8138 serial port devices before opening them.
8139 * server.c (main): Kill the inferior if an error occurs during
8140 the first remote_open.
8141
a5e13d24
DJ
81422006-12-05 Markus Deuling <deuling@de.ibm.com>
8143
8144 * README: Update supported targets.
8145
186947f7
DJ
81462006-11-28 Daniel Jacobowitz <dan@codesourcery.com>
8147
8148 * Makefile.in (clean): Remove reg-mips64.c.
8149 (reg-mips64.c, reg-mips64.o): New rules.
8150 * configure.srv: Handle mips64. Include regset support for mips.
8151 * linux-mips-low.c (union mips_register): New.
8152 (mips_get_pc, mips_set_pc, mips_reinsert_addr): Use it.
8153 (mips_breakpoint, mips_breakpoint_at): Use int.
8154 (mips_collect_register, mips_supply_register)
8155 (mips_collect_register_32bit, mips_supply_register_32bit)
8156 (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
8157 (mips_store_fpregset, target_regsets): New.
8158 * thread-db.c (thread_db_get_tls_address): Use uintptr_t.
8159
a13e2c95
UW
81602006-11-22 Ulrich Weigand <uweigand@de.ibm.com>
8161
8162 * configure.srv: Add target "spu*-*-*".
8163 * Makefile.in (clean): Remove reg-spu.c.
8164 (reg-spu.c, reg-spu.o, spu-low.o): Add dependencies.
8165 * spu-low.c: New file.
8166
cb7283db
DJ
81672006-11-16 Daniel Jacobowitz <dan@codesourcery.com>
8168
8169 * configure.ac: Correct td_thr_tls_get_addr test.
8170 * configure: Regenerated.
8171
89be2091
DJ
81722006-11-16 Daniel Jacobowitz <dan@codesourcery.com>
8173
8174 * linux-low.c (linux_wait_for_event): Reformat. Use the
8175 pass_signals array.
8176 * remote-utils.c (decode_address_to_semicolon): New.
8177 * server.c (pass_signals, handle_general_set): New.
8178 (handle_query): Mention QPassSignals for qSupported.
8179 (main): Call handle_general_set.
8180 * server.h (pass_signals, decode_address_to_semicolon): New.
8181
000ef4f0
DJ
81822006-11-06 Daniel Jacobowitz <dan@codesourcery.com>
8183
8184 * server.c (handle_query): Correct error handling for read_auxv.
8185
b7149293
UW
81862005-10-19 Ulrich Weigand <uweigand@de.ibm.com>
8187
8188 * configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets
8189 and srv_linux_thread_db to yes.
8190 * linux-s390-low.c (s390_fill_gregset): New function.
8191 (target_regsets): Define data structure.
8192
dae5f5cf
DJ
81932006-10-17 Daniel Jacobowitz <dan@codesourcery.com>
8194
8195 * acinclude.m4 (SRV_CHECK_TLS_GET_ADDR): New.
8196 * configure.ac: Use it. Define HAVE_TD_THR_TLS_GET_ADDR.
8197 * config.in, configure: Regenerated.
8198 * inferiors.c (gdb_id_to_thread): New function.
8199 (gdb_id_to_thread_id): Use it.
8200 * linux-low.c (linux_target_ops): Use thread_db_get_tls_address.
8201 * linux-low.h (struct process_info): Add th member.
8202 (thread_db_get_tls_address): New prototype.
8203 * remote-utils.c (decode_address): Make non-static.
8204 * server.c (handle_query): Handle qGetTLSAddr.
8205 * server.h (gdb_id_to_thread, decode_address): New prototypes.
8206 * target.h (struct target_ops): Add get_tls_address.
8207 * thread-db.c (maybe_attach_thread): Save the thread handle.
8208 (thread_db_get_tls_address): New.
8209
32ca6d61
DJ
82102006-09-28 Daniel Jacobowitz <dan@codesourcery.com>
8211
8212 * linux-low.c (PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
8213 (linux_resume_one_process): Take a siginfo_t *. Update all
8214 callers. Queue it if necessary. Use PTRACE_SETSIGINFO.
8215 (struct pending_signals): Add a siginfo_t.
8216 (linux_wait_for_process): Always set last_status.
8217 (linux_wait_for_event): Use PTRACE_GETSIGINFO.
8218 (linux_queue_one_thread): Use PTRACE_GETSIGINFO.
8219 * linux-low.h (struct process_info): Add last_status.
8220
5ffff7c1
DJ
82212006-09-21 Daniel Jacobowitz <dan@codesourcery.com>
8222
8223 * remote-utils.c (try_rle): New function.
8224 (putpkt_binary): Use it.
8225
8695c747
DJ
82262006-08-19 Daniel Jacobowitz <dan@codesourcery.com>
8227
8228 * Makefile.in (clean): Clean reg-x86-64-linux.c.
8229 (reg-x86-64-linux.o, reg-x86-64-linux.c): New.
8230 * configure.srv (x86_64-*-linux*): Use reg-x86-64-linux.o.
8231 * linux-x86-64-low.c (x86_64_regmap): Include ORIG_RAX.
8232 (x86_64_fill_gregset, x86_64_store_gregset): Skip floating
8233 point registers.
8234
290fadea
RS
82352006-08-08 Richard Sandiford <richard@codesourcery.com>
8236
8237 * server.c (terminal_fd): New variable.
8238 (old_foreground_pgrp): Likewise.
8239 (restore_old_foreground_pgrp): New function.
8240 (start_inferior): Record the terminal file descriptor in terminal_fd
8241 and its original foreground group in old_foreground_pgrp. Register
8242 restore_old_foreground_pgrp with atexit().
8243
9f2e1e63
DJ
82442006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
8245
8246 * server.c (handle_query): Correct qPart to qXfer.
8247
b80864fb
DJ
82482006-07-22 Daniel Jacobowitz <dan@codesourcery.com>
8249
8250 * configure.ac: Check for more headers which are missing on
8251 Windows. Automatically supply -lwsock32 and USE_WIN32API.
8252 * configure.srv: Add Cygwin and mingw32.
8253 * remote-utils.c: Don't include headers unconditionally which
8254 are missing on mingw32. Include <winsock.h> for mingw32.
8255 (remote_open): Adjust for mingw32 support. Flush
8256 standard error after writing to it.
8257 (remote_close, putpkt_binary, input_interrupt, block_async_io)
8258 (unblock_async_io, enable_async_io, disable_async_io)
8259 (readchar, getpkt): Update for Winsock support.
8260 (prepare_resume_reply): Expect a protocol signal number.
8261 * server.c: Disable <sys/wait.h> on mingw32.
8262 (start_inferior): Adjust for mingw32 support. Flush
8263 standard error after writing to it.
8264 (attach_inferior): Likewise. Use protocol signal
8265 numbers.
8266 (main): Skip 'D' packet on mingw32. Use protocol signal numbers
8267 and names.
8268 * win32-i386-low.c: New file.
8269 * Makefile.in (XM_CLIBS): Set.
8270 (gdbserver, gdbreplay): Use $(INTERNAL_CFLAGS).
8271 (win32-i386-low.o): New dependency rule.
8272 * linux-low.c (linux_wait): Use target signal numbers.
8273 * target.h (struct target_ops): Doc fix.
8274 * server.h (target_signal_to_name): New prototype.
8275 * gdbreplay.c: Don't include headers unconditionally which
8276 are missing on mingw32. Include <winsock.h> for mingw32.
8277 (remote_close, remote_open): Adjust for Winsock support.
8278 * configure, config.in: Regenerated.
8279
0876f84a
DJ
82802006-07-12 Daniel Jacobowitz <dan@codesourcery.com>
8281
8282 * server.c (decode_xfer_read, write_qxfer_response): New.
8283 (handle_query): Take a packet length argument. Handle
8284 qXfer:auxv:read instead of qPart:auxv:read. Mention it in
8285 the qSupported response.
8286 (main): Update call to handle_query.
8287
01f9e8fa
DJ
82882006-06-22 Daniel Jacobowitz <dan@codesourcery.com>
8289
8290 * remote-utils.c (remote_escape_output, remote_unescape_input): New.
8291 (putpkt_binary): Renamed from putpkt and adjusted for binary
8292 data.
8293 (putpkt): New wrapper for putpkt_binary.
8294 (readchar): Don't mask off the high bit.
8295 (decode_X_packet): New function.
8296 * server.c (main): Call putpkt_binary if a handler sets the packet
8297 length. Save the length of the incoming packet. Handle 'X'.
8298 * server.h (gdb_byte, remote_escape_output, decode_X_packet): New.
8299
be2a5f71
DJ
83002006-06-21 Daniel Jacobowitz <dan@codesourcery.com>
8301
8302 * server.c (handle_query): Handle qSupported.
8303
ea025f5f
DJ
83042006-05-30 Daniel Jacobowitz <dan@codesourcery.com>
8305
8306 * remote-utils.c (all_symbols_looked_up): New variable.
8307 (look_up_one_symbol): Check it.
8308 * server.h (look_up_one_symbol): New declaration.
8309 * thread-db.c (thread_db_init): Set all_symbols_looked_up.
8310
9308fc88
DJ
83112006-05-30 Daniel Jacobowitz <dan@codesourcery.com>
8312
8313 * Makefile.in (linux-arm-low.o): Update dependencies.
66f338c7 8314 * linux-arm-low.c: Include "gdb_proc_service.h".
9308fc88
DJ
8315 (PTRACE_GET_THREAD_AREA): Define.
8316 (ps_get_thread_area): New function.
8317
52fb6437
NS
83182006-05-09 Nathan Sidwell <nathan@codesourcery.com>
8319
8320 * configure.srv (m68k*-*-uclinux*): New target.
8321 * linux-low.c (linux_create_inferior): Use vfork on mmuless systems.
8322 (linux_resume_one_process): Remove extraneous cast.
8323 (linux_read_offsets): New.
8324 (linux_target_op): Add linux_read_offsets on mmuless systems.
8325 * server.c (handle_query): Add qOffsets logic.
8326 * target.h (struct target_ops): Add read_offsets.
8327
21b0f40c
DJ
83282006-03-15 Daniel Jacobowitz <dan@codesourcery.com>
8329
8330 * linux-mips-low.c: Include <sys/ptrace.h> and "gdb_proc_service.h".
8331 (PTRACE_GET_THREAD_AREA): Define.
8332 (ps_get_thread_area): New function.
8333 * Makefile.in (linux-i386-low.o, linux-mips-low.o)
8334 (linux-x86-64-low.o): Update.
8335
0050a760
DJ
83362006-03-15 Daniel Jacobowitz <dan@codesourcery.com>
8337
8338 * configure.ac: Remove checks for prfpregset_t.
8339 * gdb_proc_service.h: New file.
8340 * linux-i386-low.c, linux-x86-64-low.c, thread-db.c: Use the
8341 new "gdb_proc_service.h".
8342 * proc-service.c: Likewise.
8343 (ps_pglobal_lookup, ps_pdread, ps_pdwrite): Use psaddr_t.
8344 (ps_lgetfpregs, ps_lsetfpregs): Use a void* argument.
8345 * Makefile.in (gdb_proc_service_h): Updated.
8346 * configure, config.in: Regenerated.
8347
b92a518e
DJ
83482006-03-03 Daniel Jacobowitz <dan@codesourcery.com>
8349
8350 * remote-utils.c (prepare_resume_reply): Move declaration
8351 of gdb_id_from_wait to the top of the block.
8352
545587ee
DJ
83532006-02-15 Daniel Jacobowitz <dan@codesourcery.com>
8354
8355 * linux-low.c (regsets_store_inferior_registers): Read the regset
8356 from the target before filling it.
8357
9db87ebd
DJ
83582006-02-08 Daniel Jacobowitz <dan@codesourcery.com>
8359
8360 * server.c (attach_inferior): Return SIGTRAP for a successful
8361 attach.
8362
dd24457d
DJ
83632006-02-01 Daniel Jacobowitz <dan@codesourcery.com>
8364
8365 * Makefile.in (OBS): Add version.o.
8366 (STAGESTUFF): Delete.
8367 (version.o): Add dependencies.
8368 (version.c): Replace rule.
8369 (clean): Remove version.c.
8370 * server.c (gdbserver_version): New.
8371 (gdbserver_usage): Use printf.
8372 (main): Handle --version and --help.
8373 * server.h (version, host_name): Add declarations.
8374
6f0f660e
EZ
83752005-12-23 Eli Zaretskii <eliz@gnu.org>
8376
889bf7c5
PA
8377 * linux-arm-low.c:
8378 * linux-arm-low.c:
8379 * inferiors.c:
8380 * i387-fp.h:
8381 * i387-fp.c:
8382 * gdbreplay.c:
8383 * regcache.c:
8384 * proc-service.c:
8385 * mem-break.h:
8386 * mem-break.c:
8387 * linux-x86-64-low.c:
8388 * linux-sh-low.c:
8389 * linux-s390-low.c:
8390 * linux-ppc64-low.c:
8391 * linux-ppc-low.c:
8392 * linux-mips-low.c:
8393 * linux-m68k-low.c:
8394 * linux-m32r-low.c:
8395 * linux-low.h:
8396 * linux-low.c:
8397 * linux-ia64-low.c:
8398 * linux-i386-low.c:
8399 * linux-crisv32-low.c:
8400 * thread-db.c:
8401 * terminal.h:
8402 * target.h:
8403 * target.c:
8404 * server.h:
8405 * server.c:
8406 * remote-utils.c:
8407 * regcache.h:
8408 * utils.c:
8409 * Makefile.in:
8410 * configure.ac:
6f0f660e
EZ
8411 * gdbserver.1: Add (C) after Copyright. Update the FSF
8412 address.
8413
9d1fb177
DJ
84142005-11-13 Daniel Jacobowitz <dan@codesourcery.com>
8415
8416 * linux-arm-low.c (arm_eabi_breakpoint): New variable.
8417 (arm_breakpoint_at): Recognize both breakpoints.
8418 (the_low_target): Use the correct breakpoint instruction.
8419
011a70c2
DJ
84202005-11-02 Daniel Jacobowitz <dan@codesourcery.com>
8421
8422 * configure.srv (x86_64-*-linux*): Turn on thread_db support.
8423 * linux-x86-64-low.c (x86_64_breakpoint, x86_64_breakpoint_len)
8424 (x86_64_get_pc, x86_64_set_pc, x86_64_breakpoint_at): New.
8425 (the_low_target): Update.
8426
7fb85e41
AS
84272005-10-25 Andreas Schwab <schwab@suse.de>
8428
8429 * server.c (main): Allocate mem_buf with PBUFSIZ bytes.
8430
8431 * linux-ia64-low.c (ia64_regmap): Remove NAT registers.
8432 (ia64_num_regs): Reduce to 462.
8433
3db0444b
DJ
84342005-09-17 Daniel Jacobowitz <dan@codesourcery.com>
8435
8436 * acinclude.m4: Correct quoting.
8437 * aclocal.m4: Regenerated.
8438
8439 Suggested by SZOKOVACS Robert <szo@ies.hu>:
8440 * thread-db.c (thread_db_err_str): Handle TD_VERSION.
8441 (thread_db_init): Call thread_db_err_str.
8442 * configure.ac: Check for TD_VERSION.
8443 * config.in, configure: Regenerated.
8444
bee0189a
DJ
84452005-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8446
8447 * server.h (error, fatal, warning): Add ATTR_FORMAT.
8448
e9d25b98
DJ
84492005-07-13 Daniel Jacobowitz <dan@codesourcery.com>
8450
8451 * configure.ac: Define HAVE_LINUX_REGSETS even if PTRACE_GETREGS
8452 is not available. Define HAVE_PTRACE_GETREGS if it is.
8453 * config.in, configure: Regenerated.
8454 * configure.srv: Set srv_linux_regsets for PowerPC and PowerPC64.
8455 * linux-i386-low.c, linux-m68k-low.c: Update to use
8456 HAVE_PTRACE_GETREGS.
8457 * linux-low.c (regsets_fetch_inferior_registers)
8458 (regsets_store_inferior_registers): Only return 0 if we processed
8459 GENERAL_REGS.
8460 * linux-ppc-low.c (ppc_fill_gregset, target_regsets): New.
8461 * linux-ppc64-low.c (ppc_fill_gregset, target_regsets): New.
8462
a06660f7
DJ
84632005-07-13 Daniel Jacobowitz <dan@codesourcery.com>
8464
8465 * inferiors.c (struct thread_info): Add gdb_id.
8466 (add_thread): Add gdb_id argument.
8467 (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New.
8468 * linux-low.c (linux_create_inferior, linux_attach_lwp): Update
8469 calls to add_thread.
8470 * remote-utils.c (prepare_resume_reply: Use thread_to_gdb_id.
8471 * server.c (handle_query): Use thread_to_gdb_id.
8472 (handle_v_cont, main): Use gdb_id_to_thread_id.
8473 * server.h (add_thread): Update prototype.
8474 (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): New
8475 prototypes.
8476
5a1f5858
DJ
84772005-07-13 Daniel Jacobowitz <dan@codesourcery.com>
8478
8479 * linux-low.c (fetch_register, usr_store_inferior_registers): Handle
8480 left-padded registers.
8481 * linux-low.h (struct linux_target_ops): Add left_pad_xfer.
8482 * linux-ppc64-low.c (the_low_target): Set left_pad_xfer.
8483
e122f1f5
SE
84842005-07-01 Steve Ellcey <sje@cup.hp.com>
8485
8486 * configure.ac (BFD_NEED_DECLARATION): Replace with AC_CHECK_DECLS.
8487 * configure: Regenerate.
8488 * config.in: Regenerate.
8489 * server.h (NEED_DECLARATION_STRERROR):
8490 Replace with !HAVE_DECL_STRERROR.
8491
d592fa2f
DJ
84922005-06-16 Daniel Jacobowitz <dan@codesourcery.com>
8493
8494 * linux-low.c (linux_wait, linux_send_signal): Don't test
8495 an unsigned long variable for > 0 if it could be MAX_ULONG.
8496 * server.c (myresume): Likewise.
8497 * target.c (set_desired_inferior): Likewise.
8498
ccbd4912
MK
84992005-06-13 Mark Kettenis <kettenis@gnu.org>
8500
8501 * configure.ac: Simplify and improve check for socklen_t.
8502 * configure, config.in: Regenerate.
8503
f450004a
DJ
85042005-06-12 Daniel Jacobowitz <dan@codesourcery.com>
8505
8506 * acconfig.h: Remove.
8507 * configure.ac: Add a test for socklen_t. Use three-argument
8508 AC_DEFINE throughout.
8509 * config.in: Regenerated using autoheader 2.59.
8510 * configure: Regenerated.
8511
8512 * gdbreplay.c (socklen_t): Provide a default.
8513 (remote_open): Use socklen_t.
8514 * remote-utils.c (socklen_t): Provide a default.
8515 (remote_open): Use socklen_t.
8516 (convert_int_to_ascii, convert_ascii_to_int, decode_M_packet): Use
8517 unsigned char.
8518
8519 * i387-fp.c (struct i387_fsave, struct i387_fxsave): Use unsigned
8520 char for buffers.
8521 * linux-low.c (linux_read_memory, linux_write_memory)
8522 (linux_read_auxv): Likewise.
8523 * mem-break.c (breakpoint_data, set_breakpoint_data, check_mem_read)
8524 (check_mem_write): Likewise.
8525 * mem-break.h (set_breakpoint_data, check_mem_read, check_mem_write):
8526 Likewise.
8527 * regcache.c (struct inferior_rgcache_data, registers_to_string)
8528 (registers_from_string, register_data): Likewise.
8529 * server.c (handle_query, main): Likewise.
8530 * server.h (convert_ascii_to_int, convert_int_to_ascii)
8531 (decode_M_packet): Likewise.
8532 * target.c (read_inferior_memory, write_inferior_memory): Likewise.
8533 * target.h (struct target_ops): Update read_memory, write_memory,
8534 and read_auxv.
8535 (read_inferior_memory, write_inferior_memory): Update.
8536 * linux-low.h (struct linux_target_ops): Change type of breakpoint
8537 to unsigned char *.
8538 * linux-arm-low.c, linux-cris-low.c, linux-crisv32-low.c,
8539 linux-i386-low.c, linux-m32r-low.c, linux-m68k-low.c,
8540 linux-mips-low.c, linux-ppc-low.c, linux-ppc64-low.c,
8541 linux-s390-low.c, linux-sh-low.c: Update for changes in
8542 read_inferior_memory and the_low_target->breakpoint.
8543
eee84df1
DJ
85442005-05-28 Daniel Jacobowitz <dan@codesourcery.com>
8545
8546 * Makefile.in (SFILES): Add linux-ppc64-low.c.
8547 (linux-ppc64-low.o, reg-ppc64.c, reg-ppc64.o): New targets.
8548 * configure.srv: Add powerpc64-*-linux*.
8549 * linux-ppc64-low.c: New file.
8550
45b134e5
OF
85512005-05-23 Orjan Friberg <orjanf@axis.com>
8552
8553 * linux-cris-low.c: New file with support for CRIS.
8554 * linux-crisv32-low.c: Ditto for CRISv32.
8555 * Makefile.in (SFILES): Add linux-cris-low.c, linux-crisv32-low.c.
8556 (clean): Add reg-cris.c and reg-crisv32.c.
889bf7c5 8557 Add linux-cris-low.o, linux-crisv32-low.o, reg-cris.o, reg-cris.c,
45b134e5
OF
8558 reg-crisv32.o, and reg-crisv32.c to make rules.
8559 * configure.srv: Add cris-*-linux* and crisv32-*-linux* to list of
8560 recognized targets.
8561
48d93c75
UW
85622005-05-16 Ulrich Weigand <uweigand@de.ibm.com>
8563
8564 * linux-low.c (fetch_register): Ensure buffer size is a multiple
8565 of sizeof (PTRACE_XFER_TYPE).
8566 (usr_store_inferior_registers): Likewise. Zero out excess bytes.
8567
e013ee27
OF
85682005-05-12 Orjan Friberg <orjanf@axis.com>
8569
889bf7c5 8570 * target.h (struct target_ops): Add insert_watchpoint,
e013ee27
OF
8571 remove_watchpoint, stopped_by_watchpoint, stopped_data_address function
8572 pointers for hardware watchpoint support.
8573 * linux-low.h (struct linux_target_ops): Ditto.
8574 * linux-low.c (linux_insert_watchpoint, linux_remove_watchpoint)
8575 (linux_stopped_by_watchpoint, linux_stopped_data_address): New. Add
8576 to linux_target_ops.
8577 * remote-utils.c (prepare_resume_reply): Add watchpoint information to
8578 reply packet.
8579 * server.c (main): Recognize 'Z' and 'z' packets.
8580
b0ded00b
UW
85812005-05-10 Ulrich Weigand <uweigand@de.ibm.com>
8582
8583 * linux-s390-low.c (s390_breakpoint, s390_breakpoint_len): Define.
8584 (s390_get_pc, s390_set_pc, s390_breakpoint_at): New functions.
8585 (the_low_target): Add new members.
8586
8643e2ad
DJ
85872005-05-04 Daniel Jacobowitz <dan@codesourcery.com>
8588
8589 * proc-service.c (ps_lgetregs): Search all_processes instead of
8590 all_threads.
8591
fc620387
DJ
85922005-05-04 Daniel Jacobowitz <dan@codesourcery.com>
8593
8594 * server.c (start_inferior): Change return type to int.
8595 (attach_inferior): Change sigptr to int *.
8596 (handle_v_cont, handle_v_requests): Change signal to int *.
8597 (main): Change signal to int.
8598
85992005-04-15 Kei Sakamoto <sakamoto.kei@renesas.com>
7cfbc4a0
KI
8600
8601 * Makefile.in: Add linux-m32r-low.o, reg-m32r.c and reg-m32r.o.
8602 * configure.srv: Add m32r*-*-linux*.
8603 * linux-m32r-low.c: New file.
8604
e0e76420
DJ
86052005-03-04 Daniel Jacobowitz <dan@codesourcery.com>
8606
8607 * Makefile.in (stamp-h): Set CONFIG_HEADERS explicitly.
8608
a1928bad
DJ
86092005-03-03 Daniel Jacobowitz <dan@codesourcery.com>
8610
8611 * inferiors.c (change_inferior_id, add_thread, find_inferior_id):
8612 Take unsigned long arguments for PIDs.
8613 * linux-low.c (add_process, linux_attach_lwp, linux_attach)
8614 (linux_thread_alive, linux_wait_for_event, kill_lwp, send_sigstop)
8615 (wait_for_sigstop, linux_resume_one_process)
8616 (regsets_fetch_inferior_registers, linux_send_signal)
8617 (linux_read_auxv): Likewise. Update the types of variables holding
8618 PIDs. Update format string specifiers.
8619 * linux-low.h (struct process_info, linux_attach_lwp): Likewise.
8620 * remote-utils.c (prepare_resume_reply): Likewise.
8621 * server.c (cont_thread, general_thread, step_thread)
8622 (thread_from_wait, old_thread_from_wait, signal_pid): Change type to
8623 unsigned long.
8624 (handle_query): Update format specifiers.
8625 (handle_v_cont, main): Use strtoul for thread IDs.
8626 * server.h (struct inferior_list_entry): Use unsigned long for ID.
8627 (add_thread, find_inferior_id, change_inferior_id, cont_thread)
8628 (general_thread, step_thread, thread_from_wait)
8629 (old_thread_from_wait): Update.
8630 * target.h (struct thread_resume): Use unsigned long for THREAD.
8631 (struct target_ops): Use unsigned long for arguments to attach and
8632 thread_alive.
8633
dcdb98d2
DJ
86342005-02-24 Daniel Jacobowitz <dan@codesourcery.com>
8635
8636 * acinclude.m4: Include bfd/bfd.m4 directly.
8637 * configure.ac: Use AC_ARG_PROGRAM. Suggested by Aron Griffis
8638 <agriffis@toolchain.org>.
8639 * aclocal.m4, configure: Regenerated.
8640
bec39cab
AC
86412005-01-07 Andrew Cagney <cagney@gnu.org>
8642
8643 * configure.ac: Rename configure.in, require autoconf 2.59.
8644 * configure: Re-generate.
8645
434c4c77
DJ
86462004-12-08 Daniel Jacobowitz <dan@debian.org>
8647
8648 * acinclude.m4 (SRV_CHECK_THREAD_DB): Add ps_get_thread_area. Reset
8649 LIBS when finished.
8650 * aclocal.m4: Regenerated.
8651 * configure: Regenerated.
8652
db1d3e1b
AS
86532004-11-21 Andreas Schwab <schwab@suse.de>
8654
8655 * linux-m68k-low.c (m68k_num_gregs): Define.
8656 (m68k_fill_gregset, m68k_store_gregset, m68k_fill_fpregset)
8657 (m68k_store_fpregset, target_regsets) [HAVE_LINUX_REGSETS]: New.
8658 (m68k_breakpoint, m68k_breakpoint_len, m68k_get_pc, m68k_set_pc)
8659 (m68k_breakpoint_at): New. Add to the_low_target.
8660
8661 * configure.srv (m68*-*-linux*): Set srv_linux_regsets and
8662 srv_linux_thread_db to yes.
8663
43360365
JB
86642004-10-20 Joel Brobecker <brobecker@gnat.com>
8665
8666 * linux-x86-64-low.c (ARCH_SET_GS): Add definition if missing.
8667 (ARCH_SET_FS): Likewise.
8668 (ARCH_GET_FS): Likewise.
8669 (ARCH_GET_GS): Likewise.
8670
fd500816
DJ
86712004-10-16 Daniel Jacobowitz <dan@debian.org>
8672
8673 * linux-i386-low.c (ps_get_thread_area): New.
8674 * linux-x86-64-low.c (ps_get_thread_area): New.
8675 * linux-low.c: Include <sys/syscall.h>.
8676 (linux_kill_one_process): Don't kill the first thread here.
8677 (linux_kill): Kill the first thread here.
8678 (kill_lwp): New function.
8679 (send_sigstop, linux_send_signal): Use it.
8680 * proc-service.c: Clean up #ifdefs.
8681 (fpregset_info): Delete.
8682 (ps_lgetregs): Update and enable implementation.
8683 (ps_lsetregs, ps_lgetfpregs, ps_lsetfpregs): Remove disabled
8684 implementations.
8685 * remote-utils.c (struct sym_cache, symbol_cache): New.
8686 (input_interrupt): Print a clearer message.
8687 (async_io_enabled): New variable.
8688 (enable_async_io, disable_async_io): Use it. Update comments.
8689 (look_up_one_symbol): Use the symbol cache.
8690 * thread-db.c (thread_db_look_up_symbols): New function.
8691 (thread_db_init): Update comments. Call thread_db_look_up_symbols.
8692
f6de3c42
DJ
86932004-10-16 Daniel Jacobowitz <dan@debian.org>
8694
8695 * configure.in: Test for -rdynamic.
8696 * configure: Regenerated.
8697 * Makefile (INTERNAL_LDFLAGS): New.
8698 (gdbserver, gdbreplay): Use it.
8699
2c0fc042
AC
87002004-09-02 Andrew Cagney <cagney@gnu.org>
8701
8702 * Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE.
8703
075b3282
DJ
87042004-03-23 Daniel Jacobowitz <drow@mvista.com>
8705
8706 * linux-low.c (linux_wait): Clear all_processes list also.
8707
fa6a77dc
DJ
87082004-03-12 Daniel Jacobowitz <drow@mvista.com>
8709
8710 * linux-low.c: Include <errno.h>. Remove extern declaration of
8711 errno.
8712
6d782a97
DJ
87132004-03-12 Daniel Jacobowitz <drow@mvista.com>
8714
8715 * gdbreplay.c, server.h, utils.c: Update copyright years.
8716
3a7fb99b
DJ
87172004-03-04 Nathan J. Williams <nathanw@wasabisystems.com>
8718
8719 * server.c (main): Print child status or termination signal from
8720 variable 'signal', not 'sig'.
8721
c3e735a6
DJ
87222004-03-04 Nathan J. Williams <nathanw@wasabisystems.com>
8723
8724 * linux-low.c (linux_read_memory): Change return type to
8725 int. Check for and return error from ptrace().
8726 * target.c (read_inferior_memory): Change return type to int. Pass
8727 back return status from the_target->read_memory().
8728 * target.h (struct target_ops): Adapt *read_memory() prototype.
8729 Update comment.
8730 (read_inferior_memory): Adapt prototype.
8731 * server.c (main): Return an error packet if
8732 read_inferior_memory() returns an error.
8733
a59d1c82
DJ
87342004-03-04 Daniel Jacobowitz <drow@mvista.com>
8735
8736 * Makefile.in (distclean): Remove config.h, stamp-h, and config.log.
8737 Unify with other clean targets.
8738
dc3f8883
DJ
87392004-02-29 Daniel Jacobowitz <drow@mvista.com>
8740
8741 * server.c (handle_v_cont): Call set_desired_inferior.
8742
89a208da
DJ
87432004-02-29 Daniel Jacobowitz <drow@mvista.com>
8744
8745 * remote-utils.c (prepare_resume_reply): Always supply "thread:".
8746
62ea82f5
DJ
87472004-02-29 Daniel Jacobowitz <drow@mvista.com>
8748
8749 * linux-low.c (linux_wait): Unblock async I/O.
8750 (linux_resume): Block and enable async I/O.
8751 * remote-utils.c (block_async_io, unblock_async_io): New functions.
8752 * server.h (block_async_io, unblock_async_io): Add prototypes.
8753
6910d122
DJ
87542004-02-29 Daniel Jacobowitz <drow@mvista.com>
8755
8756 * remote-utils.c (remote_open): Print a status notice after
8757 opening a TCP port.
8758 * server.c (attach_inferior): Print a status notice after
8759 attaching.
8760
87612004-02-29 Daniel Jacobowitz <drow@mvista.com>
d677d77d
DJ
8762
8763 * linux-arm-low.c (arm_get_pc): Print out stop PC in debug mode.
8764
c89dc5d4
DJ
87652004-02-26 Daniel Jacobowitz <drow@mvista.com>
8766
8767 * remote-utils.c (write_enn): Use "E01" instead of "ENN" for the
8768 error packet.
8769 * server.c, target.h: Update copyright years.
8770
4b8dad4a
RM
87712004-02-25 Roland McGrath <roland@redhat.com>
8772
8773 * target.h (struct target_ops): New member `read_auxv'.
8774 * server.c (handle_query): Handle qPart:auxv:read: query using that.
8775 * linux-low.c (linux_read_auxv): New function.
8776 (linux_target_ops): Initialize `read_auxv' member to that.
8777
d7446758
JB
87782004-02-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8779
8780 Committed by Jim Blandy <jimb@redhat.com>.
8781
8782 * linux-s390-low.c (s390_num_regs): Update.
4b8dad4a 8783 (s390_regmap): Remove control registers. Use __s390x__ predefine
d7446758
JB
8784 instead of GPR_SIZE to distiguish s390 and s390x targets.
8785
5544ad89
DJ
87862004-01-31 Daniel Jacobowitz <drow@mvista.com>
8787
8788 * linux-low.c: Update copyright year.
8789 (check_removed_breakpoint): Clear pending_is_breakpoint.
8790 (linux_set_resume_request, linux_queue_one_thread)
8791 (resume_status_pending_p): New functions.
8792 (linux_continue_one_thread): Use process->resume.
8793 (linux_resume): Only resume threads if there are no pending events.
8794 * linux-low.h (struct process_info): Add resume request
8795 pointer.
8796
2a68b70e
DJ
87972004-01-30 Daniel Jacobowitz <drow@mvista.com>
8798
8799 * regcache.c (new_register_cache): Clear the allocated register
8800 buffer. Suggested by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.
8801
64386c31
DJ
88022003-10-13 Daniel Jacobowitz <drow@mvista.com>
8803
8804 * linux-low.c (linux_resume): Take a struct thread_resume *
8805 argument.
8806 (linux_wait): Update call.
8807 (resume_ptr): New static variable.
8808 (linux_continue_one_thread): Renamed from
8809 linux_continue_one_process. Use resume_ptr.
8810 (linux_resume): Use linux_continue_one_thread.
8811 * server.c (handle_v_cont, handle_v_requests): New functions.
8812 (myresume): New function.
8813 (main): Handle 'v' case.
8814 * target.h (struct thread_resume): New type.
8815 (struct target_ops): Change argument of "resume" to struct
8816 thread_resume *.
8817 (myresume): Delete macro.
8818
c938e9b0
L
88192003-08-08 H.J. Lu <hongjiu.lu@intel.com>
8820
8821 * Makefile.in (install-only): Create dest dir. Support DESTDIR.
8822 (uninstall): Support DESTDIR.
8823
7f313d07
BC
8824Mon Jul 21 20:09:34 UTC 2003 Brendan Conoboy <blc@redhat.com>
8825
8826 * configure.srv: Add xscale*linux copy of arm*linux entry.
8827
3b2fc2ea
DJ
88282003-07-24 Daniel Jacobowitz <drow@mvista.com>
8829
8830 * linux-arm-low.c (arm_reinsert_addr): New function.
8831 (the_low_target): Add arm_reinsert_addr.
8832
1c0a559e
MK
88332003-07-08 Mark Kettenis <kettenis@gnu.org>
8834
8835 * mem-break.c: Remove whitespace at end of file.
8836
43d5792c
DJ
88372003-06-28 Daniel Jacobowitz <drow@mvista.com>
8838
8839 * configure.in: Check whether we need to prototype strerror.
8840 * server.h: Optionally prototype strerror.
8841 * gdbreplay.c (perror_with_name): Use strerror.
8842 * linux-low.c (linux_attach_lwp): Use strerror.
8843 * utils.c (perror_with_name): Use strerror.
8844 * config.in, configure: Regenerated.
8845
c8a86edf
DJ
88462003-06-28 Daniel Jacobowitz <drow@mvista.com>
8847
8848 * linux-sh-low.c (sh_regmap): Fix FP register offsets, reported by
8849 SUGIOKA Toshinobu <sugioka@itonet.co.jp>.
8850
73d37363
DJ
88512003-06-20 Daniel Jacobowitz <drow@mvista.com>
8852
8853 * Makefile.in (SFILES): Update.
8854 * low-hppabsd.c, low-lynx.c, low-nbsd.c, low-sim.c, low-sparc.c,
8855 low-sun3.c: Remove files.
8856
6ad8ae5c
DJ
88572003-06-17 Daniel Jacobowitz <drow@mvista.com>
8858
8859 * linux-low.c: Move comment to linux_thread_alive where it belonged.
8860 (linux_detach_one_process, linux_detach): New functions.
8861 (linux_target_ops): Add linux_detach.
8862 * server.c (main): Handle 'D' packet.
8863 * target.h (struct target_ops): Add "detach" member.
8864 (detach_inferior): Define.
8865
1581182a
MK
88662003-06-13 Mark Kettenis <kettenis@gnu.org>
8867
8868 From Kelley Cook <kelleycook@wideopenwest.com>:
8869 * configure.srv: Accept i[34567]86 variants.
8870
e5379b03
DJ
88712003-06-05 Daniel Jacobowitz <drow@mvista.com>
8872
8873 * linux-low.c (linux_wait_for_event): Correct comment typos.
8874 (linux_resume_one_process): Call check_removed_breakpoint.
8875 (linux_send_signal): New function.
8876 (linux_target_ops): Add linux_send_signal.
8877 * remote-utils.c (putpkt, input_interrupt): Use send_signal instead
8878 of kill.
8879 * target.h (struct target_ops): Add send_signal.
8880
2ff29de4
JB
88812003-05-29 Jim Blandy <jimb@redhat.com>
8882
8883 * linux-low.c (usr_store_inferior_registers): Transfer buf in
8884 PTRACE_XFER_TYPE-sized chunks, not int-sized chunks. Otherwise,
8885 if 'int' is smaller than PTRACE_XFER_TYPE, you end up throwing
8886 away part of the register's value.
8887
254787d4
DJ
88882003-03-26 Daniel Jacobowitz <drow@mvista.com>
8889
8890 * linux-low.c (linux_create_inferior): Use __SIGRTMIN.
8891 (linux_wait_for_event, linux_init_signals): Likewise.
8892
94e10508
DJ
88932003-03-17 Daniel Jacobowitz <drow@mvista.com>
8894
8895 * configure.in: Check for stdlib.h.
8896 * configure: Regenerated.
8897 * config.in: Regenerated.
8898
4c0711e0
DJ
88992003-01-04 Andreas Schwab <schwab@suse.de>
8900
8901 * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31.
8902
ef66e766
AC
89032003-01-02 Andrew Cagney <ac131313@redhat.com>
8904
8905 * Makefile.in: Remove obsolete code.
8906
a1358604
DJ
89072002-11-20 Daniel Jacobowitz <drow@mvista.com>
8908
8909 * linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of
8910 defined(PT_FPR0_HI).
8911
23ce3b1c
DJ
89122002-11-17 Stuart Hughes <seh@zee2.com>
8913
8914 * linux-arm-low.c (arm_num_regs): Increase.
8915 (arm_regmap): Include status register.
8916
89172002-11-17 Daniel Jacobowitz <drow@mvista.com>
8918
8919 * linux-low.c (register_addr): Remove incorrect -1 check.
8920
a9fa9f7d
DJ
89212002-08-29 Daniel Jacobowitz <drow@mvista.com>
8922
8923 * linux-low.c (linux_create_inferior): Call setpgid. Return
8924 the new PID.
8925 (unstopped_p, linux_signal_pid): Remove.
8926 (linux_target_ops): Remove linux_signal_pid.
8927 * remote-utils.c (putpkt, input_interrupt): Use signal_pid
8928 global instead of target method.
8929 * target.h (struct target_ops): Remove signal_pid. Update comment
8930 for create_inferior.
8931 * server.c (signal_pid): New variable.
8932 (create_inferior): Set signal_pid. Block SIGTTOU and SIGTTIN in
4b8dad4a 8933 gdbserver. Set the child to be the foreground process group.
a9fa9f7d
DJ
8934 (attach_inferior): Set signal_pid.
8935
17574093
DJ
89362002-08-23 Daniel Jacobowitz <drow@mvista.com>
8937
8938 * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2.
8939
89402002-08-20 Jim Blandy <jimb@redhat.com>
8941
8942 * Makefile.in (LDFLAGS): Allow the configure script to establish a
8943 default for this.
8944
89452002-08-01 Andrew Cagney <cagney@redhat.com>
8946
8947 * Makefile.in: Make chill references obsolete.
8948
89492002-07-24 Kevin Buettner <kevinb@redhat.com>
8950
8951 * configure.in (unistd.h): Add to AC_CHECK_HEADERS list.
8952 * configure: Regenerate.
8953 * config.in: Regenerate.
8954
89552002-07-09 David O'Brien <obrien@FreeBSD.org>
8956
8957 * gdbreplay.c (stdlib.h, unistd.h): Conditionaly include.
8958 (perror_with_name, remote_close, remote_open, expect, play): Static.
8959
89602002-07-04 Michal Ludvig <mludvig@suse.cz>
8961
4b8dad4a 8962 * linux-x86-64-low.c (x86_64_regmap): Make it an array of
17574093
DJ
8963 byte offsets instead of an array of indexes.
8964 (x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.
8965
89662002-06-13 Daniel Jacobowitz <drow@mvista.com>
8967
8968 * regcache.c: Add comment.
8969
89702002-06-11 Daniel Jacobowitz <drow@mvista.com>
8971
8972 * thread-db.c: New file.
8973 * proc-service.c: New file.
8974 * acinclude.m4: New file.
8975 * Makefile.in: Add GDBSERVER_LIBS, gdb_proc_service_h,
8976 proc-service.o, and thread-db.o.
8977 (linux-low.o): Add USE_THREAD_DB.
8978 * acconfig.h: Add HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T,
8979 HAVE_LWPID_T, HAVE_PSADDR_T, and PRFPREGSET_T_BROKEN.
8980 * aclocal.m4: Regenerated.
8981 * config.in: Regenerated.
8982 * configure: Regenerated.
8983 * configure.in: Check for proc_service.h, sys/procfs.h,
8984 thread_db.h, and linux/elf.h headrs.
8985 Check for lwpid_t, psaddr_t, prgregset_t, prfpregset_t, and
8986 PRFPREGSET_T_BROKEN. Introduce srv_thread_depfiles and USE_THREAD_DB.
8987 Check for -lthread_db and thread support.
8988 * configure.srv: Enable thread_db support for ARM, i386, MIPS,
8989 PowerPC, and SuperH.
8990 * i387-fp.c: Constify arguments.
8991 * i387-fp.h: Likewise.
8992 * inferiors.c: (struct thread_info): Renamed from
8993 `struct inferior_info'. Remove PID member. Use generic inferior
8994 list header. All uses updated.
8995 (inferiors, signal_pid): Removed.
8996 (all_threads): New variable.
8997 (get_thread): Define.
8998 (add_inferior_to_list): New function.
8999 (for_each_inferior): New function.
9000 (change_inferior_id): New function.
9001 (add_inferior): Removed.
9002 (remove_inferior): New function.
9003 (add_thread): New function.
9004 (free_one_thread): New function.
9005 (remove_thread): New function.
9006 (clear_inferiors): Use for_each_inferior and free_one_thread.
9007 (find_inferior): New function.
9008 (find_inferior_id): New function.
9009 (inferior_target_data): Update argument type.
9010 (set_inferior_target_data): Likewise.
9011 (inferior_regcache_data): Likewise.
9012 (set_inferior_regcache_data): Likewise.
9013 * linux-low.c (linux_bp_reinsert): Remove.
9014 (all_processes, stopping_threads, using_thrads)
9015 (struct pending_signals, debug_threads, pid_of): New.
9016 (inferior_pid): Replace with macro.
9017 (struct inferior_linux_data): Remove.
9018 (get_stop_pc, add_process): New functions.
9019 (linux_create_inferior): Restore SIGRTMIN+1 before calling exec.
9020 Use add_process and add_thread.
9021 (linux_attach_lwp): New function, based on old linux_attach. Use
9022 add_process and add_thread. Set stop_expected for new threads.
9023 (linux_attach): New function.
9024 (linux_kill_one_process): New function.
9025 (linux_kill): Kill all LWPs.
9026 (linux_thread_alive): Use find_inferior_id.
9027 (check_removed_breakpoints, status_pending_p): New functions.
9028 (linux_wait_for_process): Renamed from linux_wait_for_one_inferior.
9029 Update. Use WNOHANG. Wait for cloned processes also. Update process
9030 struct for the found process.
9031 (linux_wait_for_event): New function.
9032 (linux_wait): Use it. Support LWPs.
9033 (send_sigstop, wait_for_sigstop, stop_all_processes)
9034 (linux_resume_one_process, linux_continue_one_process): New functions.
9035 (linux_resume): Support LWPs.
9036 (REGISTER_RAW_SIZE): Remove.
9037 (fetch_register): Use register_size instead. Call supply_register.
9038 (usr_store_inferior_registers): Likewise. Call collect_register.
9039 Fix recursive case.
9040 (regsets_fetch_inferior_registers): Improve error message.
9041 (regsets_store_inferior_registers): Add debugging.
9042 (linux_look_up_symbols): Call thread_db_init if USE_THREAD_DB.
9043 (unstopped_p, linux_signal_pid): New functions.
9044 (linux_target_ops): Add linux_signal_pid.
9045 (linux_init_signals): New function.
9046 (initialize_low): Call it. Initialize using_threads.
9047 * regcache.c (inferior_regcache_data): Add valid
9048 flag.
9049 (get_regcache): Fetch registers lazily. Add fetch argument
9050 and update all callers.
9051 (regcache_invalidate_one, regcache_invalidate): New
9052 functions.
9053 (new_register_cache): Renamed from create_register_cache.
9054 Return the new regcache.
9055 (free_register_cache): Change argument to a void *.
9056 (registers_to_string, registers_from_string): Call get_regcache
9057 with fetch flag set.
9058 (register_data): Make static. Pass fetch flag to get_regcache.
9059 (supply_register): Call get_regcache with fetch flag clear.
9060 (collect_register): Call get_regcache with fetch flag set.
9061 (collect_register_as_string): New function.
9062 * regcache.h: Update.
9063 * remote-utils.c (putpkt): Flush after debug output and use
9064 stderr.
9065 Handle input interrupts while waiting for an ACK.
9066 (input_interrupt): Use signal_pid method.
9067 (getpkt): Flush after debug output and use stderr.
9068 (outreg): Use collect_register_as_string.
9069 (new_thread_notify, dead_thread_notify): New functions.
9070 (prepare_resume_reply): Check using_threads. Set thread_from_wait
9071 and general_thread.
9072 (look_up_one_symbol): Flush after debug output.
9073 * server.c (step_thread, server_waiting): New variables.
9074 (start_inferior): Don't use signal_pid. Update call to mywait.
9075 (attach_inferior): Update call to mywait.
9076 (handle_query): Handle qfThreadInfo and qsThreadInfo.
9077 (main): Don't fetch/store registers explicitly. Use
9078 set_desired_inferior. Support proposed ``Hs'' packet. Update
9079 calls to mywait.
9080 * server.h: Update.
9081 (struct inferior_list, struct_inferior_list_entry): New.
9082 * target.c (set_desired_inferior): New.
9083 (write_inferior_memory): Constify.
9084 (mywait): New function.
9085 * target.h: Update.
9086 (struct target_ops): New signal_pid method.
9087 (mywait): Removed macro, added prototype.
9088
9089 * linux-low.h (regset_func): Removed.
9090 (regset_fill_func, regset_store_func): New.
9091 (enum regset_type): New.
9092 (struct regset_info): Add type field. Use new operation types.
9093 (struct linux_target_ops): stop_pc renamed to get_pc.
9094 Add decr_pc_after_break and breakpoint_at.
9095 (get_process, get_thread_proess, get_process_thread)
9096 (strut process_info, all_processes, linux_attach_lwp)
9097 (thread_db_init): New.
9098
9099 * linux-arm-low.c (arm_get_pc, arm_set_pc,
9100 arm_breakpoint, arm_breakpoint_len, arm_breakpoint_at): New.
9101 (the_low_target): Add new members.
9102 * linux-i386-low.c (i386_store_gregset, i386_store_fpregset)
9103 (i386_store_fpxregset): Constify.
9104 (target_regsets): Add new kind identifier.
9105 (i386_get_pc): Renamed from i386_stop_pc. Simplify.
9106 (i386_set_pc): Add debugging.
9107 (i386_breakpoint_at): New function.
9108 (the_low_target): Add new members.
9109 * linux-mips-low.c (mips_get_pc, mips_set_pc)
9110 (mips_breakpoint, mips_breakpoint_len, mips_reinsert_addr)
9111 (mips_breakpoint_at): New.
9112 (the_low_target): Add new members.
9113 * linux-ppc-low.c (ppc_get_pc, ppc_set_pc)
9114 (ppc_breakpoint, ppc_breakpoint_len, ppc_breakpoint_at): New.
9115 (the_low_target): Add new members.
9116 * linux-sh-low.c (sh_get_pc, sh_set_pc)
9117 (sh_breakpoint, sh_breakpoint_len, sh_breakpoint_at): New.
9118 (the_low_target): Add new members.
9119 * linux-x86-64-low.c (target_regsets): Add new kind
9120 identifier.
9121
91222002-05-15 Daniel Jacobowitz <drow@mvista.com>
9123
9124 From Martin Pool <mbp@samba.org>:
9125 * server.c (gdbserver_usage): New function.
9126 (main): Call it.
9127
91282002-05-14 Daniel Jacobowitz <drow@mvista.com>
9129
9130 * mem-break.c (reinsert_breakpoint_by_bp): Correct typo
9131 stop_at -> stop_pc.
9132
91332002-05-04 Andrew Cagney <ac131313@redhat.com>
9134
9135 * Makefile.in: Remove obsolete code.
9136
91372002-04-24 Michal Ludvig <mludvig@suse.cz>
9138
9139 * linux-low.c (regsets_fetch_inferior_registers),
9140 (regsets_store_inferior_registers): Removed cast to int from
9141 ptrace() calls.
9142 * regcache.h: Added declaration of struct inferior_info.
9143
91442002-04-20 Daniel Jacobowitz <drow@mvista.com>
9145
9146 * inferiors.c (struct inferior_info): Add regcache_data.
9147 (add_inferior): Call create_register_cache.
9148 (clear_inferiors): Call free_register_cache.
9149 (inferior_regcache_data, set_inferior_regcache_data): New functions.
9150 * regcache.c (struct inferior_regcache_data): New.
9151 (registers): Remove.
9152 (get_regcache): New function.
9153 (create_register_cache, free_register_cache): New functions.
9154 (set_register_cache): Don't initialize the register cache here.
9155 (registers_to_string, registers_from_string, register_data): Call
9156 get_regcache.
9157 * regcache.h: Add prototypes.
9158 * server.h: Likewise.
9159
91602002-04-20 Daniel Jacobowitz <drow@mvista.com>
9161
9162 * mem-break.c: New file.
9163 * mem-break.h: New file.
9164 * Makefile.in: Add mem-break.o rule; update server.h
9165 dependencies.
9166 * inferiors.c (struct inferior_info): Add target_data
9167 member.
9168 (clear_inferiors): Free target_data member if set.
9169 (inferior_target_data, set_inferior_target_data): New functions.
9170 * linux-i386-low.c (i386_breakpoint, i386_breakpoint_len)
9171 (i386_stop_pc, i386_set_pc): New. Add to the_low_target.
9172 * linux-low.c (linux_bp_reinsert): New variable.
9173 (struct inferior_linux_data): New.
9174 (linux_create_inferior): Use set_inferior_target_data.
9175 (linux_attach): Likewise. Call add_inferior.
9176 (linux_wait_for_one_inferior): New function.
9177 (linux_wait): Call it.
9178 (linux_write_memory): Add const.
9179 (initialize_low): Call set_breakpoint_data.
9180 * linux-low.h (struct linux_target_ops): Add breakpoint
9181 handling members.
9182 * server.c (attach_inferior): Remove extra add_inferior
9183 call.
9184 * server.h: Include mem-break.h. Update inferior.c
9185 prototypes.
9186 * target.c (read_inferior_memory)
9187 (write_inferior_memory): New functions.
9188 * target.h (read_inferior_memory)
9189 (write_inferior_memory): Change macros to prototypes.
9190 (struct target_ops): Update comments. Add const to write_memory
9191 definition.
9192
91932002-04-11 Daniel Jacobowitz <drow@mvista.com>
9194
9195 * linux-low.c (usr_store_inferior_registers): Support
9196 registers which are allowed to fail to store.
9197 * linux-low.h (linux_target_ops): Likewise.
9198 * linux-ppc-low.c (ppc_regmap): Support FPSCR.
9199 (ppc_cannot_store_register): FPSCR may not be storable.
9200
92012002-04-09 Daniel Jacobowitz <drow@mvista.com>
9202
9203 * server.h: Include <string.h> if HAVE_STRING_H.
9204 * ChangeLog: Correct paths in last ChangeLog entry.
9205
92062002-04-09 Daniel Jacobowitz <drow@mvista.com>
9207
9208 * linux-low.h: Remove obsolete prototypes.
9209 (struct linux_target_ops): New.
9210 (extern the_low_target): New.
9211 * linux-low.c (num_regs, regmap): Remove declarations.
9212 (register_addr): Use the_low_target explicitly.
9213 (fetch_register): Likewise.
9214 (usr_fetch_inferior_registers): Likewise.
9215 (usr_store_inferior_registers): Likewise.
9216 * linux-arm-low.c (num_regs): Remove.
9217 (arm_num_regs): Define.
9218 (arm_regmap): Renamed from regmap, made static.
9219 (arm_cannot_fetch_register): Renamed from cannot_fetch_register,
9220 made static.
9221 (arm_cannot_store_register): Renamed from cannot_store_register,
9222 made static.
9223 (the_low_target): New.
9224 * linux-i386-low.c (num_regs): Remove.
9225 (i386_num_regs): Define.
9226 (i386_regmap): Renamed from regmap, made static.
9227 (i386_cannot_fetch_register): Renamed from cannot_fetch_register,
9228 made static.
9229 (i386_cannot_store_register): Renamed from cannot_store_register,
9230 made static.
9231 (the_low_target): New.
9232 * linux-ia64-low.c (num_regs): Remove.
9233 (ia64_num_regs): Define.
9234 (ia64_regmap): Renamed from regmap, made static.
9235 (ia64_cannot_fetch_register): Renamed from cannot_fetch_register,
9236 made static.
9237 (ia64_cannot_store_register): Renamed from cannot_store_register,
9238 made static.
9239 (the_low_target): New.
9240 * linux-m68k-low.c (num_regs): Remove.
9241 (m68k_num_regs): Define.
9242 (m68k_regmap): Renamed from regmap, made static.
9243 (m68k_cannot_fetch_register): Renamed from cannot_fetch_register,
9244 made static.
9245 (m68k_cannot_store_register): Renamed from cannot_store_register,
9246 made static.
9247 (the_low_target): New.
9248 * linux-mips-low.c (num_regs): Remove.
9249 (mips_num_regs): Define.
9250 (mips_regmap): Renamed from regmap, made static.
9251 (mips_cannot_fetch_register): Renamed from cannot_fetch_register,
9252 made static.
9253 (mips_cannot_store_register): Renamed from cannot_store_register,
9254 made static.
9255 (the_low_target): New.
9256 * linux-ppc-low.c (num_regs): Remove.
9257 (ppc_num_regs): Define.
9258 (ppc_regmap): Renamed from regmap, made static.
9259 (ppc_cannot_fetch_register): Renamed from cannot_fetch_register,
9260 made static.
9261 (ppc_cannot_store_register): Renamed from cannot_store_register,
9262 made static.
9263 (the_low_target): New.
9264 * linux-s390-low.c (num_regs): Remove.
9265 (s390_num_regs): Define.
9266 (s390_regmap): Renamed from regmap, made static.
9267 (s390_cannot_fetch_register): Renamed from cannot_fetch_register,
9268 made static.
9269 (s390_cannot_store_register): Renamed from cannot_store_register,
9270 made static.
9271 (the_low_target): New.
9272 * linux-sh-low.c (num_regs): Remove.
9273 (sh_num_regs): Define.
9274 (sh_regmap): Renamed from regmap, made static.
9275 (sh_cannot_fetch_register): Renamed from cannot_fetch_register,
9276 made static.
9277 (sh_cannot_store_register): Renamed from cannot_store_register,
9278 made static.
9279 (the_low_target): New.
9280 * linux-x86-64-low.c (x86_64_regmap): Renamed from regmap.
9281 (the_low_target): New.
9282
92832002-04-09 Daniel Jacobowitz <drow@mvista.com>
9284
9285 * Makefile.in: Add stamp-h target.
9286 * configure.in: Create stamp-h.
9287 * configure: Regenerated.
9288
92892002-04-09 Daniel Jacobowitz <drow@mvista.com>
9290
9291 * inferiors.c: New file.
9292 * target.c: New file.
9293 * target.h: New file.
9294 * Makefile.in: Add target.o and inferiors.o. Update
9295 dependencies.
9296 * linux-low.c (inferior_pid): New static variable,
9297 moved from server.c.
9298 (linux_create_inferior): Renamed from create_inferior.
9299 Call add_inferior. Return 0 on success instead of a PID.
9300 (linux_attach): Renamed from myattach.
9301 (linux_kill): Renamed from kill_inferior. Call clear_inferiors ().
9302 (linux_thread_alive): Renamed from mythread_alive.
9303 (linux_wait): Renamed from mywait. Call clear_inferiors () if the
9304 child dies.
9305 (linux_resume): Renamed from myresume. Add missing ``return 0''.
9306 (regsets_store_inferior_registers): Correct error message.
9307 Add missing ``return 0''.
9308 (linux_fetch_registers): Renamed from fetch_inferior_registers.
9309 (linux_store_registers): Renamed from store_inferior_registers.
9310 (linux_read_memory): Renamed from read_inferior_memory.
9311 (linux_write_memory): Renamed from write_inferior_memory.
9312 (linux_target_ops): New structure.
9313 (initialize_low): Call set_target_ops ().
9314 * remote-utils.c (unhexify): New function.
9315 (hexify): New function.
9316 (input_interrupt): Send signals to ``signal_pid''.
9317 * server.c (inferior_pid): Remove.
9318 (start_inferior): Update create_inferior call.
9319 (attach_inferior): Call add_inferior.
9320 (handle_query): New function.
9321 (main): Call handle_query for `q' packets.
9322 * server.h: Include "target.h". Remove obsolete prototypes.
9323 Add prototypes for "inferiors.c", "target.c", hexify, and unhexify.
9324
93252002-04-09 Daniel Jacobowitz <drow@mvista.com>
9326
9327 * Makefile.in: Add WARN_CFLAGS. Update configury
9328 dependencies.
9329 * configure.in: Check for <string.h>
9330 * configure: Regenerate.
9331 * config.in: Regenerate.
9332 * gdbreplay.c: Include needed system headers.
9333 (remote_open): Remove strchr prototype.
9334 * linux-low.h: Correct #ifdef to HAVE_LINUX_USRREGS.
9335 * regcache.c (supply_register): Change buf argument to const void *.
9336 (supply_register_by_name): Likewise.
9337 (collect_register): Change buf argument to void *.
9338 (collect_register_by_name): Likewise.
9339 * regcache.h: Add missing prototypes.
9340 * remote-utils.c: Include <arpa/inet.h> for inet_ntoa.
9341 * server.c (handle_query): New function.
9342 (attached): New static variable, moved out of main.
9343 (main): Quiet longjmp clobber warnings.
9344 * server.h: Add ATTR_NORETURN and ATTR_FORMAT. Update prototypes.
9345 * utils.c (error): Remove NORETURN.
9346 (fatal): Likewise.