Index: gdb/progspace.h |
diff --git a/gdb/progspace.h b/gdb/progspace.h |
index 3db3938aace7b4dd9eafaaec05453550b749a2f4..e2786ecaec499c165cbd71a74c01561236d56f22 100644 |
--- a/gdb/progspace.h |
+++ b/gdb/progspace.h |
@@ -1,6 +1,6 @@ |
/* Program and address space management, for GDB, the GNU debugger. |
- Copyright (C) 2009-2012 Free Software Foundation, Inc. |
+ Copyright (C) 2009-2013 Free Software Foundation, Inc. |
This file is part of GDB. |
@@ -24,6 +24,7 @@ |
#include "target.h" |
#include "vec.h" |
#include "gdb_vecs.h" |
+#include "registry.h" |
struct target_ops; |
struct bfd; |
@@ -32,6 +33,7 @@ struct inferior; |
struct exec; |
struct address_space; |
struct program_space_data; |
+struct address_space_data; |
typedef struct so_list *so_list_ptr; |
DEF_VEC_P (so_list_ptr); |
@@ -147,6 +149,10 @@ struct program_space |
bfd *ebfd; |
/* The last-modified time, from when the exec was brought in. */ |
long ebfd_mtime; |
+ /* Similar to bfd_get_filename (exec_bfd) but in original form given |
+ by user, without symbolic links and pathname resolved. |
+ It needs to be freed by xfree. It is not NULL iff EBFD is not NULL. */ |
+ char *pspace_exec_filename; |
/* The address space attached to this program space. More than one |
program space may be bound to the same address space. In the |
@@ -201,8 +207,7 @@ struct program_space |
VEC (char_ptr) *deleted_solibs; |
/* Per pspace data-pointers required by other GDB modules. */ |
- void **data; |
- unsigned num_data; |
+ REGISTRY_FIELDS; |
}; |
/* The object file that the main symbol table was loaded from (e.g. the |
@@ -298,14 +303,11 @@ extern void clear_program_space_solib_cache (struct program_space *); |
/* Keep a registry of per-pspace data-pointers required by other GDB |
modules. */ |
-extern const struct program_space_data *register_program_space_data (void); |
-extern const struct program_space_data *register_program_space_data_with_cleanup |
- (void (*cleanup) (struct program_space *, void *)); |
-extern void clear_program_space_data (struct program_space *pspace); |
-extern void set_program_space_data (struct program_space *pspace, |
- const struct program_space_data *data, |
- void *value); |
-extern void *program_space_data (struct program_space *pspace, |
- const struct program_space_data *data); |
+DECLARE_REGISTRY (program_space); |
+ |
+/* Keep a registry of per-aspace data-pointers required by other GDB |
+ modules. */ |
+ |
+DECLARE_REGISTRY (address_space); |
#endif |