Use std::string in memory_map_parsing_data
[deliverable/binutils-gdb.git] / gdb / target-delegates.c
CommitLineData
1101cb7b
TT
1/* THIS FILE IS GENERATED -*- buffer-read-only: t -*- */
2/* vi:set ro: */
3
4/* To regenerate this file, run:*/
5/* make-target-delegates target.h > target-delegates.c */
bebd3233
TT
6static void
7delegate_post_attach (struct target_ops *self, int arg1)
8{
9 self = self->beneath;
10 self->to_post_attach (self, arg1);
11}
12
13static void
14tdefault_post_attach (struct target_ops *self, int arg1)
15{
16}
17
a7068b60
TT
18static void
19debug_post_attach (struct target_ops *self, int arg1)
20{
21 fprintf_unfiltered (gdb_stdlog, "-> %s->to_post_attach (...)\n", debug_target.to_shortname);
22 debug_target.to_post_attach (&debug_target, arg1);
23 fprintf_unfiltered (gdb_stdlog, "<- %s->to_post_attach (", debug_target.to_shortname);
24 target_debug_print_struct_target_ops_p (&debug_target);
25 fputs_unfiltered (", ", gdb_stdlog);
26 target_debug_print_int (arg1);
27 fputs_unfiltered (")\n", gdb_stdlog);
28}
29
09da0d0a
TT
30static void
31delegate_detach (struct target_ops *self, const char *arg1, int arg2)
32{
33 self = self->beneath;
34 self->to_detach (self, arg1, arg2);
35}
36
37static void
38tdefault_detach (struct target_ops *self, const char *arg1, int arg2)
39{
40}
41
a7068b60
TT
42static void
43debug_detach (struct target_ops *self, const char *arg1, int arg2)
44{
45 fprintf_unfiltered (gdb_stdlog, "-> %s->to_detach (...)\n", debug_target.to_shortname);
46 debug_target.to_detach (&debug_target, arg1, arg2);
47 fprintf_unfiltered (gdb_stdlog, "<- %s->to_detach (", debug_target.to_shortname);
48 target_debug_print_struct_target_ops_p (&debug_target);
49 fputs_unfiltered (", ", gdb_stdlog);
50 target_debug_print_const_char_p (arg1);
51 fputs_unfiltered (", ", gdb_stdlog);
52 target_debug_print_int (arg2);
53 fputs_unfiltered (")\n", gdb_stdlog);
54}
55
86a0854a 56static void
fee354ee 57delegate_disconnect (struct target_ops *self, const char *arg1, int arg2)
86a0854a
TT
58{
59 self = self->beneath;
60 self->to_disconnect (self, arg1, arg2);
61}
62
63static void
fee354ee 64tdefault_disconnect (struct target_ops *self, const char *arg1, int arg2)
86a0854a
TT
65{
66 tcomplain ();
67}
68
a7068b60
TT
69static void
70debug_disconnect (struct target_ops *self, const char *arg1, int arg2)
71{
72 fprintf_unfiltered (gdb_stdlog, "-> %s->to_disconnect (...)\n", debug_target.to_shortname);
73 debug_target.to_disconnect (&debug_target, arg1, arg2);
74 fprintf_unfiltered (gdb_stdlog, "<- %s->to_disconnect (", debug_target.to_shortname);
75 target_debug_print_struct_target_ops_p (&debug_target);
76 fputs_unfiltered (", ", gdb_stdlog);
77 target_debug_print_const_char_p (arg1);
78 fputs_unfiltered (", ", gdb_stdlog);
79 target_debug_print_int (arg2);
80 fputs_unfiltered (")\n", gdb_stdlog);
81}
82
6b84065d
TT
83static void
84delegate_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
85{
86 self = self->beneath;
87 self->to_resume (self, arg1, arg2, arg3);
88}
89
90static void
91tdefault_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
92{
93 noprocess ();
94}
95
a7068b60
TT
96static void
97debug_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
98{
99 fprintf_unfiltered (gdb_stdlog, "-> %s->to_resume (...)\n", debug_target.to_shortname);
100 debug_target.to_resume (&debug_target, arg1, arg2, arg3);
101 fprintf_unfiltered (gdb_stdlog, "<- %s->to_resume (", debug_target.to_shortname);
102 target_debug_print_struct_target_ops_p (&debug_target);
103 fputs_unfiltered (", ", gdb_stdlog);
104 target_debug_print_ptid_t (arg1);
105 fputs_unfiltered (", ", gdb_stdlog);
106 target_debug_print_step (arg2);
107 fputs_unfiltered (", ", gdb_stdlog);
108 target_debug_print_enum_gdb_signal (arg3);
109 fputs_unfiltered (")\n", gdb_stdlog);
110}
111
85ad3aaf
PA
112static void
113delegate_commit_resume (struct target_ops *self)
114{
115 self = self->beneath;
116 self->to_commit_resume (self);
117}
118
119static void
120tdefault_commit_resume (struct target_ops *self)
121{
122}
123
124static void
125debug_commit_resume (struct target_ops *self)
126{
127 fprintf_unfiltered (gdb_stdlog, "-> %s->to_commit_resume (...)\n", debug_target.to_shortname);
128 debug_target.to_commit_resume (&debug_target);
129 fprintf_unfiltered (gdb_stdlog, "<- %s->to_commit_resume (", debug_target.to_shortname);
130 target_debug_print_struct_target_ops_p (&debug_target);
131 fputs_unfiltered (")\n", gdb_stdlog);
132}
133
6b84065d
TT
134static ptid_t
135delegate_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
136{
137 self = self->beneath;
138 return self->to_wait (self, arg1, arg2, arg3);
139}
140
a7068b60
TT
141static ptid_t
142debug_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
143{
144 ptid_t result;
145 fprintf_unfiltered (gdb_stdlog, "-> %s->to_wait (...)\n", debug_target.to_shortname);
146 result = debug_target.to_wait (&debug_target, arg1, arg2, arg3);
147 fprintf_unfiltered (gdb_stdlog, "<- %s->to_wait (", debug_target.to_shortname);
148 target_debug_print_struct_target_ops_p (&debug_target);
149 fputs_unfiltered (", ", gdb_stdlog);
150 target_debug_print_ptid_t (arg1);
151 fputs_unfiltered (", ", gdb_stdlog);
152 target_debug_print_struct_target_waitstatus_p (arg2);
153 fputs_unfiltered (", ", gdb_stdlog);
154 target_debug_print_options (arg3);
155 fputs_unfiltered (") = ", gdb_stdlog);
156 target_debug_print_ptid_t (result);
157 fputs_unfiltered ("\n", gdb_stdlog);
158 return result;
159}
160
ad5989bd
TT
161static void
162delegate_fetch_registers (struct target_ops *self, struct regcache *arg1, int arg2)
163{
164 self = self->beneath;
165 self->to_fetch_registers (self, arg1, arg2);
166}
167
168static void
169tdefault_fetch_registers (struct target_ops *self, struct regcache *arg1, int arg2)
170{
171}
172
a7068b60
TT
173static void
174debug_fetch_registers (struct target_ops *self, struct regcache *arg1, int arg2)
175{
176 fprintf_unfiltered (gdb_stdlog, "-> %s->to_fetch_registers (...)\n", debug_target.to_shortname);
177 debug_target.to_fetch_registers (&debug_target, arg1, arg2);
178 fprintf_unfiltered (gdb_stdlog, "<- %s->to_fetch_registers (", debug_target.to_shortname);
179 target_debug_print_struct_target_ops_p (&debug_target);
180 fputs_unfiltered (", ", gdb_stdlog);
181 target_debug_print_struct_regcache_p (arg1);
182 fputs_unfiltered (", ", gdb_stdlog);
183 target_debug_print_int (arg2);
184 fputs_unfiltered (")\n", gdb_stdlog);
185}
186
6b84065d
TT
187static void
188delegate_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
189{
190 self = self->beneath;
191 self->to_store_registers (self, arg1, arg2);
192}
193
194static void
195tdefault_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
196{
197 noprocess ();
198}
199
a7068b60
TT
200static void
201debug_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
202{
203 fprintf_unfiltered (gdb_stdlog, "-> %s->to_store_registers (...)\n", debug_target.to_shortname);
204 debug_target.to_store_registers (&debug_target, arg1, arg2);
205 fprintf_unfiltered (gdb_stdlog, "<- %s->to_store_registers (", debug_target.to_shortname);
206 target_debug_print_struct_target_ops_p (&debug_target);
207 fputs_unfiltered (", ", gdb_stdlog);
208 target_debug_print_struct_regcache_p (arg1);
209 fputs_unfiltered (", ", gdb_stdlog);
210 target_debug_print_int (arg2);
211 fputs_unfiltered (")\n", gdb_stdlog);
212}
213
6c628163
TT
214static void
215delegate_prepare_to_store (struct target_ops *self, struct regcache *arg1)
216{
217 self = self->beneath;
218 self->to_prepare_to_store (self, arg1);
219}
220
221static void
222tdefault_prepare_to_store (struct target_ops *self, struct regcache *arg1)
223{
224 noprocess ();
225}
226
a7068b60
TT
227static void
228debug_prepare_to_store (struct target_ops *self, struct regcache *arg1)
229{
230 fprintf_unfiltered (gdb_stdlog, "-> %s->to_prepare_to_store (...)\n", debug_target.to_shortname);
231 debug_target.to_prepare_to_store (&debug_target, arg1);
232 fprintf_unfiltered (gdb_stdlog, "<- %s->to_prepare_to_store (", debug_target.to_shortname);
233 target_debug_print_struct_target_ops_p (&debug_target);
234 fputs_unfiltered (", ", gdb_stdlog);
235 target_debug_print_struct_regcache_p (arg1);
236 fputs_unfiltered (")\n", gdb_stdlog);
237}
238
f86e59b2
TT
239static void
240delegate_files_info (struct target_ops *self)
241{
242 self = self->beneath;
243 self->to_files_info (self);
244}
245
246static void
247tdefault_files_info (struct target_ops *self)
248{
249}
250
a7068b60
TT
251static void
252debug_files_info (struct target_ops *self)
253{
254 fprintf_unfiltered (gdb_stdlog, "-> %s->to_files_info (...)\n", debug_target.to_shortname);
255 debug_target.to_files_info (&debug_target);
256 fprintf_unfiltered (gdb_stdlog, "<- %s->to_files_info (", debug_target.to_shortname);
257 target_debug_print_struct_target_ops_p (&debug_target);
258 fputs_unfiltered (")\n", gdb_stdlog);
259}
260
6b84065d
TT
261static int
262delegate_insert_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
263{
264 self = self->beneath;
265 return self->to_insert_breakpoint (self, arg1, arg2);
266}
267
a7068b60
TT
268static int
269debug_insert_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
270{
271 int result;
272 fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_breakpoint (...)\n", debug_target.to_shortname);
273 result = debug_target.to_insert_breakpoint (&debug_target, arg1, arg2);
274 fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_breakpoint (", debug_target.to_shortname);
275 target_debug_print_struct_target_ops_p (&debug_target);
276 fputs_unfiltered (", ", gdb_stdlog);
277 target_debug_print_struct_gdbarch_p (arg1);
278 fputs_unfiltered (", ", gdb_stdlog);
279 target_debug_print_struct_bp_target_info_p (arg2);
280 fputs_unfiltered (") = ", gdb_stdlog);
281 target_debug_print_int (result);
282 fputs_unfiltered ("\n", gdb_stdlog);
283 return result;
284}
285
6b84065d 286static int
73971819 287delegate_remove_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2, enum remove_bp_reason arg3)
6b84065d
TT
288{
289 self = self->beneath;
73971819 290 return self->to_remove_breakpoint (self, arg1, arg2, arg3);
6b84065d
TT
291}
292
a7068b60 293static int
73971819 294debug_remove_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2, enum remove_bp_reason arg3)
a7068b60
TT
295{
296 int result;
297 fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_breakpoint (...)\n", debug_target.to_shortname);
73971819 298 result = debug_target.to_remove_breakpoint (&debug_target, arg1, arg2, arg3);
a7068b60
TT
299 fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_breakpoint (", debug_target.to_shortname);
300 target_debug_print_struct_target_ops_p (&debug_target);
301 fputs_unfiltered (", ", gdb_stdlog);
302 target_debug_print_struct_gdbarch_p (arg1);
303 fputs_unfiltered (", ", gdb_stdlog);
304 target_debug_print_struct_bp_target_info_p (arg2);
73971819
PA
305 fputs_unfiltered (", ", gdb_stdlog);
306 target_debug_print_enum_remove_bp_reason (arg3);
a7068b60
TT
307 fputs_unfiltered (") = ", gdb_stdlog);
308 target_debug_print_int (result);
309 fputs_unfiltered ("\n", gdb_stdlog);
310 return result;
311}
312
1cf4d951
PA
313static int
314delegate_stopped_by_sw_breakpoint (struct target_ops *self)
315{
316 self = self->beneath;
317 return self->to_stopped_by_sw_breakpoint (self);
318}
319
320static int
321tdefault_stopped_by_sw_breakpoint (struct target_ops *self)
322{
323 return 0;
324}
325
326static int
327debug_stopped_by_sw_breakpoint (struct target_ops *self)
328{
329 int result;
330 fprintf_unfiltered (gdb_stdlog, "-> %s->to_stopped_by_sw_breakpoint (...)\n", debug_target.to_shortname);
331 result = debug_target.to_stopped_by_sw_breakpoint (&debug_target);
332 fprintf_unfiltered (gdb_stdlog, "<- %s->to_stopped_by_sw_breakpoint (", debug_target.to_shortname);
333 target_debug_print_struct_target_ops_p (&debug_target);
334 fputs_unfiltered (") = ", gdb_stdlog);
335 target_debug_print_int (result);
336 fputs_unfiltered ("\n", gdb_stdlog);
337 return result;
338}
339
340static int
341delegate_supports_stopped_by_sw_breakpoint (struct target_ops *self)
342{
343 self = self->beneath;
344 return self->to_supports_stopped_by_sw_breakpoint (self);
345}
346
347static int
348tdefault_supports_stopped_by_sw_breakpoint (struct target_ops *self)
349{
350 return 0;
351}
352
353static int
354debug_supports_stopped_by_sw_breakpoint (struct target_ops *self)
355{
356 int result;
357 fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_stopped_by_sw_breakpoint (...)\n", debug_target.to_shortname);
358 result = debug_target.to_supports_stopped_by_sw_breakpoint (&debug_target);
359 fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_stopped_by_sw_breakpoint (", debug_target.to_shortname);
360 target_debug_print_struct_target_ops_p (&debug_target);
361 fputs_unfiltered (") = ", gdb_stdlog);
362 target_debug_print_int (result);
363 fputs_unfiltered ("\n", gdb_stdlog);
364 return result;
365}
366
367static int
368delegate_stopped_by_hw_breakpoint (struct target_ops *self)
369{
370 self = self->beneath;
371 return self->to_stopped_by_hw_breakpoint (self);
372}
373
374static int
375tdefault_stopped_by_hw_breakpoint (struct target_ops *self)
376{
377 return 0;
378}
379
380static int
381debug_stopped_by_hw_breakpoint (struct target_ops *self)
382{
383 int result;
384 fprintf_unfiltered (gdb_stdlog, "-> %s->to_stopped_by_hw_breakpoint (...)\n", debug_target.to_shortname);
385 result = debug_target.to_stopped_by_hw_breakpoint (&debug_target);
386 fprintf_unfiltered (gdb_stdlog, "<- %s->to_stopped_by_hw_breakpoint (", debug_target.to_shortname);
387 target_debug_print_struct_target_ops_p (&debug_target);
388 fputs_unfiltered (") = ", gdb_stdlog);
389 target_debug_print_int (result);
390 fputs_unfiltered ("\n", gdb_stdlog);
391 return result;
392}
393
394static int
395delegate_supports_stopped_by_hw_breakpoint (struct target_ops *self)
396{
397 self = self->beneath;
398 return self->to_supports_stopped_by_hw_breakpoint (self);
399}
400
401static int
402tdefault_supports_stopped_by_hw_breakpoint (struct target_ops *self)
403{
404 return 0;
405}
406
407static int
408debug_supports_stopped_by_hw_breakpoint (struct target_ops *self)
409{
410 int result;
411 fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_stopped_by_hw_breakpoint (...)\n", debug_target.to_shortname);
412 result = debug_target.to_supports_stopped_by_hw_breakpoint (&debug_target);
413 fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_stopped_by_hw_breakpoint (", debug_target.to_shortname);
414 target_debug_print_struct_target_ops_p (&debug_target);
415 fputs_unfiltered (") = ", gdb_stdlog);
416 target_debug_print_int (result);
417 fputs_unfiltered ("\n", gdb_stdlog);
418 return result;
419}
420
52b51d06 421static int
f486487f 422delegate_can_use_hw_breakpoint (struct target_ops *self, enum bptype arg1, int arg2, int arg3)
52b51d06
TT
423{
424 self = self->beneath;
425 return self->to_can_use_hw_breakpoint (self, arg1, arg2, arg3);
426}
427
428static int
f486487f 429tdefault_can_use_hw_breakpoint (struct target_ops *self, enum bptype arg1, int arg2, int arg3)
52b51d06
TT
430{
431 return 0;
432}
433
a7068b60 434static int
f486487f 435debug_can_use_hw_breakpoint (struct target_ops *self, enum bptype arg1, int arg2, int arg3)
a7068b60
TT
436{
437 int result;
438 fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_use_hw_breakpoint (...)\n", debug_target.to_shortname);
439 result = debug_target.to_can_use_hw_breakpoint (&debug_target, arg1, arg2, arg3);
440 fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_use_hw_breakpoint (", debug_target.to_shortname);
441 target_debug_print_struct_target_ops_p (&debug_target);
442 fputs_unfiltered (", ", gdb_stdlog);
f486487f 443 target_debug_print_enum_bptype (arg1);
a7068b60
TT
444 fputs_unfiltered (", ", gdb_stdlog);
445 target_debug_print_int (arg2);
446 fputs_unfiltered (", ", gdb_stdlog);
447 target_debug_print_int (arg3);
448 fputs_unfiltered (") = ", gdb_stdlog);
449 target_debug_print_int (result);
450 fputs_unfiltered ("\n", gdb_stdlog);
451 return result;
452}
453
a134316b
TT
454static int
455delegate_ranged_break_num_registers (struct target_ops *self)
456{
457 self = self->beneath;
458 return self->to_ranged_break_num_registers (self);
459}
460
461static int
462tdefault_ranged_break_num_registers (struct target_ops *self)
463{
464 return -1;
465}
466
a7068b60
TT
467static int
468debug_ranged_break_num_registers (struct target_ops *self)
469{
470 int result;
471 fprintf_unfiltered (gdb_stdlog, "-> %s->to_ranged_break_num_registers (...)\n", debug_target.to_shortname);
472 result = debug_target.to_ranged_break_num_registers (&debug_target);
473 fprintf_unfiltered (gdb_stdlog, "<- %s->to_ranged_break_num_registers (", debug_target.to_shortname);
474 target_debug_print_struct_target_ops_p (&debug_target);
475 fputs_unfiltered (") = ", gdb_stdlog);
476 target_debug_print_int (result);
477 fputs_unfiltered ("\n", gdb_stdlog);
478 return result;
479}
480
61b371f9
TT
481static int
482delegate_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
483{
484 self = self->beneath;
485 return self->to_insert_hw_breakpoint (self, arg1, arg2);
486}
487
488static int
489tdefault_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
490{
491 return -1;
492}
493
a7068b60
TT
494static int
495debug_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
496{
497 int result;
498 fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_hw_breakpoint (...)\n", debug_target.to_shortname);
499 result = debug_target.to_insert_hw_breakpoint (&debug_target, arg1, arg2);
500 fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_hw_breakpoint (", debug_target.to_shortname);
501 target_debug_print_struct_target_ops_p (&debug_target);
502 fputs_unfiltered (", ", gdb_stdlog);
503 target_debug_print_struct_gdbarch_p (arg1);
504 fputs_unfiltered (", ", gdb_stdlog);
505 target_debug_print_struct_bp_target_info_p (arg2);
506 fputs_unfiltered (") = ", gdb_stdlog);
507 target_debug_print_int (result);
508 fputs_unfiltered ("\n", gdb_stdlog);
509 return result;
510}
511
418dabac
TT
512static int
513delegate_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
514{
515 self = self->beneath;
516 return self->to_remove_hw_breakpoint (self, arg1, arg2);
517}
518
519static int
520tdefault_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
521{
522 return -1;
523}
524
a7068b60
TT
525static int
526debug_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
527{
528 int result;
529 fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_hw_breakpoint (...)\n", debug_target.to_shortname);
530 result = debug_target.to_remove_hw_breakpoint (&debug_target, arg1, arg2);
531 fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_hw_breakpoint (", debug_target.to_shortname);
532 target_debug_print_struct_target_ops_p (&debug_target);
533 fputs_unfiltered (", ", gdb_stdlog);
534 target_debug_print_struct_gdbarch_p (arg1);
535 fputs_unfiltered (", ", gdb_stdlog);
536 target_debug_print_struct_bp_target_info_p (arg2);
537 fputs_unfiltered (") = ", gdb_stdlog);
538 target_debug_print_int (result);
539 fputs_unfiltered ("\n", gdb_stdlog);
540 return result;
541}
542
61dd109f 543static int
f486487f 544delegate_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, enum target_hw_bp_type arg3, struct expression *arg4)
61dd109f
TT
545{
546 self = self->beneath;
547 return self->to_remove_watchpoint (self, arg1, arg2, arg3, arg4);
548}
549
550static int
f486487f 551tdefault_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, enum target_hw_bp_type arg3, struct expression *arg4)
61dd109f
TT
552{
553 return -1;
554}
555
a7068b60 556static int
f486487f 557debug_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, enum target_hw_bp_type arg3, struct expression *arg4)
a7068b60
TT
558{
559 int result;
560 fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_watchpoint (...)\n", debug_target.to_shortname);
561 result = debug_target.to_remove_watchpoint (&debug_target, arg1, arg2, arg3, arg4);
562 fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_watchpoint (", debug_target.to_shortname);
563 target_debug_print_struct_target_ops_p (&debug_target);
564 fputs_unfiltered (", ", gdb_stdlog);
565 target_debug_print_CORE_ADDR (arg1);
566 fputs_unfiltered (", ", gdb_stdlog);
567 target_debug_print_int (arg2);
568 fputs_unfiltered (", ", gdb_stdlog);
f486487f 569 target_debug_print_enum_target_hw_bp_type (arg3);
a7068b60
TT
570 fputs_unfiltered (", ", gdb_stdlog);
571 target_debug_print_struct_expression_p (arg4);
572 fputs_unfiltered (") = ", gdb_stdlog);
573 target_debug_print_int (result);
574 fputs_unfiltered ("\n", gdb_stdlog);
575 return result;
576}
577
016facd4 578static int
f486487f 579delegate_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, enum target_hw_bp_type arg3, struct expression *arg4)
016facd4
TT
580{
581 self = self->beneath;
582 return self->to_insert_watchpoint (self, arg1, arg2, arg3, arg4);
583}
584
585static int
f486487f 586tdefault_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, enum target_hw_bp_type arg3, struct expression *arg4)
016facd4
TT
587{
588 return -1;
589}
590
a7068b60 591static int
f486487f 592debug_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, enum target_hw_bp_type arg3, struct expression *arg4)
a7068b60
TT
593{
594 int result;
595 fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_watchpoint (...)\n", debug_target.to_shortname);
596 result = debug_target.to_insert_watchpoint (&debug_target, arg1, arg2, arg3, arg4);
597 fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_watchpoint (", debug_target.to_shortname);
598 target_debug_print_struct_target_ops_p (&debug_target);
599 fputs_unfiltered (", ", gdb_stdlog);
600 target_debug_print_CORE_ADDR (arg1);
601 fputs_unfiltered (", ", gdb_stdlog);
602 target_debug_print_int (arg2);
603 fputs_unfiltered (", ", gdb_stdlog);
f486487f 604 target_debug_print_enum_target_hw_bp_type (arg3);
a7068b60
TT
605 fputs_unfiltered (", ", gdb_stdlog);
606 target_debug_print_struct_expression_p (arg4);
607 fputs_unfiltered (") = ", gdb_stdlog);
608 target_debug_print_int (result);
609 fputs_unfiltered ("\n", gdb_stdlog);
610 return result;
611}
612
cd4ae029 613static int
f4b0a671 614delegate_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, enum target_hw_bp_type arg3)
cd4ae029
TT
615{
616 self = self->beneath;
617 return self->to_insert_mask_watchpoint (self, arg1, arg2, arg3);
618}
619
620static int
f4b0a671 621tdefault_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, enum target_hw_bp_type arg3)
cd4ae029
TT
622{
623 return 1;
624}
625
a7068b60 626static int
f4b0a671 627debug_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, enum target_hw_bp_type arg3)
a7068b60
TT
628{
629 int result;
630 fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_mask_watchpoint (...)\n", debug_target.to_shortname);
631 result = debug_target.to_insert_mask_watchpoint (&debug_target, arg1, arg2, arg3);
632 fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_mask_watchpoint (", debug_target.to_shortname);
633 target_debug_print_struct_target_ops_p (&debug_target);
634 fputs_unfiltered (", ", gdb_stdlog);
635 target_debug_print_CORE_ADDR (arg1);
636 fputs_unfiltered (", ", gdb_stdlog);
637 target_debug_print_CORE_ADDR (arg2);
638 fputs_unfiltered (", ", gdb_stdlog);
f4b0a671 639 target_debug_print_enum_target_hw_bp_type (arg3);
a7068b60
TT
640 fputs_unfiltered (") = ", gdb_stdlog);
641 target_debug_print_int (result);
642 fputs_unfiltered ("\n", gdb_stdlog);
643 return result;
644}
645
8b1c364c 646static int
f4b0a671 647delegate_remove_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, enum target_hw_bp_type arg3)
8b1c364c
TT
648{
649 self = self->beneath;
650 return self->to_remove_mask_watchpoint (self, arg1, arg2, arg3);
651}
652
653static int
f4b0a671 654tdefault_remove_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, enum target_hw_bp_type arg3)
8b1c364c
TT
655{
656 return 1;
657}
658
a7068b60 659static int
f4b0a671 660debug_remove_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, enum target_hw_bp_type arg3)
a7068b60
TT
661{
662 int result;
663 fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_mask_watchpoint (...)\n", debug_target.to_shortname);
664 result = debug_target.to_remove_mask_watchpoint (&debug_target, arg1, arg2, arg3);
665 fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_mask_watchpoint (", debug_target.to_shortname);
666 target_debug_print_struct_target_ops_p (&debug_target);
667 fputs_unfiltered (", ", gdb_stdlog);
668 target_debug_print_CORE_ADDR (arg1);
669 fputs_unfiltered (", ", gdb_stdlog);
670 target_debug_print_CORE_ADDR (arg2);
671 fputs_unfiltered (", ", gdb_stdlog);
f4b0a671 672 target_debug_print_enum_target_hw_bp_type (arg3);
a7068b60
TT
673 fputs_unfiltered (") = ", gdb_stdlog);
674 target_debug_print_int (result);
675 fputs_unfiltered ("\n", gdb_stdlog);
676 return result;
677}
678
6b84065d
TT
679static int
680delegate_stopped_by_watchpoint (struct target_ops *self)
681{
682 self = self->beneath;
683 return self->to_stopped_by_watchpoint (self);
684}
685
686static int
687tdefault_stopped_by_watchpoint (struct target_ops *self)
688{
689 return 0;
690}
691
a7068b60
TT
692static int
693debug_stopped_by_watchpoint (struct target_ops *self)
694{
695 int result;
696 fprintf_unfiltered (gdb_stdlog, "-> %s->to_stopped_by_watchpoint (...)\n", debug_target.to_shortname);
697 result = debug_target.to_stopped_by_watchpoint (&debug_target);
698 fprintf_unfiltered (gdb_stdlog, "<- %s->to_stopped_by_watchpoint (", debug_target.to_shortname);
699 target_debug_print_struct_target_ops_p (&debug_target);
700 fputs_unfiltered (") = ", gdb_stdlog);
701 target_debug_print_int (result);
702 fputs_unfiltered ("\n", gdb_stdlog);
703 return result;
704}
705
6b84065d
TT
706static int
707delegate_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
708{
709 self = self->beneath;
710 return self->to_stopped_data_address (self, arg1);
711}
712
713static int
714tdefault_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
715{
716 return 0;
717}
718
a7068b60
TT
719static int
720debug_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
721{
722 int result;
723 fprintf_unfiltered (gdb_stdlog, "-> %s->to_stopped_data_address (...)\n", debug_target.to_shortname);
724 result = debug_target.to_stopped_data_address (&debug_target, arg1);
725 fprintf_unfiltered (gdb_stdlog, "<- %s->to_stopped_data_address (", debug_target.to_shortname);
726 target_debug_print_struct_target_ops_p (&debug_target);
727 fputs_unfiltered (", ", gdb_stdlog);
728 target_debug_print_CORE_ADDR_p (arg1);
729 fputs_unfiltered (") = ", gdb_stdlog);
730 target_debug_print_int (result);
731 fputs_unfiltered ("\n", gdb_stdlog);
732 return result;
733}
734
65f160a9
TT
735static int
736delegate_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
737{
738 self = self->beneath;
739 return self->to_watchpoint_addr_within_range (self, arg1, arg2, arg3);
740}
741
a7068b60
TT
742static int
743debug_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
744{
745 int result;
746 fprintf_unfiltered (gdb_stdlog, "-> %s->to_watchpoint_addr_within_range (...)\n", debug_target.to_shortname);
747 result = debug_target.to_watchpoint_addr_within_range (&debug_target, arg1, arg2, arg3);
748 fprintf_unfiltered (gdb_stdlog, "<- %s->to_watchpoint_addr_within_range (", debug_target.to_shortname);
749 target_debug_print_struct_target_ops_p (&debug_target);
750 fputs_unfiltered (", ", gdb_stdlog);
751 target_debug_print_CORE_ADDR (arg1);
752 fputs_unfiltered (", ", gdb_stdlog);
753 target_debug_print_CORE_ADDR (arg2);
754 fputs_unfiltered (", ", gdb_stdlog);
755 target_debug_print_int (arg3);
756 fputs_unfiltered (") = ", gdb_stdlog);
757 target_debug_print_int (result);
758 fputs_unfiltered ("\n", gdb_stdlog);
759 return result;
760}
761
d03655e4
TT
762static int
763delegate_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2)
764{
765 self = self->beneath;
766 return self->to_region_ok_for_hw_watchpoint (self, arg1, arg2);
767}
768
a7068b60
TT
769static int
770debug_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2)
771{
772 int result;
773 fprintf_unfiltered (gdb_stdlog, "-> %s->to_region_ok_for_hw_watchpoint (...)\n", debug_target.to_shortname);
774 result = debug_target.to_region_ok_for_hw_watchpoint (&debug_target, arg1, arg2);
775 fprintf_unfiltered (gdb_stdlog, "<- %s->to_region_ok_for_hw_watchpoint (", debug_target.to_shortname);
776 target_debug_print_struct_target_ops_p (&debug_target);
777 fputs_unfiltered (", ", gdb_stdlog);
778 target_debug_print_CORE_ADDR (arg1);
779 fputs_unfiltered (", ", gdb_stdlog);
780 target_debug_print_int (arg2);
781 fputs_unfiltered (") = ", gdb_stdlog);
782 target_debug_print_int (result);
783 fputs_unfiltered ("\n", gdb_stdlog);
784 return result;
785}
786
77cdffe9
TT
787static int
788delegate_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
789{
790 self = self->beneath;
791 return self->to_can_accel_watchpoint_condition (self, arg1, arg2, arg3, arg4);
792}
793
794static int
795tdefault_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
796{
797 return 0;
798}
799
a7068b60
TT
800static int
801debug_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
802{
803 int result;
804 fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_accel_watchpoint_condition (...)\n", debug_target.to_shortname);
805 result = debug_target.to_can_accel_watchpoint_condition (&debug_target, arg1, arg2, arg3, arg4);
806 fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_accel_watchpoint_condition (", debug_target.to_shortname);
807 target_debug_print_struct_target_ops_p (&debug_target);
808 fputs_unfiltered (", ", gdb_stdlog);
809 target_debug_print_CORE_ADDR (arg1);
810 fputs_unfiltered (", ", gdb_stdlog);
811 target_debug_print_int (arg2);
812 fputs_unfiltered (", ", gdb_stdlog);
813 target_debug_print_int (arg3);
814 fputs_unfiltered (", ", gdb_stdlog);
815 target_debug_print_struct_expression_p (arg4);
816 fputs_unfiltered (") = ", gdb_stdlog);
817 target_debug_print_int (result);
818 fputs_unfiltered ("\n", gdb_stdlog);
819 return result;
820}
821
6c7e5e5c
TT
822static int
823delegate_masked_watch_num_registers (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2)
824{
825 self = self->beneath;
826 return self->to_masked_watch_num_registers (self, arg1, arg2);
827}
828
829static int
830tdefault_masked_watch_num_registers (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2)
831{
832 return -1;
833}
834
a7068b60
TT
835static int
836debug_masked_watch_num_registers (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2)
837{
838 int result;
839 fprintf_unfiltered (gdb_stdlog, "-> %s->to_masked_watch_num_registers (...)\n", debug_target.to_shortname);
840 result = debug_target.to_masked_watch_num_registers (&debug_target, arg1, arg2);
841 fprintf_unfiltered (gdb_stdlog, "<- %s->to_masked_watch_num_registers (", debug_target.to_shortname);
842 target_debug_print_struct_target_ops_p (&debug_target);
843 fputs_unfiltered (", ", gdb_stdlog);
844 target_debug_print_CORE_ADDR (arg1);
845 fputs_unfiltered (", ", gdb_stdlog);
846 target_debug_print_CORE_ADDR (arg2);
847 fputs_unfiltered (") = ", gdb_stdlog);
848 target_debug_print_int (result);
849 fputs_unfiltered ("\n", gdb_stdlog);
850 return result;
851}
852
750ce8d1
YQ
853static int
854delegate_can_do_single_step (struct target_ops *self)
855{
856 self = self->beneath;
857 return self->to_can_do_single_step (self);
858}
859
860static int
861tdefault_can_do_single_step (struct target_ops *self)
862{
863 return -1;
864}
865
866static int
867debug_can_do_single_step (struct target_ops *self)
868{
869 int result;
870 fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_do_single_step (...)\n", debug_target.to_shortname);
871 result = debug_target.to_can_do_single_step (&debug_target);
872 fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_do_single_step (", debug_target.to_shortname);
873 target_debug_print_struct_target_ops_p (&debug_target);
874 fputs_unfiltered (") = ", gdb_stdlog);
875 target_debug_print_int (result);
876 fputs_unfiltered ("\n", gdb_stdlog);
877 return result;
878}
879
0343661d
TT
880static void
881delegate_terminal_init (struct target_ops *self)
882{
883 self = self->beneath;
884 self->to_terminal_init (self);
885}
886
887static void
888tdefault_terminal_init (struct target_ops *self)
889{
890}
891
a7068b60
TT
892static void
893debug_terminal_init (struct target_ops *self)
894{
895 fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_init (...)\n", debug_target.to_shortname);
896 debug_target.to_terminal_init (&debug_target);
897 fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_init (", debug_target.to_shortname);
898 target_debug_print_struct_target_ops_p (&debug_target);
899 fputs_unfiltered (")\n", gdb_stdlog);
900}
901
ddeaacc9
TT
902static void
903delegate_terminal_inferior (struct target_ops *self)
904{
905 self = self->beneath;
906 self->to_terminal_inferior (self);
907}
908
909static void
910tdefault_terminal_inferior (struct target_ops *self)
911{
912}
913
a7068b60
TT
914static void
915debug_terminal_inferior (struct target_ops *self)
916{
917 fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_inferior (...)\n", debug_target.to_shortname);
918 debug_target.to_terminal_inferior (&debug_target);
919 fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_inferior (", debug_target.to_shortname);
920 target_debug_print_struct_target_ops_p (&debug_target);
921 fputs_unfiltered (")\n", gdb_stdlog);
922}
923
74fcbef9
TT
924static void
925delegate_terminal_ours_for_output (struct target_ops *self)
926{
927 self = self->beneath;
928 self->to_terminal_ours_for_output (self);
929}
930
931static void
932tdefault_terminal_ours_for_output (struct target_ops *self)
933{
934}
935
a7068b60
TT
936static void
937debug_terminal_ours_for_output (struct target_ops *self)
938{
939 fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_ours_for_output (...)\n", debug_target.to_shortname);
940 debug_target.to_terminal_ours_for_output (&debug_target);
941 fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_ours_for_output (", debug_target.to_shortname);
942 target_debug_print_struct_target_ops_p (&debug_target);
943 fputs_unfiltered (")\n", gdb_stdlog);
944}
945
e4a733f1
TT
946static void
947delegate_terminal_ours (struct target_ops *self)
948{
949 self = self->beneath;
950 self->to_terminal_ours (self);
951}
952
953static void
954tdefault_terminal_ours (struct target_ops *self)
955{
956}
957
a7068b60
TT
958static void
959debug_terminal_ours (struct target_ops *self)
960{
961 fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_ours (...)\n", debug_target.to_shortname);
962 debug_target.to_terminal_ours (&debug_target);
963 fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_ours (", debug_target.to_shortname);
964 target_debug_print_struct_target_ops_p (&debug_target);
965 fputs_unfiltered (")\n", gdb_stdlog);
966}
967
e19e919f
TT
968static void
969delegate_terminal_info (struct target_ops *self, const char *arg1, int arg2)
970{
971 self = self->beneath;
972 self->to_terminal_info (self, arg1, arg2);
973}
974
a7068b60
TT
975static void
976debug_terminal_info (struct target_ops *self, const char *arg1, int arg2)
977{
978 fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_info (...)\n", debug_target.to_shortname);
979 debug_target.to_terminal_info (&debug_target, arg1, arg2);
980 fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_info (", debug_target.to_shortname);
981 target_debug_print_struct_target_ops_p (&debug_target);
982 fputs_unfiltered (", ", gdb_stdlog);
983 target_debug_print_const_char_p (arg1);
984 fputs_unfiltered (", ", gdb_stdlog);
985 target_debug_print_int (arg2);
986 fputs_unfiltered (")\n", gdb_stdlog);
987}
988
423a4807
TT
989static void
990delegate_kill (struct target_ops *self)
991{
992 self = self->beneath;
993 self->to_kill (self);
994}
995
996static void
997tdefault_kill (struct target_ops *self)
998{
999 noprocess ();
1000}
1001
a7068b60
TT
1002static void
1003debug_kill (struct target_ops *self)
1004{
1005 fprintf_unfiltered (gdb_stdlog, "-> %s->to_kill (...)\n", debug_target.to_shortname);
1006 debug_target.to_kill (&debug_target);
1007 fprintf_unfiltered (gdb_stdlog, "<- %s->to_kill (", debug_target.to_shortname);
1008 target_debug_print_struct_target_ops_p (&debug_target);
1009 fputs_unfiltered (")\n", gdb_stdlog);
1010}
1011
7634da87 1012static void
9cbe5fff 1013delegate_load (struct target_ops *self, const char *arg1, int arg2)
7634da87
TT
1014{
1015 self = self->beneath;
1016 self->to_load (self, arg1, arg2);
1017}
1018
1019static void
9cbe5fff 1020tdefault_load (struct target_ops *self, const char *arg1, int arg2)
7634da87
TT
1021{
1022 tcomplain ();
1023}
1024
a7068b60
TT
1025static void
1026debug_load (struct target_ops *self, const char *arg1, int arg2)
1027{
1028 fprintf_unfiltered (gdb_stdlog, "-> %s->to_load (...)\n", debug_target.to_shortname);
1029 debug_target.to_load (&debug_target, arg1, arg2);
1030 fprintf_unfiltered (gdb_stdlog, "<- %s->to_load (", debug_target.to_shortname);
1031 target_debug_print_struct_target_ops_p (&debug_target);
1032 fputs_unfiltered (", ", gdb_stdlog);
1033 target_debug_print_const_char_p (arg1);
1034 fputs_unfiltered (", ", gdb_stdlog);
1035 target_debug_print_int (arg2);
1036 fputs_unfiltered (")\n", gdb_stdlog);
1037}
1038
340ba4bf
TT
1039static void
1040delegate_post_startup_inferior (struct target_ops *self, ptid_t arg1)
1041{
1042 self = self->beneath;
1043 self->to_post_startup_inferior (self, arg1);
1044}
1045
1046static void
1047tdefault_post_startup_inferior (struct target_ops *self, ptid_t arg1)
1048{
1049}
1050
a7068b60
TT
1051static void
1052debug_post_startup_inferior (struct target_ops *self, ptid_t arg1)
1053{
1054 fprintf_unfiltered (gdb_stdlog, "-> %s->to_post_startup_inferior (...)\n", debug_target.to_shortname);
1055 debug_target.to_post_startup_inferior (&debug_target, arg1);
1056 fprintf_unfiltered (gdb_stdlog, "<- %s->to_post_startup_inferior (", debug_target.to_shortname);
1057 target_debug_print_struct_target_ops_p (&debug_target);
1058 fputs_unfiltered (", ", gdb_stdlog);
1059 target_debug_print_ptid_t (arg1);
1060 fputs_unfiltered (")\n", gdb_stdlog);
1061}
1062
5958ebeb
TT
1063static int
1064delegate_insert_fork_catchpoint (struct target_ops *self, int arg1)
1065{
1066 self = self->beneath;
1067 return self->to_insert_fork_catchpoint (self, arg1);
1068}
1069
1070static int
1071tdefault_insert_fork_catchpoint (struct target_ops *self, int arg1)
1072{
1073 return 1;
1074}
1075
a7068b60
TT
1076static int
1077debug_insert_fork_catchpoint (struct target_ops *self, int arg1)
1078{
1079 int result;
1080 fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_fork_catchpoint (...)\n", debug_target.to_shortname);
1081 result = debug_target.to_insert_fork_catchpoint (&debug_target, arg1);
1082 fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_fork_catchpoint (", debug_target.to_shortname);
1083 target_debug_print_struct_target_ops_p (&debug_target);
1084 fputs_unfiltered (", ", gdb_stdlog);
1085 target_debug_print_int (arg1);
1086 fputs_unfiltered (") = ", gdb_stdlog);
1087 target_debug_print_int (result);
1088 fputs_unfiltered ("\n", gdb_stdlog);
1089 return result;
1090}
1091
e1a21fb7
TT
1092static int
1093delegate_remove_fork_catchpoint (struct target_ops *self, int arg1)
1094{
1095 self = self->beneath;
1096 return self->to_remove_fork_catchpoint (self, arg1);
1097}
1098
1099static int
1100tdefault_remove_fork_catchpoint (struct target_ops *self, int arg1)
1101{
1102 return 1;
1103}
1104
a7068b60
TT
1105static int
1106debug_remove_fork_catchpoint (struct target_ops *self, int arg1)
1107{
1108 int result;
1109 fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_fork_catchpoint (...)\n", debug_target.to_shortname);
1110 result = debug_target.to_remove_fork_catchpoint (&debug_target, arg1);
1111 fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_fork_catchpoint (", debug_target.to_shortname);
1112 target_debug_print_struct_target_ops_p (&debug_target);
1113 fputs_unfiltered (", ", gdb_stdlog);
1114 target_debug_print_int (arg1);
1115 fputs_unfiltered (") = ", gdb_stdlog);
1116 target_debug_print_int (result);
1117 fputs_unfiltered ("\n", gdb_stdlog);
1118 return result;
1119}
1120
7e18a8dc
TT
1121static int
1122delegate_insert_vfork_catchpoint (struct target_ops *self, int arg1)
1123{
1124 self = self->beneath;
1125 return self->to_insert_vfork_catchpoint (self, arg1);
1126}
1127
1128static int
1129tdefault_insert_vfork_catchpoint (struct target_ops *self, int arg1)
1130{
1131 return 1;
1132}
1133
a7068b60
TT
1134static int
1135debug_insert_vfork_catchpoint (struct target_ops *self, int arg1)
1136{
1137 int result;
1138 fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_vfork_catchpoint (...)\n", debug_target.to_shortname);
1139 result = debug_target.to_insert_vfork_catchpoint (&debug_target, arg1);
1140 fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_vfork_catchpoint (", debug_target.to_shortname);
1141 target_debug_print_struct_target_ops_p (&debug_target);
1142 fputs_unfiltered (", ", gdb_stdlog);
1143 target_debug_print_int (arg1);
1144 fputs_unfiltered (") = ", gdb_stdlog);
1145 target_debug_print_int (result);
1146 fputs_unfiltered ("\n", gdb_stdlog);
1147 return result;
1148}
1149
95c3375e
TT
1150static int
1151delegate_remove_vfork_catchpoint (struct target_ops *self, int arg1)
1152{
1153 self = self->beneath;
1154 return self->to_remove_vfork_catchpoint (self, arg1);
1155}
1156
1157static int
1158tdefault_remove_vfork_catchpoint (struct target_ops *self, int arg1)
1159{
1160 return 1;
1161}
1162
a7068b60
TT
1163static int
1164debug_remove_vfork_catchpoint (struct target_ops *self, int arg1)
1165{
1166 int result;
1167 fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_vfork_catchpoint (...)\n", debug_target.to_shortname);
1168 result = debug_target.to_remove_vfork_catchpoint (&debug_target, arg1);
1169 fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_vfork_catchpoint (", debug_target.to_shortname);
1170 target_debug_print_struct_target_ops_p (&debug_target);
1171 fputs_unfiltered (", ", gdb_stdlog);
1172 target_debug_print_int (arg1);
1173 fputs_unfiltered (") = ", gdb_stdlog);
1174 target_debug_print_int (result);
1175 fputs_unfiltered ("\n", gdb_stdlog);
1176 return result;
1177}
1178
098dba18
TT
1179static int
1180delegate_follow_fork (struct target_ops *self, int arg1, int arg2)
1181{
1182 self = self->beneath;
1183 return self->to_follow_fork (self, arg1, arg2);
1184}
1185
a7068b60
TT
1186static int
1187debug_follow_fork (struct target_ops *self, int arg1, int arg2)
1188{
1189 int result;
1190 fprintf_unfiltered (gdb_stdlog, "-> %s->to_follow_fork (...)\n", debug_target.to_shortname);
1191 result = debug_target.to_follow_fork (&debug_target, arg1, arg2);
1192 fprintf_unfiltered (gdb_stdlog, "<- %s->to_follow_fork (", debug_target.to_shortname);
1193 target_debug_print_struct_target_ops_p (&debug_target);
1194 fputs_unfiltered (", ", gdb_stdlog);
1195 target_debug_print_int (arg1);
1196 fputs_unfiltered (", ", gdb_stdlog);
1197 target_debug_print_int (arg2);
1198 fputs_unfiltered (") = ", gdb_stdlog);
1199 target_debug_print_int (result);
1200 fputs_unfiltered ("\n", gdb_stdlog);
1201 return result;
1202}
1203
62f64d7a
TT
1204static int
1205delegate_insert_exec_catchpoint (struct target_ops *self, int arg1)
1206{
1207 self = self->beneath;
1208 return self->to_insert_exec_catchpoint (self, arg1);
1209}
1210
1211static int
1212tdefault_insert_exec_catchpoint (struct target_ops *self, int arg1)
1213{
1214 return 1;
1215}
1216
a7068b60
TT
1217static int
1218debug_insert_exec_catchpoint (struct target_ops *self, int arg1)
1219{
1220 int result;
1221 fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_exec_catchpoint (...)\n", debug_target.to_shortname);
1222 result = debug_target.to_insert_exec_catchpoint (&debug_target, arg1);
1223 fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_exec_catchpoint (", debug_target.to_shortname);
1224 target_debug_print_struct_target_ops_p (&debug_target);
1225 fputs_unfiltered (", ", gdb_stdlog);
1226 target_debug_print_int (arg1);
1227 fputs_unfiltered (") = ", gdb_stdlog);
1228 target_debug_print_int (result);
1229 fputs_unfiltered ("\n", gdb_stdlog);
1230 return result;
1231}
1232
cda0f38c
TT
1233static int
1234delegate_remove_exec_catchpoint (struct target_ops *self, int arg1)
1235{
1236 self = self->beneath;
1237 return self->to_remove_exec_catchpoint (self, arg1);
1238}
1239
1240static int
1241tdefault_remove_exec_catchpoint (struct target_ops *self, int arg1)
1242{
1243 return 1;
1244}
1245
a7068b60
TT
1246static int
1247debug_remove_exec_catchpoint (struct target_ops *self, int arg1)
1248{
1249 int result;
1250 fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_exec_catchpoint (...)\n", debug_target.to_shortname);
1251 result = debug_target.to_remove_exec_catchpoint (&debug_target, arg1);
1252 fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_exec_catchpoint (", debug_target.to_shortname);
1253 target_debug_print_struct_target_ops_p (&debug_target);
1254 fputs_unfiltered (", ", gdb_stdlog);
1255 target_debug_print_int (arg1);
1256 fputs_unfiltered (") = ", gdb_stdlog);
1257 target_debug_print_int (result);
1258 fputs_unfiltered ("\n", gdb_stdlog);
1259 return result;
1260}
1261
94585166
DB
1262static void
1263delegate_follow_exec (struct target_ops *self, struct inferior *arg1, char *arg2)
1264{
1265 self = self->beneath;
1266 self->to_follow_exec (self, arg1, arg2);
1267}
1268
1269static void
1270tdefault_follow_exec (struct target_ops *self, struct inferior *arg1, char *arg2)
1271{
1272}
1273
1274static void
1275debug_follow_exec (struct target_ops *self, struct inferior *arg1, char *arg2)
1276{
1277 fprintf_unfiltered (gdb_stdlog, "-> %s->to_follow_exec (...)\n", debug_target.to_shortname);
1278 debug_target.to_follow_exec (&debug_target, arg1, arg2);
1279 fprintf_unfiltered (gdb_stdlog, "<- %s->to_follow_exec (", debug_target.to_shortname);
1280 target_debug_print_struct_target_ops_p (&debug_target);
1281 fputs_unfiltered (", ", gdb_stdlog);
1282 target_debug_print_struct_inferior_p (arg1);
1283 fputs_unfiltered (", ", gdb_stdlog);
1284 target_debug_print_char_p (arg2);
1285 fputs_unfiltered (")\n", gdb_stdlog);
1286}
1287
6a9fa051
TT
1288static int
1289delegate_set_syscall_catchpoint (struct target_ops *self, int arg1, int arg2, int arg3, int arg4, int *arg5)
1290{
1291 self = self->beneath;
1292 return self->to_set_syscall_catchpoint (self, arg1, arg2, arg3, arg4, arg5);
1293}
1294
1295static int
1296tdefault_set_syscall_catchpoint (struct target_ops *self, int arg1, int arg2, int arg3, int arg4, int *arg5)
1297{
1298 return 1;
1299}
1300
a7068b60
TT
1301static int
1302debug_set_syscall_catchpoint (struct target_ops *self, int arg1, int arg2, int arg3, int arg4, int *arg5)
1303{
1304 int result;
1305 fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_syscall_catchpoint (...)\n", debug_target.to_shortname);
1306 result = debug_target.to_set_syscall_catchpoint (&debug_target, arg1, arg2, arg3, arg4, arg5);
1307 fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_syscall_catchpoint (", debug_target.to_shortname);
1308 target_debug_print_struct_target_ops_p (&debug_target);
1309 fputs_unfiltered (", ", gdb_stdlog);
1310 target_debug_print_int (arg1);
1311 fputs_unfiltered (", ", gdb_stdlog);
1312 target_debug_print_int (arg2);
1313 fputs_unfiltered (", ", gdb_stdlog);
1314 target_debug_print_int (arg3);
1315 fputs_unfiltered (", ", gdb_stdlog);
1316 target_debug_print_int (arg4);
1317 fputs_unfiltered (", ", gdb_stdlog);
1318 target_debug_print_int_p (arg5);
1319 fputs_unfiltered (") = ", gdb_stdlog);
1320 target_debug_print_int (result);
1321 fputs_unfiltered ("\n", gdb_stdlog);
1322 return result;
1323}
1324
0db88c1d
TT
1325static int
1326delegate_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
1327{
1328 self = self->beneath;
1329 return self->to_has_exited (self, arg1, arg2, arg3);
1330}
1331
1332static int
1333tdefault_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
1334{
1335 return 0;
1336}
1337
a7068b60
TT
1338static int
1339debug_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
1340{
1341 int result;
1342 fprintf_unfiltered (gdb_stdlog, "-> %s->to_has_exited (...)\n", debug_target.to_shortname);
1343 result = debug_target.to_has_exited (&debug_target, arg1, arg2, arg3);
1344 fprintf_unfiltered (gdb_stdlog, "<- %s->to_has_exited (", debug_target.to_shortname);
1345 target_debug_print_struct_target_ops_p (&debug_target);
1346 fputs_unfiltered (", ", gdb_stdlog);
1347 target_debug_print_int (arg1);
1348 fputs_unfiltered (", ", gdb_stdlog);
1349 target_debug_print_int (arg2);
1350 fputs_unfiltered (", ", gdb_stdlog);
1351 target_debug_print_int_p (arg3);
1352 fputs_unfiltered (") = ", gdb_stdlog);
1353 target_debug_print_int (result);
1354 fputs_unfiltered ("\n", gdb_stdlog);
1355 return result;
1356}
1357
8d657035
TT
1358static void
1359delegate_mourn_inferior (struct target_ops *self)
1360{
1361 self = self->beneath;
1362 self->to_mourn_inferior (self);
1363}
1364
a7068b60
TT
1365static void
1366debug_mourn_inferior (struct target_ops *self)
1367{
1368 fprintf_unfiltered (gdb_stdlog, "-> %s->to_mourn_inferior (...)\n", debug_target.to_shortname);
1369 debug_target.to_mourn_inferior (&debug_target);
1370 fprintf_unfiltered (gdb_stdlog, "<- %s->to_mourn_inferior (", debug_target.to_shortname);
1371 target_debug_print_struct_target_ops_p (&debug_target);
1372 fputs_unfiltered (")\n", gdb_stdlog);
1373}
1374
e88ef65c
TT
1375static int
1376delegate_can_run (struct target_ops *self)
1377{
1378 self = self->beneath;
1379 return self->to_can_run (self);
1380}
1381
1382static int
1383tdefault_can_run (struct target_ops *self)
1384{
1385 return 0;
1386}
1387
a7068b60
TT
1388static int
1389debug_can_run (struct target_ops *self)
1390{
1391 int result;
1392 fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_run (...)\n", debug_target.to_shortname);
1393 result = debug_target.to_can_run (&debug_target);
1394 fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_run (", debug_target.to_shortname);
1395 target_debug_print_struct_target_ops_p (&debug_target);
1396 fputs_unfiltered (") = ", gdb_stdlog);
1397 target_debug_print_int (result);
1398 fputs_unfiltered ("\n", gdb_stdlog);
1399 return result;
1400}
1401
035cad7f 1402static void
a7068b60 1403delegate_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
035cad7f
TT
1404{
1405 self = self->beneath;
1406 self->to_pass_signals (self, arg1, arg2);
1407}
1408
1409static void
a7068b60
TT
1410tdefault_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
1411{
1412}
1413
1414static void
1415debug_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
035cad7f 1416{
a7068b60
TT
1417 fprintf_unfiltered (gdb_stdlog, "-> %s->to_pass_signals (...)\n", debug_target.to_shortname);
1418 debug_target.to_pass_signals (&debug_target, arg1, arg2);
1419 fprintf_unfiltered (gdb_stdlog, "<- %s->to_pass_signals (", debug_target.to_shortname);
1420 target_debug_print_struct_target_ops_p (&debug_target);
1421 fputs_unfiltered (", ", gdb_stdlog);
1422 target_debug_print_int (arg1);
1423 fputs_unfiltered (", ", gdb_stdlog);
1424 target_debug_print_signals (arg2);
1425 fputs_unfiltered (")\n", gdb_stdlog);
035cad7f
TT
1426}
1427
7d4f8efa 1428static void
a7068b60 1429delegate_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
7d4f8efa
TT
1430{
1431 self = self->beneath;
1432 self->to_program_signals (self, arg1, arg2);
1433}
1434
1435static void
a7068b60
TT
1436tdefault_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
1437{
1438}
1439
1440static void
1441debug_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
7d4f8efa 1442{
a7068b60
TT
1443 fprintf_unfiltered (gdb_stdlog, "-> %s->to_program_signals (...)\n", debug_target.to_shortname);
1444 debug_target.to_program_signals (&debug_target, arg1, arg2);
1445 fprintf_unfiltered (gdb_stdlog, "<- %s->to_program_signals (", debug_target.to_shortname);
1446 target_debug_print_struct_target_ops_p (&debug_target);
1447 fputs_unfiltered (", ", gdb_stdlog);
1448 target_debug_print_int (arg1);
1449 fputs_unfiltered (", ", gdb_stdlog);
1450 target_debug_print_signals (arg2);
1451 fputs_unfiltered (")\n", gdb_stdlog);
7d4f8efa
TT
1452}
1453
cbffc065
TT
1454static int
1455delegate_thread_alive (struct target_ops *self, ptid_t arg1)
1456{
1457 self = self->beneath;
1458 return self->to_thread_alive (self, arg1);
1459}
1460
1461static int
1462tdefault_thread_alive (struct target_ops *self, ptid_t arg1)
1463{
1464 return 0;
1465}
1466
a7068b60
TT
1467static int
1468debug_thread_alive (struct target_ops *self, ptid_t arg1)
1469{
1470 int result;
1471 fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_alive (...)\n", debug_target.to_shortname);
1472 result = debug_target.to_thread_alive (&debug_target, arg1);
1473 fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_alive (", debug_target.to_shortname);
1474 target_debug_print_struct_target_ops_p (&debug_target);
1475 fputs_unfiltered (", ", gdb_stdlog);
1476 target_debug_print_ptid_t (arg1);
1477 fputs_unfiltered (") = ", gdb_stdlog);
1478 target_debug_print_int (result);
1479 fputs_unfiltered ("\n", gdb_stdlog);
1480 return result;
1481}
1482
09b0dc2b 1483static void
e8032dde 1484delegate_update_thread_list (struct target_ops *self)
09b0dc2b
TT
1485{
1486 self = self->beneath;
e8032dde 1487 self->to_update_thread_list (self);
09b0dc2b
TT
1488}
1489
1490static void
e8032dde 1491tdefault_update_thread_list (struct target_ops *self)
09b0dc2b
TT
1492{
1493}
1494
a7068b60 1495static void
e8032dde 1496debug_update_thread_list (struct target_ops *self)
a7068b60 1497{
e8032dde
PA
1498 fprintf_unfiltered (gdb_stdlog, "-> %s->to_update_thread_list (...)\n", debug_target.to_shortname);
1499 debug_target.to_update_thread_list (&debug_target);
1500 fprintf_unfiltered (gdb_stdlog, "<- %s->to_update_thread_list (", debug_target.to_shortname);
a7068b60
TT
1501 target_debug_print_struct_target_ops_p (&debug_target);
1502 fputs_unfiltered (")\n", gdb_stdlog);
1503}
1504
7a114964 1505static const char *
770234d3
TT
1506delegate_pid_to_str (struct target_ops *self, ptid_t arg1)
1507{
1508 self = self->beneath;
1509 return self->to_pid_to_str (self, arg1);
1510}
1511
7a114964 1512static const char *
a7068b60
TT
1513debug_pid_to_str (struct target_ops *self, ptid_t arg1)
1514{
7a114964 1515 const char * result;
a7068b60
TT
1516 fprintf_unfiltered (gdb_stdlog, "-> %s->to_pid_to_str (...)\n", debug_target.to_shortname);
1517 result = debug_target.to_pid_to_str (&debug_target, arg1);
1518 fprintf_unfiltered (gdb_stdlog, "<- %s->to_pid_to_str (", debug_target.to_shortname);
1519 target_debug_print_struct_target_ops_p (&debug_target);
1520 fputs_unfiltered (", ", gdb_stdlog);
1521 target_debug_print_ptid_t (arg1);
1522 fputs_unfiltered (") = ", gdb_stdlog);
7a114964 1523 target_debug_print_const_char_p (result);
a7068b60
TT
1524 fputs_unfiltered ("\n", gdb_stdlog);
1525 return result;
1526}
1527
7a114964 1528static const char *
4a7e6dda
TT
1529delegate_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
1530{
1531 self = self->beneath;
1532 return self->to_extra_thread_info (self, arg1);
1533}
1534
7a114964 1535static const char *
4a7e6dda
TT
1536tdefault_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
1537{
9b144037 1538 return NULL;
4a7e6dda
TT
1539}
1540
7a114964 1541static const char *
a7068b60
TT
1542debug_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
1543{
7a114964 1544 const char * result;
a7068b60
TT
1545 fprintf_unfiltered (gdb_stdlog, "-> %s->to_extra_thread_info (...)\n", debug_target.to_shortname);
1546 result = debug_target.to_extra_thread_info (&debug_target, arg1);
1547 fprintf_unfiltered (gdb_stdlog, "<- %s->to_extra_thread_info (", debug_target.to_shortname);
1548 target_debug_print_struct_target_ops_p (&debug_target);
1549 fputs_unfiltered (", ", gdb_stdlog);
1550 target_debug_print_struct_thread_info_p (arg1);
1551 fputs_unfiltered (") = ", gdb_stdlog);
7a114964 1552 target_debug_print_const_char_p (result);
a7068b60
TT
1553 fputs_unfiltered ("\n", gdb_stdlog);
1554 return result;
1555}
1556
73ede765 1557static const char *
825828fc
TT
1558delegate_thread_name (struct target_ops *self, struct thread_info *arg1)
1559{
1560 self = self->beneath;
1561 return self->to_thread_name (self, arg1);
1562}
1563
73ede765 1564static const char *
825828fc
TT
1565tdefault_thread_name (struct target_ops *self, struct thread_info *arg1)
1566{
9b144037 1567 return NULL;
825828fc
TT
1568}
1569
73ede765 1570static const char *
a7068b60
TT
1571debug_thread_name (struct target_ops *self, struct thread_info *arg1)
1572{
73ede765 1573 const char * result;
a7068b60
TT
1574 fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_name (...)\n", debug_target.to_shortname);
1575 result = debug_target.to_thread_name (&debug_target, arg1);
1576 fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_name (", debug_target.to_shortname);
1577 target_debug_print_struct_target_ops_p (&debug_target);
1578 fputs_unfiltered (", ", gdb_stdlog);
1579 target_debug_print_struct_thread_info_p (arg1);
1580 fputs_unfiltered (") = ", gdb_stdlog);
73ede765 1581 target_debug_print_const_char_p (result);
a7068b60
TT
1582 fputs_unfiltered ("\n", gdb_stdlog);
1583 return result;
1584}
1585
e04ee09e
KB
1586static struct thread_info *
1587delegate_thread_handle_to_thread_info (struct target_ops *self, const gdb_byte *arg1, int arg2, struct inferior *arg3)
1588{
1589 self = self->beneath;
1590 return self->to_thread_handle_to_thread_info (self, arg1, arg2, arg3);
1591}
1592
1593static struct thread_info *
1594tdefault_thread_handle_to_thread_info (struct target_ops *self, const gdb_byte *arg1, int arg2, struct inferior *arg3)
1595{
1596 return NULL;
1597}
1598
1599static struct thread_info *
1600debug_thread_handle_to_thread_info (struct target_ops *self, const gdb_byte *arg1, int arg2, struct inferior *arg3)
1601{
1602 struct thread_info * result;
1603 fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_handle_to_thread_info (...)\n", debug_target.to_shortname);
1604 result = debug_target.to_thread_handle_to_thread_info (&debug_target, arg1, arg2, arg3);
1605 fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_handle_to_thread_info (", debug_target.to_shortname);
1606 target_debug_print_struct_target_ops_p (&debug_target);
1607 fputs_unfiltered (", ", gdb_stdlog);
1608 target_debug_print_const_gdb_byte_p (arg1);
1609 fputs_unfiltered (", ", gdb_stdlog);
1610 target_debug_print_int (arg2);
1611 fputs_unfiltered (", ", gdb_stdlog);
1612 target_debug_print_struct_inferior_p (arg3);
1613 fputs_unfiltered (") = ", gdb_stdlog);
1614 target_debug_print_struct_thread_info_p (result);
1615 fputs_unfiltered ("\n", gdb_stdlog);
1616 return result;
1617}
1618
46ee7e8d
TT
1619static void
1620delegate_stop (struct target_ops *self, ptid_t arg1)
1621{
1622 self = self->beneath;
1623 self->to_stop (self, arg1);
1624}
1625
1626static void
1627tdefault_stop (struct target_ops *self, ptid_t arg1)
1628{
1629}
1630
a7068b60
TT
1631static void
1632debug_stop (struct target_ops *self, ptid_t arg1)
1633{
1634 fprintf_unfiltered (gdb_stdlog, "-> %s->to_stop (...)\n", debug_target.to_shortname);
1635 debug_target.to_stop (&debug_target, arg1);
1636 fprintf_unfiltered (gdb_stdlog, "<- %s->to_stop (", debug_target.to_shortname);
1637 target_debug_print_struct_target_ops_p (&debug_target);
1638 fputs_unfiltered (", ", gdb_stdlog);
1639 target_debug_print_ptid_t (arg1);
1640 fputs_unfiltered (")\n", gdb_stdlog);
1641}
1642
bfedc46a
PA
1643static void
1644delegate_interrupt (struct target_ops *self, ptid_t arg1)
1645{
1646 self = self->beneath;
1647 self->to_interrupt (self, arg1);
1648}
1649
1650static void
1651tdefault_interrupt (struct target_ops *self, ptid_t arg1)
1652{
1653}
1654
1655static void
1656debug_interrupt (struct target_ops *self, ptid_t arg1)
1657{
1658 fprintf_unfiltered (gdb_stdlog, "-> %s->to_interrupt (...)\n", debug_target.to_shortname);
1659 debug_target.to_interrupt (&debug_target, arg1);
1660 fprintf_unfiltered (gdb_stdlog, "<- %s->to_interrupt (", debug_target.to_shortname);
1661 target_debug_print_struct_target_ops_p (&debug_target);
1662 fputs_unfiltered (", ", gdb_stdlog);
1663 target_debug_print_ptid_t (arg1);
1664 fputs_unfiltered (")\n", gdb_stdlog);
1665}
1666
93692b58
PA
1667static void
1668delegate_pass_ctrlc (struct target_ops *self)
1669{
1670 self = self->beneath;
1671 self->to_pass_ctrlc (self);
1672}
1673
1674static void
1675debug_pass_ctrlc (struct target_ops *self)
1676{
1677 fprintf_unfiltered (gdb_stdlog, "-> %s->to_pass_ctrlc (...)\n", debug_target.to_shortname);
1678 debug_target.to_pass_ctrlc (&debug_target);
1679 fprintf_unfiltered (gdb_stdlog, "<- %s->to_pass_ctrlc (", debug_target.to_shortname);
1680 target_debug_print_struct_target_ops_p (&debug_target);
1681 fputs_unfiltered (")\n", gdb_stdlog);
1682}
1683
a53f3625 1684static void
a30bf1f1 1685delegate_rcmd (struct target_ops *self, const char *arg1, struct ui_file *arg2)
a53f3625
TT
1686{
1687 self = self->beneath;
1688 self->to_rcmd (self, arg1, arg2);
1689}
1690
a7068b60
TT
1691static void
1692debug_rcmd (struct target_ops *self, const char *arg1, struct ui_file *arg2)
1693{
1694 fprintf_unfiltered (gdb_stdlog, "-> %s->to_rcmd (...)\n", debug_target.to_shortname);
1695 debug_target.to_rcmd (&debug_target, arg1, arg2);
1696 fprintf_unfiltered (gdb_stdlog, "<- %s->to_rcmd (", debug_target.to_shortname);
1697 target_debug_print_struct_target_ops_p (&debug_target);
1698 fputs_unfiltered (", ", gdb_stdlog);
1699 target_debug_print_const_char_p (arg1);
1700 fputs_unfiltered (", ", gdb_stdlog);
1701 target_debug_print_struct_ui_file_p (arg2);
1702 fputs_unfiltered (")\n", gdb_stdlog);
1703}
1704
830ca330
TT
1705static char *
1706delegate_pid_to_exec_file (struct target_ops *self, int arg1)
1707{
1708 self = self->beneath;
1709 return self->to_pid_to_exec_file (self, arg1);
1710}
1711
1712static char *
1713tdefault_pid_to_exec_file (struct target_ops *self, int arg1)
1714{
9b144037 1715 return NULL;
830ca330
TT
1716}
1717
a7068b60
TT
1718static char *
1719debug_pid_to_exec_file (struct target_ops *self, int arg1)
1720{
1721 char * result;
1722 fprintf_unfiltered (gdb_stdlog, "-> %s->to_pid_to_exec_file (...)\n", debug_target.to_shortname);
1723 result = debug_target.to_pid_to_exec_file (&debug_target, arg1);
1724 fprintf_unfiltered (gdb_stdlog, "<- %s->to_pid_to_exec_file (", debug_target.to_shortname);
1725 target_debug_print_struct_target_ops_p (&debug_target);
1726 fputs_unfiltered (", ", gdb_stdlog);
1727 target_debug_print_int (arg1);
1728 fputs_unfiltered (") = ", gdb_stdlog);
1729 target_debug_print_char_p (result);
1730 fputs_unfiltered ("\n", gdb_stdlog);
1731 return result;
1732}
1733
d9cb0195
TT
1734static void
1735delegate_log_command (struct target_ops *self, const char *arg1)
1736{
1737 self = self->beneath;
1738 self->to_log_command (self, arg1);
1739}
1740
1741static void
1742tdefault_log_command (struct target_ops *self, const char *arg1)
1743{
1744}
1745
a7068b60
TT
1746static void
1747debug_log_command (struct target_ops *self, const char *arg1)
1748{
1749 fprintf_unfiltered (gdb_stdlog, "-> %s->to_log_command (...)\n", debug_target.to_shortname);
1750 debug_target.to_log_command (&debug_target, arg1);
1751 fprintf_unfiltered (gdb_stdlog, "<- %s->to_log_command (", debug_target.to_shortname);
1752 target_debug_print_struct_target_ops_p (&debug_target);
1753 fputs_unfiltered (", ", gdb_stdlog);
1754 target_debug_print_const_char_p (arg1);
1755 fputs_unfiltered (")\n", gdb_stdlog);
1756}
1757
7e35c012
TT
1758static struct target_section_table *
1759delegate_get_section_table (struct target_ops *self)
1760{
1761 self = self->beneath;
1762 return self->to_get_section_table (self);
1763}
1764
1765static struct target_section_table *
1766tdefault_get_section_table (struct target_ops *self)
1767{
9b144037 1768 return NULL;
7e35c012
TT
1769}
1770
a7068b60
TT
1771static struct target_section_table *
1772debug_get_section_table (struct target_ops *self)
1773{
1774 struct target_section_table * result;
1775 fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_section_table (...)\n", debug_target.to_shortname);
1776 result = debug_target.to_get_section_table (&debug_target);
1777 fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_section_table (", debug_target.to_shortname);
1778 target_debug_print_struct_target_ops_p (&debug_target);
1779 fputs_unfiltered (") = ", gdb_stdlog);
1780 target_debug_print_struct_target_section_table_p (result);
1781 fputs_unfiltered ("\n", gdb_stdlog);
1782 return result;
1783}
1784
6b84065d
TT
1785static int
1786delegate_can_async_p (struct target_ops *self)
1787{
1788 self = self->beneath;
1789 return self->to_can_async_p (self);
1790}
1791
b3ccfe11
TT
1792static int
1793tdefault_can_async_p (struct target_ops *self)
1794{
1795 return 0;
1796}
1797
a7068b60
TT
1798static int
1799debug_can_async_p (struct target_ops *self)
1800{
1801 int result;
1802 fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_async_p (...)\n", debug_target.to_shortname);
1803 result = debug_target.to_can_async_p (&debug_target);
1804 fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_async_p (", debug_target.to_shortname);
1805 target_debug_print_struct_target_ops_p (&debug_target);
1806 fputs_unfiltered (") = ", gdb_stdlog);
1807 target_debug_print_int (result);
1808 fputs_unfiltered ("\n", gdb_stdlog);
1809 return result;
1810}
1811
6b84065d
TT
1812static int
1813delegate_is_async_p (struct target_ops *self)
1814{
1815 self = self->beneath;
1816 return self->to_is_async_p (self);
1817}
1818
b3ccfe11
TT
1819static int
1820tdefault_is_async_p (struct target_ops *self)
1821{
1822 return 0;
1823}
1824
a7068b60
TT
1825static int
1826debug_is_async_p (struct target_ops *self)
1827{
1828 int result;
1829 fprintf_unfiltered (gdb_stdlog, "-> %s->to_is_async_p (...)\n", debug_target.to_shortname);
1830 result = debug_target.to_is_async_p (&debug_target);
1831 fprintf_unfiltered (gdb_stdlog, "<- %s->to_is_async_p (", debug_target.to_shortname);
1832 target_debug_print_struct_target_ops_p (&debug_target);
1833 fputs_unfiltered (") = ", gdb_stdlog);
1834 target_debug_print_int (result);
1835 fputs_unfiltered ("\n", gdb_stdlog);
1836 return result;
1837}
1838
6b84065d 1839static void
6a3753b3 1840delegate_async (struct target_ops *self, int arg1)
6b84065d
TT
1841{
1842 self = self->beneath;
6a3753b3 1843 self->to_async (self, arg1);
6b84065d
TT
1844}
1845
1846static void
6a3753b3 1847tdefault_async (struct target_ops *self, int arg1)
6b84065d
TT
1848{
1849 tcomplain ();
1850}
1851
a7068b60 1852static void
6a3753b3 1853debug_async (struct target_ops *self, int arg1)
a7068b60
TT
1854{
1855 fprintf_unfiltered (gdb_stdlog, "-> %s->to_async (...)\n", debug_target.to_shortname);
6a3753b3 1856 debug_target.to_async (&debug_target, arg1);
a7068b60
TT
1857 fprintf_unfiltered (gdb_stdlog, "<- %s->to_async (", debug_target.to_shortname);
1858 target_debug_print_struct_target_ops_p (&debug_target);
1859 fputs_unfiltered (", ", gdb_stdlog);
6a3753b3 1860 target_debug_print_int (arg1);
a7068b60
TT
1861 fputs_unfiltered (")\n", gdb_stdlog);
1862}
1863
65706a29
PA
1864static void
1865delegate_thread_events (struct target_ops *self, int arg1)
1866{
1867 self = self->beneath;
1868 self->to_thread_events (self, arg1);
1869}
1870
1871static void
1872tdefault_thread_events (struct target_ops *self, int arg1)
1873{
1874}
1875
1876static void
1877debug_thread_events (struct target_ops *self, int arg1)
1878{
1879 fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_events (...)\n", debug_target.to_shortname);
1880 debug_target.to_thread_events (&debug_target, arg1);
1881 fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_events (", debug_target.to_shortname);
1882 target_debug_print_struct_target_ops_p (&debug_target);
1883 fputs_unfiltered (", ", gdb_stdlog);
1884 target_debug_print_int (arg1);
1885 fputs_unfiltered (")\n", gdb_stdlog);
1886}
1887
b3ccfe11
TT
1888static int
1889delegate_supports_non_stop (struct target_ops *self)
1890{
1891 self = self->beneath;
1892 return self->to_supports_non_stop (self);
1893}
1894
1895static int
1896tdefault_supports_non_stop (struct target_ops *self)
1897{
1898 return 0;
1899}
1900
a7068b60
TT
1901static int
1902debug_supports_non_stop (struct target_ops *self)
1903{
1904 int result;
1905 fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_non_stop (...)\n", debug_target.to_shortname);
1906 result = debug_target.to_supports_non_stop (&debug_target);
1907 fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_non_stop (", debug_target.to_shortname);
1908 target_debug_print_struct_target_ops_p (&debug_target);
1909 fputs_unfiltered (") = ", gdb_stdlog);
1910 target_debug_print_int (result);
1911 fputs_unfiltered ("\n", gdb_stdlog);
1912 return result;
1913}
1914
fbea99ea
PA
1915static int
1916delegate_always_non_stop_p (struct target_ops *self)
1917{
1918 self = self->beneath;
1919 return self->to_always_non_stop_p (self);
1920}
1921
1922static int
1923tdefault_always_non_stop_p (struct target_ops *self)
1924{
1925 return 0;
1926}
1927
1928static int
1929debug_always_non_stop_p (struct target_ops *self)
1930{
1931 int result;
1932 fprintf_unfiltered (gdb_stdlog, "-> %s->to_always_non_stop_p (...)\n", debug_target.to_shortname);
1933 result = debug_target.to_always_non_stop_p (&debug_target);
1934 fprintf_unfiltered (gdb_stdlog, "<- %s->to_always_non_stop_p (", debug_target.to_shortname);
1935 target_debug_print_struct_target_ops_p (&debug_target);
1936 fputs_unfiltered (") = ", gdb_stdlog);
1937 target_debug_print_int (result);
1938 fputs_unfiltered ("\n", gdb_stdlog);
1939 return result;
1940}
1941
0b5a2719
TT
1942static int
1943delegate_find_memory_regions (struct target_ops *self, find_memory_region_ftype arg1, void *arg2)
1944{
1945 self = self->beneath;
1946 return self->to_find_memory_regions (self, arg1, arg2);
1947}
1948
a7068b60
TT
1949static int
1950debug_find_memory_regions (struct target_ops *self, find_memory_region_ftype arg1, void *arg2)
1951{
1952 int result;
1953 fprintf_unfiltered (gdb_stdlog, "-> %s->to_find_memory_regions (...)\n", debug_target.to_shortname);
1954 result = debug_target.to_find_memory_regions (&debug_target, arg1, arg2);
1955 fprintf_unfiltered (gdb_stdlog, "<- %s->to_find_memory_regions (", debug_target.to_shortname);
1956 target_debug_print_struct_target_ops_p (&debug_target);
1957 fputs_unfiltered (", ", gdb_stdlog);
1958 target_debug_print_find_memory_region_ftype (arg1);
1959 fputs_unfiltered (", ", gdb_stdlog);
1960 target_debug_print_void_p (arg2);
1961 fputs_unfiltered (") = ", gdb_stdlog);
1962 target_debug_print_int (result);
1963 fputs_unfiltered ("\n", gdb_stdlog);
1964 return result;
1965}
1966
a8bdc56b 1967static char *
16f796b1
TT
1968delegate_make_corefile_notes (struct target_ops *self, bfd *arg1, int *arg2)
1969{
1970 self = self->beneath;
1971 return self->to_make_corefile_notes (self, arg1, arg2);
1972}
1973
a7068b60
TT
1974static char *
1975debug_make_corefile_notes (struct target_ops *self, bfd *arg1, int *arg2)
1976{
1977 char * result;
1978 fprintf_unfiltered (gdb_stdlog, "-> %s->to_make_corefile_notes (...)\n", debug_target.to_shortname);
1979 result = debug_target.to_make_corefile_notes (&debug_target, arg1, arg2);
1980 fprintf_unfiltered (gdb_stdlog, "<- %s->to_make_corefile_notes (", debug_target.to_shortname);
1981 target_debug_print_struct_target_ops_p (&debug_target);
1982 fputs_unfiltered (", ", gdb_stdlog);
1983 target_debug_print_bfd_p (arg1);
1984 fputs_unfiltered (", ", gdb_stdlog);
1985 target_debug_print_int_p (arg2);
1986 fputs_unfiltered (") = ", gdb_stdlog);
1987 target_debug_print_char_p (result);
1988 fputs_unfiltered ("\n", gdb_stdlog);
1989 return result;
1990}
1991
a8bdc56b 1992static gdb_byte *
c2bcbb1d 1993delegate_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
3dbafbbb
TT
1994{
1995 self = self->beneath;
1996 return self->to_get_bookmark (self, arg1, arg2);
1997}
1998
a8bdc56b 1999static gdb_byte *
c2bcbb1d 2000tdefault_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
3dbafbbb
TT
2001{
2002 tcomplain ();
2003}
2004
a7068b60
TT
2005static gdb_byte *
2006debug_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
2007{
2008 gdb_byte * result;
2009 fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_bookmark (...)\n", debug_target.to_shortname);
2010 result = debug_target.to_get_bookmark (&debug_target, arg1, arg2);
2011 fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_bookmark (", debug_target.to_shortname);
2012 target_debug_print_struct_target_ops_p (&debug_target);
2013 fputs_unfiltered (", ", gdb_stdlog);
2014 target_debug_print_const_char_p (arg1);
2015 fputs_unfiltered (", ", gdb_stdlog);
2016 target_debug_print_int (arg2);
2017 fputs_unfiltered (") = ", gdb_stdlog);
2018 target_debug_print_gdb_byte_p (result);
2019 fputs_unfiltered ("\n", gdb_stdlog);
2020 return result;
2021}
2022
9bb9d61d 2023static void
c2bcbb1d 2024delegate_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
9bb9d61d
TT
2025{
2026 self = self->beneath;
2027 self->to_goto_bookmark (self, arg1, arg2);
2028}
2029
2030static void
c2bcbb1d 2031tdefault_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
9bb9d61d
TT
2032{
2033 tcomplain ();
2034}
2035
a7068b60
TT
2036static void
2037debug_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
2038{
2039 fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_bookmark (...)\n", debug_target.to_shortname);
2040 debug_target.to_goto_bookmark (&debug_target, arg1, arg2);
2041 fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_bookmark (", debug_target.to_shortname);
2042 target_debug_print_struct_target_ops_p (&debug_target);
2043 fputs_unfiltered (", ", gdb_stdlog);
2044 target_debug_print_const_gdb_byte_p (arg1);
2045 fputs_unfiltered (", ", gdb_stdlog);
2046 target_debug_print_int (arg2);
2047 fputs_unfiltered (")\n", gdb_stdlog);
2048}
2049
f0f9ff95
TT
2050static CORE_ADDR
2051delegate_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
2052{
2053 self = self->beneath;
2054 return self->to_get_thread_local_address (self, arg1, arg2, arg3);
2055}
2056
2057static CORE_ADDR
2058tdefault_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
2059{
2060 generic_tls_error ();
2061}
2062
a7068b60
TT
2063static CORE_ADDR
2064debug_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
2065{
2066 CORE_ADDR result;
2067 fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_thread_local_address (...)\n", debug_target.to_shortname);
2068 result = debug_target.to_get_thread_local_address (&debug_target, arg1, arg2, arg3);
2069 fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_thread_local_address (", debug_target.to_shortname);
2070 target_debug_print_struct_target_ops_p (&debug_target);
2071 fputs_unfiltered (", ", gdb_stdlog);
2072 target_debug_print_ptid_t (arg1);
2073 fputs_unfiltered (", ", gdb_stdlog);
2074 target_debug_print_CORE_ADDR (arg2);
2075 fputs_unfiltered (", ", gdb_stdlog);
2076 target_debug_print_CORE_ADDR (arg3);
2077 fputs_unfiltered (") = ", gdb_stdlog);
2078 target_debug_print_CORE_ADDR (result);
2079 fputs_unfiltered ("\n", gdb_stdlog);
2080 return result;
2081}
2082
a8bdc56b
TT
2083static enum target_xfer_status
2084delegate_xfer_partial (struct target_ops *self, enum target_object arg1, const char *arg2, gdb_byte *arg3, const gdb_byte *arg4, ULONGEST arg5, ULONGEST arg6, ULONGEST *arg7)
6b84065d
TT
2085{
2086 self = self->beneath;
2087 return self->to_xfer_partial (self, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
2088}
2089
a8bdc56b
TT
2090static enum target_xfer_status
2091tdefault_xfer_partial (struct target_ops *self, enum target_object arg1, const char *arg2, gdb_byte *arg3, const gdb_byte *arg4, ULONGEST arg5, ULONGEST arg6, ULONGEST *arg7)
6b84065d
TT
2092{
2093 return TARGET_XFER_E_IO;
2094}
2095
a7068b60
TT
2096static enum target_xfer_status
2097debug_xfer_partial (struct target_ops *self, enum target_object arg1, const char *arg2, gdb_byte *arg3, const gdb_byte *arg4, ULONGEST arg5, ULONGEST arg6, ULONGEST *arg7)
2098{
2099 enum target_xfer_status result;
2100 fprintf_unfiltered (gdb_stdlog, "-> %s->to_xfer_partial (...)\n", debug_target.to_shortname);
2101 result = debug_target.to_xfer_partial (&debug_target, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
2102 fprintf_unfiltered (gdb_stdlog, "<- %s->to_xfer_partial (", debug_target.to_shortname);
2103 target_debug_print_struct_target_ops_p (&debug_target);
2104 fputs_unfiltered (", ", gdb_stdlog);
2105 target_debug_print_enum_target_object (arg1);
2106 fputs_unfiltered (", ", gdb_stdlog);
2107 target_debug_print_const_char_p (arg2);
2108 fputs_unfiltered (", ", gdb_stdlog);
2109 target_debug_print_gdb_byte_p (arg3);
2110 fputs_unfiltered (", ", gdb_stdlog);
2111 target_debug_print_const_gdb_byte_p (arg4);
2112 fputs_unfiltered (", ", gdb_stdlog);
2113 target_debug_print_ULONGEST (arg5);
2114 fputs_unfiltered (", ", gdb_stdlog);
2115 target_debug_print_ULONGEST (arg6);
2116 fputs_unfiltered (", ", gdb_stdlog);
2117 target_debug_print_ULONGEST_p (arg7);
2118 fputs_unfiltered (") = ", gdb_stdlog);
2119 target_debug_print_enum_target_xfer_status (result);
2120 fputs_unfiltered ("\n", gdb_stdlog);
2121 return result;
2122}
2123
09c98b44
DB
2124static ULONGEST
2125delegate_get_memory_xfer_limit (struct target_ops *self)
2126{
2127 self = self->beneath;
2128 return self->to_get_memory_xfer_limit (self);
2129}
2130
2131static ULONGEST
2132tdefault_get_memory_xfer_limit (struct target_ops *self)
2133{
2134 return ULONGEST_MAX;
2135}
2136
2137static ULONGEST
2138debug_get_memory_xfer_limit (struct target_ops *self)
2139{
2140 ULONGEST result;
2141 fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_memory_xfer_limit (...)\n", debug_target.to_shortname);
2142 result = debug_target.to_get_memory_xfer_limit (&debug_target);
2143 fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_memory_xfer_limit (", debug_target.to_shortname);
2144 target_debug_print_struct_target_ops_p (&debug_target);
2145 fputs_unfiltered (") = ", gdb_stdlog);
2146 target_debug_print_ULONGEST (result);
2147 fputs_unfiltered ("\n", gdb_stdlog);
2148 return result;
2149}
2150
6b2c5a57
TT
2151static VEC(mem_region_s) *
2152delegate_memory_map (struct target_ops *self)
2153{
2154 self = self->beneath;
2155 return self->to_memory_map (self);
2156}
2157
2158static VEC(mem_region_s) *
2159tdefault_memory_map (struct target_ops *self)
2160{
9b144037 2161 return NULL;
6b2c5a57
TT
2162}
2163
a7068b60
TT
2164static VEC(mem_region_s) *
2165debug_memory_map (struct target_ops *self)
2166{
2167 VEC(mem_region_s) * result;
2168 fprintf_unfiltered (gdb_stdlog, "-> %s->to_memory_map (...)\n", debug_target.to_shortname);
2169 result = debug_target.to_memory_map (&debug_target);
2170 fprintf_unfiltered (gdb_stdlog, "<- %s->to_memory_map (", debug_target.to_shortname);
2171 target_debug_print_struct_target_ops_p (&debug_target);
2172 fputs_unfiltered (") = ", gdb_stdlog);
2173 target_debug_print_VEC_mem_region_s__p (result);
2174 fputs_unfiltered ("\n", gdb_stdlog);
2175 return result;
2176}
2177
e8a6c6ac
TT
2178static void
2179delegate_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
2180{
2181 self = self->beneath;
2182 self->to_flash_erase (self, arg1, arg2);
2183}
2184
2185static void
2186tdefault_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
2187{
2188 tcomplain ();
2189}
2190
a7068b60
TT
2191static void
2192debug_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
2193{
2194 fprintf_unfiltered (gdb_stdlog, "-> %s->to_flash_erase (...)\n", debug_target.to_shortname);
2195 debug_target.to_flash_erase (&debug_target, arg1, arg2);
2196 fprintf_unfiltered (gdb_stdlog, "<- %s->to_flash_erase (", debug_target.to_shortname);
2197 target_debug_print_struct_target_ops_p (&debug_target);
2198 fputs_unfiltered (", ", gdb_stdlog);
2199 target_debug_print_ULONGEST (arg1);
2200 fputs_unfiltered (", ", gdb_stdlog);
2201 target_debug_print_LONGEST (arg2);
2202 fputs_unfiltered (")\n", gdb_stdlog);
2203}
2204
f6fb2925
TT
2205static void
2206delegate_flash_done (struct target_ops *self)
2207{
2208 self = self->beneath;
2209 self->to_flash_done (self);
2210}
2211
2212static void
2213tdefault_flash_done (struct target_ops *self)
2214{
2215 tcomplain ();
2216}
2217
a7068b60
TT
2218static void
2219debug_flash_done (struct target_ops *self)
2220{
2221 fprintf_unfiltered (gdb_stdlog, "-> %s->to_flash_done (...)\n", debug_target.to_shortname);
2222 debug_target.to_flash_done (&debug_target);
2223 fprintf_unfiltered (gdb_stdlog, "<- %s->to_flash_done (", debug_target.to_shortname);
2224 target_debug_print_struct_target_ops_p (&debug_target);
2225 fputs_unfiltered (")\n", gdb_stdlog);
2226}
2227
2117c711
TT
2228static const struct target_desc *
2229delegate_read_description (struct target_ops *self)
2230{
2231 self = self->beneath;
2232 return self->to_read_description (self);
2233}
2234
2235static const struct target_desc *
2236tdefault_read_description (struct target_ops *self)
2237{
9b144037 2238 return NULL;
2117c711
TT
2239}
2240
a7068b60
TT
2241static const struct target_desc *
2242debug_read_description (struct target_ops *self)
2243{
2244 const struct target_desc * result;
2245 fprintf_unfiltered (gdb_stdlog, "-> %s->to_read_description (...)\n", debug_target.to_shortname);
2246 result = debug_target.to_read_description (&debug_target);
2247 fprintf_unfiltered (gdb_stdlog, "<- %s->to_read_description (", debug_target.to_shortname);
2248 target_debug_print_struct_target_ops_p (&debug_target);
2249 fputs_unfiltered (") = ", gdb_stdlog);
2250 target_debug_print_const_struct_target_desc_p (result);
2251 fputs_unfiltered ("\n", gdb_stdlog);
2252 return result;
2253}
2254
4229b31d
TT
2255static ptid_t
2256delegate_get_ada_task_ptid (struct target_ops *self, long arg1, long arg2)
2257{
2258 self = self->beneath;
2259 return self->to_get_ada_task_ptid (self, arg1, arg2);
2260}
2261
a7068b60
TT
2262static ptid_t
2263debug_get_ada_task_ptid (struct target_ops *self, long arg1, long arg2)
2264{
2265 ptid_t result;
2266 fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_ada_task_ptid (...)\n", debug_target.to_shortname);
2267 result = debug_target.to_get_ada_task_ptid (&debug_target, arg1, arg2);
2268 fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_ada_task_ptid (", debug_target.to_shortname);
2269 target_debug_print_struct_target_ops_p (&debug_target);
2270 fputs_unfiltered (", ", gdb_stdlog);
2271 target_debug_print_long (arg1);
2272 fputs_unfiltered (", ", gdb_stdlog);
2273 target_debug_print_long (arg2);
2274 fputs_unfiltered (") = ", gdb_stdlog);
2275 target_debug_print_ptid_t (result);
2276 fputs_unfiltered ("\n", gdb_stdlog);
2277 return result;
2278}
2279
8de71aab
TT
2280static int
2281delegate_auxv_parse (struct target_ops *self, gdb_byte **arg1, gdb_byte *arg2, CORE_ADDR *arg3, CORE_ADDR *arg4)
2282{
2283 self = self->beneath;
2284 return self->to_auxv_parse (self, arg1, arg2, arg3, arg4);
2285}
2286
a7068b60
TT
2287static int
2288debug_auxv_parse (struct target_ops *self, gdb_byte **arg1, gdb_byte *arg2, CORE_ADDR *arg3, CORE_ADDR *arg4)
2289{
2290 int result;
2291 fprintf_unfiltered (gdb_stdlog, "-> %s->to_auxv_parse (...)\n", debug_target.to_shortname);
2292 result = debug_target.to_auxv_parse (&debug_target, arg1, arg2, arg3, arg4);
2293 fprintf_unfiltered (gdb_stdlog, "<- %s->to_auxv_parse (", debug_target.to_shortname);
2294 target_debug_print_struct_target_ops_p (&debug_target);
2295 fputs_unfiltered (", ", gdb_stdlog);
2296 target_debug_print_gdb_byte_pp (arg1);
2297 fputs_unfiltered (", ", gdb_stdlog);
2298 target_debug_print_gdb_byte_p (arg2);
2299 fputs_unfiltered (", ", gdb_stdlog);
2300 target_debug_print_CORE_ADDR_p (arg3);
2301 fputs_unfiltered (", ", gdb_stdlog);
2302 target_debug_print_CORE_ADDR_p (arg4);
2303 fputs_unfiltered (") = ", gdb_stdlog);
2304 target_debug_print_int (result);
2305 fputs_unfiltered ("\n", gdb_stdlog);
2306 return result;
2307}
2308
58a5184e
TT
2309static int
2310delegate_search_memory (struct target_ops *self, CORE_ADDR arg1, ULONGEST arg2, const gdb_byte *arg3, ULONGEST arg4, CORE_ADDR *arg5)
2311{
2312 self = self->beneath;
2313 return self->to_search_memory (self, arg1, arg2, arg3, arg4, arg5);
2314}
2315
a7068b60
TT
2316static int
2317debug_search_memory (struct target_ops *self, CORE_ADDR arg1, ULONGEST arg2, const gdb_byte *arg3, ULONGEST arg4, CORE_ADDR *arg5)
2318{
2319 int result;
2320 fprintf_unfiltered (gdb_stdlog, "-> %s->to_search_memory (...)\n", debug_target.to_shortname);
2321 result = debug_target.to_search_memory (&debug_target, arg1, arg2, arg3, arg4, arg5);
2322 fprintf_unfiltered (gdb_stdlog, "<- %s->to_search_memory (", debug_target.to_shortname);
2323 target_debug_print_struct_target_ops_p (&debug_target);
2324 fputs_unfiltered (", ", gdb_stdlog);
2325 target_debug_print_CORE_ADDR (arg1);
2326 fputs_unfiltered (", ", gdb_stdlog);
2327 target_debug_print_ULONGEST (arg2);
2328 fputs_unfiltered (", ", gdb_stdlog);
2329 target_debug_print_const_gdb_byte_p (arg3);
2330 fputs_unfiltered (", ", gdb_stdlog);
2331 target_debug_print_ULONGEST (arg4);
2332 fputs_unfiltered (", ", gdb_stdlog);
2333 target_debug_print_CORE_ADDR_p (arg5);
2334 fputs_unfiltered (") = ", gdb_stdlog);
2335 target_debug_print_int (result);
2336 fputs_unfiltered ("\n", gdb_stdlog);
2337 return result;
2338}
2339
53e1cfc7
TT
2340static int
2341delegate_can_execute_reverse (struct target_ops *self)
2342{
2343 self = self->beneath;
2344 return self->to_can_execute_reverse (self);
2345}
2346
2347static int
2348tdefault_can_execute_reverse (struct target_ops *self)
2349{
2350 return 0;
2351}
2352
a7068b60
TT
2353static int
2354debug_can_execute_reverse (struct target_ops *self)
2355{
2356 int result;
2357 fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_execute_reverse (...)\n", debug_target.to_shortname);
2358 result = debug_target.to_can_execute_reverse (&debug_target);
2359 fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_execute_reverse (", debug_target.to_shortname);
2360 target_debug_print_struct_target_ops_p (&debug_target);
2361 fputs_unfiltered (") = ", gdb_stdlog);
2362 target_debug_print_int (result);
2363 fputs_unfiltered ("\n", gdb_stdlog);
2364 return result;
2365}
2366
a8bdc56b 2367static enum exec_direction_kind
fe31bf5b
TT
2368delegate_execution_direction (struct target_ops *self)
2369{
2370 self = self->beneath;
2371 return self->to_execution_direction (self);
2372}
2373
a7068b60
TT
2374static enum exec_direction_kind
2375debug_execution_direction (struct target_ops *self)
2376{
2377 enum exec_direction_kind result;
2378 fprintf_unfiltered (gdb_stdlog, "-> %s->to_execution_direction (...)\n", debug_target.to_shortname);
2379 result = debug_target.to_execution_direction (&debug_target);
2380 fprintf_unfiltered (gdb_stdlog, "<- %s->to_execution_direction (", debug_target.to_shortname);
2381 target_debug_print_struct_target_ops_p (&debug_target);
2382 fputs_unfiltered (") = ", gdb_stdlog);
2383 target_debug_print_enum_exec_direction_kind (result);
2384 fputs_unfiltered ("\n", gdb_stdlog);
2385 return result;
2386}
2387
a7304748
TT
2388static int
2389delegate_supports_multi_process (struct target_ops *self)
2390{
2391 self = self->beneath;
2392 return self->to_supports_multi_process (self);
2393}
2394
2395static int
2396tdefault_supports_multi_process (struct target_ops *self)
2397{
2398 return 0;
2399}
2400
a7068b60
TT
2401static int
2402debug_supports_multi_process (struct target_ops *self)
2403{
2404 int result;
2405 fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_multi_process (...)\n", debug_target.to_shortname);
2406 result = debug_target.to_supports_multi_process (&debug_target);
2407 fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_multi_process (", debug_target.to_shortname);
2408 target_debug_print_struct_target_ops_p (&debug_target);
2409 fputs_unfiltered (") = ", gdb_stdlog);
2410 target_debug_print_int (result);
2411 fputs_unfiltered ("\n", gdb_stdlog);
2412 return result;
2413}
2414
aab1b22d
TT
2415static int
2416delegate_supports_enable_disable_tracepoint (struct target_ops *self)
2417{
2418 self = self->beneath;
2419 return self->to_supports_enable_disable_tracepoint (self);
2420}
2421
2422static int
2423tdefault_supports_enable_disable_tracepoint (struct target_ops *self)
2424{
2425 return 0;
2426}
2427
a7068b60
TT
2428static int
2429debug_supports_enable_disable_tracepoint (struct target_ops *self)
2430{
2431 int result;
2432 fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_enable_disable_tracepoint (...)\n", debug_target.to_shortname);
2433 result = debug_target.to_supports_enable_disable_tracepoint (&debug_target);
2434 fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_enable_disable_tracepoint (", debug_target.to_shortname);
2435 target_debug_print_struct_target_ops_p (&debug_target);
2436 fputs_unfiltered (") = ", gdb_stdlog);
2437 target_debug_print_int (result);
2438 fputs_unfiltered ("\n", gdb_stdlog);
2439 return result;
2440}
2441
9409d39e
TT
2442static int
2443delegate_supports_string_tracing (struct target_ops *self)
2444{
2445 self = self->beneath;
2446 return self->to_supports_string_tracing (self);
2447}
2448
2449static int
2450tdefault_supports_string_tracing (struct target_ops *self)
2451{
2452 return 0;
2453}
2454
a7068b60
TT
2455static int
2456debug_supports_string_tracing (struct target_ops *self)
2457{
2458 int result;
2459 fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_string_tracing (...)\n", debug_target.to_shortname);
2460 result = debug_target.to_supports_string_tracing (&debug_target);
2461 fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_string_tracing (", debug_target.to_shortname);
2462 target_debug_print_struct_target_ops_p (&debug_target);
2463 fputs_unfiltered (") = ", gdb_stdlog);
2464 target_debug_print_int (result);
2465 fputs_unfiltered ("\n", gdb_stdlog);
2466 return result;
2467}
2468
ccfde2a0
TT
2469static int
2470delegate_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
2471{
2472 self = self->beneath;
2473 return self->to_supports_evaluation_of_breakpoint_conditions (self);
2474}
2475
2476static int
2477tdefault_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
2478{
2479 return 0;
2480}
2481
a7068b60
TT
2482static int
2483debug_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
2484{
2485 int result;
2486 fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_evaluation_of_breakpoint_conditions (...)\n", debug_target.to_shortname);
2487 result = debug_target.to_supports_evaluation_of_breakpoint_conditions (&debug_target);
2488 fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_evaluation_of_breakpoint_conditions (", debug_target.to_shortname);
2489 target_debug_print_struct_target_ops_p (&debug_target);
2490 fputs_unfiltered (") = ", gdb_stdlog);
2491 target_debug_print_int (result);
2492 fputs_unfiltered ("\n", gdb_stdlog);
2493 return result;
2494}
2495
843f59ed
TT
2496static int
2497delegate_can_run_breakpoint_commands (struct target_ops *self)
2498{
2499 self = self->beneath;
2500 return self->to_can_run_breakpoint_commands (self);
2501}
2502
2503static int
2504tdefault_can_run_breakpoint_commands (struct target_ops *self)
2505{
2506 return 0;
2507}
2508
a7068b60
TT
2509static int
2510debug_can_run_breakpoint_commands (struct target_ops *self)
2511{
2512 int result;
2513 fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_run_breakpoint_commands (...)\n", debug_target.to_shortname);
2514 result = debug_target.to_can_run_breakpoint_commands (&debug_target);
2515 fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_run_breakpoint_commands (", debug_target.to_shortname);
2516 target_debug_print_struct_target_ops_p (&debug_target);
2517 fputs_unfiltered (") = ", gdb_stdlog);
2518 target_debug_print_int (result);
2519 fputs_unfiltered ("\n", gdb_stdlog);
2520 return result;
2521}
2522
43eba180
TT
2523static struct gdbarch *
2524delegate_thread_architecture (struct target_ops *self, ptid_t arg1)
2525{
2526 self = self->beneath;
2527 return self->to_thread_architecture (self, arg1);
2528}
2529
a7068b60
TT
2530static struct gdbarch *
2531debug_thread_architecture (struct target_ops *self, ptid_t arg1)
2532{
2533 struct gdbarch * result;
2534 fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_architecture (...)\n", debug_target.to_shortname);
2535 result = debug_target.to_thread_architecture (&debug_target, arg1);
2536 fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_architecture (", debug_target.to_shortname);
2537 target_debug_print_struct_target_ops_p (&debug_target);
2538 fputs_unfiltered (", ", gdb_stdlog);
2539 target_debug_print_ptid_t (arg1);
2540 fputs_unfiltered (") = ", gdb_stdlog);
2541 target_debug_print_struct_gdbarch_p (result);
2542 fputs_unfiltered ("\n", gdb_stdlog);
2543 return result;
2544}
2545
8eaff7cd
TT
2546static struct address_space *
2547delegate_thread_address_space (struct target_ops *self, ptid_t arg1)
2548{
2549 self = self->beneath;
2550 return self->to_thread_address_space (self, arg1);
2551}
2552
a7068b60
TT
2553static struct address_space *
2554debug_thread_address_space (struct target_ops *self, ptid_t arg1)
2555{
2556 struct address_space * result;
2557 fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_address_space (...)\n", debug_target.to_shortname);
2558 result = debug_target.to_thread_address_space (&debug_target, arg1);
2559 fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_address_space (", debug_target.to_shortname);
2560 target_debug_print_struct_target_ops_p (&debug_target);
2561 fputs_unfiltered (", ", gdb_stdlog);
2562 target_debug_print_ptid_t (arg1);
2563 fputs_unfiltered (") = ", gdb_stdlog);
2564 target_debug_print_struct_address_space_p (result);
2565 fputs_unfiltered ("\n", gdb_stdlog);
2566 return result;
2567}
2568
4bd7dc42
GB
2569static int
2570delegate_filesystem_is_local (struct target_ops *self)
2571{
2572 self = self->beneath;
2573 return self->to_filesystem_is_local (self);
2574}
2575
2576static int
2577tdefault_filesystem_is_local (struct target_ops *self)
2578{
2579 return 1;
2580}
2581
2582static int
2583debug_filesystem_is_local (struct target_ops *self)
2584{
2585 int result;
2586 fprintf_unfiltered (gdb_stdlog, "-> %s->to_filesystem_is_local (...)\n", debug_target.to_shortname);
2587 result = debug_target.to_filesystem_is_local (&debug_target);
2588 fprintf_unfiltered (gdb_stdlog, "<- %s->to_filesystem_is_local (", debug_target.to_shortname);
2589 target_debug_print_struct_target_ops_p (&debug_target);
2590 fputs_unfiltered (") = ", gdb_stdlog);
2591 target_debug_print_int (result);
2592 fputs_unfiltered ("\n", gdb_stdlog);
2593 return result;
2594}
2595
5536135b
TT
2596static void
2597delegate_trace_init (struct target_ops *self)
2598{
2599 self = self->beneath;
2600 self->to_trace_init (self);
2601}
2602
2603static void
2604tdefault_trace_init (struct target_ops *self)
2605{
2606 tcomplain ();
2607}
2608
a7068b60
TT
2609static void
2610debug_trace_init (struct target_ops *self)
2611{
2612 fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_init (...)\n", debug_target.to_shortname);
2613 debug_target.to_trace_init (&debug_target);
2614 fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_init (", debug_target.to_shortname);
2615 target_debug_print_struct_target_ops_p (&debug_target);
2616 fputs_unfiltered (")\n", gdb_stdlog);
2617}
2618
9a980a22
TT
2619static void
2620delegate_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
2621{
2622 self = self->beneath;
2623 self->to_download_tracepoint (self, arg1);
2624}
2625
2626static void
2627tdefault_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
2628{
2629 tcomplain ();
2630}
2631
a7068b60
TT
2632static void
2633debug_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
2634{
2635 fprintf_unfiltered (gdb_stdlog, "-> %s->to_download_tracepoint (...)\n", debug_target.to_shortname);
2636 debug_target.to_download_tracepoint (&debug_target, arg1);
2637 fprintf_unfiltered (gdb_stdlog, "<- %s->to_download_tracepoint (", debug_target.to_shortname);
2638 target_debug_print_struct_target_ops_p (&debug_target);
2639 fputs_unfiltered (", ", gdb_stdlog);
2640 target_debug_print_struct_bp_location_p (arg1);
2641 fputs_unfiltered (")\n", gdb_stdlog);
2642}
2643
719acc4a
TT
2644static int
2645delegate_can_download_tracepoint (struct target_ops *self)
2646{
2647 self = self->beneath;
2648 return self->to_can_download_tracepoint (self);
2649}
2650
2651static int
2652tdefault_can_download_tracepoint (struct target_ops *self)
2653{
2654 return 0;
2655}
2656
a7068b60
TT
2657static int
2658debug_can_download_tracepoint (struct target_ops *self)
2659{
2660 int result;
2661 fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_download_tracepoint (...)\n", debug_target.to_shortname);
2662 result = debug_target.to_can_download_tracepoint (&debug_target);
2663 fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_download_tracepoint (", debug_target.to_shortname);
2664 target_debug_print_struct_target_ops_p (&debug_target);
2665 fputs_unfiltered (") = ", gdb_stdlog);
2666 target_debug_print_int (result);
2667 fputs_unfiltered ("\n", gdb_stdlog);
2668 return result;
2669}
2670
94eb98b9
TT
2671static void
2672delegate_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
2673{
2674 self = self->beneath;
2675 self->to_download_trace_state_variable (self, arg1);
2676}
2677
2678static void
2679tdefault_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
2680{
2681 tcomplain ();
2682}
2683
a7068b60
TT
2684static void
2685debug_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
2686{
2687 fprintf_unfiltered (gdb_stdlog, "-> %s->to_download_trace_state_variable (...)\n", debug_target.to_shortname);
2688 debug_target.to_download_trace_state_variable (&debug_target, arg1);
2689 fprintf_unfiltered (gdb_stdlog, "<- %s->to_download_trace_state_variable (", debug_target.to_shortname);
2690 target_debug_print_struct_target_ops_p (&debug_target);
2691 fputs_unfiltered (", ", gdb_stdlog);
2692 target_debug_print_struct_trace_state_variable_p (arg1);
2693 fputs_unfiltered (")\n", gdb_stdlog);
2694}
2695
151f70f1
TT
2696static void
2697delegate_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
2698{
2699 self = self->beneath;
2700 self->to_enable_tracepoint (self, arg1);
2701}
2702
2703static void
2704tdefault_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
2705{
2706 tcomplain ();
2707}
2708
a7068b60
TT
2709static void
2710debug_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
2711{
2712 fprintf_unfiltered (gdb_stdlog, "-> %s->to_enable_tracepoint (...)\n", debug_target.to_shortname);
2713 debug_target.to_enable_tracepoint (&debug_target, arg1);
2714 fprintf_unfiltered (gdb_stdlog, "<- %s->to_enable_tracepoint (", debug_target.to_shortname);
2715 target_debug_print_struct_target_ops_p (&debug_target);
2716 fputs_unfiltered (", ", gdb_stdlog);
2717 target_debug_print_struct_bp_location_p (arg1);
2718 fputs_unfiltered (")\n", gdb_stdlog);
2719}
2720
05c41993
TT
2721static void
2722delegate_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
2723{
2724 self = self->beneath;
2725 self->to_disable_tracepoint (self, arg1);
2726}
2727
2728static void
2729tdefault_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
2730{
2731 tcomplain ();
2732}
2733
a7068b60
TT
2734static void
2735debug_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
2736{
2737 fprintf_unfiltered (gdb_stdlog, "-> %s->to_disable_tracepoint (...)\n", debug_target.to_shortname);
2738 debug_target.to_disable_tracepoint (&debug_target, arg1);
2739 fprintf_unfiltered (gdb_stdlog, "<- %s->to_disable_tracepoint (", debug_target.to_shortname);
2740 target_debug_print_struct_target_ops_p (&debug_target);
2741 fputs_unfiltered (", ", gdb_stdlog);
2742 target_debug_print_struct_bp_location_p (arg1);
2743 fputs_unfiltered (")\n", gdb_stdlog);
2744}
2745
86dd181d
TT
2746static void
2747delegate_trace_set_readonly_regions (struct target_ops *self)
2748{
2749 self = self->beneath;
2750 self->to_trace_set_readonly_regions (self);
2751}
2752
2753static void
2754tdefault_trace_set_readonly_regions (struct target_ops *self)
2755{
2756 tcomplain ();
2757}
2758
a7068b60
TT
2759static void
2760debug_trace_set_readonly_regions (struct target_ops *self)
2761{
2762 fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_set_readonly_regions (...)\n", debug_target.to_shortname);
2763 debug_target.to_trace_set_readonly_regions (&debug_target);
2764 fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_set_readonly_regions (", debug_target.to_shortname);
2765 target_debug_print_struct_target_ops_p (&debug_target);
2766 fputs_unfiltered (")\n", gdb_stdlog);
2767}
2768
25da2e80
TT
2769static void
2770delegate_trace_start (struct target_ops *self)
2771{
2772 self = self->beneath;
2773 self->to_trace_start (self);
2774}
2775
2776static void
2777tdefault_trace_start (struct target_ops *self)
2778{
2779 tcomplain ();
2780}
2781
a7068b60
TT
2782static void
2783debug_trace_start (struct target_ops *self)
2784{
2785 fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_start (...)\n", debug_target.to_shortname);
2786 debug_target.to_trace_start (&debug_target);
2787 fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_start (", debug_target.to_shortname);
2788 target_debug_print_struct_target_ops_p (&debug_target);
2789 fputs_unfiltered (")\n", gdb_stdlog);
2790}
2791
4072d4ff
TT
2792static int
2793delegate_get_trace_status (struct target_ops *self, struct trace_status *arg1)
2794{
2795 self = self->beneath;
2796 return self->to_get_trace_status (self, arg1);
2797}
2798
2799static int
2800tdefault_get_trace_status (struct target_ops *self, struct trace_status *arg1)
2801{
2802 return -1;
2803}
2804
a7068b60
TT
2805static int
2806debug_get_trace_status (struct target_ops *self, struct trace_status *arg1)
2807{
2808 int result;
2809 fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_trace_status (...)\n", debug_target.to_shortname);
2810 result = debug_target.to_get_trace_status (&debug_target, arg1);
2811 fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_trace_status (", debug_target.to_shortname);
2812 target_debug_print_struct_target_ops_p (&debug_target);
2813 fputs_unfiltered (", ", gdb_stdlog);
2814 target_debug_print_struct_trace_status_p (arg1);
2815 fputs_unfiltered (") = ", gdb_stdlog);
2816 target_debug_print_int (result);
2817 fputs_unfiltered ("\n", gdb_stdlog);
2818 return result;
2819}
2820
6fea14cd
TT
2821static void
2822delegate_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
2823{
2824 self = self->beneath;
2825 self->to_get_tracepoint_status (self, arg1, arg2);
2826}
2827
2828static void
2829tdefault_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
2830{
2831 tcomplain ();
2832}
2833
a7068b60
TT
2834static void
2835debug_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
2836{
2837 fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tracepoint_status (...)\n", debug_target.to_shortname);
2838 debug_target.to_get_tracepoint_status (&debug_target, arg1, arg2);
2839 fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tracepoint_status (", debug_target.to_shortname);
2840 target_debug_print_struct_target_ops_p (&debug_target);
2841 fputs_unfiltered (", ", gdb_stdlog);
2842 target_debug_print_struct_breakpoint_p (arg1);
2843 fputs_unfiltered (", ", gdb_stdlog);
2844 target_debug_print_struct_uploaded_tp_p (arg2);
2845 fputs_unfiltered (")\n", gdb_stdlog);
2846}
2847
e51c07ea
TT
2848static void
2849delegate_trace_stop (struct target_ops *self)
2850{
2851 self = self->beneath;
2852 self->to_trace_stop (self);
2853}
2854
2855static void
2856tdefault_trace_stop (struct target_ops *self)
2857{
2858 tcomplain ();
2859}
2860
a7068b60
TT
2861static void
2862debug_trace_stop (struct target_ops *self)
2863{
2864 fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_stop (...)\n", debug_target.to_shortname);
2865 debug_target.to_trace_stop (&debug_target);
2866 fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_stop (", debug_target.to_shortname);
2867 target_debug_print_struct_target_ops_p (&debug_target);
2868 fputs_unfiltered (")\n", gdb_stdlog);
2869}
2870
afc94e66 2871static int
a8bdc56b 2872delegate_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
afc94e66
TT
2873{
2874 self = self->beneath;
2875 return self->to_trace_find (self, arg1, arg2, arg3, arg4, arg5);
2876}
2877
2878static int
a8bdc56b 2879tdefault_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
afc94e66
TT
2880{
2881 return -1;
2882}
2883
a7068b60
TT
2884static int
2885debug_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
2886{
2887 int result;
2888 fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_find (...)\n", debug_target.to_shortname);
2889 result = debug_target.to_trace_find (&debug_target, arg1, arg2, arg3, arg4, arg5);
2890 fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_find (", debug_target.to_shortname);
2891 target_debug_print_struct_target_ops_p (&debug_target);
2892 fputs_unfiltered (", ", gdb_stdlog);
2893 target_debug_print_enum_trace_find_type (arg1);
2894 fputs_unfiltered (", ", gdb_stdlog);
2895 target_debug_print_int (arg2);
2896 fputs_unfiltered (", ", gdb_stdlog);
2897 target_debug_print_CORE_ADDR (arg3);
2898 fputs_unfiltered (", ", gdb_stdlog);
2899 target_debug_print_CORE_ADDR (arg4);
2900 fputs_unfiltered (", ", gdb_stdlog);
2901 target_debug_print_int_p (arg5);
2902 fputs_unfiltered (") = ", gdb_stdlog);
2903 target_debug_print_int (result);
2904 fputs_unfiltered ("\n", gdb_stdlog);
2905 return result;
2906}
2907
959bcd0b
TT
2908static int
2909delegate_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
2910{
2911 self = self->beneath;
2912 return self->to_get_trace_state_variable_value (self, arg1, arg2);
2913}
2914
2915static int
2916tdefault_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
2917{
2918 return 0;
2919}
2920
a7068b60
TT
2921static int
2922debug_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
2923{
2924 int result;
2925 fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_trace_state_variable_value (...)\n", debug_target.to_shortname);
2926 result = debug_target.to_get_trace_state_variable_value (&debug_target, arg1, arg2);
2927 fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_trace_state_variable_value (", debug_target.to_shortname);
2928 target_debug_print_struct_target_ops_p (&debug_target);
2929 fputs_unfiltered (", ", gdb_stdlog);
2930 target_debug_print_int (arg1);
2931 fputs_unfiltered (", ", gdb_stdlog);
2932 target_debug_print_LONGEST_p (arg2);
2933 fputs_unfiltered (") = ", gdb_stdlog);
2934 target_debug_print_int (result);
2935 fputs_unfiltered ("\n", gdb_stdlog);
2936 return result;
2937}
2938
a2e6c147
TT
2939static int
2940delegate_save_trace_data (struct target_ops *self, const char *arg1)
2941{
2942 self = self->beneath;
2943 return self->to_save_trace_data (self, arg1);
2944}
2945
2946static int
2947tdefault_save_trace_data (struct target_ops *self, const char *arg1)
2948{
2949 tcomplain ();
2950}
2951
a7068b60
TT
2952static int
2953debug_save_trace_data (struct target_ops *self, const char *arg1)
2954{
2955 int result;
2956 fprintf_unfiltered (gdb_stdlog, "-> %s->to_save_trace_data (...)\n", debug_target.to_shortname);
2957 result = debug_target.to_save_trace_data (&debug_target, arg1);
2958 fprintf_unfiltered (gdb_stdlog, "<- %s->to_save_trace_data (", debug_target.to_shortname);
2959 target_debug_print_struct_target_ops_p (&debug_target);
2960 fputs_unfiltered (", ", gdb_stdlog);
2961 target_debug_print_const_char_p (arg1);
2962 fputs_unfiltered (") = ", gdb_stdlog);
2963 target_debug_print_int (result);
2964 fputs_unfiltered ("\n", gdb_stdlog);
2965 return result;
2966}
2967
1e949b00
TT
2968static int
2969delegate_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
2970{
2971 self = self->beneath;
2972 return self->to_upload_tracepoints (self, arg1);
2973}
2974
2975static int
2976tdefault_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
2977{
2978 return 0;
2979}
2980
a7068b60
TT
2981static int
2982debug_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
2983{
2984 int result;
2985 fprintf_unfiltered (gdb_stdlog, "-> %s->to_upload_tracepoints (...)\n", debug_target.to_shortname);
2986 result = debug_target.to_upload_tracepoints (&debug_target, arg1);
2987 fprintf_unfiltered (gdb_stdlog, "<- %s->to_upload_tracepoints (", debug_target.to_shortname);
2988 target_debug_print_struct_target_ops_p (&debug_target);
2989 fputs_unfiltered (", ", gdb_stdlog);
2990 target_debug_print_struct_uploaded_tp_pp (arg1);
2991 fputs_unfiltered (") = ", gdb_stdlog);
2992 target_debug_print_int (result);
2993 fputs_unfiltered ("\n", gdb_stdlog);
2994 return result;
2995}
2996
08120467
TT
2997static int
2998delegate_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
2999{
3000 self = self->beneath;
3001 return self->to_upload_trace_state_variables (self, arg1);
3002}
3003
3004static int
3005tdefault_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
3006{
3007 return 0;
3008}
3009
a7068b60
TT
3010static int
3011debug_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
3012{
3013 int result;
3014 fprintf_unfiltered (gdb_stdlog, "-> %s->to_upload_trace_state_variables (...)\n", debug_target.to_shortname);
3015 result = debug_target.to_upload_trace_state_variables (&debug_target, arg1);
3016 fprintf_unfiltered (gdb_stdlog, "<- %s->to_upload_trace_state_variables (", debug_target.to_shortname);
3017 target_debug_print_struct_target_ops_p (&debug_target);
3018 fputs_unfiltered (", ", gdb_stdlog);
3019 target_debug_print_struct_uploaded_tsv_pp (arg1);
3020 fputs_unfiltered (") = ", gdb_stdlog);
3021 target_debug_print_int (result);
3022 fputs_unfiltered ("\n", gdb_stdlog);
3023 return result;
3024}
3025
ace92e7d
TT
3026static LONGEST
3027delegate_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
3028{
3029 self = self->beneath;
3030 return self->to_get_raw_trace_data (self, arg1, arg2, arg3);
3031}
3032
3033static LONGEST
3034tdefault_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
3035{
3036 tcomplain ();
3037}
3038
a7068b60
TT
3039static LONGEST
3040debug_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
3041{
3042 LONGEST result;
3043 fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_raw_trace_data (...)\n", debug_target.to_shortname);
3044 result = debug_target.to_get_raw_trace_data (&debug_target, arg1, arg2, arg3);
3045 fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_raw_trace_data (", debug_target.to_shortname);
3046 target_debug_print_struct_target_ops_p (&debug_target);
3047 fputs_unfiltered (", ", gdb_stdlog);
3048 target_debug_print_gdb_byte_p (arg1);
3049 fputs_unfiltered (", ", gdb_stdlog);
3050 target_debug_print_ULONGEST (arg2);
3051 fputs_unfiltered (", ", gdb_stdlog);
3052 target_debug_print_LONGEST (arg3);
3053 fputs_unfiltered (") = ", gdb_stdlog);
3054 target_debug_print_LONGEST (result);
3055 fputs_unfiltered ("\n", gdb_stdlog);
3056 return result;
3057}
3058
9249843f
TT
3059static int
3060delegate_get_min_fast_tracepoint_insn_len (struct target_ops *self)
3061{
3062 self = self->beneath;
3063 return self->to_get_min_fast_tracepoint_insn_len (self);
3064}
3065
3066static int
3067tdefault_get_min_fast_tracepoint_insn_len (struct target_ops *self)
3068{
3069 return -1;
3070}
3071
a7068b60
TT
3072static int
3073debug_get_min_fast_tracepoint_insn_len (struct target_ops *self)
3074{
3075 int result;
3076 fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_min_fast_tracepoint_insn_len (...)\n", debug_target.to_shortname);
3077 result = debug_target.to_get_min_fast_tracepoint_insn_len (&debug_target);
3078 fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_min_fast_tracepoint_insn_len (", debug_target.to_shortname);
3079 target_debug_print_struct_target_ops_p (&debug_target);
3080 fputs_unfiltered (") = ", gdb_stdlog);
3081 target_debug_print_int (result);
3082 fputs_unfiltered ("\n", gdb_stdlog);
3083 return result;
3084}
3085
0bcfeddf
TT
3086static void
3087delegate_set_disconnected_tracing (struct target_ops *self, int arg1)
3088{
3089 self = self->beneath;
3090 self->to_set_disconnected_tracing (self, arg1);
3091}
3092
3093static void
3094tdefault_set_disconnected_tracing (struct target_ops *self, int arg1)
3095{
3096}
3097
a7068b60
TT
3098static void
3099debug_set_disconnected_tracing (struct target_ops *self, int arg1)
3100{
3101 fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_disconnected_tracing (...)\n", debug_target.to_shortname);
3102 debug_target.to_set_disconnected_tracing (&debug_target, arg1);
3103 fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_disconnected_tracing (", debug_target.to_shortname);
3104 target_debug_print_struct_target_ops_p (&debug_target);
3105 fputs_unfiltered (", ", gdb_stdlog);
3106 target_debug_print_int (arg1);
3107 fputs_unfiltered (")\n", gdb_stdlog);
3108}
3109
8d526939
TT
3110static void
3111delegate_set_circular_trace_buffer (struct target_ops *self, int arg1)
3112{
3113 self = self->beneath;
3114 self->to_set_circular_trace_buffer (self, arg1);
3115}
3116
3117static void
3118tdefault_set_circular_trace_buffer (struct target_ops *self, int arg1)
3119{
3120}
3121
a7068b60
TT
3122static void
3123debug_set_circular_trace_buffer (struct target_ops *self, int arg1)
3124{
3125 fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_circular_trace_buffer (...)\n", debug_target.to_shortname);
3126 debug_target.to_set_circular_trace_buffer (&debug_target, arg1);
3127 fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_circular_trace_buffer (", debug_target.to_shortname);
3128 target_debug_print_struct_target_ops_p (&debug_target);
3129 fputs_unfiltered (", ", gdb_stdlog);
3130 target_debug_print_int (arg1);
3131 fputs_unfiltered (")\n", gdb_stdlog);
3132}
3133
91df8d1d
TT
3134static void
3135delegate_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
3136{
3137 self = self->beneath;
3138 self->to_set_trace_buffer_size (self, arg1);
3139}
3140
3141static void
3142tdefault_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
3143{
3144}
3145
a7068b60
TT
3146static void
3147debug_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
3148{
3149 fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_trace_buffer_size (...)\n", debug_target.to_shortname);
3150 debug_target.to_set_trace_buffer_size (&debug_target, arg1);
3151 fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_trace_buffer_size (", debug_target.to_shortname);
3152 target_debug_print_struct_target_ops_p (&debug_target);
3153 fputs_unfiltered (", ", gdb_stdlog);
3154 target_debug_print_LONGEST (arg1);
3155 fputs_unfiltered (")\n", gdb_stdlog);
3156}
3157
8586ccaa
TT
3158static int
3159delegate_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
3160{
3161 self = self->beneath;
3162 return self->to_set_trace_notes (self, arg1, arg2, arg3);
3163}
3164
3165static int
3166tdefault_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
3167{
3168 return 0;
3169}
3170
a7068b60
TT
3171static int
3172debug_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
3173{
3174 int result;
3175 fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_trace_notes (...)\n", debug_target.to_shortname);
3176 result = debug_target.to_set_trace_notes (&debug_target, arg1, arg2, arg3);
3177 fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_trace_notes (", debug_target.to_shortname);
3178 target_debug_print_struct_target_ops_p (&debug_target);
3179 fputs_unfiltered (", ", gdb_stdlog);
3180 target_debug_print_const_char_p (arg1);
3181 fputs_unfiltered (", ", gdb_stdlog);
3182 target_debug_print_const_char_p (arg2);
3183 fputs_unfiltered (", ", gdb_stdlog);
3184 target_debug_print_const_char_p (arg3);
3185 fputs_unfiltered (") = ", gdb_stdlog);
3186 target_debug_print_int (result);
3187 fputs_unfiltered ("\n", gdb_stdlog);
3188 return result;
3189}
3190
9e538d0d
TT
3191static int
3192delegate_core_of_thread (struct target_ops *self, ptid_t arg1)
3193{
3194 self = self->beneath;
3195 return self->to_core_of_thread (self, arg1);
3196}
3197
3198static int
3199tdefault_core_of_thread (struct target_ops *self, ptid_t arg1)
3200{
3201 return -1;
3202}
3203
a7068b60
TT
3204static int
3205debug_core_of_thread (struct target_ops *self, ptid_t arg1)
3206{
3207 int result;
3208 fprintf_unfiltered (gdb_stdlog, "-> %s->to_core_of_thread (...)\n", debug_target.to_shortname);
3209 result = debug_target.to_core_of_thread (&debug_target, arg1);
3210 fprintf_unfiltered (gdb_stdlog, "<- %s->to_core_of_thread (", debug_target.to_shortname);
3211 target_debug_print_struct_target_ops_p (&debug_target);
3212 fputs_unfiltered (", ", gdb_stdlog);
3213 target_debug_print_ptid_t (arg1);
3214 fputs_unfiltered (") = ", gdb_stdlog);
3215 target_debug_print_int (result);
3216 fputs_unfiltered ("\n", gdb_stdlog);
3217 return result;
3218}
3219
eb276a6b
TT
3220static int
3221delegate_verify_memory (struct target_ops *self, const gdb_byte *arg1, CORE_ADDR arg2, ULONGEST arg3)
3222{
3223 self = self->beneath;
3224 return self->to_verify_memory (self, arg1, arg2, arg3);
3225}
3226
a7068b60
TT
3227static int
3228debug_verify_memory (struct target_ops *self, const gdb_byte *arg1, CORE_ADDR arg2, ULONGEST arg3)
3229{
3230 int result;
3231 fprintf_unfiltered (gdb_stdlog, "-> %s->to_verify_memory (...)\n", debug_target.to_shortname);
3232 result = debug_target.to_verify_memory (&debug_target, arg1, arg2, arg3);
3233 fprintf_unfiltered (gdb_stdlog, "<- %s->to_verify_memory (", debug_target.to_shortname);
3234 target_debug_print_struct_target_ops_p (&debug_target);
3235 fputs_unfiltered (", ", gdb_stdlog);
3236 target_debug_print_const_gdb_byte_p (arg1);
3237 fputs_unfiltered (", ", gdb_stdlog);
3238 target_debug_print_CORE_ADDR (arg2);
3239 fputs_unfiltered (", ", gdb_stdlog);
3240 target_debug_print_ULONGEST (arg3);
3241 fputs_unfiltered (") = ", gdb_stdlog);
3242 target_debug_print_int (result);
3243 fputs_unfiltered ("\n", gdb_stdlog);
3244 return result;
3245}
3246
22bcceee
TT
3247static int
3248delegate_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
3249{
3250 self = self->beneath;
3251 return self->to_get_tib_address (self, arg1, arg2);
3252}
3253
3254static int
3255tdefault_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
3256{
3257 tcomplain ();
3258}
3259
a7068b60
TT
3260static int
3261debug_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
3262{
3263 int result;
3264 fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tib_address (...)\n", debug_target.to_shortname);
3265 result = debug_target.to_get_tib_address (&debug_target, arg1, arg2);
3266 fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tib_address (", debug_target.to_shortname);
3267 target_debug_print_struct_target_ops_p (&debug_target);
3268 fputs_unfiltered (", ", gdb_stdlog);
3269 target_debug_print_ptid_t (arg1);
3270 fputs_unfiltered (", ", gdb_stdlog);
3271 target_debug_print_CORE_ADDR_p (arg2);
3272 fputs_unfiltered (") = ", gdb_stdlog);
3273 target_debug_print_int (result);
3274 fputs_unfiltered ("\n", gdb_stdlog);
3275 return result;
3276}
3277
dcd6917f
TT
3278static void
3279delegate_set_permissions (struct target_ops *self)
3280{
3281 self = self->beneath;
3282 self->to_set_permissions (self);
3283}
3284
3285static void
3286tdefault_set_permissions (struct target_ops *self)
3287{
3288}
3289
a7068b60
TT
3290static void
3291debug_set_permissions (struct target_ops *self)
3292{
3293 fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_permissions (...)\n", debug_target.to_shortname);
3294 debug_target.to_set_permissions (&debug_target);
3295 fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_permissions (", debug_target.to_shortname);
3296 target_debug_print_struct_target_ops_p (&debug_target);
3297 fputs_unfiltered (")\n", gdb_stdlog);
3298}
3299
4c3e4425
TT
3300static int
3301delegate_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
3302{
3303 self = self->beneath;
3304 return self->to_static_tracepoint_marker_at (self, arg1, arg2);
3305}
3306
3307static int
3308tdefault_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
3309{
3310 return 0;
3311}
3312
a7068b60
TT
3313static int
3314debug_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
3315{
3316 int result;
3317 fprintf_unfiltered (gdb_stdlog, "-> %s->to_static_tracepoint_marker_at (...)\n", debug_target.to_shortname);
3318 result = debug_target.to_static_tracepoint_marker_at (&debug_target, arg1, arg2);
3319 fprintf_unfiltered (gdb_stdlog, "<- %s->to_static_tracepoint_marker_at (", debug_target.to_shortname);
3320 target_debug_print_struct_target_ops_p (&debug_target);
3321 fputs_unfiltered (", ", gdb_stdlog);
3322 target_debug_print_CORE_ADDR (arg1);
3323 fputs_unfiltered (", ", gdb_stdlog);
3324 target_debug_print_struct_static_tracepoint_marker_p (arg2);
3325 fputs_unfiltered (") = ", gdb_stdlog);
3326 target_debug_print_int (result);
3327 fputs_unfiltered ("\n", gdb_stdlog);
3328 return result;
3329}
3330
d6522a22
TT
3331static VEC(static_tracepoint_marker_p) *
3332delegate_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
3333{
3334 self = self->beneath;
3335 return self->to_static_tracepoint_markers_by_strid (self, arg1);
3336}
3337
3338static VEC(static_tracepoint_marker_p) *
3339tdefault_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
3340{
3341 tcomplain ();
3342}
3343
a7068b60
TT
3344static VEC(static_tracepoint_marker_p) *
3345debug_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
3346{
3347 VEC(static_tracepoint_marker_p) * result;
3348 fprintf_unfiltered (gdb_stdlog, "-> %s->to_static_tracepoint_markers_by_strid (...)\n", debug_target.to_shortname);
3349 result = debug_target.to_static_tracepoint_markers_by_strid (&debug_target, arg1);
3350 fprintf_unfiltered (gdb_stdlog, "<- %s->to_static_tracepoint_markers_by_strid (", debug_target.to_shortname);
3351 target_debug_print_struct_target_ops_p (&debug_target);
3352 fputs_unfiltered (", ", gdb_stdlog);
3353 target_debug_print_const_char_p (arg1);
3354 fputs_unfiltered (") = ", gdb_stdlog);
3355 target_debug_print_VEC_static_tracepoint_marker_p__p (result);
3356 fputs_unfiltered ("\n", gdb_stdlog);
3357 return result;
3358}
3359
2098b393 3360static traceframe_info_up
92155eeb
TT
3361delegate_traceframe_info (struct target_ops *self)
3362{
3363 self = self->beneath;
3364 return self->to_traceframe_info (self);
3365}
3366
2098b393 3367static traceframe_info_up
92155eeb
TT
3368tdefault_traceframe_info (struct target_ops *self)
3369{
6a5f844b 3370 tcomplain ();
92155eeb
TT
3371}
3372
2098b393 3373static traceframe_info_up
a7068b60
TT
3374debug_traceframe_info (struct target_ops *self)
3375{
2098b393 3376 traceframe_info_up result;
a7068b60
TT
3377 fprintf_unfiltered (gdb_stdlog, "-> %s->to_traceframe_info (...)\n", debug_target.to_shortname);
3378 result = debug_target.to_traceframe_info (&debug_target);
3379 fprintf_unfiltered (gdb_stdlog, "<- %s->to_traceframe_info (", debug_target.to_shortname);
3380 target_debug_print_struct_target_ops_p (&debug_target);
3381 fputs_unfiltered (") = ", gdb_stdlog);
2098b393 3382 target_debug_print_traceframe_info_up (result);
a7068b60
TT
3383 fputs_unfiltered ("\n", gdb_stdlog);
3384 return result;
3385}
3386
d9db5b21
TT
3387static int
3388delegate_use_agent (struct target_ops *self, int arg1)
3389{
3390 self = self->beneath;
3391 return self->to_use_agent (self, arg1);
3392}
3393
3394static int
3395tdefault_use_agent (struct target_ops *self, int arg1)
3396{
3397 tcomplain ();
3398}
3399
a7068b60
TT
3400static int
3401debug_use_agent (struct target_ops *self, int arg1)
3402{
3403 int result;
3404 fprintf_unfiltered (gdb_stdlog, "-> %s->to_use_agent (...)\n", debug_target.to_shortname);
3405 result = debug_target.to_use_agent (&debug_target, arg1);
3406 fprintf_unfiltered (gdb_stdlog, "<- %s->to_use_agent (", debug_target.to_shortname);
3407 target_debug_print_struct_target_ops_p (&debug_target);
3408 fputs_unfiltered (", ", gdb_stdlog);
3409 target_debug_print_int (arg1);
3410 fputs_unfiltered (") = ", gdb_stdlog);
3411 target_debug_print_int (result);
3412 fputs_unfiltered ("\n", gdb_stdlog);
3413 return result;
3414}
3415
9a7d8b48
TT
3416static int
3417delegate_can_use_agent (struct target_ops *self)
3418{
3419 self = self->beneath;
3420 return self->to_can_use_agent (self);
3421}
3422
3423static int
3424tdefault_can_use_agent (struct target_ops *self)
3425{
3426 return 0;
3427}
3428
a7068b60
TT
3429static int
3430debug_can_use_agent (struct target_ops *self)
3431{
3432 int result;
3433 fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_use_agent (...)\n", debug_target.to_shortname);
3434 result = debug_target.to_can_use_agent (&debug_target);
3435 fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_use_agent (", debug_target.to_shortname);
3436 target_debug_print_struct_target_ops_p (&debug_target);
3437 fputs_unfiltered (") = ", gdb_stdlog);
3438 target_debug_print_int (result);
3439 fputs_unfiltered ("\n", gdb_stdlog);
3440 return result;
3441}
3442
46917d26 3443static int
043c3577 3444delegate_supports_btrace (struct target_ops *self, enum btrace_format arg1)
46917d26
TT
3445{
3446 self = self->beneath;
043c3577 3447 return self->to_supports_btrace (self, arg1);
46917d26
TT
3448}
3449
3450static int
043c3577 3451tdefault_supports_btrace (struct target_ops *self, enum btrace_format arg1)
46917d26
TT
3452{
3453 return 0;
3454}
3455
a7068b60 3456static int
043c3577 3457debug_supports_btrace (struct target_ops *self, enum btrace_format arg1)
a7068b60
TT
3458{
3459 int result;
3460 fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_btrace (...)\n", debug_target.to_shortname);
043c3577 3461 result = debug_target.to_supports_btrace (&debug_target, arg1);
a7068b60
TT
3462 fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_btrace (", debug_target.to_shortname);
3463 target_debug_print_struct_target_ops_p (&debug_target);
043c3577
MM
3464 fputs_unfiltered (", ", gdb_stdlog);
3465 target_debug_print_enum_btrace_format (arg1);
a7068b60
TT
3466 fputs_unfiltered (") = ", gdb_stdlog);
3467 target_debug_print_int (result);
3468 fputs_unfiltered ("\n", gdb_stdlog);
3469 return result;
3470}
3471
6dc7fcf4 3472static struct btrace_target_info *
f4abbc16 3473delegate_enable_btrace (struct target_ops *self, ptid_t arg1, const struct btrace_config *arg2)
6dc7fcf4
TT
3474{
3475 self = self->beneath;
f4abbc16 3476 return self->to_enable_btrace (self, arg1, arg2);
6dc7fcf4
TT
3477}
3478
3479static struct btrace_target_info *
f4abbc16 3480tdefault_enable_btrace (struct target_ops *self, ptid_t arg1, const struct btrace_config *arg2)
6dc7fcf4
TT
3481{
3482 tcomplain ();
3483}
3484
a7068b60 3485static struct btrace_target_info *
f4abbc16 3486debug_enable_btrace (struct target_ops *self, ptid_t arg1, const struct btrace_config *arg2)
a7068b60
TT
3487{
3488 struct btrace_target_info * result;
3489 fprintf_unfiltered (gdb_stdlog, "-> %s->to_enable_btrace (...)\n", debug_target.to_shortname);
f4abbc16 3490 result = debug_target.to_enable_btrace (&debug_target, arg1, arg2);
a7068b60
TT
3491 fprintf_unfiltered (gdb_stdlog, "<- %s->to_enable_btrace (", debug_target.to_shortname);
3492 target_debug_print_struct_target_ops_p (&debug_target);
3493 fputs_unfiltered (", ", gdb_stdlog);
3494 target_debug_print_ptid_t (arg1);
f4abbc16
MM
3495 fputs_unfiltered (", ", gdb_stdlog);
3496 target_debug_print_const_struct_btrace_config_p (arg2);
a7068b60
TT
3497 fputs_unfiltered (") = ", gdb_stdlog);
3498 target_debug_print_struct_btrace_target_info_p (result);
3499 fputs_unfiltered ("\n", gdb_stdlog);
3500 return result;
3501}
3502
8dc292d3
TT
3503static void
3504delegate_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
3505{
3506 self = self->beneath;
3507 self->to_disable_btrace (self, arg1);
3508}
3509
3510static void
3511tdefault_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
3512{
3513 tcomplain ();
3514}
3515
a7068b60
TT
3516static void
3517debug_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
3518{
3519 fprintf_unfiltered (gdb_stdlog, "-> %s->to_disable_btrace (...)\n", debug_target.to_shortname);
3520 debug_target.to_disable_btrace (&debug_target, arg1);
3521 fprintf_unfiltered (gdb_stdlog, "<- %s->to_disable_btrace (", debug_target.to_shortname);
3522 target_debug_print_struct_target_ops_p (&debug_target);
3523 fputs_unfiltered (", ", gdb_stdlog);
3524 target_debug_print_struct_btrace_target_info_p (arg1);
3525 fputs_unfiltered (")\n", gdb_stdlog);
3526}
3527
9ace480d
TT
3528static void
3529delegate_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
3530{
3531 self = self->beneath;
3532 self->to_teardown_btrace (self, arg1);
3533}
3534
3535static void
3536tdefault_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
3537{
3538 tcomplain ();
3539}
3540
a7068b60
TT
3541static void
3542debug_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
3543{
3544 fprintf_unfiltered (gdb_stdlog, "-> %s->to_teardown_btrace (...)\n", debug_target.to_shortname);
3545 debug_target.to_teardown_btrace (&debug_target, arg1);
3546 fprintf_unfiltered (gdb_stdlog, "<- %s->to_teardown_btrace (", debug_target.to_shortname);
3547 target_debug_print_struct_target_ops_p (&debug_target);
3548 fputs_unfiltered (", ", gdb_stdlog);
3549 target_debug_print_struct_btrace_target_info_p (arg1);
3550 fputs_unfiltered (")\n", gdb_stdlog);
3551}
3552
a8bdc56b 3553static enum btrace_error
734b0e4b 3554delegate_read_btrace (struct target_ops *self, struct btrace_data *arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
eb5b20d4
TT
3555{
3556 self = self->beneath;
3557 return self->to_read_btrace (self, arg1, arg2, arg3);
3558}
3559
a8bdc56b 3560static enum btrace_error
734b0e4b 3561tdefault_read_btrace (struct target_ops *self, struct btrace_data *arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
eb5b20d4
TT
3562{
3563 tcomplain ();
3564}
3565
a7068b60 3566static enum btrace_error
734b0e4b 3567debug_read_btrace (struct target_ops *self, struct btrace_data *arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
a7068b60
TT
3568{
3569 enum btrace_error result;
3570 fprintf_unfiltered (gdb_stdlog, "-> %s->to_read_btrace (...)\n", debug_target.to_shortname);
3571 result = debug_target.to_read_btrace (&debug_target, arg1, arg2, arg3);
3572 fprintf_unfiltered (gdb_stdlog, "<- %s->to_read_btrace (", debug_target.to_shortname);
3573 target_debug_print_struct_target_ops_p (&debug_target);
3574 fputs_unfiltered (", ", gdb_stdlog);
734b0e4b 3575 target_debug_print_struct_btrace_data_p (arg1);
a7068b60
TT
3576 fputs_unfiltered (", ", gdb_stdlog);
3577 target_debug_print_struct_btrace_target_info_p (arg2);
3578 fputs_unfiltered (", ", gdb_stdlog);
3579 target_debug_print_enum_btrace_read_type (arg3);
3580 fputs_unfiltered (") = ", gdb_stdlog);
3581 target_debug_print_enum_btrace_error (result);
3582 fputs_unfiltered ("\n", gdb_stdlog);
3583 return result;
3584}
3585
f4abbc16
MM
3586static const struct btrace_config *
3587delegate_btrace_conf (struct target_ops *self, const struct btrace_target_info *arg1)
3588{
3589 self = self->beneath;
3590 return self->to_btrace_conf (self, arg1);
3591}
3592
3593static const struct btrace_config *
3594tdefault_btrace_conf (struct target_ops *self, const struct btrace_target_info *arg1)
3595{
3596 return NULL;
3597}
3598
3599static const struct btrace_config *
3600debug_btrace_conf (struct target_ops *self, const struct btrace_target_info *arg1)
3601{
3602 const struct btrace_config * result;
3603 fprintf_unfiltered (gdb_stdlog, "-> %s->to_btrace_conf (...)\n", debug_target.to_shortname);
3604 result = debug_target.to_btrace_conf (&debug_target, arg1);
3605 fprintf_unfiltered (gdb_stdlog, "<- %s->to_btrace_conf (", debug_target.to_shortname);
3606 target_debug_print_struct_target_ops_p (&debug_target);
3607 fputs_unfiltered (", ", gdb_stdlog);
3608 target_debug_print_const_struct_btrace_target_info_p (arg1);
3609 fputs_unfiltered (") = ", gdb_stdlog);
3610 target_debug_print_const_struct_btrace_config_p (result);
3611 fputs_unfiltered ("\n", gdb_stdlog);
3612 return result;
3613}
3614
b158a20f
TW
3615static enum record_method
3616delegate_record_method (struct target_ops *self, ptid_t arg1)
3617{
3618 self = self->beneath;
3619 return self->to_record_method (self, arg1);
3620}
3621
3622static enum record_method
3623tdefault_record_method (struct target_ops *self, ptid_t arg1)
3624{
3625 return RECORD_METHOD_NONE;
3626}
3627
3628static enum record_method
3629debug_record_method (struct target_ops *self, ptid_t arg1)
3630{
3631 enum record_method result;
3632 fprintf_unfiltered (gdb_stdlog, "-> %s->to_record_method (...)\n", debug_target.to_shortname);
3633 result = debug_target.to_record_method (&debug_target, arg1);
3634 fprintf_unfiltered (gdb_stdlog, "<- %s->to_record_method (", debug_target.to_shortname);
3635 target_debug_print_struct_target_ops_p (&debug_target);
3636 fputs_unfiltered (", ", gdb_stdlog);
3637 target_debug_print_ptid_t (arg1);
3638 fputs_unfiltered (") = ", gdb_stdlog);
3639 target_debug_print_enum_record_method (result);
3640 fputs_unfiltered ("\n", gdb_stdlog);
3641 return result;
3642}
3643
ee97f592
TT
3644static void
3645delegate_stop_recording (struct target_ops *self)
3646{
3647 self = self->beneath;
3648 self->to_stop_recording (self);
3649}
3650
3651static void
3652tdefault_stop_recording (struct target_ops *self)
3653{
3654}
3655
a7068b60
TT
3656static void
3657debug_stop_recording (struct target_ops *self)
3658{
3659 fprintf_unfiltered (gdb_stdlog, "-> %s->to_stop_recording (...)\n", debug_target.to_shortname);
3660 debug_target.to_stop_recording (&debug_target);
3661 fprintf_unfiltered (gdb_stdlog, "<- %s->to_stop_recording (", debug_target.to_shortname);
3662 target_debug_print_struct_target_ops_p (&debug_target);
3663 fputs_unfiltered (")\n", gdb_stdlog);
3664}
3665
a432721e
TT
3666static void
3667delegate_info_record (struct target_ops *self)
3668{
3669 self = self->beneath;
3670 self->to_info_record (self);
3671}
3672
3673static void
3674tdefault_info_record (struct target_ops *self)
3675{
3676}
3677
a7068b60
TT
3678static void
3679debug_info_record (struct target_ops *self)
3680{
3681 fprintf_unfiltered (gdb_stdlog, "-> %s->to_info_record (...)\n", debug_target.to_shortname);
3682 debug_target.to_info_record (&debug_target);
3683 fprintf_unfiltered (gdb_stdlog, "<- %s->to_info_record (", debug_target.to_shortname);
3684 target_debug_print_struct_target_ops_p (&debug_target);
3685 fputs_unfiltered (")\n", gdb_stdlog);
3686}
3687
f09e2107
TT
3688static void
3689delegate_save_record (struct target_ops *self, const char *arg1)
3690{
3691 self = self->beneath;
3692 self->to_save_record (self, arg1);
3693}
3694
3695static void
3696tdefault_save_record (struct target_ops *self, const char *arg1)
3697{
3698 tcomplain ();
3699}
3700
a7068b60
TT
3701static void
3702debug_save_record (struct target_ops *self, const char *arg1)
3703{
3704 fprintf_unfiltered (gdb_stdlog, "-> %s->to_save_record (...)\n", debug_target.to_shortname);
3705 debug_target.to_save_record (&debug_target, arg1);
3706 fprintf_unfiltered (gdb_stdlog, "<- %s->to_save_record (", debug_target.to_shortname);
3707 target_debug_print_struct_target_ops_p (&debug_target);
3708 fputs_unfiltered (", ", gdb_stdlog);
3709 target_debug_print_const_char_p (arg1);
3710 fputs_unfiltered (")\n", gdb_stdlog);
3711}
3712
07366925
TT
3713static void
3714delegate_delete_record (struct target_ops *self)
3715{
3716 self = self->beneath;
3717 self->to_delete_record (self);
3718}
3719
3720static void
3721tdefault_delete_record (struct target_ops *self)
3722{
3723 tcomplain ();
3724}
3725
a7068b60
TT
3726static void
3727debug_delete_record (struct target_ops *self)
3728{
3729 fprintf_unfiltered (gdb_stdlog, "-> %s->to_delete_record (...)\n", debug_target.to_shortname);
3730 debug_target.to_delete_record (&debug_target);
3731 fprintf_unfiltered (gdb_stdlog, "<- %s->to_delete_record (", debug_target.to_shortname);
3732 target_debug_print_struct_target_ops_p (&debug_target);
3733 fputs_unfiltered (")\n", gdb_stdlog);
3734}
3735
dd2e9d25 3736static int
a52eab48 3737delegate_record_is_replaying (struct target_ops *self, ptid_t arg1)
dd2e9d25
TT
3738{
3739 self = self->beneath;
a52eab48 3740 return self->to_record_is_replaying (self, arg1);
dd2e9d25
TT
3741}
3742
3743static int
a52eab48 3744tdefault_record_is_replaying (struct target_ops *self, ptid_t arg1)
dd2e9d25
TT
3745{
3746 return 0;
3747}
3748
a7068b60 3749static int
a52eab48 3750debug_record_is_replaying (struct target_ops *self, ptid_t arg1)
a7068b60
TT
3751{
3752 int result;
3753 fprintf_unfiltered (gdb_stdlog, "-> %s->to_record_is_replaying (...)\n", debug_target.to_shortname);
a52eab48 3754 result = debug_target.to_record_is_replaying (&debug_target, arg1);
a7068b60
TT
3755 fprintf_unfiltered (gdb_stdlog, "<- %s->to_record_is_replaying (", debug_target.to_shortname);
3756 target_debug_print_struct_target_ops_p (&debug_target);
a52eab48
MM
3757 fputs_unfiltered (", ", gdb_stdlog);
3758 target_debug_print_ptid_t (arg1);
a7068b60
TT
3759 fputs_unfiltered (") = ", gdb_stdlog);
3760 target_debug_print_int (result);
3761 fputs_unfiltered ("\n", gdb_stdlog);
3762 return result;
3763}
3764
7ff27e9b
MM
3765static int
3766delegate_record_will_replay (struct target_ops *self, ptid_t arg1, int arg2)
3767{
3768 self = self->beneath;
3769 return self->to_record_will_replay (self, arg1, arg2);
3770}
3771
3772static int
3773tdefault_record_will_replay (struct target_ops *self, ptid_t arg1, int arg2)
3774{
3775 return 0;
3776}
3777
3778static int
3779debug_record_will_replay (struct target_ops *self, ptid_t arg1, int arg2)
3780{
3781 int result;
3782 fprintf_unfiltered (gdb_stdlog, "-> %s->to_record_will_replay (...)\n", debug_target.to_shortname);
3783 result = debug_target.to_record_will_replay (&debug_target, arg1, arg2);
3784 fprintf_unfiltered (gdb_stdlog, "<- %s->to_record_will_replay (", debug_target.to_shortname);
3785 target_debug_print_struct_target_ops_p (&debug_target);
3786 fputs_unfiltered (", ", gdb_stdlog);
3787 target_debug_print_ptid_t (arg1);
3788 fputs_unfiltered (", ", gdb_stdlog);
3789 target_debug_print_int (arg2);
3790 fputs_unfiltered (") = ", gdb_stdlog);
3791 target_debug_print_int (result);
3792 fputs_unfiltered ("\n", gdb_stdlog);
3793 return result;
3794}
3795
797094dd
MM
3796static void
3797delegate_record_stop_replaying (struct target_ops *self)
3798{
3799 self = self->beneath;
3800 self->to_record_stop_replaying (self);
3801}
3802
3803static void
3804tdefault_record_stop_replaying (struct target_ops *self)
3805{
3806}
3807
3808static void
3809debug_record_stop_replaying (struct target_ops *self)
3810{
3811 fprintf_unfiltered (gdb_stdlog, "-> %s->to_record_stop_replaying (...)\n", debug_target.to_shortname);
3812 debug_target.to_record_stop_replaying (&debug_target);
3813 fprintf_unfiltered (gdb_stdlog, "<- %s->to_record_stop_replaying (", debug_target.to_shortname);
3814 target_debug_print_struct_target_ops_p (&debug_target);
3815 fputs_unfiltered (")\n", gdb_stdlog);
3816}
3817
671e76cc
TT
3818static void
3819delegate_goto_record_begin (struct target_ops *self)
3820{
3821 self = self->beneath;
3822 self->to_goto_record_begin (self);
3823}
3824
3825static void
3826tdefault_goto_record_begin (struct target_ops *self)
3827{
3828 tcomplain ();
3829}
3830
a7068b60
TT
3831static void
3832debug_goto_record_begin (struct target_ops *self)
3833{
3834 fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record_begin (...)\n", debug_target.to_shortname);
3835 debug_target.to_goto_record_begin (&debug_target);
3836 fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record_begin (", debug_target.to_shortname);
3837 target_debug_print_struct_target_ops_p (&debug_target);
3838 fputs_unfiltered (")\n", gdb_stdlog);
3839}
3840
e9179bb3
TT
3841static void
3842delegate_goto_record_end (struct target_ops *self)
3843{
3844 self = self->beneath;
3845 self->to_goto_record_end (self);
3846}
3847
3848static void
3849tdefault_goto_record_end (struct target_ops *self)
3850{
3851 tcomplain ();
3852}
3853
a7068b60
TT
3854static void
3855debug_goto_record_end (struct target_ops *self)
3856{
3857 fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record_end (...)\n", debug_target.to_shortname);
3858 debug_target.to_goto_record_end (&debug_target);
3859 fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record_end (", debug_target.to_shortname);
3860 target_debug_print_struct_target_ops_p (&debug_target);
3861 fputs_unfiltered (")\n", gdb_stdlog);
3862}
3863
05969c84
TT
3864static void
3865delegate_goto_record (struct target_ops *self, ULONGEST arg1)
3866{
3867 self = self->beneath;
3868 self->to_goto_record (self, arg1);
3869}
3870
3871static void
3872tdefault_goto_record (struct target_ops *self, ULONGEST arg1)
3873{
3874 tcomplain ();
3875}
3876
a7068b60
TT
3877static void
3878debug_goto_record (struct target_ops *self, ULONGEST arg1)
3879{
3880 fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record (...)\n", debug_target.to_shortname);
3881 debug_target.to_goto_record (&debug_target, arg1);
3882 fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record (", debug_target.to_shortname);
3883 target_debug_print_struct_target_ops_p (&debug_target);
3884 fputs_unfiltered (", ", gdb_stdlog);
3885 target_debug_print_ULONGEST (arg1);
3886 fputs_unfiltered (")\n", gdb_stdlog);
3887}
3888
3679abfa 3889static void
9a24775b 3890delegate_insn_history (struct target_ops *self, int arg1, gdb_disassembly_flags arg2)
3679abfa
TT
3891{
3892 self = self->beneath;
3893 self->to_insn_history (self, arg1, arg2);
3894}
3895
3896static void
9a24775b 3897tdefault_insn_history (struct target_ops *self, int arg1, gdb_disassembly_flags arg2)
3679abfa
TT
3898{
3899 tcomplain ();
3900}
3901
a7068b60 3902static void
9a24775b 3903debug_insn_history (struct target_ops *self, int arg1, gdb_disassembly_flags arg2)
a7068b60
TT
3904{
3905 fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history (...)\n", debug_target.to_shortname);
3906 debug_target.to_insn_history (&debug_target, arg1, arg2);
3907 fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history (", debug_target.to_shortname);
3908 target_debug_print_struct_target_ops_p (&debug_target);
3909 fputs_unfiltered (", ", gdb_stdlog);
3910 target_debug_print_int (arg1);
3911 fputs_unfiltered (", ", gdb_stdlog);
9a24775b 3912 target_debug_print_gdb_disassembly_flags (arg2);
a7068b60
TT
3913 fputs_unfiltered (")\n", gdb_stdlog);
3914}
3915
8444ab58 3916static void
9a24775b 3917delegate_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, gdb_disassembly_flags arg3)
8444ab58
TT
3918{
3919 self = self->beneath;
3920 self->to_insn_history_from (self, arg1, arg2, arg3);
3921}
3922
3923static void
9a24775b 3924tdefault_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, gdb_disassembly_flags arg3)
8444ab58
TT
3925{
3926 tcomplain ();
3927}
3928
a7068b60 3929static void
9a24775b 3930debug_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, gdb_disassembly_flags arg3)
a7068b60
TT
3931{
3932 fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history_from (...)\n", debug_target.to_shortname);
3933 debug_target.to_insn_history_from (&debug_target, arg1, arg2, arg3);
3934 fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history_from (", debug_target.to_shortname);
3935 target_debug_print_struct_target_ops_p (&debug_target);
3936 fputs_unfiltered (", ", gdb_stdlog);
3937 target_debug_print_ULONGEST (arg1);
3938 fputs_unfiltered (", ", gdb_stdlog);
3939 target_debug_print_int (arg2);
3940 fputs_unfiltered (", ", gdb_stdlog);
9a24775b 3941 target_debug_print_gdb_disassembly_flags (arg3);
a7068b60
TT
3942 fputs_unfiltered (")\n", gdb_stdlog);
3943}
3944
c29302cc 3945static void
9a24775b 3946delegate_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, gdb_disassembly_flags arg3)
c29302cc
TT
3947{
3948 self = self->beneath;
3949 self->to_insn_history_range (self, arg1, arg2, arg3);
3950}
3951
3952static void
9a24775b 3953tdefault_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, gdb_disassembly_flags arg3)
c29302cc
TT
3954{
3955 tcomplain ();
3956}
3957
a7068b60 3958static void
9a24775b 3959debug_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, gdb_disassembly_flags arg3)
a7068b60
TT
3960{
3961 fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history_range (...)\n", debug_target.to_shortname);
3962 debug_target.to_insn_history_range (&debug_target, arg1, arg2, arg3);
3963 fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history_range (", debug_target.to_shortname);
3964 target_debug_print_struct_target_ops_p (&debug_target);
3965 fputs_unfiltered (", ", gdb_stdlog);
3966 target_debug_print_ULONGEST (arg1);
3967 fputs_unfiltered (", ", gdb_stdlog);
3968 target_debug_print_ULONGEST (arg2);
3969 fputs_unfiltered (", ", gdb_stdlog);
9a24775b 3970 target_debug_print_gdb_disassembly_flags (arg3);
a7068b60
TT
3971 fputs_unfiltered (")\n", gdb_stdlog);
3972}
3973
170049d4
TT
3974static void
3975delegate_call_history (struct target_ops *self, int arg1, int arg2)
3976{
3977 self = self->beneath;
3978 self->to_call_history (self, arg1, arg2);
3979}
3980
3981static void
3982tdefault_call_history (struct target_ops *self, int arg1, int arg2)
3983{
3984 tcomplain ();
3985}
3986
a7068b60
TT
3987static void
3988debug_call_history (struct target_ops *self, int arg1, int arg2)
3989{
3990 fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history (...)\n", debug_target.to_shortname);
3991 debug_target.to_call_history (&debug_target, arg1, arg2);
3992 fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history (", debug_target.to_shortname);
3993 target_debug_print_struct_target_ops_p (&debug_target);
3994 fputs_unfiltered (", ", gdb_stdlog);
3995 target_debug_print_int (arg1);
3996 fputs_unfiltered (", ", gdb_stdlog);
3997 target_debug_print_int (arg2);
3998 fputs_unfiltered (")\n", gdb_stdlog);
3999}
4000
16fc27d6
TT
4001static void
4002delegate_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
4003{
4004 self = self->beneath;
4005 self->to_call_history_from (self, arg1, arg2, arg3);
4006}
4007
4008static void
4009tdefault_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
4010{
4011 tcomplain ();
4012}
4013
a7068b60
TT
4014static void
4015debug_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
4016{
4017 fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history_from (...)\n", debug_target.to_shortname);
4018 debug_target.to_call_history_from (&debug_target, arg1, arg2, arg3);
4019 fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history_from (", debug_target.to_shortname);
4020 target_debug_print_struct_target_ops_p (&debug_target);
4021 fputs_unfiltered (", ", gdb_stdlog);
4022 target_debug_print_ULONGEST (arg1);
4023 fputs_unfiltered (", ", gdb_stdlog);
4024 target_debug_print_int (arg2);
4025 fputs_unfiltered (", ", gdb_stdlog);
4026 target_debug_print_int (arg3);
4027 fputs_unfiltered (")\n", gdb_stdlog);
4028}
4029
115d9817
TT
4030static void
4031delegate_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
4032{
4033 self = self->beneath;
4034 self->to_call_history_range (self, arg1, arg2, arg3);
4035}
4036
4037static void
4038tdefault_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
4039{
4040 tcomplain ();
4041}
4042
a7068b60
TT
4043static void
4044debug_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
4045{
4046 fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history_range (...)\n", debug_target.to_shortname);
4047 debug_target.to_call_history_range (&debug_target, arg1, arg2, arg3);
4048 fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history_range (", debug_target.to_shortname);
4049 target_debug_print_struct_target_ops_p (&debug_target);
4050 fputs_unfiltered (", ", gdb_stdlog);
4051 target_debug_print_ULONGEST (arg1);
4052 fputs_unfiltered (", ", gdb_stdlog);
4053 target_debug_print_ULONGEST (arg2);
4054 fputs_unfiltered (", ", gdb_stdlog);
4055 target_debug_print_int (arg3);
4056 fputs_unfiltered (")\n", gdb_stdlog);
4057}
4058
0de91722
TT
4059static int
4060delegate_augmented_libraries_svr4_read (struct target_ops *self)
4061{
4062 self = self->beneath;
4063 return self->to_augmented_libraries_svr4_read (self);
4064}
4065
4066static int
4067tdefault_augmented_libraries_svr4_read (struct target_ops *self)
4068{
4069 return 0;
4070}
4071
a7068b60
TT
4072static int
4073debug_augmented_libraries_svr4_read (struct target_ops *self)
4074{
4075 int result;
4076 fprintf_unfiltered (gdb_stdlog, "-> %s->to_augmented_libraries_svr4_read (...)\n", debug_target.to_shortname);
4077 result = debug_target.to_augmented_libraries_svr4_read (&debug_target);
4078 fprintf_unfiltered (gdb_stdlog, "<- %s->to_augmented_libraries_svr4_read (", debug_target.to_shortname);
4079 target_debug_print_struct_target_ops_p (&debug_target);
4080 fputs_unfiltered (") = ", gdb_stdlog);
4081 target_debug_print_int (result);
4082 fputs_unfiltered ("\n", gdb_stdlog);
4083 return result;
4084}
4085
ac01945b
TT
4086static const struct frame_unwind *
4087delegate_get_unwinder (struct target_ops *self)
4088{
4089 self = self->beneath;
4090 return self->to_get_unwinder (self);
4091}
4092
4093static const struct frame_unwind *
4094tdefault_get_unwinder (struct target_ops *self)
4095{
4096 return NULL;
4097}
4098
a7068b60
TT
4099static const struct frame_unwind *
4100debug_get_unwinder (struct target_ops *self)
4101{
4102 const struct frame_unwind * result;
4103 fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_unwinder (...)\n", debug_target.to_shortname);
4104 result = debug_target.to_get_unwinder (&debug_target);
4105 fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_unwinder (", debug_target.to_shortname);
4106 target_debug_print_struct_target_ops_p (&debug_target);
4107 fputs_unfiltered (") = ", gdb_stdlog);
4108 target_debug_print_const_struct_frame_unwind_p (result);
4109 fputs_unfiltered ("\n", gdb_stdlog);
4110 return result;
4111}
4112
ac01945b
TT
4113static const struct frame_unwind *
4114delegate_get_tailcall_unwinder (struct target_ops *self)
4115{
4116 self = self->beneath;
4117 return self->to_get_tailcall_unwinder (self);
4118}
4119
4120static const struct frame_unwind *
4121tdefault_get_tailcall_unwinder (struct target_ops *self)
4122{
4123 return NULL;
4124}
4125
a7068b60
TT
4126static const struct frame_unwind *
4127debug_get_tailcall_unwinder (struct target_ops *self)
4128{
4129 const struct frame_unwind * result;
4130 fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tailcall_unwinder (...)\n", debug_target.to_shortname);
4131 result = debug_target.to_get_tailcall_unwinder (&debug_target);
4132 fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tailcall_unwinder (", debug_target.to_shortname);
4133 target_debug_print_struct_target_ops_p (&debug_target);
4134 fputs_unfiltered (") = ", gdb_stdlog);
4135 target_debug_print_const_struct_frame_unwind_p (result);
4136 fputs_unfiltered ("\n", gdb_stdlog);
4137 return result;
4138}
4139
5fff78c4
MM
4140static void
4141delegate_prepare_to_generate_core (struct target_ops *self)
4142{
4143 self = self->beneath;
4144 self->to_prepare_to_generate_core (self);
4145}
4146
4147static void
4148tdefault_prepare_to_generate_core (struct target_ops *self)
4149{
4150}
4151
a7068b60
TT
4152static void
4153debug_prepare_to_generate_core (struct target_ops *self)
4154{
4155 fprintf_unfiltered (gdb_stdlog, "-> %s->to_prepare_to_generate_core (...)\n", debug_target.to_shortname);
4156 debug_target.to_prepare_to_generate_core (&debug_target);
4157 fprintf_unfiltered (gdb_stdlog, "<- %s->to_prepare_to_generate_core (", debug_target.to_shortname);
4158 target_debug_print_struct_target_ops_p (&debug_target);
4159 fputs_unfiltered (")\n", gdb_stdlog);
4160}
4161
5fff78c4
MM
4162static void
4163delegate_done_generating_core (struct target_ops *self)
4164{
4165 self = self->beneath;
4166 self->to_done_generating_core (self);
4167}
4168
4169static void
4170tdefault_done_generating_core (struct target_ops *self)
4171{
4172}
4173
a7068b60
TT
4174static void
4175debug_done_generating_core (struct target_ops *self)
4176{
4177 fprintf_unfiltered (gdb_stdlog, "-> %s->to_done_generating_core (...)\n", debug_target.to_shortname);
4178 debug_target.to_done_generating_core (&debug_target);
4179 fprintf_unfiltered (gdb_stdlog, "<- %s->to_done_generating_core (", debug_target.to_shortname);
4180 target_debug_print_struct_target_ops_p (&debug_target);
4181 fputs_unfiltered (")\n", gdb_stdlog);
4182}
4183
1101cb7b
TT
4184static void
4185install_delegators (struct target_ops *ops)
4186{
bebd3233
TT
4187 if (ops->to_post_attach == NULL)
4188 ops->to_post_attach = delegate_post_attach;
09da0d0a
TT
4189 if (ops->to_detach == NULL)
4190 ops->to_detach = delegate_detach;
86a0854a
TT
4191 if (ops->to_disconnect == NULL)
4192 ops->to_disconnect = delegate_disconnect;
6b84065d
TT
4193 if (ops->to_resume == NULL)
4194 ops->to_resume = delegate_resume;
85ad3aaf
PA
4195 if (ops->to_commit_resume == NULL)
4196 ops->to_commit_resume = delegate_commit_resume;
6b84065d
TT
4197 if (ops->to_wait == NULL)
4198 ops->to_wait = delegate_wait;
ad5989bd
TT
4199 if (ops->to_fetch_registers == NULL)
4200 ops->to_fetch_registers = delegate_fetch_registers;
6b84065d
TT
4201 if (ops->to_store_registers == NULL)
4202 ops->to_store_registers = delegate_store_registers;
6c628163
TT
4203 if (ops->to_prepare_to_store == NULL)
4204 ops->to_prepare_to_store = delegate_prepare_to_store;
f86e59b2
TT
4205 if (ops->to_files_info == NULL)
4206 ops->to_files_info = delegate_files_info;
6b84065d
TT
4207 if (ops->to_insert_breakpoint == NULL)
4208 ops->to_insert_breakpoint = delegate_insert_breakpoint;
4209 if (ops->to_remove_breakpoint == NULL)
4210 ops->to_remove_breakpoint = delegate_remove_breakpoint;
1cf4d951
PA
4211 if (ops->to_stopped_by_sw_breakpoint == NULL)
4212 ops->to_stopped_by_sw_breakpoint = delegate_stopped_by_sw_breakpoint;
4213 if (ops->to_supports_stopped_by_sw_breakpoint == NULL)
4214 ops->to_supports_stopped_by_sw_breakpoint = delegate_supports_stopped_by_sw_breakpoint;
4215 if (ops->to_stopped_by_hw_breakpoint == NULL)
4216 ops->to_stopped_by_hw_breakpoint = delegate_stopped_by_hw_breakpoint;
4217 if (ops->to_supports_stopped_by_hw_breakpoint == NULL)
4218 ops->to_supports_stopped_by_hw_breakpoint = delegate_supports_stopped_by_hw_breakpoint;
52b51d06
TT
4219 if (ops->to_can_use_hw_breakpoint == NULL)
4220 ops->to_can_use_hw_breakpoint = delegate_can_use_hw_breakpoint;
a134316b
TT
4221 if (ops->to_ranged_break_num_registers == NULL)
4222 ops->to_ranged_break_num_registers = delegate_ranged_break_num_registers;
61b371f9
TT
4223 if (ops->to_insert_hw_breakpoint == NULL)
4224 ops->to_insert_hw_breakpoint = delegate_insert_hw_breakpoint;
418dabac
TT
4225 if (ops->to_remove_hw_breakpoint == NULL)
4226 ops->to_remove_hw_breakpoint = delegate_remove_hw_breakpoint;
61dd109f
TT
4227 if (ops->to_remove_watchpoint == NULL)
4228 ops->to_remove_watchpoint = delegate_remove_watchpoint;
016facd4
TT
4229 if (ops->to_insert_watchpoint == NULL)
4230 ops->to_insert_watchpoint = delegate_insert_watchpoint;
cd4ae029
TT
4231 if (ops->to_insert_mask_watchpoint == NULL)
4232 ops->to_insert_mask_watchpoint = delegate_insert_mask_watchpoint;
8b1c364c
TT
4233 if (ops->to_remove_mask_watchpoint == NULL)
4234 ops->to_remove_mask_watchpoint = delegate_remove_mask_watchpoint;
6b84065d
TT
4235 if (ops->to_stopped_by_watchpoint == NULL)
4236 ops->to_stopped_by_watchpoint = delegate_stopped_by_watchpoint;
4237 if (ops->to_stopped_data_address == NULL)
4238 ops->to_stopped_data_address = delegate_stopped_data_address;
65f160a9
TT
4239 if (ops->to_watchpoint_addr_within_range == NULL)
4240 ops->to_watchpoint_addr_within_range = delegate_watchpoint_addr_within_range;
d03655e4
TT
4241 if (ops->to_region_ok_for_hw_watchpoint == NULL)
4242 ops->to_region_ok_for_hw_watchpoint = delegate_region_ok_for_hw_watchpoint;
77cdffe9
TT
4243 if (ops->to_can_accel_watchpoint_condition == NULL)
4244 ops->to_can_accel_watchpoint_condition = delegate_can_accel_watchpoint_condition;
6c7e5e5c
TT
4245 if (ops->to_masked_watch_num_registers == NULL)
4246 ops->to_masked_watch_num_registers = delegate_masked_watch_num_registers;
750ce8d1
YQ
4247 if (ops->to_can_do_single_step == NULL)
4248 ops->to_can_do_single_step = delegate_can_do_single_step;
0343661d
TT
4249 if (ops->to_terminal_init == NULL)
4250 ops->to_terminal_init = delegate_terminal_init;
ddeaacc9
TT
4251 if (ops->to_terminal_inferior == NULL)
4252 ops->to_terminal_inferior = delegate_terminal_inferior;
74fcbef9
TT
4253 if (ops->to_terminal_ours_for_output == NULL)
4254 ops->to_terminal_ours_for_output = delegate_terminal_ours_for_output;
e4a733f1
TT
4255 if (ops->to_terminal_ours == NULL)
4256 ops->to_terminal_ours = delegate_terminal_ours;
e19e919f
TT
4257 if (ops->to_terminal_info == NULL)
4258 ops->to_terminal_info = delegate_terminal_info;
423a4807
TT
4259 if (ops->to_kill == NULL)
4260 ops->to_kill = delegate_kill;
7634da87
TT
4261 if (ops->to_load == NULL)
4262 ops->to_load = delegate_load;
340ba4bf
TT
4263 if (ops->to_post_startup_inferior == NULL)
4264 ops->to_post_startup_inferior = delegate_post_startup_inferior;
5958ebeb
TT
4265 if (ops->to_insert_fork_catchpoint == NULL)
4266 ops->to_insert_fork_catchpoint = delegate_insert_fork_catchpoint;
e1a21fb7
TT
4267 if (ops->to_remove_fork_catchpoint == NULL)
4268 ops->to_remove_fork_catchpoint = delegate_remove_fork_catchpoint;
7e18a8dc
TT
4269 if (ops->to_insert_vfork_catchpoint == NULL)
4270 ops->to_insert_vfork_catchpoint = delegate_insert_vfork_catchpoint;
95c3375e
TT
4271 if (ops->to_remove_vfork_catchpoint == NULL)
4272 ops->to_remove_vfork_catchpoint = delegate_remove_vfork_catchpoint;
098dba18
TT
4273 if (ops->to_follow_fork == NULL)
4274 ops->to_follow_fork = delegate_follow_fork;
62f64d7a
TT
4275 if (ops->to_insert_exec_catchpoint == NULL)
4276 ops->to_insert_exec_catchpoint = delegate_insert_exec_catchpoint;
cda0f38c
TT
4277 if (ops->to_remove_exec_catchpoint == NULL)
4278 ops->to_remove_exec_catchpoint = delegate_remove_exec_catchpoint;
94585166
DB
4279 if (ops->to_follow_exec == NULL)
4280 ops->to_follow_exec = delegate_follow_exec;
6a9fa051
TT
4281 if (ops->to_set_syscall_catchpoint == NULL)
4282 ops->to_set_syscall_catchpoint = delegate_set_syscall_catchpoint;
0db88c1d
TT
4283 if (ops->to_has_exited == NULL)
4284 ops->to_has_exited = delegate_has_exited;
8d657035
TT
4285 if (ops->to_mourn_inferior == NULL)
4286 ops->to_mourn_inferior = delegate_mourn_inferior;
e88ef65c
TT
4287 if (ops->to_can_run == NULL)
4288 ops->to_can_run = delegate_can_run;
035cad7f
TT
4289 if (ops->to_pass_signals == NULL)
4290 ops->to_pass_signals = delegate_pass_signals;
7d4f8efa
TT
4291 if (ops->to_program_signals == NULL)
4292 ops->to_program_signals = delegate_program_signals;
cbffc065
TT
4293 if (ops->to_thread_alive == NULL)
4294 ops->to_thread_alive = delegate_thread_alive;
e8032dde
PA
4295 if (ops->to_update_thread_list == NULL)
4296 ops->to_update_thread_list = delegate_update_thread_list;
770234d3
TT
4297 if (ops->to_pid_to_str == NULL)
4298 ops->to_pid_to_str = delegate_pid_to_str;
4a7e6dda
TT
4299 if (ops->to_extra_thread_info == NULL)
4300 ops->to_extra_thread_info = delegate_extra_thread_info;
825828fc
TT
4301 if (ops->to_thread_name == NULL)
4302 ops->to_thread_name = delegate_thread_name;
e04ee09e
KB
4303 if (ops->to_thread_handle_to_thread_info == NULL)
4304 ops->to_thread_handle_to_thread_info = delegate_thread_handle_to_thread_info;
46ee7e8d
TT
4305 if (ops->to_stop == NULL)
4306 ops->to_stop = delegate_stop;
bfedc46a
PA
4307 if (ops->to_interrupt == NULL)
4308 ops->to_interrupt = delegate_interrupt;
93692b58
PA
4309 if (ops->to_pass_ctrlc == NULL)
4310 ops->to_pass_ctrlc = delegate_pass_ctrlc;
a53f3625
TT
4311 if (ops->to_rcmd == NULL)
4312 ops->to_rcmd = delegate_rcmd;
830ca330
TT
4313 if (ops->to_pid_to_exec_file == NULL)
4314 ops->to_pid_to_exec_file = delegate_pid_to_exec_file;
d9cb0195
TT
4315 if (ops->to_log_command == NULL)
4316 ops->to_log_command = delegate_log_command;
7e35c012
TT
4317 if (ops->to_get_section_table == NULL)
4318 ops->to_get_section_table = delegate_get_section_table;
6b84065d
TT
4319 if (ops->to_can_async_p == NULL)
4320 ops->to_can_async_p = delegate_can_async_p;
4321 if (ops->to_is_async_p == NULL)
4322 ops->to_is_async_p = delegate_is_async_p;
4323 if (ops->to_async == NULL)
4324 ops->to_async = delegate_async;
65706a29
PA
4325 if (ops->to_thread_events == NULL)
4326 ops->to_thread_events = delegate_thread_events;
b3ccfe11
TT
4327 if (ops->to_supports_non_stop == NULL)
4328 ops->to_supports_non_stop = delegate_supports_non_stop;
fbea99ea
PA
4329 if (ops->to_always_non_stop_p == NULL)
4330 ops->to_always_non_stop_p = delegate_always_non_stop_p;
0b5a2719
TT
4331 if (ops->to_find_memory_regions == NULL)
4332 ops->to_find_memory_regions = delegate_find_memory_regions;
16f796b1
TT
4333 if (ops->to_make_corefile_notes == NULL)
4334 ops->to_make_corefile_notes = delegate_make_corefile_notes;
3dbafbbb
TT
4335 if (ops->to_get_bookmark == NULL)
4336 ops->to_get_bookmark = delegate_get_bookmark;
9bb9d61d
TT
4337 if (ops->to_goto_bookmark == NULL)
4338 ops->to_goto_bookmark = delegate_goto_bookmark;
f0f9ff95
TT
4339 if (ops->to_get_thread_local_address == NULL)
4340 ops->to_get_thread_local_address = delegate_get_thread_local_address;
6b84065d
TT
4341 if (ops->to_xfer_partial == NULL)
4342 ops->to_xfer_partial = delegate_xfer_partial;
09c98b44
DB
4343 if (ops->to_get_memory_xfer_limit == NULL)
4344 ops->to_get_memory_xfer_limit = delegate_get_memory_xfer_limit;
6b2c5a57
TT
4345 if (ops->to_memory_map == NULL)
4346 ops->to_memory_map = delegate_memory_map;
e8a6c6ac
TT
4347 if (ops->to_flash_erase == NULL)
4348 ops->to_flash_erase = delegate_flash_erase;
f6fb2925
TT
4349 if (ops->to_flash_done == NULL)
4350 ops->to_flash_done = delegate_flash_done;
2117c711
TT
4351 if (ops->to_read_description == NULL)
4352 ops->to_read_description = delegate_read_description;
4229b31d
TT
4353 if (ops->to_get_ada_task_ptid == NULL)
4354 ops->to_get_ada_task_ptid = delegate_get_ada_task_ptid;
8de71aab
TT
4355 if (ops->to_auxv_parse == NULL)
4356 ops->to_auxv_parse = delegate_auxv_parse;
58a5184e
TT
4357 if (ops->to_search_memory == NULL)
4358 ops->to_search_memory = delegate_search_memory;
53e1cfc7
TT
4359 if (ops->to_can_execute_reverse == NULL)
4360 ops->to_can_execute_reverse = delegate_can_execute_reverse;
fe31bf5b
TT
4361 if (ops->to_execution_direction == NULL)
4362 ops->to_execution_direction = delegate_execution_direction;
a7304748
TT
4363 if (ops->to_supports_multi_process == NULL)
4364 ops->to_supports_multi_process = delegate_supports_multi_process;
aab1b22d
TT
4365 if (ops->to_supports_enable_disable_tracepoint == NULL)
4366 ops->to_supports_enable_disable_tracepoint = delegate_supports_enable_disable_tracepoint;
9409d39e
TT
4367 if (ops->to_supports_string_tracing == NULL)
4368 ops->to_supports_string_tracing = delegate_supports_string_tracing;
ccfde2a0
TT
4369 if (ops->to_supports_evaluation_of_breakpoint_conditions == NULL)
4370 ops->to_supports_evaluation_of_breakpoint_conditions = delegate_supports_evaluation_of_breakpoint_conditions;
843f59ed
TT
4371 if (ops->to_can_run_breakpoint_commands == NULL)
4372 ops->to_can_run_breakpoint_commands = delegate_can_run_breakpoint_commands;
43eba180
TT
4373 if (ops->to_thread_architecture == NULL)
4374 ops->to_thread_architecture = delegate_thread_architecture;
8eaff7cd
TT
4375 if (ops->to_thread_address_space == NULL)
4376 ops->to_thread_address_space = delegate_thread_address_space;
4bd7dc42
GB
4377 if (ops->to_filesystem_is_local == NULL)
4378 ops->to_filesystem_is_local = delegate_filesystem_is_local;
5536135b
TT
4379 if (ops->to_trace_init == NULL)
4380 ops->to_trace_init = delegate_trace_init;
9a980a22
TT
4381 if (ops->to_download_tracepoint == NULL)
4382 ops->to_download_tracepoint = delegate_download_tracepoint;
719acc4a
TT
4383 if (ops->to_can_download_tracepoint == NULL)
4384 ops->to_can_download_tracepoint = delegate_can_download_tracepoint;
94eb98b9
TT
4385 if (ops->to_download_trace_state_variable == NULL)
4386 ops->to_download_trace_state_variable = delegate_download_trace_state_variable;
151f70f1
TT
4387 if (ops->to_enable_tracepoint == NULL)
4388 ops->to_enable_tracepoint = delegate_enable_tracepoint;
05c41993
TT
4389 if (ops->to_disable_tracepoint == NULL)
4390 ops->to_disable_tracepoint = delegate_disable_tracepoint;
86dd181d
TT
4391 if (ops->to_trace_set_readonly_regions == NULL)
4392 ops->to_trace_set_readonly_regions = delegate_trace_set_readonly_regions;
25da2e80
TT
4393 if (ops->to_trace_start == NULL)
4394 ops->to_trace_start = delegate_trace_start;
4072d4ff
TT
4395 if (ops->to_get_trace_status == NULL)
4396 ops->to_get_trace_status = delegate_get_trace_status;
6fea14cd
TT
4397 if (ops->to_get_tracepoint_status == NULL)
4398 ops->to_get_tracepoint_status = delegate_get_tracepoint_status;
e51c07ea
TT
4399 if (ops->to_trace_stop == NULL)
4400 ops->to_trace_stop = delegate_trace_stop;
afc94e66
TT
4401 if (ops->to_trace_find == NULL)
4402 ops->to_trace_find = delegate_trace_find;
959bcd0b
TT
4403 if (ops->to_get_trace_state_variable_value == NULL)
4404 ops->to_get_trace_state_variable_value = delegate_get_trace_state_variable_value;
a2e6c147
TT
4405 if (ops->to_save_trace_data == NULL)
4406 ops->to_save_trace_data = delegate_save_trace_data;
1e949b00
TT
4407 if (ops->to_upload_tracepoints == NULL)
4408 ops->to_upload_tracepoints = delegate_upload_tracepoints;
08120467
TT
4409 if (ops->to_upload_trace_state_variables == NULL)
4410 ops->to_upload_trace_state_variables = delegate_upload_trace_state_variables;
ace92e7d
TT
4411 if (ops->to_get_raw_trace_data == NULL)
4412 ops->to_get_raw_trace_data = delegate_get_raw_trace_data;
9249843f
TT
4413 if (ops->to_get_min_fast_tracepoint_insn_len == NULL)
4414 ops->to_get_min_fast_tracepoint_insn_len = delegate_get_min_fast_tracepoint_insn_len;
0bcfeddf
TT
4415 if (ops->to_set_disconnected_tracing == NULL)
4416 ops->to_set_disconnected_tracing = delegate_set_disconnected_tracing;
8d526939
TT
4417 if (ops->to_set_circular_trace_buffer == NULL)
4418 ops->to_set_circular_trace_buffer = delegate_set_circular_trace_buffer;
91df8d1d
TT
4419 if (ops->to_set_trace_buffer_size == NULL)
4420 ops->to_set_trace_buffer_size = delegate_set_trace_buffer_size;
8586ccaa
TT
4421 if (ops->to_set_trace_notes == NULL)
4422 ops->to_set_trace_notes = delegate_set_trace_notes;
9e538d0d
TT
4423 if (ops->to_core_of_thread == NULL)
4424 ops->to_core_of_thread = delegate_core_of_thread;
eb276a6b
TT
4425 if (ops->to_verify_memory == NULL)
4426 ops->to_verify_memory = delegate_verify_memory;
22bcceee
TT
4427 if (ops->to_get_tib_address == NULL)
4428 ops->to_get_tib_address = delegate_get_tib_address;
dcd6917f
TT
4429 if (ops->to_set_permissions == NULL)
4430 ops->to_set_permissions = delegate_set_permissions;
4c3e4425
TT
4431 if (ops->to_static_tracepoint_marker_at == NULL)
4432 ops->to_static_tracepoint_marker_at = delegate_static_tracepoint_marker_at;
d6522a22
TT
4433 if (ops->to_static_tracepoint_markers_by_strid == NULL)
4434 ops->to_static_tracepoint_markers_by_strid = delegate_static_tracepoint_markers_by_strid;
92155eeb
TT
4435 if (ops->to_traceframe_info == NULL)
4436 ops->to_traceframe_info = delegate_traceframe_info;
d9db5b21
TT
4437 if (ops->to_use_agent == NULL)
4438 ops->to_use_agent = delegate_use_agent;
9a7d8b48
TT
4439 if (ops->to_can_use_agent == NULL)
4440 ops->to_can_use_agent = delegate_can_use_agent;
46917d26
TT
4441 if (ops->to_supports_btrace == NULL)
4442 ops->to_supports_btrace = delegate_supports_btrace;
6dc7fcf4
TT
4443 if (ops->to_enable_btrace == NULL)
4444 ops->to_enable_btrace = delegate_enable_btrace;
8dc292d3
TT
4445 if (ops->to_disable_btrace == NULL)
4446 ops->to_disable_btrace = delegate_disable_btrace;
9ace480d
TT
4447 if (ops->to_teardown_btrace == NULL)
4448 ops->to_teardown_btrace = delegate_teardown_btrace;
eb5b20d4
TT
4449 if (ops->to_read_btrace == NULL)
4450 ops->to_read_btrace = delegate_read_btrace;
f4abbc16
MM
4451 if (ops->to_btrace_conf == NULL)
4452 ops->to_btrace_conf = delegate_btrace_conf;
b158a20f
TW
4453 if (ops->to_record_method == NULL)
4454 ops->to_record_method = delegate_record_method;
ee97f592
TT
4455 if (ops->to_stop_recording == NULL)
4456 ops->to_stop_recording = delegate_stop_recording;
a432721e
TT
4457 if (ops->to_info_record == NULL)
4458 ops->to_info_record = delegate_info_record;
f09e2107
TT
4459 if (ops->to_save_record == NULL)
4460 ops->to_save_record = delegate_save_record;
07366925
TT
4461 if (ops->to_delete_record == NULL)
4462 ops->to_delete_record = delegate_delete_record;
dd2e9d25
TT
4463 if (ops->to_record_is_replaying == NULL)
4464 ops->to_record_is_replaying = delegate_record_is_replaying;
7ff27e9b
MM
4465 if (ops->to_record_will_replay == NULL)
4466 ops->to_record_will_replay = delegate_record_will_replay;
797094dd
MM
4467 if (ops->to_record_stop_replaying == NULL)
4468 ops->to_record_stop_replaying = delegate_record_stop_replaying;
671e76cc
TT
4469 if (ops->to_goto_record_begin == NULL)
4470 ops->to_goto_record_begin = delegate_goto_record_begin;
e9179bb3
TT
4471 if (ops->to_goto_record_end == NULL)
4472 ops->to_goto_record_end = delegate_goto_record_end;
05969c84
TT
4473 if (ops->to_goto_record == NULL)
4474 ops->to_goto_record = delegate_goto_record;
3679abfa
TT
4475 if (ops->to_insn_history == NULL)
4476 ops->to_insn_history = delegate_insn_history;
8444ab58
TT
4477 if (ops->to_insn_history_from == NULL)
4478 ops->to_insn_history_from = delegate_insn_history_from;
c29302cc
TT
4479 if (ops->to_insn_history_range == NULL)
4480 ops->to_insn_history_range = delegate_insn_history_range;
170049d4
TT
4481 if (ops->to_call_history == NULL)
4482 ops->to_call_history = delegate_call_history;
16fc27d6
TT
4483 if (ops->to_call_history_from == NULL)
4484 ops->to_call_history_from = delegate_call_history_from;
115d9817
TT
4485 if (ops->to_call_history_range == NULL)
4486 ops->to_call_history_range = delegate_call_history_range;
0de91722
TT
4487 if (ops->to_augmented_libraries_svr4_read == NULL)
4488 ops->to_augmented_libraries_svr4_read = delegate_augmented_libraries_svr4_read;
ac01945b
TT
4489 if (ops->to_get_unwinder == NULL)
4490 ops->to_get_unwinder = delegate_get_unwinder;
4491 if (ops->to_get_tailcall_unwinder == NULL)
4492 ops->to_get_tailcall_unwinder = delegate_get_tailcall_unwinder;
5fff78c4
MM
4493 if (ops->to_prepare_to_generate_core == NULL)
4494 ops->to_prepare_to_generate_core = delegate_prepare_to_generate_core;
4495 if (ops->to_done_generating_core == NULL)
4496 ops->to_done_generating_core = delegate_done_generating_core;
1101cb7b
TT
4497}
4498
4499static void
4500install_dummy_methods (struct target_ops *ops)
4501{
bebd3233 4502 ops->to_post_attach = tdefault_post_attach;
09da0d0a 4503 ops->to_detach = tdefault_detach;
86a0854a 4504 ops->to_disconnect = tdefault_disconnect;
6b84065d 4505 ops->to_resume = tdefault_resume;
85ad3aaf 4506 ops->to_commit_resume = tdefault_commit_resume;
0b333c5e 4507 ops->to_wait = default_target_wait;
ad5989bd 4508 ops->to_fetch_registers = tdefault_fetch_registers;
6b84065d 4509 ops->to_store_registers = tdefault_store_registers;
6c628163 4510 ops->to_prepare_to_store = tdefault_prepare_to_store;
f86e59b2 4511 ops->to_files_info = tdefault_files_info;
6b84065d
TT
4512 ops->to_insert_breakpoint = memory_insert_breakpoint;
4513 ops->to_remove_breakpoint = memory_remove_breakpoint;
1cf4d951
PA
4514 ops->to_stopped_by_sw_breakpoint = tdefault_stopped_by_sw_breakpoint;
4515 ops->to_supports_stopped_by_sw_breakpoint = tdefault_supports_stopped_by_sw_breakpoint;
4516 ops->to_stopped_by_hw_breakpoint = tdefault_stopped_by_hw_breakpoint;
4517 ops->to_supports_stopped_by_hw_breakpoint = tdefault_supports_stopped_by_hw_breakpoint;
52b51d06 4518 ops->to_can_use_hw_breakpoint = tdefault_can_use_hw_breakpoint;
a134316b 4519 ops->to_ranged_break_num_registers = tdefault_ranged_break_num_registers;
61b371f9 4520 ops->to_insert_hw_breakpoint = tdefault_insert_hw_breakpoint;
418dabac 4521 ops->to_remove_hw_breakpoint = tdefault_remove_hw_breakpoint;
61dd109f 4522 ops->to_remove_watchpoint = tdefault_remove_watchpoint;
016facd4 4523 ops->to_insert_watchpoint = tdefault_insert_watchpoint;
cd4ae029 4524 ops->to_insert_mask_watchpoint = tdefault_insert_mask_watchpoint;
8b1c364c 4525 ops->to_remove_mask_watchpoint = tdefault_remove_mask_watchpoint;
6b84065d
TT
4526 ops->to_stopped_by_watchpoint = tdefault_stopped_by_watchpoint;
4527 ops->to_stopped_data_address = tdefault_stopped_data_address;
65f160a9 4528 ops->to_watchpoint_addr_within_range = default_watchpoint_addr_within_range;
d03655e4 4529 ops->to_region_ok_for_hw_watchpoint = default_region_ok_for_hw_watchpoint;
77cdffe9 4530 ops->to_can_accel_watchpoint_condition = tdefault_can_accel_watchpoint_condition;
6c7e5e5c 4531 ops->to_masked_watch_num_registers = tdefault_masked_watch_num_registers;
750ce8d1 4532 ops->to_can_do_single_step = tdefault_can_do_single_step;
0343661d 4533 ops->to_terminal_init = tdefault_terminal_init;
ddeaacc9 4534 ops->to_terminal_inferior = tdefault_terminal_inferior;
74fcbef9 4535 ops->to_terminal_ours_for_output = tdefault_terminal_ours_for_output;
e4a733f1 4536 ops->to_terminal_ours = tdefault_terminal_ours;
e19e919f 4537 ops->to_terminal_info = default_terminal_info;
423a4807 4538 ops->to_kill = tdefault_kill;
7634da87 4539 ops->to_load = tdefault_load;
340ba4bf 4540 ops->to_post_startup_inferior = tdefault_post_startup_inferior;
5958ebeb 4541 ops->to_insert_fork_catchpoint = tdefault_insert_fork_catchpoint;
e1a21fb7 4542 ops->to_remove_fork_catchpoint = tdefault_remove_fork_catchpoint;
7e18a8dc 4543 ops->to_insert_vfork_catchpoint = tdefault_insert_vfork_catchpoint;
95c3375e 4544 ops->to_remove_vfork_catchpoint = tdefault_remove_vfork_catchpoint;
098dba18 4545 ops->to_follow_fork = default_follow_fork;
62f64d7a 4546 ops->to_insert_exec_catchpoint = tdefault_insert_exec_catchpoint;
cda0f38c 4547 ops->to_remove_exec_catchpoint = tdefault_remove_exec_catchpoint;
94585166 4548 ops->to_follow_exec = tdefault_follow_exec;
6a9fa051 4549 ops->to_set_syscall_catchpoint = tdefault_set_syscall_catchpoint;
0db88c1d 4550 ops->to_has_exited = tdefault_has_exited;
8d657035 4551 ops->to_mourn_inferior = default_mourn_inferior;
e88ef65c 4552 ops->to_can_run = tdefault_can_run;
035cad7f 4553 ops->to_pass_signals = tdefault_pass_signals;
7d4f8efa 4554 ops->to_program_signals = tdefault_program_signals;
cbffc065 4555 ops->to_thread_alive = tdefault_thread_alive;
e8032dde 4556 ops->to_update_thread_list = tdefault_update_thread_list;
770234d3 4557 ops->to_pid_to_str = default_pid_to_str;
4a7e6dda 4558 ops->to_extra_thread_info = tdefault_extra_thread_info;
825828fc 4559 ops->to_thread_name = tdefault_thread_name;
e04ee09e 4560 ops->to_thread_handle_to_thread_info = tdefault_thread_handle_to_thread_info;
46ee7e8d 4561 ops->to_stop = tdefault_stop;
bfedc46a 4562 ops->to_interrupt = tdefault_interrupt;
93692b58 4563 ops->to_pass_ctrlc = default_target_pass_ctrlc;
a53f3625 4564 ops->to_rcmd = default_rcmd;
830ca330 4565 ops->to_pid_to_exec_file = tdefault_pid_to_exec_file;
d9cb0195 4566 ops->to_log_command = tdefault_log_command;
7e35c012 4567 ops->to_get_section_table = tdefault_get_section_table;
b3ccfe11
TT
4568 ops->to_can_async_p = tdefault_can_async_p;
4569 ops->to_is_async_p = tdefault_is_async_p;
6b84065d 4570 ops->to_async = tdefault_async;
65706a29 4571 ops->to_thread_events = tdefault_thread_events;
b3ccfe11 4572 ops->to_supports_non_stop = tdefault_supports_non_stop;
fbea99ea 4573 ops->to_always_non_stop_p = tdefault_always_non_stop_p;
0b5a2719 4574 ops->to_find_memory_regions = dummy_find_memory_regions;
16f796b1 4575 ops->to_make_corefile_notes = dummy_make_corefile_notes;
3dbafbbb 4576 ops->to_get_bookmark = tdefault_get_bookmark;
9bb9d61d 4577 ops->to_goto_bookmark = tdefault_goto_bookmark;
f0f9ff95 4578 ops->to_get_thread_local_address = tdefault_get_thread_local_address;
6b84065d 4579 ops->to_xfer_partial = tdefault_xfer_partial;
09c98b44 4580 ops->to_get_memory_xfer_limit = tdefault_get_memory_xfer_limit;
6b2c5a57 4581 ops->to_memory_map = tdefault_memory_map;
e8a6c6ac 4582 ops->to_flash_erase = tdefault_flash_erase;
f6fb2925 4583 ops->to_flash_done = tdefault_flash_done;
2117c711 4584 ops->to_read_description = tdefault_read_description;
4229b31d 4585 ops->to_get_ada_task_ptid = default_get_ada_task_ptid;
8de71aab 4586 ops->to_auxv_parse = default_auxv_parse;
58a5184e 4587 ops->to_search_memory = default_search_memory;
53e1cfc7 4588 ops->to_can_execute_reverse = tdefault_can_execute_reverse;
fe31bf5b 4589 ops->to_execution_direction = default_execution_direction;
a7304748 4590 ops->to_supports_multi_process = tdefault_supports_multi_process;
aab1b22d 4591 ops->to_supports_enable_disable_tracepoint = tdefault_supports_enable_disable_tracepoint;
9409d39e 4592 ops->to_supports_string_tracing = tdefault_supports_string_tracing;
ccfde2a0 4593 ops->to_supports_evaluation_of_breakpoint_conditions = tdefault_supports_evaluation_of_breakpoint_conditions;
843f59ed 4594 ops->to_can_run_breakpoint_commands = tdefault_can_run_breakpoint_commands;
43eba180 4595 ops->to_thread_architecture = default_thread_architecture;
8eaff7cd 4596 ops->to_thread_address_space = default_thread_address_space;
4bd7dc42 4597 ops->to_filesystem_is_local = tdefault_filesystem_is_local;
5536135b 4598 ops->to_trace_init = tdefault_trace_init;
9a980a22 4599 ops->to_download_tracepoint = tdefault_download_tracepoint;
719acc4a 4600 ops->to_can_download_tracepoint = tdefault_can_download_tracepoint;
94eb98b9 4601 ops->to_download_trace_state_variable = tdefault_download_trace_state_variable;
151f70f1 4602 ops->to_enable_tracepoint = tdefault_enable_tracepoint;
05c41993 4603 ops->to_disable_tracepoint = tdefault_disable_tracepoint;
86dd181d 4604 ops->to_trace_set_readonly_regions = tdefault_trace_set_readonly_regions;
25da2e80 4605 ops->to_trace_start = tdefault_trace_start;
4072d4ff 4606 ops->to_get_trace_status = tdefault_get_trace_status;
6fea14cd 4607 ops->to_get_tracepoint_status = tdefault_get_tracepoint_status;
e51c07ea 4608 ops->to_trace_stop = tdefault_trace_stop;
afc94e66 4609 ops->to_trace_find = tdefault_trace_find;
959bcd0b 4610 ops->to_get_trace_state_variable_value = tdefault_get_trace_state_variable_value;
a2e6c147 4611 ops->to_save_trace_data = tdefault_save_trace_data;
1e949b00 4612 ops->to_upload_tracepoints = tdefault_upload_tracepoints;
08120467 4613 ops->to_upload_trace_state_variables = tdefault_upload_trace_state_variables;
ace92e7d 4614 ops->to_get_raw_trace_data = tdefault_get_raw_trace_data;
9249843f 4615 ops->to_get_min_fast_tracepoint_insn_len = tdefault_get_min_fast_tracepoint_insn_len;
0bcfeddf 4616 ops->to_set_disconnected_tracing = tdefault_set_disconnected_tracing;
8d526939 4617 ops->to_set_circular_trace_buffer = tdefault_set_circular_trace_buffer;
91df8d1d 4618 ops->to_set_trace_buffer_size = tdefault_set_trace_buffer_size;
8586ccaa 4619 ops->to_set_trace_notes = tdefault_set_trace_notes;
9e538d0d 4620 ops->to_core_of_thread = tdefault_core_of_thread;
936d2992 4621 ops->to_verify_memory = default_verify_memory;
22bcceee 4622 ops->to_get_tib_address = tdefault_get_tib_address;
dcd6917f 4623 ops->to_set_permissions = tdefault_set_permissions;
4c3e4425 4624 ops->to_static_tracepoint_marker_at = tdefault_static_tracepoint_marker_at;
d6522a22 4625 ops->to_static_tracepoint_markers_by_strid = tdefault_static_tracepoint_markers_by_strid;
92155eeb 4626 ops->to_traceframe_info = tdefault_traceframe_info;
d9db5b21 4627 ops->to_use_agent = tdefault_use_agent;
9a7d8b48 4628 ops->to_can_use_agent = tdefault_can_use_agent;
46917d26 4629 ops->to_supports_btrace = tdefault_supports_btrace;
6dc7fcf4 4630 ops->to_enable_btrace = tdefault_enable_btrace;
8dc292d3 4631 ops->to_disable_btrace = tdefault_disable_btrace;
9ace480d 4632 ops->to_teardown_btrace = tdefault_teardown_btrace;
eb5b20d4 4633 ops->to_read_btrace = tdefault_read_btrace;
f4abbc16 4634 ops->to_btrace_conf = tdefault_btrace_conf;
b158a20f 4635 ops->to_record_method = tdefault_record_method;
ee97f592 4636 ops->to_stop_recording = tdefault_stop_recording;
a432721e 4637 ops->to_info_record = tdefault_info_record;
f09e2107 4638 ops->to_save_record = tdefault_save_record;
07366925 4639 ops->to_delete_record = tdefault_delete_record;
dd2e9d25 4640 ops->to_record_is_replaying = tdefault_record_is_replaying;
7ff27e9b 4641 ops->to_record_will_replay = tdefault_record_will_replay;
797094dd 4642 ops->to_record_stop_replaying = tdefault_record_stop_replaying;
671e76cc 4643 ops->to_goto_record_begin = tdefault_goto_record_begin;
e9179bb3 4644 ops->to_goto_record_end = tdefault_goto_record_end;
05969c84 4645 ops->to_goto_record = tdefault_goto_record;
3679abfa 4646 ops->to_insn_history = tdefault_insn_history;
8444ab58 4647 ops->to_insn_history_from = tdefault_insn_history_from;
c29302cc 4648 ops->to_insn_history_range = tdefault_insn_history_range;
170049d4 4649 ops->to_call_history = tdefault_call_history;
16fc27d6 4650 ops->to_call_history_from = tdefault_call_history_from;
115d9817 4651 ops->to_call_history_range = tdefault_call_history_range;
0de91722 4652 ops->to_augmented_libraries_svr4_read = tdefault_augmented_libraries_svr4_read;
ac01945b
TT
4653 ops->to_get_unwinder = tdefault_get_unwinder;
4654 ops->to_get_tailcall_unwinder = tdefault_get_tailcall_unwinder;
5fff78c4
MM
4655 ops->to_prepare_to_generate_core = tdefault_prepare_to_generate_core;
4656 ops->to_done_generating_core = tdefault_done_generating_core;
1101cb7b 4657}
a7068b60
TT
4658
4659static void
4660init_debug_target (struct target_ops *ops)
4661{
4662 ops->to_post_attach = debug_post_attach;
4663 ops->to_detach = debug_detach;
4664 ops->to_disconnect = debug_disconnect;
4665 ops->to_resume = debug_resume;
85ad3aaf 4666 ops->to_commit_resume = debug_commit_resume;
a7068b60
TT
4667 ops->to_wait = debug_wait;
4668 ops->to_fetch_registers = debug_fetch_registers;
4669 ops->to_store_registers = debug_store_registers;
4670 ops->to_prepare_to_store = debug_prepare_to_store;
4671 ops->to_files_info = debug_files_info;
4672 ops->to_insert_breakpoint = debug_insert_breakpoint;
4673 ops->to_remove_breakpoint = debug_remove_breakpoint;
1cf4d951
PA
4674 ops->to_stopped_by_sw_breakpoint = debug_stopped_by_sw_breakpoint;
4675 ops->to_supports_stopped_by_sw_breakpoint = debug_supports_stopped_by_sw_breakpoint;
4676 ops->to_stopped_by_hw_breakpoint = debug_stopped_by_hw_breakpoint;
4677 ops->to_supports_stopped_by_hw_breakpoint = debug_supports_stopped_by_hw_breakpoint;
a7068b60
TT
4678 ops->to_can_use_hw_breakpoint = debug_can_use_hw_breakpoint;
4679 ops->to_ranged_break_num_registers = debug_ranged_break_num_registers;
4680 ops->to_insert_hw_breakpoint = debug_insert_hw_breakpoint;
4681 ops->to_remove_hw_breakpoint = debug_remove_hw_breakpoint;
4682 ops->to_remove_watchpoint = debug_remove_watchpoint;
4683 ops->to_insert_watchpoint = debug_insert_watchpoint;
4684 ops->to_insert_mask_watchpoint = debug_insert_mask_watchpoint;
4685 ops->to_remove_mask_watchpoint = debug_remove_mask_watchpoint;
4686 ops->to_stopped_by_watchpoint = debug_stopped_by_watchpoint;
4687 ops->to_stopped_data_address = debug_stopped_data_address;
4688 ops->to_watchpoint_addr_within_range = debug_watchpoint_addr_within_range;
4689 ops->to_region_ok_for_hw_watchpoint = debug_region_ok_for_hw_watchpoint;
4690 ops->to_can_accel_watchpoint_condition = debug_can_accel_watchpoint_condition;
4691 ops->to_masked_watch_num_registers = debug_masked_watch_num_registers;
750ce8d1 4692 ops->to_can_do_single_step = debug_can_do_single_step;
a7068b60
TT
4693 ops->to_terminal_init = debug_terminal_init;
4694 ops->to_terminal_inferior = debug_terminal_inferior;
4695 ops->to_terminal_ours_for_output = debug_terminal_ours_for_output;
4696 ops->to_terminal_ours = debug_terminal_ours;
a7068b60
TT
4697 ops->to_terminal_info = debug_terminal_info;
4698 ops->to_kill = debug_kill;
4699 ops->to_load = debug_load;
4700 ops->to_post_startup_inferior = debug_post_startup_inferior;
4701 ops->to_insert_fork_catchpoint = debug_insert_fork_catchpoint;
4702 ops->to_remove_fork_catchpoint = debug_remove_fork_catchpoint;
4703 ops->to_insert_vfork_catchpoint = debug_insert_vfork_catchpoint;
4704 ops->to_remove_vfork_catchpoint = debug_remove_vfork_catchpoint;
4705 ops->to_follow_fork = debug_follow_fork;
4706 ops->to_insert_exec_catchpoint = debug_insert_exec_catchpoint;
4707 ops->to_remove_exec_catchpoint = debug_remove_exec_catchpoint;
94585166 4708 ops->to_follow_exec = debug_follow_exec;
a7068b60
TT
4709 ops->to_set_syscall_catchpoint = debug_set_syscall_catchpoint;
4710 ops->to_has_exited = debug_has_exited;
4711 ops->to_mourn_inferior = debug_mourn_inferior;
4712 ops->to_can_run = debug_can_run;
4713 ops->to_pass_signals = debug_pass_signals;
4714 ops->to_program_signals = debug_program_signals;
4715 ops->to_thread_alive = debug_thread_alive;
e8032dde 4716 ops->to_update_thread_list = debug_update_thread_list;
a7068b60
TT
4717 ops->to_pid_to_str = debug_pid_to_str;
4718 ops->to_extra_thread_info = debug_extra_thread_info;
4719 ops->to_thread_name = debug_thread_name;
e04ee09e 4720 ops->to_thread_handle_to_thread_info = debug_thread_handle_to_thread_info;
a7068b60 4721 ops->to_stop = debug_stop;
bfedc46a 4722 ops->to_interrupt = debug_interrupt;
93692b58 4723 ops->to_pass_ctrlc = debug_pass_ctrlc;
a7068b60
TT
4724 ops->to_rcmd = debug_rcmd;
4725 ops->to_pid_to_exec_file = debug_pid_to_exec_file;
4726 ops->to_log_command = debug_log_command;
4727 ops->to_get_section_table = debug_get_section_table;
4728 ops->to_can_async_p = debug_can_async_p;
4729 ops->to_is_async_p = debug_is_async_p;
4730 ops->to_async = debug_async;
65706a29 4731 ops->to_thread_events = debug_thread_events;
a7068b60 4732 ops->to_supports_non_stop = debug_supports_non_stop;
fbea99ea 4733 ops->to_always_non_stop_p = debug_always_non_stop_p;
a7068b60
TT
4734 ops->to_find_memory_regions = debug_find_memory_regions;
4735 ops->to_make_corefile_notes = debug_make_corefile_notes;
4736 ops->to_get_bookmark = debug_get_bookmark;
4737 ops->to_goto_bookmark = debug_goto_bookmark;
4738 ops->to_get_thread_local_address = debug_get_thread_local_address;
4739 ops->to_xfer_partial = debug_xfer_partial;
09c98b44 4740 ops->to_get_memory_xfer_limit = debug_get_memory_xfer_limit;
a7068b60
TT
4741 ops->to_memory_map = debug_memory_map;
4742 ops->to_flash_erase = debug_flash_erase;
4743 ops->to_flash_done = debug_flash_done;
4744 ops->to_read_description = debug_read_description;
4745 ops->to_get_ada_task_ptid = debug_get_ada_task_ptid;
4746 ops->to_auxv_parse = debug_auxv_parse;
4747 ops->to_search_memory = debug_search_memory;
4748 ops->to_can_execute_reverse = debug_can_execute_reverse;
4749 ops->to_execution_direction = debug_execution_direction;
4750 ops->to_supports_multi_process = debug_supports_multi_process;
4751 ops->to_supports_enable_disable_tracepoint = debug_supports_enable_disable_tracepoint;
4752 ops->to_supports_string_tracing = debug_supports_string_tracing;
4753 ops->to_supports_evaluation_of_breakpoint_conditions = debug_supports_evaluation_of_breakpoint_conditions;
4754 ops->to_can_run_breakpoint_commands = debug_can_run_breakpoint_commands;
4755 ops->to_thread_architecture = debug_thread_architecture;
4756 ops->to_thread_address_space = debug_thread_address_space;
4bd7dc42 4757 ops->to_filesystem_is_local = debug_filesystem_is_local;
a7068b60
TT
4758 ops->to_trace_init = debug_trace_init;
4759 ops->to_download_tracepoint = debug_download_tracepoint;
4760 ops->to_can_download_tracepoint = debug_can_download_tracepoint;
4761 ops->to_download_trace_state_variable = debug_download_trace_state_variable;
4762 ops->to_enable_tracepoint = debug_enable_tracepoint;
4763 ops->to_disable_tracepoint = debug_disable_tracepoint;
4764 ops->to_trace_set_readonly_regions = debug_trace_set_readonly_regions;
4765 ops->to_trace_start = debug_trace_start;
4766 ops->to_get_trace_status = debug_get_trace_status;
4767 ops->to_get_tracepoint_status = debug_get_tracepoint_status;
4768 ops->to_trace_stop = debug_trace_stop;
4769 ops->to_trace_find = debug_trace_find;
4770 ops->to_get_trace_state_variable_value = debug_get_trace_state_variable_value;
4771 ops->to_save_trace_data = debug_save_trace_data;
4772 ops->to_upload_tracepoints = debug_upload_tracepoints;
4773 ops->to_upload_trace_state_variables = debug_upload_trace_state_variables;
4774 ops->to_get_raw_trace_data = debug_get_raw_trace_data;
4775 ops->to_get_min_fast_tracepoint_insn_len = debug_get_min_fast_tracepoint_insn_len;
4776 ops->to_set_disconnected_tracing = debug_set_disconnected_tracing;
4777 ops->to_set_circular_trace_buffer = debug_set_circular_trace_buffer;
4778 ops->to_set_trace_buffer_size = debug_set_trace_buffer_size;
4779 ops->to_set_trace_notes = debug_set_trace_notes;
4780 ops->to_core_of_thread = debug_core_of_thread;
4781 ops->to_verify_memory = debug_verify_memory;
4782 ops->to_get_tib_address = debug_get_tib_address;
4783 ops->to_set_permissions = debug_set_permissions;
4784 ops->to_static_tracepoint_marker_at = debug_static_tracepoint_marker_at;
4785 ops->to_static_tracepoint_markers_by_strid = debug_static_tracepoint_markers_by_strid;
4786 ops->to_traceframe_info = debug_traceframe_info;
4787 ops->to_use_agent = debug_use_agent;
4788 ops->to_can_use_agent = debug_can_use_agent;
4789 ops->to_supports_btrace = debug_supports_btrace;
4790 ops->to_enable_btrace = debug_enable_btrace;
4791 ops->to_disable_btrace = debug_disable_btrace;
4792 ops->to_teardown_btrace = debug_teardown_btrace;
4793 ops->to_read_btrace = debug_read_btrace;
f4abbc16 4794 ops->to_btrace_conf = debug_btrace_conf;
b158a20f 4795 ops->to_record_method = debug_record_method;
a7068b60
TT
4796 ops->to_stop_recording = debug_stop_recording;
4797 ops->to_info_record = debug_info_record;
4798 ops->to_save_record = debug_save_record;
4799 ops->to_delete_record = debug_delete_record;
4800 ops->to_record_is_replaying = debug_record_is_replaying;
7ff27e9b 4801 ops->to_record_will_replay = debug_record_will_replay;
797094dd 4802 ops->to_record_stop_replaying = debug_record_stop_replaying;
a7068b60
TT
4803 ops->to_goto_record_begin = debug_goto_record_begin;
4804 ops->to_goto_record_end = debug_goto_record_end;
4805 ops->to_goto_record = debug_goto_record;
4806 ops->to_insn_history = debug_insn_history;
4807 ops->to_insn_history_from = debug_insn_history_from;
4808 ops->to_insn_history_range = debug_insn_history_range;
4809 ops->to_call_history = debug_call_history;
4810 ops->to_call_history_from = debug_call_history_from;
4811 ops->to_call_history_range = debug_call_history_range;
4812 ops->to_augmented_libraries_svr4_read = debug_augmented_libraries_svr4_read;
4813 ops->to_get_unwinder = debug_get_unwinder;
4814 ops->to_get_tailcall_unwinder = debug_get_tailcall_unwinder;
a7068b60
TT
4815 ops->to_prepare_to_generate_core = debug_prepare_to_generate_core;
4816 ops->to_done_generating_core = debug_done_generating_core;
4817}
This page took 0.833398 seconds and 4 git commands to generate.