aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog12
-rw-r--r--gdb/frame-base.c2
-rw-r--r--gdb/frame-unwind.c2
-rw-r--r--gdb/gdbarch.c3
-rw-r--r--gdb/gdbarch.h11
-rwxr-xr-xgdb/gdbarch.sh14
-rw-r--r--gdb/gnu-v3-abi.c2
-rw-r--r--gdb/regcache.c2
-rw-r--r--gdb/reggroups.c2
-rw-r--r--gdb/remote.c2
-rw-r--r--gdb/user-regs.c2
11 files changed, 33 insertions, 21 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 45c1397..ed376c0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,17 @@
2003-08-04 Andrew Cagney <cagney@redhat.com>
+ * gdbarch.sh (gdbarch_data_free_ftype): Delete declaration.
+ (register_gdbarch_data): Delete "free" parameter. Update
+ comments.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * reggroups.c (_initialize_reggroup): Update.
+ * gnu-v3-abi.c (init_gnuv3_ops): Update.
+ * frame-base.c (_initialize_frame_base): Update.
+ * frame-unwind.c (_initialize_frame_unwind): Update.
+ * user-regs.c (_initialize_user_regs): Update.
+ * remote.c (_initialize_remote): Update.
+ * regcache.c (_initialize_regcache): Update.
+
* regcache.c (xfree_regcache_descr): Delete function.
(_initialize_regcache): Update call to register_gdbarch_data.
(init_regcache_descr, init_legacy_regcache_descr): Use
diff --git a/gdb/frame-base.c b/gdb/frame-base.c
index ad2d7b8..66a0106 100644
--- a/gdb/frame-base.c
+++ b/gdb/frame-base.c
@@ -146,5 +146,5 @@ extern initialize_file_ftype _initialize_frame_base; /* -Wmissing-prototypes */
void
_initialize_frame_base (void)
{
- frame_base_data = register_gdbarch_data (frame_base_init, NULL);
+ frame_base_data = register_gdbarch_data (frame_base_init);
}
diff --git a/gdb/frame-unwind.c b/gdb/frame-unwind.c
index dda92b0..fc5a821 100644
--- a/gdb/frame-unwind.c
+++ b/gdb/frame-unwind.c
@@ -95,5 +95,5 @@ extern initialize_file_ftype _initialize_frame_unwind; /* -Wmissing-prototypes *
void
_initialize_frame_unwind (void)
{
- frame_unwind_data = register_gdbarch_data (frame_unwind_init, NULL);
+ frame_unwind_data = register_gdbarch_data (frame_unwind_init);
}
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
index 9d34aa5..b9aea09 100644
--- a/gdb/gdbarch.c
+++ b/gdb/gdbarch.c
@@ -5646,8 +5646,7 @@ struct gdbarch_data_registry gdbarch_data_registry =
};
struct gdbarch_data *
-register_gdbarch_data (gdbarch_data_init_ftype *init,
- gdbarch_data_free_ftype *free)
+register_gdbarch_data (gdbarch_data_init_ftype *init)
{
struct gdbarch_data_registration **curr;
/* Append the new registraration. */
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
index 7753022..3850c4b 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -3257,7 +3257,11 @@ extern int gdbarch_update_p (struct gdbarch_info info);
The per-architecture data-pointer is either initialized explicitly
(set_gdbarch_data()) or implicitly (by INIT() via a call to
- gdbarch_data()). FREE() is ignored.
+ gdbarch_data()).
+
+ Memory for the per-architecture data shall be allocated using
+ gdbarch_obstack_zalloc. That memory will be deleted when the
+ corresponding architecture object is deleted.
When a previously created architecture is re-selected, the
per-architecture data-pointer for that previous architecture is
@@ -3269,10 +3273,7 @@ extern int gdbarch_update_p (struct gdbarch_info info);
struct gdbarch_data;
typedef void *(gdbarch_data_init_ftype) (struct gdbarch *gdbarch);
-typedef void (gdbarch_data_free_ftype) (struct gdbarch *gdbarch,
- void *pointer);
-extern struct gdbarch_data *register_gdbarch_data (gdbarch_data_init_ftype *init,
- gdbarch_data_free_ftype *free);
+extern struct gdbarch_data *register_gdbarch_data (gdbarch_data_init_ftype *init);
extern void set_gdbarch_data (struct gdbarch *gdbarch,
struct gdbarch_data *data,
void *pointer);
diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh
index fc72ce2..9a63348 100755
--- a/gdb/gdbarch.sh
+++ b/gdb/gdbarch.sh
@@ -1175,7 +1175,11 @@ extern int gdbarch_update_p (struct gdbarch_info info);
The per-architecture data-pointer is either initialized explicitly
(set_gdbarch_data()) or implicitly (by INIT() via a call to
- gdbarch_data()). FREE() is ignored.
+ gdbarch_data()).
+
+ Memory for the per-architecture data shall be allocated using
+ gdbarch_obstack_zalloc. That memory will be deleted when the
+ corresponding architecture object is deleted.
When a previously created architecture is re-selected, the
per-architecture data-pointer for that previous architecture is
@@ -1187,10 +1191,7 @@ extern int gdbarch_update_p (struct gdbarch_info info);
struct gdbarch_data;
typedef void *(gdbarch_data_init_ftype) (struct gdbarch *gdbarch);
-typedef void (gdbarch_data_free_ftype) (struct gdbarch *gdbarch,
- void *pointer);
-extern struct gdbarch_data *register_gdbarch_data (gdbarch_data_init_ftype *init,
- gdbarch_data_free_ftype *free);
+extern struct gdbarch_data *register_gdbarch_data (gdbarch_data_init_ftype *init);
extern void set_gdbarch_data (struct gdbarch *gdbarch,
struct gdbarch_data *data,
void *pointer);
@@ -1890,8 +1891,7 @@ struct gdbarch_data_registry gdbarch_data_registry =
};
struct gdbarch_data *
-register_gdbarch_data (gdbarch_data_init_ftype *init,
- gdbarch_data_free_ftype *free)
+register_gdbarch_data (gdbarch_data_init_ftype *init)
{
struct gdbarch_data_registration **curr;
/* Append the new registraration. */
diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c
index bbfd118..d9947f9 100644
--- a/gdb/gnu-v3-abi.c
+++ b/gdb/gnu-v3-abi.c
@@ -433,7 +433,7 @@ gnuv3_baseclass_offset (struct type *type, int index, char *valaddr,
static void
init_gnuv3_ops (void)
{
- vtable_type_gdbarch_data = register_gdbarch_data (build_gdb_vtable_type, 0);
+ vtable_type_gdbarch_data = register_gdbarch_data (build_gdb_vtable_type);
gnu_v3_abi_ops.shortname = "gnu-v3";
gnu_v3_abi_ops.longname = "GNU G++ Version 3 ABI";
diff --git a/gdb/regcache.c b/gdb/regcache.c
index 74b98d9..5c7f0ca 100644
--- a/gdb/regcache.c
+++ b/gdb/regcache.c
@@ -1662,7 +1662,7 @@ extern initialize_file_ftype _initialize_regcache; /* -Wmissing-prototype */
void
_initialize_regcache (void)
{
- regcache_descr_handle = register_gdbarch_data (init_regcache_descr, NULL);
+ regcache_descr_handle = register_gdbarch_data (init_regcache_descr);
REGISTER_GDBARCH_SWAP (current_regcache);
register_gdbarch_swap (&deprecated_registers, sizeof (deprecated_registers), NULL);
register_gdbarch_swap (&deprecated_register_valid, sizeof (deprecated_register_valid), NULL);
diff --git a/gdb/reggroups.c b/gdb/reggroups.c
index a4e940e..791ec0a 100644
--- a/gdb/reggroups.c
+++ b/gdb/reggroups.c
@@ -259,7 +259,7 @@ extern initialize_file_ftype _initialize_reggroup; /* -Wmissing-prototypes */
void
_initialize_reggroup (void)
{
- reggroups_data = register_gdbarch_data (reggroups_init, NULL);
+ reggroups_data = register_gdbarch_data (reggroups_init);
/* The pre-defined list of groups. */
add_group (&default_groups, general_reggroup, XMALLOC (struct reggroup_el));
diff --git a/gdb/remote.c b/gdb/remote.c
index 0da3fec..73906c7 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -6056,7 +6056,7 @@ _initialize_remote (void)
struct cmd_list_element *tmpcmd;
/* architecture specific data */
- remote_gdbarch_data_handle = register_gdbarch_data (init_remote_state, NULL);
+ remote_gdbarch_data_handle = register_gdbarch_data (init_remote_state);
/* Old tacky stuff. NOTE: This comes after the remote protocol so
that the remote protocol has been initialized. */
diff --git a/gdb/user-regs.c b/gdb/user-regs.c
index 8b4600d..470a518 100644
--- a/gdb/user-regs.c
+++ b/gdb/user-regs.c
@@ -201,5 +201,5 @@ extern initialize_file_ftype _initialize_user_regs; /* -Wmissing-prototypes */
void
_initialize_user_regs (void)
{
- user_regs_data = register_gdbarch_data (user_regs_init, NULL);
+ user_regs_data = register_gdbarch_data (user_regs_init);
}