summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/hppa-tdep.c17
2 files changed, 13 insertions, 10 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index be3e5db38c4..8194236ddf3 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2019-05-08 Tom Tromey <tom@tromey.com>
+ * hppa-tdep.c (hppa_objfile_priv_data): Change type.
+ (hppa_init_objfile_priv_data, read_unwind_info)
+ (find_unwind_entry, _initialize_hppa_tdep): Update.
+
+2019-05-08 Tom Tromey <tom@tromey.com>
+
* elfread.c (elf_objfile_gnu_ifunc_cache_data): Change type.
(elf_gnu_ifunc_record_cache): Update. Don't allocate hash table
on obstack.
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index d2b3336cfc7..be30359638c 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -84,7 +84,9 @@ struct hppa_objfile_private
that separately and make this static. The solib data is probably hpux-
specific, so we can create a separate extern objfile_data that is registered
by hppa-hpux-tdep.c and shared with pa64solib.c and somsolib.c. */
-static const struct objfile_data *hppa_objfile_priv_data = NULL;
+static const struct objfile_key<hppa_objfile_private,
+ gdb::noop_deleter<hppa_objfile_private>>
+ hppa_objfile_priv_data;
/* Get at various relevent fields of an instruction word. */
#define MASK_5 0x1f
@@ -208,7 +210,7 @@ hppa_init_objfile_priv_data (struct objfile *objfile)
hppa_objfile_private *priv
= OBSTACK_ZALLOC (&objfile->objfile_obstack, hppa_objfile_private);
- set_objfile_data (objfile, hppa_objfile_priv_data, priv);
+ hppa_objfile_priv_data.set (objfile, priv);
return priv;
}
@@ -466,8 +468,7 @@ read_unwind_info (struct objfile *objfile)
compare_unwind_entries);
/* Keep a pointer to the unwind information. */
- obj_private = (struct hppa_objfile_private *)
- objfile_data (objfile, hppa_objfile_priv_data);
+ obj_private = hppa_objfile_priv_data.get (objfile);
if (obj_private == NULL)
obj_private = hppa_init_objfile_priv_data (objfile);
@@ -501,16 +502,14 @@ find_unwind_entry (CORE_ADDR pc)
{
struct hppa_unwind_info *ui;
ui = NULL;
- priv = ((struct hppa_objfile_private *)
- objfile_data (objfile, hppa_objfile_priv_data));
+ priv = hppa_objfile_priv_data.get (objfile);
if (priv)
ui = ((struct hppa_objfile_private *) priv)->unwind_info;
if (!ui)
{
read_unwind_info (objfile);
- priv = ((struct hppa_objfile_private *)
- objfile_data (objfile, hppa_objfile_priv_data));
+ priv = hppa_objfile_priv_data.get (objfile);
if (priv == NULL)
error (_("Internal error reading unwind information."));
ui = ((struct hppa_objfile_private *) priv)->unwind_info;
@@ -3174,8 +3173,6 @@ _initialize_hppa_tdep (void)
{
gdbarch_register (bfd_arch_hppa, hppa_gdbarch_init, hppa_dump_tdep);
- hppa_objfile_priv_data = register_objfile_data ();
-
add_cmd ("unwind", class_maintenance, unwind_command,
_("Print unwind table entry at given address."),
&maintenanceprintlist);