Change solib-darwin.c to use type-safe registry
This changes solib-darwin.c to use the type-safe registry. 2019-07-10 Tom Tromey <tromey@adacore.com> * solib-darwin.c (struct darwin_info): Add initializers. (solib_darwin_pspace_data): Change type. (darwin_pspace_data_cleanup): Remove. (get_darwin_info, _initialize_darwin_solib): Update.
This commit is contained in:
parent
18101a3525
commit
51df2ae302
|
@ -1,3 +1,10 @@
|
||||||
|
2019-07-10 Tom Tromey <tromey@adacore.com>
|
||||||
|
|
||||||
|
* solib-darwin.c (struct darwin_info): Add initializers.
|
||||||
|
(solib_darwin_pspace_data): Change type.
|
||||||
|
(darwin_pspace_data_cleanup): Remove.
|
||||||
|
(get_darwin_info, _initialize_darwin_solib): Update.
|
||||||
|
|
||||||
2019-07-10 Tom Tromey <tromey@adacore.com>
|
2019-07-10 Tom Tromey <tromey@adacore.com>
|
||||||
|
|
||||||
* remote-sim.c (struct sim_inferior_data): Add initializers,
|
* remote-sim.c (struct sim_inferior_data): Add initializers,
|
||||||
|
|
|
@ -73,20 +73,14 @@ struct gdb_dyld_all_image_infos
|
||||||
struct darwin_info
|
struct darwin_info
|
||||||
{
|
{
|
||||||
/* Address of structure dyld_all_image_infos in inferior. */
|
/* Address of structure dyld_all_image_infos in inferior. */
|
||||||
CORE_ADDR all_image_addr;
|
CORE_ADDR all_image_addr = 0;
|
||||||
|
|
||||||
/* Gdb copy of dyld_all_info_infos. */
|
/* Gdb copy of dyld_all_info_infos. */
|
||||||
struct gdb_dyld_all_image_infos all_image;
|
struct gdb_dyld_all_image_infos all_image {};
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Per-program-space data key. */
|
/* Per-program-space data key. */
|
||||||
static const struct program_space_data *solib_darwin_pspace_data;
|
static program_space_key<darwin_info> solib_darwin_pspace_data;
|
||||||
|
|
||||||
static void
|
|
||||||
darwin_pspace_data_cleanup (struct program_space *pspace, void *arg)
|
|
||||||
{
|
|
||||||
xfree (arg);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Get the current darwin data. If none is found yet, add it now. This
|
/* Get the current darwin data. If none is found yet, add it now. This
|
||||||
function always returns a valid object. */
|
function always returns a valid object. */
|
||||||
|
@ -96,15 +90,11 @@ get_darwin_info (void)
|
||||||
{
|
{
|
||||||
struct darwin_info *info;
|
struct darwin_info *info;
|
||||||
|
|
||||||
info = (struct darwin_info *) program_space_data (current_program_space,
|
info = solib_darwin_pspace_data.get (current_program_space);
|
||||||
solib_darwin_pspace_data);
|
|
||||||
if (info != NULL)
|
if (info != NULL)
|
||||||
return info;
|
return info;
|
||||||
|
|
||||||
info = XCNEW (struct darwin_info);
|
return solib_darwin_pspace_data.emplace (current_program_space);
|
||||||
set_program_space_data (current_program_space,
|
|
||||||
solib_darwin_pspace_data, info);
|
|
||||||
return info;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return non-zero if the version in dyld_all_image is known. */
|
/* Return non-zero if the version in dyld_all_image is known. */
|
||||||
|
@ -691,10 +681,6 @@ struct target_so_ops darwin_so_ops;
|
||||||
void
|
void
|
||||||
_initialize_darwin_solib (void)
|
_initialize_darwin_solib (void)
|
||||||
{
|
{
|
||||||
solib_darwin_pspace_data
|
|
||||||
= register_program_space_data_with_cleanup (NULL,
|
|
||||||
darwin_pspace_data_cleanup);
|
|
||||||
|
|
||||||
darwin_so_ops.relocate_section_addresses = darwin_relocate_section_addresses;
|
darwin_so_ops.relocate_section_addresses = darwin_relocate_section_addresses;
|
||||||
darwin_so_ops.free_so = darwin_free_so;
|
darwin_so_ops.free_so = darwin_free_so;
|
||||||
darwin_so_ops.clear_solib = darwin_clear_solib;
|
darwin_so_ops.clear_solib = darwin_clear_solib;
|
||||||
|
|
Loading…
Reference in New Issue