aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/spu-tdep.c12
2 files changed, 12 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e4ac3c7..1c75965 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2019-07-10 Tom Tromey <tromey@adacore.com>
+ * spu-tdep.c (spu_overlay_data): Change type.
+ (spu_get_overlay_table, spu_overlay_new_objfile)
+ (_initialize_spu_tdep): Update.
+
+2019-07-10 Tom Tromey <tromey@adacore.com>
+
* gdb-stabs.h (struct dbx_symfile_info): Add initializers and
destructor.
(dbx_objfile_data_key): Change type and declare later.
diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c
index a2ac314..69ffb69 100644
--- a/gdb/spu-tdep.c
+++ b/gdb/spu-tdep.c
@@ -1767,14 +1767,15 @@ gdb_print_insn_spu (bfd_vma memaddr, struct disassemble_info *info)
a target address. The overlay section is mapped iff the target
integer at this location equals MAPPED_VAL. */
-static const struct objfile_data *spu_overlay_data;
-
struct spu_overlay_table
{
CORE_ADDR mapped_ptr;
CORE_ADDR mapped_val;
};
+static objfile_key<spu_overlay_table,
+ gdb::noop_deleter<spu_overlay_table>> spu_overlay_data;
+
/* Retrieve the overlay table for OBJFILE. If not already cached, read
the _ovly_table data structure from the target and initialize the
spu_overlay_table data structure from it. */
@@ -1791,7 +1792,7 @@ spu_get_overlay_table (struct objfile *objfile)
gdb_byte *ovly_table;
int i;
- tbl = (struct spu_overlay_table *) objfile_data (objfile, spu_overlay_data);
+ tbl = spu_overlay_data.get (objfile);
if (tbl)
return tbl;
@@ -1843,7 +1844,7 @@ spu_get_overlay_table (struct objfile *objfile)
}
xfree (ovly_table);
- set_objfile_data (objfile, spu_overlay_data, tbl);
+ spu_overlay_data.set (objfile, tbl);
return tbl;
}
@@ -1901,7 +1902,7 @@ spu_overlay_new_objfile (struct objfile *objfile)
struct obj_section *osect;
/* If we've already touched this file, do nothing. */
- if (!objfile || objfile_data (objfile, spu_overlay_data) != NULL)
+ if (!objfile || spu_overlay_data.get (objfile) != NULL)
return;
/* Consider only SPU objfiles. */
@@ -2765,7 +2766,6 @@ _initialize_spu_tdep (void)
/* Add ourselves to objfile event chain. */
gdb::observers::new_objfile.attach (spu_overlay_new_objfile);
- spu_overlay_data = register_objfile_data ();
/* Install spu stop-on-load handler. */
gdb::observers::new_objfile.attach (spu_catch_start);