~ubuntu-branches/debian/jessie/gdb/jessie

« back to all changes in this revision

Viewing changes to gdb/gdbserver/regcache.h

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Jacobowitz
  • Date: 2010-03-20 01:21:29 UTC
  • mfrom: (1.3.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20100320012129-t7h25y8zgr8c2369
Tags: 7.1-1
* New upstream release, including:
  - PIE support (Closes: #346409).
  - C++ improvements, including static_cast<> et al, namespace imports,
    and bug fixes in printing virtual base classes.
  - Multi-program debugging.  One GDB can now debug multiple programs
    at the same time.
  - Python scripting improvements, including gdb.parse_and_eval.
  - Updated MIPS Linux signal frame layout (Closes: #570875).
  - No internal error stepping over _dl_debug_state (Closes: #569551).
* Update to Standards-Version: 3.8.4 (no changes required).
* Include more relevant (and smaller) docs in the gdbserver package
  (Closes: #571132).
* Do not duplicate documentation in gdb64, gdb-source, and libgdb-dev.
* Fix crash when switching into TUI mode (Closes: #568489).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* Register support routines for the remote server for GDB.
2
 
   Copyright (C) 2001, 2002, 2007, 2008, 2009 Free Software Foundation, Inc.
 
2
   Copyright (C) 2001, 2002, 2007, 2008, 2009, 2010
 
3
   Free Software Foundation, Inc.
3
4
 
4
5
   This file is part of GDB.
5
6
 
20
21
#define REGCACHE_H
21
22
 
22
23
struct inferior_list_entry;
 
24
struct thread_info;
 
25
 
 
26
/* The data for the register cache.  Note that we have one per
 
27
   inferior; this is primarily for simplicity, as the performance
 
28
   benefit is minimal.  */
 
29
 
 
30
struct regcache
 
31
{
 
32
  int registers_valid;
 
33
  unsigned char *registers;
 
34
};
23
35
 
24
36
/* Create a new register cache for INFERIOR.  */
25
37
 
26
 
void *new_register_cache (void);
 
38
struct regcache *new_register_cache (void);
 
39
 
 
40
struct regcache *get_thread_regcache (struct thread_info *thread, int fetch);
27
41
 
28
42
/* Release all memory associated with the register cache for INFERIOR.  */
29
43
 
30
 
void free_register_cache (void *regcache);
 
44
void free_register_cache (struct regcache *regcache);
31
45
 
32
46
/* Invalidate cached registers for one or all threads.  */
33
47
 
37
51
/* Convert all registers to a string in the currently specified remote
38
52
   format.  */
39
53
 
40
 
void registers_to_string (char *buf);
 
54
void registers_to_string (struct regcache *regcache, char *buf);
41
55
 
42
56
/* Convert a string to register values and fill our register cache.  */
43
57
 
44
 
void registers_from_string (char *buf);
 
58
void registers_from_string (struct regcache *regcache, char *buf);
45
59
 
46
60
/* Return a pointer to the description of register ``n''.  */
47
61
 
56
70
extern const char **gdbserver_expedite_regs;
57
71
extern const char *gdbserver_xmltarget;
58
72
 
59
 
void supply_register (int n, const void *buf);
60
 
 
61
 
void supply_register_by_name (const char *name, const void *buf);
62
 
 
63
 
void collect_register (int n, void *buf);
64
 
 
65
 
void collect_register_as_string (int n, char *buf);
66
 
 
67
 
void collect_register_by_name (const char *name, void *buf);
 
73
void supply_register (struct regcache *regcache, int n, const void *buf);
 
74
 
 
75
void supply_register_by_name (struct regcache *regcache,
 
76
                              const char *name, const void *buf);
 
77
 
 
78
void collect_register (struct regcache *regcache, int n, void *buf);
 
79
 
 
80
void collect_register_as_string (struct regcache *regcache, int n, char *buf);
 
81
 
 
82
void collect_register_by_name (struct regcache *regcache, const char *name, void *buf);
68
83
 
69
84
#endif /* REGCACHE_H */