~bkerensa/ubuntu/raring/valgrind/merge-from-deb

« back to all changes in this revision

Viewing changes to coregrind/m_gdbserver/server.h

  • Committer: Benjamin Kerensa
  • Date: 2012-11-21 23:57:58 UTC
  • mfrom: (1.1.16)
  • Revision ID: bkerensa@ubuntu.com-20121121235758-bd1rv5uc5vzov2p6
Merge from debian unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
107
107
   If debug info not found for this pc, assumes arm */
108
108
extern Addr thumb_pc (Addr pc);
109
109
 
110
 
/* True if gdbserver is single stepping the valgrind process */
111
 
extern Bool valgrind_single_stepping(void);
112
 
 
113
 
/* Set Valgrind in single stepping mode or not according to Bool. */
114
 
extern void valgrind_set_single_stepping(Bool);
115
 
 
116
 
/* gets the addr at which a (possible) break must be ignored once.
117
 
   If there is no such break to be ignored once, 0 is returned.
118
 
   This is needed for the following case:
119
 
   The user sets a break at address AAA.
120
 
   The break is encountered. Then the user does stepi 
121
 
   (i.e. step one instruction).
122
 
   In such a case, the already encountered break must be ignored
123
 
   to ensure the stepi will advance by one instruction: a "break"
124
 
   is implemented in valgrind by some helper code just after the
125
 
   instruction mark at which the break is set. This helper code
126
 
   verifies if either there is a break at the current PC
127
 
   or if we are in stepping mode. If we are in stepping mode,
128
 
   the already encountered break must be ignored once to advance
129
 
   to the next instruction.
130
 
   ??? need to check if this is *really* needed. */
131
 
extern Addr valgrind_get_ignore_break_once(void);
132
 
 
133
 
/* When addr > 0, ensures the next stop reply packet informs
134
 
   gdb about the encountered watchpoint.
135
 
   Use addr 0x0 to reset. */
136
 
extern void VG_(set_watchpoint_stop_address) (Addr addr);
137
 
 
138
110
/* when invoked by vgdb using ptrace, contains the tid chosen
139
111
   by vgdb (if vgdb gives a tid different of 0: a 0 tid by
140
112
   vgdb means use the running_tid if there is one running
230
202
   gdbserver by calling call_gdbserver.
231
203
   On return, call gdbserver_deliver_signal to effectively
232
204
   deliver the signal or not. */
233
 
extern void gdbserver_signal_encountered (Int sigNo);
 
205
extern void gdbserver_signal_encountered (Int vki_sigNo);
234
206
/* between these two calls, call call_gdbserver */
235
207
/* If gdbserver_deliver_signal True, then gdb did not ask
236
208
   to ignore the signal, so signal can be delivered to the guest. */
237
 
extern Bool gdbserver_deliver_signal (Int sigNo);
 
209
extern Bool gdbserver_deliver_signal (Int vki_sigNo);
238
210
 
239
211
/* To optimise signal handling, gdb can instruct gdbserver to
240
 
   not stop on some signals. In the below, a 1 indicates the signal
 
212
   not stop on some signals. In the below, a 1 indicates the gdb_nr signal
241
213
   has to be passed directly to the guest, without asking gdb.
242
214
   A 0 indicates gdb has to be consulted to see if signal has
243
215
   or has not to be passed. The gdb consultation is to
244
216
   be done using the above two functions. */
245
 
extern int pass_signals[];
 
217
extern int pass_signals[]; /* indexed by gdb signal nr */
246
218
 
247
219
 
248
220
#include "target.h"
249
221
 
250
222
/* Target-specific functions */
251
223
 
252
 
void initialize_low (void);
253
 
 
254
 
/* initialize or re-initialize the register set of the low target.
255
 
   if shadow_mode, then (re-)define the normal and valgrind shadow registers
256
 
   else (re-)define only the normal registers. */
257
 
void initialize_shadow_low (Bool shadow_mode);
258
 
 
259
224
/* From inferiors.c.  */
260
225
 
261
226
extern struct inferior_list all_threads;
323
288
 
324
289
int unhexify (char *bin, const char *hex, int count);
325
290
int hexify (char *hex, const char *bin, int count);
 
291
/* heximage builds an image of bin according to byte order of the architecture 
 
292
   Useful for register and int image */
 
293
char* heximage (char *buf, char *bin, int count);
 
294
 
 
295
/* convert from CORE_ADDR to void* */
 
296
void* C2v(CORE_ADDR addr);
 
297
 
 
298
 
326
299
int remote_escape_output (const gdb_byte *buffer, int len,
327
300
                          gdb_byte *out_buf, int *out_len,
328
301
                          int out_maxlen);