Commit d9655058 authored by Simon Marchi's avatar Simon Marchi
Browse files

gdb: change linux gdbarch data from post to pre-init

The following patch will need to fill a field in linux_gdbarch_data
while the gdbarch is being built.  linux_gdbarch_data is currently
allocated as a post-init gdbarch data, meaning it's not possible to fill
it before the gdbarch is completely initialized.  Change it to a
pre-init gdbarch data to allow this.

The init_linux_gdbarch_data function doesn't use the created gdbarch,
it only allocates the linux_gdbarch_data structure on the gdbarch's
obstack, so the change is trivial.

gdb/ChangeLog:

	* linux-tdep.c (init_linux_gdbarch_data): Change parameter to
	obkstack.
	(_initialize_linux_tdep): Register pre-init gdb data instead of
	post-init.

Change-Id: If35ce91b6bb5435680d43b9268d811d95661644f
parent 187b041e
2020-12-04 Simon Marchi <simon.marchi@efficios.com>
* linux-tdep.c (init_linux_gdbarch_data): Change parameter to
obkstack.
(_initialize_linux_tdep): Register pre-init gdb data instead of
post-init.
2020-12-04 Simon Marchi <simon.marchi@efficios.com>
* displaced-stepping.h (struct
......
......@@ -171,9 +171,9 @@ struct linux_gdbarch_data
};
static void *
init_linux_gdbarch_data (struct gdbarch *gdbarch)
init_linux_gdbarch_data (struct obstack *obstack)
{
return GDBARCH_OBSTACK_ZALLOC (gdbarch, struct linux_gdbarch_data);
return obstack_zalloc<linux_gdbarch_data> (obstack);
}
static struct linux_gdbarch_data *
......@@ -2676,7 +2676,7 @@ void
_initialize_linux_tdep ()
{
linux_gdbarch_data_handle =
gdbarch_data_register_post_init (init_linux_gdbarch_data);
gdbarch_data_register_pre_init (init_linux_gdbarch_data);
/* Observers used to invalidate the cache when needed. */
gdb::observers::inferior_exit.attach (invalidate_linux_cache_inf);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment