* linux-low.c (linux_wait_for_event): Correct comment typos.
[binutils-gdb.git] / gdb / gdbserver / ChangeLog
1 2003-06-05 Daniel Jacobowitz <drow@mvista.com>
2
3 * linux-low.c (linux_wait_for_event): Correct comment typos.
4 (linux_resume_one_process): Call check_removed_breakpoint.
5 (linux_send_signal): New function.
6 (linux_target_ops): Add linux_send_signal.
7 * remote-utils.c (putpkt, input_interrupt): Use send_signal instead
8 of kill.
9 * target.h (struct target_ops): Add send_signal.
10
11 2003-05-29 Jim Blandy <jimb@redhat.com>
12
13 * linux-low.c (usr_store_inferior_registers): Transfer buf in
14 PTRACE_XFER_TYPE-sized chunks, not int-sized chunks. Otherwise,
15 if 'int' is smaller than PTRACE_XFER_TYPE, you end up throwing
16 away part of the register's value.
17
18 2003-04-24 Andrew Cagney <cagney@redhat.com>
19
20 * low-nbsd.c (fetch_inferior_registers):
21 (store_inferior_registers):
22
23 2003-03-26 Daniel Jacobowitz <drow@mvista.com>
24
25 * linux-low.c (linux_create_inferior): Use __SIGRTMIN.
26 (linux_wait_for_event, linux_init_signals): Likewise.
27
28 2003-03-17 Daniel Jacobowitz <drow@mvista.com>
29
30 * configure.in: Check for stdlib.h.
31 * configure: Regenerated.
32 * config.in: Regenerated.
33
34 2003-01-04 Andreas Schwab <schwab@suse.de>
35
36 * linux-m68k-low.c (m68k_num_regs): Define to 29 instead of 31.
37
38 2003-01-02 Andrew Cagney <ac131313@redhat.com>
39
40 * Makefile.in: Remove obsolete code.
41
42 2002-11-20 Daniel Jacobowitz <drow@mvista.com>
43
44 * linux-s390-low.c (s390_regmap): Check GPR_SIZE instead of
45 defined(PT_FPR0_HI).
46
47 2002-11-17 Stuart Hughes <seh@zee2.com>
48
49 * linux-arm-low.c (arm_num_regs): Increase.
50 (arm_regmap): Include status register.
51
52 2002-11-17 Daniel Jacobowitz <drow@mvista.com>
53
54 * linux-low.c (register_addr): Remove incorrect -1 check.
55
56 2002-08-29 Daniel Jacobowitz <drow@mvista.com>
57
58 * linux-low.c (linux_create_inferior): Call setpgid. Return
59 the new PID.
60 (unstopped_p, linux_signal_pid): Remove.
61 (linux_target_ops): Remove linux_signal_pid.
62 * remote-utils.c (putpkt, input_interrupt): Use signal_pid
63 global instead of target method.
64 * target.h (struct target_ops): Remove signal_pid. Update comment
65 for create_inferior.
66 * server.c (signal_pid): New variable.
67 (create_inferior): Set signal_pid. Block SIGTTOU and SIGTTIN in
68 gdbserver. Set the child to be the foreground process group.
69 (attach_inferior): Set signal_pid.
70
71 2002-08-23 Daniel Jacobowitz <drow@mvista.com>
72
73 * ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2.
74
75 2002-08-20 Jim Blandy <jimb@redhat.com>
76
77 * Makefile.in (LDFLAGS): Allow the configure script to establish a
78 default for this.
79
80 2002-08-01 Andrew Cagney <cagney@redhat.com>
81
82 * Makefile.in: Make chill references obsolete.
83
84 2002-07-24 Kevin Buettner <kevinb@redhat.com>
85
86 * configure.in (unistd.h): Add to AC_CHECK_HEADERS list.
87 * configure: Regenerate.
88 * config.in: Regenerate.
89
90 2002-07-09 David O'Brien <obrien@FreeBSD.org>
91
92 * gdbreplay.c (stdlib.h, unistd.h): Conditionaly include.
93 (perror_with_name, remote_close, remote_open, expect, play): Static.
94
95 2002-07-04 Michal Ludvig <mludvig@suse.cz>
96
97 * linux-x86-64-low.c (x86_64_regmap): Make it an array of
98 byte offsets instead of an array of indexes.
99 (x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.
100
101 2002-06-13 Daniel Jacobowitz <drow@mvista.com>
102
103 * regcache.c: Add comment.
104
105 2002-06-11 Daniel Jacobowitz <drow@mvista.com>
106
107 * thread-db.c: New file.
108 * proc-service.c: New file.
109 * acinclude.m4: New file.
110 * Makefile.in: Add GDBSERVER_LIBS, gdb_proc_service_h,
111 proc-service.o, and thread-db.o.
112 (linux-low.o): Add USE_THREAD_DB.
113 * acconfig.h: Add HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T,
114 HAVE_LWPID_T, HAVE_PSADDR_T, and PRFPREGSET_T_BROKEN.
115 * aclocal.m4: Regenerated.
116 * config.in: Regenerated.
117 * configure: Regenerated.
118 * configure.in: Check for proc_service.h, sys/procfs.h,
119 thread_db.h, and linux/elf.h headrs.
120 Check for lwpid_t, psaddr_t, prgregset_t, prfpregset_t, and
121 PRFPREGSET_T_BROKEN. Introduce srv_thread_depfiles and USE_THREAD_DB.
122 Check for -lthread_db and thread support.
123 * configure.srv: Enable thread_db support for ARM, i386, MIPS,
124 PowerPC, and SuperH.
125 * i387-fp.c: Constify arguments.
126 * i387-fp.h: Likewise.
127 * inferiors.c: (struct thread_info): Renamed from
128 `struct inferior_info'. Remove PID member. Use generic inferior
129 list header. All uses updated.
130 (inferiors, signal_pid): Removed.
131 (all_threads): New variable.
132 (get_thread): Define.
133 (add_inferior_to_list): New function.
134 (for_each_inferior): New function.
135 (change_inferior_id): New function.
136 (add_inferior): Removed.
137 (remove_inferior): New function.
138 (add_thread): New function.
139 (free_one_thread): New function.
140 (remove_thread): New function.
141 (clear_inferiors): Use for_each_inferior and free_one_thread.
142 (find_inferior): New function.
143 (find_inferior_id): New function.
144 (inferior_target_data): Update argument type.
145 (set_inferior_target_data): Likewise.
146 (inferior_regcache_data): Likewise.
147 (set_inferior_regcache_data): Likewise.
148 * linux-low.c (linux_bp_reinsert): Remove.
149 (all_processes, stopping_threads, using_thrads)
150 (struct pending_signals, debug_threads, pid_of): New.
151 (inferior_pid): Replace with macro.
152 (struct inferior_linux_data): Remove.
153 (get_stop_pc, add_process): New functions.
154 (linux_create_inferior): Restore SIGRTMIN+1 before calling exec.
155 Use add_process and add_thread.
156 (linux_attach_lwp): New function, based on old linux_attach. Use
157 add_process and add_thread. Set stop_expected for new threads.
158 (linux_attach): New function.
159 (linux_kill_one_process): New function.
160 (linux_kill): Kill all LWPs.
161 (linux_thread_alive): Use find_inferior_id.
162 (check_removed_breakpoints, status_pending_p): New functions.
163 (linux_wait_for_process): Renamed from linux_wait_for_one_inferior.
164 Update. Use WNOHANG. Wait for cloned processes also. Update process
165 struct for the found process.
166 (linux_wait_for_event): New function.
167 (linux_wait): Use it. Support LWPs.
168 (send_sigstop, wait_for_sigstop, stop_all_processes)
169 (linux_resume_one_process, linux_continue_one_process): New functions.
170 (linux_resume): Support LWPs.
171 (REGISTER_RAW_SIZE): Remove.
172 (fetch_register): Use register_size instead. Call supply_register.
173 (usr_store_inferior_registers): Likewise. Call collect_register.
174 Fix recursive case.
175 (regsets_fetch_inferior_registers): Improve error message.
176 (regsets_store_inferior_registers): Add debugging.
177 (linux_look_up_symbols): Call thread_db_init if USE_THREAD_DB.
178 (unstopped_p, linux_signal_pid): New functions.
179 (linux_target_ops): Add linux_signal_pid.
180 (linux_init_signals): New function.
181 (initialize_low): Call it. Initialize using_threads.
182 * regcache.c (inferior_regcache_data): Add valid
183 flag.
184 (get_regcache): Fetch registers lazily. Add fetch argument
185 and update all callers.
186 (regcache_invalidate_one, regcache_invalidate): New
187 functions.
188 (new_register_cache): Renamed from create_register_cache.
189 Return the new regcache.
190 (free_register_cache): Change argument to a void *.
191 (registers_to_string, registers_from_string): Call get_regcache
192 with fetch flag set.
193 (register_data): Make static. Pass fetch flag to get_regcache.
194 (supply_register): Call get_regcache with fetch flag clear.
195 (collect_register): Call get_regcache with fetch flag set.
196 (collect_register_as_string): New function.
197 * regcache.h: Update.
198 * remote-utils.c (putpkt): Flush after debug output and use
199 stderr.
200 Handle input interrupts while waiting for an ACK.
201 (input_interrupt): Use signal_pid method.
202 (getpkt): Flush after debug output and use stderr.
203 (outreg): Use collect_register_as_string.
204 (new_thread_notify, dead_thread_notify): New functions.
205 (prepare_resume_reply): Check using_threads. Set thread_from_wait
206 and general_thread.
207 (look_up_one_symbol): Flush after debug output.
208 * server.c (step_thread, server_waiting): New variables.
209 (start_inferior): Don't use signal_pid. Update call to mywait.
210 (attach_inferior): Update call to mywait.
211 (handle_query): Handle qfThreadInfo and qsThreadInfo.
212 (main): Don't fetch/store registers explicitly. Use
213 set_desired_inferior. Support proposed ``Hs'' packet. Update
214 calls to mywait.
215 * server.h: Update.
216 (struct inferior_list, struct_inferior_list_entry): New.
217 * target.c (set_desired_inferior): New.
218 (write_inferior_memory): Constify.
219 (mywait): New function.
220 * target.h: Update.
221 (struct target_ops): New signal_pid method.
222 (mywait): Removed macro, added prototype.
223
224 * linux-low.h (regset_func): Removed.
225 (regset_fill_func, regset_store_func): New.
226 (enum regset_type): New.
227 (struct regset_info): Add type field. Use new operation types.
228 (struct linux_target_ops): stop_pc renamed to get_pc.
229 Add decr_pc_after_break and breakpoint_at.
230 (get_process, get_thread_proess, get_process_thread)
231 (strut process_info, all_processes, linux_attach_lwp)
232 (thread_db_init): New.
233
234 * linux-arm-low.c (arm_get_pc, arm_set_pc,
235 arm_breakpoint, arm_breakpoint_len, arm_breakpoint_at): New.
236 (the_low_target): Add new members.
237 * linux-i386-low.c (i386_store_gregset, i386_store_fpregset)
238 (i386_store_fpxregset): Constify.
239 (target_regsets): Add new kind identifier.
240 (i386_get_pc): Renamed from i386_stop_pc. Simplify.
241 (i386_set_pc): Add debugging.
242 (i386_breakpoint_at): New function.
243 (the_low_target): Add new members.
244 * linux-mips-low.c (mips_get_pc, mips_set_pc)
245 (mips_breakpoint, mips_breakpoint_len, mips_reinsert_addr)
246 (mips_breakpoint_at): New.
247 (the_low_target): Add new members.
248 * linux-ppc-low.c (ppc_get_pc, ppc_set_pc)
249 (ppc_breakpoint, ppc_breakpoint_len, ppc_breakpoint_at): New.
250 (the_low_target): Add new members.
251 * linux-sh-low.c (sh_get_pc, sh_set_pc)
252 (sh_breakpoint, sh_breakpoint_len, sh_breakpoint_at): New.
253 (the_low_target): Add new members.
254 * linux-x86-64-low.c (target_regsets): Add new kind
255 identifier.
256
257 2002-05-15 Daniel Jacobowitz <drow@mvista.com>
258
259 From Martin Pool <mbp@samba.org>:
260 * server.c (gdbserver_usage): New function.
261 (main): Call it.
262
263 2002-05-14 Daniel Jacobowitz <drow@mvista.com>
264
265 * mem-break.c (reinsert_breakpoint_by_bp): Correct typo
266 stop_at -> stop_pc.
267
268 2002-05-04 Andrew Cagney <ac131313@redhat.com>
269
270 * Makefile.in: Remove obsolete code.
271
272 2002-04-24 Michal Ludvig <mludvig@suse.cz>
273
274 * linux-low.c (regsets_fetch_inferior_registers),
275 (regsets_store_inferior_registers): Removed cast to int from
276 ptrace() calls.
277 * regcache.h: Added declaration of struct inferior_info.
278
279 2002-04-20 Daniel Jacobowitz <drow@mvista.com>
280
281 * inferiors.c (struct inferior_info): Add regcache_data.
282 (add_inferior): Call create_register_cache.
283 (clear_inferiors): Call free_register_cache.
284 (inferior_regcache_data, set_inferior_regcache_data): New functions.
285 * regcache.c (struct inferior_regcache_data): New.
286 (registers): Remove.
287 (get_regcache): New function.
288 (create_register_cache, free_register_cache): New functions.
289 (set_register_cache): Don't initialize the register cache here.
290 (registers_to_string, registers_from_string, register_data): Call
291 get_regcache.
292 * regcache.h: Add prototypes.
293 * server.h: Likewise.
294
295 2002-04-20 Daniel Jacobowitz <drow@mvista.com>
296
297 * mem-break.c: New file.
298 * mem-break.h: New file.
299 * Makefile.in: Add mem-break.o rule; update server.h
300 dependencies.
301 * inferiors.c (struct inferior_info): Add target_data
302 member.
303 (clear_inferiors): Free target_data member if set.
304 (inferior_target_data, set_inferior_target_data): New functions.
305 * linux-i386-low.c (i386_breakpoint, i386_breakpoint_len)
306 (i386_stop_pc, i386_set_pc): New. Add to the_low_target.
307 * linux-low.c (linux_bp_reinsert): New variable.
308 (struct inferior_linux_data): New.
309 (linux_create_inferior): Use set_inferior_target_data.
310 (linux_attach): Likewise. Call add_inferior.
311 (linux_wait_for_one_inferior): New function.
312 (linux_wait): Call it.
313 (linux_write_memory): Add const.
314 (initialize_low): Call set_breakpoint_data.
315 * linux-low.h (struct linux_target_ops): Add breakpoint
316 handling members.
317 * server.c (attach_inferior): Remove extra add_inferior
318 call.
319 * server.h: Include mem-break.h. Update inferior.c
320 prototypes.
321 * target.c (read_inferior_memory)
322 (write_inferior_memory): New functions.
323 * target.h (read_inferior_memory)
324 (write_inferior_memory): Change macros to prototypes.
325 (struct target_ops): Update comments. Add const to write_memory
326 definition.
327
328 2002-04-11 Daniel Jacobowitz <drow@mvista.com>
329
330 * linux-low.c (usr_store_inferior_registers): Support
331 registers which are allowed to fail to store.
332 * linux-low.h (linux_target_ops): Likewise.
333 * linux-ppc-low.c (ppc_regmap): Support FPSCR.
334 (ppc_cannot_store_register): FPSCR may not be storable.
335
336 2002-04-09 Daniel Jacobowitz <drow@mvista.com>
337
338 * server.h: Include <string.h> if HAVE_STRING_H.
339 * ChangeLog: Correct paths in last ChangeLog entry.
340
341 2002-04-09 Daniel Jacobowitz <drow@mvista.com>
342
343 * linux-low.h: Remove obsolete prototypes.
344 (struct linux_target_ops): New.
345 (extern the_low_target): New.
346 * linux-low.c (num_regs, regmap): Remove declarations.
347 (register_addr): Use the_low_target explicitly.
348 (fetch_register): Likewise.
349 (usr_fetch_inferior_registers): Likewise.
350 (usr_store_inferior_registers): Likewise.
351 * linux-arm-low.c (num_regs): Remove.
352 (arm_num_regs): Define.
353 (arm_regmap): Renamed from regmap, made static.
354 (arm_cannot_fetch_register): Renamed from cannot_fetch_register,
355 made static.
356 (arm_cannot_store_register): Renamed from cannot_store_register,
357 made static.
358 (the_low_target): New.
359 * linux-i386-low.c (num_regs): Remove.
360 (i386_num_regs): Define.
361 (i386_regmap): Renamed from regmap, made static.
362 (i386_cannot_fetch_register): Renamed from cannot_fetch_register,
363 made static.
364 (i386_cannot_store_register): Renamed from cannot_store_register,
365 made static.
366 (the_low_target): New.
367 * linux-ia64-low.c (num_regs): Remove.
368 (ia64_num_regs): Define.
369 (ia64_regmap): Renamed from regmap, made static.
370 (ia64_cannot_fetch_register): Renamed from cannot_fetch_register,
371 made static.
372 (ia64_cannot_store_register): Renamed from cannot_store_register,
373 made static.
374 (the_low_target): New.
375 * linux-m68k-low.c (num_regs): Remove.
376 (m68k_num_regs): Define.
377 (m68k_regmap): Renamed from regmap, made static.
378 (m68k_cannot_fetch_register): Renamed from cannot_fetch_register,
379 made static.
380 (m68k_cannot_store_register): Renamed from cannot_store_register,
381 made static.
382 (the_low_target): New.
383 * linux-mips-low.c (num_regs): Remove.
384 (mips_num_regs): Define.
385 (mips_regmap): Renamed from regmap, made static.
386 (mips_cannot_fetch_register): Renamed from cannot_fetch_register,
387 made static.
388 (mips_cannot_store_register): Renamed from cannot_store_register,
389 made static.
390 (the_low_target): New.
391 * linux-ppc-low.c (num_regs): Remove.
392 (ppc_num_regs): Define.
393 (ppc_regmap): Renamed from regmap, made static.
394 (ppc_cannot_fetch_register): Renamed from cannot_fetch_register,
395 made static.
396 (ppc_cannot_store_register): Renamed from cannot_store_register,
397 made static.
398 (the_low_target): New.
399 * linux-s390-low.c (num_regs): Remove.
400 (s390_num_regs): Define.
401 (s390_regmap): Renamed from regmap, made static.
402 (s390_cannot_fetch_register): Renamed from cannot_fetch_register,
403 made static.
404 (s390_cannot_store_register): Renamed from cannot_store_register,
405 made static.
406 (the_low_target): New.
407 * linux-sh-low.c (num_regs): Remove.
408 (sh_num_regs): Define.
409 (sh_regmap): Renamed from regmap, made static.
410 (sh_cannot_fetch_register): Renamed from cannot_fetch_register,
411 made static.
412 (sh_cannot_store_register): Renamed from cannot_store_register,
413 made static.
414 (the_low_target): New.
415 * linux-x86-64-low.c (x86_64_regmap): Renamed from regmap.
416 (the_low_target): New.
417
418 2002-04-09 Daniel Jacobowitz <drow@mvista.com>
419
420 * Makefile.in: Add stamp-h target.
421 * configure.in: Create stamp-h.
422 * configure: Regenerated.
423
424 2002-04-09 Daniel Jacobowitz <drow@mvista.com>
425
426 * inferiors.c: New file.
427 * target.c: New file.
428 * target.h: New file.
429 * Makefile.in: Add target.o and inferiors.o. Update
430 dependencies.
431 * linux-low.c (inferior_pid): New static variable,
432 moved from server.c.
433 (linux_create_inferior): Renamed from create_inferior.
434 Call add_inferior. Return 0 on success instead of a PID.
435 (linux_attach): Renamed from myattach.
436 (linux_kill): Renamed from kill_inferior. Call clear_inferiors ().
437 (linux_thread_alive): Renamed from mythread_alive.
438 (linux_wait): Renamed from mywait. Call clear_inferiors () if the
439 child dies.
440 (linux_resume): Renamed from myresume. Add missing ``return 0''.
441 (regsets_store_inferior_registers): Correct error message.
442 Add missing ``return 0''.
443 (linux_fetch_registers): Renamed from fetch_inferior_registers.
444 (linux_store_registers): Renamed from store_inferior_registers.
445 (linux_read_memory): Renamed from read_inferior_memory.
446 (linux_write_memory): Renamed from write_inferior_memory.
447 (linux_target_ops): New structure.
448 (initialize_low): Call set_target_ops ().
449 * remote-utils.c (unhexify): New function.
450 (hexify): New function.
451 (input_interrupt): Send signals to ``signal_pid''.
452 * server.c (inferior_pid): Remove.
453 (start_inferior): Update create_inferior call.
454 (attach_inferior): Call add_inferior.
455 (handle_query): New function.
456 (main): Call handle_query for `q' packets.
457 * server.h: Include "target.h". Remove obsolete prototypes.
458 Add prototypes for "inferiors.c", "target.c", hexify, and unhexify.
459
460 2002-04-09 Daniel Jacobowitz <drow@mvista.com>
461
462 * Makefile.in: Add WARN_CFLAGS. Update configury
463 dependencies.
464 * configure.in: Check for <string.h>
465 * configure: Regenerate.
466 * config.in: Regenerate.
467 * gdbreplay.c: Include needed system headers.
468 (remote_open): Remove strchr prototype.
469 * linux-low.h: Correct #ifdef to HAVE_LINUX_USRREGS.
470 * regcache.c (supply_register): Change buf argument to const void *.
471 (supply_register_by_name): Likewise.
472 (collect_register): Change buf argument to void *.
473 (collect_register_by_name): Likewise.
474 * regcache.h: Add missing prototypes.
475 * remote-utils.c: Include <arpa/inet.h> for inet_ntoa.
476 * server.c (handle_query): New function.
477 (attached): New static variable, moved out of main.
478 (main): Quiet longjmp clobber warnings.
479 * server.h: Add ATTR_NORETURN and ATTR_FORMAT. Update prototypes.
480 * utils.c (error): Remove NORETURN.
481 (fatal): Likewise.
482