diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-06-08 14:06:08 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-07-06 15:06:04 +0100 |
commit | 3bc98c0c832f5bdca364e083f92be687dbf494cc (patch) | |
tree | 1d49e95a06e01e11c336f57c28b0d925a6bdd89b /gdb/gdbarch.h | |
parent | d8cc8af6a1787f9c2eafc62a36ac86cf4d08c89c (diff) | |
download | binutils-3bc98c0c832f5bdca364e083f92be687dbf494cc.zip binutils-3bc98c0c832f5bdca364e083f92be687dbf494cc.tar.gz binutils-3bc98c0c832f5bdca364e083f92be687dbf494cc.tar.bz2 |
gdb: Remove deprecated_set_gdbarch_data
There are currently two remaining uses of deprecated_set_gdbarch_data,
both of which are needed because during gdbarch initialisation we call
gdbarch_data for a data field that is registered using:
gdbarch_data_register_post_init (....)
However, in both of these cases, the only thing that the call back
needs from the gdbarch struct is its obstack. Given this there is
nothing stopping us changing the post-init hooks into pre-init hooks.
The pre-init hooks don't get passed the full gdbarch, they only get
passed its obstack.
The IA64 change is completely untested. The user-regs change has been
tested a little by locally adding some user-regs to the x86-64 target,
and also by running the RISC-V tests, which do use user-regs.
gdb/ChangeLog:
* gdbarch.c: Regenerate.
* gdbarch.h: Regenerate.
* gdbarch.sh (deprecated_set_gdbarch_data): Delete.
(gdbarch_data): Use internal_error for the case where
deprecated_set_gdbarch_data was originally needed.
* ia64-libunwind-tdep.c (libunwind_descr_init): Update parameters,
and use passed in obstack.
(libunwind_frame_set_descr): Should no longer get back NULL from
gdbarch_data.
(_initialize_libunwind_frame): Register as a pre-init gdbarch data
type.
* user-regs.c (user_regs_init): Update parameters, and use passed
in obstack.
(user_reg_add): Should no longer get back NULL from gdbarch_data.
(_initialize_user_regs): Register as a pre-init gdbarch data type.
Diffstat (limited to 'gdb/gdbarch.h')
-rw-r--r-- | gdb/gdbarch.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index 4e51c29..0940156 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -1839,9 +1839,6 @@ typedef void *(gdbarch_data_pre_init_ftype) (struct obstack *obstack); extern struct gdbarch_data *gdbarch_data_register_pre_init (gdbarch_data_pre_init_ftype *init); typedef void *(gdbarch_data_post_init_ftype) (struct gdbarch *gdbarch); extern struct gdbarch_data *gdbarch_data_register_post_init (gdbarch_data_post_init_ftype *init); -extern void deprecated_set_gdbarch_data (struct gdbarch *gdbarch, - struct gdbarch_data *data, - void *pointer); extern void *gdbarch_data (struct gdbarch *gdbarch, struct gdbarch_data *); |