aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver/ChangeLog
blob: e7ab6093235d2b451e98844ffddc57f53487cba8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
2002-08-29  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.c (linux_create_inferior): Call setpgid.  Return
	the new PID.
	(unstopped_p, linux_signal_pid): Remove.
	(linux_target_ops): Remove linux_signal_pid.
	* remote-utils.c (putpkt, input_interrupt): Use signal_pid
	global instead of target method.
	* target.h (struct target_ops): Remove signal_pid.  Update comment
	for create_inferior.
	* server.c (signal_pid): New variable.
	(create_inferior): Set signal_pid.  Block SIGTTOU and SIGTTIN in
	gdbserver.  Set the child to be the foreground process group. 
	(attach_inferior): Set signal_pid.

2002-08-23  Daniel Jacobowitz  <drow@mvista.com>

	* ChangeLog: New file, with entries from gdb/ChangeLog after GDB 5.2.

2002-08-20  Jim Blandy  <jimb@redhat.com>

	* Makefile.in (LDFLAGS): Allow the configure script to establish a
	default for this.

2002-08-01  Andrew Cagney  <cagney@redhat.com>

	* Makefile.in: Make chill references obsolete.

2002-07-24  Kevin Buettner  <kevinb@redhat.com>

	* configure.in (unistd.h): Add to AC_CHECK_HEADERS list.
	* configure: Regenerate.
	* config.in: Regenerate.

2002-07-09  David O'Brien  <obrien@FreeBSD.org>

	* gdbreplay.c (stdlib.h, unistd.h): Conditionaly include.
	(perror_with_name, remote_close, remote_open, expect, play): Static.

2002-07-04  Michal Ludvig  <mludvig@suse.cz>

	* linux-x86-64-low.c (x86_64_regmap): Make it an array of 
	byte offsets instead of an array of indexes.
	(x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.

2002-06-13  Daniel Jacobowitz  <drow@mvista.com>

	* regcache.c: Add comment.

2002-06-11  Daniel Jacobowitz  <drow@mvista.com>

	* thread-db.c: New file.
	* proc-service.c: New file.
	* acinclude.m4: New file.
	* Makefile.in: Add GDBSERVER_LIBS, gdb_proc_service_h,
	proc-service.o, and thread-db.o.
	(linux-low.o): Add USE_THREAD_DB.
	* acconfig.h: Add HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T,
	HAVE_LWPID_T, HAVE_PSADDR_T, and PRFPREGSET_T_BROKEN.
	* aclocal.m4: Regenerated.
	* config.in: Regenerated.
	* configure: Regenerated.
	* configure.in: Check for proc_service.h, sys/procfs.h,
	thread_db.h, and linux/elf.h headrs.
	Check for lwpid_t, psaddr_t, prgregset_t, prfpregset_t, and
	PRFPREGSET_T_BROKEN.  Introduce srv_thread_depfiles and USE_THREAD_DB.
	Check for -lthread_db and thread support.
	* configure.srv: Enable thread_db support for ARM, i386, MIPS,
	PowerPC, and SuperH.
	* i387-fp.c: Constify arguments.
	* i387-fp.h: Likewise.
	* inferiors.c: (struct thread_info): Renamed from
	`struct inferior_info'.  Remove PID member.  Use generic inferior
	list header.  All uses updated.
	(inferiors, signal_pid): Removed.
	(all_threads): New variable.
	(get_thread): Define.
	(add_inferior_to_list): New function.
	(for_each_inferior): New function.
	(change_inferior_id): New function.
	(add_inferior): Removed.
	(remove_inferior): New function.
	(add_thread): New function.
	(free_one_thread): New function.
	(remove_thread): New function.
	(clear_inferiors): Use for_each_inferior and free_one_thread.
	(find_inferior): New function.
	(find_inferior_id): New function.
	(inferior_target_data): Update argument type.
	(set_inferior_target_data): Likewise.
	(inferior_regcache_data): Likewise.
	(set_inferior_regcache_data): Likewise.
	* linux-low.c (linux_bp_reinsert): Remove.
	(all_processes, stopping_threads, using_thrads)
	(struct pending_signals, debug_threads, pid_of): New.
	(inferior_pid): Replace with macro.
	(struct inferior_linux_data): Remove.
	(get_stop_pc, add_process): New functions.
	(linux_create_inferior): Restore SIGRTMIN+1 before calling exec.
	Use add_process and add_thread.
	(linux_attach_lwp): New function, based on old linux_attach.  Use
	add_process and add_thread.  Set stop_expected for new threads.
	(linux_attach): New function.
	(linux_kill_one_process): New function.
	(linux_kill): Kill all LWPs.
	(linux_thread_alive): Use find_inferior_id.
	(check_removed_breakpoints, status_pending_p): New functions.
	(linux_wait_for_process): Renamed from linux_wait_for_one_inferior.
	Update.  Use WNOHANG.  Wait for cloned processes also.  Update process
	struct for the found process.
	(linux_wait_for_event): New function.
	(linux_wait): Use it.  Support LWPs.
	(send_sigstop, wait_for_sigstop, stop_all_processes)
	(linux_resume_one_process, linux_continue_one_process): New functions.
	(linux_resume): Support LWPs.
	(REGISTER_RAW_SIZE): Remove.
	(fetch_register): Use register_size instead.  Call supply_register.
	(usr_store_inferior_registers): Likewise.  Call collect_register.
	Fix recursive case.
	(regsets_fetch_inferior_registers): Improve error message.
	(regsets_store_inferior_registers): Add debugging.
	(linux_look_up_symbols): Call thread_db_init if USE_THREAD_DB.
	(unstopped_p, linux_signal_pid): New functions.
	(linux_target_ops): Add linux_signal_pid.
	(linux_init_signals): New function.
	(initialize_low): Call it.  Initialize using_threads.
	* regcache.c (inferior_regcache_data): Add valid
	flag.
	(get_regcache): Fetch registers lazily.  Add fetch argument
	and update all callers.
	(regcache_invalidate_one, regcache_invalidate): New
	functions.
	(new_register_cache): Renamed from create_register_cache.
	Return the new regcache.
	(free_register_cache): Change argument to a void *.
	(registers_to_string, registers_from_string): Call get_regcache
	with fetch flag set.
	(register_data): Make static.  Pass fetch flag to get_regcache.
	(supply_register): Call get_regcache with fetch flag clear.
	(collect_register): Call get_regcache with fetch flag set.
	(collect_register_as_string): New function.
	* regcache.h: Update.
	* remote-utils.c (putpkt): Flush after debug output and use
	stderr.
	Handle input interrupts while waiting for an ACK.
	(input_interrupt): Use signal_pid method.
	(getpkt): Flush after debug output and use stderr.
	(outreg): Use collect_register_as_string.
	(new_thread_notify, dead_thread_notify): New functions.
	(prepare_resume_reply): Check using_threads.  Set thread_from_wait
	and general_thread.
	(look_up_one_symbol): Flush after debug output.
	* server.c (step_thread, server_waiting): New variables.
	(start_inferior): Don't use signal_pid.  Update call to mywait.
	(attach_inferior): Update call to mywait.
	(handle_query): Handle qfThreadInfo and qsThreadInfo.
	(main): Don't fetch/store registers explicitly.  Use
	set_desired_inferior.  Support proposed ``Hs'' packet.  Update
	calls to mywait.
	* server.h: Update.
	(struct inferior_list, struct_inferior_list_entry): New.
	* target.c (set_desired_inferior): New.
	(write_inferior_memory): Constify.
	(mywait): New function.
	* target.h: Update.
	(struct target_ops): New signal_pid method.
	(mywait): Removed macro, added prototype.

	* linux-low.h (regset_func): Removed.
	(regset_fill_func, regset_store_func): New.
	(enum regset_type): New.
	(struct regset_info): Add type field.  Use new operation types.
	(struct linux_target_ops): stop_pc renamed to get_pc.
	Add decr_pc_after_break and breakpoint_at.
	(get_process, get_thread_proess, get_process_thread)
	(strut process_info, all_processes, linux_attach_lwp)
	(thread_db_init): New.

	* linux-arm-low.c (arm_get_pc, arm_set_pc,
	arm_breakpoint, arm_breakpoint_len, arm_breakpoint_at): New.
	(the_low_target): Add new members.
	* linux-i386-low.c (i386_store_gregset, i386_store_fpregset)
	(i386_store_fpxregset): Constify.
	(target_regsets): Add new kind identifier.
	(i386_get_pc): Renamed from i386_stop_pc.  Simplify.
	(i386_set_pc): Add debugging.
	(i386_breakpoint_at): New function.
	(the_low_target): Add new members.
	* linux-mips-low.c (mips_get_pc, mips_set_pc)
	(mips_breakpoint, mips_breakpoint_len, mips_reinsert_addr)
	(mips_breakpoint_at): New.
	(the_low_target): Add new members.
	* linux-ppc-low.c (ppc_get_pc, ppc_set_pc)
	(ppc_breakpoint, ppc_breakpoint_len, ppc_breakpoint_at): New.
	(the_low_target): Add new members.
	* linux-sh-low.c (sh_get_pc, sh_set_pc)
	(sh_breakpoint, sh_breakpoint_len, sh_breakpoint_at): New.
	(the_low_target): Add new members.
	* linux-x86-64-low.c (target_regsets): Add new kind
	identifier.

2002-05-15  Daniel Jacobowitz  <drow@mvista.com>

	From Martin Pool <mbp@samba.org>:
	* server.c (gdbserver_usage): New function.
	(main): Call it.

2002-05-14  Daniel Jacobowitz  <drow@mvista.com>

	* mem-break.c (reinsert_breakpoint_by_bp): Correct typo
	stop_at -> stop_pc.

2002-05-04  Andrew Cagney  <ac131313@redhat.com>

	* Makefile.in: Remove obsolete code.

2002-04-24  Michal Ludvig  <mludvig@suse.cz>

	* linux-low.c (regsets_fetch_inferior_registers),
	(regsets_store_inferior_registers): Removed cast to int from
	ptrace() calls.
	* regcache.h: Added declaration of struct inferior_info.

2002-04-20  Daniel Jacobowitz  <drow@mvista.com>

	* inferiors.c (struct inferior_info): Add regcache_data.
	(add_inferior): Call create_register_cache.
	(clear_inferiors): Call free_register_cache.
	(inferior_regcache_data, set_inferior_regcache_data): New functions.
	* regcache.c (struct inferior_regcache_data): New.
	(registers): Remove.
	(get_regcache): New function.
	(create_register_cache, free_register_cache): New functions.
	(set_register_cache): Don't initialize the register cache here.
	(registers_to_string, registers_from_string, register_data): Call
	get_regcache.
	* regcache.h: Add prototypes.
	* server.h: Likewise.

2002-04-20  Daniel Jacobowitz  <drow@mvista.com>

	* mem-break.c: New file.
	* mem-break.h: New file.
	* Makefile.in: Add mem-break.o rule; update server.h
	dependencies.
	* inferiors.c (struct inferior_info): Add target_data
	member.
	(clear_inferiors): Free target_data member if set.
	(inferior_target_data, set_inferior_target_data): New functions.
	* linux-i386-low.c (i386_breakpoint, i386_breakpoint_len)
	(i386_stop_pc, i386_set_pc): New.  Add to the_low_target.
	* linux-low.c (linux_bp_reinsert): New variable.
	(struct inferior_linux_data): New.
	(linux_create_inferior): Use set_inferior_target_data.
	(linux_attach): Likewise.  Call add_inferior.
	(linux_wait_for_one_inferior): New function.
	(linux_wait): Call it.
	(linux_write_memory): Add const.
	(initialize_low): Call set_breakpoint_data.
	* linux-low.h (struct linux_target_ops): Add breakpoint
	handling members.
	* server.c (attach_inferior): Remove extra add_inferior
	call.
	* server.h: Include mem-break.h.  Update inferior.c
	prototypes.
	* target.c (read_inferior_memory)
	(write_inferior_memory): New functions.
	* target.h (read_inferior_memory)
	(write_inferior_memory): Change macros to prototypes.
	(struct target_ops): Update comments.  Add const to write_memory
	definition.

2002-04-11  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.c (usr_store_inferior_registers): Support
	registers which are allowed to fail to store.
	* linux-low.h (linux_target_ops): Likewise.
	* linux-ppc-low.c (ppc_regmap): Support FPSCR.
	(ppc_cannot_store_register): FPSCR may not be storable.

2002-04-09  Daniel Jacobowitz  <drow@mvista.com>

	* server.h: Include <string.h> if HAVE_STRING_H.
	* ChangeLog: Correct paths in last ChangeLog entry.

2002-04-09  Daniel Jacobowitz  <drow@mvista.com>

	* linux-low.h: Remove obsolete prototypes.
	(struct linux_target_ops): New.
	(extern the_low_target): New.
	* linux-low.c (num_regs, regmap): Remove declarations.
	(register_addr): Use the_low_target explicitly.
	(fetch_register): Likewise.
	(usr_fetch_inferior_registers): Likewise.
	(usr_store_inferior_registers): Likewise.
	* linux-arm-low.c (num_regs): Remove.
	(arm_num_regs): Define.
	(arm_regmap): Renamed from regmap, made static.
	(arm_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(arm_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-i386-low.c (num_regs): Remove.
	(i386_num_regs): Define.
	(i386_regmap): Renamed from regmap, made static.
	(i386_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(i386_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-ia64-low.c (num_regs): Remove.
	(ia64_num_regs): Define.
	(ia64_regmap): Renamed from regmap, made static.
	(ia64_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(ia64_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-m68k-low.c (num_regs): Remove.
	(m68k_num_regs): Define.
	(m68k_regmap): Renamed from regmap, made static.
	(m68k_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(m68k_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-mips-low.c (num_regs): Remove.
	(mips_num_regs): Define.
	(mips_regmap): Renamed from regmap, made static.
	(mips_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(mips_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-ppc-low.c (num_regs): Remove.
	(ppc_num_regs): Define.
	(ppc_regmap): Renamed from regmap, made static.
	(ppc_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(ppc_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-s390-low.c (num_regs): Remove.
	(s390_num_regs): Define.
	(s390_regmap): Renamed from regmap, made static.
	(s390_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(s390_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-sh-low.c (num_regs): Remove.
	(sh_num_regs): Define.
	(sh_regmap): Renamed from regmap, made static.
	(sh_cannot_fetch_register): Renamed from cannot_fetch_register,
	made static.
	(sh_cannot_store_register): Renamed from cannot_store_register,
	made static.
	(the_low_target): New.
	* linux-x86-64-low.c (x86_64_regmap): Renamed from regmap.
	(the_low_target): New.

2002-04-09  Daniel Jacobowitz  <drow@mvista.com>

	* Makefile.in: Add stamp-h target.
	* configure.in: Create stamp-h.
	* configure: Regenerated.

2002-04-09  Daniel Jacobowitz  <drow@mvista.com>

	* inferiors.c: New file.
	* target.c: New file.
	* target.h: New file.
	* Makefile.in:  Add target.o and inferiors.o.  Update
	dependencies.
	* linux-low.c (inferior_pid): New static variable,
	moved from server.c.
	(linux_create_inferior): Renamed from create_inferior.
	Call add_inferior.  Return 0 on success instead of a PID.
	(linux_attach): Renamed from myattach.
	(linux_kill): Renamed from kill_inferior.  Call clear_inferiors ().
	(linux_thread_alive): Renamed from mythread_alive.
	(linux_wait): Renamed from mywait.  Call clear_inferiors () if the
	child dies.
	(linux_resume): Renamed from myresume.  Add missing ``return 0''.
	(regsets_store_inferior_registers): Correct error message.
	Add missing ``return 0''.
	(linux_fetch_registers): Renamed from fetch_inferior_registers.
	(linux_store_registers): Renamed from store_inferior_registers.
	(linux_read_memory): Renamed from read_inferior_memory.
	(linux_write_memory): Renamed from write_inferior_memory.
	(linux_target_ops): New structure.
	(initialize_low): Call set_target_ops ().
	* remote-utils.c (unhexify): New function.
	(hexify): New function.
	(input_interrupt): Send signals to ``signal_pid''.
	* server.c (inferior_pid): Remove.
	(start_inferior): Update create_inferior call.
	(attach_inferior): Call add_inferior.
	(handle_query): New function.
	(main): Call handle_query for `q' packets.
	* server.h: Include "target.h".  Remove obsolete prototypes.
	Add prototypes for "inferiors.c", "target.c", hexify, and unhexify.

2002-04-09  Daniel Jacobowitz  <drow@mvista.com>

	* Makefile.in: Add WARN_CFLAGS.  Update configury
	dependencies.
	* configure.in: Check for <string.h>
	* configure: Regenerate.
	* config.in: Regenerate.
	* gdbreplay.c: Include needed system headers.
	(remote_open): Remove strchr prototype.
	* linux-low.h: Correct #ifdef to HAVE_LINUX_USRREGS.
	* regcache.c (supply_register): Change buf argument to const void *.
	(supply_register_by_name): Likewise.
	(collect_register): Change buf argument to void *.
	(collect_register_by_name): Likewise.
	* regcache.h: Add missing prototypes.
	* remote-utils.c: Include <arpa/inet.h> for inet_ntoa.
	* server.c (handle_query): New function.
	(attached): New static variable, moved out of main.
	(main): Quiet longjmp clobber warnings.
	* server.h: Add ATTR_NORETURN and ATTR_FORMAT.  Update prototypes.
	* utils.c (error): Remove NORETURN.
	(fatal): Likewise.