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