]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/target-delegates.c
convert to_region_ok_for_hw_watchpoint
[thirdparty/binutils-gdb.git] / gdb / target-delegates.c
CommitLineData
1101cb7b
TT
1/* THIS FILE IS GENERATED -*- buffer-read-only: t -*- */
2/* vi:set ro: */
3
4/* To regenerate this file, run:*/
5/* make-target-delegates target.h > target-delegates.c */
e9a29200
TT
6static void
7delegate_attach (struct target_ops *self, char *arg1, int arg2)
8{
9 self = self->beneath;
10 self->to_attach (self, arg1, arg2);
11}
12
bebd3233
TT
13static void
14delegate_post_attach (struct target_ops *self, int arg1)
15{
16 self = self->beneath;
17 self->to_post_attach (self, arg1);
18}
19
20static void
21tdefault_post_attach (struct target_ops *self, int arg1)
22{
23}
24
09da0d0a
TT
25static void
26delegate_detach (struct target_ops *self, const char *arg1, int arg2)
27{
28 self = self->beneath;
29 self->to_detach (self, arg1, arg2);
30}
31
32static void
33tdefault_detach (struct target_ops *self, const char *arg1, int arg2)
34{
35}
36
6b84065d
TT
37static void
38delegate_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
39{
40 self = self->beneath;
41 self->to_resume (self, arg1, arg2, arg3);
42}
43
44static void
45tdefault_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
46{
47 noprocess ();
48}
49
50static ptid_t
51delegate_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
52{
53 self = self->beneath;
54 return self->to_wait (self, arg1, arg2, arg3);
55}
56
57static ptid_t
58tdefault_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
59{
60 noprocess ();
61}
62
63static void
64delegate_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
65{
66 self = self->beneath;
67 self->to_store_registers (self, arg1, arg2);
68}
69
70static void
71tdefault_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
72{
73 noprocess ();
74}
75
6c628163
TT
76static void
77delegate_prepare_to_store (struct target_ops *self, struct regcache *arg1)
78{
79 self = self->beneath;
80 self->to_prepare_to_store (self, arg1);
81}
82
83static void
84tdefault_prepare_to_store (struct target_ops *self, struct regcache *arg1)
85{
86 noprocess ();
87}
88
f86e59b2
TT
89static void
90delegate_files_info (struct target_ops *self)
91{
92 self = self->beneath;
93 self->to_files_info (self);
94}
95
96static void
97tdefault_files_info (struct target_ops *self)
98{
99}
100
6b84065d
TT
101static int
102delegate_insert_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
103{
104 self = self->beneath;
105 return self->to_insert_breakpoint (self, arg1, arg2);
106}
107
108static int
109delegate_remove_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
110{
111 self = self->beneath;
112 return self->to_remove_breakpoint (self, arg1, arg2);
113}
114
52b51d06
TT
115static int
116delegate_can_use_hw_breakpoint (struct target_ops *self, int arg1, int arg2, int arg3)
117{
118 self = self->beneath;
119 return self->to_can_use_hw_breakpoint (self, arg1, arg2, arg3);
120}
121
122static int
123tdefault_can_use_hw_breakpoint (struct target_ops *self, int arg1, int arg2, int arg3)
124{
125 return 0;
126}
127
61b371f9
TT
128static int
129delegate_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
130{
131 self = self->beneath;
132 return self->to_insert_hw_breakpoint (self, arg1, arg2);
133}
134
135static int
136tdefault_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
137{
138 return -1;
139}
140
418dabac
TT
141static int
142delegate_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
143{
144 self = self->beneath;
145 return self->to_remove_hw_breakpoint (self, arg1, arg2);
146}
147
148static int
149tdefault_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
150{
151 return -1;
152}
153
61dd109f
TT
154static int
155delegate_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
156{
157 self = self->beneath;
158 return self->to_remove_watchpoint (self, arg1, arg2, arg3, arg4);
159}
160
161static int
162tdefault_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
163{
164 return -1;
165}
166
016facd4
TT
167static int
168delegate_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
169{
170 self = self->beneath;
171 return self->to_insert_watchpoint (self, arg1, arg2, arg3, arg4);
172}
173
174static int
175tdefault_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
176{
177 return -1;
178}
179
6b84065d
TT
180static int
181delegate_stopped_by_watchpoint (struct target_ops *self)
182{
183 self = self->beneath;
184 return self->to_stopped_by_watchpoint (self);
185}
186
187static int
188tdefault_stopped_by_watchpoint (struct target_ops *self)
189{
190 return 0;
191}
192
193static int
194delegate_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
195{
196 self = self->beneath;
197 return self->to_stopped_data_address (self, arg1);
198}
199
200static int
201tdefault_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
202{
203 return 0;
204}
205
65f160a9
TT
206static int
207delegate_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
208{
209 self = self->beneath;
210 return self->to_watchpoint_addr_within_range (self, arg1, arg2, arg3);
211}
212
d03655e4
TT
213static int
214delegate_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2)
215{
216 self = self->beneath;
217 return self->to_region_ok_for_hw_watchpoint (self, arg1, arg2);
218}
219
a53f3625
TT
220static void
221delegate_rcmd (struct target_ops *self, char *arg1, struct ui_file *arg2)
222{
223 self = self->beneath;
224 self->to_rcmd (self, arg1, arg2);
225}
226
6b84065d
TT
227static int
228delegate_can_async_p (struct target_ops *self)
229{
230 self = self->beneath;
231 return self->to_can_async_p (self);
232}
233
234static int
235delegate_is_async_p (struct target_ops *self)
236{
237 self = self->beneath;
238 return self->to_is_async_p (self);
239}
240
241static void
242delegate_async (struct target_ops *self, async_callback_ftype *arg1, void *arg2)
243{
244 self = self->beneath;
245 self->to_async (self, arg1, arg2);
246}
247
248static void
249tdefault_async (struct target_ops *self, async_callback_ftype *arg1, void *arg2)
250{
251 tcomplain ();
252}
253
254static enum target_xfer_status
255delegate_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)
256{
257 self = self->beneath;
258 return self->to_xfer_partial (self, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
259}
260
261static enum target_xfer_status
262tdefault_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)
263{
264 return TARGET_XFER_E_IO;
265}
266
46917d26
TT
267static int
268delegate_supports_btrace (struct target_ops *self)
269{
270 self = self->beneath;
271 return self->to_supports_btrace (self);
272}
273
274static int
275tdefault_supports_btrace (struct target_ops *self)
276{
277 return 0;
278}
279
1101cb7b
TT
280static void
281install_delegators (struct target_ops *ops)
282{
e9a29200
TT
283 if (ops->to_attach == NULL)
284 ops->to_attach = delegate_attach;
bebd3233
TT
285 if (ops->to_post_attach == NULL)
286 ops->to_post_attach = delegate_post_attach;
09da0d0a
TT
287 if (ops->to_detach == NULL)
288 ops->to_detach = delegate_detach;
6b84065d
TT
289 if (ops->to_resume == NULL)
290 ops->to_resume = delegate_resume;
291 if (ops->to_wait == NULL)
292 ops->to_wait = delegate_wait;
293 if (ops->to_store_registers == NULL)
294 ops->to_store_registers = delegate_store_registers;
6c628163
TT
295 if (ops->to_prepare_to_store == NULL)
296 ops->to_prepare_to_store = delegate_prepare_to_store;
f86e59b2
TT
297 if (ops->to_files_info == NULL)
298 ops->to_files_info = delegate_files_info;
6b84065d
TT
299 if (ops->to_insert_breakpoint == NULL)
300 ops->to_insert_breakpoint = delegate_insert_breakpoint;
301 if (ops->to_remove_breakpoint == NULL)
302 ops->to_remove_breakpoint = delegate_remove_breakpoint;
52b51d06
TT
303 if (ops->to_can_use_hw_breakpoint == NULL)
304 ops->to_can_use_hw_breakpoint = delegate_can_use_hw_breakpoint;
61b371f9
TT
305 if (ops->to_insert_hw_breakpoint == NULL)
306 ops->to_insert_hw_breakpoint = delegate_insert_hw_breakpoint;
418dabac
TT
307 if (ops->to_remove_hw_breakpoint == NULL)
308 ops->to_remove_hw_breakpoint = delegate_remove_hw_breakpoint;
61dd109f
TT
309 if (ops->to_remove_watchpoint == NULL)
310 ops->to_remove_watchpoint = delegate_remove_watchpoint;
016facd4
TT
311 if (ops->to_insert_watchpoint == NULL)
312 ops->to_insert_watchpoint = delegate_insert_watchpoint;
6b84065d
TT
313 if (ops->to_stopped_by_watchpoint == NULL)
314 ops->to_stopped_by_watchpoint = delegate_stopped_by_watchpoint;
315 if (ops->to_stopped_data_address == NULL)
316 ops->to_stopped_data_address = delegate_stopped_data_address;
65f160a9
TT
317 if (ops->to_watchpoint_addr_within_range == NULL)
318 ops->to_watchpoint_addr_within_range = delegate_watchpoint_addr_within_range;
d03655e4
TT
319 if (ops->to_region_ok_for_hw_watchpoint == NULL)
320 ops->to_region_ok_for_hw_watchpoint = delegate_region_ok_for_hw_watchpoint;
a53f3625
TT
321 if (ops->to_rcmd == NULL)
322 ops->to_rcmd = delegate_rcmd;
6b84065d
TT
323 if (ops->to_can_async_p == NULL)
324 ops->to_can_async_p = delegate_can_async_p;
325 if (ops->to_is_async_p == NULL)
326 ops->to_is_async_p = delegate_is_async_p;
327 if (ops->to_async == NULL)
328 ops->to_async = delegate_async;
329 if (ops->to_xfer_partial == NULL)
330 ops->to_xfer_partial = delegate_xfer_partial;
46917d26
TT
331 if (ops->to_supports_btrace == NULL)
332 ops->to_supports_btrace = delegate_supports_btrace;
1101cb7b
TT
333}
334
335static void
336install_dummy_methods (struct target_ops *ops)
337{
e9a29200 338 ops->to_attach = find_default_attach;
bebd3233 339 ops->to_post_attach = tdefault_post_attach;
09da0d0a 340 ops->to_detach = tdefault_detach;
6b84065d
TT
341 ops->to_resume = tdefault_resume;
342 ops->to_wait = tdefault_wait;
343 ops->to_store_registers = tdefault_store_registers;
6c628163 344 ops->to_prepare_to_store = tdefault_prepare_to_store;
f86e59b2 345 ops->to_files_info = tdefault_files_info;
6b84065d
TT
346 ops->to_insert_breakpoint = memory_insert_breakpoint;
347 ops->to_remove_breakpoint = memory_remove_breakpoint;
52b51d06 348 ops->to_can_use_hw_breakpoint = tdefault_can_use_hw_breakpoint;
61b371f9 349 ops->to_insert_hw_breakpoint = tdefault_insert_hw_breakpoint;
418dabac 350 ops->to_remove_hw_breakpoint = tdefault_remove_hw_breakpoint;
61dd109f 351 ops->to_remove_watchpoint = tdefault_remove_watchpoint;
016facd4 352 ops->to_insert_watchpoint = tdefault_insert_watchpoint;
6b84065d
TT
353 ops->to_stopped_by_watchpoint = tdefault_stopped_by_watchpoint;
354 ops->to_stopped_data_address = tdefault_stopped_data_address;
65f160a9 355 ops->to_watchpoint_addr_within_range = default_watchpoint_addr_within_range;
d03655e4 356 ops->to_region_ok_for_hw_watchpoint = default_region_ok_for_hw_watchpoint;
a53f3625 357 ops->to_rcmd = default_rcmd;
6b84065d
TT
358 ops->to_can_async_p = find_default_can_async_p;
359 ops->to_is_async_p = find_default_is_async_p;
360 ops->to_async = tdefault_async;
361 ops->to_xfer_partial = tdefault_xfer_partial;
46917d26 362 ops->to_supports_btrace = tdefault_supports_btrace;
1101cb7b 363}