projects
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Convert remote.c to type-safe registry API
[binutils-gdb.git]
/
gdb
/
remote.c
diff --git
a/gdb/remote.c
b/gdb/remote.c
index 81e6427a7fa2b22c7f7468c24d178d50775ff0e8..dc734723d14cbfb003802df75a9873f83a8af13b 100644
(file)
--- a/
gdb/remote.c
+++ b/
gdb/remote.c
@@
-969,7
+969,8
@@
public:
};
/* Per-program-space data key. */
};
/* Per-program-space data key. */
-static const struct program_space_data *remote_pspace_data;
+static const struct program_space_key<char, gdb::xfree_deleter<char>>
+ remote_pspace_data;
/* The variable registered as the control variable used by the
remote exec-file commands. While the remote exec-file setting is
/* The variable registered as the control variable used by the
remote exec-file commands. While the remote exec-file setting is
@@
-1229,16
+1230,6
@@
remote_target::get_remote_state ()
return &m_remote_state;
}
return &m_remote_state;
}
-/* Cleanup routine for the remote module's pspace data. */
-
-static void
-remote_pspace_data_cleanup (struct program_space *pspace, void *arg)
-{
- char *remote_exec_file = (char *) arg;
-
- xfree (remote_exec_file);
-}
-
/* Fetch the remote exec-file from the current program space. */
static const char *
/* Fetch the remote exec-file from the current program space. */
static const char *
@@
-1246,9
+1237,7
@@
get_remote_exec_file (void)
{
char *remote_exec_file;
{
char *remote_exec_file;
- remote_exec_file
- = (char *) program_space_data (current_program_space,
- remote_pspace_data);
+ remote_exec_file = remote_pspace_data.get (current_program_space);
if (remote_exec_file == NULL)
return "";
if (remote_exec_file == NULL)
return "";
@@
-1259,13
+1248,12
@@
get_remote_exec_file (void)
static void
set_pspace_remote_exec_file (struct program_space *pspace,
static void
set_pspace_remote_exec_file (struct program_space *pspace,
- char *remote_exec_file)
+
const
char *remote_exec_file)
{
{
- char *old_file =
(char *) program_space_data (pspace, remote_pspace_data
);
+ char *old_file =
remote_pspace_data.get (pspace
);
xfree (old_file);
xfree (old_file);
- set_program_space_data (pspace, remote_pspace_data,
- xstrdup (remote_exec_file));
+ remote_pspace_data.set (pspace, xstrdup (remote_exec_file));
}
/* The "set/show remote exec-file" set command hook. */
}
/* The "set/show remote exec-file" set command hook. */
@@
-14277,10
+14265,6
@@
_initialize_remote (void)
remote_g_packet_data_handle =
gdbarch_data_register_pre_init (remote_g_packet_data_init);
remote_g_packet_data_handle =
gdbarch_data_register_pre_init (remote_g_packet_data_init);
- remote_pspace_data
- = register_program_space_data_with_cleanup (NULL,
- remote_pspace_data_cleanup);
-
add_target (remote_target_info, remote_target::open);
add_target (extended_remote_target_info, extended_remote_target::open);
add_target (remote_target_info, remote_target::open);
add_target (extended_remote_target_info, extended_remote_target::open);