gdb/target-delegates.c - gdb

Functions defined

Source code

  1. /* THIS FILE IS GENERATED -*- buffer-read-only: t -*- */
  2. /* vi:set ro: */

  3. /* To regenerate this file, run:*/
  4. /*      make-target-delegates target.h > target-delegates.c */
  5. static void
  6. delegate_post_attach (struct target_ops *self, int arg1)
  7. {
  8.   self = self->beneath;
  9.   self->to_post_attach (self, arg1);
  10. }

  11. static void
  12. tdefault_post_attach (struct target_ops *self, int arg1)
  13. {
  14. }

  15. static void
  16. debug_post_attach (struct target_ops *self, int arg1)
  17. {
  18.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_post_attach (...)\n", debug_target.to_shortname);
  19.   debug_target.to_post_attach (&debug_target, arg1);
  20.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_post_attach (", debug_target.to_shortname);
  21.   target_debug_print_struct_target_ops_p (&debug_target);
  22.   fputs_unfiltered (", ", gdb_stdlog);
  23.   target_debug_print_int (arg1);
  24.   fputs_unfiltered (")\n", gdb_stdlog);
  25. }

  26. static void
  27. delegate_detach (struct target_ops *self, const char *arg1, int arg2)
  28. {
  29.   self = self->beneath;
  30.   self->to_detach (self, arg1, arg2);
  31. }

  32. static void
  33. tdefault_detach (struct target_ops *self, const char *arg1, int arg2)
  34. {
  35. }

  36. static void
  37. debug_detach (struct target_ops *self, const char *arg1, int arg2)
  38. {
  39.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_detach (...)\n", debug_target.to_shortname);
  40.   debug_target.to_detach (&debug_target, arg1, arg2);
  41.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_detach (", debug_target.to_shortname);
  42.   target_debug_print_struct_target_ops_p (&debug_target);
  43.   fputs_unfiltered (", ", gdb_stdlog);
  44.   target_debug_print_const_char_p (arg1);
  45.   fputs_unfiltered (", ", gdb_stdlog);
  46.   target_debug_print_int (arg2);
  47.   fputs_unfiltered (")\n", gdb_stdlog);
  48. }

  49. static void
  50. delegate_disconnect (struct target_ops *self, const char *arg1, int arg2)
  51. {
  52.   self = self->beneath;
  53.   self->to_disconnect (self, arg1, arg2);
  54. }

  55. static void
  56. tdefault_disconnect (struct target_ops *self, const char *arg1, int arg2)
  57. {
  58.   tcomplain ();
  59. }

  60. static void
  61. debug_disconnect (struct target_ops *self, const char *arg1, int arg2)
  62. {
  63.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_disconnect (...)\n", debug_target.to_shortname);
  64.   debug_target.to_disconnect (&debug_target, arg1, arg2);
  65.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_disconnect (", debug_target.to_shortname);
  66.   target_debug_print_struct_target_ops_p (&debug_target);
  67.   fputs_unfiltered (", ", gdb_stdlog);
  68.   target_debug_print_const_char_p (arg1);
  69.   fputs_unfiltered (", ", gdb_stdlog);
  70.   target_debug_print_int (arg2);
  71.   fputs_unfiltered (")\n", gdb_stdlog);
  72. }

  73. static void
  74. delegate_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
  75. {
  76.   self = self->beneath;
  77.   self->to_resume (self, arg1, arg2, arg3);
  78. }

  79. static void
  80. tdefault_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
  81. {
  82.   noprocess ();
  83. }

  84. static void
  85. debug_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
  86. {
  87.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_resume (...)\n", debug_target.to_shortname);
  88.   debug_target.to_resume (&debug_target, arg1, arg2, arg3);
  89.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_resume (", debug_target.to_shortname);
  90.   target_debug_print_struct_target_ops_p (&debug_target);
  91.   fputs_unfiltered (", ", gdb_stdlog);
  92.   target_debug_print_ptid_t (arg1);
  93.   fputs_unfiltered (", ", gdb_stdlog);
  94.   target_debug_print_step (arg2);
  95.   fputs_unfiltered (", ", gdb_stdlog);
  96.   target_debug_print_enum_gdb_signal (arg3);
  97.   fputs_unfiltered (")\n", gdb_stdlog);
  98. }

  99. static ptid_t
  100. delegate_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
  101. {
  102.   self = self->beneath;
  103.   return self->to_wait (self, arg1, arg2, arg3);
  104. }

  105. static ptid_t
  106. tdefault_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
  107. {
  108.   noprocess ();
  109. }

  110. static ptid_t
  111. debug_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
  112. {
  113.   ptid_t result;
  114.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_wait (...)\n", debug_target.to_shortname);
  115.   result = debug_target.to_wait (&debug_target, arg1, arg2, arg3);
  116.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_wait (", debug_target.to_shortname);
  117.   target_debug_print_struct_target_ops_p (&debug_target);
  118.   fputs_unfiltered (", ", gdb_stdlog);
  119.   target_debug_print_ptid_t (arg1);
  120.   fputs_unfiltered (", ", gdb_stdlog);
  121.   target_debug_print_struct_target_waitstatus_p (arg2);
  122.   fputs_unfiltered (", ", gdb_stdlog);
  123.   target_debug_print_options (arg3);
  124.   fputs_unfiltered (") = ", gdb_stdlog);
  125.   target_debug_print_ptid_t (result);
  126.   fputs_unfiltered ("\n", gdb_stdlog);
  127.   return result;
  128. }

  129. static void
  130. delegate_fetch_registers (struct target_ops *self, struct regcache *arg1, int arg2)
  131. {
  132.   self = self->beneath;
  133.   self->to_fetch_registers (self, arg1, arg2);
  134. }

  135. static void
  136. tdefault_fetch_registers (struct target_ops *self, struct regcache *arg1, int arg2)
  137. {
  138. }

  139. static void
  140. debug_fetch_registers (struct target_ops *self, struct regcache *arg1, int arg2)
  141. {
  142.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_fetch_registers (...)\n", debug_target.to_shortname);
  143.   debug_target.to_fetch_registers (&debug_target, arg1, arg2);
  144.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_fetch_registers (", debug_target.to_shortname);
  145.   target_debug_print_struct_target_ops_p (&debug_target);
  146.   fputs_unfiltered (", ", gdb_stdlog);
  147.   target_debug_print_struct_regcache_p (arg1);
  148.   fputs_unfiltered (", ", gdb_stdlog);
  149.   target_debug_print_int (arg2);
  150.   fputs_unfiltered (")\n", gdb_stdlog);
  151. }

  152. static void
  153. delegate_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
  154. {
  155.   self = self->beneath;
  156.   self->to_store_registers (self, arg1, arg2);
  157. }

  158. static void
  159. tdefault_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
  160. {
  161.   noprocess ();
  162. }

  163. static void
  164. debug_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
  165. {
  166.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_store_registers (...)\n", debug_target.to_shortname);
  167.   debug_target.to_store_registers (&debug_target, arg1, arg2);
  168.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_store_registers (", debug_target.to_shortname);
  169.   target_debug_print_struct_target_ops_p (&debug_target);
  170.   fputs_unfiltered (", ", gdb_stdlog);
  171.   target_debug_print_struct_regcache_p (arg1);
  172.   fputs_unfiltered (", ", gdb_stdlog);
  173.   target_debug_print_int (arg2);
  174.   fputs_unfiltered (")\n", gdb_stdlog);
  175. }

  176. static void
  177. delegate_prepare_to_store (struct target_ops *self, struct regcache *arg1)
  178. {
  179.   self = self->beneath;
  180.   self->to_prepare_to_store (self, arg1);
  181. }

  182. static void
  183. tdefault_prepare_to_store (struct target_ops *self, struct regcache *arg1)
  184. {
  185.   noprocess ();
  186. }

  187. static void
  188. debug_prepare_to_store (struct target_ops *self, struct regcache *arg1)
  189. {
  190.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_prepare_to_store (...)\n", debug_target.to_shortname);
  191.   debug_target.to_prepare_to_store (&debug_target, arg1);
  192.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_prepare_to_store (", debug_target.to_shortname);
  193.   target_debug_print_struct_target_ops_p (&debug_target);
  194.   fputs_unfiltered (", ", gdb_stdlog);
  195.   target_debug_print_struct_regcache_p (arg1);
  196.   fputs_unfiltered (")\n", gdb_stdlog);
  197. }

  198. static void
  199. delegate_files_info (struct target_ops *self)
  200. {
  201.   self = self->beneath;
  202.   self->to_files_info (self);
  203. }

  204. static void
  205. tdefault_files_info (struct target_ops *self)
  206. {
  207. }

  208. static void
  209. debug_files_info (struct target_ops *self)
  210. {
  211.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_files_info (...)\n", debug_target.to_shortname);
  212.   debug_target.to_files_info (&debug_target);
  213.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_files_info (", debug_target.to_shortname);
  214.   target_debug_print_struct_target_ops_p (&debug_target);
  215.   fputs_unfiltered (")\n", gdb_stdlog);
  216. }

  217. static int
  218. delegate_insert_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
  219. {
  220.   self = self->beneath;
  221.   return self->to_insert_breakpoint (self, arg1, arg2);
  222. }

  223. static int
  224. debug_insert_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
  225. {
  226.   int result;
  227.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_breakpoint (...)\n", debug_target.to_shortname);
  228.   result = debug_target.to_insert_breakpoint (&debug_target, arg1, arg2);
  229.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_breakpoint (", debug_target.to_shortname);
  230.   target_debug_print_struct_target_ops_p (&debug_target);
  231.   fputs_unfiltered (", ", gdb_stdlog);
  232.   target_debug_print_struct_gdbarch_p (arg1);
  233.   fputs_unfiltered (", ", gdb_stdlog);
  234.   target_debug_print_struct_bp_target_info_p (arg2);
  235.   fputs_unfiltered (") = ", gdb_stdlog);
  236.   target_debug_print_int (result);
  237.   fputs_unfiltered ("\n", gdb_stdlog);
  238.   return result;
  239. }

  240. static int
  241. delegate_remove_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
  242. {
  243.   self = self->beneath;
  244.   return self->to_remove_breakpoint (self, arg1, arg2);
  245. }

  246. static int
  247. debug_remove_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
  248. {
  249.   int result;
  250.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_breakpoint (...)\n", debug_target.to_shortname);
  251.   result = debug_target.to_remove_breakpoint (&debug_target, arg1, arg2);
  252.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_breakpoint (", debug_target.to_shortname);
  253.   target_debug_print_struct_target_ops_p (&debug_target);
  254.   fputs_unfiltered (", ", gdb_stdlog);
  255.   target_debug_print_struct_gdbarch_p (arg1);
  256.   fputs_unfiltered (", ", gdb_stdlog);
  257.   target_debug_print_struct_bp_target_info_p (arg2);
  258.   fputs_unfiltered (") = ", gdb_stdlog);
  259.   target_debug_print_int (result);
  260.   fputs_unfiltered ("\n", gdb_stdlog);
  261.   return result;
  262. }

  263. static int
  264. delegate_can_use_hw_breakpoint (struct target_ops *self, int arg1, int arg2, int arg3)
  265. {
  266.   self = self->beneath;
  267.   return self->to_can_use_hw_breakpoint (self, arg1, arg2, arg3);
  268. }

  269. static int
  270. tdefault_can_use_hw_breakpoint (struct target_ops *self, int arg1, int arg2, int arg3)
  271. {
  272.   return 0;
  273. }

  274. static int
  275. debug_can_use_hw_breakpoint (struct target_ops *self, int arg1, int arg2, int arg3)
  276. {
  277.   int result;
  278.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_use_hw_breakpoint (...)\n", debug_target.to_shortname);
  279.   result = debug_target.to_can_use_hw_breakpoint (&debug_target, arg1, arg2, arg3);
  280.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_use_hw_breakpoint (", debug_target.to_shortname);
  281.   target_debug_print_struct_target_ops_p (&debug_target);
  282.   fputs_unfiltered (", ", gdb_stdlog);
  283.   target_debug_print_int (arg1);
  284.   fputs_unfiltered (", ", gdb_stdlog);
  285.   target_debug_print_int (arg2);
  286.   fputs_unfiltered (", ", gdb_stdlog);
  287.   target_debug_print_int (arg3);
  288.   fputs_unfiltered (") = ", gdb_stdlog);
  289.   target_debug_print_int (result);
  290.   fputs_unfiltered ("\n", gdb_stdlog);
  291.   return result;
  292. }

  293. static int
  294. delegate_ranged_break_num_registers (struct target_ops *self)
  295. {
  296.   self = self->beneath;
  297.   return self->to_ranged_break_num_registers (self);
  298. }

  299. static int
  300. tdefault_ranged_break_num_registers (struct target_ops *self)
  301. {
  302.   return -1;
  303. }

  304. static int
  305. debug_ranged_break_num_registers (struct target_ops *self)
  306. {
  307.   int result;
  308.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_ranged_break_num_registers (...)\n", debug_target.to_shortname);
  309.   result = debug_target.to_ranged_break_num_registers (&debug_target);
  310.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_ranged_break_num_registers (", debug_target.to_shortname);
  311.   target_debug_print_struct_target_ops_p (&debug_target);
  312.   fputs_unfiltered (") = ", gdb_stdlog);
  313.   target_debug_print_int (result);
  314.   fputs_unfiltered ("\n", gdb_stdlog);
  315.   return result;
  316. }

  317. static int
  318. delegate_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
  319. {
  320.   self = self->beneath;
  321.   return self->to_insert_hw_breakpoint (self, arg1, arg2);
  322. }

  323. static int
  324. tdefault_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
  325. {
  326.   return -1;
  327. }

  328. static int
  329. debug_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
  330. {
  331.   int result;
  332.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_hw_breakpoint (...)\n", debug_target.to_shortname);
  333.   result = debug_target.to_insert_hw_breakpoint (&debug_target, arg1, arg2);
  334.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_hw_breakpoint (", debug_target.to_shortname);
  335.   target_debug_print_struct_target_ops_p (&debug_target);
  336.   fputs_unfiltered (", ", gdb_stdlog);
  337.   target_debug_print_struct_gdbarch_p (arg1);
  338.   fputs_unfiltered (", ", gdb_stdlog);
  339.   target_debug_print_struct_bp_target_info_p (arg2);
  340.   fputs_unfiltered (") = ", gdb_stdlog);
  341.   target_debug_print_int (result);
  342.   fputs_unfiltered ("\n", gdb_stdlog);
  343.   return result;
  344. }

  345. static int
  346. delegate_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
  347. {
  348.   self = self->beneath;
  349.   return self->to_remove_hw_breakpoint (self, arg1, arg2);
  350. }

  351. static int
  352. tdefault_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
  353. {
  354.   return -1;
  355. }

  356. static int
  357. debug_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
  358. {
  359.   int result;
  360.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_hw_breakpoint (...)\n", debug_target.to_shortname);
  361.   result = debug_target.to_remove_hw_breakpoint (&debug_target, arg1, arg2);
  362.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_hw_breakpoint (", debug_target.to_shortname);
  363.   target_debug_print_struct_target_ops_p (&debug_target);
  364.   fputs_unfiltered (", ", gdb_stdlog);
  365.   target_debug_print_struct_gdbarch_p (arg1);
  366.   fputs_unfiltered (", ", gdb_stdlog);
  367.   target_debug_print_struct_bp_target_info_p (arg2);
  368.   fputs_unfiltered (") = ", gdb_stdlog);
  369.   target_debug_print_int (result);
  370.   fputs_unfiltered ("\n", gdb_stdlog);
  371.   return result;
  372. }

  373. static int
  374. delegate_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
  375. {
  376.   self = self->beneath;
  377.   return self->to_remove_watchpoint (self, arg1, arg2, arg3, arg4);
  378. }

  379. static int
  380. tdefault_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
  381. {
  382.   return -1;
  383. }

  384. static int
  385. debug_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
  386. {
  387.   int result;
  388.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_watchpoint (...)\n", debug_target.to_shortname);
  389.   result = debug_target.to_remove_watchpoint (&debug_target, arg1, arg2, arg3, arg4);
  390.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_watchpoint (", debug_target.to_shortname);
  391.   target_debug_print_struct_target_ops_p (&debug_target);
  392.   fputs_unfiltered (", ", gdb_stdlog);
  393.   target_debug_print_CORE_ADDR (arg1);
  394.   fputs_unfiltered (", ", gdb_stdlog);
  395.   target_debug_print_int (arg2);
  396.   fputs_unfiltered (", ", gdb_stdlog);
  397.   target_debug_print_int (arg3);
  398.   fputs_unfiltered (", ", gdb_stdlog);
  399.   target_debug_print_struct_expression_p (arg4);
  400.   fputs_unfiltered (") = ", gdb_stdlog);
  401.   target_debug_print_int (result);
  402.   fputs_unfiltered ("\n", gdb_stdlog);
  403.   return result;
  404. }

  405. static int
  406. delegate_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
  407. {
  408.   self = self->beneath;
  409.   return self->to_insert_watchpoint (self, arg1, arg2, arg3, arg4);
  410. }

  411. static int
  412. tdefault_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
  413. {
  414.   return -1;
  415. }

  416. static int
  417. debug_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
  418. {
  419.   int result;
  420.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_watchpoint (...)\n", debug_target.to_shortname);
  421.   result = debug_target.to_insert_watchpoint (&debug_target, arg1, arg2, arg3, arg4);
  422.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_watchpoint (", debug_target.to_shortname);
  423.   target_debug_print_struct_target_ops_p (&debug_target);
  424.   fputs_unfiltered (", ", gdb_stdlog);
  425.   target_debug_print_CORE_ADDR (arg1);
  426.   fputs_unfiltered (", ", gdb_stdlog);
  427.   target_debug_print_int (arg2);
  428.   fputs_unfiltered (", ", gdb_stdlog);
  429.   target_debug_print_int (arg3);
  430.   fputs_unfiltered (", ", gdb_stdlog);
  431.   target_debug_print_struct_expression_p (arg4);
  432.   fputs_unfiltered (") = ", gdb_stdlog);
  433.   target_debug_print_int (result);
  434.   fputs_unfiltered ("\n", gdb_stdlog);
  435.   return result;
  436. }

  437. static int
  438. delegate_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
  439. {
  440.   self = self->beneath;
  441.   return self->to_insert_mask_watchpoint (self, arg1, arg2, arg3);
  442. }

  443. static int
  444. tdefault_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
  445. {
  446.   return 1;
  447. }

  448. static int
  449. debug_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
  450. {
  451.   int result;
  452.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_mask_watchpoint (...)\n", debug_target.to_shortname);
  453.   result = debug_target.to_insert_mask_watchpoint (&debug_target, arg1, arg2, arg3);
  454.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_mask_watchpoint (", debug_target.to_shortname);
  455.   target_debug_print_struct_target_ops_p (&debug_target);
  456.   fputs_unfiltered (", ", gdb_stdlog);
  457.   target_debug_print_CORE_ADDR (arg1);
  458.   fputs_unfiltered (", ", gdb_stdlog);
  459.   target_debug_print_CORE_ADDR (arg2);
  460.   fputs_unfiltered (", ", gdb_stdlog);
  461.   target_debug_print_int (arg3);
  462.   fputs_unfiltered (") = ", gdb_stdlog);
  463.   target_debug_print_int (result);
  464.   fputs_unfiltered ("\n", gdb_stdlog);
  465.   return result;
  466. }

  467. static int
  468. delegate_remove_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
  469. {
  470.   self = self->beneath;
  471.   return self->to_remove_mask_watchpoint (self, arg1, arg2, arg3);
  472. }

  473. static int
  474. tdefault_remove_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
  475. {
  476.   return 1;
  477. }

  478. static int
  479. debug_remove_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
  480. {
  481.   int result;
  482.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_mask_watchpoint (...)\n", debug_target.to_shortname);
  483.   result = debug_target.to_remove_mask_watchpoint (&debug_target, arg1, arg2, arg3);
  484.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_mask_watchpoint (", debug_target.to_shortname);
  485.   target_debug_print_struct_target_ops_p (&debug_target);
  486.   fputs_unfiltered (", ", gdb_stdlog);
  487.   target_debug_print_CORE_ADDR (arg1);
  488.   fputs_unfiltered (", ", gdb_stdlog);
  489.   target_debug_print_CORE_ADDR (arg2);
  490.   fputs_unfiltered (", ", gdb_stdlog);
  491.   target_debug_print_int (arg3);
  492.   fputs_unfiltered (") = ", gdb_stdlog);
  493.   target_debug_print_int (result);
  494.   fputs_unfiltered ("\n", gdb_stdlog);
  495.   return result;
  496. }

  497. static int
  498. delegate_stopped_by_watchpoint (struct target_ops *self)
  499. {
  500.   self = self->beneath;
  501.   return self->to_stopped_by_watchpoint (self);
  502. }

  503. static int
  504. tdefault_stopped_by_watchpoint (struct target_ops *self)
  505. {
  506.   return 0;
  507. }

  508. static int
  509. debug_stopped_by_watchpoint (struct target_ops *self)
  510. {
  511.   int result;
  512.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_stopped_by_watchpoint (...)\n", debug_target.to_shortname);
  513.   result = debug_target.to_stopped_by_watchpoint (&debug_target);
  514.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_stopped_by_watchpoint (", debug_target.to_shortname);
  515.   target_debug_print_struct_target_ops_p (&debug_target);
  516.   fputs_unfiltered (") = ", gdb_stdlog);
  517.   target_debug_print_int (result);
  518.   fputs_unfiltered ("\n", gdb_stdlog);
  519.   return result;
  520. }

  521. static int
  522. delegate_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
  523. {
  524.   self = self->beneath;
  525.   return self->to_stopped_data_address (self, arg1);
  526. }

  527. static int
  528. tdefault_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
  529. {
  530.   return 0;
  531. }

  532. static int
  533. debug_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
  534. {
  535.   int result;
  536.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_stopped_data_address (...)\n", debug_target.to_shortname);
  537.   result = debug_target.to_stopped_data_address (&debug_target, arg1);
  538.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_stopped_data_address (", debug_target.to_shortname);
  539.   target_debug_print_struct_target_ops_p (&debug_target);
  540.   fputs_unfiltered (", ", gdb_stdlog);
  541.   target_debug_print_CORE_ADDR_p (arg1);
  542.   fputs_unfiltered (") = ", gdb_stdlog);
  543.   target_debug_print_int (result);
  544.   fputs_unfiltered ("\n", gdb_stdlog);
  545.   return result;
  546. }

  547. static int
  548. delegate_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
  549. {
  550.   self = self->beneath;
  551.   return self->to_watchpoint_addr_within_range (self, arg1, arg2, arg3);
  552. }

  553. static int
  554. debug_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
  555. {
  556.   int result;
  557.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_watchpoint_addr_within_range (...)\n", debug_target.to_shortname);
  558.   result = debug_target.to_watchpoint_addr_within_range (&debug_target, arg1, arg2, arg3);
  559.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_watchpoint_addr_within_range (", debug_target.to_shortname);
  560.   target_debug_print_struct_target_ops_p (&debug_target);
  561.   fputs_unfiltered (", ", gdb_stdlog);
  562.   target_debug_print_CORE_ADDR (arg1);
  563.   fputs_unfiltered (", ", gdb_stdlog);
  564.   target_debug_print_CORE_ADDR (arg2);
  565.   fputs_unfiltered (", ", gdb_stdlog);
  566.   target_debug_print_int (arg3);
  567.   fputs_unfiltered (") = ", gdb_stdlog);
  568.   target_debug_print_int (result);
  569.   fputs_unfiltered ("\n", gdb_stdlog);
  570.   return result;
  571. }

  572. static int
  573. delegate_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2)
  574. {
  575.   self = self->beneath;
  576.   return self->to_region_ok_for_hw_watchpoint (self, arg1, arg2);
  577. }

  578. static int
  579. debug_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2)
  580. {
  581.   int result;
  582.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_region_ok_for_hw_watchpoint (...)\n", debug_target.to_shortname);
  583.   result = debug_target.to_region_ok_for_hw_watchpoint (&debug_target, arg1, arg2);
  584.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_region_ok_for_hw_watchpoint (", debug_target.to_shortname);
  585.   target_debug_print_struct_target_ops_p (&debug_target);
  586.   fputs_unfiltered (", ", gdb_stdlog);
  587.   target_debug_print_CORE_ADDR (arg1);
  588.   fputs_unfiltered (", ", gdb_stdlog);
  589.   target_debug_print_int (arg2);
  590.   fputs_unfiltered (") = ", gdb_stdlog);
  591.   target_debug_print_int (result);
  592.   fputs_unfiltered ("\n", gdb_stdlog);
  593.   return result;
  594. }

  595. static int
  596. delegate_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
  597. {
  598.   self = self->beneath;
  599.   return self->to_can_accel_watchpoint_condition (self, arg1, arg2, arg3, arg4);
  600. }

  601. static int
  602. tdefault_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
  603. {
  604.   return 0;
  605. }

  606. static int
  607. debug_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
  608. {
  609.   int result;
  610.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_accel_watchpoint_condition (...)\n", debug_target.to_shortname);
  611.   result = debug_target.to_can_accel_watchpoint_condition (&debug_target, arg1, arg2, arg3, arg4);
  612.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_accel_watchpoint_condition (", debug_target.to_shortname);
  613.   target_debug_print_struct_target_ops_p (&debug_target);
  614.   fputs_unfiltered (", ", gdb_stdlog);
  615.   target_debug_print_CORE_ADDR (arg1);
  616.   fputs_unfiltered (", ", gdb_stdlog);
  617.   target_debug_print_int (arg2);
  618.   fputs_unfiltered (", ", gdb_stdlog);
  619.   target_debug_print_int (arg3);
  620.   fputs_unfiltered (", ", gdb_stdlog);
  621.   target_debug_print_struct_expression_p (arg4);
  622.   fputs_unfiltered (") = ", gdb_stdlog);
  623.   target_debug_print_int (result);
  624.   fputs_unfiltered ("\n", gdb_stdlog);
  625.   return result;
  626. }

  627. static int
  628. delegate_masked_watch_num_registers (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2)
  629. {
  630.   self = self->beneath;
  631.   return self->to_masked_watch_num_registers (self, arg1, arg2);
  632. }

  633. static int
  634. tdefault_masked_watch_num_registers (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2)
  635. {
  636.   return -1;
  637. }

  638. static int
  639. debug_masked_watch_num_registers (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2)
  640. {
  641.   int result;
  642.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_masked_watch_num_registers (...)\n", debug_target.to_shortname);
  643.   result = debug_target.to_masked_watch_num_registers (&debug_target, arg1, arg2);
  644.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_masked_watch_num_registers (", debug_target.to_shortname);
  645.   target_debug_print_struct_target_ops_p (&debug_target);
  646.   fputs_unfiltered (", ", gdb_stdlog);
  647.   target_debug_print_CORE_ADDR (arg1);
  648.   fputs_unfiltered (", ", gdb_stdlog);
  649.   target_debug_print_CORE_ADDR (arg2);
  650.   fputs_unfiltered (") = ", gdb_stdlog);
  651.   target_debug_print_int (result);
  652.   fputs_unfiltered ("\n", gdb_stdlog);
  653.   return result;
  654. }

  655. static void
  656. delegate_terminal_init (struct target_ops *self)
  657. {
  658.   self = self->beneath;
  659.   self->to_terminal_init (self);
  660. }

  661. static void
  662. tdefault_terminal_init (struct target_ops *self)
  663. {
  664. }

  665. static void
  666. debug_terminal_init (struct target_ops *self)
  667. {
  668.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_init (...)\n", debug_target.to_shortname);
  669.   debug_target.to_terminal_init (&debug_target);
  670.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_init (", debug_target.to_shortname);
  671.   target_debug_print_struct_target_ops_p (&debug_target);
  672.   fputs_unfiltered (")\n", gdb_stdlog);
  673. }

  674. static void
  675. delegate_terminal_inferior (struct target_ops *self)
  676. {
  677.   self = self->beneath;
  678.   self->to_terminal_inferior (self);
  679. }

  680. static void
  681. tdefault_terminal_inferior (struct target_ops *self)
  682. {
  683. }

  684. static void
  685. debug_terminal_inferior (struct target_ops *self)
  686. {
  687.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_inferior (...)\n", debug_target.to_shortname);
  688.   debug_target.to_terminal_inferior (&debug_target);
  689.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_inferior (", debug_target.to_shortname);
  690.   target_debug_print_struct_target_ops_p (&debug_target);
  691.   fputs_unfiltered (")\n", gdb_stdlog);
  692. }

  693. static void
  694. delegate_terminal_ours_for_output (struct target_ops *self)
  695. {
  696.   self = self->beneath;
  697.   self->to_terminal_ours_for_output (self);
  698. }

  699. static void
  700. tdefault_terminal_ours_for_output (struct target_ops *self)
  701. {
  702. }

  703. static void
  704. debug_terminal_ours_for_output (struct target_ops *self)
  705. {
  706.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_ours_for_output (...)\n", debug_target.to_shortname);
  707.   debug_target.to_terminal_ours_for_output (&debug_target);
  708.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_ours_for_output (", debug_target.to_shortname);
  709.   target_debug_print_struct_target_ops_p (&debug_target);
  710.   fputs_unfiltered (")\n", gdb_stdlog);
  711. }

  712. static void
  713. delegate_terminal_ours (struct target_ops *self)
  714. {
  715.   self = self->beneath;
  716.   self->to_terminal_ours (self);
  717. }

  718. static void
  719. tdefault_terminal_ours (struct target_ops *self)
  720. {
  721. }

  722. static void
  723. debug_terminal_ours (struct target_ops *self)
  724. {
  725.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_ours (...)\n", debug_target.to_shortname);
  726.   debug_target.to_terminal_ours (&debug_target);
  727.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_ours (", debug_target.to_shortname);
  728.   target_debug_print_struct_target_ops_p (&debug_target);
  729.   fputs_unfiltered (")\n", gdb_stdlog);
  730. }

  731. static void
  732. delegate_terminal_info (struct target_ops *self, const char *arg1, int arg2)
  733. {
  734.   self = self->beneath;
  735.   self->to_terminal_info (self, arg1, arg2);
  736. }

  737. static void
  738. debug_terminal_info (struct target_ops *self, const char *arg1, int arg2)
  739. {
  740.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_info (...)\n", debug_target.to_shortname);
  741.   debug_target.to_terminal_info (&debug_target, arg1, arg2);
  742.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_info (", debug_target.to_shortname);
  743.   target_debug_print_struct_target_ops_p (&debug_target);
  744.   fputs_unfiltered (", ", gdb_stdlog);
  745.   target_debug_print_const_char_p (arg1);
  746.   fputs_unfiltered (", ", gdb_stdlog);
  747.   target_debug_print_int (arg2);
  748.   fputs_unfiltered (")\n", gdb_stdlog);
  749. }

  750. static void
  751. delegate_kill (struct target_ops *self)
  752. {
  753.   self = self->beneath;
  754.   self->to_kill (self);
  755. }

  756. static void
  757. tdefault_kill (struct target_ops *self)
  758. {
  759.   noprocess ();
  760. }

  761. static void
  762. debug_kill (struct target_ops *self)
  763. {
  764.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_kill (...)\n", debug_target.to_shortname);
  765.   debug_target.to_kill (&debug_target);
  766.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_kill (", debug_target.to_shortname);
  767.   target_debug_print_struct_target_ops_p (&debug_target);
  768.   fputs_unfiltered (")\n", gdb_stdlog);
  769. }

  770. static void
  771. delegate_load (struct target_ops *self, const char *arg1, int arg2)
  772. {
  773.   self = self->beneath;
  774.   self->to_load (self, arg1, arg2);
  775. }

  776. static void
  777. tdefault_load (struct target_ops *self, const char *arg1, int arg2)
  778. {
  779.   tcomplain ();
  780. }

  781. static void
  782. debug_load (struct target_ops *self, const char *arg1, int arg2)
  783. {
  784.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_load (...)\n", debug_target.to_shortname);
  785.   debug_target.to_load (&debug_target, arg1, arg2);
  786.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_load (", debug_target.to_shortname);
  787.   target_debug_print_struct_target_ops_p (&debug_target);
  788.   fputs_unfiltered (", ", gdb_stdlog);
  789.   target_debug_print_const_char_p (arg1);
  790.   fputs_unfiltered (", ", gdb_stdlog);
  791.   target_debug_print_int (arg2);
  792.   fputs_unfiltered (")\n", gdb_stdlog);
  793. }

  794. static void
  795. delegate_post_startup_inferior (struct target_ops *self, ptid_t arg1)
  796. {
  797.   self = self->beneath;
  798.   self->to_post_startup_inferior (self, arg1);
  799. }

  800. static void
  801. tdefault_post_startup_inferior (struct target_ops *self, ptid_t arg1)
  802. {
  803. }

  804. static void
  805. debug_post_startup_inferior (struct target_ops *self, ptid_t arg1)
  806. {
  807.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_post_startup_inferior (...)\n", debug_target.to_shortname);
  808.   debug_target.to_post_startup_inferior (&debug_target, arg1);
  809.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_post_startup_inferior (", debug_target.to_shortname);
  810.   target_debug_print_struct_target_ops_p (&debug_target);
  811.   fputs_unfiltered (", ", gdb_stdlog);
  812.   target_debug_print_ptid_t (arg1);
  813.   fputs_unfiltered (")\n", gdb_stdlog);
  814. }

  815. static int
  816. delegate_insert_fork_catchpoint (struct target_ops *self, int arg1)
  817. {
  818.   self = self->beneath;
  819.   return self->to_insert_fork_catchpoint (self, arg1);
  820. }

  821. static int
  822. tdefault_insert_fork_catchpoint (struct target_ops *self, int arg1)
  823. {
  824.   return 1;
  825. }

  826. static int
  827. debug_insert_fork_catchpoint (struct target_ops *self, int arg1)
  828. {
  829.   int result;
  830.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_fork_catchpoint (...)\n", debug_target.to_shortname);
  831.   result = debug_target.to_insert_fork_catchpoint (&debug_target, arg1);
  832.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_fork_catchpoint (", debug_target.to_shortname);
  833.   target_debug_print_struct_target_ops_p (&debug_target);
  834.   fputs_unfiltered (", ", gdb_stdlog);
  835.   target_debug_print_int (arg1);
  836.   fputs_unfiltered (") = ", gdb_stdlog);
  837.   target_debug_print_int (result);
  838.   fputs_unfiltered ("\n", gdb_stdlog);
  839.   return result;
  840. }

  841. static int
  842. delegate_remove_fork_catchpoint (struct target_ops *self, int arg1)
  843. {
  844.   self = self->beneath;
  845.   return self->to_remove_fork_catchpoint (self, arg1);
  846. }

  847. static int
  848. tdefault_remove_fork_catchpoint (struct target_ops *self, int arg1)
  849. {
  850.   return 1;
  851. }

  852. static int
  853. debug_remove_fork_catchpoint (struct target_ops *self, int arg1)
  854. {
  855.   int result;
  856.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_fork_catchpoint (...)\n", debug_target.to_shortname);
  857.   result = debug_target.to_remove_fork_catchpoint (&debug_target, arg1);
  858.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_fork_catchpoint (", debug_target.to_shortname);
  859.   target_debug_print_struct_target_ops_p (&debug_target);
  860.   fputs_unfiltered (", ", gdb_stdlog);
  861.   target_debug_print_int (arg1);
  862.   fputs_unfiltered (") = ", gdb_stdlog);
  863.   target_debug_print_int (result);
  864.   fputs_unfiltered ("\n", gdb_stdlog);
  865.   return result;
  866. }

  867. static int
  868. delegate_insert_vfork_catchpoint (struct target_ops *self, int arg1)
  869. {
  870.   self = self->beneath;
  871.   return self->to_insert_vfork_catchpoint (self, arg1);
  872. }

  873. static int
  874. tdefault_insert_vfork_catchpoint (struct target_ops *self, int arg1)
  875. {
  876.   return 1;
  877. }

  878. static int
  879. debug_insert_vfork_catchpoint (struct target_ops *self, int arg1)
  880. {
  881.   int result;
  882.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_vfork_catchpoint (...)\n", debug_target.to_shortname);
  883.   result = debug_target.to_insert_vfork_catchpoint (&debug_target, arg1);
  884.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_vfork_catchpoint (", debug_target.to_shortname);
  885.   target_debug_print_struct_target_ops_p (&debug_target);
  886.   fputs_unfiltered (", ", gdb_stdlog);
  887.   target_debug_print_int (arg1);
  888.   fputs_unfiltered (") = ", gdb_stdlog);
  889.   target_debug_print_int (result);
  890.   fputs_unfiltered ("\n", gdb_stdlog);
  891.   return result;
  892. }

  893. static int
  894. delegate_remove_vfork_catchpoint (struct target_ops *self, int arg1)
  895. {
  896.   self = self->beneath;
  897.   return self->to_remove_vfork_catchpoint (self, arg1);
  898. }

  899. static int
  900. tdefault_remove_vfork_catchpoint (struct target_ops *self, int arg1)
  901. {
  902.   return 1;
  903. }

  904. static int
  905. debug_remove_vfork_catchpoint (struct target_ops *self, int arg1)
  906. {
  907.   int result;
  908.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_vfork_catchpoint (...)\n", debug_target.to_shortname);
  909.   result = debug_target.to_remove_vfork_catchpoint (&debug_target, arg1);
  910.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_vfork_catchpoint (", debug_target.to_shortname);
  911.   target_debug_print_struct_target_ops_p (&debug_target);
  912.   fputs_unfiltered (", ", gdb_stdlog);
  913.   target_debug_print_int (arg1);
  914.   fputs_unfiltered (") = ", gdb_stdlog);
  915.   target_debug_print_int (result);
  916.   fputs_unfiltered ("\n", gdb_stdlog);
  917.   return result;
  918. }

  919. static int
  920. delegate_follow_fork (struct target_ops *self, int arg1, int arg2)
  921. {
  922.   self = self->beneath;
  923.   return self->to_follow_fork (self, arg1, arg2);
  924. }

  925. static int
  926. debug_follow_fork (struct target_ops *self, int arg1, int arg2)
  927. {
  928.   int result;
  929.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_follow_fork (...)\n", debug_target.to_shortname);
  930.   result = debug_target.to_follow_fork (&debug_target, arg1, arg2);
  931.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_follow_fork (", debug_target.to_shortname);
  932.   target_debug_print_struct_target_ops_p (&debug_target);
  933.   fputs_unfiltered (", ", gdb_stdlog);
  934.   target_debug_print_int (arg1);
  935.   fputs_unfiltered (", ", gdb_stdlog);
  936.   target_debug_print_int (arg2);
  937.   fputs_unfiltered (") = ", gdb_stdlog);
  938.   target_debug_print_int (result);
  939.   fputs_unfiltered ("\n", gdb_stdlog);
  940.   return result;
  941. }

  942. static int
  943. delegate_insert_exec_catchpoint (struct target_ops *self, int arg1)
  944. {
  945.   self = self->beneath;
  946.   return self->to_insert_exec_catchpoint (self, arg1);
  947. }

  948. static int
  949. tdefault_insert_exec_catchpoint (struct target_ops *self, int arg1)
  950. {
  951.   return 1;
  952. }

  953. static int
  954. debug_insert_exec_catchpoint (struct target_ops *self, int arg1)
  955. {
  956.   int result;
  957.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_exec_catchpoint (...)\n", debug_target.to_shortname);
  958.   result = debug_target.to_insert_exec_catchpoint (&debug_target, arg1);
  959.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_exec_catchpoint (", debug_target.to_shortname);
  960.   target_debug_print_struct_target_ops_p (&debug_target);
  961.   fputs_unfiltered (", ", gdb_stdlog);
  962.   target_debug_print_int (arg1);
  963.   fputs_unfiltered (") = ", gdb_stdlog);
  964.   target_debug_print_int (result);
  965.   fputs_unfiltered ("\n", gdb_stdlog);
  966.   return result;
  967. }

  968. static int
  969. delegate_remove_exec_catchpoint (struct target_ops *self, int arg1)
  970. {
  971.   self = self->beneath;
  972.   return self->to_remove_exec_catchpoint (self, arg1);
  973. }

  974. static int
  975. tdefault_remove_exec_catchpoint (struct target_ops *self, int arg1)
  976. {
  977.   return 1;
  978. }

  979. static int
  980. debug_remove_exec_catchpoint (struct target_ops *self, int arg1)
  981. {
  982.   int result;
  983.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_exec_catchpoint (...)\n", debug_target.to_shortname);
  984.   result = debug_target.to_remove_exec_catchpoint (&debug_target, arg1);
  985.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_exec_catchpoint (", debug_target.to_shortname);
  986.   target_debug_print_struct_target_ops_p (&debug_target);
  987.   fputs_unfiltered (", ", gdb_stdlog);
  988.   target_debug_print_int (arg1);
  989.   fputs_unfiltered (") = ", gdb_stdlog);
  990.   target_debug_print_int (result);
  991.   fputs_unfiltered ("\n", gdb_stdlog);
  992.   return result;
  993. }

  994. static int
  995. delegate_set_syscall_catchpoint (struct target_ops *self, int arg1, int arg2, int arg3, int arg4, int *arg5)
  996. {
  997.   self = self->beneath;
  998.   return self->to_set_syscall_catchpoint (self, arg1, arg2, arg3, arg4, arg5);
  999. }

  1000. static int
  1001. tdefault_set_syscall_catchpoint (struct target_ops *self, int arg1, int arg2, int arg3, int arg4, int *arg5)
  1002. {
  1003.   return 1;
  1004. }

  1005. static int
  1006. debug_set_syscall_catchpoint (struct target_ops *self, int arg1, int arg2, int arg3, int arg4, int *arg5)
  1007. {
  1008.   int result;
  1009.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_syscall_catchpoint (...)\n", debug_target.to_shortname);
  1010.   result = debug_target.to_set_syscall_catchpoint (&debug_target, arg1, arg2, arg3, arg4, arg5);
  1011.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_syscall_catchpoint (", debug_target.to_shortname);
  1012.   target_debug_print_struct_target_ops_p (&debug_target);
  1013.   fputs_unfiltered (", ", gdb_stdlog);
  1014.   target_debug_print_int (arg1);
  1015.   fputs_unfiltered (", ", gdb_stdlog);
  1016.   target_debug_print_int (arg2);
  1017.   fputs_unfiltered (", ", gdb_stdlog);
  1018.   target_debug_print_int (arg3);
  1019.   fputs_unfiltered (", ", gdb_stdlog);
  1020.   target_debug_print_int (arg4);
  1021.   fputs_unfiltered (", ", gdb_stdlog);
  1022.   target_debug_print_int_p (arg5);
  1023.   fputs_unfiltered (") = ", gdb_stdlog);
  1024.   target_debug_print_int (result);
  1025.   fputs_unfiltered ("\n", gdb_stdlog);
  1026.   return result;
  1027. }

  1028. static int
  1029. delegate_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
  1030. {
  1031.   self = self->beneath;
  1032.   return self->to_has_exited (self, arg1, arg2, arg3);
  1033. }

  1034. static int
  1035. tdefault_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
  1036. {
  1037.   return 0;
  1038. }

  1039. static int
  1040. debug_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
  1041. {
  1042.   int result;
  1043.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_has_exited (...)\n", debug_target.to_shortname);
  1044.   result = debug_target.to_has_exited (&debug_target, arg1, arg2, arg3);
  1045.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_has_exited (", debug_target.to_shortname);
  1046.   target_debug_print_struct_target_ops_p (&debug_target);
  1047.   fputs_unfiltered (", ", gdb_stdlog);
  1048.   target_debug_print_int (arg1);
  1049.   fputs_unfiltered (", ", gdb_stdlog);
  1050.   target_debug_print_int (arg2);
  1051.   fputs_unfiltered (", ", gdb_stdlog);
  1052.   target_debug_print_int_p (arg3);
  1053.   fputs_unfiltered (") = ", gdb_stdlog);
  1054.   target_debug_print_int (result);
  1055.   fputs_unfiltered ("\n", gdb_stdlog);
  1056.   return result;
  1057. }

  1058. static void
  1059. delegate_mourn_inferior (struct target_ops *self)
  1060. {
  1061.   self = self->beneath;
  1062.   self->to_mourn_inferior (self);
  1063. }

  1064. static void
  1065. debug_mourn_inferior (struct target_ops *self)
  1066. {
  1067.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_mourn_inferior (...)\n", debug_target.to_shortname);
  1068.   debug_target.to_mourn_inferior (&debug_target);
  1069.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_mourn_inferior (", debug_target.to_shortname);
  1070.   target_debug_print_struct_target_ops_p (&debug_target);
  1071.   fputs_unfiltered (")\n", gdb_stdlog);
  1072. }

  1073. static int
  1074. delegate_can_run (struct target_ops *self)
  1075. {
  1076.   self = self->beneath;
  1077.   return self->to_can_run (self);
  1078. }

  1079. static int
  1080. tdefault_can_run (struct target_ops *self)
  1081. {
  1082.   return 0;
  1083. }

  1084. static int
  1085. debug_can_run (struct target_ops *self)
  1086. {
  1087.   int result;
  1088.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_run (...)\n", debug_target.to_shortname);
  1089.   result = debug_target.to_can_run (&debug_target);
  1090.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_run (", debug_target.to_shortname);
  1091.   target_debug_print_struct_target_ops_p (&debug_target);
  1092.   fputs_unfiltered (") = ", gdb_stdlog);
  1093.   target_debug_print_int (result);
  1094.   fputs_unfiltered ("\n", gdb_stdlog);
  1095.   return result;
  1096. }

  1097. static void
  1098. delegate_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
  1099. {
  1100.   self = self->beneath;
  1101.   self->to_pass_signals (self, arg1, arg2);
  1102. }

  1103. static void
  1104. tdefault_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
  1105. {
  1106. }

  1107. static void
  1108. debug_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
  1109. {
  1110.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_pass_signals (...)\n", debug_target.to_shortname);
  1111.   debug_target.to_pass_signals (&debug_target, arg1, arg2);
  1112.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_pass_signals (", debug_target.to_shortname);
  1113.   target_debug_print_struct_target_ops_p (&debug_target);
  1114.   fputs_unfiltered (", ", gdb_stdlog);
  1115.   target_debug_print_int (arg1);
  1116.   fputs_unfiltered (", ", gdb_stdlog);
  1117.   target_debug_print_signals (arg2);
  1118.   fputs_unfiltered (")\n", gdb_stdlog);
  1119. }

  1120. static void
  1121. delegate_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
  1122. {
  1123.   self = self->beneath;
  1124.   self->to_program_signals (self, arg1, arg2);
  1125. }

  1126. static void
  1127. tdefault_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
  1128. {
  1129. }

  1130. static void
  1131. debug_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
  1132. {
  1133.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_program_signals (...)\n", debug_target.to_shortname);
  1134.   debug_target.to_program_signals (&debug_target, arg1, arg2);
  1135.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_program_signals (", debug_target.to_shortname);
  1136.   target_debug_print_struct_target_ops_p (&debug_target);
  1137.   fputs_unfiltered (", ", gdb_stdlog);
  1138.   target_debug_print_int (arg1);
  1139.   fputs_unfiltered (", ", gdb_stdlog);
  1140.   target_debug_print_signals (arg2);
  1141.   fputs_unfiltered (")\n", gdb_stdlog);
  1142. }

  1143. static int
  1144. delegate_thread_alive (struct target_ops *self, ptid_t arg1)
  1145. {
  1146.   self = self->beneath;
  1147.   return self->to_thread_alive (self, arg1);
  1148. }

  1149. static int
  1150. tdefault_thread_alive (struct target_ops *self, ptid_t arg1)
  1151. {
  1152.   return 0;
  1153. }

  1154. static int
  1155. debug_thread_alive (struct target_ops *self, ptid_t arg1)
  1156. {
  1157.   int result;
  1158.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_alive (...)\n", debug_target.to_shortname);
  1159.   result = debug_target.to_thread_alive (&debug_target, arg1);
  1160.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_alive (", debug_target.to_shortname);
  1161.   target_debug_print_struct_target_ops_p (&debug_target);
  1162.   fputs_unfiltered (", ", gdb_stdlog);
  1163.   target_debug_print_ptid_t (arg1);
  1164.   fputs_unfiltered (") = ", gdb_stdlog);
  1165.   target_debug_print_int (result);
  1166.   fputs_unfiltered ("\n", gdb_stdlog);
  1167.   return result;
  1168. }

  1169. static void
  1170. delegate_update_thread_list (struct target_ops *self)
  1171. {
  1172.   self = self->beneath;
  1173.   self->to_update_thread_list (self);
  1174. }

  1175. static void
  1176. tdefault_update_thread_list (struct target_ops *self)
  1177. {
  1178. }

  1179. static void
  1180. debug_update_thread_list (struct target_ops *self)
  1181. {
  1182.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_update_thread_list (...)\n", debug_target.to_shortname);
  1183.   debug_target.to_update_thread_list (&debug_target);
  1184.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_update_thread_list (", debug_target.to_shortname);
  1185.   target_debug_print_struct_target_ops_p (&debug_target);
  1186.   fputs_unfiltered (")\n", gdb_stdlog);
  1187. }

  1188. static char *
  1189. delegate_pid_to_str (struct target_ops *self, ptid_t arg1)
  1190. {
  1191.   self = self->beneath;
  1192.   return self->to_pid_to_str (self, arg1);
  1193. }

  1194. static char *
  1195. debug_pid_to_str (struct target_ops *self, ptid_t arg1)
  1196. {
  1197.   char * result;
  1198.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_pid_to_str (...)\n", debug_target.to_shortname);
  1199.   result = debug_target.to_pid_to_str (&debug_target, arg1);
  1200.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_pid_to_str (", debug_target.to_shortname);
  1201.   target_debug_print_struct_target_ops_p (&debug_target);
  1202.   fputs_unfiltered (", ", gdb_stdlog);
  1203.   target_debug_print_ptid_t (arg1);
  1204.   fputs_unfiltered (") = ", gdb_stdlog);
  1205.   target_debug_print_char_p (result);
  1206.   fputs_unfiltered ("\n", gdb_stdlog);
  1207.   return result;
  1208. }

  1209. static char *
  1210. delegate_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
  1211. {
  1212.   self = self->beneath;
  1213.   return self->to_extra_thread_info (self, arg1);
  1214. }

  1215. static char *
  1216. tdefault_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
  1217. {
  1218.   return NULL;
  1219. }

  1220. static char *
  1221. debug_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
  1222. {
  1223.   char * result;
  1224.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_extra_thread_info (...)\n", debug_target.to_shortname);
  1225.   result = debug_target.to_extra_thread_info (&debug_target, arg1);
  1226.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_extra_thread_info (", debug_target.to_shortname);
  1227.   target_debug_print_struct_target_ops_p (&debug_target);
  1228.   fputs_unfiltered (", ", gdb_stdlog);
  1229.   target_debug_print_struct_thread_info_p (arg1);
  1230.   fputs_unfiltered (") = ", gdb_stdlog);
  1231.   target_debug_print_char_p (result);
  1232.   fputs_unfiltered ("\n", gdb_stdlog);
  1233.   return result;
  1234. }

  1235. static char *
  1236. delegate_thread_name (struct target_ops *self, struct thread_info *arg1)
  1237. {
  1238.   self = self->beneath;
  1239.   return self->to_thread_name (self, arg1);
  1240. }

  1241. static char *
  1242. tdefault_thread_name (struct target_ops *self, struct thread_info *arg1)
  1243. {
  1244.   return NULL;
  1245. }

  1246. static char *
  1247. debug_thread_name (struct target_ops *self, struct thread_info *arg1)
  1248. {
  1249.   char * result;
  1250.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_name (...)\n", debug_target.to_shortname);
  1251.   result = debug_target.to_thread_name (&debug_target, arg1);
  1252.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_name (", debug_target.to_shortname);
  1253.   target_debug_print_struct_target_ops_p (&debug_target);
  1254.   fputs_unfiltered (", ", gdb_stdlog);
  1255.   target_debug_print_struct_thread_info_p (arg1);
  1256.   fputs_unfiltered (") = ", gdb_stdlog);
  1257.   target_debug_print_char_p (result);
  1258.   fputs_unfiltered ("\n", gdb_stdlog);
  1259.   return result;
  1260. }

  1261. static void
  1262. delegate_stop (struct target_ops *self, ptid_t arg1)
  1263. {
  1264.   self = self->beneath;
  1265.   self->to_stop (self, arg1);
  1266. }

  1267. static void
  1268. tdefault_stop (struct target_ops *self, ptid_t arg1)
  1269. {
  1270. }

  1271. static void
  1272. debug_stop (struct target_ops *self, ptid_t arg1)
  1273. {
  1274.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_stop (...)\n", debug_target.to_shortname);
  1275.   debug_target.to_stop (&debug_target, arg1);
  1276.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_stop (", debug_target.to_shortname);
  1277.   target_debug_print_struct_target_ops_p (&debug_target);
  1278.   fputs_unfiltered (", ", gdb_stdlog);
  1279.   target_debug_print_ptid_t (arg1);
  1280.   fputs_unfiltered (")\n", gdb_stdlog);
  1281. }

  1282. static void
  1283. delegate_rcmd (struct target_ops *self, const char *arg1, struct ui_file *arg2)
  1284. {
  1285.   self = self->beneath;
  1286.   self->to_rcmd (self, arg1, arg2);
  1287. }

  1288. static void
  1289. debug_rcmd (struct target_ops *self, const char *arg1, struct ui_file *arg2)
  1290. {
  1291.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_rcmd (...)\n", debug_target.to_shortname);
  1292.   debug_target.to_rcmd (&debug_target, arg1, arg2);
  1293.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_rcmd (", debug_target.to_shortname);
  1294.   target_debug_print_struct_target_ops_p (&debug_target);
  1295.   fputs_unfiltered (", ", gdb_stdlog);
  1296.   target_debug_print_const_char_p (arg1);
  1297.   fputs_unfiltered (", ", gdb_stdlog);
  1298.   target_debug_print_struct_ui_file_p (arg2);
  1299.   fputs_unfiltered (")\n", gdb_stdlog);
  1300. }

  1301. static char *
  1302. delegate_pid_to_exec_file (struct target_ops *self, int arg1)
  1303. {
  1304.   self = self->beneath;
  1305.   return self->to_pid_to_exec_file (self, arg1);
  1306. }

  1307. static char *
  1308. tdefault_pid_to_exec_file (struct target_ops *self, int arg1)
  1309. {
  1310.   return NULL;
  1311. }

  1312. static char *
  1313. debug_pid_to_exec_file (struct target_ops *self, int arg1)
  1314. {
  1315.   char * result;
  1316.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_pid_to_exec_file (...)\n", debug_target.to_shortname);
  1317.   result = debug_target.to_pid_to_exec_file (&debug_target, arg1);
  1318.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_pid_to_exec_file (", debug_target.to_shortname);
  1319.   target_debug_print_struct_target_ops_p (&debug_target);
  1320.   fputs_unfiltered (", ", gdb_stdlog);
  1321.   target_debug_print_int (arg1);
  1322.   fputs_unfiltered (") = ", gdb_stdlog);
  1323.   target_debug_print_char_p (result);
  1324.   fputs_unfiltered ("\n", gdb_stdlog);
  1325.   return result;
  1326. }

  1327. static void
  1328. delegate_log_command (struct target_ops *self, const char *arg1)
  1329. {
  1330.   self = self->beneath;
  1331.   self->to_log_command (self, arg1);
  1332. }

  1333. static void
  1334. tdefault_log_command (struct target_ops *self, const char *arg1)
  1335. {
  1336. }

  1337. static void
  1338. debug_log_command (struct target_ops *self, const char *arg1)
  1339. {
  1340.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_log_command (...)\n", debug_target.to_shortname);
  1341.   debug_target.to_log_command (&debug_target, arg1);
  1342.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_log_command (", debug_target.to_shortname);
  1343.   target_debug_print_struct_target_ops_p (&debug_target);
  1344.   fputs_unfiltered (", ", gdb_stdlog);
  1345.   target_debug_print_const_char_p (arg1);
  1346.   fputs_unfiltered (")\n", gdb_stdlog);
  1347. }

  1348. static struct target_section_table *
  1349. delegate_get_section_table (struct target_ops *self)
  1350. {
  1351.   self = self->beneath;
  1352.   return self->to_get_section_table (self);
  1353. }

  1354. static struct target_section_table *
  1355. tdefault_get_section_table (struct target_ops *self)
  1356. {
  1357.   return NULL;
  1358. }

  1359. static struct target_section_table *
  1360. debug_get_section_table (struct target_ops *self)
  1361. {
  1362.   struct target_section_table * result;
  1363.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_section_table (...)\n", debug_target.to_shortname);
  1364.   result = debug_target.to_get_section_table (&debug_target);
  1365.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_section_table (", debug_target.to_shortname);
  1366.   target_debug_print_struct_target_ops_p (&debug_target);
  1367.   fputs_unfiltered (") = ", gdb_stdlog);
  1368.   target_debug_print_struct_target_section_table_p (result);
  1369.   fputs_unfiltered ("\n", gdb_stdlog);
  1370.   return result;
  1371. }

  1372. static int
  1373. delegate_can_async_p (struct target_ops *self)
  1374. {
  1375.   self = self->beneath;
  1376.   return self->to_can_async_p (self);
  1377. }

  1378. static int
  1379. tdefault_can_async_p (struct target_ops *self)
  1380. {
  1381.   return 0;
  1382. }

  1383. static int
  1384. debug_can_async_p (struct target_ops *self)
  1385. {
  1386.   int result;
  1387.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_async_p (...)\n", debug_target.to_shortname);
  1388.   result = debug_target.to_can_async_p (&debug_target);
  1389.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_async_p (", debug_target.to_shortname);
  1390.   target_debug_print_struct_target_ops_p (&debug_target);
  1391.   fputs_unfiltered (") = ", gdb_stdlog);
  1392.   target_debug_print_int (result);
  1393.   fputs_unfiltered ("\n", gdb_stdlog);
  1394.   return result;
  1395. }

  1396. static int
  1397. delegate_is_async_p (struct target_ops *self)
  1398. {
  1399.   self = self->beneath;
  1400.   return self->to_is_async_p (self);
  1401. }

  1402. static int
  1403. tdefault_is_async_p (struct target_ops *self)
  1404. {
  1405.   return 0;
  1406. }

  1407. static int
  1408. debug_is_async_p (struct target_ops *self)
  1409. {
  1410.   int result;
  1411.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_is_async_p (...)\n", debug_target.to_shortname);
  1412.   result = debug_target.to_is_async_p (&debug_target);
  1413.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_is_async_p (", debug_target.to_shortname);
  1414.   target_debug_print_struct_target_ops_p (&debug_target);
  1415.   fputs_unfiltered (") = ", gdb_stdlog);
  1416.   target_debug_print_int (result);
  1417.   fputs_unfiltered ("\n", gdb_stdlog);
  1418.   return result;
  1419. }

  1420. static void
  1421. delegate_async (struct target_ops *self, async_callback_ftype *arg1, void *arg2)
  1422. {
  1423.   self = self->beneath;
  1424.   self->to_async (self, arg1, arg2);
  1425. }

  1426. static void
  1427. tdefault_async (struct target_ops *self, async_callback_ftype *arg1, void *arg2)
  1428. {
  1429.   tcomplain ();
  1430. }

  1431. static void
  1432. debug_async (struct target_ops *self, async_callback_ftype *arg1, void *arg2)
  1433. {
  1434.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_async (...)\n", debug_target.to_shortname);
  1435.   debug_target.to_async (&debug_target, arg1, arg2);
  1436.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_async (", debug_target.to_shortname);
  1437.   target_debug_print_struct_target_ops_p (&debug_target);
  1438.   fputs_unfiltered (", ", gdb_stdlog);
  1439.   target_debug_print_async_callback_ftype_p (arg1);
  1440.   fputs_unfiltered (", ", gdb_stdlog);
  1441.   target_debug_print_void_p (arg2);
  1442.   fputs_unfiltered (")\n", gdb_stdlog);
  1443. }

  1444. static int
  1445. delegate_supports_non_stop (struct target_ops *self)
  1446. {
  1447.   self = self->beneath;
  1448.   return self->to_supports_non_stop (self);
  1449. }

  1450. static int
  1451. tdefault_supports_non_stop (struct target_ops *self)
  1452. {
  1453.   return 0;
  1454. }

  1455. static int
  1456. debug_supports_non_stop (struct target_ops *self)
  1457. {
  1458.   int result;
  1459.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_non_stop (...)\n", debug_target.to_shortname);
  1460.   result = debug_target.to_supports_non_stop (&debug_target);
  1461.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_non_stop (", debug_target.to_shortname);
  1462.   target_debug_print_struct_target_ops_p (&debug_target);
  1463.   fputs_unfiltered (") = ", gdb_stdlog);
  1464.   target_debug_print_int (result);
  1465.   fputs_unfiltered ("\n", gdb_stdlog);
  1466.   return result;
  1467. }

  1468. static int
  1469. delegate_find_memory_regions (struct target_ops *self, find_memory_region_ftype arg1, void *arg2)
  1470. {
  1471.   self = self->beneath;
  1472.   return self->to_find_memory_regions (self, arg1, arg2);
  1473. }

  1474. static int
  1475. debug_find_memory_regions (struct target_ops *self, find_memory_region_ftype arg1, void *arg2)
  1476. {
  1477.   int result;
  1478.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_find_memory_regions (...)\n", debug_target.to_shortname);
  1479.   result = debug_target.to_find_memory_regions (&debug_target, arg1, arg2);
  1480.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_find_memory_regions (", debug_target.to_shortname);
  1481.   target_debug_print_struct_target_ops_p (&debug_target);
  1482.   fputs_unfiltered (", ", gdb_stdlog);
  1483.   target_debug_print_find_memory_region_ftype (arg1);
  1484.   fputs_unfiltered (", ", gdb_stdlog);
  1485.   target_debug_print_void_p (arg2);
  1486.   fputs_unfiltered (") = ", gdb_stdlog);
  1487.   target_debug_print_int (result);
  1488.   fputs_unfiltered ("\n", gdb_stdlog);
  1489.   return result;
  1490. }

  1491. static char *
  1492. delegate_make_corefile_notes (struct target_ops *self, bfd *arg1, int *arg2)
  1493. {
  1494.   self = self->beneath;
  1495.   return self->to_make_corefile_notes (self, arg1, arg2);
  1496. }

  1497. static char *
  1498. debug_make_corefile_notes (struct target_ops *self, bfd *arg1, int *arg2)
  1499. {
  1500.   char * result;
  1501.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_make_corefile_notes (...)\n", debug_target.to_shortname);
  1502.   result = debug_target.to_make_corefile_notes (&debug_target, arg1, arg2);
  1503.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_make_corefile_notes (", debug_target.to_shortname);
  1504.   target_debug_print_struct_target_ops_p (&debug_target);
  1505.   fputs_unfiltered (", ", gdb_stdlog);
  1506.   target_debug_print_bfd_p (arg1);
  1507.   fputs_unfiltered (", ", gdb_stdlog);
  1508.   target_debug_print_int_p (arg2);
  1509.   fputs_unfiltered (") = ", gdb_stdlog);
  1510.   target_debug_print_char_p (result);
  1511.   fputs_unfiltered ("\n", gdb_stdlog);
  1512.   return result;
  1513. }

  1514. static gdb_byte *
  1515. delegate_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
  1516. {
  1517.   self = self->beneath;
  1518.   return self->to_get_bookmark (self, arg1, arg2);
  1519. }

  1520. static gdb_byte *
  1521. tdefault_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
  1522. {
  1523.   tcomplain ();
  1524. }

  1525. static gdb_byte *
  1526. debug_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
  1527. {
  1528.   gdb_byte * result;
  1529.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_bookmark (...)\n", debug_target.to_shortname);
  1530.   result = debug_target.to_get_bookmark (&debug_target, arg1, arg2);
  1531.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_bookmark (", debug_target.to_shortname);
  1532.   target_debug_print_struct_target_ops_p (&debug_target);
  1533.   fputs_unfiltered (", ", gdb_stdlog);
  1534.   target_debug_print_const_char_p (arg1);
  1535.   fputs_unfiltered (", ", gdb_stdlog);
  1536.   target_debug_print_int (arg2);
  1537.   fputs_unfiltered (") = ", gdb_stdlog);
  1538.   target_debug_print_gdb_byte_p (result);
  1539.   fputs_unfiltered ("\n", gdb_stdlog);
  1540.   return result;
  1541. }

  1542. static void
  1543. delegate_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
  1544. {
  1545.   self = self->beneath;
  1546.   self->to_goto_bookmark (self, arg1, arg2);
  1547. }

  1548. static void
  1549. tdefault_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
  1550. {
  1551.   tcomplain ();
  1552. }

  1553. static void
  1554. debug_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
  1555. {
  1556.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_bookmark (...)\n", debug_target.to_shortname);
  1557.   debug_target.to_goto_bookmark (&debug_target, arg1, arg2);
  1558.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_bookmark (", debug_target.to_shortname);
  1559.   target_debug_print_struct_target_ops_p (&debug_target);
  1560.   fputs_unfiltered (", ", gdb_stdlog);
  1561.   target_debug_print_const_gdb_byte_p (arg1);
  1562.   fputs_unfiltered (", ", gdb_stdlog);
  1563.   target_debug_print_int (arg2);
  1564.   fputs_unfiltered (")\n", gdb_stdlog);
  1565. }

  1566. static CORE_ADDR
  1567. delegate_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
  1568. {
  1569.   self = self->beneath;
  1570.   return self->to_get_thread_local_address (self, arg1, arg2, arg3);
  1571. }

  1572. static CORE_ADDR
  1573. tdefault_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
  1574. {
  1575.   generic_tls_error ();
  1576. }

  1577. static CORE_ADDR
  1578. debug_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
  1579. {
  1580.   CORE_ADDR result;
  1581.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_thread_local_address (...)\n", debug_target.to_shortname);
  1582.   result = debug_target.to_get_thread_local_address (&debug_target, arg1, arg2, arg3);
  1583.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_thread_local_address (", debug_target.to_shortname);
  1584.   target_debug_print_struct_target_ops_p (&debug_target);
  1585.   fputs_unfiltered (", ", gdb_stdlog);
  1586.   target_debug_print_ptid_t (arg1);
  1587.   fputs_unfiltered (", ", gdb_stdlog);
  1588.   target_debug_print_CORE_ADDR (arg2);
  1589.   fputs_unfiltered (", ", gdb_stdlog);
  1590.   target_debug_print_CORE_ADDR (arg3);
  1591.   fputs_unfiltered (") = ", gdb_stdlog);
  1592.   target_debug_print_CORE_ADDR (result);
  1593.   fputs_unfiltered ("\n", gdb_stdlog);
  1594.   return result;
  1595. }

  1596. static enum target_xfer_status
  1597. 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)
  1598. {
  1599.   self = self->beneath;
  1600.   return self->to_xfer_partial (self, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
  1601. }

  1602. static enum target_xfer_status
  1603. 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)
  1604. {
  1605.   return TARGET_XFER_E_IO;
  1606. }

  1607. static enum target_xfer_status
  1608. 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)
  1609. {
  1610.   enum target_xfer_status result;
  1611.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_xfer_partial (...)\n", debug_target.to_shortname);
  1612.   result = debug_target.to_xfer_partial (&debug_target, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
  1613.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_xfer_partial (", debug_target.to_shortname);
  1614.   target_debug_print_struct_target_ops_p (&debug_target);
  1615.   fputs_unfiltered (", ", gdb_stdlog);
  1616.   target_debug_print_enum_target_object (arg1);
  1617.   fputs_unfiltered (", ", gdb_stdlog);
  1618.   target_debug_print_const_char_p (arg2);
  1619.   fputs_unfiltered (", ", gdb_stdlog);
  1620.   target_debug_print_gdb_byte_p (arg3);
  1621.   fputs_unfiltered (", ", gdb_stdlog);
  1622.   target_debug_print_const_gdb_byte_p (arg4);
  1623.   fputs_unfiltered (", ", gdb_stdlog);
  1624.   target_debug_print_ULONGEST (arg5);
  1625.   fputs_unfiltered (", ", gdb_stdlog);
  1626.   target_debug_print_ULONGEST (arg6);
  1627.   fputs_unfiltered (", ", gdb_stdlog);
  1628.   target_debug_print_ULONGEST_p (arg7);
  1629.   fputs_unfiltered (") = ", gdb_stdlog);
  1630.   target_debug_print_enum_target_xfer_status (result);
  1631.   fputs_unfiltered ("\n", gdb_stdlog);
  1632.   return result;
  1633. }

  1634. static VEC(mem_region_s) *
  1635. delegate_memory_map (struct target_ops *self)
  1636. {
  1637.   self = self->beneath;
  1638.   return self->to_memory_map (self);
  1639. }

  1640. static VEC(mem_region_s) *
  1641. tdefault_memory_map (struct target_ops *self)
  1642. {
  1643.   return NULL;
  1644. }

  1645. static VEC(mem_region_s) *
  1646. debug_memory_map (struct target_ops *self)
  1647. {
  1648.   VEC(mem_region_s) * result;
  1649.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_memory_map (...)\n", debug_target.to_shortname);
  1650.   result = debug_target.to_memory_map (&debug_target);
  1651.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_memory_map (", debug_target.to_shortname);
  1652.   target_debug_print_struct_target_ops_p (&debug_target);
  1653.   fputs_unfiltered (") = ", gdb_stdlog);
  1654.   target_debug_print_VEC_mem_region_s__p (result);
  1655.   fputs_unfiltered ("\n", gdb_stdlog);
  1656.   return result;
  1657. }

  1658. static void
  1659. delegate_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
  1660. {
  1661.   self = self->beneath;
  1662.   self->to_flash_erase (self, arg1, arg2);
  1663. }

  1664. static void
  1665. tdefault_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
  1666. {
  1667.   tcomplain ();
  1668. }

  1669. static void
  1670. debug_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
  1671. {
  1672.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_flash_erase (...)\n", debug_target.to_shortname);
  1673.   debug_target.to_flash_erase (&debug_target, arg1, arg2);
  1674.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_flash_erase (", debug_target.to_shortname);
  1675.   target_debug_print_struct_target_ops_p (&debug_target);
  1676.   fputs_unfiltered (", ", gdb_stdlog);
  1677.   target_debug_print_ULONGEST (arg1);
  1678.   fputs_unfiltered (", ", gdb_stdlog);
  1679.   target_debug_print_LONGEST (arg2);
  1680.   fputs_unfiltered (")\n", gdb_stdlog);
  1681. }

  1682. static void
  1683. delegate_flash_done (struct target_ops *self)
  1684. {
  1685.   self = self->beneath;
  1686.   self->to_flash_done (self);
  1687. }

  1688. static void
  1689. tdefault_flash_done (struct target_ops *self)
  1690. {
  1691.   tcomplain ();
  1692. }

  1693. static void
  1694. debug_flash_done (struct target_ops *self)
  1695. {
  1696.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_flash_done (...)\n", debug_target.to_shortname);
  1697.   debug_target.to_flash_done (&debug_target);
  1698.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_flash_done (", debug_target.to_shortname);
  1699.   target_debug_print_struct_target_ops_p (&debug_target);
  1700.   fputs_unfiltered (")\n", gdb_stdlog);
  1701. }

  1702. static const struct target_desc *
  1703. delegate_read_description (struct target_ops *self)
  1704. {
  1705.   self = self->beneath;
  1706.   return self->to_read_description (self);
  1707. }

  1708. static const struct target_desc *
  1709. tdefault_read_description (struct target_ops *self)
  1710. {
  1711.   return NULL;
  1712. }

  1713. static const struct target_desc *
  1714. debug_read_description (struct target_ops *self)
  1715. {
  1716.   const struct target_desc * result;
  1717.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_read_description (...)\n", debug_target.to_shortname);
  1718.   result = debug_target.to_read_description (&debug_target);
  1719.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_read_description (", debug_target.to_shortname);
  1720.   target_debug_print_struct_target_ops_p (&debug_target);
  1721.   fputs_unfiltered (") = ", gdb_stdlog);
  1722.   target_debug_print_const_struct_target_desc_p (result);
  1723.   fputs_unfiltered ("\n", gdb_stdlog);
  1724.   return result;
  1725. }

  1726. static ptid_t
  1727. delegate_get_ada_task_ptid (struct target_ops *self, long arg1, long arg2)
  1728. {
  1729.   self = self->beneath;
  1730.   return self->to_get_ada_task_ptid (self, arg1, arg2);
  1731. }

  1732. static ptid_t
  1733. debug_get_ada_task_ptid (struct target_ops *self, long arg1, long arg2)
  1734. {
  1735.   ptid_t result;
  1736.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_ada_task_ptid (...)\n", debug_target.to_shortname);
  1737.   result = debug_target.to_get_ada_task_ptid (&debug_target, arg1, arg2);
  1738.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_ada_task_ptid (", debug_target.to_shortname);
  1739.   target_debug_print_struct_target_ops_p (&debug_target);
  1740.   fputs_unfiltered (", ", gdb_stdlog);
  1741.   target_debug_print_long (arg1);
  1742.   fputs_unfiltered (", ", gdb_stdlog);
  1743.   target_debug_print_long (arg2);
  1744.   fputs_unfiltered (") = ", gdb_stdlog);
  1745.   target_debug_print_ptid_t (result);
  1746.   fputs_unfiltered ("\n", gdb_stdlog);
  1747.   return result;
  1748. }

  1749. static int
  1750. delegate_auxv_parse (struct target_ops *self, gdb_byte **arg1, gdb_byte *arg2, CORE_ADDR *arg3, CORE_ADDR *arg4)
  1751. {
  1752.   self = self->beneath;
  1753.   return self->to_auxv_parse (self, arg1, arg2, arg3, arg4);
  1754. }

  1755. static int
  1756. debug_auxv_parse (struct target_ops *self, gdb_byte **arg1, gdb_byte *arg2, CORE_ADDR *arg3, CORE_ADDR *arg4)
  1757. {
  1758.   int result;
  1759.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_auxv_parse (...)\n", debug_target.to_shortname);
  1760.   result = debug_target.to_auxv_parse (&debug_target, arg1, arg2, arg3, arg4);
  1761.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_auxv_parse (", debug_target.to_shortname);
  1762.   target_debug_print_struct_target_ops_p (&debug_target);
  1763.   fputs_unfiltered (", ", gdb_stdlog);
  1764.   target_debug_print_gdb_byte_pp (arg1);
  1765.   fputs_unfiltered (", ", gdb_stdlog);
  1766.   target_debug_print_gdb_byte_p (arg2);
  1767.   fputs_unfiltered (", ", gdb_stdlog);
  1768.   target_debug_print_CORE_ADDR_p (arg3);
  1769.   fputs_unfiltered (", ", gdb_stdlog);
  1770.   target_debug_print_CORE_ADDR_p (arg4);
  1771.   fputs_unfiltered (") = ", gdb_stdlog);
  1772.   target_debug_print_int (result);
  1773.   fputs_unfiltered ("\n", gdb_stdlog);
  1774.   return result;
  1775. }

  1776. static int
  1777. delegate_search_memory (struct target_ops *self, CORE_ADDR arg1, ULONGEST arg2, const gdb_byte *arg3, ULONGEST arg4, CORE_ADDR *arg5)
  1778. {
  1779.   self = self->beneath;
  1780.   return self->to_search_memory (self, arg1, arg2, arg3, arg4, arg5);
  1781. }

  1782. static int
  1783. debug_search_memory (struct target_ops *self, CORE_ADDR arg1, ULONGEST arg2, const gdb_byte *arg3, ULONGEST arg4, CORE_ADDR *arg5)
  1784. {
  1785.   int result;
  1786.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_search_memory (...)\n", debug_target.to_shortname);
  1787.   result = debug_target.to_search_memory (&debug_target, arg1, arg2, arg3, arg4, arg5);
  1788.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_search_memory (", debug_target.to_shortname);
  1789.   target_debug_print_struct_target_ops_p (&debug_target);
  1790.   fputs_unfiltered (", ", gdb_stdlog);
  1791.   target_debug_print_CORE_ADDR (arg1);
  1792.   fputs_unfiltered (", ", gdb_stdlog);
  1793.   target_debug_print_ULONGEST (arg2);
  1794.   fputs_unfiltered (", ", gdb_stdlog);
  1795.   target_debug_print_const_gdb_byte_p (arg3);
  1796.   fputs_unfiltered (", ", gdb_stdlog);
  1797.   target_debug_print_ULONGEST (arg4);
  1798.   fputs_unfiltered (", ", gdb_stdlog);
  1799.   target_debug_print_CORE_ADDR_p (arg5);
  1800.   fputs_unfiltered (") = ", gdb_stdlog);
  1801.   target_debug_print_int (result);
  1802.   fputs_unfiltered ("\n", gdb_stdlog);
  1803.   return result;
  1804. }

  1805. static int
  1806. delegate_can_execute_reverse (struct target_ops *self)
  1807. {
  1808.   self = self->beneath;
  1809.   return self->to_can_execute_reverse (self);
  1810. }

  1811. static int
  1812. tdefault_can_execute_reverse (struct target_ops *self)
  1813. {
  1814.   return 0;
  1815. }

  1816. static int
  1817. debug_can_execute_reverse (struct target_ops *self)
  1818. {
  1819.   int result;
  1820.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_execute_reverse (...)\n", debug_target.to_shortname);
  1821.   result = debug_target.to_can_execute_reverse (&debug_target);
  1822.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_execute_reverse (", debug_target.to_shortname);
  1823.   target_debug_print_struct_target_ops_p (&debug_target);
  1824.   fputs_unfiltered (") = ", gdb_stdlog);
  1825.   target_debug_print_int (result);
  1826.   fputs_unfiltered ("\n", gdb_stdlog);
  1827.   return result;
  1828. }

  1829. static enum exec_direction_kind
  1830. delegate_execution_direction (struct target_ops *self)
  1831. {
  1832.   self = self->beneath;
  1833.   return self->to_execution_direction (self);
  1834. }

  1835. static enum exec_direction_kind
  1836. debug_execution_direction (struct target_ops *self)
  1837. {
  1838.   enum exec_direction_kind result;
  1839.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_execution_direction (...)\n", debug_target.to_shortname);
  1840.   result = debug_target.to_execution_direction (&debug_target);
  1841.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_execution_direction (", debug_target.to_shortname);
  1842.   target_debug_print_struct_target_ops_p (&debug_target);
  1843.   fputs_unfiltered (") = ", gdb_stdlog);
  1844.   target_debug_print_enum_exec_direction_kind (result);
  1845.   fputs_unfiltered ("\n", gdb_stdlog);
  1846.   return result;
  1847. }

  1848. static int
  1849. delegate_supports_multi_process (struct target_ops *self)
  1850. {
  1851.   self = self->beneath;
  1852.   return self->to_supports_multi_process (self);
  1853. }

  1854. static int
  1855. tdefault_supports_multi_process (struct target_ops *self)
  1856. {
  1857.   return 0;
  1858. }

  1859. static int
  1860. debug_supports_multi_process (struct target_ops *self)
  1861. {
  1862.   int result;
  1863.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_multi_process (...)\n", debug_target.to_shortname);
  1864.   result = debug_target.to_supports_multi_process (&debug_target);
  1865.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_multi_process (", debug_target.to_shortname);
  1866.   target_debug_print_struct_target_ops_p (&debug_target);
  1867.   fputs_unfiltered (") = ", gdb_stdlog);
  1868.   target_debug_print_int (result);
  1869.   fputs_unfiltered ("\n", gdb_stdlog);
  1870.   return result;
  1871. }

  1872. static int
  1873. delegate_supports_enable_disable_tracepoint (struct target_ops *self)
  1874. {
  1875.   self = self->beneath;
  1876.   return self->to_supports_enable_disable_tracepoint (self);
  1877. }

  1878. static int
  1879. tdefault_supports_enable_disable_tracepoint (struct target_ops *self)
  1880. {
  1881.   return 0;
  1882. }

  1883. static int
  1884. debug_supports_enable_disable_tracepoint (struct target_ops *self)
  1885. {
  1886.   int result;
  1887.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_enable_disable_tracepoint (...)\n", debug_target.to_shortname);
  1888.   result = debug_target.to_supports_enable_disable_tracepoint (&debug_target);
  1889.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_enable_disable_tracepoint (", debug_target.to_shortname);
  1890.   target_debug_print_struct_target_ops_p (&debug_target);
  1891.   fputs_unfiltered (") = ", gdb_stdlog);
  1892.   target_debug_print_int (result);
  1893.   fputs_unfiltered ("\n", gdb_stdlog);
  1894.   return result;
  1895. }

  1896. static int
  1897. delegate_supports_string_tracing (struct target_ops *self)
  1898. {
  1899.   self = self->beneath;
  1900.   return self->to_supports_string_tracing (self);
  1901. }

  1902. static int
  1903. tdefault_supports_string_tracing (struct target_ops *self)
  1904. {
  1905.   return 0;
  1906. }

  1907. static int
  1908. debug_supports_string_tracing (struct target_ops *self)
  1909. {
  1910.   int result;
  1911.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_string_tracing (...)\n", debug_target.to_shortname);
  1912.   result = debug_target.to_supports_string_tracing (&debug_target);
  1913.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_string_tracing (", debug_target.to_shortname);
  1914.   target_debug_print_struct_target_ops_p (&debug_target);
  1915.   fputs_unfiltered (") = ", gdb_stdlog);
  1916.   target_debug_print_int (result);
  1917.   fputs_unfiltered ("\n", gdb_stdlog);
  1918.   return result;
  1919. }

  1920. static int
  1921. delegate_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
  1922. {
  1923.   self = self->beneath;
  1924.   return self->to_supports_evaluation_of_breakpoint_conditions (self);
  1925. }

  1926. static int
  1927. tdefault_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
  1928. {
  1929.   return 0;
  1930. }

  1931. static int
  1932. debug_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
  1933. {
  1934.   int result;
  1935.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_evaluation_of_breakpoint_conditions (...)\n", debug_target.to_shortname);
  1936.   result = debug_target.to_supports_evaluation_of_breakpoint_conditions (&debug_target);
  1937.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_evaluation_of_breakpoint_conditions (", debug_target.to_shortname);
  1938.   target_debug_print_struct_target_ops_p (&debug_target);
  1939.   fputs_unfiltered (") = ", gdb_stdlog);
  1940.   target_debug_print_int (result);
  1941.   fputs_unfiltered ("\n", gdb_stdlog);
  1942.   return result;
  1943. }

  1944. static int
  1945. delegate_can_run_breakpoint_commands (struct target_ops *self)
  1946. {
  1947.   self = self->beneath;
  1948.   return self->to_can_run_breakpoint_commands (self);
  1949. }

  1950. static int
  1951. tdefault_can_run_breakpoint_commands (struct target_ops *self)
  1952. {
  1953.   return 0;
  1954. }

  1955. static int
  1956. debug_can_run_breakpoint_commands (struct target_ops *self)
  1957. {
  1958.   int result;
  1959.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_run_breakpoint_commands (...)\n", debug_target.to_shortname);
  1960.   result = debug_target.to_can_run_breakpoint_commands (&debug_target);
  1961.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_run_breakpoint_commands (", debug_target.to_shortname);
  1962.   target_debug_print_struct_target_ops_p (&debug_target);
  1963.   fputs_unfiltered (") = ", gdb_stdlog);
  1964.   target_debug_print_int (result);
  1965.   fputs_unfiltered ("\n", gdb_stdlog);
  1966.   return result;
  1967. }

  1968. static struct gdbarch *
  1969. delegate_thread_architecture (struct target_ops *self, ptid_t arg1)
  1970. {
  1971.   self = self->beneath;
  1972.   return self->to_thread_architecture (self, arg1);
  1973. }

  1974. static struct gdbarch *
  1975. debug_thread_architecture (struct target_ops *self, ptid_t arg1)
  1976. {
  1977.   struct gdbarch * result;
  1978.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_architecture (...)\n", debug_target.to_shortname);
  1979.   result = debug_target.to_thread_architecture (&debug_target, arg1);
  1980.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_architecture (", debug_target.to_shortname);
  1981.   target_debug_print_struct_target_ops_p (&debug_target);
  1982.   fputs_unfiltered (", ", gdb_stdlog);
  1983.   target_debug_print_ptid_t (arg1);
  1984.   fputs_unfiltered (") = ", gdb_stdlog);
  1985.   target_debug_print_struct_gdbarch_p (result);
  1986.   fputs_unfiltered ("\n", gdb_stdlog);
  1987.   return result;
  1988. }

  1989. static struct address_space *
  1990. delegate_thread_address_space (struct target_ops *self, ptid_t arg1)
  1991. {
  1992.   self = self->beneath;
  1993.   return self->to_thread_address_space (self, arg1);
  1994. }

  1995. static struct address_space *
  1996. debug_thread_address_space (struct target_ops *self, ptid_t arg1)
  1997. {
  1998.   struct address_space * result;
  1999.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_address_space (...)\n", debug_target.to_shortname);
  2000.   result = debug_target.to_thread_address_space (&debug_target, arg1);
  2001.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_address_space (", debug_target.to_shortname);
  2002.   target_debug_print_struct_target_ops_p (&debug_target);
  2003.   fputs_unfiltered (", ", gdb_stdlog);
  2004.   target_debug_print_ptid_t (arg1);
  2005.   fputs_unfiltered (") = ", gdb_stdlog);
  2006.   target_debug_print_struct_address_space_p (result);
  2007.   fputs_unfiltered ("\n", gdb_stdlog);
  2008.   return result;
  2009. }

  2010. static void
  2011. delegate_trace_init (struct target_ops *self)
  2012. {
  2013.   self = self->beneath;
  2014.   self->to_trace_init (self);
  2015. }

  2016. static void
  2017. tdefault_trace_init (struct target_ops *self)
  2018. {
  2019.   tcomplain ();
  2020. }

  2021. static void
  2022. debug_trace_init (struct target_ops *self)
  2023. {
  2024.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_init (...)\n", debug_target.to_shortname);
  2025.   debug_target.to_trace_init (&debug_target);
  2026.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_init (", debug_target.to_shortname);
  2027.   target_debug_print_struct_target_ops_p (&debug_target);
  2028.   fputs_unfiltered (")\n", gdb_stdlog);
  2029. }

  2030. static void
  2031. delegate_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
  2032. {
  2033.   self = self->beneath;
  2034.   self->to_download_tracepoint (self, arg1);
  2035. }

  2036. static void
  2037. tdefault_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
  2038. {
  2039.   tcomplain ();
  2040. }

  2041. static void
  2042. debug_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
  2043. {
  2044.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_download_tracepoint (...)\n", debug_target.to_shortname);
  2045.   debug_target.to_download_tracepoint (&debug_target, arg1);
  2046.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_download_tracepoint (", debug_target.to_shortname);
  2047.   target_debug_print_struct_target_ops_p (&debug_target);
  2048.   fputs_unfiltered (", ", gdb_stdlog);
  2049.   target_debug_print_struct_bp_location_p (arg1);
  2050.   fputs_unfiltered (")\n", gdb_stdlog);
  2051. }

  2052. static int
  2053. delegate_can_download_tracepoint (struct target_ops *self)
  2054. {
  2055.   self = self->beneath;
  2056.   return self->to_can_download_tracepoint (self);
  2057. }

  2058. static int
  2059. tdefault_can_download_tracepoint (struct target_ops *self)
  2060. {
  2061.   return 0;
  2062. }

  2063. static int
  2064. debug_can_download_tracepoint (struct target_ops *self)
  2065. {
  2066.   int result;
  2067.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_download_tracepoint (...)\n", debug_target.to_shortname);
  2068.   result = debug_target.to_can_download_tracepoint (&debug_target);
  2069.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_download_tracepoint (", debug_target.to_shortname);
  2070.   target_debug_print_struct_target_ops_p (&debug_target);
  2071.   fputs_unfiltered (") = ", gdb_stdlog);
  2072.   target_debug_print_int (result);
  2073.   fputs_unfiltered ("\n", gdb_stdlog);
  2074.   return result;
  2075. }

  2076. static void
  2077. delegate_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
  2078. {
  2079.   self = self->beneath;
  2080.   self->to_download_trace_state_variable (self, arg1);
  2081. }

  2082. static void
  2083. tdefault_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
  2084. {
  2085.   tcomplain ();
  2086. }

  2087. static void
  2088. debug_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
  2089. {
  2090.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_download_trace_state_variable (...)\n", debug_target.to_shortname);
  2091.   debug_target.to_download_trace_state_variable (&debug_target, arg1);
  2092.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_download_trace_state_variable (", debug_target.to_shortname);
  2093.   target_debug_print_struct_target_ops_p (&debug_target);
  2094.   fputs_unfiltered (", ", gdb_stdlog);
  2095.   target_debug_print_struct_trace_state_variable_p (arg1);
  2096.   fputs_unfiltered (")\n", gdb_stdlog);
  2097. }

  2098. static void
  2099. delegate_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
  2100. {
  2101.   self = self->beneath;
  2102.   self->to_enable_tracepoint (self, arg1);
  2103. }

  2104. static void
  2105. tdefault_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
  2106. {
  2107.   tcomplain ();
  2108. }

  2109. static void
  2110. debug_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
  2111. {
  2112.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_enable_tracepoint (...)\n", debug_target.to_shortname);
  2113.   debug_target.to_enable_tracepoint (&debug_target, arg1);
  2114.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_enable_tracepoint (", debug_target.to_shortname);
  2115.   target_debug_print_struct_target_ops_p (&debug_target);
  2116.   fputs_unfiltered (", ", gdb_stdlog);
  2117.   target_debug_print_struct_bp_location_p (arg1);
  2118.   fputs_unfiltered (")\n", gdb_stdlog);
  2119. }

  2120. static void
  2121. delegate_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
  2122. {
  2123.   self = self->beneath;
  2124.   self->to_disable_tracepoint (self, arg1);
  2125. }

  2126. static void
  2127. tdefault_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
  2128. {
  2129.   tcomplain ();
  2130. }

  2131. static void
  2132. debug_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
  2133. {
  2134.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_disable_tracepoint (...)\n", debug_target.to_shortname);
  2135.   debug_target.to_disable_tracepoint (&debug_target, arg1);
  2136.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_disable_tracepoint (", debug_target.to_shortname);
  2137.   target_debug_print_struct_target_ops_p (&debug_target);
  2138.   fputs_unfiltered (", ", gdb_stdlog);
  2139.   target_debug_print_struct_bp_location_p (arg1);
  2140.   fputs_unfiltered (")\n", gdb_stdlog);
  2141. }

  2142. static void
  2143. delegate_trace_set_readonly_regions (struct target_ops *self)
  2144. {
  2145.   self = self->beneath;
  2146.   self->to_trace_set_readonly_regions (self);
  2147. }

  2148. static void
  2149. tdefault_trace_set_readonly_regions (struct target_ops *self)
  2150. {
  2151.   tcomplain ();
  2152. }

  2153. static void
  2154. debug_trace_set_readonly_regions (struct target_ops *self)
  2155. {
  2156.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_set_readonly_regions (...)\n", debug_target.to_shortname);
  2157.   debug_target.to_trace_set_readonly_regions (&debug_target);
  2158.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_set_readonly_regions (", debug_target.to_shortname);
  2159.   target_debug_print_struct_target_ops_p (&debug_target);
  2160.   fputs_unfiltered (")\n", gdb_stdlog);
  2161. }

  2162. static void
  2163. delegate_trace_start (struct target_ops *self)
  2164. {
  2165.   self = self->beneath;
  2166.   self->to_trace_start (self);
  2167. }

  2168. static void
  2169. tdefault_trace_start (struct target_ops *self)
  2170. {
  2171.   tcomplain ();
  2172. }

  2173. static void
  2174. debug_trace_start (struct target_ops *self)
  2175. {
  2176.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_start (...)\n", debug_target.to_shortname);
  2177.   debug_target.to_trace_start (&debug_target);
  2178.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_start (", debug_target.to_shortname);
  2179.   target_debug_print_struct_target_ops_p (&debug_target);
  2180.   fputs_unfiltered (")\n", gdb_stdlog);
  2181. }

  2182. static int
  2183. delegate_get_trace_status (struct target_ops *self, struct trace_status *arg1)
  2184. {
  2185.   self = self->beneath;
  2186.   return self->to_get_trace_status (self, arg1);
  2187. }

  2188. static int
  2189. tdefault_get_trace_status (struct target_ops *self, struct trace_status *arg1)
  2190. {
  2191.   return -1;
  2192. }

  2193. static int
  2194. debug_get_trace_status (struct target_ops *self, struct trace_status *arg1)
  2195. {
  2196.   int result;
  2197.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_trace_status (...)\n", debug_target.to_shortname);
  2198.   result = debug_target.to_get_trace_status (&debug_target, arg1);
  2199.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_trace_status (", debug_target.to_shortname);
  2200.   target_debug_print_struct_target_ops_p (&debug_target);
  2201.   fputs_unfiltered (", ", gdb_stdlog);
  2202.   target_debug_print_struct_trace_status_p (arg1);
  2203.   fputs_unfiltered (") = ", gdb_stdlog);
  2204.   target_debug_print_int (result);
  2205.   fputs_unfiltered ("\n", gdb_stdlog);
  2206.   return result;
  2207. }

  2208. static void
  2209. delegate_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
  2210. {
  2211.   self = self->beneath;
  2212.   self->to_get_tracepoint_status (self, arg1, arg2);
  2213. }

  2214. static void
  2215. tdefault_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
  2216. {
  2217.   tcomplain ();
  2218. }

  2219. static void
  2220. debug_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
  2221. {
  2222.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tracepoint_status (...)\n", debug_target.to_shortname);
  2223.   debug_target.to_get_tracepoint_status (&debug_target, arg1, arg2);
  2224.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tracepoint_status (", debug_target.to_shortname);
  2225.   target_debug_print_struct_target_ops_p (&debug_target);
  2226.   fputs_unfiltered (", ", gdb_stdlog);
  2227.   target_debug_print_struct_breakpoint_p (arg1);
  2228.   fputs_unfiltered (", ", gdb_stdlog);
  2229.   target_debug_print_struct_uploaded_tp_p (arg2);
  2230.   fputs_unfiltered (")\n", gdb_stdlog);
  2231. }

  2232. static void
  2233. delegate_trace_stop (struct target_ops *self)
  2234. {
  2235.   self = self->beneath;
  2236.   self->to_trace_stop (self);
  2237. }

  2238. static void
  2239. tdefault_trace_stop (struct target_ops *self)
  2240. {
  2241.   tcomplain ();
  2242. }

  2243. static void
  2244. debug_trace_stop (struct target_ops *self)
  2245. {
  2246.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_stop (...)\n", debug_target.to_shortname);
  2247.   debug_target.to_trace_stop (&debug_target);
  2248.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_stop (", debug_target.to_shortname);
  2249.   target_debug_print_struct_target_ops_p (&debug_target);
  2250.   fputs_unfiltered (")\n", gdb_stdlog);
  2251. }

  2252. static int
  2253. delegate_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
  2254. {
  2255.   self = self->beneath;
  2256.   return self->to_trace_find (self, arg1, arg2, arg3, arg4, arg5);
  2257. }

  2258. static int
  2259. tdefault_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
  2260. {
  2261.   return -1;
  2262. }

  2263. static int
  2264. debug_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
  2265. {
  2266.   int result;
  2267.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_find (...)\n", debug_target.to_shortname);
  2268.   result = debug_target.to_trace_find (&debug_target, arg1, arg2, arg3, arg4, arg5);
  2269.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_find (", debug_target.to_shortname);
  2270.   target_debug_print_struct_target_ops_p (&debug_target);
  2271.   fputs_unfiltered (", ", gdb_stdlog);
  2272.   target_debug_print_enum_trace_find_type (arg1);
  2273.   fputs_unfiltered (", ", gdb_stdlog);
  2274.   target_debug_print_int (arg2);
  2275.   fputs_unfiltered (", ", gdb_stdlog);
  2276.   target_debug_print_CORE_ADDR (arg3);
  2277.   fputs_unfiltered (", ", gdb_stdlog);
  2278.   target_debug_print_CORE_ADDR (arg4);
  2279.   fputs_unfiltered (", ", gdb_stdlog);
  2280.   target_debug_print_int_p (arg5);
  2281.   fputs_unfiltered (") = ", gdb_stdlog);
  2282.   target_debug_print_int (result);
  2283.   fputs_unfiltered ("\n", gdb_stdlog);
  2284.   return result;
  2285. }

  2286. static int
  2287. delegate_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
  2288. {
  2289.   self = self->beneath;
  2290.   return self->to_get_trace_state_variable_value (self, arg1, arg2);
  2291. }

  2292. static int
  2293. tdefault_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
  2294. {
  2295.   return 0;
  2296. }

  2297. static int
  2298. debug_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
  2299. {
  2300.   int result;
  2301.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_trace_state_variable_value (...)\n", debug_target.to_shortname);
  2302.   result = debug_target.to_get_trace_state_variable_value (&debug_target, arg1, arg2);
  2303.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_trace_state_variable_value (", debug_target.to_shortname);
  2304.   target_debug_print_struct_target_ops_p (&debug_target);
  2305.   fputs_unfiltered (", ", gdb_stdlog);
  2306.   target_debug_print_int (arg1);
  2307.   fputs_unfiltered (", ", gdb_stdlog);
  2308.   target_debug_print_LONGEST_p (arg2);
  2309.   fputs_unfiltered (") = ", gdb_stdlog);
  2310.   target_debug_print_int (result);
  2311.   fputs_unfiltered ("\n", gdb_stdlog);
  2312.   return result;
  2313. }

  2314. static int
  2315. delegate_save_trace_data (struct target_ops *self, const char *arg1)
  2316. {
  2317.   self = self->beneath;
  2318.   return self->to_save_trace_data (self, arg1);
  2319. }

  2320. static int
  2321. tdefault_save_trace_data (struct target_ops *self, const char *arg1)
  2322. {
  2323.   tcomplain ();
  2324. }

  2325. static int
  2326. debug_save_trace_data (struct target_ops *self, const char *arg1)
  2327. {
  2328.   int result;
  2329.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_save_trace_data (...)\n", debug_target.to_shortname);
  2330.   result = debug_target.to_save_trace_data (&debug_target, arg1);
  2331.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_save_trace_data (", debug_target.to_shortname);
  2332.   target_debug_print_struct_target_ops_p (&debug_target);
  2333.   fputs_unfiltered (", ", gdb_stdlog);
  2334.   target_debug_print_const_char_p (arg1);
  2335.   fputs_unfiltered (") = ", gdb_stdlog);
  2336.   target_debug_print_int (result);
  2337.   fputs_unfiltered ("\n", gdb_stdlog);
  2338.   return result;
  2339. }

  2340. static int
  2341. delegate_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
  2342. {
  2343.   self = self->beneath;
  2344.   return self->to_upload_tracepoints (self, arg1);
  2345. }

  2346. static int
  2347. tdefault_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
  2348. {
  2349.   return 0;
  2350. }

  2351. static int
  2352. debug_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
  2353. {
  2354.   int result;
  2355.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_upload_tracepoints (...)\n", debug_target.to_shortname);
  2356.   result = debug_target.to_upload_tracepoints (&debug_target, arg1);
  2357.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_upload_tracepoints (", debug_target.to_shortname);
  2358.   target_debug_print_struct_target_ops_p (&debug_target);
  2359.   fputs_unfiltered (", ", gdb_stdlog);
  2360.   target_debug_print_struct_uploaded_tp_pp (arg1);
  2361.   fputs_unfiltered (") = ", gdb_stdlog);
  2362.   target_debug_print_int (result);
  2363.   fputs_unfiltered ("\n", gdb_stdlog);
  2364.   return result;
  2365. }

  2366. static int
  2367. delegate_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
  2368. {
  2369.   self = self->beneath;
  2370.   return self->to_upload_trace_state_variables (self, arg1);
  2371. }

  2372. static int
  2373. tdefault_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
  2374. {
  2375.   return 0;
  2376. }

  2377. static int
  2378. debug_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
  2379. {
  2380.   int result;
  2381.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_upload_trace_state_variables (...)\n", debug_target.to_shortname);
  2382.   result = debug_target.to_upload_trace_state_variables (&debug_target, arg1);
  2383.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_upload_trace_state_variables (", debug_target.to_shortname);
  2384.   target_debug_print_struct_target_ops_p (&debug_target);
  2385.   fputs_unfiltered (", ", gdb_stdlog);
  2386.   target_debug_print_struct_uploaded_tsv_pp (arg1);
  2387.   fputs_unfiltered (") = ", gdb_stdlog);
  2388.   target_debug_print_int (result);
  2389.   fputs_unfiltered ("\n", gdb_stdlog);
  2390.   return result;
  2391. }

  2392. static LONGEST
  2393. delegate_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
  2394. {
  2395.   self = self->beneath;
  2396.   return self->to_get_raw_trace_data (self, arg1, arg2, arg3);
  2397. }

  2398. static LONGEST
  2399. tdefault_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
  2400. {
  2401.   tcomplain ();
  2402. }

  2403. static LONGEST
  2404. debug_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
  2405. {
  2406.   LONGEST result;
  2407.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_raw_trace_data (...)\n", debug_target.to_shortname);
  2408.   result = debug_target.to_get_raw_trace_data (&debug_target, arg1, arg2, arg3);
  2409.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_raw_trace_data (", debug_target.to_shortname);
  2410.   target_debug_print_struct_target_ops_p (&debug_target);
  2411.   fputs_unfiltered (", ", gdb_stdlog);
  2412.   target_debug_print_gdb_byte_p (arg1);
  2413.   fputs_unfiltered (", ", gdb_stdlog);
  2414.   target_debug_print_ULONGEST (arg2);
  2415.   fputs_unfiltered (", ", gdb_stdlog);
  2416.   target_debug_print_LONGEST (arg3);
  2417.   fputs_unfiltered (") = ", gdb_stdlog);
  2418.   target_debug_print_LONGEST (result);
  2419.   fputs_unfiltered ("\n", gdb_stdlog);
  2420.   return result;
  2421. }

  2422. static int
  2423. delegate_get_min_fast_tracepoint_insn_len (struct target_ops *self)
  2424. {
  2425.   self = self->beneath;
  2426.   return self->to_get_min_fast_tracepoint_insn_len (self);
  2427. }

  2428. static int
  2429. tdefault_get_min_fast_tracepoint_insn_len (struct target_ops *self)
  2430. {
  2431.   return -1;
  2432. }

  2433. static int
  2434. debug_get_min_fast_tracepoint_insn_len (struct target_ops *self)
  2435. {
  2436.   int result;
  2437.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_min_fast_tracepoint_insn_len (...)\n", debug_target.to_shortname);
  2438.   result = debug_target.to_get_min_fast_tracepoint_insn_len (&debug_target);
  2439.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_min_fast_tracepoint_insn_len (", debug_target.to_shortname);
  2440.   target_debug_print_struct_target_ops_p (&debug_target);
  2441.   fputs_unfiltered (") = ", gdb_stdlog);
  2442.   target_debug_print_int (result);
  2443.   fputs_unfiltered ("\n", gdb_stdlog);
  2444.   return result;
  2445. }

  2446. static void
  2447. delegate_set_disconnected_tracing (struct target_ops *self, int arg1)
  2448. {
  2449.   self = self->beneath;
  2450.   self->to_set_disconnected_tracing (self, arg1);
  2451. }

  2452. static void
  2453. tdefault_set_disconnected_tracing (struct target_ops *self, int arg1)
  2454. {
  2455. }

  2456. static void
  2457. debug_set_disconnected_tracing (struct target_ops *self, int arg1)
  2458. {
  2459.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_disconnected_tracing (...)\n", debug_target.to_shortname);
  2460.   debug_target.to_set_disconnected_tracing (&debug_target, arg1);
  2461.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_disconnected_tracing (", debug_target.to_shortname);
  2462.   target_debug_print_struct_target_ops_p (&debug_target);
  2463.   fputs_unfiltered (", ", gdb_stdlog);
  2464.   target_debug_print_int (arg1);
  2465.   fputs_unfiltered (")\n", gdb_stdlog);
  2466. }

  2467. static void
  2468. delegate_set_circular_trace_buffer (struct target_ops *self, int arg1)
  2469. {
  2470.   self = self->beneath;
  2471.   self->to_set_circular_trace_buffer (self, arg1);
  2472. }

  2473. static void
  2474. tdefault_set_circular_trace_buffer (struct target_ops *self, int arg1)
  2475. {
  2476. }

  2477. static void
  2478. debug_set_circular_trace_buffer (struct target_ops *self, int arg1)
  2479. {
  2480.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_circular_trace_buffer (...)\n", debug_target.to_shortname);
  2481.   debug_target.to_set_circular_trace_buffer (&debug_target, arg1);
  2482.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_circular_trace_buffer (", debug_target.to_shortname);
  2483.   target_debug_print_struct_target_ops_p (&debug_target);
  2484.   fputs_unfiltered (", ", gdb_stdlog);
  2485.   target_debug_print_int (arg1);
  2486.   fputs_unfiltered (")\n", gdb_stdlog);
  2487. }

  2488. static void
  2489. delegate_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
  2490. {
  2491.   self = self->beneath;
  2492.   self->to_set_trace_buffer_size (self, arg1);
  2493. }

  2494. static void
  2495. tdefault_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
  2496. {
  2497. }

  2498. static void
  2499. debug_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
  2500. {
  2501.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_trace_buffer_size (...)\n", debug_target.to_shortname);
  2502.   debug_target.to_set_trace_buffer_size (&debug_target, arg1);
  2503.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_trace_buffer_size (", debug_target.to_shortname);
  2504.   target_debug_print_struct_target_ops_p (&debug_target);
  2505.   fputs_unfiltered (", ", gdb_stdlog);
  2506.   target_debug_print_LONGEST (arg1);
  2507.   fputs_unfiltered (")\n", gdb_stdlog);
  2508. }

  2509. static int
  2510. delegate_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
  2511. {
  2512.   self = self->beneath;
  2513.   return self->to_set_trace_notes (self, arg1, arg2, arg3);
  2514. }

  2515. static int
  2516. tdefault_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
  2517. {
  2518.   return 0;
  2519. }

  2520. static int
  2521. debug_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
  2522. {
  2523.   int result;
  2524.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_trace_notes (...)\n", debug_target.to_shortname);
  2525.   result = debug_target.to_set_trace_notes (&debug_target, arg1, arg2, arg3);
  2526.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_trace_notes (", debug_target.to_shortname);
  2527.   target_debug_print_struct_target_ops_p (&debug_target);
  2528.   fputs_unfiltered (", ", gdb_stdlog);
  2529.   target_debug_print_const_char_p (arg1);
  2530.   fputs_unfiltered (", ", gdb_stdlog);
  2531.   target_debug_print_const_char_p (arg2);
  2532.   fputs_unfiltered (", ", gdb_stdlog);
  2533.   target_debug_print_const_char_p (arg3);
  2534.   fputs_unfiltered (") = ", gdb_stdlog);
  2535.   target_debug_print_int (result);
  2536.   fputs_unfiltered ("\n", gdb_stdlog);
  2537.   return result;
  2538. }

  2539. static int
  2540. delegate_core_of_thread (struct target_ops *self, ptid_t arg1)
  2541. {
  2542.   self = self->beneath;
  2543.   return self->to_core_of_thread (self, arg1);
  2544. }

  2545. static int
  2546. tdefault_core_of_thread (struct target_ops *self, ptid_t arg1)
  2547. {
  2548.   return -1;
  2549. }

  2550. static int
  2551. debug_core_of_thread (struct target_ops *self, ptid_t arg1)
  2552. {
  2553.   int result;
  2554.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_core_of_thread (...)\n", debug_target.to_shortname);
  2555.   result = debug_target.to_core_of_thread (&debug_target, arg1);
  2556.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_core_of_thread (", debug_target.to_shortname);
  2557.   target_debug_print_struct_target_ops_p (&debug_target);
  2558.   fputs_unfiltered (", ", gdb_stdlog);
  2559.   target_debug_print_ptid_t (arg1);
  2560.   fputs_unfiltered (") = ", gdb_stdlog);
  2561.   target_debug_print_int (result);
  2562.   fputs_unfiltered ("\n", gdb_stdlog);
  2563.   return result;
  2564. }

  2565. static int
  2566. delegate_verify_memory (struct target_ops *self, const gdb_byte *arg1, CORE_ADDR arg2, ULONGEST arg3)
  2567. {
  2568.   self = self->beneath;
  2569.   return self->to_verify_memory (self, arg1, arg2, arg3);
  2570. }

  2571. static int
  2572. debug_verify_memory (struct target_ops *self, const gdb_byte *arg1, CORE_ADDR arg2, ULONGEST arg3)
  2573. {
  2574.   int result;
  2575.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_verify_memory (...)\n", debug_target.to_shortname);
  2576.   result = debug_target.to_verify_memory (&debug_target, arg1, arg2, arg3);
  2577.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_verify_memory (", debug_target.to_shortname);
  2578.   target_debug_print_struct_target_ops_p (&debug_target);
  2579.   fputs_unfiltered (", ", gdb_stdlog);
  2580.   target_debug_print_const_gdb_byte_p (arg1);
  2581.   fputs_unfiltered (", ", gdb_stdlog);
  2582.   target_debug_print_CORE_ADDR (arg2);
  2583.   fputs_unfiltered (", ", gdb_stdlog);
  2584.   target_debug_print_ULONGEST (arg3);
  2585.   fputs_unfiltered (") = ", gdb_stdlog);
  2586.   target_debug_print_int (result);
  2587.   fputs_unfiltered ("\n", gdb_stdlog);
  2588.   return result;
  2589. }

  2590. static int
  2591. delegate_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
  2592. {
  2593.   self = self->beneath;
  2594.   return self->to_get_tib_address (self, arg1, arg2);
  2595. }

  2596. static int
  2597. tdefault_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
  2598. {
  2599.   tcomplain ();
  2600. }

  2601. static int
  2602. debug_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
  2603. {
  2604.   int result;
  2605.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tib_address (...)\n", debug_target.to_shortname);
  2606.   result = debug_target.to_get_tib_address (&debug_target, arg1, arg2);
  2607.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tib_address (", debug_target.to_shortname);
  2608.   target_debug_print_struct_target_ops_p (&debug_target);
  2609.   fputs_unfiltered (", ", gdb_stdlog);
  2610.   target_debug_print_ptid_t (arg1);
  2611.   fputs_unfiltered (", ", gdb_stdlog);
  2612.   target_debug_print_CORE_ADDR_p (arg2);
  2613.   fputs_unfiltered (") = ", gdb_stdlog);
  2614.   target_debug_print_int (result);
  2615.   fputs_unfiltered ("\n", gdb_stdlog);
  2616.   return result;
  2617. }

  2618. static void
  2619. delegate_set_permissions (struct target_ops *self)
  2620. {
  2621.   self = self->beneath;
  2622.   self->to_set_permissions (self);
  2623. }

  2624. static void
  2625. tdefault_set_permissions (struct target_ops *self)
  2626. {
  2627. }

  2628. static void
  2629. debug_set_permissions (struct target_ops *self)
  2630. {
  2631.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_permissions (...)\n", debug_target.to_shortname);
  2632.   debug_target.to_set_permissions (&debug_target);
  2633.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_permissions (", debug_target.to_shortname);
  2634.   target_debug_print_struct_target_ops_p (&debug_target);
  2635.   fputs_unfiltered (")\n", gdb_stdlog);
  2636. }

  2637. static int
  2638. delegate_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
  2639. {
  2640.   self = self->beneath;
  2641.   return self->to_static_tracepoint_marker_at (self, arg1, arg2);
  2642. }

  2643. static int
  2644. tdefault_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
  2645. {
  2646.   return 0;
  2647. }

  2648. static int
  2649. debug_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
  2650. {
  2651.   int result;
  2652.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_static_tracepoint_marker_at (...)\n", debug_target.to_shortname);
  2653.   result = debug_target.to_static_tracepoint_marker_at (&debug_target, arg1, arg2);
  2654.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_static_tracepoint_marker_at (", debug_target.to_shortname);
  2655.   target_debug_print_struct_target_ops_p (&debug_target);
  2656.   fputs_unfiltered (", ", gdb_stdlog);
  2657.   target_debug_print_CORE_ADDR (arg1);
  2658.   fputs_unfiltered (", ", gdb_stdlog);
  2659.   target_debug_print_struct_static_tracepoint_marker_p (arg2);
  2660.   fputs_unfiltered (") = ", gdb_stdlog);
  2661.   target_debug_print_int (result);
  2662.   fputs_unfiltered ("\n", gdb_stdlog);
  2663.   return result;
  2664. }

  2665. static VEC(static_tracepoint_marker_p) *
  2666. delegate_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
  2667. {
  2668.   self = self->beneath;
  2669.   return self->to_static_tracepoint_markers_by_strid (self, arg1);
  2670. }

  2671. static VEC(static_tracepoint_marker_p) *
  2672. tdefault_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
  2673. {
  2674.   tcomplain ();
  2675. }

  2676. static VEC(static_tracepoint_marker_p) *
  2677. debug_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
  2678. {
  2679.   VEC(static_tracepoint_marker_p) * result;
  2680.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_static_tracepoint_markers_by_strid (...)\n", debug_target.to_shortname);
  2681.   result = debug_target.to_static_tracepoint_markers_by_strid (&debug_target, arg1);
  2682.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_static_tracepoint_markers_by_strid (", debug_target.to_shortname);
  2683.   target_debug_print_struct_target_ops_p (&debug_target);
  2684.   fputs_unfiltered (", ", gdb_stdlog);
  2685.   target_debug_print_const_char_p (arg1);
  2686.   fputs_unfiltered (") = ", gdb_stdlog);
  2687.   target_debug_print_VEC_static_tracepoint_marker_p__p (result);
  2688.   fputs_unfiltered ("\n", gdb_stdlog);
  2689.   return result;
  2690. }

  2691. static struct traceframe_info *
  2692. delegate_traceframe_info (struct target_ops *self)
  2693. {
  2694.   self = self->beneath;
  2695.   return self->to_traceframe_info (self);
  2696. }

  2697. static struct traceframe_info *
  2698. tdefault_traceframe_info (struct target_ops *self)
  2699. {
  2700.   tcomplain ();
  2701. }

  2702. static struct traceframe_info *
  2703. debug_traceframe_info (struct target_ops *self)
  2704. {
  2705.   struct traceframe_info * result;
  2706.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_traceframe_info (...)\n", debug_target.to_shortname);
  2707.   result = debug_target.to_traceframe_info (&debug_target);
  2708.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_traceframe_info (", debug_target.to_shortname);
  2709.   target_debug_print_struct_target_ops_p (&debug_target);
  2710.   fputs_unfiltered (") = ", gdb_stdlog);
  2711.   target_debug_print_struct_traceframe_info_p (result);
  2712.   fputs_unfiltered ("\n", gdb_stdlog);
  2713.   return result;
  2714. }

  2715. static int
  2716. delegate_use_agent (struct target_ops *self, int arg1)
  2717. {
  2718.   self = self->beneath;
  2719.   return self->to_use_agent (self, arg1);
  2720. }

  2721. static int
  2722. tdefault_use_agent (struct target_ops *self, int arg1)
  2723. {
  2724.   tcomplain ();
  2725. }

  2726. static int
  2727. debug_use_agent (struct target_ops *self, int arg1)
  2728. {
  2729.   int result;
  2730.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_use_agent (...)\n", debug_target.to_shortname);
  2731.   result = debug_target.to_use_agent (&debug_target, arg1);
  2732.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_use_agent (", debug_target.to_shortname);
  2733.   target_debug_print_struct_target_ops_p (&debug_target);
  2734.   fputs_unfiltered (", ", gdb_stdlog);
  2735.   target_debug_print_int (arg1);
  2736.   fputs_unfiltered (") = ", gdb_stdlog);
  2737.   target_debug_print_int (result);
  2738.   fputs_unfiltered ("\n", gdb_stdlog);
  2739.   return result;
  2740. }

  2741. static int
  2742. delegate_can_use_agent (struct target_ops *self)
  2743. {
  2744.   self = self->beneath;
  2745.   return self->to_can_use_agent (self);
  2746. }

  2747. static int
  2748. tdefault_can_use_agent (struct target_ops *self)
  2749. {
  2750.   return 0;
  2751. }

  2752. static int
  2753. debug_can_use_agent (struct target_ops *self)
  2754. {
  2755.   int result;
  2756.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_use_agent (...)\n", debug_target.to_shortname);
  2757.   result = debug_target.to_can_use_agent (&debug_target);
  2758.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_use_agent (", debug_target.to_shortname);
  2759.   target_debug_print_struct_target_ops_p (&debug_target);
  2760.   fputs_unfiltered (") = ", gdb_stdlog);
  2761.   target_debug_print_int (result);
  2762.   fputs_unfiltered ("\n", gdb_stdlog);
  2763.   return result;
  2764. }

  2765. static int
  2766. delegate_supports_btrace (struct target_ops *self)
  2767. {
  2768.   self = self->beneath;
  2769.   return self->to_supports_btrace (self);
  2770. }

  2771. static int
  2772. tdefault_supports_btrace (struct target_ops *self)
  2773. {
  2774.   return 0;
  2775. }

  2776. static int
  2777. debug_supports_btrace (struct target_ops *self)
  2778. {
  2779.   int result;
  2780.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_btrace (...)\n", debug_target.to_shortname);
  2781.   result = debug_target.to_supports_btrace (&debug_target);
  2782.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_btrace (", debug_target.to_shortname);
  2783.   target_debug_print_struct_target_ops_p (&debug_target);
  2784.   fputs_unfiltered (") = ", gdb_stdlog);
  2785.   target_debug_print_int (result);
  2786.   fputs_unfiltered ("\n", gdb_stdlog);
  2787.   return result;
  2788. }

  2789. static struct btrace_target_info *
  2790. delegate_enable_btrace (struct target_ops *self, ptid_t arg1)
  2791. {
  2792.   self = self->beneath;
  2793.   return self->to_enable_btrace (self, arg1);
  2794. }

  2795. static struct btrace_target_info *
  2796. tdefault_enable_btrace (struct target_ops *self, ptid_t arg1)
  2797. {
  2798.   tcomplain ();
  2799. }

  2800. static struct btrace_target_info *
  2801. debug_enable_btrace (struct target_ops *self, ptid_t arg1)
  2802. {
  2803.   struct btrace_target_info * result;
  2804.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_enable_btrace (...)\n", debug_target.to_shortname);
  2805.   result = debug_target.to_enable_btrace (&debug_target, arg1);
  2806.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_enable_btrace (", debug_target.to_shortname);
  2807.   target_debug_print_struct_target_ops_p (&debug_target);
  2808.   fputs_unfiltered (", ", gdb_stdlog);
  2809.   target_debug_print_ptid_t (arg1);
  2810.   fputs_unfiltered (") = ", gdb_stdlog);
  2811.   target_debug_print_struct_btrace_target_info_p (result);
  2812.   fputs_unfiltered ("\n", gdb_stdlog);
  2813.   return result;
  2814. }

  2815. static void
  2816. delegate_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
  2817. {
  2818.   self = self->beneath;
  2819.   self->to_disable_btrace (self, arg1);
  2820. }

  2821. static void
  2822. tdefault_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
  2823. {
  2824.   tcomplain ();
  2825. }

  2826. static void
  2827. debug_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
  2828. {
  2829.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_disable_btrace (...)\n", debug_target.to_shortname);
  2830.   debug_target.to_disable_btrace (&debug_target, arg1);
  2831.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_disable_btrace (", debug_target.to_shortname);
  2832.   target_debug_print_struct_target_ops_p (&debug_target);
  2833.   fputs_unfiltered (", ", gdb_stdlog);
  2834.   target_debug_print_struct_btrace_target_info_p (arg1);
  2835.   fputs_unfiltered (")\n", gdb_stdlog);
  2836. }

  2837. static void
  2838. delegate_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
  2839. {
  2840.   self = self->beneath;
  2841.   self->to_teardown_btrace (self, arg1);
  2842. }

  2843. static void
  2844. tdefault_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
  2845. {
  2846.   tcomplain ();
  2847. }

  2848. static void
  2849. debug_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
  2850. {
  2851.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_teardown_btrace (...)\n", debug_target.to_shortname);
  2852.   debug_target.to_teardown_btrace (&debug_target, arg1);
  2853.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_teardown_btrace (", debug_target.to_shortname);
  2854.   target_debug_print_struct_target_ops_p (&debug_target);
  2855.   fputs_unfiltered (", ", gdb_stdlog);
  2856.   target_debug_print_struct_btrace_target_info_p (arg1);
  2857.   fputs_unfiltered (")\n", gdb_stdlog);
  2858. }

  2859. static enum btrace_error
  2860. delegate_read_btrace (struct target_ops *self, VEC (btrace_block_s) **arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
  2861. {
  2862.   self = self->beneath;
  2863.   return self->to_read_btrace (self, arg1, arg2, arg3);
  2864. }

  2865. static enum btrace_error
  2866. tdefault_read_btrace (struct target_ops *self, VEC (btrace_block_s) **arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
  2867. {
  2868.   tcomplain ();
  2869. }

  2870. static enum btrace_error
  2871. debug_read_btrace (struct target_ops *self, VEC (btrace_block_s) **arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
  2872. {
  2873.   enum btrace_error result;
  2874.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_read_btrace (...)\n", debug_target.to_shortname);
  2875.   result = debug_target.to_read_btrace (&debug_target, arg1, arg2, arg3);
  2876.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_read_btrace (", debug_target.to_shortname);
  2877.   target_debug_print_struct_target_ops_p (&debug_target);
  2878.   fputs_unfiltered (", ", gdb_stdlog);
  2879.   target_debug_print_VEC__btrace_block_s__pp (arg1);
  2880.   fputs_unfiltered (", ", gdb_stdlog);
  2881.   target_debug_print_struct_btrace_target_info_p (arg2);
  2882.   fputs_unfiltered (", ", gdb_stdlog);
  2883.   target_debug_print_enum_btrace_read_type (arg3);
  2884.   fputs_unfiltered (") = ", gdb_stdlog);
  2885.   target_debug_print_enum_btrace_error (result);
  2886.   fputs_unfiltered ("\n", gdb_stdlog);
  2887.   return result;
  2888. }

  2889. static void
  2890. delegate_stop_recording (struct target_ops *self)
  2891. {
  2892.   self = self->beneath;
  2893.   self->to_stop_recording (self);
  2894. }

  2895. static void
  2896. tdefault_stop_recording (struct target_ops *self)
  2897. {
  2898. }

  2899. static void
  2900. debug_stop_recording (struct target_ops *self)
  2901. {
  2902.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_stop_recording (...)\n", debug_target.to_shortname);
  2903.   debug_target.to_stop_recording (&debug_target);
  2904.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_stop_recording (", debug_target.to_shortname);
  2905.   target_debug_print_struct_target_ops_p (&debug_target);
  2906.   fputs_unfiltered (")\n", gdb_stdlog);
  2907. }

  2908. static void
  2909. delegate_info_record (struct target_ops *self)
  2910. {
  2911.   self = self->beneath;
  2912.   self->to_info_record (self);
  2913. }

  2914. static void
  2915. tdefault_info_record (struct target_ops *self)
  2916. {
  2917. }

  2918. static void
  2919. debug_info_record (struct target_ops *self)
  2920. {
  2921.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_info_record (...)\n", debug_target.to_shortname);
  2922.   debug_target.to_info_record (&debug_target);
  2923.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_info_record (", debug_target.to_shortname);
  2924.   target_debug_print_struct_target_ops_p (&debug_target);
  2925.   fputs_unfiltered (")\n", gdb_stdlog);
  2926. }

  2927. static void
  2928. delegate_save_record (struct target_ops *self, const char *arg1)
  2929. {
  2930.   self = self->beneath;
  2931.   self->to_save_record (self, arg1);
  2932. }

  2933. static void
  2934. tdefault_save_record (struct target_ops *self, const char *arg1)
  2935. {
  2936.   tcomplain ();
  2937. }

  2938. static void
  2939. debug_save_record (struct target_ops *self, const char *arg1)
  2940. {
  2941.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_save_record (...)\n", debug_target.to_shortname);
  2942.   debug_target.to_save_record (&debug_target, arg1);
  2943.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_save_record (", debug_target.to_shortname);
  2944.   target_debug_print_struct_target_ops_p (&debug_target);
  2945.   fputs_unfiltered (", ", gdb_stdlog);
  2946.   target_debug_print_const_char_p (arg1);
  2947.   fputs_unfiltered (")\n", gdb_stdlog);
  2948. }

  2949. static void
  2950. delegate_delete_record (struct target_ops *self)
  2951. {
  2952.   self = self->beneath;
  2953.   self->to_delete_record (self);
  2954. }

  2955. static void
  2956. tdefault_delete_record (struct target_ops *self)
  2957. {
  2958.   tcomplain ();
  2959. }

  2960. static void
  2961. debug_delete_record (struct target_ops *self)
  2962. {
  2963.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_delete_record (...)\n", debug_target.to_shortname);
  2964.   debug_target.to_delete_record (&debug_target);
  2965.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_delete_record (", debug_target.to_shortname);
  2966.   target_debug_print_struct_target_ops_p (&debug_target);
  2967.   fputs_unfiltered (")\n", gdb_stdlog);
  2968. }

  2969. static int
  2970. delegate_record_is_replaying (struct target_ops *self)
  2971. {
  2972.   self = self->beneath;
  2973.   return self->to_record_is_replaying (self);
  2974. }

  2975. static int
  2976. tdefault_record_is_replaying (struct target_ops *self)
  2977. {
  2978.   return 0;
  2979. }

  2980. static int
  2981. debug_record_is_replaying (struct target_ops *self)
  2982. {
  2983.   int result;
  2984.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_record_is_replaying (...)\n", debug_target.to_shortname);
  2985.   result = debug_target.to_record_is_replaying (&debug_target);
  2986.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_record_is_replaying (", debug_target.to_shortname);
  2987.   target_debug_print_struct_target_ops_p (&debug_target);
  2988.   fputs_unfiltered (") = ", gdb_stdlog);
  2989.   target_debug_print_int (result);
  2990.   fputs_unfiltered ("\n", gdb_stdlog);
  2991.   return result;
  2992. }

  2993. static void
  2994. delegate_goto_record_begin (struct target_ops *self)
  2995. {
  2996.   self = self->beneath;
  2997.   self->to_goto_record_begin (self);
  2998. }

  2999. static void
  3000. tdefault_goto_record_begin (struct target_ops *self)
  3001. {
  3002.   tcomplain ();
  3003. }

  3004. static void
  3005. debug_goto_record_begin (struct target_ops *self)
  3006. {
  3007.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record_begin (...)\n", debug_target.to_shortname);
  3008.   debug_target.to_goto_record_begin (&debug_target);
  3009.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record_begin (", debug_target.to_shortname);
  3010.   target_debug_print_struct_target_ops_p (&debug_target);
  3011.   fputs_unfiltered (")\n", gdb_stdlog);
  3012. }

  3013. static void
  3014. delegate_goto_record_end (struct target_ops *self)
  3015. {
  3016.   self = self->beneath;
  3017.   self->to_goto_record_end (self);
  3018. }

  3019. static void
  3020. tdefault_goto_record_end (struct target_ops *self)
  3021. {
  3022.   tcomplain ();
  3023. }

  3024. static void
  3025. debug_goto_record_end (struct target_ops *self)
  3026. {
  3027.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record_end (...)\n", debug_target.to_shortname);
  3028.   debug_target.to_goto_record_end (&debug_target);
  3029.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record_end (", debug_target.to_shortname);
  3030.   target_debug_print_struct_target_ops_p (&debug_target);
  3031.   fputs_unfiltered (")\n", gdb_stdlog);
  3032. }

  3033. static void
  3034. delegate_goto_record (struct target_ops *self, ULONGEST arg1)
  3035. {
  3036.   self = self->beneath;
  3037.   self->to_goto_record (self, arg1);
  3038. }

  3039. static void
  3040. tdefault_goto_record (struct target_ops *self, ULONGEST arg1)
  3041. {
  3042.   tcomplain ();
  3043. }

  3044. static void
  3045. debug_goto_record (struct target_ops *self, ULONGEST arg1)
  3046. {
  3047.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record (...)\n", debug_target.to_shortname);
  3048.   debug_target.to_goto_record (&debug_target, arg1);
  3049.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record (", debug_target.to_shortname);
  3050.   target_debug_print_struct_target_ops_p (&debug_target);
  3051.   fputs_unfiltered (", ", gdb_stdlog);
  3052.   target_debug_print_ULONGEST (arg1);
  3053.   fputs_unfiltered (")\n", gdb_stdlog);
  3054. }

  3055. static void
  3056. delegate_insn_history (struct target_ops *self, int arg1, int arg2)
  3057. {
  3058.   self = self->beneath;
  3059.   self->to_insn_history (self, arg1, arg2);
  3060. }

  3061. static void
  3062. tdefault_insn_history (struct target_ops *self, int arg1, int arg2)
  3063. {
  3064.   tcomplain ();
  3065. }

  3066. static void
  3067. debug_insn_history (struct target_ops *self, int arg1, int arg2)
  3068. {
  3069.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history (...)\n", debug_target.to_shortname);
  3070.   debug_target.to_insn_history (&debug_target, arg1, arg2);
  3071.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history (", debug_target.to_shortname);
  3072.   target_debug_print_struct_target_ops_p (&debug_target);
  3073.   fputs_unfiltered (", ", gdb_stdlog);
  3074.   target_debug_print_int (arg1);
  3075.   fputs_unfiltered (", ", gdb_stdlog);
  3076.   target_debug_print_int (arg2);
  3077.   fputs_unfiltered (")\n", gdb_stdlog);
  3078. }

  3079. static void
  3080. delegate_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
  3081. {
  3082.   self = self->beneath;
  3083.   self->to_insn_history_from (self, arg1, arg2, arg3);
  3084. }

  3085. static void
  3086. tdefault_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
  3087. {
  3088.   tcomplain ();
  3089. }

  3090. static void
  3091. debug_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
  3092. {
  3093.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history_from (...)\n", debug_target.to_shortname);
  3094.   debug_target.to_insn_history_from (&debug_target, arg1, arg2, arg3);
  3095.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history_from (", debug_target.to_shortname);
  3096.   target_debug_print_struct_target_ops_p (&debug_target);
  3097.   fputs_unfiltered (", ", gdb_stdlog);
  3098.   target_debug_print_ULONGEST (arg1);
  3099.   fputs_unfiltered (", ", gdb_stdlog);
  3100.   target_debug_print_int (arg2);
  3101.   fputs_unfiltered (", ", gdb_stdlog);
  3102.   target_debug_print_int (arg3);
  3103.   fputs_unfiltered (")\n", gdb_stdlog);
  3104. }

  3105. static void
  3106. delegate_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
  3107. {
  3108.   self = self->beneath;
  3109.   self->to_insn_history_range (self, arg1, arg2, arg3);
  3110. }

  3111. static void
  3112. tdefault_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
  3113. {
  3114.   tcomplain ();
  3115. }

  3116. static void
  3117. debug_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
  3118. {
  3119.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history_range (...)\n", debug_target.to_shortname);
  3120.   debug_target.to_insn_history_range (&debug_target, arg1, arg2, arg3);
  3121.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history_range (", debug_target.to_shortname);
  3122.   target_debug_print_struct_target_ops_p (&debug_target);
  3123.   fputs_unfiltered (", ", gdb_stdlog);
  3124.   target_debug_print_ULONGEST (arg1);
  3125.   fputs_unfiltered (", ", gdb_stdlog);
  3126.   target_debug_print_ULONGEST (arg2);
  3127.   fputs_unfiltered (", ", gdb_stdlog);
  3128.   target_debug_print_int (arg3);
  3129.   fputs_unfiltered (")\n", gdb_stdlog);
  3130. }

  3131. static void
  3132. delegate_call_history (struct target_ops *self, int arg1, int arg2)
  3133. {
  3134.   self = self->beneath;
  3135.   self->to_call_history (self, arg1, arg2);
  3136. }

  3137. static void
  3138. tdefault_call_history (struct target_ops *self, int arg1, int arg2)
  3139. {
  3140.   tcomplain ();
  3141. }

  3142. static void
  3143. debug_call_history (struct target_ops *self, int arg1, int arg2)
  3144. {
  3145.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history (...)\n", debug_target.to_shortname);
  3146.   debug_target.to_call_history (&debug_target, arg1, arg2);
  3147.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history (", debug_target.to_shortname);
  3148.   target_debug_print_struct_target_ops_p (&debug_target);
  3149.   fputs_unfiltered (", ", gdb_stdlog);
  3150.   target_debug_print_int (arg1);
  3151.   fputs_unfiltered (", ", gdb_stdlog);
  3152.   target_debug_print_int (arg2);
  3153.   fputs_unfiltered (")\n", gdb_stdlog);
  3154. }

  3155. static void
  3156. delegate_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
  3157. {
  3158.   self = self->beneath;
  3159.   self->to_call_history_from (self, arg1, arg2, arg3);
  3160. }

  3161. static void
  3162. tdefault_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
  3163. {
  3164.   tcomplain ();
  3165. }

  3166. static void
  3167. debug_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
  3168. {
  3169.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history_from (...)\n", debug_target.to_shortname);
  3170.   debug_target.to_call_history_from (&debug_target, arg1, arg2, arg3);
  3171.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history_from (", debug_target.to_shortname);
  3172.   target_debug_print_struct_target_ops_p (&debug_target);
  3173.   fputs_unfiltered (", ", gdb_stdlog);
  3174.   target_debug_print_ULONGEST (arg1);
  3175.   fputs_unfiltered (", ", gdb_stdlog);
  3176.   target_debug_print_int (arg2);
  3177.   fputs_unfiltered (", ", gdb_stdlog);
  3178.   target_debug_print_int (arg3);
  3179.   fputs_unfiltered (")\n", gdb_stdlog);
  3180. }

  3181. static void
  3182. delegate_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
  3183. {
  3184.   self = self->beneath;
  3185.   self->to_call_history_range (self, arg1, arg2, arg3);
  3186. }

  3187. static void
  3188. tdefault_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
  3189. {
  3190.   tcomplain ();
  3191. }

  3192. static void
  3193. debug_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
  3194. {
  3195.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history_range (...)\n", debug_target.to_shortname);
  3196.   debug_target.to_call_history_range (&debug_target, arg1, arg2, arg3);
  3197.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history_range (", debug_target.to_shortname);
  3198.   target_debug_print_struct_target_ops_p (&debug_target);
  3199.   fputs_unfiltered (", ", gdb_stdlog);
  3200.   target_debug_print_ULONGEST (arg1);
  3201.   fputs_unfiltered (", ", gdb_stdlog);
  3202.   target_debug_print_ULONGEST (arg2);
  3203.   fputs_unfiltered (", ", gdb_stdlog);
  3204.   target_debug_print_int (arg3);
  3205.   fputs_unfiltered (")\n", gdb_stdlog);
  3206. }

  3207. static int
  3208. delegate_augmented_libraries_svr4_read (struct target_ops *self)
  3209. {
  3210.   self = self->beneath;
  3211.   return self->to_augmented_libraries_svr4_read (self);
  3212. }

  3213. static int
  3214. tdefault_augmented_libraries_svr4_read (struct target_ops *self)
  3215. {
  3216.   return 0;
  3217. }

  3218. static int
  3219. debug_augmented_libraries_svr4_read (struct target_ops *self)
  3220. {
  3221.   int result;
  3222.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_augmented_libraries_svr4_read (...)\n", debug_target.to_shortname);
  3223.   result = debug_target.to_augmented_libraries_svr4_read (&debug_target);
  3224.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_augmented_libraries_svr4_read (", debug_target.to_shortname);
  3225.   target_debug_print_struct_target_ops_p (&debug_target);
  3226.   fputs_unfiltered (") = ", gdb_stdlog);
  3227.   target_debug_print_int (result);
  3228.   fputs_unfiltered ("\n", gdb_stdlog);
  3229.   return result;
  3230. }

  3231. static const struct frame_unwind *
  3232. delegate_get_unwinder (struct target_ops *self)
  3233. {
  3234.   self = self->beneath;
  3235.   return self->to_get_unwinder (self);
  3236. }

  3237. static const struct frame_unwind *
  3238. tdefault_get_unwinder (struct target_ops *self)
  3239. {
  3240.   return NULL;
  3241. }

  3242. static const struct frame_unwind *
  3243. debug_get_unwinder (struct target_ops *self)
  3244. {
  3245.   const struct frame_unwind * result;
  3246.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_unwinder (...)\n", debug_target.to_shortname);
  3247.   result = debug_target.to_get_unwinder (&debug_target);
  3248.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_unwinder (", debug_target.to_shortname);
  3249.   target_debug_print_struct_target_ops_p (&debug_target);
  3250.   fputs_unfiltered (") = ", gdb_stdlog);
  3251.   target_debug_print_const_struct_frame_unwind_p (result);
  3252.   fputs_unfiltered ("\n", gdb_stdlog);
  3253.   return result;
  3254. }

  3255. static const struct frame_unwind *
  3256. delegate_get_tailcall_unwinder (struct target_ops *self)
  3257. {
  3258.   self = self->beneath;
  3259.   return self->to_get_tailcall_unwinder (self);
  3260. }

  3261. static const struct frame_unwind *
  3262. tdefault_get_tailcall_unwinder (struct target_ops *self)
  3263. {
  3264.   return NULL;
  3265. }

  3266. static const struct frame_unwind *
  3267. debug_get_tailcall_unwinder (struct target_ops *self)
  3268. {
  3269.   const struct frame_unwind * result;
  3270.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tailcall_unwinder (...)\n", debug_target.to_shortname);
  3271.   result = debug_target.to_get_tailcall_unwinder (&debug_target);
  3272.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tailcall_unwinder (", debug_target.to_shortname);
  3273.   target_debug_print_struct_target_ops_p (&debug_target);
  3274.   fputs_unfiltered (") = ", gdb_stdlog);
  3275.   target_debug_print_const_struct_frame_unwind_p (result);
  3276.   fputs_unfiltered ("\n", gdb_stdlog);
  3277.   return result;
  3278. }

  3279. static CORE_ADDR
  3280. delegate_decr_pc_after_break (struct target_ops *self, struct gdbarch *arg1)
  3281. {
  3282.   self = self->beneath;
  3283.   return self->to_decr_pc_after_break (self, arg1);
  3284. }

  3285. static CORE_ADDR
  3286. debug_decr_pc_after_break (struct target_ops *self, struct gdbarch *arg1)
  3287. {
  3288.   CORE_ADDR result;
  3289.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_decr_pc_after_break (...)\n", debug_target.to_shortname);
  3290.   result = debug_target.to_decr_pc_after_break (&debug_target, arg1);
  3291.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_decr_pc_after_break (", debug_target.to_shortname);
  3292.   target_debug_print_struct_target_ops_p (&debug_target);
  3293.   fputs_unfiltered (", ", gdb_stdlog);
  3294.   target_debug_print_struct_gdbarch_p (arg1);
  3295.   fputs_unfiltered (") = ", gdb_stdlog);
  3296.   target_debug_print_CORE_ADDR (result);
  3297.   fputs_unfiltered ("\n", gdb_stdlog);
  3298.   return result;
  3299. }

  3300. static void
  3301. delegate_prepare_to_generate_core (struct target_ops *self)
  3302. {
  3303.   self = self->beneath;
  3304.   self->to_prepare_to_generate_core (self);
  3305. }

  3306. static void
  3307. tdefault_prepare_to_generate_core (struct target_ops *self)
  3308. {
  3309. }

  3310. static void
  3311. debug_prepare_to_generate_core (struct target_ops *self)
  3312. {
  3313.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_prepare_to_generate_core (...)\n", debug_target.to_shortname);
  3314.   debug_target.to_prepare_to_generate_core (&debug_target);
  3315.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_prepare_to_generate_core (", debug_target.to_shortname);
  3316.   target_debug_print_struct_target_ops_p (&debug_target);
  3317.   fputs_unfiltered (")\n", gdb_stdlog);
  3318. }

  3319. static void
  3320. delegate_done_generating_core (struct target_ops *self)
  3321. {
  3322.   self = self->beneath;
  3323.   self->to_done_generating_core (self);
  3324. }

  3325. static void
  3326. tdefault_done_generating_core (struct target_ops *self)
  3327. {
  3328. }

  3329. static void
  3330. debug_done_generating_core (struct target_ops *self)
  3331. {
  3332.   fprintf_unfiltered (gdb_stdlog, "-> %s->to_done_generating_core (...)\n", debug_target.to_shortname);
  3333.   debug_target.to_done_generating_core (&debug_target);
  3334.   fprintf_unfiltered (gdb_stdlog, "<- %s->to_done_generating_core (", debug_target.to_shortname);
  3335.   target_debug_print_struct_target_ops_p (&debug_target);
  3336.   fputs_unfiltered (")\n", gdb_stdlog);
  3337. }

  3338. static void
  3339. install_delegators (struct target_ops *ops)
  3340. {
  3341.   if (ops->to_post_attach == NULL)
  3342.     ops->to_post_attach = delegate_post_attach;
  3343.   if (ops->to_detach == NULL)
  3344.     ops->to_detach = delegate_detach;
  3345.   if (ops->to_disconnect == NULL)
  3346.     ops->to_disconnect = delegate_disconnect;
  3347.   if (ops->to_resume == NULL)
  3348.     ops->to_resume = delegate_resume;
  3349.   if (ops->to_wait == NULL)
  3350.     ops->to_wait = delegate_wait;
  3351.   if (ops->to_fetch_registers == NULL)
  3352.     ops->to_fetch_registers = delegate_fetch_registers;
  3353.   if (ops->to_store_registers == NULL)
  3354.     ops->to_store_registers = delegate_store_registers;
  3355.   if (ops->to_prepare_to_store == NULL)
  3356.     ops->to_prepare_to_store = delegate_prepare_to_store;
  3357.   if (ops->to_files_info == NULL)
  3358.     ops->to_files_info = delegate_files_info;
  3359.   if (ops->to_insert_breakpoint == NULL)
  3360.     ops->to_insert_breakpoint = delegate_insert_breakpoint;
  3361.   if (ops->to_remove_breakpoint == NULL)
  3362.     ops->to_remove_breakpoint = delegate_remove_breakpoint;
  3363.   if (ops->to_can_use_hw_breakpoint == NULL)
  3364.     ops->to_can_use_hw_breakpoint = delegate_can_use_hw_breakpoint;
  3365.   if (ops->to_ranged_break_num_registers == NULL)
  3366.     ops->to_ranged_break_num_registers = delegate_ranged_break_num_registers;
  3367.   if (ops->to_insert_hw_breakpoint == NULL)
  3368.     ops->to_insert_hw_breakpoint = delegate_insert_hw_breakpoint;
  3369.   if (ops->to_remove_hw_breakpoint == NULL)
  3370.     ops->to_remove_hw_breakpoint = delegate_remove_hw_breakpoint;
  3371.   if (ops->to_remove_watchpoint == NULL)
  3372.     ops->to_remove_watchpoint = delegate_remove_watchpoint;
  3373.   if (ops->to_insert_watchpoint == NULL)
  3374.     ops->to_insert_watchpoint = delegate_insert_watchpoint;
  3375.   if (ops->to_insert_mask_watchpoint == NULL)
  3376.     ops->to_insert_mask_watchpoint = delegate_insert_mask_watchpoint;
  3377.   if (ops->to_remove_mask_watchpoint == NULL)
  3378.     ops->to_remove_mask_watchpoint = delegate_remove_mask_watchpoint;
  3379.   if (ops->to_stopped_by_watchpoint == NULL)
  3380.     ops->to_stopped_by_watchpoint = delegate_stopped_by_watchpoint;
  3381.   if (ops->to_stopped_data_address == NULL)
  3382.     ops->to_stopped_data_address = delegate_stopped_data_address;
  3383.   if (ops->to_watchpoint_addr_within_range == NULL)
  3384.     ops->to_watchpoint_addr_within_range = delegate_watchpoint_addr_within_range;
  3385.   if (ops->to_region_ok_for_hw_watchpoint == NULL)
  3386.     ops->to_region_ok_for_hw_watchpoint = delegate_region_ok_for_hw_watchpoint;
  3387.   if (ops->to_can_accel_watchpoint_condition == NULL)
  3388.     ops->to_can_accel_watchpoint_condition = delegate_can_accel_watchpoint_condition;
  3389.   if (ops->to_masked_watch_num_registers == NULL)
  3390.     ops->to_masked_watch_num_registers = delegate_masked_watch_num_registers;
  3391.   if (ops->to_terminal_init == NULL)
  3392.     ops->to_terminal_init = delegate_terminal_init;
  3393.   if (ops->to_terminal_inferior == NULL)
  3394.     ops->to_terminal_inferior = delegate_terminal_inferior;
  3395.   if (ops->to_terminal_ours_for_output == NULL)
  3396.     ops->to_terminal_ours_for_output = delegate_terminal_ours_for_output;
  3397.   if (ops->to_terminal_ours == NULL)
  3398.     ops->to_terminal_ours = delegate_terminal_ours;
  3399.   if (ops->to_terminal_info == NULL)
  3400.     ops->to_terminal_info = delegate_terminal_info;
  3401.   if (ops->to_kill == NULL)
  3402.     ops->to_kill = delegate_kill;
  3403.   if (ops->to_load == NULL)
  3404.     ops->to_load = delegate_load;
  3405.   if (ops->to_post_startup_inferior == NULL)
  3406.     ops->to_post_startup_inferior = delegate_post_startup_inferior;
  3407.   if (ops->to_insert_fork_catchpoint == NULL)
  3408.     ops->to_insert_fork_catchpoint = delegate_insert_fork_catchpoint;
  3409.   if (ops->to_remove_fork_catchpoint == NULL)
  3410.     ops->to_remove_fork_catchpoint = delegate_remove_fork_catchpoint;
  3411.   if (ops->to_insert_vfork_catchpoint == NULL)
  3412.     ops->to_insert_vfork_catchpoint = delegate_insert_vfork_catchpoint;
  3413.   if (ops->to_remove_vfork_catchpoint == NULL)
  3414.     ops->to_remove_vfork_catchpoint = delegate_remove_vfork_catchpoint;
  3415.   if (ops->to_follow_fork == NULL)
  3416.     ops->to_follow_fork = delegate_follow_fork;
  3417.   if (ops->to_insert_exec_catchpoint == NULL)
  3418.     ops->to_insert_exec_catchpoint = delegate_insert_exec_catchpoint;
  3419.   if (ops->to_remove_exec_catchpoint == NULL)
  3420.     ops->to_remove_exec_catchpoint = delegate_remove_exec_catchpoint;
  3421.   if (ops->to_set_syscall_catchpoint == NULL)
  3422.     ops->to_set_syscall_catchpoint = delegate_set_syscall_catchpoint;
  3423.   if (ops->to_has_exited == NULL)
  3424.     ops->to_has_exited = delegate_has_exited;
  3425.   if (ops->to_mourn_inferior == NULL)
  3426.     ops->to_mourn_inferior = delegate_mourn_inferior;
  3427.   if (ops->to_can_run == NULL)
  3428.     ops->to_can_run = delegate_can_run;
  3429.   if (ops->to_pass_signals == NULL)
  3430.     ops->to_pass_signals = delegate_pass_signals;
  3431.   if (ops->to_program_signals == NULL)
  3432.     ops->to_program_signals = delegate_program_signals;
  3433.   if (ops->to_thread_alive == NULL)
  3434.     ops->to_thread_alive = delegate_thread_alive;
  3435.   if (ops->to_update_thread_list == NULL)
  3436.     ops->to_update_thread_list = delegate_update_thread_list;
  3437.   if (ops->to_pid_to_str == NULL)
  3438.     ops->to_pid_to_str = delegate_pid_to_str;
  3439.   if (ops->to_extra_thread_info == NULL)
  3440.     ops->to_extra_thread_info = delegate_extra_thread_info;
  3441.   if (ops->to_thread_name == NULL)
  3442.     ops->to_thread_name = delegate_thread_name;
  3443.   if (ops->to_stop == NULL)
  3444.     ops->to_stop = delegate_stop;
  3445.   if (ops->to_rcmd == NULL)
  3446.     ops->to_rcmd = delegate_rcmd;
  3447.   if (ops->to_pid_to_exec_file == NULL)
  3448.     ops->to_pid_to_exec_file = delegate_pid_to_exec_file;
  3449.   if (ops->to_log_command == NULL)
  3450.     ops->to_log_command = delegate_log_command;
  3451.   if (ops->to_get_section_table == NULL)
  3452.     ops->to_get_section_table = delegate_get_section_table;
  3453.   if (ops->to_can_async_p == NULL)
  3454.     ops->to_can_async_p = delegate_can_async_p;
  3455.   if (ops->to_is_async_p == NULL)
  3456.     ops->to_is_async_p = delegate_is_async_p;
  3457.   if (ops->to_async == NULL)
  3458.     ops->to_async = delegate_async;
  3459.   if (ops->to_supports_non_stop == NULL)
  3460.     ops->to_supports_non_stop = delegate_supports_non_stop;
  3461.   if (ops->to_find_memory_regions == NULL)
  3462.     ops->to_find_memory_regions = delegate_find_memory_regions;
  3463.   if (ops->to_make_corefile_notes == NULL)
  3464.     ops->to_make_corefile_notes = delegate_make_corefile_notes;
  3465.   if (ops->to_get_bookmark == NULL)
  3466.     ops->to_get_bookmark = delegate_get_bookmark;
  3467.   if (ops->to_goto_bookmark == NULL)
  3468.     ops->to_goto_bookmark = delegate_goto_bookmark;
  3469.   if (ops->to_get_thread_local_address == NULL)
  3470.     ops->to_get_thread_local_address = delegate_get_thread_local_address;
  3471.   if (ops->to_xfer_partial == NULL)
  3472.     ops->to_xfer_partial = delegate_xfer_partial;
  3473.   if (ops->to_memory_map == NULL)
  3474.     ops->to_memory_map = delegate_memory_map;
  3475.   if (ops->to_flash_erase == NULL)
  3476.     ops->to_flash_erase = delegate_flash_erase;
  3477.   if (ops->to_flash_done == NULL)
  3478.     ops->to_flash_done = delegate_flash_done;
  3479.   if (ops->to_read_description == NULL)
  3480.     ops->to_read_description = delegate_read_description;
  3481.   if (ops->to_get_ada_task_ptid == NULL)
  3482.     ops->to_get_ada_task_ptid = delegate_get_ada_task_ptid;
  3483.   if (ops->to_auxv_parse == NULL)
  3484.     ops->to_auxv_parse = delegate_auxv_parse;
  3485.   if (ops->to_search_memory == NULL)
  3486.     ops->to_search_memory = delegate_search_memory;
  3487.   if (ops->to_can_execute_reverse == NULL)
  3488.     ops->to_can_execute_reverse = delegate_can_execute_reverse;
  3489.   if (ops->to_execution_direction == NULL)
  3490.     ops->to_execution_direction = delegate_execution_direction;
  3491.   if (ops->to_supports_multi_process == NULL)
  3492.     ops->to_supports_multi_process = delegate_supports_multi_process;
  3493.   if (ops->to_supports_enable_disable_tracepoint == NULL)
  3494.     ops->to_supports_enable_disable_tracepoint = delegate_supports_enable_disable_tracepoint;
  3495.   if (ops->to_supports_string_tracing == NULL)
  3496.     ops->to_supports_string_tracing = delegate_supports_string_tracing;
  3497.   if (ops->to_supports_evaluation_of_breakpoint_conditions == NULL)
  3498.     ops->to_supports_evaluation_of_breakpoint_conditions = delegate_supports_evaluation_of_breakpoint_conditions;
  3499.   if (ops->to_can_run_breakpoint_commands == NULL)
  3500.     ops->to_can_run_breakpoint_commands = delegate_can_run_breakpoint_commands;
  3501.   if (ops->to_thread_architecture == NULL)
  3502.     ops->to_thread_architecture = delegate_thread_architecture;
  3503.   if (ops->to_thread_address_space == NULL)
  3504.     ops->to_thread_address_space = delegate_thread_address_space;
  3505.   if (ops->to_trace_init == NULL)
  3506.     ops->to_trace_init = delegate_trace_init;
  3507.   if (ops->to_download_tracepoint == NULL)
  3508.     ops->to_download_tracepoint = delegate_download_tracepoint;
  3509.   if (ops->to_can_download_tracepoint == NULL)
  3510.     ops->to_can_download_tracepoint = delegate_can_download_tracepoint;
  3511.   if (ops->to_download_trace_state_variable == NULL)
  3512.     ops->to_download_trace_state_variable = delegate_download_trace_state_variable;
  3513.   if (ops->to_enable_tracepoint == NULL)
  3514.     ops->to_enable_tracepoint = delegate_enable_tracepoint;
  3515.   if (ops->to_disable_tracepoint == NULL)
  3516.     ops->to_disable_tracepoint = delegate_disable_tracepoint;
  3517.   if (ops->to_trace_set_readonly_regions == NULL)
  3518.     ops->to_trace_set_readonly_regions = delegate_trace_set_readonly_regions;
  3519.   if (ops->to_trace_start == NULL)
  3520.     ops->to_trace_start = delegate_trace_start;
  3521.   if (ops->to_get_trace_status == NULL)
  3522.     ops->to_get_trace_status = delegate_get_trace_status;
  3523.   if (ops->to_get_tracepoint_status == NULL)
  3524.     ops->to_get_tracepoint_status = delegate_get_tracepoint_status;
  3525.   if (ops->to_trace_stop == NULL)
  3526.     ops->to_trace_stop = delegate_trace_stop;
  3527.   if (ops->to_trace_find == NULL)
  3528.     ops->to_trace_find = delegate_trace_find;
  3529.   if (ops->to_get_trace_state_variable_value == NULL)
  3530.     ops->to_get_trace_state_variable_value = delegate_get_trace_state_variable_value;
  3531.   if (ops->to_save_trace_data == NULL)
  3532.     ops->to_save_trace_data = delegate_save_trace_data;
  3533.   if (ops->to_upload_tracepoints == NULL)
  3534.     ops->to_upload_tracepoints = delegate_upload_tracepoints;
  3535.   if (ops->to_upload_trace_state_variables == NULL)
  3536.     ops->to_upload_trace_state_variables = delegate_upload_trace_state_variables;
  3537.   if (ops->to_get_raw_trace_data == NULL)
  3538.     ops->to_get_raw_trace_data = delegate_get_raw_trace_data;
  3539.   if (ops->to_get_min_fast_tracepoint_insn_len == NULL)
  3540.     ops->to_get_min_fast_tracepoint_insn_len = delegate_get_min_fast_tracepoint_insn_len;
  3541.   if (ops->to_set_disconnected_tracing == NULL)
  3542.     ops->to_set_disconnected_tracing = delegate_set_disconnected_tracing;
  3543.   if (ops->to_set_circular_trace_buffer == NULL)
  3544.     ops->to_set_circular_trace_buffer = delegate_set_circular_trace_buffer;
  3545.   if (ops->to_set_trace_buffer_size == NULL)
  3546.     ops->to_set_trace_buffer_size = delegate_set_trace_buffer_size;
  3547.   if (ops->to_set_trace_notes == NULL)
  3548.     ops->to_set_trace_notes = delegate_set_trace_notes;
  3549.   if (ops->to_core_of_thread == NULL)
  3550.     ops->to_core_of_thread = delegate_core_of_thread;
  3551.   if (ops->to_verify_memory == NULL)
  3552.     ops->to_verify_memory = delegate_verify_memory;
  3553.   if (ops->to_get_tib_address == NULL)
  3554.     ops->to_get_tib_address = delegate_get_tib_address;
  3555.   if (ops->to_set_permissions == NULL)
  3556.     ops->to_set_permissions = delegate_set_permissions;
  3557.   if (ops->to_static_tracepoint_marker_at == NULL)
  3558.     ops->to_static_tracepoint_marker_at = delegate_static_tracepoint_marker_at;
  3559.   if (ops->to_static_tracepoint_markers_by_strid == NULL)
  3560.     ops->to_static_tracepoint_markers_by_strid = delegate_static_tracepoint_markers_by_strid;
  3561.   if (ops->to_traceframe_info == NULL)
  3562.     ops->to_traceframe_info = delegate_traceframe_info;
  3563.   if (ops->to_use_agent == NULL)
  3564.     ops->to_use_agent = delegate_use_agent;
  3565.   if (ops->to_can_use_agent == NULL)
  3566.     ops->to_can_use_agent = delegate_can_use_agent;
  3567.   if (ops->to_supports_btrace == NULL)
  3568.     ops->to_supports_btrace = delegate_supports_btrace;
  3569.   if (ops->to_enable_btrace == NULL)
  3570.     ops->to_enable_btrace = delegate_enable_btrace;
  3571.   if (ops->to_disable_btrace == NULL)
  3572.     ops->to_disable_btrace = delegate_disable_btrace;
  3573.   if (ops->to_teardown_btrace == NULL)
  3574.     ops->to_teardown_btrace = delegate_teardown_btrace;
  3575.   if (ops->to_read_btrace == NULL)
  3576.     ops->to_read_btrace = delegate_read_btrace;
  3577.   if (ops->to_stop_recording == NULL)
  3578.     ops->to_stop_recording = delegate_stop_recording;
  3579.   if (ops->to_info_record == NULL)
  3580.     ops->to_info_record = delegate_info_record;
  3581.   if (ops->to_save_record == NULL)
  3582.     ops->to_save_record = delegate_save_record;
  3583.   if (ops->to_delete_record == NULL)
  3584.     ops->to_delete_record = delegate_delete_record;
  3585.   if (ops->to_record_is_replaying == NULL)
  3586.     ops->to_record_is_replaying = delegate_record_is_replaying;
  3587.   if (ops->to_goto_record_begin == NULL)
  3588.     ops->to_goto_record_begin = delegate_goto_record_begin;
  3589.   if (ops->to_goto_record_end == NULL)
  3590.     ops->to_goto_record_end = delegate_goto_record_end;
  3591.   if (ops->to_goto_record == NULL)
  3592.     ops->to_goto_record = delegate_goto_record;
  3593.   if (ops->to_insn_history == NULL)
  3594.     ops->to_insn_history = delegate_insn_history;
  3595.   if (ops->to_insn_history_from == NULL)
  3596.     ops->to_insn_history_from = delegate_insn_history_from;
  3597.   if (ops->to_insn_history_range == NULL)
  3598.     ops->to_insn_history_range = delegate_insn_history_range;
  3599.   if (ops->to_call_history == NULL)
  3600.     ops->to_call_history = delegate_call_history;
  3601.   if (ops->to_call_history_from == NULL)
  3602.     ops->to_call_history_from = delegate_call_history_from;
  3603.   if (ops->to_call_history_range == NULL)
  3604.     ops->to_call_history_range = delegate_call_history_range;
  3605.   if (ops->to_augmented_libraries_svr4_read == NULL)
  3606.     ops->to_augmented_libraries_svr4_read = delegate_augmented_libraries_svr4_read;
  3607.   if (ops->to_get_unwinder == NULL)
  3608.     ops->to_get_unwinder = delegate_get_unwinder;
  3609.   if (ops->to_get_tailcall_unwinder == NULL)
  3610.     ops->to_get_tailcall_unwinder = delegate_get_tailcall_unwinder;
  3611.   if (ops->to_decr_pc_after_break == NULL)
  3612.     ops->to_decr_pc_after_break = delegate_decr_pc_after_break;
  3613.   if (ops->to_prepare_to_generate_core == NULL)
  3614.     ops->to_prepare_to_generate_core = delegate_prepare_to_generate_core;
  3615.   if (ops->to_done_generating_core == NULL)
  3616.     ops->to_done_generating_core = delegate_done_generating_core;
  3617. }

  3618. static void
  3619. install_dummy_methods (struct target_ops *ops)
  3620. {
  3621.   ops->to_post_attach = tdefault_post_attach;
  3622.   ops->to_detach = tdefault_detach;
  3623.   ops->to_disconnect = tdefault_disconnect;
  3624.   ops->to_resume = tdefault_resume;
  3625.   ops->to_wait = tdefault_wait;
  3626.   ops->to_fetch_registers = tdefault_fetch_registers;
  3627.   ops->to_store_registers = tdefault_store_registers;
  3628.   ops->to_prepare_to_store = tdefault_prepare_to_store;
  3629.   ops->to_files_info = tdefault_files_info;
  3630.   ops->to_insert_breakpoint = memory_insert_breakpoint;
  3631.   ops->to_remove_breakpoint = memory_remove_breakpoint;
  3632.   ops->to_can_use_hw_breakpoint = tdefault_can_use_hw_breakpoint;
  3633.   ops->to_ranged_break_num_registers = tdefault_ranged_break_num_registers;
  3634.   ops->to_insert_hw_breakpoint = tdefault_insert_hw_breakpoint;
  3635.   ops->to_remove_hw_breakpoint = tdefault_remove_hw_breakpoint;
  3636.   ops->to_remove_watchpoint = tdefault_remove_watchpoint;
  3637.   ops->to_insert_watchpoint = tdefault_insert_watchpoint;
  3638.   ops->to_insert_mask_watchpoint = tdefault_insert_mask_watchpoint;
  3639.   ops->to_remove_mask_watchpoint = tdefault_remove_mask_watchpoint;
  3640.   ops->to_stopped_by_watchpoint = tdefault_stopped_by_watchpoint;
  3641.   ops->to_stopped_data_address = tdefault_stopped_data_address;
  3642.   ops->to_watchpoint_addr_within_range = default_watchpoint_addr_within_range;
  3643.   ops->to_region_ok_for_hw_watchpoint = default_region_ok_for_hw_watchpoint;
  3644.   ops->to_can_accel_watchpoint_condition = tdefault_can_accel_watchpoint_condition;
  3645.   ops->to_masked_watch_num_registers = tdefault_masked_watch_num_registers;
  3646.   ops->to_terminal_init = tdefault_terminal_init;
  3647.   ops->to_terminal_inferior = tdefault_terminal_inferior;
  3648.   ops->to_terminal_ours_for_output = tdefault_terminal_ours_for_output;
  3649.   ops->to_terminal_ours = tdefault_terminal_ours;
  3650.   ops->to_terminal_info = default_terminal_info;
  3651.   ops->to_kill = tdefault_kill;
  3652.   ops->to_load = tdefault_load;
  3653.   ops->to_post_startup_inferior = tdefault_post_startup_inferior;
  3654.   ops->to_insert_fork_catchpoint = tdefault_insert_fork_catchpoint;
  3655.   ops->to_remove_fork_catchpoint = tdefault_remove_fork_catchpoint;
  3656.   ops->to_insert_vfork_catchpoint = tdefault_insert_vfork_catchpoint;
  3657.   ops->to_remove_vfork_catchpoint = tdefault_remove_vfork_catchpoint;
  3658.   ops->to_follow_fork = default_follow_fork;
  3659.   ops->to_insert_exec_catchpoint = tdefault_insert_exec_catchpoint;
  3660.   ops->to_remove_exec_catchpoint = tdefault_remove_exec_catchpoint;
  3661.   ops->to_set_syscall_catchpoint = tdefault_set_syscall_catchpoint;
  3662.   ops->to_has_exited = tdefault_has_exited;
  3663.   ops->to_mourn_inferior = default_mourn_inferior;
  3664.   ops->to_can_run = tdefault_can_run;
  3665.   ops->to_pass_signals = tdefault_pass_signals;
  3666.   ops->to_program_signals = tdefault_program_signals;
  3667.   ops->to_thread_alive = tdefault_thread_alive;
  3668.   ops->to_update_thread_list = tdefault_update_thread_list;
  3669.   ops->to_pid_to_str = default_pid_to_str;
  3670.   ops->to_extra_thread_info = tdefault_extra_thread_info;
  3671.   ops->to_thread_name = tdefault_thread_name;
  3672.   ops->to_stop = tdefault_stop;
  3673.   ops->to_rcmd = default_rcmd;
  3674.   ops->to_pid_to_exec_file = tdefault_pid_to_exec_file;
  3675.   ops->to_log_command = tdefault_log_command;
  3676.   ops->to_get_section_table = tdefault_get_section_table;
  3677.   ops->to_can_async_p = tdefault_can_async_p;
  3678.   ops->to_is_async_p = tdefault_is_async_p;
  3679.   ops->to_async = tdefault_async;
  3680.   ops->to_supports_non_stop = tdefault_supports_non_stop;
  3681.   ops->to_find_memory_regions = dummy_find_memory_regions;
  3682.   ops->to_make_corefile_notes = dummy_make_corefile_notes;
  3683.   ops->to_get_bookmark = tdefault_get_bookmark;
  3684.   ops->to_goto_bookmark = tdefault_goto_bookmark;
  3685.   ops->to_get_thread_local_address = tdefault_get_thread_local_address;
  3686.   ops->to_xfer_partial = tdefault_xfer_partial;
  3687.   ops->to_memory_map = tdefault_memory_map;
  3688.   ops->to_flash_erase = tdefault_flash_erase;
  3689.   ops->to_flash_done = tdefault_flash_done;
  3690.   ops->to_read_description = tdefault_read_description;
  3691.   ops->to_get_ada_task_ptid = default_get_ada_task_ptid;
  3692.   ops->to_auxv_parse = default_auxv_parse;
  3693.   ops->to_search_memory = default_search_memory;
  3694.   ops->to_can_execute_reverse = tdefault_can_execute_reverse;
  3695.   ops->to_execution_direction = default_execution_direction;
  3696.   ops->to_supports_multi_process = tdefault_supports_multi_process;
  3697.   ops->to_supports_enable_disable_tracepoint = tdefault_supports_enable_disable_tracepoint;
  3698.   ops->to_supports_string_tracing = tdefault_supports_string_tracing;
  3699.   ops->to_supports_evaluation_of_breakpoint_conditions = tdefault_supports_evaluation_of_breakpoint_conditions;
  3700.   ops->to_can_run_breakpoint_commands = tdefault_can_run_breakpoint_commands;
  3701.   ops->to_thread_architecture = default_thread_architecture;
  3702.   ops->to_thread_address_space = default_thread_address_space;
  3703.   ops->to_trace_init = tdefault_trace_init;
  3704.   ops->to_download_tracepoint = tdefault_download_tracepoint;
  3705.   ops->to_can_download_tracepoint = tdefault_can_download_tracepoint;
  3706.   ops->to_download_trace_state_variable = tdefault_download_trace_state_variable;
  3707.   ops->to_enable_tracepoint = tdefault_enable_tracepoint;
  3708.   ops->to_disable_tracepoint = tdefault_disable_tracepoint;
  3709.   ops->to_trace_set_readonly_regions = tdefault_trace_set_readonly_regions;
  3710.   ops->to_trace_start = tdefault_trace_start;
  3711.   ops->to_get_trace_status = tdefault_get_trace_status;
  3712.   ops->to_get_tracepoint_status = tdefault_get_tracepoint_status;
  3713.   ops->to_trace_stop = tdefault_trace_stop;
  3714.   ops->to_trace_find = tdefault_trace_find;
  3715.   ops->to_get_trace_state_variable_value = tdefault_get_trace_state_variable_value;
  3716.   ops->to_save_trace_data = tdefault_save_trace_data;
  3717.   ops->to_upload_tracepoints = tdefault_upload_tracepoints;
  3718.   ops->to_upload_trace_state_variables = tdefault_upload_trace_state_variables;
  3719.   ops->to_get_raw_trace_data = tdefault_get_raw_trace_data;
  3720.   ops->to_get_min_fast_tracepoint_insn_len = tdefault_get_min_fast_tracepoint_insn_len;
  3721.   ops->to_set_disconnected_tracing = tdefault_set_disconnected_tracing;
  3722.   ops->to_set_circular_trace_buffer = tdefault_set_circular_trace_buffer;
  3723.   ops->to_set_trace_buffer_size = tdefault_set_trace_buffer_size;
  3724.   ops->to_set_trace_notes = tdefault_set_trace_notes;
  3725.   ops->to_core_of_thread = tdefault_core_of_thread;
  3726.   ops->to_verify_memory = default_verify_memory;
  3727.   ops->to_get_tib_address = tdefault_get_tib_address;
  3728.   ops->to_set_permissions = tdefault_set_permissions;
  3729.   ops->to_static_tracepoint_marker_at = tdefault_static_tracepoint_marker_at;
  3730.   ops->to_static_tracepoint_markers_by_strid = tdefault_static_tracepoint_markers_by_strid;
  3731.   ops->to_traceframe_info = tdefault_traceframe_info;
  3732.   ops->to_use_agent = tdefault_use_agent;
  3733.   ops->to_can_use_agent = tdefault_can_use_agent;
  3734.   ops->to_supports_btrace = tdefault_supports_btrace;
  3735.   ops->to_enable_btrace = tdefault_enable_btrace;
  3736.   ops->to_disable_btrace = tdefault_disable_btrace;
  3737.   ops->to_teardown_btrace = tdefault_teardown_btrace;
  3738.   ops->to_read_btrace = tdefault_read_btrace;
  3739.   ops->to_stop_recording = tdefault_stop_recording;
  3740.   ops->to_info_record = tdefault_info_record;
  3741.   ops->to_save_record = tdefault_save_record;
  3742.   ops->to_delete_record = tdefault_delete_record;
  3743.   ops->to_record_is_replaying = tdefault_record_is_replaying;
  3744.   ops->to_goto_record_begin = tdefault_goto_record_begin;
  3745.   ops->to_goto_record_end = tdefault_goto_record_end;
  3746.   ops->to_goto_record = tdefault_goto_record;
  3747.   ops->to_insn_history = tdefault_insn_history;
  3748.   ops->to_insn_history_from = tdefault_insn_history_from;
  3749.   ops->to_insn_history_range = tdefault_insn_history_range;
  3750.   ops->to_call_history = tdefault_call_history;
  3751.   ops->to_call_history_from = tdefault_call_history_from;
  3752.   ops->to_call_history_range = tdefault_call_history_range;
  3753.   ops->to_augmented_libraries_svr4_read = tdefault_augmented_libraries_svr4_read;
  3754.   ops->to_get_unwinder = tdefault_get_unwinder;
  3755.   ops->to_get_tailcall_unwinder = tdefault_get_tailcall_unwinder;
  3756.   ops->to_decr_pc_after_break = default_target_decr_pc_after_break;
  3757.   ops->to_prepare_to_generate_core = tdefault_prepare_to_generate_core;
  3758.   ops->to_done_generating_core = tdefault_done_generating_core;
  3759. }

  3760. static void
  3761. init_debug_target (struct target_ops *ops)
  3762. {
  3763.   ops->to_post_attach = debug_post_attach;
  3764.   ops->to_detach = debug_detach;
  3765.   ops->to_disconnect = debug_disconnect;
  3766.   ops->to_resume = debug_resume;
  3767.   ops->to_wait = debug_wait;
  3768.   ops->to_fetch_registers = debug_fetch_registers;
  3769.   ops->to_store_registers = debug_store_registers;
  3770.   ops->to_prepare_to_store = debug_prepare_to_store;
  3771.   ops->to_files_info = debug_files_info;
  3772.   ops->to_insert_breakpoint = debug_insert_breakpoint;
  3773.   ops->to_remove_breakpoint = debug_remove_breakpoint;
  3774.   ops->to_can_use_hw_breakpoint = debug_can_use_hw_breakpoint;
  3775.   ops->to_ranged_break_num_registers = debug_ranged_break_num_registers;
  3776.   ops->to_insert_hw_breakpoint = debug_insert_hw_breakpoint;
  3777.   ops->to_remove_hw_breakpoint = debug_remove_hw_breakpoint;
  3778.   ops->to_remove_watchpoint = debug_remove_watchpoint;
  3779.   ops->to_insert_watchpoint = debug_insert_watchpoint;
  3780.   ops->to_insert_mask_watchpoint = debug_insert_mask_watchpoint;
  3781.   ops->to_remove_mask_watchpoint = debug_remove_mask_watchpoint;
  3782.   ops->to_stopped_by_watchpoint = debug_stopped_by_watchpoint;
  3783.   ops->to_stopped_data_address = debug_stopped_data_address;
  3784.   ops->to_watchpoint_addr_within_range = debug_watchpoint_addr_within_range;
  3785.   ops->to_region_ok_for_hw_watchpoint = debug_region_ok_for_hw_watchpoint;
  3786.   ops->to_can_accel_watchpoint_condition = debug_can_accel_watchpoint_condition;
  3787.   ops->to_masked_watch_num_registers = debug_masked_watch_num_registers;
  3788.   ops->to_terminal_init = debug_terminal_init;
  3789.   ops->to_terminal_inferior = debug_terminal_inferior;
  3790.   ops->to_terminal_ours_for_output = debug_terminal_ours_for_output;
  3791.   ops->to_terminal_ours = debug_terminal_ours;
  3792.   ops->to_terminal_info = debug_terminal_info;
  3793.   ops->to_kill = debug_kill;
  3794.   ops->to_load = debug_load;
  3795.   ops->to_post_startup_inferior = debug_post_startup_inferior;
  3796.   ops->to_insert_fork_catchpoint = debug_insert_fork_catchpoint;
  3797.   ops->to_remove_fork_catchpoint = debug_remove_fork_catchpoint;
  3798.   ops->to_insert_vfork_catchpoint = debug_insert_vfork_catchpoint;
  3799.   ops->to_remove_vfork_catchpoint = debug_remove_vfork_catchpoint;
  3800.   ops->to_follow_fork = debug_follow_fork;
  3801.   ops->to_insert_exec_catchpoint = debug_insert_exec_catchpoint;
  3802.   ops->to_remove_exec_catchpoint = debug_remove_exec_catchpoint;
  3803.   ops->to_set_syscall_catchpoint = debug_set_syscall_catchpoint;
  3804.   ops->to_has_exited = debug_has_exited;
  3805.   ops->to_mourn_inferior = debug_mourn_inferior;
  3806.   ops->to_can_run = debug_can_run;
  3807.   ops->to_pass_signals = debug_pass_signals;
  3808.   ops->to_program_signals = debug_program_signals;
  3809.   ops->to_thread_alive = debug_thread_alive;
  3810.   ops->to_update_thread_list = debug_update_thread_list;
  3811.   ops->to_pid_to_str = debug_pid_to_str;
  3812.   ops->to_extra_thread_info = debug_extra_thread_info;
  3813.   ops->to_thread_name = debug_thread_name;
  3814.   ops->to_stop = debug_stop;
  3815.   ops->to_rcmd = debug_rcmd;
  3816.   ops->to_pid_to_exec_file = debug_pid_to_exec_file;
  3817.   ops->to_log_command = debug_log_command;
  3818.   ops->to_get_section_table = debug_get_section_table;
  3819.   ops->to_can_async_p = debug_can_async_p;
  3820.   ops->to_is_async_p = debug_is_async_p;
  3821.   ops->to_async = debug_async;
  3822.   ops->to_supports_non_stop = debug_supports_non_stop;
  3823.   ops->to_find_memory_regions = debug_find_memory_regions;
  3824.   ops->to_make_corefile_notes = debug_make_corefile_notes;
  3825.   ops->to_get_bookmark = debug_get_bookmark;
  3826.   ops->to_goto_bookmark = debug_goto_bookmark;
  3827.   ops->to_get_thread_local_address = debug_get_thread_local_address;
  3828.   ops->to_xfer_partial = debug_xfer_partial;
  3829.   ops->to_memory_map = debug_memory_map;
  3830.   ops->to_flash_erase = debug_flash_erase;
  3831.   ops->to_flash_done = debug_flash_done;
  3832.   ops->to_read_description = debug_read_description;
  3833.   ops->to_get_ada_task_ptid = debug_get_ada_task_ptid;
  3834.   ops->to_auxv_parse = debug_auxv_parse;
  3835.   ops->to_search_memory = debug_search_memory;
  3836.   ops->to_can_execute_reverse = debug_can_execute_reverse;
  3837.   ops->to_execution_direction = debug_execution_direction;
  3838.   ops->to_supports_multi_process = debug_supports_multi_process;
  3839.   ops->to_supports_enable_disable_tracepoint = debug_supports_enable_disable_tracepoint;
  3840.   ops->to_supports_string_tracing = debug_supports_string_tracing;
  3841.   ops->to_supports_evaluation_of_breakpoint_conditions = debug_supports_evaluation_of_breakpoint_conditions;
  3842.   ops->to_can_run_breakpoint_commands = debug_can_run_breakpoint_commands;
  3843.   ops->to_thread_architecture = debug_thread_architecture;
  3844.   ops->to_thread_address_space = debug_thread_address_space;
  3845.   ops->to_trace_init = debug_trace_init;
  3846.   ops->to_download_tracepoint = debug_download_tracepoint;
  3847.   ops->to_can_download_tracepoint = debug_can_download_tracepoint;
  3848.   ops->to_download_trace_state_variable = debug_download_trace_state_variable;
  3849.   ops->to_enable_tracepoint = debug_enable_tracepoint;
  3850.   ops->to_disable_tracepoint = debug_disable_tracepoint;
  3851.   ops->to_trace_set_readonly_regions = debug_trace_set_readonly_regions;
  3852.   ops->to_trace_start = debug_trace_start;
  3853.   ops->to_get_trace_status = debug_get_trace_status;
  3854.   ops->to_get_tracepoint_status = debug_get_tracepoint_status;
  3855.   ops->to_trace_stop = debug_trace_stop;
  3856.   ops->to_trace_find = debug_trace_find;
  3857.   ops->to_get_trace_state_variable_value = debug_get_trace_state_variable_value;
  3858.   ops->to_save_trace_data = debug_save_trace_data;
  3859.   ops->to_upload_tracepoints = debug_upload_tracepoints;
  3860.   ops->to_upload_trace_state_variables = debug_upload_trace_state_variables;
  3861.   ops->to_get_raw_trace_data = debug_get_raw_trace_data;
  3862.   ops->to_get_min_fast_tracepoint_insn_len = debug_get_min_fast_tracepoint_insn_len;
  3863.   ops->to_set_disconnected_tracing = debug_set_disconnected_tracing;
  3864.   ops->to_set_circular_trace_buffer = debug_set_circular_trace_buffer;
  3865.   ops->to_set_trace_buffer_size = debug_set_trace_buffer_size;
  3866.   ops->to_set_trace_notes = debug_set_trace_notes;
  3867.   ops->to_core_of_thread = debug_core_of_thread;
  3868.   ops->to_verify_memory = debug_verify_memory;
  3869.   ops->to_get_tib_address = debug_get_tib_address;
  3870.   ops->to_set_permissions = debug_set_permissions;
  3871.   ops->to_static_tracepoint_marker_at = debug_static_tracepoint_marker_at;
  3872.   ops->to_static_tracepoint_markers_by_strid = debug_static_tracepoint_markers_by_strid;
  3873.   ops->to_traceframe_info = debug_traceframe_info;
  3874.   ops->to_use_agent = debug_use_agent;
  3875.   ops->to_can_use_agent = debug_can_use_agent;
  3876.   ops->to_supports_btrace = debug_supports_btrace;
  3877.   ops->to_enable_btrace = debug_enable_btrace;
  3878.   ops->to_disable_btrace = debug_disable_btrace;
  3879.   ops->to_teardown_btrace = debug_teardown_btrace;
  3880.   ops->to_read_btrace = debug_read_btrace;
  3881.   ops->to_stop_recording = debug_stop_recording;
  3882.   ops->to_info_record = debug_info_record;
  3883.   ops->to_save_record = debug_save_record;
  3884.   ops->to_delete_record = debug_delete_record;
  3885.   ops->to_record_is_replaying = debug_record_is_replaying;
  3886.   ops->to_goto_record_begin = debug_goto_record_begin;
  3887.   ops->to_goto_record_end = debug_goto_record_end;
  3888.   ops->to_goto_record = debug_goto_record;
  3889.   ops->to_insn_history = debug_insn_history;
  3890.   ops->to_insn_history_from = debug_insn_history_from;
  3891.   ops->to_insn_history_range = debug_insn_history_range;
  3892.   ops->to_call_history = debug_call_history;
  3893.   ops->to_call_history_from = debug_call_history_from;
  3894.   ops->to_call_history_range = debug_call_history_range;
  3895.   ops->to_augmented_libraries_svr4_read = debug_augmented_libraries_svr4_read;
  3896.   ops->to_get_unwinder = debug_get_unwinder;
  3897.   ops->to_get_tailcall_unwinder = debug_get_tailcall_unwinder;
  3898.   ops->to_decr_pc_after_break = debug_decr_pc_after_break;
  3899.   ops->to_prepare_to_generate_core = debug_prepare_to_generate_core;
  3900.   ops->to_done_generating_core = debug_done_generating_core;
  3901. }