| 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
|
|
|