0c1309a9aaf32f89bb832aace5e7bd351d313cc2
[external/binutils.git] / gdb / target-delegates.c
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 */
6 static void
7 delegate_post_attach (struct target_ops *self, int arg1)
8 {
9   self = self->beneath;
10   self->to_post_attach (self, arg1);
11 }
12
13 static void
14 tdefault_post_attach (struct target_ops *self, int arg1)
15 {
16 }
17
18 static void
19 debug_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
30 static void
31 delegate_detach (struct target_ops *self, const char *arg1, int arg2)
32 {
33   self = self->beneath;
34   self->to_detach (self, arg1, arg2);
35 }
36
37 static void
38 tdefault_detach (struct target_ops *self, const char *arg1, int arg2)
39 {
40 }
41
42 static void
43 debug_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
56 static void
57 delegate_disconnect (struct target_ops *self, const char *arg1, int arg2)
58 {
59   self = self->beneath;
60   self->to_disconnect (self, arg1, arg2);
61 }
62
63 static void
64 tdefault_disconnect (struct target_ops *self, const char *arg1, int arg2)
65 {
66   tcomplain ();
67 }
68
69 static void
70 debug_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
83 static void
84 delegate_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
90 static void
91 tdefault_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
92 {
93   noprocess ();
94 }
95
96 static void
97 debug_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
112 static ptid_t
113 delegate_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
119 static ptid_t
120 tdefault_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
121 {
122   noprocess ();
123 }
124
125 static ptid_t
126 debug_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
145 static void
146 delegate_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
152 static void
153 tdefault_fetch_registers (struct target_ops *self, struct regcache *arg1, int arg2)
154 {
155 }
156
157 static void
158 debug_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
171 static void
172 delegate_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
178 static void
179 tdefault_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
180 {
181   noprocess ();
182 }
183
184 static void
185 debug_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
198 static void
199 delegate_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
205 static void
206 tdefault_prepare_to_store (struct target_ops *self, struct regcache *arg1)
207 {
208   noprocess ();
209 }
210
211 static void
212 debug_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
223 static void
224 delegate_files_info (struct target_ops *self)
225 {
226   self = self->beneath;
227   self->to_files_info (self);
228 }
229
230 static void
231 tdefault_files_info (struct target_ops *self)
232 {
233 }
234
235 static void
236 debug_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
245 static int
246 delegate_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
252 static int
253 debug_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
270 static int
271 delegate_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
277 static int
278 debug_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
295 static int
296 delegate_stopped_by_sw_breakpoint (struct target_ops *self)
297 {
298   self = self->beneath;
299   return self->to_stopped_by_sw_breakpoint (self);
300 }
301
302 static int
303 tdefault_stopped_by_sw_breakpoint (struct target_ops *self)
304 {
305   return 0;
306 }
307
308 static int
309 debug_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
322 static int
323 delegate_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
329 static int
330 tdefault_supports_stopped_by_sw_breakpoint (struct target_ops *self)
331 {
332   return 0;
333 }
334
335 static int
336 debug_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
349 static int
350 delegate_stopped_by_hw_breakpoint (struct target_ops *self)
351 {
352   self = self->beneath;
353   return self->to_stopped_by_hw_breakpoint (self);
354 }
355
356 static int
357 tdefault_stopped_by_hw_breakpoint (struct target_ops *self)
358 {
359   return 0;
360 }
361
362 static int
363 debug_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
376 static int
377 delegate_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
383 static int
384 tdefault_supports_stopped_by_hw_breakpoint (struct target_ops *self)
385 {
386   return 0;
387 }
388
389 static int
390 debug_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
403 static int
404 delegate_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
410 static int
411 tdefault_can_use_hw_breakpoint (struct target_ops *self, int arg1, int arg2, int arg3)
412 {
413   return 0;
414 }
415
416 static int
417 debug_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
436 static int
437 delegate_ranged_break_num_registers (struct target_ops *self)
438 {
439   self = self->beneath;
440   return self->to_ranged_break_num_registers (self);
441 }
442
443 static int
444 tdefault_ranged_break_num_registers (struct target_ops *self)
445 {
446   return -1;
447 }
448
449 static int
450 debug_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
463 static int
464 delegate_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
470 static int
471 tdefault_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
472 {
473   return -1;
474 }
475
476 static int
477 debug_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
494 static int
495 delegate_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
501 static int
502 tdefault_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
503 {
504   return -1;
505 }
506
507 static int
508 debug_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
525 static int
526 delegate_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
532 static int
533 tdefault_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
534 {
535   return -1;
536 }
537
538 static int
539 debug_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
560 static int
561 delegate_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
567 static int
568 tdefault_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
569 {
570   return -1;
571 }
572
573 static int
574 debug_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
595 static int
596 delegate_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
602 static int
603 tdefault_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
604 {
605   return 1;
606 }
607
608 static int
609 debug_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
628 static int
629 delegate_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
635 static int
636 tdefault_remove_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
637 {
638   return 1;
639 }
640
641 static int
642 debug_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
661 static int
662 delegate_stopped_by_watchpoint (struct target_ops *self)
663 {
664   self = self->beneath;
665   return self->to_stopped_by_watchpoint (self);
666 }
667
668 static int
669 tdefault_stopped_by_watchpoint (struct target_ops *self)
670 {
671   return 0;
672 }
673
674 static int
675 debug_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
688 static int
689 delegate_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
695 static int
696 tdefault_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
697 {
698   return 0;
699 }
700
701 static int
702 debug_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
717 static int
718 delegate_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
724 static int
725 debug_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
744 static int
745 delegate_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
751 static int
752 debug_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
769 static int
770 delegate_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
776 static int
777 tdefault_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
778 {
779   return 0;
780 }
781
782 static int
783 debug_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
804 static int
805 delegate_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
811 static int
812 tdefault_masked_watch_num_registers (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2)
813 {
814   return -1;
815 }
816
817 static int
818 debug_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
835 static void
836 delegate_terminal_init (struct target_ops *self)
837 {
838   self = self->beneath;
839   self->to_terminal_init (self);
840 }
841
842 static void
843 tdefault_terminal_init (struct target_ops *self)
844 {
845 }
846
847 static void
848 debug_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
857 static void
858 delegate_terminal_inferior (struct target_ops *self)
859 {
860   self = self->beneath;
861   self->to_terminal_inferior (self);
862 }
863
864 static void
865 tdefault_terminal_inferior (struct target_ops *self)
866 {
867 }
868
869 static void
870 debug_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
879 static void
880 delegate_terminal_ours_for_output (struct target_ops *self)
881 {
882   self = self->beneath;
883   self->to_terminal_ours_for_output (self);
884 }
885
886 static void
887 tdefault_terminal_ours_for_output (struct target_ops *self)
888 {
889 }
890
891 static void
892 debug_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
901 static void
902 delegate_terminal_ours (struct target_ops *self)
903 {
904   self = self->beneath;
905   self->to_terminal_ours (self);
906 }
907
908 static void
909 tdefault_terminal_ours (struct target_ops *self)
910 {
911 }
912
913 static void
914 debug_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
923 static void
924 delegate_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
930 static void
931 debug_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
944 static void
945 delegate_kill (struct target_ops *self)
946 {
947   self = self->beneath;
948   self->to_kill (self);
949 }
950
951 static void
952 tdefault_kill (struct target_ops *self)
953 {
954   noprocess ();
955 }
956
957 static void
958 debug_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
967 static void
968 delegate_load (struct target_ops *self, const char *arg1, int arg2)
969 {
970   self = self->beneath;
971   self->to_load (self, arg1, arg2);
972 }
973
974 static void
975 tdefault_load (struct target_ops *self, const char *arg1, int arg2)
976 {
977   tcomplain ();
978 }
979
980 static void
981 debug_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
994 static void
995 delegate_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
1001 static void
1002 tdefault_post_startup_inferior (struct target_ops *self, ptid_t arg1)
1003 {
1004 }
1005
1006 static void
1007 debug_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
1018 static int
1019 delegate_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
1025 static int
1026 tdefault_insert_fork_catchpoint (struct target_ops *self, int arg1)
1027 {
1028   return 1;
1029 }
1030
1031 static int
1032 debug_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
1047 static int
1048 delegate_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
1054 static int
1055 tdefault_remove_fork_catchpoint (struct target_ops *self, int arg1)
1056 {
1057   return 1;
1058 }
1059
1060 static int
1061 debug_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
1076 static int
1077 delegate_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
1083 static int
1084 tdefault_insert_vfork_catchpoint (struct target_ops *self, int arg1)
1085 {
1086   return 1;
1087 }
1088
1089 static int
1090 debug_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
1105 static int
1106 delegate_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
1112 static int
1113 tdefault_remove_vfork_catchpoint (struct target_ops *self, int arg1)
1114 {
1115   return 1;
1116 }
1117
1118 static int
1119 debug_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
1134 static int
1135 delegate_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
1141 static int
1142 debug_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
1159 static int
1160 delegate_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
1166 static int
1167 tdefault_insert_exec_catchpoint (struct target_ops *self, int arg1)
1168 {
1169   return 1;
1170 }
1171
1172 static int
1173 debug_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
1188 static int
1189 delegate_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
1195 static int
1196 tdefault_remove_exec_catchpoint (struct target_ops *self, int arg1)
1197 {
1198   return 1;
1199 }
1200
1201 static int
1202 debug_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
1217 static int
1218 delegate_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
1224 static int
1225 tdefault_set_syscall_catchpoint (struct target_ops *self, int arg1, int arg2, int arg3, int arg4, int *arg5)
1226 {
1227   return 1;
1228 }
1229
1230 static int
1231 debug_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
1254 static int
1255 delegate_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
1261 static int
1262 tdefault_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
1263 {
1264   return 0;
1265 }
1266
1267 static int
1268 debug_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
1287 static void
1288 delegate_mourn_inferior (struct target_ops *self)
1289 {
1290   self = self->beneath;
1291   self->to_mourn_inferior (self);
1292 }
1293
1294 static void
1295 debug_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
1304 static int
1305 delegate_can_run (struct target_ops *self)
1306 {
1307   self = self->beneath;
1308   return self->to_can_run (self);
1309 }
1310
1311 static int
1312 tdefault_can_run (struct target_ops *self)
1313 {
1314   return 0;
1315 }
1316
1317 static int
1318 debug_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
1331 static void
1332 delegate_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
1333 {
1334   self = self->beneath;
1335   self->to_pass_signals (self, arg1, arg2);
1336 }
1337
1338 static void
1339 tdefault_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
1340 {
1341 }
1342
1343 static void
1344 debug_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
1345 {
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);
1355 }
1356
1357 static void
1358 delegate_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
1359 {
1360   self = self->beneath;
1361   self->to_program_signals (self, arg1, arg2);
1362 }
1363
1364 static void
1365 tdefault_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
1366 {
1367 }
1368
1369 static void
1370 debug_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
1371 {
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);
1381 }
1382
1383 static int
1384 delegate_thread_alive (struct target_ops *self, ptid_t arg1)
1385 {
1386   self = self->beneath;
1387   return self->to_thread_alive (self, arg1);
1388 }
1389
1390 static int
1391 tdefault_thread_alive (struct target_ops *self, ptid_t arg1)
1392 {
1393   return 0;
1394 }
1395
1396 static int
1397 debug_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
1412 static void
1413 delegate_update_thread_list (struct target_ops *self)
1414 {
1415   self = self->beneath;
1416   self->to_update_thread_list (self);
1417 }
1418
1419 static void
1420 tdefault_update_thread_list (struct target_ops *self)
1421 {
1422 }
1423
1424 static void
1425 debug_update_thread_list (struct target_ops *self)
1426 {
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);
1430   target_debug_print_struct_target_ops_p (&debug_target);
1431   fputs_unfiltered (")\n", gdb_stdlog);
1432 }
1433
1434 static char *
1435 delegate_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
1441 static char *
1442 debug_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
1457 static char *
1458 delegate_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
1464 static char *
1465 tdefault_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
1466 {
1467   return NULL;
1468 }
1469
1470 static char *
1471 debug_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
1486 static char *
1487 delegate_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
1493 static char *
1494 tdefault_thread_name (struct target_ops *self, struct thread_info *arg1)
1495 {
1496   return NULL;
1497 }
1498
1499 static char *
1500 debug_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
1515 static void
1516 delegate_stop (struct target_ops *self, ptid_t arg1)
1517 {
1518   self = self->beneath;
1519   self->to_stop (self, arg1);
1520 }
1521
1522 static void
1523 tdefault_stop (struct target_ops *self, ptid_t arg1)
1524 {
1525 }
1526
1527 static void
1528 debug_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
1539 static void
1540 delegate_rcmd (struct target_ops *self, const char *arg1, struct ui_file *arg2)
1541 {
1542   self = self->beneath;
1543   self->to_rcmd (self, arg1, arg2);
1544 }
1545
1546 static void
1547 debug_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
1560 static char *
1561 delegate_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
1567 static char *
1568 tdefault_pid_to_exec_file (struct target_ops *self, int arg1)
1569 {
1570   return NULL;
1571 }
1572
1573 static char *
1574 debug_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
1589 static void
1590 delegate_log_command (struct target_ops *self, const char *arg1)
1591 {
1592   self = self->beneath;
1593   self->to_log_command (self, arg1);
1594 }
1595
1596 static void
1597 tdefault_log_command (struct target_ops *self, const char *arg1)
1598 {
1599 }
1600
1601 static void
1602 debug_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
1613 static struct target_section_table *
1614 delegate_get_section_table (struct target_ops *self)
1615 {
1616   self = self->beneath;
1617   return self->to_get_section_table (self);
1618 }
1619
1620 static struct target_section_table *
1621 tdefault_get_section_table (struct target_ops *self)
1622 {
1623   return NULL;
1624 }
1625
1626 static struct target_section_table *
1627 debug_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
1640 static int
1641 delegate_can_async_p (struct target_ops *self)
1642 {
1643   self = self->beneath;
1644   return self->to_can_async_p (self);
1645 }
1646
1647 static int
1648 tdefault_can_async_p (struct target_ops *self)
1649 {
1650   return 0;
1651 }
1652
1653 static int
1654 debug_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
1667 static int
1668 delegate_is_async_p (struct target_ops *self)
1669 {
1670   self = self->beneath;
1671   return self->to_is_async_p (self);
1672 }
1673
1674 static int
1675 tdefault_is_async_p (struct target_ops *self)
1676 {
1677   return 0;
1678 }
1679
1680 static int
1681 debug_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
1694 static void
1695 delegate_async (struct target_ops *self, async_callback_ftype *arg1, void *arg2)
1696 {
1697   self = self->beneath;
1698   self->to_async (self, arg1, arg2);
1699 }
1700
1701 static void
1702 tdefault_async (struct target_ops *self, async_callback_ftype *arg1, void *arg2)
1703 {
1704   tcomplain ();
1705 }
1706
1707 static void
1708 debug_async (struct target_ops *self, async_callback_ftype *arg1, void *arg2)
1709 {
1710   fprintf_unfiltered (gdb_stdlog, "-> %s->to_async (...)\n", debug_target.to_shortname);
1711   debug_target.to_async (&debug_target, arg1, arg2);
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);
1715   target_debug_print_async_callback_ftype_p (arg1);
1716   fputs_unfiltered (", ", gdb_stdlog);
1717   target_debug_print_void_p (arg2);
1718   fputs_unfiltered (")\n", gdb_stdlog);
1719 }
1720
1721 static int
1722 delegate_supports_non_stop (struct target_ops *self)
1723 {
1724   self = self->beneath;
1725   return self->to_supports_non_stop (self);
1726 }
1727
1728 static int
1729 tdefault_supports_non_stop (struct target_ops *self)
1730 {
1731   return 0;
1732 }
1733
1734 static int
1735 debug_supports_non_stop (struct target_ops *self)
1736 {
1737   int result;
1738   fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_non_stop (...)\n", debug_target.to_shortname);
1739   result = debug_target.to_supports_non_stop (&debug_target);
1740   fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_non_stop (", debug_target.to_shortname);
1741   target_debug_print_struct_target_ops_p (&debug_target);
1742   fputs_unfiltered (") = ", gdb_stdlog);
1743   target_debug_print_int (result);
1744   fputs_unfiltered ("\n", gdb_stdlog);
1745   return result;
1746 }
1747
1748 static int
1749 delegate_find_memory_regions (struct target_ops *self, find_memory_region_ftype arg1, void *arg2)
1750 {
1751   self = self->beneath;
1752   return self->to_find_memory_regions (self, arg1, arg2);
1753 }
1754
1755 static int
1756 debug_find_memory_regions (struct target_ops *self, find_memory_region_ftype arg1, void *arg2)
1757 {
1758   int result;
1759   fprintf_unfiltered (gdb_stdlog, "-> %s->to_find_memory_regions (...)\n", debug_target.to_shortname);
1760   result = debug_target.to_find_memory_regions (&debug_target, arg1, arg2);
1761   fprintf_unfiltered (gdb_stdlog, "<- %s->to_find_memory_regions (", debug_target.to_shortname);
1762   target_debug_print_struct_target_ops_p (&debug_target);
1763   fputs_unfiltered (", ", gdb_stdlog);
1764   target_debug_print_find_memory_region_ftype (arg1);
1765   fputs_unfiltered (", ", gdb_stdlog);
1766   target_debug_print_void_p (arg2);
1767   fputs_unfiltered (") = ", gdb_stdlog);
1768   target_debug_print_int (result);
1769   fputs_unfiltered ("\n", gdb_stdlog);
1770   return result;
1771 }
1772
1773 static char *
1774 delegate_make_corefile_notes (struct target_ops *self, bfd *arg1, int *arg2)
1775 {
1776   self = self->beneath;
1777   return self->to_make_corefile_notes (self, arg1, arg2);
1778 }
1779
1780 static char *
1781 debug_make_corefile_notes (struct target_ops *self, bfd *arg1, int *arg2)
1782 {
1783   char * result;
1784   fprintf_unfiltered (gdb_stdlog, "-> %s->to_make_corefile_notes (...)\n", debug_target.to_shortname);
1785   result = debug_target.to_make_corefile_notes (&debug_target, arg1, arg2);
1786   fprintf_unfiltered (gdb_stdlog, "<- %s->to_make_corefile_notes (", debug_target.to_shortname);
1787   target_debug_print_struct_target_ops_p (&debug_target);
1788   fputs_unfiltered (", ", gdb_stdlog);
1789   target_debug_print_bfd_p (arg1);
1790   fputs_unfiltered (", ", gdb_stdlog);
1791   target_debug_print_int_p (arg2);
1792   fputs_unfiltered (") = ", gdb_stdlog);
1793   target_debug_print_char_p (result);
1794   fputs_unfiltered ("\n", gdb_stdlog);
1795   return result;
1796 }
1797
1798 static gdb_byte *
1799 delegate_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
1800 {
1801   self = self->beneath;
1802   return self->to_get_bookmark (self, arg1, arg2);
1803 }
1804
1805 static gdb_byte *
1806 tdefault_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
1807 {
1808   tcomplain ();
1809 }
1810
1811 static gdb_byte *
1812 debug_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
1813 {
1814   gdb_byte * result;
1815   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_bookmark (...)\n", debug_target.to_shortname);
1816   result = debug_target.to_get_bookmark (&debug_target, arg1, arg2);
1817   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_bookmark (", debug_target.to_shortname);
1818   target_debug_print_struct_target_ops_p (&debug_target);
1819   fputs_unfiltered (", ", gdb_stdlog);
1820   target_debug_print_const_char_p (arg1);
1821   fputs_unfiltered (", ", gdb_stdlog);
1822   target_debug_print_int (arg2);
1823   fputs_unfiltered (") = ", gdb_stdlog);
1824   target_debug_print_gdb_byte_p (result);
1825   fputs_unfiltered ("\n", gdb_stdlog);
1826   return result;
1827 }
1828
1829 static void
1830 delegate_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
1831 {
1832   self = self->beneath;
1833   self->to_goto_bookmark (self, arg1, arg2);
1834 }
1835
1836 static void
1837 tdefault_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
1838 {
1839   tcomplain ();
1840 }
1841
1842 static void
1843 debug_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
1844 {
1845   fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_bookmark (...)\n", debug_target.to_shortname);
1846   debug_target.to_goto_bookmark (&debug_target, arg1, arg2);
1847   fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_bookmark (", debug_target.to_shortname);
1848   target_debug_print_struct_target_ops_p (&debug_target);
1849   fputs_unfiltered (", ", gdb_stdlog);
1850   target_debug_print_const_gdb_byte_p (arg1);
1851   fputs_unfiltered (", ", gdb_stdlog);
1852   target_debug_print_int (arg2);
1853   fputs_unfiltered (")\n", gdb_stdlog);
1854 }
1855
1856 static CORE_ADDR
1857 delegate_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
1858 {
1859   self = self->beneath;
1860   return self->to_get_thread_local_address (self, arg1, arg2, arg3);
1861 }
1862
1863 static CORE_ADDR
1864 tdefault_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
1865 {
1866   generic_tls_error ();
1867 }
1868
1869 static CORE_ADDR
1870 debug_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
1871 {
1872   CORE_ADDR result;
1873   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_thread_local_address (...)\n", debug_target.to_shortname);
1874   result = debug_target.to_get_thread_local_address (&debug_target, arg1, arg2, arg3);
1875   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_thread_local_address (", debug_target.to_shortname);
1876   target_debug_print_struct_target_ops_p (&debug_target);
1877   fputs_unfiltered (", ", gdb_stdlog);
1878   target_debug_print_ptid_t (arg1);
1879   fputs_unfiltered (", ", gdb_stdlog);
1880   target_debug_print_CORE_ADDR (arg2);
1881   fputs_unfiltered (", ", gdb_stdlog);
1882   target_debug_print_CORE_ADDR (arg3);
1883   fputs_unfiltered (") = ", gdb_stdlog);
1884   target_debug_print_CORE_ADDR (result);
1885   fputs_unfiltered ("\n", gdb_stdlog);
1886   return result;
1887 }
1888
1889 static enum target_xfer_status
1890 delegate_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)
1891 {
1892   self = self->beneath;
1893   return self->to_xfer_partial (self, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
1894 }
1895
1896 static enum target_xfer_status
1897 tdefault_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)
1898 {
1899   return TARGET_XFER_E_IO;
1900 }
1901
1902 static enum target_xfer_status
1903 debug_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)
1904 {
1905   enum target_xfer_status result;
1906   fprintf_unfiltered (gdb_stdlog, "-> %s->to_xfer_partial (...)\n", debug_target.to_shortname);
1907   result = debug_target.to_xfer_partial (&debug_target, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
1908   fprintf_unfiltered (gdb_stdlog, "<- %s->to_xfer_partial (", debug_target.to_shortname);
1909   target_debug_print_struct_target_ops_p (&debug_target);
1910   fputs_unfiltered (", ", gdb_stdlog);
1911   target_debug_print_enum_target_object (arg1);
1912   fputs_unfiltered (", ", gdb_stdlog);
1913   target_debug_print_const_char_p (arg2);
1914   fputs_unfiltered (", ", gdb_stdlog);
1915   target_debug_print_gdb_byte_p (arg3);
1916   fputs_unfiltered (", ", gdb_stdlog);
1917   target_debug_print_const_gdb_byte_p (arg4);
1918   fputs_unfiltered (", ", gdb_stdlog);
1919   target_debug_print_ULONGEST (arg5);
1920   fputs_unfiltered (", ", gdb_stdlog);
1921   target_debug_print_ULONGEST (arg6);
1922   fputs_unfiltered (", ", gdb_stdlog);
1923   target_debug_print_ULONGEST_p (arg7);
1924   fputs_unfiltered (") = ", gdb_stdlog);
1925   target_debug_print_enum_target_xfer_status (result);
1926   fputs_unfiltered ("\n", gdb_stdlog);
1927   return result;
1928 }
1929
1930 static VEC(mem_region_s) *
1931 delegate_memory_map (struct target_ops *self)
1932 {
1933   self = self->beneath;
1934   return self->to_memory_map (self);
1935 }
1936
1937 static VEC(mem_region_s) *
1938 tdefault_memory_map (struct target_ops *self)
1939 {
1940   return NULL;
1941 }
1942
1943 static VEC(mem_region_s) *
1944 debug_memory_map (struct target_ops *self)
1945 {
1946   VEC(mem_region_s) * result;
1947   fprintf_unfiltered (gdb_stdlog, "-> %s->to_memory_map (...)\n", debug_target.to_shortname);
1948   result = debug_target.to_memory_map (&debug_target);
1949   fprintf_unfiltered (gdb_stdlog, "<- %s->to_memory_map (", debug_target.to_shortname);
1950   target_debug_print_struct_target_ops_p (&debug_target);
1951   fputs_unfiltered (") = ", gdb_stdlog);
1952   target_debug_print_VEC_mem_region_s__p (result);
1953   fputs_unfiltered ("\n", gdb_stdlog);
1954   return result;
1955 }
1956
1957 static void
1958 delegate_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
1959 {
1960   self = self->beneath;
1961   self->to_flash_erase (self, arg1, arg2);
1962 }
1963
1964 static void
1965 tdefault_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
1966 {
1967   tcomplain ();
1968 }
1969
1970 static void
1971 debug_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
1972 {
1973   fprintf_unfiltered (gdb_stdlog, "-> %s->to_flash_erase (...)\n", debug_target.to_shortname);
1974   debug_target.to_flash_erase (&debug_target, arg1, arg2);
1975   fprintf_unfiltered (gdb_stdlog, "<- %s->to_flash_erase (", debug_target.to_shortname);
1976   target_debug_print_struct_target_ops_p (&debug_target);
1977   fputs_unfiltered (", ", gdb_stdlog);
1978   target_debug_print_ULONGEST (arg1);
1979   fputs_unfiltered (", ", gdb_stdlog);
1980   target_debug_print_LONGEST (arg2);
1981   fputs_unfiltered (")\n", gdb_stdlog);
1982 }
1983
1984 static void
1985 delegate_flash_done (struct target_ops *self)
1986 {
1987   self = self->beneath;
1988   self->to_flash_done (self);
1989 }
1990
1991 static void
1992 tdefault_flash_done (struct target_ops *self)
1993 {
1994   tcomplain ();
1995 }
1996
1997 static void
1998 debug_flash_done (struct target_ops *self)
1999 {
2000   fprintf_unfiltered (gdb_stdlog, "-> %s->to_flash_done (...)\n", debug_target.to_shortname);
2001   debug_target.to_flash_done (&debug_target);
2002   fprintf_unfiltered (gdb_stdlog, "<- %s->to_flash_done (", debug_target.to_shortname);
2003   target_debug_print_struct_target_ops_p (&debug_target);
2004   fputs_unfiltered (")\n", gdb_stdlog);
2005 }
2006
2007 static const struct target_desc *
2008 delegate_read_description (struct target_ops *self)
2009 {
2010   self = self->beneath;
2011   return self->to_read_description (self);
2012 }
2013
2014 static const struct target_desc *
2015 tdefault_read_description (struct target_ops *self)
2016 {
2017   return NULL;
2018 }
2019
2020 static const struct target_desc *
2021 debug_read_description (struct target_ops *self)
2022 {
2023   const struct target_desc * result;
2024   fprintf_unfiltered (gdb_stdlog, "-> %s->to_read_description (...)\n", debug_target.to_shortname);
2025   result = debug_target.to_read_description (&debug_target);
2026   fprintf_unfiltered (gdb_stdlog, "<- %s->to_read_description (", debug_target.to_shortname);
2027   target_debug_print_struct_target_ops_p (&debug_target);
2028   fputs_unfiltered (") = ", gdb_stdlog);
2029   target_debug_print_const_struct_target_desc_p (result);
2030   fputs_unfiltered ("\n", gdb_stdlog);
2031   return result;
2032 }
2033
2034 static ptid_t
2035 delegate_get_ada_task_ptid (struct target_ops *self, long arg1, long arg2)
2036 {
2037   self = self->beneath;
2038   return self->to_get_ada_task_ptid (self, arg1, arg2);
2039 }
2040
2041 static ptid_t
2042 debug_get_ada_task_ptid (struct target_ops *self, long arg1, long arg2)
2043 {
2044   ptid_t result;
2045   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_ada_task_ptid (...)\n", debug_target.to_shortname);
2046   result = debug_target.to_get_ada_task_ptid (&debug_target, arg1, arg2);
2047   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_ada_task_ptid (", debug_target.to_shortname);
2048   target_debug_print_struct_target_ops_p (&debug_target);
2049   fputs_unfiltered (", ", gdb_stdlog);
2050   target_debug_print_long (arg1);
2051   fputs_unfiltered (", ", gdb_stdlog);
2052   target_debug_print_long (arg2);
2053   fputs_unfiltered (") = ", gdb_stdlog);
2054   target_debug_print_ptid_t (result);
2055   fputs_unfiltered ("\n", gdb_stdlog);
2056   return result;
2057 }
2058
2059 static int
2060 delegate_auxv_parse (struct target_ops *self, gdb_byte **arg1, gdb_byte *arg2, CORE_ADDR *arg3, CORE_ADDR *arg4)
2061 {
2062   self = self->beneath;
2063   return self->to_auxv_parse (self, arg1, arg2, arg3, arg4);
2064 }
2065
2066 static int
2067 debug_auxv_parse (struct target_ops *self, gdb_byte **arg1, gdb_byte *arg2, CORE_ADDR *arg3, CORE_ADDR *arg4)
2068 {
2069   int result;
2070   fprintf_unfiltered (gdb_stdlog, "-> %s->to_auxv_parse (...)\n", debug_target.to_shortname);
2071   result = debug_target.to_auxv_parse (&debug_target, arg1, arg2, arg3, arg4);
2072   fprintf_unfiltered (gdb_stdlog, "<- %s->to_auxv_parse (", debug_target.to_shortname);
2073   target_debug_print_struct_target_ops_p (&debug_target);
2074   fputs_unfiltered (", ", gdb_stdlog);
2075   target_debug_print_gdb_byte_pp (arg1);
2076   fputs_unfiltered (", ", gdb_stdlog);
2077   target_debug_print_gdb_byte_p (arg2);
2078   fputs_unfiltered (", ", gdb_stdlog);
2079   target_debug_print_CORE_ADDR_p (arg3);
2080   fputs_unfiltered (", ", gdb_stdlog);
2081   target_debug_print_CORE_ADDR_p (arg4);
2082   fputs_unfiltered (") = ", gdb_stdlog);
2083   target_debug_print_int (result);
2084   fputs_unfiltered ("\n", gdb_stdlog);
2085   return result;
2086 }
2087
2088 static int
2089 delegate_search_memory (struct target_ops *self, CORE_ADDR arg1, ULONGEST arg2, const gdb_byte *arg3, ULONGEST arg4, CORE_ADDR *arg5)
2090 {
2091   self = self->beneath;
2092   return self->to_search_memory (self, arg1, arg2, arg3, arg4, arg5);
2093 }
2094
2095 static int
2096 debug_search_memory (struct target_ops *self, CORE_ADDR arg1, ULONGEST arg2, const gdb_byte *arg3, ULONGEST arg4, CORE_ADDR *arg5)
2097 {
2098   int result;
2099   fprintf_unfiltered (gdb_stdlog, "-> %s->to_search_memory (...)\n", debug_target.to_shortname);
2100   result = debug_target.to_search_memory (&debug_target, arg1, arg2, arg3, arg4, arg5);
2101   fprintf_unfiltered (gdb_stdlog, "<- %s->to_search_memory (", debug_target.to_shortname);
2102   target_debug_print_struct_target_ops_p (&debug_target);
2103   fputs_unfiltered (", ", gdb_stdlog);
2104   target_debug_print_CORE_ADDR (arg1);
2105   fputs_unfiltered (", ", gdb_stdlog);
2106   target_debug_print_ULONGEST (arg2);
2107   fputs_unfiltered (", ", gdb_stdlog);
2108   target_debug_print_const_gdb_byte_p (arg3);
2109   fputs_unfiltered (", ", gdb_stdlog);
2110   target_debug_print_ULONGEST (arg4);
2111   fputs_unfiltered (", ", gdb_stdlog);
2112   target_debug_print_CORE_ADDR_p (arg5);
2113   fputs_unfiltered (") = ", gdb_stdlog);
2114   target_debug_print_int (result);
2115   fputs_unfiltered ("\n", gdb_stdlog);
2116   return result;
2117 }
2118
2119 static int
2120 delegate_can_execute_reverse (struct target_ops *self)
2121 {
2122   self = self->beneath;
2123   return self->to_can_execute_reverse (self);
2124 }
2125
2126 static int
2127 tdefault_can_execute_reverse (struct target_ops *self)
2128 {
2129   return 0;
2130 }
2131
2132 static int
2133 debug_can_execute_reverse (struct target_ops *self)
2134 {
2135   int result;
2136   fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_execute_reverse (...)\n", debug_target.to_shortname);
2137   result = debug_target.to_can_execute_reverse (&debug_target);
2138   fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_execute_reverse (", debug_target.to_shortname);
2139   target_debug_print_struct_target_ops_p (&debug_target);
2140   fputs_unfiltered (") = ", gdb_stdlog);
2141   target_debug_print_int (result);
2142   fputs_unfiltered ("\n", gdb_stdlog);
2143   return result;
2144 }
2145
2146 static enum exec_direction_kind
2147 delegate_execution_direction (struct target_ops *self)
2148 {
2149   self = self->beneath;
2150   return self->to_execution_direction (self);
2151 }
2152
2153 static enum exec_direction_kind
2154 debug_execution_direction (struct target_ops *self)
2155 {
2156   enum exec_direction_kind result;
2157   fprintf_unfiltered (gdb_stdlog, "-> %s->to_execution_direction (...)\n", debug_target.to_shortname);
2158   result = debug_target.to_execution_direction (&debug_target);
2159   fprintf_unfiltered (gdb_stdlog, "<- %s->to_execution_direction (", debug_target.to_shortname);
2160   target_debug_print_struct_target_ops_p (&debug_target);
2161   fputs_unfiltered (") = ", gdb_stdlog);
2162   target_debug_print_enum_exec_direction_kind (result);
2163   fputs_unfiltered ("\n", gdb_stdlog);
2164   return result;
2165 }
2166
2167 static int
2168 delegate_supports_multi_process (struct target_ops *self)
2169 {
2170   self = self->beneath;
2171   return self->to_supports_multi_process (self);
2172 }
2173
2174 static int
2175 tdefault_supports_multi_process (struct target_ops *self)
2176 {
2177   return 0;
2178 }
2179
2180 static int
2181 debug_supports_multi_process (struct target_ops *self)
2182 {
2183   int result;
2184   fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_multi_process (...)\n", debug_target.to_shortname);
2185   result = debug_target.to_supports_multi_process (&debug_target);
2186   fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_multi_process (", debug_target.to_shortname);
2187   target_debug_print_struct_target_ops_p (&debug_target);
2188   fputs_unfiltered (") = ", gdb_stdlog);
2189   target_debug_print_int (result);
2190   fputs_unfiltered ("\n", gdb_stdlog);
2191   return result;
2192 }
2193
2194 static int
2195 delegate_supports_enable_disable_tracepoint (struct target_ops *self)
2196 {
2197   self = self->beneath;
2198   return self->to_supports_enable_disable_tracepoint (self);
2199 }
2200
2201 static int
2202 tdefault_supports_enable_disable_tracepoint (struct target_ops *self)
2203 {
2204   return 0;
2205 }
2206
2207 static int
2208 debug_supports_enable_disable_tracepoint (struct target_ops *self)
2209 {
2210   int result;
2211   fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_enable_disable_tracepoint (...)\n", debug_target.to_shortname);
2212   result = debug_target.to_supports_enable_disable_tracepoint (&debug_target);
2213   fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_enable_disable_tracepoint (", debug_target.to_shortname);
2214   target_debug_print_struct_target_ops_p (&debug_target);
2215   fputs_unfiltered (") = ", gdb_stdlog);
2216   target_debug_print_int (result);
2217   fputs_unfiltered ("\n", gdb_stdlog);
2218   return result;
2219 }
2220
2221 static int
2222 delegate_supports_string_tracing (struct target_ops *self)
2223 {
2224   self = self->beneath;
2225   return self->to_supports_string_tracing (self);
2226 }
2227
2228 static int
2229 tdefault_supports_string_tracing (struct target_ops *self)
2230 {
2231   return 0;
2232 }
2233
2234 static int
2235 debug_supports_string_tracing (struct target_ops *self)
2236 {
2237   int result;
2238   fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_string_tracing (...)\n", debug_target.to_shortname);
2239   result = debug_target.to_supports_string_tracing (&debug_target);
2240   fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_string_tracing (", debug_target.to_shortname);
2241   target_debug_print_struct_target_ops_p (&debug_target);
2242   fputs_unfiltered (") = ", gdb_stdlog);
2243   target_debug_print_int (result);
2244   fputs_unfiltered ("\n", gdb_stdlog);
2245   return result;
2246 }
2247
2248 static int
2249 delegate_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
2250 {
2251   self = self->beneath;
2252   return self->to_supports_evaluation_of_breakpoint_conditions (self);
2253 }
2254
2255 static int
2256 tdefault_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
2257 {
2258   return 0;
2259 }
2260
2261 static int
2262 debug_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
2263 {
2264   int result;
2265   fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_evaluation_of_breakpoint_conditions (...)\n", debug_target.to_shortname);
2266   result = debug_target.to_supports_evaluation_of_breakpoint_conditions (&debug_target);
2267   fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_evaluation_of_breakpoint_conditions (", debug_target.to_shortname);
2268   target_debug_print_struct_target_ops_p (&debug_target);
2269   fputs_unfiltered (") = ", gdb_stdlog);
2270   target_debug_print_int (result);
2271   fputs_unfiltered ("\n", gdb_stdlog);
2272   return result;
2273 }
2274
2275 static int
2276 delegate_can_run_breakpoint_commands (struct target_ops *self)
2277 {
2278   self = self->beneath;
2279   return self->to_can_run_breakpoint_commands (self);
2280 }
2281
2282 static int
2283 tdefault_can_run_breakpoint_commands (struct target_ops *self)
2284 {
2285   return 0;
2286 }
2287
2288 static int
2289 debug_can_run_breakpoint_commands (struct target_ops *self)
2290 {
2291   int result;
2292   fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_run_breakpoint_commands (...)\n", debug_target.to_shortname);
2293   result = debug_target.to_can_run_breakpoint_commands (&debug_target);
2294   fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_run_breakpoint_commands (", debug_target.to_shortname);
2295   target_debug_print_struct_target_ops_p (&debug_target);
2296   fputs_unfiltered (") = ", gdb_stdlog);
2297   target_debug_print_int (result);
2298   fputs_unfiltered ("\n", gdb_stdlog);
2299   return result;
2300 }
2301
2302 static struct gdbarch *
2303 delegate_thread_architecture (struct target_ops *self, ptid_t arg1)
2304 {
2305   self = self->beneath;
2306   return self->to_thread_architecture (self, arg1);
2307 }
2308
2309 static struct gdbarch *
2310 debug_thread_architecture (struct target_ops *self, ptid_t arg1)
2311 {
2312   struct gdbarch * result;
2313   fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_architecture (...)\n", debug_target.to_shortname);
2314   result = debug_target.to_thread_architecture (&debug_target, arg1);
2315   fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_architecture (", debug_target.to_shortname);
2316   target_debug_print_struct_target_ops_p (&debug_target);
2317   fputs_unfiltered (", ", gdb_stdlog);
2318   target_debug_print_ptid_t (arg1);
2319   fputs_unfiltered (") = ", gdb_stdlog);
2320   target_debug_print_struct_gdbarch_p (result);
2321   fputs_unfiltered ("\n", gdb_stdlog);
2322   return result;
2323 }
2324
2325 static struct address_space *
2326 delegate_thread_address_space (struct target_ops *self, ptid_t arg1)
2327 {
2328   self = self->beneath;
2329   return self->to_thread_address_space (self, arg1);
2330 }
2331
2332 static struct address_space *
2333 debug_thread_address_space (struct target_ops *self, ptid_t arg1)
2334 {
2335   struct address_space * result;
2336   fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_address_space (...)\n", debug_target.to_shortname);
2337   result = debug_target.to_thread_address_space (&debug_target, arg1);
2338   fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_address_space (", debug_target.to_shortname);
2339   target_debug_print_struct_target_ops_p (&debug_target);
2340   fputs_unfiltered (", ", gdb_stdlog);
2341   target_debug_print_ptid_t (arg1);
2342   fputs_unfiltered (") = ", gdb_stdlog);
2343   target_debug_print_struct_address_space_p (result);
2344   fputs_unfiltered ("\n", gdb_stdlog);
2345   return result;
2346 }
2347
2348 static void
2349 delegate_trace_init (struct target_ops *self)
2350 {
2351   self = self->beneath;
2352   self->to_trace_init (self);
2353 }
2354
2355 static void
2356 tdefault_trace_init (struct target_ops *self)
2357 {
2358   tcomplain ();
2359 }
2360
2361 static void
2362 debug_trace_init (struct target_ops *self)
2363 {
2364   fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_init (...)\n", debug_target.to_shortname);
2365   debug_target.to_trace_init (&debug_target);
2366   fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_init (", debug_target.to_shortname);
2367   target_debug_print_struct_target_ops_p (&debug_target);
2368   fputs_unfiltered (")\n", gdb_stdlog);
2369 }
2370
2371 static void
2372 delegate_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
2373 {
2374   self = self->beneath;
2375   self->to_download_tracepoint (self, arg1);
2376 }
2377
2378 static void
2379 tdefault_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
2380 {
2381   tcomplain ();
2382 }
2383
2384 static void
2385 debug_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
2386 {
2387   fprintf_unfiltered (gdb_stdlog, "-> %s->to_download_tracepoint (...)\n", debug_target.to_shortname);
2388   debug_target.to_download_tracepoint (&debug_target, arg1);
2389   fprintf_unfiltered (gdb_stdlog, "<- %s->to_download_tracepoint (", debug_target.to_shortname);
2390   target_debug_print_struct_target_ops_p (&debug_target);
2391   fputs_unfiltered (", ", gdb_stdlog);
2392   target_debug_print_struct_bp_location_p (arg1);
2393   fputs_unfiltered (")\n", gdb_stdlog);
2394 }
2395
2396 static int
2397 delegate_can_download_tracepoint (struct target_ops *self)
2398 {
2399   self = self->beneath;
2400   return self->to_can_download_tracepoint (self);
2401 }
2402
2403 static int
2404 tdefault_can_download_tracepoint (struct target_ops *self)
2405 {
2406   return 0;
2407 }
2408
2409 static int
2410 debug_can_download_tracepoint (struct target_ops *self)
2411 {
2412   int result;
2413   fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_download_tracepoint (...)\n", debug_target.to_shortname);
2414   result = debug_target.to_can_download_tracepoint (&debug_target);
2415   fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_download_tracepoint (", debug_target.to_shortname);
2416   target_debug_print_struct_target_ops_p (&debug_target);
2417   fputs_unfiltered (") = ", gdb_stdlog);
2418   target_debug_print_int (result);
2419   fputs_unfiltered ("\n", gdb_stdlog);
2420   return result;
2421 }
2422
2423 static void
2424 delegate_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
2425 {
2426   self = self->beneath;
2427   self->to_download_trace_state_variable (self, arg1);
2428 }
2429
2430 static void
2431 tdefault_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
2432 {
2433   tcomplain ();
2434 }
2435
2436 static void
2437 debug_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
2438 {
2439   fprintf_unfiltered (gdb_stdlog, "-> %s->to_download_trace_state_variable (...)\n", debug_target.to_shortname);
2440   debug_target.to_download_trace_state_variable (&debug_target, arg1);
2441   fprintf_unfiltered (gdb_stdlog, "<- %s->to_download_trace_state_variable (", debug_target.to_shortname);
2442   target_debug_print_struct_target_ops_p (&debug_target);
2443   fputs_unfiltered (", ", gdb_stdlog);
2444   target_debug_print_struct_trace_state_variable_p (arg1);
2445   fputs_unfiltered (")\n", gdb_stdlog);
2446 }
2447
2448 static void
2449 delegate_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
2450 {
2451   self = self->beneath;
2452   self->to_enable_tracepoint (self, arg1);
2453 }
2454
2455 static void
2456 tdefault_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
2457 {
2458   tcomplain ();
2459 }
2460
2461 static void
2462 debug_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
2463 {
2464   fprintf_unfiltered (gdb_stdlog, "-> %s->to_enable_tracepoint (...)\n", debug_target.to_shortname);
2465   debug_target.to_enable_tracepoint (&debug_target, arg1);
2466   fprintf_unfiltered (gdb_stdlog, "<- %s->to_enable_tracepoint (", debug_target.to_shortname);
2467   target_debug_print_struct_target_ops_p (&debug_target);
2468   fputs_unfiltered (", ", gdb_stdlog);
2469   target_debug_print_struct_bp_location_p (arg1);
2470   fputs_unfiltered (")\n", gdb_stdlog);
2471 }
2472
2473 static void
2474 delegate_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
2475 {
2476   self = self->beneath;
2477   self->to_disable_tracepoint (self, arg1);
2478 }
2479
2480 static void
2481 tdefault_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
2482 {
2483   tcomplain ();
2484 }
2485
2486 static void
2487 debug_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
2488 {
2489   fprintf_unfiltered (gdb_stdlog, "-> %s->to_disable_tracepoint (...)\n", debug_target.to_shortname);
2490   debug_target.to_disable_tracepoint (&debug_target, arg1);
2491   fprintf_unfiltered (gdb_stdlog, "<- %s->to_disable_tracepoint (", debug_target.to_shortname);
2492   target_debug_print_struct_target_ops_p (&debug_target);
2493   fputs_unfiltered (", ", gdb_stdlog);
2494   target_debug_print_struct_bp_location_p (arg1);
2495   fputs_unfiltered (")\n", gdb_stdlog);
2496 }
2497
2498 static void
2499 delegate_trace_set_readonly_regions (struct target_ops *self)
2500 {
2501   self = self->beneath;
2502   self->to_trace_set_readonly_regions (self);
2503 }
2504
2505 static void
2506 tdefault_trace_set_readonly_regions (struct target_ops *self)
2507 {
2508   tcomplain ();
2509 }
2510
2511 static void
2512 debug_trace_set_readonly_regions (struct target_ops *self)
2513 {
2514   fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_set_readonly_regions (...)\n", debug_target.to_shortname);
2515   debug_target.to_trace_set_readonly_regions (&debug_target);
2516   fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_set_readonly_regions (", debug_target.to_shortname);
2517   target_debug_print_struct_target_ops_p (&debug_target);
2518   fputs_unfiltered (")\n", gdb_stdlog);
2519 }
2520
2521 static void
2522 delegate_trace_start (struct target_ops *self)
2523 {
2524   self = self->beneath;
2525   self->to_trace_start (self);
2526 }
2527
2528 static void
2529 tdefault_trace_start (struct target_ops *self)
2530 {
2531   tcomplain ();
2532 }
2533
2534 static void
2535 debug_trace_start (struct target_ops *self)
2536 {
2537   fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_start (...)\n", debug_target.to_shortname);
2538   debug_target.to_trace_start (&debug_target);
2539   fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_start (", debug_target.to_shortname);
2540   target_debug_print_struct_target_ops_p (&debug_target);
2541   fputs_unfiltered (")\n", gdb_stdlog);
2542 }
2543
2544 static int
2545 delegate_get_trace_status (struct target_ops *self, struct trace_status *arg1)
2546 {
2547   self = self->beneath;
2548   return self->to_get_trace_status (self, arg1);
2549 }
2550
2551 static int
2552 tdefault_get_trace_status (struct target_ops *self, struct trace_status *arg1)
2553 {
2554   return -1;
2555 }
2556
2557 static int
2558 debug_get_trace_status (struct target_ops *self, struct trace_status *arg1)
2559 {
2560   int result;
2561   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_trace_status (...)\n", debug_target.to_shortname);
2562   result = debug_target.to_get_trace_status (&debug_target, arg1);
2563   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_trace_status (", debug_target.to_shortname);
2564   target_debug_print_struct_target_ops_p (&debug_target);
2565   fputs_unfiltered (", ", gdb_stdlog);
2566   target_debug_print_struct_trace_status_p (arg1);
2567   fputs_unfiltered (") = ", gdb_stdlog);
2568   target_debug_print_int (result);
2569   fputs_unfiltered ("\n", gdb_stdlog);
2570   return result;
2571 }
2572
2573 static void
2574 delegate_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
2575 {
2576   self = self->beneath;
2577   self->to_get_tracepoint_status (self, arg1, arg2);
2578 }
2579
2580 static void
2581 tdefault_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
2582 {
2583   tcomplain ();
2584 }
2585
2586 static void
2587 debug_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
2588 {
2589   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tracepoint_status (...)\n", debug_target.to_shortname);
2590   debug_target.to_get_tracepoint_status (&debug_target, arg1, arg2);
2591   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tracepoint_status (", debug_target.to_shortname);
2592   target_debug_print_struct_target_ops_p (&debug_target);
2593   fputs_unfiltered (", ", gdb_stdlog);
2594   target_debug_print_struct_breakpoint_p (arg1);
2595   fputs_unfiltered (", ", gdb_stdlog);
2596   target_debug_print_struct_uploaded_tp_p (arg2);
2597   fputs_unfiltered (")\n", gdb_stdlog);
2598 }
2599
2600 static void
2601 delegate_trace_stop (struct target_ops *self)
2602 {
2603   self = self->beneath;
2604   self->to_trace_stop (self);
2605 }
2606
2607 static void
2608 tdefault_trace_stop (struct target_ops *self)
2609 {
2610   tcomplain ();
2611 }
2612
2613 static void
2614 debug_trace_stop (struct target_ops *self)
2615 {
2616   fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_stop (...)\n", debug_target.to_shortname);
2617   debug_target.to_trace_stop (&debug_target);
2618   fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_stop (", debug_target.to_shortname);
2619   target_debug_print_struct_target_ops_p (&debug_target);
2620   fputs_unfiltered (")\n", gdb_stdlog);
2621 }
2622
2623 static int
2624 delegate_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
2625 {
2626   self = self->beneath;
2627   return self->to_trace_find (self, arg1, arg2, arg3, arg4, arg5);
2628 }
2629
2630 static int
2631 tdefault_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
2632 {
2633   return -1;
2634 }
2635
2636 static int
2637 debug_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
2638 {
2639   int result;
2640   fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_find (...)\n", debug_target.to_shortname);
2641   result = debug_target.to_trace_find (&debug_target, arg1, arg2, arg3, arg4, arg5);
2642   fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_find (", debug_target.to_shortname);
2643   target_debug_print_struct_target_ops_p (&debug_target);
2644   fputs_unfiltered (", ", gdb_stdlog);
2645   target_debug_print_enum_trace_find_type (arg1);
2646   fputs_unfiltered (", ", gdb_stdlog);
2647   target_debug_print_int (arg2);
2648   fputs_unfiltered (", ", gdb_stdlog);
2649   target_debug_print_CORE_ADDR (arg3);
2650   fputs_unfiltered (", ", gdb_stdlog);
2651   target_debug_print_CORE_ADDR (arg4);
2652   fputs_unfiltered (", ", gdb_stdlog);
2653   target_debug_print_int_p (arg5);
2654   fputs_unfiltered (") = ", gdb_stdlog);
2655   target_debug_print_int (result);
2656   fputs_unfiltered ("\n", gdb_stdlog);
2657   return result;
2658 }
2659
2660 static int
2661 delegate_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
2662 {
2663   self = self->beneath;
2664   return self->to_get_trace_state_variable_value (self, arg1, arg2);
2665 }
2666
2667 static int
2668 tdefault_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
2669 {
2670   return 0;
2671 }
2672
2673 static int
2674 debug_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
2675 {
2676   int result;
2677   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_trace_state_variable_value (...)\n", debug_target.to_shortname);
2678   result = debug_target.to_get_trace_state_variable_value (&debug_target, arg1, arg2);
2679   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_trace_state_variable_value (", debug_target.to_shortname);
2680   target_debug_print_struct_target_ops_p (&debug_target);
2681   fputs_unfiltered (", ", gdb_stdlog);
2682   target_debug_print_int (arg1);
2683   fputs_unfiltered (", ", gdb_stdlog);
2684   target_debug_print_LONGEST_p (arg2);
2685   fputs_unfiltered (") = ", gdb_stdlog);
2686   target_debug_print_int (result);
2687   fputs_unfiltered ("\n", gdb_stdlog);
2688   return result;
2689 }
2690
2691 static int
2692 delegate_save_trace_data (struct target_ops *self, const char *arg1)
2693 {
2694   self = self->beneath;
2695   return self->to_save_trace_data (self, arg1);
2696 }
2697
2698 static int
2699 tdefault_save_trace_data (struct target_ops *self, const char *arg1)
2700 {
2701   tcomplain ();
2702 }
2703
2704 static int
2705 debug_save_trace_data (struct target_ops *self, const char *arg1)
2706 {
2707   int result;
2708   fprintf_unfiltered (gdb_stdlog, "-> %s->to_save_trace_data (...)\n", debug_target.to_shortname);
2709   result = debug_target.to_save_trace_data (&debug_target, arg1);
2710   fprintf_unfiltered (gdb_stdlog, "<- %s->to_save_trace_data (", debug_target.to_shortname);
2711   target_debug_print_struct_target_ops_p (&debug_target);
2712   fputs_unfiltered (", ", gdb_stdlog);
2713   target_debug_print_const_char_p (arg1);
2714   fputs_unfiltered (") = ", gdb_stdlog);
2715   target_debug_print_int (result);
2716   fputs_unfiltered ("\n", gdb_stdlog);
2717   return result;
2718 }
2719
2720 static int
2721 delegate_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
2722 {
2723   self = self->beneath;
2724   return self->to_upload_tracepoints (self, arg1);
2725 }
2726
2727 static int
2728 tdefault_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
2729 {
2730   return 0;
2731 }
2732
2733 static int
2734 debug_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
2735 {
2736   int result;
2737   fprintf_unfiltered (gdb_stdlog, "-> %s->to_upload_tracepoints (...)\n", debug_target.to_shortname);
2738   result = debug_target.to_upload_tracepoints (&debug_target, arg1);
2739   fprintf_unfiltered (gdb_stdlog, "<- %s->to_upload_tracepoints (", debug_target.to_shortname);
2740   target_debug_print_struct_target_ops_p (&debug_target);
2741   fputs_unfiltered (", ", gdb_stdlog);
2742   target_debug_print_struct_uploaded_tp_pp (arg1);
2743   fputs_unfiltered (") = ", gdb_stdlog);
2744   target_debug_print_int (result);
2745   fputs_unfiltered ("\n", gdb_stdlog);
2746   return result;
2747 }
2748
2749 static int
2750 delegate_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
2751 {
2752   self = self->beneath;
2753   return self->to_upload_trace_state_variables (self, arg1);
2754 }
2755
2756 static int
2757 tdefault_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
2758 {
2759   return 0;
2760 }
2761
2762 static int
2763 debug_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
2764 {
2765   int result;
2766   fprintf_unfiltered (gdb_stdlog, "-> %s->to_upload_trace_state_variables (...)\n", debug_target.to_shortname);
2767   result = debug_target.to_upload_trace_state_variables (&debug_target, arg1);
2768   fprintf_unfiltered (gdb_stdlog, "<- %s->to_upload_trace_state_variables (", debug_target.to_shortname);
2769   target_debug_print_struct_target_ops_p (&debug_target);
2770   fputs_unfiltered (", ", gdb_stdlog);
2771   target_debug_print_struct_uploaded_tsv_pp (arg1);
2772   fputs_unfiltered (") = ", gdb_stdlog);
2773   target_debug_print_int (result);
2774   fputs_unfiltered ("\n", gdb_stdlog);
2775   return result;
2776 }
2777
2778 static LONGEST
2779 delegate_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
2780 {
2781   self = self->beneath;
2782   return self->to_get_raw_trace_data (self, arg1, arg2, arg3);
2783 }
2784
2785 static LONGEST
2786 tdefault_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
2787 {
2788   tcomplain ();
2789 }
2790
2791 static LONGEST
2792 debug_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
2793 {
2794   LONGEST result;
2795   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_raw_trace_data (...)\n", debug_target.to_shortname);
2796   result = debug_target.to_get_raw_trace_data (&debug_target, arg1, arg2, arg3);
2797   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_raw_trace_data (", debug_target.to_shortname);
2798   target_debug_print_struct_target_ops_p (&debug_target);
2799   fputs_unfiltered (", ", gdb_stdlog);
2800   target_debug_print_gdb_byte_p (arg1);
2801   fputs_unfiltered (", ", gdb_stdlog);
2802   target_debug_print_ULONGEST (arg2);
2803   fputs_unfiltered (", ", gdb_stdlog);
2804   target_debug_print_LONGEST (arg3);
2805   fputs_unfiltered (") = ", gdb_stdlog);
2806   target_debug_print_LONGEST (result);
2807   fputs_unfiltered ("\n", gdb_stdlog);
2808   return result;
2809 }
2810
2811 static int
2812 delegate_get_min_fast_tracepoint_insn_len (struct target_ops *self)
2813 {
2814   self = self->beneath;
2815   return self->to_get_min_fast_tracepoint_insn_len (self);
2816 }
2817
2818 static int
2819 tdefault_get_min_fast_tracepoint_insn_len (struct target_ops *self)
2820 {
2821   return -1;
2822 }
2823
2824 static int
2825 debug_get_min_fast_tracepoint_insn_len (struct target_ops *self)
2826 {
2827   int result;
2828   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_min_fast_tracepoint_insn_len (...)\n", debug_target.to_shortname);
2829   result = debug_target.to_get_min_fast_tracepoint_insn_len (&debug_target);
2830   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_min_fast_tracepoint_insn_len (", debug_target.to_shortname);
2831   target_debug_print_struct_target_ops_p (&debug_target);
2832   fputs_unfiltered (") = ", gdb_stdlog);
2833   target_debug_print_int (result);
2834   fputs_unfiltered ("\n", gdb_stdlog);
2835   return result;
2836 }
2837
2838 static void
2839 delegate_set_disconnected_tracing (struct target_ops *self, int arg1)
2840 {
2841   self = self->beneath;
2842   self->to_set_disconnected_tracing (self, arg1);
2843 }
2844
2845 static void
2846 tdefault_set_disconnected_tracing (struct target_ops *self, int arg1)
2847 {
2848 }
2849
2850 static void
2851 debug_set_disconnected_tracing (struct target_ops *self, int arg1)
2852 {
2853   fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_disconnected_tracing (...)\n", debug_target.to_shortname);
2854   debug_target.to_set_disconnected_tracing (&debug_target, arg1);
2855   fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_disconnected_tracing (", debug_target.to_shortname);
2856   target_debug_print_struct_target_ops_p (&debug_target);
2857   fputs_unfiltered (", ", gdb_stdlog);
2858   target_debug_print_int (arg1);
2859   fputs_unfiltered (")\n", gdb_stdlog);
2860 }
2861
2862 static void
2863 delegate_set_circular_trace_buffer (struct target_ops *self, int arg1)
2864 {
2865   self = self->beneath;
2866   self->to_set_circular_trace_buffer (self, arg1);
2867 }
2868
2869 static void
2870 tdefault_set_circular_trace_buffer (struct target_ops *self, int arg1)
2871 {
2872 }
2873
2874 static void
2875 debug_set_circular_trace_buffer (struct target_ops *self, int arg1)
2876 {
2877   fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_circular_trace_buffer (...)\n", debug_target.to_shortname);
2878   debug_target.to_set_circular_trace_buffer (&debug_target, arg1);
2879   fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_circular_trace_buffer (", debug_target.to_shortname);
2880   target_debug_print_struct_target_ops_p (&debug_target);
2881   fputs_unfiltered (", ", gdb_stdlog);
2882   target_debug_print_int (arg1);
2883   fputs_unfiltered (")\n", gdb_stdlog);
2884 }
2885
2886 static void
2887 delegate_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
2888 {
2889   self = self->beneath;
2890   self->to_set_trace_buffer_size (self, arg1);
2891 }
2892
2893 static void
2894 tdefault_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
2895 {
2896 }
2897
2898 static void
2899 debug_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
2900 {
2901   fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_trace_buffer_size (...)\n", debug_target.to_shortname);
2902   debug_target.to_set_trace_buffer_size (&debug_target, arg1);
2903   fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_trace_buffer_size (", debug_target.to_shortname);
2904   target_debug_print_struct_target_ops_p (&debug_target);
2905   fputs_unfiltered (", ", gdb_stdlog);
2906   target_debug_print_LONGEST (arg1);
2907   fputs_unfiltered (")\n", gdb_stdlog);
2908 }
2909
2910 static int
2911 delegate_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
2912 {
2913   self = self->beneath;
2914   return self->to_set_trace_notes (self, arg1, arg2, arg3);
2915 }
2916
2917 static int
2918 tdefault_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
2919 {
2920   return 0;
2921 }
2922
2923 static int
2924 debug_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
2925 {
2926   int result;
2927   fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_trace_notes (...)\n", debug_target.to_shortname);
2928   result = debug_target.to_set_trace_notes (&debug_target, arg1, arg2, arg3);
2929   fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_trace_notes (", debug_target.to_shortname);
2930   target_debug_print_struct_target_ops_p (&debug_target);
2931   fputs_unfiltered (", ", gdb_stdlog);
2932   target_debug_print_const_char_p (arg1);
2933   fputs_unfiltered (", ", gdb_stdlog);
2934   target_debug_print_const_char_p (arg2);
2935   fputs_unfiltered (", ", gdb_stdlog);
2936   target_debug_print_const_char_p (arg3);
2937   fputs_unfiltered (") = ", gdb_stdlog);
2938   target_debug_print_int (result);
2939   fputs_unfiltered ("\n", gdb_stdlog);
2940   return result;
2941 }
2942
2943 static int
2944 delegate_core_of_thread (struct target_ops *self, ptid_t arg1)
2945 {
2946   self = self->beneath;
2947   return self->to_core_of_thread (self, arg1);
2948 }
2949
2950 static int
2951 tdefault_core_of_thread (struct target_ops *self, ptid_t arg1)
2952 {
2953   return -1;
2954 }
2955
2956 static int
2957 debug_core_of_thread (struct target_ops *self, ptid_t arg1)
2958 {
2959   int result;
2960   fprintf_unfiltered (gdb_stdlog, "-> %s->to_core_of_thread (...)\n", debug_target.to_shortname);
2961   result = debug_target.to_core_of_thread (&debug_target, arg1);
2962   fprintf_unfiltered (gdb_stdlog, "<- %s->to_core_of_thread (", debug_target.to_shortname);
2963   target_debug_print_struct_target_ops_p (&debug_target);
2964   fputs_unfiltered (", ", gdb_stdlog);
2965   target_debug_print_ptid_t (arg1);
2966   fputs_unfiltered (") = ", gdb_stdlog);
2967   target_debug_print_int (result);
2968   fputs_unfiltered ("\n", gdb_stdlog);
2969   return result;
2970 }
2971
2972 static int
2973 delegate_verify_memory (struct target_ops *self, const gdb_byte *arg1, CORE_ADDR arg2, ULONGEST arg3)
2974 {
2975   self = self->beneath;
2976   return self->to_verify_memory (self, arg1, arg2, arg3);
2977 }
2978
2979 static int
2980 debug_verify_memory (struct target_ops *self, const gdb_byte *arg1, CORE_ADDR arg2, ULONGEST arg3)
2981 {
2982   int result;
2983   fprintf_unfiltered (gdb_stdlog, "-> %s->to_verify_memory (...)\n", debug_target.to_shortname);
2984   result = debug_target.to_verify_memory (&debug_target, arg1, arg2, arg3);
2985   fprintf_unfiltered (gdb_stdlog, "<- %s->to_verify_memory (", debug_target.to_shortname);
2986   target_debug_print_struct_target_ops_p (&debug_target);
2987   fputs_unfiltered (", ", gdb_stdlog);
2988   target_debug_print_const_gdb_byte_p (arg1);
2989   fputs_unfiltered (", ", gdb_stdlog);
2990   target_debug_print_CORE_ADDR (arg2);
2991   fputs_unfiltered (", ", gdb_stdlog);
2992   target_debug_print_ULONGEST (arg3);
2993   fputs_unfiltered (") = ", gdb_stdlog);
2994   target_debug_print_int (result);
2995   fputs_unfiltered ("\n", gdb_stdlog);
2996   return result;
2997 }
2998
2999 static int
3000 delegate_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
3001 {
3002   self = self->beneath;
3003   return self->to_get_tib_address (self, arg1, arg2);
3004 }
3005
3006 static int
3007 tdefault_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
3008 {
3009   tcomplain ();
3010 }
3011
3012 static int
3013 debug_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
3014 {
3015   int result;
3016   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tib_address (...)\n", debug_target.to_shortname);
3017   result = debug_target.to_get_tib_address (&debug_target, arg1, arg2);
3018   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tib_address (", debug_target.to_shortname);
3019   target_debug_print_struct_target_ops_p (&debug_target);
3020   fputs_unfiltered (", ", gdb_stdlog);
3021   target_debug_print_ptid_t (arg1);
3022   fputs_unfiltered (", ", gdb_stdlog);
3023   target_debug_print_CORE_ADDR_p (arg2);
3024   fputs_unfiltered (") = ", gdb_stdlog);
3025   target_debug_print_int (result);
3026   fputs_unfiltered ("\n", gdb_stdlog);
3027   return result;
3028 }
3029
3030 static void
3031 delegate_set_permissions (struct target_ops *self)
3032 {
3033   self = self->beneath;
3034   self->to_set_permissions (self);
3035 }
3036
3037 static void
3038 tdefault_set_permissions (struct target_ops *self)
3039 {
3040 }
3041
3042 static void
3043 debug_set_permissions (struct target_ops *self)
3044 {
3045   fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_permissions (...)\n", debug_target.to_shortname);
3046   debug_target.to_set_permissions (&debug_target);
3047   fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_permissions (", debug_target.to_shortname);
3048   target_debug_print_struct_target_ops_p (&debug_target);
3049   fputs_unfiltered (")\n", gdb_stdlog);
3050 }
3051
3052 static int
3053 delegate_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
3054 {
3055   self = self->beneath;
3056   return self->to_static_tracepoint_marker_at (self, arg1, arg2);
3057 }
3058
3059 static int
3060 tdefault_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
3061 {
3062   return 0;
3063 }
3064
3065 static int
3066 debug_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
3067 {
3068   int result;
3069   fprintf_unfiltered (gdb_stdlog, "-> %s->to_static_tracepoint_marker_at (...)\n", debug_target.to_shortname);
3070   result = debug_target.to_static_tracepoint_marker_at (&debug_target, arg1, arg2);
3071   fprintf_unfiltered (gdb_stdlog, "<- %s->to_static_tracepoint_marker_at (", debug_target.to_shortname);
3072   target_debug_print_struct_target_ops_p (&debug_target);
3073   fputs_unfiltered (", ", gdb_stdlog);
3074   target_debug_print_CORE_ADDR (arg1);
3075   fputs_unfiltered (", ", gdb_stdlog);
3076   target_debug_print_struct_static_tracepoint_marker_p (arg2);
3077   fputs_unfiltered (") = ", gdb_stdlog);
3078   target_debug_print_int (result);
3079   fputs_unfiltered ("\n", gdb_stdlog);
3080   return result;
3081 }
3082
3083 static VEC(static_tracepoint_marker_p) *
3084 delegate_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
3085 {
3086   self = self->beneath;
3087   return self->to_static_tracepoint_markers_by_strid (self, arg1);
3088 }
3089
3090 static VEC(static_tracepoint_marker_p) *
3091 tdefault_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
3092 {
3093   tcomplain ();
3094 }
3095
3096 static VEC(static_tracepoint_marker_p) *
3097 debug_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
3098 {
3099   VEC(static_tracepoint_marker_p) * result;
3100   fprintf_unfiltered (gdb_stdlog, "-> %s->to_static_tracepoint_markers_by_strid (...)\n", debug_target.to_shortname);
3101   result = debug_target.to_static_tracepoint_markers_by_strid (&debug_target, arg1);
3102   fprintf_unfiltered (gdb_stdlog, "<- %s->to_static_tracepoint_markers_by_strid (", debug_target.to_shortname);
3103   target_debug_print_struct_target_ops_p (&debug_target);
3104   fputs_unfiltered (", ", gdb_stdlog);
3105   target_debug_print_const_char_p (arg1);
3106   fputs_unfiltered (") = ", gdb_stdlog);
3107   target_debug_print_VEC_static_tracepoint_marker_p__p (result);
3108   fputs_unfiltered ("\n", gdb_stdlog);
3109   return result;
3110 }
3111
3112 static struct traceframe_info *
3113 delegate_traceframe_info (struct target_ops *self)
3114 {
3115   self = self->beneath;
3116   return self->to_traceframe_info (self);
3117 }
3118
3119 static struct traceframe_info *
3120 tdefault_traceframe_info (struct target_ops *self)
3121 {
3122   tcomplain ();
3123 }
3124
3125 static struct traceframe_info *
3126 debug_traceframe_info (struct target_ops *self)
3127 {
3128   struct traceframe_info * result;
3129   fprintf_unfiltered (gdb_stdlog, "-> %s->to_traceframe_info (...)\n", debug_target.to_shortname);
3130   result = debug_target.to_traceframe_info (&debug_target);
3131   fprintf_unfiltered (gdb_stdlog, "<- %s->to_traceframe_info (", debug_target.to_shortname);
3132   target_debug_print_struct_target_ops_p (&debug_target);
3133   fputs_unfiltered (") = ", gdb_stdlog);
3134   target_debug_print_struct_traceframe_info_p (result);
3135   fputs_unfiltered ("\n", gdb_stdlog);
3136   return result;
3137 }
3138
3139 static int
3140 delegate_use_agent (struct target_ops *self, int arg1)
3141 {
3142   self = self->beneath;
3143   return self->to_use_agent (self, arg1);
3144 }
3145
3146 static int
3147 tdefault_use_agent (struct target_ops *self, int arg1)
3148 {
3149   tcomplain ();
3150 }
3151
3152 static int
3153 debug_use_agent (struct target_ops *self, int arg1)
3154 {
3155   int result;
3156   fprintf_unfiltered (gdb_stdlog, "-> %s->to_use_agent (...)\n", debug_target.to_shortname);
3157   result = debug_target.to_use_agent (&debug_target, arg1);
3158   fprintf_unfiltered (gdb_stdlog, "<- %s->to_use_agent (", debug_target.to_shortname);
3159   target_debug_print_struct_target_ops_p (&debug_target);
3160   fputs_unfiltered (", ", gdb_stdlog);
3161   target_debug_print_int (arg1);
3162   fputs_unfiltered (") = ", gdb_stdlog);
3163   target_debug_print_int (result);
3164   fputs_unfiltered ("\n", gdb_stdlog);
3165   return result;
3166 }
3167
3168 static int
3169 delegate_can_use_agent (struct target_ops *self)
3170 {
3171   self = self->beneath;
3172   return self->to_can_use_agent (self);
3173 }
3174
3175 static int
3176 tdefault_can_use_agent (struct target_ops *self)
3177 {
3178   return 0;
3179 }
3180
3181 static int
3182 debug_can_use_agent (struct target_ops *self)
3183 {
3184   int result;
3185   fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_use_agent (...)\n", debug_target.to_shortname);
3186   result = debug_target.to_can_use_agent (&debug_target);
3187   fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_use_agent (", debug_target.to_shortname);
3188   target_debug_print_struct_target_ops_p (&debug_target);
3189   fputs_unfiltered (") = ", gdb_stdlog);
3190   target_debug_print_int (result);
3191   fputs_unfiltered ("\n", gdb_stdlog);
3192   return result;
3193 }
3194
3195 static int
3196 delegate_supports_btrace (struct target_ops *self, enum btrace_format arg1)
3197 {
3198   self = self->beneath;
3199   return self->to_supports_btrace (self, arg1);
3200 }
3201
3202 static int
3203 tdefault_supports_btrace (struct target_ops *self, enum btrace_format arg1)
3204 {
3205   return 0;
3206 }
3207
3208 static int
3209 debug_supports_btrace (struct target_ops *self, enum btrace_format arg1)
3210 {
3211   int result;
3212   fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_btrace (...)\n", debug_target.to_shortname);
3213   result = debug_target.to_supports_btrace (&debug_target, arg1);
3214   fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_btrace (", debug_target.to_shortname);
3215   target_debug_print_struct_target_ops_p (&debug_target);
3216   fputs_unfiltered (", ", gdb_stdlog);
3217   target_debug_print_enum_btrace_format (arg1);
3218   fputs_unfiltered (") = ", gdb_stdlog);
3219   target_debug_print_int (result);
3220   fputs_unfiltered ("\n", gdb_stdlog);
3221   return result;
3222 }
3223
3224 static struct btrace_target_info *
3225 delegate_enable_btrace (struct target_ops *self, ptid_t arg1, const struct btrace_config *arg2)
3226 {
3227   self = self->beneath;
3228   return self->to_enable_btrace (self, arg1, arg2);
3229 }
3230
3231 static struct btrace_target_info *
3232 tdefault_enable_btrace (struct target_ops *self, ptid_t arg1, const struct btrace_config *arg2)
3233 {
3234   tcomplain ();
3235 }
3236
3237 static struct btrace_target_info *
3238 debug_enable_btrace (struct target_ops *self, ptid_t arg1, const struct btrace_config *arg2)
3239 {
3240   struct btrace_target_info * result;
3241   fprintf_unfiltered (gdb_stdlog, "-> %s->to_enable_btrace (...)\n", debug_target.to_shortname);
3242   result = debug_target.to_enable_btrace (&debug_target, arg1, arg2);
3243   fprintf_unfiltered (gdb_stdlog, "<- %s->to_enable_btrace (", debug_target.to_shortname);
3244   target_debug_print_struct_target_ops_p (&debug_target);
3245   fputs_unfiltered (", ", gdb_stdlog);
3246   target_debug_print_ptid_t (arg1);
3247   fputs_unfiltered (", ", gdb_stdlog);
3248   target_debug_print_const_struct_btrace_config_p (arg2);
3249   fputs_unfiltered (") = ", gdb_stdlog);
3250   target_debug_print_struct_btrace_target_info_p (result);
3251   fputs_unfiltered ("\n", gdb_stdlog);
3252   return result;
3253 }
3254
3255 static void
3256 delegate_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
3257 {
3258   self = self->beneath;
3259   self->to_disable_btrace (self, arg1);
3260 }
3261
3262 static void
3263 tdefault_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
3264 {
3265   tcomplain ();
3266 }
3267
3268 static void
3269 debug_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
3270 {
3271   fprintf_unfiltered (gdb_stdlog, "-> %s->to_disable_btrace (...)\n", debug_target.to_shortname);
3272   debug_target.to_disable_btrace (&debug_target, arg1);
3273   fprintf_unfiltered (gdb_stdlog, "<- %s->to_disable_btrace (", debug_target.to_shortname);
3274   target_debug_print_struct_target_ops_p (&debug_target);
3275   fputs_unfiltered (", ", gdb_stdlog);
3276   target_debug_print_struct_btrace_target_info_p (arg1);
3277   fputs_unfiltered (")\n", gdb_stdlog);
3278 }
3279
3280 static void
3281 delegate_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
3282 {
3283   self = self->beneath;
3284   self->to_teardown_btrace (self, arg1);
3285 }
3286
3287 static void
3288 tdefault_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
3289 {
3290   tcomplain ();
3291 }
3292
3293 static void
3294 debug_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
3295 {
3296   fprintf_unfiltered (gdb_stdlog, "-> %s->to_teardown_btrace (...)\n", debug_target.to_shortname);
3297   debug_target.to_teardown_btrace (&debug_target, arg1);
3298   fprintf_unfiltered (gdb_stdlog, "<- %s->to_teardown_btrace (", debug_target.to_shortname);
3299   target_debug_print_struct_target_ops_p (&debug_target);
3300   fputs_unfiltered (", ", gdb_stdlog);
3301   target_debug_print_struct_btrace_target_info_p (arg1);
3302   fputs_unfiltered (")\n", gdb_stdlog);
3303 }
3304
3305 static enum btrace_error
3306 delegate_read_btrace (struct target_ops *self, struct btrace_data *arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
3307 {
3308   self = self->beneath;
3309   return self->to_read_btrace (self, arg1, arg2, arg3);
3310 }
3311
3312 static enum btrace_error
3313 tdefault_read_btrace (struct target_ops *self, struct btrace_data *arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
3314 {
3315   tcomplain ();
3316 }
3317
3318 static enum btrace_error
3319 debug_read_btrace (struct target_ops *self, struct btrace_data *arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
3320 {
3321   enum btrace_error result;
3322   fprintf_unfiltered (gdb_stdlog, "-> %s->to_read_btrace (...)\n", debug_target.to_shortname);
3323   result = debug_target.to_read_btrace (&debug_target, arg1, arg2, arg3);
3324   fprintf_unfiltered (gdb_stdlog, "<- %s->to_read_btrace (", debug_target.to_shortname);
3325   target_debug_print_struct_target_ops_p (&debug_target);
3326   fputs_unfiltered (", ", gdb_stdlog);
3327   target_debug_print_struct_btrace_data_p (arg1);
3328   fputs_unfiltered (", ", gdb_stdlog);
3329   target_debug_print_struct_btrace_target_info_p (arg2);
3330   fputs_unfiltered (", ", gdb_stdlog);
3331   target_debug_print_enum_btrace_read_type (arg3);
3332   fputs_unfiltered (") = ", gdb_stdlog);
3333   target_debug_print_enum_btrace_error (result);
3334   fputs_unfiltered ("\n", gdb_stdlog);
3335   return result;
3336 }
3337
3338 static const struct btrace_config *
3339 delegate_btrace_conf (struct target_ops *self, const struct btrace_target_info *arg1)
3340 {
3341   self = self->beneath;
3342   return self->to_btrace_conf (self, arg1);
3343 }
3344
3345 static const struct btrace_config *
3346 tdefault_btrace_conf (struct target_ops *self, const struct btrace_target_info *arg1)
3347 {
3348   return NULL;
3349 }
3350
3351 static const struct btrace_config *
3352 debug_btrace_conf (struct target_ops *self, const struct btrace_target_info *arg1)
3353 {
3354   const struct btrace_config * result;
3355   fprintf_unfiltered (gdb_stdlog, "-> %s->to_btrace_conf (...)\n", debug_target.to_shortname);
3356   result = debug_target.to_btrace_conf (&debug_target, arg1);
3357   fprintf_unfiltered (gdb_stdlog, "<- %s->to_btrace_conf (", debug_target.to_shortname);
3358   target_debug_print_struct_target_ops_p (&debug_target);
3359   fputs_unfiltered (", ", gdb_stdlog);
3360   target_debug_print_const_struct_btrace_target_info_p (arg1);
3361   fputs_unfiltered (") = ", gdb_stdlog);
3362   target_debug_print_const_struct_btrace_config_p (result);
3363   fputs_unfiltered ("\n", gdb_stdlog);
3364   return result;
3365 }
3366
3367 static void
3368 delegate_stop_recording (struct target_ops *self)
3369 {
3370   self = self->beneath;
3371   self->to_stop_recording (self);
3372 }
3373
3374 static void
3375 tdefault_stop_recording (struct target_ops *self)
3376 {
3377 }
3378
3379 static void
3380 debug_stop_recording (struct target_ops *self)
3381 {
3382   fprintf_unfiltered (gdb_stdlog, "-> %s->to_stop_recording (...)\n", debug_target.to_shortname);
3383   debug_target.to_stop_recording (&debug_target);
3384   fprintf_unfiltered (gdb_stdlog, "<- %s->to_stop_recording (", debug_target.to_shortname);
3385   target_debug_print_struct_target_ops_p (&debug_target);
3386   fputs_unfiltered (")\n", gdb_stdlog);
3387 }
3388
3389 static void
3390 delegate_info_record (struct target_ops *self)
3391 {
3392   self = self->beneath;
3393   self->to_info_record (self);
3394 }
3395
3396 static void
3397 tdefault_info_record (struct target_ops *self)
3398 {
3399 }
3400
3401 static void
3402 debug_info_record (struct target_ops *self)
3403 {
3404   fprintf_unfiltered (gdb_stdlog, "-> %s->to_info_record (...)\n", debug_target.to_shortname);
3405   debug_target.to_info_record (&debug_target);
3406   fprintf_unfiltered (gdb_stdlog, "<- %s->to_info_record (", debug_target.to_shortname);
3407   target_debug_print_struct_target_ops_p (&debug_target);
3408   fputs_unfiltered (")\n", gdb_stdlog);
3409 }
3410
3411 static void
3412 delegate_save_record (struct target_ops *self, const char *arg1)
3413 {
3414   self = self->beneath;
3415   self->to_save_record (self, arg1);
3416 }
3417
3418 static void
3419 tdefault_save_record (struct target_ops *self, const char *arg1)
3420 {
3421   tcomplain ();
3422 }
3423
3424 static void
3425 debug_save_record (struct target_ops *self, const char *arg1)
3426 {
3427   fprintf_unfiltered (gdb_stdlog, "-> %s->to_save_record (...)\n", debug_target.to_shortname);
3428   debug_target.to_save_record (&debug_target, arg1);
3429   fprintf_unfiltered (gdb_stdlog, "<- %s->to_save_record (", debug_target.to_shortname);
3430   target_debug_print_struct_target_ops_p (&debug_target);
3431   fputs_unfiltered (", ", gdb_stdlog);
3432   target_debug_print_const_char_p (arg1);
3433   fputs_unfiltered (")\n", gdb_stdlog);
3434 }
3435
3436 static void
3437 delegate_delete_record (struct target_ops *self)
3438 {
3439   self = self->beneath;
3440   self->to_delete_record (self);
3441 }
3442
3443 static void
3444 tdefault_delete_record (struct target_ops *self)
3445 {
3446   tcomplain ();
3447 }
3448
3449 static void
3450 debug_delete_record (struct target_ops *self)
3451 {
3452   fprintf_unfiltered (gdb_stdlog, "-> %s->to_delete_record (...)\n", debug_target.to_shortname);
3453   debug_target.to_delete_record (&debug_target);
3454   fprintf_unfiltered (gdb_stdlog, "<- %s->to_delete_record (", debug_target.to_shortname);
3455   target_debug_print_struct_target_ops_p (&debug_target);
3456   fputs_unfiltered (")\n", gdb_stdlog);
3457 }
3458
3459 static int
3460 delegate_record_is_replaying (struct target_ops *self)
3461 {
3462   self = self->beneath;
3463   return self->to_record_is_replaying (self);
3464 }
3465
3466 static int
3467 tdefault_record_is_replaying (struct target_ops *self)
3468 {
3469   return 0;
3470 }
3471
3472 static int
3473 debug_record_is_replaying (struct target_ops *self)
3474 {
3475   int result;
3476   fprintf_unfiltered (gdb_stdlog, "-> %s->to_record_is_replaying (...)\n", debug_target.to_shortname);
3477   result = debug_target.to_record_is_replaying (&debug_target);
3478   fprintf_unfiltered (gdb_stdlog, "<- %s->to_record_is_replaying (", debug_target.to_shortname);
3479   target_debug_print_struct_target_ops_p (&debug_target);
3480   fputs_unfiltered (") = ", gdb_stdlog);
3481   target_debug_print_int (result);
3482   fputs_unfiltered ("\n", gdb_stdlog);
3483   return result;
3484 }
3485
3486 static void
3487 delegate_goto_record_begin (struct target_ops *self)
3488 {
3489   self = self->beneath;
3490   self->to_goto_record_begin (self);
3491 }
3492
3493 static void
3494 tdefault_goto_record_begin (struct target_ops *self)
3495 {
3496   tcomplain ();
3497 }
3498
3499 static void
3500 debug_goto_record_begin (struct target_ops *self)
3501 {
3502   fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record_begin (...)\n", debug_target.to_shortname);
3503   debug_target.to_goto_record_begin (&debug_target);
3504   fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record_begin (", debug_target.to_shortname);
3505   target_debug_print_struct_target_ops_p (&debug_target);
3506   fputs_unfiltered (")\n", gdb_stdlog);
3507 }
3508
3509 static void
3510 delegate_goto_record_end (struct target_ops *self)
3511 {
3512   self = self->beneath;
3513   self->to_goto_record_end (self);
3514 }
3515
3516 static void
3517 tdefault_goto_record_end (struct target_ops *self)
3518 {
3519   tcomplain ();
3520 }
3521
3522 static void
3523 debug_goto_record_end (struct target_ops *self)
3524 {
3525   fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record_end (...)\n", debug_target.to_shortname);
3526   debug_target.to_goto_record_end (&debug_target);
3527   fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record_end (", debug_target.to_shortname);
3528   target_debug_print_struct_target_ops_p (&debug_target);
3529   fputs_unfiltered (")\n", gdb_stdlog);
3530 }
3531
3532 static void
3533 delegate_goto_record (struct target_ops *self, ULONGEST arg1)
3534 {
3535   self = self->beneath;
3536   self->to_goto_record (self, arg1);
3537 }
3538
3539 static void
3540 tdefault_goto_record (struct target_ops *self, ULONGEST arg1)
3541 {
3542   tcomplain ();
3543 }
3544
3545 static void
3546 debug_goto_record (struct target_ops *self, ULONGEST arg1)
3547 {
3548   fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record (...)\n", debug_target.to_shortname);
3549   debug_target.to_goto_record (&debug_target, arg1);
3550   fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record (", debug_target.to_shortname);
3551   target_debug_print_struct_target_ops_p (&debug_target);
3552   fputs_unfiltered (", ", gdb_stdlog);
3553   target_debug_print_ULONGEST (arg1);
3554   fputs_unfiltered (")\n", gdb_stdlog);
3555 }
3556
3557 static void
3558 delegate_insn_history (struct target_ops *self, int arg1, int arg2)
3559 {
3560   self = self->beneath;
3561   self->to_insn_history (self, arg1, arg2);
3562 }
3563
3564 static void
3565 tdefault_insn_history (struct target_ops *self, int arg1, int arg2)
3566 {
3567   tcomplain ();
3568 }
3569
3570 static void
3571 debug_insn_history (struct target_ops *self, int arg1, int arg2)
3572 {
3573   fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history (...)\n", debug_target.to_shortname);
3574   debug_target.to_insn_history (&debug_target, arg1, arg2);
3575   fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history (", debug_target.to_shortname);
3576   target_debug_print_struct_target_ops_p (&debug_target);
3577   fputs_unfiltered (", ", gdb_stdlog);
3578   target_debug_print_int (arg1);
3579   fputs_unfiltered (", ", gdb_stdlog);
3580   target_debug_print_int (arg2);
3581   fputs_unfiltered (")\n", gdb_stdlog);
3582 }
3583
3584 static void
3585 delegate_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
3586 {
3587   self = self->beneath;
3588   self->to_insn_history_from (self, arg1, arg2, arg3);
3589 }
3590
3591 static void
3592 tdefault_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
3593 {
3594   tcomplain ();
3595 }
3596
3597 static void
3598 debug_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
3599 {
3600   fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history_from (...)\n", debug_target.to_shortname);
3601   debug_target.to_insn_history_from (&debug_target, arg1, arg2, arg3);
3602   fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history_from (", debug_target.to_shortname);
3603   target_debug_print_struct_target_ops_p (&debug_target);
3604   fputs_unfiltered (", ", gdb_stdlog);
3605   target_debug_print_ULONGEST (arg1);
3606   fputs_unfiltered (", ", gdb_stdlog);
3607   target_debug_print_int (arg2);
3608   fputs_unfiltered (", ", gdb_stdlog);
3609   target_debug_print_int (arg3);
3610   fputs_unfiltered (")\n", gdb_stdlog);
3611 }
3612
3613 static void
3614 delegate_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
3615 {
3616   self = self->beneath;
3617   self->to_insn_history_range (self, arg1, arg2, arg3);
3618 }
3619
3620 static void
3621 tdefault_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
3622 {
3623   tcomplain ();
3624 }
3625
3626 static void
3627 debug_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
3628 {
3629   fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history_range (...)\n", debug_target.to_shortname);
3630   debug_target.to_insn_history_range (&debug_target, arg1, arg2, arg3);
3631   fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history_range (", debug_target.to_shortname);
3632   target_debug_print_struct_target_ops_p (&debug_target);
3633   fputs_unfiltered (", ", gdb_stdlog);
3634   target_debug_print_ULONGEST (arg1);
3635   fputs_unfiltered (", ", gdb_stdlog);
3636   target_debug_print_ULONGEST (arg2);
3637   fputs_unfiltered (", ", gdb_stdlog);
3638   target_debug_print_int (arg3);
3639   fputs_unfiltered (")\n", gdb_stdlog);
3640 }
3641
3642 static void
3643 delegate_call_history (struct target_ops *self, int arg1, int arg2)
3644 {
3645   self = self->beneath;
3646   self->to_call_history (self, arg1, arg2);
3647 }
3648
3649 static void
3650 tdefault_call_history (struct target_ops *self, int arg1, int arg2)
3651 {
3652   tcomplain ();
3653 }
3654
3655 static void
3656 debug_call_history (struct target_ops *self, int arg1, int arg2)
3657 {
3658   fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history (...)\n", debug_target.to_shortname);
3659   debug_target.to_call_history (&debug_target, arg1, arg2);
3660   fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history (", debug_target.to_shortname);
3661   target_debug_print_struct_target_ops_p (&debug_target);
3662   fputs_unfiltered (", ", gdb_stdlog);
3663   target_debug_print_int (arg1);
3664   fputs_unfiltered (", ", gdb_stdlog);
3665   target_debug_print_int (arg2);
3666   fputs_unfiltered (")\n", gdb_stdlog);
3667 }
3668
3669 static void
3670 delegate_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
3671 {
3672   self = self->beneath;
3673   self->to_call_history_from (self, arg1, arg2, arg3);
3674 }
3675
3676 static void
3677 tdefault_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
3678 {
3679   tcomplain ();
3680 }
3681
3682 static void
3683 debug_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
3684 {
3685   fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history_from (...)\n", debug_target.to_shortname);
3686   debug_target.to_call_history_from (&debug_target, arg1, arg2, arg3);
3687   fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history_from (", debug_target.to_shortname);
3688   target_debug_print_struct_target_ops_p (&debug_target);
3689   fputs_unfiltered (", ", gdb_stdlog);
3690   target_debug_print_ULONGEST (arg1);
3691   fputs_unfiltered (", ", gdb_stdlog);
3692   target_debug_print_int (arg2);
3693   fputs_unfiltered (", ", gdb_stdlog);
3694   target_debug_print_int (arg3);
3695   fputs_unfiltered (")\n", gdb_stdlog);
3696 }
3697
3698 static void
3699 delegate_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
3700 {
3701   self = self->beneath;
3702   self->to_call_history_range (self, arg1, arg2, arg3);
3703 }
3704
3705 static void
3706 tdefault_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
3707 {
3708   tcomplain ();
3709 }
3710
3711 static void
3712 debug_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
3713 {
3714   fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history_range (...)\n", debug_target.to_shortname);
3715   debug_target.to_call_history_range (&debug_target, arg1, arg2, arg3);
3716   fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history_range (", debug_target.to_shortname);
3717   target_debug_print_struct_target_ops_p (&debug_target);
3718   fputs_unfiltered (", ", gdb_stdlog);
3719   target_debug_print_ULONGEST (arg1);
3720   fputs_unfiltered (", ", gdb_stdlog);
3721   target_debug_print_ULONGEST (arg2);
3722   fputs_unfiltered (", ", gdb_stdlog);
3723   target_debug_print_int (arg3);
3724   fputs_unfiltered (")\n", gdb_stdlog);
3725 }
3726
3727 static int
3728 delegate_augmented_libraries_svr4_read (struct target_ops *self)
3729 {
3730   self = self->beneath;
3731   return self->to_augmented_libraries_svr4_read (self);
3732 }
3733
3734 static int
3735 tdefault_augmented_libraries_svr4_read (struct target_ops *self)
3736 {
3737   return 0;
3738 }
3739
3740 static int
3741 debug_augmented_libraries_svr4_read (struct target_ops *self)
3742 {
3743   int result;
3744   fprintf_unfiltered (gdb_stdlog, "-> %s->to_augmented_libraries_svr4_read (...)\n", debug_target.to_shortname);
3745   result = debug_target.to_augmented_libraries_svr4_read (&debug_target);
3746   fprintf_unfiltered (gdb_stdlog, "<- %s->to_augmented_libraries_svr4_read (", debug_target.to_shortname);
3747   target_debug_print_struct_target_ops_p (&debug_target);
3748   fputs_unfiltered (") = ", gdb_stdlog);
3749   target_debug_print_int (result);
3750   fputs_unfiltered ("\n", gdb_stdlog);
3751   return result;
3752 }
3753
3754 static const struct frame_unwind *
3755 delegate_get_unwinder (struct target_ops *self)
3756 {
3757   self = self->beneath;
3758   return self->to_get_unwinder (self);
3759 }
3760
3761 static const struct frame_unwind *
3762 tdefault_get_unwinder (struct target_ops *self)
3763 {
3764   return NULL;
3765 }
3766
3767 static const struct frame_unwind *
3768 debug_get_unwinder (struct target_ops *self)
3769 {
3770   const struct frame_unwind * result;
3771   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_unwinder (...)\n", debug_target.to_shortname);
3772   result = debug_target.to_get_unwinder (&debug_target);
3773   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_unwinder (", debug_target.to_shortname);
3774   target_debug_print_struct_target_ops_p (&debug_target);
3775   fputs_unfiltered (") = ", gdb_stdlog);
3776   target_debug_print_const_struct_frame_unwind_p (result);
3777   fputs_unfiltered ("\n", gdb_stdlog);
3778   return result;
3779 }
3780
3781 static const struct frame_unwind *
3782 delegate_get_tailcall_unwinder (struct target_ops *self)
3783 {
3784   self = self->beneath;
3785   return self->to_get_tailcall_unwinder (self);
3786 }
3787
3788 static const struct frame_unwind *
3789 tdefault_get_tailcall_unwinder (struct target_ops *self)
3790 {
3791   return NULL;
3792 }
3793
3794 static const struct frame_unwind *
3795 debug_get_tailcall_unwinder (struct target_ops *self)
3796 {
3797   const struct frame_unwind * result;
3798   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tailcall_unwinder (...)\n", debug_target.to_shortname);
3799   result = debug_target.to_get_tailcall_unwinder (&debug_target);
3800   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tailcall_unwinder (", debug_target.to_shortname);
3801   target_debug_print_struct_target_ops_p (&debug_target);
3802   fputs_unfiltered (") = ", gdb_stdlog);
3803   target_debug_print_const_struct_frame_unwind_p (result);
3804   fputs_unfiltered ("\n", gdb_stdlog);
3805   return result;
3806 }
3807
3808 static void
3809 delegate_prepare_to_generate_core (struct target_ops *self)
3810 {
3811   self = self->beneath;
3812   self->to_prepare_to_generate_core (self);
3813 }
3814
3815 static void
3816 tdefault_prepare_to_generate_core (struct target_ops *self)
3817 {
3818 }
3819
3820 static void
3821 debug_prepare_to_generate_core (struct target_ops *self)
3822 {
3823   fprintf_unfiltered (gdb_stdlog, "-> %s->to_prepare_to_generate_core (...)\n", debug_target.to_shortname);
3824   debug_target.to_prepare_to_generate_core (&debug_target);
3825   fprintf_unfiltered (gdb_stdlog, "<- %s->to_prepare_to_generate_core (", debug_target.to_shortname);
3826   target_debug_print_struct_target_ops_p (&debug_target);
3827   fputs_unfiltered (")\n", gdb_stdlog);
3828 }
3829
3830 static void
3831 delegate_done_generating_core (struct target_ops *self)
3832 {
3833   self = self->beneath;
3834   self->to_done_generating_core (self);
3835 }
3836
3837 static void
3838 tdefault_done_generating_core (struct target_ops *self)
3839 {
3840 }
3841
3842 static void
3843 debug_done_generating_core (struct target_ops *self)
3844 {
3845   fprintf_unfiltered (gdb_stdlog, "-> %s->to_done_generating_core (...)\n", debug_target.to_shortname);
3846   debug_target.to_done_generating_core (&debug_target);
3847   fprintf_unfiltered (gdb_stdlog, "<- %s->to_done_generating_core (", debug_target.to_shortname);
3848   target_debug_print_struct_target_ops_p (&debug_target);
3849   fputs_unfiltered (")\n", gdb_stdlog);
3850 }
3851
3852 static void
3853 install_delegators (struct target_ops *ops)
3854 {
3855   if (ops->to_post_attach == NULL)
3856     ops->to_post_attach = delegate_post_attach;
3857   if (ops->to_detach == NULL)
3858     ops->to_detach = delegate_detach;
3859   if (ops->to_disconnect == NULL)
3860     ops->to_disconnect = delegate_disconnect;
3861   if (ops->to_resume == NULL)
3862     ops->to_resume = delegate_resume;
3863   if (ops->to_wait == NULL)
3864     ops->to_wait = delegate_wait;
3865   if (ops->to_fetch_registers == NULL)
3866     ops->to_fetch_registers = delegate_fetch_registers;
3867   if (ops->to_store_registers == NULL)
3868     ops->to_store_registers = delegate_store_registers;
3869   if (ops->to_prepare_to_store == NULL)
3870     ops->to_prepare_to_store = delegate_prepare_to_store;
3871   if (ops->to_files_info == NULL)
3872     ops->to_files_info = delegate_files_info;
3873   if (ops->to_insert_breakpoint == NULL)
3874     ops->to_insert_breakpoint = delegate_insert_breakpoint;
3875   if (ops->to_remove_breakpoint == NULL)
3876     ops->to_remove_breakpoint = delegate_remove_breakpoint;
3877   if (ops->to_stopped_by_sw_breakpoint == NULL)
3878     ops->to_stopped_by_sw_breakpoint = delegate_stopped_by_sw_breakpoint;
3879   if (ops->to_supports_stopped_by_sw_breakpoint == NULL)
3880     ops->to_supports_stopped_by_sw_breakpoint = delegate_supports_stopped_by_sw_breakpoint;
3881   if (ops->to_stopped_by_hw_breakpoint == NULL)
3882     ops->to_stopped_by_hw_breakpoint = delegate_stopped_by_hw_breakpoint;
3883   if (ops->to_supports_stopped_by_hw_breakpoint == NULL)
3884     ops->to_supports_stopped_by_hw_breakpoint = delegate_supports_stopped_by_hw_breakpoint;
3885   if (ops->to_can_use_hw_breakpoint == NULL)
3886     ops->to_can_use_hw_breakpoint = delegate_can_use_hw_breakpoint;
3887   if (ops->to_ranged_break_num_registers == NULL)
3888     ops->to_ranged_break_num_registers = delegate_ranged_break_num_registers;
3889   if (ops->to_insert_hw_breakpoint == NULL)
3890     ops->to_insert_hw_breakpoint = delegate_insert_hw_breakpoint;
3891   if (ops->to_remove_hw_breakpoint == NULL)
3892     ops->to_remove_hw_breakpoint = delegate_remove_hw_breakpoint;
3893   if (ops->to_remove_watchpoint == NULL)
3894     ops->to_remove_watchpoint = delegate_remove_watchpoint;
3895   if (ops->to_insert_watchpoint == NULL)
3896     ops->to_insert_watchpoint = delegate_insert_watchpoint;
3897   if (ops->to_insert_mask_watchpoint == NULL)
3898     ops->to_insert_mask_watchpoint = delegate_insert_mask_watchpoint;
3899   if (ops->to_remove_mask_watchpoint == NULL)
3900     ops->to_remove_mask_watchpoint = delegate_remove_mask_watchpoint;
3901   if (ops->to_stopped_by_watchpoint == NULL)
3902     ops->to_stopped_by_watchpoint = delegate_stopped_by_watchpoint;
3903   if (ops->to_stopped_data_address == NULL)
3904     ops->to_stopped_data_address = delegate_stopped_data_address;
3905   if (ops->to_watchpoint_addr_within_range == NULL)
3906     ops->to_watchpoint_addr_within_range = delegate_watchpoint_addr_within_range;
3907   if (ops->to_region_ok_for_hw_watchpoint == NULL)
3908     ops->to_region_ok_for_hw_watchpoint = delegate_region_ok_for_hw_watchpoint;
3909   if (ops->to_can_accel_watchpoint_condition == NULL)
3910     ops->to_can_accel_watchpoint_condition = delegate_can_accel_watchpoint_condition;
3911   if (ops->to_masked_watch_num_registers == NULL)
3912     ops->to_masked_watch_num_registers = delegate_masked_watch_num_registers;
3913   if (ops->to_terminal_init == NULL)
3914     ops->to_terminal_init = delegate_terminal_init;
3915   if (ops->to_terminal_inferior == NULL)
3916     ops->to_terminal_inferior = delegate_terminal_inferior;
3917   if (ops->to_terminal_ours_for_output == NULL)
3918     ops->to_terminal_ours_for_output = delegate_terminal_ours_for_output;
3919   if (ops->to_terminal_ours == NULL)
3920     ops->to_terminal_ours = delegate_terminal_ours;
3921   if (ops->to_terminal_info == NULL)
3922     ops->to_terminal_info = delegate_terminal_info;
3923   if (ops->to_kill == NULL)
3924     ops->to_kill = delegate_kill;
3925   if (ops->to_load == NULL)
3926     ops->to_load = delegate_load;
3927   if (ops->to_post_startup_inferior == NULL)
3928     ops->to_post_startup_inferior = delegate_post_startup_inferior;
3929   if (ops->to_insert_fork_catchpoint == NULL)
3930     ops->to_insert_fork_catchpoint = delegate_insert_fork_catchpoint;
3931   if (ops->to_remove_fork_catchpoint == NULL)
3932     ops->to_remove_fork_catchpoint = delegate_remove_fork_catchpoint;
3933   if (ops->to_insert_vfork_catchpoint == NULL)
3934     ops->to_insert_vfork_catchpoint = delegate_insert_vfork_catchpoint;
3935   if (ops->to_remove_vfork_catchpoint == NULL)
3936     ops->to_remove_vfork_catchpoint = delegate_remove_vfork_catchpoint;
3937   if (ops->to_follow_fork == NULL)
3938     ops->to_follow_fork = delegate_follow_fork;
3939   if (ops->to_insert_exec_catchpoint == NULL)
3940     ops->to_insert_exec_catchpoint = delegate_insert_exec_catchpoint;
3941   if (ops->to_remove_exec_catchpoint == NULL)
3942     ops->to_remove_exec_catchpoint = delegate_remove_exec_catchpoint;
3943   if (ops->to_set_syscall_catchpoint == NULL)
3944     ops->to_set_syscall_catchpoint = delegate_set_syscall_catchpoint;
3945   if (ops->to_has_exited == NULL)
3946     ops->to_has_exited = delegate_has_exited;
3947   if (ops->to_mourn_inferior == NULL)
3948     ops->to_mourn_inferior = delegate_mourn_inferior;
3949   if (ops->to_can_run == NULL)
3950     ops->to_can_run = delegate_can_run;
3951   if (ops->to_pass_signals == NULL)
3952     ops->to_pass_signals = delegate_pass_signals;
3953   if (ops->to_program_signals == NULL)
3954     ops->to_program_signals = delegate_program_signals;
3955   if (ops->to_thread_alive == NULL)
3956     ops->to_thread_alive = delegate_thread_alive;
3957   if (ops->to_update_thread_list == NULL)
3958     ops->to_update_thread_list = delegate_update_thread_list;
3959   if (ops->to_pid_to_str == NULL)
3960     ops->to_pid_to_str = delegate_pid_to_str;
3961   if (ops->to_extra_thread_info == NULL)
3962     ops->to_extra_thread_info = delegate_extra_thread_info;
3963   if (ops->to_thread_name == NULL)
3964     ops->to_thread_name = delegate_thread_name;
3965   if (ops->to_stop == NULL)
3966     ops->to_stop = delegate_stop;
3967   if (ops->to_rcmd == NULL)
3968     ops->to_rcmd = delegate_rcmd;
3969   if (ops->to_pid_to_exec_file == NULL)
3970     ops->to_pid_to_exec_file = delegate_pid_to_exec_file;
3971   if (ops->to_log_command == NULL)
3972     ops->to_log_command = delegate_log_command;
3973   if (ops->to_get_section_table == NULL)
3974     ops->to_get_section_table = delegate_get_section_table;
3975   if (ops->to_can_async_p == NULL)
3976     ops->to_can_async_p = delegate_can_async_p;
3977   if (ops->to_is_async_p == NULL)
3978     ops->to_is_async_p = delegate_is_async_p;
3979   if (ops->to_async == NULL)
3980     ops->to_async = delegate_async;
3981   if (ops->to_supports_non_stop == NULL)
3982     ops->to_supports_non_stop = delegate_supports_non_stop;
3983   if (ops->to_find_memory_regions == NULL)
3984     ops->to_find_memory_regions = delegate_find_memory_regions;
3985   if (ops->to_make_corefile_notes == NULL)
3986     ops->to_make_corefile_notes = delegate_make_corefile_notes;
3987   if (ops->to_get_bookmark == NULL)
3988     ops->to_get_bookmark = delegate_get_bookmark;
3989   if (ops->to_goto_bookmark == NULL)
3990     ops->to_goto_bookmark = delegate_goto_bookmark;
3991   if (ops->to_get_thread_local_address == NULL)
3992     ops->to_get_thread_local_address = delegate_get_thread_local_address;
3993   if (ops->to_xfer_partial == NULL)
3994     ops->to_xfer_partial = delegate_xfer_partial;
3995   if (ops->to_memory_map == NULL)
3996     ops->to_memory_map = delegate_memory_map;
3997   if (ops->to_flash_erase == NULL)
3998     ops->to_flash_erase = delegate_flash_erase;
3999   if (ops->to_flash_done == NULL)
4000     ops->to_flash_done = delegate_flash_done;
4001   if (ops->to_read_description == NULL)
4002     ops->to_read_description = delegate_read_description;
4003   if (ops->to_get_ada_task_ptid == NULL)
4004     ops->to_get_ada_task_ptid = delegate_get_ada_task_ptid;
4005   if (ops->to_auxv_parse == NULL)
4006     ops->to_auxv_parse = delegate_auxv_parse;
4007   if (ops->to_search_memory == NULL)
4008     ops->to_search_memory = delegate_search_memory;
4009   if (ops->to_can_execute_reverse == NULL)
4010     ops->to_can_execute_reverse = delegate_can_execute_reverse;
4011   if (ops->to_execution_direction == NULL)
4012     ops->to_execution_direction = delegate_execution_direction;
4013   if (ops->to_supports_multi_process == NULL)
4014     ops->to_supports_multi_process = delegate_supports_multi_process;
4015   if (ops->to_supports_enable_disable_tracepoint == NULL)
4016     ops->to_supports_enable_disable_tracepoint = delegate_supports_enable_disable_tracepoint;
4017   if (ops->to_supports_string_tracing == NULL)
4018     ops->to_supports_string_tracing = delegate_supports_string_tracing;
4019   if (ops->to_supports_evaluation_of_breakpoint_conditions == NULL)
4020     ops->to_supports_evaluation_of_breakpoint_conditions = delegate_supports_evaluation_of_breakpoint_conditions;
4021   if (ops->to_can_run_breakpoint_commands == NULL)
4022     ops->to_can_run_breakpoint_commands = delegate_can_run_breakpoint_commands;
4023   if (ops->to_thread_architecture == NULL)
4024     ops->to_thread_architecture = delegate_thread_architecture;
4025   if (ops->to_thread_address_space == NULL)
4026     ops->to_thread_address_space = delegate_thread_address_space;
4027   if (ops->to_trace_init == NULL)
4028     ops->to_trace_init = delegate_trace_init;
4029   if (ops->to_download_tracepoint == NULL)
4030     ops->to_download_tracepoint = delegate_download_tracepoint;
4031   if (ops->to_can_download_tracepoint == NULL)
4032     ops->to_can_download_tracepoint = delegate_can_download_tracepoint;
4033   if (ops->to_download_trace_state_variable == NULL)
4034     ops->to_download_trace_state_variable = delegate_download_trace_state_variable;
4035   if (ops->to_enable_tracepoint == NULL)
4036     ops->to_enable_tracepoint = delegate_enable_tracepoint;
4037   if (ops->to_disable_tracepoint == NULL)
4038     ops->to_disable_tracepoint = delegate_disable_tracepoint;
4039   if (ops->to_trace_set_readonly_regions == NULL)
4040     ops->to_trace_set_readonly_regions = delegate_trace_set_readonly_regions;
4041   if (ops->to_trace_start == NULL)
4042     ops->to_trace_start = delegate_trace_start;
4043   if (ops->to_get_trace_status == NULL)
4044     ops->to_get_trace_status = delegate_get_trace_status;
4045   if (ops->to_get_tracepoint_status == NULL)
4046     ops->to_get_tracepoint_status = delegate_get_tracepoint_status;
4047   if (ops->to_trace_stop == NULL)
4048     ops->to_trace_stop = delegate_trace_stop;
4049   if (ops->to_trace_find == NULL)
4050     ops->to_trace_find = delegate_trace_find;
4051   if (ops->to_get_trace_state_variable_value == NULL)
4052     ops->to_get_trace_state_variable_value = delegate_get_trace_state_variable_value;
4053   if (ops->to_save_trace_data == NULL)
4054     ops->to_save_trace_data = delegate_save_trace_data;
4055   if (ops->to_upload_tracepoints == NULL)
4056     ops->to_upload_tracepoints = delegate_upload_tracepoints;
4057   if (ops->to_upload_trace_state_variables == NULL)
4058     ops->to_upload_trace_state_variables = delegate_upload_trace_state_variables;
4059   if (ops->to_get_raw_trace_data == NULL)
4060     ops->to_get_raw_trace_data = delegate_get_raw_trace_data;
4061   if (ops->to_get_min_fast_tracepoint_insn_len == NULL)
4062     ops->to_get_min_fast_tracepoint_insn_len = delegate_get_min_fast_tracepoint_insn_len;
4063   if (ops->to_set_disconnected_tracing == NULL)
4064     ops->to_set_disconnected_tracing = delegate_set_disconnected_tracing;
4065   if (ops->to_set_circular_trace_buffer == NULL)
4066     ops->to_set_circular_trace_buffer = delegate_set_circular_trace_buffer;
4067   if (ops->to_set_trace_buffer_size == NULL)
4068     ops->to_set_trace_buffer_size = delegate_set_trace_buffer_size;
4069   if (ops->to_set_trace_notes == NULL)
4070     ops->to_set_trace_notes = delegate_set_trace_notes;
4071   if (ops->to_core_of_thread == NULL)
4072     ops->to_core_of_thread = delegate_core_of_thread;
4073   if (ops->to_verify_memory == NULL)
4074     ops->to_verify_memory = delegate_verify_memory;
4075   if (ops->to_get_tib_address == NULL)
4076     ops->to_get_tib_address = delegate_get_tib_address;
4077   if (ops->to_set_permissions == NULL)
4078     ops->to_set_permissions = delegate_set_permissions;
4079   if (ops->to_static_tracepoint_marker_at == NULL)
4080     ops->to_static_tracepoint_marker_at = delegate_static_tracepoint_marker_at;
4081   if (ops->to_static_tracepoint_markers_by_strid == NULL)
4082     ops->to_static_tracepoint_markers_by_strid = delegate_static_tracepoint_markers_by_strid;
4083   if (ops->to_traceframe_info == NULL)
4084     ops->to_traceframe_info = delegate_traceframe_info;
4085   if (ops->to_use_agent == NULL)
4086     ops->to_use_agent = delegate_use_agent;
4087   if (ops->to_can_use_agent == NULL)
4088     ops->to_can_use_agent = delegate_can_use_agent;
4089   if (ops->to_supports_btrace == NULL)
4090     ops->to_supports_btrace = delegate_supports_btrace;
4091   if (ops->to_enable_btrace == NULL)
4092     ops->to_enable_btrace = delegate_enable_btrace;
4093   if (ops->to_disable_btrace == NULL)
4094     ops->to_disable_btrace = delegate_disable_btrace;
4095   if (ops->to_teardown_btrace == NULL)
4096     ops->to_teardown_btrace = delegate_teardown_btrace;
4097   if (ops->to_read_btrace == NULL)
4098     ops->to_read_btrace = delegate_read_btrace;
4099   if (ops->to_btrace_conf == NULL)
4100     ops->to_btrace_conf = delegate_btrace_conf;
4101   if (ops->to_stop_recording == NULL)
4102     ops->to_stop_recording = delegate_stop_recording;
4103   if (ops->to_info_record == NULL)
4104     ops->to_info_record = delegate_info_record;
4105   if (ops->to_save_record == NULL)
4106     ops->to_save_record = delegate_save_record;
4107   if (ops->to_delete_record == NULL)
4108     ops->to_delete_record = delegate_delete_record;
4109   if (ops->to_record_is_replaying == NULL)
4110     ops->to_record_is_replaying = delegate_record_is_replaying;
4111   if (ops->to_goto_record_begin == NULL)
4112     ops->to_goto_record_begin = delegate_goto_record_begin;
4113   if (ops->to_goto_record_end == NULL)
4114     ops->to_goto_record_end = delegate_goto_record_end;
4115   if (ops->to_goto_record == NULL)
4116     ops->to_goto_record = delegate_goto_record;
4117   if (ops->to_insn_history == NULL)
4118     ops->to_insn_history = delegate_insn_history;
4119   if (ops->to_insn_history_from == NULL)
4120     ops->to_insn_history_from = delegate_insn_history_from;
4121   if (ops->to_insn_history_range == NULL)
4122     ops->to_insn_history_range = delegate_insn_history_range;
4123   if (ops->to_call_history == NULL)
4124     ops->to_call_history = delegate_call_history;
4125   if (ops->to_call_history_from == NULL)
4126     ops->to_call_history_from = delegate_call_history_from;
4127   if (ops->to_call_history_range == NULL)
4128     ops->to_call_history_range = delegate_call_history_range;
4129   if (ops->to_augmented_libraries_svr4_read == NULL)
4130     ops->to_augmented_libraries_svr4_read = delegate_augmented_libraries_svr4_read;
4131   if (ops->to_get_unwinder == NULL)
4132     ops->to_get_unwinder = delegate_get_unwinder;
4133   if (ops->to_get_tailcall_unwinder == NULL)
4134     ops->to_get_tailcall_unwinder = delegate_get_tailcall_unwinder;
4135   if (ops->to_prepare_to_generate_core == NULL)
4136     ops->to_prepare_to_generate_core = delegate_prepare_to_generate_core;
4137   if (ops->to_done_generating_core == NULL)
4138     ops->to_done_generating_core = delegate_done_generating_core;
4139 }
4140
4141 static void
4142 install_dummy_methods (struct target_ops *ops)
4143 {
4144   ops->to_post_attach = tdefault_post_attach;
4145   ops->to_detach = tdefault_detach;
4146   ops->to_disconnect = tdefault_disconnect;
4147   ops->to_resume = tdefault_resume;
4148   ops->to_wait = tdefault_wait;
4149   ops->to_fetch_registers = tdefault_fetch_registers;
4150   ops->to_store_registers = tdefault_store_registers;
4151   ops->to_prepare_to_store = tdefault_prepare_to_store;
4152   ops->to_files_info = tdefault_files_info;
4153   ops->to_insert_breakpoint = memory_insert_breakpoint;
4154   ops->to_remove_breakpoint = memory_remove_breakpoint;
4155   ops->to_stopped_by_sw_breakpoint = tdefault_stopped_by_sw_breakpoint;
4156   ops->to_supports_stopped_by_sw_breakpoint = tdefault_supports_stopped_by_sw_breakpoint;
4157   ops->to_stopped_by_hw_breakpoint = tdefault_stopped_by_hw_breakpoint;
4158   ops->to_supports_stopped_by_hw_breakpoint = tdefault_supports_stopped_by_hw_breakpoint;
4159   ops->to_can_use_hw_breakpoint = tdefault_can_use_hw_breakpoint;
4160   ops->to_ranged_break_num_registers = tdefault_ranged_break_num_registers;
4161   ops->to_insert_hw_breakpoint = tdefault_insert_hw_breakpoint;
4162   ops->to_remove_hw_breakpoint = tdefault_remove_hw_breakpoint;
4163   ops->to_remove_watchpoint = tdefault_remove_watchpoint;
4164   ops->to_insert_watchpoint = tdefault_insert_watchpoint;
4165   ops->to_insert_mask_watchpoint = tdefault_insert_mask_watchpoint;
4166   ops->to_remove_mask_watchpoint = tdefault_remove_mask_watchpoint;
4167   ops->to_stopped_by_watchpoint = tdefault_stopped_by_watchpoint;
4168   ops->to_stopped_data_address = tdefault_stopped_data_address;
4169   ops->to_watchpoint_addr_within_range = default_watchpoint_addr_within_range;
4170   ops->to_region_ok_for_hw_watchpoint = default_region_ok_for_hw_watchpoint;
4171   ops->to_can_accel_watchpoint_condition = tdefault_can_accel_watchpoint_condition;
4172   ops->to_masked_watch_num_registers = tdefault_masked_watch_num_registers;
4173   ops->to_terminal_init = tdefault_terminal_init;
4174   ops->to_terminal_inferior = tdefault_terminal_inferior;
4175   ops->to_terminal_ours_for_output = tdefault_terminal_ours_for_output;
4176   ops->to_terminal_ours = tdefault_terminal_ours;
4177   ops->to_terminal_info = default_terminal_info;
4178   ops->to_kill = tdefault_kill;
4179   ops->to_load = tdefault_load;
4180   ops->to_post_startup_inferior = tdefault_post_startup_inferior;
4181   ops->to_insert_fork_catchpoint = tdefault_insert_fork_catchpoint;
4182   ops->to_remove_fork_catchpoint = tdefault_remove_fork_catchpoint;
4183   ops->to_insert_vfork_catchpoint = tdefault_insert_vfork_catchpoint;
4184   ops->to_remove_vfork_catchpoint = tdefault_remove_vfork_catchpoint;
4185   ops->to_follow_fork = default_follow_fork;
4186   ops->to_insert_exec_catchpoint = tdefault_insert_exec_catchpoint;
4187   ops->to_remove_exec_catchpoint = tdefault_remove_exec_catchpoint;
4188   ops->to_set_syscall_catchpoint = tdefault_set_syscall_catchpoint;
4189   ops->to_has_exited = tdefault_has_exited;
4190   ops->to_mourn_inferior = default_mourn_inferior;
4191   ops->to_can_run = tdefault_can_run;
4192   ops->to_pass_signals = tdefault_pass_signals;
4193   ops->to_program_signals = tdefault_program_signals;
4194   ops->to_thread_alive = tdefault_thread_alive;
4195   ops->to_update_thread_list = tdefault_update_thread_list;
4196   ops->to_pid_to_str = default_pid_to_str;
4197   ops->to_extra_thread_info = tdefault_extra_thread_info;
4198   ops->to_thread_name = tdefault_thread_name;
4199   ops->to_stop = tdefault_stop;
4200   ops->to_rcmd = default_rcmd;
4201   ops->to_pid_to_exec_file = tdefault_pid_to_exec_file;
4202   ops->to_log_command = tdefault_log_command;
4203   ops->to_get_section_table = tdefault_get_section_table;
4204   ops->to_can_async_p = tdefault_can_async_p;
4205   ops->to_is_async_p = tdefault_is_async_p;
4206   ops->to_async = tdefault_async;
4207   ops->to_supports_non_stop = tdefault_supports_non_stop;
4208   ops->to_find_memory_regions = dummy_find_memory_regions;
4209   ops->to_make_corefile_notes = dummy_make_corefile_notes;
4210   ops->to_get_bookmark = tdefault_get_bookmark;
4211   ops->to_goto_bookmark = tdefault_goto_bookmark;
4212   ops->to_get_thread_local_address = tdefault_get_thread_local_address;
4213   ops->to_xfer_partial = tdefault_xfer_partial;
4214   ops->to_memory_map = tdefault_memory_map;
4215   ops->to_flash_erase = tdefault_flash_erase;
4216   ops->to_flash_done = tdefault_flash_done;
4217   ops->to_read_description = tdefault_read_description;
4218   ops->to_get_ada_task_ptid = default_get_ada_task_ptid;
4219   ops->to_auxv_parse = default_auxv_parse;
4220   ops->to_search_memory = default_search_memory;
4221   ops->to_can_execute_reverse = tdefault_can_execute_reverse;
4222   ops->to_execution_direction = default_execution_direction;
4223   ops->to_supports_multi_process = tdefault_supports_multi_process;
4224   ops->to_supports_enable_disable_tracepoint = tdefault_supports_enable_disable_tracepoint;
4225   ops->to_supports_string_tracing = tdefault_supports_string_tracing;
4226   ops->to_supports_evaluation_of_breakpoint_conditions = tdefault_supports_evaluation_of_breakpoint_conditions;
4227   ops->to_can_run_breakpoint_commands = tdefault_can_run_breakpoint_commands;
4228   ops->to_thread_architecture = default_thread_architecture;
4229   ops->to_thread_address_space = default_thread_address_space;
4230   ops->to_trace_init = tdefault_trace_init;
4231   ops->to_download_tracepoint = tdefault_download_tracepoint;
4232   ops->to_can_download_tracepoint = tdefault_can_download_tracepoint;
4233   ops->to_download_trace_state_variable = tdefault_download_trace_state_variable;
4234   ops->to_enable_tracepoint = tdefault_enable_tracepoint;
4235   ops->to_disable_tracepoint = tdefault_disable_tracepoint;
4236   ops->to_trace_set_readonly_regions = tdefault_trace_set_readonly_regions;
4237   ops->to_trace_start = tdefault_trace_start;
4238   ops->to_get_trace_status = tdefault_get_trace_status;
4239   ops->to_get_tracepoint_status = tdefault_get_tracepoint_status;
4240   ops->to_trace_stop = tdefault_trace_stop;
4241   ops->to_trace_find = tdefault_trace_find;
4242   ops->to_get_trace_state_variable_value = tdefault_get_trace_state_variable_value;
4243   ops->to_save_trace_data = tdefault_save_trace_data;
4244   ops->to_upload_tracepoints = tdefault_upload_tracepoints;
4245   ops->to_upload_trace_state_variables = tdefault_upload_trace_state_variables;
4246   ops->to_get_raw_trace_data = tdefault_get_raw_trace_data;
4247   ops->to_get_min_fast_tracepoint_insn_len = tdefault_get_min_fast_tracepoint_insn_len;
4248   ops->to_set_disconnected_tracing = tdefault_set_disconnected_tracing;
4249   ops->to_set_circular_trace_buffer = tdefault_set_circular_trace_buffer;
4250   ops->to_set_trace_buffer_size = tdefault_set_trace_buffer_size;
4251   ops->to_set_trace_notes = tdefault_set_trace_notes;
4252   ops->to_core_of_thread = tdefault_core_of_thread;
4253   ops->to_verify_memory = default_verify_memory;
4254   ops->to_get_tib_address = tdefault_get_tib_address;
4255   ops->to_set_permissions = tdefault_set_permissions;
4256   ops->to_static_tracepoint_marker_at = tdefault_static_tracepoint_marker_at;
4257   ops->to_static_tracepoint_markers_by_strid = tdefault_static_tracepoint_markers_by_strid;
4258   ops->to_traceframe_info = tdefault_traceframe_info;
4259   ops->to_use_agent = tdefault_use_agent;
4260   ops->to_can_use_agent = tdefault_can_use_agent;
4261   ops->to_supports_btrace = tdefault_supports_btrace;
4262   ops->to_enable_btrace = tdefault_enable_btrace;
4263   ops->to_disable_btrace = tdefault_disable_btrace;
4264   ops->to_teardown_btrace = tdefault_teardown_btrace;
4265   ops->to_read_btrace = tdefault_read_btrace;
4266   ops->to_btrace_conf = tdefault_btrace_conf;
4267   ops->to_stop_recording = tdefault_stop_recording;
4268   ops->to_info_record = tdefault_info_record;
4269   ops->to_save_record = tdefault_save_record;
4270   ops->to_delete_record = tdefault_delete_record;
4271   ops->to_record_is_replaying = tdefault_record_is_replaying;
4272   ops->to_goto_record_begin = tdefault_goto_record_begin;
4273   ops->to_goto_record_end = tdefault_goto_record_end;
4274   ops->to_goto_record = tdefault_goto_record;
4275   ops->to_insn_history = tdefault_insn_history;
4276   ops->to_insn_history_from = tdefault_insn_history_from;
4277   ops->to_insn_history_range = tdefault_insn_history_range;
4278   ops->to_call_history = tdefault_call_history;
4279   ops->to_call_history_from = tdefault_call_history_from;
4280   ops->to_call_history_range = tdefault_call_history_range;
4281   ops->to_augmented_libraries_svr4_read = tdefault_augmented_libraries_svr4_read;
4282   ops->to_get_unwinder = tdefault_get_unwinder;
4283   ops->to_get_tailcall_unwinder = tdefault_get_tailcall_unwinder;
4284   ops->to_prepare_to_generate_core = tdefault_prepare_to_generate_core;
4285   ops->to_done_generating_core = tdefault_done_generating_core;
4286 }
4287
4288 static void
4289 init_debug_target (struct target_ops *ops)
4290 {
4291   ops->to_post_attach = debug_post_attach;
4292   ops->to_detach = debug_detach;
4293   ops->to_disconnect = debug_disconnect;
4294   ops->to_resume = debug_resume;
4295   ops->to_wait = debug_wait;
4296   ops->to_fetch_registers = debug_fetch_registers;
4297   ops->to_store_registers = debug_store_registers;
4298   ops->to_prepare_to_store = debug_prepare_to_store;
4299   ops->to_files_info = debug_files_info;
4300   ops->to_insert_breakpoint = debug_insert_breakpoint;
4301   ops->to_remove_breakpoint = debug_remove_breakpoint;
4302   ops->to_stopped_by_sw_breakpoint = debug_stopped_by_sw_breakpoint;
4303   ops->to_supports_stopped_by_sw_breakpoint = debug_supports_stopped_by_sw_breakpoint;
4304   ops->to_stopped_by_hw_breakpoint = debug_stopped_by_hw_breakpoint;
4305   ops->to_supports_stopped_by_hw_breakpoint = debug_supports_stopped_by_hw_breakpoint;
4306   ops->to_can_use_hw_breakpoint = debug_can_use_hw_breakpoint;
4307   ops->to_ranged_break_num_registers = debug_ranged_break_num_registers;
4308   ops->to_insert_hw_breakpoint = debug_insert_hw_breakpoint;
4309   ops->to_remove_hw_breakpoint = debug_remove_hw_breakpoint;
4310   ops->to_remove_watchpoint = debug_remove_watchpoint;
4311   ops->to_insert_watchpoint = debug_insert_watchpoint;
4312   ops->to_insert_mask_watchpoint = debug_insert_mask_watchpoint;
4313   ops->to_remove_mask_watchpoint = debug_remove_mask_watchpoint;
4314   ops->to_stopped_by_watchpoint = debug_stopped_by_watchpoint;
4315   ops->to_stopped_data_address = debug_stopped_data_address;
4316   ops->to_watchpoint_addr_within_range = debug_watchpoint_addr_within_range;
4317   ops->to_region_ok_for_hw_watchpoint = debug_region_ok_for_hw_watchpoint;
4318   ops->to_can_accel_watchpoint_condition = debug_can_accel_watchpoint_condition;
4319   ops->to_masked_watch_num_registers = debug_masked_watch_num_registers;
4320   ops->to_terminal_init = debug_terminal_init;
4321   ops->to_terminal_inferior = debug_terminal_inferior;
4322   ops->to_terminal_ours_for_output = debug_terminal_ours_for_output;
4323   ops->to_terminal_ours = debug_terminal_ours;
4324   ops->to_terminal_info = debug_terminal_info;
4325   ops->to_kill = debug_kill;
4326   ops->to_load = debug_load;
4327   ops->to_post_startup_inferior = debug_post_startup_inferior;
4328   ops->to_insert_fork_catchpoint = debug_insert_fork_catchpoint;
4329   ops->to_remove_fork_catchpoint = debug_remove_fork_catchpoint;
4330   ops->to_insert_vfork_catchpoint = debug_insert_vfork_catchpoint;
4331   ops->to_remove_vfork_catchpoint = debug_remove_vfork_catchpoint;
4332   ops->to_follow_fork = debug_follow_fork;
4333   ops->to_insert_exec_catchpoint = debug_insert_exec_catchpoint;
4334   ops->to_remove_exec_catchpoint = debug_remove_exec_catchpoint;
4335   ops->to_set_syscall_catchpoint = debug_set_syscall_catchpoint;
4336   ops->to_has_exited = debug_has_exited;
4337   ops->to_mourn_inferior = debug_mourn_inferior;
4338   ops->to_can_run = debug_can_run;
4339   ops->to_pass_signals = debug_pass_signals;
4340   ops->to_program_signals = debug_program_signals;
4341   ops->to_thread_alive = debug_thread_alive;
4342   ops->to_update_thread_list = debug_update_thread_list;
4343   ops->to_pid_to_str = debug_pid_to_str;
4344   ops->to_extra_thread_info = debug_extra_thread_info;
4345   ops->to_thread_name = debug_thread_name;
4346   ops->to_stop = debug_stop;
4347   ops->to_rcmd = debug_rcmd;
4348   ops->to_pid_to_exec_file = debug_pid_to_exec_file;
4349   ops->to_log_command = debug_log_command;
4350   ops->to_get_section_table = debug_get_section_table;
4351   ops->to_can_async_p = debug_can_async_p;
4352   ops->to_is_async_p = debug_is_async_p;
4353   ops->to_async = debug_async;
4354   ops->to_supports_non_stop = debug_supports_non_stop;
4355   ops->to_find_memory_regions = debug_find_memory_regions;
4356   ops->to_make_corefile_notes = debug_make_corefile_notes;
4357   ops->to_get_bookmark = debug_get_bookmark;
4358   ops->to_goto_bookmark = debug_goto_bookmark;
4359   ops->to_get_thread_local_address = debug_get_thread_local_address;
4360   ops->to_xfer_partial = debug_xfer_partial;
4361   ops->to_memory_map = debug_memory_map;
4362   ops->to_flash_erase = debug_flash_erase;
4363   ops->to_flash_done = debug_flash_done;
4364   ops->to_read_description = debug_read_description;
4365   ops->to_get_ada_task_ptid = debug_get_ada_task_ptid;
4366   ops->to_auxv_parse = debug_auxv_parse;
4367   ops->to_search_memory = debug_search_memory;
4368   ops->to_can_execute_reverse = debug_can_execute_reverse;
4369   ops->to_execution_direction = debug_execution_direction;
4370   ops->to_supports_multi_process = debug_supports_multi_process;
4371   ops->to_supports_enable_disable_tracepoint = debug_supports_enable_disable_tracepoint;
4372   ops->to_supports_string_tracing = debug_supports_string_tracing;
4373   ops->to_supports_evaluation_of_breakpoint_conditions = debug_supports_evaluation_of_breakpoint_conditions;
4374   ops->to_can_run_breakpoint_commands = debug_can_run_breakpoint_commands;
4375   ops->to_thread_architecture = debug_thread_architecture;
4376   ops->to_thread_address_space = debug_thread_address_space;
4377   ops->to_trace_init = debug_trace_init;
4378   ops->to_download_tracepoint = debug_download_tracepoint;
4379   ops->to_can_download_tracepoint = debug_can_download_tracepoint;
4380   ops->to_download_trace_state_variable = debug_download_trace_state_variable;
4381   ops->to_enable_tracepoint = debug_enable_tracepoint;
4382   ops->to_disable_tracepoint = debug_disable_tracepoint;
4383   ops->to_trace_set_readonly_regions = debug_trace_set_readonly_regions;
4384   ops->to_trace_start = debug_trace_start;
4385   ops->to_get_trace_status = debug_get_trace_status;
4386   ops->to_get_tracepoint_status = debug_get_tracepoint_status;
4387   ops->to_trace_stop = debug_trace_stop;
4388   ops->to_trace_find = debug_trace_find;
4389   ops->to_get_trace_state_variable_value = debug_get_trace_state_variable_value;
4390   ops->to_save_trace_data = debug_save_trace_data;
4391   ops->to_upload_tracepoints = debug_upload_tracepoints;
4392   ops->to_upload_trace_state_variables = debug_upload_trace_state_variables;
4393   ops->to_get_raw_trace_data = debug_get_raw_trace_data;
4394   ops->to_get_min_fast_tracepoint_insn_len = debug_get_min_fast_tracepoint_insn_len;
4395   ops->to_set_disconnected_tracing = debug_set_disconnected_tracing;
4396   ops->to_set_circular_trace_buffer = debug_set_circular_trace_buffer;
4397   ops->to_set_trace_buffer_size = debug_set_trace_buffer_size;
4398   ops->to_set_trace_notes = debug_set_trace_notes;
4399   ops->to_core_of_thread = debug_core_of_thread;
4400   ops->to_verify_memory = debug_verify_memory;
4401   ops->to_get_tib_address = debug_get_tib_address;
4402   ops->to_set_permissions = debug_set_permissions;
4403   ops->to_static_tracepoint_marker_at = debug_static_tracepoint_marker_at;
4404   ops->to_static_tracepoint_markers_by_strid = debug_static_tracepoint_markers_by_strid;
4405   ops->to_traceframe_info = debug_traceframe_info;
4406   ops->to_use_agent = debug_use_agent;
4407   ops->to_can_use_agent = debug_can_use_agent;
4408   ops->to_supports_btrace = debug_supports_btrace;
4409   ops->to_enable_btrace = debug_enable_btrace;
4410   ops->to_disable_btrace = debug_disable_btrace;
4411   ops->to_teardown_btrace = debug_teardown_btrace;
4412   ops->to_read_btrace = debug_read_btrace;
4413   ops->to_btrace_conf = debug_btrace_conf;
4414   ops->to_stop_recording = debug_stop_recording;
4415   ops->to_info_record = debug_info_record;
4416   ops->to_save_record = debug_save_record;
4417   ops->to_delete_record = debug_delete_record;
4418   ops->to_record_is_replaying = debug_record_is_replaying;
4419   ops->to_goto_record_begin = debug_goto_record_begin;
4420   ops->to_goto_record_end = debug_goto_record_end;
4421   ops->to_goto_record = debug_goto_record;
4422   ops->to_insn_history = debug_insn_history;
4423   ops->to_insn_history_from = debug_insn_history_from;
4424   ops->to_insn_history_range = debug_insn_history_range;
4425   ops->to_call_history = debug_call_history;
4426   ops->to_call_history_from = debug_call_history_from;
4427   ops->to_call_history_range = debug_call_history_range;
4428   ops->to_augmented_libraries_svr4_read = debug_augmented_libraries_svr4_read;
4429   ops->to_get_unwinder = debug_get_unwinder;
4430   ops->to_get_tailcall_unwinder = debug_get_tailcall_unwinder;
4431   ops->to_prepare_to_generate_core = debug_prepare_to_generate_core;
4432   ops->to_done_generating_core = debug_done_generating_core;
4433 }