From 7b4a314f8b9b50c2289ca6b5d21513052c48730b Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 21 Apr 2019 12:48:39 -0600 Subject: [PATCH] Convert remote.c to type-safe registry API This changes remote.c to use the type-safe registry API. gdb/ChangeLog 2019-05-08 Tom Tromey * remote.c (remote_pspace_data): Change type. (remote_pspace_data_cleanup): Remove. (get_remote_exec_file, set_pspace_remote_exec_file) (_initialize_remote): Update. --- gdb/ChangeLog | 7 +++++++ gdb/remote.c | 28 ++++++---------------------- 2 files changed, 13 insertions(+), 22 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 05a06ece80..f93c27c9f5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2019-05-08 Tom Tromey + + * remote.c (remote_pspace_data): Change type. + (remote_pspace_data_cleanup): Remove. + (get_remote_exec_file, set_pspace_remote_exec_file) + (_initialize_remote): Update. + 2019-05-08 Tom Tromey * breakpoint.c (breakpoint_objfile_key): Change type. diff --git a/gdb/remote.c b/gdb/remote.c index 81e6427a7f..dc734723d1 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -969,7 +969,8 @@ public: }; /* Per-program-space data key. */ -static const struct program_space_data *remote_pspace_data; +static const struct program_space_key> + remote_pspace_data; /* 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; } -/* 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 * @@ -1246,9 +1237,7 @@ get_remote_exec_file (void) { 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 ""; @@ -1259,13 +1248,12 @@ get_remote_exec_file (void) 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); - 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. */ @@ -14277,10 +14265,6 @@ _initialize_remote (void) 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); -- 2.34.1