[PATCH] Remove only use of current_inferior ()->gdbarch outside of gdbarch.*
Doug Evans
xdje42@gmail.com
Fri Aug 28 15:04:00 GMT 2015
On Thu, Aug 27, 2015 at 10:15 PM, Doug Evans <xdje42@gmail.com> wrote:
> Hi.
>
> target_gdbarch is a magical thing, there are different kinds of arches:
> for multiarch systems (e.g., call) which arch you use for certain
> struct gdbarch API calls is important.
>
> E.g.,
> https://sourceware.org/ml/gdb-patches/2015-08/msg00789.html
>
> Until this is cleaned up it'd be best to only use target_gdbarch
> and not its underlying implementation.
> Fortunately there is only one place that needed changing
> (further reinforcing my sense that only target_gdbarch should be
> used and never current_inferior ()->gdbarch).
>
> Alas, short of an API reorg (which I think is reasonable), I can't think
> of a way to prevent this from recurring.
>
>
> 2015-08-27 Doug Evans <xdje42@gmail.com>
>
> * ravenscar-thread.c (ravenscar_inferior_created): Replace
> current_inferior ()->gdbarch with its wrapper target_gdbarch.
>
> diff --git a/gdb/ravenscar-thread.c b/gdb/ravenscar-thread.c
> index ef82507..fe36c96 100644
> --- a/gdb/ravenscar-thread.c
> +++ b/gdb/ravenscar-thread.c
> @@ -341,7 +341,7 @@ ravenscar_inferior_created (struct target_ops *target, int from_tty)
> struct ravenscar_arch_ops *ops;
>
> if (!ravenscar_task_support
> - || gdbarch_ravenscar_ops (current_inferior ()->gdbarch) == NULL
> + || gdbarch_ravenscar_ops (target_gdbarch ()) == NULL
> || !has_ravenscar_runtime ())
> return;
>
Hmmm, forgot about ARI, bleah.
We could use that to at least catch recurrences.
More information about the Gdb-patches
mailing list