summaryrefslogtreecommitdiff
path: root/gdb/ChangeLog
blob: c14c9c21866b4aba27e3697678b315a77714da95 (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
2006-09-25  Nick Roberts  <nickrob@snap.net.nz>

	* README.async: Add note about entering commands while target is
	running.

2006-09-18  Nick Roberts  <nickrob@snap.net.nz>

	* PROBLEMS.async, README.async: Update.

	* async-nat-inferior.c, async-nat-inferior.c, async-nat-sigthread.c:
	Copy code from Apple more carefully and remove redundant code

	* linux-nat.c (linux_nat_resume): Call to_resume method later.

	* inf-ptrace.c: Declare async_client_context as static here.

2006-09-16  Nick Roberts  <nickrob@snap.net.nz>

	* linux-nat.c (linux_nat_detach): Call init_lwp_list for
	asynchronous case too.
	(linux_test_for_tracefork): Don't leave zombie process.

	* infcall.c (call_function_by_hand): Destroy signal thread while
	synchronous and then recreate.

	* async-nat-inferior.h (struct gdb_inferior_status): Remove
	unused members.

	* async-nat-inferior.c: Don't set above deleted members.
	
	* inf-ptrace.c (inf_ptrace_him): Don't set above deleted members.
	(inf_ptrace_attach): Don't call gdb_inferior_destroy as it
	is called by gdb_create_inferior later. Merge async conditionals.
	(inf_ptrace_detach): Delete signal thread.

	* Makefile.in: Add new header dependencies.

2006-09-14  Nick Roberts  <nickrob@snap.net.nz>

	* gdb.mi/mi-cli.exp, gdb.mi/mi2-cli.exp: Update test to reflect
	change in cli_interpreter_exec.

	* async-nat-sigthread.c (gdb_signal_thread_debug),
	* async-nat-sigthread.h: Remove redundant gdb_signal_thread_debug.

	* i386-linux-nat.c (i386_linux_resume): Move async stuff for
	i386_linux_resume into linux_nat_resume in linux-nat.c.  This
	file is now the same as for mainline.

	* linux-nat.c (linux_nat_resume): Move async stuff from
	i386_linux_resume to here.
	(linux_nat_attach): Add initial process for sync too.

	* cli/cli-script.c (execute_control_command): Import stuff for
	breakpoint commands from Apple's code.

	* mi/mi-interp.c (mi_cmd_interpreter_exec): Remove out-of date
	comment.

	* mi/mi-main.c (mi_cmd_execute): Check for current_command_token.
	(mi_interpreter_exec_bp_cmd): New function (from Apple).

2006-09-12  Nick Roberts  <nickrob@snap.net.nz>

	* cli/cli-interp.c (cli_interpreter_exec): Revert to version in
	mainline but return exception_none.

2006-09-11  Nick Roberts  <nickrob@snap.net.nz>

	* async-nat-inferior.c (gdb_process_pending_event): Include lwp no
	in return value.

2006-09-05  Nick Roberts  <nickrob@snap.net.nz>

	* PROBLEMS.async: Update.

	* testsuite/gdb.mi/mi-async.exp: Add a new test for restarting
	inferior.

	* mi/mi-main.c: Replace last_async_command with
	current_command_token.  Rename previous_async_command to
	previous_command_token.
	(captured_mi_execute_command): Reset current_command_token to
	NULL when executing a CLI command.

	* cli/cli-interp.c (_initialize_cli_interp): Change interpreter
	names: console -> console-unquoted, console-quoted -> console
	for backward compatiblity.

	* async-nat-inferior.c: Remove declarations for
	standard_is_async_p standard_can_async_p.

2006-09-04  Nick Roberts  <nickrob@snap.net.nz>

	* mi/mi-main.c (captured_mi_execute_command): Give
	current_command_token a value.

	* exec.c (standard_async): Make it a no-op.
	(async_file_handler): Move to to inf-ptrace.c.
	(init_exec_ops): Move async_terminal target methods to...

	* inf-ptrace.c (inf_ptrace_target): ...here.  Add async methods.
	(inf_ptrace_async): New function (was old standard_async).

2006-09-04  Nick Roberts  <nickrob@snap.net.nz>

	* linux-nat.c (linux_nat_wait): Add inferior to LWP list for
	async too and include lwp no in return value.

	* testsuite/gdb.mi/mi-async.exp: New file.  Test asynchronous
	Machine Interface (MI) operations.

2006-09-02  Nick Roberts  <nickrob@snap.net.nz>
	
	* infrun.c (handle_inferior_event): Take terminal.

	* linux-nat.c (linux_nat_mourn_inferior): Destroy thread.
	Clear any pending events

	* inf-ptrace.c (inf_ptrace_attach): Destroy any existing thread.
	(inf_ptrace_mourn_inferior): Only wait if synchronous.
	
	* async-nat-inferior.c (gdb_inferior_destroy): Make global.

	* async-nat-inferior.h: Declare gdb_inferior_destroy and
	gdb_clear_pending_events here.

2006-09-01  Nick Roberts  <nickrob@snap.net.nz>

	* mi/gdb-mi.el (gdb-force-mode-line-update): New function.
	(gdbmi): Stop execution from tool bar with -exec-interrupt.
	(gdb-stopped-regexp): Generalise for other stopping reasons.
	(gud-gdbmi-marker-filter): Report execution status on modeline.

2006-08-31  Nick Roberts  <nickrob@snap.net.nz>

	* mi/gdb-mi.el: Update to Emacs 22.
	Numerous changes (prehistory).

	* Makefile.in (COMMON_OBS): Move async-nat-sigthread.o
	async-nat-sigthread.o to...
	 
	* config/i386/linux.mh (NATDEPFILES): ...here. 

	* async-nat-sigthread.c: Modify commentary at start.

	* async-nat-inferior.c: Modify commentary at start.
	Remove (duplicated/unnecessary?) remote functions.

2006-08-30  Nick Roberts  <nickrob@snap.net.nz>

	* main.c (captured_main): Condition --async option on ASYNC.

	* config/i386/nm-linux.h: Add ASYNC macro definition.

	* Makefile.in: Add link flag for pthread library...

	* config/i386/linux.mh (LOADLIBES): ...here.

2006-08-28  Nick Roberts  <nickrob@snap.net.nz>

	* nickrob-async-20060828-mergepoint.

2006-08-28  Nick Roberts  <nickrob@snap.net.nz>

	* linux-nat.c (linux_nat_attach, linux_nat_detach): Make attach/
	detach work asynchronously.

	* inf-ptrace.c (inf_ptrace_attach): Ditto.

	* infcmd.c (attach_command): Ditto.

	* inf-child.c (inf_child_target): Reset to_terminal_inferior/
	to_terminal_ours to synchronous methods.

	* async-nat-inferior.c (gdb_process_events): Don't poll for
	exceptions.
	(gdb_process_pending_event): Use pid_to_ptid.
	(gdb_inferior_reset): Remove last_thread component.

	* async-nat-inferior.h (struct gdb_inferior_status): Remove
	last_thread component.

2006-08-22  Nick Roberts  <nickrob@snap.net.nz>

	* inf-ptrace.c (inf_ptrace_wait):  Add extra argument.

2006-08-21  Nick Roberts  <nickrob@snap.net.nz>

	* Makefile.in (inf-ptrace.o): Add missing backslash.

	* linux-nat.c (linux_nat_wait): Commit the changes described but
	not committed on 2006-05-13.

	* inf-ptrace.c (inf_ptrace_target): Ditto.

2006-08-15  Nick Roberts  <nickrob@snap.net.nz>

	* version.in: Remove spurious " character.

	* Makefile.in: Commit the changes described but not committed
	on 2006-05-13.

2006-05-14  Nick Roberts  <nickrob@snap.net.nz>

	* mi/gdb-mi.el: Version that uses MI tokens insted of queuing.

2006-05-13  Nick Roberts  <nickrob@snap.net.nz>

	* main.c: (event_loop_p): Re-instate variable.
	(captured_main): Re-instate async/noasync option.
	(print_gdb_help): Describe option again.

	* exec.c(init_exec_ops): Only initialise async methods with async
	option.

	* inf-ptrace.c (inf_ptrace_him): Only create a signal thread with
	async option.

	* README.async, TODO.async, PROBLEMS.async: New files.

2006-05-13    Changes based on Apple GDB (CVS repository 5th Sept 2005)

	* async-nat-inferior.c, async-nat-inferior.h,
	* async-nat-sigthread.c, async-nat-sigthread.h: New files
	
	* linux-nat.c: Include async-nat-inferior.h.
	(linux_nat_wait): Add extra argument.  If target_can_async_p
	do something completely different.

	* interps.h (interp_set, interp_set_quiet): New externs.

	* interps.c (interp_set): Make asynchronous.
	(interp_set_quiet): Don't make static.
	(current_interp_command_loop): Call functions with new arguments.

	* target.h (target_wait): Add extra argument.
	(gdb_override_async, gdb_set_async_override) New externs.
	(target_can_async_p): Make conditional on gdb_override_async.

	* target.c (gdb_override_async): New variable.
	(gdb_set_async_override, do_restore_target_async_mask): 
	New functions.
	(debug_to_wait): Add extra argument.

	* linux-thread-db.c (thread_db_wait): Add extra argument.

	* wrapper.h (safe_execute_command): Declare structure.

	* top.c (*deprecated_target_wait_hook): Add extra argument.
	(read_command_file): Make asynchronous.

	* remote.c (remote_wait, remote_async_wait): Add extra argument.

	* infrun.c: Include event-top.h
	(wait_for_inferior, fetch_inferior_event): Add extra argument to
	target_wait.
	(proceed): Set target_executing = 0.
	(handle_inferior_event): Call async_disable_stdin if async.

	* inf-ptrace.c: Include inf-loop.h, async-nat-inferior.h.
	(inf_ptrace_him): Create a signal thread.
	(inf_ptrace_wait): Add extra argument to target_wait.

	* inf-loop.c (inferior_event_handler, complete_execution): 
	Changes for asynchronous operation (copied verbatim).

	* inf-child.c: Include async-nat-inferior.h.
	(inf_child_target): Use methods async_terminal_inferior
	and async_terminal_ours.

	* i386-linux-nat.c: Include inf-loop.h, async-nat-inferior.h.
	(i386_linux_resume): Call gdb_process_events and then
	async methods.

	* exec.c: Include event-loop.h, async-nat-inferior.h.
	(async_file_handler, standard_async, standard_is_async_p)
	(standard_can_async_p): New functions.
	(init_exec_ops): Initialise above methods.

	* event-top.h (cli_command_loop): Make argument void*.

	* event-top.c (display_gdb_prompt, async_enable_stdin)
	(async_disable_stdin, handle_sigint, async_request_quit)
	(gdb_setup_readline, _initialize_event_loop): 
	Changes for asynchronous operation (copied verbatim).
	(cli_command_loop): Make argument void*.

	* event-loop.h (gdb_client_data): Move typedef to defs.h.
	(gdb_create_event): Declare.
	(event_handler_func): Move typedef from event-loop.c.
	
	* event-loop.c (use_poll): Set to 0.
	(gdb_queue_event, gdb_create_event): New functions.
	(async_queue_event): Don't make static.
	(create_file_event): Use gdb_create_event.
	(gdb_event): Change component from int to void*.
	(process_event, handle_file_event, handle_timer_event):
	Change according to gdb_event.
	(event_handler_func): Move typedef to event-loop.c.

	* defs.h: (gdb_mi_run_status, event_loop_p): New externs.
	(gdb_client_data): Move typedef from event-loop.h.
	(*deprecated_command_loop_hook): Make argument void*.
	(*deprecated_target_wait_hook): Add argument.

	* cli-out.h (cli_quoted_out_new): Declare.

	* cli-out.c (cli_quoted_out_new): New function.
	Include mi/mi-console.h.

	* cli/cli-interp.c: Include inferior.h, mi/mi-console.h.
	(safe_execute_command): Make static.
	(cli_interpreter_resume, cli_interpreter_exec):
	Make asynchronous.
	(cli_quoted_interpreter_resume): New function.
	(_initialize_cli_interp): Add cli_command_loop to procs.
	Initialize the console-quoted interpreter.

	* tui/tui-hooks.c (tui_target_wait_hook): Add extra argument.

	* mi/mi-main.h (mi_dont_register_continuation)
	(current_command_token,  mi_interp, mi_interpreter_exec_continuation)
	(mi_continuation_arg): New externs.
	(mi_setup_continuation_arg): Declare.

	* mi/mi-interp.c (mi_interpreter_exec_continuation): 
	Move to mi-main.c
	(mi_cmd_interpreter_exec): Switch interpreters.  Make
	asynchronous.
	(mi1_command_loop, mi2_command_loop, mi3_command_loop): 
	Make argument void*.
	
	* mi/mi-main.c: Include wrapper.h.
	(struct mi_continuation_arg): New structure.
	(mi_interpreter_exec_continuation): Move from mi-interp.c.
	(mi_execute_async_cli_command)
	(mi_exec_async_cli_cmd_continuation): Make asynchronous.
	(mi_setup_continuation_arg): New function.

	* Makefile.in (async_nat_inferior_h, async_nat_sigthread_h): 
	New variables.
	(gdb$(EXEEXT), $(TUI)$(EXEEXT)): Link with libpthread.
	(async-nat-inferior.o, async-nat-sigthread.o): New rules.
	(COMMON_OBS): Add above object files.
	(exec.o, i386-linux-nat.o, inf-ptrace.o, linux-nat.o):
	Update dependencies.