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