]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/target-delegates.c
convert to_get_min_fast_tracepoint_insn_len
[thirdparty/binutils-gdb.git] / gdb / target-delegates.c
CommitLineData
1101cb7b
TT
1/* THIS FILE IS GENERATED -*- buffer-read-only: t -*- */
2/* vi:set ro: */
3
4/* To regenerate this file, run:*/
5/* make-target-delegates target.h > target-delegates.c */
e9a29200
TT
6static void
7delegate_attach (struct target_ops *self, char *arg1, int arg2)
8{
9 self = self->beneath;
10 self->to_attach (self, arg1, arg2);
11}
12
bebd3233
TT
13static void
14delegate_post_attach (struct target_ops *self, int arg1)
15{
16 self = self->beneath;
17 self->to_post_attach (self, arg1);
18}
19
20static void
21tdefault_post_attach (struct target_ops *self, int arg1)
22{
23}
24
09da0d0a
TT
25static void
26delegate_detach (struct target_ops *self, const char *arg1, int arg2)
27{
28 self = self->beneath;
29 self->to_detach (self, arg1, arg2);
30}
31
32static void
33tdefault_detach (struct target_ops *self, const char *arg1, int arg2)
34{
35}
36
6b84065d
TT
37static void
38delegate_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
39{
40 self = self->beneath;
41 self->to_resume (self, arg1, arg2, arg3);
42}
43
44static void
45tdefault_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
46{
47 noprocess ();
48}
49
50static ptid_t
51delegate_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
52{
53 self = self->beneath;
54 return self->to_wait (self, arg1, arg2, arg3);
55}
56
57static ptid_t
58tdefault_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
59{
60 noprocess ();
61}
62
63static void
64delegate_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
65{
66 self = self->beneath;
67 self->to_store_registers (self, arg1, arg2);
68}
69
70static void
71tdefault_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
72{
73 noprocess ();
74}
75
6c628163
TT
76static void
77delegate_prepare_to_store (struct target_ops *self, struct regcache *arg1)
78{
79 self = self->beneath;
80 self->to_prepare_to_store (self, arg1);
81}
82
83static void
84tdefault_prepare_to_store (struct target_ops *self, struct regcache *arg1)
85{
86 noprocess ();
87}
88
f86e59b2
TT
89static void
90delegate_files_info (struct target_ops *self)
91{
92 self = self->beneath;
93 self->to_files_info (self);
94}
95
96static void
97tdefault_files_info (struct target_ops *self)
98{
99}
100
6b84065d
TT
101static int
102delegate_insert_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
103{
104 self = self->beneath;
105 return self->to_insert_breakpoint (self, arg1, arg2);
106}
107
108static int
109delegate_remove_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
110{
111 self = self->beneath;
112 return self->to_remove_breakpoint (self, arg1, arg2);
113}
114
52b51d06
TT
115static int
116delegate_can_use_hw_breakpoint (struct target_ops *self, int arg1, int arg2, int arg3)
117{
118 self = self->beneath;
119 return self->to_can_use_hw_breakpoint (self, arg1, arg2, arg3);
120}
121
122static int
123tdefault_can_use_hw_breakpoint (struct target_ops *self, int arg1, int arg2, int arg3)
124{
125 return 0;
126}
127
61b371f9
TT
128static int
129delegate_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
130{
131 self = self->beneath;
132 return self->to_insert_hw_breakpoint (self, arg1, arg2);
133}
134
135static int
136tdefault_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
137{
138 return -1;
139}
140
418dabac
TT
141static int
142delegate_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
143{
144 self = self->beneath;
145 return self->to_remove_hw_breakpoint (self, arg1, arg2);
146}
147
148static int
149tdefault_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
150{
151 return -1;
152}
153
61dd109f
TT
154static int
155delegate_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
156{
157 self = self->beneath;
158 return self->to_remove_watchpoint (self, arg1, arg2, arg3, arg4);
159}
160
161static int
162tdefault_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
163{
164 return -1;
165}
166
016facd4
TT
167static int
168delegate_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
169{
170 self = self->beneath;
171 return self->to_insert_watchpoint (self, arg1, arg2, arg3, arg4);
172}
173
174static int
175tdefault_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
176{
177 return -1;
178}
179
6b84065d
TT
180static int
181delegate_stopped_by_watchpoint (struct target_ops *self)
182{
183 self = self->beneath;
184 return self->to_stopped_by_watchpoint (self);
185}
186
187static int
188tdefault_stopped_by_watchpoint (struct target_ops *self)
189{
190 return 0;
191}
192
193static int
194delegate_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
195{
196 self = self->beneath;
197 return self->to_stopped_data_address (self, arg1);
198}
199
200static int
201tdefault_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
202{
203 return 0;
204}
205
65f160a9
TT
206static int
207delegate_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
208{
209 self = self->beneath;
210 return self->to_watchpoint_addr_within_range (self, arg1, arg2, arg3);
211}
212
d03655e4
TT
213static int
214delegate_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2)
215{
216 self = self->beneath;
217 return self->to_region_ok_for_hw_watchpoint (self, arg1, arg2);
218}
219
77cdffe9
TT
220static int
221delegate_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
222{
223 self = self->beneath;
224 return self->to_can_accel_watchpoint_condition (self, arg1, arg2, arg3, arg4);
225}
226
227static int
228tdefault_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
229{
230 return 0;
231}
232
0343661d
TT
233static void
234delegate_terminal_init (struct target_ops *self)
235{
236 self = self->beneath;
237 self->to_terminal_init (self);
238}
239
240static void
241tdefault_terminal_init (struct target_ops *self)
242{
243}
244
ddeaacc9
TT
245static void
246delegate_terminal_inferior (struct target_ops *self)
247{
248 self = self->beneath;
249 self->to_terminal_inferior (self);
250}
251
252static void
253tdefault_terminal_inferior (struct target_ops *self)
254{
255}
256
74fcbef9
TT
257static void
258delegate_terminal_ours_for_output (struct target_ops *self)
259{
260 self = self->beneath;
261 self->to_terminal_ours_for_output (self);
262}
263
264static void
265tdefault_terminal_ours_for_output (struct target_ops *self)
266{
267}
268
e4a733f1
TT
269static void
270delegate_terminal_ours (struct target_ops *self)
271{
272 self = self->beneath;
273 self->to_terminal_ours (self);
274}
275
276static void
277tdefault_terminal_ours (struct target_ops *self)
278{
279}
280
c6ea8f79
TT
281static void
282delegate_terminal_save_ours (struct target_ops *self)
283{
284 self = self->beneath;
285 self->to_terminal_save_ours (self);
286}
287
288static void
289tdefault_terminal_save_ours (struct target_ops *self)
290{
291}
292
e19e919f
TT
293static void
294delegate_terminal_info (struct target_ops *self, const char *arg1, int arg2)
295{
296 self = self->beneath;
297 self->to_terminal_info (self, arg1, arg2);
298}
299
7634da87
TT
300static void
301delegate_load (struct target_ops *self, char *arg1, int arg2)
302{
303 self = self->beneath;
304 self->to_load (self, arg1, arg2);
305}
306
307static void
308tdefault_load (struct target_ops *self, char *arg1, int arg2)
309{
310 tcomplain ();
311}
312
340ba4bf
TT
313static void
314delegate_post_startup_inferior (struct target_ops *self, ptid_t arg1)
315{
316 self = self->beneath;
317 self->to_post_startup_inferior (self, arg1);
318}
319
320static void
321tdefault_post_startup_inferior (struct target_ops *self, ptid_t arg1)
322{
323}
324
5958ebeb
TT
325static int
326delegate_insert_fork_catchpoint (struct target_ops *self, int arg1)
327{
328 self = self->beneath;
329 return self->to_insert_fork_catchpoint (self, arg1);
330}
331
332static int
333tdefault_insert_fork_catchpoint (struct target_ops *self, int arg1)
334{
335 return 1;
336}
337
e1a21fb7
TT
338static int
339delegate_remove_fork_catchpoint (struct target_ops *self, int arg1)
340{
341 self = self->beneath;
342 return self->to_remove_fork_catchpoint (self, arg1);
343}
344
345static int
346tdefault_remove_fork_catchpoint (struct target_ops *self, int arg1)
347{
348 return 1;
349}
350
7e18a8dc
TT
351static int
352delegate_insert_vfork_catchpoint (struct target_ops *self, int arg1)
353{
354 self = self->beneath;
355 return self->to_insert_vfork_catchpoint (self, arg1);
356}
357
358static int
359tdefault_insert_vfork_catchpoint (struct target_ops *self, int arg1)
360{
361 return 1;
362}
363
95c3375e
TT
364static int
365delegate_remove_vfork_catchpoint (struct target_ops *self, int arg1)
366{
367 self = self->beneath;
368 return self->to_remove_vfork_catchpoint (self, arg1);
369}
370
371static int
372tdefault_remove_vfork_catchpoint (struct target_ops *self, int arg1)
373{
374 return 1;
375}
376
62f64d7a
TT
377static int
378delegate_insert_exec_catchpoint (struct target_ops *self, int arg1)
379{
380 self = self->beneath;
381 return self->to_insert_exec_catchpoint (self, arg1);
382}
383
384static int
385tdefault_insert_exec_catchpoint (struct target_ops *self, int arg1)
386{
387 return 1;
388}
389
cda0f38c
TT
390static int
391delegate_remove_exec_catchpoint (struct target_ops *self, int arg1)
392{
393 self = self->beneath;
394 return self->to_remove_exec_catchpoint (self, arg1);
395}
396
397static int
398tdefault_remove_exec_catchpoint (struct target_ops *self, int arg1)
399{
400 return 1;
401}
402
6a9fa051
TT
403static int
404delegate_set_syscall_catchpoint (struct target_ops *self, int arg1, int arg2, int arg3, int arg4, int *arg5)
405{
406 self = self->beneath;
407 return self->to_set_syscall_catchpoint (self, arg1, arg2, arg3, arg4, arg5);
408}
409
410static int
411tdefault_set_syscall_catchpoint (struct target_ops *self, int arg1, int arg2, int arg3, int arg4, int *arg5)
412{
413 return 1;
414}
415
0db88c1d
TT
416static int
417delegate_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
418{
419 self = self->beneath;
420 return self->to_has_exited (self, arg1, arg2, arg3);
421}
422
423static int
424tdefault_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
425{
426 return 0;
427}
428
4a7e6dda
TT
429static char *
430delegate_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
431{
432 self = self->beneath;
433 return self->to_extra_thread_info (self, arg1);
434}
435
436static char *
437tdefault_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
438{
439 return 0;
440}
441
825828fc
TT
442static char *
443delegate_thread_name (struct target_ops *self, struct thread_info *arg1)
444{
445 self = self->beneath;
446 return self->to_thread_name (self, arg1);
447}
448
449static char *
450tdefault_thread_name (struct target_ops *self, struct thread_info *arg1)
451{
452 return 0;
453}
454
a53f3625
TT
455static void
456delegate_rcmd (struct target_ops *self, char *arg1, struct ui_file *arg2)
457{
458 self = self->beneath;
459 self->to_rcmd (self, arg1, arg2);
460}
461
830ca330
TT
462static char *
463delegate_pid_to_exec_file (struct target_ops *self, int arg1)
464{
465 self = self->beneath;
466 return self->to_pid_to_exec_file (self, arg1);
467}
468
469static char *
470tdefault_pid_to_exec_file (struct target_ops *self, int arg1)
471{
472 return 0;
473}
474
d9cb0195
TT
475static void
476delegate_log_command (struct target_ops *self, const char *arg1)
477{
478 self = self->beneath;
479 self->to_log_command (self, arg1);
480}
481
482static void
483tdefault_log_command (struct target_ops *self, const char *arg1)
484{
485}
486
6b84065d
TT
487static int
488delegate_can_async_p (struct target_ops *self)
489{
490 self = self->beneath;
491 return self->to_can_async_p (self);
492}
493
494static int
495delegate_is_async_p (struct target_ops *self)
496{
497 self = self->beneath;
498 return self->to_is_async_p (self);
499}
500
501static void
502delegate_async (struct target_ops *self, async_callback_ftype *arg1, void *arg2)
503{
504 self = self->beneath;
505 self->to_async (self, arg1, arg2);
506}
507
508static void
509tdefault_async (struct target_ops *self, async_callback_ftype *arg1, void *arg2)
510{
511 tcomplain ();
512}
513
0b5a2719
TT
514static int
515delegate_find_memory_regions (struct target_ops *self, find_memory_region_ftype arg1, void *arg2)
516{
517 self = self->beneath;
518 return self->to_find_memory_regions (self, arg1, arg2);
519}
520
16f796b1
TT
521static char *
522delegate_make_corefile_notes (struct target_ops *self, bfd *arg1, int *arg2)
523{
524 self = self->beneath;
525 return self->to_make_corefile_notes (self, arg1, arg2);
526}
527
3dbafbbb
TT
528static gdb_byte *
529delegate_get_bookmark (struct target_ops *self, char *arg1, int arg2)
530{
531 self = self->beneath;
532 return self->to_get_bookmark (self, arg1, arg2);
533}
534
535static gdb_byte *
536tdefault_get_bookmark (struct target_ops *self, char *arg1, int arg2)
537{
538 tcomplain ();
539}
540
9bb9d61d
TT
541static void
542delegate_goto_bookmark (struct target_ops *self, gdb_byte *arg1, int arg2)
543{
544 self = self->beneath;
545 self->to_goto_bookmark (self, arg1, arg2);
546}
547
548static void
549tdefault_goto_bookmark (struct target_ops *self, gdb_byte *arg1, int arg2)
550{
551 tcomplain ();
552}
553
6b84065d
TT
554static enum target_xfer_status
555delegate_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)
556{
557 self = self->beneath;
558 return self->to_xfer_partial (self, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
559}
560
561static enum target_xfer_status
562tdefault_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)
563{
564 return TARGET_XFER_E_IO;
565}
566
4229b31d
TT
567static ptid_t
568delegate_get_ada_task_ptid (struct target_ops *self, long arg1, long arg2)
569{
570 self = self->beneath;
571 return self->to_get_ada_task_ptid (self, arg1, arg2);
572}
573
53e1cfc7
TT
574static int
575delegate_can_execute_reverse (struct target_ops *self)
576{
577 self = self->beneath;
578 return self->to_can_execute_reverse (self);
579}
580
581static int
582tdefault_can_execute_reverse (struct target_ops *self)
583{
584 return 0;
585}
586
fe31bf5b
TT
587static enum exec_direction_kind
588delegate_execution_direction (struct target_ops *self)
589{
590 self = self->beneath;
591 return self->to_execution_direction (self);
592}
593
a7304748
TT
594static int
595delegate_supports_multi_process (struct target_ops *self)
596{
597 self = self->beneath;
598 return self->to_supports_multi_process (self);
599}
600
601static int
602tdefault_supports_multi_process (struct target_ops *self)
603{
604 return 0;
605}
606
aab1b22d
TT
607static int
608delegate_supports_enable_disable_tracepoint (struct target_ops *self)
609{
610 self = self->beneath;
611 return self->to_supports_enable_disable_tracepoint (self);
612}
613
614static int
615tdefault_supports_enable_disable_tracepoint (struct target_ops *self)
616{
617 return 0;
618}
619
9409d39e
TT
620static int
621delegate_supports_string_tracing (struct target_ops *self)
622{
623 self = self->beneath;
624 return self->to_supports_string_tracing (self);
625}
626
627static int
628tdefault_supports_string_tracing (struct target_ops *self)
629{
630 return 0;
631}
632
43eba180
TT
633static struct gdbarch *
634delegate_thread_architecture (struct target_ops *self, ptid_t arg1)
635{
636 self = self->beneath;
637 return self->to_thread_architecture (self, arg1);
638}
639
5536135b
TT
640static void
641delegate_trace_init (struct target_ops *self)
642{
643 self = self->beneath;
644 self->to_trace_init (self);
645}
646
647static void
648tdefault_trace_init (struct target_ops *self)
649{
650 tcomplain ();
651}
652
9a980a22
TT
653static void
654delegate_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
655{
656 self = self->beneath;
657 self->to_download_tracepoint (self, arg1);
658}
659
660static void
661tdefault_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
662{
663 tcomplain ();
664}
665
719acc4a
TT
666static int
667delegate_can_download_tracepoint (struct target_ops *self)
668{
669 self = self->beneath;
670 return self->to_can_download_tracepoint (self);
671}
672
673static int
674tdefault_can_download_tracepoint (struct target_ops *self)
675{
676 return 0;
677}
678
94eb98b9
TT
679static void
680delegate_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
681{
682 self = self->beneath;
683 self->to_download_trace_state_variable (self, arg1);
684}
685
686static void
687tdefault_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
688{
689 tcomplain ();
690}
691
151f70f1
TT
692static void
693delegate_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
694{
695 self = self->beneath;
696 self->to_enable_tracepoint (self, arg1);
697}
698
699static void
700tdefault_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
701{
702 tcomplain ();
703}
704
05c41993
TT
705static void
706delegate_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
707{
708 self = self->beneath;
709 self->to_disable_tracepoint (self, arg1);
710}
711
712static void
713tdefault_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
714{
715 tcomplain ();
716}
717
86dd181d
TT
718static void
719delegate_trace_set_readonly_regions (struct target_ops *self)
720{
721 self = self->beneath;
722 self->to_trace_set_readonly_regions (self);
723}
724
725static void
726tdefault_trace_set_readonly_regions (struct target_ops *self)
727{
728 tcomplain ();
729}
730
25da2e80
TT
731static void
732delegate_trace_start (struct target_ops *self)
733{
734 self = self->beneath;
735 self->to_trace_start (self);
736}
737
738static void
739tdefault_trace_start (struct target_ops *self)
740{
741 tcomplain ();
742}
743
4072d4ff
TT
744static int
745delegate_get_trace_status (struct target_ops *self, struct trace_status *arg1)
746{
747 self = self->beneath;
748 return self->to_get_trace_status (self, arg1);
749}
750
751static int
752tdefault_get_trace_status (struct target_ops *self, struct trace_status *arg1)
753{
754 return -1;
755}
756
6fea14cd
TT
757static void
758delegate_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
759{
760 self = self->beneath;
761 self->to_get_tracepoint_status (self, arg1, arg2);
762}
763
764static void
765tdefault_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
766{
767 tcomplain ();
768}
769
e51c07ea
TT
770static void
771delegate_trace_stop (struct target_ops *self)
772{
773 self = self->beneath;
774 self->to_trace_stop (self);
775}
776
777static void
778tdefault_trace_stop (struct target_ops *self)
779{
780 tcomplain ();
781}
782
afc94e66
TT
783static int
784delegate_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
785{
786 self = self->beneath;
787 return self->to_trace_find (self, arg1, arg2, arg3, arg4, arg5);
788}
789
790static int
791tdefault_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
792{
793 return -1;
794}
795
959bcd0b
TT
796static int
797delegate_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
798{
799 self = self->beneath;
800 return self->to_get_trace_state_variable_value (self, arg1, arg2);
801}
802
803static int
804tdefault_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
805{
806 return 0;
807}
808
a2e6c147
TT
809static int
810delegate_save_trace_data (struct target_ops *self, const char *arg1)
811{
812 self = self->beneath;
813 return self->to_save_trace_data (self, arg1);
814}
815
816static int
817tdefault_save_trace_data (struct target_ops *self, const char *arg1)
818{
819 tcomplain ();
820}
821
1e949b00
TT
822static int
823delegate_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
824{
825 self = self->beneath;
826 return self->to_upload_tracepoints (self, arg1);
827}
828
829static int
830tdefault_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
831{
832 return 0;
833}
834
08120467
TT
835static int
836delegate_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
837{
838 self = self->beneath;
839 return self->to_upload_trace_state_variables (self, arg1);
840}
841
842static int
843tdefault_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
844{
845 return 0;
846}
847
ace92e7d
TT
848static LONGEST
849delegate_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
850{
851 self = self->beneath;
852 return self->to_get_raw_trace_data (self, arg1, arg2, arg3);
853}
854
855static LONGEST
856tdefault_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
857{
858 tcomplain ();
859}
860
9249843f
TT
861static int
862delegate_get_min_fast_tracepoint_insn_len (struct target_ops *self)
863{
864 self = self->beneath;
865 return self->to_get_min_fast_tracepoint_insn_len (self);
866}
867
868static int
869tdefault_get_min_fast_tracepoint_insn_len (struct target_ops *self)
870{
871 return -1;
872}
873
46917d26
TT
874static int
875delegate_supports_btrace (struct target_ops *self)
876{
877 self = self->beneath;
878 return self->to_supports_btrace (self);
879}
880
881static int
882tdefault_supports_btrace (struct target_ops *self)
883{
884 return 0;
885}
886
1101cb7b
TT
887static void
888install_delegators (struct target_ops *ops)
889{
e9a29200
TT
890 if (ops->to_attach == NULL)
891 ops->to_attach = delegate_attach;
bebd3233
TT
892 if (ops->to_post_attach == NULL)
893 ops->to_post_attach = delegate_post_attach;
09da0d0a
TT
894 if (ops->to_detach == NULL)
895 ops->to_detach = delegate_detach;
6b84065d
TT
896 if (ops->to_resume == NULL)
897 ops->to_resume = delegate_resume;
898 if (ops->to_wait == NULL)
899 ops->to_wait = delegate_wait;
900 if (ops->to_store_registers == NULL)
901 ops->to_store_registers = delegate_store_registers;
6c628163
TT
902 if (ops->to_prepare_to_store == NULL)
903 ops->to_prepare_to_store = delegate_prepare_to_store;
f86e59b2
TT
904 if (ops->to_files_info == NULL)
905 ops->to_files_info = delegate_files_info;
6b84065d
TT
906 if (ops->to_insert_breakpoint == NULL)
907 ops->to_insert_breakpoint = delegate_insert_breakpoint;
908 if (ops->to_remove_breakpoint == NULL)
909 ops->to_remove_breakpoint = delegate_remove_breakpoint;
52b51d06
TT
910 if (ops->to_can_use_hw_breakpoint == NULL)
911 ops->to_can_use_hw_breakpoint = delegate_can_use_hw_breakpoint;
61b371f9
TT
912 if (ops->to_insert_hw_breakpoint == NULL)
913 ops->to_insert_hw_breakpoint = delegate_insert_hw_breakpoint;
418dabac
TT
914 if (ops->to_remove_hw_breakpoint == NULL)
915 ops->to_remove_hw_breakpoint = delegate_remove_hw_breakpoint;
61dd109f
TT
916 if (ops->to_remove_watchpoint == NULL)
917 ops->to_remove_watchpoint = delegate_remove_watchpoint;
016facd4
TT
918 if (ops->to_insert_watchpoint == NULL)
919 ops->to_insert_watchpoint = delegate_insert_watchpoint;
6b84065d
TT
920 if (ops->to_stopped_by_watchpoint == NULL)
921 ops->to_stopped_by_watchpoint = delegate_stopped_by_watchpoint;
922 if (ops->to_stopped_data_address == NULL)
923 ops->to_stopped_data_address = delegate_stopped_data_address;
65f160a9
TT
924 if (ops->to_watchpoint_addr_within_range == NULL)
925 ops->to_watchpoint_addr_within_range = delegate_watchpoint_addr_within_range;
d03655e4
TT
926 if (ops->to_region_ok_for_hw_watchpoint == NULL)
927 ops->to_region_ok_for_hw_watchpoint = delegate_region_ok_for_hw_watchpoint;
77cdffe9
TT
928 if (ops->to_can_accel_watchpoint_condition == NULL)
929 ops->to_can_accel_watchpoint_condition = delegate_can_accel_watchpoint_condition;
0343661d
TT
930 if (ops->to_terminal_init == NULL)
931 ops->to_terminal_init = delegate_terminal_init;
ddeaacc9
TT
932 if (ops->to_terminal_inferior == NULL)
933 ops->to_terminal_inferior = delegate_terminal_inferior;
74fcbef9
TT
934 if (ops->to_terminal_ours_for_output == NULL)
935 ops->to_terminal_ours_for_output = delegate_terminal_ours_for_output;
e4a733f1
TT
936 if (ops->to_terminal_ours == NULL)
937 ops->to_terminal_ours = delegate_terminal_ours;
c6ea8f79
TT
938 if (ops->to_terminal_save_ours == NULL)
939 ops->to_terminal_save_ours = delegate_terminal_save_ours;
e19e919f
TT
940 if (ops->to_terminal_info == NULL)
941 ops->to_terminal_info = delegate_terminal_info;
7634da87
TT
942 if (ops->to_load == NULL)
943 ops->to_load = delegate_load;
340ba4bf
TT
944 if (ops->to_post_startup_inferior == NULL)
945 ops->to_post_startup_inferior = delegate_post_startup_inferior;
5958ebeb
TT
946 if (ops->to_insert_fork_catchpoint == NULL)
947 ops->to_insert_fork_catchpoint = delegate_insert_fork_catchpoint;
e1a21fb7
TT
948 if (ops->to_remove_fork_catchpoint == NULL)
949 ops->to_remove_fork_catchpoint = delegate_remove_fork_catchpoint;
7e18a8dc
TT
950 if (ops->to_insert_vfork_catchpoint == NULL)
951 ops->to_insert_vfork_catchpoint = delegate_insert_vfork_catchpoint;
95c3375e
TT
952 if (ops->to_remove_vfork_catchpoint == NULL)
953 ops->to_remove_vfork_catchpoint = delegate_remove_vfork_catchpoint;
62f64d7a
TT
954 if (ops->to_insert_exec_catchpoint == NULL)
955 ops->to_insert_exec_catchpoint = delegate_insert_exec_catchpoint;
cda0f38c
TT
956 if (ops->to_remove_exec_catchpoint == NULL)
957 ops->to_remove_exec_catchpoint = delegate_remove_exec_catchpoint;
6a9fa051
TT
958 if (ops->to_set_syscall_catchpoint == NULL)
959 ops->to_set_syscall_catchpoint = delegate_set_syscall_catchpoint;
0db88c1d
TT
960 if (ops->to_has_exited == NULL)
961 ops->to_has_exited = delegate_has_exited;
4a7e6dda
TT
962 if (ops->to_extra_thread_info == NULL)
963 ops->to_extra_thread_info = delegate_extra_thread_info;
825828fc
TT
964 if (ops->to_thread_name == NULL)
965 ops->to_thread_name = delegate_thread_name;
a53f3625
TT
966 if (ops->to_rcmd == NULL)
967 ops->to_rcmd = delegate_rcmd;
830ca330
TT
968 if (ops->to_pid_to_exec_file == NULL)
969 ops->to_pid_to_exec_file = delegate_pid_to_exec_file;
d9cb0195
TT
970 if (ops->to_log_command == NULL)
971 ops->to_log_command = delegate_log_command;
6b84065d
TT
972 if (ops->to_can_async_p == NULL)
973 ops->to_can_async_p = delegate_can_async_p;
974 if (ops->to_is_async_p == NULL)
975 ops->to_is_async_p = delegate_is_async_p;
976 if (ops->to_async == NULL)
977 ops->to_async = delegate_async;
0b5a2719
TT
978 if (ops->to_find_memory_regions == NULL)
979 ops->to_find_memory_regions = delegate_find_memory_regions;
16f796b1
TT
980 if (ops->to_make_corefile_notes == NULL)
981 ops->to_make_corefile_notes = delegate_make_corefile_notes;
3dbafbbb
TT
982 if (ops->to_get_bookmark == NULL)
983 ops->to_get_bookmark = delegate_get_bookmark;
9bb9d61d
TT
984 if (ops->to_goto_bookmark == NULL)
985 ops->to_goto_bookmark = delegate_goto_bookmark;
6b84065d
TT
986 if (ops->to_xfer_partial == NULL)
987 ops->to_xfer_partial = delegate_xfer_partial;
4229b31d
TT
988 if (ops->to_get_ada_task_ptid == NULL)
989 ops->to_get_ada_task_ptid = delegate_get_ada_task_ptid;
53e1cfc7
TT
990 if (ops->to_can_execute_reverse == NULL)
991 ops->to_can_execute_reverse = delegate_can_execute_reverse;
fe31bf5b
TT
992 if (ops->to_execution_direction == NULL)
993 ops->to_execution_direction = delegate_execution_direction;
a7304748
TT
994 if (ops->to_supports_multi_process == NULL)
995 ops->to_supports_multi_process = delegate_supports_multi_process;
aab1b22d
TT
996 if (ops->to_supports_enable_disable_tracepoint == NULL)
997 ops->to_supports_enable_disable_tracepoint = delegate_supports_enable_disable_tracepoint;
9409d39e
TT
998 if (ops->to_supports_string_tracing == NULL)
999 ops->to_supports_string_tracing = delegate_supports_string_tracing;
43eba180
TT
1000 if (ops->to_thread_architecture == NULL)
1001 ops->to_thread_architecture = delegate_thread_architecture;
5536135b
TT
1002 if (ops->to_trace_init == NULL)
1003 ops->to_trace_init = delegate_trace_init;
9a980a22
TT
1004 if (ops->to_download_tracepoint == NULL)
1005 ops->to_download_tracepoint = delegate_download_tracepoint;
719acc4a
TT
1006 if (ops->to_can_download_tracepoint == NULL)
1007 ops->to_can_download_tracepoint = delegate_can_download_tracepoint;
94eb98b9
TT
1008 if (ops->to_download_trace_state_variable == NULL)
1009 ops->to_download_trace_state_variable = delegate_download_trace_state_variable;
151f70f1
TT
1010 if (ops->to_enable_tracepoint == NULL)
1011 ops->to_enable_tracepoint = delegate_enable_tracepoint;
05c41993
TT
1012 if (ops->to_disable_tracepoint == NULL)
1013 ops->to_disable_tracepoint = delegate_disable_tracepoint;
86dd181d
TT
1014 if (ops->to_trace_set_readonly_regions == NULL)
1015 ops->to_trace_set_readonly_regions = delegate_trace_set_readonly_regions;
25da2e80
TT
1016 if (ops->to_trace_start == NULL)
1017 ops->to_trace_start = delegate_trace_start;
4072d4ff
TT
1018 if (ops->to_get_trace_status == NULL)
1019 ops->to_get_trace_status = delegate_get_trace_status;
6fea14cd
TT
1020 if (ops->to_get_tracepoint_status == NULL)
1021 ops->to_get_tracepoint_status = delegate_get_tracepoint_status;
e51c07ea
TT
1022 if (ops->to_trace_stop == NULL)
1023 ops->to_trace_stop = delegate_trace_stop;
afc94e66
TT
1024 if (ops->to_trace_find == NULL)
1025 ops->to_trace_find = delegate_trace_find;
959bcd0b
TT
1026 if (ops->to_get_trace_state_variable_value == NULL)
1027 ops->to_get_trace_state_variable_value = delegate_get_trace_state_variable_value;
a2e6c147
TT
1028 if (ops->to_save_trace_data == NULL)
1029 ops->to_save_trace_data = delegate_save_trace_data;
1e949b00
TT
1030 if (ops->to_upload_tracepoints == NULL)
1031 ops->to_upload_tracepoints = delegate_upload_tracepoints;
08120467
TT
1032 if (ops->to_upload_trace_state_variables == NULL)
1033 ops->to_upload_trace_state_variables = delegate_upload_trace_state_variables;
ace92e7d
TT
1034 if (ops->to_get_raw_trace_data == NULL)
1035 ops->to_get_raw_trace_data = delegate_get_raw_trace_data;
9249843f
TT
1036 if (ops->to_get_min_fast_tracepoint_insn_len == NULL)
1037 ops->to_get_min_fast_tracepoint_insn_len = delegate_get_min_fast_tracepoint_insn_len;
46917d26
TT
1038 if (ops->to_supports_btrace == NULL)
1039 ops->to_supports_btrace = delegate_supports_btrace;
1101cb7b
TT
1040}
1041
1042static void
1043install_dummy_methods (struct target_ops *ops)
1044{
e9a29200 1045 ops->to_attach = find_default_attach;
bebd3233 1046 ops->to_post_attach = tdefault_post_attach;
09da0d0a 1047 ops->to_detach = tdefault_detach;
6b84065d
TT
1048 ops->to_resume = tdefault_resume;
1049 ops->to_wait = tdefault_wait;
1050 ops->to_store_registers = tdefault_store_registers;
6c628163 1051 ops->to_prepare_to_store = tdefault_prepare_to_store;
f86e59b2 1052 ops->to_files_info = tdefault_files_info;
6b84065d
TT
1053 ops->to_insert_breakpoint = memory_insert_breakpoint;
1054 ops->to_remove_breakpoint = memory_remove_breakpoint;
52b51d06 1055 ops->to_can_use_hw_breakpoint = tdefault_can_use_hw_breakpoint;
61b371f9 1056 ops->to_insert_hw_breakpoint = tdefault_insert_hw_breakpoint;
418dabac 1057 ops->to_remove_hw_breakpoint = tdefault_remove_hw_breakpoint;
61dd109f 1058 ops->to_remove_watchpoint = tdefault_remove_watchpoint;
016facd4 1059 ops->to_insert_watchpoint = tdefault_insert_watchpoint;
6b84065d
TT
1060 ops->to_stopped_by_watchpoint = tdefault_stopped_by_watchpoint;
1061 ops->to_stopped_data_address = tdefault_stopped_data_address;
65f160a9 1062 ops->to_watchpoint_addr_within_range = default_watchpoint_addr_within_range;
d03655e4 1063 ops->to_region_ok_for_hw_watchpoint = default_region_ok_for_hw_watchpoint;
77cdffe9 1064 ops->to_can_accel_watchpoint_condition = tdefault_can_accel_watchpoint_condition;
0343661d 1065 ops->to_terminal_init = tdefault_terminal_init;
ddeaacc9 1066 ops->to_terminal_inferior = tdefault_terminal_inferior;
74fcbef9 1067 ops->to_terminal_ours_for_output = tdefault_terminal_ours_for_output;
e4a733f1 1068 ops->to_terminal_ours = tdefault_terminal_ours;
c6ea8f79 1069 ops->to_terminal_save_ours = tdefault_terminal_save_ours;
e19e919f 1070 ops->to_terminal_info = default_terminal_info;
7634da87 1071 ops->to_load = tdefault_load;
340ba4bf 1072 ops->to_post_startup_inferior = tdefault_post_startup_inferior;
5958ebeb 1073 ops->to_insert_fork_catchpoint = tdefault_insert_fork_catchpoint;
e1a21fb7 1074 ops->to_remove_fork_catchpoint = tdefault_remove_fork_catchpoint;
7e18a8dc 1075 ops->to_insert_vfork_catchpoint = tdefault_insert_vfork_catchpoint;
95c3375e 1076 ops->to_remove_vfork_catchpoint = tdefault_remove_vfork_catchpoint;
62f64d7a 1077 ops->to_insert_exec_catchpoint = tdefault_insert_exec_catchpoint;
cda0f38c 1078 ops->to_remove_exec_catchpoint = tdefault_remove_exec_catchpoint;
6a9fa051 1079 ops->to_set_syscall_catchpoint = tdefault_set_syscall_catchpoint;
0db88c1d 1080 ops->to_has_exited = tdefault_has_exited;
4a7e6dda 1081 ops->to_extra_thread_info = tdefault_extra_thread_info;
825828fc 1082 ops->to_thread_name = tdefault_thread_name;
a53f3625 1083 ops->to_rcmd = default_rcmd;
830ca330 1084 ops->to_pid_to_exec_file = tdefault_pid_to_exec_file;
d9cb0195 1085 ops->to_log_command = tdefault_log_command;
6b84065d
TT
1086 ops->to_can_async_p = find_default_can_async_p;
1087 ops->to_is_async_p = find_default_is_async_p;
1088 ops->to_async = tdefault_async;
0b5a2719 1089 ops->to_find_memory_regions = dummy_find_memory_regions;
16f796b1 1090 ops->to_make_corefile_notes = dummy_make_corefile_notes;
3dbafbbb 1091 ops->to_get_bookmark = tdefault_get_bookmark;
9bb9d61d 1092 ops->to_goto_bookmark = tdefault_goto_bookmark;
6b84065d 1093 ops->to_xfer_partial = tdefault_xfer_partial;
4229b31d 1094 ops->to_get_ada_task_ptid = default_get_ada_task_ptid;
53e1cfc7 1095 ops->to_can_execute_reverse = tdefault_can_execute_reverse;
fe31bf5b 1096 ops->to_execution_direction = default_execution_direction;
a7304748 1097 ops->to_supports_multi_process = tdefault_supports_multi_process;
aab1b22d 1098 ops->to_supports_enable_disable_tracepoint = tdefault_supports_enable_disable_tracepoint;
9409d39e 1099 ops->to_supports_string_tracing = tdefault_supports_string_tracing;
43eba180 1100 ops->to_thread_architecture = default_thread_architecture;
5536135b 1101 ops->to_trace_init = tdefault_trace_init;
9a980a22 1102 ops->to_download_tracepoint = tdefault_download_tracepoint;
719acc4a 1103 ops->to_can_download_tracepoint = tdefault_can_download_tracepoint;
94eb98b9 1104 ops->to_download_trace_state_variable = tdefault_download_trace_state_variable;
151f70f1 1105 ops->to_enable_tracepoint = tdefault_enable_tracepoint;
05c41993 1106 ops->to_disable_tracepoint = tdefault_disable_tracepoint;
86dd181d 1107 ops->to_trace_set_readonly_regions = tdefault_trace_set_readonly_regions;
25da2e80 1108 ops->to_trace_start = tdefault_trace_start;
4072d4ff 1109 ops->to_get_trace_status = tdefault_get_trace_status;
6fea14cd 1110 ops->to_get_tracepoint_status = tdefault_get_tracepoint_status;
e51c07ea 1111 ops->to_trace_stop = tdefault_trace_stop;
afc94e66 1112 ops->to_trace_find = tdefault_trace_find;
959bcd0b 1113 ops->to_get_trace_state_variable_value = tdefault_get_trace_state_variable_value;
a2e6c147 1114 ops->to_save_trace_data = tdefault_save_trace_data;
1e949b00 1115 ops->to_upload_tracepoints = tdefault_upload_tracepoints;
08120467 1116 ops->to_upload_trace_state_variables = tdefault_upload_trace_state_variables;
ace92e7d 1117 ops->to_get_raw_trace_data = tdefault_get_raw_trace_data;
9249843f 1118 ops->to_get_min_fast_tracepoint_insn_len = tdefault_get_min_fast_tracepoint_insn_len;
46917d26 1119 ops->to_supports_btrace = tdefault_supports_btrace;
1101cb7b 1120}