Fix dwarf2loc.h::dwarf2_evaluate_property function description.
[deliverable/binutils-gdb.git] / gdb / progspace.h
index 3db3938aace7b4dd9eafaaec05453550b749a2f4..08e04eb024e63aedb054869ca03c7d582422b0ac 100644 (file)
@@ -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-2014 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
@@ -231,9 +236,6 @@ extern struct program_space *current_program_space;
    pointer to the new object.  */
 extern struct program_space *add_program_space (struct address_space *aspace);
 
-/* Release PSPACE and removes it from the pspace list.  */
-extern void remove_program_space (struct program_space *pspace);
-
 /* Returns the number of program spaces listed.  */
 extern int number_of_program_spaces (void);
 
@@ -298,14 +300,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
This page took 0.028095 seconds and 4 git commands to generate.